8/25 dev 权限,sse,账单

This commit is contained in:
Zy
2026-08-27 17:32:23 +08:00
parent b83735e993
commit 2ea75ee5ef
55 changed files with 870 additions and 293 deletions

View File

@@ -64,7 +64,7 @@
<el-col :span="12">
<el-table v-loading="loading" border :data="itemList">
<el-table-column fixed="left" label="日期" width="100" align="center" prop="statDate" />
<el-table-column label="计划巡检任务" width="110" align="center" prop="totalPlans" />
<el-table-column label="计划巡检任务" width="110" align="center" prop="totalTasks" />
<el-table-column label="按时完成" align="center" prop="completedTasks" />
<el-table-column label="超时完成" align="center" prop="outCompletedTasks" />
<el-table-column label="超时未完成" width="110" align="center" prop="outUncompletedTasks" />
@@ -291,22 +291,30 @@ const getList = async () => {
loading.value = true;
const res = await listItem(queryParams.value);
itemList.value = res.rows;
list.value.forEach((item) => {
item.value = 0;
});
itemList.value.forEach((item) => {
list.value[0].value += item.totalPlans ?? 0;
list.value[1].value += item.totalTasks ?? 0;
list.value[4].value += item.outUncompletedTasks ?? 0;
const num = item.outCompletedTasks + item.completedTasks || 0;
list.value[2].value += num;
});
if (!Number.isNaN(+list.value[2].value) && !Number.isNaN(+list.value[1].value)) {
const num = Number(list.value[2].value) / Number(list.value[1].value);
list.value[3].value = Math.min((Number.isNaN(num) ? 0 : num) * 100, 100).toFixed(2) + '%';
}
list.value[0].value = itemList.value[0].totalPlans ?? 0;
list.value[1].value = itemList.value[0].totalTasks ?? 0;
list.value[4].value = itemList.value[0].outUncompletedTasks ?? 0;
list.value[2].value = itemList.value[0].outCompletedTasks + itemList.value[0].completedTasks || 0;
//
// if (!Number.isNaN(+list.value[2].value) && !Number.isNaN(+list.value[1].value)) {
// const num = Number(list.value[2].value) / Number(list.value[1].value);
// list.value[3].value = Math.min((Number.isNaN(num) ? 0 : num) * 100, 100).toFixed(2) + '%';
// }
list.value[3].value = itemList.value[0].completionRateDisplay || '0%';
// itemList.value.forEach((item) => {
// list.value[0].value += item.totalPlans ?? 0;
// list.value[1].value += item.totalTasks ?? 0;
// list.value[4].value += item.outUncompletedTasks ?? 0;
// const num = item.outCompletedTasks + item.completedTasks || 0;
// list.value[2].value += num;
// });
// if (!Number.isNaN(+list.value[2].value) && !Number.isNaN(+list.value[1].value)) {
// const num = Number(list.value[2].value) / Number(list.value[1].value);
// list.value[3].value = Math.min((Number.isNaN(num) ? 0 : num) * 100, 100).toFixed(2) + '%';
// }
handleEchartsData(ecartslist.value.find((item) => item.key === activeEchartsindex.value));
total.value = res.total;