zhengyiming
2025-03-26 ea89b8937d8102a52676120ca74887fa340abb97
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<template>
  <NutFormItem label="选择支付方式" class="bole-form-item" prop="lifePayType" required>
    <NutRadioGroup v-model="lifePayType" direction="horizontal">
      <BlRadio
        :label="LifeRechargeConstants.LifePayTypeEnum.AliPay"
        shape="button"
        class="select-pay-type-view-form-item-radio"
        v-if="showAliPay"
      >
        <div class="select-pay-type-view-form-item">
          <img class="select-pay-type-view-form-item-icon" :src="IconAliPay" />
          {{
            LifeRechargeConstants.LifePayTypeEnumText[LifeRechargeConstants.LifePayTypeEnum.AliPay]
          }}
        </div>
      </BlRadio>
      <BlRadio
        :label="LifeRechargeConstants.LifePayTypeEnum.WxPay"
        shape="button"
        class="select-pay-type-view-form-item-radio"
        v-if="showWeixinPay"
      >
        <div class="select-pay-type-view-form-item">
          <img class="select-pay-type-view-form-item-icon" :src="IconWeixin" />
          {{
            LifeRechargeConstants.LifePayTypeEnumText[LifeRechargeConstants.LifePayTypeEnum.WxPay]
          }}
        </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',
});
 
type Props = {
  showAliPay?: boolean;
  showWeixinPay?: boolean;
};
 
const props = withDefaults(defineProps<Props>(), {
  showAliPay: true,
  showWeixinPay: true,
});
 
const lifePayType = defineModel<LifeRechargeConstants.LifePayTypeEnum>();
</script>