From d8a0684a057df926c788525575eecdddde977133 Mon Sep 17 00:00:00 2001
From: wangjuncheng <1>
Date: 星期日, 20 四月 2025 15:45:34 +0800
Subject: [PATCH] change

---
 src/views/left/KGSimOption/PredictiveSimulation.vue |    4 
 src/components/menu/TimeLine.vue                    |    4 
 src/components/tools/Message.vue                    |    2 
 src/views/left/KGSimOption/HistorySimulation.vue    |    5 +
 src/views/left/Left.vue                             |   28 ++++-----
 src/views/mnfz.vue                                  |   20 +++++-
 src/views/left/CitySim.vue                          |    2 
 src/components/monifangzhen/schemeCard.vue          |   55 ++++++++++--------
 src/views/left/KGSimOption/RealTimeSimulation.vue   |    4 
 9 files changed, 71 insertions(+), 53 deletions(-)

diff --git a/src/components/menu/TimeLine.vue b/src/components/menu/TimeLine.vue
index e24921f..632a6c3 100644
--- a/src/components/menu/TimeLine.vue
+++ b/src/components/menu/TimeLine.vue
@@ -1,7 +1,6 @@
 <template>
   <div class="timeline-container">
     <div class="controls">
-      <!-- <div @click="endSimulate">缁撴潫妯℃嫙</div> -->
       <div class="control-btn" @click="skipBackward">
         <img
           src="@/assets/img/timeline/left.png"
@@ -63,6 +62,7 @@
         </div>
       </div>
     </div>
+    <el-button @click="endSimulate" style="margin-top: 26px;margin-left: 30px;margin-right: 10px;">缁撴潫妯℃嫙</el-button>
   </div>
 </template>
 
@@ -313,7 +313,7 @@
   left: 50%;
   transform: translateX(-50%);
   z-index: 99;
-  width: 838px;
+  width: 878px;
   height: 108px;
   /* background-color: #1a2634; */
   background: url("@/assets/img/menubar/bar.png");
diff --git a/src/components/monifangzhen/schemeCard.vue b/src/components/monifangzhen/schemeCard.vue
index a54ea6b..ef8b41f 100644
--- a/src/components/monifangzhen/schemeCard.vue
+++ b/src/components/monifangzhen/schemeCard.vue
@@ -2,17 +2,8 @@
   <div class="listCard">
     <!-- <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)"
-    > -->
+    <el-card v-if="!schemeInfoShow" 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>
@@ -25,35 +16,37 @@
       </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>
       </div>
     </el-card>
+    <schemeInfo 
+      v-if="schemeInfoShow" 
+      :selectedScheme="currentScheme" 
+      @back="handleBack"
+    />
   </div>
-  <Message
-    @close="close"
-    class="mess"
-    v-show="messageShow"
-    :mesData="mesData"
-  />
+
+  <Message @close="close" class="mess" v-show="messageShow" :mesData="mesData" />
 </template>
 
 <script setup>
-import { onMounted, ref, watch } from "vue";
+import { onMounted, ref, watch ,defineEmits } 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 schemeInfo from "@/components/monifangzhen/schemeInfo.vue";
 import { ElMessage, ElMessageBox } from "element-plus";
+const emit = defineEmits(["start", "end", "reset","closeBtn"]);
 
 const simStore = useSimStore();
 // 閫変腑鐨勬柟妗� ID
 const selectedId = ref(null);
-
+// 褰撳墠閫変腑鐨勬柟妗堜俊鎭�
+const currentScheme = ref(null);
 // 閫変腑鏂规
 function selectScheme(id) {
   selectedId.value = id;
@@ -309,6 +302,7 @@
   return dayjs(time).format("YYYY-MM-DD HH:mm:ss");
 }
 const messageShow = ref(false);
