From ecf3ad202a851caa39660ddfaa16e1bf16565b2e Mon Sep 17 00:00:00 2001
From: surprise <15810472099@163.com>
Date: 星期一, 30 十月 2023 13:51:38 +0800
Subject: [PATCH] 图层管理修改

---
 /dev/null                           |  846 --------------------------------------------
 src/assets/js/Map/server.js         |    9 
 src/views/layer/layerDetail.vue     |    1 
 src/views/layer/layerSet.vue        |  154 +------
 src/assets/js/Map/temporaryTools.js |    5 
 src/views/layer/layerManage.vue     |   94 ++--
 6 files changed, 94 insertions(+), 1,015 deletions(-)

diff --git a/src/assets/js/Map/server.js b/src/assets/js/Map/server.js
index e88bfd7..93827dd 100644
--- a/src/assets/js/Map/server.js
+++ b/src/assets/js/Map/server.js
@@ -11,10 +11,11 @@
   geoUrl: null,
   wmsLayerId: null,
   addTreeData(treeNode) {
-    if (!treeNode.checked) {
-      this.delLayer(treeNode.id);
-      return;
-    }
+    // if (!treeNode.checked) {
+//  debugger
+      // this.delLayer(treeNode.id);
+    // return;
+    // }
 
     this.alpha = this.getResLayersAlpha(treeNode);
     //鍒ゆ柇鏄惁涓轰唬鐞�
diff --git a/src/assets/js/Map/temporaryTools.js b/src/assets/js/Map/temporaryTools.js
index 3f92aee..9cd6c93 100644
--- a/src/assets/js/Map/temporaryTools.js
+++ b/src/assets/js/Map/temporaryTools.js
@@ -10,10 +10,10 @@
             }
         }
     },
-    removeAll() {
+    removeTemporaryLayerAll() {
         var entities = window.Viewer.entities._entities._array;
         for (var i in entities) {
-            if (entities[i]._shpType == "shpType") {
+            if (entities[i]._shpType && entities[i]._shpType == "temporaryLayer") {
                 window.Viewer.entities.remove(entities[i])
             }
         }
@@ -431,6 +431,7 @@
             layerType: '鍩烘湰鐐�',
             heightReference: res.point.disableDepthTestDistance != null ? false : true,
             size: res.point.pixelSize._value,
+ 
         }
     },
 
diff --git a/src/views/layer/layerDetail.vue b/src/views/layer/layerDetail.vue
index 58fadc6..3c44c0e 100644
--- a/src/views/layer/layerDetail.vue
+++ b/src/views/layer/layerDetail.vue
@@ -508,6 +508,7 @@
           transparence.value = parseInt(alpha * 100);
         }
       });
