From 66032f62b4a3b6a649fc02b392ae41278399b58b Mon Sep 17 00:00:00 2001
From: wangjuncheng <1>
Date: 星期二, 08 七月 2025 15:23:19 +0800
Subject: [PATCH] 添加打印加坝数据代码, 但调用被注释

---
 src/views/left/KGSimOption/PredictiveSimulation.vue |   48 ++++++++
 src/views/left/Left.vue                             |   29 +---
 src/views/left/CitySim.vue                          |  181 ++++++++++++-----------------
 src/views/left/KGSimOption/RealTimeSimulation.vue   |   48 ++++++++
 4 files changed, 179 insertions(+), 127 deletions(-)

diff --git a/src/views/left/CitySim.vue b/src/views/left/CitySim.vue
index f74e646..a4de983 100644
--- a/src/views/left/CitySim.vue
+++ b/src/views/left/CitySim.vue
@@ -1,10 +1,6 @@
 <template>
   <div style="width: 100%; height: 100%">
-    <div
-      class="left-top"
-      v-if="simStore.selectTab == '琛屾斂鍖哄垝浠跨湡'"
-      style="margin-top: 0px"
-    >
+    <div class="left-top" v-if="simStore.selectTab == '琛屾斂鍖哄垝浠跨湡'" style="margin-top: 0px">
       琛屾斂鍖哄垝浠跨湡锛�30m绮惧害锛�
     </div>
     <div class="left-top" v-if="simStore.selectTab == '閲嶇偣鍖哄煙浠跨湡'">
@@ -15,134 +11,56 @@
     </div>
 
     <div class="forms" :class="{ 'no-background': !showBackground }">
-      <el-form
-        :rules="rules"
-        :model="forms"
-        label-width="auto"
-        style="max-width: 600px"
-      >
+      <el-form :rules="rules" :model="forms" label-width="auto" style="max-width: 600px">
         <el-form-item label="鏂规鍚嶇О:">
-          <el-input
-            v-model="forms.name"
-            style="max-width: 600px"
-            placeholder="璇疯緭鍏ユ柟妗堝悕绉�"
-          >
+          <el-input v-model="forms.name" style="max-width: 600px" placeholder="璇疯緭鍏ユ柟妗堝悕绉�">
           </el-input>
         </el-form-item>
         <el-form-item label="涓婁紶鍙傛暟">
-          <el-upload
-            :on-remove="handleRemove"
-            v-model:file-list="forms.fileList"
-            class="upload-demo"
-            :auto-upload="false"
-            :multiple="false"
-            :on-change="handleFileChange"
-            :limit="1"
-            :on-exceed="handleExceed"
-            :before-upload="beforeUpload"
-            accept=".xlsx,.xls,.csv"
-          >
+          <el-upload :on-remove="handleRemove" v-model:file-list="forms.fileList" class="upload-demo"
+            :auto-upload="false" :multiple="false" :on-change="handleFileChange" :limit="1" :on-exceed="handleExceed"
+            :before-upload="beforeUpload" accept=".xlsx,.xls,.csv">
             <el-button type="primary">鐐瑰嚮涓婁紶闄嶉洦鏁版嵁</el-button>
             <template #append>mm/h</template>
           </el-upload>
         </el-form-item>
         <el-form-item label="闆ㄥ己鍗曚綅" v-if="forms.fileList.length !== 0">
-          <el-select
-            v-model="forms.intensityUnit"
-            placeholder="璇烽�夋嫨闆ㄥ己鍗曚綅"
-            style="max-width: 600px"
-            :disabled="!!forms.intensityUnit"
-          >
-            <el-option
-              v-for="item in intensityOptions"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            />
+          <el-select v-model="forms.intensityUnit" placeholder="璇烽�夋嫨闆ㄥ己鍗曚綅" style="max-width: 600px"
+            :disabled="!!forms.intensityUnit">
+            <el-option v-for="item in intensityOptions" :key="item.value" :label="item.label" :value="item.value" />
           </el-select>
         </el-form-item>
