trunk/pc4mobx/organization/stores/personnelResume.js

329 lines
10 KiB
JavaScript

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;
}
}