From 384fe106ad1efd66ef0910a824bff907322570ea Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期四, 17 八月 2023 15:09:37 +0800
Subject: [PATCH] 图层管理,数据类行加载方式修改

---
 src/assets/js/Map/server copy.js |  321 +++++++++++++++
 src/utils/request.js             |    2 
 src/assets/js/Map/server.js      |  488 ++++++++++++++--------
 src/assets/img/2D.png            |    0 
 src/assets/img/3D.png            |    0 
 src/views/layer/layerSet.vue     |  397 +++---------------
 src/utils/auth.js                |    2 
 src/views/layer/layerManage.vue  |    7 
 src/assets/js/Map/config.js      |    2 
 9 files changed, 700 insertions(+), 519 deletions(-)

diff --git a/src/assets/img/2D.png b/src/assets/img/2D.png
index 6c33ac6..e200f9f 100644
--- a/src/assets/img/2D.png
+++ b/src/assets/img/2D.png
Binary files differ
diff --git a/src/assets/img/3D.png b/src/assets/img/3D.png
index f8c347d..f2e3f61 100644
--- a/src/assets/img/3D.png
+++ b/src/assets/img/3D.png
Binary files differ
diff --git a/src/assets/js/Map/config.js b/src/assets/js/Map/config.js
index 62018ba..312cdca 100644
--- a/src/assets/js/Map/config.js
+++ b/src/assets/js/Map/config.js
@@ -16,7 +16,7 @@
   //Wmtsserver
   moonWmts:
     "http://172.16.2.10:50001/sj_raster/v6/wmts/service/system/10000201/3?ak=mf72ff9295c740ec0f37e61433e8a3ad8d&srs=ESRI:104903",
-
+  proxy: 'http://192.168.20.83:8088/MoonServer',
   //鍦板舰
   moonTerrain: "http://172.16.2.10:50001/sj_raster/v6/terrain_mesh/10013901/45",
   BASE_URL: "http://192.168.20.83:8088/MoonServer",