-        <el-form-item
-          label="琛屾斂鍖哄煙:"
-          v-if="simStore.selectTab == '琛屾斂鍖哄垝浠跨湡'"
-        >
-          <el-select
-            @change="changeGeom"
-            v-model="forms.geom"
-            placeholder="璇烽�夋嫨妯℃嫙鍖哄煙"
-            style="max-width: 600px"
-          >
-            <el-option
-              v-for="item in options"
-              :key="item.value"
-              :label="item.label"
-              :value="item"
-            />
+        <el-form-item label="琛屾斂鍖哄煙:" v-if="simStore.selectTab == '琛屾斂鍖哄垝浠跨湡'">
+          <el-select @change="changeGeom" v-model="forms.geom" placeholder="璇烽�夋嫨妯℃嫙鍖哄煙" style="max-width: 600px">
+            <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item" />
           </el-select>
         </el-form-item>
-        <el-form-item
-          label="閲嶇偣鍖哄煙:"
-          v-if="simStore.selectTab == '閲嶇偣鍖哄煙浠跨湡'"
-        >
-          <el-select
-            @change="changeGeom"
-            v-model="forms.geom"
-            placeholder="璇烽�夋嫨妯℃嫙鍖哄煙"
-            style="max-width: 600px"
-          >
-            <el-option
-              v-for="item in options"
-              :key="item.value"
-              :label="item.label"
-              :value="item"
-            />
+        <el-form-item label="閲嶇偣鍖哄煙:" v-if="simStore.selectTab == '閲嶇偣鍖哄煙浠跨湡'">
+          <el-select @change="changeGeom" v-model="forms.geom" placeholder="璇烽�夋嫨妯℃嫙鍖哄煙" style="max-width: 600px">
+            <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item" />
           </el-select>
         </el-form-item>
 
         <el-form-item label="闄嶉洦閲�:">
-          <el-input
-            v-model="forms.rainfall"
-            style="max-width: 600px"
-            placeholder="璇疯緭鍏ラ檷闆ㄩ噺"
-          >
+          <el-input v-model="forms.rainfall" style="max-width: 600px" placeholder="璇疯緭鍏ラ檷闆ㄩ噺">
             <template #append>mm</template>
           </el-input>
         </el-form-item>
         <el-form-item label="閫夋嫨鏃堕棿:">
-          <el-date-picker
-            v-if="forms.fileList.length !== 0"
-            v-model="forms.hours"
-            type="datetime"
-            placeholder="璇烽�夋嫨寮�濮嬫椂闂�"
-          />
-          <el-date-picker
-            v-if="forms.fileList.length == 0"
-            v-model="forms.hours"
-            type="datetimerange"
-            start-placeholder="寮�濮嬫椂闂�"
-            end-placeholder="缁撴潫鏃堕棿"
-            format="YYYY-MM-DD HH:mm:ss"
-            date-format="YYYY/MM/DD ddd"
-            time-format="A hh:mm:ss"
-            @change="change"
-          />
+          <el-date-picker v-if="forms.fileList.length !== 0" v-model="forms.hours" type="datetime"
+            placeholder="璇烽�夋嫨寮�濮嬫椂闂�" />
+          <el-date-picker v-if="forms.fileList.length == 0" v-model="forms.hours" type="datetimerange"
+            start-placeholder="寮�濮嬫椂闂�" end-placeholder="缁撴潫鏃堕棿" format="YYYY-MM-DD HH:mm:ss" date-format="YYYY/MM/DD ddd"
+            time-format="A hh:mm:ss" @change="change" />
         </el-form-item>
         <el-form-item label="闄嶉洦鏃堕暱:">
-          <el-input
-            disabled
-            v-model="forms.duration"
-            style="max-width: 600px"
-            placeholder="璇疯緭鍏ラ檷闆ㄦ椂闀�"
-          >
+          <el-input disabled v-model="forms.duration" style="max-width: 600px" placeholder="璇疯緭鍏ラ檷闆ㄦ椂闀�">
             <template #append>h</template>
           </el-input>
         </el-form-item>
 
         <el-form-item label="闄嶉洦寮哄害:">
