import {
    observable,
    action
} from 'mobx';
import * as mobx from 'mobx';
import * as Api from '../apis/personnelResume';
import {
    WeaForm
} from 'comsMobx';
import {
    WeaTableNew
} from 'comsMobx';
import {
    Modal,
    message,
} from 'antd'
import {
    i18n
} from '../public/i18n';

const toJS = mobx.toJS;
const {
    TableStore
} = WeaTableNew;


export class PersonnelResumeStore {

    @observable topMenu = []
    @observable rightMenu = [];
    @observable condition = [];
    @observable form = new WeaForm();
    @observable loading = true;
    @observable resourceId = '';
    @observable resumeList = {};
    @observable percent = 0;
    @observable visible = false;
    @observable show = false;
    @observable params = {};
    @observable condition = [];
    @observable dialogLoading = true;
    // @observable resumeList = {
    //     lastName: '徐凤年',
    //     sex: '男',
    //     birthday: '1999-10-10',
    //     image:'',
    //     native: '上海',
    //     politics: '党员',
    //     department: '财务部',
    //     marriage: '已婚',
    //     jobtitle: '剑道第一人',
    //     companystartdate: '2020-12-31',
    //     workstartdate: '2011-10-10',
    //     idCard: '3409871298377483992',
    //     address: '江苏省南京市雨花台区润和创智中心',
    //     telephone: '19823045643',
    //     email: '16378324@163.com',
    //     selfStatement:'本人性格开朗,秦武大帝转世,世间武道的第一人',
    //     tables: [
    //         {
    //             title: '二、社会保险及住房公积金缴纳情况（单位/元）',
    //             columns: [
    //                 {
    //                     name: '首次参保时间',
    //                     colspans: 2,
    //                     rowspans: 1
    //                 },
    //                 {
    //                     name: '养老保险',
    //                     colspans: 1,
    //                     rowspans: 1
    //                 },
    //                 {
    //                     name: '医疗保险',
    //                     colspans: 1,
    //                     rowspans: 1
    //                 },
    //                 {
    //                     name: '失业保险',
    //                     colspans: 1,
    //                     rowspans: 1
    //                 },
    //                 {
    //                     name: '住房公积金',
    //                     colspans: 1,
    //                     rowspans: 1
    //                 },
    //                 {
    //                     name: '企业年金',
    //                     colspans: 1,
    //                     rowspans: 1
    //                 },
    //             ],
    //             datas: [
    //                 [{
    //                     value: '2022-10-02',
    //                     colspans: 2,
    //                     rowspans: 1
    //                 }, {
    //                     value: '80',
    //                     colspans: 1,
    //                     rowspans: 1
    //                 },
    //                 {
    //                     value: '36',
    //                     colspans: 1,
    //                     rowspans: 1
    //                 }, {
    //                     value: '360',
    //                     colspans: 1,
    //                     rowspans: 1
    //                 }, {
    //                     value: '180',
    //                     colspans: 1,
    //                     rowspans: 1
    //                 }, {
    //                     value: '20000',
    //                     colspans: 2,
    //                     rowspans: 1
    //                 }]
    //             ]
    //         },
    //         {
    //             title: '三、家庭成员信息（包括父母、配偶、子女）',
    //             columns: [
    //                 {
    //                     name: '关系',
    //                     colspans: 2,
    //                     rowspans: 1
    //                 },
    //                 {
    //                     name: '姓名',
    //                     colspans: 1,
    //                     rowspans: 1
    //                 },
    //                 {
    //                     name: '工作单位及职务',
    //                     colspans: 1,
    //                     rowspans: 1
    //                 },
    //                 {
    //                     name: '联系电话',
    //                     colspans: 1,
    //                     rowspans: 1
    //                 },
    //                 {
    //                     name: '住址',
    //                     colspans: 2,
    //                     rowspans: 1
    //                 }
    //             ],
    //             datas: [
    //                 [
    //                     {
    //                         value: '父子',
    //                         colspans: 2,
    //                         rowspans: 1
    //                     }, {
    //                         value: '徐晓',
    //                         colspans: 1,
    //                         rowspans: 1
    //                     },
    //                     {
    //                         value: '北凉王',
    //                         colspans: 1,
    //                         rowspans: 1
    //                     }, {
    //                         value: '1589756859',
    //                         colspans: 1,
    //                         rowspans: 1
    //                     }, {
    //                         value: '江苏省南京市北凉军营',
    //                         colspans: 2,
    //                         rowspans: 1
    //                     }
    //                 ],
    //                 [
    //                     {
    //                         value: '母子',
    //                         colspans: 2,
    //                         rowspans: 1
    //                     }, {
    //                         value: '吴素',
    //                         colspans: 1,
    //                         rowspans: 1
    //                     },
    //                     {
    //                         value: '北凉王妃',
    //                         colspans: 1,
    //                         rowspans: 1
    //                     }, {
    //                         value: '15897566487',
    //                         colspans: 1,
    //                         rowspans: 1
    //                     }, {
    //                         value: '江苏省南京市北凉龙雀军团',
    //                         colspans: 2,
    //                         rowspans: 1
    //                     }
    //                 ],
    //                 [
    //                     {
    //                         value: '女儿',
    //                         colspans: 2,
    //                         rowspans: 1
    //                     }, {
    //                         value: '徐念凉',
    //                         colspans: 1,
    //                         rowspans: 1
    //                     },
    //                     {
    //                         value: '北凉公主',
    //                         colspans: 1,
    //                         rowspans: 1
    //                     }, {
    //                         value: '15897566587',
    //                         colspans: 1,
    //                         rowspans: 1
    //                     }, {
    //                         value: '莽荒之地',
    //                         colspans: 2,
    //                         rowspans: 1
    //                     }
    //                 ]
    //             ]

