From e15245c624a20a3b46e428d646f5f2dd863cd1bc Mon Sep 17 00:00:00 2001 From: guonan <guonan201020@163.com> Date: 星期四, 17 四月 2025 14:22:36 +0800 Subject: [PATCH] 完善 --- src/components/monifangzhen/schemeCard.vue | 95 +++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 90 insertions(+), 5 deletions(-) diff --git a/src/components/monifangzhen/schemeCard.vue b/src/components/monifangzhen/schemeCard.vue index 9e1adde..a54ea6b 100644 --- a/src/components/monifangzhen/schemeCard.vue +++ b/src/components/monifangzhen/schemeCard.vue @@ -1,18 +1,33 @@ <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)" + > + <!-- <el-card + v-for="(item, key) in schemeList" + :key="key" + @click="selectScheme(item.id)" + > --> <div> <p>鏂规鍚嶇О : {{ item.name }}</p> <p>鍒涘缓鏃堕棿 : {{ formatTime(item.createTime) }}</p> <p> 鏂规鐘舵�� : - <span style="color: aquamarine">{{ statusText[item.taskStatus] || "鏈煡" }}</span> + <span style="color: aquamarine">{{ + statusText[item.taskStatus] || "鏈煡" + }}</span> </p> </div> <div class="cardMenu"> <div style="float: right; margin-top: 3px"> - <el-button size="small" @click="setSchemClick(item)">鏂规璇︽儏</el-button> + <el-button size="small" @click="setSchemClick(item)" + >鏂规璇︽儏</el-button + > <el-button size="small" @click="startPlay(item)">杩涘叆妯℃嫙</el-button> <!-- :disabled="item.taskStatus !== 2" --> </div> @@ -28,14 +43,21 @@ </template> <script setup> -import { ref } from "vue"; +import { onMounted, ref, watch } from "vue"; import dayjs from "dayjs"; import { initeWaterPrimitiveView } from "@/utils/water"; import Message from "@/components/tools/Message.vue"; import { useSimStore } from "@/store/simulation.js"; +import { ElMessage, ElMessageBox } from "element-plus"; const simStore = useSimStore(); +// 閫変腑鐨勬柟妗� ID +const selectedId = ref(null); +// 閫変腑鏂规 +function selectScheme(id) { + selectedId.value = id; +} simStore.setSchemCard([ { area: "瀛欒儭娌�", @@ -303,10 +325,70 @@ initeWaterPrimitiveView(); emit("start"); } -const emit = defineEmits(["start", "end"]); +const emit = defineEmits(["start", "end", "reset"]); function endPlay() { emit("end"); } + +//////////////////////////////////// 鏆撮湶閫変腑鐨� ID 缁欑埗缁勪欢锛堟帴鍙g増鏈垹闄わ級//////////////////////////////////// +defineExpose({ + getSelectedId: () => selectedId.value, +}); + +/////////////////////// 璋冪敤鎺ュ彛锛堜娇鐢ㄦ椂鎵撳紑锛� /////////////////////// +// import { getData, getSimData, deleteSimData } from "@/api/trApi.js"; +// onMounted(() => { +// getScheme(); +// }); + +// const props = defineProps({ +// deleteSim: Boolean, // 鎺ユ敹鐖剁粍浠朵紶閫掔殑鍑芥暟 +// }); + +// watch( +// () => props.deleteSim, +// (newVal) => { +// if (newVal) { +// console.log(newVal); +// deleteSim(); +// emit("reset"); +// } +// } +// ); + +// const schemeList = ref([]); + +// async function getScheme() { +// try { +// const res = await getSimData(); +// schemeList.value = res.data; +// } catch (error) { +// console.error("Error fetching data:", error); +// } +// } + +// const deleteSim = () => { +// ElMessageBox.confirm("纭畾瑕佸垹闄よ鏂规鍚�?", "鍒犻櫎鏂规", { +// confirmButtonText: "OK", +// cancelButtonText: "Cancel", +// }) +// .then(() => { +// deleteSimData(selectedId.value).then((res) => { +// getScheme(); +// }); +// ElMessage({ +// type: "success", +// message: "鍒犻櫎鎴愬姛", +// }); +// }) +// .catch(() => { +// ElMessage({ +// type: "info", +// message: "宸插彇娑堝垹闄�", +// }); +// }); +// }; +/////////////////////// 璋冪敤鎺ュ彛缁撴潫 /////////////////////// </script> <style lang="less" scoped> @@ -373,4 +455,7 @@ scale: (1.02); border: 1px solid #acf1dd; } +.selected { + border: 2px solid #acf1dd !important; /* 閫変腑鏃剁殑杈规鏍峰紡 */ +} </style> -- Gitblit v1.9.3