From ae51226ce036e0201e94b60ffa92b92e893767ee Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期日, 19 十月 2025 17:29:17 +0800
Subject: [PATCH] feat: 1.2.0.1
---
packages/hooks/task.ts | 131 +++++++++++++++++++++++++++++++++++++++++--
1 files changed, 123 insertions(+), 8 deletions(-)
diff --git a/packages/hooks/task.ts b/packages/hooks/task.ts
index 3a07d88..158df59 100644
--- a/packages/hooks/task.ts
+++ b/packages/hooks/task.ts
@@ -1,7 +1,10 @@
import { useInfiniteLoading } from '@12333/hooks';
+import { useQuery, useQueryClient } from '@tanstack/vue-query';
import {
+ EnumEnterpriseWalletAccessTextForSettle,
EnumPagedListOrder,
EnumSettlementCycle,
+ EnumTaskCheckReceiveStatus,
EnumTaskRecommendStatus,
EnumTaskReleaseStatus,
EnumTaskStatus,
@@ -9,8 +12,11 @@
} from '@12333/constants';
import _ from 'lodash';
import { trim } from '@12333/utils';
-import { MaybeRef, reactive, ref, unref } from 'vue';
+import { computed, MaybeRef, reactive, ref, unref } from 'vue';
import * as taskServices from '@12333/services/apiV2/task';
+import * as enterpriseWalletServices from '@12333/services/apiV2/enterpriseWallet';
+import dayjs from 'dayjs';
+import * as taskCheckReceiveServices from '@12333/services/apiV2/taskCheckReceive';
export enum HomeOrderType {
Recommend = 'Recommend',
@@ -26,11 +32,16 @@
status?: EnumTaskStatus;
genderLimit?: EnumUserGender;
settlementCycle?: EnumSettlementCycle;
+ checkReceiveStatus?: EnumTaskCheckReceiveStatus;
benefitCodes?: string;
enterpriseId?: string;
+ time?: Date;
};
};
+/**
+ * @description 浠匔绔娇鐢�
+ */
export function useTaskList(options: UseTaskListOptions = {}) {
const { cityCode = '', enabled = true, defaultQueryMenuState = {} } = options;
@@ -41,8 +52,10 @@
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,
});
@@ -62,10 +75,13 @@
rows: 20,
page: pageParam,
orderInput: [
- queryState.orderType === HomeOrderType.Recommend
- ? { property: 'recommendStatus', order: EnumPagedListOrder.Desc }
- : { property: 'createdTime', order: EnumPagedListOrder.Desc },
- ],
+ { property: 'releaseStatus', order: EnumPagedListOrder.Asc },
+ queryState.orderType === HomeOrderType.Recommend && {
+ property: 'recommendTime',
+ order: EnumPagedListOrder.Desc,
+ },
+ { property: 'createdTime', order: EnumPagedListOrder.Desc },
+ ].filter(Boolean),
},
keywords: queryState.searchValueTrim,
cityCode: unref(cityCode),
@@ -74,15 +90,22 @@
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,
}
);
@@ -96,3 +119,95 @@
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,
+ },
+ taskInfoId: id,
+ };
+
+ return taskCheckReceiveServices.getCheckReceiveTaskUserSubmits(params, {
+ showLoading: false,
+ });
+ },
+ {
+ queryKey: ['taskCheckReceiveServices/getCheckReceiveTaskUserSubmits'],
+ }
+ );
+
+ return {
+ infiniteLoadingProps,
+ };
+}
+
+export function useEnterpriseWalletAccessSelect() {
+ const { data } = useQuery({
+ queryKey: ['enterpriseWalletServices/getEnterpriseWalletAccessSelect'],
+ queryFn: () => {
+ return enterpriseWalletServices.getEnterpriseWalletAccessSelect(
+ {},
+ {
+ showLoading: false,
+ }
+ );
+ },
+ placeholderData: () => [] as API.SelectOptionGuidGetEnterpriseWalletAccessSelectQueryOption[],
+ });
+
+ const enterpriseWalletAccessSelect = computed(() => data.value?.map((x) => x.data));
+
+ const settlementAccessList = computed(() => {
+ return enterpriseWalletAccessSelect.value?.length > 0
+ ? enterpriseWalletAccessSelect.value.map((x) => ({
+ label: EnumEnterpriseWalletAccessTextForSettle[x.access],
+ value: x.access,
+ }))
+ : [];
+ });
+
+ return { settlementAccessList };
+}
--
Gitblit v1.9.1