From 5fc0cba8af1a9e9b1cc41fa65c8a4db89e82ee3e Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期五, 08 八月 2025 13:22:10 +0800 Subject: [PATCH] fix: 任务发布 --- apps/cMiniApp/src/hooks/task.ts | 54 ++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 40 insertions(+), 14 deletions(-) diff --git a/apps/cMiniApp/src/hooks/task.ts b/apps/cMiniApp/src/hooks/task.ts index 38b1733..d8414e1 100644 --- a/apps/cMiniApp/src/hooks/task.ts +++ b/apps/cMiniApp/src/hooks/task.ts @@ -1,26 +1,41 @@ import { useInfiniteLoading } from '@12333/hooks'; -import { OrderInputType, Gender } from '@12333/constants'; -import * as orderServices from '@12333/services/api/Order'; +import { + EnumPagedListOrder, + EnumSettlementCycle, + EnumTaskRecommendStatus, + EnumTaskReleaseStatus, + EnumTaskStatus, + EnumUserGender, +} from '@12333/constants'; import _ from 'lodash'; import { trim } from '@12333/utils'; +import { MaybeRef } from 'vue'; +import * as taskServices from '@12333/services/apiV2/task'; export enum HomeOrderType { Recommend = 'Recommend', LastShelfTime = 'LastShelfTime', } -export function useTaskList() { +type UseTaskListOptions = { + cityName?: MaybeRef<string>; +}; + +export function useTaskList(options: UseTaskListOptions = {}) { + const { cityName = '' } = options; + const searchValue = ref(''); - const DefaultQueryState = { - gender: '' as any as Gender, - }; + const queryMenuState = reactive({ + genderLimit: '' as any as EnumUserGender, + settlementCycle: '' as any as EnumSettlementCycle, + benefitCodes: '', + status: '' as any as EnumTaskStatus, + }); const queryState = reactive({ searchValueTrim: '', orderType: HomeOrderType.Recommend, - companyId: '', - ...DefaultQueryState, }); const handleSearch = _.debounce(function () { @@ -29,31 +44,42 @@ const { infiniteLoadingProps } = useInfiniteLoading( ({ pageParam }) => { - let params: API.FrontOrderListInput = { + let params: API.GetTaskInfosQuery = { pageModel: { rows: 20, page: pageParam, orderInput: [ queryState.orderType === HomeOrderType.Recommend - ? { property: 'isRecommend', order: OrderInputType.Desc } - : { property: 'lastShelfTime', order: OrderInputType.Desc }, + ? { property: 'createdTime', order: EnumPagedListOrder.Desc } + : {}, ], }, + keywords: queryState.searchValueTrim, + // cityCode: 'string', + settlementCycle: queryMenuState.settlementCycle, + benefitCodes: [queryMenuState.benefitCodes].filter(Boolean), + genderLimit: queryMenuState.genderLimit, + status: queryMenuState.status, + releaseStatus: EnumTaskReleaseStatus.InProcess, }; - return orderServices.getFrontOrderList(params, { + if (queryState.orderType === HomeOrderType.Recommend) { + params.recommendStatus = EnumTaskRecommendStatus.Yes; + } + + return taskServices.getTaskInfos(params, { showLoading: false, }); }, { - queryKey: ['orderServices/getFrontOrderList', queryState], + queryKey: ['taskServices/getTaskInfos', queryState, queryMenuState, cityName], } ); return { searchValue, queryState, - DefaultQueryState, + queryMenuState, handleSearch, infiniteLoadingProps, }; -- Gitblit v1.9.1