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