+    
       releaseLayer.value = props.layerData;
       if (releaseLayer.value.pubid && releaseLayer.value.pubid > 0) {
         drawingModeShow.value = true;
diff --git a/src/views/layer/layerManage copy.vue b/src/views/layer/layerManage copy.vue
deleted file mode 100644
index 478ba9d..0000000
--- a/src/views/layer/layerManage copy.vue
+++ /dev/null
@@ -1,846 +0,0 @@
-<template>
-  <div v-drag class="layerBox">
-    <div class="layerTitle">
-      <div class="tileLeft">
-        <div @click="setCloseLayer" class="titleImg">
-          <ArrowLeft />
-        </div>
-        <div class="titleLable">鍥惧眰绠$悊</div>
-      </div>
-      <div class="titleImg set" @click="layerSetBox">
-        <Setting />
-      </div>
-    </div>
-    <div class="layerContent">
-      <el-tree
-        node-key="id"
-        :props="props"
-        :highlight-current="false"
-        :current-node-key="selectedNodeId"
-        :data="treeData"
-        :default-expanded-keys="defaultExpanded"
-        :expand-on-click-node="false"
-        show-checkbox
-        @check="handleCheckChange"
-        ref="estreeRef"
-        v-if="treeData.length"
-        :default-checked-keys="DefaultId"
-      >
-        <template #default="{ node, data }">
-          <span class="custom-tree-node">
-            <span class="label">{{ node.label }}</span>
-            <!-- <span>
-              <a @click="append(data)"> Append </a>
-              <a style="margin-left: 8px" @click="remove(node, data)">
-                Delete
-              </a>
-            </span>-->
-            <span class="button" v-if="!data.isTemporaryLayer">
-              <el-dropdown trigger="click">
-                <span class="el-dropdown-link">
-                  <el-icon class="el-icon--right">
-                    <MoreFilled />
-                  </el-icon>
-                </span>
-                <template #dropdown>
-                  <el-dropdown-menu>
-                    <el-dropdown-item
-                      v-if="data.type != 6 && data.isLayer == 1"
-                      @click.native="clickdropdown(1, data)"
-                    >璇︾粏</el-dropdown-item>
-                    <el-dropdown-item v-if="data.type == 6 && data.isLayer == 1">鍒犻櫎</el-dropdown-item>
-                    <el-dropdown-item
-                      v-if="data.type == 3 && data.isLayer == 1"
-                      @click.native="clickdropdown(2, data)"
-                    >灞炴��</el-dropdown-item>
-                    <el-dropdown-item
-                      v-if="data.isLayer == 0"
-                      @click.native="clickdropdown(3, data)"
-                    >閫忔槑搴�</el-dropdown-item>
-                    <el-dropdown-item
-                      v-if="data.shpType == 'temporaryLayer'"
-                      @click.native="clickdTemporary(1, data)"
-                    >缂栬緫</el-dropdown-item>
-                    <el-dropdown-item
-                      v-if="data.shpType == 'temporaryLayer'"
-                      @click.native="clickdTemporary(2, data)"
-                    >鍒犻櫎</el-dropdown-item>
-                    <el-dropdown-item
-                      v-if="data.shpType == 'temporaryLayer'"
-                      @click.native="clickdTemporary(3, data)"
-                    >瀹氫綅</el-dropdown-item>
-                  </el-dropdown-menu>
-                </template>
-              </el-dropdown>
-            </span>
-          </span>
-        </template>
-      </el-tree>
-    </div>
-  </div>
-  <layer-set
-    v-if="layerSetIsshow"
-    @SETstate="SETstate"
-    :layerTree="treeData"
-    @addlayer="addlayer"
-    @delLayer="delLayer"
-  ></layer-set>
-  <attribute-list
-    v-if="layerAttributeIsshow"
-    :layerData="layerObjData"
-    @spatialClose="setSpatialClose"
-  ></attribute-list>
-  <layer-detail :layerData="layerObjData" v-if="layerDetailIsshow" @detailClose="detailClose"></layer-detail>
-</template>
-
-<script lang="ts" setup>
-import {
-  ref,
-  onMounted,
-  onBeforeUnmount,
-  reactive,
-  defineProps,
-  defineEmits,
-  nextTick,
-  watch,
-} from "vue";
-import layerSet from "./layerSet";
-import attributeList from "./attributeList";
-import layerDetail from "./layerDetail";
-import { useStore } from "vuex"; // 寮曞叆useStore 鏂规硶
-import {
-  perms_selectLayers,
-  mark_selectByPageAndCount,
-  mark_insert,
-  mark_deletes,
-  mark_update,
-} from "@/api/api";
-import server from "@/assets/js/Map/server";
-import { ElMessage } from "element-plus";
-import temporaryTool from "@/assets/js/Map/temporaryTools";
-import json from "@/assets/js/colorValue";
-import menuTool from "@/assets/js/Map/menuTool";
-const store = useStore(); // 璇ユ柟娉曠敤浜庤繑鍥瀞tore 瀹炰緥
-const stretchValue = ref("");
-const emits = defineEmits(["setCloseLayer"]);
-let estreeRef = ref();
-const setLayer = ref();
-const transparence = ref(0);
-var treeData = ref([]);
-var layerListData = ref([]);
-let menuOption = reactive([]);
-const defaultExpanded = ref([]);
-const layerSetIsshow = ref(false);
-const layerAttributeIsshow = ref(false);
-const layerDetailIsshow = ref(false);
-const props = {
-  label: "cnName",
-  children: "children",
-};
-const layerObjData = ref(null);
-// 褰撳墠閫変腑鐨勮妭鐐� id
-const selectedNodeId = ref(null as any); //鍋氱被鍨嬫柇瑷�澶勭悊
-
-//榛樿閫変腑id
-const DefaultId = ref([]);
-//鍥惧眰璁剧疆寮规
-const layerSetBox = () => {
-  layerSetIsshow.value = !layerSetIsshow.value;
-};
-//鍏抽棴鐘舵��
-const SETstate = (res) => {
-  layerSetIsshow.value = res;
-};
-const setCloseLayer = () => {
-  store.state.setLayerManager = false;
-  emits("setCloseLayer", false);
-};
-const temporary = ref(new Date().getTime());
-const clickdTemporary = async (res, data) => {
-  if (res == 1) {
-    let son = estreeRef.value.getCheckedKeys();
-    if (son.indexOf(data.id) < 0) {
-      return ElMessage(data.cnName + "鍥惧眰娌℃湁鍕鹃��,鏃犳硶杩涜缂栬緫");
-    }
-    if (store.state.editTemporaryId) {
-      var id = store.state.editTemporaryId;
-      var edit_id = sgworld.Creator.SimpleGraphic.SimpleGraphicObj.indexOf(id);
-      if (edit_id > -1) {
-        sgworld.Creator.SimpleGraphic.SimpleGraphicObj.splice(edit_id, 1);
-        store.state.editTemporaryId = null;
-      }
-    }
-    store.state.editTemporaryId = data.id;
-    sgworld.Creator.SimpleGraphic.SimpleGraphicObj.push(data.id);
-    sgworld.Creator.SimpleGraphic.edit(true, {
-      editProp: false,
-      tipText: {
-        ActiveText: "鐐瑰嚮婵�娲荤紪杈�",
-      },
-      enableDelete: false,
-    });
-  } else if (res == 2) {
-    var layerId = [];
-    layerId.push(data.sid);
-    const data1 = await mark_deletes({ ids: layerId.toString() });
-    if (data1.code != 200) return;
-    temporaryTool.removeTemporaryLayer(data);
-
-    // estreeRef.value.setCheckedKeys(checkedKeys, true);
-    // for (var i in keys) {
-    //   checkedKeys.push(keys[i]);
-    // }
-
-    var val = treeData.value[0].children;
-    for (var i = 0; i < val.length; i++) {
-      if (val[i].id == data.id) {
-        val.splice(i, 1);
-      }
-    }
-    var keys = estreeRef.value.getCheckedKeys();
-    if (val.length <= 0 && keys.indexOf(data.id) > -1) {
-    
-      keys.splice(keys.indexOf(data.id), 1);
-      estreeRef.value.setCheckedKeys(keys, true);
-    }
-
-    // nextTick(() => {
-    // var str = JSON.parse(std)
-    // console.log(str)
-    // var layerIds = [];
-    // if (str.indexOf(data.id) > -1) {
-    //   str.splice(str.indexOf(data.id), 1);
-    // }
-    // if (str.indexOf(str.value) > -1) {
-    //   str.splice(str.indexOf(str.value), 1);
-    // }
-    // for (var i in str) {
-    //   var val = estreeRef.value.getNode(str[i]).data;
-    //   if (val.isLayer == 1) {
-    //     layerIds.push(str[i]);
-    //   }
-    // }
-    // estreeRef.value.setCheckedKeys(layerIds, true);
-    // });
-  } else if (res == 3) {
-    let son = estreeRef.value.getCheckedKeys();
-    if (son.indexOf(data.id) < 0) {
-      return ElMessage(data.cnName + "鍥惧眰娌℃湁鍕鹃��,鏃犳硶杩涜瀹氫綅");
-    }
-    temporaryTool.locationTemporaryLayer(data);
-  }
-};
-//閫夋嫨鍥惧眰
-const handleCheckChange = (data, checked) => {
-  layerAttributeIsshow.value = false;
-  layerDetailIsshow.value = false;
-  let isCheck = checked.checkedKeys.indexOf(data.id) > -1;
-  nextTick(() => {
-    let son = estreeRef.value.getCheckedNodes();
-    store.commit("SET_CHECKLAYER", son);
-  });
-  if (isCheck) {
-    if (data.isLayer == 0) {
-      let son = estreeRef.value.getCheckedNodes().reverse();
-      for (var i in son) {
-        var layerArr = son[i];
-        layerArr.checked = true;
-        if (layerArr.shpType && layerArr.shpType == "temporaryLayer") {
-          //涓存椂鍥惧眰娣诲姞
-          temporaryTool.addTemporaryTool(layerArr);
-        } else {
-          server.addTreeData(layerArr);
-        }
-      }
-    } else {
-      if (data.shpType && data.shpType == "temporaryLayer") {
-        //涓存椂鍥惧眰娣诲姞
-        temporaryTool.addTemporaryTool(data);
-      } else {
-        let son = estreeRef.value.getCheckedNodes().reverse();
-        for (var i in son) {
-          var layerArr = son[i];
-          layerArr.checked = true;
-          if (layerArr.shpType && layerArr.shpType == "temporaryLayer") {
-            //涓存椂鍥惧眰娣诲姞
-          } else {
-            server.addTreeData(layerArr);
-          }
-        }
-      }
-    }
-  } else {
-    if (data.isLayer == 0) {
-      var layers = getCheckedLayerChildren(data);
-
-      // var layers = data.children;
-      for (var i in layers) {
-        if (layers[i].shpType && layers[i].shpType == "temporaryLayer") {
-          //涓存椂鍥惧眰娣诲姞
-          temporaryTool.removeTemporaryLayer(layers[i]);
-        } else {
-          server.delLayer(layers[i].id);
-        }
-      }
-    } else {
-      if (data.shpType && data.shpType == "temporaryLayer") {
-        //涓存椂鍥惧眰娣诲姞
-        temporaryTool.removeTemporaryLayer(data);
-      } else {
-        server.delLayer(data.id);
-      }
-    }
-  }
-  menuTool.setImageLayerChange();
-};
-const setVisiable = (treeNode, checked) => {
-  if (checked !== undefined) {
-    treeNode.checked = checked;
-  } else {
-    treeNode.checked = !treeNode.checked;
-  }
-
-  if (treeNode.children) {
-    treeNode.children.forEach((item) => {
-      setVisiable(item, treeNode.checked);
-    });
-    return;
-  }
-
-  if (!treeNode.isAdd) {
-    //   server.addTreeData(treeNode);
-    return;
-  }
-};
-const defaultLayer = (val) => {
-  val.forEach((e) => {
-    DefaultId.value.forEach((v) => {
-      if (e.id == v) {
-        setVisiable(e, true);
-        // return;
-      }
-    });
-  });
-};
-const clickdropdown = (res, e) => {
-  layerAttributeIsshow.value = false;
-  layerDetailIsshow.value = false;
-  nextTick(() => {
-    layerObjData.value = e;
-    store.state.spatialTitle = e.cnName;
-    if (res == 2) {
-      layerAttributeIsshow.value = true;
-      store.state.tab = e;
-    } else if (res == 3) {
-      let son = estreeRef.value.getCheckedKeys();
-      var layerId = getCheckedLayerPID(e, son);
-      if (layerId.length <= 0) {
-        return ElMessage.error("璇峰厛鍕鹃�夊浘灞�");
-      }
-      layerDetailIsshow.value = true;
-      store.state.layerGroups = {
-        id: e.id,
-        layerIds: layerId,
-      };
-    } else {
-      var val = estreeRef.value!.getCheckedKeys(false);
-      if (val.indexOf(e.id) > -1) {
-        layerDetailIsshow.value = true;
-      } else {
-        return ElMessage.error("璇峰厛鍕鹃�夊浘灞�");
-      }
-    }
-  });
-};
-const getCheckedLayerPID = (res, result) => {
-  var temp = [];
-  var ids = result;
-
-  let forFn = (data) => {
-    if (data.children) {
-      data.children.forEach((item) => {
-        if (item.children) {
-          forFn(item);
-        } else {
-          if (ids.indexOf(item.id) > -1) {
-            temp.push(item.id);
-          }
-        }
-      });
-    } else {
-      if (ids.indexOf(data.id) > -1) {
-        temp.push(data.id);
-      }
-    }
-  };
-
-  forFn(res);
-  return temp;
-};
-
-const getCheckedLayerChildren = (res) => {
-  var temp2 = [];
-  let forFn = (data) => {
-    if (data.children) {
-      data.children.forEach((item) => {
-        if (item.children) {
-          forFn(item);
-        } else {
-          temp2.push(item);
-        }
-      });
-    } else {
-      temp2.push(data);
-    }
-  };
-  forFn(res);
-  return temp2;
-};
-
-const setSpatialClose = (res) => {
-  layerAttributeIsshow.value = res;
-};
-const detailClose = (res) => {
-  if (res.type == 0) {
-    estreeRef.value.getNode(store.state.layerGroups.id).data.alpha = res.val;
-  }
-  layerDetailIsshow.value = res.flag;
-};
-//缂栬緫鍥惧眰鏍�
-const addlayer = (res) => {
-  let node;
-  layerListData.value.forEach((e) => {
-    if (e.id == res.id) {
-      node = estreeRef.value.getNode(e);
-    }
-  });
-  // 灏嗗彉鍔ㄤ箣鍓嶇殑node澶囦唤
-  let copyNode = { ...node };
-  copyNode.previousSibling = { ...node.previousSibling };
-  copyNode.nextSibling = { ...node.nextSibling };
-  if (res.type === 1) {
-    // 涓婄Щ
-    if (node.previousSibling) {
-      // 鍒犻櫎鍘熷厛鐨刵ode
-      estreeRef.value.remove(node.data);
-      // 鎷垮埌copy鐨刵ode
-      // nodeData = CircularJSON.parse(window.sessionStorage.getItem("menuNode"));
-      // 澶嶅埗璇ode鍒版寚瀹氫綅缃�(鍙傛暟锛�1. 瑕佸鍔犵殑鑺傜偣鐨� data 2. 瑕佸鍔犵殑鑺傜偣鐨勫悗涓�涓妭鐐圭殑 data銆乲ey 鎴栬�� node)
-
-      estreeRef.value.insertBefore(
-        copyNode.data,
-        copyNode.previousSibling.data
-      );
-      // window.sessionStorage.removeItem("menuNode");
-    }
-  } else {
-    // 涓嬬Щ
-    if (node.nextSibling) {
-      estreeRef.value.remove(node.data);
-      estreeRef.value.insertAfter(copyNode.data, copyNode.nextSibling.data);
-    }
-  }
-};
-//鍒犻櫎鍥惧眰鏍�
-const delLayer = (res) => {
-  // menuOption = menuOption.filter((item) => {
-  //   return item.id != res;
-  // });
-  // treeData = handleTree(menuOption, "id", "pid", "children");
-};
-const setRestLayerData = () => {
-  let son = estreeRef.value.getCheckedNodes().reverse();
-  for (var i in son) {
-    var layerArr = son[i];
-    layerArr.checked = true;
-    if (layerArr.category == 2 && layerArr.type == 3) {
-      if (layerArr.tab != "moon:geo_mappable_unit") {
-        // setGeoWms.push(layerArr.tab);
-        // url = layerArr.url;
-        server.addTreeData(layerArr);
-      }
-    } else {
-      server.addTreeData(layerArr);
-    }
-  }
-  // if (setGeoWms.length > 0) {
-  //   server.addGeoServerMmsLayers(setGeoWms, url);
-  // }
-  store.commit("SET_CHECKLAYER", son);
-};
-const getLayer = async () => {
-  store.state.restLayer = false;
-  // server.delLayerAll();
-  const dt = await perms_selectLayers();
-  if (dt.code == 200) {
-    var va_data = dt.result.filter((res) => {
-      if (res.isLayer == 0) {
-        res.alpha = 1;
-      }
-      return res;
-    });
-    treeData.value = setTreeData(va_data).sort(function (a, b) {
-      return a.orderNum - b.orderNum;
-    });
-    const comperLayer = await mark_selectByPageAndCount({
-      pageIndex: 1,
-      pageSize: 100000,
-      name: null,
-    });
-    var children = [];
-    if (comperLayer.code == 200 && comperLayer.result) {
-      for (var i in comperLayer.result) {
-        var slayer = JSON.parse(comperLayer.result[i].wkt);
-        slayer.sid = comperLayer.result[i].id;
-        children.push(slayer);
-      }
-    }
-    treeData.value.unshift({
-      cnName: "涓存椂鍥惧眰",
-      level: 1,
-      pid: 0,
-      isLayer: 0,
-      type: 6,
-      id: temporary.value,
-      isTemporaryLayer: true,
-      children: children,
-    });
-
-    var std = [];
-    var terrainId = null;
-    var adLayer = [];
-    dt.result.filter((res) => {
-      if (res.isLayer == 1 && res.isShow == 1) {
-        if (res.type == 1 && res.data == 2) {
-          if (!terrainId) {
-            terrainId = res.id;
-            std.push(res.id);
-            adLayer.push(res);
-          }
-        } else {
-          std.push(res.id);
-          adLayer.push(res);
-        }
-      }
-    });
-    DefaultId.value = std;
-
-    //娣诲姞榛樿閫変腑鍥惧眰
-    layerListData.value = dt.result;
-    defaultLayer(dt.result);
-
-    nextTick(() => {
-      let son = estreeRef.value.getCheckedNodes();
-      setRestLayerData();
-      store.commit("SET_CHECKLAYER", son);
-    });
-  }
-};
-
-//鏋勯�犳爲
-function setTreeData(source) {
-  let cloneData = JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕
-  return cloneData.filter((father) => {
-    // 寰幆鎵�鏈夐」
-    let branchArr = cloneData.filter((child) => father.id == child.pid);
-    if (branchArr.length > 0) {
-      branchArr.sort(function (a, b) {
-        return a.orderNum - b.orderNum;
-      });
-    }
-
-    branchArr.length > 0 ? (father.children = branchArr) : ""; // 缁欑埗绾ф坊鍔犱竴涓猚hildren灞炴�э紝骞惰祴鍊�
-    // 灞炰簬鍚屼竴瀵硅薄闂锛屼緥濡傦細浠� a=b銆乧=1 锛岀劧鍚庡啀浠� b.c=c 锛� 閭d箞 a.c=b.c=c=1 锛涘悓鐞嗭紝鍚庣画浠� c.d=2 ,閭d箞 a.c.d 涔熸槸=2锛�
-    // 鐢辨寰幆澶氭鍚庯紝灏辫兘褰㈡垚鐩稿簲鐨勬爲褰㈡暟鎹粨鏋�
-    return father.pid == 0; // 杩斿洖涓�绾ц彍鍗�
-  });
-}
-const addTemporaryLayer = async (res) => {
-  var obj = {
-    id: res.id,
-    name: res.cnName,
-    wkt: JSON.stringify(res),
-  };
-  const data = await mark_insert(obj);
-  if (data.code != 200 || !data.result) return;
-  store.state.temporaryLayer = null;
-  res.sid = data.result;
-  treeData.value[0].children.push(res);
-  var id = res.id;
-
-  nextTick(() => {
-    var checkedKeys = estreeRef.value.getCheckedKeys();
-    if (checkedKeys.indexOf(temporary.value) > -1) {
-      checkedKeys.splice(checkedKeys.indexOf(temporary.value), 1);
-    }
-    checkedKeys.push(id);
-    estreeRef.value.setCheckedKeys(checkedKeys, true);
-    temporaryTool.addTemporaryTool(res);
-  });
-};
-const editTemporaryLayerName = (res) => {
-  if (!store.state.editTemporaryId) return;
-  var id = store.state.editTemporaryId;
-  var val = treeData.value[0].children;
-
-  for (var i = 0; i < val.length; i++) {
-    if (val[i].id == id) {
-      val[i].cnName = res;
-      setEditLayerChange(val[i]);
-    }
-  }
-  defaultExpanded.value = [treeData.value[0].id];
-};
-const editTemporaryBackById = (res) => {
-  var obj = temporaryTool.getEntityObj(res);
-  var val = treeData.value[0].children;
-  var checkedKeys = estreeRef.value.getCheckedKeys();
-  if (checkedKeys.indexOf(temporary.value) > -1) {
-    checkedKeys.splice(checkedKeys.indexOf(temporary.value), 1);
-  }
-  for (var i = 0; i < val.length; i++) {
-    if (val[i].id == res) {
-      obj.sid = val[i].sid;
-      val[i] = obj;
-      setEditLayerChange(obj);
-    }
-  }
-  nextTick(() => {
-    estreeRef.value.setCheckedKeys(checkedKeys, true);
-  });
-};
-const setEditLayerChange = async (res) => {
-  var obj = {
-    id: res.sid,
-    name: res.cnName,
-    wkt: JSON.stringify(res),
-  };
-  const data = await mark_update(obj);
-  if (data.code != 200) return;
-};
-watch(
-  () => store.state.restLayer,
-  (nVal, oVal) => {
-    if (nVal) {
-      setRestLayerData();
-    }
-  },
-  { deep: true }
-);
-watch(
-  () => store.state.temporaryLayer,
-  (nVal, oVal) => {
-    if (nVal) {
-      addTemporaryLayer(nVal);
-    }
-  },
-  { deep: true }
-);
-watch(
-  () => store.state.editTemporarName,
-  (nVal, oVal) => {
-    if (nVal) {
-      editTemporaryLayerName(nVal);
-    }
-  },
-  { deep: true }
-);
-watch(
-  () => store.state.editTemporaryback,
-  (nVal, oVal) => {
-    if (nVal) {
-      editTemporaryBackById(nVal);
-    }
-  },
-  { deep: true }
-);
-
-onMounted(() => {
-  window.setLayer = getLayer;
-});
-</script>
-
-<style lang="less" scoped>
-.layerBox {
-  width: 359px;
-  height: 680px;
-  background: rgba(7, 8, 14, 0.8);
-  box-shadow: inset 0px 10px 40px 10px rgba(38, 47, 71, 1);
-  z-index: 40;
-
-  .layerTitle {
-    width: calc(100% - 27px);
-    height: 42px;
-    background: #0e151f;
-    box-shadow: 0px 0px 6px 0px #080c13,
-      0px 14px 16px 0px rgba(38, 47, 71, 0.68);
-    display: flex;
-    justify-content: space-between;
-    padding-left: 7px;
-    padding-right: 20px;
-    color: white;
-
-    .tileLeft {
-      height: 100%;
-      display: flex;
-      align-items: center;
-
-      .titleLable {
-        font-size: 18px;
-        font-family: Source Han Sans CN;
-        font-weight: 400;
-        color: #ffffff;
-      }
-    }
-
-    .titleImg {
-      width: 20px;
-      height: 100%;
-      display: flex;
-      align-items: center;
-      color: rgba(104, 156, 255, 1);
-    }
-
-    .set {
-      cursor: pointer;
-    }
-  }
-
-  .layerContent {
-    height: 625px;
-    padding: 0 8px;
-    overflow: auto;
-    overflow-y: 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);
-  }
-
-  .el-tree {
-    width: 100%;
-    overflow-y: auto;
-  }
-
-  .layerContent .el-tree-node__content {
-    overflow: hidden;
-  }
-
-  .layerContent .custom-tree-node {
-    overflow: hidden;
-    flex-shrink: 1;
-    flex-grow: 1;
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-    font-size: 16px;
-    padding-right: 8px;
-  }
-
-  .layerContent .custom-tree-node .label {
-    flex-shrink: 1;
-    overflow: hidden;
-    text-overflow: ellipsis;
-  }
-
-  .layerContent .custom-tree-node .button {
-    flex-grow: 0;
-    flex-shrink: 0;
-  }
-}
-
-.dropdown_box {
-  position: relative;
-}
-
-/deep/.el-select-dropdown__item {
-  font-size: 12px !important;
-}
-
-.el-tree {
-  background: transparent;
-}
-
-/deep/ .el-tree-node {
-  background: #0d131d;
-  color: #ffffff;
-  font-size: 20px;
-  font-weight: 300;
-  margin-top: 3px;
-  padding: 8px;
-}
-
-/deep/ .el-tree-node:focus > .el-tree-node__content {
-  background: transparent;
-}
-
-/deep/ .el-tree-node__content:hover {
-  background: #0d131d;
-}
-
-/deep/ .el-tree-node__children {
-  background: #1e2a3d;
-
-  .el-tree-node {
-    background: #1e2a3d;
-    margin-top: 0;
-    padding: 4px;
-  }
-}
-
-/deep/
-  .el-tree--highlight-current
-  .el-tree-node.is-current
-  > .el-tree-node__content {
-  background: rgba(104, 156, 255, 0.5) !important;
-}
-
-.highlight {
-  background: rgba(104, 156, 255, 0.5) !important;
-}
-
-// .custom-tree-node {
-//   flex: 1;
-//   display: flex;
-//   align-items: center;
-//   justify-content: space-between;
-//   font-size: 16px;
-//   padding-right: 8px;
-// }
-
-.el-dropdown-menu {
-  background: rgba(7, 8, 14, 0.8);
-  box-shadow: inset 0px 10px 40px 10px rgba(38, 47, 71, 1);
-  color: #fff;
-  border: 0;
-
-  /deep/ .el-dropdown-menu__item {
-    color: #fff;
-  }
-}
-
-/deep/ .el-dropdown-menu__item:not(.is-disabled):focus {
-  background-color: rgba(104, 156, 255, 0.5);
-
-  color: #fff;
-}
-</style>
-<style>
-.el-popper.is-light {
-  border: 1px solid rgba(7, 8, 14, 0.8) !important;
-}
-
-.el-scrollbar {
-  border: 0 !important;
-}
-</style>
diff --git a/src/views/layer/layerManage.vue b/src/views/layer/layerManage.vue
index e8cef03..651d215 100644
--- a/src/views/layer/layerManage.vue
+++ b/src/views/layer/layerManage.vue
@@ -190,37 +190,29 @@
     // for (var i in keys) {
     //   checkedKeys.push(keys[i]);
     // }
