From 3d6addd2c0817b30bd328605cb048ca9698742a6 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期五, 28 二月 2025 16:50:17 +0800 Subject: [PATCH] 修复新建子任务时,未提前建立日任务的bug --- src/views/fysp/task/TaskManage.vue | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 54 insertions(+), 4 deletions(-) diff --git a/src/views/fysp/task/TaskManage.vue b/src/views/fysp/task/TaskManage.vue index 5685aa5..f844b5e 100644 --- a/src/views/fysp/task/TaskManage.vue +++ b/src/views/fysp/task/TaskManage.vue @@ -51,8 +51,9 @@ create v-model="curSubTaskList" :loading="subTaskLoading" + :create-loading="daytaskLoading" height="56vh" - @add="subTaskDrawer = true" + @add="handleAddSubtask" @submit="handleSubtaskSubmit" ></CompSubTaskList> </el-col> @@ -115,6 +116,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'; @@ -181,11 +185,18 @@ subTaskDrawer: false, // 褰撳墠閫夋嫨鐨勬棩浠诲姟 curDayTask: {}, + curDay: undefined, + daytaskLoading: false, // 褰撳墠閫夋嫨鐨勬棩浠诲姟涓嬬殑瀛愪换鍔� curSubTaskList: undefined, subTaskLoading: false, // 鎬讳换鍔℃柊澧炲脊鍑烘 topTaskAddVisible: false + }; + }, + provide() { + return { + topTask: this.curTask }; }, computed: { @@ -229,10 +240,10 @@ type = 0; break; case '姝e湪鎵ц': - type = 1; + type = 5; break; case '宸茬粨鏉�': - type = 2; + type = 6; break; default: type = 0; @@ -273,7 +284,8 @@ } }); }, - onDateChange(dayTask) { + onDateChange(dayTask, day) { + this.curDay = day; if (dayTask) { this.subTaskLoading = true; // this.subTaskDrawer = true; @@ -286,6 +298,7 @@ .finally(() => (this.subTaskLoading = false)); } else { this.curSubTaskList = []; + this.curDayTask = {}; } }, navToTaskCreate(value) { @@ -302,6 +315,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.daytaskLoading = 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.daytaskLoading = false)); + } } }, mounted() { -- Gitblit v1.9.3