fix(测试跟踪): 功能用例版本对比问题

--bug=1023383 --user=宋昌昌 【测试跟踪】功能用例版本对比问题汇总2 https://www.tapd.cn/55049933/s/1371045
This commit is contained in:
song-cc-rock 2023-05-12 11:49:31 +08:00 committed by fit2-zhao
parent 42179d20f8
commit 808c0ae5b3
4 changed files with 57 additions and 2 deletions

View File

@ -454,6 +454,7 @@ public class IssuesService {
} }
}); });
handleCustomFieldStatus(issues); handleCustomFieldStatus(issues);
buildCustomField(issues);
return DistinctKeyUtil.distinctByKey(issues, IssuesDao::getId); return DistinctKeyUtil.distinctByKey(issues, IssuesDao::getId);
} }

View File

@ -106,6 +106,7 @@ export function getIssuesByCaseIdWithSearch(refType, caseId, page, condition) {
page.data = response.data; page.data = response.data;
} }
buildIssues(page); buildIssues(page);
parseFields(page);
}); });
} }
} }
@ -263,6 +264,19 @@ export function buildIssues(page) {
} }
} }
export function parseFields(page) {
let data = page.data;
for (let i = 0; i < data.length; i++) {
if (data[i] && data[i].fields && data[i].fields.length > 0) {
data[i].fields.forEach(item => {
if (item.value) {
item.value = JSON.parse(item.value);
}
});
}
}
}
export function getPluginCustomFields(projectId) { export function getPluginCustomFields(projectId) {
return get(BASE_URL + `plugin/custom/fields/${projectId}`); return get(BASE_URL + `plugin/custom/fields/${projectId}`);
} }

View File

@ -99,6 +99,15 @@
</el-dropdown> </el-dropdown>
</template> </template>
</ms-table-column> </ms-table-column>
<ms-table-column
:field="item"
:label="field.name"
:prop="field.name"
v-if="field.name === '处理人'">
<template v-slot="scope">
<span>{{ getCustomMember(scope.row, field) }}</span>
</template>
</ms-table-column>
</span> </span>
<ms-table-column <ms-table-column
@ -130,6 +139,7 @@ import { LOCAL } from "metersphere-frontend/src/utils/constants";
import IssueDescriptionTableItem from "@/business/issue/IssueDescriptionTableItem"; import IssueDescriptionTableItem from "@/business/issue/IssueDescriptionTableItem";
import { ISSUE_STATUS_MAP } from "metersphere-frontend/src/utils/table-constants"; import { ISSUE_STATUS_MAP } from "metersphere-frontend/src/utils/table-constants";
import { issueStatusChange } from "@/api/issue"; import { issueStatusChange } from "@/api/issue";
import {getProjectMember} from "@/api/user";
export default { export default {
name: "CaseDiffIssueRelate", name: "CaseDiffIssueRelate",
@ -149,6 +159,7 @@ export default {
status: [], status: [],
issueRelateVisible: false, issueRelateVisible: false,
fields: [], fields: [],
members: [],
}; };
}, },
computed: { computed: {
@ -190,11 +201,20 @@ export default {
this.$refs.table.reloadTable(); this.$refs.table.reloadTable();
} }
}); });
this.getMembers();
}, },
methods: { methods: {
getMembers() {
getProjectMember().then((res) => {
this.members = res.data;
});
},
getCustomMember(row, field) {
return getCustomFieldValue(row, field, this.members);
},
getStatus(row, field) { getStatus(row, field) {
return getCustomFieldValue(row, field) return getCustomFieldValue(row, field, this.members)
? getCustomFieldValue(row, field) ? getCustomFieldValue(row, field, this.members)
: this.issueStatusMap[row.status]; : this.issueStatusMap[row.status];
}, },
statusChange(param) { statusChange(param) {

View File

@ -99,6 +99,11 @@
<div class="compare-wrap"> <div class="compare-wrap">
<div class="version-left-box"> <div class="version-left-box">
<el-select v-model="versionLeftId" size="small" clearable> <el-select v-model="versionLeftId" size="small" clearable>
<template #prefix>
<span class="compare-version-lasted" v-if="versionLeftId === dataLatestId">
{{ $t("case.last_version") }}
</span>
</template>
<el-option <el-option
v-for="item in versionLeftCompareOptions" v-for="item in versionLeftCompareOptions"
:key="item.id" :key="item.id"
@ -115,6 +120,11 @@
<div class="desc">{{ $t("case.compare") }}</div> <div class="desc">{{ $t("case.compare") }}</div>
<div class="version-right-box"> <div class="version-right-box">
<el-select v-model="versionRightId" size="small" clearable> <el-select v-model="versionRightId" size="small" clearable>
<template #prefix>
<span class="compare-version-lasted" v-if="versionRightId === dataLatestId">
{{ $t("case.last_version") }}
</span>
</template>
<el-option <el-option
v-for="item in versionRightCompareOptions" v-for="item in versionRightCompareOptions"
:key="item.id" :key="item.id"
@ -597,6 +607,16 @@ export default {
margin-top: 24px; margin-top: 24px;
margin-bottom: 24px; margin-bottom: 24px;
} }
:deep(.el-input--prefix .el-input__inner) {
padding-left: 15px;
}
:deep(.el-input__prefix) {
left: 60px;
transition: all 0.3s;
top: 5px;
}
</style> </style>
<style> <style>
.version-popover { .version-popover {