From 63e2b53fd06a00e8a6ffbd132bb305470325a900 Mon Sep 17 00:00:00 2001
From: lixuliang <lixuliang_hd@126.com>
Date: 星期日, 04 二月 2024 16:25:30 +0800
Subject: [PATCH] 免费住所

---
 src/components/menu/tools/special.vue |   95 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 87 insertions(+), 8 deletions(-)

diff --git a/src/components/menu/tools/special.vue b/src/components/menu/tools/special.vue
index e9ef033..520ec4c 100644
--- a/src/components/menu/tools/special.vue
+++ b/src/components/menu/tools/special.vue
@@ -243,6 +243,7 @@
 import { roman } from "../../../assets/json/index.js";
 import URLInCode from "@/assets/js/urlInCode";
 import keyName from "@/utils/poiKeys";
+import LayerField from "@/utils/NameConf";
 let handler;
 let tooltipHTML;
 window.divPoint1 = null;
@@ -577,13 +578,11 @@
     },
     setCesuimHandle() {
       var that = this;
-
       Bus.$on("clearSelectObject", this.clearSelectObject);
       handler && handler.destroy();
       handler = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas);
       handler.setInputAction((event) => {
         let nPickFeature = sgworld.Viewer.scene.pick(event.position);
-
         if (Cesium.defined(nPickFeature)) {
           this.resetImg();
           if (buildingPolygon) {
@@ -599,9 +598,9 @@
             // console.log(nPickFeature);
             imgUrl = nPickFeature.primitive.image;
             scale = nPickFeature.primitive.scale;
-            nPickFeature.primitive.scale = 1;
             nPickFeature.primitive.image =
               window.SmartEarthRootUrl + "Workers/image/point.png";
+            nPickFeature.primitive.scale = 1;
             //鐐瑰嚮寮规
             let obj = {};
             let lon;
@@ -640,15 +639,46 @@
             }
             if (!isCamera) {
               tooltipHTML = "";
+              //閲嶇疆LayerField鏁版嵁
+              for (let item in LayerField) {
+                LayerField[item] = 0;
+              }
               // 鍒犻櫎瀛楁
               let { OBJECTID, ID, BZDZ, Latitude, Longtitude, ...userData } =
                 obj;
-              for (let i in userData) {
-                let value = userData[i];
-                let name = keyName[i] || i;
-                value && (tooltipHTML += `<p>${name}锛�${value || "鏃�"}</p>`);
-                console.log(tooltipHTML);
+
+              // 鍒ゆ柇灞曠ず鐨勭被鍨�
+              if (
+                userData.hasOwnProperty("閮ㄤ欢鍚嶇О") ||
+                userData.hasOwnProperty("浜曠紪鍙�")
+              ) {
+                //淇敼LayerField鏁版嵁
+                for (let itemName in userData) {
+                  let CnName = keyName[itemName] || itemName;
+                  if (LayerField.hasOwnProperty(CnName)) {
+                    LayerField[CnName] = userData[itemName];
+                    if (CnName == "缁忓害" || CnName == "绾害") {
+                      let str = Number(LayerField[CnName]);
+                      LayerField[CnName] = str.toFixed(6);
+                    }
+                  }
+                }
+                // 灞曠ずLayerField鏁版嵁
+                for (let item in LayerField) {
+                  let value = LayerField[item];
+                  value && (tooltipHTML += `<p>${item}锛�${value || "鏃�"}</p>`);
+                }
+              } else {
+                // 鐩存帴灞曠ず
+                for (let itemName in userData) {
+                  let value = userData[itemName];
+                  let CnName = keyName[itemName] || itemName;
+                  value &&
+                    (tooltipHTML += `<p>${CnName}锛�${value || "鏃�"}</p>`);
+                  console.log(tooltipHTML);
+                }
               }
+
               let description = `
                    <div id="pointInfoBox" class="pointInfoBox" style="pointer-events:auto;">
                     <span style="position: absolute; right: 12px; top: 6px;">脳</span>
@@ -758,6 +788,55 @@
                   );
                 }
               });
+          } else if (
+            nPickFeature.id.fid &&
+            nPickFeature.id.fid.includes("鍏嶈垂浣忔墍绌洪棿0131")
+          ) {
+            let obj = nPickFeature.id.attributes;
+            let lon = 116.50592;
+            let lat = 39.798999;
+            if (divPoint1) {
+              divPoint1.deleteObject();
+            }
+            tooltipHTML = "";
+            //閲嶇疆LayerField鏁版嵁
+            for (let item in LayerField) {
+              LayerField[item] = 0;
+            }
+            // 鍒犻櫎瀛楁
+            let { Id, ...userData } = obj;
+            // 鐩存帴灞曠ず
+            for (let itemName in userData) {
+              let value = userData[itemName];
+              let CnName = keyName[itemName] || itemName;
+              value && (tooltipHTML += `<p>${CnName}锛�${value || "鏃�"}</p>`);
+            }
+            let description = `
+                   <div id="pointInfoBox" class="pointInfoBox" style="pointer-events:auto;">
+                    <span style="position: absolute; right: 12px; top: 6px;">脳</span>
+                    ${tooltipHTML}
+                  </div>
+                `;
+            divPoint1 = sgworld.Creator.createDivPoint(
+              "璇︾粏淇℃伅",
+              {
+                lon: lon,
+                lat: lat,
+                height: 50,
+              },
+              {
+                type: "custom",
+                offset: ["c", 50],
+                description,
+                onclick(data) {
+                  divPoint1 && divPoint1.deleteObject();
+                },
+              }
+            );
+            //鍏抽棴鍦板潡淇℃伅寮圭獥
+            Bus.$emit("closeLandInfoPop", true);
+            layuiLayer.close(SmartEarthPopupData.layerProp);
+            this.$store.commit("description", obj);
           }
           // else if (nPickFeature.primitive instanceof Cesium.GroundPrimitive) {
           //   let wmsLayer = this.$store.state.selectedLayers.filter((item) => {

--
Gitblit v1.9.3