任务名称:{text}
- 截稿时间:{record.collectingEndTime && record.collectingEndTime.replaceAll('-','/').substring(0,16) || '--'}
+ 截稿时间:{record.collectingEndTime && record.collectingEndTime.replaceAll('-', '/').substring(0, 16) || '--'}
稿件数:{record.papersCount || '--'}
}>
@@ -177,7 +179,7 @@ export default Form.create()(({ form, showNotification, match, history, state })
dataIndex: 'publishedAt',
width: "8%",
render: (text, record) => {
- text = text && text.replaceAll('-','/').substring(0,16);
+ text = text && text.replaceAll('-', '/').substring(0, 16);
return text || '--'
}
},
@@ -209,12 +211,17 @@ export default Form.create()(({ form, showNotification, match, history, state })
{
showUserModeArr.map(item => {
// 若创客任务在公示期及以后阶段,则不显示“自动公示”选项
- return
+ return
})
}
}
},
+ {
+ title: '排序',
+ key: 'orderNum',
+ dataIndex: 'orderNum'
+ },
{
title: '操作',
key: 'action',
@@ -222,28 +229,17 @@ export default Form.create()(({ form, showNotification, match, history, state })
align: 'center',
render: (text, record) => {
const disabled = record.assignRuleAndExperts || !(record.status == 1 || record.status == 3);
- return(
-
- {[3,4,6,7].includes(record.status)&&}
- {record.status==8&& record.exceptClosedBoolean&&}
-
-
-
- {/* {
- isDelete == '0' ?
- :
- }
-
- {
- !record.recommend && [3, 4, 5, 6, 7, 8].includes(record.status) &&
- }
-
- {
- record.recommend &&
- } */}
- {/* 查看 */}
-
- )},
+ return (
+
+ {[3, 4, 6, 7].includes(record.status) && }
+ {record.status == 8 && record.exceptClosedBoolean && }
+
+
+
+
+
+ )
+ },
},
]
}, [isDelete, curPage]);
@@ -293,13 +289,18 @@ export default Form.create()(({ form, showNotification, match, history, state })
title: '专家评估',
dataIndex: 'expertScore',
align: 'center',
- render:(text,record)=>{
+ render: (text, record) => {
return record.expertScore || '--';
}
}
];
}, []);
+ // 打开排序弹框后执行赋值语句
+ useEffect(()=>{
+ orderVisible&&setFieldsValue({ orderNum: checkedItem.orderNum })
+ },[orderVisible])
+
// function resetTaskModal
function recommendItem(id, recommend) {
@@ -337,7 +338,7 @@ export default Form.create()(({ form, showNotification, match, history, state })
}
//监听lookRules,lookExperts,pulicReview的变化,弹框
- useEffect(()=>{
+ useEffect(() => {
//评审规则
lookRules && rules && Modal.info({
className: 'publishReview',
@@ -347,7 +348,7 @@ export default Form.create()(({ form, showNotification, match, history, state })
{rules && rules.rule}
评分标准
- {rules.criterias.map(item=>{return
{item}
})}
+ {rules.criterias.map(item => { return
{item}
})}
评审时间
{rules.reviewData}
@@ -362,9 +363,9 @@ export default Form.create()(({ form, showNotification, match, history, state })
title: "已选取评审专家",
content:
,
+ dataSource={selectedExperts}
+ columns={columnsExperts}
+ scroll={{ y: 395 }} />,
});
lookExperts && setLookExperts(false);
@@ -383,7 +384,7 @@ export default Form.create()(({ form, showNotification, match, history, state })
{rules && rules.rule}
评分标准
- {rules.criterias.map(item=>{return
{item}
})}
+ {rules.criterias.map(item => { return
{item}
})}
评审时间
{rules.reviewData}
@@ -391,37 +392,37 @@ export default Form.create()(({ form, showNotification, match, history, state })
+ scroll={{ y: 230 }} />
,
okText: '确定',
cancelText: '取消',
onOk() {
- publishExpertsAndRules(publicTaskId,1).then(response=>{
- if(response && response.message==="发布成功"){
+ publishExpertsAndRules(publicTaskId, 1).then(response => {
+ if (response && response.message === "发布成功") {
setReload(Math.random());
}
})
},
});
pulicReview && setPublicReview(false);
- },[lookRules,lookExperts,pulicReview])
+ }, [lookRules, lookExperts, pulicReview])
//发布评审任务
- function publishTaskReview(record){
- if(!record.ruleEditedCount || !record.expertSelectedCount){
+ function publishTaskReview(record) {
+ if (!record.ruleEditedCount || !record.expertSelectedCount) {
message.error("请先编辑评审规则以及选取评选专家再发布此任务");
- }else{
- getRules({containerId: record.id, containerType: 1, statusString: 3}).then(response=>{
- if(response && response.message === "success"){
+ } else {
+ getRules({ containerId: record.id, containerType: 1, statusString: 3 }).then(response => {
+ if (response && response.message === "success") {
setRules(response.data);
}
})
- selectExpertList({containerId: record.id, containerType: 1, curPage:curPage, pageSize: 10000, curPage: 1,}).then(response=>{
- if(response && response.message === "success" && Array.isArray(response.data.rows)){
+ selectExpertList({ containerId: record.id, containerType: 1, curPage: curPage, pageSize: 10000, curPage: 1, }).then(response => {
+ if (response && response.message === "success" && Array.isArray(response.data.rows)) {
let index = 1;
for (const item of response.data.rows) {
- item.reviewAreas = `${item.reviewAreaOne} ${item.reviewAreaTwo ? `、${item.reviewAreaTwo}`:''} ${item.reviewAreaThree ? `、${item.reviewAreaThree}`:''}`;
+ item.reviewAreas = `${item.reviewAreaOne} ${item.reviewAreaTwo ? `、${item.reviewAreaTwo}` : ''} ${item.reviewAreaThree ? `、${item.reviewAreaThree}` : ''}`;
item.index = (index++) + (curPage > 1 ? (curPage - 1) * 10 : 0);
}
setPublicTaskId(record.id);
@@ -433,9 +434,9 @@ export default Form.create()(({ form, showNotification, match, history, state })
}
//已发布任务 查看评审规则
- function viewRules(record){
- getRules({containerId: record.id, containerType: 1, statusString: '-1,1,2'}).then(response=>{
- if(response && response.message === "success"){
+ function viewRules(record) {
+ getRules({ containerId: record.id, containerType: 1, statusString: '-1,1,2' }).then(response => {
+ if (response && response.message === "success") {
setRules(response.data);
setLookRules(true);
}
@@ -443,12 +444,12 @@ export default Form.create()(({ form, showNotification, match, history, state })
}
//已发布任务 查看已选专家
- function viewExperts(record){
- selectExpertList({containerId: record.id, containerType: 1, curPage:curPage, pageSize: 10000, curPage: 1,}).then(response=>{
- if(response && response.message === "success" && Array.isArray(response.data.rows)){
+ function viewExperts(record) {
+ selectExpertList({ containerId: record.id, containerType: 1, curPage: curPage, pageSize: 10000, curPage: 1, }).then(response => {
+ if (response && response.message === "success" && Array.isArray(response.data.rows)) {
let index = 1;
for (const item of response.data.rows) {
- item.reviewAreas = `${item.reviewAreaOne} ${item.reviewAreaTwo ? `、${item.reviewAreaTwo}`:''} ${item.reviewAreaThree ? `、${item.reviewAreaThree}`:''}`;
+ item.reviewAreas = `${item.reviewAreaOne} ${item.reviewAreaTwo ? `、${item.reviewAreaTwo}` : ''} ${item.reviewAreaThree ? `、${item.reviewAreaThree}` : ''}`;
item.index = (index++) + (curPage > 1 ? (curPage - 1) * 10 : 0);
}
setSelectedExperts(response.data.rows);
@@ -469,7 +470,7 @@ export default Form.create()(({ form, showNotification, match, history, state })
}
function changeExpertReviewStatus(expertReviewStatus, taskId) {
- addExpertReview(taskId,expertReviewStatus).then(res => {
+ addExpertReview(taskId, expertReviewStatus).then(res => {
if (res && res.message === 'success') {
showNotification('操作成功!');
setReload(Math.random());
@@ -479,9 +480,9 @@ export default Form.create()(({ form, showNotification, match, history, state })
})
}
- function setCurPage1(page){
+ function setCurPage1(page) {
setCurPage(page);
- window.location.href=`/managements/task/taskAdmin#page=${page}`;
+ window.location.href = `/managements/task/taskAdmin#page=${page}`;
}
// 改变排序字段
@@ -510,21 +511,17 @@ export default Form.create()(({ form, showNotification, match, history, state })
setCurPage1(1);
});
- const ExpertDetail = (record)=>{
+ const ExpertDetail = (record) => {
const unDisabled = record.expertReview && (record.status === 1 || record.status === 3);
return
专家评审信息:
-
评审规则 {record.assignRuleAndExperts ? : unDisabled ? : }
-
专家选取 {record.assignRuleAndExperts ? : unDisabled ? : }
-
评审任务 {record.assignRuleAndExperts ? : unDisabled ? : }
-
评审结果 {record.assignRuleAndExperts ? :}
+
评审规则 {record.assignRuleAndExperts ? : unDisabled ? : }
+
专家选取 {record.assignRuleAndExperts ? : unDisabled ? : }
+
评审任务 {record.assignRuleAndExperts ? : unDisabled ? : }
+
评审结果 {record.assignRuleAndExperts ? : }
}
- function downloadFile() {
- window.open(main_web_site_url + '/admin/tasks.xlsx');
- }
-
function disabledDate(current) {
return current && current < moment(checkedItem.eachPhaseEndTime).endOf('day');
}
@@ -534,7 +531,7 @@ export default Form.create()(({ form, showNotification, match, history, state })
}
function delayTime() {
- validateFields(['delayedTo'],(err, values) => {
+ validateFields(['delayedTo'], (err, values) => {
if (!err) {
delayTask({
taskId: checkedItem.id,
@@ -552,13 +549,13 @@ export default Form.create()(({ form, showNotification, match, history, state })
});
}
- function restartTask(){
- validateFields(["restartEndTime"],(err, values) => {
+ function restartTask() {
+ validateFields(["restartEndTime"], (err, values) => {
if (!err) {
resetTask({
- taskId: checkedItem.id,
- endTime: moment(values.restartEndTime).format(format)
- }).then(res => {
+ taskId: checkedItem.id,
+ endTime: moment(values.restartEndTime).format(format)
+ }).then(res => {
if (res && res.message === 'success') {
showNotification('操作成功');
setReload(Math.random());
@@ -569,6 +566,26 @@ export default Form.create()(({ form, showNotification, match, history, state })
});
}
+ function changeOrderNum() {
+ validateFields(["orderNum"], (err, values) => {
+ if (!err) {
+ changePinnedTaskSort([{
+ id: checkedItem.id,
+ orderNum: values.orderNum
+ }]
+ ).then(res => {
+ if (res && res.data) {
+ showNotification('操作成功');
+ setOrderVisible(false);
+ setReload(Math.random())
+ } else {
+ showNotification(res && res.message || '操作失败')
+ }
+ })
+ }
+ });
+ }
+
return (
@@ -594,27 +611,27 @@ export default Form.create()(({ form, showNotification, match, history, state })
- {helper(
- "发布时间:",
- "startTime",
- [],
-
- )}
+ {helper(
+ "发布时间:",
+ "startTime",
+ [],
+
+ )}
- {helper(
- "",
- "endTime",
- [],
-
- )}
+ {helper(
+ "",
+ "endTime",
+ [],
+
+ )}
{helper(
@@ -624,7 +641,7 @@ export default Form.create()(({ form, showNotification, match, history, state })
@@ -754,58 +769,76 @@ export default Form.create()(({ form, showNotification, match, history, state })
columns={columns}
total={total}
current={curPage}
- setCurPage={(page)=>{setCurPage1(page)}}
+ setCurPage={(page) => { setCurPage1(page) }}
className="expertReviewTable"
expandedRowRender={ExpertDetail}
expandedRowKeys={reviewTaskId}
/>
-
+
{ setVisible(false) }}
- className="time-edit-modal"
- destroyOnClose
- >
- {helper(
- "",
- "delayedTo",
- [{ required: true, message: "请选择日期" }],
- ,
- null
- )}
-
+ title="请输入延期截止的具体时间"
+ visible={visible}
+ onOk={delayTime}
+ onCancel={() => { setVisible(false) }}
+ className="time-edit-modal"
+ destroyOnClose
+ >
+ {helper(
+ "",
+ "delayedTo",
+ [{ required: true, message: "请选择日期" }],
+ ,
+ null
+ )}
+
- { setRestartVisible(false) }}
- // className="time-edit-modal"
- destroyOnClose
- >
- 当前任务将恢复至{statusArr[checkedItem.currentStatus]},请选择该阶段的截止日期:
- {helper(
- "",
- "restartEndTime",
- [{ required: true, message: "请选择时间" }],
- ,
- moment(moment(new Date()).format(formatDelay)+' 23:59:59')
- )}
-
+ { setRestartVisible(false) }}
+ // className="time-edit-modal"
+ destroyOnClose
+ >
+ 当前任务将恢复至{statusArr[checkedItem.currentStatus]},请选择该阶段的截止日期:
+ {helper(
+ "",
+ "restartEndTime",
+ [{ required: true, message: "请选择时间" }],
+ ,
+ moment(moment(new Date()).format(formatDelay) + ' 23:59:59')
+ )}
+
-
+ { setOrderVisible(false) }}
+ className="time-edit-modal"
+ destroyOnClose
+ >
+ {helper(
+ "",
+ "orderNum",
+ [{ required: true, message: "请输入正整数" }],
+
+ )}
+
+
+
+ {/* 导出创客任务的组件 */}
+
)
diff --git a/src/modules/loginRegister/Login.jsx b/src/modules/loginRegister/Login.jsx
index 8540860c..5a4a58eb 100644
--- a/src/modules/loginRegister/Login.jsx
+++ b/src/modules/loginRegister/Login.jsx
@@ -2,6 +2,7 @@ import React, { useEffect, useState } from "react";
import { Form, Input, Button, Checkbox } from "antd";
import { Link } from "react-router-dom";
import axios from 'axios';
+import { Base64 } from 'js-base64';
// import educoderLogo from '../login/educoder.png';
import openKylin from '../login/openKylin.svg';
import gitLink from '../login/gitLink.png';
@@ -32,7 +33,7 @@ function Login(props) {
if (!err) {
axios.post(`/accounts/login.json`, {
login: values.username,
- password: values.password,
+ password: Base64.encode(values.password),
autologin: values.remember ? 1 : 0,
}).then((response) => {
if (!response.data.login) {
diff --git a/src/modules/loginRegister/LoginRegisterPage.scss b/src/modules/loginRegister/LoginRegisterPage.scss
index f75bf257..23f75ee3 100644
--- a/src/modules/loginRegister/LoginRegisterPage.scss
+++ b/src/modules/loginRegister/LoginRegisterPage.scss
@@ -149,11 +149,17 @@
color: #808080;
font-size: 0.9em;
}
- .message, .ant-form-explain{
+ .ant-form-explain{
position: absolute;
bottom: -1.45em;
color: #D40000;
font-size: 13px;
+ }
+ .message{
+ position: absolute;
+ // bottom: -1.45em;
+ color: #D40000;
+ font-size: 13px;
}
.message.active{
margin-bottom: -30px !important;