From 10513ba43bb6e82a820390017a6a995b2af48950 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E8=BE=89?= <814457906@qq.com> Date: Tue, 25 Apr 2023 16:25:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/learning/index.js | 8 ++ pages.json | 1 - pages/Orderdetails/Orderdetails.vue | 85 +++++++++++++++++-- pages/Orderlist/Orderlist.vue | 19 +++-- .../Ordervideolearning/Ordervideolearning.vue | 1 - pages/learning/learning.vue | 57 +++++++++++-- pages/login/login.vue | 1 + 7 files changed, 147 insertions(+), 25 deletions(-) diff --git a/api/learning/index.js b/api/learning/index.js index 690a65a..46ab9ce 100644 --- a/api/learning/index.js +++ b/api/learning/index.js @@ -21,3 +21,11 @@ export function trainingItemOrder(data) { data, }) } + +export function appletTrainingOrderPay(data) { + return request({ + url: `/nurseApp/weChatPayment/appletTrainingOrderPay`, + method: 'POST', + data, + }) +} diff --git a/pages.json b/pages.json index 11cee08..2bfde16 100644 --- a/pages.json +++ b/pages.json @@ -139,7 +139,6 @@ "navigationBarTitleText": "视频学习", "enablePullDownRefresh": false } - } ], "globalStyle": { diff --git a/pages/Orderdetails/Orderdetails.vue b/pages/Orderdetails/Orderdetails.vue index 42c78b9..c6f6fb3 100644 --- a/pages/Orderdetails/Orderdetails.vue +++ b/pages/Orderdetails/Orderdetails.vue @@ -1,7 +1,6 @@ diff --git a/pages/Orderlist/Orderlist.vue b/pages/Orderlist/Orderlist.vue index 251c6cd..f2a1119 100644 --- a/pages/Orderlist/Orderlist.vue +++ b/pages/Orderlist/Orderlist.vue @@ -17,7 +17,8 @@ ¥0 - + 去支付 @@ -50,8 +51,7 @@ const that = this const value = uni.getStorageSync('nursePersonId'); if (value) { - // that.nurseStationPersonId = value - that.nurseStationPersonId = 61 + that.nurseStationPersonId = value that.info(); } else {} }, @@ -64,9 +64,16 @@ }, //我的学习 goOrderlearning(item) { - uni.navigateTo({ - url: `/pages/Orderlearning/Orderlearning?trainingParentId=${item.trainingItemId}` - }) + 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({ + url: `/pages/Orderlearning/Orderlearning?trainingParentId=${item.trainingItemId}` + }) + } }, //列表信息 info() { diff --git a/pages/Ordervideolearning/Ordervideolearning.vue b/pages/Ordervideolearning/Ordervideolearning.vue index ad8427a..db8fdea 100644 --- a/pages/Ordervideolearning/Ordervideolearning.vue +++ b/pages/Ordervideolearning/Ordervideolearning.vue @@ -149,7 +149,6 @@ this.baseurl = baseurl this.trainingItemId = options.trainingItemId this.trainingOrderNo = options.trainingOrderNo - console.log(options.trainingItemId) this.info(); const value = uni.getStorageSync('nursePersonId'); if (value) { diff --git a/pages/learning/learning.vue b/pages/learning/learning.vue index a9eed66..2373d3f 100644 --- a/pages/learning/learning.vue +++ b/pages/learning/learning.vue @@ -53,7 +53,7 @@ - + ¥{{infoslist.trainingItemPrice}} @@ -80,7 +80,8 @@ import { selectNurseAppletPersonTrainingItemList, selectNurseAppletPersonTrainingParent, - trainingItemOrder + trainingItemOrder, + appletTrainingOrderPay } from '@/api/learning/index.js' import baseurl from '@/api/baseurl.js' export default { @@ -115,6 +116,7 @@ methods: { //购买 tobuy() { + var that = this var obj = { "trainingItemId": undefined, "nurseStationId": undefined, @@ -129,12 +131,51 @@ obj.trainingOrderAmount = this.infoslist.trainingItemPrice trainingItemOrder(obj).then(res => { if (res.code == 200) { - this.buyshow = false - this.$refs.uToast.show({ - title: '支付成功', - type: 'success', - duration: '1500' - }) + 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.buyshow = false + that.infos(); + that.info(); + 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 + }) + } + }) + } } }) }, diff --git a/pages/login/login.vue b/pages/login/login.vue index dfdc136..2406fa0 100644 --- a/pages/login/login.vue +++ b/pages/login/login.vue @@ -47,6 +47,7 @@ uni.setStorageSync("nursePersonId", res.data.nurseStationPersonId) } uni.setStorageSync("personRoleLoginFlag", res.data.personRoleLoginFlag) + uni.setStorageSync("openid", res.data.openid) uni.setStorageSync("phone", res.data.phone) uni.setStorageSync("nursePersonName", res.data.nursePersonName) uni.setStorageSync("nurseStationId", res.data.nurseStationId)