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