-
+    var keys = estreeRef.value.getCheckedKeys();
     var val = treeData.value[0].children;
     for (var i = 0; i < val.length; i++) {
       if (val[i].id == data.id) {
         val.splice(i, 1);
       }
     }
-    var keys = estreeRef.value.getCheckedKeys();
-    if (val.length <= 0 && keys.indexOf(data.id) > -1) {
-      keys.splice(keys.indexOf(data.id), 1);
-      estreeRef.value.setCheckedKeys(keys, true);
+
+    var std = [];
+    for (var i in keys) {
+      var layer_res = estreeRef.value.getNode(checkedKeys[i]).data;
+      if(layer_res.shpType && layer_res.shpType == 'temporaryLayer'){
+        std.push(checkedKeys[i]);
+      }else if(layer_res.isLayer == 1){
+        std.push(checkedKeys[i]);
+      }
     }
-
-    // nextTick(() => {
-    // var str = JSON.parse(std)
-
-    // var layerIds = [];
-    // if (str.indexOf(data.id) > -1) {
-    //   str.splice(str.indexOf(data.id), 1);
-    // }
-    // if (str.indexOf(str.value) > -1) {
-    //   str.splice(str.indexOf(str.value), 1);
-    // }
-    // for (var i in str) {
-    //   var val = estreeRef.value.getNode(str[i]).data;
-    //   if (val.isLayer == 1) {
-    //     layerIds.push(str[i]);
-    //   }
-    // }
-    // estreeRef.value.setCheckedKeys(layerIds, true);
-    // });
+    estreeRef.value.setCheckedKeys([], true);
+    console.log(data.id);
+    nextTick(() => {
+      console.log(std);
+      estreeRef.value.setCheckedKeys(std, true);
+    });
   } else if (res == 3) {
     let son = estreeRef.value.getCheckedKeys();
     if (son.indexOf(data.id) < 0) {
@@ -234,8 +226,11 @@
   layerAttributeIsshow.value = false;
   layerDetailIsshow.value = false;
   // let isCheck = checked.checkedKeys.indexOf(data.id) > -1;
+
   let son = estreeRef.value.getCheckedNodes();
   store.commit("SET_CHECKLAYER", son);
+  temporaryTool.removeTemporaryLayerAll();
+  server.delLayerAll();
   var alphaGroup = [];
   var idGroup = [];
   for (var i in server.layerList) {
@@ -246,34 +241,35 @@
     }
   }
   server.delLayerAll();
-  temporaryTool.removeAll();
+
   var setGeoWms = [];
   var geoUrl = null;
   var layerTreeDate = estreeRef.value.getCheckedNodes().reverse();
   for (var i in layerTreeDate) {
     var layerArr = layerTreeDate[i];
-
     if (layerArr.shpType && layerArr.shpType == "temporaryLayer") {
       temporaryTool.addTemporaryTool(layerArr);
     } else {
-      if (layerArr.category == 2 && layerArr.type == 3) {
-        if (layerArr.tab != "moon:geo_mappable_unit") {
-          var id = layerArr.id;
-          if (idGroup.indexOf(id) > -1) {
-            var alpha = alphaGroup[idGroup.indexOf(id)];
-            if (alpha == 1) {
+      if (layerArr.isLayer == 1) {
+        if (layerArr.category == 2 && layerArr.type == 3) {
+          if (layerArr.tab != "moon:geo_mappable_unit") {
+            var id = layerArr.id;
+            if (idGroup.indexOf(id) > -1) {
+              var alpha = alphaGroup[idGroup.indexOf(id)];
+              if (alpha == 1) {
+                setGeoWms.push(layerArr.tab);
+                geoUrl = layerArr.url;
+              } else {
+                server.setAddGeoWmsLayer(layerArr, alpha);
+              }
+            } else {
               setGeoWms.push(layerArr.tab);
               geoUrl = layerArr.url;
-            } else {
-              server.setAddGeoWmsLayer(layerArr, alpha);
             }
-          } else {
-            setGeoWms.push(layerArr.tab);
-            geoUrl = layerArr.url;
           }
+        } else {
+          server.addTreeData(layerArr);
         }
-      } else {
-        server.addTreeData(layerArr);
       }
     }
   }
@@ -441,10 +437,12 @@
 
 const setRestLayerData = () => {
   let son = estreeRef.value.getCheckedNodes().reverse();
+
   var setGeoWms = [];
   var geoUrl = null;
   for (var i in son) {
     var layerArr = son[i];
+    console.log(layerArr.isLayer);
     layerArr.checked = true;
     if (layerArr.category == 2 && layerArr.type == 3) {
       if (layerArr.tab != "moon:geo_mappable_unit") {
@@ -554,20 +552,26 @@
     name: res.cnName,
     wkt: JSON.stringify(res),
   };
+  var checkedKeys = estreeRef.value.getCheckedKeys();
   const data = await mark_insert(obj);
   if (data.code != 200 || !data.result) return;
   store.state.temporaryLayer = null;
   res.sid = data.result;
   treeData.value[0].children.push(res);
-  var id = res.id;
+ 
 
   nextTick(() => {
-    var checkedKeys = estreeRef.value.getCheckedKeys();
-    if (checkedKeys.indexOf(temporary.value) > -1) {
-      checkedKeys.splice(checkedKeys.indexOf(temporary.value), 1);
+    var std = [res.id];
+    for (var i in checkedKeys) {
+      var layer_res = estreeRef.value.getNode(checkedKeys[i]).data;
+      if(layer_res.shpType && layer_res.shpType == 'temporaryLayer'){
+        std.push(checkedKeys[i]);
+      }else if(layer_res.isLayer == 1){
+        std.push(checkedKeys[i]);
+      }
     }
-    checkedKeys.push(id);
-    estreeRef.value.setCheckedKeys(checkedKeys, true);
+    estreeRef.value.setCheckedKeys([], true);
+    estreeRef.value.setCheckedKeys(std, true);
     temporaryTool.addTemporaryTool(res);
   });
 };
diff --git a/src/views/layer/layerSet.vue b/src/views/layer/layerSet.vue
index aaaa892..5e44712 100644
--- a/src/views/layer/layerSet.vue
+++ b/src/views/layer/layerSet.vue
@@ -25,25 +25,11 @@
     </div>
     <div class="edit_box">
       <div class="edit_box_btn btnstyle">
-        <el-button type="primary" :icon="Plus" @click="insertLayerData(1)"
-          >鏂板鍚岀骇</el-button
-        >
-        <el-button type="primary" :icon="Plus" @click="insertLayerData(2)"
-          >鏂板瀛愮骇</el-button
-        >
-        <el-button
-          type="primary"
-          :icon="Delete"
-          class="delbtn"
-          @click="delLayer"
-          >鍒犻櫎</el-button
-        >
-        <el-button type="primary" :icon="Top" @click="move(1)"
-          >鍚戜笂绉诲姩</el-button
-        >
-        <el-button type="primary" :icon="Bottom" @click="move(2)"
-          >鍚戜笅绉诲姩</el-button
-        >
+        <el-button type="primary" :icon="Plus" @click="insertLayerData(1)">鏂板鍚岀骇</el-button>
+        <el-button type="primary" :icon="Plus" @click="insertLayerData(2)">鏂板瀛愮骇</el-button>
+        <el-button type="primary" :icon="Delete" class="delbtn" @click="delLayer">鍒犻櫎</el-button>
+        <el-button type="primary" :icon="Top" @click="move(1)">鍚戜笂绉诲姩</el-button>
+        <el-button type="primary" :icon="Bottom" @click="move(2)">鍚戜笅绉诲姩</el-button>
       </div>
       <div class="edit_box_form">
         <el-form :model="formInline" label-width="120px">
@@ -61,46 +47,32 @@
               @click="setServiceChange('0')"
               key="0"
               :class="{ serviceActive: !serviceActive }"
-              >鍚�</el-button
-            >
+            >鍚�</el-button>
             <el-button
               size="small"
               class="serviceButton"
               @click="setServiceChange('1')"
               key="1"
               :class="{ serviceActive: serviceActive }"
-              >鏄�</el-button
-            >
+            >鏄�</el-button>
           </el-form-item>
 
           <el-form-item label="鍥惧眰鍚嶇О">
-            <el-input
-              v-model="formInline.cnName"
-              placeholder="璇疯緭鍏ュ浘灞傚悕绉�"
-            />
+            <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.category"
-              :disabled="serviceActive"
-            >
+            <el-select style="width: 100%" v-model="formInline.category" :disabled="serviceActive">
               <el-option
                 v-for="item in category_type"
                 :key="item.value"
                 :label="item.name"
                 :value="item.value"
-              >
-              </el-option>
+              ></el-option>
             </el-select>
           </el-form-item>
           <el-form-item label="琛ㄥ悕绉�" v-show="formInline.category == 2">
-            <el-input
-              v-model="formInline.tab"
-              placeholder="璇疯緭鍏ヨ〃鍚嶇О"
-              :disabled="serviceActive"
-            />
+            <el-input v-model="formInline.tab" placeholder="璇疯緭鍏ヨ〃鍚嶇О" :disabled="serviceActive" />
           </el-form-item>
           <!-- 鏁版嵁绫诲瀷 -->
           <el-form-item v-show="formInline.isLayer == 1" label="鏁版嵁绫诲瀷">
@@ -115,24 +87,18 @@
                 :key="item.value"
                 :label="item.label"
                 :value="item.value"
-              >
-              </el-option>
+              ></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-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>
+              ></el-option>
             </el-select>
           </el-form-item>
 
@@ -169,23 +135,18 @@
               @click="setInsertServiceChange('0')"
               key="0"
               :class="{ serviceActive: !insertServiceActive }"
-              >鍚�</el-button
-            >
+            >鍚�</el-button>
             <el-button
               size="small"
               class="serviceButton"
               @click="setInsertServiceChange('1')"
               key="1"
               :class="{ serviceActive: insertServiceActive }"
-              >鏄�</el-button
-            >
+            >鏄�</el-button>
           </el-form-item>
 
           <el-form-item label="鍥惧眰鍚嶇О">
-            <el-input
-              v-model="insertData.cnName"
-              placeholder="璇疯緭鍏ュ浘灞傚悕绉�"
-            />
+            <el-input v-model="insertData.cnName" placeholder="璇疯緭鍏ュ浘灞傚悕绉�" />
           </el-form-item>
           <!-- 鏈嶅姟绫诲埆 -->
           <el-form-item v-show="insertData.isLayer == 1" label="鏈嶅姟绫诲埆">
@@ -199,8 +160,7 @@
                 :key="item.value"
                 :label="item.name"
                 :value="item.value"
-              >
-              </el-option>
+              ></el-option>
             </el-select>
           </el-form-item>
           <el-form-item label="琛ㄥ悕绉�" v-show="insertData.category == 2">
@@ -223,8 +183,7 @@
                 :key="item.value"
                 :label="item.label"
                 :value="item.value"
-              >
-              </el-option>
+              ></el-option>
             </el-select>
           </el-form-item>
           <!-- 鏁版嵁绫诲瀷 -->
@@ -239,8 +198,7 @@
                 :key="item.value"
                 :label="item.label"
                 :value="item.value"
-              >
-              </el-option>
+              ></el-option>
             </el-select>
           </el-form-item>
 
@@ -253,16 +211,8 @@
           </el-form-item>
           <el-form-item>
             <div class="btnstyle editBtn">
-              <el-button type="primary" size="small" @click="added()"
-                >纭畾</el-button
-              >
-              <el-button
-                class="delbtn"
-                type="info"
-                size="small"
-                @click="submitCancel()"
-                >鍙栨秷</el-button
-              >
+              <el-button type="primary" size="small" @click="added()">纭畾</el-button>
+              <el-button class="delbtn" type="info" size="small" @click="submitCancel()">鍙栨秷</el-button>
             </div>
           </el-form-item>
         </el-form>
@@ -270,62 +220,30 @@
     </el-dialog>
     <el-dialog v-model="dialogService" width="50%" :show-close="false">
       <div style="width: 100%; max-height: 63vh; overflow-y: auto">
-        <div
-          style="display: flex; justify-content: space-between"
-          class="tableForm"
-        >
+        <div style="display: flex; justify-content: space-between" class="tableForm">
           <div>
             <el-input size="small" v-model="listData.name">
               <template #suffix>
-                <el-icon
-                  class="el-input__icon el-icon-search"
-                  @click="setServiceQuery"
-                >
+                <el-icon class="el-input__icon el-icon-search" @click="setServiceQuery">
                   <search />
                 </el-icon>
               </template>
             </el-input>
           </div>
           <div class="btnstyle">
-            <el-button type="info" size="small" @click="setServiceRest">
-              閲嶇疆
-            </el-button>
+            <el-button type="info" size="small" @click="setServiceRest">閲嶇疆</el-button>
 
-            <el-button type="primary" size="small" @click="setServiceConfirm">
-              纭
-            </el-button>
-            <el-button
-              type="info"
-              size="small"
-              @click="setServiceCanel"
-              class="delbtn"
-            >
-              鍙栨秷
-            </el-button>
+            <el-button type="primary" size="small" @click="setServiceConfirm">纭</el-button>
+            <el-button type="info" size="small" @click="setServiceCanel" class="delbtn">鍙栨秷</el-button>
           </div>
         </div>
         <el-table ref="multipleTable" :data="tableData" @select="selectChange">
-          <el-table-column type="selection" width="55"> </el-table-column>
-          <el-table-column
-            align="center"
-            type="index"
-            label="搴忓彿"
-            width="70px"
-          />
+          <el-table-column type="selection" width="55"></el-table-column>
+          <el-table-column align="center" type="index" label="搴忓彿" width="70px" />
           <el-table-column align="center" prop="cnName" label="璧勬簮鍚嶇О" />
 
-          <el-table-column
-            align="center"
-            prop="category"
-            label="鏈嶅姟绫诲瀷"
-            :formatter="setResCategory"
-          />
-          <el-table-column
-            align="center"
-            prop="type"
-            label="鏁版嵁绫诲瀷"
-            :formatter="setResType"
-          />
+          <el-table-column align="center" prop="category" label="鏈嶅姟绫诲瀷" :formatter="setResCategory" />
+          <el-table-column align="center" prop="type" label="鏁版嵁绫诲瀷" :formatter="setResType" />
         </el-table>
         <div class="pagination_box" style="margin-top: 15px">
           <el-pagination
@@ -336,8 +254,7 @@
             :page-size="listData.pageSize"
             layout="total, sizes, prev, pager, next, jumper"
             :total="listData.count"
-          >
-          </el-pagination>
+          ></el-pagination>
         </div>
       </div>
     </el-dialog>
@@ -747,7 +664,8 @@
     backUpData.value = JSON.stringify(data);
     // this.currentData = JSON.stringify(result)
     formInline.value = JSON.parse(backUpData.value);
-    formInline.value.isLayer = data.isLayer.toString();
+    debugger;
+    formInline.value.isLayer = parseInt(data.isLayer) == 0 ? "0" : "1";
     if (data.resid && data.resid > 0) {
       serviceActive.value = true;
     } else {
@@ -774,7 +692,7 @@
     id += Math.floor(Math.random() * 10);
   }
   var addObj = {
-    isLayer: insertData.value.isLayer.toString(),
+    isLayer: parseInt(insertData.value.isLayer),
     id: id,
     cnName: insertData.value.cnName,
     url: insertData.value.serviceUrl,
@@ -784,7 +702,7 @@
     tab: insertData.value.tab, //Geoserver 鍚嶇О锛�
     category: insertData.value.category, //鏈嶅姟绫诲埆 Geoserver , 1 GisServer 2 GeoServer 3鏁扮畝
   };
-
+  debugger;
   if (addlocation == 1) {
     //鏂板鍚岀骇
     treeRef.value.insertAfter(addObj, treeRef.value.getNode(selectedObj.value));

--
Gitblit v1.9.3