|
|
|
@ -6,8 +6,7 @@ |
|
|
|
<view>实付金额</view> |
|
|
|
<view class="flex price"> |
|
|
|
<view>¥</view> |
|
|
|
<!-- todo: fetch --> |
|
|
|
<view class="highlight">24.00</view> |
|
|
|
<view class="highlight">{{ payAmount }}</view> |
|
|
|
</view> |
|
|
|
<view class="flex flex-column contact"> |
|
|
|
<view>联系客服获取抵扣码</view> |
|
|
|
@ -27,7 +26,7 @@ |
|
|
|
<view class="form-item-label">选择支付方式</view> |
|
|
|
<view class="form-item-content"> |
|
|
|
<uv-radio-group |
|
|
|
v-model="selectedId" |
|
|
|
v-model="form.payment" |
|
|
|
placement="column" |
|
|
|
shape="circle" |
|
|
|
size="30rpx" |
|
|
|
@ -41,8 +40,7 @@ |
|
|
|
<view>微信支付</view> |
|
|
|
</view> |
|
|
|
<view> |
|
|
|
<!-- todo: check value --> |
|
|
|
<uv-radio :name="1"></uv-radio> |
|
|
|
<uv-radio :name="0"></uv-radio> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
@ -53,8 +51,7 @@ |
|
|
|
<view>兑换码抵扣支付</view> |
|
|
|
</view> |
|
|
|
<view> |
|
|
|
<!-- todo: check value --> |
|
|
|
<uv-radio :name="0"></uv-radio> |
|
|
|
<uv-radio :name="1"></uv-radio> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
@ -62,7 +59,7 @@ |
|
|
|
</view> |
|
|
|
</uv-form-item> |
|
|
|
</view> |
|
|
|
<view class="form-item is-child"> |
|
|
|
<view class="form-item is-child" v-if="form.payment == 1"> |
|
|
|
<uv-form-item prop="code" :customStyle="formItemStyle"> |
|
|
|
<view class="flex row"> |
|
|
|
<view class="form-item-label">兑换码</view> |
|
|
|
@ -98,12 +95,12 @@ |
|
|
|
return { |
|
|
|
batchNo: null, |
|
|
|
form: { |
|
|
|
payment: null, |
|
|
|
payment: 0, |
|
|
|
code: null, |
|
|
|
}, |
|
|
|
rules: { |
|
|
|
'payment': { |
|
|
|
type: 'string', |
|
|
|
type: 'number', |
|
|
|
required: false, |
|
|
|
message: '请选择支付方式', |
|
|
|
}, |
|
|
|
@ -116,21 +113,65 @@ |
|
|
|
formItemStyle: { padding: 0 }, |
|
|
|
} |
|
|
|
}, |
|
|
|
computed: { |
|
|
|
payAmount() { |
|
|
|
return Number(this.configList.pay_amount) |
|
|
|
} |
|
|
|
}, |
|
|
|
onLoad(arg) { |
|
|
|
const { batchNo } = arg |
|
|
|
this.batchNo = batchNo |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
onPay() { |
|
|
|
// todo |
|
|
|
|
|
|
|
// todo: check code is error |
|
|
|
// if error |
|
|
|
// this.$refs.codeErrorPopup.open() |
|
|
|
|
|
|
|
uni.redirectTo({ |
|
|
|
url: `/pages_order/report/userInfo?batchNo=${this.batchNo}` |
|
|
|
}) |
|
|
|
async onPay() { |
|
|
|
try { |
|
|
|
await this.$refs.form.validate() |
|
|
|
|
|
|
|
const { |
|
|
|
payment, |
|
|
|
code, |
|
|
|
} = this.form |
|
|
|
|
|
|
|
let payAmount = this.payAmount |
|
|
|
let discountAmount = 0 |
|
|
|
|
|
|
|
if (payment == 1) { // 兑换码 |
|
|
|
const infoRes = await this.$fetch('queryCodeById', { code }, false, null, true) |
|
|
|
const { result: infoResult } = infoRes |
|
|
|
|
|
|
|
if (!infoResult || infoResult?.isUse !== '0') { |
|
|
|
this.$refs.codeErrorPopup.open() |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
discountAmount = infoResult.discountAmount |
|
|
|
payAmount -= discountAmount |
|
|
|
} |
|
|
|
|
|
|
|
const params = { |
|
|
|
batchNo: this.batchNo, |
|
|
|
payAmount, |
|
|
|
discountAmount, |
|
|
|
code, |
|
|
|
} |
|
|
|
|
|
|
|
const result = await this.$fetch('createOrder', params) |
|
|
|
|
|
|
|
await uni.requestPaymentWxPay({ result }) |
|
|
|
|
|
|
|
uni.showToast({ |
|
|
|
title: '支付成功', |
|
|
|
icon: 'none' |
|
|
|
}) |
|
|
|
|
|
|
|
setTimeout(() => { |
|
|
|
uni.redirectTo({ |
|
|
|
url: `/pages_order/report/userInfo?batchNo=${this.batchNo}` |
|
|
|
}) |
|
|
|
}, 700) |
|
|
|
} catch (err) { |
|
|
|
|
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
} |
|
|
|
|