dev_aliyun_beta
杨树林 6 years ago
parent 0e35ef83ff
commit d316a52a0f

@ -1,23 +1,27 @@
import React, {Component} from "react";
import {Link, NavLink} from 'react-router-dom';
import {BrowserRouter as Router,Route,Switch,Link, NavLin} from 'react-router-dom';
import {WordsBtn, ActionBtn,getImageUrl} from 'educoder';
import { Input,Checkbox,Table, Pagination, Modal,Menu, Tooltip,Spin,Button,Form } from "antd";
import axios from 'axios';
import {
notification
} from "antd";
import CoursesListType from '../coursesPublic/CoursesListType';
import Generaljobdetails from './Generaljobdetails';
import Generaljobanswer from './Generaljobanswer';
import SendTopics from '../../modals/SendTopics';
import Modals from '../../modals/Modals';
import BanksMenu from '../../user/usersInfo/banks/banksMenu'
import Loadable from 'react-loadable';
import Loading from '../../../Loading';
import '../css/members.css';
import "../common/formCommon.css";
import '../css/Courses.css';
import '../css/busyWork.css';
import '../poll/pollStyle.css';
// 问卷内容
const Generaljobdetails = Loadable({
loader: () => import('./Generaljobdetails'),
loading: Loading,
})
// 试卷详情
const Generaljobanswer = Loadable({
loader: () => import('./Generaljobanswer'),
loading: Loading,
});
class Generaljobbankdetails extends Component {
//普通作业内容详情
constructor(props) {
@ -28,42 +32,12 @@ class Generaljobbankdetails extends Component {
workid:1,
isSpin:false,
datas:[],
visible:false
}
}
//切换tab
ChangeTab = (e) => {
// console.log(e);
this.setState({
tab: e
})
try {
var currenturl = window.location.href;
var newUrl = (currenturl.split("?"))[0];
window.history.pushState('','',newUrl+'?tab='+e);
}catch (e) {
console.log(e);
console.log("44");
visible:false,
banksMenu:undefined
}
this.getonedata();
}
componentDidMount() {
// console.log("父组件加载框");
const query = this.props.location.search;
const type = query.split('?tab=');
// let sum = []
// sum.push(type[1])
// console.log("componentDidMountcomponentDidMount");
// console.log(type);
this.setState({
tab: type[1],
});
console.log("Generaljobbankdetails");
console.log(this.props);
this.getonedata();
}
@ -102,7 +76,20 @@ class Generaljobbankdetails extends Component {
crumbArray:[
{content:'详情'}
]
};
const menuData={
tab:'0',//tab选中的index
menuArray:[//tab以及tab路由
{to:`/banks/normal/${workids}/${this.props.match.params.type}/details`,content:'内容详情'},
{to:`/banks/normal/${workids}/${this.props.match.params.type}/answer`,content:'参考答案'}
],
category:'normal',//毕设选题
tos:`/banks/normal/${workids}/edit/${this.props.match.params.type}`,
id:workids,
}
this.setState({
banksMenu:menuData
})
this.props.initPublic(crumbData);
}catch (e) {
@ -130,132 +117,50 @@ class Generaljobbankdetails extends Component {
isSpin:false,
})
});
}
//发送至相关
sendTopics=()=>{
this.setState({
visible:true
})
}
topicscancelmodel=()=>{
this.setState({
Modalstype:false,
Loadtype:false,
visible:false,
Modalstopval:"",
ModalCancel:"",
ModalSave:"",
checkBoxValues:[],
checkedtype:false
})
}
//删除相关
deletecheckBoxValues=()=>{
this.setState({
Modalstype:true,
Modalstopval:"是否确认删除?",
ModalCancel:this.topicscancelmodel,
ModalSave:this.topicssavedelete,
})
}
topicssavedelete=()=>{
const url = `/question_banks/multi_delete.json`;
axios.delete(url, { data: {
object_id: [this.props.match.params.workid],
object_type:"normal"
}})
.then((response) => {
if(response.data.status===0){
this.props.showNotification(response.data.message)
window.location.href=`/users/${this.props.current_user.login}/topics/personal`;
}else{
this.props.showNotification(response.data.message)
}
})
.catch(function (error) {
console.log(error);
});
this.topicscancelmodel()
}
};
// initPublic = (crumbData,menuData) =>{
// this.setState({
// banksMenu:menuData
// })
// this.props.initPublic(crumbData);
// }
render() {
let {tab,datas,visible} = this.state;
let user_id=this.props.current_user&&this.props.current_user.user_id;
let user_type=this.props.current_user&&this.props.current_user.user_identity;
let targetuserid=this.props.data&&this.props.data.id;
let{
banksMenu
}=this.state
//
// const common={
// initPublic:this.initPublic,
// }
return (
<div className="newMain clearfix ">
{this.state.Modalstype&&this.state.Modalstype===true?<Modals
modalsType={this.state.Modalstype}
modalsTopval={this.state.Modalstopval}
modalCancel={this.state.ModalCancel}
modalSave={this.state.ModalSave}
modalsBottomval={this.state.ModalsBottomval}
loadtype={this.state.Loadtype}
/>:""}
{/*发送至弹窗*/}
{
visible&&visible===true?
<SendTopics
{...this.state}
<React.Fragment>
{
banksMenu &&
<BanksMenu
banksMenu={banksMenu}
{...this.props}
visible={visible}
category={"normal"}
checkBoxValues={[this.props.match.params.workid]}
topicscancelmodel={()=>this.topicscancelmodel()}
/>:""
}
<div className={"educontent mt10 mb20"} style={{width: "1200px"}}>
{/*<div className="educontent mb20">*/}
{/* <p className="clearfix mb20 mt10">*/}
{/* <a className="btn colorgrey fl hovercolorblue ">题库</a>*/}
{/* <span className="color-grey-9 fl ml3 mr3">&gt;</span>*/}
{/* <a*/}
{/* className=" btn colorgrey fl hovercolorblue "*/}
{/* >详情</a>*/}
{/* </p>*/}
{/*</div>*/}
{/*<div className="educontent mb20">*/}
{/* <p className=" fl color-black summaryname" style={{heigth: "33px"}}>*/}
{/* {datas&&datas.name}*/}
{/* </p>*/}
{/* <CoursesListType*/}
{/* typelist={datas.is_public===true?["公开"]:["私有"]}*/}
{/* />*/}
{/*</div>*/}
<div className="edu-back-white " id="yslnormal1">
<div className="stud-class-set bor-bottom-greyE ">
<div className=" clearfix edu-back-white poll_list">
<a className={parseInt(tab) === 0 ? "active ml12" : "ml12"} onClick={(e) => this.ChangeTab(0)}>内容详情</a>
<a className={parseInt(tab) === 1 ? "active ml12" : "ml12"} onClick={(e) => this.ChangeTab(1)}>参考答案</a>
{/*{datas&&datas.is_public===}*/}
<a className="fr color-blue font-16 pointer" onClick={()=>this.sendTopics()}>发送</a>
<Link className="fr color-blue font-16 pointer" to={`/banks/normal/${this.props.match.params.workid}/edit`} >编辑</Link>
<a className="fr color-blue font-16 pointer" onClick={()=>this.deletecheckBoxValues()}>删除</a>
</div>
</div>
</div>
<Spin size="large" spinning={this.state.isSpin} id={"cdiv"}>
{parseInt(tab) === 0 ? <Generaljobdetails {...this.props} {...this.state} datas={datas}/> :""}
{parseInt(tab) === 1 ? <Generaljobanswer{...this.props} {...this.state} datas={datas}/>:""}
</Spin>
</div>
</div>
{...this.state}
></BanksMenu>
}
<Switch {...this.props}>
<Route path={`/banks/normal/:workid/${this.props.match.params.type}/details`}
render={
(props) => {
return (<Generaljobdetails {...this.props} {...props} {...this.state} datas={datas} />)
}
}></Route>
<Route path={`/banks/normal/:workid/${this.props.match.params.type}/answer`}
render={
(props) => {
return (<Generaljobanswer {...this.props} {...props} {...this.state} datas={datas} />)
}
}></Route>
</Switch>
</React.Fragment>
)
}
}

