From cca8d423c4805665bbd48a47e4d9218b16d14ebb Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 28 三月 2025 17:42:35 +0800
Subject: [PATCH] 新增自动评估监测数据上传功能(待完成)
---
src/views/fysp/check/components/CompSubTaskStatistic.vue | 170 ++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 138 insertions(+), 32 deletions(-)
diff --git a/src/views/fysp/check/components/CompSubTaskStatistic.vue b/src/views/fysp/check/components/CompSubTaskStatistic.vue
index 7709ba4..375ae5c 100644
--- a/src/views/fysp/check/components/CompSubTaskStatistic.vue
+++ b/src/views/fysp/check/components/CompSubTaskStatistic.vue
@@ -1,14 +1,78 @@
<template>
- <el-descriptions :column="8" size="small" border direction="vertical">
- <el-descriptions-item label="浠诲姟鎬昏">{{ summary.total }}</el-descriptions-item>
- <el-descriptions-item label="闂鏈鏍�">{{ summary.proUnCheck }}</el-descriptions-item>
- <el-descriptions-item label="闂閮ㄥ垎瀹℃牳">{{ summary.proPartCheck }}</el-descriptions-item>
- <el-descriptions-item label="闂鍏ㄩ儴瀹℃牳">{{ summary.proAllCheck }}</el-descriptions-item>
- <el-descriptions-item label="鏈暣鏀�">{{ summary.UnChange }}</el-descriptions-item>
- <el-descriptions-item label="鏁存敼鏈鏍�">{{ summary.changeUnCheck }}</el-descriptions-item>
- <el-descriptions-item label="鏁存敼閮ㄥ垎瀹℃牳">{{ summary.changePartCheck }}</el-descriptions-item>
- <el-descriptions-item label="鏁存敼鍏ㄩ儴瀹℃牳">{{ summary.changeAllCheck }}</el-descriptions-item>
- </el-descriptions>
+ <el-space>
+ <el-descriptions :column="3" size="small" border direction="vertical">
+ <el-descriptions-item
+ label="闂鏁�"
+ label-class-name="problem-label"
+ class-name="secondary-content"
+ >{{ summary.proCount }}</el-descriptions-item
+ >
+ <el-descriptions-item
+ label="鏁存敼鏁�"
+ label-class-name="problem-label"
+ class-name="secondary-content"
+ >{{ summary.changeCount }}</el-descriptions-item
+ >
+ <el-descriptions-item
+ label="鏁存敼鐜�"
+ label-class-name="problem-label"
+ :class-name="summary.changePer < 1 ? 'danger-content' : 'secondary-content'"
+ >{{ formatPercent(summary.changePer) }}</el-descriptions-item
+ >
+ </el-descriptions>
+ <el-descriptions :column="8" size="small" border direction="vertical">
+ <el-descriptions-item
+ label="宸℃煡鐐规"
+ label-class-name="pro-check-label"
+ class-name="secondary-content"
+ >{{ summary.total }}</el-descriptions-item
+ >
+ <el-descriptions-item
+ label="闂鏈鏍�"
+ label-class-name="pro-check-label"
+ :class-name="summary.proUnCheck > 0 ? 'danger-content' : 'secondary-content'"
+ >{{ summary.proUnCheck }}</el-descriptions-item
+ >
+ <el-descriptions-item
+ label="閮ㄥ垎瀹℃牳"
+ label-class-name="pro-check-label"
+ :class-name="summary.proPartCheck > 0 ? 'danger-content' : 'secondary-content'"
+ >{{ summary.proPartCheck }}</el-descriptions-item
+ >
+ <el-descriptions-item
+ label="鍏ㄩ儴瀹℃牳"
+ label-class-name="pro-check-label"
+ class-name="secondary-content"
+ >{{ summary.proAllCheck }}</el-descriptions-item
+ >
+ </el-descriptions>
+ <el-descriptions :column="8" size="small" border direction="vertical">
+ <el-descriptions-item
+ label="鏈暣鏀�"
+ label-class-name="change-check-label"
+ :class-name="summary.UnChange > 0 ? 'danger-content' : 'secondary-content'"
+ >{{ summary.UnChange }}</el-descriptions-item
+ >
+ <el-descriptions-item
+ label="鏁存敼鏈鏍�"
+ label-class-name="change-check-label"
+ :class-name="summary.changeUnCheck > 0 ? 'danger-content' : 'secondary-content'"
+ >{{ summary.changeUnCheck }}</el-descriptions-item
+ >
+ <el-descriptions-item
+ label="閮ㄥ垎瀹℃牳"
+ label-class-name="change-check-label"
+ :class-name="summary.changePartCheck > 0 ? 'danger-content' : 'secondary-content'"
+ >{{ summary.changePartCheck }}</el-descriptions-item
+ >
+ <el-descriptions-item
+ label="鍏ㄩ儴瀹℃牳"
+ label-class-name="change-check-label"
+ class-name="secondary-content"
+ >{{ summary.changeAllCheck }}</el-descriptions-item
+ >
+ </el-descriptions>
+ </el-space>
<!-- <el-space>
<el-tag v-for="(s, i) in summary" :key="i" :type="s.type" size="small">
<el-icon v-if="s.icon" color="">
@@ -34,50 +98,92 @@
UnChange: 0,
changeUnCheck: 0,
changePartCheck: 0,
- changeAllCheck: 0
- }
+ changeAllCheck: 0,
+ proCount: 0,
+ changeCount: 0,
+ changePer: 0
+ };
this.subtasks.forEach((s) => {
- _summary.total++
+ _summary.total++;
+ _summary.proCount += s.data.proNum;
+ _summary.changeCount += s.data.changeNum;
// 闂瀹℃牳鎯呭喌
if (s.data.proNum == 0) {
- _summary.proAllCheck++
+ _summary.proAllCheck++;
} else if (s.data.proCheckedNum == 0) {
- _summary.proUnCheck++
+ _summary.proUnCheck++;
} else if (s.data.proCheckedNum < s.data.proNum) {
- _summary.proPartCheck++
+ _summary.proPartCheck++;
} else {
- _summary.proAllCheck++
+ _summary.proAllCheck++;
}
// 鏄惁鏈夋湭鏁存敼
if (s.data.changeNum < s.data.proNum) {
- _summary.UnChange++
+ _summary.UnChange++;
}
// 鏁存敼瀹℃牳鎯呭喌
if (s.data.proNum == 0) {
- _summary.changeAllCheck++
+ _summary.changeAllCheck++;
} else if (s.data.changeNum > 0) {
if (s.data.changeCheckedNum == 0) {
- _summary.changeUnCheck++
+ _summary.changeUnCheck++;
} else if (s.data.changeCheckedNum < s.data.changeNum) {
- _summary.changePartCheck++
+ _summary.changePartCheck++;
} else {
- _summary.changeAllCheck++
+ _summary.changeAllCheck++;
}
}
- })
- // _summary.forEach((s, i) => {
- // if (i > 0) {
- // let per = Math.round((s.value / _summary[0].value) * 1000) / 10
- // if (isNaN(per)) per = 0
- // s.value = `${s.value}(${per}%)`
- // }
- // })
+ });
- return _summary
+ if (_summary.proCount != 0) {
+ _summary.changePer = _summary.changeCount / _summary.proCount;
+ }
+ return _summary;
+ }
+ },
+ methods: {
+ formatPercent(value) {
+ return Math.round(value * 1000) / 10 + '%';
}
}
-}
+};
</script>
+<style scoped>
+:deep(.el-descriptions__cell) {
+ padding: 0px 4px !important;
+ /* font-size: 13px !important; */
+}
+
+:deep(.problem-label) {
+ background: var(--el-color-primary-light-7) !important;
+}
+:deep(.problem-content) {
+ /* background: var(--el-color-danger-light-9); */
+}
+
+:deep(.pro-check-label) {
+ background: var(--el-color-success-light-7) !important;
+}
+:deep(.pro-check-content) {
+}
+
+:deep(.change-check-label) {
+ background: var(--el-color-warning-light-7) !important;
+}
+:deep(.change-check-content) {
+}
+
+:deep(.danger-content) {
+ color: var(--el-color-danger) !important;
+ font-weight: 600 !important;
+ font-size: 17px !important;
+}
+
+:deep(.secondary-content) {
+ color: var(--el-text-color-regular) !important;
+ font-size: 12px !important;
+}
+</style>
--
Gitblit v1.9.3