From 31980b06d50d530feb2c0f1db9daf24bd3b8797a Mon Sep 17 00:00:00 2001 From: Riku <risaku@163.com> Date: 星期日, 15 六月 2025 22:50:16 +0800 Subject: [PATCH] 2025.6.15 --- src/views/inspection/problem/ProblemTrack.vue | 116 ++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 92 insertions(+), 24 deletions(-) diff --git a/src/views/inspection/problem/ProblemTrack.vue b/src/views/inspection/problem/ProblemTrack.vue index f92b5ca..b9a7a74 100644 --- a/src/views/inspection/problem/ProblemTrack.vue +++ b/src/views/inspection/problem/ProblemTrack.vue @@ -1,22 +1,54 @@ <template> - <div class="border-r-small"> - <div class="font-large">闂鏁存敼璺熻釜</div> + <!-- <div class="border-r-small"> --> + <BaseCard title="鏁存敼璺熻釜"> + <el-row justify="space-evenly" align="middle"> + <!-- <div class="font-large">闂鏁存敼璺熻釜</div> --> + <el-button size="small" type="primary" icon="CaretLeft" @click="previousDay" + >鍓嶄竴澶�</el-button + > + <OptionTime v-model="time" type="date"></OptionTime> + <el-button size="small" type="primary" icon="CaretRight" @click="nextDay">鍚庝竴澶�</el-button> + </el-row> <div> - <ProblemSummary :data="subtaskList"></ProblemSummary> + <ProblemSummary :data="subtaskList" :proStatistic="proStatistic"></ProblemSummary> <ProblemTable :data="subtaskList"></ProblemTable> </div> + </BaseCard> + <BaseCard title="闂鍒嗗竷"> + <!-- <el-row justify="space-between" align="middle"> + <div class="font-large">闂鍒嗗竷</div> + </el-row> --> <div> - <ProblemChangeChart></ProblemChangeChart> + <ProblemType ref="pTypeRef"></ProblemType> </div> + </BaseCard> + <BaseCard title="鍒嗘湡瓒嬪娍"> + <el-row justify="end" align="middle"> + <!-- <div class="font-large">鍒嗘湡瓒嬪娍</div> --> + <!-- <OptionTime v-model="time"></OptionTime> --> + </el-row> <div> - <ProblemType></ProblemType> + <ProblemChangeChart ref="pChangeRef"></ProblemChangeChart> </div> - </div> + </BaseCard> + <!-- <BaseCard> + <el-collapse v-model="activeNames" @change="handleChange"> + <el-collapse-item title="鍒嗘湡瓒嬪娍" name="1"> + <ProblemChangeChart ref="pChangeRef"></ProblemChangeChart> + </el-collapse-item> + <el-collapse-item title="闂鍒嗗竷" name="2"> + <ProblemType ref="pTypeRef"></ProblemType> + </el-collapse-item> + </el-collapse> + </BaseCard> --> + <!-- </div> --> </template> <script> import { useAreaStore } from '@/stores/area.js' +import { useSubtaskStore } from '@/stores/subtask.js' import { mapStores } from 'pinia' +import dayjs from 'dayjs' import ProblemTable from './component/ProblemTable.vue' import ProblemSummary from './component/ProblemSummary.vue' @@ -24,39 +56,75 @@ import ProblemType from './component/ProblemType.vue' import taskApi from '@/api/fysp/taskApi.js' +import problemApi from '@/api/fysp/problemApi.js' export default { components: { ProblemSummary, ProblemTable, ProblemChangeChart, ProblemType }, data() { return { - subtaskList: [] + // 鍗曟棩浠诲姟璇︽儏 + subtaskList: [], + // 鍗曟棩闂缁熻 + proStatistic: [], + // 鎶樺彔妗嗘縺娲诲悕绉伴泦鍚� + activeNames: ['1', '2'], + // 褰撳墠鏃堕棿 + time: '', + // 绛涢�夊尯鍩熸潯浠� + area: {} } }, - watch: {}, + watch: { + time(nV, oV) { + if (nV != oV) { + const d = nV ? dayjs(nV) : dayjs() + this.area.starttime = d.startOf('day').format('YYYY-MM-DD HH:mm:ss') + this.area.endtime = d.endOf('day').format('YYYY-MM-DD HH:mm:ss') + this.fetchSubtask() + this.fetchDayProblemsStatistic() + } + } + }, computed: { - ...mapStores(useAreaStore) - // area() { - // return { - // provincecode: '31', - // provincename: '涓婃捣甯�', - // citycode: '3100', - // cityname: '涓婃捣甯�', - // districtcode: '310116', - // districtname: '閲戝北鍖�', - // starttime: '', - // endtime: '' - // } - // } + ...mapStores(useAreaStore), + ...mapStores(useSubtaskStore) }, methods: { + nextDay() { + this.time = dayjs(this.time).add(1, 'day').toDate() + }, + previousDay() { + this.time = dayjs(this.time).add(-1, 'day').toDate() + }, fetchSubtask() { - taskApi.fetchSubtaskSummaryByArea(this.areaStore.area).then((res) => { - this.subtaskList = res.data + // taskApi.fetchSubtaskSummaryByArea(this.area).then((res) => { + // this.subtaskList = res.data + // }) + const tag = dayjs(this.time).format('YYYY-MM-DD') + this.subtaskStore.getSummaryList(tag, (v) => { + this.subtaskList = v ? v : [] }) + }, + fetchDayProblemsStatistic() { + // this.fetchData((page, pageSize) => { + // return + // }) + problemApi.fetchProblemsStatistic(this.area).then((res) => { + this.proStatistic = res + }) + }, + handleChange(val) { + if (val.indexOf('1') != -1) { + this.$refs.pChangeRef.refresh() + } + if (val.indexOf('2') != -1) { + this.$refs.pTypeRef.refresh() + } } }, mounted() { - this.fetchSubtask() + // this.fetchSubtask() + this.area = this.areaStore.area } } </script> -- Gitblit v1.9.3