From cd92259643ba5acf461df1681b96dd5747e11aa7 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期四, 29 六月 2023 14:56:11 +0800
Subject: [PATCH] 1

---
 src/views/Tools/LayerTree.vue |  227 +++++++++++++++++++++-----------------------------------
 1 files changed, 84 insertions(+), 143 deletions(-)

diff --git a/src/views/Tools/LayerTree.vue b/src/views/Tools/LayerTree.vue
index bfac89b..baebad2 100644
--- a/src/views/Tools/LayerTree.vue
+++ b/src/views/Tools/LayerTree.vue
@@ -2,107 +2,56 @@
   <div class="lalala tree-container">
     <el-form ref="form">
       <el-form-item>
-        <el-select
-          v-model="$store.state.pigCode"
-          clearable
-          filterable
-          style="width :100%"
-          @change="prjChanged"
-          placeholder="璇烽�夋嫨椤圭洰"
-        >
-          <el-option
-            v-for="item in menus"
-            :key="item.code"
-            :label="item.name"
-            :value="item.code"
-          >
+        <el-select v-model="$store.state.pigCode" clearable filterable style="width :100%" @change="prjChanged"
+          placeholder="璇烽�夋嫨椤圭洰">
+          <el-option v-for="item in menus" :key="item.code" :label="item.name" :value="item.code">
           </el-option>
         </el-select>
       </el-form-item>
       <el-form-item>
-        <el-input
-          placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�"
-          v-model="filterText"
-          class="search"
-        >
+        <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" v-model="filterText" class="search">
         </el-input>
       </el-form-item>
     </el-form>
-    <el-tree
-      ref="tree"
-      :data="treeData"
-      node-key="id"
-      show-checkbox
-      :props="defaultProps"
-      @node-click="handleLeftclick"
-      @node-contextmenu="rightClick"
-      @check="handleCheckChange"
-      :default-checked-keys="handleTreeCheck"
-      :expand-on-click-node="false"
-      :filter-node-method="filterNode"
-      draggable
-    >
+    <el-tree ref="tree" :data="treeData" node-key="id" show-checkbox :props="defaultProps" @node-click="handleLeftclick"
+      @node-contextmenu="rightClick" @check="handleCheckChange" :default-checked-keys="handleTreeCheck"
+      :expand-on-click-node="false" :filter-node-method="filterNode" draggable>
       <span
-        class="slot-t-node"
-        slot-scope="{ node, data }"
-      >
-        <span v-show="!data.isEdit">
-          <span :class="[data.id >= 99 ? 'slot-t-node--label' : '']">{{
-              node.label
-            }}</span>
-        </span>
-        <span v-show="data.isEdit">
-          <el-input
-            class="slot-t-input"
-            size="mini"
-            autofocus
-            v-model="data.label"
-            :ref="'slotTreeInput' + data.id"
-            @blur.stop="nodeBlur(node, data)"
-            @keydown.native.enter="nodeBlur(node, data)"
-          ></el-input>
-        </span>
+              class="slot-t-node"
+              slot-scope="{ node, data }"
+            >
+              <span v-show="!data.isEdit">
+                <span :class="[data.id >= 99 ? 'slot-t-node--label' : '']">{{
+                  node.label
+                }}</span>
+      </span>
+      <span v-show="data.isEdit">
+                <el-input
+                  class="slot-t-input"
+                  size="mini"
+                  autofocus
+                  v-model="data.label"
+                  :ref="'slotTreeInput' + data.id"
+                  @blur.stop="nodeBlur(node, data)"
+                  @keydown.native.enter="nodeBlur(node, data)"
+                ></el-input>
+              </span>
       </span>
     </el-tree>
-    <el-card
-      class="box-card"
-      ref="card"
-      :style="{ ...rightClickMenuStyle }"
-      v-show="menuVisible"
-    >
-      <div
-        class="edit"
-        @click="showLayerAttribute()"
-        v-if="showProp && !shwoHistogram"
-      >
+    <el-card class="box-card" ref="card" :style="{ ...rightClickMenuStyle }" v-show="menuVisible">
+      <div class="edit" @click="showLayerAttribute()" v-if="showProp && !shwoHistogram">
         <i class="el-icon-tickets"></i>&nbsp;&nbsp;灞炴��
       </div>
