This commit is contained in:
曹辉 2023-04-25 16:25:50 +08:00
parent abde8d360e
commit 10513ba43b
7 changed files with 147 additions and 25 deletions

View File

@ -21,3 +21,11 @@ export function trainingItemOrder(data) {
data, data,
}) })
} }
export function appletTrainingOrderPay(data) {
return request({
url: `/nurseApp/weChatPayment/appletTrainingOrderPay`,
method: 'POST',
data,
})
}

View File

@ -139,7 +139,6 @@
"navigationBarTitleText": "视频学习", "navigationBarTitleText": "视频学习",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
} }
], ],
"globalStyle": { "globalStyle": {

View File

@ -1,7 +1,6 @@
<template> <template>
<view class="app"> <view class="app">
<!-- v-if="list.trainingOrderStatus=='WAIT_PAY'" --> <view class="time" style="" v-if="list.trainingOrderStatus=='WAIT_PAY'">
<view class="time" style="">
剩余付款时间 剩余付款时间
<u-count-down :timestamp="timestamp"></u-count-down> <u-count-down :timestamp="timestamp"></u-count-down>
</view> </view>
@ -30,10 +29,9 @@
<span>订单编号<text>{{list.trainingOrderNo}}</text></span> <span>订单编号<text>{{list.trainingOrderNo}}</text></span>
<!-- <span>下单时间<text>{{list.orderTime}}</text></span> --> <!-- <span>下单时间<text>{{list.orderTime}}</text></span> -->
</view> </view>
<!-- v-if="list.trainingOrderStatus == 'WAIT_PAY'" --> <view class="buy" @tap='tobuy' v-if="list.trainingOrderStatus == 'WAIT_PAY'">
<view class="buy" @tap='pay'>
<view class="pay"> <view class="pay">
支付 确认支付
</view> </view>
</view> </view>
<u-toast ref="uToast" /> <u-toast ref="uToast" />
@ -41,6 +39,10 @@
</template> </template>
<script> <script>
import {
trainingItemOrder,
appletTrainingOrderPay
} from '@/api/learning/index.js'
import baseurl from '@/api/baseurl.js' import baseurl from '@/api/baseurl.js'
export default { export default {
data() { data() {
@ -53,11 +55,76 @@
onLoad(options) { onLoad(options) {
this.baseurl = baseurl this.baseurl = baseurl
this.list = JSON.parse(options.list) this.list = JSON.parse(options.list)
// var ordertimes = this.list.orderTime.replaceAll(/\-/gi, "/") var ordertimes = this.list.trainingOrderTime.replaceAll(/\-/gi, "/")
// var time = new Date(ordertimes).getTime() / 1000 + (60 * 60 * 2) var time = new Date(this.list.trainingOrderTime).getTime() / 1000 + (60 * 60 * 2)
// var times = new Date().getTime() / 1000 var times = new Date().getTime() / 1000
// this.timestamp = time - times this.timestamp = time - times
console.log(this.list) console.log(this.list)
},
methods: {
//
tobuy() {
var that = this
var obj = {
"trainingItemId": undefined,
"nurseStationId": undefined,
"nurseStationPersonId": undefined,
"trainingOrderAmount": undefined,
"nursePersonName": undefined,
}
obj.trainingItemId = this.list.trainingItemId
obj.nurseStationId = uni.getStorageSync('nurseStationId');
obj.nurseStationPersonId = uni.getStorageSync('nursePersonId');
obj.nursePersonName = uni.getStorageSync('nursePersonName');
obj.trainingOrderAmount = this.list.trainingItemPrice
trainingItemOrder(obj).then(res => {
if (res.code == 200) {
if (res.data.trainingOrderAmount > 0) {
let objs = {
"openid": uni.getStorageSync('openid'),
"nurseStationPersonId": res.data.nurseStationPersonId,
"orderNo": res.data.trainingOrderNo,
"payType": "WECHAT_PAY",
"orderChannel": "WECHAT_APPLET",
"buySource": "TRAINING",
"paymentPrice": res.data.trainingOrderAmount,
}
appletTrainingOrderPay(objs).then(response => {
if (response.code == 200) {
uni.requestPayment({
timeStamp: response.data.timeStamp,
nonceStr: response.data.nonceStr,
package: response.data.prepayId,
signType: response.data.signType,
paySign: response.data.paySign,
success: function(res) {
that.$refs.uToast.show({
title: '支付成功',
type: 'success',
duration: 1500,
})
},
fail: function(err) {
that.$refs.uToast.show({
title: '取消支付',
type: 'error',
duration: 1500,
})
}
});
} else {
this.$refs.uToast.show({
title: response.msg,
type: 'error',
duration: 2000
})
}
})
}
}
})
},
} }
} }
</script> </script>

View File

@ -17,7 +17,8 @@
<span v-else>0</span> <span v-else>0</span>
</view> </view>
</view> </view>
<view class="submit" @tap='goOrderdetails(item)' style="background-color: #4271B9;"> <view class="submit" @tap='goOrderdetails(item)' v-if="item.trainingOrderStatus=='WAIT_PAY'"
style="background-color: #4271B9;">
去支付 去支付
</view> </view>
</view> </view>
@ -50,8 +51,7 @@
const that = this const that = this
const value = uni.getStorageSync('nursePersonId'); const value = uni.getStorageSync('nursePersonId');
if (value) { if (value) {
// that.nurseStationPersonId = value that.nurseStationPersonId = value
that.nurseStationPersonId = 61
that.info(); that.info();
} else {} } else {}
}, },
@ -64,9 +64,16 @@
}, },
// //
goOrderlearning(item) { goOrderlearning(item) {
item.trainingItemContent = undefined
if (item.trainingOrderStatus == 'WAIT_PAY') {
uni.navigateTo({
url: `/pages/Orderdetails/Orderdetails?list=${JSON.stringify(item)}`
})
} else if (item.trainingOrderStatus == 'PAY') {
uni.navigateTo({ uni.navigateTo({
url: `/pages/Orderlearning/Orderlearning?trainingParentId=${item.trainingItemId}` url: `/pages/Orderlearning/Orderlearning?trainingParentId=${item.trainingItemId}`
}) })
}
}, },
// //
info() { info() {

View File

@ -149,7 +149,6 @@
this.baseurl = baseurl this.baseurl = baseurl
this.trainingItemId = options.trainingItemId this.trainingItemId = options.trainingItemId
this.trainingOrderNo = options.trainingOrderNo this.trainingOrderNo = options.trainingOrderNo
console.log(options.trainingItemId)
this.info(); this.info();
const value = uni.getStorageSync('nursePersonId'); const value = uni.getStorageSync('nursePersonId');
if (value) { if (value) {

View File

@ -53,7 +53,7 @@
<u-empty text="暂无目录" mode="list" icon-size='240' font-size='32'></u-empty> <u-empty text="暂无目录" mode="list" icon-size='240' font-size='32'></u-empty>
</view> </view>
</view> </view>
<view class="bottomitem"> <view class="bottomitem" v-if="infoslist.trainingOrderDetailsBuy=='NOT_BUY'">
<view class="price"> <view class="price">
{{infoslist.trainingItemPrice}} {{infoslist.trainingItemPrice}}
</view> </view>
@ -80,7 +80,8 @@
import { import {
selectNurseAppletPersonTrainingItemList, selectNurseAppletPersonTrainingItemList,
selectNurseAppletPersonTrainingParent, selectNurseAppletPersonTrainingParent,
trainingItemOrder trainingItemOrder,
appletTrainingOrderPay
} from '@/api/learning/index.js' } from '@/api/learning/index.js'
import baseurl from '@/api/baseurl.js' import baseurl from '@/api/baseurl.js'
export default { export default {
@ -115,6 +116,7 @@
methods: { methods: {
// //
tobuy() { tobuy() {
var that = this
var obj = { var obj = {
"trainingItemId": undefined, "trainingItemId": undefined,
"nurseStationId": undefined, "nurseStationId": undefined,
@ -129,12 +131,51 @@
obj.trainingOrderAmount = this.infoslist.trainingItemPrice obj.trainingOrderAmount = this.infoslist.trainingItemPrice
trainingItemOrder(obj).then(res => { trainingItemOrder(obj).then(res => {
if (res.code == 200) { if (res.code == 200) {
this.buyshow = false if (res.data.trainingOrderAmount > 0) {
this.$refs.uToast.show({ let objs = {
"openid": uni.getStorageSync('openid'),
"nurseStationPersonId": res.data.nurseStationPersonId,
"orderNo": res.data.trainingOrderNo,
"payType": "WECHAT_PAY",
"orderChannel": "WECHAT_APPLET",
"buySource": "TRAINING",
"paymentPrice": res.data.trainingOrderAmount,
}
appletTrainingOrderPay(objs).then(response => {
if (response.code == 200) {
uni.requestPayment({
timeStamp: response.data.timeStamp,
nonceStr: response.data.nonceStr,
package: response.data.prepayId,
signType: response.data.signType,
paySign: response.data.paySign,
success: function(res) {
that.buyshow = false
that.infos();
that.info();
that.$refs.uToast.show({
title: '支付成功', title: '支付成功',
type: 'success', type: 'success',
duration: '1500' duration: 1500,
}) })
},
fail: function(err) {
that.$refs.uToast.show({
title: '取消支付',
type: 'error',
duration: 1500,
})
}
});
} else {
this.$refs.uToast.show({
title: response.msg,
type: 'error',
duration: 2000
})
}
})
}
} }
}) })
}, },

View File

@ -47,6 +47,7 @@
uni.setStorageSync("nursePersonId", res.data.nurseStationPersonId) uni.setStorageSync("nursePersonId", res.data.nurseStationPersonId)
} }
uni.setStorageSync("personRoleLoginFlag", res.data.personRoleLoginFlag) uni.setStorageSync("personRoleLoginFlag", res.data.personRoleLoginFlag)
uni.setStorageSync("openid", res.data.openid)
uni.setStorageSync("phone", res.data.phone) uni.setStorageSync("phone", res.data.phone)
uni.setStorageSync("nursePersonName", res.data.nursePersonName) uni.setStorageSync("nursePersonName", res.data.nursePersonName)
uni.setStorageSync("nurseStationId", res.data.nurseStationId) uni.setStorageSync("nurseStationId", res.data.nurseStationId)