From 7145037a53db1c5336310ab0cfd33bf426f05171 Mon Sep 17 00:00:00 2001
From: hjm <63528605@qq.com>
Date: Mon, 24 Jun 2019 15:44:15 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E6=96=87=E5=AD=97=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../modules/courses/busyWork/CommonWorkQuestion.js | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/public/react/src/modules/courses/busyWork/CommonWorkQuestion.js b/public/react/src/modules/courses/busyWork/CommonWorkQuestion.js
index 2c1902e59..7932311b1 100644
--- a/public/react/src/modules/courses/busyWork/CommonWorkQuestion.js
+++ b/public/react/src/modules/courses/busyWork/CommonWorkQuestion.js
@@ -101,14 +101,13 @@ class CommonWorkQuestion extends Component{
{isGroup &&
-
分组要求:
-
分组人数: {group_info.min_num} - {group_info.max_num} 人
-
{group_info.base_on_project ? '基于项目实施' : '不基于项目实施'}:
+
分组要求: {group_info.min_num} ~ {group_info.max_num}
+
{group_info.base_on_project ? '基于项目实施' : '不基于项目'}:
-
(提交作品时需要关联同组成员,组内成员作品共享)
-
({group_info.base_on_project ? '基于项目,则项目管理员角色的成员可以提交作品' : '非基于项目,则任意小组成员可以提交作品'})
-
(各小组必须在educoder平台创建项目)
+
(学生提交作品时需要关联同组成员,组内成员作品共享)
+
({group_info.base_on_project ? '学生必须在本平台创建项目,项目管理员可以提交作品' : '无需再平台创建项目,任意小组成员均可以提交作品'})
+ {/*
(各小组必须在educoder平台创建项目)
*/}
}
From 3993378c4d60512230e481a589d9892cb19febd2 Mon Sep 17 00:00:00 2001
From: hjm <63528605@qq.com>
Date: Mon, 24 Jun 2019 16:33:17 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E6=96=87=E5=AD=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../courses/busyWork/CommonWorkAppraise.js | 7 ++
.../courses/busyWork/CommonWorkList.js | 2 +-
.../courses/busyWork/CommonWorkSetting.js | 78 ++++++++++++++-----
.../GraduationTasksappraiseMainEditor.js | 3 +-
.../courses/poll/PollDetailTabForthRules.js | 4 +-
5 files changed, 68 insertions(+), 26 deletions(-)
diff --git a/public/react/src/modules/courses/busyWork/CommonWorkAppraise.js b/public/react/src/modules/courses/busyWork/CommonWorkAppraise.js
index 616c86f33..77317792e 100644
--- a/public/react/src/modules/courses/busyWork/CommonWorkAppraise.js
+++ b/public/react/src/modules/courses/busyWork/CommonWorkAppraise.js
@@ -180,6 +180,12 @@ class CommonWorkAppraise extends Component{
*/}
+
+
{(description || (attachments && attachments.length != 0)) &&
内容
@@ -286,6 +292,7 @@ class CommonWorkAppraise extends Component{
}
+
{/* task_type={datalist&&datalist.task_type} */}
diff --git a/public/react/src/modules/courses/busyWork/CommonWorkList.js b/public/react/src/modules/courses/busyWork/CommonWorkList.js
index 1e8c634f6..a9090a02e 100644
--- a/public/react/src/modules/courses/busyWork/CommonWorkList.js
+++ b/public/react/src/modules/courses/busyWork/CommonWorkList.js
@@ -228,7 +228,7 @@ function buildColumns(that, student_works) {
- {`${record.student_comment_count}名学生进行了匿评`}
+ {record.student_comment_count && {`${record.student_comment_count}名学生进行了匿评`}
}
有效平均分:{record.student_score}分
)
diff --git a/public/react/src/modules/courses/busyWork/CommonWorkSetting.js b/public/react/src/modules/courses/busyWork/CommonWorkSetting.js
index 1574d692d..181a34b1b 100644
--- a/public/react/src/modules/courses/busyWork/CommonWorkSetting.js
+++ b/public/react/src/modules/courses/busyWork/CommonWorkSetting.js
@@ -259,15 +259,20 @@ class CommonWorkSetting extends Component{
unified_setting: checked
})
}
+ // 启用匿评
anonymous_comment_change = (e) => {
const checked = e.target.checked;
- const { end_time } = this.state;
+ const currentEndTime = this._getCurrentEndTime()
let evaluation_start, evaluation_end, evaluation_num = 0, absence_penalty = 0;
if (checked) {
- if (end_time) {
- evaluation_start = moment(end_time).add(7, 'days').format(dateFormat)
- evaluation_end = moment(end_time).add(21, 'days').format(dateFormat)
+ if (currentEndTime) {
+ evaluation_start = moment(currentEndTime).add(7, 'days').format(dateFormat)
+ evaluation_end = moment(currentEndTime).add(21, 'days').format(dateFormat)
+ }
+ if (!this.state.evaluation_num) {
evaluation_num = 3
+ }
+ if (!this.state.absence_penalty) {
absence_penalty = 2
}
} else {
@@ -310,6 +315,7 @@ class CommonWorkSetting extends Component{
absence_penalty:value
})
}
+ // 启用匿评申诉
anonymous_appeal_change = (e) => {
const { evaluation_end } = this.state;
const anonymous_appeal = e.target.checked
@@ -389,9 +395,10 @@ class CommonWorkSetting extends Component{
this.setState({
late_penalty: 5
})
- if (this.state.end_time && !this.state.late_time) {
+ const currentEndTime = this._getCurrentEndTime();
+ if (currentEndTime && !this.state.late_time) {
this.setState({
- late_time: moment(handleDateString(this.state.end_time)).add(1, 'months').format(dateFormat)
+ late_time: moment(handleDateString(currentEndTime)).add(1, 'months').format(dateFormat)
})
}
}
@@ -469,6 +476,20 @@ class CommonWorkSetting extends Component{
// }
}
+ _getCurrentEndTime = () => {
+ const { unified_setting, end_time, rules } = this.state;
+ if (unified_setting) {
+ return end_time
+ } else {
+ let max_un_unified_setting_end_time = null;
+ rules.map(item => {
+ if (!max_un_unified_setting_end_time || moment(item.end_time) > moment(max_un_unified_setting_end_time)) {
+ max_un_unified_setting_end_time = item.end_time;
+ }
+ })
+ return max_un_unified_setting_end_time
+ }
+ }
saveWorkSetting=()=>{
let workId=this.props.match.params.workId;
@@ -1077,6 +1098,7 @@ class CommonWorkSetting extends Component{
course_group={adaptered_group_settings}
rulesCheckInfo={(info)=>this.rulesCheckInfo(info)}
flagPageEdit={true}
+ moduleName="作业"
>
}
@@ -1254,7 +1276,7 @@ class CommonWorkSetting extends Component{
margin-left: 18px;
}
`}
-
+
允许学生对自己作品的匿评评分进行申诉,由教师和助教处理申诉
@@ -1297,7 +1319,7 @@ class CommonWorkSetting extends Component{
-
+ (学生提交匿评申诉的时间截点)
{
{appeal_time_tip}
}
@@ -1311,7 +1333,7 @@ class CommonWorkSetting extends Component{
/>
-
+ (学生违规匿评TA人作品时,其成绩将被扣减的分值)
{this.state.appeal_penalty_tip && {this.state.appeal_penalty_tip}
}
@@ -1346,21 +1368,17 @@ class CommonWorkSetting extends Component{
多项评分配比(选中,则按照比例计算最终成绩)
-
+
计算说明:
- 优先顺序排前的非零评分 * 100% -
- ( 迟交扣分 + 缺评扣分 * 缺评数 + 违规匿评扣分 * 违规匿评数 )
- 例:有教师评分则教师评分100%,否则教辅评分100%,依次类推
- {/* 教师评分 * 其百分比 + 助教评分 * 其百分比 + 学生匿评平均分 * 其百分比 -
- ( 迟交扣分 + 缺评扣分 * 缺评数 + 违规匿评扣分 * 违规匿评数 )
-
-
+ 教师评分 * 其百分比 + 助教评分 * 其百分比 + 学生匿评平均分 * 其百分比 - (
+ 迟交扣分 + 缺评扣分 * 缺评数 + 违规匿评扣分 * 违规匿评数 )
注意
- 非零百分比的评分选项,在没有评分记录的情况下,其百分比平摊到另外的评
- 分选项上。例如:教师评分40% + 助教评分35% + 学生匿评25%,学生A没
- 有得到教师评分,则最终成绩将按照助教评分55% + 学生匿评45%进行计算 */}
+ 非零百分比的评分选项,若评分记录为空,则其百分比将自动平摊到其它非零
+ 评分选项上。
+ 例:教师评分40% + 助教评分35% + 学生匿评25%,学生A没有教师评分记
+ 录,则其最终成绩按照助教评分55% + 学生匿评45%进行计算
@@ -1392,12 +1410,30 @@ class CommonWorkSetting extends Component{
{{final_mode_false_tip}
}
单项评分优先(选中,则按照优先顺序计算最终成绩)
+
+
+ 计算说明:
+
+ 优先顺序排前的非零评分 * 100% -
+ ( 迟交扣分 + 缺评扣分 * 缺评数 + 违规匿评扣分 * 违规匿评数 )
+ 例:有教师评分则教师评分100%,否则教辅评分100%,依次类推
+ {/* 教师评分 * 其百分比 + 助教评分 * 其百分比 + 学生匿评平均分 * 其百分比 -
+ ( 迟交扣分 + 缺评扣分 * 缺评数 + 违规匿评扣分 * 违规匿评数 )
+
+
+ 注意
+ 非零百分比的评分选项,在没有评分记录的情况下,其百分比平摊到另外的评
+ 分选项上。例如:教师评分40% + 助教评分35% + 学生匿评25%,学生A没
+ 有得到教师评分,则最终成绩将按照助教评分55% + 学生匿评45%进行计算 */}
+
+
+
教师评分 → 教辅评分 → 学生匿评评分
- (有教师评分则教师评分100%,否则教辅评分100%,依次类推 )
+ {/* (有教师评分则教师评分100%,否则教辅评分100%,依次类推 ) */}
diff --git a/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraiseMainEditor.js b/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraiseMainEditor.js
index e722ac00b..15300c628 100644
--- a/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraiseMainEditor.js
+++ b/public/react/src/modules/courses/graduation/tasks/GraduationTasksappraiseMainEditor.js
@@ -197,7 +197,6 @@ class GraduationTasksappraiseMainEditor extends Component{
.mainEditor {
padding: 0 10px;
padding-bottom: 8px;
- height: 288px;
}
.mainEditorTitle {
margin-bottom: 6px;
@@ -218,7 +217,7 @@ class GraduationTasksappraiseMainEditor extends Component{
-
+
- (学生收到{this.props.type==="Exercise"?"试卷":"问卷"}的时间)
- (学生可以答题的时间截点)
+ (学生收到{this.props.moduleName || (this.props.type==="Exercise"?"试卷":"问卷")}的时间)
+ ({this.props.moduleName == '作业' ? '学生“按时”提交作品的时间截点' : '学生可以答题的时间截点'})
{