import React,{ Component } from "react"; import {DatePicker,Select,Tooltip,Input} from "antd"; import { handleDateString } from 'educoder'; import '../css/members.css'; import '../css/busyWork.css'; import './pollStyle.css'; import moment from 'moment'; import locale from 'antd/lib/date-picker/locale/zh_CN'; const Search=Input.Search; const Option=Select.Option; const dataformat="YYYY-MM-DD HH:mm" function range(start, end) { const result = []; for (let i = start; i < end; i++) { result.push(i); } return result; } function disabledDateTime() { return { disabledMinutes: () => range(1, 30).concat(range(31, 60)), // disabledSeconds: () => range(1,60) } } function disabledDate(current) { return current && current < moment().endOf('day').subtract(1, 'days'); } class PollDetailTabForthRules extends Component{ constructor(props){ super(props); let list= [{ course_group_id:[], course_group_name:[], publish_time:undefined, end_time:undefined, publish_flag:"", end_flag:"", class_flag:"", course_search:"", poll_status:0, p_timeflag:false, e_timeflag:false }] this.state={ rules: this.props.rules && this.props.rules.length == 0 ? list : this.props.rules, course_group:this.props.course_group, selectedCourse:[], flagPageEdit:this.props.flagPageEdit } } componentDidUpdate(prevProps) { if (JSON.stringify(this.props.rules) != JSON.stringify(prevProps.rules) ) { this.setState({rules:this.props.rules}); this.unitChoose(this.props.rules); } if(this.props.flagPageEdit != prevProps.flagPageEdit){ this.setState({flagPageEdit:this.props.flagPageEdit}) } } componentDidMount=()=>{ this.unitChoose(this.props.rules); } // 添加发布规则 AddRules=()=>{ let {rules}=this.state; let newrules=rules; let list= { course_group_id:[], course_group_name:[], publish_time:undefined, end_time:undefined, publish_flag:"", end_flag:"", class_flag:"", course_search:"", poll_status:0, e_timeflag:false, p_timeflag:false } newrules.push(list) this.setState({ rules:newrules }) this.props.rulesCheckInfo && this.props.rulesCheckInfo(rules) } //删除发布规则 removeRules=(index)=>{ let { rules }=this.state; var lists= rules; let num=parseInt(index); lists.splice(num,1); this.setState({ rules:lists }) this.unitChoose(lists); this.props.rulesCheckInfo && this.props.rulesCheckInfo(lists) } //修改发布规则里面的结束时间 changeRuleEndTime=(e,date,index)=>{ let arr=Object.assign({}, this.state.rules[parseInt(index)]); arr.end_time=handleDateString(date); if(date!="" && date!=undefined && moment(date,dataformat)>moment() && moment(date,dataformat)>moment(arr.publish_time,dataformat)){ arr.end_flag="" } let rules=this.state.rules; rules[index]=arr; this.setState({ rules }) this.props.rulesCheckInfo && this.props.rulesCheckInfo(rules) } //修改发布规则里面的发布时间 changeRulePublishTime=(e,date,index)=>{ // debugger let arr=Object.assign({}, this.state.rules[parseInt(index)]); arr.publish_time=date=== ""?"":moment(handleDateString(date)).format("YYYY-MM-DD HH:mm"); if(!arr.end_time){ if(e!=null){ arr.end_time = moment(moment(handleDateString(date)).add(1, 'months')).format("YYYY-MM-DD HH:mm") } } if(date!="" && date !=undefined && moment(date,dataformat)>moment()){ arr.publish_flag="" } let rules=this.state.rules; rules[index]=arr; this.setState({ rules }) this.props.rulesCheckInfo && this.props.rulesCheckInfo(rules) } // changeOpen=(e,index)=>{ // let arr=Object.assign({}, this.state.rules[parseInt(index)]); // arr.open= true; // let rules=this.state.rules; // rules[index]=arr; // this.setState({ // rules // }) // } // changeClose=(e,index)=>{ // let arr=Object.assign({}, this.state.rules[parseInt(index)]); // arr.open= false; // let rules=this.state.rules; // rules[index]=arr; // this.setState({ // rules // }) // } // 选择分班 changeClasses=(value,option,index)=>{ let arr=Object.assign({}, this.state.rules[parseInt(index)]); arr.course_group_id=value; arr.class_flag=""; let rules=this.state.rules; rules[index]=arr; //修改选择分班下拉选项(是否被选中) //let course_group = this.state.course_group; this.unitChoose(rules); this.setState({ rules:rules, //course_group:course_group }) this.props.rulesCheckInfo && this.props.rulesCheckInfo(rules) } //整合所有已经选择了的course_group_id unitChoose=(rules)=>{ let arr = []; if(rules){ rules.forEach(ele => { let Arraytype=Array.isArray(ele.course_group_id); if(Arraytype===true){ ele.course_group_id.forEach(e=>{ arr.push(e) }) }else{ arr.push(ele.course_group_id) } }); } let course_group =this.state.course_group; course_group.forEach(ele=>{ if(arr.indexOf(ele.course_group_id) != -1){ ele.course_choosed = 1 }else{ ele.course_choosed = 0 } }) this.setState({ course_group }) } fouceThis=(e)=>{ e.preventDefault(); } // 输入搜索分班 inputSearchCourse=(e,index)=>{ this.inputSearch(e,index); } //搜索 ActionSearchCourse=(e,index)=>{ this.inputSearch(e,index); } inputSearch=(e,index)=>{ let arr=Object.assign({}, this.state.rules[parseInt(index)]); arr.course_search=e.target.value; let rules=this.state.rules; rules[index]=arr; this.setState({ rules }) } notUnifiedSettingCheck=(rules) => { let flag,flag1,flag2 = true; let myRules = [] if (rules.length == 0) { myRules = this.state.rules.slice(0); } else { myRules = rules; } for(var i=0;i { let flag,flag1,flag2 = true; let myRules = [] if (rules.length == 0) { myRules = this.state.rules.slice(0); } else { myRules = rules; } for(var i=0;i

  (学生收到{this.props.moduleName || (this.props.type==="Exercise"?"试卷":"问卷")}的时间) ({this.props.moduleName == '作业' ? '学生“按时”提交作品的时间截点' : '学生可以答题的时间截点'})

{ rules && rules.length > 0 && rules.map((rule,r)=>{ const courseGroup = rule.course_search !="" ? course_group.filter( item => item.course_group_name.indexOf(rule.course_search) != -1) :course_group return(
{ flagPageEdit===undefined?"": flagPageEdit===true? :"" }
发布规则{r+1}

{ rule.class_flag && rule.class_flag!=""?{rule.class_flag}:"" }

this.changeRulePublishTime(e, date,r)} showTime={{ format: 'HH:mm' }} format="YYYY-MM-DD HH:mm" disabledTime={disabledDateTime} disabledDate={disabledDate} disabled={ rule.e_timeflag ===undefined?rule.publish_time===null?false:!flagPageEdit:rule.p_timeflag == true ? true : !flagPageEdit} style={{"height":"42px",width:'100%'}} >

{ rule.publish_flag && rule.publish_flag!=""?{rule.publish_flag}:"" }

this.changeRuleEndTime(e, date,r)} showTime={{ format: 'HH:mm' }} format="YYYY-MM-DD HH:mm" disabledTime={disabledDateTime} disabledDate={disabledDate} disabled={ rule.e_timeflag ===undefined?rule.publish_time===null?false:!flagPageEdit:rule.e_timeflag == true ? true : !flagPageEdit} style={{"height":"42px"}} >

{ rule.end_flag && rule.end_flag!=""?{rule.end_flag}:"" }

{ flagPageEdit ?
  • {rule.p_timeflag===undefined?r > 0&&rule.publish_time===null? this.removeRules(`${r}`)}> :"": r > 0 && rule.p_timeflag == false ? this.removeRules(`${r}`)}> :"" }
  • :"" }
    ) }) } ) } } export default PollDetailTabForthRules;