|
@@ -13,7 +13,7 @@
|
|
|
></radioGroupUI>
|
|
|
<div class="pa-5">
|
|
|
<!-- 支付 -->
|
|
|
- <div v-if="payType === '余额'">
|
|
|
+ <div v-if="isWalletPay">
|
|
|
<div>
|
|
|
<span >{{ $t('enterprise.account.accountBalances') }}:</span>
|
|
|
<span style="color: var(--v-primary-base);">{{ balance }}</span>
|
|
@@ -23,12 +23,19 @@
|
|
|
<span class="color-warning">{{ props.params?.txt || '当前余额不足,请选择其他支付方式' }}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-if="payType !== '余额'" style="text-align: center;">
|
|
|
+ <div v-if="isShowQrCode" style="text-align: center;">
|
|
|
<QrCode :text="payCodeUrl" :width="170" style="margin: 0 auto;" />
|
|
|
- <div v-if="payType === '余额' || payCodeUrl" style="color: var(--v-error-base);">扫码支付时请勿离开</div>
|
|
|
+ <div v-if="showQrCode && payCodeUrl" style="color: var(--v-error-base);">扫码支付时请勿离开</div>
|
|
|
</div>
|
|
|
<div class="mt-10" style="text-align: center;">
|
|
|
- <v-btn v-if="payType === '余额' || payCodeUrl" class="buttons" color="primary" :loading="payLoading" @click="paySubmit">{{ payType === '余额' ? '确认' : '支付完成' }}</v-btn>
|
|
|
+ <v-btn
|
|
|
+ v-if="(showQrCode && payCodeUrl) || isWalletPay"
|
|
|
+ class="buttons" color="primary"
|
|
|
+ :loading="payLoading"
|
|
|
+ @click="paySubmit"
|
|
|
+ >
|
|
|
+ {{ isWalletPay ? '确认' : '支付完成' }}
|
|
|
+ </v-btn>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -39,6 +46,7 @@ defineOptions({ name: 'pay-index'})
|
|
|
import { computed, ref } from 'vue'
|
|
|
import radioGroupUI from '@/components/FormUI/radioGroup'
|
|
|
import QrCode from '@/components/QrCode'
|
|
|
+import { definePayTypeList, showQrCode, walletPay } from './until/payType'
|
|
|
const emit = defineEmits(['payTypeChange', ])
|
|
|
const props = defineProps({
|
|
|
params: {
|
|
@@ -57,19 +65,32 @@ const props = defineProps({
|
|
|
|
|
|
const payLoading = ref(false)
|
|
|
const payCodeUrl = ref('')
|
|
|
+const payType = ref('')
|
|
|
|
|
|
-const payTypeList = ref([{ label: '账户余额支付', value: '余额' }])
|
|
|
-if (props.codeList?.length) {
|
|
|
- for (let index = 0; index < props.codeList.length; index++) {
|
|
|
- const code = props.codeList[index]
|
|
|
- if (index === 0) payTypeList.value.push({ label: '微信扫码支付', value: code })
|
|
|
- }
|
|
|
+const payTypeList = ref([])
|
|
|
+if (definePayTypeList?.length && props.codeList?.length) {
|
|
|
+ props.codeList.forEach(code => {
|
|
|
+ const item = definePayTypeList.find(p => p.code === code)
|
|
|
+ if (item) {
|
|
|
+ if (!payType.value) payType.value = code // 默认值赋值
|
|
|
+ payTypeList.value.push(item)
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
-const payType = ref('余额')
|
|
|
+
|
|
|
+const isShowQrCode = computed(() => {
|
|
|
+ return showQrCode.includes(payType.value)
|
|
|
+})
|
|
|
+const isWalletPay = computed(() => {
|
|
|
+ return walletPay.includes(payType.value)
|
|
|
+})
|
|
|
+
|
|
|
const payTypeItem = {
|
|
|
label: '',
|
|
|
width: 1,
|
|
|
hideDetails: true,
|
|
|
+ itemText: 'name',
|
|
|
+ itemValue: 'code',
|
|
|
items: payTypeList.value
|
|
|
}
|
|
|
|
|
@@ -82,7 +103,7 @@ const payTypeChange = (val) => {
|
|
|
payType.value = val
|
|
|
emit('payTypeChange', val, balanceNotEnough)
|
|
|
if (val !== '余额') {
|
|
|
- setTimeout(() => { payCodeUrl.value = '测试测试测试测试测试测试测试测试' }, 1000)
|
|
|
+ setTimeout(() => { payCodeUrl.value = '测试测试测试测试测试测试测试测试' }, 2000)
|
|
|
}
|
|
|
}
|
|
|
|