From 92b51e47eb0e53e1e8e13aa0f9135603e1bb03a0 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期日, 19 十月 2025 14:38:36 +0800
Subject: [PATCH] fix: 验收管理
---
packages/hooks/task.ts | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 104 insertions(+), 8 deletions(-)
diff --git a/packages/hooks/task.ts b/packages/hooks/task.ts
index b0c4928..3480293 100644
--- a/packages/hooks/task.ts
+++ b/packages/hooks/task.ts
@@ -2,6 +2,7 @@
import {
EnumPagedListOrder,
EnumSettlementCycle,
+ EnumTaskCheckReceiveStatus,
EnumTaskRecommendStatus,
EnumTaskReleaseStatus,
EnumTaskStatus,
@@ -11,6 +12,8 @@
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',
@@ -20,10 +23,24 @@
type UseTaskListOptions = {
cityCode?: MaybeRef<string>;
enabled?: MaybeRef<boolean>;
+
+ defaultQueryMenuState?: {
+ releaseStatus?: EnumTaskReleaseStatus;
+ status?: EnumTaskStatus;
+ genderLimit?: EnumUserGender;
+ settlementCycle?: EnumSettlementCycle;
+ checkReceiveStatus?: EnumTaskCheckReceiveStatus;
+ benefitCodes?: string;
+ enterpriseId?: string;
+ time?: Date;
+ };
};
+/**
+ * @description 浠匔绔娇鐢�
+ */
export function useTaskList(options: UseTaskListOptions = {}) {
- const { cityCode = '', enabled = true } = options;
+ const { cityCode = '', enabled = true, defaultQueryMenuState = {} } = options;
const searchValue = ref('');
@@ -32,7 +49,11 @@
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,
});
const queryState = reactive({
@@ -51,10 +72,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),
@@ -63,14 +87,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,
}
);
@@ -84,3 +116,67 @@
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,
+ };
+}
--
Gitblit v1.9.1