From dbcc7bbb9b7bc3353ce082e659da25ef359aeaf0 Mon Sep 17 00:00:00 2001
From: caicai8 <1149225589@qq.com>
Date: Wed, 19 Feb 2020 17:19:17 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E6=9C=AA=E5=88=86=E7=8F=AD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../courses/members/CourseGroupList.js | 11 +++--
.../courses/members/CourseGroupListTable.js | 33 +++++++-------
.../modules/courses/members/studentsList.css | 43 +++++++++++++++++++
.../modules/courses/members/studentsList.js | 22 +++++++---
4 files changed, 85 insertions(+), 24 deletions(-)
diff --git a/public/react/src/modules/courses/members/CourseGroupList.js b/public/react/src/modules/courses/members/CourseGroupList.js
index afec12fa9..597357a9f 100644
--- a/public/react/src/modules/courses/members/CourseGroupList.js
+++ b/public/react/src/modules/courses/members/CourseGroupList.js
@@ -133,7 +133,12 @@ function CourseGroupList(props) {
modalsType={DownloadType}
/>
+ 分班列表
+ {props.history.push(`/courses/${courseId}/course_groups/0`)}}>未分班
+
+ }
searchValue={ searchValue }
onInputSearchChange={onInputSearchChange}
allowClearonChange={onInputSearchChange}
@@ -211,12 +216,12 @@ function CourseGroupList(props) {
onPressEnter={onPressEnter}
>
- {!!none_group_member_count &&
{props.history.push(`/courses/${courseId}/course_groups/0`)}}>
+ {/* {!!none_group_member_count &&
{props.history.push(`/courses/${courseId}/course_groups/0`)}}>
未分班:
{none_group_member_count}个学生
查看
-
}
+
} */}
{course_groups && !!course_groups.length ?
diff --git a/public/react/src/modules/courses/members/CourseGroupListTable.js b/public/react/src/modules/courses/members/CourseGroupListTable.js
index 5551faee3..2b02afcd7 100644
--- a/public/react/src/modules/courses/members/CourseGroupListTable.js
+++ b/public/react/src/modules/courses/members/CourseGroupListTable.js
@@ -5,7 +5,7 @@ import axios from 'axios'
import { WordsBtn, trigger, on, off, getUrl, downloadFile , sortDirections } from 'educoder'
import ClipboardJS from 'clipboard'
-
+import './studentsList.css';
/**
角色数组, CREATOR: 创建者, PROFESSOR: 教师, ASSISTANT_PROFESSOR: 助教, STUDENT: 学生
course_members_count: 0
@@ -103,10 +103,23 @@ function CourseGroupListTable(props) {
dataIndex: 'invite_code',
key: 'invite_code',
align:'center',
- width:"10%",
+ width:"21%",
className:"color-grey-6",
render: (invite_code, record, index) => {
- return invite_code
+ return
+ {invite_code}
+ {isAdmin &&
+
+ 成员可以通过邀请码主动加入分班
+ 点击复制邀请码
+
+ }>
+ 复制
+
+ }
+
}
} : {
title: '你当前所在分班',
@@ -127,22 +140,12 @@ function CourseGroupListTable(props) {
dataIndex: 'setting',
key: 'setting',
align:'center',
- width:"25%",
+ width:"14%",
className:"color-grey-6",
render: (none, record, index) => {
return
{!isCourseEnd && isAdmin && onDelete(record)} style={'grey'}>删除分班}
- {isAdmin &&
-
- 成员可以通过邀请码主动加入分班
- 点击复制邀请码
-
- }>
- 复制邀请码
-
- }
+
{isStudent && addToDir(record)} style={''}>加入分班}
onGoDetail(record)} style={''}>查看
diff --git a/public/react/src/modules/courses/members/studentsList.css b/public/react/src/modules/courses/members/studentsList.css
index b2a41c7e6..bd7b88ed1 100644
--- a/public/react/src/modules/courses/members/studentsList.css
+++ b/public/react/src/modules/courses/members/studentsList.css
@@ -5,4 +5,47 @@
.E9F8FF{
background-color: #E9F8FF;
+}
+
+.codeBtnStyle{
+ height: 18px;
+ line-height: 18px;
+ padding:0px 5px;
+ cursor: pointer;
+ font-size: 12px;
+ border-radius: 2px;
+}
+.codeBtn_yellow{
+ border:1px solid #FF6B06;
+ color: #FF6B06!important;
+}
+.codeBtn_green{
+ border:1px solid #00BA38;
+ color: #00BA38!important;
+}
+
+.codeBtn_blue{
+ border:1px solid #4CACFF;
+ color: #4CACFF!important;
+}
+
+.course_publicNav{
+ display: flex;
+}
+.course_publicNav li{
+ position: relative;
+ margin-right: 30px;
+ cursor: pointer;
+}
+.course_publicNav li.active{
+ color: #4CACFF
+}
+.course_publicNav li.active::after{
+ position: absolute;
+ width: 100%;
+ height: 2px;
+ content: '';
+ left: 0px;
+ bottom: -33px;
+ background: #4CACFF;
}
\ No newline at end of file
diff --git a/public/react/src/modules/courses/members/studentsList.js b/public/react/src/modules/courses/members/studentsList.js
index aff19d041..af83d0a49 100644
--- a/public/react/src/modules/courses/members/studentsList.js
+++ b/public/react/src/modules/courses/members/studentsList.js
@@ -741,12 +741,22 @@ class studentsList extends Component{
-
-
- { this.props.history.push(`/courses/${courseId}/course_groups`)}}
- style={{color: '#212121', verticalAlign: 'initial', marginRight: '14px' }}
- >
- {course_group_name || '未分班'}
+ {
+ course_group_name ?
+
+
+ { this.props.history.push(`/courses/${courseId}/course_groups`)}}
+ style={{color: '#212121', verticalAlign: 'initial', marginRight: '14px' }}
+ >
+ {course_group_name}
+
+ :
+
+ - { this.props.history.push(`/courses/${courseId}/course_groups`)}}>分班列表
+ - 未分班
+
+ }
+
{isAdmin && invite_code &&
邀请码:
From bf2d7bc60a3cb5b4ad5b16007bdfd4725c2a4e30 Mon Sep 17 00:00:00 2001
From: caicai8 <1149225589@qq.com>
Date: Wed, 19 Feb 2020 18:08:29 +0800
Subject: [PATCH 2/4] =?UTF-8?q?=E5=81=9C=E7=94=A8=E3=80=81=E5=90=AF?=
=?UTF-8?q?=E7=94=A8=E9=82=80=E8=AF=B7=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../courses/members/CourseGroupListTable.js | 21 ++++++++++++++++++-
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/public/react/src/modules/courses/members/CourseGroupListTable.js b/public/react/src/modules/courses/members/CourseGroupListTable.js
index 2b02afcd7..42e64adeb 100644
--- a/public/react/src/modules/courses/members/CourseGroupListTable.js
+++ b/public/react/src/modules/courses/members/CourseGroupListTable.js
@@ -1,6 +1,6 @@
import React, { useState, useEffect } from 'react'
-import { Input,Checkbox,Table, Pagination, Modal,Menu ,Spin, Tooltip , Badge, Popconfirm } from "antd";
+import { Input,Checkbox,Table, Pagination, Modal,Menu ,Spin, Tooltip , Badge, Popconfirm, Result } from "antd";
import axios from 'axios'
import { WordsBtn, trigger, on, off, getUrl, downloadFile , sortDirections } from 'educoder'
@@ -108,6 +108,13 @@ function CourseGroupListTable(props) {
render: (invite_code, record, index) => {
return
{invite_code}
+ {
+ record.edit_auth ?
+ changeInviteCode(record.id,record.invite_code_halt)} className={record.invite_code_halt ?"codeBtnStyle codeBtn_green ml10":"codeBtnStyle codeBtn_blue ml10"}>
+ {record.invite_code_halt ?"启用":"停用"}
+
+ :""
+ }
{isAdmin &&
@@ -212,6 +219,18 @@ function CourseGroupListTable(props) {
function onGoDetail(record) {
props.history.push(`/courses/${courseId}/course_groups/${record.id}`)
}
+ // 停用和启用邀请码
+ function changeInviteCode(id,flag){
+ const url= `/course_groups/${id}/set_invite_code_halt.json`;
+ axios.post(url).then(result=>{
+ if(result){
+ props.showNotification(`邀请码${flag?"启用":"停用"}成功!`);
+ props.onOperationSuccess && props.onOperationSuccess();
+ }
+ }).catch(error=>{
+ console.log(error);
+ })
+ }
const isAdmin = props.isAdmin();
const isSuperAdmin = props.isSuperAdmin();
const isStudent = props.isStudent()
From f16334aa4687ec0009ae22a1c1c1a9f4d0461727 Mon Sep 17 00:00:00 2001
From: caicai8 <1149225589@qq.com>
Date: Thu, 20 Feb 2020 13:54:53 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E9=82=80=E8=AF=B7=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../react/src/modules/courses/members/CourseGroupListTable.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/public/react/src/modules/courses/members/CourseGroupListTable.js b/public/react/src/modules/courses/members/CourseGroupListTable.js
index 42e64adeb..e146d3432 100644
--- a/public/react/src/modules/courses/members/CourseGroupListTable.js
+++ b/public/react/src/modules/courses/members/CourseGroupListTable.js
@@ -115,7 +115,7 @@ function CourseGroupListTable(props) {
:""
}
- {isAdmin &&
+ {isAdmin && !record.invite_code_halt &&
成员可以通过邀请码主动加入分班
From c5dbfcc67644bc9a69b8e9702ffe08150f834fc8 Mon Sep 17 00:00:00 2001
From: caicai8 <1149225589@qq.com>
Date: Thu, 20 Feb 2020 14:18:49 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E5=BC=B9=E6=A1=86=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../modules/courses/coursesDetail/CoursesBanner.js | 2 +-
.../courses/members/CourseGroupListTable.js | 14 ++++++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/public/react/src/modules/courses/coursesDetail/CoursesBanner.js b/public/react/src/modules/courses/coursesDetail/CoursesBanner.js
index c8715e1b8..99d5f7606 100644
--- a/public/react/src/modules/courses/coursesDetail/CoursesBanner.js
+++ b/public/react/src/modules/courses/coursesDetail/CoursesBanner.js
@@ -246,7 +246,7 @@ class CoursesBanner extends Component {
})
}else{
- s = "邀请码停用后,用户不能主动加入该课堂了";
+ s = "课堂邀请码停用后,用户不能主动加入该课堂了";
ss = "您是否确认停用?";
this.showActionPoll(i,s,ss)
}
diff --git a/public/react/src/modules/courses/members/CourseGroupListTable.js b/public/react/src/modules/courses/members/CourseGroupListTable.js
index e146d3432..d0ccbd73a 100644
--- a/public/react/src/modules/courses/members/CourseGroupListTable.js
+++ b/public/react/src/modules/courses/members/CourseGroupListTable.js
@@ -221,6 +221,20 @@ function CourseGroupListTable(props) {
}
// 停用和启用邀请码
function changeInviteCode(id,flag){
+ if(flag){
+ changeInviteCodeFunc(id,flag);
+ }else{
+ props.confirm({
+ content:"分班邀请码停用后,用户不能主动加入该分班了",
+ subContent:'您是否确认停用?',
+ onOk:() => {
+ changeInviteCodeFunc(id,flag)
+ }
+ })
+ }
+ }
+
+ function changeInviteCodeFunc(id,flag){
const url= `/course_groups/${id}/set_invite_code_halt.json`;
axios.post(url).then(result=>{
if(result){