forgeplus-react/src/modules/modals/SendTopics.js

237 lines
5.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import React,{ Component } from "react";
import { Modal,Radio,Input,Tooltip,Checkbox,Select, Row,Col ,Spin} from "antd";
import axios from 'axios';
const { Search } = Input;
class SendTopics extends Component{
constructor(props){
super(props);
this.state={
courses:[],
search:null,
Radiolist:undefined,
showcheck:false,
smallisSpin:false,
yslbanksMenu:undefined
}
}
componentDidMount(){
// console.log("SendTopicssssssssssss");
// console.log(this.props);
let{search}=this.state;
this.onupdatalist(search)
this.setState({
yslbanksMenu:this.props.banksMenu,
})
}
onupdatalist=(search)=>{
let url="/question_banks/my_courses.json";
axios.get(url,{params:{
search
}
}).then((result)=>{
this.setState({
courses:result.data.courses
})
}).catch((error)=>{
console.log(error);
})
}
onSearchChange=(e)=>{
this.setState({
search:e.target.value
})
// this.onupdatalist(e.target.value)
}
onSearch=(search)=>{
this.onupdatalist(search)
}
onChange=(e)=>{
console.log("SendTopics");
console.log(e);
this.setState({
Radiolist:e.target.value
})
}
submitInfo=()=>{
this.setState({
smallisSpin:true
})
let{Radiolist}=this.state;
let url=`/question_banks/send_to_course.json`;
let object_id=this.props.checkBoxValues;
let object_type=this.props.category;
if(Radiolist===undefined){
this.setState({
showcheck:true,
smallisSpin:false
})
}else{
axios.post(url,{
object_id: object_id,
object_type:object_type,
course_id:Radiolist
}
).then((result)=>{
this.setState({
smallisSpin:false
})
if(result.data.status===0){
this.props.showNotification(result.data.message);
this.props.topicscancelmodel();
// result.data.task_ids;
try {
this.props.updataslist()
}catch (e) {
}
if(this.props.mysendall===true){
//详情页面跳过来的
try {
var rurls="";
if(this.state.yslbanksMenu.category==="normal"){
//普通作业
rurls=`/classrooms/${this.state.Radiolist}/common_homeworks/${result.data.task_ids}/setting`;
}else if(this.state.yslbanksMenu.category==="group"){
//分组作业
rurls=`/classrooms/${this.state.Radiolist}/group_homeworks/${result.data.task_ids}/setting`;
}else if(this.state.yslbanksMenu.category==="exercise"){
// 试卷
rurls=`/classrooms/${this.state.Radiolist}/exercises/${result.data.task_ids}/student_exercise_list?tab=3`;
}else if(this.state.yslbanksMenu.category==="poll") {
//问卷
rurls=`/classrooms/${this.state.Radiolist}/polls/${result.data.task_ids}/detail?tab=3`
}
window.open(rurls,'_blank');
}catch (e) {
}
}else{
//外部多个列表页跳过来的
try {
var rurls="";
if(this.props.category==="normal"){
//普通作业
rurls=`/classrooms/${this.state.Radiolist}/common_homeworks/${result.data.category_id}`;
}else if(this.props.category==="group"){
//分组作业
rurls=`/classrooms/${this.state.Radiolist}/group_homeworks/${result.data.category_id}`;
}else if(this.props.category==="exercise"){
// 试卷
rurls=`/classrooms/${this.state.Radiolist}/exercises/${result.data.category_id}`;
}else if(this.props.category==="poll") {
//问卷
rurls=`/classrooms/${this.state.Radiolist}/polls/${result.data.category_id}`
}
window.open(rurls,'_blank');
}catch (e) {
console.log(e);
}
}
}else{
this.props.showNotification(result.data.message)
}
}).catch((error)=>{
console.log(error)
this.setState({
smallisSpin:false
})
})
}
}
render(){
let{courses,Radiolist,showcheck,smallisSpin}= this.state;
const radioStyle = {
display: 'block',
height: '30px',
lineHeight: '30px',
};
return(
<div>
<style>
{
`
.ant-modal-body{
padding:20px 40px;
}
.onSearchtopics input{
height:40px;
}
.over221{
height:221px;
overflow-y: auto;
}
`
}
</style>
<Modal
keyboard={false}
title="发送至课堂"
visible={this.props.visible}
closable={false}
footer={null}
destroyOnClose={true}
width={600}
>
<div className="newupload_conbox">
<div className="mb15 font-14 edu-txt-center color-orange-tip">
温馨提示选择的题将会发送到指定课堂
</div>
<div className="mb5"
// onMouseLeave={this.closeList}
>
<Search
className="mb14 onSearchtopics"
placeholder="请输入课堂名称进行搜索"
onChange={this.onSearchChange}
onSearch={this.onSearch}
></Search>
</div>
<div className="edu-back-skyblue pl15 pr15 clearfix over221 pt5">
<Radio.Group onChange={this.onChange} value={Radiolist}>
{
courses && courses.map((item,key)=>{
return(
<div className="mt5" key={key}>
<Radio style={radioStyle} value={item.course_id} key={item.course_id}>
{item.course_name}
</Radio>
</div>
)
})
}
</Radio.Group>
</div>
{showcheck===true?<div className={"color-red mt10"}>请先选择课堂</div>:""}
<div className="mt20 clearfix edu-txt-center" >
<a onClick={()=>this.props.topicscancelmodel()} className="pop_close task-btn mr30 ">取消</a>
<a className="task-btn task-btn-orange" onClick={()=>this.submitInfo()}>确定</a>
</div>
</div>
</Modal>
</div>
)
}
}
export default SendTopics;