fix(测试跟踪): 测试计划关联功能用例高级搜索有两个用例状态
--bug=1019819 --user=陈建星 【测试跟踪】测试计划-关联功能用例-高级搜索-显示两个用例状态 https://www.tapd.cn/55049933/s/1300002
This commit is contained in:
parent
e83d4e0f54
commit
0947e6d8d7
|
@ -267,10 +267,10 @@ import RelateDemand from "@/business/case/components/RelateDemand";
|
||||||
import TestPlanCaseStatusTableItem from "@/business/common/tableItems/TestPlanCaseStatusTableItem";
|
import TestPlanCaseStatusTableItem from "@/business/common/tableItems/TestPlanCaseStatusTableItem";
|
||||||
import {
|
import {
|
||||||
generateColumnKey,
|
generateColumnKey,
|
||||||
getAdvSearchCustomField,
|
|
||||||
getCustomFieldValueForTrack,
|
getCustomFieldValueForTrack,
|
||||||
getProjectMemberOption
|
getProjectMemberOption
|
||||||
} from "@/business/utils/sdk-utils";
|
} from "@/business/utils/sdk-utils";
|
||||||
|
import {initTestCaseConditionComponents} from "@/business/case/test-case";
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
@ -554,43 +554,7 @@ export default {
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
initConditionComponents() {
|
initConditionComponents() {
|
||||||
this.condition.components = this.condition.components.filter(item => item.custom !== true);
|
this.condition.components = initTestCaseConditionComponents(this.condition, this.testCaseTemplate.customFields, this.trashEnable);
|
||||||
let comp = getAdvSearchCustomField(this.condition, this.testCaseTemplate.customFields);
|
|
||||||
let statusOption = null;
|
|
||||||
// 系统字段国际化处理
|
|
||||||
comp = comp.filter(element => {
|
|
||||||
if (element.label === '责任人') {
|
|
||||||
element.label = this.$t('custom_field.case_maintainer')
|
|
||||||
}
|
|
||||||
if (element.label === '用例等级') {
|
|
||||||
element.label = this.$t('custom_field.case_priority')
|
|
||||||
}
|
|
||||||
if (element.label === '用例状态') {
|
|
||||||
element.label = this.$t('custom_field.case_status')
|
|
||||||
// 回收站TAB页处理高级搜索用例状态字段
|
|
||||||
if (this.trashEnable) {
|
|
||||||
element.operator.options = [OPERATORS.IN];
|
|
||||||
element.options = [{text: this.$t('test_track.plan.plan_status_trash'), value: 'Trash'}];
|
|
||||||
} else {
|
|
||||||
element.options.forEach(option => option.text = this.$t(option.text));
|
|
||||||
}
|
|
||||||
statusOption = element.options;
|
|
||||||
// 用例状态不走自定义字段的搜索,查询status字段
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
if (statusOption) {
|
|
||||||
this.condition.components.forEach((item) => {
|
|
||||||
if (item.key === 'status') {
|
|
||||||
item .options = statusOption;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
// statusOption 为空,则去掉状态选项
|
|
||||||
this.condition.components = this.condition.components.filter((item) => item.key !== 'status');
|
|
||||||
}
|
|
||||||
this.condition.components.push(...comp);
|
|
||||||
},
|
},
|
||||||
setTestCaseDefaultValue(template) {
|
setTestCaseDefaultValue(template) {
|
||||||
let testCaseDefaultValue = {};
|
let testCaseDefaultValue = {};
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
import {getAdvSearchCustomField, OPERATORS} from "@/business/utils/sdk-utils";
|
||||||
|
import i18n from "@/i18n";
|
||||||
|
|
||||||
|
export function initTestCaseConditionComponents(condition, customFields, trashEnable) {
|
||||||
|
let conditionComponents = condition.components;
|
||||||
|
conditionComponents = conditionComponents.filter(item => item.custom !== true);
|
||||||
|
let comp = getAdvSearchCustomField(condition, customFields);
|
||||||
|
let statusOption = null;
|
||||||
|
// 系统字段国际化处理
|
||||||
|
comp = comp.filter(element => {
|
||||||
|
if (element.label === '责任人') {
|
||||||
|
element.label = i18n.t('custom_field.case_maintainer')
|
||||||
|
}
|
||||||
|
if (element.label === '用例等级') {
|
||||||
|
element.label = i18n.t('custom_field.case_priority')
|
||||||
|
}
|
||||||
|
if (element.label === '用例状态') {
|
||||||
|
element.label = i18n.t('custom_field.case_status')
|
||||||
|
// 回收站TAB页处理高级搜索用例状态字段
|
||||||
|
if (trashEnable) {
|
||||||
|
element.operator.options = [OPERATORS.IN];
|
||||||
|
element.options = [{text: i18n.t('test_track.plan.plan_status_trash'), value: 'Trash'}];
|
||||||
|
} else {
|
||||||
|
element.options.forEach(option => option.text = i18n.t(option.text));
|
||||||
|
}
|
||||||
|
statusOption = element.options;
|
||||||
|
// 用例状态不走自定义字段的搜索,查询status字段
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
if (statusOption) {
|
||||||
|
conditionComponents.forEach((item) => {
|
||||||
|
if (item.key === 'status' || item.label === '用例状态') {
|
||||||
|
item .options = statusOption;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
// statusOption 为空,则去掉状态选项
|
||||||
|
conditionComponents = conditionComponents.filter(item => item.key !== 'status' && item.label !== '用例状态');
|
||||||
|
}
|
||||||
|
conditionComponents.push(...comp);
|
||||||
|
return conditionComponents;
|
||||||
|
}
|
|
@ -121,8 +121,9 @@ import TestPlanCaseStatusTableItem from "@/business/common/tableItems/TestPlanCa
|
||||||
import {TEST_CASE_CONFIGS} from "metersphere-frontend/src/components/search/search-components";
|
import {TEST_CASE_CONFIGS} from "metersphere-frontend/src/components/search/search-components";
|
||||||
import MxVersionSelect from "metersphere-frontend/src/components/version/MxVersionSelect";
|
import MxVersionSelect from "metersphere-frontend/src/components/version/MxVersionSelect";
|
||||||
import {getProjectApplicationConfig} from "@/api/project-application";
|
import {getProjectApplicationConfig} from "@/api/project-application";
|
||||||
import {getAdvSearchCustomField, getVersionFilters} from "@/business/utils/sdk-utils";
|
import {getVersionFilters} from "@/business/utils/sdk-utils";
|
||||||
import {getTestTemplate} from "@/api/custom-field-template";
|
import {getTestTemplate} from "@/api/custom-field-template";
|
||||||
|
import {initTestCaseConditionComponents} from "@/business/case/test-case";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "FunctionalRelevance",
|
name: "FunctionalRelevance",
|
||||||
|
@ -307,17 +308,7 @@ export default {
|
||||||
pushCustomFieldToCondition(projectId) {
|
pushCustomFieldToCondition(projectId) {
|
||||||
getTestTemplate(projectId).then(data => {
|
getTestTemplate(projectId).then(data => {
|
||||||
this.testCaseTemplate = data;
|
this.testCaseTemplate = data;
|
||||||
let comp = getAdvSearchCustomField(this.page.condition, this.testCaseTemplate.customFields);
|
this.page.condition.components = initTestCaseConditionComponents(this.page.condition, this.testCaseTemplate.customFields);
|
||||||
let caseStatus = comp.find(i => i.label === '用例状态');
|
|
||||||
if (caseStatus) {
|
|
||||||
caseStatus.label = this.$t('custom_field.case_status');
|
|
||||||
caseStatus.options.forEach(option => {
|
|
||||||
option.text = this.$t(option.text);
|
|
||||||
});
|
|
||||||
caseStatus.custom = false;
|
|
||||||
this.page.condition.custom = false;
|
|
||||||
this.page.condition.components.push(caseStatus);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue