|
@@ -337,7 +337,10 @@
|
|
|
<view class="row">
|
|
|
<view class="label">支付单号</view>
|
|
|
<view class="value">{{ item.orderId }}</view>
|
|
|
- <view class="status">{{ item.examineStatus | examineStatusFilter }}</view>
|
|
|
+ </view>
|
|
|
+ <view class="row">
|
|
|
+ <view class="label">支付状态</view>
|
|
|
+ <view class="value">{{ item.examineStatus | examineStatusFilter }}</view>
|
|
|
</view>
|
|
|
<view class="common-title mt30">产品信息</view>
|
|
|
<view class="product">
|
|
@@ -427,7 +430,10 @@
|
|
|
<view class="row">
|
|
|
<view class="label">支付单号</view>
|
|
|
<view class="value">{{ item.orderId }}</view>
|
|
|
- <view class="status">{{ item.payStatus | payStatusFilter }}</view>
|
|
|
+ </view>
|
|
|
+ <view class="row">
|
|
|
+ <view class="label">支付状态</view>
|
|
|
+ <view class="value">{{ item.payStatus | payStatusFilter }}</view>
|
|
|
</view>
|
|
|
<view class="common-title mt30">产品信息</view>
|
|
|
<view class="product">
|
|
@@ -508,6 +514,10 @@
|
|
|
<view class="label">订单备注</view>
|
|
|
<view class="value">{{ item.remark }}</view>
|
|
|
</view>
|
|
|
+
|
|
|
+ <view v-if="item.payStatus == 'WAIT'">
|
|
|
+ <u-button text="扫码支付" @click="scanCode(item)">扫码支付</u-button>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</block>
|
|
|
|
|
@@ -665,6 +675,16 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
</u-popup>
|
|
|
+
|
|
|
+ <zhifutanchuan
|
|
|
+ v-if="state > 0"
|
|
|
+ :detail="detail_zf"
|
|
|
+ :orderId="orderId_zf"
|
|
|
+ :state="state"
|
|
|
+ @scan="scan"
|
|
|
+ @back="back"
|
|
|
+ @offTiming="offTiming"
|
|
|
+ />
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
@@ -672,11 +692,14 @@
|
|
|
import zjDialogPicker from '@/components/zj-dialog/zj-dialog-picker.vue'
|
|
|
import Logistics from '@/components/logistics2/common-logistics.vue'
|
|
|
import selectionWorkers from '@/components/selectionWorkers.vue'
|
|
|
+import zhifutanchuan from '@/components/zhifutanchuan.vue'
|
|
|
+import { wxScanCode } from '@/common/utils/util.js'
|
|
|
export default {
|
|
|
components: {
|
|
|
zjDialogPicker,
|
|
|
Logistics,
|
|
|
- selectionWorkers
|
|
|
+ selectionWorkers,
|
|
|
+ zhifutanchuan
|
|
|
},
|
|
|
|
|
|
filters: {
|
|
@@ -728,7 +751,10 @@ export default {
|
|
|
selectionWorkersType: '',
|
|
|
item: null,
|
|
|
callback: null,
|
|
|
- title: ''
|
|
|
+ title: '',
|
|
|
+ state: 0,
|
|
|
+ detail_zf: null,
|
|
|
+ orderId_zf: null
|
|
|
}
|
|
|
},
|
|
|
|
|
@@ -802,6 +828,95 @@ export default {
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
+ scan() {
|
|
|
+ if (this.timeout) {
|
|
|
+ clearTimeout(this.timeout)
|
|
|
+ }
|
|
|
+ this.scanCode()
|
|
|
+ },
|
|
|
+
|
|
|
+ back() {
|
|
|
+ if (this.timeout) {
|
|
|
+ clearTimeout(this.timeout)
|
|
|
+ }
|
|
|
+ this.$navToPage(
|
|
|
+ {
|
|
|
+ url: `/packageMaterial/pages/index?type=M`
|
|
|
+ },
|
|
|
+ 'reLaunch'
|
|
|
+ )
|
|
|
+ },
|
|
|
+
|
|
|
+ offTiming() {
|
|
|
+ if (this.timeout) {
|
|
|
+ clearTimeout(this.timeout)
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ // 扫码
|
|
|
+ async scanCode(item) {
|
|
|
+ console.log(item)
|
|
|
+ // detail_zf: null,
|
|
|
+ // orderId_zf: null
|
|
|
+ return
|
|
|
+ var codeVal = await wxScanCode(['qrCode'])
|
|
|
+ this.submitData(codeVal)
|
|
|
+ },
|
|
|
+
|
|
|
+ // 下单
|
|
|
+ submitData(code) {
|
|
|
+ this.$api
|
|
|
+ .post('/pay/paid', {
|
|
|
+ authCode: code,
|
|
|
+ orderId: this.orderId,
|
|
|
+ payType: 'WECHAT'
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ if (res.data) {
|
|
|
+ // 支付成功
|
|
|
+ this.getPayList(() => {
|
|
|
+ this.state = 2
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ // 支付失败
|
|
|
+ this.getPayList(() => {
|
|
|
+ this.state = 4
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(res => {
|
|
|
+ // 等待支付
|
|
|
+ if (res.message === 'USERPAYING') {
|
|
|
+ if (this.state == 0) {
|
|
|
+ this.state = 1
|
|
|
+ }
|
|
|
+ this.getDetail__()
|
|
|
+ } else {
|
|
|
+ this.$tips(res.message)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ getDetail__(cb) {
|
|
|
+ this.$api
|
|
|
+ .post('/pay/getOrder', {
|
|
|
+ orderId: this.orderId_zf
|
|
|
+ })
|
|
|
+ .then(res => {
|
|
|
+ this.detail_zf = res.data
|
|
|
+ if (res.data.payStatus == 'PAID') {
|
|
|
+ this.state = 2
|
|
|
+ } else {
|
|
|
+ this.timeout = setTimeout(() => {
|
|
|
+ this.getDetail__(cb)
|
|
|
+ }, 1000)
|
|
|
+ }
|
|
|
+ cb?.()
|
|
|
+ })
|
|
|
+ .catch(res => {})
|
|
|
+ .finally(res => {})
|
|
|
+ },
|
|
|
+
|
|
|
// 触发下拉刷新
|
|
|
async refresherrefresh(e) {
|
|
|
this.refresherTriggered = true
|
|
@@ -921,7 +1036,7 @@ export default {
|
|
|
},
|
|
|
|
|
|
// 获取支付信息
|
|
|
- getPayList() {
|
|
|
+ getPayList(cb) {
|
|
|
return new Promise((resolve, reject) => {
|
|
|
let url = ''
|
|
|
if (this.detail.rpProjectRepairId) {
|
|
@@ -960,9 +1075,11 @@ export default {
|
|
|
}
|
|
|
return { ...item }
|
|
|
})
|
|
|
+ cb?.()
|
|
|
resolve(1)
|
|
|
})
|
|
|
.catch(res => {
|
|
|
+ cb?.()
|
|
|
reject(0)
|
|
|
})
|
|
|
})
|