fix(测试用例): 修复功能用例抽屉增加快捷编辑用例等级
This commit is contained in:
parent
e7b54bc891
commit
0989b8ef37
|
@ -28,7 +28,7 @@ export interface FieldOptions {
|
||||||
value: any;
|
value: any;
|
||||||
text: string;
|
text: string;
|
||||||
internal?: boolean; // 是否是内置模板
|
internal?: boolean; // 是否是内置模板
|
||||||
pos: number; // 排序字段
|
pos?: number; // 排序字段
|
||||||
}
|
}
|
||||||
|
|
||||||
// 自定义字段
|
// 自定义字段
|
||||||
|
|
|
@ -19,7 +19,25 @@
|
||||||
>
|
>
|
||||||
<template #titleName>
|
<template #titleName>
|
||||||
<div :class="`case-title flex items-center gap-[8px] ${isEditTitle ? 'w-full' : ''}`">
|
<div :class="`case-title flex items-center gap-[8px] ${isEditTitle ? 'w-full' : ''}`">
|
||||||
<div v-if="!isEditTitle" class="flex items-center"><caseLevel :case-level="caseLevels" /></div>
|
<a-select
|
||||||
|
v-if="!isEditTitle"
|
||||||
|
v-model:model-value="caseLevels"
|
||||||
|
:placeholder="t('common.pleaseSelect')"
|
||||||
|
class="param-input w-[65px] py-[2px]"
|
||||||
|
size="mini"
|
||||||
|
:disabled="!hasAnyPermission(['FUNCTIONAL_CASE:READ+UPDATE'])"
|
||||||
|
@click.stop
|
||||||
|
@change="(val)=>handleStatusChange(val as string)"
|
||||||
|
>
|
||||||
|
<template #label>
|
||||||
|
<span class="text-[var(--color-text-2)]">
|
||||||
|
<caseLevel :case-level="caseLevels" />
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
<a-option v-for="item of caseLevelList" :key="item.value" :value="item.value">
|
||||||
|
<caseLevel :case-level="item.text as CaseLevel" />
|
||||||
|
</a-option>
|
||||||
|
</a-select>
|
||||||
<a-input
|
<a-input
|
||||||
v-if="isEditTitle"
|
v-if="isEditTitle"
|
||||||
v-model="titleName"
|
v-model="titleName"
|
||||||
|
@ -237,6 +255,7 @@
|
||||||
|
|
||||||
import type { CustomAttributes, DetailCase, TabItemType } from '@/models/caseManagement/featureCase';
|
import type { CustomAttributes, DetailCase, TabItemType } from '@/models/caseManagement/featureCase';
|
||||||
import { ModuleTreeNode } from '@/models/common';
|
import { ModuleTreeNode } from '@/models/common';
|
||||||
|
import type { FieldOptions } from '@/models/setting/template';
|
||||||
import { CaseManagementRouteEnum } from '@/enums/routeEnum';
|
import { CaseManagementRouteEnum } from '@/enums/routeEnum';
|
||||||
|
|
||||||
import { getCaseLevels, initFormCreate } from './utils';
|
import { getCaseLevels, initFormCreate } from './utils';
|
||||||
|
@ -351,6 +370,13 @@
|
||||||
caseLevels.value = getCaseLevels(customFields.value) as CaseLevel;
|
caseLevels.value = getCaseLevels(customFields.value) as CaseLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const caseLevelList = computed<FieldOptions[]>(() => {
|
||||||
|
return (
|
||||||
|
customFields.value.find((item: any) => item.internal && item.internalFieldKey === 'functional_priority')
|
||||||
|
?.options || []
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
const editLoading = ref<boolean>(false);
|
const editLoading = ref<boolean>(false);
|
||||||
|
|
||||||
async function updateSuccess() {
|
async function updateSuccess() {
|
||||||
|
@ -675,6 +701,36 @@
|
||||||
});
|
});
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
// 更新用例等级
|
||||||
|
async function handleStatusChange(value: string) {
|
||||||
|
try {
|
||||||
|
const customFieldsList = customFields.value.map((item: any) => {
|
||||||
|
if (item.internal && item.internalFieldKey === 'functional_priority') {
|
||||||
|
return {
|
||||||
|
fieldId: item.fieldId,
|
||||||
|
value,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
fieldId: item.fieldId,
|
||||||
|
value: Array.isArray(item.defaultValue) ? JSON.stringify(item.defaultValue) : item.defaultValue,
|
||||||
|
};
|
||||||
|
});
|
||||||
|
const params = {
|
||||||
|
request: {
|
||||||
|
...detailInfo.value,
|
||||||
|
customFields: customFieldsList,
|
||||||
|
},
|
||||||
|
fileList: [],
|
||||||
|
};
|
||||||
|
await updateCaseRequest(params);
|
||||||
|
Message.success(t('common.updateSuccess'));
|
||||||
|
updateSuccess();
|
||||||
|
} catch (error) {
|
||||||
|
// eslint-disable-next-line no-console
|
||||||
|
console.log(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
|
|
Loading…
Reference in New Issue