-          <el-input
-            v-model="forms.intensity"
-            style="max-width: 600px"
-            placeholder="璇疯緭鍏ラ檷闆ㄥ己搴�"
-          >
+          <el-input v-model="forms.intensity" style="max-width: 600px" placeholder="璇疯緭鍏ラ檷闆ㄥ己搴�">
             <template #append>mm/h</template>
           </el-input>
         </el-form-item>
@@ -277,9 +195,11 @@
       forms.geom = props.selectedArea;
     }
     await simStore.addSimCheme(forms);
+    // 鎵撳嵃鎷︽尅鍧濇墍闇�瑕佺殑鏁版嵁
+    // printDamEntities();
     resetForm(); // 鍙湁鍦ㄤ繚瀛樻垚鍔熷悗鎵嶉噸缃〃鍗�
     EventBus.emit("close-selectArea");
-  } catch (error) {}
+  } catch (error) { }
 };
 
 // 閲嶇疆琛ㄥ崟
@@ -725,6 +645,52 @@
     // ElMessage.error("鍚姩妯℃嫙澶辫触锛岃绋嶅悗鍐嶈瘯");
   }
 }
+// ========================================鎷︽尅鍧�===============================================================
+// 鑾峰彇鎷︽尅鍧濇暟鎹�
+function printDamEntities() {
+  const entities = viewer.entities.values;
+  const damDataList = [];
+
+  for (let i = 0; i < entities.length; i++) {
+    const entity = entities[i];
+
+    if (entity.name && (entity.name === '鏍忔。鍧�1' || entity.name === '鏍忔。鍧�2')) {
+      damDataList.push({
+        name: entity.name,
+        position: entity.position?._value,
+        heading: entity.heading?._value ?? entity.heading,
+        pitch: entity.pitch?._value ?? entity.pitch,
+        roll: entity.roll?._value ?? entity.roll,
+        modelScale: entity.model?.scale?._value ?? entity.model?.scale
+      });
+    }
+  }
+  if (damDataList.length > 0) {
+    console.log("銆愭爮妗e潩瀹炰綋鏁版嵁鍒楄〃銆戯細", damDataList);
+    deleteDamEntitiesAfterDelay();
+  } else {
+    console.log("鏈壘鍒颁换浣曞悕涓� '鏍忔。鍧�1' 鎴� '鏍忔。鍧�2' 鐨勫疄浣�");
+  }
+}
+// 淇濆瓨鏂规鍚庡畾鏃舵竻闄ゆ柊寤虹殑鎷︽尅鍧濇暟鎹�
+function deleteDamEntitiesAfterDelay() {
+  setTimeout(() => {
+    const entities = Array.from(viewer.entities.values);
+    const damsToDelete = entities.filter(
+      entity => entity.name === '鏍忔。鍧�1' || entity.name === '鏍忔。鍧�2'
+    );
+
+    damsToDelete.forEach(entity => {
+      viewer.entities.remove(entity);
+    });
+
+    if (damsToDelete.length > 0) {
+      console.log(`銆愬凡鍒犻櫎銆戝叡 ${damsToDelete.length} 涓爮妗e潩瀹炰綋`);
+    } else {
+      console.log("鏈壘鍒颁换浣曞彲鍒犻櫎鐨勬爮妗e潩瀹炰綋");
+    }
+  }, 5000);
+}
 </script>
 
 <style lang="less" scoped>
@@ -742,14 +708,17 @@
   margin-top: 0px;
   background-image: none;
 }
+
 /deep/ .el-input-group__append,
 .el-input-group__prepend {
   background-color: #084b42;
   color: #fff;
 }
+
 /deep/ .el-form-item__label {
   color: #61f7d4 !important;
 }
+
 /deep/ .el-upload-list__item-file-name {
   white-space: normal;
 }
