caishi 6 years ago
commit 439d63ab46

@ -9,7 +9,7 @@ import '../css/Courses.css';
import Modals from "../../modals/Modals";
import AddStudentModal from '../members/modal/AddStudentModal'
import AddTeacherModal from '../members/modal/AddTeacherModal'
import Trialapplication from "../../login/Trialapplication";
// 点击按钮复制功能
// function jsCopy(){
@ -43,13 +43,20 @@ class CoursesBanner extends Component {
metype: 0,
modalsBottomval: "",
antIcon:false,
coursedata:undefined
coursedata:undefined,
user_phone_binded:false,
isRenders:false,
showTrial:false,
}
console.log("CoursesBanner");
console.log("48");
console.log(props);
}
componentDidMount() {
this.updatabanner()
this.setState({
user_phone_binded :this.props.user_phone_binded,
})
}
updatabanner=()=>{
let courseId = this.props.match.params.coursesId;
@ -57,9 +64,19 @@ class CoursesBanner extends Component {
axios.get(url).then((result) => {
if( result!=undefined){
let data = result.data;
if(result.data.status === 407){
this.setState({
coursedata: data
isRenders:true,
coursedata: data,
showTrial:false,
})
}else{
this.setState({
coursedata: data,
showTrial:true,
})
}
}
})
}
@ -315,10 +332,13 @@ class CoursesBanner extends Component {
}
render() {
let { Addcoursestypes, coursedata, modalsType, modalsTopval, loadtype,modalsBottomval,antIcon} = this.state;
let { Addcoursestypes, coursedata, modalsType, modalsTopval, loadtype,modalsBottomval,antIcon,user_phone_binded} = this.state;
return (
<div>
<Trialapplication {...this.state} user_phone_binded={user_phone_binded} ></Trialapplication>
{
coursedata === undefined || coursedata.status===401? <div id="course_info_1309" className="courseHead" style={{height: '206px'}}></div>:<div id="course_info_1309" className="courseHead" style={{height: '206px'}}>
{Addcoursestypes === true ? <Addcourses
@ -574,6 +594,9 @@ class CoursesBanner extends Component {
</div>
</div>
</div>
}
</div>
)
}
}

@ -2030,7 +2030,7 @@ class Studentshavecompletedthelist extends Component {
//===0 不包括主观题
if (indexi === exercise_users.length) {
//都没评论 不显示评论
if (response.data.course_groups.length > 0) {
if (response.data.poll_types.groups_count > 0) {
// console.log("77771111111");
//分班大于0显示分班
//7ge
@ -2272,7 +2272,8 @@ class Studentshavecompletedthelist extends Component {
} else {
//已经评论
if (response.data.course_groups.length > 0) {
// response.data.course_groups.length
if (response.data.poll_types.groups_count > 0) {
//显示分班
//8ge
this.setState({
@ -2545,7 +2546,7 @@ class Studentshavecompletedthelist extends Component {
//包括主观题
if (indexi === exercise_users.length) {
console.log("2548包含主观题不包含分班");
if (response.data.course_groups.length > 0){
if (response.data.poll_types.groups_count> 0){
this.setState({
data: datalist,
teacherlist: teacherlist,
@ -2836,7 +2837,7 @@ class Studentshavecompletedthelist extends Component {
}
} else {
console.log("2699包含主观题包含分班");
if (response.data.course_groups.length > 0) {
if (response.data.poll_types.groups_count> 0) {
this.setState({
data: datalist,
teacherlist: teacherlist,

@ -5,6 +5,7 @@ import CourseLayoutcomponent from '../common/CourseLayoutComponent'
import Titlesearchsection from '../common/titleSearch/TitleSearchSection'
import ColorCountText from '../common/titleSearch/ColorCountText'
import update from 'immutability-helper'
import { WordsBtn, ConditionToolTip, on, off } from 'educoder'
import axios from 'axios'
@ -28,6 +29,7 @@ const pageSize = 20;
function buildColumns(that) {
const isAdmin = that.props.isAdmin()
const isAdminOrCreator = that.props.isAdminOrCreator();
const isAdminOrTeacher = that.props.isAdminOrTeacher()
const { course_groups } = that.state
const columns = [{
title: '',
@ -55,7 +57,8 @@ function buildColumns(that) {
title: '角色',
dataIndex: 'role',
key: 'role',
}, {
}]
that.course_groups && that.course_groups.length && columns.push({
title: <Tooltip title="仅能批阅指定分班的作品">管理权限</Tooltip>,
width: 230,
key: 'course_groups',
@ -70,7 +73,7 @@ function buildColumns(that) {
const noGroups = (!course_groups || course_groups.length == 0);
return (
<ConditionToolTip title={`暂未有分班信息,不能操作`} condition={noGroups}>
<span className="drop_down" style={{color: '#29BD8B'}}>
<span className="drop_down" style={{color: '#29BD8B', display: 'inline-block'}}>
{ arg_course_groups.length == 0 ? '不限' : arg_course_groups.map(item => item.name).join(', ') }
{ isAdmin &&
<React.Fragment>
@ -83,7 +86,7 @@ function buildColumns(that) {
</p>):
''
}
<Checkbox.Group onChange={(checkedValues) => that.joinCourseGroup(checkedValues, item)}
<Checkbox.Group onChange={(checkedValues) => that.joinCourseGroup(checkedValues, item, index)}
value={arg_course_groups.map(item => item.id)}
disabled={!isAdminOrCreator}
>
@ -108,7 +111,7 @@ function buildColumns(that) {
</ConditionToolTip>)
}
,
}];
});
if (that.hasGraduationModule()) {
columns.push({
title: '答辩组',
@ -121,7 +124,7 @@ function buildColumns(that) {
),
})
}
if (isAdminOrCreator) {
if (isAdminOrTeacher) {
columns.push({
title: '操作',
key: 'action',
@ -136,11 +139,12 @@ function buildColumns(that) {
} else {
return (
<span>
<WordsBtn onClick={() => that.onDelete(record)} style={'grey'}>删除</WordsBtn>
<Divider type="vertical" />
{record.role != ROLE_ADMIN && <WordsBtn onClick={() => that.onDelete(record)} style={'grey'}>删除</WordsBtn>}
{(record.role == ROLE_TEACHER || record.role == ROLE_TEACHER_ASSISTANT || isAdminOrCreator) && record.role != ROLE_ADMIN
&& <Divider type="vertical" />}
{ record.role == ROLE_TEACHER ? <a style={{color: '#4CACFF'}} onClick={() => that.changeToAssistant(record)}>变更为助教</a> : '' }
{ record.role == ROLE_TEACHER_ASSISTANT ? <a style={{color: '#4CACFF'}} onClick={() => that.changeToTeacher(record)}>变更为教师</a> : '' }
{ record.role == ROLE_ADMIN ? <a style={{color: '#4CACFF'}} onClick={() => that.showChangeAdminModal(record)}>更换管理员</a> : '' }
{ record.role == ROLE_ADMIN && isAdminOrCreator ? <a style={{color: '#4CACFF', marginLeft: '44px'}} onClick={() => that.showChangeAdminModal(record)}>更换管理员</a> : '' }
</span> )
}
@ -237,8 +241,13 @@ class studentsList extends Component{
})
.then((response) => {
if (response.data.course_groups && response.data.course_groups.length) {
let course_groups_map = {}
response.data.course_groups.forEach(item => {
course_groups_map[item.id] = item.name
})
this.setState({
course_groups: response.data.course_groups,
course_groups_map
})
} else {
}
@ -247,7 +256,7 @@ class studentsList extends Component{
console.log(error);
});
}
joinCourseGroup = (ids, item) => {
joinCourseGroup = (ids, item, index) => {
console.log('join ', ids, item)
const courseId = this.props.match.params.coursesId
@ -262,7 +271,12 @@ class studentsList extends Component{
.then((response) => {
if (response.data.status == 0) {
this.props.showNotification('修改成功')
this.fetchAll()
const newArray = ids.map((item) => {return {id: item, name: this.state.course_groups_map[item]}});
this.setState(
(prevState) => ({
teachers : update(prevState.teachers, {[ this.state.page == 1 ? index - this.state.application_list.length : index]: { course_groups: {$set: newArray }}})
}))
// this.fetchAll()
} else {
}
})
@ -560,7 +574,7 @@ class studentsList extends Component{
<ul className="drop_down_normal">
<li onClick={() => this.onSortTypeChange(ORDER_BY_NAME)} >姓名排序</li>
<li onClick={() => this.onSortTypeChange(ORDER_BY_DATE)} style={{width: '125px'}}>加入时间排序</li>
<li onClick={() => this.onSortTypeChange(ORDER_BY_GRADUATION_GROUP)} >答辩组排序</li>
{this.hasGraduationModule() && <li onClick={() => this.onSortTypeChange(ORDER_BY_GRADUATION_GROUP)} >答辩组排序</li>}
</ul>
</li>
</div> }

@ -71,7 +71,6 @@ class Trialapplication extends Component {
this.setState({
isRenders: true
})
this.props.setTrialapplication();
}
return response;
}, (error) => {

@ -213,12 +213,12 @@ export function TPMIndexHOC(WrappedComponent) {
return this.state.coursedata&&this.state.coursedata.course_identity === 6
}
setTrialapplication = ()=>{
this.setState({
isRenders:true
})
}
// setTrialapplication = ()=>{
// this.setState({
// isRenders:true
// })
//
// }
/**
@ -288,13 +288,13 @@ export function TPMIndexHOC(WrappedComponent) {
}
return (
<div>
{
user_phone_binded === undefined?
""
:
<Trialapplication {...this.state} user_phone_binded={user_phone_binded} setTrialapplication = {this.setTrialapplication} ></Trialapplication>
{/*{*/}
{/* user_phone_binded === undefined?*/}
{/* ""*/}
{/* :*/}
{/* <Trialapplication {...this.state} user_phone_binded={user_phone_binded} setTrialapplication = {this.setTrialapplication} ></Trialapplication>*/}
}
{/*}*/}
<SiderBar
Headertop={Headertop}

@ -279,7 +279,8 @@ class LoginRegisterComponent extends Component {
}
}).then((result) => {
//验证有问题{"status":1,"message":"success"}
console.log(result);
// console.log(result);
this.openNotification("验证码已发送,请注意查收!",2);
}).catch((error) => {
@ -370,7 +371,7 @@ class LoginRegisterComponent extends Component {
{
Phonenumberisnotco && Phonenumberisnotco != "" ?
<p className="color-red mt5 mb5" style={{width: " 100%", height: "20px"}}>
<span>{Phonenumberisnotco}</span>
<span className="fl" style={{textAlign:"center",width: " 100%"}}>{Phonenumberisnotco}</span>
</p>
: <div style={{height: "25px"}}></div>
}

@ -361,11 +361,11 @@ class LoginRegisterComponent extends Component {
}
}).then((result) => {
//验证有问题{"status":1,"message":"success"}
console.log(result);
// console.log(result);
}).catch((error) => {
console.log(error);
// console.log(error);
// this.setState({
// login:"",
// logins:"",
@ -374,7 +374,6 @@ class LoginRegisterComponent extends Component {
}
//短信验证
SMSverification = () => {
var url = `/accounts/get_verification_code.json`;
axios.get((url), {
params: {
@ -383,7 +382,8 @@ class LoginRegisterComponent extends Component {
}
}).then((result) => {
//验证有问题{"status":1,"message":"success"}
console.log(result);
// console.log(result);
this.openNotification("验证码已发送,请注意查收!",2);
}).catch((error) => {
@ -412,7 +412,6 @@ class LoginRegisterComponent extends Component {
//倒计时
getverificationcode = () => {
debugger
if (this.state.Phonenumberisnotcobool === false ||this.state.Phonenumberisnotcobool === undefined) {
if (this.state.logins&&this.state.logins.length === 0) {
this.openNotification("请输入手机号或邮箱",2);
@ -509,13 +508,17 @@ class LoginRegisterComponent extends Component {
this.setState({
tab:e.key
})
// console.log(e.key);
// if(e.key === 0){
// this.props.Setlogins(1);
// }else{
// this.props.Setlogins(2);
//
// }
console.log(e.key);
if(e.key === 0){
this.setState({
Phonenumberisnotcos:undefined
})
}else{
this.setState({
Phonenumberisnotco:undefined
})
}
// this.props.history.push(`/courses/${this.props.match.params.coursesId}/exercises/${this.props.match.params.Id}/student_exercise_list?tab=`+e.key)
@ -590,12 +593,13 @@ class LoginRegisterComponent extends Component {
onChange={this.loginInputonChange}
name="username"
className="font-14 color-grey-9"
onBlur={(e) => this.inputOnBlur(e, 1)}
style={{marginTop: '30px', height: '38px'}}></Input>
{
Phonenumberisnotco && Phonenumberisnotco != "" ?
<p className="color-red mt5 mb5" style={{width: " 100%", height: "20px"}}>
<span>{Phonenumberisnotco}</span>
<span className="fl" style={{textAlign:"center",width: " 100%"}}>{Phonenumberisnotco}</span>
</p>
: <div style={{height:"25px"}}></div>
}
@ -629,9 +633,7 @@ class LoginRegisterComponent extends Component {
{
Phonenumberisnotcos && Phonenumberisnotcos != "" ?
<p className="color-red mt5 mb5 " style={{width: " 100%", height: "20px"}}>
{/*<span className="fl">{Phonenumberisnotcos}</span>*/}
<span className="fl" style={{textAlign:"center",width: " 100%"}}>请输入手机号码</span>
<span className="fl" style={{textAlign:"center",width: " 100%"}}>{Phonenumberisnotcos}</span>
</p>
: <div style={{height:"25px"}}></div>

Loading…
Cancel
Save