From 803b93038ca16e21ea60a260ca4ac882b84a87ef Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期五, 18 七月 2025 17:31:53 +0800 Subject: [PATCH] 2025.7.18 监管任务模块 1. 监管场景样式优化; 2. 新增监管场景GIS地图展示(待完成); --- src/views/fysp/task/TaskManage.vue | 91 ++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 81 insertions(+), 10 deletions(-) diff --git a/src/views/fysp/task/TaskManage.vue b/src/views/fysp/task/TaskManage.vue index 5685aa5..07d98d9 100644 --- a/src/views/fysp/task/TaskManage.vue +++ b/src/views/fysp/task/TaskManage.vue @@ -43,6 +43,7 @@ <CompMonitorPlan ref="planRef" :task="curTask.data" + :day-task-list="dayTaskList" @date-change="onDateChange" ></CompMonitorPlan> </el-col> @@ -51,16 +52,17 @@ create v-model="curSubTaskList" :loading="subTaskLoading" + :create-loading="daytaskCreateLoading" height="56vh" - @add="subTaskDrawer = true" + @add="handleAddSubtask" @submit="handleSubtaskSubmit" ></CompSubTaskList> </el-col> </el-row> </el-tab-pane> - <!-- <el-tab-pane label="鐩戠鍦板浘" name="second"> - <CompTaskMap></CompTaskMap> - </el-tab-pane> --> + <el-tab-pane label="鐩戠鍦板浘" name="second"> + <CompTaskMap :plans="curMonitorObjList"></CompTaskMap> + </el-tab-pane> </el-tabs> </el-row> <el-divider></el-divider> @@ -115,6 +117,9 @@ </template> <script> +import { unref } from 'vue'; +import { useCloned } from '@vueuse/core'; +import dayjs from 'dayjs'; import taskApi from '@/api/fysp/taskApi'; import CompMonitorObj from './components/CompMonitorObj.vue'; import CompMonitorPlan from './components/CompMonitorPlan.vue'; @@ -163,6 +168,9 @@ showMonitorObjList: [], //褰撳墠閫変腑鐨勪换鍔� curTask: {}, + //褰撳墠閫変腑鐨勬棩浠诲姟 + curDayTaskList: [], + daytaskLoading: false, //鎿嶄綔鎸夐挳 buttons: [ { @@ -181,6 +189,8 @@ subTaskDrawer: false, // 褰撳墠閫夋嫨鐨勬棩浠诲姟 curDayTask: {}, + curDay: undefined, + daytaskCreateLoading: false, // 褰撳墠閫夋嫨鐨勬棩浠诲姟涓嬬殑瀛愪换鍔� curSubTaskList: undefined, subTaskLoading: false, @@ -188,13 +198,24 @@ topTaskAddVisible: false }; }, + provide() { + return { + topTask: this.curTask + }; + }, computed: { // 鎬讳换鍔$姸鎬佺粺璁� taskStatus() { + let total = 0, + inspected = 0; + this.curMonitorObjList.forEach((obj) => { + total += parseInt(obj.monitornum); + inspected += obj.extension1 ? parseInt(obj.extension1) : 0; + }); return [ - { name: '鍦烘櫙鏁�', value: 100 }, - { name: '鏈贰鏌�', value: 0 }, - { name: '宸插贰鏌�', value: 0 } + { name: '鍦烘櫙鏁�', value: total }, + { name: '鏈贰鏌�', value: total - inspected }, + { name: '宸插贰鏌�', value: inspected } ]; } }, @@ -229,10 +250,10 @@ type = 0; break; case '姝e湪鎵ц': - type = 1; + type = 5; break; case '宸茬粨鏉�': - type = 2; + type = 6; break; default: type = 0; @@ -253,7 +274,18 @@ }) .finally(() => { this.mainLoading = false; + this.fetchDayTasks(); }); + }, + fetchDayTasks() { + // 鑾峰彇鏃ヤ换鍔$粺璁′俊鎭� + this.dayTaskLoading = true; + return taskApi + .fetchDayTasks(this.curTask.data.tguid) + .then((res) => { + this.dayTaskList = res; + }) + .finally(() => (this.dayTaskLoading = false)); }, editTask() { this.$router.push({ @@ -273,7 +305,8 @@ } }); }, - onDateChange(dayTask) { + onDateChange(dayTask, day) { + this.curDay = day; if (dayTask) { this.subTaskLoading = true; // this.subTaskDrawer = true; @@ -286,6 +319,7 @@ .finally(() => (this.subTaskLoading = false)); } else { this.curSubTaskList = []; + this.curDayTask = {}; } }, navToTaskCreate(value) { @@ -302,6 +336,43 @@ this.$refs.planRef .fetchDayTasks() .finally(() => (this.subTaskLoading = false)); + }, + handleAddSubtask() { + // 鍒ゆ柇褰撴棩鏄惁鏈夋棩浠诲姟锛岃嫢娌℃湁锛屽厛鍒涘缓鍦ㄨ烦杞瓙浠诲姟鍒涘缓鐣岄潰 + if (this.curDayTask.guid) { + this.subTaskDrawer = true; + } else { + const _dayTask = useCloned(this.curTask.data).cloned.value; + const taskDate = dayjs(this.curDay); + _dayTask.tsguid = _dayTask.tguid; + _dayTask.tguid = null; + _dayTask.levelnum = null; + _dayTask.name = `${taskDate.format('YYYY骞碝M鏈圖D鏃�')}${ + _dayTask.cityname + }${_dayTask.districtname}${_dayTask.typename}浠诲姟`; + _dayTask.starttime = taskDate.startOf('day').toDate(); + _dayTask.endtime = taskDate.endOf('day').millisecond(0).toDate(); + _dayTask.settime = dayjs().toDate(); + _dayTask.t1stverifytime = dayjs().toDate(); + _dayTask.runingstatus = '鏈墽琛�'; + this.daytaskCreateLoading = true; + taskApi + .putTask(_dayTask) + .then((res) => { + this.curDayTask = { + guid: res.data.tguid, + tsGuid: res.data.tsguid, + changedTaskNum: 0, + check: true, + completeTaskNum: 0, + date: res.data.starttime, + totalTaskNum: 0 + }; + this.subTaskDrawer = true; + this.handleSubtaskSubmit(); + }) + .finally(() => (this.daytaskCreateLoading = false)); + } } }, mounted() { -- Gitblit v1.9.3