guonan
2025-04-17 2eeaa4693e7389df008b6763074c48e9ffa367ca
src/components/tools/Tools.vue
@@ -54,6 +54,12 @@
        class="popup-menu-see"
        @update-slope="onUpdateSlope"
      />
      <!-- 雨 -->
      <Rain
        v-show="showRain"
        class="popup-menu-see"
        @update-rain="onUpdateRain"
      />
    </div>
    <!-- 工具栏内容 -->
@@ -85,12 +91,12 @@
import Aspect from "@/components/tools/Aspect.vue";
import SlopeAnalysis from "@/components/tools/SlopeAnalysis.vue";
import mapUtils from "@/utils/tools.js";
import Rain from "@/components/tools/Rain.vue";
// 切换展开/收缩状态
function toggleCollapse() {
  // isCollapsed.value = !isCollapsed.value;
}
const showLayerTree = ref(false);
@@ -101,7 +107,7 @@
const isflfx = ref(false);
const isFlood = ref(false);
const isContourLabel = ref(false);
const isRain = ref(false);
const showRain = ref(false);
const isSnow = ref(false);
// 剖面分析弹窗
@@ -197,6 +203,7 @@
    echartsShow.value = false; //剖面echarts
    showAspect.value = false; //坡向箭头
    showSlope.value = false; //坡向箭头
    showRain.value = false; //雨天
    return;
  }
@@ -209,6 +216,7 @@
  echartsShow.value = false; //剖面echarts
  showAspect.value = false; //坡向箭头
  showSlope.value = false; //坡向箭头
  showRain.value = false; //雨天
}
// 处理弹窗选项点击事件
@@ -219,12 +227,7 @@
    显示图层: () => (showLayerTree.value = true),
    隐藏图层: () => (showLayerTree.value = false),
    雨天模式: () => {
      isRain.value = !isRain.value;
      if (isRain.value === false) {
        mapUtils.toggleRain("rain", false);
      } else {
        mapUtils.toggleRain("rain", true);
      }
      showRain.value = true;
    },
    雪天模式: () => {
      isSnow.value = !isSnow.value;
@@ -402,6 +405,18 @@
  Object.assign(formData, newOption);
  mapUtils.pdfx(formData);
};
// 雨
const rainForm = reactive({
  rainSize: 0.5,
  rainSpeed: 50,
  rainColor: "#99B3CC",
});
const onUpdateRain = (newOption) => {
  console.log(newOption, "new");
  Object.assign(rainForm, newOption);
  mapUtils.toggleRain(rainForm, true);
};
</script>
<style lang="less" scoped>