    //         }
    //     ]


    // }


    @observable defaultShowLeft = true;
    @observable companysId = 1
    @observable hasRight = '';



    @action("获取操作按钮") getHasRight() {
        let _this = this;
        Api.getHasRight().then(res => {
            if (res.code === 200) {
                this.setHasRight(res.data.hasRight);
                res.data.rightMenu && this.setRightMenu(res.data.rightMenu);
                res.data.topMenu && this.setTopMenu(res.data.topMenu);
                setTimeout(function() {
                    res.data.hasRight && _this.getPersonnelResume();
                },1000)
            } else {
                message.warning(res.msg);
            }
        }, error => {
            message.warning(error.msg);
        })
    }

    @action("获取人员简历") getPersonnelResume() {
        this.resumeList = {};
        this.percent = 0;
        this.visible = false;
        this.interval = setInterval(() => this.getImportProcess(), 200);
        let params = {
            id:this.resourceId
        }
        Api.getPersonnelResume(params).then(res => {
            if (res.code === 200) {
                this.percent = 100;
                this.visible = true;
                this.resumeList = res.data;
            } else {
                clearInterval(this.interval);
                message.warning("简历模板加载失败");
            }
        }, error => {
            message.warning(error.msg);
        })

    }

    @action("头部加载进度条") getImportProcess() {
        if(this.visible) {
            clearInterval(this.interval);
          }else {
            let max = 95;
            let min = this.percent;
            if(this.percent < max) {
              this.percent = Math.floor(Math.random() * (max - min)) + min;
            }
          }
    }

    @action("人员筛选表单") getSearchCondition() {
        this.dialogLoading = true;
        Api.getAdvanceSearchCondition().then(res => {
            if (res.code === 200) {
                this.dialogLoading = false;
                res.data.conditions && this.setCondition(res.data.conditions);
                res.data.conditions && this.form.initFormFields(res.data.conditions);
            } else {
                message.warning(res.msg);
            }
        }, error => {
            message.warning(error.msg);
        })
    }

    @action("合并导出和全部导出") downloadPerResume(type) {
        Api.downloadPerResume(type);
    }


    setCondition(condition) {
        this.condition = condition;
    }

    setTopMenu(topMenu) {
        this.topMenu = topMenu;
    }

    setRightMenu(rightMenu) {
        this.rightMenu = rightMenu;
    }

    setHasRight(bool) {
        this.hasRight = bool;
    }

}