-
+
+ {
+ lastRegister && lastRegister.status === -1 &&
+ 您的资料正在审核,请稍候
+
+ }
+ {
+ lastRegister && lastRegister.status === 2 &&
+ 您提交的资料已被拒绝,请完善资料后重新提交
+
+ }
+ {
+ lastRegister && lastRegister.status === 1 &&
+ 您已经是专家了,如果修改资料,修改后的资料需要管理员重新审核,审核过程中不会影响您的专家身份
+
+ }
+ {
+ (!lastRegister || (lastRegister && lastRegister.status === 3)) &&
专家资料
+ }
+
+
+
)
diff --git a/src/military/expert/register/index.scss b/src/military/expert/register/index.scss
index e3589ba8..41ea90cb 100644
--- a/src/military/expert/register/index.scss
+++ b/src/military/expert/register/index.scss
@@ -1,111 +1,102 @@
-.iconfont2 {
- font-family: "svgtofont" !important;
- font-size: 26px;
- font-style: normal;
- -webkit-font-smoothing: antialiased;
- -webkit-text-stroke-width: 0.2px;
- -moz-osx-font-smoothing: grayscale;
-}
-.centerbox.detail {
- font-size: 20px;
- .navigation {
- font-size: 0.6em;
- margin: -35px 0 15px;
+.center_flex {
+ display: flex;
+ justify-content: space-between;
+ .register_left {
+ height: 10em;
+ font-size: 0.7em;
+ background-color: white;
+ padding: 0.4vw;
}
-
- .center_flex {
- display: flex;
- justify-content: space-between;
- .register_left {
- height: 10em;
- font-size: 0.7em;
- background-color: white;
- padding: 0.4vw;
+ .register_right {
+ flex: auto;
+ background-color: white;
+ margin-left: 2em;
+ & > p {
+ border-bottom: 1px solid #eeeeee;
+ padding: 0.5em 2em;
+ color: #181818;
+ font-size: 0.8em;
+ font-weight: bold;
}
- .register_right {
- flex: auto;
- background-color: white;
- margin-left: 2em;
- & > p {
- border-bottom: 1px solid #eeeeee;
- padding: 0.5em 2em;
- color: #181818;
- font-size: 0.8em;
- font-weight: bold;
- }
- .fail{
- background: #FFEFEF;
- border: 1px solid #FF3838;
- color: #FF3838;
- }
+ .fail {
+ background: #ffefef;
+ border: 1px solid #ff3838;
+ color: #ff3838;
+ }
- .checking{
- background: #EDF2FF;
- border: 1px solid #4154F1;
- color: #4154F1;
+ .checking {
+ background: #edf2ff;
+ border: 1px solid #4154f1;
+ color: #4154f1;
+ }
+ .succeed {
+ background: #edf2ff;
+ border: 1px solid green;
+ color: green;
+ }
+ .ant-form {
+ display: flex;
+ padding: 1em 2em 1.5em;
+ }
+ .expert_Register_form {
+ width: 43.5%;
+ &.ml80 {
+ margin-left: 120px;
}
- .ant-form{
+ .ant-form-item {
display: flex;
- padding: 1em 2em 1.5em;
}
- .expert_Register_form {
- width: 43.5%;
- &.ml80{
- margin-left: 120px;
- }
- .ant-form-item{
- display: flex;
- }
- .ant-form-item-label {
- width: 6em;
- line-height: 2.8em;
- }
- .ant-form-item-required::before{
- position: relative;
- top: -1px;
- content: url('./image/required.svg');
- }
- .ant-form-item-control-wrapper{
- width: 70%;
- display: inline-block;
- }
- .ant-input, .ant-select-selection{
- // width: 30.1em;
- box-shadow: none;
- &:focus, &:hover{
- border: 1px solid #4154F1 !important;
- }
- }
- tr td:first-child .ant-row.ant-form-item{
- margin-right: 9em;
- }
- & .ant-input, .ant-input .ant-input-suffix {
- background-color: #FFFFFF !important;
- }
- & .ant-select-open .ant-select-selection{
- border: 1px solid #4154F1 !important;
- }
- & .ant-form-item{
- margin-bottom: 0.5em;
- }
- & td>p{
- margin: 0.3em 0 0.6em !important;
- }
- & .but41_border{
- margin-bottom: 0.6em;
- padding: 0 0.5em;
- }
- & .ant-cascader-menu-item:hover {
- background: #f2f3ff;
- }
-
+ .ant-form-item-label {
+ width: 6em;
+ line-height: 2.8em;
}
- & .buts {
- font-size: 0.7em;
- padding: 1.5em 2em;
- background-color: #f5f5f5;
+ .ant-form-item-required::before {
+ position: relative;
+ top: -1px;
+ content: url("./image/required.svg");
}
+ .ant-form-item-control-wrapper {
+ width: 70%;
+ display: inline-block;
+ }
+ .ant-input,
+ .ant-select-selection {
+ // width: 30.1em;
+ box-shadow: none;
+ &:focus,
+ &:hover {
+ border: 1px solid #4154f1 !important;
+ }
+ }
+ tr td:first-child .ant-row.ant-form-item {
+ margin-right: 9em;
+ }
+ & .ant-input,
+ .ant-input .ant-input-suffix {
+ background-color: #ffffff !important;
+ }
+ & .ant-select-open .ant-select-selection {
+ border: 1px solid #4154f1 !important;
+ }
+ & .ant-form-item {
+ margin-bottom: 0.5em;
+ }
+ & td > p {
+ margin: 0.3em 0 0.6em !important;
+ }
+ & .but41_border {
+ margin-bottom: 0.6em;
+ padding: 0 0.5em;
+ }
+ & .ant-cascader-menu-item:hover {
+ background: #f2f3ff;
+ }
+ }
+ & .buts {
+ font-size: 0.7em;
+ padding: 1.5em 2em;
+ background-color: #f5f5f5;
}
}
}
diff --git a/src/military/expert/registerList/index.jsx b/src/military/expert/registerList/index.jsx
index 5f1a6819..1f12111c 100644
--- a/src/military/expert/registerList/index.jsx
+++ b/src/military/expert/registerList/index.jsx
@@ -143,6 +143,11 @@ function RegisterList({ showNotification, form }) {
];
}, []);
+ function onShowSizeChange(current, pageSize){
+ setCurPage(current);
+ setPageSize(pageSize);
+ }
+
// 获取列表
useEffect(() => {
setLoading(true);
@@ -223,15 +228,13 @@ function RegisterList({ showNotification, form }) {
return (
-
-
+
{ setSearchInput(value); setCurPage(1); }}
/>
-
红山开源平台专家评审系统
您尚未被入选本平台专家团队,可提交专家资料进行注册申请加入专家团队
-
+
)
}
diff --git a/src/military/expert/reviewTasks/index.jsx b/src/military/expert/reviewTasks/index.jsx
index c3a80ac9..b17ac997 100644
--- a/src/military/expert/reviewTasks/index.jsx
+++ b/src/military/expert/reviewTasks/index.jsx
@@ -1,9 +1,161 @@
-import React from "react";
-import { Link } from "react-router-dom";
+import React, { useState, useCallback, useMemo, useEffect } from "react";
+import { Input, Select, Button, Form, DatePicker, Table, Pagination, Upload, Modal } from 'antd';
+import cookie from 'react-cookies';
+import { exportExcel } from '../components/exportExcel.js';
+import Paginationtable from "../../components/paginationTable";
+import { Info } from '../../components/ModalFun';
+import { getExpertTasks } from "../api";
+import { taskType } from "../static";
+import { httpUrl } from '../fetch';
+
+import './index.scss';
+import '../index.scss';
+const { Search } = Input;
+const Option = Select.Option;
+
+function ReviewTasks({ form, showNotification, match, history }) {
+ const { getFieldDecorator, setFieldsValue, getFieldsValue } = form;
+
+ const [reload, setReload] = useState();
+ const [loading, setLoading] = useState(false);
+ const [curPage, setCurPage] = useState(1);
+ const [pageSize, setPageSize] = useState(10);
+ const [dataList, setDataList] = useState([]);
+ const [total, setTotal] = useState(0);
+
+ const [searchObj, setSearchObj] = useState({
+ containerName: '',
+ containerType: 1
+ });
+
+
+ const columns = useMemo(() => {
+ return [
+ {
+ title: '序号',
+ dataIndex: 'index',
+ render: (text, record, index) => {
+ return index + 1
+ }
+ },
+ {
+ title: '任务名称',
+ dataIndex: 'expertName',
+ width: 75,
+ key: 'expertName',
+ // render: (text, record) => {
+ // return record.user ? record.user.nickname || record.user.login : ''
+ // }
+ },
+ {
+ title: '评审截止时间',
+ dataIndex: 'highestDegree',
+ key: 'highestDegree',
+ },
+ {
+ title: '剩余评审时间',
+ dataIndex: 'phone',
+ key: 'phone',
+ },
+ {
+ title: '评审状态',
+ dataIndex: 'workplace',
+ key: 'workplace',
+
+ },
+ ];
+ }, []);
+
+ // 获取列表
+ useEffect(() => {
+ setLoading(true);
+ let params = {
+ ...searchObj,
+ pageSize,
+ curPage,
+ statusString: '1,-1',
+ };
+ getExpertTasks(params).then(data => {
+ setDataList(data.rows || []);
+ setLoading(false);
+ setTotal(data.total);
+ });
+ }, [curPage, reload, pageSize]);
+
+
+ function onSearch() {
+ let values = getFieldsValue(['nameInput', 'endTime', 'startTime', 'enterpriseNameInput']);
+ if (values.checkStatus === '0,1,2') values.checkStatus = '';
+ setSearchObj(values);
+ }
+
+ function clearSearch() {
+ setFieldsValue({
+ containerName: '',
+ containerType: 1,
+ });
+ setSearchObj({
+ containerName: '',
+ containerType: 1,
+ });
+ }
+
+
+ const helper = useCallback(
+ (label, name, rules, widget, initialValue) => (
+
+ {getFieldDecorator(name, { rules, initialValue, validateFirst: true, })(widget)}
+
+ ), []);
-function ReviewTasks() {
return (
-
aaa
+
+
+ 我的评审任务
+
+
+ {helper(
+ "任务名称",
+ "containerName",
+ [{ max: 20, message: '长度不能超过20个字符' }],
+
+ )}
+
+ {helper(
+ "任务类型",
+ "containerType",
+ [],
+
,
+ 1
+ )}
+
+
+
+
+
+
)
}
-export default ReviewTasks;
\ No newline at end of file
+export default Form.create()(ReviewTasks);
\ No newline at end of file
diff --git a/src/military/expert/reviewTasks/index.scss b/src/military/expert/reviewTasks/index.scss
new file mode 100644
index 00000000..feda475a
--- /dev/null
+++ b/src/military/expert/reviewTasks/index.scss
@@ -0,0 +1,16 @@
+.register_right {
+ flex: auto;
+ .search-screen > .ant-row {
+ min-width: 36%;
+ }
+ p{
+ border-bottom: 1px solid #eeeeee;
+ padding: 0.5em 2em;
+ color: #181818;
+ font-size: 0.8em;
+ font-weight: bold;
+ }
+ .button-div{
+ line-height: 1.5;
+ }
+}
diff --git a/src/military/expert/static.js b/src/military/expert/static.js
index 40344c20..bda254b2 100644
--- a/src/military/expert/static.js
+++ b/src/military/expert/static.js
@@ -51,4 +51,9 @@ export const reviewArea = [
{ value: "人工智能", label: "人工智能" },
{ value: "文学交流", label: "文学交流" },
{ value: "体育活动", label: "体育活动" }
+];
+
+export const taskType = [
+ { value: 1, label: "创客评审任务" },
+ { value: 2, label: "竞赛评审任务" },
];
\ No newline at end of file
diff --git a/src/military/index.scss b/src/military/index.scss
index ff361dcf..8b7ad4b3 100644
--- a/src/military/index.scss
+++ b/src/military/index.scss
@@ -228,6 +228,39 @@
text-align: left;
}
+.search-screen {
+ display: flex;
+ flex-flow: row wrap;
+ justify-content: space-between;
+ margin: 1.25rem 0;
+ padding: 1.25rem;
+ background-color: #fff;
+ border-bottom: 1px solid #dedede;
+
+ > .ant-row {
+ min-width: 41%;
+ margin-right: 2rem;
+ .ant-form-item-label {
+ float: left;
+ }
+ .ant-form-item-control-wrapper {
+ overflow: hidden;
+ }
+ }
+
+ .center-right-but {
+ .ant-form-item {
+ margin: 0 1rem 0 0;
+ }
+ .ant-form-item-control-wrapper {
+ display: inline-block;
+ }
+ }
+ .button-div {
+ margin-right: 1.5rem;
+ }
+}
+
@media screen and (max-width: 1200px) {
.centerbox {
width: 98%;
diff --git a/src/modules/tpm/NewHeader.js b/src/modules/tpm/NewHeader.js
index 3cafde6d..0c81c735 100644
--- a/src/modules/tpm/NewHeader.js
+++ b/src/modules/tpm/NewHeader.js
@@ -770,7 +770,7 @@ class NewHeader extends Component {
{this.props.user && this.props.user.login &&