|
@@ -16,41 +16,44 @@
|
|
<span class="font-size-13">¥</span>
|
|
<span class="font-size-13">¥</span>
|
|
<span class="font-size-30">{{ cost }}</span>
|
|
<span class="font-size-30">{{ cost }}</span>
|
|
</div>
|
|
</div>
|
|
- <v-chip-group v-model="payType" selected-class="text-primary" mandatory @update:modelValue="payTypeChange">
|
|
|
|
- <v-chip filter v-for="k in payTypeList" :key="k.code" :value="k.code" class="mr-3" label>
|
|
|
|
- {{ k.name }}
|
|
|
|
- <svg-icon v-if="k.icon" class="ml-1" :name="k.icon" :size="k.size"></svg-icon>
|
|
|
|
- </v-chip>
|
|
|
|
- </v-chip-group>
|
|
|
|
- <div class="pa-5">
|
|
|
|
- <!-- 支付 -->
|
|
|
|
- <div v-if="isWalletPay">
|
|
|
|
- <div>
|
|
|
|
- <span >{{ $t('enterprise.account.accountBalances') }}:</span>
|
|
|
|
- <span style="color: var(--v-primary-base);">{{ balance }}</span>
|
|
|
|
|
|
+ <template v-if="payTypeList?.length">
|
|
|
|
+ <v-chip-group v-model="payType" selected-class="text-primary" mandatory @update:modelValue="payTypeChange">
|
|
|
|
+ <v-chip filter v-for="k in payTypeList" :key="k.code" :value="k.code" class="mr-3" label>
|
|
|
|
+ {{ k.name }}
|
|
|
|
+ <svg-icon v-if="k.icon" class="ml-1" :name="k.icon" :size="k.size"></svg-icon>
|
|
|
|
+ </v-chip>
|
|
|
|
+ </v-chip-group>
|
|
|
|
+ <div v-if="tip" style="text-align: center;" class="mt-2">{{ tip }}</div>
|
|
|
|
+ <div>
|
|
|
|
+ <!-- 支付 -->
|
|
|
|
+ <div v-if="isWalletPay" class="py-10" style="text-align: center;">
|
|
|
|
+ <div>
|
|
|
|
+ <span >{{ $t('enterprise.account.accountBalances') }}:</span>
|
|
|
|
+ <span style="color: var(--v-primary-base);">{{ balance }}</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="my-3" v-if="balanceNotEnough">
|
|
|
|
+ <!-- <v-icon color="warning">mdi-information</v-icon> -->
|
|
|
|
+ <span class="color-warning">{{ props.params?.txt || '当前余额不足,请选择其他支付方式' }}</span>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
- <div class="my-3" v-if="balanceNotEnough">
|
|
|
|
- <!-- <v-icon color="warning">mdi-information</v-icon> -->
|
|
|
|
- <span class="color-warning">{{ props.params?.txt || '当前余额不足,请选择其他支付方式' }}</span>
|
|
|
|
|
|
+ <div v-if="isQrCodePay" style="text-align: center;">
|
|
|
|
+ <QrCode :text="payQrCodeTet" :width="170" style="margin: 0 auto;" />
|
|
|
|
+ <div v-if="isQrCodePay && payQrCodeTet" style="color: var(--v-error-base);">扫码支付时请勿离开</div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="mt-2" style="text-align: center;">
|
|
|
|
+ <!-- v-if="(isQrCodePay && payQrCodeTet) || isWalletPay" -->
|
|
|
|
+ <v-btn
|
|
|
|
+ v-if="isWalletPay && !balanceNotEnough"
|
|
|
|
+ class="buttons" color="primary"
|
|
|
|
+ :loading="payLoading"
|
|
|
|
+ @click="walletPaySubmit"
|
|
|
|
+ >
|
|
|
|
+ <!-- {{ isWalletPay ? '确认' : '支付完成' }} -->
|
|
|
|
+ 确认
|
|
|
|
+ </v-btn>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div v-if="isQrCodePay" style="text-align: center;">
|
|
|
|
- <QrCode :text="payQrCodeTet" :width="170" style="margin: 0 auto;" />
|
|
|
|
- <div v-if="isQrCodePay && payQrCodeTet" style="color: var(--v-error-base);">扫码支付时请勿离开</div>
|
|
|
|
- </div>
|
|
|
|
- <div class="mt-10" style="text-align: center;">
|
|
|
|
- <!-- v-if="(isQrCodePay && payQrCodeTet) || isWalletPay" -->
|
|
|
|
- <v-btn
|
|
|
|
- v-if="isWalletPay"
|
|
|
|
- class="buttons" color="primary"
|
|
|
|
- :loading="payLoading"
|
|
|
|
- @click="walletPaySubmit"
|
|
|
|
- >
|
|
|
|
- <!-- {{ isWalletPay ? '确认' : '支付完成' }} -->
|
|
|
|
- 确认
|
|
|
|
- </v-btn>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
|
|
+ </template>
|
|
</v-card>
|
|
</v-card>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -91,6 +94,7 @@ const props = defineProps({
|
|
})
|
|
})
|
|
|
|
|
|
const loading = ref(true)
|
|
const loading = ref(true)
|
|
|
|
+const tip = ref('')
|
|
|
|
|
|
const balance = JSON.parse(localStorage.getItem('enterpriseUserAccount'))?.balance || 0
|
|
const balance = JSON.parse(localStorage.getItem('enterpriseUserAccount'))?.balance || 0
|
|
const balanceNotEnough = computed(() => {
|
|
const balanceNotEnough = computed(() => {
|
|
@@ -101,6 +105,7 @@ const isWalletPay = ref(true)
|
|
const isQrCodePay = ref(false)
|
|
const isQrCodePay = ref(false)
|
|
const payTypeChange = (value) => {
|
|
const payTypeChange = (value) => {
|
|
payType.value = value
|
|
payType.value = value
|
|
|
|
+ tip.value = payTypeList.value.find(e => e.code === payType.value)?.tip || ''
|
|
isQrCodePay.value = qrCodePay.includes(payType.value)
|
|
isQrCodePay.value = qrCodePay.includes(payType.value)
|
|
isWalletPay.value = walletPay.includes(payType.value)
|
|
isWalletPay.value = walletPay.includes(payType.value)
|
|
if (isQrCodePay.value) initPayQrCode() // 生成二维码内容
|
|
if (isQrCodePay.value) initPayQrCode() // 生成二维码内容
|
|
@@ -128,7 +133,7 @@ const getCodeList = async () => {
|
|
const item = definePayTypeList.find(p => p.code === code)
|
|
const item = definePayTypeList.find(p => p.code === code)
|
|
if (item) {
|
|
if (item) {
|
|
if (!payType.value) {
|
|
if (!payType.value) {
|
|
- // payType.value = code
|
|
|
|
|
|
+ tip.value = item.tip || ''
|
|
payTypeChange(code) // 默认值赋值
|
|
payTypeChange(code) // 默认值赋值
|
|
}
|
|
}
|
|
payTypeList.value.push(item)
|
|
payTypeList.value.push(item)
|
|
@@ -141,10 +146,9 @@ getCodeList()
|
|
|
|
|
|
const payOrder = ref({})
|
|
const payOrder = ref({})
|
|
let maxCount = 0
|
|
let maxCount = 0
|
|
-// 获取待支付的订单
|
|
|
|
const getUnpaidOrderList = async () => {
|
|
const getUnpaidOrderList = async () => {
|
|
try {
|
|
try {
|
|
- const data = await getUnpaidOrder({ spuId: props.spuId, type: props.type })
|
|
|
|
|
|
+ const data = await getUnpaidOrder({ spuId: props.spuId, type: props.type }) // 获取待支付的订单
|
|
// order:业务订单; payOrder:支付订单
|
|
// order:业务订单; payOrder:支付订单
|
|
if (!data) {
|
|
if (!data) {
|
|
// 订单超时,重新提交订单
|
|
// 订单超时,重新提交订单
|
|
@@ -163,10 +167,12 @@ const getUnpaidOrderList = async () => {
|
|
//
|
|
//
|
|
if (data?.payOrder) {
|
|
if (data?.payOrder) {
|
|
payOrder.value = data.payOrder
|
|
payOrder.value = data.payOrder
|
|
- loading.value = false
|
|
|
|
|
|
+ // loading.value = false
|
|
}
|
|
}
|
|
} catch (error) {
|
|
} catch (error) {
|
|
console.log(error)
|
|
console.log(error)
|
|
|
|
+ } finally {
|
|
|
|
+ loading.value = false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
getUnpaidOrderList() // getUnpaidOrder
|
|
getUnpaidOrderList() // getUnpaidOrder
|