diff --git a/backend/src/main/java/io/metersphere/xpack b/backend/src/main/java/io/metersphere/xpack index 61397c1672..2f4f76c93a 160000 --- a/backend/src/main/java/io/metersphere/xpack +++ b/backend/src/main/java/io/metersphere/xpack @@ -1 +1 @@ -Subproject commit 61397c16728a63493507679f7e0940d9099f337f +Subproject commit 2f4f76c93afa7b62b1d73fa90e73eec948a6ef3f diff --git a/frontend/src/business/components/common/head/HeaderOrgWs.vue b/frontend/src/business/components/common/head/HeaderOrgWs.vue index 5b8a565245..35bdad37be 100644 --- a/frontend/src/business/components/common/head/HeaderOrgWs.vue +++ b/frontend/src/business/components/common/head/HeaderOrgWs.vue @@ -108,9 +108,10 @@ import { if (response.data.workspaceId) { localStorage.setItem("workspace_id", response.data.workspaceId); } - localStorage.removeItem(PROJECT_ID) - this.$router.push('/'); - window.location.reload(); + localStorage.removeItem(PROJECT_ID); + this.$router.push('/').then(() => { + window.location.reload(); + }).catch(err => err); }); }, changeWs(data) { @@ -121,9 +122,10 @@ import { this.$post("/user/switch/source/ws/" + workspaceId, {}, response => { saveLocalStorage(response); localStorage.setItem("workspace_id", workspaceId); - localStorage.removeItem(PROJECT_ID) - this.$router.push('/'); - window.location.reload(); + localStorage.removeItem(PROJECT_ID); + this.$router.push('/').then(() => { + window.location.reload(); + }).catch(err => err); }) } } diff --git a/frontend/src/business/components/common/head/SearchList.vue b/frontend/src/business/components/common/head/SearchList.vue index 4b861ec45a..1cc176fd5e 100644 --- a/frontend/src/business/components/common/head/SearchList.vue +++ b/frontend/src/business/components/common/head/SearchList.vue @@ -36,11 +36,6 @@ export default { currentProject: String }, created() { - if (getCurrentUser().lastProjectId) { - localStorage.setItem(PROJECT_ID, getCurrentUser().lastProjectId); - } - }, - mounted() { this.init(); }, computed: { @@ -68,10 +63,24 @@ export default { this.result = this.$get("/project/listAll", response => { this.items = response.data; this.searchArray = response.data; - if (!getCurrentProjectID() && this.items.length > 0) { - this.change(this.items[0].id); + let userLastProjectId = getCurrentUser().lastProjectId; + if (userLastProjectId) { + // id 是否存在 + if (this.searchArray.length > 0 && this.searchArray.map(p => p.id).indexOf(userLastProjectId) !== -1) { + localStorage.setItem(PROJECT_ID, userLastProjectId); + } } let projectId = getCurrentProjectID(); + if (projectId) { + // 保存的 projectId 在当前项目列表是否存在; 切换工作空间后 + if (this.searchArray.length > 0 && this.searchArray.map(p => p.id).indexOf(projectId) === -1) { + this.change(this.items[0].id); + } + } else { + if (this.items.length > 0) { + this.change(this.items[0].id); + } + } this.changeProjectName(projectId); }) } diff --git a/frontend/src/business/components/xpack b/frontend/src/business/components/xpack index a22a3005d9..d39dafaf84 160000 --- a/frontend/src/business/components/xpack +++ b/frontend/src/business/components/xpack @@ -1 +1 @@ -Subproject commit a22a3005d9bd254793fcf634d72539cbdf31be3a +Subproject commit d39dafaf84b9c7a56cb51f2caf67dd7dfde5938c