diff --git a/src/glcc/check/index.jsx b/src/glcc/check/index.jsx index 3d9ab90ed..c62891dd2 100644 --- a/src/glcc/check/index.jsx +++ b/src/glcc/check/index.jsx @@ -46,7 +46,7 @@ function Check({ current_user, showNotification, history }) { key: 'createdOn', dataIndex: 'createdOn', className: "taskTableColumns", - width: '12%', + width: '10%', render: (text, record) => { return ( text && moment(text).format('YYYY-MM-DD') @@ -104,7 +104,7 @@ function Check({ current_user, showNotification, history }) { dataIndex: 'memo', className: 'taskTableColumns', ellipsis: true, - width: '20%', + width: '18%', render: (text, record) => { return ( @@ -124,15 +124,18 @@ function Check({ current_user, showNotification, history }) { title: '操作', dataIndex: 'passStatus', align: 'center', - width: '9%', + width: '11%', className: "actionColumns taskTableColumns", render: ((text, record, index) => { return (
- { - text ? : - - } + {/* 学生已入选并且锁定 */} + {text && record.locked && } + {/* 学生已经被其他导师锁定 */} + {!text && record.locked && } + {/* 学生未被锁定 */} + {!record.locked && (text ? : + )}
) }) @@ -184,11 +187,11 @@ function Check({ current_user, showNotification, history }) { if (props.expanded) { return { props.onExpand(props.record, e); - }}>更多详情 + }}>更多详情 } else { return { props.onExpand(props.record, e); - }}>更多详情 + }}>更多详情 } } @@ -224,6 +227,7 @@ function Check({ current_user, showNotification, history }) {
学生证明 { setVisible(true); setPicture(record.proveAttachmentId) }} src={`${window.location.href.indexOf('test') > -1 || window.location.href.indexOf('localhost') > -1 @@ -279,8 +283,9 @@ function Check({ current_user, showNotification, history }) {

审核说明:

1、欢迎进入导师审核页!各位导师可查看到您发布课题的全部学生报名信息
2、您可根据学生报名信息与学生进行邮箱或电话沟通了解学生详细情况,选择满意的学生
-
3、每个课题仅允许审核通过一个学生,在审核过程中,您可以随时调整各学生的审核状态
-
4、请各位导师在7.1日前完成课题申请的审核,7.1日将根据各导师审核信息,公布各课题学生入选名单
+
3、每个课题仅允许审核通过一个学生,在审核过程中,您可以随时调整各学生的审核状态,直到与学生匹配成功
+
4、6月28日后,各导师可访问 https://www.gitlink.org.cn/glcc/result 查询匹配结果(需使用导师账号登录)
+
5、请各位导师在7月1日前完成课题申请的审核,7月1日凌晨1点平台将根据各导师审核信息,正式公布各课题学生入选名单
{ setTaskId(e) }} activeKey={taskId + ''}> @@ -313,7 +318,6 @@ function Check({ current_user, showNotification, history }) { { setVisible(false) }} onOk={() => { setVisible(false) }} className="picture-modal" @@ -321,6 +325,7 @@ function Check({ current_user, showNotification, history }) { footer={null} > -1 || window.location.href.indexOf('localhost') > -1 ? 'https://testforgeplus.trustie.net' diff --git a/src/glcc/checkResult/index.jsx b/src/glcc/checkResult/index.jsx index 2bf33a41f..8ca925da1 100644 --- a/src/glcc/checkResult/index.jsx +++ b/src/glcc/checkResult/index.jsx @@ -22,16 +22,16 @@ function CheckResult({current_user, history}) { const [pageSize, setPageSize] = useState(20); const [loading, setLoading] = useState(false); const [expandedRowKeys, setExpandedRowKeys] = useState([]); - const time = new Date().getTime() > new Date('2022-06-28').getTime() && new Date().getTime() < new Date('2022-07-01').getTime(); + const time = new Date().getTime() > new Date('2022-06-28 1:0').getTime() && new Date().getTime() < new Date('2022-07-01 0:0').getTime(); useEffect(()=>{ // 未到时间 - if(new Date().getTime() < new Date('2022-06-28').getTime()){ + if(new Date().getTime() < new Date('2022-06-28 1:0').getTime()){ history.push('/glcc'); } hasAuditRole({ userId: current_user.user_id }).then(res => { // 7.1之前 普通用户不可以进入此页面 - if (!(res && res.message == 'success' && res.data.hasRole) && new Date().getTime() < new Date('2022-07-01').getTime()) { + if (!(res && res.message == 'success' && res.data.hasRole) && new Date().getTime() < new Date('2022-07-01 1:0').getTime()) { history.push('/glcc'); } }) @@ -57,9 +57,11 @@ function CheckResult({current_user, history}) { const columns = [ { title: '序号', dataIndex: 'index', align: 'center', className:"columnsResult", width: '6%', render: (text, item, index) => {(current-1)*pageSize+index + 1} }, { title: '入选学生', dataIndex: 'studentName', className:"columnsResult taskName", width: '12%', ellipsis: true}, - { title: '课题导师', dataIndex: 'tutorName', className:"columnsResult", width: '12%', ellipsis: true}, - { title: '课题名称', dataIndex: 'taskName', className:"columnsResult", width: '26%', ellipsis: true, render: (text, item) => {window.open(`/glcc/subjects/detail/${item.id}`)}}>{text} }, - { title: '项目名称', dataIndex: 'projectName', className:"columnsResult", ellipsis: true, width: '26%', render: (text) => {text} }, + { title: '学生专业', dataIndex: 'profession', className:"columnsResult taskName", width: '12%', ellipsis: true, render: (text) => {text}}, + { title: '学生年级', dataIndex: 'grade', className:"columnsResult taskName", width: '10%', ellipsis: true}, + { title: '课题导师', dataIndex: 'tutorName', className:"columnsResult", width: '10%', ellipsis: true}, + { title: '课题名称', dataIndex: 'taskName', className:"columnsResult", width: '20%', ellipsis: true, render: (text, item) => {window.open(`/glcc/subjects/detail/${item.id}?locked=${item.locked}`)}}>{text} }, + { title: '项目名称', dataIndex: 'projectName', className:"columnsResult", ellipsis: true, width: '14%', render: (text) => {text} }, { title: '操作', dataIndex: 'action', align: 'center', className:"columnsResult actionBox"}, ] @@ -106,7 +108,7 @@ function CheckResult({current_user, history}) { return (
{time && } - {new Date().getTime() > new Date('2022-07-01').getTime() && } + {new Date().getTime() > new Date('2022-07-01 1:0').getTime() && }
开源夏令营 / 入选学生名单{time && '预'}公示
@@ -116,7 +118,7 @@ function CheckResult({current_user, history}) { columns={columns} dataSource={data} expandedRowRender={expandRow} - expandIconColumnIndex={5} + expandIconColumnIndex={7} expandIconAsCell={false} expandIcon={customExpandIcon} rowKey={'id'} diff --git a/src/glcc/home/index.jsx b/src/glcc/home/index.jsx index 4ea730cd8..8f9972a87 100644 --- a/src/glcc/home/index.jsx +++ b/src/glcc/home/index.jsx @@ -17,7 +17,7 @@ import { hasAuditRole } from '../api'; import './index.scss'; export default (props) => { - const { current_user, isGlccApplyDate, showNotification, studentApplyStart, history, studentApplyEnd } = props; + const { current_user, isGlccApplyDate, showNotification, studentApplyStart, history, secondStudentApplyDate, isStudentApplyDate } = props; // function goToApply() { // if (isGlccApplyDate) { // if (current_user && current_user.login) { @@ -32,8 +32,8 @@ export default (props) => { // } const [hasRole, setHhasRole] = useState(false); - const resultTime1 = new Date().getTime() > new Date('2022-06-28').getTime() && new Date().getTime() < new Date('2022-07-01').getTime(); - const resultTime2 = new Date().getTime() > new Date('2022-07-01').getTime(); + const resultTime1 = new Date().getTime() > new Date('2022-06-28 1:0').getTime() && new Date().getTime() < new Date('2022-07-01 0:0').getTime(); + const resultTime2 = new Date().getTime() > new Date('2022-07-01 1:0').getTime(); useEffect(() => { if (!current_user.user_id) { @@ -50,7 +50,7 @@ export default (props) => { // 学生报名时间 if (!studentApplyStart) { showNotification("不在报名时间,报名开始时间为5月26日"); - } else if(studentApplyEnd) { + } else if(!isStudentApplyDate && !secondStudentApplyDate) { showNotification("课题申请时间已截止"); } else{ history.push("/glcc/subjects"); @@ -86,7 +86,7 @@ export default (props) => {
查看夏令营各项目,掌握项目课题详细信息
- {/* 学生报名6.24结束记得注释 */} + {/* 学生报名6.24结束第一次报名,6.29 1:00 - 6.30 24:00第二次报名 */}
@@ -132,7 +132,7 @@ export default (props) => {
- + diff --git a/src/glcc/home/lightspot/index.jsx b/src/glcc/home/lightspot/index.jsx index aa2daec05..1b52769e1 100644 --- a/src/glcc/home/lightspot/index.jsx +++ b/src/glcc/home/lightspot/index.jsx @@ -12,7 +12,7 @@ import { Link } from 'react-router-dom'; function Lightspot(props) { - const {current_user, isGlccApplyDate, showNotification, studentApplyStart, studentApplyEnd} = props; + const {current_user, isGlccApplyDate, showNotification, goToStudent} = props; function goToApply(){ if(isGlccApplyDate){ @@ -27,17 +27,6 @@ function Lightspot(props) { } } - function goToStudent(){ - // 学生报名时间 - if(!studentApplyStart){ - showNotification("不在报名时间,报名开始时间为5月26日"); - } else if(studentApplyEnd) { - showNotification("课题申请时间已截止"); - }else{ - window.location.href="/glcc/subjects"; - } - } - return (
diff --git a/src/glcc/index.jsx b/src/glcc/index.jsx index 6ffabac64..b5db40032 100644 --- a/src/glcc/index.jsx +++ b/src/glcc/index.jsx @@ -1,4 +1,4 @@ -import React from "react"; +import React, {useState, useEffect} from "react"; import { Route, Switch } from "react-router-dom"; import { withRouter } from "react-router"; @@ -11,9 +11,8 @@ import "./index.scss"; import Loadable from "react-loadable"; import Loading from "../Loading"; import { ImageLayerOfCommentHOC } from "../modules/page/layers/ImageLayerOfCommentHOC"; -import { useState } from "react"; -import { useEffect } from "react"; import { getStudentApplyInfo } from "./api"; +import { message } from "antd"; // 任务管理审核 @@ -63,20 +62,22 @@ const Result = Loadable({ loading: Loading, }); const Glcc = (propsF) => { - const {current_user} = propsF; + const {current_user, showLoginDialog} = propsF; // 判断时间是否在开源夏令营报名时间内(4月15日~5月20日) const isGlccApplyDate = Date.parse(new Date()) < 1653062400000; - // 学生报名时间new Date().getTime() > new Date('2022-05-26').getTime() + // 学生报名时间 const studentApplyStart = new Date().getTime() > new Date('2022-05-26').getTime(); const isStudentApplyDate = new Date().getTime() > new Date('2022-05-26').getTime() && new Date().getTime() < new Date('2022-06-25 0:0').getTime(); - const studentApplyEnd = new Date().getTime() > new Date('2022-06-25 0:0').getTime(); + const secondStudentApplyDate = new Date().getTime() > new Date('2022-06-29 1:0').getTime() && new Date().getTime() < new Date('2022-07-01 0:0').getTime(); // 用户已报名课题id数组 const [applyTaskId, setApplyTaskId] = useState({}); // 刷新用户课题报名信息 const [studentInfoReset, setStudentInfoReset] = useState(undefined); const [cancelCount,setCancelCount]=useState(0); + // 用户是否已经被导师选中 + const [lockedTaskName, setLockedTaskName] = useState(undefined); useEffect(()=>{ // 获取用户课题报名信息current_user user_id @@ -86,6 +87,7 @@ const Glcc = (propsF) => { const data = {}; response.data && response.data.registrationStudentTaskList.map(item=>{ data[item.taskId] = item.id; + item.locked && setLockedTaskName(item.taskName); }) setApplyTaskId(data); response.data&&setCancelCount(Number(response.data.cancelCount)); @@ -93,6 +95,25 @@ const Glcc = (propsF) => { }) },[studentInfoReset, current_user]) + // 申请课题按钮点击函数 + function applyTask(id){ + // 判断用户是否已经登录 + if(current_user && current_user.login){ + // 判断该学生是否已经被某位导师选中 + if(lockedTaskName){ + message.error(`由于你已入选 ${lockedTaskName} 课题,无法申请其他课题`); + }else if(applyTaskId && Object.keys(applyTaskId).length >= 3){ + // 判断用户是否已经报名三个课题 + message.error('最多只能同时报名三个课题'); + }else{ + // 跳转到学生报名页 + window.location.href=`/glcc/student/apply/${id}`; + } + }else{ + showLoginDialog(); + } + } + return (
@@ -127,14 +148,14 @@ const Glcc = (propsF) => { ( - + )} > {/* 项目/课题列表 */} ( - + )} > @@ -142,7 +163,7 @@ const Glcc = (propsF) => { ( - + )} > @@ -150,7 +171,7 @@ const Glcc = (propsF) => { ( - + )} > @@ -166,7 +187,7 @@ const Glcc = (propsF) => { ( - + )} > diff --git a/src/glcc/openmmlab/projectTab/index.jsx b/src/glcc/openmmlab/projectTab/index.jsx index c707ed8fa..ba493833f 100644 --- a/src/glcc/openmmlab/projectTab/index.jsx +++ b/src/glcc/openmmlab/projectTab/index.jsx @@ -7,7 +7,7 @@ const $ = window.$; const { TabPane } = Tabs; -function ProjectTabs({ list, applyTaskId, history, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd }) { +function ProjectTabs({ list, applyTaskId, history, current_user, showLoginDialog, isStudentApplyDate, secondStudentApplyDate, applyTask }) { useEffect(()=>{ setTimeout(()=>{ @@ -34,7 +34,7 @@ function ProjectTabs({ list, applyTaskId, history, current_user, showLoginDialog key={i + ''} >
- +
diff --git a/src/glcc/openmmlab/projectTab/projectDetail.jsx b/src/glcc/openmmlab/projectTab/projectDetail.jsx index 206bef698..bea1eefb4 100644 --- a/src/glcc/openmmlab/projectTab/projectDetail.jsx +++ b/src/glcc/openmmlab/projectTab/projectDetail.jsx @@ -3,25 +3,9 @@ import { Button, message, Tooltip } from 'antd'; import Nodata from '../../../forge/Nodata'; import { getProjectById } from '../../api'; -export default ({ detail, projectId, applyTaskId, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd }) => { +export default ({ detail, projectId, applyTaskId, isStudentApplyDate, secondStudentApplyDate, applyTask }) => { const [info, setInfo] = useState(detail); - // 申请课题按钮点击函数 - function applyTask(id){ - // 判断用户是否已经登录 - if(current_user && current_user.login){ - // 判断用户是否已经报名两个课题 - if(applyTaskId && Object.keys(applyTaskId).length >= 2){ - message.error('最多只能同时报名两个课题'); - }else{ - // 跳转到学生报名页 - window.location.href=`/glcc/student/apply/${id}`; - } - }else{ - showLoginDialog(); - } - } - useEffect(()=>{ if(!detail && projectId){ // 通过项目Id查询项目详情 @@ -42,7 +26,7 @@ export default ({ detail, projectId, applyTaskId, current_user, showLoginDialog, {info.registrationTaskList && info.registrationTaskList.length > 0 ? info.registrationTaskList.map((item, index)=>{ return
-
{window.location.href=`/glcc/subjects/detail/${item.id}`}}>{item.taskName}
+
{window.location.href=`/glcc/subjects/detail/${item.id}?locked=${item.locked}`}}>{item.taskName}
导师姓名:   {item.tutorName}
{item.tutorMail &&
邮箱地址:   {item.tutorMail}
}
@@ -50,8 +34,17 @@ export default ({ detail, projectId, applyTaskId, current_user, showLoginDialog,
{item.taskDesc}
{item.taskUrl &&
课题链接:   {item.taskUrl}
}
- {(isStudentApplyDate || studentApplyEnd) && (applyTaskId && item.id && Object.keys(applyTaskId).includes(item.id.toString()) ? : isStudentApplyDate && )} - + {/* 报名详情按钮 */} + {applyTaskId && Object.keys(applyTaskId).includes(item.id.toString()) && } + + {/* 课题申请时间范围内: 申请课题 */} + {/* 第一次报名 */} + {isStudentApplyDate && !(applyTaskId && Object.keys(applyTaskId).includes(item.id.toString())) && } + {/* 第二次报名 锁定状态 */} + {secondStudentApplyDate && !(applyTaskId && Object.keys(applyTaskId).includes(item.id.toString())) && (item.locked ? : )} + + {/* 查看课题详情按钮 */} +
¥{item.taskReward}
diff --git a/src/glcc/project/component/projectDetail.jsx b/src/glcc/project/component/projectDetail.jsx index c2a4efc09..9ecf11b54 100644 --- a/src/glcc/project/component/projectDetail.jsx +++ b/src/glcc/project/component/projectDetail.jsx @@ -4,27 +4,9 @@ import Nodata from '../../../forge/Nodata'; import { useEffect } from 'react'; import { getProjectById } from '../../api'; -export default ({ detail, projectId, applyTaskId, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd, showNotification, showTask=true }) => { +export default ({ detail, projectId, applyTaskId, isStudentApplyDate, secondStudentApplyDate, showTask=true, applyTask }) => { const [info, setInfo] = useState(detail); - // 申请课题按钮点击函数 - function applyTask(id){ - // 判断用户是否已经登录 - if(current_user && current_user.login){ - // 判断用户是否已经报名两个课题 - if(studentApplyEnd) { - showNotification("课题申请时间已截止"); - }else if(applyTaskId && Object.keys(applyTaskId).length >= 2){ - message.error('最多只能同时报名两个课题'); - }else{ - // 跳转到学生报名页 - window.location.href=`/glcc/student/apply/${id}`; - } - }else{ - showLoginDialog(); - } - } - useEffect(()=>{ if(!detail && projectId){ // 通过项目Id查询项目详情 @@ -48,7 +30,7 @@ export default ({ detail, projectId, applyTaskId, current_user, showLoginDialog, {showTask && (info.registrationTaskList && info.registrationTaskList.length > 0 ? info.registrationTaskList.map((item, index)=>{ return
-
{window.location.href=`/glcc/subjects/detail/${item.id}`}}>{item.taskName}
+
{window.location.href=`/glcc/subjects/detail/${item.id}?locked=${item.locked}`}}>{item.taskName}
导师姓名:   {item.tutorName}
{item.tutorMail &&
邮箱地址:   {item.tutorMail}
}
@@ -56,9 +38,17 @@ export default ({ detail, projectId, applyTaskId, current_user, showLoginDialog,
{item.taskDesc}
{item.taskUrl &&
课题链接:   {item.taskUrl}
}
- {/* {(isStudentApplyDate || studentApplyEnd) && (applyTaskId && item.id && Object.keys(applyTaskId).includes(item.id.toString()) ? : isStudentApplyDate && )} */} - {applyTaskId && item.id && Object.keys(applyTaskId).includes(item.id.toString()) && } - + {/* 报名详情按钮 */} + {applyTaskId && Object.keys(applyTaskId).includes(item.id.toString()) && } + + {/* 课题申请时间范围内: 申请课题 */} + {/* 第一次报名 */} + {isStudentApplyDate && !(applyTaskId && Object.keys(applyTaskId).includes(item.id.toString())) && } + {/* 第二次报名 锁定状态 */} + {secondStudentApplyDate && !(applyTaskId && Object.keys(applyTaskId).includes(item.id.toString())) && (item.locked ? : )} + + {/* 查看课题详情按钮 */} +
¥{item.taskReward}
diff --git a/src/glcc/project/index.jsx b/src/glcc/project/index.jsx index 9e54f84f5..fab73ba1a 100644 --- a/src/glcc/project/index.jsx +++ b/src/glcc/project/index.jsx @@ -20,7 +20,7 @@ const TaskList = Loadable({ }); function Project(propsF) { - const {location, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd, applyTaskId, setStudentInfoReset, cancelCount} = propsF; + const {location} = propsF; const {pathname} = location; useEffect(()=>{ window.scrollTo(0, 0); diff --git a/src/glcc/project/projectList/index.jsx b/src/glcc/project/projectList/index.jsx index 19d9fd304..e3c6dcf90 100644 --- a/src/glcc/project/projectList/index.jsx +++ b/src/glcc/project/projectList/index.jsx @@ -10,7 +10,7 @@ import star from "../../img/star.png"; const { Search } = Input; // 项目列表 -function ProjectList({ applyTaskId, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd, location, showNotification, match }) { +function ProjectList({ applyTaskId, isStudentApplyDate, location, match, secondStudentApplyDate, applyTask }) { let gitlinkLastUrl = match.params.gitlinkLastUrl && match.params.gitlinkLastUrl.replace(/\./g, ''); let openmmlab = location.search && location.search.split('=')[1]; // 输入搜索框 @@ -83,19 +83,14 @@ function ProjectList({ applyTaskId, current_user, showLoginDialog, isStudentAppl onVisibleChange={(visible) => { changeVisible(visible, item) }} key={index} placement={(index + 1) % 3 === 0 ? 'bottomRight' : (index + 1) % 3 % 2 === 0 ? 'bottom' : 'bottomLeft'} - content={} + content={} trigger='click' overlayClassName='projectItemPopover' autoAdjustOverflow={false} >
- {!gitlinkLastUrl && !openmmlab && item.recommendFlag ? : ''} + {!gitlinkLastUrl && !openmmlab && item.recommendFlag ? : ''}
diff --git a/src/glcc/project/taskDetail/index.jsx b/src/glcc/project/taskDetail/index.jsx index a1b04cbaa..9f86363a8 100644 --- a/src/glcc/project/taskDetail/index.jsx +++ b/src/glcc/project/taskDetail/index.jsx @@ -1,15 +1,15 @@ import React, {useEffect, useState } from 'react'; -import { Button, message, Spin} from 'antd'; +import { Button, Spin, Tooltip} from 'antd'; +import { getTaskById } from '../../api'; +import bgPng from "../../img/bgPng.png"; import '../index.scss'; import './index.scss'; -import { getTaskById } from '../../api'; -import banner from "../../img/studentProject.png"; -import bgPng from "../../img/bgPng.png"; // 课题列表 function TaskDetail(props) { - const {match, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd, applyTaskId, showNotification} = props + const {match, location, isStudentApplyDate, secondStudentApplyDate, applyTaskId, applyTask} = props const taskId = Number(match.params.taskId); + const locked = location.search && location.search.split('=')[1] === 'true'; const [detail, setDetail] = useState(undefined); useEffect(()=>{ @@ -20,24 +20,6 @@ function TaskDetail(props) { }) },[]) - // 申请课题按钮点击函数 - function applyTask(id){ - // 判断用户是否已经登录 - if(current_user && current_user.login){ - // 判断用户是否已经报名两个课题 - if(studentApplyEnd) { - showNotification("课题申请时间已截止"); - } else if(applyTaskId && Object.keys(applyTaskId).length >= 2){ - message.error('最多只能同时报名两个课题'); - }else{ - // 跳转到学生报名页 - window.location.href=`/glcc/student/apply/${id}`; - } - }else{ - showLoginDialog(); - } - } - return (
{/* */} @@ -66,8 +48,14 @@ function TaskDetail(props) {
课题简介
{detail.taskDesc}
- {/* {(isStudentApplyDate || studentApplyEnd) && (applyTaskId && taskId && Object.keys(applyTaskId).includes(taskId.toString()) ? : isStudentApplyDate && )} */} - {applyTaskId && taskId && Object.keys(applyTaskId).includes(taskId.toString()) && } + {/* 报名详情按钮 */} + {applyTaskId && Object.keys(applyTaskId).includes(taskId.toString()) && } + + {/* 课题申请时间范围内: 申请课题 */} + {/* 第一次报名 */} + {isStudentApplyDate && !(applyTaskId && Object.keys(applyTaskId).includes(taskId.toString())) && } + {/* 第二次报名 锁定状态 */} + {secondStudentApplyDate && !(applyTaskId && Object.keys(applyTaskId).includes(taskId.toString())) && (locked ? : )}
diff --git a/src/glcc/project/taskList/index.jsx b/src/glcc/project/taskList/index.jsx index 71898e3c1..c9ed00923 100644 --- a/src/glcc/project/taskList/index.jsx +++ b/src/glcc/project/taskList/index.jsx @@ -7,7 +7,7 @@ import bgPng from "../../img/bgPng.png"; const { Search } = Input; // 课题列表 -function TaskList({applyTaskId, setStudentInfoReset, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd,cancelCount,showNotification}) { +function TaskList({applyTaskId, setStudentInfoReset, current_user, showLoginDialog, isStudentApplyDate, secondStudentApplyDate,cancelCount,showNotification, applyTask}) { const [visible, setVisible] = useState(false); const [deleteTaskId, setDeleteTaskId] = useState(undefined); // 输入搜索框 @@ -24,21 +24,25 @@ function TaskList({applyTaskId, setStudentInfoReset, current_user, showLoginDial const columns = [ { title: '序号', dataIndex: 'index', align: 'center', className:"taskTableColumns", width: '6%', render: (text, item, index) => {(current-1)*pageSize+index + 1} }, - { title: '课题名称', dataIndex: 'taskName', className:"taskTableColumns taskName", width: '24%', ellipsis: true, render: (text, item) => {window.open(`/glcc/subjects/detail/${item.id}`)}}>{text} }, + { title: '课题名称', dataIndex: 'taskName', className:"taskTableColumns taskName", width: '24%', ellipsis: true, render: (text, item) => {window.open(`/glcc/subjects/detail/${item.id}?locked=${item.locked}`)}}>{text} }, { title: '课题类型', dataIndex: 'projectType', className:"taskTableColumns", width: '12%', ellipsis: true, }, { title: '项目名称', dataIndex: 'projectName', className:"taskTableColumns", width: '24%', ellipsis: true, render: (text) => {text} }, - { title: '课题奖金', dataIndex: 'taskReward', className:"taskTableColumns", ellipsis: true, width: `${isStudentApplyDate || studentApplyEnd ? '10%' : ''}`, render: (text) => {text} }, + { title: '课题奖金', dataIndex: 'taskReward', className:"taskTableColumns", ellipsis: true, width: '10%', render: (text) => {text} }, { title: '操作', dataIndex: 'action', align: 'center', className:"actionColumns taskTableColumns", render: ((text, item, index) => { return (
- {/* {applyTaskId && Object.keys(applyTaskId).includes(item.id.toString()) && {window.location.href=`/glcc/student/apply/${item.id}`}}>报名详情} */} - {/* 记得注释 放开上一行 */} - {(isStudentApplyDate || studentApplyEnd) && (applyTaskId && Object.keys(applyTaskId).includes(item.id.toString()) ? - {window.location.href=`/glcc/student/apply/${item.id}`}}>报名详情 - {!studentApplyEnd && {deleteItem(item.id)}}>} - :isStudentApplyDate && - {applyTask(item.id)}}>申请课题)} + {/* 报名详情按钮 */} + {applyTaskId && Object.keys(applyTaskId).includes(item.id.toString()) && {window.location.href=`/glcc/student/apply/${item.id}`}}>报名详情} + + {/* 取消按钮5.26-6.25 */} + {applyTaskId && Object.keys(applyTaskId).includes(item.id.toString()) && isStudentApplyDate && {deleteItem(item.id)}}>} + + {/* 课题申请时间范围内: 申请课题 */} + {/* 第一次报名 */} + {isStudentApplyDate && !(applyTaskId && Object.keys(applyTaskId).includes(item.id.toString())) && {applyTask(item.id)}}>申请课题} + {/* 第二次报名 锁定状态 */} + {secondStudentApplyDate && !(applyTaskId && Object.keys(applyTaskId).includes(item.id.toString())) && (item.locked ? 申请课题 : {applyTask(item.id, item.locked)}}>申请课题)}
) }) @@ -67,7 +71,7 @@ function TaskList({applyTaskId, setStudentInfoReset, current_user, showLoginDial } const expandRow = (record) => { - return + return } // 展开收起行回调 @@ -81,24 +85,6 @@ function TaskList({applyTaskId, setStudentInfoReset, current_user, showLoginDial setExpandedRowKeys(Array.from(keys)); } - // 申请课题按钮点击函数 - function applyTask(id){ - // 判断用户是否已经登录 - if(current_user && current_user.login){ - // 判断用户是否已经报名两个课题 - if(studentApplyEnd) { - showNotification("课题申请时间已截止"); - } else if(applyTaskId && Object.keys(applyTaskId).length >= 2){ - message.error('最多只能同时报名两个课题'); - }else{ - // 跳转到学生报名页 - window.location.href=`/glcc/student/apply/${id}`; - } - }else{ - showLoginDialog(); - } - } - // 取消课题按钮点击函数 function cancelApply(){ const id = []; diff --git a/src/glcc/project/taskList/index.scss b/src/glcc/project/taskList/index.scss index 058caf895..3ee4811cf 100644 --- a/src/glcc/project/taskList/index.scss +++ b/src/glcc/project/taskList/index.scss @@ -38,6 +38,11 @@ color: #466aff; &:hover{color:#5d7cff !important;} &:active{color:#1140ff !important;} + &.disabled .disabled{ + &:hover, &:active{color:#a4aabb !important;} + color:#a4aabb; + cursor: not-allowed; + } } .applyTask, span.applyTask{ color:#eb9350;