From 9a61e46d96536f3299e57f7259ae1c9972256ec6 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期二, 30 九月 2025 09:42:09 +0800
Subject: [PATCH] 1. 隐藏未完成的账户匹配页面 2. 根据第三方新的接口文档修改接口url地址
---
src/views/fysp/check/components/CompSubTaskStatistic.vue | 251 +++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 205 insertions(+), 46 deletions(-)
diff --git a/src/views/fysp/check/components/CompSubTaskStatistic.vue b/src/views/fysp/check/components/CompSubTaskStatistic.vue
index 652cf44..7e30a44 100644
--- a/src/views/fysp/check/components/CompSubTaskStatistic.vue
+++ b/src/views/fysp/check/components/CompSubTaskStatistic.vue
@@ -1,97 +1,216 @@
<template>
- <el-space>
- <el-descriptions :column="3" size="small" border direction="vertical">
+ <el-row justify="end" v-loading="loading">
+ <el-descriptions :column="4" size="small" border direction="vertical">
+ <el-descriptions-item
+ label="鍦烘櫙鎬昏"
+ label-class-name="inspection-label"
+ class-name="secondary-content"
+ >
+ <template #label>
+ <el-text size="small"> 鍦烘櫙鎬昏 </el-text>
+ </template>
+ {{ progress.total }}
+ </el-descriptions-item>
+ <el-descriptions-item
+ label="宸℃煡鍦烘櫙"
+ label-class-name="inspection-label"
+ class-name="secondary-content"
+ >
+ <template #label>
+ <el-text size="small"> 宸℃煡鍦烘櫙 </el-text>
+ </template>
+ {{ progress.completedScenes }}
+ </el-descriptions-item>
+ <el-descriptions-item
+ label="宸℃煡鐐规"
+ label-class-name="inspection-label"
+ class-name="secondary-content"
+ >
+ <template #label>
+ <el-text size="small"> 宸℃煡鐐规 </el-text>
+ </template>
+ {{ progress.completedTimes }}
+ </el-descriptions-item>
+ <el-descriptions-item
+ label="澶嶆煡鐐规"
+ label-class-name="inspection-label"
+ class-name="secondary-content"
+ >
+ <template #label>
+ <el-text size="small"> 澶嶆煡鐐规 </el-text>
+ </template>
+ {{ progress.reviewTimes }}
+ </el-descriptions-item>
+ </el-descriptions>
+
+ <el-descriptions
+ class="m-l-4"
+ :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
>
+ <template #label>
+ <el-text size="small"> 闂鏁� </el-text>
+ </template>
+ {{ summary.proCount }}
+ </el-descriptions-item>
<el-descriptions-item
label="鏁存敼鏁�"
label-class-name="problem-label"
class-name="secondary-content"
- >{{ summary.changeCount }}</el-descriptions-item
>
+ <template #label>
+ <el-text size="small"> 鏁存敼鏁� </el-text>
+ </template>
+ {{ summary.changeCount }}
+ </el-descriptions-item>
<el-descriptions-item
label="鏁存敼鐜�"
label-class-name="problem-label"
- :class-name="summary.changePer < 0.6 ? 'danger-content' : 'secondary-content'"
- >{{ formatPercent(summary.changePer) }}</el-descriptions-item
+ :class-name="
+ summary.changePer < 1 ? 'danger-content' : 'secondary-content'
+ "
>
+ <template #label>
+ <el-text size="small"> 鏁存敼鐜� </el-text>
+ </template>
+ {{ formatPercent(summary.changePer) }}
+ </el-descriptions-item>
</el-descriptions>
- <el-descriptions :column="8" size="small" border direction="vertical">
+
+ <el-descriptions
+ class="m-l-4"
+ :column="8"
+ size="small"
+ border
+ direction="vertical"
+ >
<el-descriptions-item
- label="宸℃煡鐐规"
+ label="鏃犻棶棰�"
label-class-name="pro-check-label"
class-name="secondary-content"
- >{{ summary.total }}</el-descriptions-item
>
+ <template #label>
+ <el-text size="small"> 鏃犻棶棰� </el-text>
+ </template>
+ {{ summary.noProblem }}
+ </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
+ :class-name="
+ summary.proUnCheck > 0 ? 'danger-content' : 'secondary-content'
+ "
>
+ <template #label>
+ <el-text size="small"> 闂鏈鏍� </el-text>
+ </template>
+ {{ 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
+ :class-name="
+ summary.proPartCheck > 0 ? 'danger-content' : 'secondary-content'
+ "
>
+ <template #label>
+ <el-text size="small"> 閮ㄥ垎瀹℃牳 </el-text>
+ </template>
+ {{ 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">
+ <template #label>
+ <el-text size="small"> 鍏ㄩ儴瀹℃牳 </el-text>
+ </template>
+ {{ summary.proAllCheck }}
+ </el-descriptions-item>
+ <!-- </el-descriptions>
+ <el-descriptions
+ :column="4"
+ 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
+ :class-name="
+ summary.UnChange > 0 ? 'danger-content' : 'secondary-content'
+ "
>
+ <template #label>
+ <el-text size="small"> 鏈暣鏀� </el-text>
+ </template>
+ {{ 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
+ :class-name="
+ summary.changeUnCheck > 0 ? 'danger-content' : 'secondary-content'
+ "
>
+ <template #label>
+ <el-text size="small"> 鏁存敼鏈鏍� </el-text>
+ </template>
+ {{ 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
+ :class-name="
+ summary.changePartCheck > 0 ? 'danger-content' : 'secondary-content'
+ "
>
+ <template #label>
+ <el-text size="small"> 閮ㄥ垎瀹℃牳 </el-text>
+ </template>
+ {{ summary.changePartCheck }}
+ </el-descriptions-item>
<el-descriptions-item
label="鍏ㄩ儴瀹℃牳"
label-class-name="change-check-label"
class-name="secondary-content"
- >{{ summary.changeAllCheck }}</el-descriptions-item
>
+ <template #label>
+ <el-text size="small"> 鍏ㄩ儴瀹℃牳 </el-text>
+ </template>
+ {{ 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="">
- <component :is="s.icon"></component>
- </el-icon>
- {{ s.name + ': ' + s.value }}
- </el-tag>
- </el-space> -->
+ </el-row>
</template>
<script>
export default {
props: {
- subtasks: Array
+ loading: Boolean,
+ sceneType: Number,
+ subtasks: {
+ type: Array,
+ default: () => []
+ },
+ monitorObjList: {
+ type: Array,
+ default: () => []
+ }
},
computed: {
//浠诲姟闂瀹℃牳鎯呭喌缁熻淇℃伅
summary() {
const _summary = {
total: 0,
+ noProblem: 0,
proUnCheck: 0,
proPartCheck: 0,
proAllCheck: 0,
@@ -110,7 +229,7 @@
// 闂瀹℃牳鎯呭喌
if (s.data.proNum == 0) {
- _summary.proAllCheck++;
+ _summary.noProblem++;
} else if (s.data.proCheckedNum == 0) {
_summary.proUnCheck++;
} else if (s.data.proCheckedNum < s.data.proNum) {
@@ -123,10 +242,9 @@
if (s.data.changeNum < s.data.proNum) {
_summary.UnChange++;
}
-
// 鏁存敼瀹℃牳鎯呭喌
- if (s.data.proNum == 0) {
- _summary.changeAllCheck++;
+ else if (s.data.proNum == 0) {
+ // _summary.changeAllCheck++;
} else if (s.data.changeNum > 0) {
if (s.data.changeCheckedNum == 0) {
_summary.changeUnCheck++;
@@ -142,6 +260,49 @@
_summary.changePer = _summary.changeCount / _summary.proCount;
}
return _summary;
+ },
+ // 宸℃煡浠诲姟鎵ц杩涘害
+ progress() {
+ const _res = {
+ total: 0,
+ completedScenes: 0,
+ completedTimes: 0,
+ reviewTimes: 0
+ };
+
+ // Fixme 2025.5.30: 鐩墠姝ゅ鐨勭洃绠$増鏈俊鎭挓璁板綍鐨勪换鍔″畬鎴愭鏁版湁鍋忓樊锛屾墍浠ユ殏鏃跺厛鏀逛负閫氳繃宸℃煡浠诲姟鏈韩杩涜缁熻
+ /**************************************************************************************/
+ // this.monitorObjList.forEach((m) => {
+ // if (this.sceneType == undefined || m.sceneTypeId == this.sceneType) {
+ // _res.total++;
+ // const times = parseInt(m.extension1);
+ // if (times) {
+ // _res.completedScenes++;
+ // _res.completedTimes += times;
+ // _res.reviewTimes += times - 1;
+ // }
+ // }
+ // });
+ /**************************************************************************************/
+
+ /**************************************************************************************/
+ _res.total = this.monitorObjList.filter(
+ (m) => this.sceneType == undefined || m.sceneTypeId == this.sceneType
+ ).length;
+ _res.completedTimes = this.subtasks.length;
+ const map = new Map();
+ const uniqueArr = [];
+ for (let item of this.subtasks) {
+ if (!map.has(item.data.sceneId)) {
+ map.set(item.data.sceneId, true);
+ uniqueArr.push(item);
+ }
+ }
+ _res.completedScenes = uniqueArr.length;
+ _res.reviewTimes = _res.completedTimes - _res.completedScenes;
+
+ /**************************************************************************************/
+ return _res;
}
},
methods: {
@@ -157,23 +318,21 @@
/* font-size: 13px !important; */
}
+:deep(.inspection-label) {
+ background: var(--el-color-success-light-5) !important;
+ /* color: white !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) {
+ background: var(--el-color-warning-light-7) !important;
}
:deep(.change-check-label) {
- background: var(--el-color-warning-light-7) !important;
-}
-:deep(.change-check-content) {
+ background: var(--el-color-danger-light-7) !important;
}
:deep(.danger-content) {
--
Gitblit v1.9.3