import { onPageLoadInitAuth, post } from '@/utils/https';
import { getAuthInfo, getDataSet, toArray } from '@/utils/util';

Page({
  /**
   * 页面的初始数据
   */
  data: {
    process: [] as any[],
    isFirstEnter: true,
    isLogin: false,
  },
  navDetail(e: any) {
    const index = getDataSet(e).index.split(',');
    const pProcess = this.data.process[index[0]];
    const cProcess = pProcess.child[index[1]];
    const { p_process_name, process_name, process_id } = cProcess;
    const title = encodeURIComponent(`${p_process_name} - ${process_name}`);
    this.data.isFirstEnter = false;
    wx.navigateTo({
      url: `/pages/produce/processManageDetail/processManageDetail?process_id=${process_id}&title=${title}`,
    });
  },
  handleLogin(e: any) {
    this.setData({ isLogin: e.detail });
    if (e.detail) {
      this.init();
      this.getList();
    }
  },
  init() {
    this.setData({ authInfo: getAuthInfo() });
  },
  getList() {
    return new Promise<void>((resolve, reject) => {
      post('CompanyProcessV2/getAllProcessNum')
        .then((res: any) => {
          this.setData({ process: toArray(res.data), isLogin: true });
          resolve(res);
        })
        .catch((res) => {
          this.setData({ isLogin: false });
          reject(res);
        })
        .finally(() => {
          wx.stopPullDownRefresh();
        });
    });
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    onPageLoadInitAuth(this, () => this.getList());
  },

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

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    if (!this.data.isFirstEnter) {
      this.getList();
    }
  },

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

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

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
    if (this.data.isLogin) {
      this.getList();
    }
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {},

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {},
});
