fix(测试跟踪): 缺陷管理关联功能用例弹窗未过滤掉已关联的用例

--bug=1030240 --user=宋昌昌 【测试跟踪】github#26675,缺陷管理中关联用例窗口,未过滤掉已关联用例,导致重复关联 https://www.tapd.cn/55049933/s/1415103
This commit is contained in:
song-cc-rock 2023-09-12 11:19:15 +08:00 committed by 刘瑞斌
parent 302fc575d2
commit b0d76bb5b2
3 changed files with 26 additions and 31 deletions

View File

@ -340,54 +340,43 @@
import TemplateComponentEditHeader from "@/business/plan/view/comonents/report/TemplateComponentEditHeader";
import MsFormDivider from "metersphere-frontend/src/components/MsFormDivider";
import FormRichTextItem from "metersphere-frontend/src/components/FormRichTextItem";
import {
buildCustomFields,
parseCustomField,
parseCustomFieldForId,
} from "metersphere-frontend/src/utils/custom_field";
import {buildCustomFields, parseCustomFieldForId,} from "metersphere-frontend/src/utils/custom_field";
import CustomFiledComponent from "metersphere-frontend/src/components/template/CustomFiledComponent";
import TestCaseIssueList from "@/business/issue/TestCaseIssueList";
import IssueEditDetail from "@/business/issue/IssueEditDetail";
import {
byteToSize,
getTypeByFileName,
getUUID,
} from "metersphere-frontend/src/utils";
import {byteToSize, getTypeByFileName, getUUID,} from "metersphere-frontend/src/utils";
import {
getCurrentProjectID,
getCurrentUser,
getCurrentWorkspaceId,
getCurrentUserId,
getCurrentWorkspaceId,
} from "metersphere-frontend/src/utils/token";
import {
hasLicense,
hasPermission,
} from "metersphere-frontend/src/utils/permission";
import {hasLicense, hasPermission,} from "metersphere-frontend/src/utils/permission";
import {
enableThirdPartTemplate,
getIssuePartTemplateWithProject,
saveOrUpdateIssue,
saveFollow,
getFollow,
getComments,
getTapdUser,
getPlatformTransitions,
getFollow,
getIssuePartTemplateWithProject,
getPlatformFormOption,
getPlatformTransitions,
getTapdCurrentOwner,
getTapdUser,
saveFollow,
saveOrUpdateIssue,
} from "@/api/issue";
import {
uploadIssueAttachment,
attachmentList,
deleteIssueAttachment,
unrelatedIssueAttachment,
relatedIssueAttachment,
dumpAttachment,
relatedIssueAttachment,
unrelatedIssueAttachment,
uploadIssueAttachment,
} from "@/api/attachment";
import CustomFiledFormItem from "metersphere-frontend/src/components/form/CustomFiledFormItem";
import MsMarkDownText from "metersphere-frontend/src/components/MsMarkDownText";
import IssueComment from "@/business/issue/IssueComment";
import ReviewCommentItem from "@/business/review/commom/ReviewCommentItem";
import { TokenKey } from "metersphere-frontend/src/utils/constants";
import {TokenKey} from "metersphere-frontend/src/utils/constants";
import TestCaseAttachment from "@/business/case/components/TestCaseAttachment";
import axios from "axios";
import MsFileMetadataList from "metersphere-frontend/src/components/environment/commons/variable/QuoteFileList";
@ -568,6 +557,7 @@ export default {
if (this.$refs.testCaseIssueList) {
this.$refs.testCaseIssueList.clear();
this.$refs.testCaseIssueList.isXpack = hasLicense();
this.$refs.testCaseIssueList.testCaseContainIds = new Set();
}
this.$nextTick(() => {
getIssuePartTemplateWithProject(

View File

@ -55,7 +55,8 @@ import MsTableColumn from "metersphere-frontend/src/components/table/MsTableColu
import PriorityTableItem from "@/business/common/tableItems/planview/PriorityTableItem";
import TypeTableItem from "@/business/common/tableItems/planview/TypeTableItem";
import TestCaseRelateList from "@/business/issue/TestCaseRelateList";
import { getTestCaseIssueList } from "@/api/testCase";
import {getTestCaseIssueList} from "@/api/testCase";
export default {
name: "TestCaseIssueList",
components: {
@ -137,7 +138,6 @@ export default {
this.addIds.add(i.id);
});
this.tableData.push(...selectData);
this.testCaseContainIds = new Set();
},
},
};

View File

@ -19,7 +19,7 @@
<el-card>
<ms-table-header
:condition="condition"
@search="initTableData"
@search="search"
title=""
:show-create="false"
/>
@ -75,7 +75,7 @@
<script>
import MsTable from "metersphere-frontend/src/components/table/MsTable";
import MsTableColumn from "metersphere-frontend/src/components/table/MsTableColumn";
import { CUSTOM_FIELD_LIST } from "metersphere-frontend/src/utils/default-table-header";
import {CUSTOM_FIELD_LIST} from "metersphere-frontend/src/utils/default-table-header";
import MsTableButton from "metersphere-frontend/src/components/MsTableButton";
import MsTablePagination from "metersphere-frontend/src/components/pagination/TablePagination";
import MsTableHeader from "metersphere-frontend/src/components/MsTableHeader";
@ -84,8 +84,9 @@ import TestCaseRelevanceBase from "@/business/plan/view/comonents/base/TestCaseR
import MsNodeTree from "metersphere-frontend/src/components/module/MsNodeTree";
import PriorityTableItem from "@/business/common/tableItems/planview/PriorityTableItem";
import TypeTableItem from "@/business/common/tableItems/planview/TypeTableItem";
import { getTestCaseRelateIssue } from "@/api/testCase";
import { testCaseNodeListProject } from "@/api/test-case-node";
import {getTestCaseRelateIssue} from "@/api/testCase";
import {testCaseNodeListProject} from "@/api/test-case-node";
export default {
name: "TestCaseRelateList",
components: {
@ -135,6 +136,10 @@ export default {
},
},
methods: {
search() {
this.currentPage = 1;
this.initTableData();
},
initTableData() {
this.condition.projectId = this.projectId;
if (this.selectNodeIds && this.selectNodeIds.length > 0) {