/*******************************************************************************
* Copyright(c) 2022 dongke All rights reserved. / Confidential
* 类的信息：
*		1.程序名称：
*		2.功能描述：企业选择画面
* 编辑履历：
*		作者				日期					版本				修改内容
*		姜永辉		  	2022-11-22			1.00		   	新建
*******************************************************************************/
const api = require('@/utils/api.js');
const Constants = require('@/utils/Constants.js');
const util = require('@/utils/util');

const app = getApp()
Page({
    /**
     * 页面的初始数据
     */
    data: {
        // 加入企业的列表
        companyList: [],
        // 语言包
        $t: app.globalData.lang,
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        let that = this
        // 获取二维码
        that.loadCompanyData()
    },

    /**
   * @desc : 获取当前用户所有的公司
   * @date : 2022/5/12 13:49
   * @author : 姜永辉
   */
    loadCompanyData() {
        let list = []
        // 如果当前是体验企业，那么就不用查，直接用缓存中的数据
        let openId = app.globalData.openid
        if (openId == Constants.testCpCodes.std_test ||
            openId == Constants.testCpCodes.pro_test) {
            console.log('app.globalData1', app.globalData);
            if (app.globalData.company_social && app.globalData.user_social) {
                let item = { ...app.globalData.company_social }
                item.openid = app.globalData.user_social.userWxId
                list.push(item)
            }
            this.setData({
                companyList: list.concat(Constants.testCpList)
            })
        } else {
            api.request(Constants.SYS_OPENID_API + 'company/select_company/' + openId, 'POST', null).then(res => {
                if (res.data.code == Constants.SUCESS_CODE) {
                    let list = res.data.data

                    this.setData({
                        companyList: list.concat(Constants.testCpList)
                    })
                }
            })
        }
    },

    /**
     * @desc : 更新当前用户所在的公司id
     * @date : 2022/5/12 13:49
     * @author : 姜永辉
     */
    updateCompanyID(item) {
        let param = {
            openid: app.globalData.openid,
            cpId: item.cpId
        }
        api.request(Constants.SYS_OPENID_API + 'company/update_current_cp_by_wxid', 'POST', param).then(res => {
            if (res.data.code == Constants.SUCESS_CODE) {
                // 调转主页
                wx.reLaunch({
                    url: '../../pages/welcome/welcome',
                })
            }
        })
    },


    /**
    * @desc : 点击公司进入主页
    * @date : 2022/5/12 13:49
    * @author : 姜永辉
    */
    clickCompany(e) {
        // 点击企业时候反写当前公司
        let item = e.currentTarget.dataset.item
        if (item.cpId == 2 || item.cpId == 3) {
            this.freeClick(item)
        } else {
            console.log('eeeee1', e, new Date(), new Date(item.endDate), new Date() > new Date(item.endDate));
            // 公司之间切换
            let openId = app.globalData.openid
            if (openId != Constants.testCpCodes.std_test &&
                openId != Constants.testCpCodes.pro_test) {
                let updateFlag = true
                // 如果到期就给出提示,不允许登录
                if (item.endDate) {
                    let endD = new Date(item.endDate);
                    let nowD = new Date();
                    if (endD < nowD) {
                        updateFlag = false;
                        util.showToast(app.globalData.lang['companyInfo']);
                    }
                }
                if (updateFlag) {
                    // 切换企业
                    this.updateCompanyID(item)
                }
            } else {
                // 体验公司切换到正常公司
                wx.reLaunch({
                    url: '../../pages/welcome/welcome',
                })
            }
        }
    },

    /**
     * @desc : 获取微信派发的临时登录凭证
     * @date : 2022/5/12 13:49
     * @author : 姜永辉
     */
    getTokenPromise() {
        // 先删除掉之前的token
        app.globalData.token = null;
        return new Promise((resolve, reject) => {
            api.request(Constants.SYS_OPENID_API + 'oauth/feign/wx/token', 'POST',
                { 'userWxid': app.globalData.openid }).then(res => {
                    resolve(res)
                })
        })
    },

    /**
    * @desc : 登录后获取数据
    * @date : 2022/5/12 13:49
    * @author : 周兴
    */
    getInfoAfterLogin() {
        api.request('mdm-server/mst/staff/get_info_after_login', 'POST',
            {
                'appCode': Constants.APP_CODE,
                'cpId': app.globalData.company.cpId,
                'userId': app.globalData.user.userId
            }).then(res => {
                if (res.data.code === Constants.SUCESS_CODE) {
                    console.log('red', res);
                    // 员工
                    let staff = res.data.data.staff
                    if (staff && staff.staffId) {
                        app.globalData.user.staffId = staff.staffId
                        app.globalData.user.staffCode = staff.staffCode
                        app.globalData.user.staffName = staff.staffName
                        app.globalData.user.roleIds = staff.roleIds
                        app.globalData.user.orgId = staff.orgId
                        app.globalData.user.orgName = staff.orgName
                        app.globalData.user.defaultWhName = staff.defaultWhName
                        app.globalData.user.defaultWhId = staff.defaultWhId
                        app.globalData.user.flgBusiness = staff.flgBusiness

                        // 调转主页--注意有场景值的情况 
                        if (this.data.scene) {
                            wx.reLaunch({
                                url: '../../pages/home-page/home-page?scene=' + this.data.scene,
                            })
                        } else {
                            wx.reLaunch({
                                url: '../../pages/home-page/home-page',
                            })
                        }
                    }
                    // 菜单
                    let menuList = res.data.data.menuList
                    if (menuList) {
                        app.globalData.menus = menuList
                    }
                    // 常用菜单
                    let comMenuList = res.data.data.comMenuList
                    if (comMenuList) {
                        app.globalData.comMenuList = comMenuList
                    }
                    // 系统参数
                    let setting = res.data.data.settingValue
                    if (setting) {
                        app.globalData.setting = JSON.parse(setting.setting.value)
                        // console.log('setting', app.globalData.setting[Constants.settingCode.IVT001]);
                    }
                    // 系统字典
                    let dataKindList = res.data.data.dataKindList
                    if (dataKindList) {
                        app.globalData.dataKindList = dataKindList
                    }
                }
            })
        console.log('app.globalData', app.globalData);
    },

    /**
    * @desc : 免费体验
    * @date : 2022/5/12 13:49
    * @author : 姜永辉
    */
    freeClick(e) {
        // 测试的openid
        app.globalData.openid = e.openid
        let _this = this
        //  调用接口
        _this.getTokenPromise().then(res => {
            if (res.data.code === Constants.SUCESS_CODE) {
                let data = res.data.data;
                // 先存放之前的用户信息，便于切换回来
                if (data.userWxId == 'std_test' || data.userWxId == 'pro_test') {
                    app.globalData.company_social = { ...app.globalData.company }
                    app.globalData.user_social = { ...app.globalData.user }
                }
                console.log('app.company', app.globalData);
                // 记录登录的缓存
                app.globalData.company = data.company

                app.globalData.user = {
                    userId: data.userId,
                    userWxId: data.userWxId,
                    userName: data.userName,
                    userPhone: data.userPhone
                }
                app.globalData.token = data.accessToken
                // 读取后台设置的url
                if (data.company && data.company.svcIp && data.company.svcPort) {
                    app.globalData.URI = data.company.svcIp + ':' + data.company.svcPort
                }
                if (!data.company
                    || !data.company.cpId) {
                    // 调转选择公司
                    wx.reLaunch({
                        url: '../../pages/company/company',
                    })
                } else {
                    // // 接口登录后获取数据
                    _this.getInfoAfterLogin();
                    // 调转主页
                    // wx.reLaunch({
                    //     url: '../../pages/home-page/home-page',
                    // })
                }
            }
        })
    },


    /**
 * @desc : 跳转到续费页面
 * @author : 周兴
 * @date : 2024/4/9
 */
    handleRecharge(e) {
        // 点击企业时候反写当前公司
        let item = e.currentTarget.dataset.item
        // 记录登录的缓存
        app.globalData.company = item
        let url = '/package-basic-data/pages/activity/activity'
        wx.navigateTo({
            url: url,
            events: {
                // 保存成功后刷新页面
                refresh: function (data) {
                    // 刷新一览界面
                    wx.reLaunch({
                        url: '/pages/welcome/welcome',
                    })
                }
            },
        })
    },

})