From 47047d626ea8fab28c04e6534fe6ffa3dc61de69 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 26 十二月 2025 16:09:22 +0800
Subject: [PATCH] feat: init
---
packages/hooks/standardOrder.ts | 96 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 95 insertions(+), 1 deletions(-)
diff --git a/packages/hooks/standardOrder.ts b/packages/hooks/standardOrder.ts
index d18be38..987b48d 100644
--- a/packages/hooks/standardOrder.ts
+++ b/packages/hooks/standardOrder.ts
@@ -1,7 +1,16 @@
import { useQuery, useQueryClient } from '@tanstack/vue-query';
import * as standardServiceServices from '@12333/services/apiV2/standardService';
-import { computed, MaybeRef, unref } from 'vue';
+import * as standardOrderServices from '@12333/services/apiV2/standardOrder';
+import { computed, MaybeRef, reactive, unref } from 'vue';
import { groupBy } from 'lodash';
+import { useInfiniteLoading } from '@12333/hooks';
+import {
+ EnumGetStandardOrdersQueryPartAEnterpriseOrderStatus,
+ EnumGetStandardOrdersQueryScene,
+ EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatus,
+ EnumStandardOrderAppointmentStatus,
+ EnumStandardOrderPayStatus,
+} from '@12333/constants';
type UseStandardServiceDetailOptions = {
id: MaybeRef<string>;
@@ -95,3 +104,88 @@
standardServiceListForCategoryMap,
};
}
+
+export function useGetStandardOrders() {
+ const queryState = reactive({
+ appointmentStatus: 0 as any as EnumStandardOrderAppointmentStatus,
+ payStatus: 0 as any as EnumStandardOrderPayStatus,
+ partAEnterpriseOrderStatus: 0 as any as EnumGetStandardOrdersQueryPartAEnterpriseOrderStatus,
+ supplierEnterpriseOrderStatus:
+ 0 as any as EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatus,
+ });
+
+ const { infiniteLoadingProps } = useInfiniteLoading(
+ ({ pageParam }) => {
+ let params: API.GetStandardOrdersQuery = {
+ pageModel: {
+ rows: 20,
+ page: pageParam,
+ },
+ };
+
+ if (queryState.appointmentStatus) {
+ params.appointmentStatus = queryState.appointmentStatus;
+ }
+ if (queryState.payStatus) {
+ params.payStatus = queryState.payStatus;
+ }
+ if (queryState.partAEnterpriseOrderStatus) {
+ params.partAEnterpriseOrderStatus = queryState.partAEnterpriseOrderStatus;
+ }
+ if (queryState.supplierEnterpriseOrderStatus) {
+ params.supplierEnterpriseOrderStatus = queryState.supplierEnterpriseOrderStatus;
+ }
+
+ return standardOrderServices.getStandardOrders(params, {
+ showLoading: false,
+ });
+ },
+ {
+ queryKey: ['standardOrderServices/getStandardOrders', queryState],
+ }
+ );
+
+ return {
+ queryState,
+ infiniteLoadingProps,
+ };
+}
+
+type UseStandardOrderOptions = {
+ id: MaybeRef<string>;
+ scene?: EnumGetStandardOrdersQueryScene;
+ onSuccess?: (data: API.GetStandardOrderQueryResult) => any;
+ refetchInterval?: MaybeRef<number | false>;
+};
+
+export function useStandardOrder({
+ id,
+ scene,
+ onSuccess,
+ refetchInterval = false,
+}: UseStandardOrderOptions) {
+ const {
+ isLoading,
+ isError,
+ data: detail,
+ refetch,
+ } = useQuery({
+ queryKey: ['standardOrderServices/getStandardOrder', id, scene],
+ queryFn: async () => {
+ const params: API.APIgetStandardOrderParams = {
+ id: unref(id),
+ scene: scene,
+ };
+ return await standardOrderServices.getStandardOrder(params, {
+ showLoading: false,
+ });
+ },
+ placeholderData: () => ({} as API.GetStandardOrderQueryResult),
+ onSuccess(data) {
+ onSuccess?.(data);
+ },
+ refetchInterval: unref(refetchInterval),
+ });
+
+ return { detail, isLoading, isError, refetch };
+}
--
Gitblit v1.10.0