From 01b0b254f44dbde52ddeb1a82b7997f3f992a86d Mon Sep 17 00:00:00 2001
From: wangjuncheng <1>
Date: 星期二, 15 四月 2025 16:47:21 +0800
Subject: [PATCH] chaneg

---
 src/views/left/Left.vue                    |   34 +++++++++++++++++++++++++++++-----
 src/components/monifangzhen/schemeCard.vue |   16 +++++++++++++++-
 2 files changed, 44 insertions(+), 6 deletions(-)

diff --git a/src/components/monifangzhen/schemeCard.vue b/src/components/monifangzhen/schemeCard.vue
index 9e1adde..d43de36 100644
--- a/src/components/monifangzhen/schemeCard.vue
+++ b/src/components/monifangzhen/schemeCard.vue
@@ -1,7 +1,8 @@
 <template>
   <div class="listCard">
     <!-- <div>鏂规鏁伴噺: {{ simStore.schemCard.length }}</div> -->
-    <el-card v-for="(item, key) in simStore.schemCard" :key="key">
+    <el-card v-for="(item, key) in simStore.schemCard" :key="key" :class="{ selected: selectedId === item.id }"
+    @click="selectScheme(item.id)">
       <div>
         <p>鏂规鍚嶇О : {{ item.name }}</p>
         <p>鍒涘缓鏃堕棿 : {{ formatTime(item.createTime) }}</p>
@@ -35,7 +36,13 @@
 import { useSimStore } from "@/store/simulation.js";
 
 const simStore = useSimStore();
+// 閫変腑鐨勬柟妗� ID
+const selectedId = ref(null);
 
+// 閫変腑鏂规
+function selectScheme(id) {
+  selectedId.value = id;
+}
 simStore.setSchemCard([
   {
     area: "瀛欒儭娌�",
@@ -307,6 +314,10 @@
 function endPlay() {
   emit("end");
 }
+// 鏆撮湶閫変腑鐨� ID 缁欑埗缁勪欢
+defineExpose({
+  getSelectedId: () => selectedId.value,
+});
 </script>
 
 <style lang="less" scoped>
@@ -373,4 +384,7 @@
   scale: (1.02);
   border: 1px solid #acf1dd;
 }
+.selected {
+  border: 2px solid #acf1dd !important; /* 閫変腑鏃剁殑杈规鏍峰紡 */
+}
 </style>
diff --git a/src/views/left/Left.vue b/src/views/left/Left.vue
index 4ff6a2f..665a477 100644
--- a/src/views/left/Left.vue
+++ b/src/views/left/Left.vue
@@ -12,7 +12,7 @@
         "
       >
         <el-button @click="handleClick">鏂板缓浠跨湡鏂规</el-button>
-        <el-button>鍒犻櫎浠跨湡鏂规</el-button>
+        <el-button @click="deleteSelectedScheme">鍒犻櫎浠跨湡鏂规</el-button>
       </div>
       <!-- <div class="mock">
         <div
@@ -31,7 +31,7 @@
         @start="start"
         @end="end"
       /> -->
-      <schemeCard @start="start" @end="end" />
+      <schemeCard ref="schemeCardRef" @start="start" @end="end" />
     </div>
   </div>
   <div class="left" v-show="showAddIns">
@@ -40,10 +40,11 @@
 </template>
 
 <script setup>
+import { ElMessageBox, ElMessage } from "element-plus";
 import { ref, onMounted, onBeforeUnmount, defineEmits } from "vue";
 import Simulation from "./Simulation.vue";
 import schemeCard from "@/components/monifangzhen/schemeCard.vue";
-
+import { useSimStore } from "@/store/simulation.js";
 // import listInfo from "@/components/monifangzhen/listInfo.vue";
 // import RiverLevel from "@/components/monifangzhen/RiverLevel.vue";
 import { createPoint, removeEntities } from "@/utils/map";
@@ -299,7 +300,7 @@
     y: 4492925.204,
   },
 ];
-
+const simStore = useSimStore();
 const showAddIns = ref(false);
 let divPointList = [];
 function handleClick() {
@@ -407,7 +408,30 @@
   const entity = viewer.entities.add(model);
   // entities.push(entity)
 }
-
+const schemeCardRef = ref(null);
+function deleteSelectedScheme() {
+  const selectedId = schemeCardRef.value.getSelectedId();
+  const selectedScheme = simStore.schemCard.find(item => item.id === selectedId);
+  if (!selectedId) {
+    ElMessage.warning("璇峰厛閫夋嫨涓�涓柟妗堬紒");
+    return;
+  }
+  ElMessageBox.confirm(
+    `纭畾瑕佸垹闄�  "${selectedScheme.name}" 鏂规鍚楋紵`,
+    "鍒犻櫎纭",
+    {
+      confirmButtonText: "纭畾",
+      cancelButtonText: "鍙栨秷",
+      type: "warning", 
+    }
+  )
+    .then(() => {
+      simStore.removeSchemCardItem(selectedId);
+      ElMessage.success(`鏂规 "${selectedScheme.name}" 鍒犻櫎鎴愬姛锛乣);
+    })
+    .catch(() => {
+    });
+}
 function start(form) {
   emits("start", form);
 }

--
Gitblit v1.9.3