From 76058894dfd2158508175fcbfefb1536c67013cb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=B0=A2=E6=80=9D?= <2897217417@qq.com>
Date: Thu, 11 Aug 2022 15:41:22 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=9C=80=E6=B1=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/glcc/api.js | 10 ++++-
src/glcc/index.jsx | 6 +--
src/glcc/interimReview/index.scss | 27 +++++++++++++-
src/glcc/interimReview/result.jsx | 5 ++-
src/glcc/interimReview/studentSubmit.jsx | 47 ++++++++++++++++--------
src/glcc/interimReview/tutorReview.jsx | 16 +++++---
6 files changed, 84 insertions(+), 27 deletions(-)
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 ?
{getFieldDecorator('defenceVideoUrl', {
rules: [{ required: true, message: '请输入视频链接!'}, {pattern: /^(?:http(s)?:\/\/)?[\w.-]+(?:\.[\w\.-]+)+[\w\-\._~:/?#[\]@!\$&'\(\)\*\+,;=.]+$/,message: "请正确输入链接"}],
@@ -94,19 +109,21 @@ function StudentSubmit(props){
- :
+ :
- {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: "请输入评语!" }],
-
-
+ {(!detail.glccTutorEvaluation || (detail.glccTutorEvaluation && isEdit)) && }
+ {detail.glccTutorEvaluation && !isEdit && }
:}