@ -488,8 +488,8 @@ class InfosTopics extends Component{
<a title={item.name.length>55?item.name:""} className="ml10 fl mt3 font-16 color-dark maxwidth900" href={
category==="normal"?`/banks/normal/${item.id}/${types}?tab=0`:
category==="group"?`/banks/group/${item.id}/${types}?tab=0`:
category==="normal"?`/banks/normal/${item.id}/${types}/details`:
category==="group"?`/banks/group/${item.id}/${types}/tab=0`:
category==="poll"?`/banks/poll/${item.id}/${types}`:
category==="exercise"?`/banks/exercise/${item.id}/${types}`:
category==="gtask"?`/banks/gtask/${item.id}/${types}`:

@ -13,7 +13,8 @@ class BanksMenu extends Component{
constructor(props){
super(props);
this.state={
visible:false
visible:false,
tab:['0'],
}
}
@ -23,6 +24,12 @@ class BanksMenu extends Component{
visible:true
})
}
componentDidMount() {
let { banksMenu} = this.props;
this.setState({
tab:banksMenu && banksMenu.tab?[String(banksMenu.tab)]:['0'],
})
}
topicscancelmodel=()=>{
this.setState({
@ -78,10 +85,21 @@ class BanksMenu extends Component{
});
this.topicscancelmodel()
}
changeTab=(e)=>{
this.setState({
tab:e.key
})
console.log(e.key);
// if(e.key === 0){
//
// }else{
//
//
// }
}
render(){
let { banksMenu} = this.props;
let {visible}=this.state;
let {visible,tab}=this.state;
// console.log("问卷预览");
// console.log(visible);
let user_id=this.props.current_user&&this.props.current_user.user_id;
@ -112,9 +130,11 @@ class BanksMenu extends Component{
{
banksMenu &&
<div className="task_menu_ul fl">
<Menu mode="horizontal" selectedKeys={[`${banksMenu && banksMenu.tab}`]}>
<Menu mode="horizontal" selectedKeys={tab} onClick={this.changeTab}>
{
banksMenu.menuArray && banksMenu.menuArray.map((item,key)=>{
console.log("BanksMenu");
console.log(item);
return(
<Menu.Item key={key}><Link to={`${item.to}`}>{item.content}</Link></Menu.Item>
)

Loading…
Cancel
Save