fix(测试计划): 修复测试计划一键快创缺陷拼接缺陷名称&用例状态
This commit is contained in:
parent
91bf2b4053
commit
e5ff245aa5
|
@ -26,8 +26,8 @@ function getStepsTable(steps: string) {
|
||||||
const formatContent = (rows: StepList, key: keyof StepList) => {
|
const formatContent = (rows: StepList, key: keyof StepList) => {
|
||||||
const valueKey = key as keyof StepList;
|
const valueKey = key as keyof StepList;
|
||||||
return alertStatus.includes(rows.status as string)
|
return alertStatus.includes(rows.status as string)
|
||||||
? `<span style="color:#f00"> ${rows[valueKey]} </span>`
|
? `<span style="color:#f00"> ${rows[valueKey] || '-'} </span>`
|
||||||
: `<span> ${rows[valueKey]} </span>`;
|
: `<span> ${rows[valueKey] || '-'} </span>`;
|
||||||
};
|
};
|
||||||
const templateFieldColumns = [
|
const templateFieldColumns = [
|
||||||
{
|
{
|
||||||
|
|
|
@ -190,7 +190,7 @@
|
||||||
import { AssociatedBugApiTypeEnum } from '@/enums/associateBugEnum';
|
import { AssociatedBugApiTypeEnum } from '@/enums/associateBugEnum';
|
||||||
import { CaseLinkEnum } from '@/enums/caseEnum';
|
import { CaseLinkEnum } from '@/enums/caseEnum';
|
||||||
import { GlobalEventNameEnum } from '@/enums/commonEnum';
|
import { GlobalEventNameEnum } from '@/enums/commonEnum';
|
||||||
import { ReportEnum } from '@/enums/reportEnum';
|
import { ReportEnum, ReportStatus } from '@/enums/reportEnum';
|
||||||
import { ApiTestRouteEnum } from '@/enums/routeEnum';
|
import { ApiTestRouteEnum } from '@/enums/routeEnum';
|
||||||
import { TableKeyEnum } from '@/enums/tableEnum';
|
import { TableKeyEnum } from '@/enums/tableEnum';
|
||||||
import { FilterRemoteMethodsEnum, FilterSlotNameEnum } from '@/enums/tableFilterEnum';
|
import { FilterRemoteMethodsEnum, FilterSlotNameEnum } from '@/enums/tableFilterEnum';
|
||||||
|
@ -965,11 +965,12 @@
|
||||||
function associateAndCreateDefect(isAssociate: boolean, isBatch: boolean, record?: PlanDetailApiCaseItem) {
|
function associateAndCreateDefect(isAssociate: boolean, isBatch: boolean, record?: PlanDetailApiCaseItem) {
|
||||||
isBatchAssociateOrCreate.value = isBatch;
|
isBatchAssociateOrCreate.value = isBatch;
|
||||||
if (record) {
|
if (record) {
|
||||||
const { id, apiTestCaseId, lastExecReportId, name } = record;
|
const { id, apiTestCaseId, lastExecReportId, name, lastExecResult } = record;
|
||||||
associatedCaseId.value = apiTestCaseId;
|
associatedCaseId.value = apiTestCaseId;
|
||||||
lastExecuteReportId.value = lastExecReportId;
|
lastExecuteReportId.value = lastExecReportId;
|
||||||
testPlanCaseId.value = id;
|
testPlanCaseId.value = id;
|
||||||
caseTitle.value = name;
|
const lastStatusName = `_${t(ReportStatus[lastExecResult]?.label ?? '')}`;
|
||||||
|
caseTitle.value = `${name}${lastStatusName}`;
|
||||||
}
|
}
|
||||||
if (isAssociate) {
|
if (isAssociate) {
|
||||||
showLinkBugDrawer.value = true;
|
showLinkBugDrawer.value = true;
|
||||||
|
|
|
@ -189,7 +189,7 @@
|
||||||
import { AssociatedBugApiTypeEnum } from '@/enums/associateBugEnum';
|
import { AssociatedBugApiTypeEnum } from '@/enums/associateBugEnum';
|
||||||
import { CaseLinkEnum } from '@/enums/caseEnum';
|
import { CaseLinkEnum } from '@/enums/caseEnum';
|
||||||
import { GlobalEventNameEnum } from '@/enums/commonEnum';
|
import { GlobalEventNameEnum } from '@/enums/commonEnum';
|
||||||
import { ReportEnum } from '@/enums/reportEnum';
|
import { ReportEnum, ReportStatus } from '@/enums/reportEnum';
|
||||||
import { ApiTestRouteEnum } from '@/enums/routeEnum';
|
import { ApiTestRouteEnum } from '@/enums/routeEnum';
|
||||||
import { TableKeyEnum } from '@/enums/tableEnum';
|
import { TableKeyEnum } from '@/enums/tableEnum';
|
||||||
import { FilterRemoteMethodsEnum, FilterSlotNameEnum } from '@/enums/tableFilterEnum';
|
import { FilterRemoteMethodsEnum, FilterSlotNameEnum } from '@/enums/tableFilterEnum';
|
||||||
|
@ -941,11 +941,12 @@
|
||||||
function associateAndCreateDefect(isAssociate: boolean, isBatch: boolean, record?: PlanDetailApiScenarioItem) {
|
function associateAndCreateDefect(isAssociate: boolean, isBatch: boolean, record?: PlanDetailApiScenarioItem) {
|
||||||
isBatchAssociateOrCreate.value = isBatch;
|
isBatchAssociateOrCreate.value = isBatch;
|
||||||
if (record) {
|
if (record) {
|
||||||
const { id, apiScenarioId, lastExecReportId, name } = record;
|
const { id, apiScenarioId, lastExecReportId, name, lastExecResult } = record;
|
||||||
associatedCaseId.value = apiScenarioId;
|
associatedCaseId.value = apiScenarioId;
|
||||||
testPlanCaseId.value = id;
|
testPlanCaseId.value = id;
|
||||||
lastExecuteReportId.value = lastExecReportId;
|
lastExecuteReportId.value = lastExecReportId;
|
||||||
caseTitle.value = name;
|
const lastStatusName = `_${t(ReportStatus[lastExecResult]?.label ?? '')}`;
|
||||||
|
caseTitle.value = `${name}${lastStatusName}`;
|
||||||
}
|
}
|
||||||
if (isAssociate) {
|
if (isAssociate) {
|
||||||
showLinkBugDrawer.value = true;
|
showLinkBugDrawer.value = true;
|
||||||
|
|
|
@ -1070,10 +1070,11 @@
|
||||||
function associateAndCreateDefect(isAssociate: boolean, isBatch: boolean, record?: PlanDetailFeatureCaseItem) {
|
function associateAndCreateDefect(isAssociate: boolean, isBatch: boolean, record?: PlanDetailFeatureCaseItem) {
|
||||||
isBatchAssociateOrCreate.value = isBatch;
|
isBatchAssociateOrCreate.value = isBatch;
|
||||||
if (record) {
|
if (record) {
|
||||||
const { id, caseId, name } = record;
|
const { id, caseId, name, lastExecResult } = record;
|
||||||
associatedCaseId.value = caseId;
|
associatedCaseId.value = caseId;
|
||||||
testPlanCaseId.value = id;
|
testPlanCaseId.value = id;
|
||||||
caseTitle.value = name;
|
const lastStatusName = `_${t(executionResultMap[lastExecResult]?.statusText ?? '')}`;
|
||||||
|
caseTitle.value = `${name}${lastStatusName}`;
|
||||||
}
|
}
|
||||||
if (isAssociate) {
|
if (isAssociate) {
|
||||||
showLinkBugDrawer.value = true;
|
showLinkBugDrawer.value = true;
|
||||||
|
|
|
@ -236,7 +236,7 @@
|
||||||
:fill-config="{
|
:fill-config="{
|
||||||
isQuickFillContent: true,
|
isQuickFillContent: true,
|
||||||
detailId: activeId,
|
detailId: activeId,
|
||||||
name: caseDetail.name,
|
name: caseTitle,
|
||||||
}"
|
}"
|
||||||
:case-type="CaseLinkEnum.FUNCTIONAL"
|
:case-type="CaseLinkEnum.FUNCTIONAL"
|
||||||
@success="loadBugListAndCaseDetail"
|
@success="loadBugListAndCaseDetail"
|
||||||
|
@ -255,7 +255,6 @@
|
||||||
import MsEmpty from '@/components/pure/ms-empty/index.vue';
|
import MsEmpty from '@/components/pure/ms-empty/index.vue';
|
||||||
import MsPagination from '@/components/pure/ms-pagination/index';
|
import MsPagination from '@/components/pure/ms-pagination/index';
|
||||||
import MsTab from '@/components/pure/ms-tab/index.vue';
|
import MsTab from '@/components/pure/ms-tab/index.vue';
|
||||||
import MsTag from '@/components/pure/ms-tag/ms-tag.vue';
|
|
||||||
import ExecuteResult from '@/components/business/ms-case-associate/executeResult.vue';
|
import ExecuteResult from '@/components/business/ms-case-associate/executeResult.vue';
|
||||||
import MsStatusTag from '@/components/business/ms-status-tag/index.vue';
|
import MsStatusTag from '@/components/business/ms-status-tag/index.vue';
|
||||||
import BugList from './bug/index.vue';
|
import BugList from './bug/index.vue';
|
||||||
|
@ -393,6 +392,12 @@
|
||||||
]);
|
]);
|
||||||
const descriptions = ref<Description[]>([]);
|
const descriptions = ref<Description[]>([]);
|
||||||
|
|
||||||
|
const caseTitle = computed(() => {
|
||||||
|
const { lastExecuteResult, name } = caseDetail.value;
|
||||||
|
const lastStatusName = `_${t(executionResultMap[lastExecuteResult]?.statusText ?? '')}`;
|
||||||
|
return `${name}${lastStatusName}`;
|
||||||
|
});
|
||||||
|
|
||||||
// 获取用例详情
|
// 获取用例详情
|
||||||
async function loadCaseDetail() {
|
async function loadCaseDetail() {
|
||||||
try {
|
try {
|
||||||
|
|
Loading…
Reference in New Issue