diff --git a/public/react/src/modules/courses/coursesPublic/AppraiseModal.js b/public/react/src/modules/courses/coursesPublic/AppraiseModal.js new file mode 100644 index 000000000..63d854ad6 --- /dev/null +++ b/public/react/src/modules/courses/coursesPublic/AppraiseModal.js @@ -0,0 +1,137 @@ +import React,{ Component } from "react"; +import { Modal,Checkbox,Upload,Button,Icon,message,Input,Radio} from "antd"; +import { WordNumberTextarea } from 'educoder'; +import axios from 'axios'; + +class AppraiseModal extends Component{ + constructor(props){ + super(props); + this.state={ + group_ids:[], + fileList:[], + textareaval:undefined, + Inputsval:undefined, + valuetype:1, + textareavaltype:false + } + } + + onChanges=(e)=>{ + this.setState({ + valuetype:e.target.value + }) + } + + settextarea=(e)=>{ + this.setState({ + textareaval:e.target.value + }) + } + + Saves=()=>{ + let{textareaval,valuetype}=this.state; + let newvaluetype=valuetype===1?false:true; + + if(textareaval===undefined||textareaval===null||textareaval===""){ + this.setState({ + textareavaltype:true + }) + return + } + + let url=`/student_works/${this.props.match.params.homeworkid}/shixun_work_comment.json` + axios.post(url, { + comment:textareaval, + is_hidden:newvaluetype + }).then((response) => { + if(response.data.status===0){ + this.props.showNotification(response.data.message) + this.props.Cancel() + }else{ + this.props.showNotification(response.data.message) + } + }).catch((error) => { + console.log(error) + }); + } + + render(){ + let {textareaval,Inputsval,textareavaltype,Inputsvaltype}=this.state; + const radioStyle = { + display: 'block', + height: '30px', + lineHeight: '30px', + }; + return( +
+ + +
+ +
+

+ 权限: +

+ + 可见 (学生查看老师的评阅内容) + 不可见 (仅对课堂老师可见) + + +

+ 内容: +

+ this.settextarea(e)} + value={textareaval} + maxlength={500} + /> + +
  • 评阅内容不能为空
  • +
    + +
    + {this.props.Cancelname || '取消'} + {this.props.Savesname || '确定'} +
    +
    +
    +
    + ) + } +} +export default AppraiseModal; \ No newline at end of file diff --git a/public/react/src/modules/courses/shixunHomework/ShixunWorkReport.js b/public/react/src/modules/courses/shixunHomework/ShixunWorkReport.js index 0a722b29e..87f4f9555 100644 --- a/public/react/src/modules/courses/shixunHomework/ShixunWorkReport.js +++ b/public/react/src/modules/courses/shixunHomework/ShixunWorkReport.js @@ -8,7 +8,8 @@ import ConclusionEvaluation from './shixunreport/ConclusionEvaluation'; import OfficialAcademicTranscript from './shixunreport/OfficialAcademicTranscript'; import Coursesshixundetails from './shixunreport/Coursesshixundetails'; import Shixunechart from './shixunreport/Shixunechart'; -import DownloadMessageysl from "../../modals/DownloadMessageysl"; +import DownloadMessageysl from "../../modals/DownloadMessageysl" +import AppraiseModal from "../coursesPublic/AppraiseModal"; import {UnControlled as CodeMirror} from 'react-codemirror2'; import 'codemirror/mode/cmake/cmake'; import 'codemirror/mode/xml/xml'; @@ -29,7 +30,9 @@ class ShixunWorkReport extends Component { spinning:true, DownloadType:false, DownloadMessageval:undefined, - isspinning:false + isspinning:false, + showAppraiseModaltype:false, + work_comment_hidden:false } } @@ -41,8 +44,7 @@ class ShixunWorkReport extends Component { if(child!=undefined){ params =child._getRequestParams()!==undefined?child._getRequestParams():{}; } - console.log("170"); - console.log(params); + const urll=url+`?${queryString.stringify(params)}`; axios.get(urll+ '&export=true').then((response) => { if(response===undefined){ @@ -72,6 +74,7 @@ class ShixunWorkReport extends Component { } }).catch((error) => { console.log(error) + this.setState({ isspinning: false }) }); } Downloadcal=()=>{ @@ -100,6 +103,7 @@ class ShixunWorkReport extends Component { }else{ this.setState({ data:result.data, + work_comment_hidden:result.data.work_comment_hidden, spinning:false }) } @@ -145,17 +149,56 @@ class ShixunWorkReport extends Component { data:newdata }) } + + showAppraiseModal=()=>{ + this.setState({ + showAppraiseModaltype:true + }) + } + + hideAppraiseModal=()=>{ + let{data}=this.state; + this.setState({ + showAppraiseModaltype:false, + work_comment_hidden:data&&data.work_comment_hidden===true?true:data&&data.work_description!=null?true:false, + }) + } + + isdeleteModal=()=>{ + let url =`/student_works/${this.props.match.params.homeworkid}/destroy_work_comment.json` + axios.delete(url).then((response) => { + // const { status } = response.data; + if(response.data.status===0){ + this.props.showNotification(response.data.message) + }else{ + this.props.showNotification(response.data.message) + } + }) + .catch(function (error) { + console.log(error); + }); + } render() { - let{data} =this.state; - console.log(data) - console.log(this.props) + let{data,showAppraiseModaltype,work_comment_hidden} =this.state; + let category_id=data===undefined?"":data.category===null?"":data.category.category_id; let homework_common_id=data===undefined?"":data.homework_common_id; let homeworkid=this.props.match.params.homeworkid; const antIcon = ; + + let showAppraiseModals=this.props&&this.props.isAdminOrTeacher()===true?work_comment_hidden===true?true:false:data&&data.work_description===null?false:true; + return ( - data===undefined?"":
    + data===undefined?"": + + {showAppraiseModaltype===true?this.hideAppraiseModal()} + />:""} +

    {data&&data.shixun_name}

    {/*{this.props.isAdmin()?导出实训报告数据:""}*/} - 返回 + 返回 {this.props.isAdmin() ? this.confirmysl(`/student_works/${homeworkid}/export_shixun_work_report.pdf`)} > 导出实训报告数据 : ""} + {this.props.isAdmin() ?work_comment_hidden===true? "":this.showAppraiseModal()} + >评阅 : ""}
    - +
    -
    总体评价
    +
    总体评价
    +
    +
    + +
    + +
    + +
    +

    陈晓

    + +

    + 通过: {data&&data.complete_count}/{data&&data.challenges_count} + 课堂最高完成效率: {data&&data.max_efficiency===null?'--':data&&data.max_efficiency} + 通关时间: {data&&data.passed_time===null?'--':data&&data.passed_time} +

    +

    + 经验值: {data&&data.myself_experience}/{data&&data.total_experience} + 完成效率: {data&&data.efficiency===null?'--':data&&data.efficiency} + 实战耗时: {data&&data.time_consuming===null?'--':data&&data.time_consuming} +

    + +
    + +
    +
    @@ -200,7 +333,7 @@ class ShixunWorkReport extends Component {
    -
    +
    阶段成绩
    @@ -216,15 +349,10 @@ class ShixunWorkReport extends Component {
    -
    -
    -
    个人总结
    - -
    -
    + -
    +
    +
    +
    + 个人总结 +
    +
    +
    +
    +
    +
    -
    + + {showAppraiseModals===true?
    +
    + +
    + 老师评阅{showAppraiseModals===true?"":"(仅对课堂老师可见)"} + + {this.props&&this.props.isAdminOrTeacher()===true?this.isdeleteModal()} + >删除:""} + + {this.props&&this.props.isAdminOrTeacher()===true?this.showAppraiseModal()} + >编辑:""} + +
    + +
    +
    +
    +
    +
    +
    +
    + +
    +
    :""} + + +
    图形统计
    tr{ height:64px; } + // .Tablebox .ant-table-body table .ant-table-tbody > tr > td{ + // border: none; + // } + + .Tablebox .ant-table-body table .ant-table-thead > tr > th{ + background: #fff; + border-bottom: 3px solid #fafafa !important; + } `}