From 2547159bbd781c8e1a41ecc939385396c85f9766 Mon Sep 17 00:00:00 2001
From: Riku <risaku@163.com>
Date: 星期一, 09 六月 2025 23:35:59 +0800
Subject: [PATCH] 2025.6.9(功能编写中)

---
 src/views/inspection/problem/ProblemTrack.vue |  123 +++++++++++++++++++++++++++++++++-------
 1 files changed, 100 insertions(+), 23 deletions(-)

diff --git a/src/views/inspection/problem/ProblemTrack.vue b/src/views/inspection/problem/ProblemTrack.vue
index 4ccefe6..b9a7a74 100644
--- a/src/views/inspection/problem/ProblemTrack.vue
+++ b/src/views/inspection/problem/ProblemTrack.vue
@@ -1,53 +1,130 @@
 <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>
-  </div>
+  </BaseCard>
+  <BaseCard title="闂鍒嗗竷">
+    <!-- <el-row justify="space-between" align="middle">
+      <div class="font-large">闂鍒嗗竷</div>
+    </el-row> -->
+    <div>
+      <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>
+      <ProblemChangeChart ref="pChangeRef"></ProblemChangeChart>
+    </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'
+import ProblemChangeChart from './component/ProblemChangeChart.vue'
+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 },
+  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