fix: 兼容旧数据,显示已有单价分值和时长
This commit is contained in:
parent
874abf35cf
commit
b20c9e1361
@ -135,11 +135,16 @@
|
||||
</span>
|
||||
</template>
|
||||
<template v-else-if="column.key === 'unitScore'">
|
||||
<span v-if="getDemandTypeLevel(record) === 3">{{ record.unitScore ?? '--' }}</span>
|
||||
<!-- 三级分类显示单价,或者有单价值的也显示(兼容旧数据) -->
|
||||
<span v-if="getDemandTypeLevel(record) === 3 || (record.unitScore && record.unitScore > 0)">
|
||||
{{ record.unitScore ?? '--' }}
|
||||
</span>
|
||||
<span v-else class="text-muted">--</span>
|
||||
</template>
|
||||
<template v-else-if="column.key === 'estimatedHours'">
|
||||
<span v-if="getDemandTypeLevel(record) === 3">{{ record.estimatedHours ?? '--' }}</span>
|
||||
<span v-if="getDemandTypeLevel(record) === 3 || (record.estimatedHours && record.estimatedHours > 0)">
|
||||
{{ record.estimatedHours ?? '--' }}
|
||||
</span>
|
||||
<span v-else class="text-muted">--</span>
|
||||
</template>
|
||||
<template v-else-if="column.key === 'allowedDepts'">
|
||||
@ -1187,21 +1192,37 @@
|
||||
width="600px"
|
||||
>
|
||||
<a-form :model="formData.demandType" layout="vertical">
|
||||
<!-- 编辑时允许调整级别 -->
|
||||
<a-form-item v-if="editingItem" label="调整级别">
|
||||
<a-radio-group v-model:value="formData.demandType.addLevel" @change="onLevelChange">
|
||||
<a-radio value="level1">一级分类</a-radio>
|
||||
<a-radio value="level2">二级分类</a-radio>
|
||||
<a-radio value="level3">三级分类</a-radio>
|
||||
</a-radio-group>
|
||||
<div class="form-tip">
|
||||
<Icon name="info" size="sm" color="#6B6B6B" style="margin-right: 4px;" />
|
||||
调整级别后需要选择对应的上级分类
|
||||
</div>
|
||||
</a-form-item>
|
||||
|
||||
<!-- 选择所属一级分类(二级分类显示) -->
|
||||
<a-form-item v-if="formData.demandType.addLevel === 'level2'" label="所属一级分类" required>
|
||||
<a-select
|
||||
v-model:value="formData.demandType.parentId"
|
||||
placeholder="请选择所属一级分类"
|
||||
:disabled="!!editingItem"
|
||||
>
|
||||
<a-select-option
|
||||
v-for="parent in level1DemandTypes"
|
||||
v-for="parent in level1DemandTypes.filter(p => p.id !== formData.demandType.id)"
|
||||
:key="parent.id"
|
||||
:value="parent.id"
|
||||
>
|
||||
{{ parent.name }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
<div v-if="editingItem" class="form-tip">
|
||||
<Icon name="info" size="sm" color="#6B6B6B" style="margin-right: 4px;" />
|
||||
可以修改所属分类来调整层级
|
||||
</div>
|
||||
</a-form-item>
|
||||
|
||||
<!-- 选择所属二级分类(三级分类显示) -->
|
||||
@ -1209,16 +1230,19 @@
|
||||
<a-select
|
||||
v-model:value="formData.demandType.parentId"
|
||||
placeholder="请选择所属二级分类"
|
||||
:disabled="!!editingItem"
|
||||
>
|
||||
<a-select-option
|
||||
v-for="parent in level2DemandTypes"
|
||||
v-for="parent in level2DemandTypes.filter(p => p.id !== formData.demandType.id)"
|
||||
:key="parent.id"
|
||||
:value="parent.id"
|
||||
>
|
||||
{{ getLevel2DisplayName(parent) }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
<div v-if="editingItem" class="form-tip">
|
||||
<Icon name="info" size="sm" color="#6B6B6B" style="margin-right: 4px;" />
|
||||
可以修改所属分类来调整层级
|
||||
</div>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="类型名称" required>
|
||||
@ -2224,6 +2248,22 @@ const getLevel2DisplayName = (level2: DemandType) => {
|
||||
return level1 ? `${level1.name} / ${level2.name}` : level2.name
|
||||
}
|
||||
|
||||
// 级别变更时重置父级ID
|
||||
const onLevelChange = () => {
|
||||
formData.demandType.parentId = null
|
||||
// 如果改为一级分类,清除部门设置
|
||||
if (formData.demandType.addLevel === 'level1') {
|
||||
formData.demandType.departmentIds = []
|
||||
formData.demandType.unitScore = 0
|
||||
formData.demandType.estimatedHours = null
|
||||
}
|
||||
// 如果改为二级分类,清除分值
|
||||
if (formData.demandType.addLevel === 'level2') {
|
||||
formData.demandType.unitScore = 0
|
||||
formData.demandType.estimatedHours = null
|
||||
}
|
||||
}
|
||||
|
||||
const leaderOptions = computed(() =>
|
||||
allUsers.value.map((user) => ({
|
||||
label: user.realName || user.username || `用户${user.id}`,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user