From f4a54f5d378fb194d4132de2668e5d85a255b8ff Mon Sep 17 00:00:00 2001
From: surprise <15810472099@163.com>
Date: 星期四, 26 十月 2023 15:07:55 +0800
Subject: [PATCH] 版本更新

---
 src/views/layer/layerManage.vue |  266 ++++++++++++++++++++++++++++++----------------------
 1 files changed, 153 insertions(+), 113 deletions(-)

diff --git a/src/views/layer/layerManage.vue b/src/views/layer/layerManage.vue
index 295f7bf..478ba9d 100644
--- a/src/views/layer/layerManage.vue
+++ b/src/views/layer/layerManage.vue
@@ -12,9 +12,20 @@
       </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">
+      <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>
@@ -23,7 +34,7 @@
               <a style="margin-left: 8px" @click="remove(node, data)">
                 Delete
               </a>
-            </span> -->
+            </span>-->
             <span class="button" v-if="!data.isTemporaryLayer">
               <el-dropdown trigger="click">
                 <span class="el-dropdown-link">
@@ -33,19 +44,31 @@
                 </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"
+                      @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-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>
@@ -55,9 +78,18 @@
       </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-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>
 
@@ -76,7 +108,13 @@
 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 {
+  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";
@@ -120,9 +158,9 @@
 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+"鍥惧眰娌℃湁鍕鹃��,鏃犳硶杩涜缂栬緫");
+    let son = estreeRef.value.getCheckedKeys();
+    if (son.indexOf(data.id) < 0) {
+      return ElMessage(data.cnName + "鍥惧眰娌℃湁鍕鹃��,鏃犳硶杩涜缂栬緫");
     }
     if (store.state.editTemporaryId) {
       var id = store.state.editTemporaryId;
@@ -135,49 +173,59 @@
     store.state.editTemporaryId = data.id;
     sgworld.Creator.SimpleGraphic.SimpleGraphicObj.push(data.id);
     sgworld.Creator.SimpleGraphic.edit(true, {
-      editProp: false, tipText: {
-        ActiveText: '鐐瑰嚮婵�娲荤紪杈�'
-      }, enableDelete: false
+      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
+    var layerId = [];
+    layerId.push(data.sid);
+    const data1 = await mark_deletes({ ids: layerId.toString() });
+    if (data1.code != 200) return;
     temporaryTool.removeTemporaryLayer(data);
-    var keys = estreeRef.value.getCheckedKeys();
-    const checkedKeys = [];
-    for (var i in keys) {
-      checkedKeys.push(keys[i])
-    }
+
+    // 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);
       }
     }
-    if (checkedKeys.indexOf(data.id) > -1) {
-      checkedKeys.splice(checkedKeys.indexOf(data.id), 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);
     }
-    if (checkedKeys.indexOf(temporary.value) > -1) {
-      checkedKeys.splice(checkedKeys.indexOf(temporary.value), 1)
-    }
-    estreeRef.value.setCheckedKeys([], true);
-    nextTick(() => {
-      var layerIds = [];
-      for (var i in checkedKeys) {
 
-        var val = estreeRef.value.getNode(checkedKeys[i]).data;
-        if (val.isLayer == 1) {
-          layerIds.push(checkedKeys[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+"鍥惧眰娌℃湁鍕鹃��,鏃犳硶杩涜瀹氫綅");
+    // 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);
   }
@@ -197,22 +245,24 @@
       for (var i in son) {
         var layerArr = son[i];
         layerArr.checked = true;
-        if (layerArr.shpType && layerArr.shpType == 'temporaryLayer') {//涓存椂鍥惧眰娣诲姞
+        if (layerArr.shpType && layerArr.shpType == "temporaryLayer") {
+          //涓存椂鍥惧眰娣诲姞
           temporaryTool.addTemporaryTool(layerArr);
         } else {
           server.addTreeData(layerArr);
         }
       }
     } else {
-      if (data.shpType && data.shpType == 'temporaryLayer') {//涓存椂鍥惧眰娣诲姞
+      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') {//涓存椂鍥惧眰娣诲姞
-
+          if (layerArr.shpType && layerArr.shpType == "temporaryLayer") {
+            //涓存椂鍥惧眰娣诲姞
           } else {
             server.addTreeData(layerArr);
           }
@@ -220,27 +270,26 @@
       }
     }
   } else {
-    debugger
     if (data.isLayer == 0) {
       var layers = getCheckedLayerChildren(data);
-      debugger
+
       // var layers = data.children;
       for (var i in layers) {
-        if (layers[i].shpType && layers[i].shpType == 'temporaryLayer') {//涓存椂鍥惧眰娣诲姞
+        if (layers[i].shpType && layers[i].shpType == "temporaryLayer") {
+          //涓存椂鍥惧眰娣诲姞
           temporaryTool.removeTemporaryLayer(layers[i]);
         } else {
-          server.delLayer(layers[i].id)
+          server.delLayer(layers[i].id);
         }
       }
     } else {
-
-      if (data.shpType && data.shpType == 'temporaryLayer') {//涓存椂鍥惧眰娣诲姞
+      if (data.shpType && data.shpType == "temporaryLayer") {
+        //涓存椂鍥惧眰娣诲姞
         temporaryTool.removeTemporaryLayer(data);
       } else {
-        server.delLayer(data.id)
+        server.delLayer(data.id);
       }
     }
-
   }
   menuTool.setImageLayerChange();
 };
@@ -291,8 +340,8 @@
       layerDetailIsshow.value = true;
       store.state.layerGroups = {
         id: e.id,
-        layerIds: layerId
-      }
+        layerIds: layerId,
+      };
     } else {
       var val = estreeRef.value!.getCheckedKeys(false);
       if (val.indexOf(e.id) > -1) {
@@ -301,33 +350,30 @@
         return ElMessage.error("璇峰厛鍕鹃�夊浘灞�");
       }
     }
-  })
-
+  });
 };
 const getCheckedLayerPID = (res, result) => {
   var temp = [];
-  var ids = result
+  var ids = result;
 
   let forFn = (data) => {
     if (data.children) {
-      data.children.forEach(item => {
+      data.children.forEach((item) => {
         if (item.children) {
-          forFn(item)
+          forFn(item);
         } else {
           if (ids.indexOf(item.id) > -1) {
-            temp.push(item.id)
+            temp.push(item.id);
           }
         }
-      })
+      });
     } else {
-
       if (ids.indexOf(data.id) > -1) {
-        temp.push(data.id)
+        temp.push(data.id);
       }
     }
+  };
 
-  }
-  
   forFn(res);
   return temp;
 };
