Browse Source

Merge branch 'master' of http://114.244.114.158:8802/siwei/real3d-portalsite

maxiaoxiao 9 months ago
parent
commit
744e50ae06

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

@@ -249,7 +249,6 @@ export default {
               item.name.indexOf("管线") > -1
               item.name.indexOf("管线") > -1
             ) {
             ) {
               item._baseUri.query = obj.id;
               item._baseUri.query = obj.id;
-              item.indexedDBSetting.isAttributesSave = true; //保存属性
             }
             }
           });
           });
           // store.state.tempLatData = layers[0];
           // store.state.tempLatData = layers[0];

+ 79 - 94
src/components/Query/clickQuery/clickQuery.vue

@@ -1,28 +1,14 @@
 <template>
 <template>
-  <div
+  <div class="sm-panel sm-function-module-query" v-show="PoinyQueryShow && vectorShow" v-drag>
-    class="sm-panel sm-function-module-query"
-    v-show="PoinyQueryShow && vectorShow"
-    v-drag
-  >
     <div class="sm-panel-header">
     <div class="sm-panel-header">
       <span>{{ Resource.PoinyQuery }}</span>
       <span>{{ Resource.PoinyQuery }}</span>
       <span class="closeBtn" @click="toggleVisibility">&times;</span>
       <span class="closeBtn" @click="toggleVisibility">&times;</span>
     </div>
     </div>
     <!-- <div class="sm-function-module-content-btn"> -->
     <!-- <div class="sm-function-module-content-btn"> -->
     <div class="btnList">
     <div class="btnList">
-      <span
+      <span v-for="(item, index) in actionOptions" :key="index" class="icon-span" :title="item.lable"
-        v-for="(item, index) in actionOptions"
+        :class="item.isSelect ? 'selected-icon' : ''" @click="changleQueryItem(item)">
-        :key="index"
+        <i class="iconfont iconSize" :class="item.iconName" style="margin-top: 0px"></i>
-        class="icon-span"
-        :title="item.lable"
-        :class="item.isSelect ? 'selected-icon' : ''"
-        @click="changleQueryItem(item)"
-      >
-        <i
-          class="iconfont iconSize"
-          :class="item.iconName"
-          style="margin-top: 0px"
-        ></i>
       </span>
       </span>
       <!-- <el-button type="primary" size="small" @click.stop="mapLayerQuery"
       <!-- <el-button type="primary" size="small" @click.stop="mapLayerQuery"
         >点击</el-button
         >点击</el-button
@@ -33,51 +19,28 @@
     </div>
     </div>
     <div class="sm-function-module-content-tabs">
     <div class="sm-function-module-content-tabs">
       <el-tabs @tab-click="handleTabClick" v-model="activeLayerId">
       <el-tabs @tab-click="handleTabClick" v-model="activeLayerId">
-        <el-tab-pane
+        <el-tab-pane :label="item.label" :name="item.id" v-for="(item, index) in layerList" :key="index"></el-tab-pane>
-          :label="item.label"
-          :name="item.id"
-          v-for="(item, index) in layerList"
-          :key="index"
-        ></el-tab-pane>
       </el-tabs>
       </el-tabs>
     </div>
     </div>
     <div class="sm-function-module-content-table">
     <div class="sm-function-module-content-table">
-      <el-collapse
+      <el-collapse :value="activeNames" @change="handleCollapseChange" v-if="
-        :value="activeNames"
+        activeLayerId &&
-        @change="handleCollapseChange"
+        queryResults[activeLayerId] &&
-        v-if="
+        queryResults[activeLayerId].length > 0
-          activeLayerId &&
+      ">
-          queryResults[activeLayerId] &&
+        <el-collapse-item :title="'查询结果' + (index + 1)" :name="'查询结果' + (index + 1)"
-          queryResults[activeLayerId].length > 0
+          v-for="(item, index) in queryResults[activeLayerId]" :key="index">
-        "
-      >
-        <el-collapse-item
-          :title="'查询结果' + (index + 1)"
-          :name="'查询结果' + (index + 1)"
-          v-for="(item, index) in queryResults[activeLayerId]"
-          :key="index"
-        >
           <template slot="title">
           <template slot="title">
             查询结果{{ index + 1
             查询结果{{ index + 1
-            }}<i
+            }}<i title="定位" class="header-icon el-icon-s-promotion flyBtn2" @click.stop="flyTo(index)"></i>
-              title="定位"
-              class="header-icon el-icon-s-promotion flyBtn2"
-              @click.stop="flyTo(index)"
-            ></i>
           </template>
           </template>
-          <el-table
+          <el-table :data="item" :show-header="false" border style="width: 100%" :header-cell-style="{
-            :data="item"
+            background: 'rgba(10, 25, 38, 0.6)',
-            :show-header="false"
+            color: '#66b1ff',
-            border
+            fontSize: '14px',
-            style="width: 100%"
+            fontFamily: 'Microsoft YaHei',
-            :header-cell-style="{
+            fontWeight: '400',
-              background: 'rgba(10, 25, 38, 0.6)',
+          }">
-              color: '#66b1ff',
-              fontSize: '14px',
-              fontFamily: 'Microsoft YaHei',
-              fontWeight: '400',
-            }"
-          >
             <el-table-column prop="name" label="字段" width="100">
             <el-table-column prop="name" label="字段" width="100">
             </el-table-column>
             </el-table-column>
             <el-table-column prop="value" label="值" width="208">
             <el-table-column prop="value" label="值" width="208">
