From 4f238e1ff525b6aa1f8c9981f044d606a89734ce Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 24 十月 2024 08:27:19 +0800
Subject: [PATCH] 1. 新增完成展示下载的excel文件功能

---
 src/views/fysp/task/components/CompDayTask.vue |  133 ++++++++++++++++++++++++++++++--------------
 1 files changed, 90 insertions(+), 43 deletions(-)

diff --git a/src/views/fysp/task/components/CompDayTask.vue b/src/views/fysp/task/components/CompDayTask.vue
index db5bab8..15a2797 100644
--- a/src/views/fysp/task/components/CompDayTask.vue
+++ b/src/views/fysp/task/components/CompDayTask.vue
@@ -9,56 +9,40 @@
         :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>
@@ -66,11 +50,15 @@
 import { ref, watch, onMounted } 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