diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtProjectMapper.java b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtProjectMapper.java index 8c5b8eab57..1b5e383b04 100644 --- a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtProjectMapper.java +++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtProjectMapper.java @@ -49,4 +49,6 @@ public interface ExtProjectMapper { List getThirdPartProjectIds(); ProjectDTO getProjectByScenario(String scenarioId); + + ProjectDTO getProjectByUi(String id); } diff --git a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtProjectMapper.xml b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtProjectMapper.xml index 06907f7227..96b658444b 100644 --- a/backend/src/main/java/io/metersphere/base/mapper/ext/ExtProjectMapper.xml +++ b/backend/src/main/java/io/metersphere/base/mapper/ext/ExtProjectMapper.xml @@ -439,4 +439,13 @@ INNER join api_scenario a on a.project_id = p.id where a.id = #{scenarioId} + + + diff --git a/backend/src/main/java/io/metersphere/controller/ProjectController.java b/backend/src/main/java/io/metersphere/controller/ProjectController.java index e393150ecd..b9a5a633bb 100644 --- a/backend/src/main/java/io/metersphere/controller/ProjectController.java +++ b/backend/src/main/java/io/metersphere/controller/ProjectController.java @@ -166,7 +166,7 @@ public class ProjectController { } @GetMapping("/api/project/get/{id}") - public ProjectDTO getProjectByScenario(@PathVariable String id) { - return projectService.getProjectByScenario(id); + public ProjectDTO getProjectByScenarioOrUi(@PathVariable String id) { + return projectService.getProjectByScenarioOrUi(id); } } diff --git a/backend/src/main/java/io/metersphere/service/ProjectService.java b/backend/src/main/java/io/metersphere/service/ProjectService.java index af4de6955d..bb8fd24bb3 100644 --- a/backend/src/main/java/io/metersphere/service/ProjectService.java +++ b/backend/src/main/java/io/metersphere/service/ProjectService.java @@ -1083,7 +1083,11 @@ public class ProjectService { } } - public ProjectDTO getProjectByScenario(String id) { - return extProjectMapper.getProjectByScenario(id); + public ProjectDTO getProjectByScenarioOrUi(String id) { + ProjectDTO project = extProjectMapper.getProjectByScenario(id); + if(project == null){ + project = extProjectMapper.getProjectByUi(id); + } + return project; } } diff --git a/frontend/src/business/components/api/automation/report/ApiReportViewHeader.vue b/frontend/src/business/components/api/automation/report/ApiReportViewHeader.vue index 9e03ee9e53..c2fd30873e 100644 --- a/frontend/src/business/components/api/automation/report/ApiReportViewHeader.vue +++ b/frontend/src/business/components/api/automation/report/ApiReportViewHeader.vue @@ -136,34 +136,16 @@ export default { }, clickResource() { //跳转修改只修改场景报告跳转逻辑。 UI部分的不清楚具体跳转细节,所以维持原来的代码逻辑。 - if(this.isUi){ - this.clickUiResource(); - }else { - this.clickScenarioResource(); - } - }, - clickUiResource(){ - let workspaceId = getCurrentWorkspaceId(); - if (this.report.projectId !== getCurrentProjectID()) { - this.$get("/project/get/" + this.report.projectId, response => { - if (response.data) { - workspaceId = response.data.workspaceId; - this.checkPermission(workspaceId, this.report.projectId, response.data.name); - } - }); - } else { - this.checkPermission(workspaceId, this.report.projectId, null); - } - }, - clickScenarioResource(){ let workspaceId = getCurrentWorkspaceId(); this.$get("/project/api/project/get/" + this.scenarioId, res => { - let scenarioProjectId = res.data.id; - if (scenarioProjectId !== getCurrentProjectID()) { + if(res.data){ + let scenarioProjectId = res.data.id; + if (scenarioProjectId !== getCurrentProjectID()) { workspaceId = res.data.workspaceId; this.checkPermission(workspaceId, scenarioProjectId, res.data.name); - } else { - this.checkPermission(workspaceId, scenarioProjectId, null); + } else { + this.checkPermission(workspaceId, scenarioProjectId, null); + } } }); },