import { getOrderList, orderData, orderCancel, orderDel, orderPay } from '../../api/order.js' import { getUserInfo } from '../../api/user.js' import { openOrderSubscribe } from '../../utils/SubscribeMessage.js' const app = getApp() Page({ /** * 页面的初始数据 */ data: { parameter: { navbar: '1', return: '1', title: '我的订单', color: true, class: '0' }, loading: false, //是否加载中 loadend: false, //是否加载完毕 loadTitle: '加载更多', //提示语 orderList: [], //订单数组 orderData: {}, //订单详细统计 orderStatus: 0, //订单状态 page: 1, limit: 10, isClose: false, payMode: [ { name: '微信支付', icon: 'icon-weixinzhifu', value: 'weixin', title: '微信快捷支付' }, { name: '余额支付', icon: 'icon-yuezhifu', value: 'yue', title: '可用余额:', number: 0 } ], pay_close: false, pay_order_id: '', totalPrice: '0' }, /** * 登录回调 */ onLoadFun: function () { this.getOrderData() this.getOrderList() this.getUserInfo() }, /** * 事件回调 */ onChangeFun: function (e) { let opt = e.detail let action = opt.action || null let value = opt.value != undefined ? opt.value : null action && this[action] && this[action](value) }, /** * 获取用户信息 */ getUserInfo: function () { let that = this getUserInfo().then(res => { that.data.payMode[1].number = res.data.now_money that.setData({ payMode: that.data.payMode }) // app.globalData.unread = res.data.notice app.setUnread(res.data.notice) }) }, /** * 关闭支付组件 */ pay_close: function () { this.setData({ pay_close: false }) }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { if (options.status) this.setData({ orderStatus: options.status }) this.setData({ 'parameter.return': options.is_return ? '0' : '1' }) }, /** * 获取订单统计数据 */ getOrderData: function () { var that = this orderData().then(res => { that.setData({ orderData: res.data }) }) }, /** * 取消订单 */ cancelOrder: function (e) { var order_id = e.currentTarget.dataset.order_id var index = e.currentTarget.dataset.index, that = this if (!order_id) return app.Tips({ title: '缺少订单号无法取消订单' }) orderCancel(order_id) .then(res => { return app.Tips( { title: res.msg, icon: 'success' }, function () { that.data.orderList.splice(index, 1) that.setData({ orderList: that.data.orderList, 'orderData.unpaid_count': that.data.orderData.unpaid_count - 1 }) that.getOrderData() } ) }) .catch(err => { return app.Tips({ title: err }) }) }, /** * 打开支付组件 */ goPay: function (e) { let order_id = e.currentTarget.dataset.order_id, pay_price = e.currentTarget.dataset.pay_price this.setData({ pay_close: true, pay_order_id: order_id, totalPrice: pay_price }) }, /** * 支付成功回调 */ pay_complete: function () { this.setData({ loadend: false, page: 1, orderList: [], pay_close: false, pay_order_id: '' }) this.getOrderData() this.getOrderList() }, /** * 支付失败回调 */ pay_fail: function () { this.setData({ pay_close: false, pay_order_id: '' }) }, /** * 去订单详情 */ goOrderDetails: function (e) { var order_id = e.currentTarget.dataset.order_id if (!order_id) return app.Tips({ title: '缺少订单号无法查看订单详情' }) wx.showLoading({ title: '正在加载' }) openOrderSubscribe() .then(() => { wx.hideLoading() wx.navigateTo({ url: '/pages/order_details/index?order_id=' + order_id }) }) .catch(() => { wx.hideLoading() }) }, /** * 切换类型 */ statusClick: function (e) { var status = e.currentTarget.dataset.status if (status == this.data.orderStatus) return this.setData({ orderStatus: status, loadend: false, page: 1, orderList: [] }) this.getOrderList() }, /** * 获取订单列表 */ getOrderList: function () { var that = this if (that.data.loadend) return if (that.data.loading) return that.setData({ loading: true, loadTitle: '' }) getOrderList({ type: that.data.orderStatus, page: that.data.page, limit: that.data.limit }) .then(res => { var list = res.data || [] var loadend = list.length < that.data.limit that.data.orderList = app.SplitArray(list, that.data.orderList) that.setData({ orderList: that.data.orderList, loadend: loadend, loading: false, loadTitle: loadend ? '我也是有底线的' : '加载更多', page: that.data.page + 1 }) }) .catch(err => { that.setData({ loading: false, loadTitle: '加载更多' }) }) }, /** * 删除订单 */ delOrder: function (e) { var order_id = e.currentTarget.dataset.order_id var index = e.currentTarget.dataset.index, that = this orderDel(order_id) .then(res => { that.data.orderList.splice(index, 1) that.setData({ orderList: that.data.orderList, 'orderData.unpaid_count': that.data.orderData.unpaid_count - 1 }) that.getOrderData() return app.Tips({ title: '删除成功', icon: 'success' }) }) .catch(err => { return app.Tips({ title: err }) }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () {}, /** * 生命周期函数--监听页面显示 */ onShow: function () { if (app.globalData.isLog && this.data.isClose) { this.getOrderData() this.setData({ loadend: false, page: 1, orderList: [] }) this.getOrderList() } }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { this.setData({ isClose: true }) }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () {}, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () {}, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { this.getOrderList() } })