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/layerSet.vue |   54 ++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 48 insertions(+), 6 deletions(-)

diff --git a/src/views/layer/layerSet.vue b/src/views/layer/layerSet.vue
index ae13792..3908cd2 100644
--- a/src/views/layer/layerSet.vue
+++ b/src/views/layer/layerSet.vue
@@ -74,8 +74,12 @@
           @click="delLayer"
           >鍒犻櫎</el-button
         >
-        <el-button type="primary" :icon="Top">鍚戜笂绉诲姩</el-button>
-        <el-button type="primary" :icon="Bottom">鍚戜笅绉诲姩</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="form" label-width="120px">
@@ -208,7 +212,7 @@
   }
   var addObj = {
     id: id,
-    name: form.name,
+    cnName: form.name,
     region: form.region,
     layerUrl: form.layerUrl,
     children: [],
@@ -220,11 +224,13 @@
   }
 
   if (t == "t") {
-    addObj.parentId = selectedObj.value.parentId;
+    // console.log(treeRef.value.getNode(selectedObj.value));
+    // addObj.parentId = selectedObj.value.parentId;
+    treeRef.value.insertAfter(addObj, treeRef.value.getNode(selectedObj.value));
   } else {
-    addObj.parentId = selectedNodeId.value;
+    // addObj.parentId = selectedNodeId.value;
+    treeRef.value.append(addObj, treeRef.value.getNode(selectedObj.value));
   }
-  emits("addlayer", addObj);
 };
 //鍒犻櫎
 const delLayer = () => {
@@ -246,6 +252,42 @@
     }
   });
 };
+//绉诲姩
+const move = (type) => {
+  // let node = treeRef.value.getCurrentNode();
+  let node = treeRef.value.getNode(selectedObj.value);
+  let data = selectedObj.value;
+  // 灏嗗彉鍔ㄤ箣鍓嶇殑node澶囦唤
+  let copyNode = { ...node };
+  copyNode.previousSibling = { ...node.previousSibling };
+  copyNode.nextSibling = { ...node.nextSibling };
+  // window.sessionStorage.setItem("menuNode", CircularJSON.stringify(copyNode));
+
+  if (type === 1) {
+    // 涓婄Щ
+    if (node.previousSibling) {
+      // 鍒犻櫎鍘熷厛鐨刵ode
+      treeRef.value.remove(node.data);
+      // 鎷垮埌copy鐨刵ode
+      // nodeData = CircularJSON.parse(window.sessionStorage.getItem("menuNode"));
+      // 澶嶅埗璇ode鍒版寚瀹氫綅缃�(鍙傛暟锛�1. 瑕佸鍔犵殑鑺傜偣鐨� data 2. 瑕佸鍔犵殑鑺傜偣鐨勫悗涓�涓妭鐐圭殑 data銆乲ey 鎴栬�� node)
+
+      treeRef.value.insertBefore(copyNode.data, copyNode.previousSibling.data);
+      // window.sessionStorage.removeItem("menuNode");
+    } else {
+      return ElMessage.warning("璇ヨ彍鍗曞凡缁忔槸褰撳墠灞傛渶涓婄骇");
+    }
+  } else {
+    // 涓嬬Щ
+    if (node.nextSibling) {
+      treeRef.value.remove(node.data);
+      treeRef.value.insertAfter(copyNode.data, copyNode.nextSibling.data);
+    } else {
+      return ElMessage.warning("璇ヨ彍鍗曞凡缁忔槸褰撳墠灞傛渶涓嬬骇");
+    }
+  }
+  emits("addlayer", { type: type, id: selectedObj.value.id });
+};
 </script>
 
 <style lang="less" scoped>

--
Gitblit v1.9.3