fix: 大分类不显示单价分值,仅子分类需要设置

This commit is contained in:
Your Name 2026-01-05 19:06:36 +08:00
parent 5321ff4afa
commit 6c85f4ca4d

View File

@ -126,10 +126,12 @@
</span>
</template>
<template v-else-if="column.key === 'unitScore'">
<span>{{ record.unitScore ?? '--' }}</span>
<span v-if="record.parentId">{{ record.unitScore ?? '--' }}</span>
<span v-else class="text-muted">--</span>
</template>
<template v-else-if="column.key === 'estimatedHours'">
<span>{{ record.estimatedHours ?? '--' }}</span>
<span v-if="record.parentId">{{ record.estimatedHours ?? '--' }}</span>
<span v-else class="text-muted">--</span>
</template>
<template v-else-if="column.key === 'allowedDepts'">
<template v-if="!record.parentId">
@ -1187,7 +1189,9 @@
<a-form-item label="类型名称" required>
<a-input v-model:value="formData.demandType.name" placeholder="请输入类型名称" />
</a-form-item>
<a-form-item label="单价分值" required>
<!-- 单价分值(仅子分类显示) -->
<a-form-item v-if="formData.demandType.isSubType" label="单价分值" required>
<a-input-number
v-model:value="formData.demandType.unitScore"
:min="0"
@ -1197,7 +1201,9 @@
placeholder="请输入单价分值(支持小数,如0.35)"
/>
</a-form-item>
<a-form-item label="预计时长(小时)">
<!-- 预计时长(仅子分类显示) -->
<a-form-item v-if="formData.demandType.isSubType" label="预计时长(小时)">
<a-input-number
v-model:value="formData.demandType.estimatedHours"
:min="0"
@ -1206,6 +1212,7 @@
placeholder="请输入预计时长"
/>
</a-form-item>
<a-form-item label="描述">
<a-textarea v-model:value="formData.demandType.description" :rows="3" placeholder="请输入描述" />
</a-form-item>
@ -2626,11 +2633,18 @@ const saveDemandType = async () => {
return
}
// 子分类必须填写单价分值
if (formData.demandType.isSubType && (formData.demandType.unitScore === null || formData.demandType.unitScore === undefined)) {
message.error('请输入单价分值')
return
}
// 构建保存数据,确保字段名正确
const saveData: Partial<DemandType> = {
name: formData.demandType.name,
unitScore: formData.demandType.unitScore,
estimatedHours: formData.demandType.estimatedHours,
// 大分类不设置单价,子分类才设置
unitScore: formData.demandType.isSubType ? formData.demandType.unitScore : 0,
estimatedHours: formData.demandType.isSubType ? formData.demandType.estimatedHours : null,
description: formData.demandType.description,
sortOrder: formData.demandType.sortOrder ?? 0,
isEnabled: formData.demandType.isEnabled ?? 1,