From 80dc90be027ee26869c63860b7d6a0759a03546b Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 20 五月 2025 17:33:53 +0800
Subject: [PATCH] fix: 修改首页ui

---
 packages/components/src/views/PhoneBillRecharge/PhoneBillRechargeStep2.vue |   93 +++++++++++++++++++++++++++-------------------
 1 files changed, 55 insertions(+), 38 deletions(-)

diff --git a/packages/components/src/views/PhoneBillRecharge/PhoneBillRechargeStep2.vue b/packages/components/src/views/PhoneBillRecharge/PhoneBillRechargeStep2.vue
index 1319215..57e0e54 100644
--- a/packages/components/src/views/PhoneBillRecharge/PhoneBillRechargeStep2.vue
+++ b/packages/components/src/views/PhoneBillRecharge/PhoneBillRechargeStep2.vue
@@ -6,8 +6,8 @@
     label-position="top"
     class="order-bill-recharge phone"
   >
-    <Chunk borderRadiusSmall>
-      <NutFormItem class="bole-form-item" prop="currentUserAccountId">
+    <Chunk borderRadiusSmall :hasPaddingBottom="false">
+      <NutFormItem class="bole-form-item user-account-form-item" prop="currentUserAccountId">
         <NutRadioGroup
           v-model="form.currentUserAccountId"
           direction="horizontal"
@@ -20,55 +20,68 @@
             shape="button"
             v-for="item in userAccountAllList"
             :key="item.id"
-            >{{ item.content }}</NutRadio
+            >{{ addStarForPhone(item.content) }}</NutRadio
           >
         </NutRadioGroup>
-        <AccountCard
+        <AccountCardV2
           v-if="userAccountAllList.length > 0"
-          title="鍏呭�兼墜鏈哄彿"
-          :content="form.phone"
+          :content="StringUtils.phoneNumberAddSpace(form.phone)"
           :remark="form.remark"
+          :showEditBtn="!!form.currentUserAccountId"
+          @add="handleAddUserAccount"
+          @edit="emit('editUserAccount', form.currentUserAccountId)"
         >
-          <template #action>
-            <div class="account-card-action" @click="handleAddUserAccount">鏂板</div>
-          </template>
-        </AccountCard>
-        <AccountAddCard v-else @click="handleAddUserAccount" />
+        </AccountCardV2>
+        <AccountAddCardV2
+          content="鍘绘坊鍔犲厖鍊煎彿鐮�"
+          remark="娣诲姞鍙风爜灏嗕繚瀛樺湪鐢熸椿缂磋垂杩涜绠$悊"
+          tip="娣诲姞姝g‘鍙风爜"
+          v-else
+          @add="handleAddUserAccount"
+        />
       </NutFormItem>
     </Chunk>
 
-    <NutFormItem label="閫夋嫨鍏呭�奸噾棰�" class="bole-form-item" prop="parValue" required>
-      <NutRadioGroup v-model="form.parValue" direction="horizontal" class="parValue-radio-group">
-        <NutRadio
-          :label="Number(item)"
-          :key="item"
-          shape="button"
-          v-for="item in parValueList"
-          class="parValue-item"
-        >
-          <div class="parValue-item-inner">
-            <div class="amount-wrapper">
-              <div class="amount">{{ item }}</div>
-              <div class="unit">鍏�</div>
-            </div>
-            <div class="price-wrapper">
-              <div class="price-text">鎶樺悗</div>
-              <div class="price">
-                {{ blLifeRecharge.getRechargeParValue(item, lifePayPhoneRate) }}鍏�
+    <Chunk borderRadiusSmall :hasPaddingBottom="false" title="閫夋嫨鍏呭�奸噾棰�">
+      <NutFormItem class="bole-form-item" prop="parValue" required>
+        <NutRadioGroup v-model="form.parValue" direction="horizontal" class="parValue-radio-group">
+          <NutRadio
+            :label="Number(item)"
+            :key="item"
+            shape="button"
+            v-for="item in parValueList"
+            class="parValue-item"
+          >
+            <div class="parValue-item-inner">
+              <div class="amount-wrapper">
+                <div class="amount">{{ item }}</div>
+                <div class="unit">鍏�</div>
               </div>
