From d0f07e25103d7c7845c3b9534e8c66b5905447c0 Mon Sep 17 00:00:00 2001
From: Riku <risaku@163.com>
Date: 星期三, 04 六月 2025 23:27:55 +0800
Subject: [PATCH] 动态溯源(待完成)

---
 src/views/underwaymix/UnderwayMixMode.vue |   87 +++++++++++++++++++++----------------------
 1 files changed, 43 insertions(+), 44 deletions(-)

diff --git a/src/views/underwaymix/UnderwayMixMode.vue b/src/views/underwaymix/UnderwayMixMode.vue
index fed5590..0fae038 100644
--- a/src/views/underwaymix/UnderwayMixMode.vue
+++ b/src/views/underwaymix/UnderwayMixMode.vue
@@ -158,6 +158,14 @@
               >
                 {{ '铻嶅悎鍒嗘瀽' }}
               </el-button>
+              <el-button
+                type="primary"
+                class="el-button-custom"
+                size="small"
+                @click="underwayMixDialogVisible = true"
+              >
+                {{ '铻嶅悎绠$悊' }}
+              </el-button>
               <!-- <CheckButton
                 active-text="铻嶅悎鍒嗘瀽"
                 :default-value="false"
@@ -180,12 +188,21 @@
         <!-- </el-row> -->
       </el-col>
     </el-row>
-    <GridStyleTool
-      :gridCtrls="gridCtrls"
-      @show-underway="handleUnderwayClick"
-      @on-delete="handleFusionDelete"
-    ></GridStyleTool>
   </el-row>
+  <GridStyleTool
+    class="style-tool"
+    :gridCtrls="gridCtrls"
+    @show-underway="handleUnderwayClick"
+    @on-delete="handleFusionDelete"
+  ></GridStyleTool>
+  <!-- <el-row class="m-t-2">
+    <FactorLegend class="m-t-2" @change="handleLegendTypeChange"></FactorLegend>
+  </el-row> -->
+  <UnderwayMixManage
+    :groupId="groupId"
+    v-model="underwayMixDialogVisible"
+    @onUpdated="fetchFusionData"
+  ></UnderwayMixManage>
   <!-- </div> -->
 </template>
 
@@ -194,12 +211,14 @@
 import moment from 'moment';
 import gridApi from '@/api/gridApi';
 import { SatelliteGrid } from '@/model/SatelliteGrid';
-import GridStyleTool from './component/GridStyleTool.vue';
 import { useGridStore } from '@/stores/grid-info';
 import { TYPE0 } from '@/constant/device-type';
 import { defaultOptions } from '@/constant/radio-options';
 import { useMessageBox } from '@/composables/messageBox';
 import { useCloned } from '@vueuse/core';
+
+import GridStyleTool from './component/GridStyleTool.vue';
+import UnderwayMixManage from './component/UnderwayMixManage.vue';
 
 const gridStore = useGridStore();
 
@@ -210,7 +229,7 @@
 const props = defineProps({
   groupId: {
     type: Number,
-    default: 3
+    default: 2
   }
 });
 const show = ref(true);
@@ -218,14 +237,18 @@
 // 鐩戞祴鍥犲瓙鐨勭被鍨嬬紪鍙�
 const factorType = ref(defaultOptions(TYPE0));
 satelliteGrid.setShowFactorType(toRaw(factorType.value));
+// const factor = computed(()=>{
+
+// })
 
 function handleFactorTypeChange(e, item) {
   factorType.value = item;
-  console.log(toRaw(factorType.value));
+  // console.log(toRaw(factorType.value));
   satelliteGrid.setShowFactorType(toRaw(factorType.value));
 }
 
 const mission = ref(undefined);
+const underwayMixDialogVisible = ref(false);
 
 const gridCellList = ref(undefined);
 const fusionData = ref(undefined);
@@ -393,38 +416,8 @@
     .finally(() => (fusionLoading.value = false));
 }
 
-// 妫�鏌ヨ蛋鑸暟鎹槸鍚﹀拰100绫崇綉鏍煎凡铻嶅悎
-// function checkUnderwayFusionResult() {
-//   const time = moment(mission.value.startTime).format('YYYY-MM-DD HH:mm:ss');
-//   gridApi.fetchGridData(props.groupId, time, 3).then((res) => {
-//     if (res.data.length > 0) {
-//       fusionData.value = res.data[0];
-//     } else {
-//       fusionData.value = undefined;
-//     }
-//   });
-// }
-
 function prepareGrid(gridInfo) {
-  satelliteGrid.gridPrepare(gridInfo, function (polygon) {
-    // const originOption = polygon.getOptions();
-    // //榧犳爣绉诲叆浜嬩欢
-    // polygon.on('mouseover', () => {
-    //   polygon.setOptions({
-    //     //淇敼澶氳竟褰㈠睘鎬х殑鏂规硶
-    //     strokeWeight: 2,
-    //     strokeColor: 'red'
-    //   });
-    // });
-    // //榧犳爣绉诲嚭浜嬩欢
-    // polygon.on('mouseout', () => {
-    //   // polygon.setOptions({
-    //   //   strokeWeight: originOption.strokeWeight,
-    //   //   strokeColor: originOption.strokeColor
-    //   // });
-    //   polygon.setOptions(originOption);
-    // });
-  });
+  satelliteGrid.gridPrepare(gridInfo);
 }
 
 watch(
@@ -462,7 +455,7 @@
           tag: d.id,
           data: gdd,
           extData: {
-            name: `璧拌埅缃戞牸 - ${d.mixDataId}`,
+            name: `璧拌埅缃戞牸 - ${d.missionCode}`,
             type: 0
           }
         });
@@ -523,7 +516,7 @@
   } else {
     const d = fusionDataList.value.find((v) => v.id == dataId);
     const mission = missionStore.missionList.find((v) => {
-      return v.missionCode == d.mixDataId;
+      return v.missionCode == d.missionCode;
     });
     mapLine.hideLine(mission.missionCode);
     done();
@@ -578,7 +571,7 @@
         tag: d.id,
         data: gdd,
         extData: {
-          name: `璧拌埅缃戞牸 - ${d.mixDataId}`,
+          name: `璧拌埅缃戞牸 - ${d.missionCode}`,
           type: 0
         }
       });
@@ -602,7 +595,7 @@
           tag: d.id,
           data: gdd,
           extData: {
-            name: `璧拌埅缃戞牸 - ${d.mixDataId}`,
+            name: `璧拌埅缃戞牸 - ${d.missionCode}`,
             type: 0
           }
         });
@@ -679,7 +672,7 @@
   if (isUnmounted.value) return Promise.resolve();
   const d = fusionDataList.value.find((v) => v.id == dataId);
   const mission = missionStore.missionList.find((v) => {
-    return v.missionCode == d.mixDataId;
+    return v.missionCode == d.missionCode;
   });
 
   if (factorDataMap.has(mission.missionCode)) {
@@ -707,6 +700,12 @@
 }
 </script>
 <style scoped>
+.style-tool {
+  position: absolute;
+  top: 0;
+  right: 0;
+}
+
 :deep(.el-table) {
   --el-table-bg-color: transparent;
   --el-table-row-hover-bg-color: var(--select_color);

--
Gitblit v1.9.3