From 5098a5cf0162f60752abd7495f7a3eb31a3f29d1 Mon Sep 17 00:00:00 2001 From: qsh <> Date: Mon, 21 Apr 2025 10:23:34 +0800 Subject: [PATCH] sc --- .../OKR/Management/Components/AllTarget.vue | 22 +++++----- .../OKR/Management/Components/ObjectList.vue | 43 ++++++++++++++++++- 2 files changed, 54 insertions(+), 11 deletions(-) diff --git a/src/views/OKR/Management/Components/AllTarget.vue b/src/views/OKR/Management/Components/AllTarget.vue index eddc3d3..bbaf08e 100644 --- a/src/views/OKR/Management/Components/AllTarget.vue +++ b/src/views/OKR/Management/Components/AllTarget.vue @@ -86,16 +86,18 @@ function handleSearchPeroid() { } function nodeChange(nodeId) { - searchForm.value.nodeId = nodeId - getOkrList() - const currentNode = findNode(peroidList.value, (node) => { - return node.nodeId == nodeId - }) - searchForm.value.creatorId = currentNode.creatorId - if (!currentNode.children || currentNode.children.length == 0) { - isCurrentLeafNode.value = true - } else { - isCurrentLeafNode.value = false + if (nodeId) { + searchForm.value.nodeId = nodeId + getOkrList() + const currentNode = findNode(peroidList.value, (node) => { + return node.nodeId == nodeId + }) + searchForm.value.creatorId = currentNode.creatorId + if (!currentNode.children || currentNode.children.length == 0) { + isCurrentLeafNode.value = true + } else { + isCurrentLeafNode.value = false + } } } diff --git a/src/views/OKR/Management/Components/ObjectList.vue b/src/views/OKR/Management/Components/ObjectList.vue index 61e1c9a..be3508d 100644 --- a/src/views/OKR/Management/Components/ObjectList.vue +++ b/src/views/OKR/Management/Components/ObjectList.vue @@ -30,9 +30,11 @@ @@ -74,7 +76,7 @@ - + @@ -89,6 +91,7 @@ import { listToTree } from '@/utils/tree' const dataList = ref({}) const helpDataList = ref([]) +const lastExpendKeys = ref([]) const treeProps = { children: 'children', label: 'nodeName', @@ -106,6 +109,7 @@ const peroidList = ref([]) handleSearchPeroid() function handleSearchPeroid() { + lastExpendKeys.value = [] getOkrRelationTree().then((resp) => { peroidList.value = resp if (resp && resp.length && !searchForm.value.nodeId) { @@ -116,6 +120,43 @@ function handleSearchPeroid() { }) } +const treeOrgRef = ref(null) +function resetTreeData() { + if (treeOrgRef.value) { + lastExpendKeys.value = treeOrgRef.value.getExpandKeys() + } + + // 重新获取tree数据 + getOkrRelationTree().then((resp) => { + peroidList.value = resp + if (resp && resp.length) { + if (!searchForm.value.nodeId) { + searchForm.value.nodeId = resp[0].nodeId + searchForm.value.nodeName = resp[0].nodeName + } + getOkrRelationTreeChildren({ + nodeId: searchForm.value.nodeId + }).then((resp) => { + const tree = listToTree(resp, { + id: 'nodeId', + pid: 'parentId', + children: 'children' + }) + // // 设置展开的keys + // if (treeOrgRef.value) { + // treeOrgRef.value.setExpandKeys(lastExpendKeys.value) + // } + helpDataList.value = resp + if (tree && tree.length) { + dataList.value = tree[0] + } else { + dataList.value = {} + } + }) + } + }) +} + function getOkrList() { getOkrRelationTreeChildren({ nodeId: searchForm.value.nodeId