+const schemeInfoShow = ref(false);
 const mesData = ref(null);
 function setSchemClick(item) {
   mesData.value = item;
@@ -317,19 +311,27 @@
 function close() {
   messageShow.value = false;
 }
+
 function startPlay(item) {
   // if (item.taskStatus !== 2) {
   //   alert("褰撳墠鏂规灏氭湭瀹屾垚锛屾棤娉曡繘鍏ユā鎷燂紒");
   //   return;
   // }
+  currentScheme.value = item; 
+  // schemeInfoShow.value = true
+  // emit("closeBtn", false);
   initeWaterPrimitiveView();
   emit("start");
 }
-const emit = defineEmits(["start", "end", "reset"]);
 function endPlay() {
   emit("end");
 }
-
+function handleBack(value) {
+  if (value === false) {
+    schemeInfoShow.value = false;
+    emit("closeBtn", true);
+  }
+}
 //////////////////////////////////// 鏆撮湶閫変腑鐨� ID 缁欑埗缁勪欢锛堟帴鍙g増鏈垹闄わ級////////////////////////////////////
 defineExpose({
   getSelectedId: () => selectedId.value,
@@ -432,6 +434,7 @@
 .listCard-btn:hover {
   background: url("@/assets/img/left/cardbtnac.png") no-repeat;
 }
+
 .mess {
   position: absolute;
   top: 10%;
@@ -455,7 +458,9 @@
   scale: (1.02);
   border: 1px solid #acf1dd;
 }
+
 .selected {
-  border: 2px solid #acf1dd !important; /* 閫変腑鏃剁殑杈规鏍峰紡 */
+  border: 2px solid #acf1dd !important;
+  /* 閫変腑鏃剁殑杈规鏍峰紡 */
 }
 </style>
diff --git a/src/components/tools/Message.vue b/src/components/tools/Message.vue
index 2b2f2d9..d13b234 100644
--- a/src/components/tools/Message.vue
+++ b/src/components/tools/Message.vue
@@ -8,7 +8,7 @@
         <div class="message-value">{{ item.value }}</div>
       </div>
     </div>
-    <div class="message-btn" @click="startPlay">寮�濮嬫ā鎷�</div>
+    <!-- <div class="message-btn" @click="startPlay">寮�濮嬫ā鎷�</div> -->
   </div>
 </template>
 
diff --git a/src/views/left/CitySim.vue b/src/views/left/CitySim.vue
index b38e91f..ef72134 100644
--- a/src/views/left/CitySim.vue
+++ b/src/views/left/CitySim.vue
@@ -101,7 +101,7 @@
           </el-input>
         </el-form-item>
 
-        <el-form-item label="浠跨湡鍙傛暟:"></el-form-item>
+        <!-- <el-form-item label="浠跨湡鍙傛暟:"></el-form-item> -->
       </el-form>
       <div style="display: flex; justify-content: flex-end">
         <el-button type="primary" @click="openSaveDialog">淇濆瓨鏂规</el-button>
diff --git a/src/views/left/KGSimOption/HistorySimulation.vue b/src/views/left/KGSimOption/HistorySimulation.vue
index e5a8141..2d0debe 100644
--- a/src/views/left/KGSimOption/HistorySimulation.vue
+++ b/src/views/left/KGSimOption/HistorySimulation.vue
@@ -33,10 +33,10 @@
           <span>h</span>
         </div>
       </div>
-      <div>
+      <!-- <div>
         <label>浠跨湡鍙傛暟:</label>
         <div style="width: 100%; height: 60px; background-color: #fff"></div>
-      </div>
+      </div> -->
     </div>
     <div class="buttons">
       <el-button type="primary" @click="openSaveDialog">淇濆瓨鏂规</el-button>
@@ -190,6 +190,7 @@
   margin-top: 20px;
   display: flex;
   gap: 10px;
+  justify-content: space-evenly;
 }
 
 .input-group {
diff --git a/src/views/left/KGSimOption/PredictiveSimulation.vue b/src/views/left/KGSimOption/PredictiveSimulation.vue
index 03088a1..c22c890 100644
--- a/src/views/left/KGSimOption/PredictiveSimulation.vue
+++ b/src/views/left/KGSimOption/PredictiveSimulation.vue
@@ -42,10 +42,10 @@
           <el-input v-model="rainfallDuration" type="number" placeholder="璇疯緭鍏�"></el-input>
           <span>h</span>
         </div>
-        <div>
+        <!-- <div>
           <label>浠跨湡鍙傛暟:</label>
           <div style="width: 100%; height: 43px; background-color: #fff;"></div>
-        </div>
+        </div> -->
       </div>
       <div class="buttons">
         <el-button type="primary" @click="openPlan">鎵撳紑鏂规</el-button>
diff --git a/src/views/left/KGSimOption/RealTimeSimulation.vue b/src/views/left/KGSimOption/RealTimeSimulation.vue
index 574018b..ff5f348 100644
--- a/src/views/left/KGSimOption/RealTimeSimulation.vue
+++ b/src/views/left/KGSimOption/RealTimeSimulation.vue
@@ -24,10 +24,10 @@
           <span>{{ item.name }}</span>
         </div>
       </div>
-      <div style="margin-top: 10px;">
+      <!-- <div style="margin-top: 10px;">
         <label>浠跨湡鍙傛暟:</label>
         <div style="width: 100%; height: 60px; background-color: #fff;"></div>
-      </div>
+      </div> -->
     </div>
     <div class="buttons">
       <el-button type="primary" @click="openSaveDialog">淇濆瓨鏂规</el-button>
diff --git a/src/views/left/Left.vue b/src/views/left/Left.vue
index 1a8e365..76987d8 100644
--- a/src/views/left/Left.vue
+++ b/src/views/left/Left.vue
@@ -4,24 +4,16 @@
       <span>浠跨湡鎺ㄦ紨鏂规</span>
     </div>
     <div class="left-content">
-      <div
-        style="
+      <div style="
           display: flex;
-          justify-content: space-around;
+          justify-content: space-evenly;
           padding: 8px 8px 8px 0px;
         "
-      >
-        <el-button @click="handleClick">鏂板缓浠跨湡鏂规</el-button>
-        <el-button @click="deleteSelectedScheme">鍒犻櫎浠跨湡鏂规</el-button>
-        <!-- <el-button>鍒犻櫎浠跨湡鏂规</el-button> -->
+        v-if="btnShow">
+        <el-button style="width: 45%;" @click="handleClick">鏂板缓浠跨湡鏂规</el-button>
+        <el-button style="width: 45%;" @click="deleteSelectedScheme">鍒犻櫎浠跨湡鏂规</el-button>
       </div>
-      <!-- 鎺ュ彛鐗堟湰鍒犻櫎璇ヤ唬鐮佸潡 -->
-      <schemeCard
-        ref="schemeCardRef"
-        @start="start"
-        @end="end"
-        @reset="reset"
-      />
+      <schemeCard ref="schemeCardRef" @start="start" @end="end" @reset="reset" @closeBtn="handleBackFromParent" />
       <!-- <schemeCard
         ref="schemeCardRef"
         @start="start"
@@ -291,6 +283,7 @@
 ];
 const simStore = useSimStore();
 const showAddIns = ref(false);
+const btnShow = ref(true);
 let divPointList = [];
 function handleClick() {
   // currentMock.value = mock.name;
@@ -298,6 +291,11 @@
 }
 function handleBack(value) {
   showAddIns.value = false; // 闅愯棌瀛愮粍浠�
+}
+function handleBackFromParent(value) {
+  if (value === false) {
+    btnShow.value = false
+  } else btnShow.value = true
 }
 function initDevicePoint() {
   list.forEach((item) => {
@@ -421,7 +419,7 @@
       simStore.removeSchemCardItem(selectedId);
       ElMessage.success(`鏂规 "${selectedScheme.name}" 鍒犻櫎鎴愬姛锛乣);
     })
-    .catch(() => {});
+    .catch(() => { });
 }
 
 function start(form) {
diff --git a/src/views/mnfz.vue b/src/views/mnfz.vue
index c92927c..c8b562d 100644
--- a/src/views/mnfz.vue
+++ b/src/views/mnfz.vue
@@ -49,7 +49,8 @@
   waterSimulateParams.value = form;
 }
 function endSimulate() {
-  // showDebuffDetail.value = true
+  showDebuffDetail.value = false
+  clearTrailLine();
   removeDataSources();
   setTimeout(() => {
     showWaterSimulate.value = false;
@@ -67,8 +68,8 @@
       // 璁剧疆鏍峰紡锛屽皢棰滆壊鏀逛负绾㈣壊
       dataSource.entities.values.forEach((entity) => {
         entity.polygon.material = new Cesium.Color(1.0, 0.0, 0.0, 0.6); // 绾㈣壊锛�80% 涓嶉�忔槑搴�
-        entity.polygon.outlineColor = Cesium.Color.YELLOW; // 璁剧疆杞粨棰滆壊涓虹孩鑹诧紙濡傛灉闇�瑕侊級
-        entity.polygon.outline = true; // 鏄剧ず杞粨锛堝鏋滈渶瑕侊級
+        entity.polygon.outlineColor = Cesium.Color.YELLOW;
+        entity.polygon.outline = true;
       });
 
       // 娣诲姞鏁版嵁婧愬埌 viewer
@@ -156,6 +157,19 @@
   );
   TrailLine.push(_TrailLine);
 }
+// 娓呴櫎杞ㄨ抗绾垮璞�
+function clearTrailLine() {
+  TrailLine.forEach((item, index) => {
+    if (item && typeof item.deleteObject === 'function') {
+      item.deleteObject();
+    } else if (item && typeof item.clear === 'function') {
+      item.clear();
+    } else if (item && earthCtrl && earthCtrl.coreMap) {
+      earthCtrl.coreMap.entities.remove(item);
+    }
+  });
+  TrailLine = [];
+}
 // function showLine() {
 //   earthCtrl.factory.createSimpleGraphic(
 //     "polyline",

--
Gitblit v1.9.3