| | |
| | | import { computed, MaybeRef, reactive, unref } from 'vue'; |
| | | import { groupBy } from 'lodash'; |
| | | import { useInfiniteLoading } from '@12333/hooks'; |
| | | import { EnumStandardOrderAppointmentStatus, EnumStandardOrderPayStatus } from '@12333/constants'; |
| | | import { |
| | | EnumGetStandardOrdersQueryPartAEnterpriseOrderStatus, |
| | | EnumGetStandardOrdersQueryScene, |
| | | EnumGetStandardOrdersQuerySupplierEnterpriseOrderStatus, |
| | | EnumStandardOrderAppointmentStatus, |
| | | EnumStandardOrderPayStatus, |
| | | } from '@12333/constants'; |
| | | |
| | | type UseStandardServiceDetailOptions = { |
| | | id: MaybeRef<string>; |
| | |
| | | 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( |
| | |
| | | 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, |
| | |
| | | |
| | | type UseStandardOrderOptions = { |
| | | id: MaybeRef<string>; |
| | | scene?: EnumGetStandardOrdersQueryScene; |
| | | onSuccess?: (data: API.GetStandardOrderQueryResult) => any; |
| | | refetchInterval?: MaybeRef<number | false>; |
| | | }; |
| | | |
| | | export function useStandardOrder({ id, onSuccess }: UseStandardOrderOptions) { |
| | | export function useStandardOrder({ |
| | | id, |
| | | scene, |
| | | onSuccess, |
| | | refetchInterval = false, |
| | | }: UseStandardOrderOptions) { |
| | | const { |
| | | isLoading, |
| | | isError, |
| | | data: detail, |
| | | refetch, |
| | | } = useQuery({ |
| | | queryKey: ['standardOrderServices/getStandardOrder', id], |
| | | queryKey: ['standardOrderServices/getStandardOrder', id, scene], |
| | | queryFn: async () => { |
| | | const params: API.APIgetStandardOrderParams = { |
| | | id: unref(id), |
| | | scene: scene, |
| | | }; |
| | | return await standardOrderServices.getStandardOrder(params, { |
| | | showLoading: false, |
| | |
| | | onSuccess(data) { |
| | | onSuccess?.(data); |
| | | }, |
| | | refetchInterval: unref(refetchInterval), |
| | | }); |
| | | |
| | | return { detail, isLoading, isError, refetch }; |