From 02e189741cd0469ea2d655bd493443cc2a5d520a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=AB=A5=E5=B4=87?= Date: Tue, 7 Jun 2022 10:35:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AF=BC=E5=B8=88=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/glcc/api.js | 14 ++ src/glcc/check/index.jsx | 401 ++++++++++++++++++++++++++++++++++++ src/glcc/check/index.scss | 215 +++++++++++++++++++ src/glcc/home/index.jsx | 12 ++ src/glcc/home/index.scss | 8 +- src/glcc/img/check_tabs.png | Bin 0 -> 30650 bytes src/glcc/index.jsx | 14 +- src/glcc/index.scss | 140 +++++++++---- 8 files changed, 755 insertions(+), 49 deletions(-) create mode 100644 src/glcc/check/index.jsx create mode 100644 src/glcc/check/index.scss create mode 100644 src/glcc/img/check_tabs.png diff --git a/src/glcc/api.js b/src/glcc/api.js index 89e8e5694..e2afd8d58 100644 --- a/src/glcc/api.js +++ b/src/glcc/api.js @@ -96,4 +96,18 @@ export function getTaskById(id) { url: `/api/applyInformation/task/${id}`, method: 'get' }); +} + +// 学生报名列表查询 +export async function getStudentList(params) { + let res = await fetch({ + url: '/api/studentApply/list', + method: 'get', + params, + }); + if (res.message === 'success') { + return res.data; + } else { + showNotification(res.message || '请求错误'); + } } \ No newline at end of file diff --git a/src/glcc/check/index.jsx b/src/glcc/check/index.jsx new file mode 100644 index 000000000..9b80f3918 --- /dev/null +++ b/src/glcc/check/index.jsx @@ -0,0 +1,401 @@ +import React, { Fragment, useEffect, useState } from 'react'; +import { Checkbox, Input, message, Modal, Table, Tooltip, Breadcrumb, Tabs } from 'antd'; +import { Link } from 'react-router-dom'; +import moment from 'moment'; +import checkTabs from '../img/check_tabs.png'; +import './index.scss'; +import { cancelTaskApply, getStudentList } from '../api'; +// import ProjectDetail from '../component/projectDetail'; +const { TabPane } = Tabs; + + + + +const defaultTask = [{ + "id": 389, + "regId": 49, + "taskName": "日程表", + "taskDesc": "根据日程提示天气信息", + "taskDifficulty": 1, + "taskUrl": "https://testforgeplus.trustie.net/postman/calendar", + "taskReward": "9000", + "tutorName": "Floraachy", + "tutorMail": "1622042529@qq.com", + "tutorPhone": "13429151223", + "projectName": "天气助手-测试项目", + "projectType": "测试", + "createdOn": "2022-06-02 10:38:27", + "sortNo": 0 +}, +{ + "id": 386, + "regId": 47, + "taskName": "添加新的神经形态数据集:ES-UCF101、HARDVS与N-Car", + "taskDesc": "在SJ中,存在大量神经元数据集,用于原生支持SNN。神经形态数据集可以参考:https://spikingjelly.readthedocs.io/zh_CN/latest/spikingjelly.datasets.htmlES-UCF101数据集可以参考以下论文:https://arxiv.org/pdf/1212.0402.pdfHARDVS数据集可以参考如下repo与论文:https://github.com/Computational-Imaging-Lab-IITM/HAR-DVShttps://arxiv.org/pdf/1803.04667.pdf技能要求:Python预期完成效果:在SpikingJelly中可正常调用这一模块", + "taskDifficulty": 1, + "taskUrl": "https://www.gitlink.org.cn/ridger/spikingjelly/issues/60663", + "taskReward": "6000", + "tutorName": "朱芮捷", + "tutorMail": "chenyh@csxjy.com.cn", + "tutorPhone": null, + "projectName": "SpikingJelly惊蛰脉冲神经网络框架", + "projectType": "人工智能", + "createdOn": "2022-05-27 09:23:59", + "sortNo": 0 +}, +{ + "id": 379, + "regId": 46, + "taskName": "Verilog netlist网表解析和扫描链生成", + "taskDesc": "1、题目描述扫描设计是数字电路可测试性设计的基础和通用技术,将逻辑电路中的触发器(或锁存器)转换为扫描单元(Scan Cell),并将所有扫描单元串接成若干移位寄存器,称之为扫描链(Scan Chain),扫描链的输入端是扫描输入管脚,其输出端是扫描输出管脚,从而将同步时序电路转换成内部状态可控制和可观测的时序电路进行测试。该赛题要求在同步时序电路的网表上实现扫描链的自动插入。2、编码任务参考openDACS/ICTest开源的Fault Simulator的Verilog netlist网表解析器,优化网表解析速度、识别触发器单元、完成扫描触发器的替换、根据扫描链的配置输入在网表中自动插入扫描链,并生成扫描结构描述文件、以及可仿真扫描链功能的Testbench。3、技能要求和编程语言熟悉Verilog硬件描述语言,具备数字电路课程基础,C++编程能力强4、预期完成结果预期在出题方提供的不同规模的网表电路上完成扫描链的自动插入,并自动生成扫描结构描述文件、插入扫描链后的网表电路、以及可仿真扫描链功能的Testbench,使用openDACS/ICTest开源的Fault Simulator可正常完成扫描链功能的仿真。根据程序功能的完整性、文档和代码的规范性、程序的性能(网表解析和扫描链插入的速度)确定优胜者。", + "taskDifficulty": 1, + "taskUrl": "https://www.gitlink.org.cn/opendacs/ictest/issues/60879", + "taskReward": "6000", + "tutorName": "叶靖", + "tutorMail": "chenyh@csxjy.com.cn", + "tutorPhone": null, + "projectName": "openDACS开源电路与系统设计自动化", + "projectType": "开发工具", + "createdOn": "2022-05-27 09:23:58", + "sortNo": 0 +}]; +// 课题列表 +function Check({ applyTaskId, setStudentInfoReset, current_user, showLoginDialog, isStudentApplyDate, studentApplyEnd, cancelCount, showNotification }) { + const [visible, setVisible] = useState(false); + const [deleteTaskId, setDeleteTaskId] = useState(undefined); + // 输入搜索框 + const [keyword, setKeyword] = useState(undefined); + const [data, setData] = useState([]); + // table + const [current, setCurrent] = useState(1); + const [total, setTotal] = useState(0); + const [pageSize, setPageSize] = useState(20); + const [loading, setLoading] = useState(false); + const [expandedRowKeys, setExpandedRowKeys] = useState([]); + + const [taskList, setTaskList] = useState(defaultTask); + const [taskId, setTaskId] = useState(defaultTask[0].id); + + const columns = [ + { + title: '学生姓名', + className: "taskTableColumns", + dataIndex: 'studentName', + key: 'studentName', + width: '9%', + ellipsis: true, + render: (text, record) => { + return ( + + {text} + + ); + }, + }, + { + title: '报名时间', + key: 'createdOn', + dataIndex: 'createdOn', + className: "taskTableColumns", + width: '10%', + render: (text, record) => { + return ( + text && moment(text).format('YYYY-MM-DD') + ); + }, + }, + { + title: '所在高校', + key: 'school', + dataIndex: 'school', + className: "taskTableColumns", + width: '14%', + ellipsis: true, + render: (text, record) => { + return ( + + {text} + + ); + }, + }, + { + title: '联系电话', + key: 'phone', + dataIndex: 'phone', + className: "taskTableColumns", + width: '12%', + ellipsis: true, + render: (text, record) => { + return ( + + {text} + + ); + }, + }, + { + title: '邮箱地址', + key: 'mail', + dataIndex: 'mail', + className: "taskTableColumns", + width: '15%', + ellipsis: true, + render: (text, record) => { + return ( + + {text} + + ); + }, + }, + { + title: '申请自荐书', + key: 'memo', + dataIndex: 'memo', + className: 'taskTableColumns', + ellipsis: true, + width: '20%', + render: (text, record) => { + return ( + + {text} + + ); + }, + }, + { + title: '操作', + dataIndex: 'action', + align: 'center', + width: '20%', + className: "actionColumns taskTableColumns", + render: ((text, item, index) => { + return ( +
+ {(isStudentApplyDate || studentApplyEnd) && (applyTaskId && Object.keys(applyTaskId).includes(item.id.toString()) ? + { window.location.href = `/glcc/student/apply/${item.id}` }}>报名详情 + { deleteItem(item.id) }}> + : isStudentApplyDate && + { applyTask(item.id) }}>申请课题)} +
+ ) + }) + }, + ] + + function deleteItem(id) { + if (cancelCount == 1) { + showNotification("您的取消报名次数已用光,请联系导师处理相关报名审核信息"); + } else { + setDeleteTaskId(id); + setVisible(true); + } + } + + const customExpandIcon = (props) => { + if (props.expanded) { + return { + props.onExpand(props.record, e); + }}>更多详情 + } else { + return { + props.onExpand(props.record, e); + }}>更多详情 + } + } + + const expandRow = (record) => { + return
+
+ {(record.grade || record.profession) &&
+ 所学专业 + {record.grade} | {record.profession} +
} + {record.location &&
+ 所在地区 + {record.location} +
} +
+ + {record.memoAttachment &&
+
+ 自荐书附件 + { + window.open( + `${window.location.href.indexOf('localhost') > -1 + ? 'https://testglcc.trustie.net' + : '' + }/busiAttachments/download/${record.memoAttachment.id}`, + ); + }} + > + {record.memoAttachment.fileName} + +
+
} + + {record.proveAttachmentId&&
+
+ 学生证明 + -1 || + window.location.href.indexOf('localhost') > -1 + ? 'https://testforgeplus.trustie.net' + : 'https://www.gitlink.org.cn' + }/api/attachments/${record.proveAttachmentId}`} + > +
+
} +
+ } + + + // 展开收起行回调 + function onExpand(expanded, record) { + const keys = new Set(expandedRowKeys); + if (expanded) { + keys.add(record.id); + } else { + keys.delete(record.id); + } + setExpandedRowKeys(Array.from(keys)); + } + + // 申请课题按钮点击函数 + 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(); + } + } + + // 取消课题按钮点击函数 + function cancelApply() { + const id = []; + id.push(applyTaskId[deleteTaskId]); + const params = { + ids: id + } + // cancelTaskApply(params).then(response => { + // if (response && response.message === "success") { + // setVisible(false); + // setStudentInfoReset(Math.random()); + // message.success('取消成功'); + // } + // }) + } + + // 改变pagesize + function onShowSizeChange(current, pageSize) { + window.scrollTo(0, 0); + setCurrent(1); + setPageSize(pageSize); + } + + // 切换页数 + function changePage(page, pageSize) { + window.scrollTo(0, 0); + setCurrent(page); + } + + // 数组元素置顶方法 + function toFirst(data, index) { + if (index != 0) { + data.unshift(data.splice(index, 1)[0]); + } + } + + useEffect(() => { + setExpandedRowKeys([]); + setLoading(true); + const params = { + curPage: 1, + pageSize: 10, + keyword: '', + // taskId, + // userId: current_user.user_id + } + getStudentList(params).then(res => { + console.log(res.rows); + if (res && Array.isArray(res.rows)) { + setData(res.rows); + setTotal(res.total); + } + setLoading(false); + }) + }, []) + + return ( +
+
+ + 开源夏令营 + 课题及项目列表 + 学生报名 + +
+

申请说明:

+
1、欢迎进入导师审核页!各位导师可查看到您发布课题的全部学生报名信息
+
2、您可根据学生报名信息与学生进行邮箱或电话沟通了解学生详细情况,选择满意的学生
+
3、每个课题仅允许审核通过一个学生,在审核过程中,您可以随时调整各学生的审核状态
+
4、请各位导师在7.1日前完成课题申请的审核,7.1日将根据各导师审核信息,公布各课题学生入选名单
+
+ + setTaskId(e)} activeKey={taskId + ''}> + { + taskList.map((item, i) => { + return + {item.taskName} + + }) + } + + +
+
+
+ + + { setVisible(false) }} + onOk={cancelApply} + wrapClassName='cancelApplyTask' + > +
!确定取消申请此课题?
+

取消申请后将删除此条申请记录。你仅有 {2 - cancelCount} 次取消申请的机会

+
+ + + + ) +} +export default Check; \ No newline at end of file diff --git a/src/glcc/check/index.scss b/src/glcc/check/index.scss new file mode 100644 index 000000000..fe221b216 --- /dev/null +++ b/src/glcc/check/index.scss @@ -0,0 +1,215 @@ +.glcc-check { + .task-tabs { + border: 1px solid #fff; + border-bottom: 0; + margin-top: 30px; + .ant-tabs-nav-container { + background-color: #3758de; + } + } + .ant-tabs-nav .ant-tabs-tab { + padding: 14px 0px; + color: #fff; + margin-right: 64px; + } + .ant-tabs-nav-scroll { + margin-left: 64px; + } + .ant-tabs-nav .ant-tabs-tab-active { + color: #fff; + } + .ant-tabs-bar { + border: 0; + margin: 0; + } + .ant-tabs-ink-bar { + background: #fff; + } + .ant-tabs-tab-prev, + .ant-tabs-tab-next { + width: 163px; + background: url("../img/check_tabs.png") no-repeat; + background-size: 100% 100%; + opacity: 1; + + & > span { + display: none; + } + } + + .ant-tabs-tab-next { + transform: rotate(180deg); + right: 0; + } + + .ant-tabs-tabpane { + padding:0 25px; + } + + .ant-tabs-content { + padding:25px 0; + } + .taskList { + padding:0px 25px 50px 25px; + border-left: 1px solid white; + border-right: 1px solid white; + border-bottom: 1px solid white; + + .line{ + margin: 0 auto 25px; + height: 1px; + border-top: 1px dashed #bec5d5; + } + + .ant-pagination-item-active, + .ant-pagination-item:hover, + .ant-pagination-next:not(.ant-pagination-disabled) + .ant-pagination-item-link:hover, + .ant-select-selection:hover, + .ant-pagination-options-quick-jumper:hover input { + border-color: #466aff; + a { + color: #466aff; + } + } + .ant-pagination-disabled .ant-pagination-item-link:hover .anticon { + color: rgba(0, 0, 0, 0.25); + } + } + .taskTableColumns span div span { + font-size: 16px; + font-weight: 700; + color: #273778; + } + .taskTableColumns span { + font-size: 15px; + color: #353f5e; + } + .ant-table-tbody .taskTableColumns.taskName span { + color: #2545c9; + cursor: pointer; + } + .ant-table-tbody > tr > .taskTableColumns { + background-color: #f1f6ff; + border-bottom: 1px dashed #bec5d5; + } + .ant-table-thead > tr > .taskTableColumns { + background: #e6ecff; + } + .ant-table-tbody + > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) + > .taskTableColumns { + background-color: #fbfbfc; + } + .actionColumns { + display: flex; + .actionBox, + .actionBox span { + cursor: pointer; + color: #466aff; + &:hover { + color: #5d7cff !important; + } + &:active { + color: #1140ff !important; + } + } + .applyTask, + span.applyTask { + color: #eb9350; + &:hover { + color: #ffb074 !important; + } + &:active { + color: #d66a17 !important; + } + } + .cancelApply { + visibility: hidden; + } + } + tr:hover .actionColumns .cancelApply { + visibility: visible; + color: #e31e1e; + } + .cancelApplyTask { + .ant-modal-close { + top: 0px !important; + } + .ant-modal-header { + padding: 8px 20px; + background-color: #e9edff; + .ant-modal-title { + text-align: left; + } + } + .carefulIcon { + width: 36px; + height: 36px; + background: #ca0002; + display: inline-block; + border-radius: 50%; + text-align: center; + line-height: 36px; + font-size: 18px; + color: white; + margin-right: 15px; + } + .tilTask { + color: #333333; + font-size: 16px; + margin-left: 35px; + } + .tipTask { + color: #666666; + font-size: 14px; + margin: 10px 0 30px 86px !important; + } + .tipTaskTime { + font-size: 36px; + color: #df0002; + } + .ant-modal-footer { + border-top: none; + text-align: center; + padding-bottom: 50px; + .ant-btn { + &.ant-btn-default { + color: #df0002; + } + &:hover { + border-color: #466aff; + color: #466aff; + &.ant-btn-default { + border-color: #df0002; + color: #df0002; + } + } + } + .ant-btn-default { + margin-left: 43px; + } + } + } + + .ant-table-expanded-row td { + padding: 0; + } + .student-expand { + padding:23px; + opacity: 80%; + background-color: #e9efff; + border: 1px solid #ffffff; + + .info-line{ + line-height: 44px; + display: flex; + } + .info-tit{ + display: inline-block; + width: 6em; + margin-right: 18px; + text-align: right; + } + } +} diff --git a/src/glcc/home/index.jsx b/src/glcc/home/index.jsx index 8b62aa127..33ca2fb42 100644 --- a/src/glcc/home/index.jsx +++ b/src/glcc/home/index.jsx @@ -37,6 +37,10 @@ export default (props) => { } } + function goToCheck(){ + history.push("/glcc/check"); + } + return (
{/* */} @@ -66,6 +70,14 @@ export default (props) => {
选择感兴趣的课题,开启您的开源之旅
+ {/* 导师审核 */} +
+
+ + 导师审核 +
+
以赛代筛,挖掘高潜力人才
+
{/* */}
diff --git a/src/glcc/home/index.scss b/src/glcc/home/index.scss index d7b5c4486..4a77cd2fc 100644 --- a/src/glcc/home/index.scss +++ b/src/glcc/home/index.scss @@ -41,6 +41,10 @@ flex-direction: column; justify-content: center; width: 355px; + + &:not(:first-child){ + margin-left: 35px; + } .til{ margin-left: 10px; font-family:PingFang SC; @@ -71,9 +75,7 @@ } } } - .apply:last-child{ - margin-left: 35px; - } + .applyIcon{ width: 30px; } diff --git a/src/glcc/img/check_tabs.png b/src/glcc/img/check_tabs.png new file mode 100644 index 0000000000000000000000000000000000000000..0787b608026c28faab0e93c5e9bfde58449b48ca GIT binary patch literal 30650 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 literal 0 HcmV?d00001 diff --git a/src/glcc/index.jsx b/src/glcc/index.jsx index 0078dfcf1..607cde8ee 100644 --- a/src/glcc/index.jsx +++ b/src/glcc/index.jsx @@ -31,11 +31,16 @@ const Help = Loadable({ loader: () => import("./help"), loading: Loading, }); -// 任务管理审核 +// 学生报名课题 const Student = Loadable({ loader: () => import("./student"), loading: Loading, }); +// 教师审核学生 +const Check = Loadable({ + loader: () => import("./check"), + loading: Loading, +}); // 开源夏令营项目、课题列表页面 const Project = Loadable({ @@ -96,6 +101,13 @@ const Glcc = (propsF) => { )} > + {/* 教师审核 */} + ( + + )} + > {/* 帮助中心 */}