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