diff --git a/src/glcc/api.js b/src/glcc/api.js index e03dccca2..56d033149 100644 --- a/src/glcc/api.js +++ b/src/glcc/api.js @@ -294,4 +294,13 @@ export function hasFinalExam(data) { method: 'get', data }); +} + +// 无奖金结果列表 +export function getExamineInfoListFor0In(params) { + return fetch({ + url: `/api/examineMaterial/getExamineInfoListFor0In2023`, + method: 'get', + params + }); } \ No newline at end of file diff --git a/src/glcc/home/index.jsx b/src/glcc/home/index.jsx index 54f776eae..a9f24b920 100644 --- a/src/glcc/home/index.jsx +++ b/src/glcc/home/index.jsx @@ -85,14 +85,30 @@ export default (props) => {
掌握项目课题详细信息
} + {/* 结项考核结果公示页 */} + {period === "finalExamine3" && +
+ + 正式课题考核结果 +
+
结项课题考核结果公示
+ } {/* 0元项目 */} - + {/*
无奖金项目
欢迎广大学生踊跃参与
+ */} + {/* 无奖金课题结果公示 */} + +
+ + 无奖金课题结果 +
+
面向无奖金课题学员考核结果公示
{/* 学生报名6.24结束第一次报名,6.29 1:00 - 6.30 24:00第二次报名 */} @@ -166,15 +182,6 @@ export default (props) => {
中期课题考核结果公示
} - - {/* 结项考核结果公示页 */} - {period === "finalExamine3" && -
- - 考核结果 -
-
结项课题考核结果公示
- } } {/* */}
diff --git a/src/glcc/img/freeBanner.png b/src/glcc/img/freeBanner.png new file mode 100644 index 000000000..5c6aeca6d Binary files /dev/null and b/src/glcc/img/freeBanner.png differ diff --git a/src/glcc/index.jsx b/src/glcc/index.jsx index 183f79fb1..e490cd6ce 100644 --- a/src/glcc/index.jsx +++ b/src/glcc/index.jsx @@ -52,6 +52,11 @@ const FreeProject = Loadable({ loader: () => import("./freeProject"), loading: Loading, }); +// 无奖金课题-结果公示 +const FreeResult = Loadable({ + loader: () => import("./interimReview/freeResult"), + loading: Loading, +}); // 课题详情页面 const TaskDetail = Loadable({ loader: () => import("./project/taskDetail"), @@ -302,11 +307,18 @@ const Glcc = (propsF) => { )} > - ( )} + > */} + {/* 无奖金课题结果公示 */} + ( + + )} > {/* openmmlab列表 */} diff --git a/src/glcc/interimReview/freeResult.jsx b/src/glcc/interimReview/freeResult.jsx new file mode 100644 index 000000000..a17bd5b52 --- /dev/null +++ b/src/glcc/interimReview/freeResult.jsx @@ -0,0 +1,232 @@ +import React, { useEffect, useState } from "react"; +import { Input, Table, Tooltip, Checkbox } from "antd"; +import { getExamineInfoListFor0In } from "../api"; +import ProjectDetail from "../project/component/projectDetail"; +import freeBanner from "../img/freeBanner.png"; +import bgPng from "../img/bgPng.png"; +import "./index.scss"; +import "../checkResult/index.scss"; +import "../project/taskList/index.scss"; +import "../project/index.scss"; +const { Search } = Input; + +// 课题列表 +function FreeResult({ round, id, period }) { + // 输入搜索框 + 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([]); + + useEffect(() => { + setLoading(true); + setExpandedRowKeys([]); + const params = { + curPage: current, + keyword, + pageSize, + term: period === "mediumExamine3" ? 1 : 2, + round, + }; + getExamineInfoListFor0In(params).then((response) => { + if (response && response.message === "success") { + response.data.rows.map((item, index)=>{ + item.id = (current-1)*pageSize+index + 1; + }) + setData(response.data.rows); + setTotal(response.data.total); + } + setLoading(false); + }); + }, [keyword, current, pageSize]); + + const columns = [ + { + title: "序号", + dataIndex: "index", + align: "center", + className: "columnsResult", + width: "8%", + 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: "22%", + ellipsis: true, + render: (text, item) => ( + + { + window.open(`/glcc/${id}/subjects/detail/${item.taskId}`); + }} + > + {text} + + + ), + }, + { + title: "项目名称", + dataIndex: "projectName", + className: "columnsResult", + ellipsis: true, + width: "16%", + render: (text) => ( + + {text} + + ), + }, + { + title: "项目简介", + dataIndex: "introduce", + className: "columnsResult", + width: "16%", + ellipsis: true, + }, + { + title: "考核结果", + dataIndex: "totalityEvaluation", + align: "center", + className: "columnsResult actionBox", + }, + ]; + + const customExpandIcon = (props) => { + if (props.expanded) { + return ( + { + props.onExpand(props.record, e); + }} + > + 项目简介 + + + ); + } else { + return ( + { + props.onExpand(props.record, e); + }} + > + 项目简介 + + + ); + } + }; + + const expandRow = (record) => { + return ( + + ); + }; + + // 展开收起行回调 + function onExpand(expanded, record) { + const keys = new Set(expandedRowKeys); + if (expanded) { + keys.add(record.id); + } else { + keys.delete(record.id); + } + setExpandedRowKeys(Array.from(keys)); + } + + // 改变pagesize + function onShowSizeChange(current, pageSize) { + window.scrollTo(0, 0); + setCurrent(1); + setPageSize(pageSize); + } + + // 切换页数 + function changePage(page, pageSize) { + window.scrollTo(0, 0); + setCurrent(page); + } + + return ( +
+ +
+
+
+ 开源夏令营 / 无奖金课题考核结果公示 +
+
+ { + setCurrent(1); + setKeyword(value); + }} + /> +
+
+ + + + + + + ); +} +export default FreeResult;