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/components/CompDayTask.vue | 135 ++++++++++++++++++++++++++++++-------------- 1 files changed, 91 insertions(+), 44 deletions(-) diff --git a/src/views/fysp/task/components/CompDayTask.vue b/src/views/fysp/task/components/CompDayTask.vue index db5bab8..678b26f 100644 --- a/src/views/fysp/task/components/CompDayTask.vue +++ b/src/views/fysp/task/components/CompDayTask.vue @@ -9,68 +9,56 @@ :data="seletedSceneList" :dayTask="dayTask" @delete="deleteScene" + @submit="createSubtasks" ></CompSubTaskSelect> <div> <!-- <el-scrollbar height="50vh"> --> - <CompMonitorObj :data="curMonitorObjList" height="50vh"> - <template #default="{ item }"> - <el-button - v-if="item.select" - size="small" - type="info" - plain - disabled - icon="select" - >閫夋嫨</el-button - > - <el-button - v-else - size="small" - type="primary" - plain - @click="selectScene(item)" - >閫夋嫨</el-button - > - </template> - </CompMonitorObj> + <CompMonitorObj :data="curMonitorObjList" height="50vh"> + <template #default="{ item }"> + <el-button + v-if="item.select" + size="small" + type="info" + plain + disabled + icon="select" + >閫夋嫨</el-button + > + <el-button + v-else + size="small" + type="primary" + plain + @click="selectScene(item)" + >閫夋嫨</el-button + > + </template> + </CompMonitorObj> <!-- </el-scrollbar> --> </div> </el-col> <el-col :span="8"> - <el-row justify="space-between"> - <el-text>鍗曟棩璁″垝</el-text> - <el-button type="success" size="small" @click="editTask" - >鏂板</el-button - > - </el-row> - <el-divider /> - <div> - <el-scrollbar :height="height"> - <ItemSubTask - v-for="stask in curSubTaskList" - :key="stask.guid" - :item="stask" - > - <template #default="{ item }"> - <el-button type="danger" size="small" @click="editTask" - >绉婚櫎</el-button - > - </template> - </ItemSubTask> - </el-scrollbar> - </div> + <CompSubTaskList + v-model="curSubTaskList" + :height="height" + @submit="deleteSubtasks" + ></CompSubTaskList> </el-col> </el-row> </template> <script setup> -import { ref, watch, onMounted } from 'vue'; +import { ref, watch, onMounted, inject } from 'vue'; import { useCloned } from '@vueuse/core'; import { useRoute, useRouter } from 'vue-router'; +import { ElMessage, ElNotification, ElMessageBox } from 'element-plus'; import taskApi from '@/api/fysp/taskApi'; +import subtaskApi from '@/api/fysp/subtaskApi'; import TaskProxy from '../TaskProxy'; import CompMonitorObj from './CompMonitorObj.vue'; import CompSubTaskSelect from './CompSubTaskSelect.vue'; +import CompSubTaskList from './CompSubTaskList.vue'; +import dayjs from 'dayjs'; const route = useRoute(); @@ -79,6 +67,8 @@ dayTask: Object, mObjList: Array }); + +const emit = defineEmits(['submit']) /*************************** 鏁版嵁鍒濆鍖� ************************************/ // 宸℃煡瀛愪换鍔¢泦鍚� @@ -137,5 +127,62 @@ const index = seletedSceneList.value.indexOf(item); seletedSceneList.value.splice(index, 1); } + +function createSubtasks(executors) { + const dt = props.dayTask; + const subtasks = seletedSceneList.value.map((_) => { + const s = _.scene; + return { + // 涓婚敭鐢辨湇鍔$鍒涘缓 + stguid: undefined, + tguid: dt.tsGuid, + tsguid: dt.guid, + name: `${s.name}宸℃煡`, + typeno: 1, + type: '宸℃煡', + provincecode: s.provincecode, + provincename: s.provincename, + citycode: s.citycode, + cityname: s.cityname, + districtcode: s.districtcode, + districtname: s.districtname, + scensename: s.name, + scenseid: s.guid, + scenseaddress: s.location, + planstarttime: dt.date, + planendtime: dayjs(dt.date).endOf('day').set('millisecond', 0).toDate(), + deployerguid: 'rAR0A4gJdlOZEqZs', + deployerusername: 'ccheck', + deployerrealname: '鏁存敼瀹℃牳', + executorguids: executors.ids, + executorusernames: executors.uName, + executorrealtimes: executors.rName, + status: '鏈墽琛�', + remark: undefined + }; + }); + + // 鏇存柊鍦烘櫙鐩戠娆℃暟 + seletedSceneList.value.forEach((s) => { + s.extension1 = s.extension1 ? parseInt(s.extension1) + 1 + '' : '1'; + }); + taskApi.updateMonitorObject(seletedSceneList.value).then((res) => { + if (res > 0) { + subtaskApi.putSubtasks(subtasks).then((res) => { + seletedSceneList.value = []; + fetchSubTask(props.dayTask.guid); + ElMessage({ + message: '宸℃煡浠诲姟娣诲姞鎴愬姛', + type: 'success' + }); + emit('submit') + }); + } + }); +} + +function deleteSubtasks() { + emit('submit') +} </script> <style scoped></style> -- Gitblit v1.9.3