You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
232 lines
5.4 KiB
232 lines
5.4 KiB
|
|
import React, {Component} from "react";
|
|
import {Link, NavLink} from 'react-router-dom';
|
|
import {WordsBtn, ActionBtn,MarkdownToHtml} from 'educoder';
|
|
import axios from 'axios';
|
|
import {
|
|
notification
|
|
} from "antd";
|
|
import SendTopics from '../../modals/SendTopics';
|
|
import Modals from '../../modals/Modals';
|
|
|
|
import CoursesListType from '../coursesPublic/CoursesListType';
|
|
import Completetaskdetails from './Completetaskdetails';
|
|
import '../css/members.css';
|
|
import "../common/formCommon.css";
|
|
import '../css/Courses.css';
|
|
import '../css/busyWork.css';
|
|
import '../poll/pollStyle.css';
|
|
|
|
|
|
class Completetaskpage extends Component {
|
|
//分组作业内容详情
|
|
constructor(props) {
|
|
super(props);
|
|
// this.answerMdRef = React.createRef();
|
|
this.state={
|
|
workid:1,
|
|
isSpin:false,
|
|
datas:[],
|
|
visible:false
|
|
}
|
|
}
|
|
|
|
|
|
|
|
componentDidMount() {
|
|
// console.log("父组件加载框");
|
|
this.getonedata();
|
|
}
|
|
getonedata(){
|
|
if( this.props.match.params.workid){
|
|
this.setState({
|
|
workid: this.props.match.params.workid,
|
|
})
|
|
}
|
|
this.getdata(this.props.match.params.workid);
|
|
}
|
|
// 获取数据的地方
|
|
getdata=(workid)=>{
|
|
var workids= workid;
|
|
if(workids){
|
|
|
|
}else{
|
|
workids=this.state.workid;
|
|
}
|
|
this.setState({
|
|
isSpin:true,
|
|
})
|
|
let url = `/task_banks/${workids}.json`;
|
|
//
|
|
axios.get(url).then((response) => {
|
|
if(response){
|
|
if(response.data){
|
|
this.setState({
|
|
datas:response.data,
|
|
});
|
|
try {
|
|
const crumbData={
|
|
title:response && response.data && response.data.name,
|
|
is_public:response && response.data && response.data.is_public,
|
|
crumbArray:[
|
|
{content:'详情'}
|
|
]
|
|
}
|
|
this.props.initPublic(crumbData);
|
|
}catch (e) {
|
|
|
|
}
|
|
}else {
|
|
this.setState({
|
|
datas:[],
|
|
|
|
})
|
|
|
|
}
|
|
}else {
|
|
this.setState({
|
|
datas:[],
|
|
})
|
|
|
|
}
|
|
this.setState({
|
|
isSpin:false,
|
|
})
|
|
}).catch((error) => {
|
|
console.log(error)
|
|
this.setState({
|
|
datas:[],
|
|
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:"gtask"
|
|
}})
|
|
.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()
|
|
}
|
|
|
|
render() {
|
|
let{datas,visible}=this.state;
|
|
|
|
// console.log(119)
|
|
|
|
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;
|
|
|
|
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}
|
|
{...this.props}
|
|
visible={visible}
|
|
category={"gtask"}
|
|
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">></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&&datas.is_public?["公开"]:["私有"]}*/}
|
|
{/* />*/}
|
|
{/*</div>*/}
|
|
|
|
<div className="edu-back-white ">
|
|
<div className="stud-class-set bor-bottom-greyE ">
|
|
<div className=" clearfix edu-back-white poll_list">
|
|
<a className={"active ml12"}>内容详情</a>
|
|
<a className="fr color-blue font-16 pointer" onClick={()=>this.sendTopics()}>发送</a>
|
|
<Link className="fr color-blue font-16 pointer" to={`/banks/gtask/${this.props.match.params.workid}/edit`} >编辑</Link>
|
|
<a className="fr color-blue font-16 pointer" onClick={()=>this.deletecheckBoxValues()}>删除</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<Completetaskdetails {...this.state} {...this.props} datas={datas}/>
|
|
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|
|
}
|
|
|
|
export default Completetaskpage;
|