import React,{ Component } from "react"; import { Modal,Input, Checkbox,Icon,Spin} from "antd"; import '../css/members.css' import '../css/busyWork.css' import { WordsBtn, ConditionToolTip } from 'educoder' import axios from 'axios' import InfiniteScroll from 'react-infinite-scroller'; import NoneData from '../coursesPublic/NoneData' const Search=Input.Search; const pageCount = 20 // "poll", #normal 普通作业题库; group 分组作业题库; poll问卷题库; exercise试卷题库; gtask 毕设选题题库;gtopic 毕设任务 const engNameMap = { poll: '问卷', normal: '普通作业', group: '分组作业', exercise: '试卷', gtask: '毕设任务', gtopic: '毕设选题', } class UseBank extends Component{ constructor(props){ super(props); this.state={ flag:false, nav_my: 'myself', search: '', page: 1, checkBoxValues: [], isChecked:'', is_teacher:undefined, hometypepvisible:false } } componentDidMount() { } onCheckBoxChange = (checkBoxValues) => { this.setState({ checkBoxValues: checkBoxValues }) if(checkBoxValues.length!=0){ this.setState({ isChecked:"" }) } } fetchAll = (arg_page) => { console.log('fetchAll') const courseId = this.props.match.params.coursesId const page = arg_page || this.state.page; const { nav_my, search } = this.state /** normal 普通作业题库; group 分组作业题库; poll问卷题库; exercise试卷题库; gtask 毕设选题题库;gtopic 毕设任务 filter string public公共题库 2, myself我的题库 1 */ const object_type = this.props.object_type let url = `/question_banks/bank_list.json?page=${page}&limit=${pageCount}&object_type=${object_type || ''}&search=${search || ''}&filter=${nav_my}` this.setState({ loading: true }) axios.get(url // , { // params: { // } // } ) .then((response) => { if(response.data){ this.setState({ is_teacher:response.data.is_teacher }) } if (!response.data.object_list || response.data.object_list.length == 0) { this.setState({ object_list: page == 1 ? [] : this.state.object_list, page, loading: false, hasMore: false, }) } else { this.setState({ object_list: page == 1 ? response.data.object_list : this.state.object_list.concat(response.data.object_list), page, loading: false, hasMore: response.data.object_list.length == pageCount }) } }) .catch(function (error) { console.log(error); }); } openSelectBank=()=>{ this.setState({ search: '', flag:true }, () => { this.fetchAll() }) } closeSelectBank=()=>{ this.setState({ flag:false, nav_my: 'myself', search: '', page: 1, checkBoxValues: [], isChecked:'', is_teacher:undefined, hometypepvisible:false }) } //切换tab changeNav=(index)=>{ this.setState({ nav_my:index }, () => { this.fetchAll(1) }) } onSearchChange = (e) => { this.setState({ search: e.target.value }) } onSave = () => { const { checkBoxValues } = this.state; const { object_type } = this.props if(checkBoxValues.length==0){ this.setState({ isChecked:"请先选择"+engNameMap[object_type] }) return; } this.setState({ hometypepvisible:true }) const courseId = this.props.match.params.coursesId let url = `/question_banks/save_banks.json` this.setState({ loading: true }) axios.post(url ,{ "object_type": object_type, "bank_id": checkBoxValues, "course_id": courseId } ) .then((response) => { if (response.data.status == 0) { this.props.showNotification('题库选用成功') this.props.useBankSuccess && this.props.useBankSuccess(checkBoxValues,response.data.object_ids); this.closeSelectBank(); this.props.updataleftNavfun() this.setState({ hometypepvisible:false, checkBoxValues:[] }) } else { this.setState({ hometypepvisible:false, checkBoxValues:[] }) this.props.showNotification(response.data.message) } }) .catch( (error) =>{ console.log(error); this.setState({ hometypepvisible:false, checkBoxValues:[] }) }); } render(){ let { flag, nav_my, loading, hasMore, object_list, search, checkBoxValues,isChecked,page,is_teacher }=this.state let { object_type }=this.props; const antIcon = ; return( { flag===true?:"" } this.openSelectBank()}>{engNameMap[object_type]=="问卷"?"问卷选用":engNameMap[object_type]=="试卷"?"试卷选用":"题库选用"} {flag===true?
this.fetchAll(1)} onChange={this.onSearchChange} value={search} >
{ object_list && object_list.length == 0 && page == 1 ? "" : nav_my==='myself'?

选用对象:你在课堂{engNameMap[object_type]}列表中已“加入题库”的{engNameMap[object_type]}

:

选用对象:题库中已设置成公共属性的所有{engNameMap[object_type]}

} { nav_my !='myself' && is_teacher == false ?

通过职业认证的教师才能访问公共题库

立即认证
: object_list && object_list.length == 0 && page == 1 ?
:
this.fetchAll(this.state.page + 1)} hasMore={!loading && hasMore} useWindow={false} > { object_list && object_list.map( item => { /** course_list_name: "C++程序设计" id: 3889 name: "作业3:第四章 控制结构 " username: "Coder" */ return (

10 && item.course_list_name} className={nav_my==='myself'?"fl with30 color-grey-6 task-hide pl5 bankwidth":"fl with30 color-grey-6 task-hide pl5 bankwidth"} >{item.course_list_name} { nav_my==='public' && {item.username} }

) })}
{/*

数据库原理数据库原理 { nav_my===2 && 胡莎莎胡莎莎 }

*/}
}

{ isChecked !="" ? {isChecked}:"" }

取消 {object_list && object_list.length == 0 && page == 1 ? nav_my !='myself' && is_teacher == false ? 确定 : 确定 :确定 } {/*确定*/}
:""} ) } } export default UseBank;