From e59dff960b556d7ab4b888681cfb9478d4ac8ee4 Mon Sep 17 00:00:00 2001
From: lixuliang <lixuliang_hd@126.com>
Date: 星期四, 18 四月 2024 19:13:27 +0800
Subject: [PATCH] 图层树

---
 src/components/props/situationComparison7-1.vue | 2182 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 1,986 insertions(+), 196 deletions(-)

diff --git a/src/components/props/situationComparison7-1.vue b/src/components/props/situationComparison7-1.vue
index b5ad4f0..54fb3ba 100644
--- a/src/components/props/situationComparison7-1.vue
+++ b/src/components/props/situationComparison7-1.vue
@@ -1,95 +1,245 @@
 <template>
-  <div class="bot"
-       v-if="showsituation">
+  <div class="bot" v-if="showsituation">
     <div class="top1">
       <span class="botcon">
         <span class="icon"></span>
-        <span class="text">zcTS\绛瑰垝姝ラ</span>
+        <span class="text">璧勬簮鐩綍</span>
       </span>
-      <span class="close"
-            @click="close">x</span>
+      <span class="close" @click="close">x</span>
     </div>
     <div class="next">
-      <el-form ref="form"
-               :model="form"
-               label-width="240px">
-        <el-form-item label="鍖哄煙:">
-          <el-select v-model="form.points"
-                     @change="changeplase">
-            <el-option v-for="(item, index) in regions"
-                       :key="index"
-                       :label="item.vname"
-                       :value="{ value: item.vlatlngs, label: item.vname }">
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="璧峰鏃堕棿:">
-          <el-date-picker v-model="form.startTime"
-                          value-format="yyyyMMdd"
-                          :picker-options="pickerOptions"
-                          format="yyyy-MM-dd"
-                          type="date"
-                          placeholder="閫夋嫨鏃ユ湡"
-                          @change="change">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="缁撴潫鏃堕棿:">
-          <el-date-picker v-model="form.endTime"
-                          value-format="yyyyMMdd"
-                          :picker-options="pickerOptions"
-                          format="yyyy-MM-dd"
-                          type="date"
-                          placeholder="閫夋嫨鏃ユ湡"
-                          @change="change1">
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="鍒嗘瀽绫诲瀷:">
-          <el-select v-model="form.analysisType">
-            <el-option label="棰戠偣"
-                       value="1"></el-option>
-            <el-option label="棰戞"
-                       value="2"></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="鏃犵嚎鐢典笟鍔�:">
-          <el-select v-model="form.radio"
-                     @change="choose">
-            <el-option v-for="item in radios"
-                       :key="item.value"
-                       :label="item.bussName"
-                       :value="item.startFreq + '-' + item.endFreq">
-            </el-option>
-          </el-select>
-        </el-form-item>
-      </el-form>
-      <div class="btns">
-        <span @click="reset">閲嶇疆</span>
-        <span @click="analysis">鍒嗘瀽</span>
+      <div class="layerTreeContainer">
+        <div class="layerTree">
+          <el-tree
+            :data="treeData"
+            node-key="id"
+            ref="tree"
+            :default-checked-keys="arr"
+            show-checkbox
+            :render-content="renderContent"
+            :default-expanded-keys="defaultExpanded"
+            @check="check"
+          >
+          </el-tree>
+        </div>
       </div>
     </div>
-    <div class="showpic"
-         v-if="showpic">
-      <div :style="innerbac"
-           @click="openDia"></div>
-    </div>
-    <changePic @colordata="getdata" />
   </div>
+
+  <!-- <div class="bot" v-if="showsituation">
+    <div class="top1">
+      <span class="botcon">
+        <span class="icon"></span>
+        <span class="text">璧勬簮鐩綍</span>
+      </span>
+      <span class="close" @click="close">x</span>
+    </div>
+    
+  </div> -->
 </template>
 
 <script>
-import { createPic,freqBandAnalysis,showCQ } from "../../api/http";
+import { createPic, freqBandAnalysis, showCQ } from "../../api/http";
 import changePic from "../common/color.vue";
 import bus from "../../utils/bus";
 import axios from "axios";
 
