diff --git a/src/glcc/api.js b/src/glcc/api.js index bc9ef1bfc..adcec1fd9 100644 --- a/src/glcc/api.js +++ b/src/glcc/api.js @@ -143,7 +143,7 @@ export function getPassList(params) { }); } -// 中期考核-查看中期考核信息 +// 中期考核-查看中期考核信息(返回导师评分) export function getMediumTermExamineInfo(taskId) { return fetch({ url: `/api/mediumTermExamineMaterial/getMediumTermExamineInfo/${taskId}`, @@ -151,6 +151,14 @@ export function getMediumTermExamineInfo(taskId) { }); } +// 中期考核-查看中期考核信息(不返回返回导师评分) +export function getBriefMediumTermExamineMaterial(taskId) { + return fetch({ + url: `/api/mediumTermExamineMaterial/getBriefMediumTermExamineMaterial/${taskId}`, + method: 'get' + }); +} + // 中期考核-提交中期考核信息 export function submitMedium(data) { return fetch({ diff --git a/src/glcc/index.jsx b/src/glcc/index.jsx index c70a575db..8be1e99b5 100644 --- a/src/glcc/index.jsx +++ b/src/glcc/index.jsx @@ -85,10 +85,10 @@ const Glcc = (propsF) => { 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 secondStudentApplyDate = new Date().getTime() > new Date('2022-06-29 1:0').getTime() && new Date().getTime() < new Date('2022-06-30 0:0').getTime(); - // 学生中期考核提交资料时间 - const checkTime1 = new Date().getTime() > new Date('2022-08-12 8:0').getTime() && new Date().getTime() < new Date('2022-08-18 24:0').getTime(); + // 学生中期考核入口可见时间 + const checkTime1 = new Date().getTime() > new Date('2022-08-12 8:0').getTime() && new Date().getTime() < new Date('2022-08-25 24:0').getTime(); // 导师中期考核时间 - const checkTime2 = new Date().getTime() > new Date('2022-08-12 10:0').getTime() && new Date().getTime() < new Date('2022-08-24 24:0').getTime(); + const checkTime2 = new Date().getTime() > new Date('2022-08-12 10:0').getTime() && new Date().getTime() < new Date('2022-08-25 24:0').getTime(); // 中期考核结果公示8月26日0点 const checkTime3 = new Date().getTime() > new Date('2022-08-26 0:0').getTime(); diff --git a/src/glcc/interimReview/index.scss b/src/glcc/interimReview/index.scss index 7825a8b05..ee64d6d6c 100644 --- a/src/glcc/interimReview/index.scss +++ b/src/glcc/interimReview/index.scss @@ -102,13 +102,20 @@ background: none; .task-title-stuName{ font-weight:700; - color:#6c7283; + color:#333; padding-bottom: 25px; border-bottom:1px dashed #bec5d5; } } } .reviewBox{ + .successReviewBox{ + color:#2dab4d; + background-color:rgba(82, 206, 152, 0.11); + border:1px solid rgba(36, 167, 67, 0.61); + margin: -5px 20px 20px; + padding: 6px 15px; + } .title{ color:#333333; display: flex; @@ -143,8 +150,11 @@ } .resultBox{ padding: 30px 20px 50px 20px; + .nullDateTip{color: #ff3838;} + &.nullData .flexBox div{align-items: center;} .blueBg{ width: 85%; + min-height: 36px; display: inline-block; padding: 4px 10px; background-color:rgba(70, 106, 255, 0.05); @@ -180,6 +190,21 @@ .smallTil{ color: #202d40; } + .passStatusBox{ + display: inline-block; + width:59px; + height:28px; + color:#d2001d; + text-align: center; + background-color:rgba(251, 0, 34, 0.06); + border:1px solid #df001f; + border-radius:6px; + &.pass{ + color:#2dab4d; + background-color:rgba(82, 206, 152, 0.11); + border-color:rgba(36, 167, 67, 0.61); + } + } .blueSpan{color: $primary-color;} } .tutorRemark{ diff --git a/src/glcc/interimReview/result.jsx b/src/glcc/interimReview/result.jsx index 4e380ff19..985b0a3d0 100644 --- a/src/glcc/interimReview/result.jsx +++ b/src/glcc/interimReview/result.jsx @@ -38,7 +38,8 @@ function CheckResult({current_user, history, checkTime3}) { curPage: current, keyword, pageSize, - pass: pass? '1': '' + // pass: pass? '1': '' + pass: '1' } getMediumTermExamineInfoList(params).then(response => { if (response && response.message === "success") { @@ -110,7 +111,7 @@ function CheckResult({current_user, history, checkTime3}) {
开源夏令营 / 中期课题考核结果公示
- {setCurrent(1);setPass(e.target.checked)}}>已通过 + {/* {setCurrent(1);setPass(e.target.checked)}}>已通过 */} { setCurrent(1); setKeyword(value) }} />
diff --git a/src/glcc/interimReview/studentSubmit.jsx b/src/glcc/interimReview/studentSubmit.jsx index 5ac56e106..1929aa824 100644 --- a/src/glcc/interimReview/studentSubmit.jsx +++ b/src/glcc/interimReview/studentSubmit.jsx @@ -4,8 +4,8 @@ import { Link } from "react-router-dom"; import banner from '../img/banner-interim.png'; import img1 from '../img/img1.png'; import bg from '../img/bgPng.png'; -import { main_site_url, httpUrl } from '../fetch'; -import {getMediumTermExamineInfo, submitMedium} from '../api'; +import { httpUrl } from '../fetch'; +import {getMediumTermExamineInfo, submitMedium, getBriefMediumTermExamineMaterial} from '../api'; import './index.scss'; function StudentSubmit(props){ @@ -14,6 +14,10 @@ function StudentSubmit(props){ const [detail, setDetail] = useState(undefined); const [reload, setReload] = useState(undefined); const [fileList, setFileList] = useState(undefined); + // 学生提交材料时间 + const submitTime = new Date().getTime() < new Date('2022-08-21 24:0').getTime(); + // 学生查看导师评分时间 + const lookTime = new Date().getTime() > new Date('2022-08-24 24:0').getTime() && new Date().getTime() < new Date('2022-08-25 24:0').getTime(); useEffect(()=>{ if(!checkTime1){ @@ -23,11 +27,21 @@ function StudentSubmit(props){ useEffect(()=>{ // 查询是否已经提交考核材料 - checkedTaskId && getMediumTermExamineInfo(checkedTaskId).then(res=>{ - if(res && res.message === "success"){ - setDetail(res.data); - } - }) + if(lookTime){ + // 8.25学生可见导师评分 + checkedTaskId && getMediumTermExamineInfo(checkedTaskId).then(res=>{ + if(res && res.message === "success"){ + setDetail(res.data); + } + }) + }else{ + // 25号之前不可见 + checkedTaskId && getBriefMediumTermExamineMaterial(checkedTaskId).then(res=>{ + if(res && res.message === "success"){ + setDetail(res.data); + } + }) + } },[checkedTaskId, reload]) // 学生提交材料 @@ -68,13 +82,14 @@ function StudentSubmit(props){
材料提交说明:
1、请各位学生下载PPT模板 ,根据课题开发进展,按照PPT模板要求填写课题学习调研方案、开发进度及开发成果、下半阶段工作计划等考核材料;
2、欢迎各位学生录制本课题答辩视频,将视频链接填写至下方视频介绍填写栏;
-
3、学生提交考核材料的时间为2022年8月12日8点至2022年8月18日24点,请在截止时间前提交。若在截止时间未提交中期考核表,则默认自动放弃,该课题将自动终止。
+
3、学生提交考核材料的时间为2022年8月12日8点至2022年8月21日24点,请在截止时间前提交。若在截止时间未提交中期考核表,则默认自动放弃,该课题将自动终止;
+
4、学生在2022年8月25日0点至2022年8月25日24点可在此页面查看自己考核成绩,若对考核成绩有异议,请及时联系导师进行更改。
中期考核
- {!detail ?
+ {submitTime && !detail ? {getFieldDecorator('defenceVideoUrl', { rules: [{ required: true, message: '请输入视频链接!'}, {pattern: /^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/,message: "请正确输入链接"}], @@ -94,19 +109,21 @@ function StudentSubmit(props){ - :
+ :
-
  答辩视频{detail.defenceVideoUrl}
-
代码/pr地址{detail.codeOrPrUrl}
-
   PPT附件{`${detail.pptAttachment.fileName}`}{detail.pptAttachment.fileSizeString}
+ + +
   PPT附件{detail && }{detail ? {`${detail.pptAttachment.fileName}`} : }{detail && detail.pptAttachment && detail.pptAttachment.fileSizeString}
- {detail.glccTutorEvaluation &&
+ {!detail &&
很遗憾,您在指定时间内未提交考核材料
} + {detail && !detail.glccTutorEvaluation &&
您的课题导师暂未评分,请提醒导师尽快提交中期考核评分
} + {detail && detail.glccTutorEvaluation &&
您的课题导师对您的中期考核评价如下,如有异议,请及时联系导师进行更改。
工作态度: {detail.glccTutorEvaluation.workAttitudeEvaluation}
开发进度: {detail.glccTutorEvaluation.developProgressEvaluation}
项目完成质量: {detail.glccTutorEvaluation.projectQualityEvaluation}
- 总体评分: {detail.glccTutorEvaluation.totalityEvaluation} + 总体评分: {detail.glccTutorEvaluation.totalityEvaluation}{detail.glccTutorEvaluation.totalityEvaluation === 'D' ? '未通过' : '通过'}
导师评语: {detail.glccTutorEvaluation.comment}
} diff --git a/src/glcc/interimReview/tutorReview.jsx b/src/glcc/interimReview/tutorReview.jsx index be618793d..d14a780cb 100644 --- a/src/glcc/interimReview/tutorReview.jsx +++ b/src/glcc/interimReview/tutorReview.jsx @@ -18,6 +18,8 @@ function TutorReview(props){ const [wordNum, setWordNum] = useState(0); const [detail, setDetail] = useState(undefined); const [reload, setReload] = useState(undefined); + // 导师提交过之后是否是编辑状态 + const [isEdit, setIsEdit] = useState(false); useEffect(() => { if(!checkTime2){ @@ -40,6 +42,7 @@ function TutorReview(props){ if(res && res.message === "success"){ setDetail(res.data); if(res && res.data && res.data.glccTutorEvaluation){ + setWordNum(res.data.glccTutorEvaluation.comment.length); setFieldsValue({...res.data.glccTutorEvaluation}); } } @@ -79,7 +82,7 @@ function TutorReview(props){ }) } - const RadioGroup = + const RadioGroup = S A B @@ -104,11 +107,11 @@ function TutorReview(props){
导师考核说明:
1、请各位导师根据“工作态度”“开发进度”“项目完成质量”“总体评分”四个角度,根据学生提交的考核材料与实际开发情况客观地进行打分。打分标准分为:S:特别优秀、A:优秀、B:良好、C:合格、D:不合格五个等级。
2、“总体评分”这一项将决定学生是否通过本次考核。若总体评分为“S、A、B、C”,则视为通过中期考核。若该结果为“D”,则该课题中期考核不通过,课题将自动终止。请各位导师谨慎做出评价。
-
3、在审核阶段 (2022年8月12日10点至2022年8月24日24点) 导师提交打分结果后,可对考核结果进行更改,期间考核结果也将实时反馈给学生。
+
3、导师提交打分结果后,可对考核结果进行更改,更改考核结果截止日期为2022年8月25日24点
4、北京时间2022年8月26日20点前GLCC官网将公布中期考核结果,敬请留意。
- { resetFields(); setTaskId(e) }} activeKey={taskId + ''}> + { resetFields(); setTaskId(e); setIsEdit(false); setWordNum(0); }} activeKey={taskId + ''}> { taskList.map((item, i) => { return @@ -118,6 +121,8 @@ function TutorReview(props){ } {detail ?
+ {/* 已评分提示语句 */} + {detail.glccTutorEvaluation &&
您已评分成功! 在审核期间,您可对评分结果进行更改
} {/* 学生提交的资料 */}
基本信息
@@ -154,13 +159,14 @@ function TutorReview(props){ {helper('填写评语', 'comment', [{ required: true, message: "请输入评语!" }], -