From ff82e86becbd200adabd2ce56fba1f6b3c6c37e1 Mon Sep 17 00:00:00 2001 From: Riku <risaku@163.com> Date: 星期一, 23 六月 2025 23:10:49 +0800 Subject: [PATCH] 2025.6.23 --- src/views/management/TaskSummary.vue | 126 ++++++++++++++++++++++++++++++++--------- 1 files changed, 98 insertions(+), 28 deletions(-) diff --git a/src/views/management/TaskSummary.vue b/src/views/management/TaskSummary.vue index 5317441..1926d9f 100644 --- a/src/views/management/TaskSummary.vue +++ b/src/views/management/TaskSummary.vue @@ -1,18 +1,20 @@ <template> - <el-row> 宸℃煡姹囨�� </el-row> - <el-segmented v-model="value" :options="options" block /> - <div v-show="value == '浠婃棩姹囨��'"> - <div ref="echart1" class="bar-chart"></div> - </div> - <div v-show="value == '鏈懆姹囨��'"> - <div ref="echart2" class="bar-chart"></div> - </div> - <div v-show="value == '涓婂懆姹囨��'"> - <div ref="echart3" class="bar-chart"></div> - </div> - <div v-show="value == '鏈堝害姹囨��'"> - <div ref="echart4" class="bar-chart"></div> - </div> + <BaseCard title="宸℃煡姹囨��"> + <!-- <el-row> 宸℃煡姹囨�� </el-row> --> + <el-segmented v-model="value" :options="options" block /> + <div v-show="value == '浠婃棩姹囨��'"> + <div ref="echart1" class="bar-chart"></div> + </div> + <div v-show="value == '鏈懆姹囨��'"> + <div ref="echart2" class="bar-chart"></div> + </div> + <div v-show="value == '涓婂懆姹囨��'"> + <div ref="echart3" class="bar-chart"></div> + </div> + <div v-show="value == '鏈湀姹囨��'"> + <div ref="echart4" class="bar-chart"></div> + </div> + </BaseCard> </template> <script setup> @@ -30,8 +32,8 @@ const emits = defineEmits(['update:height']) -const value = ref('鏈堝害姹囨��') -const options = ['浠婃棩姹囨��', '鏈懆姹囨��', '涓婂懆姹囨��', '鏈堝害姹囨��'] +const value = ref('鏈湀姹囨��') +const options = ['浠婃棩姹囨��', '鏈懆姹囨��', '涓婂懆姹囨��', '鏈湀姹囨��'] const subtaskToday = ref([]) const subtaskWeek = ref([]) @@ -139,7 +141,7 @@ yAxis: [ { type: 'category', - data: ['鏁存敼鏁�', '闂鏁�', '瀹屾垚閲�'] + data: ['澶嶆牳鏁�', '鏁存敼鏁�', '闂鏁�', '瀹屾垚閲�'] } ], series: series @@ -153,6 +155,7 @@ const totalCount = { numByTotal: {}, numByDistrict: {}, + numByStreet: {}, numByScene: {}, numByUser: {} } @@ -160,6 +163,7 @@ const proCount = { numByTotal: {}, numByDistrict: {}, + numByStreet: {}, numByScene: {}, numByUser: {} } @@ -167,19 +171,24 @@ const changeCount = { numByTotal: {}, numByDistrict: {}, + numByStreet: {}, numByScene: {}, numByUser: {} } - // // 鎸夌敤鎴峰垎绫� - // const userCount = { - // numByTotal: {}, - // numByDistrict: {}, - // numByScene: {}, - // numByUser: {} - // } + // 澶嶆牳鏁� + const reCheckCount = { + numByTotal: {}, + numByDistrict: {}, + numByStreet: {}, + numByScene: {}, + numByUser: {} + } + const historySceneId = [] + dataList.forEach((d) => { const tName = '鎬昏' const dName = d.subtask.districtname + const townName = d.scene.townname const sType = d.sceneType const uName = d.subtask.deployerrealname @@ -190,6 +199,10 @@ // 浠诲姟閲忓垎鍖哄幙 totalCount.numByDistrict[dName] = totalCount.numByDistrict[dName] ? totalCount.numByDistrict[dName] + 1 + : 1 + // 浠诲姟閲忓垎琛楅晣 + totalCount.numByStreet[townName] = totalCount.numByStreet[townName] + ? totalCount.numByStreet[townName] + 1 : 1 // 浠诲姟閲忓垎鍦烘櫙绫诲瀷 totalCount.numByScene[sType] = totalCount.numByScene[sType] @@ -205,6 +218,10 @@ // 闂鏁板垎鍖哄幙 proCount.numByDistrict[dName] = proCount.numByDistrict[dName] ? proCount.numByDistrict[dName] + d.proCheckedNum + : d.proCheckedNum + // 闂鏁板垎琛楅晣 + proCount.numByStreet[townName] = proCount.numByStreet[townName] + ? proCount.numByStreet[townName] + d.proCheckedNum : d.proCheckedNum // 闂鏁板垎鍦烘櫙绫诲瀷 proCount.numByScene[sType] = proCount.numByScene[sType] @@ -223,6 +240,10 @@ changeCount.numByDistrict[dName] = changeCount.numByDistrict[dName] ? changeCount.numByDistrict[dName] + d.changeCheckedNum : d.changeCheckedNum + // 鏁存敼鏁板垎琛楅晣 + changeCount.numByStreet[townName] = changeCount.numByStreet[townName] + ? changeCount.numByStreet[townName] + d.changeCheckedNum + : d.changeCheckedNum // 鏁存敼鏁板垎鍦烘櫙绫诲瀷 changeCount.numByScene[sType] = changeCount.numByScene[sType] ? changeCount.numByScene[sType] + d.changeCheckedNum @@ -231,12 +252,40 @@ changeCount.numByUser[uName] = changeCount.numByUser[uName] ? changeCount.numByUser[uName] + d.changeCheckedNum : d.changeCheckedNum + + if (historySceneId.length == 0) { + reCheckCount.numByTotal[tName] = 0 + reCheckCount.numByDistrict[dName] = 0 + reCheckCount.numByScene[sType] = 0 + reCheckCount.numByUser[uName] = 0 + } else if (historySceneId.indexOf(d.sceneId) != -1) { + // 澶嶆牳鏁版�昏 + reCheckCount.numByTotal[tName] = reCheckCount.numByTotal[tName] + ? reCheckCount.numByTotal[tName] + 1 + : 1 + // 澶嶆牳鏁板垎鍖哄幙 + reCheckCount.numByDistrict[dName] = reCheckCount.numByDistrict[dName] + ? reCheckCount.numByDistrict[dName] + 1 + : 1 + // 澶嶆牳鏁板垎琛楅晣 + reCheckCount.numByStreet[townName] = reCheckCount.numByStreet[townName] + ? reCheckCount.numByStreet[townName] + 1 + : 1 + // 澶嶆牳鏁板垎鍦烘櫙绫诲瀷 + reCheckCount.numByScene[sType] = reCheckCount.numByScene[sType] + ? reCheckCount.numByScene[sType] + 1 + : 1 + // 澶嶆牳鏁板垎鐢ㄦ埛 + reCheckCount.numByUser[uName] = reCheckCount.numByUser[uName] + ? reCheckCount.numByUser[uName] + 1 + : 1 + } else { + historySceneId.push(d.sceneId) + } }) let series = {} - totalCount - proCount - changeCount + parseSeries(series, reCheckCount) parseSeries(series, changeCount) parseSeries(series, proCount) parseSeries(series, totalCount) @@ -291,12 +340,33 @@ label: { show: true, formatter: '{c}' - // position: [0, 10], + // position: 'top', }, data: [value] } } } + // for (const key in c.numByStreet) { + // const value = c.numByStreet[key] + // if (series[key]) { + // series[key].data.push(value) + // } else { + // series[key] = { + // name: `琛楅晣锛�${key}`, + // type: 'bar', + // stack: 'street', + // emphasis: { + // focus: 'series' + // }, + // label: { + // show: true, + // formatter: '{c}' + // // position: 'top', + // }, + // data: [value] + // } + // } + // } for (const key in c.numByScene) { const value = c.numByScene[key] if (series[key]) { -- Gitblit v1.9.3