123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- const app = getApp();
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- item: [],
- active: 0,
- steps: [{text: '待付款'},{text: '已付款'},{text: '已发货'},{text: '已完成'}],
- order_no: null,
- disabled:false,
- actions: [],
- orderParams: {}, // 支付参数
- chickPayBtn: false, //点击了支付按钮(订单信息交由古德云组件)
- chickOnPay: false, // 用户是否已经点击了「支付」并成功跳转到 古德云收银台 小程序
- },
- /**
- * 生命周期函数--监听页面加载 */
- onLoad: function (options) {
- let order_no = options.order_no;
- this.setData({
- order_no: order_no
- })
- this.getOrder(order_no);
- },
- /**
- * 读取订单信息
- */
- getOrder: function (order_no) {
- let that = this;
- app.api().Get("api/v3/fastshop/cart/review", {order_no:order_no}, function (rel) {
- var item = rel.data;
- var active = 0;
- for (let i in item) {
- if (item[i]['status'] == 1) {
- active = 3;
- } else {
- if (item[i]['paid_at'] == 0) {
- active = 0;
- } else {
- if (item[i]['express_status'] == 0) {
- active = 1;
- } else {
- active = 2;
- }
- }
- }
- }
- that.setData({
- item: rel.data,
- active: active,
- })
- })
- },
- /**
- * 唤起微信支付
- */
- wchatPayment: function (buytype) {
- let that = this;
- var param = {
- order_no: that.data.order_no,
- buytype: buytype,
- }
- app.api().Post('api/v3/fastshop/cart/retryPay',param,function (rel) {
- if (200 == rel.code) {
- if (rel.data.type == 1) {
- that.setData({
- chickPayBtn: true,
- orderParams: rel.data.order
- })
- } else {
- app.doWechatPay(rel.data.orde,function (res) {
- that.getOrder(onderNo);
- }, function (res) {
- wx.showModal({
- content: '支付失败或取消',
- showCancel: false
- })
- })
- }
- }
- })
- },
- //关闭订单
- closeOrder: function (event) {
- let that = this;
- var onderNo = that.data.order_no;
- wx.showModal({
- content: '请确认要关闭订单?',
- success: function (res) {
- if (res.confirm) {
- app.api().Post("api/v3/fastshop/cart/closeorder", { order_no: onderNo }, function (rel) {
- wx.showModal({
- content: rel.msg,
- showCancel: false,
- success: function () {
- wx.navigateBack({
- delta: 1
- })
- }
- })
- })
- }
- }
- })
- },
- //确认收货
- okOrder: function (event) {
- let that = this;
- var onderNo = that.data.order_no;
- wx.showModal({
- content: '确认要签收当前商品?',
- success: function (res) {
- if (res.confirm) {
- app.api().Post("api/v3/fastshop/cart/signOrder", { order_no: onderNo }, function (rel) {
- wx.showModal({
- content: rel.msg,
- showCancel: false,
- success: function () {
- that.getOrder(onderNo)
- }
- })
- })
- }
- }
- })
- },
- //查询快递
- getMaps: function (event) {
- let that = this;
- var onderNo = that.data.order_no;
- let config = app.globalData.wechat_config;
- wx.navigateTo({
- url: '/pages/helper/webview?src=' + app.api_root + '/api-' + config.app_id + '/v3/fastshop-webview-express&ids=' + onderNo,
- })
- },
- //支付方式
- payTypes: function () {
- let that = this;
- that.setData({
- show: true,
- disabled: true
- });
- if (that.data.show) {
- app.api().Get('api/v3/fastshop/index/shopBuyTypes', { 'signkey': 'shopBuyTypes' }, function (result) {
- that.setData({
- actions: result.data
- });
- })
- }
- },
- //是否弹出支付菜单
- onClose() {
- this.setData({
- show: false,
- disabled: false
- });
- },
- //选择支付方式
- onSelect(event) {
- let that = this;
- var payTypes = event.detail.types;
- that.setData({
- disabled: true
- });
- switch (payTypes) {
- case 1:
- that.wchatPayment("wepay");
- break;
- case 2:
- that.wchatPayment("point");
- break;
- default:
- that.onClose();
- }
- },
- /**
- * 支付成功的事件处理函数
- * res.detail 为 payjs 小程序返回的订单信息
- * 可通过 res.detail.payjsOrderId 拿到 payjs 订单号
- * 可通过 res.detail.responseData 拿到详细支付信息
- */
- goodPaySuccess: function (res) {
- if (res.detail.return_code = "SUCCESS") {
- that.getOrder(this.data.order_no);
- }
- },
- /**
- * 支付失败的事件处理函数
- * res.detail.error 为 true 代表传入小组件的参数存在问题
- * res.detail.navigateSuccess 代表了是否成功跳转到 PAYJS 小程序
- * res.detail.event 可能存有失败的原因
- * 如果下单成功但是用户取消支付则 res.detail.event.return_code == FAIL
- */
- goodPayFail: function (res) {
- this.setData({
- chickPayBtn: false,
- })
- },
- /**
- * 支付完毕的事件处理函数
- * 无论支付成功或失败均会执行
- */
- goodPayComplete: function () {
- this.setData({
- chickPayBtn: false,
- })
- },
- /**
- * 组件内部数据被修改时的事件
- * 当用户跳转到 云收银台 小程序并等待返回的过程中 chickOnPay 值为 true
- */
- goodPayChange(res) {
- if (res.detail.chickOnPay) {
- this.setData({
- chickOnPay: res.detail.chickOnPay
- })
- }
- }
- })
|