You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
3.1 KiB
70 lines
3.1 KiB
import React, { useEffect, useState } from 'react';
|
|
import { Modal, Form, Button, Upload } from '@douyinfe/semi-ui';
|
|
import { IconUpload } from '@douyinfe/semi-icons';
|
|
import ExportJsonExcel from 'js-export-excel';
|
|
const ExportMembersModal = (props) => {
|
|
const { onCancel, user } = props;
|
|
useEffect(() => {
|
|
|
|
}, []);
|
|
|
|
const handleOk = () => {
|
|
|
|
}
|
|
|
|
const download = () => {
|
|
dldTemplate();
|
|
dldText("填写说明.txt", "12121212121212");
|
|
}
|
|
|
|
const dldTemplate = () => {
|
|
let dataTable = [];
|
|
let option = {};
|
|
option.fileName = '人资系统人员信息导入模板';
|
|
option.datas = [
|
|
{
|
|
sheetData: dataTable,
|
|
sheetName: '人资系统人员信息导入模板',
|
|
sheetFilter: ['人员编号', '姓名', '证件号', '性别(男/女)', '出生年月日(例2022/02/01)', '籍贯', '婚育状态(已婚/未婚/已婚已育)', '政治面貌', '联系方式', '工作地点', '毕业院校', '学历', '专业', '毕业时间', '入职时间', '转试用期时间', '转正时间', '离职日期', '工作经验(年)', '历史工作经历与职务'], //excel文件中需显示的列数据
|
|
sheetHeader: ['人员编号', '姓名', '证件号', '性别(男/女)', '出生年月日(例2022/02/01)', '籍贯', '婚育状态(已婚/未婚/已婚已育)', '政治面貌', '联系方式', '工作地点', '毕业院校', '学历', '专业', '毕业时间', '入职时间', '转试用期时间', '转正时间', '离职日期', '工作经验(年)', '历史工作经历与职务'], //excel文件中每列的表头名称
|
|
}
|
|
]
|
|
let toExcel = new ExportJsonExcel(option); //生成excel文件
|
|
toExcel.saveExcel(); //下载excel文件
|
|
}
|
|
|
|
const dldText = (filename, text) => {
|
|
var element = document.createElement('a');
|
|
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
|
|
element.setAttribute('download', filename);
|
|
|
|
element.style.display = 'none';
|
|
document.body.appendChild(element);
|
|
|
|
element.click();
|
|
document.body.removeChild(element);
|
|
}
|
|
|
|
const action = '/_file-server/upload?type=excel&token=' + user.token;
|
|
const fileLimit = '.xls,.xlsx,.csv';
|
|
|
|
return (
|
|
<Modal title="导入信息" visible={true} okText='完成'
|
|
onOk={() => handleOk(null)}
|
|
onCancel={onCancel}>
|
|
<Form>
|
|
<Form.Upload label={'员工信息'} labelPosition='left' action={action} accept={fileLimit} maxSize={200}>
|
|
<Button icon={<IconUpload />} theme="light">
|
|
请选择文件
|
|
</Button>
|
|
</Form.Upload>
|
|
<div style={{ color: '#ccc' }}>最大不超过200M,导入文件需与
|
|
<span onClick={() => download()} style={{ cursor: 'pointer', color: '#0066FF' }}>导入模板</span>
|
|
一致</div>
|
|
</Form>
|
|
</Modal>
|
|
)
|
|
}
|
|
|
|
|
|
export default ExportMembersModal;
|