fix: 修复需求类型下拉框显示错误,应显示任务子类型(新品/优化/视频/实拍等)

1. 需求类型下拉从 demandTypes(任务类型)改为 taskSubTypes(任务子类型)
2. filters 中移除 demandTypeId,使用 taskSubType
3. completedFilters 中也同步修复
This commit is contained in:
Your Name 2026-01-16 17:05:42 +08:00
parent ff371a6665
commit 2e74f609c5

View File

@ -113,18 +113,18 @@
</a-select>
<a-select
v-model:value="filters.demandTypeId"
v-model:value="filters.taskSubType"
placeholder="需求类型"
class="filter-select"
allowClear
@change="handleFilterChange"
>
<a-select-option
v-for="type in demandTypes"
:key="type.id"
:value="type.id"
v-for="subType in taskSubTypes"
:key="subType.id"
:value="subType.name"
>
{{ type.name }}
{{ subType.name }}
</a-select-option>
</a-select>
@ -1266,18 +1266,18 @@
</a-select>
<a-select
v-model:value="completedFilters.demandTypeId"
v-model:value="completedFilters.taskSubType"
placeholder="需求类型"
class="filter-select"
allowClear
@change="loadCompletedTasks"
>
<a-select-option
v-for="type in demandTypes"
:key="type.id"
:value="type.id"
v-for="subType in taskSubTypes"
:key="subType.id"
:value="subType.name"
>
{{ type.name }}
{{ subType.name }}
</a-select-option>
</a-select>
@ -2861,6 +2861,9 @@ const workHoursPerDay = ref(9) // 默认9小时
// 层级任务类型数据(用于级联选择器)
const hierarchicalTaskTypes = ref<any[]>([])
// 任务子类型列表(需求类型:新品/优化/视频/实拍等)
const taskSubTypes = ref<any[]>([])
// 🔥 接单部门列表(用于筛选和显示标签)
const receivingDeptList = ref<Array<{ id: number; deptName: string }>>([])
@ -2956,11 +2959,10 @@ const taskTypeCascaderOptions = computed(() => {
const filters = reactive({
status: '' as string, // 任务状态筛选
taskTypeId: undefined as number | undefined,
demandTypeId: undefined as number | undefined,
taskSubType: undefined as string | undefined, // 需求类型(新品/优化/视频/实拍等)
brandId: undefined as number | undefined,
categoryId: undefined as number | undefined,
platformId: undefined as number | undefined,
taskSubType: undefined as string | undefined,
minScore: undefined as number | undefined,
maxScore: undefined as number | undefined,
keyword: undefined as string | undefined,
@ -2975,7 +2977,7 @@ const completedFilters = reactive({
keyword: undefined as string | undefined,
sortBy: 'latest' as 'latest' | 'score',
taskTypeId: undefined as number | undefined,
demandTypeId: undefined as number | undefined,
taskSubType: undefined as string | undefined, // 需求类型(新品/优化/视频/实拍等)
brandId: undefined as number | undefined,
categoryId: undefined as number | undefined,
platformId: undefined as number | undefined,
@ -3325,6 +3327,11 @@ const loadConfigs = async () => {
if (response && response.data) {
hierarchicalTaskTypes.value = response.data
}
// 加载任务子类型(需求类型:新品/优化/视频/实拍等)
const subTypeResponse = await configApi.getEnabledTaskSubTypes()
if (subTypeResponse && subTypeResponse.data) {
taskSubTypes.value = subTypeResponse.data
}
// 🔥 加载接单部门列表
const deptResponse = await departmentApi.getDepartmentList()
if (deptResponse && deptResponse.data) {
@ -3382,7 +3389,6 @@ const loadTasks = async (forceReload = false) => {
// 添加筛选条件
if (filters.status) params.status = filters.status
if (filters.taskTypeId) params.taskTypeId = filters.taskTypeId
if (filters.demandTypeId) params.demandTypeId = filters.demandTypeId
if (filters.brandId) params.brandId = filters.brandId
if (filters.categoryId) params.categoryId = filters.categoryId
if (filters.platformId) params.platformId = filters.platformId
@ -3483,7 +3489,7 @@ const handleFilterChange = () => {
// 重置筛选
const handleReset = () => {
filters.taskTypeId = undefined
filters.demandTypeId = undefined
filters.taskSubType = undefined
filters.brandId = undefined
filters.categoryId = undefined
filters.platformId = undefined
@ -4384,7 +4390,7 @@ const handleCompletedFiltersReset = () => {
completedFilters.keyword = undefined
completedFilters.sortBy = 'latest'
completedFilters.taskTypeId = undefined
completedFilters.demandTypeId = undefined
completedFilters.taskSubType = undefined
completedFilters.brandId = undefined
completedFilters.categoryId = undefined
completedFilters.platformId = undefined