From bab3c509ded84f1caa3d8e79a65b7113db8913df Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期五, 24 三月 2023 16:04:47 +0800
Subject: [PATCH] 一张图图层控制修改,发布管理添加表格双击复制功能,发布管理页面模型附件管理页面修改,在线制图修改

---
 src/components/Screen/ProjectTree.vue |   74 ++++++++++++++++++++++++++++--------
 1 files changed, 57 insertions(+), 17 deletions(-)

diff --git a/src/components/Screen/ProjectTree.vue b/src/components/Screen/ProjectTree.vue
index 5ce4970..e237329 100644
--- a/src/components/Screen/ProjectTree.vue
+++ b/src/components/Screen/ProjectTree.vue
@@ -21,7 +21,7 @@
         :props="defaultProps"
         ref="tree"
         class="el-tree"
-        @check-change="handleCheckChange"
+        @check="handleCheckChange"
         :filter-node-method="filterNode"
       >
         <div
@@ -139,6 +139,7 @@
       var std = []
       var layer_list = []
       var layer_groups = []
+      var layerData = [];
       for (var i in data.result) {
         if (data.result[i].type == 1) {
           layer_groups.push({
@@ -161,7 +162,8 @@
             layer_list.push(layer_entity)
             if (data.result[i].isShow == 1) {
               std.push(data.result[i].id)
-              this.setAddImageLayer(layer_entity)
+              layerData.push(data.result[i])
+              // this.setAddImageLayer(layer_entity)
             }
           }
         }
@@ -176,33 +178,71 @@
       this.treeData = layer_groups
 
       this.$refs.tree.setCheckedKeys(std)
+      this.setShowImageLayer(layerData)
     },
     handleCheckChange(data, checked, indeterminate) {
-      if (data.children != null) return
-      var std = []
-      for (var i = 0; i < Viewer.imageryLayers._layers.length; i++) {
-        var val_id = Viewer.imageryLayers._layers[i].imageryProvider.name
-        if (val_id == data.label) {
-          std.push(data.label)
-          const img_layer = Viewer.imageryLayers._layers[i]
-          img_layer.show = checked
+      // if (data.children != null) return
+      // var std = []
+      // for (var i = 0; i < Viewer.imageryLayers._layers.length; i++) {
+      //   var val_id = Viewer.imageryLayers._layers[i].imageryProvider.name
+      //   if (val_id == data.label) {
+      //     std.push(data.label)
+      //     const img_layer = Viewer.imageryLayers._layers[i]
+      //     img_layer.show = checked
+      //   }
+      // }
+      // if (std.length == 0 && checked == true) {
+      //   this.setAddImageLayer(data)
+      // }
+      this.setClearWmsLayer()
+      var value = this.$refs.tree.getCheckedNodes();
+      var url = [];
+      for (var i in value) {
+        if (value[i].resource && value[i].type == 2) {
+
+          url.push(value[i].resource)
         }
       }
-      if (std.length == 0 && checked == true) {
-        this.setAddImageLayer(data)
+      url = url.reverse();
+      this.setAddImageLayer(url)
+    },
+
+    setShowImageLayer(res) {
+      this.setClearWmsLayer()
+      var url = [];
+      for (var i in res) {
+        url.push(res[i].enName)
+      }
+      url = url.reverse();
+      this.setAddImageLayer(url)
+    },
+    setClearWmsLayer() {
+      for (var i = 0; i < window.Viewer.imageryLayers._layers.length; i++) {
+        var val_id = window.Viewer.imageryLayers._layers[i].imageryProvider.name;
+        if (val_id == "Wms_Layer") {
+          window.Viewer.imageryLayers.remove(
+            window.Viewer.imageryLayers._layers[i]
+          );
+        }
       }
     },
+
+
     setAddImageLayer(res) {
-      let layerWMS = new Cesium.WebMapServiceImageryProvider({
+      var layerWMS = new Cesium.WebMapServiceImageryProvider({
         url: geoServerURl,
-        layers: res.resource,
+        layers: res.toString(),
         parameters: {
           transparent: true,
           format: "image/png",
+          srs: "EPSG:4490",
+          styles: "",
         },
-      })
-      layerWMS.name = res.label
-      Viewer.imageryLayers.addImageryProvider(layerWMS)
+        tileWidth: 512,
+        tileHeight: 512,
+      });
+      layerWMS.name = "Wms_Layer";
+      window.Viewer.scene.imageryLayers.addImageryProvider(layerWMS);
     },
     changeMenulayer() {
       this.isActive = !this.isActive

--
Gitblit v1.9.3