From c7bd6db3190ff5c4b55d004db0b9fa944604925f Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 18 十月 2024 11:09:15 +0800
Subject: [PATCH] Merge branch 'lsf-topTask'

---
 src/views/fysp/task/components/CompDayTask.vue |  116 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 102 insertions(+), 14 deletions(-)

diff --git a/src/views/fysp/task/components/CompDayTask.vue b/src/views/fysp/task/components/CompDayTask.vue
index 9617c22..db5bab8 100644
--- a/src/views/fysp/task/components/CompDayTask.vue
+++ b/src/views/fysp/task/components/CompDayTask.vue
@@ -1,35 +1,107 @@
 <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
+        :data="seletedSceneList"
+        :dayTask="dayTask"
+        @delete="deleteScene"
+      ></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">
+      <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>
+    </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 { useCloned } from '@vueuse/core';
+import { useRoute, useRouter } from 'vue-router';
 import taskApi from '@/api/fysp/taskApi';
+import TaskProxy from '../TaskProxy';
+
+import CompMonitorObj from './CompMonitorObj.vue';
+import CompSubTaskSelect from './CompSubTaskSelect.vue';
+
+const route = useRoute();
 
 const props = defineProps({
   // 鏃ヤ换鍔�
-  dayTask: Object
+  dayTask: Object,
+  mObjList: Array
 });
 
+/*************************** 鏁版嵁鍒濆鍖� ************************************/
 // 宸℃煡瀛愪换鍔¢泦鍚�
+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 +121,21 @@
     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);
+}
 </script>
 <style scoped></style>

--
Gitblit v1.9.3