diff --git a/backend/src/main/java/io/metersphere/xpack b/backend/src/main/java/io/metersphere/xpack
index cf6b065263..ee74568be0 160000
--- a/backend/src/main/java/io/metersphere/xpack
+++ b/backend/src/main/java/io/metersphere/xpack
@@ -1 +1 @@
-Subproject commit cf6b06526324326a563d933e07118fac014a63b4
+Subproject commit ee74568be0beba46da19616f5832e83f9164c688
diff --git a/frontend/src/business/components/api/test/components/ApiScenarioConfig.vue b/frontend/src/business/components/api/test/components/ApiScenarioConfig.vue
index 749d4bfe36..98f388dfc0 100644
--- a/frontend/src/business/components/api/test/components/ApiScenarioConfig.vue
+++ b/frontend/src/business/components/api/test/components/ApiScenarioConfig.vue
@@ -61,7 +61,7 @@
:request="selected" :scenario="currentScenario" v-if="isRequest"/>
-
+
diff --git a/frontend/src/business/components/api/test/components/ApiScenarioSelect.vue b/frontend/src/business/components/api/test/components/ApiScenarioSelect.vue
index 7c90de1762..45d2fa98d5 100644
--- a/frontend/src/business/components/api/test/components/ApiScenarioSelect.vue
+++ b/frontend/src/business/components/api/test/components/ApiScenarioSelect.vue
@@ -43,6 +43,7 @@ import MsTableSearchBar from "@/business/components/common/components/MsTableSea
import MsTableAdvSearchBar from "@/business/components/common/components/search/MsTableAdvSearchBar";
import MsApiScenarioSelectSubTable from "@/business/components/api/test/components/ApiScenarioSelectSubTable";
import {Scenario} from "@/business/components/api/test/model/ScenarioModel";
+import {parseEnvironment} from "../model/EnvironmentModel";
export default {
name: "MsApiScenarioSelect",
@@ -51,7 +52,8 @@ export default {
MsTableAdvSearchBar, MsTableSearchBar, MsTablePagination, MsTableHeader
},
props: {
- excludeId: String
+ excludeId: String,
+ projectId: String
},
data() {
return {
@@ -64,6 +66,7 @@ export default {
pageSize: 5,
total: 0,
selection: false,
+ environmentMap: new Map()
}
},
methods: {
@@ -94,19 +97,50 @@ export default {
}
scenarios.push(scenario);
}
+ this.initScenarioEnvironment(scenarios);
this.$emit('select', scenarios);
},
+ getEnvironment() {
+ if (this.projectId) {
+ this.result = this.$get('/api/environment/list/' + this.projectId, response => {
+ let environments = response.data;
+ this.environmentMap = new Map();
+ environments.forEach(environment => {
+ parseEnvironment(environment);
+ this.environmentMap.set(environment.id, environment);
+ });
+ });
+ }
+ },
+ initScenarioEnvironment(scenarios) {
+ scenarios.forEach(scenario => {
+ if (scenario.environmentId) {
+ let env = this.environmentMap.get(scenario.environmentId);
+ if (!env) {
+ scenario.environmentId = undefined;
+ scenario.environment = undefined;
+ } else {
+ scenario.environment = env;
+ }
+ } else {
+ scenario.environmentId = undefined;
+ scenario.environment = undefined;
+ }
+ });
+ },
clone(row) {
let scenarios = [];
row.selected.forEach(options => {
// 去掉ID,创建新的ID
options.id = undefined;
scenarios.push(new Scenario(options));
- })
+ });
+ this.initScenarioEnvironment(scenarios);
this.$emit('select', scenarios);
},
open() {
this.search();
+ this.getEnvironment();
this.visible = true;
},
close() {
diff --git a/frontend/src/business/components/xpack b/frontend/src/business/components/xpack
index 06d935cd1d..cc38137a69 160000
--- a/frontend/src/business/components/xpack
+++ b/frontend/src/business/components/xpack
@@ -1 +1 @@
-Subproject commit 06d935cd1d22ab36f09763745c2aff8ad3fb08c1
+Subproject commit cc38137a69a0f20fadece9c0f9f50a9468c4ace9