zhengyiming
2025-03-17 7ed1e4f30ba4d8204152cb157ceaee07374da080
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<template>
  <NutFormItem label="选择支付方式" class="bole-form-item" prop="lifePayType" required>
    <NutRadioGroup v-model="lifePayType" direction="horizontal">
      <BlRadio
        :label="Number(lifePayTypeEnum)"
        v-for="(lifePayTypeEnumText, lifePayTypeEnum) in LifeRechargeConstants.LifePayTypeEnumText"
        :key="lifePayTypeEnum"
        shape="button"
        class="select-pay-type-view-form-item-radio"
      >
        <div class="select-pay-type-view-form-item">
          <img class="select-pay-type-view-form-item-icon" :src="IconMap[lifePayTypeEnum]" />
          {{ lifePayTypeEnumText }}
        </div>
      </BlRadio>
    </NutRadioGroup>
  </NutFormItem>
</template>
 
<script setup lang="ts">
import { LifeRechargeConstants } from '@life-payment/core-vue';
import { FormItem as NutFormItem, RadioGroup as NutRadioGroup } from '@nutui/nutui-taro';
import BlRadio from '../Radio/Radio.vue';
import IconWeixin from '../../assets/icon-weixin-pay.png';
import IconAliPay from '../../assets/icon-alipay.png';
 
defineOptions({
  name: 'SelectPayTypeFormItem',
});
 
const lifePayType = defineModel<LifeRechargeConstants.LifePayTypeEnum>();
 
const IconMap = {
  [LifeRechargeConstants.LifePayTypeEnum.WxPay]: IconWeixin,
  [LifeRechargeConstants.LifePayTypeEnum.AliPay]: IconAliPay,
};
</script>