diff --git a/src/views/left/KGSimOption/PredictiveSimulation.vue b/src/views/left/KGSimOption/PredictiveSimulation.vue
index ee52e3f..045f132 100644
--- a/src/views/left/KGSimOption/PredictiveSimulation.vue
+++ b/src/views/left/KGSimOption/PredictiveSimulation.vue
@@ -257,6 +257,8 @@
   try {
     forms.geom = props.selectedArea;
     await simStore.addSimCheme(forms);
+    // 鎵撳嵃鎷︽尅鍧濇墍闇�瑕佺殑鏁版嵁
+    // printDamEntities();
     resetForm();
     EventBus.emit("close-selectArea");
   } catch (err) {}
@@ -304,6 +306,52 @@
 const openPlan = () => {
   console.log("鎵撳紑鏂规鎸夐挳琚偣鍑�");
 };
+// ========================================鎷︽尅鍧�===============================================================
+// 鑾峰彇鎷︽尅鍧濇暟鎹�
+function printDamEntities() {
+  const entities = viewer.entities.values;
+  const damDataList = [];
+
+  for (let i = 0; i < entities.length; i++) {
+    const entity = entities[i];
+
+    if (entity.name && (entity.name === '鏍忔。鍧�1' || entity.name === '鏍忔。鍧�2')) {
+      damDataList.push({
+        name: entity.name,
+        position: entity.position?._value,
+        heading: entity.heading?._value ?? entity.heading,
+        pitch: entity.pitch?._value ?? entity.pitch,
+        roll: entity.roll?._value ?? entity.roll,
+        modelScale: entity.model?.scale?._value ?? entity.model?.scale
+      });
+    }
+  }
+  if (damDataList.length > 0) {
+    console.log("銆愭爮妗e潩瀹炰綋鏁版嵁鍒楄〃銆戯細", damDataList);
+    deleteDamEntitiesAfterDelay();
+  } else {
+    console.log("鏈壘鍒颁换浣曞悕涓� '鏍忔。鍧�1' 鎴� '鏍忔。鍧�2' 鐨勫疄浣�");
+  }
+}
+// 淇濆瓨鏂规鍚庡畾鏃舵竻闄ゆ柊寤虹殑鎷︽尅鍧濇暟鎹�
+function deleteDamEntitiesAfterDelay() {
+  setTimeout(() => {
+    const entities = Array.from(viewer.entities.values);
+    const damsToDelete = entities.filter(
+      entity => entity.name === '鏍忔。鍧�1' || entity.name === '鏍忔。鍧�2'
+    );
+
+    damsToDelete.forEach(entity => {
+      viewer.entities.remove(entity);
+    });
+
+    if (damsToDelete.length > 0) {
+      console.log(`銆愬凡鍒犻櫎銆戝叡 ${damsToDelete.length} 涓爮妗e潩瀹炰綋`);
+    } else {
+      console.log("鏈壘鍒颁换浣曞彲鍒犻櫎鐨勬爮妗e潩瀹炰綋");
+    }
+  }, 5000);
+}
 </script>
 
 <style lang="less" scoped>
diff --git a/src/views/left/KGSimOption/RealTimeSimulation.vue b/src/views/left/KGSimOption/RealTimeSimulation.vue
index 14c3105..288a377 100644
--- a/src/views/left/KGSimOption/RealTimeSimulation.vue
+++ b/src/views/left/KGSimOption/RealTimeSimulation.vue
@@ -210,6 +210,8 @@
     updateSelectedGauges();
     formData.geom = props.selectedArea;
     await simAPIStore.addSimCheme(formData);
+    // 鎵撳嵃鎷︽尅鍧濇墍闇�瑕佺殑鏁版嵁
+    // printDamEntities();
     resetForm();
     EventBus.emit("close-selectArea");
   } catch (err) {}
@@ -404,6 +406,52 @@
   EventBus.off("close-time");
   stopPolling();
 });
