import React,{ Component } from "react"; import { Input,Checkbox,Menu,Pagination,Spin} from "antd"; import UseBank from './UseBank' import '../css/members.css' import '../css/busyWork.css' import CommonWorkItem from './CommonWorkItem' import PublishRightnow from './PublishRightnow' import ConnectProject from './ConnectProject' import { WordsBtn, on, off ,trigger} from 'educoder' import Modals from '../../modals/Modals' import NoneData from "../coursesPublic/NoneData" import Titlesearchsection from '../common/titleSearch/TitleSearchSection'; import { RouteHOC } from './common' import axios from 'axios'; import _ from 'lodash' // const Search = Input.Search; // const map={1:"普通作业",2:"",3:"分组作业"} // const COMMON_WORK = 1 // const COMMON_WORK = 2 class commonWork extends Component{ constructor(props){ super(props); this.state={ modalsType:"", modalsTopval:"", modalsBottomval:"", modalCancel:"", mainList:undefined, selectedKeys: 'all', order:"", page:1, search:"", totalCount:0, checkAll:false, checkBoxValues:[], isSpin:false, category_id:undefined } } //输入搜索条件 inputStudent=(e)=>{ this.setState({ search:e.target.value, }) } //搜索查询 searchStudent=()=>{ let {category_id,search,order}=this.state; this.getList(1,search,order,category_id); } openConnectionProject = (work) => { this.refs['connectProject'].openConnectionProject(work) } // 新建 createCommonWork=(type)=>{ this.props.toNewPage(this.props.match.params) } cancelDelClasses=()=>{ this.setState({ modalsType:false, modalsTopval:"", modalsBottomval:"", modalCancel:false }) } sureDelClasses(){ } componentDidUpdate(prevProps, prevState) { console.log(this.props) if (prevProps.coursesidtype != this.props.coursesidtype) { if (this.props.match.path === "/classrooms/:coursesId/common_homeworks/:category_id" || this.props.match.path === "/classrooms/:coursesId/common_homework/:category_id") { if (this.props.coursesidtype === "node" && this.props.match.path === "/classrooms/:coursesId/common_homeworks/:category_id") { this.clearSelection() this.setState({selectedKeys: 'all', order: ''}, () => { this._getList() }) } if (this.props.coursesidtype === "child" && this.props.match.path === "/classrooms/:coursesId/common_homework/:category_id") { this.clearSelection() this.setState({selectedKeys: 'all', order: ''}, () => { this._getList(this.props.match.params.category_id) }) } } } // // if(this.props.match.path==="/classrooms/:coursesId/common_homeworks/:category_id"||this.props.match.path==="/classrooms/:coursesId/common_homework/:category_id"){ // // // if(this.props.coursesidtype==="node"&&this.props.match.path==="/classrooms/:coursesId/common_homeworks/:category_id"){ // this.clearSelection() // this.setState({ selectedKeys: 'all', order: '' }, () => { // this._getList() // }) // } // if(this.props.coursesidtype==="child"&&this.props.match.path==="/classrooms/:coursesId/common_homework/:category_id"){ // this.clearSelection() // this.setState({ selectedKeys: 'all', order: '' }, () => { // this._getList(this.props.match.params.category_id) // }) // } // // } } _getList = (id) => { this.setState({ isSpin:true, category_id:id }) let {page,search,order}=this.state; this.getList(page,search,order,id); } componentDidMount(){ if(this.props.coursesidtype==="node"){ this._getList() }else{ this._getList(this.props.match.params.category_id) } on('updateNavSuccess', this.updateNavSuccess) } componentWillUnmount() { off('updateNavSuccess', this.updateNavSuccess) } updateNavSuccess = () => { if(this.props.coursesidtype==="node"){ this._getList() }else{ this._getList(this.props.match.params.category_id) } } useBankSuccess = (checkBoxValues, newWorkIdArray) => { this.setState({ page:1, checkBoxValues: newWorkIdArray }, () => { this.refs['publishModalRef'].open() }) let {search, order,category_id}=this.state; this.getList(1, search, order,category_id); } getList=(page,search,order,category_id)=>{ console.log(category_id) this.setState({ isSpin:true }) let id=this.props.match.params.coursesId; let workType = this.props.getModuleType() let url="/courses/"+id+"/homework_commons.json?type="+workType+"&page="+page; if(order!=""){ url+="&order="+order; } if(search!=""){ url+="&search="+search; } if(category_id){ url+="&category="+category_id; } axios.get(encodeURI(url)).then((result)=>{ if(result.status==200){ this.setState({ mainList:result.data, totalCount:result.data.task_count, isSpin:false, page:page, ...result.data }) } }).catch((error)=>{ this.setState({ isSpin:false }) }) } //筛选条件 selectedStatus=(e)=>{ this.clearSelection() this.setState({ order:e.key==="all"?"":e.key, selectedKeys: e.key, page:1, isSpin:true, checkBoxValues:[], checkAll:false }) let {search,category_id}=this.state; this.getList(1,search,e.key==="all"?"":e.key,category_id); } onPageChange=(pageNumber)=>{ this.setState({ page:pageNumber, checkBoxValues:[] }) let {search,order,category_id}=this.state; this.getList(pageNumber,search,order,category_id); } // 全选和反选 changeAll=(e)=>{ this.setState({ checkAll: e.target.checked }) const valueId=this.state.mainList.homeworks.map(item=>{ return item.homework_id }) if (e.target.checked) { const concated = this.state.checkBoxValues.concat(valueId); const sortedUniqed = _.uniq(concated) this.setState({ checkBoxValues: sortedUniqed }) } else { this.setState({ checkBoxValues: _.difference(this.state.checkBoxValues, valueId) }) } } onChangeSelect=(checkedValues)=>{ this.setState({ checkBoxValues: checkedValues, checkAll: checkedValues.length == this.state.mainList.homeworks.length }) } onWorkDelete = () => { const { checkBoxValues,category_id} = this.state; const len = checkBoxValues.length; if (len == 0) { this.props.showNotification('请先选择要删除的作业') return; } this.props.confirm({ // content: `确认要删除所选的${len}个作业吗?`, content:
{moduleChineseName}