-      <div
-        class="edit"
-        @click="positioning()"
-        v-if="showLocal"
-      >
+      <div class="edit" @click="positioning()" v-if="showLocal">
         <i class="el-icon-tickets"></i>&nbsp;&nbsp;瀹氫綅
       </div>
-      <div
-        class="edit"
-        @click="pellucidity()"
-        v-if="showOpacity"
-      >
+      <div class="edit" @click="pellucidity()" v-if="showOpacity">
         <i class="el-icon-tickets"></i>&nbsp;&nbsp;閫忔槑搴�
       </div>
-      <div
-        class="edit"
-        @click="histogram()"
-        v-show="shwoHistogram"
-      >
+      <div class="edit" @click="histogram()" v-show="shwoHistogram">
         <i class="el-icon-tickets"></i>&nbsp;&nbsp;閽诲瓟鏌辩姸鍥�
       </div>
-      <div
-        class="edit"
-        v-show="shwoTileDown"
-        @click="tileDownload()"
-      >
+      <div class="edit" v-show="shwoTileDown" @click="tileDownload()">
         <i class="el-icon-download"></i>&nbsp;&nbsp;鐡︾墖涓嬭浇
       </div>
     </el-card>
@@ -119,7 +68,7 @@
 export default {
   name: "tree",
   components: { queryinfo },
-  data() {
+  data () {
     return {
       isBusy: false, // 姝e繖
       lastPrjCode: "", // 鏈�鍚庨�夋嫨椤圭洰缂栫爜
@@ -156,11 +105,11 @@
     };
   },
   watch: {
-    filterText(val) {
+    filterText (val) {
       this.$refs.tree.filter(val);
     },
   },
-  mounted() {
+  mounted () {
     this.getMenus();
     this.$bus.$on("treeDataCopy", (res) => {
       this.$store.state.treeData = this.treeData;
@@ -176,12 +125,12 @@
   },
   methods: {
     // 鑾峰彇鑿滃崟
-    async getMenus() {
+    async getMenus () {
       let data = await project_selectDirAll();
       if (data && data.code == 200) this.menus = data.result;
     },
     // 鍒濆鍖栧浘灞�
-    async layersStart() {
+    async layersStart () {
       let data = await perms_selectLayers();
       if (data.code != 200) {
         return this.$message.error("鍥惧眰鍒楄〃鏌ヨ澶辫触");
@@ -202,7 +151,7 @@
       sessionStorage.setItem("checkedLayers", JSON.stringify(checkedLayers));
     },
     // 璁剧疆鏍戞暟鎹�
-    setTreeData(source) {
+    setTreeData (source) {
       /*let cloneData = JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕
       return cloneData.filter((father) => {
         // 寰幆鎵�鏈夐」
@@ -219,7 +168,7 @@
       return arr;
     },
     // 璁剧疆鏍戝瓙鑺傜偣鏁版嵁
-    setTreeChildData(data, arr, pid) {
+    setTreeChildData (data, arr, pid) {
       let i = 0;
       while (i < data.length) {
         let d = data[i];
@@ -243,7 +192,7 @@
       }
     },
     // 鑺傜偣鑾峰緱鐒︾偣浜嬩欢
-    nodeBlur(node, data) {
+    nodeBlur (node, data) {
       if (!data.label.length) return this.$message.error("鑿滃崟鍚嶄笉鍙负绌猴紒");
       if (data.isEdit) this.$set(data, "isEdit", false);
       this.$nextTick(() => {
@@ -251,22 +200,22 @@
       });
     },
     // 榧犳爣宸﹀嚮浜嬩欢
-    handleLeftclick(data, node) {
+    handleLeftclick (data, node) {
       this.rmListener();
     },
     // 鍙栨秷榧犳爣鐩戝惉浜嬩欢
-    rmListener() {
+    rmListener () {
       this.menuVisible = false;
       //  瑕佸強鏃跺叧鎺夌洃鍚紝涓嶅叧鎺夌殑鏄竴涓潙锛屼笉淇′綘璇曡瘯锛岃櫧鐒跺墠鍙版樉绀虹殑鏃跺�欐病鏈夊暐姣涚梾锛屽姞涓�涓猘lert浣犲氨鐭ラ亾浜�
       document.removeEventListener("click", this.rmListener);
     },
     // 杩囨护鑺傜偣
-    filterNode(value, data) {
+    filterNode (value, data) {
       if (!value) return true;
       return data.cnName.indexOf(value) !== -1;
     },
     // 榧犳爣鍙冲嚮浜嬩欢
-    rightClick(event, object, node, element) {
+    rightClick (event, object, node, element) {
       if (object.type == 1 || node.data.children != null) return;
 
       this.currentNode = node;
@@ -284,7 +233,7 @@
       this.$refs.card.$el.style.top = event.pageY + "px";
     },
     // 灞炴�ф樉绀�
-    showLayerAttribute(data) {
+    showLayerAttribute (data) {
       this.rmListener();
       this.currentData = data ? data : this.currentData;
       let layer = this.currentData.enName.replaceAll("_", "");
@@ -293,7 +242,7 @@
       this.$store.state.mapPopBoxFlag = "2";
     },
     // 瀹氫綅
-    async positioning() {
+    async positioning () {
       this.rmListener();
       if (["Tileset", "3DML"].indexOf(this.currentData.serveType) > -1) {
         for (let i in Viewer.scene.primitives._primitives) {
@@ -322,7 +271,7 @@
       }
     },
     // 閽诲瓟鏌辩姸鍥�
-    async histogram() {
+    async histogram () {
       this.rmListener();
       let layer = this.currentData.enName.replaceAll("_", "");
       this.$store.state.mapSpaceQueryLayer = layer;
@@ -330,7 +279,7 @@
       this.$store.state.showPopBoxFlag = true;
     },
     // 閫忔槑搴�
-    pellucidity() {
+    pellucidity () {
       this.rmListener();
       for (let j in Viewer.scene.primitives._primitives) {
         if (Viewer.scene.primitives._primitives[j].id == this.currentData.cnName) {
@@ -341,13 +290,13 @@
       }
     },
     // 鑾峰彇楂樺害
-    getHeight(level) {
+    getHeight (level) {
       if (level > -1 && level < 23) return this.levelArray[level];
 
       return this.levelArray[this.levelArray.length - 1];
     },
     // 鐡︾墖涓嬭浇
-    tileDownload() {
+    tileDownload () {
       this.rmListener();
 
       var that = this;
@@ -360,7 +309,7 @@
       );
     },
     // 鑾峰彇鐡︾墖鍥涜嚦鑼冨洿
-    getTileRectangle(res) {
+    getTileRectangle (res) {
       var value = res.rectangle.coordinates.getValue();
       var val = {
         pubid: this.currentData.pubid,
@@ -374,7 +323,7 @@
       this.$bus.$emit("titleDown", val);
     },
     // 鍥惧眰閫変腑浜嬩欢
-    handleCheckChange(data, checked) {
+    handleCheckChange (data, checked) {
       if (this.isBusy) return;
 
       let nodes = [];
@@ -403,14 +352,14 @@
         }
       }
 
-      if (obj.TMS.length) this.setChangeDEM(obj.DEM, checked);
+      if (obj.DEM.length) this.setChangeDEM(obj.DEM, checked);
       if (obj.TMS.length) this.setChangeTMS(obj.TMS, checked);
       if (obj.Mpt.length) this.setChangeMpt(obj.Mpt, checked);
       if (obj.Tileset.length) this.setChangeTileset(obj.Tileset, checked);
       if (obj.WMS.length) this.setChangeWMS(obj.WMS, checked);
     },
     // 鑾峰彇瀛愯妭鐐�
-    getNodes(data, arr) {
+    getNodes (data, arr) {
       if (data.children) {
         for (let i = 0, c = data.children.length; i < c; i++) {
           let node = data.children[i];
@@ -425,7 +374,7 @@
       }
     },
     // 鑾峰彇鑺傜偣ID
-    getCheckNodesIds() {
+    getCheckNodesIds () {
       let nodes = this.$refs.tree.getCheckedNodes();
       let ids = [];
       for (let i in nodes) {
@@ -435,12 +384,12 @@
       return ids;
     },
     // 鍒囨崲WMS鏈嶅姟
-    setChangeWMS(layers, checked) {
+    setChangeWMS (layers, checked) {
       let value = this.$refs.tree.getCheckedNodes();
       this.$bus.$emit("showMenuLayer", value);
     },
     // 鍒囨崲Tileset
-    setChangeTileset(layers, checked) {
+    setChangeTileset (layers, checked) {
       let ids = this.getCheckNodesIds(), arr = [];
       for (let k in layers) {
         let layer = layers[k];
@@ -467,7 +416,7 @@
       if (arr.length) this.addTilesetLayers(arr);
     },
     // 娣诲姞Tileset鍥惧眰
-    addTilesetLayers(layers) {
+    addTilesetLayers (layers) {
       for (let i in layers) {
         let res = layers[i];
         let url = res.url.indexOf("{host}") > -1 ? res.url.replace("{host}", iisHost) : modelUrl + "/" + res.url;
@@ -521,7 +470,7 @@
       }
     },
     // 鍒囨崲TMS
-    setChangeTMS(layers, checked) {
+    setChangeTMS (layers, checked) {
       let ids = this.getCheckNodesIds(), arr = [];
       for (let j in layers) {
         let layer = layers[j];
@@ -541,7 +490,7 @@
       if (arr.length) this.addTMSLayers(arr);
     },
     // 娣诲姞TMS鍥惧眰
-    addTMSLayers(layers) {
+    addTMSLayers (layers) {
       for (let i in layers) {
         let res = layers[i];
         res.url = res.url.indexOf("{host}") > -1 ? res.url.replace("{host}", iisHost) : res.url;
@@ -561,7 +510,7 @@
       }
     },
     // 鍒囨崲Mpt
-    setChangeMpt(layers, checked) {
+    setChangeMpt (layers, checked) {
       let ids = this.getCheckNodesIds(), arr = [];
       for (let j in layers) {
         let layer = layers[j];
@@ -581,7 +530,7 @@
       if (arr.length) this.addMptLayers(arr);
     },
     // 娣诲姞Mpt鍥惧眰
-    addMptLayers(layers) {
+    addMptLayers (layers) {
       for (let i in layers) {
         let res = layers[i];
         if (res.url.indexOf("{host}") > -1) res.url = res.url.replace("{host}", iisHost);
@@ -595,7 +544,7 @@
       }
     },
     // 鍒囨崲DEM
-    setChangeDEM(layers, checked) {
+    setChangeDEM (layers, checked) {
       let ids = this.getCheckNodesIds(), arr = [];
       for (let i in layers) {
         let layer = layers[i];
@@ -609,7 +558,7 @@
       this.addDEMLayers(url, null == url);
     },
     // 娣诲姞DEM鍥惧眰
-    addDEMLayers(url, useSG) {
+    addDEMLayers (url, useSG) {
       if (useSG) {
         if (Viewer.terrainProvider._isMPT) return;
 
@@ -629,7 +578,7 @@
       });
     },
     // 璁剧疆Tileset鍙傛暟
-    async setTilesetArgs(tileset, res) {
+    async setTilesetArgs (tileset, res) {
       if (res.serveType == '3DML' || !res.pubid) {
         this.setTilesetHeigth(tileset, parseFloat(res.elev));
         return;
@@ -639,7 +588,7 @@
       if (data.code == 200 && data.result.json) this.setTilesetCoord(tileset, data.result.json);
     },
     // 璁剧疆Tileset楂樺害
-    setTilesetHeigth(tileset, height) {
+    setTilesetHeigth (tileset, height) {
       //3dtile妯″瀷鐨勮竟鐣岀悆浣�
       let boundingSphere = tileset.boundingSphere;
       //杩崱灏旂┖闂寸洿瑙掑潗鏍�=>鍦扮悊鍧愭爣锛堝姬搴﹀埗锛�
@@ -654,7 +603,7 @@
       // Viewer.flyTo(tileset);
     },
     // 璁剧疆Tileset鍧愭爣
-    setTilesetCoord(tileset, json) {
+    setTilesetCoord (tileset, json) {
       let vm = JSON.parse(json);
       let pos = Cesium.Cartesian3.fromDegrees(vm.lon, vm.lat, vm.height);
       let converter = Cesium.Transforms.eastNorthUpToFixedFrame;
@@ -664,7 +613,7 @@
       // Viewer.flyTo(tileset);
     },
     // 鏍规嵁Pubid璁剧疆TMS鍥惧眰
-    async setTMSLayerByPubid(res) {
+    async setTMSLayerByPubid (res) {
       const data = await comprehensive_selectPubById({ id: res.pubid });
       if (!data || data.code != 200) return;
 
@@ -692,7 +641,7 @@
       // }
     },
     // 鍒囨崲椤圭洰
-    prjChanged(code) {
+    prjChanged (code) {
 
       this.$store.state.pigCode = code;
 
@@ -717,7 +666,7 @@
       }
     },
     // 鏍规嵁椤圭洰缂栫爜鑾峰彇閫変腑鍥惧眰
-    getCheckedLayersByCode(code) {
+    getCheckedLayersByCode (code) {
       let layers = [];
       for (let i = 0, c = this.treeData.length; i < c; i++) {
         this.getCheckedChildLayersByCode(this.treeData[i], code, layers, false);
@@ -726,7 +675,7 @@
       return layers;
     },
     // 鏍规嵁椤圭洰缂栫爜鑾峰彇閫変腑瀛愬浘灞�
-    getCheckedChildLayersByCode(data, code, layers, isPrj) {
+    getCheckedChildLayersByCode (data, code, layers, isPrj) {
       if (data.children && data.children.length) {
         for (let i = 0, c = data.children.length; i < c; i++) {
           let layer = data.children[i];
@@ -753,7 +702,7 @@
       }
     },
     // 鑾峰彇鏂版爲鏁版嵁
-    getNewTreeData(code) {
+    getNewTreeData (code) {
       let data = JSON.parse(JSON.stringify(this.sourceData));
       if (!code) return data;
 
@@ -763,7 +712,7 @@
       return data;
     },
     // 璁剧疆鏍戞暟鎹瓙鑺傜偣
-    setSubTreeData(data, code) {
+    setSubTreeData (data, code) {
       let j = 0;
       while (j < data.length) {
         let d = data[j];
@@ -782,7 +731,7 @@
       }
     },
     // 绉婚櫎椤圭洰鏍戞暟鎹�
-    rmPrjTreeData(data, code) {
+    rmPrjTreeData (data, code) {
       /*let j = 0;
       while (j < data.length) {
         let d = data[j];
@@ -835,7 +784,7 @@
       }
     },
     // 娣诲姞WFS鍥惧眰 *
-    addWFSLayers(res) {
+    addWFSLayers (res) {
       let url =
         res.resource +
         "?service=WFS&version=1.0.0&request=GetFeature&typeName=" +
@@ -876,7 +825,7 @@
 </script>
 <style scoped lang="less">
 /* 鐐瑰嚮鑺傜偣鏃剁殑閫変腑棰滆壊 */
-.tree-container /deep/.el-tree-node.is-current > .el-tree-node__content {
+.tree-container /deep/.el-tree-node.is-current>.el-tree-node__content {
   color: #409eff !important;
 }
 
@@ -908,19 +857,19 @@
   padding-left: 16px;
 }
 
-.tree-container /deep/ .el-tree > .el-tree-node:before {
+.tree-container /deep/ .el-tree>.el-tree-node:before {
   border-left: none;
 }
 
-.tree-container /deep/ .el-tree > .el-tree-node:after {
+.tree-container /deep/ .el-tree>.el-tree-node:after {
   border-top: none;
 }
 
-.tree-container /deep/ .el-tree > .el-tree-node:before {
+.tree-container /deep/ .el-tree>.el-tree-node:before {
   border-left: none;
 }
 
-.tree-container /deep/ .el-tree > .el-tree-node:after {
+.tree-container /deep/ .el-tree>.el-tree-node:after {
   border-top: none;
 }
 
@@ -983,11 +932,7 @@
   z-index: 8;
 }
 
-.tree-container
-  /deep/
-  .el-tree-node
-  .el-tree-node__children
-  .el-tree-node__content::before {
+.tree-container /deep/ .el-tree-node .el-tree-node__children .el-tree-node__content::before {
   border-left: 0px dashed #ccc;
   height: 100%;
   top: 0;
@@ -1007,7 +952,7 @@
 }
 
 .tree-container /deep/ .el-tree-node {
-  .is-leaf + .el-checkbox .el-checkbox__inner {
+  .is-leaf+.el-checkbox .el-checkbox__inner {
     display: inline-block;
   }
 
@@ -1016,11 +961,7 @@
   }
 }
 
-.tree-container
-  /deep/
-  .el-tree-node
-  .el-tree-node__children
-  .el-tree-node__content::after {
+.tree-container /deep/ .el-tree-node .el-tree-node__children .el-tree-node__content::after {
   border-top: 0px dashed #ccc;
 }
 
@@ -1038,7 +979,7 @@
 /deep/.el-card__body {
   padding: 10px !important;
 
-  > div {
+  >div {
     padding-bottom: 10px;
     border-bottom: 1px solid #ccc;
 

--
Gitblit v1.9.3