浏览代码

资料填报页面搜索后定位问题

duy 2 年之前
父节点
当前提交
06d3dbf4ab
共有 2 个文件被更改,包括 35 次插入10 次删除
  1. 21 6
      src/views/data-fill/components/HcTreeData.vue
  2. 14 4
      src/views/data-fill/wbs.vue

+ 21 - 6
src/views/data-fill/components/HcTreeData.vue

@@ -144,17 +144,26 @@ const ElTreeClick = async (data,node) => {
     }
 }
 
+//处理自动展开的节点KEY
+// const getNodeExpandKeys = async (node, newKeys) => {
+//     const parent = getArrValue(node?.parent)
+//     const nodeData = getObjValue(node?.data);
+//     console.log(nodeData,'nodeData');
+//     const primaryKeyId = nodeData?.primaryKeyId ?? ''
+//     if (primaryKeyId) {
+//         newKeys.push(primaryKeyId)
+//         await getNodeExpandKeys(parent, newKeys)
+//     }
+// }
 //处理自动展开的节点KEY
 const getNodeExpandKeys = async (node, newKeys) => {
-    const parent = getArrValue(node?.parent)
-    const nodeData = getObjValue(node?.data);
-    const primaryKeyId = nodeData?.primaryKeyId ?? ''
+    const parent = node?.parent ?? []
+    const primaryKeyId = node?.data?.primaryKeyId ?? ''
     if (primaryKeyId) {
         newKeys.push(primaryKeyId)
         await getNodeExpandKeys(parent, newKeys)
     }
 }
-
 //鼠标右键事件
 const contextMenuRef = ref(null)
 const ElTreeLabelContextMenu = (e,data,node) => {
@@ -169,7 +178,7 @@ const ElTreeLabelContextMenu = (e,data,node) => {
 }
 
 //鼠标右键菜单被点击
-const handleMenuSelect = ({key}) => {
+const handleMenuSelect = async({key}) => {
     const node = treeRefNode.value;
     const data = treeRefData.value;
     //如果为标记菜单
@@ -180,7 +189,13 @@ const handleMenuSelect = ({key}) => {
             emit('menuTap', {key: 'mark', node, data})
         }
     } else {
-        emit('menuTap', {key, node, data})
+        // emit('menuTap', {key, node, data})
+        if (isAutoKeys.value) {
+            let autoKeysArr = []
+            await getNodeExpandKeys(node, autoKeysArr)
+            const autoKeys = autoKeysArr.reverse()
+            emit('menuTap', {key, node, data,keys:autoKeys})
+        }
     }
 }
 //设置树菜单的标记数据

+ 14 - 4
src/views/data-fill/wbs.vue

@@ -378,14 +378,25 @@ const typeName = routerQuery?.type || 'map'
 const isDrawType = ref(true)
 //自动展开缓存
 const TreeAutoExpandKeys = ref(getStoreData('wbsTreeExpandKeys') || [])
-
+//树搜索
+const isSearchTree = ref(false)
 //监听
 watch(() => [
-    useAppState.getCollapse
+    useAppState.getCollapse,
 ], ([Collapse]) => {
     isCollapse.value = Collapse
+   
 })
+watch(isSearchTree, (val) => {
+    if(val){
+        getSearchTreeData()
+    }
+   
+},
 
+{immediate:true}
+
+)
 //渲染完成
 onMounted(()=> {
     treeLoading.value = typeName === 'tree';
@@ -490,8 +501,7 @@ const primaryKeyId = ref('')
 const nodeItemInfo = ref({})
 const nodeDataInfo = ref({})
 
-//树搜索
-const isSearchTree = ref(false)
+
 const searchTreeVal = ref('')
 const searchTreeData = ref([])
 //回车