diff --git a/src/assets/js/Map/server copy.js b/src/assets/js/Map/server copy.js
new file mode 100644
index 0000000..b7dfc89
--- /dev/null
+++ b/src/assets/js/Map/server copy.js
@@ -0,0 +1,321 @@
+import { getToken } from "@/utils/auth";
+//閰嶇疆鏂囦欢鍦板潃
+import config from "./config";
+
+const server = {
+  layerList: [],
+  addTreeData(treeNode) {
+    if (!treeNode.checked) {
+      this.delLayer(treeNode.id);
+      return;
+    }
+    // WMTS -> 鍥剧墖
+    // DOM\DEM 褰╄壊\榛戠櫧
+
+    // TMS -> DOM銆丏EM
+    // DOM->鍥剧墖
+    // DEM -> Terrain
+
+    // URL -> URL
+    // TMS -> URL DOM DEM
+    // WMTS -> URL DOM DEM
+    // WMS -> URL
+    // WFS -> URL
+    // Tileset -> URL`
+    //comment on table lf.sys_res is '璧勬簮琛�';
+    // comment on column lf.sys_res.id is '涓婚敭ID';
+    // comment on column lf.sys_res.pid is '鐖禝D锛�0-鏍硅妭鐐�';
+    // comment on column lf.sys_res.cn_name is '涓枃鍚嶇О';
+    // comment on column lf.sys_res.en_name is '鑻辨枃鍚嶇О';
+    // comment on column lf.sys_res.type is '绫诲瀷锛�1-鍥惧眰缁�,2-鏅�氬浘灞�,3-浠g悊鍥惧眰';
+    // comment on column lf.sys_res.status is '鐘舵�侊細-1-搴熷純锛�0-鍋滅敤锛�1-鍚敤';
+    // comment on column lf.sys_res.category is '绫诲瀷锛�0-URL锛�1-TMS锛�2-WMTS锛�3-WFS锛�4-Tileset';
+    // comment on column lf.sys_res.firm is '鍘傚晢锛�0-鍏朵粬锛�1-GisServer锛�2-GeoServer锛�3-鏁扮畝';
+    // comment on column lf.sys_res.url is '鏈嶅姟鍦板潃';
+    // comment on column lf.sys_res.test is '娴嬭瘯鍦板潃';
+    // comment on column lf.sys_res.proxy is '浠g悊鍦板潃';
+    // comment on column lf.sys_res.descr is '鎻忚堪';
+    // comment on column lf.sys_res.depid is '鍗曚綅缂栫爜';
+    // comment on column lf.sys_res.dirid is '椤圭洰缂栫爜';
+    // comment on column lf.sys_res.img is '缂╃暐鍥�';
+    // comment on column lf.sys_res.level is '灞傜骇锛�0-鏍硅妭鐐�';
+    // comment on column lf.sys_res.sort is '鎺掑簭';
+    // comment on column lf.sys_res.create_user is '鍒涘缓浜篒D';
+    // comment on column lf.sys_res.create_time is '鍒涘缓鏃堕棿';
+    // comment on column lf.sys_res.update_user is '鏇存柊浜篒D';
+    // comment on column lf.sys_res.update_time is '鏇存柊鏃堕棿';
+    // comment on column lf.sys_res.bak is '澶囨敞';
+    //     浠g悊锛�/proxy/{token}/4
+    // 鍦板潃锛歨ttp://192.168.20.83:8088/MoonServer + proxy.replace("{token}", token)
+    // order_num -> sort
+    // serve_type -> category
+
+    // switch (treeNode.type) {
+    //   case 1:
+    //     treeNode.useUrl = treeNode.url;
+    //     break;
+    //   case 2:
+    //     treeNode.useUrl = treeNode.url;
+    //     break;
+    //   case 3:
+    //     treeNode.useUrl = treeNode.url;
+    //   
+    //     break;
+    // }
+
+
+    //
+    // if (treeNode.resid && treeNode.resid > 0) {
+
+    // } else {
+
+    // }
+
+    //鍒ゆ柇鏄惁浠g悊
+    //treeNode.proxy鏈夋暟鎹唬鐞�,鏁版嵁涓嶄唬鐞�
+
+
+    if (treeNode.proxy) {
+      this.addProxyAddress(treeNode);//鏈変唬鐞�
+    } else {
+      this.addUrlAddress(treeNode);//鏃犱唬鐞�
+    }
+
+
+    // this.addGisServer(treeNode);
+    // if (treeNode.firm == 2) {
+    //   this.addGeoServer(treeNode);
+    // } else {
+    //   this.addGisServer(treeNode);
+    // }
+  },
+  addProxyAddress(res) {
+    switch (res.data) {
+      case 1://dom
+        this.addGisServer(res)
+        break;
+      case 2://鍦板舰
+        this.addGisServer(res)
+        break;
+      case 3:
+        this.addGisServer(res)
+        break;
+      case 4:
+        this.addGisServer(res)
+        break;
+      case 5:
+        this.addGisServer(res)
+        break;
+      case 6:
+        this.addGisServer(res)
+        break;
+      case 7:
+        this.addGisServer(res)
+        break;
+      case 8:
+        break;
+    }
+  },
+
+  addUrlAddress(res) {
+    switch (res.data) {
+      case 1://dom
+        this.addGeoServer(res)
+        break;
+      case 2://鍦板舰
+        this.addGeoServer(res)
+        break;
+      case 3:
+        this.addGeoServer(res)
+        break;
+      case 4:
+        this.addGeoServer(res)
+        break;
+      case 5:
+        this.addGeoServer(res)
+        break;
+      case 6:
+        this.addGeoServer(res)
+        break;
+      case 7:
+        this.addGeoServer(res)
+        break;
+      case 8:
+        break;
+    }
+  },
+
+
+  //娓呴櫎鍥惧眰
+  delLayer(code) {
+    this.layerList.forEach((e, i) => {
+      if (e.id === code) {
+        switch (e.type) {
+          case "wmts":
+            window.Viewer.imageryLayers.remove(e.layerData.item);
+            break;
+          case "tms":
+            window.Viewer.imageryLayers.remove(e.layerData.item);
+            break;
+          case "dem":
+            window.Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider(
+              {}
+            );
+            break;
+        }
+        this.layerList.splice(i, 1);
+      }
+    });
+  },
+  addGisServer(treeNode) {
+    // 0-URL锛�1-TMS锛�2-WMTS锛�3-WFS锛�4-Tileset'; 
+    //鍒ゆ柇鏈嶅姟鏄惁宸插瓨鍦�
+    var service = [];
+    if (this.layerList.length > 0) {
+      service = this.layerList.filter((res) => {
+        if (res.id == treeNode.id) {
+          return res
+        }
+      })
+    }
+    if (service.length > 0) return
+    var url = null;
+
+    if (treeNode.proxy && treeNode.proxy.indexOf('{token}') > -1) {
+      const token = getToken()
+      url = config.proxy + treeNode.proxy.replaceAll("{token}", token)
+    }
+    console.log(url)
+    switch (treeNode.type) {
+      case 1:
+        this.AddTmsLayer(url, treeNode.data, treeNode.id);
+        break;
+      case 2:
+        this.AddWmtesLayer(url, treeNode.id);
+        break;
+      case 3:
+        break;
+      case 4:
+        break;
+    }
+  },
+  addGeoServer(treeNode) {
+    // 0-URL锛�1-TMS锛�2-WMTS锛�3-WFS锛�4-Tileset';
+
+    switch (treeNode.type) {
+      case 1:
+        break;
+      case 2:
+
+        break;
+      case 3:
+        this.AddGeoWmsLayer(treeNode.url, treeNode.id, treeNode.tab);
+        break;
+      case 4:
+        break;
+    }
+  },
+  //娣诲姞geoserver鏈嶅姟wms鏈嶅姟
+  AddGeoWmsLayer(url, id, tab) {
+    if (!tab) return
+
+    let layer = new SmartEarth.Cesium.WebMapServiceImageryProvider({
+      // url: "http://192.168.22.198:8090/geoserver/moon/wms",
+      url: url,
+      layers: "moon:geo_alkaline_rock_suite",
+      parameters: {
+        transparent: true,
+        format: "image/png",
+        srs: "EPSG:104903",
+        styles: "",
+      },
+      tileWidth: 512,
+      tileHeight: 512,
+    });
+    layer.name = `Wms_Layer${id}`;
+
+    let img_layer = Viewer.imageryLayers.addImageryProvider(layer);
+    this.layerList.push({ id: id, layerData: img_layer, type: "wmts" });
+  },
+  //娣诲姞GisServer鏈嶅姟TMS鍒囩墖鏈嶅姟
+  AddTmsLayer(url, data, id) {
+    // var urlTemplateImageryProvider = new SmartEarth.Cesium.UrlTemplateImageryProvider({
+    //   url: url + "/{z}/{x}/{y}.png"
+    // });
+    // Viewer.imageryLayers.addImageryProvider(urlTemplateImageryProvider);
+
+    if (data == '0' || data == '1') {
+      let img_layer = earthCtrl.Creator.createUrlTemplateImageryProvider(
+        "tms鏈嶅姟",
+        {
+          url: Cesium.buildModuleUrl(url + "/{z}/{x}/{y}.png"),
+        },
+        "0",
+        undefined,
+        true,
+        ""
+      );
+      this.layerList.push({ id: id, layerData: img_layer, type: "tms" });
+    } else if (data == '2') {
+      window.terrainLayer = new Cesium.CesiumTerrainProvider({
+        url: url
+      });
+      Viewer.terrainProvider = window.terrainLayer
+      this.layerList.push({ id: id, type: "dem", });
+    }
+  },
+  AddWmtesLayer(url, id) {
+    var urlTemplateImageryProvider = earthCtrl.factory.createImageryLayer({
+      sourceType: "wmts",
+      url: url,
+      layer: "",
+      format: "image/png",
+      tileMatrixSetID: "GoogleCRS84Quad01",
+      tileMatrixLabels: [
+        "0",
+        "1",
+        "2",
+        "3",
+        "4",
+        "5",
+        "6",
+        "7",
+        "8",
+        "9",
+        "10",
+        "11",
+        "12",
+        "13",
+        "14",
+        "15",
+        "16",
+        "17",
+        "18",
+      ],
+      style: "",
+      tilingScheme: new Cesium.GeographicTilingScheme({
+        ellipsoid: Cesium.Ellipsoid.MOON,
+      }),
+    });
+    console.log(urlTemplateImageryProvider);
+    this.layerList.push({
+      id: id,
+      layerData: urlTemplateImageryProvider._primitive,
+      type: "wmts",
+    });
+  },
+  AddDemLayer(url, id) {
+    var terrain = new Cesium.CesiumTerrainProvider({
+      url: config.moonTerrain,
+      // url: url,
+      tilingScheme: new Cesium.GeographicTilingScheme({
+        ellipsoid: Cesium.Ellipsoid.MOON,
+      }),
+    });
+    window.Viewer.terrainProvider = terrain;
+
+    // let img_layer = Viewer.imageryLayers.addImageryProvider(layer);
+    this.layerList.push({ id: id, type: "dem" });
+  },
+};
+export default server;
diff --git a/src/assets/js/Map/server.js b/src/assets/js/Map/server.js
index 4a127a7..c1064af 100644
--- a/src/assets/js/Map/server.js
+++ b/src/assets/js/Map/server.js
@@ -9,192 +9,204 @@
       this.delLayer(treeNode.id);
       return;
     }