-let hander,divPoint3;
-let Base64=require("js-base64").Base64;
+import common from "@/components/common";
+let projectTreeData = [];
+
+//娣诲姞宸ョ▼鏍戞暟鎹�
+function addTreeData(data, layer) {
+  var d = {};
+  for (var key in data) {
+    d[key] = data[key];
+  }
+  d.item = layer;
+  projectTreeData.push(d);
+}
+
+//閫氳繃id鑾峰彇鎸囧畾鍏冪礌
+function _getTreeData(id) {
+  for (var i = 0; i < projectTreeData.length; i++) {
+    if (
+      projectTreeData[i].id === id ||
+      (projectTreeData[i].datatype === "entity" &&
+        projectTreeData[i].item &&
+        projectTreeData[i].item.entity &&
+        projectTreeData[i].item.entity.id === id) ||
+      (projectTreeData[i].datatype === "editEntity" &&
+        projectTreeData[i].item &&
+        projectTreeData[i].item[projectTreeData[i].type] &&
+        projectTreeData[i].item[projectTreeData[i].type].id === id)
+    ) {
+      return projectTreeData[i];
+    }
+  }
+}
+
+//杞崲sg棰滆壊
+function getSGColor(color) {
+  let _color = parseInt(color).toString(16);
+  if (_color.length === 2) {
+    _color = "0000" + _color;
+  } else if (_color.length === 4) {
+    _color = "00" + _color;
+  }
+  _color = "#" + _color.slice(4) + _color.slice(2, 4) + _color.slice(0, 2);
+  return _color;
+}
+
+//瑙f瀽XML
+function getXMLData(xml, isColor) {
+  let xml2json = $.xml2json($.parseXML(xml));
+  let data = {
+    value: undefined,
+    defaultValue: isColor
+      ? getSGColor(xml2json.DefaultValue)
+      : xml2json.DefaultValue,
+  };
+
+  if (xml2json && !xml2json.Class.length) {
+    data.value = xml2json.Class.Value;
+  } else if (xml2json && xml2json.Class.length) {
+    let Value = {
+      Condition: undefined,
+      Value: {},
+    };
+    xml2json.Class.forEach((item) => {
+      let condition = item.Condition.replace(/\"/g, "");
+      let eli = condition.replace("<", "").replace(">", "").split("=");
+      if (!Value.Condition) {
+        eli[0] = eli[0].replace("[", "").replace("]", "");
+        Value.Condition = eli[0];
+      }
+      Value.Value[eli[1]] = isColor ? getSGColor(item.Value) : item.Value;
+    });
+    data.value = Value;
+  }
+  return data;
+}
+
+// 鏍规嵁鏍峰紡鏂囦欢 杞负鏍峰紡
+function GetStyleByStyleJson(json) {
+  if (json instanceof Array) {
+    json = json[0];
+  }
+  let entity = { label: {}, billboard: {} };
+  //瀛椾綋棰滆壊
+  if (json.TextColor.indexOf("Classification") > -1) {
+    entity.label.fillColor = getXMLData(json.TextColor, true);
+  } else {
+    entity.label.fillColor = getSGColor(json.TextColor);
+  }
+
+  //瀛椾綋澶у皬
+  if (json.TextSize.indexOf && json.TextSize.indexOf("Classification") > -1) {
+    json.TextSize = getXMLData(json.TextSize);
+    json.TextSize.defaultValue =
+      Math.abs(parseInt(json.TextSize.defaultValue)) + "px " + json.Font;
+    for (let key in json.TextSize.value.Value) {
+      json.TextSize.value.Value[key] =
+        Math.abs(parseInt(json.TextSize.value.Value[key])) + "px " + json.Font;
+    }
+    entity.label.font = json.TextSize;
+  } else {
+    entity.label.font = json.TextSize + "px " + json.Font;
+  }
+  //瀛椾綋椋庢牸
+  // if (json.Font.indexOf("Classification") > -1) {
+  //   json.Font = getXMLData(json.Font);
+  //   entity.label.fontFamily = json.Font;
+  // }
+  // entity.label.sacle = json.Scale;
+
+  entity.label.showBackground = !!parseInt(json.BackgroundOpacity);
+  if (entity.label.showBackground) {
+    if (json.BackgroundColor.indexOf("Classification") > -1) {
+      entity.label.backgroundColor = getXMLData(json.BackgroundColor, true);
+    } else {
+      entity.label.backgroundColor = getSGColor(json.BackgroundColor);
+    }
+  }
+
+  entity.near = json.MinVisibilityDistance;
+  entity.far = json.MaxVisibilityDistance;
+
+  if (json.Text && json.Text.indexOf("Classification") > -1) {
+    entity.label.text = getXMLData(json.Text);
+  } else {
+    entity.label.text = json.Text;
+  }
+
+  if (json.Imagefile && json.Imagefile.indexOf("Classification") > -1) {
+    entity.billboard.image = getXMLData(json.Imagefile);
+  } else {
+    entity.billboard.image = json.Imagefile;
+  }
+
+  if (entity.billboard.image && entity.label.text) {
+    entity.imageData = {
+      horizontalOrigin: Cesium.HorizontalOrigin.RIGHT,
+    };
+    entity.labelData = {
+      horizontalOrigin: Cesium.HorizontalOrigin.LEFT,
+    };
+  }
+
+  return entity;
+}
+
+//鑾峰彇鐭㈤噺鍒囩墖娉ㄨ鐐规牱寮�
+async function getVectorStyleFromSG(treeNode, json) {
+  let de;
+
+  await axios.get(json).then((res) => {
+    let entitystyle = GetStyleByStyleJson(res.data);
+
+    de = {
+      id: treeNode.id,
+      level_min: defaultValue(treeNode.minimumLevel, 10),
+      level_max: defaultValue(treeNode.maximumLevel, 22),
+      fillColor: defaultValue(entitystyle.label.fillColor, "#ffffff"),
+      outlineColor: defaultValue(entitystyle.label.outlineColor, "#ffffff"),
+      backgroundColor: defaultValue(
+        entitystyle.label.backgroundColor,
+        "#ffffff"
+      ),
+      heightReference: defaultValue(treeNode.heightReference, 1),
+      pointHeight: defaultValue(treeNode.pointHeight, undefined),
+      showBackground: defaultValue(entitystyle.label.showBackground, false),
+      outlineWidth: defaultValue(entitystyle.label.outlineWidth, 1),
+      text: entitystyle.label.text,
+      image: entitystyle.billboard.image,
+      font: entitystyle.label.font,
+      near: entitystyle.near,
+      far: entitystyle.far,
+      disableDepthTestDistance: Number.POSITIVE_INFINITY,
+      scale: entitystyle.label.scale,
+      labelData: entitystyle.labelData,
+      imageData: entitystyle.imageData,
+    };
+  });
+  return de;
+}
+
+function defaultValue(a, b) {
+  return a !== undefined ? a : b;
+}
+let hander, divPoint3;
+let Base64 = require("js-base64").Base64;
 export default {
   components: {
     changePic,
   },
-  data () {
+  data() {
     return {
+      alldisabled: [],
+      defaultExpanded: [],
+      arr: [], //鐢ㄦ潵淇濆瓨璧勬簮鐩綍涓粯璁ら�変腑鐨勮妭鐐筰d
+      SmartEarthToken: undefined,
+      treeData: [],
+      defaultCheck: [],
       form: {
         points: "",
         startTime: new Date("2016-06-01"),
@@ -115,7 +265,7 @@
         border: "1px solid #000",
         transform: "translate(40px,90px)",
         backgroundImage:
-          "url("+require("@/assets/image/botbtn/color.png")+")",
+          "url(" + require("@/assets/image/botbtn/color.png") + ")",
         backgroundPosition: "center",
         backgroundSize: ` 100% 100%`,
       },
@@ -124,32 +274,1608 @@
       showDianci: false,
     };
   },
-  mounted () {
-    bus.$on("clearEve",(e) => {
-      this.reset();
-    });
-    bus.$on("radioData",(e) => {
-      this.radios=e;
-    });
-    bus.$on("guanzhou",(e) => {
-      this.form.startTime=e.fromdate;
-      this.form.endTime=e.todate;
-    });
-    bus.$on("areaData",(e) => {
-      this.regions=e;
-    });
-    bus.$on("showdio",(e) => {
-      this.showsituation=e=="7-1"
-      this.showdata1=true;
-      this.showdata2=true;
+  mounted() {
+    window.ProjectTree = this.$refs.tree;
+    //鑾峰彇token骞惰姹傚姞杞藉浘灞傛暟鎹�
+    this.SmartEarthToken = common.smartearthtoken;
+
+    this.$nextTick(() => {
+      bus.$on("clearEve", (e) => {
+        this.reset();
+      });
+      bus.$on("radioData", (e) => {
+        this.radios = e;
+      });
+      bus.$on("guanzhou", (e) => {
+        this.form.startTime = e.fromdate;
+        this.form.endTime = e.todate;
+      });
+      bus.$on("areaData", (e) => {
+        this.regions = e;
+      });
+      bus.$on("showdio", (e) => {
+        this.showsituation = e == "7-1";
+        this.showdata1 = true;
+        this.showdata2 = true;
+      });
+      axios.get("./static/layers.json").then(
+        (response) => {
+          console.log(response);
+          // // 寰楀埌榛樿閫変腑鐨勬暟鎹殑id
+          this.parseJson(response.data.children);
+
+          // //鍦烘櫙閰嶇疆
+          this.treeData = response.data && response.data.children;
+          this.setDefaultCheck(response.data);
+        },
+        (response) => {
+          console.log("鑾峰彇鍦烘櫙閰嶇疆澶辫触锛�");
+        }
+      );
     });
   },
   methods: {
-    changeplase (value) {
-      if(value.label.indexOf("骞垮窞")>-1) {
-        this.chooseplase="骞垮窞";
-        this.form.startTime=new Date("2019-10-08");
-        this.form.endTime=new Date("2019-10-16");
+    // yhadd
+    closeJm() {
+      this.$parent.$parent.$parent.isShowResMenu = false;
+    },
+
+    // 閫掑綊閬嶅巻json锛屽緱鍒癱hecked:true鐨勬暟鎹殑id锛屾坊鍔犲埌arr涓�
+    parseJson(jsonObj) {
+      // 澹版槑鍙橀噺count锛岃褰昫isabled瀛樺湪鐨勮妭鐐圭殑鍏ㄩ儴鏁版嵁
+      var count = 0;
+      for (var v in jsonObj) {
+        var element = jsonObj[v];
+        if (element.expanded) {
+          this.defaultExpanded.push(element.id);
+        }
+        if (element.children == undefined || element.children.length == 0) {
+          if (element._children == undefined || element._children.length == 0) {
+            if (element.checked) {
+              this.arr.push(element.id);
+            }
+            if (element.urls == undefined || element.urls == "") {
+              element.disabled = true;
+              count++;
+            }
+          } else {
+            this.parseJson(element._children);
+          }
+        } else {
+          this.parseJson(element.children);
+        }
+      }
+      if (count !== 0) {
+        // 娣诲姞鍚湁disabled灞炴�х殑鑺傜偣鏁扮粍锛�
+        this.alldisabled.push(jsonObj);
+      }
+    },
+
+    async setDefaultCheck(node) {
+      this.ergodicNode(node);
+      // this.$refs.tree.setCheckedKeys(this.defaultCheck);
+      // setTimeout(()=>{
+      //   this.$refs.tree.setCheckedKeys(['tc3857']);
+      // },1000)
+    },
+    ergodicNode(node) {
+      if (node.expanded) {
+        this.defaultExpanded.push(node.id);
+      }
+      if (node.checked && !node.children) {
+        this.defaultCheck.push(node.id);
+        if (!node.isAdd) {
+          if (node._children) {
+            if (node.thisView) {
+              if (node._children[0].children) {
+                node._children[0].children.forEach((item) => {
+                  this.addTreeData(item);
+                });
+              } else {
+                this.addTreeData(node._children[0]);
+              }
+            } else {
+              node._children.forEach((item) => {
+                this.addTreeData(item);
+              });
+            }
+          } else {
+            this.addTreeData(node);
+          }
+        }
+      }
+      if (node.children && node.children.length) {
+        node.children.forEach((item) => {
+          this.ergodicNode(item);
+        });
+      }
+    },
+    checkChange(treeNode, b1, b2) {
+      if (!treeNode.children && !treeNode._children) {
+        var checkedKeys = this.$refs.tree.getCheckedKeys();
+        let isCheck = checkedKeys.indexOf(treeNode.id) > -1;
+        this.setVisiable(treeNode, isCheck);
+      }
+    },
+    setChecked(id) {
+      var checkedKeys = this.$refs.tree.getCheckedKeys();
+      let isCheck = checkedKeys.indexOf(id) > -1;
+      let treeNode = this.$refs.tree.getNode(id);
+      if (treeNode && treeNode.data) {
+        this.setVisiable(treeNode.data, isCheck);
+      }
+    },
+    check(treeNode, data) {
+      let isCheck = data.checkedKeys.indexOf(treeNode.id) > -1;
+      this.setVisiable(treeNode, isCheck);
+    },
+    setVisiable(treeNode, checked) {
+      if (checked !== undefined) {
+        treeNode.checked = checked;
+      } else {
+        treeNode.checked = !treeNode.checked;
+      }
+      if (treeNode.children) {
+        treeNode.children.forEach((item) => {
+          this.setVisiable(item, treeNode.checked);
+        });
+        return;
+      } else if (treeNode._children) {
+        if (treeNode.thisView === "ewzj") {
+          treeNode._children[0].checked = treeNode.checked;
+          if (treeNode._children[0].children) {
+            treeNode._children[0].children.forEach((item) => {
+              item.checked = treeNode.checked;
+              this.addTreeData(item);
+            });
+          } else {
+            this.addTreeData(treeNode._children[0]);
+          }
+        } else if (treeNode.thisView === "swzj") {
+          for (let i = 1; i < treeNode._children.length; i++) {
+            treeNode._children[i].checked = treeNode.checked;
+          }
+          treeNode._children.forEach((item, index) => {
+            index !== 0 && this.addTreeData(item);
+          });
+        } else if (!treeNode.thisView) {
+          treeNode._children.forEach((item, index) => {
+            item.checked = treeNode.checked;
+            if (item.children) {
+              item.children.forEach((_item) => {
+                _item.checked = item.checked;
+                this.addTreeData(_item);
+              });
+            } else {
+              this.addTreeData(item);
+            }
+          });
+        }
+        return;
+      }
+
+      if (!treeNode.isAdd) {
+        this.addTreeData(treeNode);
+        return;
+      }
+
+      let data = _getTreeData(treeNode.id);
+      if (data) {
+        data.item &&
+          data.item.setVisibility &&
+          data.item.setVisibility(treeNode.checked);
+        data.item &&
+          data.item.setVisible &&
+          data.item.setVisible(treeNode.checked);
+        data.item &&
+          data.item.show !== undefined &&
+          (data.item.show = treeNode.checked);
+        if (data.datatype === "particle") {
+          data.item.forEach((item) => {
+            item.show = treeNode.checked;
+          });
+        }
+      } else {
+        if (
+          treeNode.id &&
+          treeNode.id.indexOf &&
+          treeNode.id.indexOf("---") > -1
+        ) {
+          var ids = id.split("---");
+          ids.forEach((item) => {
+            sgworld.ProjectTree.setVisibility(item, treeNode.checked);
+          });
+        } else {
+          sgworld.ProjectTree.setVisibility(treeNode.id, treeNode.checked);
+
+          var dd = Viewer.dataSources._dataSources.filter((item) => {
+            return item.name == treeNode.id;
+          });
+          if (dd && dd.length > 0) {
+            dd[0].show = treeNode.checked;
+          }
+        }
+      }
+    },
+    props(data) {
+      if (data.class === "imageLayer") {
+        window.treeObj = {
+          rightClickData: data,
+        };
+        layerOpen("褰卞儚", {
+          width: 320,
+          height: 310,
+          url: "./static/html/layerProp.html",
+          fn: {
+            end: function () {},
+          },
+        });
+      } else if (data._children) {
+        if (data.thisView === "ewzj") {
+          data.thisView = "swzj";
+          data.name = "涓夌淮娉ㄨ";
+          data._children[0].checked = false;
+          for (let i = 1; i < data._children.length; i++) {
+            data._children[i].checked = data.checked;
+          }
+          data._children.forEach((item) => {
+            if (item.children) {
+              item.children.forEach((_item) => {
+                _item.checked = item.checked;
+                this.addTreeData(_item);
+              });
+            } else {
+              this.addTreeData(item);
+            }
+          });
+        } else if (data.thisView === "swzj") {
+          data.thisView = "ewzj";
+          data.name = "浜岀淮娉ㄨ";
+          data._children[0].checked = data.checked;
+          for (let i = 1; i < data._children.length; i++) {
+            data._children[i].checked = false;
+          }
+          data._children.forEach((item) => {
+            if (item.children) {
+              item.children.forEach((_item) => {
+                _item.checked = item.checked;
+                this.addTreeData(_item);
+              });
+            } else {
+              this.addTreeData(item);
+            }
+          });
+        }
+      }
+    },
+    flyTo(treeNode) {
+      if (treeNode.children) return;
+      if (treeNode._children && treeNode._children[0]) {
+        this.flyTo(treeNode._children[0]);
+        return;
+      }
+      if (treeNode && treeNode.flyTo) {
+        if (treeNode && treeNode.flyTo.length === 3) {
+          sgworld.Navigate.flyToPosition(
+            treeNode.flyTo[0],
+            treeNode.flyTo[1],
+            treeNode.flyTo[2]
+          );
+        } else if (treeNode && treeNode.flyTo.length === 4) {
+          sgworld.Navigate.flyToPointsInterest({
+            destination: Cesium.Rectangle.fromDegrees(
+              treeNode.flyTo[0],
+              treeNode.flyTo[1],
+              treeNode.flyTo[2],
+              treeNode.flyTo[3]
+            ),
+          });
+        } else {
+          sgworld.Navigate.flyToPointsInterest({
+            destination: Cesium.Cartesian3.fromDegrees(
+              treeNode.flyTo[0],
+              treeNode.flyTo[1],
+              treeNode.flyTo[2]
+            ),
+            orientation: {
+              heading: treeNode.flyTo[3],
+              pitch: treeNode.flyTo[4],
+              roll: treeNode.flyTo[5],
+            },
+          });
+        }
+        return;
+      }
+      let data = sgworld.ProjectTree.getObject(treeNode.id);
+      data && data.item
+        ? sgworld.Navigate.flyToObj(data.item)
+        : sgworld.Navigate.flyToObj(data);
+      if (data && data.datatype === "editEntity") {
+        data && data.item && sgworld.Navigate.flyToObj(data.item[data.type]);
+      }
+    },
+    renderContent(h, { node, data, store }) {
+      if (data.icon) {
+        return (
+          <span class="custom-tree-node" on-dblclick={() => this.flyTo(data)}>
+            <span class="typeIcon">
+              <img src={data.icon} />
+            </span>
+            <span class="treeName">{data.name}</span>
+          </span>
+        );
+      } else {
+        return (
+          <span class="custom-tree-node" on-dblclick={() => this.flyTo(data)}>
+            <span class="treeName">{data.name}</span>
+          </span>
+        );
+      }
+    },
+    async addTreeData(treeNode) {
+      // if (treeNode.disabled) return;
+      let _data = sgworld.ProjectTree.getObject(treeNode.id);
+      let pID = 0;
+
+      if (_data) {
+        sgworld.ProjectTree.setVisibility(treeNode.id, treeNode.checked);
+        return;
+      } else {
+        _data = _getTreeData(treeNode.id);
+        if (_data) {
+          _data.item &&
+            _data.item.setVisibility &&
+            _data.item.setVisibility(treeNode.checked);
+          _data.item &&
+            _data.item.setVisible &&
+            _data.item.setVisible(treeNode.checked);
+          _data.item &&
+            _data.item.show !== undefined &&
+            (_data.item.show = treeNode.checked);
+          if (_data.datatype === "particle") {
+            _data.item.forEach((item) => {
+              item.show = treeNode.checked;
+            });
+          }
+          return;
+        }
+      }
+      if (!treeNode.urls || treeNode.isAdd) return;
+      treeNode.isAdd = true;
+
+      let layer;
+      treeNode.token &&
+        treeNode.token === "SmartEarthToken" &&
+        (treeNode.token = this.SmartEarthToken);
+      switch (treeNode.sourceType) {
+        case "tms":
+          layer = sgworld.Creator.createImageryProvider(
+            treeNode.name,
+            "tms",
+            {
+              id: treeNode.id,
+              url: treeNode.urls,
+              fileExtension: treeNode.img || "png",
+              enablePickFeatures: false,
+              alpha: treeNode.alpha,
+            },
+            "0",
+            undefined,
+            true,
+            ""
+          );
+
+          break;
+        case "local-map":
+          // 娣诲姞鏈湴鍦板浘
+          if (treeNode.tms) {
+            layer = sgworld.Creator.createImageryProvider(
+              treeNode.name,
+              "tms",
+              {
+                id: treeNode.id,
+                url: treeNode.urls,
+                fileExtension: treeNode.img || "png",
+                enablePickFeatures: false,
+                level: treeNode.Level,
+                minimumLevel: treeNode.minimumLevel,
+                maximumLevel: treeNode.maximumLevel,
+                tilingScheme:
+                  treeNode.tileType === "Geo"
+                    ? new Cesium.GeographicTilingScheme()
+                    : new Cesium.WebMercatorTilingScheme(),
+                alpha: treeNode.alpha,
+              },
+              "0",
+              treeNode.zIndex,
+              true,
+              ""
+            );
+          } else {
+            layer = sgworld.Creator.createUrlTemplateImageryProvider(
+              treeNode.name,
+              {
+                id: treeNode.id,
+                url: `${treeNode.urls}/${treeNode.tile || "{z}/{x}/{y}"}.${
+                  treeNode.img || "png"
+                }`,
+                enablePickFeatures: false,
+                level: treeNode.Level,
+                minimumLevel: treeNode.minimumLevel,
+                maximumLevel: treeNode.maximumLevel,
+                tilingScheme:
+                  treeNode.tileType === "Geo"
+                    ? new Cesium.GeographicTilingScheme()
+                    : new Cesium.WebMercatorTilingScheme(),
+                alpha: treeNode.alpha,
+              },
+              "0",
+              treeNode.zIndex,
+              true,
+              ""
+            );
+          }
+          break;
+        case "kml":
+          // 娣诲姞kml鏁版嵁
+          layer = sgworld.Creator.addKmlLayer(
+            treeNode.name,
+            {
+              id: treeNode.id,
+              url: treeNode.urls,
+            },
+            true
+          );
+          break;
+        case "google":
+          // 娣诲姞璋锋瓕鍦板浘
+          layer = sgworld.Creator.createUrlTemplateImageryProvider(
+            treeNode.name,
+            {
+              id: treeNode.id,
+              url: treeNode.urls,
+              enablePickFeatures: false,
+              level: treeNode.Level,
+              minimumLevel: treeNode.minimumLevel,
+              maximumLevel: treeNode.maximumLevel,
+              alpha: treeNode.alpha,
+            },
+            "0",
+            treeNode.zIndex,
+            true,
+            ""
+          );
+          break;
+        case "arcgis":
+          // arcgis鍦板浘
+          layer = sgworld.Creator.createArcGisImageryLayer(
+            treeNode.name,
+            {
+              id: treeNode.id,
+              url: treeNode.urls,
+              enablePickFeatures: false,
+              level: treeNode.Level,
+              usePreCachedTilesIfAvailable: treeNode.GCJ02 ? false : true, // 鏄惁浣跨敤鏈嶅姟鐨勫唴缃殑鍒囩墖鏂规锛屽亸绉荤籂姝i渶瑕佷娇鐢ㄥ涓嬭嚜瀹氫箟鐨勬柟妗�
+              tilingScheme: treeNode.GCJ02
+                ? sgworld.Core.getOffsetTilingScheme()
+                : undefined, // 鍋忕Щ绾犳
+              minimumLevel: treeNode.minimumLevel,
+              maximumLevel: treeNode.maximumLevel,
+              alpha: treeNode.alpha,
+            },
+            "0",
+            treeNode.zIndex,
+            true,
+            ""
+          );
+          break;
+        case "mapbox":
+          // mapbox鍦板浘
+          layer = sgworld.Creator.createImageryProvider(
+            treeNode.name,
+            "MapBox",
+            {
+              id: treeNode.id,
+              name: treeNode.name,
+              level: treeNode.Level,
+              enablePickFeatures: false,
+              mapId: treeNode.mapId,
+              minimumLevel: treeNode.minimumLevel,
+              maximumLevel: treeNode.maximumLevel,
+              alpha: treeNode.alpha,
+              accessToken:
+                treeNode.token ||
+                "pk.eyJ1IjoibWFyc2dpcyIsImEiOiJja2Fod2xlanIwNjJzMnhvMXBkMnNqcjVpIn0.WnxikCaN2KV_zn9tLZO77A",
+            },
+            "0",
+            treeNode.zIndex,
+            true,
+            ""
+          );
+          break;
+        case "tdmap":
+          // 澶╁湴鍥�
+          layer = sgworld.Creator.createWebMapTileServerImageLayer(
+            treeNode.name,
+            {
+              id: treeNode.id,
+              url: treeNode.urls,
+              level: treeNode.Level,
+              minimumLevel: treeNode.minimumLevel,
+              maximumLevel: 18,
+              style: treeNode.style,
+              layer: treeNode.layer,
+              format: treeNode.format,
+              enablePickFeatures: false,
+              tileMatrixSetID: "tiff",
+              show: true,
+              subdomains: ["t0", "t1", "t2", "t3", "t4", "t5", "t6", "t7"],
+              alpha: treeNode.alpha,
+            },
+            "0",
+            treeNode.zIndex,
+            true,
+            ""
+          );
+          break;
+        case "tdt_label":
+          // 澶╁湴鍥句笁缁存敞璁�
+          layer = sgworld.Creator.GeoWTFS({
+            token: treeNode.token || "c53eb074c3fcba5ac86103d4d711bbe8",
+            url: treeNode.urls,
+            subdomains: ["0", "1", "2", "3", "4", "5", "6", "7"],
+          });
+          break;
+        case "txmap":
+          // 鑵捐鍦板浘
+          layer = sgworld.Creator.createUrlTemplateImageryProvider(
+            treeNode.name,
+            {
+              id: treeNode.id,
+              url: treeNode.urls,
+              level: treeNode.Level,
+              enablePickFeatures: false,
+              minimumLevel: treeNode.minimumLevel,
+              maximumLevel: 18,
+              alpha: treeNode.alpha,
+              tilingScheme: sgworld.Core.getOffsetTilingScheme(), // 鍋忕Щ绾犳
+              customTags: {
+                sx: (_imageryProvider, x) => {
+                  return x >> 4;
+                },
+                sy: (_imageryProvider, _x, y, level) => {
+                  return ((1 << level) - y) >> 4;
+                },
+              },
+            },
+            "0",
+            treeNode.zIndex,
+            true,
+            ""
+          );
+          break;
+        case "gdmap":
+          // 楂樺痉鍦板浘
+          layer = sgworld.Creator.createUrlTemplateImageryProvider(
+            treeNode.name,
+            {
+              id: treeNode.id,
+              url: treeNode.urls,
+              enablePickFeatures: false,
+              level: treeNode.Level,
+              minimumLevel: treeNode.minimumLevel,
+              maximumLevel: 18,
+              tilingScheme: sgworld.Core.getOffsetTilingScheme(), // 鍋忕Щ绾犳
+              alpha: treeNode.alpha,
+            },
+            "0",
+            treeNode.zIndex,
+            true,
+            ""
+          );
+          break;
+        case "bdmap":
+          // 鐧惧害鍦板浘
+          layer = sgworld.Creator.createImageryProvider(
+            treeNode.name,
+            "BaiduMap",
+            {
+              id: treeNode.id,
+              level: treeNode.Level,
+              enablePickFeatures: false,
+              style: treeNode.style,
+              minimumLevel: treeNode.minimumLevel,
+              maximumLevel: treeNode.maximumLevel,
+              alpha: treeNode.alpha,
+            },
+            "0",
+            treeNode.zIndex,
+            true,
+            ""
+          );
+          break;
+        case "cesiumblack":
+          // cesiumIon榛戝鍦板浘
+          layer = sgworld.Creator.createImageryProvider(
+            treeNode.name,
+            "cesiumBlack",
+            {
+              id: treeNode.id,
+              url: treeNode.urls,
+              flipXY: true,
+              enablePickFeatures: false,
+              level: treeNode.Level,
+              minimumLevel: treeNode.minimumLevel,
+              maximumLevel: treeNode.maximumLevel,
+              alpha: treeNode.alpha,
+            },
+            "0",
+            treeNode.zIndex,
+            true,
+            ""
+          );
+          break;
+        case "osm":
+          // osm鍦板浘
+          layer = sgworld.Creator.createImageryProvider(
+            treeNode.name,
+            "OpenStreetMap",
+            {
+              id: treeNode.id,
+              url: treeNode.urls,
+              enablePickFeatures: false,
+              level: treeNode.Level,
+              minimumLevel: treeNode.minimumLevel,
+              maximumLevel: treeNode.maximumLevel,
+              alpha: treeNode.alpha,
+            },
+            "0",
+            treeNode.zIndex,
+            true,
+            ""
+          );
+          break;
+        case "wmts":
+          // wmts褰卞儚
+          layer = sgworld.Creator.createWebMapTileServerImageLayer(
+            treeNode.name,
+            {
+              id: treeNode.id,
+              url: treeNode.urls,
+              level: treeNode.Level,
+              style: treeNode.style,
+              layer: treeNode.layer,
+              enablePickFeatures: false,
+              format: treeNode.format,
+              tileMatrixSetID: treeNode.srs,
+              tilingScheme:
+                treeNode.tileType === "Geo"
+                  ? new Cesium.GeographicTilingScheme()
+                  : new Cesium.WebMercatorTilingScheme(),
+              show: true,
+              minimumLevel: treeNode.minimumLevel,
+              maximumLevel: treeNode.maximumLevel,
+              alpha: treeNode.alpha,
+            },
+            "0",
+            treeNode.zIndex,
+            true,
+            ""
+          );
+          break;
+        case "gis_wmts":
+          // gisserver wmst褰卞儚
+          layer = sgworld.Creator.createUrlTemplateImageryProvider(
+            treeNode.name,
+            {
+              id: treeNode.id,
+              url: Cesium.buildModuleUrl(
+                treeNode.urls + "/{z}/{x}/{reverseY}.png"
+              ),
+              enablePickFeatures: false,
+              level: treeNode.Level,
+              minimumLevel: treeNode.minimumLevel,
+              maximumLevel: treeNode.maximumLevel,
+              alpha: treeNode.alpha,
+            },
+            "0",
+            treeNode.zIndex,
+            true,
+            ""
+          );
+          break;
+        case "wmts_zj":
+          // 琛屽垪鍙峰樊涓ゅ�嶇殑wmts
+          var geotil = new Cesium.GeographicTilingScheme({
+            rectangle: Cesium.Rectangle.MAX_VALUE,
+          });
+          if (treeNode.addLevel && treeNode.addLevel === 2) {
+            geotil.positionToTileXY = function (position, level, result) {
+              level > 0 && level++;
+              var rectangle = this._rectangle;
+              if (!Cesium.Rectangle.contains(rectangle, position)) {
+                // outside the bounds of the tiling scheme
+                return undefined;
+              }
+
+              var xTiles = this.getNumberOfXTilesAtLevel(level);
+              var yTiles = this.getNumberOfYTilesAtLevel(level);
+
+              var xTileWidth = rectangle.width / xTiles;
+              var yTileHeight = rectangle.height / yTiles;
+
+              var longitude = position.longitude;
+              if (rectangle.east < rectangle.west) {
+                longitude += Cesium.Math.TWO_PI;
+              }
+
+              var xTileCoordinate =
+                ((longitude - rectangle.west) / xTileWidth) | 0;
+              if (xTileCoordinate >= xTiles) {
+                xTileCoordinate = xTiles - 1;
+              }
+
+              var yTileCoordinate =
+                ((rectangle.north - position.latitude) / yTileHeight) | 0;
+              if (yTileCoordinate >= yTiles) {
+                yTileCoordinate = yTiles - 1;
+              }
+
+              if (!Cesium.defined(result)) {
+                return new Cesium.Cartesian2(xTileCoordinate, yTileCoordinate);
+              }
+
+              result.x = xTileCoordinate;
+              result.y = yTileCoordinate;
+              return result;
+            };
+            geotil.tileXYToRectangle = function (x, y, level, result) {
+              level > 0 && level++;
+              var rectangle = this._rectangle;
+
+              var xTiles = this.getNumberOfXTilesAtLevel(level);
+              var yTiles = this.getNumberOfYTilesAtLevel(level);
+
+              var xTileWidth = rectangle.width / xTiles;
+              var west = x * xTileWidth + rectangle.west;
+              var east = (x + 1) * xTileWidth + rectangle.west;
+
+              var yTileHeight = rectangle.height / yTiles;
+              var north = rectangle.north - y * yTileHeight;
+              var south = rectangle.north - (y + 1) * yTileHeight;
+
+              if (!Cesium.defined(result)) {
+                result = new Cesium.Rectangle(west, south, east, north);
+              }
+
+              result.west = west;
+              result.south = south;
+              result.east = east;
+              result.north = north;
+              return result;
+            };
+          }
+          layer = sgworld.Creator.createWebMapTileServerImageLayer(
+            treeNode.name,
+            {
+              id: treeNode.id,
+              url: treeNode.urls,
+              layer: treeNode.layer,
+              level: treeNode.Level,
+              minimumLevel: treeNode.minimumLevel,
+              maximumLevel: treeNode.maximumLevel,
+              style: "default",
+              tileMatrixSetID: "esritilematirx",
+              format: "image/png",
+              tilingScheme: geotil,
+              addLevel: treeNode.addLevel || 1, //灞傜骇鍔犱竴
+              enablePickFeatures: false,
+              show: true,
+              alpha: treeNode.alpha,
+            },
+            "0",
+            treeNode.zIndex,
+            true,
+            ""
+          );
+          break;
+        case "wms":
+        case "wmsc":
+          // wms鏁版嵁
+          var parameters = {
+            service: "WMS",
+            format: "image/png",
+            transparent: true,
+          };
+          if (treeNode.removeNullValue) {
+            if (treeNode.nullvalue) {
+              treeNode.nullvalue = treeNode.nullvalue.replace("rgb(", "");
+              treeNode.nullvalue = treeNode.nullvalue.replace(")", "");
+            }
+            parameters.nullvalue = sgworld.Core.defaultValue(
+              treeNode.nullvalue,
+              "0,0,0"
+            );
+            parameters.nulltolerance = sgworld.Core.defaultValue(
+              treeNode.nulltolerance,
+              0
+            );
+          }
+          treeNode.token && (treeNode.urls += "?token=" + treeNode.token);
+          if (treeNode.sourceType === "wmsc") {
+            layer = sgworld.Creator.createCacheImageryProvider(
+              treeNode.name,
+              {
+                id: treeNode.id,
+                url: treeNode.urls || "",
+                layers: treeNode.layer || "",
+                level: treeNode.Level,
+                enablePickFeatures: false,
+                cacheUrl: treeNode.cacheUrl || treeNode.urls,
+                fileExtension: treeNode.fileExtension,
+                cacheMaxLevel: treeNode.cacheMaxLevel || 16,
+                alpha: treeNode.alpha,
+              },
+              "0",
+              treeNode.zIndex,
+              treeNode.checked,
+              ""
+            );
+          } else {
+            layer = sgworld.Creator.createImageryProvider(
+              treeNode.name,
+              "wms",
+              {
+                id: treeNode.id,
+                url: treeNode.urls,
+                layers: treeNode.layer || "",
+                level: treeNode.Level,
+                minimumLevel: treeNode.minimumLevel,
+                maximumLevel: treeNode.maximumLevel,
+                enablePickFeatures: false,
+                parameters: parameters,
+                alpha: treeNode.alpha,
+              },
+              "0",
+              treeNode.zIndex,
+              true,
+              ""
+            );
+          }
+          break;
+
+        case "wfs":
+          // wfs鏁版嵁
+          layer = sgwfs.CreateWfs(treeNode.class, treeNode);
+          break;
+        case "geojson":
+          if (treeNode.class === "point") {
+            treeNode.disableDepthTestDistance === "Infinity" &&
+              (treeNode.disableDepthTestDistance = Number.POSITIVE_INFINITY);
+
+            de = {
+              id: treeNode.id,
+              fillColor: sgworld.Core.defaultValue(treeNode.color, "#ffffff"),
+              color: sgworld.Core.defaultValue(treeNode.imageColor, undefined),
+              outlineColor: sgworld.Core.defaultValue(
+                treeNode.outlineColor,
+                "#ffffff"
+              ),
+              backgroundColor: sgworld.Core.defaultValue(
+                treeNode.backgroundColor,
+                "#ffffff"
+              ),
+              heightReference: sgworld.Core.defaultValue(
+                treeNode.heightReference,
+                0
+              ),
+              pointHeight: sgworld.Core.defaultValue(
+                treeNode.pointHeight,
+                undefined
+              ),
+              near: sgworld.Core.defaultValue(treeNode.near, 0),
+              far: sgworld.Core.defaultValue(treeNode.far, 99999999999),
+              bold: treeNode.bold,
+              italic: treeNode.italic,
+              showBackground: treeNode.showBackground,
+              outlineWidth: sgworld.Core.defaultValue(treeNode.outlineWidth, 1),
+              text: treeNode.text,
+              image: treeNode.image,
+              font_size: treeNode.size,
+              font_family: sgworld.Core.defaultValue(
+                treeNode.font_family,
+                "寰蒋闆呴粦"
+              ),
+              disableDepthTestDistance: sgworld.Core.defaultValue(
+                treeNode.disableDepthTestDistance,
+                undefined
+              ),
+              labelData: treeNode.labelData,
+              imageData: treeNode.imageData,
+            };
+
+            if (
+              treeNode.text &&
+              treeNode.image &&
+              !treeNode.labelData &&
+              !treeNode.imageData
+            ) {
+              de.labelData = {
+                horizontalOrigin: Cesium.HorizontalOrigin.LEFT,
+                pixelOffset: new Cesium.Cartesian2(20, 0),
+              };
+              de.imageData = {
+                horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
+                pixelOffset: new Cesium.Cartesian2(0, 0),
+              };
+            }
+            layer = sgworld.Creator.createLabelPointGeoJsonFeatureLayer(
+              treeNode.name,
+              treeNode.urls,
+              de,
+              "0",
+              treeNode.checked
+            );
+          } else if (treeNode.class === "polyline") {
+            de = {
+              id: treeNode.id,
+              layertype: "polylinelayer",
+              material: sgworld.Core.defaultValue(treeNode.color, "#ffffff"),
+              outlineColor: sgworld.Core.defaultValue(
+                treeNode.outlineColor,
+                "#ffffff"
+              ),
+              outlineWidth: sgworld.Core.defaultValue(treeNode.outlineWidth, 0),
+              height: sgworld.Core.defaultValue(treeNode.height, undefined),
+              width: sgworld.Core.defaultValue(treeNode.width, 2),
+              clampToGround: sgworld.Core.defaultValue(
+                treeNode.clampToGround,
+                true
+              ),
+              classificationType: treeNode.classificationType,
+              dash: sgworld.Core.defaultValue(treeNode.dash, false),
+              dashLength: sgworld.Core.defaultValue(treeNode.dashLength, 20),
+              gapColor: sgworld.Core.defaultValue(
+                treeNode.gapColor,
+                "rgba(0,0,0,0)"
+              ),
+              near: sgworld.Core.defaultValue(treeNode.near, 0),
+              far: sgworld.Core.defaultValue(treeNode.far, Infinity),
+            };
+
+            layer = sgworld.Creator.createPolylineGeoJsonFeatureLayer(
+              treeNode.name,
+              treeNode.urls,
+              de,
+              "0",
+              treeNode.checked
+            );
+          } else if (treeNode.class === "polylineVolume") {
+            de = {
+              id: treeNode.id,
+              material: sgworld.Core.defaultValue(treeNode.color, "#ff0000"),
+              slttype: "0",
+              number: "4",
+              exradius: "1",
+              inradius: "1",
+              orth_width: "2",
+              orth_height: "2",
+              radius: sgworld.Core.defaultValue(treeNode.radius, 5),
+              cornerType: "0",
+              heightReference: "0",
+              height: sgworld.Core.defaultValue(treeNode.lineHeight, 0),
+              near: "0",
+              far: "99999999999",
+              radiusScale: treeNode.radiusScale,
+              connect: true,
+            };
+            layer = sgworld.Creator.createpolylineVolumeGeojsonPrimitiveLayer(
+              treeNode.name,
+              treeNode.urls,
+              de,
+              "0",
+              true,
+              function (data) {
+                if (treeNode.flow) {
+                  let lines = data.entities.values;
+                  lines.forEach((line) => {
+                    line.polylineVolume.material =
+                      sgworld.Core.getTrailLinkMaterial(
+                        sgworld.Core.defaultValue(treeNode.color, "#ff0000"),
+                        "../static/images/smoke.png",
+                        9000
+                      );
+                  });
+                }
+              }
+            );
+          } else if (treeNode.class === "model") {
+            de = {
+              id: treeNode.id,
+              collect: 0,
+              uri: sgworld.Core.defaultValue(treeNode.model, ""),
+              file: "",
+              color: sgworld.Core.defaultValue(treeNode.color, "#ffffff"),
+              scale: sgworld.Core.defaultValue(treeNode.scale, 1),
+              heightReference: 0,
+              height: sgworld.Core.defaultValue(treeNode.height, 0),
+              near: "0",
+              far: "99999999999",
+            };
+            layer = sgworld.Creator.createModelPointGeoJsonFeatureLayer(
+              treeNode.name,
+              treeNode.urls,
+              de,
+              "0",
+              true
+            );
+          } else if (treeNode.class === "polygon") {
+            treeNode.disableDepthTestDistance === "Infinity" &&
+              (treeNode.disableDepthTestDistance = Number.POSITIVE_INFINITY);
+
+            de = {
+              id: treeNode.id,
+              material: sgworld.Core.defaultValue(treeNode.color, "#ff0000"),
+              height: sgworld.Core.defaultValue(treeNode.height, 0),
+              outlineColor: sgworld.Core.defaultValue(
+                treeNode.outlineColor,
+                "#ff0000"
+              ),
+              extrudedHeight: sgworld.Core.defaultValue(
+                treeNode.extrudedHeight,
+                0
+              ),
+              outlineWidth: sgworld.Core.defaultValue(treeNode.outlineWidth, 0),
+              outline: sgworld.Core.defaultValue(treeNode.outline, true),
+              clampToGround: sgworld.Core.defaultValue(
+                treeNode.clampToGround,
+                treeNode.extrudedHeight === undefined &&
+                  treeNode.height === undefined
+              ),
+              classificationType: treeNode.classificationType,
+              near: sgworld.Core.defaultValue(treeNode.near, 0),
+              far: sgworld.Core.defaultValue(treeNode.far, Infinity),
+
+              text: treeNode.text,
+              font: sgworld.Core.defaultValue(treeNode.font, "寰蒋闆呴粦"),
+              labelNear: treeNode.labelNear,
+              labelFar: treeNode.labelFar,
+              fontSize: sgworld.Core.defaultValue(treeNode.size, "18px"),
+              italic: treeNode.italic,
+              bold: treeNode.bold,
+              pixelOffset: new Cesium.Cartesian2(
+                sgworld.Core.defaultValue(treeNode.offsetX, 0),
+                sgworld.Core.defaultValue(treeNode.offsetY, 0)
+              ),
+              labelOutlineWidth: 2,
+              disableDepthTestDistance: treeNode.disableDepthTestDistance,
+
+              water: treeNode.water,
+            };
+            layer = sgworld.Creator.createPolygonGeoJsonFeatureLayer(
+              treeNode.name,
+              treeNode.urls,
+              de,
+              "0",
+              treeNode.checked
+            );
+          }
+          break;
+        case "pathLayer":
+          layer = sgworld.Creator.createPathLayer({
+            id: treeNode.id,
+            url: treeNode.url,
+            color: treeNode.color || "#0033FF", //绾跨殑棰滆壊
+            width: treeNode.width || 4.0, //绾跨殑瀹藉害
+            pointColor: treeNode.pointColor || "#FFFFFF", //绉诲姩鐐圭殑棰滆壊
+            speed: treeNode.speed || 5,
+            far: treeNode.far || 5000,
+          });
+          break;
+        case "vector": {
+          let urls = {
+            url: treeNode.urls,
+            layer: treeNode.layer,
+            srs: treeNode.srs,
+          };
+          if (
+            treeNode.class === "point" ||
+            treeNode.class === "label" ||
+            treeNode.class === "image"
+          ) {
+            treeNode.disableDepthTestDistance === "Infinity" &&
+              (treeNode.disableDepthTestDistance = Number.POSITIVE_INFINITY);
+            if (treeNode.style) {
+              // de = getVectorStyleFromSG(treeNode, treeNode.style);
+            } else {
+              de = {
+                id: treeNode.id,
+                level_min: sgworld.Core.defaultValue(treeNode.minimumLevel, 10),
+                level_max: sgworld.Core.defaultValue(treeNode.maximumLevel, 22),
+                fillColor: sgworld.Core.defaultValue(treeNode.color, "#ffffff"),
+                color: sgworld.Core.defaultValue(
+                  treeNode.imageColor,
+                  undefined
+                ),
+                outlineColor: sgworld.Core.defaultValue(
+                  treeNode.outlineColor,
+                  "#ffffff"
+                ),
+                backgroundColor: sgworld.Core.defaultValue(
+                  treeNode.backgroundColor,
+                  "#ffffff"
+                ),
+                heightReference: sgworld.Core.defaultValue(
+                  treeNode.heightReference,
+                  0
+                ),
+                pointHeight: sgworld.Core.defaultValue(
+                  treeNode.pointHeight,
+                  undefined
+                ),
+                near: sgworld.Core.defaultValue(treeNode.near, 0),
+                far: sgworld.Core.defaultValue(treeNode.far, 99999999999),
+                bold: treeNode.bold,
+                italic: treeNode.italic,
+                showBackground: treeNode.showBackground,
+                outlineWidth: sgworld.Core.defaultValue(
+                  treeNode.outlineWidth,
+                  1
+                ),
+                text: treeNode.text,
+                image: treeNode.image,
+                font_size: treeNode.size,
+                font_family: sgworld.Core.defaultValue(
+                  treeNode.font_family,
+                  "寰蒋闆呴粦"
+                ),
+                disableDepthTestDistance: sgworld.Core.defaultValue(
+                  treeNode.disableDepthTestDistance,
+                  undefined
+                ),
+                labelData: treeNode.labelData,
+                imageData: treeNode.imageData,
+              };
+            }
+
+            if (
+              treeNode.text &&
+              treeNode.image &&
+              !treeNode.labelData &&
+              !treeNode.imageData
+            ) {
+              de.labelData = {
+                horizontalOrigin: Cesium.HorizontalOrigin.LEFT,
+                pixelOffset: new Cesium.Cartesian2(20, 0),
+              };
+              de.imageData = {
+                horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
+                pixelOffset: new Cesium.Cartesian2(0, 0),
+              };
+            }
+            urls.upperLevelLimit = de.level_max;
+            urls.lowerLevelLimit = de.level_min;
+            layer = sgworld.Creator.createLabelImageGeoJsonFeatureLayerProvider(
+              treeNode.name,
+              urls,
+              de,
+              "0",
+              treeNode.checked,
+              function () {}
+            );
+          } else if (treeNode.class === "polylineVolume") {
+            de = {
+              id: treeNode.id,
+              level_min: sgworld.Core.defaultValue(treeNode.minimumLevel, 10),
+              level_max: sgworld.Core.defaultValue(treeNode.maximumLevel, 22),
+              material: sgworld.Core.defaultValue(treeNode.color, "#ff0000"),
+              slttype: "0",
+              number: "4",
+              exradius: "1",
+              inradius: "1",
+              orth_width: "2",
+              orth_height: "2",
+              radius: sgworld.Core.defaultValue(treeNode.radius, 0.5),
+              cornerType: "0",
+              heightReference: "0",
+              height: sgworld.Core.defaultValue(treeNode.height, 0),
+              near: sgworld.Core.defaultValue(treeNode.near, 0),
+              far: sgworld.Core.defaultValue(treeNode.far, 99999999999),
+              radiusScale: treeNode.radiusScale,
+            };
+            urls.upperLevelLimit = de.level_max;
+            urls.lowerLevelLimit = de.level_min;
+            layer = sgworld.Creator.createVolumeGeoJsonFeatureLayerProvider(
+              treeNode.name,
+              urls,
+              de,
+              "0",
+              treeNode.checked,
+              function () {}
+            );
+          } else if (treeNode.class === "polyline") {
+            de = {
+              id: treeNode.id,
+              layertype: "polylinelayer",
+              level_min: sgworld.Core.defaultValue(treeNode.minimumLevel, 10),
+              level_max: sgworld.Core.defaultValue(treeNode.maximumLevel, 22),
+              material: sgworld.Core.defaultValue(treeNode.color, "#ffffff"),
+              outlineColor: sgworld.Core.defaultValue(
+                treeNode.outlineColor,
+                "#ffffff"
+              ),
+              outlineWidth: sgworld.Core.defaultValue(treeNode.outlineWidth, 0),
+              height: sgworld.Core.defaultValue(treeNode.height, undefined),
+              width: sgworld.Core.defaultValue(treeNode.width, 2),
+              clampToGround: sgworld.Core.defaultValue(
+                treeNode.clampToGround,
+                true
+              ),
+              classificationType: treeNode.classificationType,
+              dash: sgworld.Core.defaultValue(treeNode.dash, false),
+              dashLength: sgworld.Core.defaultValue(treeNode.dashLength, 20),
+              gapColor: sgworld.Core.defaultValue(
+                treeNode.gapColor,
+                "rgba(0,0,0,0)"
+              ),
+              near: sgworld.Core.defaultValue(treeNode.near, 0),
+              far: sgworld.Core.defaultValue(treeNode.far, Infinity),
+            };
+            urls.upperLevelLimit = de.level_max;
+            urls.lowerLevelLimit = de.level_min;
+
+            layer =
+              sgworld.Creator.createPrimitivePolylineVectorGeoJsonFeatureLayerProvider(
+                treeNode.name,
+                urls,
+                de,
+                "0",
+                treeNode.checked,
+                function () {}
+              );
+          } else if (treeNode.class === "polygon") {
+            de = {
+              id: treeNode.id,
+              layertype: "polygonlayer",
+              level_min: sgworld.Core.defaultValue(treeNode.minimumLevel, 10),
+              level_max: sgworld.Core.defaultValue(treeNode.maximumLevel, 22),
+              material: sgworld.Core.defaultValue(treeNode.color, "#ff0000"),
+              heightReference: "1",
+              height: sgworld.Core.defaultValue(treeNode.height, 0),
+              extrudedHeight: sgworld.Core.defaultValue(
+                treeNode.extrudedHeight,
+                0
+              ),
+              extrudedHeightReference: "1",
+              clampToGround: sgworld.Core.defaultValue(
+                treeNode.clampToGround,
+                false
+              ),
+              classificationType: treeNode.classificationType,
+              near: sgworld.Core.defaultValue(treeNode.near, 0),
+              far: sgworld.Core.defaultValue(treeNode.far, Infinity),
+            };
+            urls.upperLevelLimit = de.level_max;
+            urls.lowerLevelLimit = de.level_min;
+            layer =
+              sgworld.Creator.createGeoJsonFeatureLayerProviderOptimization(
+                treeNode.name,
+                urls,
+                de,
+                "0",
+                treeNode.checked,
+                function () {}
+              );
+          } else if (treeNode.class === "model") {
+            de = {
+              id: treeNode.id,
+              level_min: sgworld.Core.defaultValue(treeNode.minimumLevel, 10),
+              level_max: sgworld.Core.defaultValue(treeNode.maximumLevel, 22),
+              collect: 0,
+              uri: sgworld.Core.defaultValue(treeNode.model, ""),
+              file: "",
+              color: sgworld.Core.defaultValue(treeNode.color, "#ffffff"),
+              scale: sgworld.Core.defaultValue(treeNode.scale, 1),
+              heightReference: 0,
+              height: sgworld.Core.defaultValue(treeNode.height, 0),
+              near: "0",
+              far: "99999999999",
+            };
+            //妯″瀷鐐�
+            urls.upperLevelLimit = de.level_max;
+            urls.lowerLevelLimit = de.level_min;
+            layer = sgworld.Creator.createModelGeoJsonFeatureLayerProvider(
+              treeNode.name,
+              urls,
+              de,
+              "0",
+              treeNode.checked,
+              function () {}
+            );
+          }
+          layer && (treeNode.id = layer.treeobj.id);
+          break;
+        }
+        case "terrain":
+          layer = sgworld.Creator.createTerrain(
+            treeNode.name,
+            {
+              id: treeNode.id,
+              requestVertexNormals: true,
+              url: treeNode.urls,
+            },
+            "0",
+            true,
+            ""
+          );
+          break;
+        case "sgsterrain":
+          layer = sgworld.Creator.sfsterrainprovider(
+            treeNode.name,
+            {
+              id: treeNode.id,
+              layerName: treeNode.layer,
+              requestVertexNormals: true,
+              url: treeNode.urls || "",
+              token: treeNode.token,
+              cacheUrl: treeNode.cacheUrl,
+              cacheLevel: treeNode.cacheLevel,
+            },
+            "0",
+            true,
+            ""
+          );
+          break;
+        case "sgsterrain7.1":
+          layer = sgworld.Creator.sfsterrainprovider71(
+            treeNode.name,
+            {
+              id: treeNode.id,
+              layerName: treeNode.layer,
+              requestVertexNormals: true,
+              url: treeNode.urls,
+              token: treeNode.token,
+              cacheUrl: treeNode.cacheUrl,
+              cacheLevel: treeNode.cacheLevel,
+            },
+            "0",
+            true,
+            ""
+          );
+          break;
+        case "arcgisterrain":
+          layer = sgworld.Creator.createArcGISTerrain(
+            treeNode.name,
+            {
+              id: treeNode.id,
+              requestVertexNormals: true,
+              url: treeNode.urls,
+            },
+            "0",
+            true,
+            ""
+          );
+          break;
+        case "CesiumGlobeTerrain":
+          layer = sgworld.Creator.createCesiumTerrain(
+            treeNode.name,
+            {
+              id: treeNode.id,
+              requestVertexNormals: true,
+            },
+            "0",
+            true,
+            ""
+          );
+          break;
+        case "b3dm":
+          layer = sgworld.Creator.create3DTilesets(
+            treeNode.name,
+            treeNode.urls,
+            {
+              id: treeNode.id,
+              Level: treeNode.Level,
+              maximumScreenSpaceError:
+                treeNode.maximumScreenSpaceError &&
+                parseInt(treeNode.maximumScreenSpaceError),
+              maximumMemoryUsage:
+                treeNode.maximumMemoryUsage &&
+                parseInt(treeNode.maximumMemoryUsage),
+              geometricError:
+                treeNode.geometricError && parseInt(treeNode.geometricError),
+            },
+            {
+              groundCenter: treeNode.Center,
+              groundheight: treeNode.modelHeight,
+              heading: treeNode.heading,
+              pitch: treeNode.pitch,
+              roll: treeNode.roll,
+              effects: treeNode.effects || false,
+              effectsMaxHeight: treeNode.effectsMaxHeight || 150,
+              colors: treeNode.alpha
+                ? "rgba(255,255,255," + treeNode.alpha + ")"
+                : treeNode.color || undefined,
+            },
+            "0",
+            true
+          );
+          break;
+        case "s3m":
+          layer = sgworld.Creator.createS3MLayer(
+            treeNode.urls,
+            sgworld._Viewer.scene,
+            function () {}
+          );
+          break;
+        case "gltf":
+          var position = [treeNode.lon, treeNode.lat, treeNode.height];
+          layer = sgworld.Creator.createModel(
+            position,
+            treeNode.urls,
+            {
+              id: treeNode.id,
+              scale: treeNode.scale || 1,
+              heading: treeNode.heading,
+              pitch: treeNode.pitch,
+              roll: treeNode.roll,
+            },
+            "0",
+            treeNode.name,
+            ""
+          );
+          break;
+        case "SimpleGraphic":
+          treeNode.type = treeNode.class;
+          layer = sgworld.Creator.SimpleGraphic.addFeature(treeNode);
+          break;
+        case "videoPolygon":
+          layer = sgworld.Creator.addVideoPolygon(treeNode.positions, {
+            url: treeNode.url,
+            angle: treeNode.angle,
+          });
+          break;
+        case "MilitaryPlotting":
+          if (!treeNode.feature.id) {
+            treeNode.feature.id = treeNode.id;
+          }
+          if (!treeNode.feature.name) {
+            treeNode.feature.name = treeNode.name;
+          }
+          layer = sgworld.Creator.MilitaryPlotting.addFeature(treeNode.feature);
+          break;
+        case "ParticleEffect":
+          layer = sgworld.Analysis.createParticleEffect(
+            treeNode.name,
+            treeNode.position,
+            {
+              translation: Cesium.Cartesian3.fromElements(0, 0, 0), //骞崇Щ
+            }
+          );
+          layer.name = treeNode.name;
+          break;
+        case "FlowField":
+          layer = sgworld.Creator.createTrailLine(
+            treeNode.positions,
+            treeNode.style
+          );
+          layer.boundingSphere = Cesium.BoundingSphere.fromPoints(
+            treeNode.positions
+          );
+
+          break;
+        case "MobileWall":
+          layer = sgworld.Creator.createTrailLineWall(
+            treeNode.LineInterpolation.positions,
+            treeNode.style
+          );
+          layer.boundingSphere = Cesium.BoundingSphere.fromPoints(
+            treeNode.LineInterpolation.positions
+          );
+          break;
+        case "link":
+          layer = sgworld.Creator.createLinkPro(
+            sgworld.Core.toDegrees(treeNode.posisitons[0]),
+            sgworld.Core.toDegrees(treeNode.posisitons[1]),
+            {
+              clampToGround: true,
+            }
+          );
+          break;
+        case "DiffusionSource":
+          layer = sgworld.Analysis.createMultiCircleScan(
+            treeNode.position,
+            treeNode.maxRadius,
+            treeNode.maxRadius.color,
+            3000,
+            true
+          );
+          break;
+        case "RiskDiffusion":
+        case "CircularDiffusion":
+          layer = sgworld.Analysis.createCircleScan(
+            treeNode.position,
+            treeNode.maxRadius,
+            treeNode.color,
+            3000,
+            true
+          );
+          break;
+        case "FanDiffusion":
+          layer = sgworld.Analysis.createSectorScan(
+            treeNode.position,
+            treeNode.distance,
+            "#ff0000",
+            60,
+            treeNode.angle,
+            true,
+            4000,
+            true
+          );
+          break;
+        case "RadarMask":
+          layer = sgworld.Creator.createRectangularSensor(
+            treeNode.position,
+            treeNode.cylinder
+          );
+          break;
+        case "DynamicSatellite":
+          let dtwxzsData = sgworld.Creator.createConeRadar(treeNode.position, {
+            color: "#7b9ef7",
+            radius: 200000,
+          });
+          let weixin = sgworld.Creator.createModel(
+            treeNode.position,
+            window.SmartEarthRootUrl + "Workers/Model/weixin.gltf",
+            { scale: 15 },
+            "0",
+            "鍗槦"
+          );
+          layer = { dtwxzsData, weixin };
+          layer.sourceType = "DynamicSatellite";
+          break;
+        case "excavate":
+          var position = [treeNode.lon, treeNode.lat, treeNode.height];
+          layer = sgworld.Creator.createModel(
+            position,
+            treeNode.urls,
+            {
+              id: treeNode.id,
+              scale: treeNode.scale || 1,
+            },
+            pID,
+            treeNode.name,
+            ""
+          );
+          treeNode.id = layer.treeobj.id;
+          break;
+      }
+      if (treeNode.sourceType !== "gltf" && (treeNode.lon || treeNode.lat)) {
+        treeNode.flyTo = [
+          treeNode.lon,
+          treeNode.lat,
+          defaultValue(treeNode.height, 10000),
+        ];
+      }
+      if (treeNode.minx && treeNode.miny && treeNode.maxx && treeNode.maxy) {
+        treeNode.flyTo = [
+          treeNode.minx,
+          treeNode.miny,
+          treeNode.maxx,
+          treeNode.maxy,
+        ];
+      }
+      if (treeNode.sourceType === "wfs") {
+        addTreeData(treeNode, layer);
+      }
+      if (treeNode.baseLayer) {
+        layer.item.baseLayer = true;
+      }
+    },
+    changeplase(value) {
+      if (value.label.indexOf("骞垮窞") > -1) {
+        this.chooseplase = "骞垮窞";
+        this.form.startTime = new Date("2019-10-08");
+        this.form.endTime = new Date("2019-10-16");
         window.Viewer.camera.flyTo({
           destination: Cesium.Cartesian3.fromDegrees(
             113.29503528791071,
@@ -163,9 +1889,9 @@
           },
         });
       } else {
-        this.chooseplase="涓婃捣";
-        this.form.startTime=new Date("2016-06-01");
-        this.form.endTime=new Date("2016-06-30");
+        this.chooseplase = "涓婃捣";
+        this.form.startTime = new Date("2016-06-01");
+        this.form.endTime = new Date("2016-06-30");
         window.Viewer.camera.flyTo({
           destination: Cesium.Cartesian3.fromDegrees(
             121.23142475566037,
@@ -180,44 +1906,44 @@
         });
       }
     },
-    change () {
-      this.showdata1=false;
+    change() {
+      this.showdata1 = false;
     },
-    change1 () {
-      this.showdata2=false;
+    change1() {
+      this.showdata2 = false;
     },
-    openDia () {
-      bus.$emit("changeColor",true);
+    openDia() {
+      bus.$emit("changeColor", true);
     },
-    choose (value) {
-      let arr=value.split("-");
-      this.form.freqStart=arr[0];
-      this.form.freqEnd=arr[1];
+    choose(value) {
+      let arr = value.split("-");
+      this.form.freqStart = arr[0];
+      this.form.freqEnd = arr[1];
     },
-    close () {
-      this.showsituation=false;
+    close() {
+      this.showsituation = false;
     },
-    getdata (data) {
-      this.colorContainer=data;
+    getdata(data) {
+      this.colorContainer = data;
     },
     // 鐐瑰嚮鑾峰緱鎬佸娍
-    getTaishi () {
-      if(hander) {
+    getTaishi() {
+      if (hander) {
         return;
       }
-      hander=new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas);
+      hander = new Cesium.ScreenSpaceEventHandler(Viewer.scene.canvas);
       let pickFeature;
       // 榧犳爣鐐瑰嚮浜嬩欢
       hander.setInputAction((event) => {
         // 鎷惧彇瀵硅薄
-        divPoint3&&divPoint3.deleteObject();
-        let clickPosition=viewer.scene.camera.pickEllipsoid(event.position);
+        divPoint3 && divPoint3.deleteObject();
+        let clickPosition = viewer.scene.camera.pickEllipsoid(event.position);
         // 杞粡绾害锛堝姬搴︼級鍧愭爣
-        let radiansPos=Cesium.Cartographic.fromCartesian(clickPosition);
-        let lon=Cesium.Math.toDegrees(radiansPos.longitude);
-        let lat=Cesium.Math.toDegrees(radiansPos.latitude);
-        let filename=this.nowfile;
-        let obj={
+        let radiansPos = Cesium.Cartographic.fromCartesian(clickPosition);
+        let lon = Cesium.Math.toDegrees(radiansPos.longitude);
+        let lat = Cesium.Math.toDegrees(radiansPos.latitude);
+        let filename = this.nowfile;
+        let obj = {
           lat: lat,
           lng: lon,
           analysisAction: "-1",
@@ -225,14 +1951,14 @@
           filename: filename,
         };
         showCQ(obj).then((res) => {
-          let data=res.data;
-          if(data!="鏃犳暟鎹�") {
-            divPoint3=sgworld.Creator.createDivPoint(
+          let data = res.data;
+          if (data != "鏃犳暟鎹�") {
+            divPoint3 = sgworld.Creator.createDivPoint(
               "鍚堣偉",
-              { lon: obj.lng,lat: obj.lat },
+              { lon: obj.lng, lat: obj.lat },
               {
                 type: "custom",
-                offset: ["c",60],
+                offset: ["c", 60],
                 description: `
               <div class="divPoint-custom">
                 <p>${data}</p>
@@ -245,16 +1971,16 @@
           }
         });
         //鎶婁綘鎷惧彇鐨勪笢瑗挎墦鍗板嚭鏉ョ湅鐪嬩粈涔堝�煎彲浠ョ敤浣滃垽鏂�
-      },Cesium.ScreenSpaceEventType.LEFT_CLICK);
+      }, Cesium.ScreenSpaceEventType.LEFT_CLICK);
     },
-    analysis () {
+    analysis() {
       this.reset();
-      let that=this;
-      if(that.imageid) {
+      let that = this;
+      if (that.imageid) {
         window.Viewer.entities.removeById(that.imageid);
-        that.imageid=null;
+        that.imageid = null;
       }
-      let data={
+      let data = {
         colorName: "-100,0000FF;120,FF0000",
         startTime: "20160601000000",
         endTime: 20160630000000,
@@ -267,38 +1993,38 @@
         analysisAction: "3",
         analysisType: 1,
       };
-      data={ ...data,...this.form };
-      data.freqStart=data.freqStart*1000000;
-      data.freqEnd=data.freqEnd*1000000;
-      data.startTime=data.startTime+"000000";
-      data.endTime=data.endTime*1000000;
-      data.analysisType=="棰戠偣"? (data.analysisType=1):"";
+      data = { ...data, ...this.form };
+      data.freqStart = data.freqStart * 1000000;
+      data.freqEnd = data.freqEnd * 1000000;
+      data.startTime = data.startTime + "000000";
+      data.endTime = data.endTime * 1000000;
+      data.analysisType == "棰戠偣" ? (data.analysisType = 1) : "";
       delete data.radio;
-      if(this.showdata1) {
-        data.startTime=20160601000000;
-        this.chooseplase&&this.chooseplase=="涓婃捣"
-          ? (data.startTime=20160601000000)
-          :(data.startTime=20191008000000);
+      if (this.showdata1) {
+        data.startTime = 20160601000000;
+        this.chooseplase && this.chooseplase == "涓婃捣"
+          ? (data.startTime = 20160601000000)
+          : (data.startTime = 20191008000000);
       }
-      if(this.showdata2) {
-        data.endTime=20160630000000;
-        this.chooseplase&&this.chooseplase=="涓婃捣"
-          ? (data.endTime=20160630000000)
-          :(data.endTime=20191016000000);
+      if (this.showdata2) {
+        data.endTime = 20160630000000;
+        this.chooseplase && this.chooseplase == "涓婃捣"
+          ? (data.endTime = 20160630000000)
+          : (data.endTime = 20191016000000);
       }
-      const loading=that.$loading({
+      const loading = that.$loading({
         lock: true,
         text: "璁$畻涓�",
         spinner: "el-icon-loading",
         background: "rgba(0, 0, 0, 0.7)",
       });
-      data.points=data.points.value;
+      data.points = data.points.value;
       freqBandAnalysis(data)
         .then((res) => {
-          if(res.message==="Success") {
-            let points=res.data.imgBounds;
-            that.nowfile=Base64.encode(res.data.url)
-            var data1={
+          if (res.message === "Success") {
+            let points = res.data.imgBounds;
+            that.nowfile = Base64.encode(res.data.url);
+            var data1 = {
               colorSchemes: 1,
               file: Base64.encode(res.data.url),
               maxColor: "FF0000",
@@ -307,10 +2033,10 @@
               minValue: 0,
               showBounds: this.form.points.value,
             };
-            data1={ ...data1,...this.colorContainer };
+            data1 = { ...data1, ...this.colorContainer };
             createPic(data1)
               .then((res2) => {
-                let rectangle=sgworld.Creator.addSimpleGraphic("rectangle",{
+                let rectangle = sgworld.Creator.addSimpleGraphic("rectangle", {
                   removeEdit: true,
                   coordinates: Cesium.Rectangle.fromDegrees(
                     points.xmin,
@@ -320,24 +2046,24 @@
                   ),
                   color: "rgba(255,255,255,0.5)",
                   image:
-                    "http://221.224.53.36:9081/calc/picurl?file="+
+                    "http://221.224.53.36:9081/calc/picurl?file=" +
                     Base64.encode(res2.data),
                 });
-                that.showDianci=true;
+                that.showDianci = true;
                 // 鍥剧墖鑾峰彇鎴愬姛  寮�鍚嬀鍙�
                 that.getTaishi();
-                if(that.imageid) {
+                if (that.imageid) {
                   window.Viewer.entities.removeById(that.imageid);
-                  that.imageid=null;
+                  that.imageid = null;
                 }
-                that.imageid=rectangle.id;
+                that.imageid = rectangle.id;
 
                 loading.close();
                 that.$message({
                   message: "璁$畻鎴愬姛",
                   type: "success",
                 });
-                that.showpic=true;
+                that.showpic = true;
               })
               .catch((error) => {
                 loading.close();
@@ -348,32 +2074,32 @@
           loading.close();
         });
     },
-    reset () {
+    reset() {
       //閲嶇疆
-      if(this.imageid) {
+      if (this.imageid) {
         window.Viewer.entities.removeById(this.imageid);
-        hander&&
+        hander &&
           hander.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_CLICK);
-        hander=null;
-        divPoint3&&divPoint3.deleteObject();
+        hander = null;
+        divPoint3 && divPoint3.deleteObject();
 
-        this.imageid=null;
-        this.showDianci=false;
+        this.imageid = null;
+        this.showDianci = false;
       }
     },
   },
   watch: {
     colorContainer: {
       deep: true,
-      handler (data) {
-        let colornow={
+      handler(data) {
+        let colornow = {
           width: "30%",
           height: "70%",
           border: "1px solid #000",
           transform: "translate(40px,90px)",
           backgroundImage: `linear-gradient(${data.maxColor},${data.minColor})`,
         };
-        this.innerbac=colornow;
+        this.innerbac = colornow;
       },
     },
   },
@@ -431,31 +2157,9 @@
 .next {
   width: 89%;
   height: 79%;
-  margin: 100px auto;
+  margin: 30px auto;
 }
-.next >>> .el-select {
-  width: 95% !important;
-}
-.next >>> .el-form-item {
-  margin-top: 60px;
-}
-.next >>> .el-input {
-  width: 84%;
-}
-.next >>> .el-date-editor {
-  width: 515px;
-}
-.next >>> .el-form-item__label {
-  color: #fff;
-  font-size: 40px;
-}
-.next >>> .el-input__inner {
-  font-size: 30px;
-}
-.next >>> .el-form-item__error {
-  font-size: 30px;
-  font-weight: 700;
-}
+
 .botcon {
   display: inline-block;
   margin-top: 34px;
@@ -496,4 +2200,90 @@
   top: 1200px;
   right: 0px;
 }
+.layerTreeContainer {
+  /* padding: 20px; */
+  /* background: url("../../assets/image/listbg.png") no-repeat; */
+  /* background-size: 100% 100%; */
+  /* position: absolute; */
+  /* right: 700px; */
+  /* top: 500px; */
+  width: 100%;
+  height: 100%;
+  /* margin: 20px 0; */
+}
+
+.layerTreeContainer .layerTree {
+  height: 100%;
+  margin-bottom: 2px;
+  overflow-y: auto;
+  overflow-x: auto;
+}
+
+.layerTreeContainer .el-tree {
+  background: transparent;
+  font-size: 45px;
+  color: white;
+}
+
+.layerTreeContainer .el-tree /deep/ .el-tree-node__content {
+  background-color: transparent !important;
+  height: auto !important;
+}
+
+.layerTreeContainer .el-tree /deep/ .el-tree-node__content:hover {
+  background-color: rgba(255, 255, 255, 0.4) !important;
+}
+
+.layerTreeContainer .el-tree /deep/ .is-current > .el-tree-node__content {
+  background-color: rgba(255, 255, 255, 0.4) !important;
+}
+
+.layerTreeContainer
+  .el-tree
+  /deep/
+  .is-indeterminate
+  .el-checkbox__inner:before {
+  top: 10px;
+  height: 19px;
+  width: 40px;
+}
+.layerTreeContainer .el-tree /deep/ .el-tree-node__expand-icon {
+  font-size: 40px;
+}
+.layerTreeContainer .el-tree /deep/ .el-checkbox .el-checkbox__inner {
+  width: 40px;
+  height: 40px;
+}
+.layerTreeContainer
+  .el-tree
+  /deep/
+  .el-checkbox__input.is-checked
+  .el-checkbox__inner:after {
+  border: 7px solid #fff;
+  border-left: 0;
+  border-top: 0;
+  height: 23px;
+  left: 11px;
+  position: absolute;
+  top: 5px;
+  width: 10px;
+}
+
+.layerTreeContainer
+  .el-tree
+  /deep/
+  .el-checkbox__input
+  .is-checked
+  .el-checkbox__inner {
+  background-color: #409eff;
+}
+
+.layerTreeContainer
+  .el-tree
+  /deep/
+  .el-checkbox__input.is-checked
+  .el-checkbox__inner {
+  border-color: #409eff;
+}
 </style>
+

--
Gitblit v1.9.3