@@ -336,30 +382,22 @@
   var temp2 = [];
   let forFn = (data) => {
     if (data.children) {
-      data.children.forEach(item => {
+      data.children.forEach((item) => {
         if (item.children) {
-          forFn(item)
+          forFn(item);
         } else {
-    
-            temp2.push(item)
-        
+          temp2.push(item);
         }
-      })
+      });
     } else {
-      temp2.push(data)
+      temp2.push(data);
     }
-  }
+  };
   forFn(res);
   return temp2;
 };
 
-
-
-
-
-
 const setSpatialClose = (res) => {
-
   layerAttributeIsshow.value = res;
 };
 const detailClose = (res) => {
@@ -435,13 +473,12 @@
   // 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;
     });
@@ -449,13 +486,13 @@
       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)
+        children.push(slayer);
       }
     }
     treeData.value.unshift({
@@ -494,7 +531,7 @@
 
     nextTick(() => {
       let son = estreeRef.value.getCheckedNodes();
-      setRestLayerData()
+      setRestLayerData();
       store.commit("SET_CHECKLAYER", son);
     });
   }
@@ -522,10 +559,10 @@
   var obj = {
     id: res.id,
     name: res.cnName,
-    wkt: JSON.stringify(res)
-  }
+    wkt: JSON.stringify(res),
+  };
   const data = await mark_insert(obj);
-  if (data.code != 200 || !data.result) return
+  if (data.code != 200 || !data.result) return;
   store.state.temporaryLayer = null;
   res.sid = data.result;
   treeData.value[0].children.push(res);
@@ -534,7 +571,7 @@
   nextTick(() => {
     var checkedKeys = estreeRef.value.getCheckedKeys();
     if (checkedKeys.indexOf(temporary.value) > -1) {
-      checkedKeys.splice(checkedKeys.indexOf(temporary.value), 1)
+      checkedKeys.splice(checkedKeys.indexOf(temporary.value), 1);
     }
     checkedKeys.push(id);
     estreeRef.value.setCheckedKeys(checkedKeys, true);
@@ -549,7 +586,7 @@
   for (var i = 0; i < val.length; i++) {
     if (val[i].id == id) {
       val[i].cnName = res;
-      setEditLayerChange(val[i])
+      setEditLayerChange(val[i]);
     }
   }
   defaultExpanded.value = [treeData.value[0].id];
@@ -559,13 +596,13 @@
   var val = treeData.value[0].children;
   var checkedKeys = estreeRef.value.getCheckedKeys();
   if (checkedKeys.indexOf(temporary.value) > -1) {
-    checkedKeys.splice(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)
+      setEditLayerChange(obj);
     }
   }
   nextTick(() => {
@@ -576,11 +613,11 @@
   var obj = {
     id: res.sid,
     name: res.cnName,
-    wkt: JSON.stringify(res)
-  }
-  const data = await mark_update(obj)
-  if (data.code != 200) return
-}
+    wkt: JSON.stringify(res),
+  };
+  const data = await mark_update(obj);
+  if (data.code != 200) return;
+};
 watch(
   () => store.state.restLayer,
   (nVal, oVal) => {
@@ -743,7 +780,7 @@
   padding: 8px;
 }
 
-/deep/ .el-tree-node:focus>.el-tree-node__content {
+/deep/ .el-tree-node:focus > .el-tree-node__content {
   background: transparent;
 }
 
@@ -761,7 +798,10 @@
   }
 }
 
-/deep/ .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
+/deep/
+  .el-tree--highlight-current
+  .el-tree-node.is-current
+  > .el-tree-node__content {
   background: rgba(104, 156, 255, 0.5) !important;
 }
 

--
Gitblit v1.9.3