import React, { Component } from 'react'; import { SnackbarHOC } from 'educoder'; import {BrowserRouter as Router,Route,Switch} from 'react-router-dom'; import {Tooltip, Pagination, Spin, Dropdown, Menu} from 'antd'; import axios from 'axios'; import NoneData from '../../courses/coursesPublic/NoneData' import {getImageUrl} from 'educoder'; import "./usersInfo.css" import Create from './publicCreatNew' class InfosProject extends Component{ constructor(props){ super(props); this.state={ category:undefined, status:undefined, page:1, per_page:16, sort_by: "updated_on", sort_direction: "desc", totalCount:undefined, data:undefined, isSpin:false } } componentDidMount=()=>{ this.setState({ isSpin:true }) let {category, status, page, sort_by, sort_direction} = this.state; this.getCourses(category, status, page, sort_by, sort_direction); } getCourses = (category, status, page, sort_by, sort_direction) => { let url=`/users/${this.props.match.params.username}/projects.json`; axios.get((url),{params:{ category, status, page, sort_by, sort_direction, per_page:this.props.is_current && category && page ==1?17:16 }}).then((result)=>{ if(result){ if (result.data.status === 403||result.data.status === 401||result.data.status === 500||result.data.status === 404) { this.setState({ isSpin:false, totalCount:0 }) }else{ this.setState({ totalCount:result.data.count, data:result.data, sort_by: sort_by, sort_direction: sort_direction, isSpin:false }) } } }).catch((error)=>{ console.log(error); this.setState({ isSpin: false }) }) } //切换种类 changeCategory=(cate)=>{ this.setState({ category:cate, page:1, isSpin:true }) let {status, sort_by, sort_direction} = this.state; this.getCourses(cate, status, 1, sort_by, sort_direction); } //切换状态 changeStatus=(status)=>{ this.setState({ status:status, page:1, isSpin:true }) let { category, sort_by, sort_direction } = this.state; this.getCourses(category, status, 1, sort_by, sort_direction); } //切换页数 changePage=(page)=>{ this.setState({ page, isSpin:true }) let { category, status, sort_by, sort_direction } = this.state; this.getCourses(category, status, page, sort_by, sort_direction); } // 进入项目 turnToCourses=(url,flag)=>{ if(flag){ window.location.href=url; } } //切换种类 updatedlist(sort_by) { //按照什么样子排序 this.setState({ isSpin: true }); let {category, status, page, sort_direction} = this.state; this.getCourses(category, status, 1, sort_by, "desc"); } //排序 updatedlists(sort_directions) { //是否是倒序 this.setState({ isSpin: true }); let {category, status, page, sort_by, sort_direction} = this.state; let sort_directiony = sort_directions; if (sort_directions === "asc") { if (sort_directions === sort_direction) { sort_directiony = "desc" } } else if (sort_directions === "desc") { if (sort_directions === sort_direction) { sort_directiony = "asc" } } this.getCourses(category, status, page, sort_by, sort_directiony); } render(){ let{ category, status, page, data, totalCount, isSpin, sort_by, sort_direction } = this.state; let isStudent = this.props.isStudent(); let is_current=this.props.is_current; const menu = (
); return(
共参与{totalCount}个{category?category=="manage"?"发布":"学习":"项目"}
非成员不能访问
{item.name}
{item.owner.real_name}
{item.owner.school_name}