| | |
| | | <div class="tools-title" @click="toggleCollapse"> |
| | | å·¥å
·æ |
| | | <div class="popup-menu" v-if="isPopupVisible"> |
| | | <div |
| | | class="popup-item" |
| | | v-for="(option, idx) in currentToolOptions" |
| | | :key="idx" |
| | | @click="handleOptionClick(option)" |
| | | > |
| | | <img |
| | | class="popup-icon" |
| | | :src=" |
| | | require(`../../assets/img/tools/tools_second/${option.icon}.png`) |
| | | " |
| | | :alt="option.name" |
| | | /> |
| | | <div class="popup-item" v-for="(option, idx) in currentToolOptions" :key="idx" |
| | | @click="handleOptionClick(option)"> |
| | | <img class="popup-icon" :src="require(`../../assets/img/tools/tools_second/${option.icon}.png`) |
| | | " :alt="option.name" /> |
| | | {{ option.name }} |
| | | </div> |
| | | </div> |
| | | <LayerTree class="popup-menu" v-show="showLayerTree" /> |
| | | <!-- å¯è§ååæ --> |
| | | <seeAnalyze |
| | | :option="option" |
| | | v-show="seeAnalyzeShow" |
| | | @update:showConeLine="handleUpdateShowConeLine" |
| | | @update-option="onUpdateOption" |
| | | @draw="onDraw" |
| | | @clear="onClear" |
| | | class="popup-menu-see" |
| | | /> |
| | | <seeAnalyze :option="option" v-show="seeAnalyzeShow" @update:showConeLine="handleUpdateShowConeLine" |
| | | @update-option="onUpdateOption" @draw="onDraw" @clear="onClear" class="popup-menu-see" /> |
| | | <!-- å颿å --> |
| | | <TopographyDia |
| | | @draw="handleDraw" |
| | | @clear="handleClear" |
| | | class="popup-menu-see" |
| | | v-show="topographyShow" |
| | | /> |
| | | <TopographyDia @draw="handleDraw" @clear="handleClear" class="popup-menu-see" v-show="topographyShow" /> |
| | | <!-- å颿åçecharts --> |
| | | <div v-show="echartsShow" id="sectionCharts" class="sectionChars"> |
| | | <div id="echartsView1" style="width: 100%; height: 100%"></div> |
| | | </div> |
| | | <!-- å¡ååæ --> |
| | | <Aspect |
| | | v-show="showAspect" |
| | | @draw="SlopeArrow" |
| | | @clear="SlopeArrowClose" |
| | | class="popup-menu-see" |
| | | /> |
| | | <SlopeAnalysis |
| | | v-show="showSlope" |
| | | class="popup-menu-see" |
| | | @update-slope="onUpdateSlope" |
| | | /> |
| | | <Aspect v-show="showAspect" @draw="SlopeArrow" @clear="SlopeArrowClose" class="popup-menu-see" /> |
| | | <SlopeAnalysis v-show="showSlope" class="popup-menu-see" @update-slope="onUpdateSlope" /> |
| | | <!-- é¨ --> |
| | | <Rain |
| | | v-show="showRain" |
| | | class="popup-menu-see" |
| | | @update-rain="onUpdateRain" |
| | | /> |
| | | <Rain v-show="showRain" class="popup-menu-see" @update-rain="onUpdateRain" /> |
| | | <Snow v-show="showSnow" class="popup-menu-see" @update-snow="onUpdateSnow" /> |
| | | </div> |
| | | |
| | | <!-- å·¥å
·æ å
容 --> |
| | | <transition name="fade"> |
| | | <div v-if="!isCollapsed" class="tools-content"> |
| | | <div |
| | | class="tools-item" |
| | | v-for="(item, index) in toolList" |
| | | :key="index" |
| | | @click.stop="handleClick(item)" |
| | | > |
| | | <img |
| | | class="icon" |
| | | :src="require(`../../assets/img/tools/${item.icon}.png`)" |
| | | :title="item.name" |
| | | alt="" |
| | | /> |
| | | <div class="tools-item" v-for="(item, index) in toolList" :key="index" @click.stop="handleClick(item)"> |
| | | <img class="icon" :src="require(`../../assets/img/tools/${item.icon}.png`)" :title="item.name" alt="" /> |
| | | </div> |
| | | </div> |
| | | </transition> |
| | |
| | | import SlopeAnalysis from "@/components/tools/SlopeAnalysis.vue"; |
| | | import mapUtils from "@/utils/tools.js"; |
| | | import Rain from "@/components/tools/Rain.vue"; |
| | | import Snow from "@/components/tools/Snow.vue"; |
| | | |
| | | // 忢å±å¼/æ¶ç¼©ç¶æ |
| | | function toggleCollapse() { |
| | |
| | | const isFlood = ref(false); |
| | | const isContourLabel = ref(false); |
| | | const showRain = ref(false); |
| | | const isSnow = ref(false); |
| | | const showSnow = ref(false); |
| | | |
| | | // åé¢åæå¼¹çª |
| | | const topographyShow = ref(false); |
| | |
| | | options: [ |
| | | { name: "é¨å¤©æ¨¡å¼", icon: "é¨å¤©æ¨¡å¼" }, |
| | | { name: "éªå¤©æ¨¡å¼", icon: "éªå¤©æ¨¡å¼" }, |
| | | { name: "æ¸
é¤å¤©æ°", icon: "æ¸
é¤åæ" }, |
| | | ], |
| | | }, |
| | | ]); |
| | |
| | | showAspect.value = false; //å¡åç®å¤´ |
| | | showSlope.value = false; //å¡åç®å¤´ |
| | | showRain.value = false; //é¨å¤© |
| | | showSnow.value = false; //é¨å¤© |
| | | return; |
| | | } |
| | | |
| | |
| | | showAspect.value = false; //å¡åç®å¤´ |
| | | showSlope.value = false; //å¡åç®å¤´ |
| | | showRain.value = false; //é¨å¤© |
| | | showSnow.value = false; //é¨å¤© |
| | | } |
| | | |
| | | // å¤çå¼¹çªé项ç¹å»äºä»¶ |
| | |
| | | éèå¾å±: () => (showLayerTree.value = false), |
| | | é¨å¤©æ¨¡å¼: () => { |
| | | showRain.value = true; |
| | | onUpdateRain() |
| | | }, |
| | | éªå¤©æ¨¡å¼: () => { |
| | | isSnow.value = !isSnow.value; |
| | | if (isSnow.value === false) { |
| | | mapUtils.toggleSnow("snow", false); |
| | | showSnow.value = true |
| | | onUpdateSnow() |
| | | }, |
| | | æ¸
é¤å¤©æ°: () => { |
| | | if (1) { |
| | | showRain.value = false; |
| | | showSnow.value = false; |
| | | mapUtils.delRain(); // å
³é鍿æ |
| | | mapUtils.delSnow(); // å
³ééªææ |
| | | console.log("å¤©æ°ææå·²æ¸
é¤"); |
| | | } else { |
| | | mapUtils.toggleSnow("snow", true); |
| | | console.log("没ææå¼çå¤©æ°ææ"); |
| | | } |
| | | }, |
| | | |
| | | æåæ ç»: () => mapUtils.CreateLabel("label", true), |
| | | 夿®µçº¿æ ç»: () => mapUtils.CreateLabel("polyline", true), |
| | | å¤è¾¹å½¢æ ç»: () => mapUtils.CreateLabel("polygon", true), |
| | |
| | | Object.assign(rainForm, newOption); |
| | | mapUtils.toggleRain(rainForm, true); |
| | | }; |
| | | // éª |
| | | const snowForm = reactive({ |
| | | snowSize: 0.02, // é»è®¤éªçå¤§å° |
| | | snowSpeed: 100, // é»è®¤éªçé度 |
| | | snowColor: "#FFFFFF", // é»è®¤éªçé¢è² |
| | | }); |
| | | |
| | | const onUpdateSnow = (newOption) => { |
| | | console.log(newOption, "new"); |
| | | Object.assign(snowForm, newOption); |
| | | mapUtils.toggleSnow(snowForm, true); |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | |
| | | right: 60px; |
| | | top: -20px; |
| | | } |
| | | |
| | | .sectionChars { |
| | | position: absolute; |
| | | top: auto; |