import React,{ Component } from "react"; import {Radio,Input ,Modal} from "antd"; import '../css/members.css' import { WordsBtn } from 'educoder' import axios from 'axios' import InfiniteScroll from 'react-infinite-scroller'; import NoneData from "../coursesPublic/NoneData" const Search =Input.Search; const LIMIT = 15 class ConnectProject extends Component{ constructor(props){ super(props); this.state={ project_flag:false, page: 1, loading: false, hasMore: true, keyword: '' } } componentDidMount() { } onSubmit = () => { const { radioValue, projects } = this.state; if (projects.length === 0) { this.closeConnectionProject() return; } if (!radioValue) { this.props.showNotification('请先在下面的列表中选择项目') return; } this.connectProject(radioValue) } connectProject = (project_id) => { let workId=this.work.homework_id; const url = `/homework_commons/${workId}/student_works/relate_project.json` axios.post(url, { project_id: project_id }).then((result)=>{ if(result.data.status==0){ this.closeConnectionProject() this.props.connectSuccess() this.props.showNotification('关联成功') } }).catch((error)=>{ console.log(error); }) } onSearchValue = () => { this.fetchData(1) } fetchData = (page = 1) => { // https://www.showdoc.cc/127895880302646?page_id=2032696709966819 // https://www.showdoc.cc/page/edit/127895880302646/2228554041379772 // /${this.props.current_user.user_id} const url = `/users/projects/search.json` this.setState({ loading: true }) const { keyword } = this.state; axios.get(url, { params: { page: page, per_page: LIMIT, keyword: keyword } }).then((result)=>{ if(result.status==200){ this.setState({ count: result.data.count, projects: page == 1 ? result.data.projects : this.state.projects.concat(result.data.projects), page: page, loading: false, hasMore: result.data.projects.length != 0 }) if (page == 1) { this.setState({ haveProjects: result.data.projects.length > 0 }) } } }).catch((error)=>{ console.log(error); }) } toCreateProject = () => { if (window.location.port == 3007) { window.location.href = '/testbdweb.educoder.net/projects/new' } else { window.location.href = '/projects/new' } } //关联项目 openConnectionProject=(work)=>{ this.work = work; this.fetchData() this.setState({ project_flag:true }) } closeConnectionProject=()=>{ this.setState({ project_flag:false }) } onChange = (e) => { this.setState({ radioValue: e.target.value }) } render(){ let {project_flag, projects, loading, hasMore, haveProjects }=this.state; return(
{ (projects && !!projects.length || this.state.keyword) &&
{this.setState({keyword: e.target.value})}} onSearch={this.onSearchValue} >
this.fetchData(this.state.page + 1)} hasMore={!loading && hasMore} useWindow={false} > { projects.map(item => { return

12 ? item.name : ''} className="name">{item.name}

})}
} { haveProjects && projects.length == 0 && } { (!haveProjects) &&
您当前尚未管理任何项目,请先创建项目再关联
}
取消 确定
) } } export default ConnectProject;