order_detail.js 14.9 KB
var e = getApp(), r = e.request,rq=r,t = require("../../../utils/util.js"), o = require("../../../utils/common.js"),oo=e.globalData,os=oo.setting;
var regeneratorRuntime = require('../../../utils/runtime.js');

Page({
    data: {
        url: os.url,
        resourceUrl: os.imghost,
        iurl: os.imghost,
        order: null,
        optionIsGoup: !1,
        user_note: ""
    },
    onLoad: function(e) {
        var r = void 0 !== e.isGoup && e.isGoup;
        this.setData({
            optionIsGoup: r
        }), this.requestOrderDetail(e.order_id), wx.removeStorageSync("order:order_detail:update");
    },
    onShow: function() {
        wx.getStorageSync("order:order_detail:update") && (wx.removeStorageSync("order:order_detail:update"), 
        this.requestOrderDetail(this.data.order.order_id));
    },
    requestOrderDetail: function(e) {
        var o = this,oid=e;
        r.get(o.data.url + "/api/weshop/order/get/"+os.stoid+"/"+e, {
            success: function(e) {
                var r = e.data.data;
                r.addTimeFormat = t.format(r.add_time);
                if (r.order_status == 0 && r.pay_status==0 ){
                    r.order_status_detail="待支付"; r.pay_btn=1;
                }
                if (r.order_status == 1 && r.pay_status == 1 && r.shipping_status== 0)
                   r.order_status_detail = "待发货";
               
                if (r.order_status == 1 && r.pay_status == 1 && r.shipping_status == 1){
                    r.order_status_detail = "待收货";r.receive_btn=1;
                    if (r.exp_type == 0) r.shipping_btn=1;
                }
                if (r.order_status == 1 && r.pay_status == 1 && r.shipping_status == 2){
                  r.order_status_detail = "待收货"; r.receive_btn = 1;
                  if (r.exp_type == 0) r.shipping_btn = 1;
                }
                if (r.order_status == 2){
                   r.order_status_detail = "待评价"; if (r.exp_type == 0) r.shipping_btn = 1;
                }
                if (r.order_status == 3)
                   r.order_status_detail = "已取消";
                if (r.order_status == 4){
                  r.order_status_detail = "已完成"; if (r.exp_type == 0) r.shipping_btn = 1;
                }
                if (r.order_status == 5)
                   r.order_status_detail = "已作废";
                if (r.order_status == 6)
                  r.order_status_detail = "退款完成";

              r['is_all_return'] = 0;

               //------获取订单商品-------
               rq.get("/api/weshop/ordergoods/list",{
                    data: { store_id: os.stoid, order_id: oid},
                    success:async function (eb) {
                          r.order_goods=eb.data.data.pageData;

                          //------------对比一下有没有退款记录------------
                          await getApp().request.promiseGet("/api/weshop/order/returngoods/page",{
                              data: { order_id: r.order_id, store_id: os.stoid,
                                  user_id:oo.user_id, pageSize: 20 }
                          }).then(rs=>{
                              var ttd=rs;
                              //--看一下订单的总数量--
                              var gtype_num = r.order_goods.length;
                              if(ttd.data.data.pageData == undefined) return false;
                              var goodslist = r.order_goods;

                              //----没有相关的退款记录----
                              if (ttd.data.data.total==0){
                                  r['is_all_return'] = 0;
                                  goodslist.forEach(function (ee, ii) {
                                      if (r['order_status'] == 1 && r['pay_status'] == 1 && gtype_num>1)
                                          goodslist[ii]['return_btn']=1;
                                  });
                              }else{
                                  //--------整单退--------
                                  if (ttd.data.data.pageData[0]['goods_id_list'] != null
                                      && ttd.data.data.pageData[0]['goods_id_list'] != ''){
                                      var eea = ttd.data.data.pageData[0];
                                      //1.退款正在进行中,
                                      //2.退款被拒绝就要显示可以退款
                                      //3.退款已经完成
                                      r['is_all_return']=1;
                                      r['is_all_return_status'] = ttd.data.data.pageData[0].status;

                                      if (r['order_status'] == 1 && r['pay_status'] == 1) {
                                          switch (eea.status) {
                                              case 0:
                                              case 1:
                                                  r['return_btn'] = 2; break;
                                              case 2:
                                                  r['return_btn'] = 4; break;
                                              case 3:
                                                  r['return_btn'] = 3; break;
                                              default:
                                                  r['return_btn'] = 0;
                                          }
                                      }
                                  }else{
                                      //1.退款正在进行中,
                                      //2.退款被拒绝就要显示可以退款
                                      //3.退款已经完成
                                      r['is_all_return'] = 0;
                                      var rt_ok_num=0;

                                      if(r['order_status'] == 1 && r['pay_status'] == 1) {
                                          goodslist.forEach(function (eeb, iii) {
                                              goodslist[iii]['return_btn'] = 1;
                                              ttd.data.data.pageData.forEach(function (eea, ii) {
                                                  var st = eea.status;
                                                  if (eea.goods_id == eeb.goods_id){
                                                      r['has_rt'] = 1; //有部分退
                                                      switch (eea.status){
                                                          case 0:
                                                          case 1://退款处理中
                                                              goodslist[iii]['return_btn'] = 2; break;
                                                          case 2://退款完成
                                                              goodslist[iii]['return_btn'] = 4;rt_ok_num++; break;
                                                          case 3://已拒绝,重新退款
                                                              goodslist[iii]['return_btn'] = 3; break;
                                                          default:
                                                              goodslist[iii]['return_btn'] = 1; //申请退款
                                                      }
                                                      return;
                                                  }
                                              });
                                          });
                                      }
                                  }
                              }

                              //--如果是全部退款,也就可以删除--
                              if(rt_ok_num==goodslist.length){
                                  r['is_all_return_status']=2;
                              }
                              r['order_goods'] = goodslist;
                              var g_num = 0;
                              goodslist.forEach(function (ee, ii) {
                                  if(ee.return_btn!=4)
                                     g_num += ee.goods_num;
                              });
                              r['g_num'] = g_num;
                          })


                      //--------获取门店-----------
                      rq.get("/api/weshop/pickup/get/" + os.stoid + "/" + r.pickup_id, {
                           success: function (ebb) {
                                r.pickname = ebb.data.data.pickup_name;
                                o.setData({
                                  order: r,
                                });
                           }
                      })


                    }
                })               
            }
        });
    },
    /*-----联系客户------*/
    contactService: function() {
        e.getConfig(function(t) {
          if (t.store_tel == undefined) {
            getApp().request.get("/api/weshop/store/get/" + os.stoid, {
              isShowLoading: 1,
              data: {},
              success: function (rs) {
                getApp().globalData.config = rs.data.data;
                if (rs.data.data.store_tel == null && rs.data.data.store_tel == undefined) {
                  getApp().showWarning("商家未设置电话");
                  return false;
                }
                e.confirmBox("请联系客服:" + rs.data.data.store_tel);
              }
            })
          } else {
            e.confirmBox("请联系客服:" + t.store_tel);
          }
        });
    },

    //--------取消订单---------
    cancelOrder: function(e) {
      var t = this,th=t, o = e.currentTarget.dataset.id,order=this.data.order;
      var is_skill=0;
      var order_goods=order.order_goods;
      var is_zsorder=order.is_zsorder;

      //--判断是不是秒杀--
      order_goods.forEach(function (val,ind) {
        if(val.prom_type==1){
          is_skill=1; return false;
        }
      })

        wx.showModal({
            title: "是否取消订单?",
            success: function(e) {
              if(!e.confirm) return false;
              //如果是秒杀和拼单的商品,取消订单要返回redis,并取消订单
              //if(is_skill==1 || is_zsorder>=2){

             getApp().request.delete("/api/weshop/order/cancelTeamOrder/"+os.stoid+"/"+o,{
               data:{},
               success: function(t) {
                 if(t.data.code==0)
                   th.requestOrderDetail(o), wx.setStorageSync("order:order_list:update", !0);
               },
             })

              /*----
              }else{
                  getApp().request.put("/api/weshop/order/updatebyId", {
                    data: {order_id: o, order_status: 3},
                    success: function(e) {
                      th.requestOrderDetail(o), wx.setStorageSync("order:order_list:update", !0);
                    }
                  });
              }--*/
            }
        });
    },
    
    //--------确认收货---------
    confirmOrder: function(e) {
        var t = this, o = this.data.order.order_id,order=this.data.order;
        var is_zsorder=order.is_zsorder;
        wx.showModal({
            title: "是否确认收货?",
            success: function(e) {
              e.confirm && r.put("/api/weshop/order/updatebyId", {
                    data: {
                      order_id: o, order_status: 2
                    },
                    success: function(e) {
                      t.requestOrderDetail(o), wx.setStorageSync("order:order_list:update", !0);
                      //如果是会员团订单
                      if(is_zsorder==3){
                         getApp().request.post("/api/weshop/order/vipTuanTebate/"+os.stoid+"/"+o,{
                            data:{}, success:function () {  }})
                      }
                    }
                });
            }
        });
    },

    //--------立即支付----------
    jumpToCart4: function(e) {
        this.data.optionIsGoup ? wx.navigateTo({
            url: "/pages/team/team_confirm/team_confirm?orderSn=" + this.data.order.order_sn + "&orderPay=true"
        }) : o.jumpToCart4({
            order_sn: this.data.order.order_sn,
            order_amount: this.data.order.order_amount
        }, 1);
    },
    checkTeam: function() {
        wx.navigateTo({
            url: "/pages/team/team_detail/team_detail?foundId=" + this.data.order.orderTeamFound.found_id
        });
    },

    //------图片失败,默认图片---------
    bind_bnerr: function (e) {
      var _errImg = e.target.dataset.errorimg;
      var _errObj = {};
      _errObj[_errImg] = "public/images/default_goods_image_240.gif";
      this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ;       
    },

    zfwk:function(){
      var url = "/pages/cart/cart_wk/cart_wk?order_id=" + this.data.order.order_id;
      getApp().goto(url);
    },

  //--------跳转到退款详情-----------
  gotoreturn: function (t) {
    var e = t.currentTarget.dataset.recid;
    var oid = t.currentTarget.dataset.oid;
    var wh = "";
    if (e != undefined && e != null && e != "") {
      wh = "&goods_id=" + e;
    }
    wx.navigateTo({
      url: "/pages/user/return_goods_info/return_goods_info?order_id=" + oid + wh,
    });
  },

  //---判断是不是有退款-----
  checkReturnGoodsStatus: function (t) {
    var e = t.currentTarget.dataset.recid;
    var oid = t.currentTarget.dataset.oid;
    r.get("/api/weshop/order/returngoods/page", {
      data: {
        goods_id: e,
        order_id: oid,
        store_id: os.stoid
      },
      success: function (t) {
        if (t.data.code == 0) {
          var r = t.data.data.total;
          if (0 == r) return wx.navigateTo({
            url: "/pages/user/return_goods/return_goods?rec_id=" + e + "&order_id=" + oid,
          });
          //--如果拒绝,就重新申请退款--
          if (t.data.data.pageData[0].status == 3) {
            return wx.navigateTo({
              url: "/pages/user/return_goods/return_goods?rec_id=" + e + "&order_id=" + oid,
            });
          }

          wx.navigateTo({
            url: "/pages/user/return_goods_info/return_goods_info?id=" + r
          });
        }
      }
    });
  },

    //-----删除订单-----
    deleteOrderData: function(t) {
        var th=this;
        var order_id=t.currentTarget.dataset.order_id;
        wx.showModal({
            title: "是否取消订单?",
            success: function(tt) {
                t.confirm && rq.put("/api/weshop/order/updatebyId", {
                    data: {
                        order_id: a, order_status: 5
                    },
                    success: function (t) {
                        getApp().my_warnning("删除成功",1,th);
                        setTimeout(function () {
                             getApp().goto("/pages/user/order_list/order_list");
                        },1000);
                    }
                })
            }
        });
    },



});