From 06eeb9b59644971d93e6dd9207ac447864e527b9 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期二, 03 六月 2025 17:38:08 +0800
Subject: [PATCH] 动态溯源(待完成)

---
 src/components/scene/SceneTable.vue |   42 +++++++++++++++++++++++++++++++++++-------
 1 files changed, 35 insertions(+), 7 deletions(-)

diff --git a/src/components/scene/SceneTable.vue b/src/components/scene/SceneTable.vue
index 9aa89ac..a587167 100644
--- a/src/components/scene/SceneTable.vue
+++ b/src/components/scene/SceneTable.vue
@@ -3,7 +3,6 @@
     :data="sceneList"
     table-layout="fixed"
     size="small"
-    height="30vh"
     :show-overflow-tooltip="true"
     border
     row-class-name="t-row"
@@ -13,7 +12,7 @@
     @row-click="handleRowClick"
     @filter-change="handleFilterChange"
   >
-    <el-table-column type="index" label="#" width="25" />
+    <!-- <el-table-column type="index" label="#" width="25" /> -->
     <el-table-column
       prop="type"
       label="绫诲瀷"
@@ -23,13 +22,19 @@
       :filter-method="filterHandler"
     />
     <el-table-column prop="name" label="鍚嶇О" />
-    <!-- <el-table-column prop="location" label="鍦板潃" /> -->
-    <el-table-column
+    <el-table-column prop="location" label="鍦板潃" />
+    <el-table-column label="涓磋繎绔欑偣" width="65">
+      <template #default="{ row }">
+        <div>{{ row.closestStation.name }}</div>
+        <div>{{ parseInt(row.length) + '绫�' }}</div>
+      </template>
+    </el-table-column>
+    <!-- <el-table-column
       prop="districtName"
       label="鍖哄幙"
       align="center"
       width="54"
-    />
+    /> -->
     <!-- <el-table-column label="绠$悊" width="70" align="center">
       <template #default="{ row }">
         <el-button
@@ -50,7 +55,11 @@
 import marks from '@/utils/map/marks';
 
 const props = defineProps({
-  sceneList: Array
+  sceneList: Array,
+  showMarks: {
+    type: Boolean,
+    default: true
+  }
 });
 
 let layer = undefined;
@@ -78,11 +87,30 @@
 });
 
 watch(showSceneList, (nV, oV) => {
-  if (nV != oV) {
+  if (nV && props.showMarks) {
     drawMarks(nV);
+  } else {
+    if (layer != undefined) {
+      MapUtil.removeViews(layer);
+      layer = undefined;
+    }
   }
 });
 
+watch(
+  () => props.showMarks,
+  (nV, oV) => {
+    if (showSceneList.value && nV) {
+      drawMarks(showSceneList.value);
+    } else {
+      if (layer != undefined) {
+        MapUtil.removeViews(layer);
+        layer = undefined;
+      }
+    }
+  }
+);
+
 function drawMarks(sceneList) {
   if (layer != undefined) {
     MapUtil.removeViews(layer);

--
Gitblit v1.9.3