@@ -106,7 +69,7 @@ import * as turf from "@turf/turf";
 let gwtype;
 let gwtype;
 let query_click = null;
 let query_click = null;
 let manager_layer_png = null;
 let manager_layer_png = null;
-let dataSourceLayer =null
+let dataSourceLayer = null;
 export default {
 export default {
   name: "clickQuery",
   name: "clickQuery",
   components: { CockpitVector, MultiLevelQuery },
   components: { CockpitVector, MultiLevelQuery },
@@ -182,7 +145,7 @@ export default {
         : true;
         : true;
     },
     },
   },
   },
-  created() {},
+  created() { },
   watch: {
   watch: {
     activeLayerId(val) {
     activeLayerId(val) {
       if (val && val != "0") {
       if (val && val != "0") {
@@ -238,7 +201,7 @@ export default {
     },
     },
     toggleVisibility() {
     toggleVisibility() {
       this.removeMapLayerQuery();
       this.removeMapLayerQuery();
-      this.remove_query_click()
+      this.remove_query_click();
       store.setToolBarAction(9);
       store.setToolBarAction(9);
       tdsy.remove(false);
       tdsy.remove(false);
       store.state.vectorData = [];
       store.state.vectorData = [];
@@ -378,43 +341,65 @@ export default {
           eneityName.indexOf("雨水") > -1 ||
           eneityName.indexOf("雨水") > -1 ||
           eneityName.indexOf("管线") > -1
           eneityName.indexOf("管线") > -1
         ) {
         ) {
-          let buildingLayer = scene.layers.find(eneityName);
+          for (let i = 0; i < store.state.vectorlayerlist.length; i++) {
-          if (buildingLayer.getSelection().length > 0) {
+            let obj = store.state.vectorlayerlist[i];
-            const selectedId = Number(buildingLayer.getSelection()[0]);
+            console.log(obj.url);
-            buildingLayer.getAttributesById([selectedId]).then(function (atts) {
+            let str1 = eneityName.match(/@(\S*)#/)[1];
-              if (atts) {
+            let str2 = eneityName.match(/(\S*)@/)[1];
-                Pid = atts["管线段"] || atts["物探点"];
+            let str3 = str1 + ":" + str2;
-                var length = Object.keys(atts).length;
+            let url1 = obj.url.replace("3D-", "data-");
-                var des;
+            let url2 = url1.replace(
-                for (var i = 0; i < length; i++) {
+              "realspace",
-                  var key = Object.keys(atts)[i];
+              "data/featureResults.rjson?returnContent=true"
-                  var value = atts[key];
+            );
-                  // console.log(key);
+            let queryByIDParameters = {
-                  // console.log(value);
+              getFeatureMode: "ID",
-                  if (
+              datasetNames: [str3],
-                    key.toLowerCase().indexOf("shape") < 0 &&
+              ids: [pickedFeature.id],
-                    key.toLowerCase().indexOf("sm") &&
+            };
-                    value != ""
+            let e = await this.mapQuery(url2, queryByIDParameters);
-                  ) {
+            if (e && e.totalCount > 0) {
-                    tempArr.push({
+              that.layerList.push(store.state.vectorlayerlist[i]);
-                      name: key,
+              for (let u = 0; u < e.features.length; u++) {
-                      value: value,
+                let cur = [];
-                    });
+                var linSAr = JSON.parse(JSON.stringify(e.features[u]));
+                if (e.features[u].fieldNames) {
+                  linSAr.fieldNames.forEach((fieldName, i) => {
+                    let v = linSAr.fieldValues[i];
+                    if (v != "" && !isNaN(parseFloat(v))) {
+                      v = Math.round(parseFloat(v) * 100) / 100;
+                    }
+
+                    // cur.push({ name: fieldName, value: v });
+                    if (
+                      fieldName.toLowerCase().indexOf("shape") < 0 &&
+                      fieldName.toLowerCase().indexOf("sm") &&
+                      v != ""
+                    ) {
+                      cur.push({ name: fieldName, value: v });
+                    }
+                  });
+
+                  //获取图层id的参数
+                  let substring = pickedFeature.primitive._baseUri.query;
+                  for (let p = 0; p < store.state.vectorlayerlist.length; i++) {
+                    if (store.state.vectorlayerlist[p].id == substring) {
+                      that.layerList.push(store.state.vectorlayerlist[p]);
+                      break;
+                    }
                   }
                   }
+                  that.queryResults[substring] = [cur];
+                  that.queryResultsGeom[substring] = [];
+                  that.activeLayerId = substring;
+                } else {
+                  that.$message({
+                    message: "查询结果为空!",
+                    type: "warning",
+                    customClass: "messageIndex",
+                  });
                 }
                 }
               }
               }
-              //获取图层id的参数
+            }
-              let substring = pickedFeature.primitive._baseUri.query;
-              for (let p = 0; p < store.state.vectorlayerlist.length; i++) {
-                if (store.state.vectorlayerlist[p].id == substring) {
-                  that.layerList.push(store.state.vectorlayerlist[p]);
-                  break;
-                }
-              }
-              that.queryResults[substring] = [tempArr];
-              that.queryResultsGeom[substring] = [];
-              that.activeLayerId = substring;
-            });
           }
           }
         }
         }