From e2ff3e70212e0b6c1d4a9160022a5f653319cda8 Mon Sep 17 00:00:00 2001 From: govolokatliai Date: Mon, 19 May 2025 13:27:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=80=BC=E7=8F=AD=E8=A1=A8=E6=96=B0=E5=89=8D?= =?UTF-8?q?=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FrontEnd/renderTable.js | 83 +++++++++++++++++++++++ FrontEnd/testAssignment.html | 128 +++++++++++++++++++++++++++++++++++ 2 files changed, 211 insertions(+) create mode 100644 FrontEnd/renderTable.js create mode 100644 FrontEnd/testAssignment.html diff --git a/FrontEnd/renderTable.js b/FrontEnd/renderTable.js new file mode 100644 index 0000000..8a0ff48 --- /dev/null +++ b/FrontEnd/renderTable.js @@ -0,0 +1,83 @@ +document.getElementById('getAssignment').addEventListener('click', function () { + dateInput = document.getElementById('calendar').value; + + if (!dateInput) { + dateInput = getToday() + } + + const url = `/api/getAssignment?date=${dateInput}`; + + fetch(url) + .then(response => { + if (!response.ok) { + throw new Error('网络响应失败'); + } + return response.json(); + }) + .then(data => { + const responseDiv = document.getElementById('response'); + responseDiv.innerHTML = ''; // 清除旧内容 + + const table = document.createElement('table'); + + data.forEach(subArray => { + const row = document.createElement('tr'); + + subArray.forEach(item => { + const cell = document.createElement('td'); + cell.textContent = item.Name || item.ID; + + // 优先判断 Access 条件 + if (item.Access < 5) { + cell.classList.add('cell_Moderator'); + } else if (item.Note === 1) { + cell.classList.add('cell_SwitchOrRepay'); + } else if (item.Note === 2) { + cell.classList.add('cell_Volunteering'); + } + + row.appendChild(cell); + }); + + table.appendChild(row); + }); + const title =`
${dateInput}网维值班表
` + const titleContainer = document.createElement('div'); + titleContainer.innerHTML = title + responseDiv.appendChild(titleContainer) + // 插入表格 + responseDiv.appendChild(table); + + // 添加图例说明 + const legendHTML = ` + 片区负责人
+ 管理层
+ 换班/补班
+ 蹭班
+ `; + const legendContainer = document.createElement('div'); + legendContainer.innerHTML = legendHTML; + responseDiv.appendChild(legendContainer); + }) + .catch(error => { + console.error('请求失败:', error); + document.getElementById('response').innerHTML = '获取任务失败,请重试。'; + }); +}); + +function getToday() { + const today = new Date(); + + const year = today.getFullYear(); + const month = String(today.getMonth() + 1).padStart(2, '0'); // 月份从0开始,需要+1 + const day = String(today.getDate()).padStart(2, '0'); + + return `${year}-${month}-${day}`; +} + + + + + + + diff --git a/FrontEnd/testAssignment.html b/FrontEnd/testAssignment.html new file mode 100644 index 0000000..66c7616 --- /dev/null +++ b/FrontEnd/testAssignment.html @@ -0,0 +1,128 @@ + + + + + + 值班表生成 + + + + +
+

选择日期

+ 如果不选择的日期的话,则自动获取今天的值班表

+ + +
+
+ + + +