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