+// ========================================鎷︽尅鍧�===============================================================
+// 鑾峰彇鎷︽尅鍧濇暟鎹�
+function printDamEntities() {
+  const entities = viewer.entities.values;
+  const damDataList = [];
+
+  for (let i = 0; i < entities.length; i++) {
+    const entity = entities[i];
+
+    if (entity.name && (entity.name === '鏍忔。鍧�1' || entity.name === '鏍忔。鍧�2')) {
+      damDataList.push({
+        name: entity.name,
+        position: entity.position?._value,
+        heading: entity.heading?._value ?? entity.heading,
+        pitch: entity.pitch?._value ?? entity.pitch,
+        roll: entity.roll?._value ?? entity.roll,
+        modelScale: entity.model?.scale?._value ?? entity.model?.scale
+      });
+    }
+  }
+  if (damDataList.length > 0) {
+    console.log("銆愭爮妗e潩瀹炰綋鏁版嵁鍒楄〃銆戯細", damDataList);
+    deleteDamEntitiesAfterDelay();
+  } else {
+    console.log("鏈壘鍒颁换浣曞悕涓� '鏍忔。鍧�1' 鎴� '鏍忔。鍧�2' 鐨勫疄浣�");
+  }
+}
+// 淇濆瓨鏂规鍚庡畾鏃舵竻闄ゆ柊寤虹殑鎷︽尅鍧濇暟鎹�
+function deleteDamEntitiesAfterDelay() {
+  setTimeout(() => {
+    const entities = Array.from(viewer.entities.values);
+    const damsToDelete = entities.filter(
+      entity => entity.name === '鏍忔。鍧�1' || entity.name === '鏍忔。鍧�2'
+    );
+
+    damsToDelete.forEach(entity => {
+      viewer.entities.remove(entity);
+    });
+
+    if (damsToDelete.length > 0) {
+      console.log(`銆愬凡鍒犻櫎銆戝叡 ${damsToDelete.length} 涓爮妗e潩瀹炰綋`);
+    } else {
+      console.log("鏈壘鍒颁换浣曞彲鍒犻櫎鐨勬爮妗e潩瀹炰綋");
+    }
+  }, 5000);
+}
 </script>
 
 <style scoped>
diff --git a/src/views/left/Left.vue b/src/views/left/Left.vue
index d4d97dd..32caa10 100644
--- a/src/views/left/Left.vue
+++ b/src/views/left/Left.vue
@@ -4,31 +4,17 @@
       <span>浠跨湡鎺ㄦ紨鏂规</span>
     </div>
     <div class="left-content">
-      <div
-        style="
+      <div style="
           display: flex;
           justify-content: space-evenly;
           padding: 8px 8px 8px 0px;
-        "
-        v-if="btnShow"
-      >
-        <el-button style="width: 45%" @click="handleClick"
-          >鏂板缓浠跨湡鏂规</el-button
-        >
-        <el-button style="width: 45%" @click="deleteSelectedScheme"
-          >鍒犻櫎浠跨湡鏂规</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" @closeBtn="handleBackFromParent" /> -->
-      <schemeCard
-        ref="schemeCardRef"
-        @start="start"
-        @end="end"
-        @reset="reset"
-        :deleteSim="deleteSim"
-        :showAddIns="showAddIns"
-        @closeBtn="handleBackFromParent"
-      />
+      <schemeCard ref="schemeCardRef" @start="start" @end="end" @reset="reset" :deleteSim="deleteSim"
+        :showAddIns="showAddIns" @closeBtn="handleBackFromParent" />
     </div>
   </div>
   <div class="left" v-show="showAddIns">
@@ -293,10 +279,11 @@
 const showAddIns = ref(false);
 const btnShow = ref(true);
 let divPointList = [];
+
 function handleClick() {
-  // currentMock.value = mock.name;
   showAddIns.value = true;
 }
+
 function handleBack(value) {
   showAddIns.value = false; // 闅愯棌瀛愮粍浠�
 }

--
Gitblit v1.9.3