| | |
| | | UserAccountListOutput, |
| | | AddUpdateUserAccountInput, |
| | | GasParValueResponse, |
| | | GasParValueOutput, |
| | | ChannelRateOutput, |
| | | } from '@life-payment/core-vue'; |
| | | import { useQuery, useQueryClient } from '@tanstack/vue-query'; |
| | | import { computed, MaybeRef, reactive, unref } from 'vue'; |
| | |
| | | placeholderData: () => [] as LifePayRateListOutput[], |
| | | }); |
| | | |
| | | const lifePayPhoneRate = computed( |
| | | () => |
| | | const hasChannel = computed(() => !!blLifeRecharge.accountModel.channlesNum); |
| | | |
| | | const { data: channelRate } = useQuery({ |
| | | queryKey: ['blLifeRecharge/getChannelRate', blLifeRecharge.accountModel.channlesNum], |
| | | queryFn: async () => { |
| | | return await blLifeRecharge.services.getChannelRate( |
| | | { |
| | | checkChannelId: blLifeRecharge.accountModel.channlesNum, |
| | | }, |
| | | { showLoading: false } |
| | | ); |
| | | }, |
| | | placeholderData: () => ({} as ChannelRateOutput), |
| | | enabled: hasChannel, |
| | | }); |
| | | |
| | | const lifePayPhoneRate = computed(() => { |
| | | if (hasChannel.value && channelRate.value.channlesRate) { |
| | | return channelRate.value.channlesRate; |
| | | } |
| | | return ( |
| | | lifePayRateList.value.find( |
| | | (x) => x.rateType === blLifeRecharge.constants.LifePayRateTypeEnum.默认话费折扣 |
| | | )?.rate ?? 100 |
| | | ); |
| | | )?.rate ?? 0 |
| | | ); |
| | | }); |
| | | |
| | | const lifePayElectricRate = computed( |
| | | () => |
| | | const lifePayElectricRate = computed(() => { |
| | | if (hasChannel.value && channelRate.value.channlesRate) { |
| | | return channelRate.value.channlesRate; |
| | | } |
| | | return ( |
| | | lifePayRateList.value.find( |
| | | (x) => x.rateType === blLifeRecharge.constants.LifePayRateTypeEnum.默认电费折扣 |
| | | )?.rate ?? 100 |
| | | ); |
| | | )?.rate ?? 0 |
| | | ); |
| | | }); |
| | | |
| | | const lifePayGasRate = computed( |
| | | () => |
| | | const lifePayGasRate = computed(() => { |
| | | if (hasChannel.value && channelRate.value.channlesRate) { |
| | | return channelRate.value.channlesRate; |
| | | } |
| | | return ( |
| | | lifePayRateList.value.find( |
| | | (x) => x.rateType === blLifeRecharge.constants.LifePayRateTypeEnum.默认燃气折扣 |
| | | )?.rate ?? 100 |
| | | ); |
| | | )?.rate ?? 0 |
| | | ); |
| | | }); |
| | | |
| | | return { |
| | | lifePayRateList, |
| | |
| | | }); |
| | | res.data = res.data.map((x) => ({ |
| | | ...x, |
| | | frontStatus: convertOrderFrontStatus(x.payStatus, x.lifePayOrderStatus), |
| | | frontStatus: convertOrderFrontStatus( |
| | | x.payStatus, |
| | | x.lifePayOrderStatus, |
| | | x.lifePayRefundStatus |
| | | ), |
| | | })); |
| | | return res; |
| | | }, |
| | |
| | | gasParValueList, |
| | | }; |
| | | } |
| | | |
| | | type UseIntroInfoOptions = { |
| | | lifePayOrderType: MaybeRef<LifeRechargeConstants.LifePayOrderTypeEnum>; |
| | | onSuccess?: (data: API.LifePayIntroInfoOutput[]) => any; |
| | | }; |
| | | |
| | | export function useIntroInfo({ lifePayOrderType, onSuccess }: UseIntroInfoOptions) { |
| | | const { blLifeRecharge } = useLifeRechargeContext(); |
| | | |
| | | const { data: introInfo } = useQuery({ |
| | | queryKey: ['blLifeRecharge/getIntroInfo', lifePayOrderType], |
| | | queryFn: async () => { |
| | | return await blLifeRecharge.services.getIntroInfo( |
| | | { |
| | | type: unref(lifePayOrderType), |
| | | }, |
| | | { |
| | | showLoading: false, |
| | | } |
| | | ); |
| | | }, |
| | | placeholderData: () => [] as API.LifePayIntroInfoOutput[], |
| | | onSuccess: (data) => { |
| | | onSuccess?.(data); |
| | | }, |
| | | }); |
| | | |
| | | return { introInfo }; |
| | | } |