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 @@
     </div>
 
     <vue3-tree-org
+      ref="treeOrgRef"
       :data="dataList"
       center
       collapsable
+      :default-expand-keys="lastExpendKeys"
       :props="treeProps"
       @on-node-click="handleClickNode"
     >
@@ -74,7 +76,7 @@
       </template>
     </vue3-tree-org>
     <DialogOkr ref="dialogOkr" @edit="handleEditOkr" />
-    <DialogOkrInfo ref="dialogOkrInfo" @close="openOkr" />
+    <DialogOkrInfo ref="dialogOkrInfo" @close="openOkr" @success="resetTreeData" />
   </div>
 </template>
 
@@ -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