import React, {Component} from "react"; import CoursesListType from '../coursesPublic/CoursesListType'; import {WordsBtn, ActionBtn, markdownToHTML} from 'educoder'; import { Form, Select, Input, Button, Checkbox, Upload, Icon, message, Modal, Table, Divider, InputNumber, Tag, DatePicker, Radio, Tooltip, notification } from "antd"; import {Link, Switch, Route, Redirect} from 'react-router-dom'; import moment from 'moment'; import 'moment/locale/zh-cn'; import axios from 'axios'; import CommonReply from "../common/comments/CommonReply"; import Homeworddescription from "../shixunHomework/Homeworddescription"; import ShixunWorkModal from './Shixunworkdetails/ShixunWorkModal'; import HomeworkModal from "../coursesPublic/HomeworkModal"; import DownloadMessageysl from "../../modals/DownloadMessageysl"; import OneSelfOrderModal from "../coursesPublic/OneSelfOrderModal"; import '../css/members.css' import "../common/formCommon.css" import '../css/Courses.css' import './style.css' import 'antd/lib/pagination/style/index.css'; import './Challenges.css' import Startshixuntask from "../coursesPublic/Startshixuntask"; const TextArea = Input.TextArea //作业问答页面 class Workquestionandanswer extends Component { //unifiedsetting 统一设置 //allowreplenishment 允许补交 //completionefficiencyscore 完成效率评分占比 //level级别 //proportion 比例 constructor(props) { super(props); // this.props.form.setFieldsValue({ // radiogroup:1, // // }); this.state = { // namestring:"JFinal是基于Java语言的极速web开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、`Restful`。在拥有Java语言所有优势的同时再拥有`ruby`、`python`等动态语言的开发效率。\r\n\r\n在本实训中,我们将基于JFinal框架搭建一个在线商城。我们会学习到如何合理设计`Model`来进行数据表映射和数据操作、如何设计`Controller`对请求进行合理的处理…… 通过本实训,您不仅能收获到具体框架和技术的使用经验,也能对项目架构设计等知识有所了解或巩固。\r\n\r\n
\r\n\t\r\n
\r\n\r\n本实训聚焦一个在线商城项目的核心业务逻辑实现。你将在这一过程中收获Java Web项目设计的基本思想,也能得到编程能力的一次跃升。", props: props, starttimetype: false, endtimetype: false, latetimetype: false, allowlate: 1, latepenaltytype: false, unifiedsetting: false, allowreplenishment: undefined, completionefficiencyscore: false, proportion: undefined, level: undefined, ealuation: false, latededuction: undefined, latedeductiontwo: undefined, // Showupdateinstructions: false, database: false, datasheet: false, databasetwo: undefined, datasheettwo: undefined, publicwork: undefined, memo: {id: "94", user_id: 1}, polls_descriptiontest: "作业说明...", jobdescriptiondisplay: "none", score_open: false, code_review: false, starttimesend:undefined, } } componentDidMount() { console.log("Workquestionandanswer"); console.log("componentDidMount"); var homeworkid = this.props.match.params.homeworkid; // console.log(homeworkid) this.Gettitleinformation(homeworkid) let query = this.props.location.pathname; const type = query.split('/'); this.setState({ shixuntypes: type[3] }) this.props.triggerRef(this); } // componentWillReceiveProps(nextProps) { // // console.log("+++++++++916"); // // console.log(nextProps); // // console.log(this.props) // // console.log(this.props.isAdmin()); // if (nextProps.code_review != this.props.code_review) { // if (nextProps.code_review !== undefined) { // console.log("diaoyonglwangluo2"); // var homeworkid = this.props.match.params.homeworkid; // // console.log(homeworkid) // this.Gettitleinformation(homeworkid) // } // } // // } isupdatas = () => { var homeworkid = this.props.match.params.homeworkid; this.Gettitleinformation(homeworkid) } //获取题目信息 Gettitleinformation = (homeworkid) => { // console.log("获取题目信息"); let url = `/homework_commons/${homeworkid}.json`; axios.get(url).then((result) => { if (result.status === 200) { // console.log(url) // console.log("设置页") // console.log(JSON.stringify(result)) this.setState({ jobsettingsdata: result, ...result.data }) this.props.Getdataback(result,result.data); } }).catch((error) => { console.log(error) }) } // jobdescriptiondisplaybj = () => { // this.setState({ // Showupdateinstructions: true, // }) // } //统一设置 onChange = (e) => { this.setState({ unifiedsetting: e.target.checked, }) // console.log(e.target.checked); } //立即发布 homeworkstart = () => { let homeworkid = this.props.match.params.homeworkid; let url = "/homework_commons/" + homeworkid + "/publish_groups.json"; axios.get(url).then((response) => { if (response.status === 200) { const dataformat = 'YYYY-MM-DD HH:mm'; let starttime = this.props.getNowFormatDates(1); let endtime = this.props.getNowFormatDates(2); this.setState({ modalname: "立即发布", modaltype: response.data.course_groups === null || response.data.course_groups.length === 0 ? 2 : 1, OneSelftype: true, Topval: "学生将立即收到作业", // Botvalleft:"暂不发布", Botval: `本操作只对"未发布"的分班有效`, starttime: moment(moment(new Date())).format("YYYY-MM-DD HH:mm"), endtime: "截止时间:" + endtime, Cancelname: "暂不发布", Savesname: "立即发布", Cancel: this.homeworkhide, Saves: this.homeworkstartend, course_groups: response.data.course_groups, starttimes: starttime, starttimesend:response.data.end_time===undefined||response.data.end_time===null||response.data.end_time===""?undefined:response.data.end_time, typs: "start", }) } }).catch((error) => { console.log(error) }); } //立即截止 homeworkends = () => { let homeworkid = this.props.match.params.homeworkid; let url = "/homework_commons/" + homeworkid + "/end_groups.json"; axios.get(url).then((response) => { if (response.status === 200) { this.setState({ modalname: "立即截止", modaltype: response.data.course_groups === null || response.data.course_groups.length === 0 ? 2 : 1, visible: true, Topval: "学生将不能再提交作业", // Botvalleft:"暂不截止", Botval: `本操作只对"提交中"的分班有效`, Cancelname: "暂不截止", Savesname: "立即截止", Cancel: this.homeworkhide, Saves: this.coursetaskend, starttime: undefined, endtime: undefined, course_groups: response.data.course_groups, typs: "end", }) } }).catch((error) => { console.log(error) }); } // 立即发布 homeworkstartend = (ds, endtime) => { var homeworkid = this.props.match.params.homeworkid; let data={} if(ds.length===0){ if(this.state.category.main===1){ data = { homework_ids: [homeworkid], end_time: endtime, } }else { data = { homework_ids: [homeworkid], end_time: endtime, category_id:this.state.category.category_id, } } }else{ if(this.state.category.main===1){ data={ homework_ids: [homeworkid], group_ids: ds, group_end_times:endtime, detail:true } }else{ data={ homework_ids: [homeworkid], group_ids: ds, group_end_times:endtime, category_id:this.state.category.category_id, detail:true } } } let coursesId = this.props.match.params.coursesId; let url = "/courses/" + coursesId + "/homework_commons/publish_homework.json"; axios.post(url, data).then((result) => { if (result.status === 200) { if (result.data.status === 0) { notification.open({ message: "提示", description: result.data.message }); this.homeworkhide(); } } }).catch((error) => { console.log(error); }) } //立即截止确定按钮 coursetaskend = () => { var homeworkid = this.props.match.params.homeworkid; let {course_groupslist} = this.state; const cid = this.props.match.params.coursesId; let url = "/courses/" + cid + "/homework_commons/end_homework.json"; axios.post(url, { group_ids: course_groupslist, homework_ids: [homeworkid], }) .then((response) => { if (response.data.status == 0) { notification.open({ message: "提示", description: response.data.message }); this.homeworkhide() } }) .catch(function (error) { console.log(error); }); } ReleaseNotes = (explanations) => { var homeworkid = this.props.match.params.homeworkid; let url = `/homework_commons/${homeworkid}/update_explanation.json`; axios.post((url), { explanation: explanations }) .then((result) => { if (result) { try { this.props.showNotification(`${result.data.message}`); }catch (e) { } try { var homeworkid = this.props.match.params.homeworkid; this.Gettitleinformation(homeworkid); }catch (e) { } try { this.props.Showupdateinstructionsboolfalse(false); }catch (e) { } } }).catch((error) => { console.log(error); }) } NOReleaseNotes = () => { this.props.Showupdateinstructionsboolfalse(false); } workshowmodel = () => { this.setState({ showmodel: true }) } hideshowmodel = () => { this.setState({ showmodel: false }) } homeworkhide = () => { this.isupdatas() this.setState({ modalname: undefined, modaltype: undefined, visible: false, Topval: undefined, Topvalright: undefined, Botvalleft: undefined, Botval: undefined, starttime: undefined, endtime: undefined, Cancelname: undefined, Savesname: undefined, Cancel: undefined, Saves: undefined, StudentList_value: undefined, addname: undefined, addnametype: false, addnametab: undefined, typs: undefined, starttimes: undefined, OneSelftype:false, }) } getcourse_groupslist = (id) => { this.setState({ course_groupslist: id }) } ChangeTab=(e)=>{ this.props.ChangeTab(e); } daochushixunbaogao=()=>{ let url =`/zip/shixun_report?homework_common_id=${this.props.match.params.homeworkid}`; this.confirmysl(url, url + '&export=true'); } daochuzuoye =() =>{ let url = `/homework_commons/${this.props.match.params.homeworkid}/works_list.xlsx`; this.confirmysl(url, url + '?export=true'); } confirmysl(url, urlWithExport){ axios.get(urlWithExport).then((response) => { if(response === undefined){ return } if(response.data.status&&response.data.status===-1){ }else if(response.data.status&&response.data.status===-2){ if(response.data.message === "100"){ // 已超出文件导出的上限数量(100 ),建议: this.setState({ DownloadType:true, DownloadMessageval:100 }) }else { //因附件资料超过500M this.setState({ DownloadType:true, DownloadMessageval:500 }) } }else { this.props.showNotification(`正在下载中`); window.open("/api"+url, '_blank'); } }).catch((error) => { console.log(error) }); } Downloadcal=()=>{ this.setState({ DownloadType:false, DownloadMessageval:undefined }) } render() { const dateFormat = 'YYYY-MM-DD HH:mm:ss'; let { starttimetype, endtimetype, latetimetype, allowlate, latepenaltytype, jobsettingsdata, score_open , homework_id } = this.state; const radioStyle = { display: 'block', height: '30px', lineHeight: '30px', }; const formItemLayout = { labelCol: {span: 6}, wrapperCol: {span: 14}, }; let coursesId = this.props.match.params.coursesId; return (
{this.state.showmodel === true ? this.hideshowmodel()} updatas={() => this.isupdatas()} /> : ""} {/**/} {/*立即发布*/} this.getcourse_groupslist(id)} starttimes={this.state.starttimes} starttimesend={this.state.starttimesend} typs={this.state.typs} /> {/*立即发布*/} {this.state.OneSelftype===true? this.getcourse_groupslist(id)} starttimes={this.state.starttimes} starttimesend={this.state.starttimesend} typs={this.state.typs} />:""}
{/*{jobsettingsdata === undefined || jobsettingsdata.data.description === null ?
:*/} {/*
*/} {/* */} {/* */} {/*
*/} {/*
*/} {/*
*/} {/*
*/} {/*
}*/} {/*
*/} {/*
作业说明:
*/} {/*{*/} {/* this.props.isAdmin() && this.props.isAdmin() === true ?*/} {/* (Showupdateinstructions && Showupdateinstructions === true ? "" :*/} {/* this.jobdescriptiondisplaybj()}>*/} {/* ) : ""*/} {/*}*/} {/*
*/}
{this.props.Showupdateinstructions && this.props.Showupdateinstructions === true ?
this.ReleaseNotes(explanations)} NOReleaseNotes={()=>this.NOReleaseNotes()} description={jobsettingsdata === undefined ? "" : jobsettingsdata === null ? "" : jobsettingsdata === "null" ? "" : jobsettingsdata.data.explanation === undefined ? "" : jobsettingsdata.data.explanation === null ? "" : jobsettingsdata.data.explanation}>
:
{jobsettingsdata === undefined || jobsettingsdata === null || jobsettingsdata === "null" ? 暂无~ : jobsettingsdata.data.explanation === undefined || jobsettingsdata.data.explanation === null || jobsettingsdata.data.explanation === undefined || jobsettingsdata.data.explanation === "" ? 暂无~ :
}
}
{/* */} {/*
*/} {/**/} {/*
*/} {/*{ Showupdateinstructions&& Showupdateinstructions === true?*/} {/*
*/} {/* */} {/*
*/} {/* :""*/} {/*}*/} {homework_id && }
) } } export default Workquestionandanswer; {/*
*/} {/*
*/} {/* this.ChangeTab(0)}>作品列表*/} {/* this.ChangeTab(1)}>作业问答*/} {/* {this.props.isAdmin() ?*/} {/* this.state.code_review === true || jobsettingsdata === undefined ? [""] : jobsettingsdata.data.homework_status[0] === "未发布" ? "" :*/} {/* this.ChangeTab(2)}>*/} {/* 代码查重 : ""}*/} {/* this.ChangeTab(3)}*/} {/* >设置*/} {/* */} {/* {this.props.isAdmin() ?*/} {/*
  • */} {/* 导出*/} {/* */} {/*
  • : ""}*/} {/* {this.props.isAdmin() ? jobsettingsdata && jobsettingsdata.data.end_immediately === true ?*/} {/* 立即截止*/} {/* :""*/} {/* : ""}*/} {/* {this.props.isAdmin() ? jobsettingsdata && jobsettingsdata.data.publish_immediately === true ?*/} {/* 立即发布*/} {/* : ""*/} {/* : ""}*/} {/* {this.props.isAdmin() ?*/} {/* jobsettingsdata && jobsettingsdata.data.code_review === true ?*/} {/* 代码查重*/} {/* : "" : ""}*/} {/* {*/} {/* jobsettingsdata&& jobsettingsdata.data === undefined ? ""*/} {/* : jobsettingsdata&& jobsettingsdata.data.commit_des === null || jobsettingsdata&& jobsettingsdata.data.commit_des === undefined ? "" :*/} {/* { jobsettingsdata&& jobsettingsdata.data.commit_des}*/} {/* }*/} {/* { jobsettingsdata&&jobsettingsdata.data === undefined ? "" : }*/} {/*
    */} {/*
    */}