From f2025539d8bf4798b90a5ab8a47c5a379ab68e9b Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 11 三月 2025 17:51:43 +0800
Subject: [PATCH] fix: 二期需求

---
 packages/components/src/views/PhoneBillRecharge/PhoneBillRechargeStep2.vue |   67 ++++++++++++++++++++++++++-------
 1 files changed, 52 insertions(+), 15 deletions(-)

diff --git a/packages/components/src/views/PhoneBillRecharge/PhoneBillRechargeStep2.vue b/packages/components/src/views/PhoneBillRecharge/PhoneBillRechargeStep2.vue
index 333f782..73fd93e 100644
--- a/packages/components/src/views/PhoneBillRecharge/PhoneBillRechargeStep2.vue
+++ b/packages/components/src/views/PhoneBillRecharge/PhoneBillRechargeStep2.vue
@@ -6,21 +6,33 @@
     label-position="top"
     class="order-bill-recharge phone"
   >
-    <NutFormItem class="bole-form-item">
-      <!-- <AccountAddCard /> -->
-      <NutRadioGroup v-model="val1" direction="horizontal" class="par-account-list">
-        <NutRadio label="1" shape="button">Option 1</NutRadio>
-        <NutRadio label="2" shape="button">Option 2</NutRadio>
-        <NutRadio label="3" shape="button">Option 3</NutRadio>
-        <NutRadio label="4" shape="button">Option 4</NutRadio>
-        <NutRadio label="5" shape="button">Option 5</NutRadio>
-        <NutRadio label="6" shape="button">Option 6</NutRadio>
+    <NutFormItem class="bole-form-item" prop="currentUserAccountId">
+      <NutRadioGroup
+        v-model="form.currentUserAccountId"
+        direction="horizontal"
+        class="par-account-list"
+        v-if="userAccountAllList.length > 0"
+        @change="handleUserAccountChange"
+      >
+        <NutRadio
+          :label="item.id"
+          shape="button"
+          v-for="item in userAccountAllList"
+          :key="item.id"
+          >{{ item.content }}</NutRadio
+        >
       </NutRadioGroup>
-      <AccountCard title="鍏呭�兼墜鏈哄彿" content="18858418480" remark="鐨勫湴鏂归獎鍌茬殑寮�濮嬪拰">
+      <AccountCard
+        v-if="userAccountAllList.length > 0"
+        title="鍏呭�兼墜鏈哄彿"
+        :content="form.phone"
+        :remark="form.remark"
+      >
         <template #action>
-          <div class="account-card-action">鏂板</div>
+          <div class="account-card-action" @click="handleAddUserAccount">鏂板</div>
         </template>
       </AccountCard>
+      <AccountAddCard v-else @click="handleAddUserAccount" />
     </NutFormItem>
 
     <NutFormItem label="閫夋嫨鍏呭�奸噾棰�" class="bole-form-item" prop="parValue" required>
@@ -43,7 +55,7 @@
                 {{ blLifeRecharge.getRechargeParValue(item, lifePayPhoneRate) }}鍏�
               </div>
             </div>
-            <div class="discountTag">{{ lifePayPhoneRate * 100 }}鎶�</div>
+            <div class="discountTag">{{ lifePayPhoneRate }}鎶�</div>
           </div>
         </NutRadio>
       </NutRadioGroup>
@@ -89,10 +101,11 @@
 import RechargeTipsView from '../../components/RechargeTipsView/RechargeTipsView.vue';
 import ConfirmDialog from '../../components/Dialog/ConfirmDialog.vue';
 import ConfirmDialogInfoItem from '../../components/Dialog/ConfirmDialogInfoItem.vue';
-import { useGetRate, useGetPhoneParValue } from '../../hooks';
+import { useGetRate, useGetPhoneParValue, useSetUserAccountBySelect } from '../../hooks';
 import { CustomerServiceTips } from '../../constants';
 import AccountAddCard from '../../components/Card/AccountAddCard.vue';
 import AccountCard from '../../components/Card/AccountCard.vue';
+import { usePhoneBillRechargeContext, PhoneUserAccountExtraProperties } from './context';
 
 defineOptions({
   name: 'PhoneBillRechargeStep2',
@@ -106,14 +119,37 @@
   isDev: false,
 });
 
+const { goTo } = usePhoneBillRechargeContext();
+
 const form = reactive({
   ispCode: '',
   phone: '',
   parValue: 0,
   name: '',
+  currentUserAccountId: '',
+  remark: '',
 });
 
-const val1 = ref('');
+const { userAccountAllList, handleUserAccountChange } = useSetUserAccountBySelect({
+  lifePayOrderType: LifeRechargeConstants.LifePayOrderTypeEnum.璇濊垂璁㈠崟,
+  onSetUserAccount(currentUserAccount) {
+    const currentUserAccountExtraProperties = JSON.parse(
+      currentUserAccount.extraProperties
+    ) as PhoneUserAccountExtraProperties;
+    form.currentUserAccountId = currentUserAccount.id;
+    form.phone = currentUserAccount.content;
+    form.ispCode = currentUserAccountExtraProperties.ispCode;
+    form.name = currentUserAccountExtraProperties.name;
+
+    form.remark = currentUserAccount.remark;
+
+    changeIspCode(form.ispCode as any);
+  },
+});
+
+function handleAddUserAccount() {
+  goTo('step1');
+}
 
 const emit = defineEmits<{
   (e: 'goPay', orderNo: string): void;
@@ -130,7 +166,7 @@
 
 function changeIspCode(val: LifeRechargeConstants.IspCode) {
   const phoneParValueItem = phoneParValueList.value.find((x) => x.ispCode === val);
-  if (phoneParValueItem.parValue.every((x) => Number(x) !== form.parValue)) {
+  if (phoneParValueItem && phoneParValueItem.parValue.every((x) => Number(x) !== form.parValue)) {
     form.parValue = 0;
   }
 }
@@ -146,6 +182,7 @@
   parValue: [
     { required: true, message: '璇烽�夋嫨鍏呭�奸噾棰�', validator: FormValidator.validatorNumberNotNull },
   ],
+  currentUserAccountId: [{ required: true, message: '璇烽�夋嫨鍏呭�兼墜鏈哄彿' }],
 });
 
 const formRef = ref<any>(null);

--
Gitblit v1.9.1