list.js 2.29 KB
// pages/customer/list.js
import util from '../../utils/util';
import App from '../../utils/api';

const {regeneratorRuntime} = global
Page({

  /**
   * 页面的初始数据
   */
  data: {
    success: [],
    padding: [],
    total: 0,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.getListData();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },
  getListData() {
    App.Reserve.GetListFromScheAndRes({
      flag: 1,
      openid: getApp().openid,
    }).then(res => {
      let total = res.data.success.length + res.data.padding.length
      let data = this.formatList(res.data);
      this.setData({
        success: data.success,
        padding: data.padding,
        total: total
      })
    })
  },
  _formatList(list) {
    if (!list) return {};
    let dlist = {};
    if (list.length > 0) {
      let openid = getApp().openid;
      list.forEach(row => {
        row.rdateStr = util.unixtoTime(row.ddate, 'MM月DD日 WW HH:II');
        row.navigator = row.openid == openid ? 'detail_owner' : 'detail_customer';
        let d = util.unixtoTime(row.rdate, 'MM月DD日 DAY 星期WW');
        typeof dlist[d] == 'undefined' ? dlist[d] = [] : '';
        dlist[d].push(row);
      })
    }
    return dlist;
  },
  formatList(res) {
    res.success = this._formatList(res.success);
    res.padding = this._formatList(res.padding);
    return res;
  },
  switchTab(e) {
    this.setData({
      tabFlag: util.attr(e, 'index')
    })
    this.getListData();
  },
  userinfo(e) {
    let id = e.target.dataset.id;
    let type = e.target.dataset.type;
    if (type == 'padding') {
      App.Reserve.SetRelaSuccess({
        rid: id,
        openid: getApp().openid
      }).then(res => {
        this.getListData();
      })
    } else {
      wx.navigateTo({
        url: 'invite?id=' + id,
      });
    }
  },
  gotoDetail(e){
    let url='/pages/customer/'+e.detail.detail.navigator+'?id='+e.detail.detail.id
    wx.navigateTo({
      url:url,
    })
  },
})