From bf48462e6ce0e0baa899c1c64c24c05290dc77fd Mon Sep 17 00:00:00 2001
From: WX <1377869194@qq.com>
Date: 星期五, 21 七月 2023 18:01:32 +0800
Subject: [PATCH] 图层树开发方法(待验证)下拉框选择图片(有bug)

---
 src/views/layer/layerManage.vue |   52 +++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 43 insertions(+), 9 deletions(-)

diff --git a/src/views/layer/layerManage.vue b/src/views/layer/layerManage.vue
index b33a066..4b33b1e 100644
--- a/src/views/layer/layerManage.vue
+++ b/src/views/layer/layerManage.vue
@@ -33,7 +33,7 @@
                 Delete
               </a>
             </span> -->
-            <span class="button" v-if="data.type == 2">
+            <span class="button" v-if="data.type == 2 || data.type == 3">
               <el-dropdown trigger="click">
                 <span class="el-dropdown-link">
                   <el-icon class="el-icon--right">
@@ -91,6 +91,7 @@
 import { useStore } from "vuex"; // 寮曞叆useStore 鏂规硶
 import { layer_selectAll } from "@/api/api";
 import server from "@/assets/js/Map/server";
+import { ElMessage } from "element-plus";
 const store = useStore(); // 璇ユ柟娉曠敤浜庤繑鍥瀞tore 瀹炰緥
 const stretchValue = ref("");
 
@@ -119,6 +120,7 @@
 ];
 const transparence = ref(0);
 var treeData = ref([]);
+var layerListData = ref([]);
 let menuOption = reactive([
   {
     id: 1,
@@ -305,16 +307,47 @@
 };
 //缂栬緫鍥惧眰鏍�
 const addlayer = (res) => {
-  menuOption.push(res);
-  // treeData.value = handleTree(menuOption, "id", "pid", "children");
+  console.log(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;
-  });
-  console.log(res);
-  console.log(menuOption);
+  // menuOption = menuOption.filter((item) => {
+  //   return item.id != res;
+  // });
+  // console.log(res);
+  // console.log(menuOption);
   // treeData = handleTree(menuOption, "id", "pid", "children");
 };
 
@@ -322,6 +355,7 @@
   const dt = await layer_selectAll();
   if (dt.code == 200) {
     treeData.value = setTreeData(dt.result);
+    layerListData.value = dt.result;
   }
 
   // treeData.value = JSON.parse(JSON.stringify(treeData.value));
@@ -337,7 +371,7 @@
     let branchArr = cloneData.filter((child) => father.id == child.pid);
     if (branchArr.length > 0) {
       branchArr.sort(function (a, b) {
-        return a.orderNum - b.orderNum;
+        return a.sort - b.sort;
       });
     }
 

--
Gitblit v1.9.3