list.js 4.12 KB
// pages/customer/list.js
import util from '../../utils/util';
import App from '../../utils/api';
import RS from  '../../utils/reserveStatus'

const {regeneratorRuntime} = global
import TP from '../../utils/tpls';

Page({

  /**
   * 页面的初始数据
   */
  data: {
    success: [],
    padding: [],
    total: 0,
  },
  ids: [],
  id: 0,
  tpls: TP.tpls(),
  /**
   * 生命周期函数--监听页面加载
   * hasRelaTip 从邀请函,接受邀请进入
   */
  onLoad: function (options) {
    this.options=options
  },

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

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    if (typeof this.getTabBar === 'function' &&
      this.getTabBar()) {
      this.getTabBar().setData({
        selected: 2
      })
    }
    if(this.options.hasRelaTip){
      this.selectComponent("#showModal").show({

      })
      this.options.hasRelaTip=''
    }
    this.getListData();
  },

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

  },

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

  },
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function (e) {
    return this.shareSetting(e);
  },
  getListData(fouce = false) {
    App.Reserve.GetListFromScheAndRes({
      flag: 0,
      openid: getApp().openid,
    }, fouce).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.rdate, 'MM月DD日 WW HH:II');
        row.navigator = row.openid == openid ? 'detail_owner' : 'detail_customer';
        row.hasOwner = getApp().openid == row.openid
        let d = util.unixtoTime(row.rdate, 'MM月DD日 DAY 星期WW');
        typeof dlist[d] == 'undefined' ? dlist[d] = [] : '';
        row=RS.reserve(row)
        dlist[d].push(row);
        this.ids.push(row.id);
      })
    }
    return dlist;
  },
  formatList(res) {
    this.ids = [];
    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) {
    console.log('userinfo-share', e)
    this.ids.forEach(id => {
      let us = this.selectComponent("#userinfo-share-" + id);
      //console.log('userinfo-share',us)
      us.init();
    })
  },
  share(e) {
    this.id = e.target.id.replace('userinfo-share-', '');
    console.log('userinfo-share.share.id', this.id)
  },
  shareSetting(e) {
    console.log('shareSetting', e)
    let id = e.target.dataset.id
    //this.data.detail.openid==getApp().openid
    let nickname = "";
    try {
      nickname = util.cache('userInfo').nickName;
    } catch (e) {
    }
    return {
      //title: (nickname||'')+'给你发了一个邀请,点击查看',
      title: this.tpls[0].shareTitle,
      path: '/pages/customer/index?id=' + id + '&fromid=' + getApp().openid + '&invite_name=' + nickname + '&hasInvitation=1&tplid=1',
      imageUrl: this.tpls[0].shareImage,
    }
  },
  accept(e) {//同意
    console.log('accept', e)
    let id = e.target.dataset.id;
    App.Reserve.SetRelaSuccess({
      rid: id,
      openid: getApp().openid,
      is_agree: 1,
    }).then(res => {
      App.Reserve.Detail({
        openid: getApp().openid,
        rid: id
      }, 'clear')
      this.getListData(true);
    })
  },
  gotoDetail(e){
    console.log('gotoDetail',e)
    let url='/pages/customer/'+e.detail.detail.navigator+'?id='+e.detail.detail.id
    wx.navigateTo({
      url:url,
    })
  },
  gotoDetailHan(e){
    console.log(util.attr(e,'id'))
    let url='/pages/customer/detail_owner_invitation?id='+util.attr(e,'id')+'&hasInvitation=1&hasSellerShare=1&tplid=1'
    wx.navigateTo({
      url:url,
    })
  }
})