forked from Gitlink/forgeplus-react
修复issue
This commit is contained in:
parent
63b6c4ee12
commit
c978956463
|
@ -34,7 +34,7 @@ export default props => {
|
|||
<Menu.Item><Link to="/task/payProof">支付报酬凭证上传</Link></Menu.Item>
|
||||
</SubMenu>
|
||||
|
||||
<Menu.Item><Link to="/task/taskAdmin">任务列表</Link></Menu.Item>
|
||||
<Menu.Item><Link to="/task/taskAdmin">创客任务列表</Link></Menu.Item>
|
||||
<Menu.Item><Link to="/task/paperManage">创意征集评论</Link></Menu.Item>
|
||||
</Menu>
|
||||
});
|
||||
|
@ -45,12 +45,12 @@ export default props => {
|
|||
</Menu>
|
||||
});
|
||||
|
||||
const expertMenu = useMemo(() => {
|
||||
return <Menu>
|
||||
<Menu.Item><Link to={`/expert/admin/register`}>专家注册审核</Link></Menu.Item>
|
||||
<Menu.Item><Link to={`/expert/admin/list`}>专家库</Link></Menu.Item>
|
||||
</Menu>
|
||||
});
|
||||
// const expertMenu = useMemo(() => {
|
||||
// return <Menu>
|
||||
// <Menu.Item><Link to={`/expert/admin/register`}>专家注册审核</Link></Menu.Item>
|
||||
// <Menu.Item><Link to={`/expert/admin/list`}>专家库</Link></Menu.Item>
|
||||
// </Menu>
|
||||
// });
|
||||
|
||||
const userMenu = useMemo(() => {
|
||||
return <Menu>
|
||||
|
@ -58,6 +58,8 @@ export default props => {
|
|||
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/admin/entities`}>主体信息列表</a></Menu.Item>
|
||||
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/managements/users_trial`}>试用授权列表</a></Menu.Item>
|
||||
<Menu.Item><a target="_blank" rel="noopener noreferrer" href={`${main_web_site_url}/managements/auto_users_trial`}>自动授权列表</a></Menu.Item>
|
||||
<Menu.Item><Link to={`/expert/admin/register`}>专家注册列表</Link></Menu.Item>
|
||||
<Menu.Item><Link to={`/expert/admin/list`}>专家库列表</Link></Menu.Item>
|
||||
</Menu>
|
||||
});
|
||||
|
||||
|
@ -123,9 +125,9 @@ export default props => {
|
|||
<div className="drop-div">竞赛</div>
|
||||
</Dropdown>
|
||||
|
||||
<Dropdown key={'expert'} overlay={expertMenu} placement="bottomLeft">
|
||||
{/* <Dropdown key={'expert'} overlay={expertMenu} placement="bottomLeft">
|
||||
<div className="drop-div">专家</div>
|
||||
</Dropdown>
|
||||
</Dropdown> */}
|
||||
|
||||
<Dropdown key={'userMenu'} overlay={userMenu} placement="bottomLeft">
|
||||
<div className="drop-div">用户</div>
|
||||
|
|
|
@ -6,7 +6,7 @@ export default (props) => {
|
|||
const { loading, dataSource, columns, handleRow, total, setCurPage, current, rowSelection, expandedRowRender, expandIconColumnIndex } =props;
|
||||
|
||||
return (
|
||||
<Fragment>
|
||||
<div className='pagination-table'>
|
||||
<Table
|
||||
loading={loading}
|
||||
rowKey={(row) => row.id}
|
||||
|
@ -21,11 +21,12 @@ export default (props) => {
|
|||
/>
|
||||
{total > 10 &&
|
||||
<Pagination
|
||||
showQuickJumper
|
||||
onChange={setCurPage}
|
||||
current={current}
|
||||
total={total}
|
||||
/>}
|
||||
</Fragment>
|
||||
</div>
|
||||
|
||||
)
|
||||
}
|
||||
|
|
|
@ -1,14 +1,27 @@
|
|||
.ant-table-wrapper{
|
||||
::-webkit-scrollbar{
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
}
|
||||
.ant-table-hide-scrollbar{
|
||||
margin-bottom: -5px;
|
||||
overflow-y: hidden !important;
|
||||
::-webkit-scrollbar{
|
||||
.pagination-table {
|
||||
.ant-table-wrapper {
|
||||
::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
}
|
||||
.ant-table-hide-scrollbar {
|
||||
margin-bottom: -5px;
|
||||
overflow-y: hidden !important;
|
||||
::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
height: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ant-pagination{
|
||||
margin-top:1.25rem;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
// .ant-table-row-cell-break-word{
|
||||
// .ant-btn{
|
||||
// display: inline-block;
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@ import { Upload, Button } from 'antd';
|
|||
import { appendFileSizeToUploadFileAll } from 'educoder';
|
||||
import { httpUrl } from '../fetch';
|
||||
|
||||
function Uploads({ className, size, actionUrl, fileList, showNotification, load,accept }) {
|
||||
function Uploads({ className, size, actionUrl, fileList, showNotification, load, accept, disabled }) {
|
||||
const [files, setFiles] = useState(undefined);
|
||||
|
||||
useEffect(() => {
|
||||
|
@ -75,6 +75,7 @@ function Uploads({ className, size, actionUrl, fileList, showNotification, load,
|
|||
const upload = {
|
||||
name: 'file',
|
||||
fileList: files,
|
||||
disabled: disabled,
|
||||
action: (httpUrl || actionUrl) + `/busiAttachments/upload`,
|
||||
onChange: handleChange,
|
||||
onRemove: onAttachmentRemove,
|
||||
|
@ -82,7 +83,7 @@ function Uploads({ className, size, actionUrl, fileList, showNotification, load,
|
|||
};
|
||||
return (
|
||||
<Upload {...upload} className={className}>
|
||||
<Button type="primary">点击上传</Button>
|
||||
<Button type="primary" disabled={disabled}>点击上传</Button>
|
||||
<span className="ml10 color-grey-9">(你可以上传小于<span className="color-red">{size}MB</span>的文件)</span>
|
||||
</Upload>
|
||||
)
|
||||
|
|
|
@ -54,6 +54,9 @@ function RegisterList({ showNotification }) {
|
|||
{
|
||||
title: '工作单位',
|
||||
dataIndex: 'workplace',
|
||||
key: 'workplace',
|
||||
// width: 250,
|
||||
|
||||
},
|
||||
{
|
||||
title: '单位类别',
|
||||
|
@ -68,11 +71,11 @@ function RegisterList({ showNotification }) {
|
|||
{
|
||||
title: '专业职称',
|
||||
dataIndex: 'professionalTitle',
|
||||
width: 80,
|
||||
width: 100,
|
||||
},
|
||||
{
|
||||
title: '职称职级',
|
||||
dataIndex: 'professionalYears',
|
||||
dataIndex: 'titleRank',
|
||||
width: 80,
|
||||
},
|
||||
{
|
||||
|
@ -83,14 +86,17 @@ function RegisterList({ showNotification }) {
|
|||
{
|
||||
title: '评审领域1',
|
||||
dataIndex: 'reviewAreaOne',
|
||||
width: 100,
|
||||
},
|
||||
{
|
||||
title: '评审领域2',
|
||||
dataIndex: 'reviewAreaTwo',
|
||||
width: 100,
|
||||
},
|
||||
{
|
||||
title: '评审领域3',
|
||||
dataIndex: 'reviewAreaThree',
|
||||
width: 100,
|
||||
},
|
||||
{
|
||||
title: '毕业院校',
|
||||
|
@ -108,10 +114,12 @@ function RegisterList({ showNotification }) {
|
|||
{
|
||||
title: '邮箱地址',
|
||||
dataIndex: 'expertEmail',
|
||||
width:200,
|
||||
},
|
||||
{
|
||||
title: '开户银行',
|
||||
dataIndex: 'bankName',
|
||||
width: 110,
|
||||
},
|
||||
{
|
||||
title: '银行账号',
|
||||
|
@ -249,11 +257,11 @@ function RegisterList({ showNotification }) {
|
|||
<div className="expert-list centerbox">
|
||||
<div className="center-screen" >
|
||||
<div className="center-right-but">
|
||||
<Form.Item label={"全名/手机"}>
|
||||
<Form.Item label={"姓名/手机"}>
|
||||
<Search
|
||||
maxLength={20}
|
||||
style={{ width: "300px" }}
|
||||
placeholder="请输入专家全名或手机号"
|
||||
placeholder="请输入专家姓名或手机号"
|
||||
onSearch={(value) => { setSearchInput(value); setCurPage(1); }}
|
||||
/>
|
||||
</Form.Item>
|
||||
|
@ -290,7 +298,7 @@ function RegisterList({ showNotification }) {
|
|||
>
|
||||
<button className="but41_fill">导入</button>
|
||||
</Upload>
|
||||
<Button loading={downloading} className="but41_fill" onClick={() => { setDownload(Math.random()) }}>导出</Button>
|
||||
<Button loading={downloading} className="ml10 but41_fill" onClick={() => { setDownload(Math.random()) }}>导出</Button>
|
||||
|
||||
{/* <ExportExcel tableClass=".ant-table-scroll" fileName="专家列表" /> */}
|
||||
</div>
|
||||
|
@ -302,7 +310,7 @@ function RegisterList({ showNotification }) {
|
|||
total={total}
|
||||
setCurPage={setCurPage}
|
||||
current={curPage}
|
||||
scroll={{ x: 2100, y: 600 }}
|
||||
scroll={{ x: 2300 }}
|
||||
/>
|
||||
|
||||
<Table
|
||||
|
|
|
@ -116,8 +116,9 @@
|
|||
text-align: center;
|
||||
}
|
||||
|
||||
.has-error .ant-form-explain, .has-error .ant-form-split {
|
||||
.ant-form-explain, .ant-form-split {
|
||||
position: absolute;
|
||||
margin-top: -5px;
|
||||
font-size: 12px;
|
||||
color: #f5222d;
|
||||
}
|
|
@ -14,6 +14,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
const [submitConfirmValue, setSubmitConfirmValue] = useState(false);
|
||||
const [expertRegisterValues, setExpertRegisterValues] = useState();
|
||||
const [lastRegister, setLastRegister] = useState();
|
||||
const [forbidden, setForbidden] = useState(false);
|
||||
|
||||
const [resumeList, setResumeList] = useState([]);
|
||||
const [resumeIds, setResumeIds] = useState();
|
||||
|
@ -59,6 +60,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
setFieldsValue(params);
|
||||
setExpertRegisterValues(params);
|
||||
setLastRegister(lastRegister);
|
||||
setForbidden(lastRegister&&lastRegister.status===-1);
|
||||
|
||||
// 回写文件
|
||||
if (lastRegister.resume) {
|
||||
|
@ -85,6 +87,8 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
setHonorList(honors);
|
||||
setHonorIds(lastRegister.honors);
|
||||
}
|
||||
}else{
|
||||
setForbidden(false);
|
||||
}
|
||||
});
|
||||
}, [reload]);
|
||||
|
@ -244,7 +248,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
</p> */}
|
||||
|
||||
{
|
||||
lastRegister && lastRegister.status === -1 && <p className='ckecking'>
|
||||
lastRegister && lastRegister.status === -1 && <p className='checking'>
|
||||
您的资料正在审核,请稍候
|
||||
</p>
|
||||
}
|
||||
|
@ -267,6 +271,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
{ max: 20, message: '长度不能超过20个字符' }],
|
||||
<Input
|
||||
placeholder="请输入您的姓名"
|
||||
disabled={forbidden}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
@ -286,6 +291,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
}],
|
||||
<Input
|
||||
placeholder="请输入您的手机号码"
|
||||
disabled={forbidden}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
@ -293,7 +299,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
helper('单位类别',
|
||||
'workplaceType',
|
||||
[{ required: true, message: "请选择单位类别" }],
|
||||
<Select placeholder="请选择" dropdownClassName="expert_register">
|
||||
<Select disabled={forbidden} placeholder="请选择" dropdownClassName="expert_register">
|
||||
{unitType.map(item => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})}
|
||||
|
@ -307,6 +313,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
{ max: 50, message: '长度不能超过50个字符' }],
|
||||
<Input
|
||||
placeholder="请输入您的专业职称"
|
||||
disabled={forbidden}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
@ -314,7 +321,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
helper('专家类别',
|
||||
'expertType',
|
||||
[{ required: true, message: "请选择专家类别" }],
|
||||
<Select placeholder="请选择" dropdownClassName="expert_register">
|
||||
<Select disabled={forbidden} placeholder="请选择" dropdownClassName="expert_register">
|
||||
{professionalType.map(item => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})}
|
||||
|
@ -323,8 +330,8 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
}
|
||||
{
|
||||
helper('评审领域2',
|
||||
'"reviewAreaTwo', [],
|
||||
<Select placeholder="请选择" dropdownClassName="expert_register">
|
||||
'reviewAreaTwo', [],
|
||||
<Select disabled={forbidden} placeholder="请选择" dropdownClassName="expert_register">
|
||||
{reviewArea.map(item => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})}
|
||||
|
@ -336,6 +343,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
'graduatedFrom', [{ max: 50, message: '长度不能超过50个字符' }],
|
||||
<Input
|
||||
placeholder="请输入您的毕业院校"
|
||||
disabled={forbidden}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
@ -355,6 +363,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
}],
|
||||
<Input
|
||||
placeholder="请输入您的身份证号码"
|
||||
disabled={forbidden}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
@ -363,6 +372,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
'bankName', [{ max: 50, message: '长度不能超过50个字符' }],
|
||||
<Input
|
||||
placeholder="请输入您的开户银行"
|
||||
disabled={forbidden}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
@ -372,6 +382,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
size={100}
|
||||
showNotification={showNotification}
|
||||
fileList={resumeList}
|
||||
disabled={forbidden}
|
||||
/>
|
||||
</Form.Item>
|
||||
<Form.Item className="upload-form" label="学术成果">
|
||||
|
@ -380,6 +391,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
size={100}
|
||||
showNotification={showNotification}
|
||||
fileList={achievementList}
|
||||
disabled={forbidden}
|
||||
/>
|
||||
</Form.Item>
|
||||
</div>
|
||||
|
@ -388,7 +400,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
helper('最高学历',
|
||||
'highestDegree',
|
||||
[{ required: true, message: '请选择最高学历' }],
|
||||
<Select placeholder="请选择" dropdownClassName="expert_register">
|
||||
<Select disabled={forbidden} placeholder="请选择" dropdownClassName="expert_register">
|
||||
{highestEducation.map(item => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})}
|
||||
|
@ -401,6 +413,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
[{ required: true, message: "工作单位不能为空" }],
|
||||
<Input
|
||||
placeholder="请输入您的工作单位"
|
||||
disabled={forbidden}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
@ -408,7 +421,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
helper('工作性质',
|
||||
'workNature',
|
||||
[{ required: true, message: "请选择工作性质" }],
|
||||
<Select placeholder="请选择" dropdownClassName="expert_register">
|
||||
<Select disabled={forbidden} placeholder="请选择" dropdownClassName="expert_register">
|
||||
{natureOfWork.map(item => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})}
|
||||
|
@ -419,7 +432,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
helper('职称职级',
|
||||
'titleRank',
|
||||
[{ required: true, message: "请选择职称职级" }],
|
||||
<Select placeholder="请选择" dropdownClassName="expert_register">
|
||||
<Select disabled={forbidden} placeholder="请选择" dropdownClassName="expert_register">
|
||||
{positionLevel.map(item => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})}
|
||||
|
@ -430,7 +443,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
helper('评审领域1',
|
||||
'reviewAreaOne',
|
||||
[{ required: true, message: "请选择评审领域" }],
|
||||
<Select placeholder="请选择" dropdownClassName="expert_register">
|
||||
<Select disabled={forbidden} placeholder="请选择" dropdownClassName="expert_register">
|
||||
{reviewArea.map(item => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})}
|
||||
|
@ -440,7 +453,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
{
|
||||
helper('评审领域3',
|
||||
'reviewAreaThree', [],
|
||||
<Select placeholder="请选择" dropdownClassName="expert_register">
|
||||
<Select disabled={forbidden} placeholder="请选择" dropdownClassName="expert_register">
|
||||
{reviewArea.map(item => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})}
|
||||
|
@ -452,6 +465,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
'major', [{ max: 50, message: '长度不能超过50个字符' }],
|
||||
<Input
|
||||
placeholder="请输入您的专业"
|
||||
disabled={forbidden}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
@ -469,6 +483,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
}],
|
||||
<Input
|
||||
placeholder="请输入您的常用邮箱地址"
|
||||
disabled={forbidden}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
@ -477,6 +492,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
'bankAccount', [{ max: 50, message: '长度不能超过50个字符' }],
|
||||
<Input
|
||||
placeholder="请输入您的银行卡号"
|
||||
disabled={forbidden}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
@ -486,6 +502,7 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
size={100}
|
||||
showNotification={showNotification}
|
||||
fileList={titleCertList}
|
||||
disabled={forbidden}
|
||||
/>
|
||||
</Form.Item>
|
||||
<Form.Item className="upload-form" label="荣誉称号">
|
||||
|
@ -494,16 +511,17 @@ export default Form.create()(({ match, history, showNotification, form, current_
|
|||
size={100}
|
||||
showNotification={showNotification}
|
||||
fileList={honorList}
|
||||
disabled={forbidden}
|
||||
/>
|
||||
</Form.Item>
|
||||
</div>
|
||||
</Form>
|
||||
<div className='buts'>
|
||||
{/* <button className="but41_fill mr20" disabled={lastRegister && lastRegister.status === -1} onClick={() => expertRegisterSubmit(true)}>提交资料</button>
|
||||
<button className="but41_border mr20" disabled={lastRegister && lastRegister.status === -1} onClick={draft}>保存资料</button>
|
||||
{/* <button className="but41_fill mr20" disabled={forbidden} onClick={() => expertRegisterSubmit(true)}>提交资料</button>
|
||||
<button className="but41_border mr20" disabled={forbidden} onClick={draft}>保存资料</button>
|
||||
<button className="butE3_border" onClick={() => setCancelConfirmValue(true)}>取消</button> */}
|
||||
<Button className="but41_fill mr20" type="primary" disabled={lastRegister && lastRegister.status === -1} onClick={() => expertRegisterSubmit(true)}>提交资料</Button>
|
||||
<Button className="but41_border mr20" disabled={lastRegister && lastRegister.status === -1} onClick={draft}>保存资料</Button>
|
||||
<Button className="but41_fill mr20" type="primary" disabled={forbidden} onClick={() => expertRegisterSubmit(true)}>提交资料</Button>
|
||||
<Button className="but41_border mr20" disabled={forbidden} onClick={draft}>保存资料</Button>
|
||||
<Button className="butE3_border" onClick={cancel}>取消</Button>
|
||||
|
||||
<Modal
|
||||
|
|
|
@ -54,9 +54,12 @@
|
|||
&.ml80{
|
||||
margin-left: 120px;
|
||||
}
|
||||
.ant-form-item{
|
||||
display: flex;
|
||||
}
|
||||
.ant-form-item-label {
|
||||
width: 6em;
|
||||
line-height: 2.5em;
|
||||
line-height: 2.8em;
|
||||
}
|
||||
.ant-form-item-required::before{
|
||||
position: relative;
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
import React, { useState, useMemo, useEffect } from "react";
|
||||
import { Input, Select, Button, Form, DatePicker, Table, Pagination, Modal } from 'antd';
|
||||
import React, { useState, useCallback, useMemo, useEffect } from "react";
|
||||
import { Input, Select, Button, Form, Modal } from 'antd';
|
||||
import Paginationtable from "../../components/paginationTable";
|
||||
import { Confirm } from '../../components/ModalFun';
|
||||
import { expertList, registerCheck } from "../api";
|
||||
|
||||
import './index.scss';
|
||||
const { Search } = Input;
|
||||
const { Search, TextArea } = Input;
|
||||
|
||||
|
||||
function RegisterList({ showNotification }) {
|
||||
function RegisterList({ showNotification, form }) {
|
||||
const { getFieldDecorator, validateFields, setFieldsValue, } = form;
|
||||
const [reload, setReload] = useState();
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [curPage, setCurPage] = useState(1);
|
||||
|
@ -16,11 +17,14 @@ function RegisterList({ showNotification }) {
|
|||
const [searchInput, setSearchInput] = useState('');
|
||||
const [pageSize, setPageSize] = useState(10);
|
||||
|
||||
const [visible, setVisible] = useState(false);
|
||||
const [active, setActive] = useState({});
|
||||
|
||||
const columns = useMemo(() => {
|
||||
return [{
|
||||
title: '姓名',
|
||||
dataIndex: 'expertName',
|
||||
width: 55,
|
||||
width: 75,
|
||||
key: 'expertName',
|
||||
fixed: 'left',
|
||||
// render: (text, record) => {
|
||||
|
@ -30,52 +34,59 @@ function RegisterList({ showNotification }) {
|
|||
{
|
||||
title: '最高学历',
|
||||
dataIndex: 'highestDegree',
|
||||
width: 100,
|
||||
key: 'highestDegree',
|
||||
fixed: 'left',
|
||||
width: 80,
|
||||
},
|
||||
{
|
||||
title: '手机号码',
|
||||
dataIndex: 'phone',
|
||||
width: 100,
|
||||
key: 'phone',
|
||||
fixed: 'left',
|
||||
},
|
||||
{
|
||||
title: '工作单位',
|
||||
dataIndex: 'workplace',
|
||||
key: 'workplace',
|
||||
width: 350,
|
||||
},
|
||||
{
|
||||
title: '单位类别',
|
||||
dataIndex: 'workplaceType',
|
||||
width: 80,
|
||||
},
|
||||
{
|
||||
title: '工作性质',
|
||||
dataIndex: 'workNature',
|
||||
width: 80,
|
||||
},
|
||||
{
|
||||
title: '专业职称',
|
||||
dataIndex: 'professionalTitle',
|
||||
width: 100,
|
||||
},
|
||||
{
|
||||
title: '职称职级',
|
||||
dataIndex: 'professionalYears',
|
||||
dataIndex: 'titleRank',
|
||||
width: 80,
|
||||
},
|
||||
{
|
||||
title: '专家类别',
|
||||
title: '专业类别',
|
||||
dataIndex: 'expertType',
|
||||
width: 80,
|
||||
},
|
||||
{
|
||||
title: '评审领域1',
|
||||
dataIndex: 'reviewAreaOne',
|
||||
width: 100,
|
||||
},
|
||||
{
|
||||
title: '评审领域2',
|
||||
dataIndex: 'reviewAreaTwo',
|
||||
width: 100,
|
||||
},
|
||||
{
|
||||
title: '评审领域3',
|
||||
dataIndex: 'reviewAreaThree',
|
||||
width: 100,
|
||||
},
|
||||
{
|
||||
title: '毕业院校',
|
||||
|
@ -88,23 +99,22 @@ function RegisterList({ showNotification }) {
|
|||
{
|
||||
title: '身份证号',
|
||||
dataIndex: 'idNumber',
|
||||
width: 170,
|
||||
},
|
||||
{
|
||||
title: '邮箱地址',
|
||||
dataIndex: 'expertEmail',
|
||||
width: 200,
|
||||
},
|
||||
{
|
||||
title: '开户银行',
|
||||
dataIndex: 'bankName',
|
||||
width: 110,
|
||||
},
|
||||
{
|
||||
title: '银行账号',
|
||||
dataIndex: 'bankAccount',
|
||||
},
|
||||
{
|
||||
title: '个人简介',
|
||||
dataIndex: 'resume',
|
||||
},
|
||||
// {
|
||||
// title: '职称证明',
|
||||
// dataIndex: 'titleCertificate',
|
||||
|
@ -121,12 +131,12 @@ function RegisterList({ showNotification }) {
|
|||
{
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
width: 80,
|
||||
width: 120,
|
||||
fixed: 'right',
|
||||
render: (text, record) => {
|
||||
return <React.Fragment>
|
||||
<Button className="mr5 font-12" type="primary" size="small" onClick={() => { check(record, '1') }}>同意</Button>
|
||||
<Button className="mr5 font-12" type="danger" size="small" onClick={() => { check(record, '2') }}>拒绝</Button>
|
||||
<Button className="mr5 font-12" type="primary" size="small" onClick={() => { check(record, '1') }}>通过</Button>
|
||||
<Button className="mr5 font-12" type="danger" size="small" onClick={() => { setVisible(true); setActive(record) }}>拒绝</Button>
|
||||
</React.Fragment>
|
||||
}
|
||||
}
|
||||
|
@ -155,9 +165,9 @@ function RegisterList({ showNotification }) {
|
|||
}, [curPage, reload, searchInput]);
|
||||
|
||||
function check(record, checkStatus) {
|
||||
Modal.confirm({
|
||||
title: "警告",
|
||||
content: checkStatus == '1' ? "确认通过吗?通过后该用户将成为专家库的一员" : "确认拒绝吗?拒绝后该用户此次不能成为专家",
|
||||
Confirm({
|
||||
title: "提醒",
|
||||
content: checkStatus == '1' ? "您确定要审核通过吗?通过后该用户将成为专家库的一员" : "您确定要拒绝吗?拒绝后该用户此次不能成为专家",
|
||||
okText: '确定',
|
||||
cancelText: '取消',
|
||||
onOk() {
|
||||
|
@ -175,6 +185,42 @@ function RegisterList({ showNotification }) {
|
|||
});
|
||||
}
|
||||
|
||||
const helper = useCallback(
|
||||
(name, rules, widget) => (
|
||||
<Form.Item>
|
||||
{getFieldDecorator(name, { rules, validateFirst: true })(widget)}
|
||||
</Form.Item>
|
||||
),
|
||||
[]
|
||||
);
|
||||
|
||||
function refuse() {
|
||||
validateFields((err, values) => {
|
||||
if (!err) {
|
||||
registerCheck({
|
||||
expertId: active.id,
|
||||
isPassed: 2,
|
||||
userId: active.userId,
|
||||
reviewerAdvice:values.reviewerAdvice,
|
||||
}).then(res => {
|
||||
if (res.message === 'success') {
|
||||
showNotification('操作成功!');
|
||||
setReload(Math.random());
|
||||
setFieldsValue({
|
||||
reviewerAdvice:''
|
||||
});
|
||||
setVisible(false);
|
||||
setActive({});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
return (
|
||||
<div className="expert-list centerbox">
|
||||
<div className="center-screen" >
|
||||
|
@ -182,7 +228,7 @@ function RegisterList({ showNotification }) {
|
|||
<Search
|
||||
maxLength={20}
|
||||
style={{ width: "300px" }}
|
||||
placeholder="请输入专家全名或手机号"
|
||||
placeholder="请输入专家姓名或手机号"
|
||||
onSearch={(value) => { setSearchInput(value); setCurPage(1); }}
|
||||
/>
|
||||
</div>
|
||||
|
@ -194,8 +240,27 @@ function RegisterList({ showNotification }) {
|
|||
total={total}
|
||||
setCurPage={setCurPage}
|
||||
current={curPage}
|
||||
scroll={{ x: 1600, y: 600 }}
|
||||
scroll={{ x: 2300 }}
|
||||
/>
|
||||
|
||||
<Modal
|
||||
title="拒绝的原因"
|
||||
visible={visible}
|
||||
onOk={refuse}
|
||||
onCancel={() => { setVisible(false) }}
|
||||
className="form-edit-modal"
|
||||
>
|
||||
{helper(
|
||||
"reviewerAdvice",
|
||||
[{ required: visible, message: '请给出拒绝的原因' }],
|
||||
<TextArea
|
||||
placeholder="(必填)我想给点什么意见呢,200字以内"
|
||||
autoSize={{ minRows: 6 }}
|
||||
className="applyText"
|
||||
maxLength={200}
|
||||
/>
|
||||
)}
|
||||
</Modal>
|
||||
</div>)
|
||||
}
|
||||
export default RegisterList;
|
||||
export default Form.create()(RegisterList);
|
|
@ -9,10 +9,10 @@ function Review(){
|
|||
return(
|
||||
<div className="expert_review_system centerbox">
|
||||
<div className="navigation">
|
||||
<span>首页</span> > <span>专家评审系统</span>
|
||||
<Link to='/'>首页</Link> > <span>专家评审系统</span>
|
||||
</div>
|
||||
<div className="notExpert center_flex">
|
||||
<img src={system} />
|
||||
<img src={system} alt="img not found"/>
|
||||
<p className="ne_title">红山开源平台专家评审系统</p>
|
||||
<p className="ne_tips">您尚未被入选本平台专家团队,可提交专家资料进行注册申请加入专家团队</p>
|
||||
<p className="ne_bar"></p>
|
||||
|
|
|
@ -242,7 +242,7 @@ function SelectExpert(props) {
|
|||
{getFieldDecorator('searchInput', {})(<Search
|
||||
maxLength={20}
|
||||
style={{ width: "200px" }}
|
||||
placeholder="请输入专家全名或手机号"
|
||||
placeholder="请输入专家姓名或手机号"
|
||||
onSearch={(value) => { setSearchInput(value); setCurPage(1); }}
|
||||
/>)}
|
||||
</Form.Item>
|
||||
|
|
|
@ -224,6 +224,10 @@
|
|||
text-align: center;
|
||||
}
|
||||
|
||||
.text-left{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1200px) {
|
||||
.centerbox {
|
||||
width: 98%;
|
||||
|
|
Loading…
Reference in New Issue