fix(测试跟踪): 【测试计划】执行功能用例页面用例数统计错误-偶发但经常遇到

--user=郭雨琦
--bug=1013306
【测试计划】执行功能用例页面用例数统计错误-偶发但经常遇到
https://www.tapd.cn/55049933/bugtrace/bugs/view/1155049933001013306
This commit is contained in:
guoyuqi 2022-06-14 16:49:38 +08:00 committed by jianxing
parent 64f8ff25df
commit f43c82df4e
2 changed files with 41 additions and 21 deletions

View File

@ -13,7 +13,8 @@
:content="$t('test_track.plan_view.my_case')" @click="searchMyTestCase"/>
<ms-table-button v-permission="['PROJECT_TRACK_CASE:READ']" v-if="showMyTestCase" icon="el-icon-files"
:content="$t('test_track.plan_view.all_case')" @click="searchMyTestCase"/>
<ms-table-button v-permission="['PROJECT_TRACK_PLAN:READ+RELEVANCE_OR_CANCEL']" icon="el-icon-connection" :disabled="planStatus==='Archived'"
<ms-table-button v-permission="['PROJECT_TRACK_PLAN:READ+RELEVANCE_OR_CANCEL']" icon="el-icon-connection"
:disabled="planStatus==='Archived'"
:content="$t('test_track.plan_view.relevance_test_case')"
@click="$emit('openTestCaseRelevanceDialog')"/>
</template>
@ -154,7 +155,7 @@
:fields-width="fieldsWidth"
:label="$t('test_track.plan_view.executor')">
<template v-slot:default="scope">
{{scope.row.executorName}}
{{ scope.row.executorName }}
</template>
</ms-table-column>
@ -223,10 +224,11 @@
:prop="field.name">
<template v-slot="scope">
<span v-if="field.name === '用例等级'">
<priority-table-item :value="getCustomFieldValue(scope.row, field) ? getCustomFieldValue(scope.row, field) : scope.row.priority"/>
<priority-table-item
:value="getCustomFieldValue(scope.row, field) ? getCustomFieldValue(scope.row, field) : scope.row.priority"/>
</span>
<span v-else>
{{getCustomFieldValue(scope.row, field)}}
{{ getCustomFieldValue(scope.row, field) }}
</span>
</template>
</ms-table-column>
@ -267,11 +269,8 @@ import MsTableHeader from '../../../../../common/components/MsTableHeader';
import MsTableButton from '../../../../../common/components/MsTableButton';
import NodeBreadcrumb from '../../../../common/NodeBreadcrumb';
import {
TEST_PLAN_FUNCTION_TEST_CASE,
TokenKey,
} from "@/common/js/constants";
import {getCurrentProjectID, hasPermission, hasLicense} from "@/common/js/utils";
import {TEST_PLAN_FUNCTION_TEST_CASE, TokenKey,} from "@/common/js/constants";
import {getCurrentProjectID, hasLicense, hasPermission} from "@/common/js/utils";
import PriorityTableItem from "../../../../common/tableItems/planview/PriorityTableItem";
import StatusTableItem from "../../../../common/tableItems/planview/StatusTableItem";
import TypeTableItem from "../../../../common/tableItems/planview/TypeTableItem";
@ -283,7 +282,10 @@ import BatchEdit from "../../../../case/components/BatchEdit";
import MsTag from "@/business/components/common/components/MsTag";
import {
buildBatchParam,
getCustomFieldValue, getCustomTableHeader, getCustomTableWidth, getLastTableSortField,
getCustomFieldValue,
getCustomTableHeader,
getCustomTableWidth,
getLastTableSortField,
getTableHeaderWithCustomFields,
initCondition,
} from "@/common/js/tableUtils";
@ -333,6 +335,7 @@ export default {
currentPage: 1,
pageSize: 10,
total: 0,
totalCount: 0,
status: 'default',
testPlan: {},
isReadOnly: false,
@ -400,8 +403,8 @@ export default {
systemFiledMap() {
return SYSTEM_FIELD_NAME_MAP;
},
operators(){
if (this.planStatus==='Archived') {
operators() {
if (this.planStatus === 'Archived') {
return [
{
tip: this.$t('commons.edit'), icon: "el-icon-edit",
@ -431,8 +434,8 @@ export default {
]
}
},
buttons(){
if (this.planStatus==='Archived') {
buttons() {
if (this.planStatus === 'Archived') {
return [
{
name: this.$t('test_track.case.batch_edit_case'), handleClick: this.handleBatchEdit,
@ -458,7 +461,7 @@ export default {
}
]
}
} ,
},
},
watch: {
planId() {
@ -476,7 +479,7 @@ export default {
},
condition() {
this.$emit('setCondition', this.condition);
}
},
},
created() {
this.condition.orders = getLastTableSortField(this.tableHeaderKey);
@ -495,7 +498,7 @@ export default {
},
methods: {
loadIssue(row) {
if(row.issuesSize && !row.hasLoadIssue) {
if (row.issuesSize && !row.hasLoadIssue) {
this.$get("/issues/get/case/PLAN_FUNCTIONAL/" + row.id).then(response => {
this.$set(row, "issuesContent", response.data.data);
this.$set(row, "hasLoadIssue", true);
@ -562,7 +565,13 @@ export default {
this.condition.projectId = getCurrentProjectID();
if (this.planId) {
this.result = getTestPlanTestCase(this.currentPage, this.pageSize, this.condition, (data) => {
if (this.totalCount === 0) {
this.totalCount = data.itemCount;
}
this.total = data.itemCount;
if (this.total !== this.totalCount) {
this.currentPage = 1
}
this.tableData = data.listObject;
for (let i = 0; i < this.tableData.length; i++) {
if (this.tableData[i]) {
@ -755,7 +764,7 @@ export default {
getVersionOptions() {
if (hasLicense()) {
this.$get('/project/version/get-project-versions/' + getCurrentProjectID(), response => {
this.versionOptions= response.data;
this.versionOptions = response.data;
this.versionFilters = response.data.map(u => {
return {text: u.name, value: u.id};
});

View File

@ -182,8 +182,12 @@ import TestReviewTestCaseEdit from "./TestReviewTestCaseEdit";
import ReviewStatus from "@/business/components/track/case/components/ReviewStatus";
import {
_handleSelectAll,
buildBatchParam, deepClone, getCustomTableWidth, getLastTableSortField,
getSelectDataCounts, getTableHeaderWithCustomFields,
buildBatchParam,
deepClone,
getCustomTableWidth,
getLastTableSortField,
getSelectDataCounts,
getTableHeaderWithCustomFields,
initCondition,
toggleAllSelection
} from "@/common/js/tableUtils";
@ -193,7 +197,7 @@ import HeaderLabelOperate from "@/business/components/common/head/HeaderLabelOpe
import MsTableHeaderSelectPopover from "@/business/components/common/components/table/MsTableHeaderSelectPopover";
import MsTableColumn from "@/business/components/common/components/table/MsTableColumn";
import MsTable from "@/business/components/common/components/table/MsTable";
import {editTestReviewTestCaseOrder, getTestPlanTestCase, getTestReviewTestCase} from "@/network/testCase";
import {editTestReviewTestCaseOrder, getTestReviewTestCase} from "@/network/testCase";
import {getCurrentProjectID, hasLicense} from "@/common/js/utils";
export default {
@ -224,6 +228,7 @@ export default {
currentPage: 1,
pageSize: 10,
total: 0,
totalCount: 0,
enableOrderDrag: true,
selectRows: new Set(),
testReview: {},
@ -369,7 +374,13 @@ export default {
this.condition.nodeIds = this.selectNodeIds;
if (this.reviewId) {
this.result = getTestReviewTestCase(this.currentPage, this.pageSize, this.condition, (data) => {
if (this.totalCount === 0) {
this.totalCount = data.itemCount;
}
this.total = data.itemCount;
if (this.total !== this.totalCount) {
this.currentPage = 1
}
this.tableData = data.listObject;
this.getPreData();
if (callback && callback instanceof Function) {