matrix.js 4.3 KB
// pages/matrix/matrix.js
const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    current:0,
    showType:!1,
    areaList: [{
      "id": '',
      "name": "全部"
    }],
    ifData: false,
    index: 0,
    companyList:[],
    page:1,
    ifData:!1,
    navScrollLeft:0,
    noMore:!0,
    beautiful_switch:0
  },
  changeShow(){
    this.setData({
      showType: !this.data.showType
    })
  },
  changeAreas(e){
    this.setData({
      index:e.detail.value,
      park:this.data.areaList[e.detail.value].id,
      page:1,
      companyList:[],
    })
    this.getCompanyList(this.data.category_id,this.data.areaList[e.detail.value].id)
  },
  // 获取分类
  getTypes(){
    let url = '/api/Company/getCompanyCategory';
    app.post(url,{}).then((res)=>{
      console.log(res)
      this.setData({
        typeList: res
      })
    })
  },
  // 获取园区
  getAreas(){
    let url = '/api/Company/getCompanyPark';
    app.post(url,{}).then((res)=>{
      this.setData({
        areaList: this.data.areaList.concat(res)
      })
    })
  },
  // 获取矩阵列表
  getCompanyList(beautiful_switch,category_id,park){
    let url = '/api/Company/index', b = this, companyList = b.data.page > 1 ? b.data.companyList : [];
    let params = {
      beautiful_switch: beautiful_switch||'0',
      category_id: category_id||'0',
      park:park||'',
      page: b.data.page
    }
    app.post(url,params).then((res)=>{
      b.setData({
        companyList: companyList.concat(res.data),
        totalPage: res.total,
        currpage: res.current_page, 
        ifData: companyList.concat(res.data).length>0?!0:!1,
        noMore: res.last_page>res.current_page?!1:!0
      })     
      wx.stopPullDownRefresh();
    })
  },
  // 更新token
  changeToken(){
    let url = '/api/user/codeToToken',t = this;
    wx.login({
      success:function(res){
        console.log(res)
        app.post(url,{code:res.code}).then((r)=>{
          wx.setStorageSync('token', r.userInfo.token);
          t.getUserInfo()
        })
      }
    }) 
  },
  getMore(){
    let t = this;
    !t.data.noMore?(t.setData({
      page:t.data.page+1
    }), t.getCompanyList(t.data.category_id,t.data.park)):wx.showToast({
      title: '没有更多了',
      icon:'none'
    })
  },
  tabCharge(e) {
    let s = this, singleWidth = s.data.windowWidth / 7, cur = e.currentTarget.dataset.index+1;
    s.setData({
      beautiful_switch: e.currentTarget.dataset.beau,
      companyList:[],
      page:1,
      current: e.currentTarget.dataset.current,
      category_id: e.currentTarget.dataset.current,
      navScrollLeft:(cur-2)*singleWidth
    })
    s.getCompanyList(e.currentTarget.dataset.beau,e.currentTarget.dataset.current, s.data.park)
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    let a = this;
    a.changeToken(),a.getTypes(), a.getAreas(), a.getCompanyList(), wx.getSystemInfo({
      success: function (t) {
        a.setData({
          scrollHeight: t.windowHeight-50,
          windowWidth: t.windowWidth
        });
      }
    });
  },


  getUserInfo() {
    let d = this, url = '/api/user/index'; 
    app.post(url, {}).then((r) => {
      console.log(r.noticeNum)
      d.setData({ userInfo: r.userInfo, noticeNum: r.noticeNum })
      if (r.noticeNum!=0){
        let num = r.noticeNum
        num = num.toString()
        wx.setTabBarBadge({
          index: 4,
          text: num
        })
      }else{
        wx.hideTabBarRedDot({
          index: 4,
        })
      }
    })
  },

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

  },

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

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

  },

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

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {
    let t = this;t.setData({
      page: 1,
    }), t.getCompanyList(t.data.beautiful_switch,t.data.category_id, t.data.park);
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {
    this.getMore();  
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {

  }
})