import React, { useEffect, useState } from 'react';
import { connect } from 'react-redux';
import { Select, Input, Button, RadioGroup, Radio, Tooltip } from '@douyinfe/semi-ui';
import { IconSearch } from '@douyinfe/semi-icons';
import PersonnelModal from '../components/personnelModal';
import ImportMembersModal from './import-members-modal'
import '../style.less'
import moment from 'moment'
import { set } from 'nprogress';
const Rest = (props) => {
const { dispatch, actions, history, user, loading, socket, xqMembers } = props
const { humanAffairs } = actions;
let [archivesList, setArchivesList] = useState([]);
const [personnelModal, setPersonnelModal] = useState(false);//档案弹框
const [exportModalVs, setExportModalVs] = useState(false);
const [keyword, setKeyword] = useState('');//搜索内容
const [keywordTarget, setKeywordTarget] = useState('');//搜索类型
const [downloadUrl, setDownloadUrl] = useState('')
const optionsList = {
dimission: '离职',
onJob: '在职',
vacate: '请假',
inOffice: '在岗',
dayoff: '放假',
}
let [typeChoose, setTypeChoose] = useState('');
useEffect(() => {
getMemberSearchList()
}, [typeChoose])
function getMemberSearchList () {//搜索项企用户
dispatch(humanAffairs.getMemberSearch())
dispatch(humanAffairs.getMemberList({ keywordTarget, keyword, state: typeChoose })).then((res) => {//搜索项企用户
if (res.success) {
setArchivesList(res.payload?.data?.rows)
}
})
}
function typeOnChange (e) {//角色选择
setTypeChoose(e.target.value);
}
function seachValueChange (value) {
setKeyword(value)
}
return (
<>
{
setPersonnelModal(true);
}}>
新增档案
setExportModalVs(true)} style={{ padding: '6px 20px', background: '#00BA85', color: '#FFFFFF', fontSize: 14, cursor: "pointer", marginLeft: 20 }}>
导入员工信息
员工档案详情
EMPLOYEE FILE DETAILS
当前显示
{archivesList.length || 0}条
结果
人员状态:
全部
离职
在职
{
setDownloadUrl(`members/export?token=${user.token}×tamp=${moment().valueOf()}`)
}}>
导出
{
downloadUrl ?
: ''
}
{
archivesList?.map((item, index) => {
return (
{item.userCode}
{
item.departmrnt.map((ite, idx) => {
let departmentsArr = []
for (let i = 0; i < item.departmrnt.length; i++) {
departmentsArr.push(item.departmrnt[i].name)
}
return (
{idx == 0 ?
(
{ite.name}
) : ('')
}
{
item.departmrnt.length > 1 && idx == 1 ? (
...
) : ('')
}
)
})
}
{item.userName}
{
optionsList[item.state]
}
{item.birthday ? moment(new Date()).diff(item.birthday, 'years') + '岁' : '暂无'}
{item.experienceYear ? item.experienceYear + '年经验' : '暂无'}
{item.hiredate ? '入职' + moment(new Date()).diff(item.hiredate, 'years') + '年' : '暂无'}
{item.educationBackground || '暂无'}
)
})
}
{//新增档案弹框
personnelModal ?
{
setPersonnelModal(false);
}}
close={() => {
setPersonnelModal(false);
getMemberSearchList()
}} >
: ''
}
{
exportModalVs ? setExportModalVs(false)} xqMembers={xqMembers} /> : ''
}
>
)
}
function mapStateToProps (state) {
const { auth, global, MemberSearch, webSocket } = state;
return {
// loading: members.isRequesting,
user: auth.user,
actions: global.actions,
xqMembers: MemberSearch.data,
// socket: webSocket.socket
};
}
export default connect(mapStateToProps)(Rest);