+              <div class="price-wrapper">
+                <div class="price-text">鎶樺悗</div>
+                <div class="price">
+                  {{ blLifeRecharge.getRechargeParValue(item, lifePayPhoneRate) }}鍏�
+                </div>
+              </div>
+              <div class="discountTag" v-if="lifePayPhoneRate > 0">{{ lifePayPhoneRate }}鎶�</div>
+              <img :src="IconSelect" class="discount-icon" />
             </div>
-            <div class="discountTag" v-if="lifePayPhoneRate > 0">{{ lifePayPhoneRate }}鎶�</div>
-          </div>
-        </NutRadio>
-      </NutRadioGroup>
-    </NutFormItem>
+          </NutRadio>
+        </NutRadioGroup>
+      </NutFormItem>
+    </Chunk>
+
     <SelectPayTypeFormItem
       v-model="form.lifePayType"
       :showWeixinPay="showWeixinPay"
       :showAliPay="showAliPay"
     ></SelectPayTypeFormItem>
     <div class="common-content">
-      <nut-button class="recharge-button" type="primary" @click="handleSubmit">
+      <nut-button
+        class="recharge-button recharge-button-linear"
+        type="primary"
+        @click="handleSubmit"
+      >
         <div class="recharge-button-inner">
           <div>锟{ realParValue }}</div>
           <div class="recharge-button-text">绔嬪嵆鍏呭��</div>
@@ -100,7 +113,7 @@
 } from '@nutui/nutui-taro';
 import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types';
 import { reactive, ref, computed, toRef } from 'vue';
-import { FormValidator, initLifePayType } from '../../utils';
+import { FormValidator, initLifePayType, addStarForPhone, StringUtils } from '../../utils';
 import {
   useLifeRechargeContext,
   BlLifeRecharge,
@@ -111,13 +124,14 @@
 import ConfirmDialog from '../../components/Dialog/ConfirmDialog.vue';
 import ConfirmDialogInfoItem from '../../components/Dialog/ConfirmDialogInfoItem.vue';
 import { useGetRate, useGetPhoneParValue, useSetUserAccountBySelect } from '../../hooks';
-import AccountAddCard from '../../components/Card/AccountAddCard.vue';
-import AccountCard from '../../components/Card/AccountCard.vue';
+import AccountAddCardV2 from '../../components/Card/AccountAddCardV2.vue';
+import AccountCardV2 from '../../components/Card/AccountCardV2.vue';
 import { usePhoneBillRechargeContext, PhoneUserAccountExtraProperties } from './context';
 import SelectPayTypeFormItem from '../../components/SelectPayTypeFormItem/SelectPayTypeFormItem.vue';
 import { useSelectPayType, useGetPayStatusByOrderNo } from '../../hooks/selectPayType';
 import { RechargeProps } from './types';
 import Chunk from '../../components/Layout/Chunk.vue';
+import IconSelect from '../../assets/recharge/icon-select.png';
 
 defineOptions({
   name: 'PhoneBillRechargeStep2',
@@ -164,6 +178,7 @@
   (e: 'goPay', orderNo: string): void;
   (e: 'paySuccess', orderNo: string): void;
   (e: 'missName', userAccountId: string): void;
+  (e: 'editUserAccount', userAccountId: string): void;
 }>();
 
 const { lifePayPhoneRate } = useGetRate();
@@ -201,7 +216,9 @@
 
 function handleSubmit() {
   if (!formRef.value) return;
+  console.log('form: ', form, formRef.value);
   formRef.value.validate().then(({ valid, errors }: any) => {
+    console.log('errors: ', errors);
     if (valid) {
       if (!form.name) {
         emit('missName', form.currentUserAccountId);

--
Gitblit v1.9.1