-    // WMTS -> 鍥剧墖
-    // DOM\DEM 褰╄壊\榛戠櫧
-
-    // TMS -> DOM銆丏EM
-    // DOM->鍥剧墖
-    // DEM -> Terrain
-
-    // URL -> URL
-    // TMS -> URL DOM DEM
-    // WMTS -> URL DOM DEM
-    // WMS -> URL
-    // WFS -> URL
-    // Tileset -> URL`
-    //comment on table lf.sys_res is '璧勬簮琛�';
-    // comment on column lf.sys_res.id is '涓婚敭ID';
-    // comment on column lf.sys_res.pid is '鐖禝D锛�0-鏍硅妭鐐�';
-    // comment on column lf.sys_res.cn_name is '涓枃鍚嶇О';
-    // comment on column lf.sys_res.en_name is '鑻辨枃鍚嶇О';
-    // comment on column lf.sys_res.type is '绫诲瀷锛�1-鍥惧眰缁�,2-鏅�氬浘灞�,3-浠g悊鍥惧眰';
-    // comment on column lf.sys_res.status is '鐘舵�侊細-1-搴熷純锛�0-鍋滅敤锛�1-鍚敤';
-    // comment on column lf.sys_res.category is '绫诲瀷锛�0-URL锛�1-TMS锛�2-WMTS锛�3-WFS锛�4-Tileset';
-    // comment on column lf.sys_res.firm is '鍘傚晢锛�0-鍏朵粬锛�1-GisServer锛�2-GeoServer锛�3-鏁扮畝';
-    // comment on column lf.sys_res.url is '鏈嶅姟鍦板潃';
-    // comment on column lf.sys_res.test is '娴嬭瘯鍦板潃';
-    // comment on column lf.sys_res.proxy is '浠g悊鍦板潃';
-    // comment on column lf.sys_res.descr is '鎻忚堪';
-    // comment on column lf.sys_res.depid is '鍗曚綅缂栫爜';
-    // comment on column lf.sys_res.dirid is '椤圭洰缂栫爜';
-    // comment on column lf.sys_res.img is '缂╃暐鍥�';
-    // comment on column lf.sys_res.level is '灞傜骇锛�0-鏍硅妭鐐�';
-    // comment on column lf.sys_res.sort is '鎺掑簭';
-    // comment on column lf.sys_res.create_user is '鍒涘缓浜篒D';
-    // comment on column lf.sys_res.create_time is '鍒涘缓鏃堕棿';
-    // comment on column lf.sys_res.update_user is '鏇存柊浜篒D';
-    // comment on column lf.sys_res.update_time is '鏇存柊鏃堕棿';
-    // comment on column lf.sys_res.bak is '澶囨敞';
-    //     浠g悊锛�/proxy/{token}/4
-    // 鍦板潃锛歨ttp://192.168.20.83:8088/MoonServer + proxy.replace("{token}", token)
-    // order_num -> sort
-    // serve_type -> category
-
-    // switch (treeNode.type) {
-    //   case 1:
-    //     treeNode.useUrl = treeNode.url;
-    //     break;
-    //   case 2:
-    //     treeNode.useUrl = treeNode.url;
-    //     break;
-    //   case 3:
-    //     treeNode.useUrl = treeNode.url;
-    //     // var token = getToken();
-    //     // treeNode.useUrl = BASE_URL + treeNode.proxy.replace("{token}", token);
-    //     break;
-    // }
-
-
-
-    if (treeNode.resid && treeNode.resid > 0) {
-
+    //鍒ゆ柇鏄惁涓轰唬鐞�
+    if (treeNode.proxy) {
+      this.addProxyAddress(treeNode);//鏈変唬鐞�
     } else {
-      console.log(treeNode)
+      this.addUrlAddress(treeNode);//鏃犱唬鐞�
+    }
+  },
+  //浠g悊鍦板潃
+  addProxyAddress(res) {
+    //鍒ゆ柇鏁版嵁绫诲瀷
+    switch (res.data) {
+      case 1://鏁板瓧姝e皠褰卞儚鍥�
+        this.setDataType(res);
+        break;
+      case 2://鍦烘櫙鍦板舰鏁版嵁
+        this.setTerrainData(res);
+        break;
+      case 3://鏁板瓧楂樼▼妯″瀷锛堟檿娓插浘锛�
+        this.setDataType(res);
+        break;
+      case 4://鍗曟尝娈垫爡鏍兼暟鎹�
+        this.setDataType(res);
+        break;
+      case 5://澶氬厜璋辨爡鏍兼暟鎹�
+        this.setDataType(res);
+        break;
+      case 6://楂樺厜璋辨爡鏍兼暟鎹�
+        this.setDataType(res);
+        break;
+      case 7://鐭㈤噺鍥惧眰
+        this.setVectorData(res);
+        break;
+      case 8://涓夌淮妯″瀷
+        this.setModelData(res);
+        break;
+    }
+  },
+  //鏅�氬湴鍧�
+  addUrlAddress(res) {
+    switch (res.category) {
+      case 0://鍏朵粬
+
+        break;
+      case 1://GisServer
+        this.addProxyAddress(res);
+        break;
+      case 2://GeoServer
+        this.addGeoServerAddress(res);
+        break;
+      case 3://鏁扮畝
+        this.addProxyAddress(res);
+        break;
     }
 
-    this.addGisServer(treeNode);
-    // if (treeNode.firm == 2) {
-    //   this.addGeoServer(treeNode);
-    // } else {
-    //   this.addGisServer(treeNode);
-    // }
   },
