| | |
| | | import { |
| | | EnumPagedListOrder, |
| | | EnumSettlementCycle, |
| | | EnumTaskCheckReceiveStatus, |
| | | EnumTaskRecommendStatus, |
| | | EnumTaskReleaseStatus, |
| | | EnumTaskStatus, |
| | |
| | | import { trim } from '@12333/utils'; |
| | | import { MaybeRef, reactive, ref, unref } from 'vue'; |
| | | import * as taskServices from '@12333/services/apiV2/task'; |
| | | import dayjs from 'dayjs'; |
| | | import * as taskCheckReceiveServices from '@12333/services/apiV2/taskCheckReceive'; |
| | | |
| | | export enum HomeOrderType { |
| | | Recommend = 'Recommend', |
| | |
| | | status?: EnumTaskStatus; |
| | | genderLimit?: EnumUserGender; |
| | | settlementCycle?: EnumSettlementCycle; |
| | | checkReceiveStatus?: EnumTaskCheckReceiveStatus; |
| | | benefitCodes?: string; |
| | | enterpriseId?: string; |
| | | time?: Date; |
| | | }; |
| | | }; |
| | | |
| | | /** |
| | | * @description 仅C端使用 |
| | | */ |
| | | export function useTaskList(options: UseTaskListOptions = {}) { |
| | | const { cityCode = '', enabled = true, defaultQueryMenuState = {} } = options; |
| | | |
| | |
| | | settlementCycle: '' as any as EnumSettlementCycle, |
| | | benefitCodes: '', |
| | | status: '' as any as EnumTaskStatus, |
| | | releaseStatus: EnumTaskReleaseStatus.InProcess, |
| | | releaseStatus: '' as any as EnumTaskReleaseStatus, |
| | | checkReceiveStatus: '' as any as EnumTaskCheckReceiveStatus, |
| | | enterpriseId: '', |
| | | time: '' as any as Date, |
| | | ...defaultQueryMenuState, |
| | | }); |
| | | |
| | |
| | | genderLimit: queryMenuState.genderLimit, |
| | | status: queryMenuState.status, |
| | | releaseStatus: queryMenuState.releaseStatus, |
| | | checkReceiveStatus: queryMenuState.checkReceiveStatus, |
| | | enterpriseId: queryMenuState.enterpriseId, |
| | | beginTime: queryMenuState.time |
| | | ? dayjs(queryMenuState.time).format('YYYY-MM-DD 00:00:00') |
| | | : '', |
| | | endTime: queryMenuState.time |
| | | ? dayjs(queryMenuState.time).format('YYYY-MM-DD 23:59:59') |
| | | : '', |
| | | }; |
| | | |
| | | return taskServices.getTaskInfos(params, { |
| | | return taskServices.getOpenTaskInfos(params, { |
| | | showLoading: false, |
| | | }); |
| | | }, |
| | | { |
| | | queryKey: ['taskServices/getTaskInfos', queryState, queryMenuState, cityCode], |
| | | queryKey: ['taskServices/getOpenTaskInfos', queryState, queryMenuState, cityCode], |
| | | enabled: enabled, |
| | | } |
| | | ); |
| | |
| | | invalidateQueries, |
| | | }; |
| | | } |
| | | |
| | | export function useCheckReceiveTasks() { |
| | | const queryState = reactive({ |
| | | date: dayjs().toDate(), |
| | | checkReceiveStatus: EnumTaskCheckReceiveStatus.WaitSubmit, |
| | | }); |
| | | |
| | | const { infiniteLoadingProps } = useInfiniteLoading( |
| | | ({ pageParam }) => { |
| | | let params: API.GetCheckReceiveTasksQuery = { |
| | | pageModel: { |
| | | rows: 20, |
| | | page: pageParam, |
| | | }, |
| | | date: dayjs(queryState.date).format('YYYY-MM-DD'), |
| | | checkReceiveStatus: queryState.checkReceiveStatus, |
| | | }; |
| | | |
| | | return taskCheckReceiveServices.getCheckReceiveTasks(params, { |
| | | showLoading: false, |
| | | }); |
| | | }, |
| | | { |
| | | queryKey: ['taskCheckReceiveServices/getCheckReceiveTasks', queryState], |
| | | } |
| | | ); |
| | | |
| | | return { |
| | | queryState, |
| | | infiniteLoadingProps, |
| | | }; |
| | | } |
| | | |
| | | type UseCheckReceiveTaskUserSubmitsOptions = { |
| | | id?: string; |
| | | }; |
| | | |
| | | export function useCheckReceiveTaskUserSubmits( |
| | | options: UseCheckReceiveTaskUserSubmitsOptions = {} |
| | | ) { |
| | | const { id } = options; |
| | | const { infiniteLoadingProps } = useInfiniteLoading( |
| | | ({ pageParam }) => { |
| | | let params: API.GetCheckReceiveTaskUserSubmitsQuery = { |
| | | pageModel: { |
| | | rows: 20, |
| | | page: pageParam, |
| | | }, |
| | | id: id, |
| | | }; |
| | | |
| | | return taskCheckReceiveServices.getCheckReceiveTaskUserSubmits(params, { |
| | | showLoading: false, |
| | | }); |
| | | }, |
| | | { |
| | | queryKey: ['taskCheckReceiveServices/getCheckReceiveTaskUserSubmits', id], |
| | | } |
| | | ); |
| | | |
| | | return { |
| | | infiniteLoadingProps, |
| | | }; |
| | | } |