课程筛选改版

mast_item_banktwo
杨树明 5 years ago
parent 0829531f5c
commit ea9709bbca

@ -1,6 +1,6 @@
import React, { Component } from 'react'; import React, { Component } from 'react';
import axios from 'axios'; import axios from 'axios';
import {Input} from 'antd'; import {Dropdown,Menu} from 'antd';
import {getImageUrl} from 'educoder'; import {getImageUrl} from 'educoder';
import PathCard from "./ShixunPathCard"; import PathCard from "./ShixunPathCard";
import UpgradeModals from '../modals/UpgradeModals'; import UpgradeModals from '../modals/UpgradeModals';
@ -18,59 +18,49 @@ class ShixunPathSearch extends Component{
page:1, page:1,
pathList:null, pathList:null,
sortList:'', sortList:'',
total_count:0 total_count:0,
sort:"desc",
limit:16,
discipline_id:undefined,
sub_discipline_id:undefined
} }
} }
//切换列表状态 //切换列表状态
changeStatus=(value)=>{ changeStatus=(value)=>{
this.setState(
{ let {discipline_id,sub_discipline_id }=this.state;
pathList:null
}
)
let {select,search}=this.state;
this.setState({ this.setState({
order:value, order:value,
page:1 page:1
}) })
this.getList(value,select,search,1); this.getList(value,discipline_id,sub_discipline_id,1);
}
//搜索输入
inputSearchValue=(e)=>{
this.setState({
search:e.target.value,
page:1
})
}
//搜索
searchValue=(e)=>{
let {order,select,search}=this.state;
this.setState({
page:1
})
this.getList(order,select,search,1 );
} }
//选择页数 //选择页数
onChange=(pageNumber)=> { onChange=(pageNumber)=> {
let {order,select,search}=this.state;
let { order,discipline_id,sub_discipline_id }=this.state;
this.setState({ this.setState({
page:pageNumber page:pageNumber
}) })
this.getList(order,select,search,pageNumber); this.getList(order,discipline_id,sub_discipline_id,pageNumber);
} }
//顶部分类 //顶部分类
changeSelect=(tag_id)=>{ changeSelect=(e,tag_id,sum)=>{
this.setState(
{
pathList:null
}
)
let { order,search }=this.state;
this.setState({ this.setState({
select:tag_id order:"updated_at",
discipline_id:tag_id,
page:1,
sub_discipline_id:undefined
}) })
this.getList( order,tag_id,search,1 ); let { order }=this.state;
this.getList(order,tag_id,undefined,1 );
e.stopPropagation();
} }
@ -85,31 +75,41 @@ class ShixunPathSearch extends Component{
}).catch((error)=>{ }).catch((error)=>{
console.log(error); console.log(error);
}) })
this.getdisciplines()
let { order,discipline_id,sub_discipline_id,page }=this.state;
this.getList(order,discipline_id,sub_discipline_id,page );
let { order,select,search,page }=this.state;
this.getList(order,select,search,page );
} }
getdisciplines=()=>{
let url='/disciplines.json';
axios.get(url,{params:{
source:"subject"
}}).then((result)=>{
if(result.status==200){
// console.log(result.data.disciplines)
this.setState({
sortList:result.data.disciplines
})
}
}).catch((error)=>{
console.log(error);
})
}
getList=(order,select,search,page )=>{ getList=(order,discipline_id,sub_discipline_id,page )=>{
let url='/paths.json'; let url='/paths.json';
// '?order='+order+'&page='+page;
// if(select!=""){
// url+='&select='+select;
// }
// if(search!=""){
// url+='&search='+search;
// }
axios.get(url,{params:{ axios.get(url,{params:{
sort:"desc",
limit:16,
order:order, order:order,
page:page, page:page,
select:select, discipline_id:discipline_id,
// search:search sub_discipline_id:sub_discipline_id
}}).then((result)=>{ }}).then((result)=>{
if(result.status==200){ if(result.status==200){
this.setState({ this.setState({
sortList:result.data.tags,
pathList:result.data.subjects, pathList:result.data.subjects,
total_count:result.data.total_count total_count:result.data.total_count
}) })
@ -119,11 +119,6 @@ class ShixunPathSearch extends Component{
}) })
} }
setHistoryFun=(url)=>{
this.props.history.push(url)
}
//头部获取是否已经登录了 //头部获取是否已经登录了
getUser=(url,type)=>{ getUser=(url,type)=>{
if(this.props.checkIfLogin()===false){ if(this.props.checkIfLogin()===false){
@ -140,9 +135,41 @@ class ShixunPathSearch extends Component{
} }
}
getshixunchildValues=(e,id,item)=>{
this.setState({
discipline_id:item.id,
sub_discipline_id:id,
})
let { order,page }=this.state;
this.getList(order,item.id,id,page );
e.stopPropagation();
}
getmenu=(list,item)=>{
return(
<Menu>
<Menu.Item>
<div className="mt5 subshaicontent-part">
<div className="sub-Item clearfix">
{
list.map((tag,e)=>{
return(
<a className={parseInt(this.state.sub_discipline_id)===tag.id?"shixun_repertoire mr20 color-blue":"shixun_repertoire mr20"}
key={e} id={tag.id} name={tag.id} rel="subshaicontent" onClick={(e)=>this.getshixunchildValues(e,tag.id,item)}>{tag.name}</a>
)
})
}
</div>
</div>
</Menu.Item>
</Menu>
)
} }
render() { render() {
let { order,sortList,search,page,total_count,select }=this.state; let { order,sortList,search,page,total_count,discipline_id }=this.state;
let pathstype=false; let pathstype=false;
if(this.props&&this.props.mygetHelmetapi!=null){ if(this.props&&this.props.mygetHelmetapi!=null){
let paths="/paths"; let paths="/paths";
@ -156,7 +183,7 @@ class ShixunPathSearch extends Component{
}) })
} }
// console.log(this.props)
return ( return (
<div> <div>
{this.state.updata===undefined?"":<UpgradeModals {this.state.updata===undefined?"":<UpgradeModals
@ -178,6 +205,16 @@ class ShixunPathSearch extends Component{
background-position: center; background-position: center;
background-repeat: no-repeat; background-repeat: no-repeat;
} }
.ant-dropdown-menu{
max-width:1000px;
}
.ant-dropdown-menu-item, .ant-dropdown-menu-submenu-title{
white-space: normal !important;
line-height: 28px !important;
}
.ant-dropdown-menu-item:hover, .ant-dropdown-menu-submenu-title:hover{
background-color: #fff !important;
}
` `
} }
</style> </style>
@ -185,11 +222,15 @@ class ShixunPathSearch extends Component{
<div className="pathImg"></div> <div className="pathImg"></div>
<div className="edu-back-white padding20 pathIndexNav"> <div className="edu-back-white padding20 pathIndexNav">
<ul className="educontent clearfix"> <ul className="educontent clearfix">
<li className={select > 0 ? "" : "active"}><a onClick={()=>this.changeSelect(null)}>全部</a></li> <li className={discipline_id > 0 ? "" : "active"}><a onClick={(e)=>this.changeSelect(e,undefined)}>全部</a></li>
{ {
sortList && sortList.map((item,key)=>{ sortList && sortList.map((item,key)=>{
return( return(
<li className={select == `${item.tag_id}` ? "active" : ""}><a value={item.tag_id} onClick={()=>this.changeSelect(`${item.tag_id}`)}>{item.tag_name}</a></li> <li className={discipline_id == `${item.id}` ? "active" : ""} onClick={(e)=>this.changeSelect(e,`${item.id}`,item.sub_disciplines.length)} key={key}>
<Dropdown disabled={item.sub_disciplines.length===0} overlay={()=>this.getmenu(item.sub_disciplines,item)} placement="bottomCenter">
<a value={item.id}>{item.name}</a>
</Dropdown>
</li>
) )
}) })
} }
@ -229,6 +270,3 @@ class ShixunPathSearch extends Component{
} }
} }
export default ShixunPathSearch; export default ShixunPathSearch;
// <Pagination showQuickJumper defaultCurrent={page} current={page} pageSize={16} total={total_count} onChange={this.onChange} />

@ -211,7 +211,7 @@ class ShixunCardList extends Component {
}) })
} }
console.log(this.props.middleshixundata.search_tags)
return ( return (
<div className="educontent mt20"> <div className="educontent mt20">
<div className="clearfix"> <div className="clearfix">

Loading…
Cancel
Save