-  //娓呴櫎鍥惧眰
-  delLayer(code) {
-    this.layerList.forEach((e, i) => {
-      if (e.id === code) {
-        switch (e.type) {
-          case "wmts":
-            window.Viewer.imageryLayers.remove(e.layerData.item);
-            break;
-          case "tms":
-
-            window.Viewer.imageryLayers.remove(e.layerData.item);
-            break;
-          case "dem":
-            window.Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider(
-              {}
-            );
-            break;
-        }
-        this.layerList.splice(i, 1);
-      }
-    });
-  },
-  addGisServer(treeNode) {
-    // 0-URL锛�1-TMS锛�2-WMTS锛�3-WFS锛�4-Tileset'; 
-    //鍒ゆ柇鏈嶅姟鏄惁宸插瓨鍦�
-    var service = [];
-    if (this.layerList.length > 0) {
-      service = this.layerList.filter((res) => {
-        if (res.id == treeNode.id) {
-          return res
-        }
-      })
+  //Geoserver鏈嶅姟
+  addGeoServerAddress(res) {
+    //鍒ゆ柇鏁版嵁绫诲瀷
+    switch (res.data) {
+      case 1://鏁板瓧姝e皠褰卞儚鍥�
+        this.setGeoDataType(res);
+        break;
+      case 2://鍦烘櫙鍦板舰鏁版嵁
+        this.setTerrainData(res);
+        break;
+      case 3://鏁板瓧楂樼▼妯″瀷锛堟檿娓插浘锛�
+        this.setGeoDataType(res);
+        break;
+      case 4://鍗曟尝娈垫爡鏍兼暟鎹�
+        this.setGeoDataType(res);
+        break;
+      case 5://澶氬厜璋辨爡鏍兼暟鎹�
+        this.setGeoDataType(res);
+        break;
+      case 6://楂樺厜璋辨爡鏍兼暟鎹�
+        this.setGeoDataType(res);
+        break;
+      case 7://鐭㈤噺鍥惧眰
+        this.setGeoVectorData(res);
+        break;
+      case 8://涓夌淮妯″瀷
+        this.setModelData(res);
+        break;
     }
-    if (service.length > 0) return
-    var url = null;
-    if (treeNode.useUrl && treeNode.useUrl.indexOf('{token}') > -1) {
+  },
+  setGeoDataType() {
+    switch (res.type) {
+      case 0://URL
+        break;
+      case 1://TMS
+        this.setAddTmsLayer(res);
+        break;
+      case 2://WMTS
+        this.setAddWmtsLayer(res);
+        break;
+      case 3://WMS
+        this.setAddGeoWmsLayer(res);
+        break;
+    }
+  },
+  setGeoVectorData(res) {
+    switch (res.type) {
+      case 0://URL
+        break;
+      case 3://WMS
+        this.setAddGeoWmsLayer(res);
+        break;
+      case 4://WFS
+
+        break;
+    }
+  },
+
+
+
+
+
+  setDataType(res) {
+    switch (res.type) {
+      case 0://URL
+        break;
+      case 1://TMS
+        this.setAddTmsLayer(res);
+        break;
+      case 2://WMTS
+        this.setAddWmtsLayer(res);
+        break;
+      case 3://WMS
+        this.setAddWmsLayer(res);
+        break;
+    }
+  },
+
+  setTerrainData(res) {
+    switch (res.type) {
+      case 0://URL
+        this.setAddTearrinLayer(res)
+        break;
+      case 1://TMS
+        this.setAddTearrinLayer(res);
+        break;
+    }
+  },
+  setVectorData(res) {
+    switch (res.type) {
+      case 0://URL
+
+        break;
+      case 3://WMS
+        this.setAddWmsLayer(res);
+        break;
+      case 4://WFS
+
+        break;
+    }
+  },
+  setModelData(res) {
+    switch (res.type) {
+      case 0://Tileset
+        this.setAddModelLayer(res);
+        break;
+      case 3://WMS
+        this.setAddModelLayer(res);
+        break;
+      case 5://WFS
+
+        break;
+    }
+  },
+  //鑾峰彇鏈嶅姟鍦板潃
+  getLayrUrl(res) {
+    var url;
+    if (res.proxy) {
       const token = getToken()
-      url = config.BASE_URL + treeNode.proxy.replaceAll("{token}", token)
+      url = config.proxy + res.proxy.replaceAll("{token}", token)
     } else {
-      url = treeNode.useUrl
+      url = res.url;
     }
-    switch (treeNode.type) {
-      case 1:
-        this.AddTmsLayer(url, treeNode.data, treeNode.id);
-        break;
-      case 2:
-        this.AddWmtesLayer(url, treeNode.id);
-        break;
-      case 3:
-        break;
-      case 4:
-        break;
-    }
+    return url
   },
-  addGeoServer(treeNode) {
-    // 0-URL锛�1-TMS锛�2-WMTS锛�3-WFS锛�4-Tileset';
-    switch (treeNode.type) {
-      case 1:
-        break;
-      case 2:
-        this.AddGeoWmsLayer(treeNode.useUrl, treeNode.id, treeNode.tab);
-        break;
-      case 3:
-        break;
-      case 4:
-        break;
-    }
-  },
-  //娣诲姞geoserver鏈嶅姟wms鏈嶅姟
-  AddGeoWmsLayer(url, id, tab) {
-    let layer = new SmartEarth.Cesium.WebMapServiceImageryProvider({
-      // url: "http://192.168.22.198:8090/geoserver/moon/wms",
-      url: url,
-      layers: tab,
-      parameters: {
-        transparent: true,
-        format: "image/png",
-        srs: "EPSG:104903",
-        styles: "",
+  //鍔犺浇TMS鏈嶅姟
+  setAddTmsLayer(res) {
+    var url = this.getLayrUrl(res)
+    let img_layer = earthCtrl.Creator.createUrlTemplateImageryProvider(
+      "tms鏈嶅姟",
+      {
+        url: Cesium.buildModuleUrl(url + "/{z}/{x}/{y}.png"),
       },
-      tileWidth: 512,
-      tileHeight: 512,
-    });
-    layer.name = `Wms_Layer${id}`;
-
-    let img_layer = Viewer.imageryLayers.addImageryProvider(layer);
-    this.layerList.push({ id: id, layerData: img_layer, type: "wmts" });
+      "0",
+      undefined,
+      true,
+      ""
+    );
+    this.layerList.push({ id: res.id, layerData: img_layer, type: "tms" });
   },
-  //娣诲姞GisServer鏈嶅姟TMS鍒囩墖鏈嶅姟
-  AddTmsLayer(url, data, id) {
-    // var urlTemplateImageryProvider = new SmartEarth.Cesium.UrlTemplateImageryProvider({
-    //   url: url + "/{z}/{x}/{y}.png"
-    // });
-    // Viewer.imageryLayers.addImageryProvider(urlTemplateImageryProvider);
-
-    if (data == '0' || data == '1') {
-      let img_layer = earthCtrl.Creator.createUrlTemplateImageryProvider(
-        "tms鏈嶅姟",
-        {
-          url: Cesium.buildModuleUrl(url + "/{z}/{x}/{y}.png"),
-        },
-        "0",
-        undefined,
-        true,
-        ""
-      );
-      this.layerList.push({ id: id, layerData: img_layer, type: "tms" });
-    } else if (data == '2') {
-      window.terrainLayer = new Cesium.CesiumTerrainProvider({
-        url: url
-      });
-      Viewer.terrainProvider = window.terrainLayer
-      this.layerList.push({ id: id, type: "dem", });
-    }
-  },
-  AddWmtesLayer(url, id) {
+  //鍔犺浇WMTS鏈嶅姟
+  setAddWmtsLayer(res) {
+    var url = this.getLayrUrl(res)
     var urlTemplateImageryProvider = earthCtrl.factory.createImageryLayer({
       sourceType: "wmts",
       url: url,
@@ -227,25 +239,127 @@
         ellipsoid: Cesium.Ellipsoid.MOON,
       }),
     });
-    console.log(urlTemplateImageryProvider);
     this.layerList.push({
-      id: id,
+      id: res.id,
       layerData: urlTemplateImageryProvider._primitive,
       type: "wmts",
     });
   },
-  AddDemLayer(url, id) {
-    var terrain = new Cesium.CesiumTerrainProvider({
-      url: config.moonTerrain,
-      // url: url,
-      tilingScheme: new Cesium.GeographicTilingScheme({
-        ellipsoid: Cesium.Ellipsoid.MOON,
-      }),
+  //鍔犺浇鍦板舰鏈嶅姟
+  setAddTearrinLayer(res) {
+    this.setChangeTearrinLayer();
+    var url = this.getLayrUrl(res)
+    window.terrainLayer = new Cesium.CesiumTerrainProvider({
+      url: url
     });
-    window.Viewer.terrainProvider = terrain;
+    Viewer.terrainProvider = window.terrainLayer
+    this.layerList.push({ id: res.id, type: "dem", });
+  },
+  //鍔犺浇WMS鏈嶅姟
+  setAddWmsLayer(res) {
+    var url = this.getLayrUrl(res)
+    var img_layer = sgworld.Creator.createImageryProvider('giserver', "wms", {
+      url: url,
+      layers: '',
+      parameters: {
+        format: "image/png",
+        transparent: true,
+      }
+    }, "0", undefined, true, "");
+    this.layerList.push({
+      id: res.id,
+      layerData: img_layer,
+      type: "wmts",
+    });
 
-    // let img_layer = Viewer.imageryLayers.addImageryProvider(layer);
-    this.layerList.push({ id: id, type: "dem" });
+  },
+  //鍔犺浇妯″瀷鏈嶅姟
+  setAddModelLayer(res) {
+    var url = this.getLayrUrl(res);
+    let tileset = Viewer.scene.primitives.add(
+      new Cesium.Cesium3DTileset({
+        name: res.cnName,
+        url: url,
+        skipLevelOfDetail: true, // 鍦ㄩ亶鍘嗘椂鍊欒烦杩囪鎯咃細false
+        baseScreenSpaceError: 1024,
+        maximumScreenSpaceError: 64, // 鏈�澶у睆骞曠┖闂撮敊璇細16锛屾暟鍊煎姞澶ц兘璁╂渶缁堟垚鍍忓彉妯$硦
+        skipScreenSpaceErrorFactor: 16,
+        skipLevels: 1,
+        immediatelyLoadDesiredLevelOfDetail: false,
+        loadSiblings: true, // 鑷姩浠庝腑蹇冨紑濮嬭秴娓呭寲妯″瀷锛歠alse
+        cullWithChildrenBounds: true, // 浣跨敤瀛愰」杈圭晫浣撶Н鐨勫苟闆嗘潵鍓旈櫎鍥惧潡锛歵rue
+        cullRequestsWhileMoving: true,
+        cullRequestsWhileMovingMultiplier: 10, // 鍊艰秺灏忚兘澶熸洿蹇殑鍓旈櫎锛�60
+        preloadWhenHidden: true,
+        preferLeaves: true, // 棰勮瀛愯妭鐐癸細false
+        maximumMemoryUsage: 768, // 鍐呭瓨鍒嗛厤鍙樺皬鏈夊埄浜庡唴瀛樺洖鏀讹紝鎻愬崌鎬ц兘浣撻獙
+        progressiveResolutionHeightFraction: 0.5, // 鏁板�煎亸浜�0鑳藉璁╁垵濮嬪姞杞藉彉寰楁ā绯�
+        dynamicScreenSpaceErrorDensity: 0.5, // 鏁板�煎姞澶э紝鑳借鍛ㄨ竟鍔犺浇鍙樺揩
+        dynamicScreenSpaceErrorFactor: 2, // 鍔ㄦ�佸睆骞曠┖闂磋宸殑绯绘暟
+        dynamicScreenSpaceError: true, // 鍑忓皯绂荤浉鏈鸿緝杩滅殑灞忓箷绌洪棿閿欒锛歠alse锛屽叏灞忓姞杞藉畬涔嬪悗鎵嶆竻鏅板寲鎴垮眿
+      })
+
+    );
+    tileset.readyPromise.then((tileset) => {
+      tileset.id = res.id;
+    });
+  },
+  //鍦板舰绉婚櫎浜嬩欢
+  setChangeTearrinLayer() {
+    this.layerList.forEach((e, i) => {
+      switch (e.type) {
+        case "dem":
+          window.Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider(
+            {}
+          );
+          this.layerList.splice(i, 1);
+          break;
+      }
+    })
+  },
+
+  //娓呴櫎鍥惧眰
+  delLayer(code) {
+    this.layerList.forEach((e, i) => {
+      if (e.id === code) {
+        switch (e.type) {
+          case "wmts":
+            debugger
+            window.Viewer.imageryLayers.remove(e.layerData);
+            break;
+          case "tms":
+            window.Viewer.imageryLayers.remove(e.layerData);
+            break;
+          case "dem":
+            window.Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider(
+              {}
+            );
+            break;
+          case "":
+            break;
+        }
+        this.layerList.splice(i, 1);
+      }
+    });
+  },
+  //鍔犺浇GeoServer-WMS鏈嶅姟
+  setAddGeoWmsLayer(res) {
+    var url = this.getLayrUrl(res);
+    let layer = new SmartEarth.Cesium.WebMapServiceImageryProvider({
+      url: url,
+      layers: res.tab,
+      parameters: {
+        transparent: true,
+        format: "image/png",
+        srs: "EPSG:104903",
+        styles: "",
+      },
+      tileWidth: 512,
+      tileHeight: 512,
+    });
+    layer.name = `Wms_Layer${res.id}`;
+    let img_layer = window.Viewer.imageryLayers.addImageryProvider(layer);
+    this.layerList.push({ id: res.id, layerData: img_layer, type: "wmts" });
   },
 };
 export default server;
diff --git a/src/utils/auth.js b/src/utils/auth.js
index 8d4fff7..bff89e4 100644
--- a/src/utils/auth.js
+++ b/src/utils/auth.js
@@ -1,7 +1,7 @@
 const TokenKey = 'Admin-Token';
 
 export function getToken() {
-    console.log(window.sessionStorage.getItem(TokenKey));
+    // console.log(window.sessionStorage.getItem(TokenKey));
     return window.sessionStorage.getItem(TokenKey);
 }
 
diff --git a/src/utils/request.js b/src/utils/request.js
index 6c597b8..989b44e 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -48,7 +48,7 @@
     if (response.data.code !== 200) {
       // ElMessage.error(response.data.msg);
     }
-    if (response.data.code !== 200 && response.data.msg == "鐢ㄦ埛鏈櫥褰�") {
+    if (response.data.code !== 200 && response.data.result == "鐢ㄦ埛鏈櫥褰�") {
       ElMessage.error("鐧诲綍杩囨湡锛岃閲嶆柊鐧诲綍");
       router.push({ path: "/login" });
     }
diff --git a/src/views/layer/layerManage.vue b/src/views/layer/layerManage.vue
index 2d497c0..fda3210 100644
--- a/src/views/layer/layerManage.vue
+++ b/src/views/layer/layerManage.vue
@@ -167,10 +167,7 @@
     DefaultId.value.forEach((v) => {
       if (e.id == v) {
         setVisiable(e, true);
-      } else {
-        if (e.children) {
-          defaultLayer(e.children);
-        }
+        // return;
       }
     });
   });
@@ -261,7 +258,7 @@
 
     //娣诲姞榛樿閫変腑鍥惧眰
     layerListData.value = dt.result;
-    defaultLayer(treeData.value);
+    defaultLayer(dt.result);
     nextTick(() => {
       let son = estreeRef.value.getCheckedNodes();
 
diff --git a/src/views/layer/layerSet.vue b/src/views/layer/layerSet.vue
index 4f453fc..3908cd2 100644
--- a/src/views/layer/layerSet.vue
+++ b/src/views/layer/layerSet.vue
@@ -20,14 +20,51 @@
           @node-click="handleNodeClick"
           ref="treeRef"
         />
+
+        <!-- <div class="contentBox" v-for="(item, i) in menuOption" :key="i">
+          <div
+            class="contentTile"
+            @click.stop="selectList(item)"
+            :class="{ highlight: item.id == selectedNodeId }"
+          >
+            <div class="contentLeft">
+              <div class="contentImg"></div>
+              <div class="contentLabel">{{ item.name }}</div>
+            </div>
+            <div class="contentRight">
+              <div>
+                <div
+                  @click="handlIsShow(item.name)"
+                  class="contentUP"
+                  :class="{ accordion: item.isShow }"
+                ></div>
+              </div>
+            </div>
+          </div>
+
+          <div class="content" v-show="item.isShow">
+            <div
+              class="layer_box"
+              v-for="(v, k) in item.children"
+              :key="k"
+              @click.stop="selectList(v)"
+              :class="{ highlight: v.id == selectedNodeId }"
+            >
+              <div class="contentLeft">
+                <div class="contentImg"></div>
+                <div class="contentLabel">{{ v.name }}</div>
+              </div>
+            </div>
+          </div>
+        </div> -->
       </div>
     </div>
     <div class="edit_box">
       <div class="edit_box_btn btnstyle">
-        <el-button type="primary" :icon="Plus" @click="insertLayerData(1)"
+        <el-button type="primary" :icon="Plus" @click="added('t')"
           >鏂板鍚岀骇</el-button
         >
-        <el-button type="primary" :icon="Plus" @click="insertLayerData(2)"
+        <el-button type="primary" :icon="Plus" @click="added('z')"
           >鏂板瀛愮骇</el-button
         >
         <el-button
@@ -45,168 +82,44 @@
         >
       </div>
       <div class="edit_box_form">
-        <el-form :model="formInline" label-width="120px">
+        <el-form :model="form" label-width="120px">
           <el-form-item label="閫変腑鍥惧眰">
-            <el-select style="width: 100%" v-model="formInline.isLayer">
-              <el-option label="鍥惧眰缁�" value="0"></el-option>
-              <el-option label="鍥惧眰" value="1"></el-option>
-            </el-select>
+            <el-input
+              v-model="form.selectName"
+              disabled
+              placeholder="鐐瑰嚮鍥惧眰鏍戦�夋嫨"
+            />
           </el-form-item>
-          <!-- 鏈嶅姟璧勬簮-->
-          <el-form-item v-show="formInline.isLayer == 1" label="鏈嶅姟璧勬簮">
-            <el-button
-              size="small"
-              class="serviceButton"
-              @click="setServiceChange('0')"
-              key="0"
-              :class="{ serviceActive: !serviceActive }"
-              >鍚�</el-button
-            >
-            <el-button
-              size="small"
-              class="serviceButton"
-              @click="setServiceChange('1')"
-              key="1"
-              :class="{ serviceActive: serviceActive }"
-              >鏄�</el-button
-            >
-          </el-form-item>
-
           <el-form-item label="鍥惧眰鍚嶇О">
-            <el-input
-              v-model="formInline.cnName"
-              placeholder="璇疯緭鍏ュ浘灞傚悕绉�"
-            />
+            <el-input v-model="form.name" placeholder="璇疯緭鍏ュ浘灞傚悕绉�" />
           </el-form-item>
-          <!-- 鏁版嵁绫诲瀷 -->
-          <el-form-item v-show="formInline.isLayer == 1" label="鏁版嵁绫诲瀷">
+          <el-form-item label="鍥惧眰绫诲瀷">
             <el-select
               style="width: 100%"
-              v-model="formInline.data"
-              :disabled="serviceActive"
-              @change="setFromDataTypeClick"
+              v-model="form.region"
+              placeholder="璇烽�夋嫨鍥惧眰绫诲瀷"
             >
               <el-option
-                v-for="item in serveType"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-          <!-- 鏁版嵁绫诲瀷 -->
-          <el-form-item v-show="formInline.isLayer == 1" label="鏈嶅姟绫诲瀷">
-            <el-select
-              style="width: 100%"
-              v-model="formInline.type"
-              :disabled="serviceActive"
-            >
-              <el-option
-                v-for="item in dataType"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              >
-              </el-option>
+                v-for="(e, i) in stretchOptions"
+                :label="e.label"
+                :value="e.value"
+                :key="i"
+              />
             </el-select>
           </el-form-item>
 
-          <el-form-item label="鏈嶅姟鍦板潃" v-show="formInline.isLayer == 1">
-            <el-input
-              v-model="formInline.serviceUrl"
-              placeholder="璇疯緭鍏ユ湇鍔″湴鍧�"
-              :disabled="serviceActive"
-            />
+          <el-form-item label="鏈嶅姟鍦板潃">
+            <el-input v-model="form.layerUrl" placeholder="璇疯緭鍏ユ湇鍔″湴鍧�" />
           </el-form-item>
           <el-form-item>
-            <div class="btnstyle editBtn">
+            <!-- <div class="btnstyle editBtn">
               <el-button type="primary" @click="onSubmit">纭畾</el-button>
-              <el-button class="delbtn" @click="updateRest">鍙栨秷</el-button>
-            </div>
+              <el-button class="delbtn">鍙栨秷</el-button>
+            </div> -->
           </el-form-item>
         </el-form>
       </div>
     </div>
-    <el-dialog title="鏂板" v-model:visible="dialogVisible" width="50%">
-      <div style="width: 100%; max-height: 63vh; overflow-y: auto">
-        <el-form :model="formInline" label-width="120px">
-          <el-form-item label="閫変腑鍥惧眰">
-            <el-select style="width: 100%" v-model="formInline.isLayer">
-              <el-option label="鍥惧眰缁�" value="0"></el-option>
-              <el-option label="鍥惧眰" value="1"></el-option>
-            </el-select>
-          </el-form-item>
-          <!-- 鏈嶅姟璧勬簮-->
-          <el-form-item v-show="formInline.isLayer == 1" label="鏈嶅姟璧勬簮">
-            <el-button
-              size="small"
-              class="serviceButton"
-              @click="setServiceChange('0')"
-              key="0"
-              :class="{ serviceActive: !serviceActive }"
-              >鍚�</el-button
-            >
-            <el-button
-              size="small"
-              class="serviceButton"
-              @click="setServiceChange('1')"
-              key="1"
-              :class="{ serviceActive: serviceActive }"
-              >鏄�</el-button
-            >
-          </el-form-item>
-
-          <el-form-item label="鍥惧眰鍚嶇О">
-            <el-input
-              v-model="formInline.cnName"
-              placeholder="璇疯緭鍏ュ浘灞傚悕绉�"
-            />
-          </el-form-item>
-          <!-- 鏁版嵁绫诲瀷 -->
-          <el-form-item v-show="formInline.isLayer == 1" label="鏁版嵁绫诲瀷">
-            <el-select
-              style="width: 100%"
-              v-model="formInline.data"
-              @change="setFromDataTypeClick"
-            >
-              <el-option
-                v-for="item in serveType"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-          <!-- 鏁版嵁绫诲瀷 -->
-          <el-form-item v-show="formInline.isLayer == 1" label="鏈嶅姟绫诲瀷">
-            <el-select style="width: 100%" v-model="formInline.type">
-              <el-option
-                v-for="item in dataType"
-                :key="item.value"
-                :label="item.label"
-                :value="item.value"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-
-          <el-form-item label="鏈嶅姟鍦板潃" v-show="formInline.isLayer == 1">
-            <el-input
-              v-model="formInline.serviceUrl"
-              placeholder="璇疯緭鍏ユ湇鍔″湴鍧�"
-            />
-          </el-form-item>
-          <el-form-item>
-            <div class="btnstyle editBtn">
-              <el-button type="primary" @click="onSubmit">纭畾</el-button>
-              <el-button class="delbtn" @click="updateRest">鍙栨秷</el-button>
-            </div>
-          </el-form-item>
-        </el-form>
-      </div>
-    </el-dialog>
   </div>
 </template>
 
@@ -221,8 +134,6 @@
 } from "vue";
 import { Plus, Delete, Top, Bottom } from "@element-plus/icons-vue";
 import { ElMessage } from "element-plus";
-import { serve_type, data_type } from "./js/layerManage.js";
-import { removeToken, getToken } from "@/utils/auth";
 const stretchValue = ref("");
 const emits = defineEmits(["SETstate", "addlayer", "delLayer"]);
 //defineProps 鏉ユ帴鏀剁粍浠剁殑浼犲��
@@ -254,134 +165,21 @@
   },
 ];
 
-const formInline = ref({
-  cnName: null,
-  type: null,
-  serveType: null,
-  url: null,
-  dataType: null,
-  bak: null,
-  isShow: "1",
-  isProject: "0",
-  enName: "",
-  isLayer: null,
-  category: null,
-  status: null,
-  service: "0",
-  serviceUrl: null,
-});
-const insertData = ref({
-  cnName: null,
-  type: null,
-  serveType: null,
-  url: null,
-  dataType: null,
-  bak: null,
-  isShow: "1",
-  isProject: "0",
-  enName: "",
-  isLayer: null,
-  category: null,
-  status: null,
-  service: "0",
-  serviceUrl: null,
+const form = reactive({
+  name: "",
+  region: "",
+  selectName: "",
+  layerUrl: "",
+  children: [],
 });
 const props = {
   label: "cnName",
   children: "children",
 };
-let dialogVisible = ref(false);
 // 褰撳墠閫変腑鐨勮妭鐐� id
 const selectedNodeId = ref(null as any); //鍋氱被鍨嬫柇瑷�澶勭悊
 const selectedObj = ref(null);
 let menuOption = ref([]);
-let serviceActive = ref(false);
-let dataType = ref(null);
-let serveType = ref(null);
-let backUpData = ref(null);
-const insertLayerData = (res) => {
-  // if (res == 1) {
-  //   //鏂板鍚岀骇
-  //   id = this.formInline.pid;
-  //   let pchildNodes = this.$refs.tree.getNode(this.newNode.id).parent
-  //     .childNodes;
-  //   orderNum = this.getMaxOrderNum(pchildNodes);
-  //   lever = this.formInline.level;
-  // } else if (res == 2) {
-  //   //鏂板瀛愮骇
-  //   id = this.formInline.id;
-  //   let pchildNodes = this.$refs.tree.getNode(this.newNode.id).childNodes;
-  //   orderNum = this.getMaxOrderNum(pchildNodes);
-  //   lever = this.formInline.level + 1;
-  // }
-  // this.insertData.pid = id;
-  // this.insertData.level = lever;
-  // this.insertData.orderNum = orderNum;
-
-  dialogVisible.value = true;
-};
-//淇敼閲嶇疆
-const updateRest = () => {
-  var res = JSON.parse(backUpData.value);
-  formInline.value = res;
-  formInline.value.isLayer = res.isLayer.toString();
-
-  formInline.value.status = res.status.toString();
-  // this.formInline.isProject = res.isProject.toString();
-};
-//涓嬫媺鑿滃崟鍒濆鍖�
-const optionsStart = () => {
-  var std = [];
-  var ste = [];
-  for (var i in serve_type) {
-    ste.push({
-      value: serve_type[i].value,
-      label: serve_type[i].name,
-    });
-  }
-  serveType.value = std;
-  for (var i in data_type) {
-    std.push({
-      value: data_type[i].value,
-      label: data_type[i].name,
-      children: data_type[i].children,
-    });
-  }
-  dataType.value = ste;
-};
-const setInsertDataTypeChange = (res) => {
-  var filter = serveType.value.filter((rs) => {
-    if (rs.value == res) {
-      return rs;
-    }
-  });
-  if (filter.length <= 0) return;
-  var std = [];
-  var data = filter[0].children;
-  for (var i in data) {
-    for (var j in serve_type) {
-      if (serve_type[j].value == data[i]) {
-        std.push({
-          value: serve_type[j].value,
-          label: serve_type[j].name,
-        });
-      }
-    }
-  }
-  dataType.value = std;
-};
-const setFromDataTypeClick = (res) => {
-  setInsertDataTypeChange(res);
-  formInline.value.type = dataType.value[0].value;
-};
-const setServiceChange = (res) => {
-  if (res == "1") {
-    // this.setServiceRest()
-  } else {
-    serviceActive.value = false;
-    formInline.value.resid = 0;
-  }
-};
 const handleCheckChange = (
   data: Tree,
   checked: boolean,
@@ -396,35 +194,14 @@
 // 澶勭悊鑺傜偣鐐瑰嚮浜嬩欢
 function handleNodeClick(data: any) {
   console.log(data);
-  console.log(formInline.value);
   if (data.id === selectedNodeId.value) {
     // 濡傛灉褰撳墠鑺傜偣宸茬粡閫変腑锛屽垯鍙栨秷閫変腑
     selectedNodeId.value = null;
   } else {
     // 鍚﹀垯閫変腑褰撳墠鑺傜偣
     selectedNodeId.value = data.id;
+    form.selectName = data.cnName;
     selectedObj.value = data;
-    backUpData.value = JSON.stringify(data);
-    // this.currentData = JSON.stringify(result)
-    formInline.value = data;
-    formInline.value.isLayer = data.isLayer.toString();
-    if (data.resid && data.resid > 0) {
-      serviceActive.value = true;
-    } else {
-      serviceActive.value = false;
-    }
-    var url;
-    if (!serviceActive.value) {
-      url = data.url;
-    } else if (serviceActive.value) {
-      var token = getToken();
-      if (data.url.indexOf("{token}") > -1) {
-        url = BASE_URL + data.url.replaceAll("{token}", token);
-      } else {
-        url = data.url;
-      }
-    }
-    formInline.value.serviceUrl = url;
   }
 }
 //鏂板
@@ -435,17 +212,14 @@
   }
   var addObj = {
     id: id,
-    cnName: formInline.value.name,
-    region: formInline.value.region,
-    url: formInline.value.layerUrl,
+    cnName: form.name,
+    region: form.region,
+    layerUrl: form.layerUrl,
     children: [],
-    type: 2, //鏁版嵁绫诲瀷
-    proxy: null,
-    data: 0,
-    tab: "", //Geoserver 鍚嶇О锛�
-    category: "", //鏈嶅姟绫诲埆 Geoserver ,
+    type: 2,
+    parentId: null,
   };
-  if (formInline.value.region == "鐩綍") {
+  if (form.region == "鐩綍") {
     addObj.type = 1;
   }
 
@@ -514,7 +288,6 @@
   }
   emits("addlayer", { type: type, id: selectedObj.value.id });
 };
-optionsStart();
 </script>
 
 <style lang="less" scoped>
@@ -570,8 +343,7 @@
   width: 359px;
   height: 615px;
   background: rgba(7, 8, 14, 0.8);
-  // padding-bottom: 60px;
-  box-sizing: border-box;
+
   .layerTitle {
     width: calc(100% - 27px);
     height: 42px;
@@ -606,19 +378,6 @@
   }
   .layerContent {
     padding: 0 8px;
-    height: 92%;
-    overflow: auto;
-  }
-  .layerContent::-webkit-scrollbar {
-    width: 8px;
-  }
-  .layerContent::-webkit-scrollbar-thumb {
-    border-radius: 10px;
-    background: rgba(0, 0, 0, 0.2);
-  }
-  .layerContent::-webkit-scrollbar-track {
-    border-radius: 0;
-    background: rgba(0, 0, 0, 0);
   }
   .contentBox {
     margin-top: 3px;
@@ -714,7 +473,6 @@
     }
   }
 }
-
 .editBtn {
   width: 100%;
   display: flex;
@@ -759,14 +517,5 @@
 // }
 .highlight {
   background: rgba(104, 156, 255, 0.5) !important;
-}
-.serviceButton {
-  background: transparent !important;
-  color: #dcdfe6;
-}
-.serviceActive {
-  background: transparent !important;
-  color: #46a6ff;
-  border: 1px solid #46a6ff;
 }
 </style>

--
Gitblit v1.9.3