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