import config from '../../../config'
import { queryTaskCountByCategory } from '../../../api/flowable'
import {
  getToken
} from '../../../utils/auth'
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    deptId: "",
    userId: "",
    loginName: "",
    projectId: "",
    minRoleId: "",
    projectData: {},
    initData: {},
    show: false,
    listData: [],
    category: null,
    categoryName: '',
    categoryActive:'',
    request: app.globalData.reqUrl,
    typeList: [{
        id: 1,
        name: '程序及质量类',
        icon: config.baseUrl + '/staticFiles/img/cxjzll.png',
        todoDB:0,
      }, {
        id: 2,
        name: '安全类',
        icon: config.baseUrl + '/staticFiles/img/aql.png',
        todoDB:0,
      },
      {
        id: 3,
        name: '认价类',
        icon: config.baseUrl + '/staticFiles/img/rjl.png',
        todoDB:0,
      }, {
        id: 4,
        name: '图纸类',
        icon: config.baseUrl + '/staticFiles/img/tzl.png',
        todoDB:0,
      }, {
        id: 5,
        name: '项目管理制度',
        icon: config.baseUrl + '/staticFiles/img/xmglzdl.png',
        todoDB:0,
      }, {
        id: 6,
        name: '索赔类',
        icon: config.baseUrl + '/staticFiles/img/spl.png',
        todoDB:0,
      }, {
        id: 7,
        name: '特殊事项确认',
        icon: config.baseUrl + '/staticFiles/img/tssxqrl.png',
        todoDB:0,
      }, {
        id: 8,
        name: '专项验收审批',
        icon: config.baseUrl + '/staticFiles/img/zxyssp.png',
        todoDB:0,
      }
    ],
  },

  getInfo(e) {
    let {
      deployId,
      procInsId,
      taskId,
      taskName,
      procDefKey,
      startDeptName,
      startUserName,
      procDefName,
      businessKeyName,
      category
    } = e.currentTarget.dataset.set
    if (taskName == "提交申请") {
      if (procDefKey == "flow_xmglzdl_qjspb") {
        wx.redirectTo({
          url: `../editLeaveTask/index?deployId=${deployId}&procInsId=${procInsId}&nickName=${startUserName}&deptName=${startDeptName}&procDefName=${procDefName}&taskId=${taskId}&taskName=${taskName}&projectName=${businessKeyName}&ret=await&procDefKey=${procDefKey}&category=${category}`,
        })
      } else {
        wx.redirectTo({
          url: `../editTask/index?deployId=${deployId}&procInsId=${procInsId}&nickName=${startUserName}&deptName=${startDeptName}&procDefName=${procDefName}&taskId=${taskId}&taskName=${taskName}&projectName=${businessKeyName}&ret=await&procDefKey=${procDefKey}&category=${category}`,
        })
      }
    } else {
      //根据不同业务跳转不同表单
      if (procDefKey == "flow_xmglzdl_qjspb") {
        wx.redirectTo({
          url: `../approveLeaveTask/index?deployId=${deployId}&procInsId=${procInsId}&nickName=${startUserName}&deptName=${startDeptName}&procDefName=${procDefName}&taskId=${taskId}&taskName=${taskName}&projectName=${businessKeyName}&procDefKey=${procDefKey}&category=${category}`,
        })
      } else {
        wx.redirectTo({
          url: `../approveTask/index?deployId=${deployId}&procInsId=${procInsId}&nickName=${startUserName}&deptName=${startDeptName}&procDefName=${procDefName}&taskId=${taskId}&taskName=${taskName}&projectName=${businessKeyName}&procDefKey=${procDefKey}&category=${category}`,
        })
      }
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    if(!getToken()){
      wx.redirectTo({
        url: '../../login/index',
      })
    }
    let category;
    if(options && options.category){
      category = options.category;
      app.globalData.category = options.category;
    }else{
      category = app.globalData.category;
    }
    if (options && options.barProId) {
      //数据未加载完毕,从文件读取数据
      if (app.globalData.projectInfoList.length == 0) {
        wx.getStorage({
          key: 'projectInfoList',
          success: res => {
            app.globalData.projectInfoList = res.data;
            app.globalData.projectInfoList.forEach(item => {
              if (item.projectId == options.barProId) {
                app.globalData.projectId = item.projectId;
                app.globalData.projectName = item.projectName;
              }
            });
            //未查询到项目信息
            if (!app.globalData.projectId) {
              app.globalData.projectInfoList.push({
                projectId: options.barProId,
                projectId: options.barProName
              });
              app.globalData.projectId = options.barProId;
              app.globalData.projectName = options.barProName;
            }
            //从缓存读取项目信息
            this.setData({
              initData: {
                text: app.globalData.projectName,
                id: app.globalData.projectId
              }
            })
            let myProjects = this.selectComponent("#projectSel");
            myProjects.load();
          }
        })
      } else {
        app.globalData.projectInfoList.forEach(item => {
          if (item.projectId == options.barProId) {
            app.globalData.projectId = item.projectId;
            app.globalData.projectName = item.projectName;
          }
        });
        //未查询到项目信息
        if (!app.globalData.projectId) {
          app.globalData.projectInfoList.push({
            projectId: options.barProId,
            projectId: options.barProName
          });
          app.globalData.projectId = options.barProId;
          app.globalData.projectName = options.barProName;
        }
        //从缓存读取项目信息
        this.setData({
          initData: {
            text: app.globalData.projectName,
            id: app.globalData.projectId
          }
        })
      }
    } else {
      //从缓存读取项目信息
      this.setData({
        initData: {
          text: app.globalData.projectName,
          id: app.globalData.projectId
        }
      })
    }
    //获取缓存数据
    wx.getStorage({
      key: 'userinfo',
      success: res => {
        this.setData({
          loginName: res.data.loginName,
          userId: res.data.userId,
          projectId: app.globalData.projectId,
          minRoleId: res.data.minRoleId,
          deptId: res.data.deptId,
          initData: {
            text: app.globalData.projectName,
            id: app.globalData.projectId
          },
          category:category,
          categoryName:this.data.typeList[category-1].name,
          categoryActive:this.data.typeList[category-1].id
        })
        this.getListData(res.data.loginName, res.data.userId, res.data.deptId, res.data.minRoleId);
      }
    })
  },

  /**
   * 查询审批代办数据
   */
  getListData(loginName, userId, deptId, minRoleId) {
    var that = this;
    //businessKey注解掉可以跨项目审批
    let param = {
      "businessKey": this.data.projectId,
      "nowRole": minRoleId,
      "nowDept": deptId,
      "nowUserName": loginName,
      "nowUser": userId,
      "category": this.data.category
    }
    this.queryCountByCategory(param);
    wx.request({
      url: app.globalData.reqUrl + '/wechat/flowTask/myAwaitFlowTaskList',
      data: param,
      method: "post",
      success: function (res) {
        res = res.data;
        if (res.code == "200") {
          that.setData({
            listData: res.rows
          })
        } else {
          app.toast(res.msg);
        }
      }
    });
  },

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

  },

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

  },

  /**
   * 根据条件查询我的代办分组数量统计
   */
  queryCountByCategory:function(data){
    queryTaskCountByCategory(data).then(res =>{
      let typeList = this.data.typeList;
      typeList.forEach(type =>{
        let nv = true;
        res.data.forEach(item =>{
        if(type.id==item.category){
            if(item.total){
              nv=false;
              type.todoDB = item.total;
            }
        }
      })
      if(nv){
        type.todoDB = 0;
      }
      });
      this.setData({
        typeList
      })
    });
  },

  returnToPage: function () {
    /*关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面*/
    wx.redirectTo({
      url: '../../gengduogongneng/index',
    })
  },

  /**
   * 切换页签
   * @param {*} e 
   */
  categoryActive:function(e){
    let {id} = e.currentTarget.dataset.set
    this.setData({
      category:id,
      categoryActive: id
    })
    app.globalData.category = id;
    this.onLoad()
  },

  goFQLC: function () {
    wx.redirectTo({
      url: '../myFlowDefinition/index?category=' + this.data.category,
    })
  },

  goWDSQ: function () {
    wx.redirectTo({
      url: '../myProcessIns/index?category=' + this.data.category,
    })
  },

  goBLWC: function () {
    wx.redirectTo({
      url: '../finished/index?category=' + this.data.category,
    })
  },

  //项目切换 返回值
  onProjectSelect(e) {
    let projectId = e.detail.id;
    let projectName = e.detail.text;
    app.globalData.projectId = projectId;
    app.globalData.projectName = projectName;
    this.onLoad();
  },

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

  },

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

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

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

  },

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

  }
})