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}
+ />
+
+ 评阅内容不能为空
+
+
+
+
+
+
+ )
+ }
+}
+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.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?
:""}
+
+
+
图形统计
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;
+ }
`}