From 1327b99efda99ada27a956981648950f580314b0 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 22 五月 2025 14:17:47 +0800
Subject: [PATCH] fix: 修改ui

---
 packages/components/src/hooks/index.ts |  103 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 88 insertions(+), 15 deletions(-)

diff --git a/packages/components/src/hooks/index.ts b/packages/components/src/hooks/index.ts
index 912a1b6..b8ce406 100644
--- a/packages/components/src/hooks/index.ts
+++ b/packages/components/src/hooks/index.ts
@@ -11,12 +11,13 @@
   UserAccountListOutput,
   AddUpdateUserAccountInput,
   GasParValueResponse,
-  GasParValueOutput,
+  ChannelRateOutput,
 } from '@life-payment/core-vue';
 import { useQuery, useQueryClient } from '@tanstack/vue-query';
 import { computed, MaybeRef, reactive, unref } from 'vue';
 import { useInfiniteLoading } from './infiniteLoading';
 import { OrderInputType } from '../constants';
+import { convertOrderFrontStatus } from '../utils';
 
 export function useGetRate() {
   const { blLifeRecharge } = useLifeRechargeContext();
@@ -29,26 +30,54 @@
     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,
@@ -110,7 +139,7 @@
   // });
 
   const { infiniteLoadingProps } = useInfiniteLoading(
-    ({ pageParam }) => {
+    async ({ pageParam }) => {
       let params: QueryLifePayOrderListInput = {
         pageModel: {
           rows: 20,
@@ -121,9 +150,18 @@
         userId: blLifeRecharge.accountModel.userId,
       };
 
-      return blLifeRecharge.services.getUserLifePayOrderPage(params, {
+      let res = await blLifeRecharge.services.getUserLifePayOrderPage(params, {
         showLoading: false,
       });
+      res.data = res.data.map((x) => ({
+        ...x,
+        frontStatus: convertOrderFrontStatus(
+          x.payStatus,
+          x.lifePayOrderStatus,
+          x.lifePayRefundStatus
+        ),
+      }));
+      return res;
     },
     {
       queryKey: [
@@ -133,6 +171,12 @@
           userId: blLifeRecharge.accountModel.userId,
         },
       ],
+
+      select(data) {
+        console.log('data: ', data);
+        //  data.pages.map((item) => item.data.map((x) => convertOrderFrontStatus(x)))
+        return data;
+      },
     }
   );
 
@@ -264,3 +308,32 @@
     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 };
+}

--
Gitblit v1.9.1