From 803b93038ca16e21ea60a260ca4ac882b84a87ef Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 18 七月 2025 17:31:53 +0800
Subject: [PATCH] 2025.7.18 监管任务模块 1. 监管场景样式优化; 2. 新增监管场景GIS地图展示(待完成);

---
 src/views/fysp/task/components/CompSubTaskList.vue |   58 ++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 44 insertions(+), 14 deletions(-)

diff --git a/src/views/fysp/task/components/CompSubTaskList.vue b/src/views/fysp/task/components/CompSubTaskList.vue
index fa2e87d..2ff7199 100644
--- a/src/views/fysp/task/components/CompSubTaskList.vue
+++ b/src/views/fysp/task/components/CompSubTaskList.vue
@@ -1,13 +1,22 @@
 <template>
   <el-row justify="space-between">
     <el-text>鍗曟棩璁″垝</el-text>
-    <el-button
-      v-show="create && data && data.length > 0"
-      type="success"
-      size="small"
-      @click="add"
-      >浠诲姟璋冩暣</el-button
-    >
+    <div>
+      <el-button
+        type="success"
+        size="small"
+        plain
+        @click="handleInspectFileDownload"
+        >鍗曟嵁涓嬭浇</el-button
+      >
+      <el-button
+        v-show="create && data && data.length > 0"
+        type="success"
+        size="small"
+        @click="add"
+        >浠诲姟璋冩暣</el-button
+      >
+    </div>
   </el-row>
   <el-divider />
   <div>
@@ -44,7 +53,11 @@
       <div v-else>
         <el-empty description="鏃犱换鍔¤褰�" />
         <el-row v-if="create" justify="center">
-          <el-button type="success" size="small" @click="add"
+          <el-button
+            type="success"
+            size="small"
+            :loading="createLoading"
+            @click="add"
             >娣诲姞浠诲姟</el-button
           >
         </el-row>
@@ -54,7 +67,7 @@
   <el-dialog
     v-model="dialogVisible"
     width="600"
-    title="涓�閿垱寤烘�讳换鍔�"
+    title="宸℃煡浠诲姟缂栬緫"
     destroy-on-close
     :close-on-click-modal="false"
     :close-on-press-escape="false"
@@ -66,11 +79,14 @@
       @cancel="dialogVisible = false"
     ></CompSubTaskEdit>
   </el-dialog>
+  <SceneInspectFile v-model="downloadDialog" :value="downloadSceneList"></SceneInspectFile>
 </template>
 <script setup>
 import { ref, computed, watch, onMounted, onUnmounted } from 'vue';
 import { ElMessageBox, ElNotification, ElMessage } from 'element-plus';
 import CompSubTaskEdit from './CompSubTaskEdit.vue';
+import SceneInspectFile from "@/views/fysp/scene/SceneInspectFile.vue";
+import subtaskApi from '@/api/fysp/subtaskApi';
 
 const props = defineProps({
   modelValue: Array,
@@ -80,12 +96,15 @@
   },
   // 鏄惁鏄剧ず娣诲姞浠诲姟鎸夐挳
   create: Boolean,
-  loading: Boolean
+  loading: Boolean,
+  createLoading: Boolean
 });
 
 const dialogVisible = ref(false);
 const activeItem = ref(null);
 const data = computed(() => props.modelValue);
+const downloadDialog = ref(false);
+const downloadSceneList = ref([])
 
 const emit = defineEmits(['submit', 'add', 'remove', 'update:modelValue']);
 
@@ -96,11 +115,17 @@
       cancelButtonText: '鍙栨秷',
       type: 'warning'
     }).then(() => {
-      const index = data.value.indexOf(item);
-      data.value.splice(index, 1);
+      return subtaskApi.deleteSubtask(item.stguid).then((res) => {
+        if (res == 1) {
+          const index = data.value.indexOf(item);
+          data.value.splice(index, 1);
 
-      emit('update:modelValue', data.value);
-      emit('remove', item);
+          emit('update:modelValue', data.value);
+          emit('remove', item);
+        } else {
+          Promise.reject('鍒犻櫎宸℃煡浠诲姟澶辫触');
+        }
+      });
     });
   }
 }
@@ -127,4 +152,9 @@
 onUnmounted(() => {
   dialogVisible.value = false;
 });
+
+function handleInspectFileDownload() {
+  downloadSceneList.value = data.value.map(v=>v.scenseid)
+  downloadDialog.value = true
+}
 </script>

--
Gitblit v1.9.3