|
|
@ -7,6 +7,8 @@ import UpgradeModals from '../modals/UpgradeModals';
|
|
|
|
import Pagination from '@icedesign/base/lib/pagination';
|
|
|
|
import Pagination from '@icedesign/base/lib/pagination';
|
|
|
|
import '@icedesign/base/lib/pagination/style.js';
|
|
|
|
import '@icedesign/base/lib/pagination/style.js';
|
|
|
|
import './ShixunPaths.css';
|
|
|
|
import './ShixunPaths.css';
|
|
|
|
|
|
|
|
import KeywordList from '../tpm/shixuns/shixun-keyword-list';
|
|
|
|
|
|
|
|
import btnUrl from '../tpm/shixuns/btn-new.png';
|
|
|
|
|
|
|
|
|
|
|
|
class ShixunPathSearch extends Component {
|
|
|
|
class ShixunPathSearch extends Component {
|
|
|
|
constructor(props) {
|
|
|
|
constructor(props) {
|
|
|
@ -26,19 +28,17 @@ class ShixunPathSearch extends Component{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//适配器
|
|
|
|
//切换列表状态
|
|
|
|
onChangeLabel(value) {
|
|
|
|
changeStatus=(value)=>{
|
|
|
|
let rs = value === 'new' ? 'updated_at' : 'myshixuns_scount'
|
|
|
|
|
|
|
|
|
|
|
|
let { discipline_id, sub_discipline_id } = this.state;
|
|
|
|
let { discipline_id, sub_discipline_id } = this.state;
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
order:value,
|
|
|
|
order: rs,
|
|
|
|
page: 1
|
|
|
|
page: 1
|
|
|
|
})
|
|
|
|
})
|
|
|
|
this.getList(value,discipline_id,sub_discipline_id,1);
|
|
|
|
this.getList(rs, discipline_id, sub_discipline_id, 1)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//选择页数
|
|
|
|
//选择页数
|
|
|
|
onChange = (pageNumber) => {
|
|
|
|
onChange = (pageNumber) => {
|
|
|
|
|
|
|
|
|
|
|
@ -83,9 +83,11 @@ class ShixunPathSearch extends Component{
|
|
|
|
|
|
|
|
|
|
|
|
getdisciplines = () => {
|
|
|
|
getdisciplines = () => {
|
|
|
|
let url = '/disciplines.json';
|
|
|
|
let url = '/disciplines.json';
|
|
|
|
axios.get(url,{params:{
|
|
|
|
axios.get(url, {
|
|
|
|
|
|
|
|
params: {
|
|
|
|
source: "subject"
|
|
|
|
source: "subject"
|
|
|
|
}}).then((result)=>{
|
|
|
|
}
|
|
|
|
|
|
|
|
}).then((result) => {
|
|
|
|
if (result.status == 200) {
|
|
|
|
if (result.status == 200) {
|
|
|
|
// console.log(result.data.disciplines)
|
|
|
|
// console.log(result.data.disciplines)
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
@ -97,17 +99,29 @@ class ShixunPathSearch extends Component{
|
|
|
|
})
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
getList=(order,discipline_id,sub_discipline_id,page )=>{
|
|
|
|
OnSearchInput = (value, type) => {
|
|
|
|
|
|
|
|
this.setState({
|
|
|
|
|
|
|
|
search: value,
|
|
|
|
|
|
|
|
page: 1
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
const { order, discipline_id, sub_discipline_id } = this.state
|
|
|
|
|
|
|
|
this.getList(order, discipline_id, sub_discipline_id, 1, value)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
getList = (order, discipline_id, sub_discipline_id, page, keyword = '') => {
|
|
|
|
|
|
|
|
|
|
|
|
let url = '/paths.json';
|
|
|
|
let url = '/paths.json';
|
|
|
|
axios.get(url,{params:{
|
|
|
|
axios.get(url, {
|
|
|
|
|
|
|
|
params: {
|
|
|
|
sort: "desc",
|
|
|
|
sort: "desc",
|
|
|
|
limit: 16,
|
|
|
|
limit: 16,
|
|
|
|
order: order,
|
|
|
|
order: order,
|
|
|
|
|
|
|
|
keyword,
|
|
|
|
page: page,
|
|
|
|
page: page,
|
|
|
|
discipline_id: discipline_id,
|
|
|
|
discipline_id: discipline_id,
|
|
|
|
sub_discipline_id: sub_discipline_id
|
|
|
|
sub_discipline_id: sub_discipline_id
|
|
|
|
}}).then((result)=>{
|
|
|
|
}
|
|
|
|
|
|
|
|
}).then((result) => {
|
|
|
|
if (result.status == 200) {
|
|
|
|
if (result.status == 200) {
|
|
|
|
this.setState({
|
|
|
|
this.setState({
|
|
|
|
pathList: result.data.subjects,
|
|
|
|
pathList: result.data.subjects,
|
|
|
@ -120,7 +134,7 @@ class ShixunPathSearch extends Component{
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//头部获取是否已经登录了
|
|
|
|
//头部获取是否已经登录了
|
|
|
|
getUser=(url,type)=>{
|
|
|
|
getUser = (url) => {
|
|
|
|
if (this.props.checkIfLogin() === false) {
|
|
|
|
if (this.props.checkIfLogin() === false) {
|
|
|
|
this.props.showLoginDialog()
|
|
|
|
this.props.showLoginDialog()
|
|
|
|
return
|
|
|
|
return
|
|
|
@ -238,26 +252,8 @@ class ShixunPathSearch extends Component{
|
|
|
|
</ul>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div className="mt20 educontent mb20 clearfix mainPageArray">
|
|
|
|
<KeywordList btnUrl={btnUrl} onChangeLabel={this.onChangeLabel.bind(this)} OnSearchInput={this.OnSearchInput.bind(this)} onNewHandler={this.getUser.bind(this, '/paths/new')} btnStyle={{ top: '92px' }} />
|
|
|
|
{/*<a href="javascript:void(0)" className={ order == "publish_time" ? "fl mr20 font-16 bestChoose active" : "fl mr20 font-16 bestChoose"} onClick={ () => this.changeStatus("publish_time")}>全部</a>*/}
|
|
|
|
|
|
|
|
{/*<a href="javascript:void(0)" className={ order == "mine" ? "fl mr20 font-16 bestChoose active" : "fl mr20 font-16 bestChoose"} onClick={ () => this.changeStatus("mine")}>我的</a>*/}
|
|
|
|
|
|
|
|
<span className={ order == "updated_at" ? "active" : ""} onClick={ () => this.changeStatus("updated_at")}>最新</span>
|
|
|
|
|
|
|
|
<span className={ order == "myshixuns_count" ? "active" : ""} onClick={ () => this.changeStatus("myshixuns_count")}>最热</span>
|
|
|
|
|
|
|
|
{this.props.user&&this.props.user.main_site===false?"":this.props.Headertop===undefined?"":<a className={ "fr font-16 bestChoose color-blue" } onClick={(url)=>this.getUser("/paths/new")}>+新建实践课程</a>}
|
|
|
|
|
|
|
|
{this.props.user&&this.props.user.main_site===true?"":this.props.Headertop===undefined?"":
|
|
|
|
|
|
|
|
pathstype===true?"":this.props.user&&this.props.user.admin===true||this.props.user&&this.props.user.is_teacher===true||this.props.user&&this.props.user.business===true?<a className={ "fr font-16 bestChoose color-blue" } onClick={(url)=>this.getUser("/paths/new")}>+新建实践课程</a>:""
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
{/*<div className="fr mr5 search-new">*/}
|
|
|
|
|
|
|
|
{/*/!* <Search*/}
|
|
|
|
|
|
|
|
{/*placeholder="请输入路径名称进行搜索"*/}
|
|
|
|
|
|
|
|
{/*id="subject_search_input"*/}
|
|
|
|
|
|
|
|
{/*value={search}*/}
|
|
|
|
|
|
|
|
{/*onInput={this.inputSearchValue}*/}
|
|
|
|
|
|
|
|
{/*onSearch={this.searchValue}*/}
|
|
|
|
|
|
|
|
{/*autoComplete="off"*/}
|
|
|
|
|
|
|
|
{/*></Search> *!/*/}
|
|
|
|
|
|
|
|
{/*</div>*/}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<PathCard {...this.props} {...this.state}></PathCard>
|
|
|
|
<PathCard {...this.props} {...this.state}></PathCard>
|
|
|
|
{
|
|
|
|
{
|
|
|
|
this.state.pathList === null ? "" : total_count > 16 &&
|
|
|
|
this.state.pathList === null ? "" : total_count > 16 &&
|
|
|
|