From 2b4ddd668550749813c4e02b5d5100842763e23b Mon Sep 17 00:00:00 2001
From: guonan <guonan201020@163.com>
Date: 星期四, 17 四月 2025 17:41:35 +0800
Subject: [PATCH] 划区域坡度分析

---
 src/components/tools/Tools.vue |   51 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 44 insertions(+), 7 deletions(-)

diff --git a/src/components/tools/Tools.vue b/src/components/tools/Tools.vue
index 53139b3..56ab6ec 100644
--- a/src/components/tools/Tools.vue
+++ b/src/components/tools/Tools.vue
@@ -50,6 +50,7 @@
         class="popup-menu-see"
       />
       <SlopeAnalysis
+        @draw="SlopeAnalysiss"
         v-show="showSlope"
         class="popup-menu-see"
         @update-slope="onUpdateSlope"
@@ -59,6 +60,11 @@
         v-show="showRain"
         class="popup-menu-see"
         @update-rain="onUpdateRain"
+      />
+      <Snow
+        v-show="showSnow"
+        class="popup-menu-see"
+        @update-snow="onUpdateSnow"
       />
     </div>
 
@@ -92,6 +98,7 @@
 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() {
@@ -108,7 +115,7 @@
 const isFlood = ref(false);
 const isContourLabel = ref(false);
 const showRain = ref(false);
-const isSnow = ref(false);
+const showSnow = ref(false);
 
 // 鍓栭潰鍒嗘瀽寮圭獥
 const topographyShow = ref(false);
@@ -187,6 +194,7 @@
     options: [
       { name: "闆ㄥぉ妯″紡", icon: "闆ㄥぉ妯″紡" },
       { name: "闆ぉ妯″紡", icon: "闆ぉ妯″紡" },
+      { name: "娓呴櫎澶╂皵", icon: "娓呴櫎鍒嗘瀽" },
     ],
   },
 ]);
@@ -204,6 +212,7 @@
     showAspect.value = false; //鍧″悜绠ご
     showSlope.value = false; //鍧″悜绠ご
     showRain.value = false; //闆ㄥぉ
+    showSnow.value = false; //闆ㄥぉ
     return;
   }
 
@@ -217,6 +226,7 @@
   showAspect.value = false; //鍧″悜绠ご
   showSlope.value = false; //鍧″悜绠ご
   showRain.value = false; //闆ㄥぉ
+  showSnow.value = false; //闆ㄥぉ
 }
 
 // 澶勭悊寮圭獥閫夐」鐐瑰嚮浜嬩欢
@@ -228,15 +238,24 @@
     闅愯棌鍥惧眰: () => (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),
@@ -388,17 +407,22 @@
 };
 // 鍏抽棴鍧″悜绠ご
 const SlopeArrowClose = () => {
-  mapUtils.gbpxjt();
+  mapUtils.cleanupAnalysisTools();
 };
 
 // 鍧″害鍒嗘瀽
 const formData = reactive({
   terrainRender: 0,
   contourLines: false,
-  color: "",
+  color: "red",
   spacing: 50,
   lineWidth: 5,
 });
+
+const SlopeAnalysiss = () => {
+  mapUtils.pdfx(formData);
+};
+
 
 // 鍧″害
 const onUpdateSlope = (newOption) => {
@@ -416,6 +440,18 @@
   console.log(newOption, "new");
   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>
 
@@ -509,6 +545,7 @@
   right: 60px;
   top: -20px;
 }
+
 .sectionChars {
   position: absolute;
   top: auto;

--
Gitblit v1.9.3