From f19e5267cc23b1c714dc746239864f33ed715dd9 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 05 十二月 2025 17:55:02 +0800
Subject: [PATCH] 完成地图制作任务功能初版

---
 src/views/fysp/task/components/CompDayTask.vue |  122 +++++++++++++++++++++++++++++++++++-----
 1 files changed, 107 insertions(+), 15 deletions(-)

diff --git a/src/views/fysp/task/components/CompDayTask.vue b/src/views/fysp/task/components/CompDayTask.vue
index 9617c22..16f72ac 100644
--- a/src/views/fysp/task/components/CompDayTask.vue
+++ b/src/views/fysp/task/components/CompDayTask.vue
@@ -1,35 +1,97 @@
 <template>
-  <el-row justify="space-between">
-    <el-text>鍗曟棩璁″垝</el-text>
-    <el-button type="success" size="small" @click="editTask">鏂板</el-button>
+  <el-row gutter="20">
+    <el-col :span="16">
+      <div>
+        <el-text>鐩戠鍦烘櫙</el-text>
+      </div>
+      <el-divider />
+      <CompSubTaskSelect
+        v-model="seletedSceneList"
+        :dayTask="dayTask"
+        @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>
+        <!-- </el-scrollbar> -->
+      </div>
+    </el-col>
+    <el-col :span="8">
+      <CompSubTaskList
+        v-model="curSubTaskList"
+        :height="height"
+        :date="dayTask.date"
+        @submit="deleteSubtasks"
+      ></CompSubTaskList>
+    </el-col>
   </el-row>
-  <el-divider />
-  <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>
 </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();
 
 const props = defineProps({
   // 鏃ヤ换鍔�
-  dayTask: Object
+  dayTask: Object,
+  mObjList: Array
 });
 
+const emit = defineEmits(['submit']);
+
+/*************************** 鏁版嵁鍒濆鍖� ************************************/
 // 宸℃煡瀛愪换鍔¢泦鍚�
+const curMonitorObjList = ref([]);
 const curSubTaskList = ref([]);
+const height = ref('70vh');
 
 // 鐩戝惉鏃ヤ换鍔″彉鍖�
 watch(
   () => props.dayTask,
+  (nV) => {
+    onDayTaskChange(nV);
+  },
+  { immediate: true }
+);
+
+// 鐩戝惉鐩戠鍦烘櫙鍙樺寲
+watch(
+  () => props.mObjList,
   (nV, oV) => {
-    // if (nV != oV) {
-    //   onDayTaskChange(nV)
-    // }
-    onDayTaskChange(nV)
+    if (nV != oV) {
+      curMonitorObjList.value = useCloned(nV).cloned.value;
+    }
   },
   { immediate: true }
 );
@@ -49,5 +111,35 @@
     curSubTaskList.value = res;
   });
 }
+
+/*************************** 娣诲姞瀛愪换鍔� ************************************/
+
+// 鎵�閫夊満鏅�
+const seletedSceneList = ref([]);
+// 閫夋嫨浠诲姟鍦烘櫙
+function selectScene(item) {
+  item.select = true;
+  seletedSceneList.value.push(item);
+}
+// 绉婚櫎浠诲姟鍦烘櫙
+// function deleteScene(item) {
+//   item.select = false;
+//   const index = seletedSceneList.value.indexOf(item);
+//   seletedSceneList.value.splice(index, 1);
+// }
+
+function createSubtasks() {
+  seletedSceneList.value = [];
+  fetchSubTask(props.dayTask.guid);
+  ElMessage({
+    message: '宸℃煡浠诲姟娣诲姞鎴愬姛',
+    type: 'success'
+  });
+  emit('submit');
+}
+
+function deleteSubtasks() {
+  emit('submit');
+}
 </script>
 <style scoped></style>

--
Gitblit v1.9.3