diff --git a/app/pages/order/quasi.js b/app/pages/order/quasi.js index a94ec91..8a2e201 100644 --- a/app/pages/order/quasi.js +++ b/app/pages/order/quasi.js @@ -1,8 +1,12 @@ // pages/order/quasi.js import { getQuasiOrderInfo, updateOrderAddr, - addOrder + addOrder, getPayment } from '../../utils/apis' + +import { + requestPayment +} from '../../utils/util' Page({ data: { @@ -92,6 +96,28 @@ Page({ addOrder({ quasi_order_id: id, success(data) { + var order_id = data['order']['order_id'] + getPayment({ + order_id, + success(data) { + requestPayment({ + data, + complete() { + that.setData({ + loading: false + }) + wx.redirectTo({ + url: `/pages/order/show?id=${order_id}` + }) + } + }) + }, + error() { + that.setData({ + loading: false + }) + } + }) that.setData({ loading: false }) diff --git a/app/pages/order/show.js b/app/pages/order/show.js index 18f6c4d..24eba97 100644 --- a/app/pages/order/show.js +++ b/app/pages/order/show.js @@ -1,10 +1,12 @@ // pages/order/show.js import Countdown from '../../utils/countdown' -import { +import { countdownFormat, datetimeFormat, - makePhoneCall - } from '../../utils/util' -import { getOrderInfo } from '../../utils/apis' + makePhoneCall, requestPayment +} from '../../utils/util' +import { + getOrderInfo, getPayment +} from '../../utils/apis' Page({ data: { activeNavIndex: 0, @@ -21,7 +23,7 @@ Page({ }, onLoad: function (options) { // 页面初始化 options为页面跳转所带来的参数 - this.id = options.id || 1395 + this.id = options.id || 1409 this.loadData() }, onReady: function () { @@ -65,7 +67,7 @@ Page({ this.countdown = countdown }, - loadData() { + loadData(cb) { var that = this var order_id = this.id wx.showNavigationBarLoading() @@ -74,16 +76,20 @@ Page({ success(data) { data['add_time_format'] = datetimeFormat(data.add_time) data['flow'] = data.flow.map(item => { - item['time_format'] = datetimeFormat(item.time) - return item + item['time_format'] = datetimeFormat(item.time) + return item }) that.setData({ info: data }) - if(data.left_time > 0) { + wx.setNavigationBarTitle({ + title: data['seller_name'], + }) + if (data.left_time > 0) { that.initCountdown(+data.left_time) } wx.hideNavigationBarLoading() + cb && cb() }, error() { wx.hideNavigationBarLoading() @@ -101,9 +107,9 @@ Page({ ], success: function (res) { var {tapIndex} = res - if(tapIndex == 0) { + if (tapIndex == 0) { makePhoneCall(seller_phone) - } else if(tapIndex == 1) { + } else if (tapIndex == 1) { makePhoneCall(localphone) } }, @@ -111,6 +117,42 @@ Page({ console.log(res.errMsg) } }) - } + }, + onPayTap(e) { + var that = this + var {info: {order_id}, loading} = this.data + if (loading) { + return; + } + + this.setData({ + loading: true + }) + getPayment({ + order_id, + success(data) { + wx.requestPayment({ + success(data) { + that.loadData() + }, + complete () { + that.setData({ + loading: false + }) + } + }) + }, + error() { + that.setData({ + loading: false + }) + } + }) + }, + onPullDownRefresh() { + this.loadData(function () { + wx.stopPullDownRefresh() + }) + }, }) \ No newline at end of file diff --git a/app/pages/order/show.json b/app/pages/order/show.json index 9e26dfe..d9b9b04 100644 --- a/app/pages/order/show.json +++ b/app/pages/order/show.json @@ -1 +1,4 @@ -{} \ No newline at end of file +{ + "navigationBarTitleText": "订单详情", + "enablePullDownRefresh": true +} \ No newline at end of file diff --git a/app/pages/order/show.wxml b/app/pages/order/show.wxml index 6a33507..c2b2a77 100644 --- a/app/pages/order/show.wxml +++ b/app/pages/order/show.wxml @@ -23,8 +23,8 @@ {{countLabel}} - 取消订单 - 立即付款 + + 评价 diff --git a/app/pages/order/show.wxss b/app/pages/order/show.wxss index dbe4b73..dc8cc42 100644 --- a/app/pages/order/show.wxss +++ b/app/pages/order/show.wxss @@ -110,9 +110,16 @@ } .actionbar-btn_action { + margin-top: 0; flex: 1; line-height: 50px; text-align: center; + border-radius: 0; + border: none; +} +.actionbar-btn_action::after { + border: none; + border-radius: 0; } .actionbar-btn_primary { diff --git a/app/utils/apis.js b/app/utils/apis.js index cb7a8e0..bb9eb26 100644 --- a/app/utils/apis.js +++ b/app/utils/apis.js @@ -436,5 +436,28 @@ export function getOrderInfo(options) { success, error }) + }) +} + +// 获取支付参数 +export function getPayment(options) { + var { + order_id, + success, error + } = options + getApp().getLoginInfo(loginInfo => { + if (!loginInfo.user_info) { + return alert('用户未登录') + } + var {user_id, user_token} = loginInfo.user_info + fetch({ + url: 'index.php?m=Mall&c=WeixinMall&a=getPayment', + data: { + user_id, user_token, + order_id + }, + success, error + }) + }) } \ No newline at end of file diff --git a/app/utils/util.js b/app/utils/util.js index 0f2dc25..3f3a781 100644 --- a/app/utils/util.js +++ b/app/utils/util.js @@ -308,4 +308,31 @@ export function getUserInfo(cb) { } }) } +} + +// 微信支付 +export function requestPayment(options) { + var { + data, success, error, complete + } = options + wx.requestPayment(Object.assign({ + complete(res) { + if (res.errMsg == 'requestPayment:ok') { + alert('支付成功', function () { + success && success() + complete && complete() + }) + } else if (res.errMsg == 'requestPayment:fail cancel') { + alert('用户取消支付', function () { + error && error() + complete && complete() + }) + } else { + alert('支付失败', function () { + error && error() + complete && complete() + }) + } + } + }, data)) } \ No newline at end of file