maxiaoxiao 11 ヶ月 前
コミット
31551bec76

+ 2 - 0
src/components/Combinations/LayerManage/LayerManage.vue

@@ -218,6 +218,8 @@ export default {
               dataSetName: "属性表",
               keyWord: "SmID",
             });
+          } else if (obj.title == "分层分户_白膜") {
+            store.setLayerList(layers[0][0]);
           }
           store.state.S3MList.push(layers[0]);
           store.state.tempLatData = layers[0];

+ 19 - 15
src/components/Query/clickQuery/clickQuery.vue

@@ -82,7 +82,7 @@
 import axios from "axios";
 import { GetGDlnfo, GetXzqhTree, GetHouseInfo } from "../../../api/map";
 import { keys } from "lodash";
-import { handlerModel, clearTranslate, keyName } from "./modelLayering";
+import { handModel, handnew, clearTranslate, keyName } from "./modelLayering";
 let gwtype;
 export default {
   name: "clickQuery",
@@ -317,23 +317,23 @@ export default {
       that.dataSourceLayer.entities.removeAll();
       //拾取模型
       let pickedFeature = scene.pick(movement.position);
-      console.log("ighui",pickedFeature);
-      let eneityName = pickedFeature.primitive.name
-      let Pid =''
+      console.log("ighui", pickedFeature);
+      let eneityName = pickedFeature.primitive.name;
+      let Pid = "";
       // "ResultNetWork@管线#1"///"ResultNetWork_Node@管线#1"
-      if (eneityName.indexOf('管线') > 0) {
+      if (eneityName.indexOf("管线") > 0) {
         let buildingLayer = scene.layers.find(eneityName);
         buildingLayer.indexedDBSetting.isAttributesSave = true; //保存属性
         if (buildingLayer.getSelection().length > 0) {
           const selectedId = Number(buildingLayer.getSelection()[0]);
-          console.log(selectedId,'selectedId');
+          console.log(selectedId, "selectedId");
           buildingLayer.getAttributesById([selectedId]).then(function (atts) {
             if (atts) {
               console.log(atts);
               // var Pid = atts['管线段']
               console.log(atts["管线段"]);
               console.log(atts["物探点"]);
-              Pid = atts["管线段"] || atts["物探点"]
+              Pid = atts["管线段"] || atts["物探点"];
               // viewer.entities.removeAll();
 
               // var length = Object.keys(atts).length;
@@ -357,15 +357,13 @@ export default {
           });
         }
       }
-     
+
       if (
         scene.pickPositionSupported &&
         Cesium.defined(pickedFeature) &&
         pickedFeature != null &&
         pickedFeature.primitive
       ) {
-
-
         //解构赋值点击对象的id
         // let Pid = pickedFeature.getProperty("id");
         let commaIndex = pickedFeature.primitive.url.indexOf("=");
@@ -559,9 +557,9 @@ export default {
         }
       }
     },
-    addLayerList() {
+    addLayerList(label) {
       let layers = store.state.vectorlayerlist.filter(
-        (element) => element.label === "分层分户"
+        (element) => element.label === label
       );
       if (layers.length > 0) {
         this.activeLayerId = layers[0].id;
@@ -574,15 +572,21 @@ export default {
     mapModelQuery(movement) {
       this.viewer.entities.removeAll();
       this.dataSourceLayer.entities.removeAll();
-      let id = handlerModel(movement);
-      console.log(id, "id");
+      let title;
+      if (store.state.checkedData) title = store.state.checkedData.title;
+      //  超图分层分户
+      if (title == "分层分户") {
+        let id = handModel(movement);
+      } else {
+        handnew(movement);
+      }
       let newArr = [];
       GetHouseInfo({ id: "2c01647f-4533-4472-b20b-f5caa4c705b0" }).then(
         (res) => {
           for (const [key, value] of Object.entries(res.data)) {
             newArr.push({ name: keyName[key], value: value });
           }
-          this.addLayerList();
+          this.addLayerList(title);
           this.queryResults[this.activeLayerId] = [newArr];
           this.queryResultsGeom[this.activeLayerId] = [];
         }

+ 20 - 16
src/components/Query/clickQuery/modelLayering.js

@@ -38,31 +38,35 @@ function getBuildingId(response) { //得到户型id
     }
 }
 
-export function handlerModel(e) {
+export function handModel(e) {
     idList = [];
-    let normal = scene.pickNormal(e.position);
     var position = scene.pickPosition(e.position);
     if (!position) {
         position = Cesium.Cartesian3.fromDegrees(0, 0, 0);
     }
     viewer.pickEvent.addEventListener(function (feature) {
         getFeatureBySQL(feature.BG);
-        // getBuildingIdList(feature.BG);
-        if (idList.length > 0) {
-            Array.prototype.push.apply(totalList, idList);
-            var offsetNormal = Cesium.Cartesian3.multiplyByScalar(normal, Number(20), scratchNromal); //可以更改偏移默认值
-            console.log(idList, 'idList')
-            store.state.chooseLayer.setObjsTranslate(idList, offsetNormal);
-        }
-        return '2c01647f-4533-4472-b20b-f5caa4c705b0'
+        Translate(idList, e);
     });
 }
-function getBuildingIdList(bg) { //得到户型id
-    // var tt = bg.split("F");//'tt[0]
-    GetFloorIds({ id: '2c01647f-4533-4472-b20b-f5caa4c705b0' }).then((res) => {
-        idList = res.data
-        console.log('idList1', idList)
-    });
+export function handnew(e) { //得到户型id
+    //拾取模型
+    let pickedFeature = scene.pick(e.position);
+    let id = pickedFeature.id;
+    Translate([id], e)
+    // GetFloorIds({ id }).then((res) => {
+    //     console.log('idList', res.data)
+    //     Translate(res.data, e)
+    // });
+}
+//抽出
+function Translate(idList, e) {
+    if (idList.length > 0) {
+        let normal = scene.pickNormal(e.position);
+        Array.prototype.push.apply(totalList, idList);
+        var offsetNormal = Cesium.Cartesian3.multiplyByScalar(normal, Number(20), scratchNromal); //可以更改偏移默认值
+        store.state.chooseLayer.setObjsTranslate(idList, offsetNormal);
+    }
 }
 
 //清除偏移