const app = getApp()
const util = require("../../../utils/util");
const api = require('../../../api/api.js');
const user = require('../../../utils/user.js');


import moment from 'moment'

Page({
  data: {
		wholeState:{

		},
    state:'',
    contractUrl:'',
    signTime:'',
		flowId:'',
		active:0,
		steps:[
			{
        text: '实名认证',
        desc: '',
        inactiveIcon: '',
        activeIcon: 'success',
      },
      {
        text: '背景认证',
        desc: '',
        // inactiveIcon: 'like-o',
        activeIcon: 'success',
      },
      {
				text: '完成',
				desc:'完成',
        inactiveIcon: '',
        activeIcon: 'success',
      },
     
		],
    
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // app.globalData.flowId='';
    // this.getState();
  },
 
  onReachBottom() {
  
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow(e) {
		this.getState();
    const options = wx.getEnterOptionsSync()
    // options数据在上方
    console.log('---options', options);
    // wx.showModal({
    //   title: '警告',
    //   content: JSON.stringify(options),
    // });
    // &&options.referrerInfo.extraData.faceResult.ErrorCode === 0
    if (options && options.referrerInfo&& options.referrerInfo.extraData && options.referrerInfo.extraData.faceResult&&app.globalData.isFirstFace) {
       //这里需要调用e签宝后端【个人实名刷脸结果核对】接口，查询刷脸结果
      //  刷脸完成，会跳到贵司自己的小程序，查询刷脸结果完成！
    //  this.getFaceResult();
    }
  },
  getState(){
		let userInfo = wx.getStorageSync('userInfo');
		let params={	workerNo:userInfo.workerNo};
		if(app.globalData.flowId){
			params.flowId=app.globalData.flowId;
		}
      util.request(api.faceAndInvestigation, params, 'GET').then(res=> {
        if (res.errno === 0) {
					let  faceCheckState=res.data.faceCheckState;
					let backInvestigateState=res.data.backInvestigateState;
					let signPersonState=res.data.signPersonState;
					this.setData({
						wholeState:res.data,
						'steps[0].desc':faceCheckState,
						'steps[1].desc':signPersonState+'|'+backInvestigateState
					});
					if(faceCheckState!='认证成功'){
						this.setData({
            active:0,
						'steps[0].activeIcon':'arrow',
				
            });
					}else if(backInvestigateState!='通过'){
						this.setData({
							active:1,
							'steps[0].inactiveIcon':'checked',
						
							'steps[1].activeIcon':'arrow',
						
							});
					}else if(backInvestigateState=='通过'){
						this.setData({
							active:2,
							'steps[0].inactiveIcon':'checked',
							'steps[1].inactiveIcon':'checked',
						
						
							});
					}
			
          
           
        }
    }).catch(err=>{
    });
    },
		signContract(){
      wx.showLoading({
        title: '加载中...',
      });
      let userInfo = wx.getStorageSync('userInfo');
      util.request(api.singGerenxinxisouquan, {
        workerNo:userInfo.workerNo
      }, 'GET').then(res=> {
        wx.hideLoading();
        if (res.errno === 0) {
            this.getSignUrl(res.data);
        }else{
          wx.showToast({
            title: res.errmsg,
            icon:'none'
          })
        }
    }).catch(err=>{
    });
    },
    getFaceResult(){
      let userInfo = wx.getStorageSync('userInfo');
     
        util.request(api.getFaceResult, {
          workerNo:userInfo.workerNo,
          flowId:app.globalData.flowId
        }, 'GET').then(res=> {
          console.log(res);
          // wx.showModal({
          //   title: '警告',
          //   content: JSON.stringify(res),
          // });
          if (res.errno === 0) {
               this.setData({
            
              state:res.data.faceCheckState,
             
               signTime:res.data.faceCheckTime!=''?moment(res.data.faceCheckTime).format('YYYY-MM-DD HH:mm:ss'):'',
             
              });
              
            
          }
      }).catch(err=>{
      });
      },
    getSignUrl(id){
    
        util.request(api.selectContractSignUrl, {
          procedureId:id
        }, 'GET').then(res=> {
          if (res.errno === 0) {
              
            app.globalData.webViewUrl=res.data;
         
            wx.navigateTo({
              url: '/pages/upgrade/webView/webView',
            });
          }else{
            wx.showToast({
              title: res.errmsg,
              icon:'none'
            })
          }
      }).catch(err=>{
      });
      },
    viewContract(){
      app.globalData.webViewUrl=this.data.wholeState.signPersonUrl;
      wx.navigateTo({
        url: '/pages/upgrade/webView/webView',
      })
		},
		goAuth(){
			if(this.data.active==0){
				this.faceAuth();

			}else if(this.data.active==1&&this.data.wholeState.backInvestigateState=='未背调'&&this.data.wholeState.signPersonState=='未签署'&&this.data.wholeState.signPersonUrl==''){
				this.signContract();
			}else if(this.data.active==1&&this.data.wholeState.backInvestigateState=='未背调'&&this.data.wholeState.signPersonState=='未签署'&&this.data.wholeState.signPersonUrl!=''){
        this.viewContract();
			}
		},
		faceAuth(){
      let userInfo = wx.getStorageSync('userInfo');
      wx.showLoading({
        title: '加载中...',
      });
      util.request(api.workerIndividualFace, {
        workerNo:userInfo.workerNo
      }, 'GET').then(res=> {
        wx.hideLoading();
        if (res.errno === 0) {
            // this.getSignUrl(res.data);
            let faceToken=res.data.faceToken;
            app.globalData.flowId=res.data.flowId;
            app.globalData.isFirstFace=true;
            wx.navigateToMiniProgram({
              appId: 'wx1cf2708c2de46337',  // 公证签小程序APPID
              path: `/pages/face/index?bizToken=${faceToken}`, // 刷脸页面地址
            });
        }else{
          wx.showToast({
            title: res.errmsg,
            icon:'none'
          })
        }
    }).catch(err=>{
    });
    },
  onHide: function () {

  },

  onUnload: function () {

  },
  

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

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
   
  },
  
  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  
})