fix(工作台): 修复工作台测试计划卡片bug
This commit is contained in:
parent
f7355b11ec
commit
e71f4de9a0
|
@ -31,6 +31,7 @@ export interface SelectedCardItem {
|
||||||
handleUsers: string[];
|
handleUsers: string[];
|
||||||
selectAll: boolean; // 是否全选项目
|
selectAll: boolean; // 是否全选项目
|
||||||
planId: string; // 测试计划id
|
planId: string; // 测试计划id
|
||||||
|
groupId: string; // 测试计划组id
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询入参
|
// 查询入参
|
||||||
|
|
|
@ -147,6 +147,7 @@
|
||||||
handleUsers: [],
|
handleUsers: [],
|
||||||
selectAll: !![WorkCardEnum.PROJECT_VIEW, WorkCardEnum.CREATE_BY_ME].includes(item.value),
|
selectAll: !![WorkCardEnum.PROJECT_VIEW, WorkCardEnum.CREATE_BY_ME].includes(item.value),
|
||||||
planId: '',
|
planId: '',
|
||||||
|
groupId: '',
|
||||||
};
|
};
|
||||||
selectedCardList.value.push(newCard);
|
selectedCardList.value.push(newCard);
|
||||||
}
|
}
|
||||||
|
|
|
@ -126,6 +126,10 @@
|
||||||
required: true,
|
required: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const innerGroupPlanId = defineModel<string>('groupId', {
|
||||||
|
required: true,
|
||||||
|
});
|
||||||
|
|
||||||
const innerProjectIds = defineModel<string[]>('projectIds', {
|
const innerProjectIds = defineModel<string[]>('projectIds', {
|
||||||
required: true,
|
required: true,
|
||||||
});
|
});
|
||||||
|
@ -353,9 +357,17 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function changeHandler(value: string) {
|
async function changeHandler(value: string[]) {
|
||||||
|
selectValue.value = value;
|
||||||
innerPlanId.value = value[value.length - 1];
|
innerPlanId.value = value[value.length - 1];
|
||||||
innerProjectIds.value = [value[0]];
|
innerProjectIds.value = [value[0]];
|
||||||
|
const planLevel = 3;
|
||||||
|
if (value.length === planLevel) {
|
||||||
|
innerGroupPlanId.value = value[value.length - 2];
|
||||||
|
} else {
|
||||||
|
innerGroupPlanId.value = '';
|
||||||
|
}
|
||||||
|
|
||||||
await nextTick();
|
await nextTick();
|
||||||
labelPath.value = getLabelPath(innerPlanId.value);
|
labelPath.value = getLabelPath(innerPlanId.value);
|
||||||
initOverViewDetail();
|
initOverViewDetail();
|
||||||
|
@ -407,27 +419,46 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getSelectedParams() {
|
||||||
|
const [newProjectId] = innerProjectIds.value;
|
||||||
|
const selectedData = [newProjectId, innerGroupPlanId.value, innerPlanId.value];
|
||||||
|
selectValue.value = [];
|
||||||
|
const tempArr: string[] = [];
|
||||||
|
selectedData.forEach((e) => {
|
||||||
|
if (e) {
|
||||||
|
tempArr.push(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return tempArr;
|
||||||
|
}
|
||||||
|
|
||||||
async function handleRefreshKeyChange() {
|
async function handleRefreshKeyChange() {
|
||||||
await nextTick(() => {
|
await nextTick(() => {
|
||||||
innerProjectIds.value = [...props.item.projectIds];
|
innerProjectIds.value = [...props.item.projectIds];
|
||||||
});
|
});
|
||||||
const [newProjectId] = innerProjectIds.value;
|
const [newProjectId] = innerProjectIds.value;
|
||||||
selectValue.value = [newProjectId, props.item.planId];
|
selectValue.value = getSelectedParams();
|
||||||
|
|
||||||
refreshHandler(newProjectId);
|
refreshHandler(newProjectId);
|
||||||
labelPath.value = getLabelPath(innerPlanId.value);
|
labelPath.value = getLabelPath(innerPlanId.value);
|
||||||
}
|
}
|
||||||
|
|
||||||
const defaultValue = computed(() => {
|
const defaultValue = computed(() => {
|
||||||
const [newProjectId] = innerProjectIds.value;
|
const [newProjectId] = innerProjectIds.value;
|
||||||
return [newProjectId, innerPlanId.value];
|
const selectedData = [newProjectId, props.item.groupId, props.item.planId];
|
||||||
|
const tempArr: string[] = [];
|
||||||
|
selectedData.forEach((e) => {
|
||||||
|
if (e) {
|
||||||
|
tempArr.push(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return tempArr;
|
||||||
});
|
});
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
projectOptions.value = appStore.projectList.map((e) => ({ value: e.id, label: e.name }));
|
projectOptions.value = appStore.projectList.map((e) => ({ value: e.id, label: e.name }));
|
||||||
const [newProjectId] = props.item.projectIds;
|
const [newProjectId] = props.item.projectIds;
|
||||||
if (props.item.planId) {
|
if (props.item.planId) {
|
||||||
selectValue.value = [newProjectId, props.item.planId];
|
selectValue.value = getSelectedParams();
|
||||||
}
|
}
|
||||||
refreshHandler(newProjectId);
|
refreshHandler(newProjectId);
|
||||||
});
|
});
|
||||||
|
|
|
@ -150,6 +150,7 @@
|
||||||
<TestPlanOverView
|
<TestPlanOverView
|
||||||
v-else-if="item.key === WorkCardEnum.PROJECT_PLAN_VIEW"
|
v-else-if="item.key === WorkCardEnum.PROJECT_PLAN_VIEW"
|
||||||
v-model:planId="item.planId"
|
v-model:planId="item.planId"
|
||||||
|
v-model:groupId="item.groupId"
|
||||||
v-model:projectIds="item.projectIds"
|
v-model:projectIds="item.projectIds"
|
||||||
:item="item"
|
:item="item"
|
||||||
:refresh-key="refreshKey"
|
:refresh-key="refreshKey"
|
||||||
|
|
Loading…
Reference in New Issue