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