vue组件 订单支付15分钟倒计时

//支付倒计时
    ComputetTime(data) {
      let st = data.currentTime.replace(/\-/g, "/"),//当前服务器时间
        ct = data.formatCreateTime.replace(/\-/g, "/");//创建订单时间
      let ts = new Date(st).getTime(),
        tc = new Date(ct).getTime();
      let cm = 15 * 60 * 1000 - (ts - tc);
      this.runBack(cm);
    },
runBack(cm) {
      if (cm > 0) {
        cm > 60000
          ? (this.rocallTime =
          (new Date(cm).getMinutes() < 10
            ? "0" + new Date(cm).getMinutes()
            : new Date(cm).getMinutes()) +
          ":" +
          (new Date(cm).getSeconds() < 10
            ? "0" + new Date(cm).getSeconds()
            : new Date(cm).getSeconds()))
          : (this.rocallTime =
          "00:" +
          (new Date(cm).getSeconds() < 10
            ? "0" + new Date(cm).getSeconds()
            : new Date(cm).getSeconds()));
        let _msThis = this;
        setTimeout(function() {
          cm -= 1000;
          _msThis.runBack(cm);
        }, 1000);
      } else {
        this.changeOrderState();//调用改变订单状态接口
      }
    },

模板template:

<div id="recomTime" v-show="orderinfo.orderState=='1'">剩余支付时间 {{rocallTime}}</div>

当 this.orderinfo.orderState=='1' 调 this.ComputetTime(data) 即可

posted @ 2018-01-30 16:54  进击的Archer  阅读(1459)  评论(0编辑  收藏  举报