Browse Source

定位节点

duy 2 days ago
parent
commit
84c425f408
2 changed files with 22 additions and 5 deletions
  1. 2 1
      src/components/dialog/EditNodeDialog.vue
  2. 20 4
      src/components/tree/hc-tree.vue

+ 2 - 1
src/components/dialog/EditNodeDialog.vue

@@ -334,7 +334,8 @@ const archiveTreeSaveHandle = async (form)=>{//新增
     //console.log(res);
     if (code == 200) {
         window.$message?.success('新增成功')
-        window?.location?.reload() //刷新页面
+  
+        // window?.location?.reload() //刷新页面
     }
 }
 

+ 20 - 4
src/components/tree/hc-tree.vue

@@ -1,6 +1,7 @@
 <template>
     <el-radio-group v-model="radioKeys" @change="treeRadioChange">
         <ElTree
+            v-if="isShowTree"
             ref="ElTreeRef" class="tree-line el-radio-group hc-tree-node" :class="ui" :props="ElTreeProps" :load="ElTreeLoadNode" lazy accordion highlight-current node-key="id"
             :default-expanded-keys="defaultExpandedCids" :indent="0" :show-checkbox="isCheck" check-strictly @node-click="ElTreeClick"
             @node-contextmenu="ElTreeLabelContextMenu2"
@@ -60,7 +61,7 @@
         </template>
     </HcContextMenu>
 
-    <EditNodeDialog :project-id="projectId" :node="nodeItemInfo" :show="editDialogShow" :type="editDialogType" @hide="dialogHide" />
+    <EditNodeDialog :project-id="projectId" :node="nodeItemInfo" :show="editDialogShow" :type="editDialogType" @hide="dialogHide" @save="saveEditDialog" />
 
     <SortNodeDialog :node="nodeItemInfo" :show="sortDialogShow" @hide="sortDialogHide" />
 </template>
@@ -416,9 +417,11 @@ const removeElTreeNode = (key) => {
 
 //鼠标右键事件2
 const contextMenuRef2 = ref(null)
-const ElTreeLabelContextMenu2 = (e, data, node) => {
-
-    emit('menuTap', { node, data })
+const ElTreeLabelContextMenu2 = async (e, data, node) => {
+ let autoKeysArr = []
+        await getNodeExpandKeys(node, autoKeysArr)
+        const autoKeys = autoKeysArr.reverse()
+    emit('menuTap', { node, data, keys: autoKeys })
     let rows = ElTreeMenu.value || []
     if (node.level == 1) {
         rows = ElTreeMenu.value.filter((item)=>{
@@ -509,6 +512,19 @@ const editNodeModal = ()=>{
 const dialogHide = ()=>{
     editDialogShow.value = false
 }
+const isShowTree = ref(true)
+const reloadTree = ()=>{
+    isShowTree.value = false
+    setTimeout(()=>{
+        isShowTree.value = true
+    }, 1000)
+}
+const saveEditDialog = ()=>{
+    console.log(3333333)
+    
+    editDialogShow.value = false
+    reloadTree()
+}
 
 //排序弹窗
 const sortDialogShow = ref(false)