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 |  132 ++++++++++++++++++++++++++++++++++++++------
 1 files changed, 114 insertions(+), 18 deletions(-)

diff --git a/src/components/monifangzhen/schemeCard.vue b/src/components/monifangzhen/schemeCard.vue
index 083673c..a54ea6b 100644
--- a/src/components/monifangzhen/schemeCard.vue
+++ b/src/components/monifangzhen/schemeCard.vue
@@ -1,12 +1,26 @@
 <template>
   <div class="listCard">
-    <el-card v-for="(item, key) in schemCard" :key="key">
+    <!-- <div>鏂规鏁伴噺: {{ simStore.schemCard.length }}</div> -->
+    <!-- 鎺ュ彛鐗堟湰鍒犻櫎璇ヤ唬鐮佸潡 -->
+    <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>鍒涘缓鏃堕棿 : {{ item.createTime }}</p>
+        <p>鍒涘缓鏃堕棿 : {{ formatTime(item.createTime) }}</p>
         <p>
           鏂规鐘舵�� :
-          <span style="color: aquamarine">{{ item.status || "宸插畬鎴�" }}</span>
+          <span style="color: aquamarine">{{
+            statusText[item.taskStatus] || "鏈煡"
+          }}</span>
         </p>
       </div>
       <div class="cardMenu">
@@ -14,7 +28,8 @@
           <el-button size="small" @click="setSchemClick(item)"
             >鏂规璇︽儏</el-button
           >
-          <el-button size="small" @click="startPlay"> 杩涘叆妯℃嫙 </el-button>
+          <el-button size="small" @click="startPlay(item)">杩涘叆妯℃嫙</el-button>
+          <!--  :disabled="item.taskStatus !== 2" -->
         </div>
       </div>
     </el-card>
@@ -28,14 +43,22 @@
 </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";
+import { useSimStore } from "@/store/simulation.js";
+import { ElMessage, ElMessageBox } from "element-plus";
 
-// const simStore = useSimStore();
+const simStore = useSimStore();
+// 閫変腑鐨勬柟妗� ID
+const selectedId = ref(null);
 
-const schemCard = ref([
+// 閫変腑鏂规
+function selectScheme(id) {
+  selectedId.value = id;
+}
+simStore.setSchemCard([
   {
     area: "瀛欒儭娌�",
     areaId: "0",
@@ -277,9 +300,14 @@
     userId: "0",
   },
 ]);
-// function setSchemClick(res) {
-//   simStore.messageShow = true;
-// }
+const statusText = {
+  0: "鏈紑濮�",
+  1: "杩涜涓�",
+  2: "宸插畬鎴�",
+};
+function formatTime(time) {
+  return dayjs(time).format("YYYY-MM-DD HH:mm:ss");
+}
 const messageShow = ref(false);
 const mesData = ref(null);
 function setSchemClick(item) {
@@ -289,15 +317,78 @@
 function close() {
   messageShow.value = false;
 }
-const emit = defineEmits(["start", "end"]);
+function startPlay(item) {
+  // if (item.taskStatus !== 2) {
+  //   alert("褰撳墠鏂规灏氭湭瀹屾垚锛屾棤娉曡繘鍏ユā鎷燂紒");
+  //   return;
+  // }
+  initeWaterPrimitiveView();
+  emit("start");
+}
+const emit = defineEmits(["start", "end", "reset"]);
 function endPlay() {
   emit("end");
 }
 
-function startPlay() {
-  initeWaterPrimitiveView();
-  emit("start");
-}
+//////////////////////////////////// 鏆撮湶閫変腑鐨� 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>
@@ -343,8 +434,10 @@
 }
 .mess {
   position: absolute;
-  top: 160px;
-  left: 460px;
+  top: 10%;
+  left: 100%;
+  // top: 160px;
+  // left: 460px;
 }
 
 /deep/.el-card__body {
@@ -362,4 +455,7 @@
   scale: (1.02);
   border: 1px solid #acf1dd;
 }
+.selected {
+  border: 2px solid #acf1dd !important; /* 閫変腑鏃剁殑杈规鏍峰紡 */
+}
 </style>

--
Gitblit v1.9.3