|  | const navigationBarHeight = (getApp().statusBarHeight + 44) + 'px'
var config = require("../../../config/config.js");
var app = getApp();
const Http = require("../../../utils/HttpBasics");
const util = require("../../../utils/util");
const imgurl = require("../../../utils/imgurl");
Page({
  data: {
    navigationBarHeight,
    homeSelectedO: imgurl.homeSelectedO.url,
    isshowposter: false, //是否显示分享弹框
    fenxiang: imgurl.fenxiang1.url,
    fenxiangUrl: imgurl.fenxiang.url,
    clockUrl: imgurl.clock.url,
    yushouUrl: imgurl.yushou.url,
    teljpgUrl: imgurl.teljpg.url,
    closedUrl: imgurl.closed.url,
    quesGouUrl: imgurl.ques_gou.url,
    headbgUrl: imgurl.headbg.url,
    quesBgUrl: imgurl.ques_bg.url,
    close02: imgurl.close02.url,
    share01: imgurl.share01.url,
    fail: imgurl.fail.url,
    wmhome: imgurl.wmhome.url,
    swiperCurrent: 0,
    detailPicture: [],
    coverPicture: [],
    couponList: [],
    data: {
      title: null
    },
    showPage: false,
    questions1: null,
    questions2: null,
    carList: [],
    couponChannelId: null,
    orderId: "",
    hour: null,
    day: null,
    month: null,
    year: null,
    minute: "",
    tempFilePaths: null,
    userInfo: {},
    hasUserInfo: false,
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
    id: null,
    result: [],
    end_time: null,
    checked: false,
    questionnaire: {},
    questionId: null,
    widthScreen: null,
    moveData: null,
    rotateData: null,
    alphaData: null,
    scaleData: null,
    skewData: null,
    matrixData: null,
    opacity: 0,
    queueData: null,
    zIndex: 11,
    display: "none",
    showbutton: false,
    cardData: null,
    showCardOffer: false,
    isSamePeople: true,
    statusText: '',
    isReceived: false,
    receivedDisabled: false,
    clock: "结束",
    day: "00",
    hour: "00",
    min: "00",
    sec: "00",
    clock02: "00",
    day02: "00",
    hour02: "00",
    min02: "00",
    sec02: "00",
    countdown: "",
    showbutton1: false,
    limitCondition: "",
    minLimit: 0,
    maxLimit: 0,
    dispressEndDate: false,
    barTitle: "",
    activityStatus: "",
    //图文混排
    curHtml: '',
    contentType: 0,
    page: 1,//查询商户优惠券page
    idList: [],
    goHomeUrl: "",
  },
  /**
   * 显示分享弹框
   */
  showshare: function () {
    this.setData({
      isshowposter: true,
    })
  },
  getCouponList: function (id) {
    let that = this;
    let data;
    data = {
      status: 0,
      merchantIds: id,
      pageNum: that.data.page,
      pageSize: 5,
    }
    Http.post({
      url: config.api.listByMerchant,
      data: data
    }).then(res => {
      if (res.data.page.list <= 0) {
        return
      }
      let dataLsit = []
      // dataLsit = that.data.couponList
      dataLsit = res.data.page.list
      dataLsit.map((item, index) => {
        if (item.id == that.data.couponChannelId) {
          dataLsit.splice(index, 1)
        }
      })
      if (that.data.page > 1) {
        let tmpeLsit = that.data.couponList
        tmpeLsit.push(...dataLsit)
        that.setData({
          couponList: tmpeLsit,
        })
      } else {
        that.setData({
          couponList: dataLsit,
        })
      }
      // if (res.data && res.data.qrCode){
      //   that.setData({
      //     qrCode: res.data.qrCode,
      //   })
      // }
    })
      .catch(err => {
        wx.showToast({
          title: err.errMsg,
          icon: 'none',
          duration: 2000,
          mask: false
        });
      })
  },
  /**
   * 隐藏分享弹框
   */
  hidemodal: function () {
    this.setData({
      isshowposter: false,
    })
  },
  /**
   * 显示分享海报
   */
  /* showPoster: function() {
    //跳转到海报生成页
    console.log(this.data.canIUse)
    // return;
    wx.navigateTo({
      url: `/pages/canvas/index?couponChannelId=${this.data.data.id}`
    })
  }, */
  showPoster: function () {
    //跳转到海报生成页
    let that = this;
    Http.get({
      url: config.api.checkUserStatus,
      data: {
        token: app.globalData.token
      }
    }).then(res => {
      wx.navigateTo({
        url: `/pages/canvas/index?couponChannelId=${that.data.data.id}`
      })
    }).catch(err => {
      console.log(err)
      if (err.code == 11004) {
        // 用户昵称未授权
        wx.redirectTo({
          url: `/pages/getuserinfo/index?couponChannelId=${that.data.data.id}&fromflag=poster`
        })
      }
    })
  },
  swiperChange: function (e) {
    this.setData({
      swiperCurrent: e.detail.current
    });
  },
  gohome(e) {
    console.log(e.currentTarget.dataset.id, "123")
    wx.navigateTo({
      url: `/pages/fillIndent/fillIndent?couponChannelId=${e.currentTarget.dataset.couponchannelid}&couponId=${e.currentTarget.dataset.couponid}&shippingtype=${e.currentTarget.dataset.shippingtype}`,
    })
  },
  gochild(e) {
    let id = e.currentTarget.dataset.id
    wx.navigateTo({
      url: `/pages/coupon/detail/index?couponIds=${id}`,
    })
  },
  //获取当前登录用户信息
  getUserInfo: function () {
    let that = this;
    // 获取用户信息
    Http.get({
      url: config.api.getScore,
      data: {}
    })
      .then(res => {
        console.log(res)
        that.getQueryCardStatus()
        if (that.data.cardData.cuserId != res.data.id) {
          console.log(2222, 6666)
          that.setData({
            isSamePeople: false
          })
        }
      })
  },
  //获取卡转赠状态
  getQueryCardStatus() {
    let that = this;
    let param = {
      id: this.data.cardData.couponOrderId,
      cUserId: this.data.cardData.cuserId,
      updateDate: util.formatTime(Number(that.data.cardData.updateDate), "yyyy-MM-dd hh:mm:ss")
    }
    Http.get({
      url: config.api.queryCardStatus,
      data: param
    })
      .then(res => {
        console.log(res, 333333333333)
      })
      .catch(err => {
        that.setData({
          isReceived: true,
          statusText: err.message
        })
      })
  },
  receiveCard() {
    let that = this;
    let param = {
      id: this.data.cardData.couponOrderId,
      cUserId: this.data.cardData.cuserId,
      updateDate: util.formatTime(Number(this.data.cardData.updateDate), "yyyy-MM-dd hh:mm:ss")
    }
    this.setData({
      receivedDisabled: true
    })
    Http.post({
      url: config.api.cardAccept,
      data: param
    })
      .then(res => {
        wx.showToast({
          title: '领取成功!',
          icon: 'none',
          duration: 2000,
          mask: false
        });
        wx.reLaunch({
          url: '/pages/complete/index?couponOrderId=' + this.data.cardData.couponOrderId,
        })
      })
      .catch(err => {
        wx.showToast({
          title: err.message,
          icon: 'none',
          duration: 2000,
          mask: false
        });
        that.setData({
          receivedDisabled: false
        })
      })
  },
  closeAlert() {
    this.setData({
      showCardOffer: false
    })
  },
  goback: function () {
    let this_ = this
    wx.switchTab({
      url: this_.data.goHomeUrl,
    })
  },
  /**
   * 点击提交问题单选
   */
  formSubmit: function (e) {
    console.log(e);
    let that = this;
    /**
     * 多选
     */
    if (e.currentTarget.dataset.flags == 'multi') {
      if (that.data.anwserId.length == 0) {
        var answserIs = null
      } else {
        var answserIs = that.data.anwserId.join(",");
      }
    } else if (e.currentTarget.dataset.flags == 'single') {
      var answserIs = e.detail.value;
    }
    console.log(answserIs)
    console.log(e.currentTarget.dataset.questionid)
    Http.post({
      url: config.api.answerQuestion,
      data: {
        answer: answserIs,
        questionId: e.currentTarget.dataset.questionid
      }
    })
      .then(res => {
        that.closeQuestion();
      })
      .catch(err => {
        wx.showToast({
          title: err.message,
          icon: 'none',
          duration: 2000,
          mask: false
        });
      })
  },
  /**
   * 多选
   */
  checkboxChange: function (e) {
    console.log(e)
    this.setData({
      anwserId: e.detail.value
    })
  },
  closeQuestion: function () {
    let that = this;
    that.setData({
      display: "none",
      zIndex: 11,
      opacity: 0
    })
    setTimeout(function () {
      that.orderFunc();
    }, 500)
  },
  gotopay: function (e) {
    app.globalData.previewFlag = true
    /* 判断是否授权*/
    Http.get({
      url: config.api.checkUserStatus,
      data: {
        token: app.globalData.token
      }
    }).then(res => {
      Http.get({
        url: config.api.checkPhoneStatus,
        data: {}
      }).then(res => {
        let that = this;
        console.log(e);
        wx.showLoading();
        if (e.currentTarget.dataset.type == 51 || e.currentTarget.dataset.type == 50) {
          wx.navigateTo({
            url: '/pages/integralmall/payIntegcoupondetail/index?couponChannelId=' + that.data.couponChannelId + '&couponId=' + that.data.couponId,
          })
        } else {
          let formId = e.detail.formId;
          var discount = e.detail.target.dataset.discount;
          that.setData({
            queueData: null,
            showbutton: true,
            formId: formId
          })
          Http.get({
            url: config.api.getQuestion,
            data: {
              couponType: JSON.stringify(that.data.data.type)
            }
          })
            .then(res => {
              wx.hideLoading();
              if (res.data == undefined) {
                // 立即购买
                that.orderFunc(discount);
                that.setData({
                  flag: false
                })
              } else if (res.data) {
                var animation = wx.createAnimation({});
                animation.translate((that.data.widthScreen - that.data.widthScreen), 0).scale(1).opacity(1).step({
                  duration: 500
                })
                that.setData({
                  queueData: animation.export(),
                  zIndex: 9,
                  opacity: 1,
                  display: "block",
                  questionnaire: JSON.parse(res.data.content),
                  questionId: res.data.id
                });
              }
            })
            .catch(err => {
              wx.hideLoading();
              wx.showToast({
                title: err.message,
                icon: 'none',
                duration: 2000,
                mask: false
              });
            })
        }
      }).catch(err => {
        wx.redirectTo({
          url: `/pages/getphoneInfo/index?skipUrl=1`
        });
      })
    }).catch(err => {
      wx.navigateTo({
        url: `/pages/getuserinfo/index?fromflag=coupondetail&couponChannelIdflag=${this.data.couponChannelId}`,
      })
    })
  },
  setIntervalTime(end_time) {
    let that = this;
    var EndTime = end_time;
    var NowTime = new Date().getTime();
    var total_micro_second = EndTime - NowTime || [];
    // 渲染倒计时时钟
    let obj = that.dateformat(total_micro_second);
    if (total_micro_second > 0) {
      that.setData({
        clock: obj,
        day: obj.a1,
        hour: obj.b1,
        min: obj.c1,
        sec: obj.d1,
      })
    } else {
      that.setData({
        clock: "00",
        day: "00",
        hour: "00",
        min: "00",
        sec: "00",
      })
      //如果倒计时结束,需要重新查询一下券的状态
      // 给getDetail一个标识 
      that.getDetail(that.data.couponChannelId, 'endclock');
    }
    total_micro_second -= 1000;
  },
  countdown: function (end_time) {
    let that = this;
    that.setIntervalTime(end_time);
    that.data.setInterval = setInterval(function () {
      that.setIntervalTime(end_time);
    }, 1000)
  },
  // 时间格式化输出,如11:03 25:19 每1s都会调用一次
  dateformat(micro_second) {
    // 总秒数
    var second = Math.floor(micro_second / 1000);
    // 天数
    var day = Math.floor(second / 3600 / 24) < 10 ? "0" + Math.floor(second / 3600 / 24) : Math.floor(second / 3600 / 24);
    // 小时
    var hr = Math.floor(second / 3600 % 24) < 10 ? "0" + Math.floor(second / 3600 % 24) : Math.floor(second / 3600 % 24);
    // 分钟
    var min = Math.floor(second / 60 % 60) < 10 ? "0" + Math.floor(second / 60 % 60) : Math.floor(second / 60 % 60);
    // 秒
    var sec = Math.floor(second % 60) < 10 ? "0" + Math.floor(second % 60) : Math.floor(second % 60);
    // return day + "天" + hr + "小时" + min + "分钟" + sec + "秒";
    return {
      a1: day,
      b1: hr,
      c1: min,
      d1: sec
    }
  },
  /**
   * 获取用户信息
   */
  onLoad(options) {
    let that = this;
    if (options.g) {
      app.globalData.havePlayEd1 = true;
    }
    wx.showLoading({
      title: "加载中..."
    });
    that.setData({
      onshow: false
    })
    if (options && (options.couponChannelId || options.couponIds)) {
      if (options.couponIds) {
        this.setData({
          couponIds: options.couponIds
        })
        that.getDetail(options.couponIds, 'notendclock');
      } else {
        that.getDetail(options.couponChannelId, 'notendclock');
      }
    }
    /**
     * 转赠判断
     */
    if (options.cuserId) {
      this.setData({
        showCardOffer: true,
        cardData: options
      })
      this.getUserInfo()
    }
    that.setData({
      couponChannelId: options.couponChannelId,
      title: that.data.data.title ? that.data.data.title : '',
    });
    if (options.cardType) {
      that.setData({
        cardType: options.cardType
      })
    }
  },
  getHtml(couponChannelId) {
    Http.get({
      url: config.api.couponHtmlDetail,
      data: {
        couponChannelId: couponChannelId
      }
    }).then(res => {
      console.log(res)
      if (res.code == 200 && res.data.html) {
        this.setData({
          curHtml: decodeURI(res.data.html)
        })
        app.globalData.curHtml = this.data.curHtml;
        console.log(app.globalData.curHtml)
      }
    })
  },
  getDetail: function (couponChannelId, flag) {
    let that = this;
    let data = {};
    if (that.data.couponIds) {
      data.couponId = couponChannelId
    } else {
      data.couponChannelId = couponChannelId
    }
    var parmer = {
      url: config.api.couponDetail,
      data: data
    };
    Http.get(parmer)
      .then(res => {
        if (res.data.merchantVoList && res.data.merchantVoList.length) {
          let merchantVoList = res.data.merchantVoList
          let idList = []
          merchantVoList.map(item => {
            idList.push(item.id)
          })
          that.setData({
            idList: idList
          })
          that.getCouponList(idList)
        }
        //aaa
        if (res.data.contentType != undefined && res.data.contentType == 1) {
          //获取图文展示详情html
          this.setData({
            contentType: res.data.contentType
          })
          this.getHtml(couponChannelId);
        }
        that.setData({
          couponId: res.data.couponId
        })
        that.setData({
          showPage: true
        })
        if (res && res.data && res.data.detailPicture) {
          that.setData({
            detailPicture: JSON.parse(res.data.detailPicture)
          })
        }
        if (res && res.data && res.data.coverPicture) {
          that.setData({
            coverPicture: JSON.parse(res.data.coverPicture)
          })
        }
        if (res && res.data && res.data.conditions) {
          that.setData({
            limitCondition: JSON.parse(res.data.conditions).type
          })
          if (JSON.parse(res.data.conditions).type == 2 && (JSON.parse(res.data.conditions).min || JSON.parse(res.data.conditions).min == 0)) {
            that.setData({
              minLimit: JSON.parse(res.data.conditions).min
            })
          }
          if (JSON.parse(res.data.conditions).type == 2 && (JSON.parse(res.data.conditions).max) || JSON.parse(res.data.conditions).max == 0) {
            that.setData({
              maxLimit: JSON.parse(res.data.conditions).max
            })
          }
        }
        /**
         * 将优惠券优惠卡的详情的BarTitle
         * 设置成券的名称
         */
        // wx.setNavigationBarTitle({
        //   title: res.data.title
        // })
        that.setData({
          barTitle: res.data.title
        })
        var EndTime = res.data.validStartDate;
        var NowTime = new Date().getTime();
        /**
         * activityStatus==0 活动未开始
         * activityStatus==1 活动已开始
         * flag == endclock 说明倒计时已经结束
         */
        if (res.data.endTime && res.data.beginTime) {
          that.setData({
            begin_time: res.data.beginTime,
            end_time: res.data.endTime,
            activityStatus: res.data.activityStatus ? res.data.activityStatus : ''
          })
          if (res.data.activityStatus == 0 && flag != 'endclock') {
            that.countdown(res.data.beginTime);
          } else if (res.data.activityStatus != 0 && flag != 'endclock') {
            that.countdown(res.data.endTime);
          } else {
            clearInterval(that.data.setInterval)
          }
          if (res.data.activityStatus == 0) {
            var beginTime = util.formatTime(res.data.beginTime, "yyyy-MM-dd hh:mm:ss");
            if (util.timechuo(beginTime).indexOf('-') == 0) {
              that.setData({
                beginTime: "活动已结束",
              });
            } else {
              that.setData({
                beginTime: util.timechuo(beginTime)
              });
            }
          } else {
            var endTime = util.formatTime(res.data.endTime, "yyyy-MM-dd hh:mm:ss");
            if (util.timechuo(endTime).indexOf('-') == 0) {
              that.setData({
                endtime: "活动已结束",
              });
            } else {
              that.setData({
                endtime: util.timechuo(endTime)
              });
            }
          }
        }
        wx.hideLoading();
        that.setData({
          data: res.data,
          merchantVoList: res.data.merchantVoList
        });
        if (res.data.type == 10) {
          that.setData({
            salePriceStr: res.data.salePriceStr,
            pickEndDate: util.formatTime(res.data.pickEndDate, "yyyy-MM-dd"),
            pickStartDate: util.formatTime(res.data.pickStartDate, "yyyy-MM-dd"),
            priceStr: res.data.priceStr,
            tailPriceStr: res.data.tailPriceStr,
            origPriceStr: res.data.origPriceStr
          })
        }
        if (res.data.validType == 1) {
          that.setData({
            validStartDate: util.formatTime(res.data.validStartDate, "yyyy-MM-dd"),
            validEndDate: util.formatTime(res.data.validEndDate, "yyyy-MM-dd"),
            pickStartDate: util.formatTime(res.data.pickStartDate, "yyyy-MM-dd"),
            pickEndDate: util.formatTime(res.data.pickEndDate, "yyyy-MM-dd"),
          });
        } else {
          if (res.data.validDays) {
            that.setData({
              validDays: res.data.validDays
            });
          }
        }
      }).catch(err => {
        wx.showToast({
          title: err.message,
          icon: 'none',
          duration: 2000,
          mask: false
        });
      })
  },
  /**
   * 邀请好友继续砍价
   */
  inviteFriend: function (e) {
    let that = this;
    let formId = e.detail.formId;
    that.setData({
      formId: formId,
      showbutton1: true
    })
    that.orderFunc("discount");
  },
  /**
   * 支付订单更新
   */
  payOrderUpdate: (orderId, payOrderId, status, reason, type, _this, composeOrderType) => {
    let that = this;
    // 支付成功
    Http.post({
      url: config.api.payOrderUpdate,
      data: {
        payOrderId: payOrderId,
        composeOrderId: orderId,
        status: status,
        reason: reason
      }
    })
      .then(res => {
        wx.hideLoading()
        // 有价券
        if (!type && type != 'free') {
          wx.navigateTo({
            url: `/pages/order/detail/index?orderId=${
              orderId
              }&cardIf=true&contentType=${_this.data.contentType}&composeOrderType=${composeOrderType}`
          });
        } else if (type == 'free') {
          wx.navigateTo({
            url: `/pages/order/detail/index?orderId=${
              orderId
              }&contentType=${_this.data.contentType}&composeOrderType=${composeOrderType}`
          });
        }
      })
      .catch(err => {
        console.log(err);
        if (!type) {
          setTimeout(function () {
            _this.payOrderUpdate(orderId, payOrderId, status, reason, type, _this, composeOrderType);
          }, 2000)
        }
      })
  },
  checkPhoneStatus: function () {
    let that = this;
    Http.get({
      url: config.api.checkPhoneStatus,
      data: {}
    })
      .then(res => {
        console.log(666, '授权成功!')
        that.receiveCard()
      })
      .catch(err => {
        if (err.code == 11005) {
          /**
           * 手机号没有授权,将值传到用户手机号授权的页面
           *
           */
          wx.redirectTo({
            url: "/pages/getphoneInfo/index?path=index&cuserId=" + that.data.cardData.cuserId + "&couponChannelId=" + that.data.cardData.couponChannelId + "&userName=" + that.data.cardData.userName + "&coverImg=" + that.data.cardData.coverImg + "&avatarUrl=" + that.data.cardData.avatarUrl + "&couponOrderId=" + that.data.cardData.couponOrderId + "&updateDate=" + that.data.cardData.updateDate,
          });
        } else if (err.code == 11006) {
          // 用户手机已加密
          wx.redirectTo({
            url: "/pages/phoneinput/phoneinput?path=index&cuserId=" + that.data.cardData.cuserId + "&couponChannelId=" + that.data.cardData.couponChannelId + "&userName=" + that.data.cardData.userName + "&coverImg=" + that.data.cardData.coverImg + "&avatarUrl=" + that.data.cardData.avatarUrl + "&couponOrderId=" + that.data.cardData.couponOrderId + "&updateDate=" + that.data.cardData.updateDate,
          });
        } else {
          wx.showToast({
            title: err.message,
            icon: 'none',
            duration: 2000,
            mask: false
          });
        }
      })
  },
  // 券包支付
  /**
   * 发起支付
   */
  orderFunc(discount) {
    let that = this;
    Http.get({
      url: config.api.checkUserStatus,
      data: {
        token: app.globalData.token
      }
    }).then(res => {
      Http.get({
        url: config.api.checkPhoneStatus,
        data: {}
      })
        .then(res => {
          // 发起砍价
          if (discount == 'discount') {
            var data = {
              couponChannelId: "" + that.data.couponChannelId,
              couponId: "" + that.data.couponId,
              formId: "" + that.data.formId,
              press: true
            }
          } else if (discount == 'discount1') {
            var data = {
              couponChannelId: "" + that.data.couponChannelId,
              couponId: "" + that.data.couponId,
              formId: "" + that.data.formId,
              press: false
            }
          } else if (that.data.couponChannelId == null) {
            var data = {
              couponId: "" + that.data.couponId,
              formId: "" + that.data.formId,
            };
          } else {
            var data = {
              couponChannelId: "" + that.data.couponChannelId,
              couponId: "" + that.data.couponId,
              formId: "" + that.data.formId,
            }
          }
          console.log(data, "data")
          let url = ""
          let tempObj;
          let tempArr = []
          if (that.data.data.type == 12) {
            url = config.api.couponPackageSave
            tempObj = {
              signleOrder: {
                couponChannelId: "" + that.data.couponChannelId,
                couponId: "" + that.data.couponId,
                formId: "" + that.data.formId,
              },
              count: "1"
            }
            tempArr.push(tempObj)
          } else {
            url = config.api.orderSave
          }
          /**
           * orderSave 下单
           */
          return Http.post({
            url: url,
            data: that.data.data.type == 12 ? JSON.stringify(tempArr) : data
          });
        })
        .catch(err => {
          wx.hideLoading()
          that.setData({
            showbutton: false,
            showbutton1: false
          })
          if (err.code == 2011) {
            wx.showToast({
              title: "商户信息没找到",
              image: './../../../assets/images/fail.png',
              duration: 2000,
              mask: false
            });
          } else if (err.code == 2013) {
            wx.showToast({
              title: "商户信息禁用",
              image: './../../../assets/images/fail.png',
              duration: 2000,
              mask: false
            });
          } else if (err.code == 3000) {
            wx.showToast({
              title: "库存不足",
              image: './../../../assets/images/fail.png',
              duration: 2000,
              mask: false
            });
          } else if (err.code == 3001) {
            wx.showToast({
              title: "您已超过限购",
              image: './../../../assets/images/fail.png',
              duration: 2000,
              mask: false
            });
          } else if (err.code == 3002) {
            wx.showToast({
              title: "订单失败",
              image: './../../../assets/images/fail.png',
              duration: 2000,
              mask: false
            });
          } else if (err.code == 3003) {
            wx.showToast({
              title: "订单不存在",
              image: './../../../assets/images/fail.png',
              duration: 2000,
              mask: false
            });
          } else if (err.code == 3004) {
            wx.showToast({
              title: "订单不存在",
              image: './../../../assets/images/fail.png',
              duration: 2000,
              mask: false
            });
          } else if (err.code == 4003) {
            wx.showToast({
              title: "卡券已作废",
              image: './../../../assets/images/fail.png',
              duration: 2000,
              mask: false
            });
          } else if (err.code == 3012) {
            that.getUnPaidOrder(that.data.couponId);
          } else if (err.code == 11005) {
            /**
             * 将值传到用户手机号授权的页面
             *
             */
            wx.redirectTo({
              url: "/pages/getphoneInfo/index?couponChannelId=" +
                that.data.couponChannelId
            });
          } else if (err.code == 11006) {
            // 用户手机已加密
            wx.redirectTo({
              url: "/pages/phoneinput/phoneinput?couponChannelId=" +
                that.data.couponChannelId
            });
          } else {
            wx.showToast({
              title: err.message,
              icon: 'none',
              duration: 2000,
              mask: false
            });
          }
        })
        .then(res => {
          console.log(res, "res123")
          if (discount != 'discount') {
            if (typeof (res) != "undefined") {
              let orderId = "" + res.data.mainOrderId;
              that.setData({
                orderId: orderId,
                composeOrderType: res.data.composeOrderType
              });
              if (res.data.payment > 0) {
                // 支付金额不为0
                /**
                 * 支付订单创建
                 */
                Http.post({
                  url: config.api.payOrderCreate,
                  data: {
                    orderId: orderId,
                    composeOrderType: res.data.composeOrderType
                  }
                })
                  .then(res => {
                    var payOrderId = "" + res.data.payOrderId;
                    wx.hideLoading();
                    wx.requestPayment({
                      timeStamp: res.data.timeStamp,
                      nonceStr: res.data.nonceStr,
                      package: res.data.package,
                      signType: (res.data.signType) ? res.data.signType : "MD5",
                      paySign: res.data.paySign,
                      success: res => {
                        wx.showLoading({
                          title: '订单正在处理中...',
                        })
                        that.payOrderUpdate(that.data.orderId, payOrderId, 1, '', '', that, that.data.composeOrderType);
                        if (res.errMsg == "requestPayment:ok") {
                          /**
                           * 用户支付成功以后跳转到券包列表
                           */
                          if (that.data.cardType == 100) {
                            wx.setStorage({
                              key: 'couponNum2',
                              data: "couponNum2"
                            })
                          } else if (that.data.data.type != 5 && that.data.cardType != 100) {
                            wx.setStorage({
                              key: 'couponNum',
                              data: "couponNum"
                            })
                          }
                        }
                      },
                      fail: res => {
                        wx.hideLoading();
                        /**
                         * 支付失败,需要更新订单的状态
                         */
                        that.payOrderUpdate(that.data.orderId, payOrderId, 2, '', 'fail', that, that.data.composeOrderType);
                        that.setData({
                          showbutton: false
                        })
                        return;
                      },
                      complete: res => { }
                    });
                    /// End payment  --------
                  })
                  .catch(err => {
                    wx.hideLoading();
                    wx.showToast({
                      title: err.message,
                      icon: 'none',
                      duration: 2000,
                      mask: false
                    });
                  })
              } else {
                // 免费券
                that.payOrderUpdate(orderId, "0", 1, '', 'free', that, that.data.composeOrderType);
                if (that.data.cardType == 100) {
                  wx.setStorage({
                    key: 'couponNum2',
                    data: "couponNum2"
                  })
                } else if (that.data.data.type != "5" && that.data.cardType != 100) {
                  wx.setStorage({
                    key: 'couponNum',
                    data: "couponNum"
                  })
                }
              }
            }
          } else {
            if (res) {
              wx.navigateTo({
                url: `/pages/bargain/bargainDatail/bargainDatail?orderId=${res.data.mainOrderId}&composeOrderType=${res.data.composeOrderType}`,
              })
            }
          }
        })
    }).catch(err => {
      console.log(err)
      if (err.code == 11004) {
        wx.redirectTo({
          url: `/pages/getuserinfo/index?fromflag=coupondetail&couponChannelIdflag=${that.data.couponChannelId}`,
        })
      } else {
        wx.showToast({
          title: err.message,
          icon: "none",
          duration: 2500
        })
      }
    })
  },
  // 获得未支付的订单
  getUnPaidOrder(couponId) {
    let that = this;
    Http.get({
      url: config.api.getUnPaidOrder,
      data: {
        couponId: couponId
      }
    }).then(res => {
      that.setData({
        disOrderNumber: res.data.orderNumber,
        composeOrderType: res.data.composeOrderType
      })
      if (res.data && res.data.pressEndDate) {
        that.setData({
          dispressEndDate: true
        })
      } else {
        that.setData({
          dispressEndDate: false
        })
      }
      if (that.data.dispressEndDate) {
        wx.showModal({
          title: '提示',
          content: "您有未支付订单,请到“我的-我的砍价”进行支付",
          confirmText: "我的砍价",
          success: function (res) {
            if (res.confirm) {
              wx.navigateTo({
                url: `/pages/bargain/bargainDatail/bargainDatail?orderId=${that.data.disOrderNumber}&composeOrderType=${that.data.composeOrderType}`,
              })
            }
          }
        })
      } else {
        wx.showModal({
          title: '提示',
          content: '您有未支付订单,请先进行支付',
          confirmText: "去支付",
          success: function (res) {
            if (res.confirm) {
              wx.navigateTo({
                url: `/pages/order/detail/index?orderId=${that.data.disOrderNumber}&contentType=${that.data.contentType}&composeOrderType=${that.data.composeOrderType}`,
              })
            }
          }
        })
      }
    }).catch(error => {
      wx.showToast({
        title: error.message,
        icon: "none",
        duration: 3000
      })
    })
  },
  onShow() {
    this.setData({
      showbutton: false,
      showbutton1: false,
      goHomeUrl: app.globalData.goHomeUrl
    })
    if (this.data.end_time && this.data.activityStatus != 0) {
      this.countdown(this.data.end_time)
    } else if (this.data.begin_time && this.data.activityStatus == 0) {
      this.countdown(this.data.begin_time)
    }
  },
  onUnload: function () {
    let that = this;
    clearInterval(that.data.setInterval)
  },
  onHide: function () {
    let that = this;
    clearInterval(that.data.setInterval)
  },
  // 下拉刷新
  onPullDownRefresh: function () {
    this.getDetail(this.data.couponChannelId);
    wx.stopPullDownRefresh()
  },
  onReachBottom: function () {
    this.setData({
      page: this.data.page + 1
    })
    if (this.data.idList.length > 0) {
      this.getCouponList(this.data.idList)
    }
  }
});
 |