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/task/TaskManage.vue | 133 ++++++++++++++++++++++++++++++++++++++-----
1 files changed, 116 insertions(+), 17 deletions(-)
diff --git a/src/views/fysp/task/TaskManage.vue b/src/views/fysp/task/TaskManage.vue
index ae03a36..161af96 100644
--- a/src/views/fysp/task/TaskManage.vue
+++ b/src/views/fysp/task/TaskManage.vue
@@ -39,19 +39,29 @@
<el-tabs model-value="first">
<el-tab-pane label="鐩戠璁″垝" name="first">
<el-row>
- <el-col :span="curSubTaskList.length > 0 ? 16 : 24">
+ <el-col :span="curSubTaskList ? 16 : 24">
<CompMonitorPlan
+ ref="planRef"
:task="curTask.data"
+ :day-task-list="curDayTaskList"
@date-change="onDateChange"
></CompMonitorPlan>
</el-col>
- <el-col v-if="curSubTaskList.length > 0" :span="8">
- <CompSubTaskList :data="curSubTaskList" height="56vh"></CompSubTaskList>
+ <el-col v-if="curSubTaskList" :span="8">
+ <CompSubTaskList
+ create
+ v-model="curSubTaskList"
+ :loading="subTaskLoading"
+ :create-loading="daytaskCreateLoading"
+ height="56vh"
+ @add="handleAddSubtask"
+ @submit="handleSubtaskSubmit"
+ ></CompSubTaskList>
</el-col>
</el-row>
</el-tab-pane>
<el-tab-pane label="鐩戠鍦板浘" name="second">
- <CompTaskMap></CompTaskMap>
+ <CompTaskMap :plans="curMonitorObjList"></CompTaskMap>
</el-tab-pane>
</el-tabs>
</el-row>
@@ -87,6 +97,7 @@
<CompDayTask
:day-task="curDayTask"
:mObjList="curMonitorObjList"
+ @submit="handleSubtaskSubmit"
></CompDayTask>
</el-drawer>
<el-dialog
@@ -106,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';
@@ -154,6 +168,9 @@
showMonitorObjList: [],
//褰撳墠閫変腑鐨勪换鍔�
curTask: {},
+ //褰撳墠閫変腑鐨勬棩浠诲姟
+ curDayTaskList: [],
+ daytaskLoading: false,
//鎿嶄綔鎸夐挳
buttons: [
{
@@ -172,19 +189,36 @@
subTaskDrawer: false,
// 褰撳墠閫夋嫨鐨勬棩浠诲姟
curDayTask: {},
+ curDay: undefined,
+ daytaskCreateLoading: false,
// 褰撳墠閫夋嫨鐨勬棩浠诲姟涓嬬殑瀛愪换鍔�
- curSubTaskList: [],
+ curSubTaskList: undefined,
+ subTaskLoading: false,
// 鎬讳换鍔℃柊澧炲脊鍑烘
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 > 0 ? total - inspected : 0
+ },
+ { name: '宸插贰鏌�', value: inspected }
];
}
},
@@ -219,10 +253,10 @@
type = 0;
break;
case '姝e湪鎵ц':
- type = 1;
+ type = 5;
break;
case '宸茬粨鏉�':
- type = 2;
+ type = 6;
break;
default:
type = 0;
@@ -234,15 +268,27 @@
this.task = task;
this.sideLoading = false;
this.mainLoading = true;
+ this.curSubTaskList = undefined;
+ this.curTask = task;
taskApi
.fetchMonitorObjectVersion(task.data.tguid)
.then((res) => {
this.curMonitorObjList = res;
- this.curTask = task;
})
.finally(() => {
this.mainLoading = false;
+ this.fetchDayTasks();
});
+ },
+ fetchDayTasks() {
+ // 鑾峰彇鏃ヤ换鍔$粺璁′俊鎭�
+ this.dayTaskLoading = true;
+ return taskApi
+ .fetchDayTasks(this.curTask.data.tguid)
+ .then((res) => {
+ this.curDayTaskList = res;
+ })
+ .finally(() => (this.dayTaskLoading = false));
},
editTask() {
this.$router.push({
@@ -262,12 +308,22 @@
}
});
},
- onDateChange(dayTask) {
- // this.subTaskDrawer = true;
- this.curDayTask = dayTask;
- taskApi.fetchSubtaskByDayTask(dayTask.guid).then((res) => {
- this.curSubTaskList = res;
- });
+ onDateChange(dayTask, day) {
+ this.curDay = day;
+ if (dayTask) {
+ this.subTaskLoading = true;
+ // this.subTaskDrawer = true;
+ this.curDayTask = dayTask;
+ taskApi
+ .fetchSubtaskByDayTask(dayTask.guid)
+ .then((res) => {
+ this.curSubTaskList = res;
+ })
+ .finally(() => (this.subTaskLoading = false));
+ } else {
+ this.curSubTaskList = [];
+ this.curDayTask = {};
+ }
},
navToTaskCreate(value) {
this.topTaskAddVisible = false;
@@ -277,6 +333,49 @@
task: encodeURIComponent(JSON.stringify(value))
}
});
+ },
+ handleSubtaskSubmit() {
+ this.subTaskLoading = true;
+ 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