+
+
+
+
+
+
+ {/*导航*/}
+ {/*
*/}
+ {/*
*/}
+
+ {/*
*/}
+
+ {/*
*/}
+ {/* 课程体系 >*/}
+ {/* {schooldata.ec_course_name} */}
+ {/*
*/}
+
+ {/* /!*课程考核方式与数据来源*!/*/}
+ {/* /!*
*!/*/}
+ {/* /!*
导出培养目标 *!/*/}
+ {/*
*/}
+ {/* 导出评价方法*/}
+ {/* */}
+ {/* */}
+
+ {/*
*/}
+
+ {/*
*/}
+
+
+
+
+ 课程目标
+ 评价环节
+ 数据内容
+
+ 操作
+
+ 评价占比
+ 支撑总分值
+
+
+ {
+ achievement_list.length===0?
}/>:achievement_list.map((item,key)=>{
+ return(
+
+ {
+ item.target_evaluate_data.length===0?
+
+
+
{key+1}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {/* 修改start*/}
+
+
+ {/*
*/}
+
+
+ {/* 课程目标{sequenceid}:{ec_course_target_name} */}
+ 课程目标{key+1}:{ec_course_target_name}
+
+
+ {
+ achievement_methods===undefined?" ":achievement_methods.map((item,itemkey)=>{
+ return(
+
+
+
评价环节
+
+
+
+
+
+
+
+
+
分
+
100&&eacoursesavetypes===true||percentagetype===true?"bor-red": ""}
+ onInput={this.handevaluation_CoursePercentag.bind(this)} id={itemkey} style={{ width: '11%' }} placeholder="请输入占比"/>
+
%
+
+
+
+
+
+
+ )
+ })
+ }
+
{Modallists}
+
+
+
+ {/* 修改end*/}
+
+
+
+
+ :item.target_evaluate_data.map((i,k)=>{
+ return(
+
+
+
{key-k===key?key+1:""}
+
+
+ {i.evaluate_name}
+
+
+ {
+ i.evaluation_relates_data.map((y,e)=>{
+ return(
+ {y.evaluation_relates_name+" "}
+ )
+ })
+ }
+
+ {
+ key-k===key?
+
+ :
+
+
+
+ }
+
+
+
+ {i.percentage+"%"}
+
+
+
+ {i.score}
+
+
+
+
+ {/* 修改start*/}
+
+
+
+
+ {/* 课程目标{sequenceid}:{ec_course_target_name} */}
+ 课程目标{key+1}:{ec_course_target_name}
+
+
+ {
+ achievement_methods===undefined?" ":achievement_methods.map((item,itemkey)=>{
+
+ return(
+
+
+
评价环节
+
+
+
+
+
+
+
+
+
分
+
100&&eacoursesavetypes===true||percentagetype===true?"bor-red": ""}
+ onInput={this.handevaluation_CoursePercentag.bind(this)}
+ id={itemkey} style={{ width: '11%' }}
+ placeholder="请输入占比"/>
+
%
+
+
+
+
+
+
+ )
+ })
+ }
+
{Modallists}
+
+
+
+ {/* 修改end*/}
+
+
+
+ )
+
+ })
+ }
+
+ )
+ })
+ }
+
+
+
+
+ );
+ }
+}
+
+export default SnackbarHOC() (EcCourseEvaluationsbottom);
\ No newline at end of file
diff --git a/public/react/src/modules/ecs/subroute/ecStudentList/EcStudentList.js b/public/react/src/modules/ecs/subroute/ecStudentList/EcStudentList.js
new file mode 100644
index 000000000..312bfeecf
--- /dev/null
+++ b/public/react/src/modules/ecs/subroute/ecStudentList/EcStudentList.js
@@ -0,0 +1,405 @@
+import React, { Component } from 'react';
+
+import axios from 'axios';
+import { Spin } from 'antd';
+
+import { TPMIndexHOC } from '../../../tpm/TPMIndexHOC';
+
+import { SnackbarHOC,getImageUrl } from 'educoder'
+
+import { Pagination,Upload,Modal,Checkbox } from 'antd';
+
+import EcTitleCourseEvaluations from '../../ecTitle/ecTitle'
+
+import 'antd/dist/antd.css';
+
+import './ecStudentList.css';
+
+const $ = window.$;
+
+class EcStudentList extends Component {
+ constructor(props) {
+ super(props)
+ this.state={
+ majorschoollist:undefined,
+ titlemessage:"提示",
+ // ecComponentState:"ecStudentList",
+ visible:false,
+ Modallist:'',
+ Modallisttypes:0,
+ studentall:false,
+ student_id:undefined,
+ Modallisttypess:0,
+ ismanager:false,
+ isSpin:false
+ }
+ }
+ componentDidMount(){
+ window.document.title = '学生列表';
+ let major_id=this.props.match.params.major_id;
+ let year_id=this.props.match.params.year_id;
+
+ const url ='/ec_major_schools/'+major_id+'/academic_years/'+year_id+'/student_lists_data';
+ axios.get(url, {
+ withCredentials: true,
+ }).then((response) => {
+ if(response.status===200){
+ this.setState({
+ majorschoollist:response.data,
+ ismanager:response.data.ismanager,
+ })
+ }
+ })
+ .catch(function (error) {
+ console.log(error);
+ });
+ // let majorschoollist={
+ // ec_students: [{index: 1, student_name: "同意", student_id: "s20111458"},
+ // {index: 1, student_name: "同意", student_id: "s20111458"},
+ // {index: 2, student_name: "涛哥", student_id: "2011554f4"},
+ // {index: 3, student_name: "例如", student_id: "20154787b"},
+ // {index: 4, student_name: "问问", student_id: "201548580014"},
+ // {index: 5, student_name: "嗯嗯", student_id: "2015748912321234"},
+ // {index: 6, student_name: "让人", student_id: "20157456"},
+ // {index: 7, student_name: "方法", student_id: "20159658"},
+ // {index: 8, student_name: "全球", student_id: "20159632"},
+ // {index: 9, student_name: "是说", student_id: "20154512"},
+ // {index: 10, student_name: "谷歌", student_id: "20157932"},
+ // {index: 11, student_name: "版本", student_id: "20159635"},
+ // {index: 12, student_name: "捏捏", student_id: "20153451"},
+ // ],
+ // import_url: "/ec_major_schools/3/academic_years/10/import_students",
+ // show_name: true,
+ // template_url: "/attachments/download/227528/01_学生列表导入模板.xls",
+ // total_page: 1
+ // }
+ // this.setState({
+ // majorschoollist:majorschoollist
+ // })
+ }
+ uploadcomponentDidMount(){
+ let major_id=this.props.match.params.major_id;
+ let year_id=this.props.match.params.year_id;
+ const url ='/ec_major_schools/'+major_id+'/academic_years/'+year_id+'/student_lists_data';
+ axios.get(url, {
+ withCredentials: true,
+ }).then((response) => {
+ if(response.status===200){
+ this.setState({
+ majorschoollist:response.data,
+ ismanager:response.data.ismanager,
+ })
+ }
+ })
+ .catch(function (error) {
+ console.log(error);
+ });
+ }
+
+
+ windowsgoblack=()=>{
+ window.history.go(-1)
+ }
+
+
+ uploadfile=(file)=>{
+ this.setState({isSpin:true})
+ let {majorschoollist}=this.state;
+ let Url =majorschoollist.import_url;
+ const form = new FormData();
+ form.append('file', file.file);
+ axios.post(Url,form
+ ).then((response) => {
+ if(response.data.status===1){
+ // message.success('已成功导入'+response.data.count+"条数据!");
+ this.setState({
+ // titlemessage: response.data.message+"(支撑关系变更)",
+ Modallist: '已成功导入'+response.data.count+"条数据!",
+ Modallisttype:true,
+ Modallisttypes:1,
+ isSpin:false
+ })
+ }else if(response.data.status===0){
+ // message.warning(response.data.message);
+ this.setState({
+ // titlemessage: response.data.message+"(支撑关系变更)",
+ Modallist:response.data.message,
+ Modallisttype:true,
+ Modallisttypes:0,
+ isSpin:false
+ })
+ }
+ }).catch((error) => {
+ console.log(error)
+ })
+ }
+ hidemodeldelete=()=>{
+ let {Modallisttypes}=this.state;
+ this.setState({
+ Modallisttype:false,
+ Modallist:'',
+ Modallisttypess:0
+ })
+ if(Modallisttypes===1){
+ // window.location.reload();
+ this.uploadcomponentDidMount();
+ }
+ }
+
+ showecStudentList=(page)=>{
+ let major_id=this.props.match.params.major_id;
+ let year_id=this.props.match.params.year_id;
+ const url ='/ec_major_schools/'+major_id+'/academic_years/'+year_id+'/student_lists_data?page='+page;
+ axios.get(url, {
+ withCredentials: true,
+ }).then((response) => {
+ if(response.status===200){
+ this.setState({
+ majorschoollist:response.data,
+ ismanager:response.data.ismanager,
+ })
+ }
+ }).catch(function (error) {
+ console.log(error);
+ });
+ }
+
+ onChangestudentall=(e)=>{
+ let {majorschoollist}=this.state;
+ let mewmajorschoollist=majorschoollist
+ for(var i=0; i
{
+ let {majorschoollist,studentall}=this.state;
+ let mewmajorschoollist=majorschoollist;
+ let newstudentall=studentall;
+ if(e.target.checked===false){
+ newstudentall=false
+ }
+ for(var i=0; i{
+ let {majorschoollist,studentall} =this.state;
+ let studentalltype=0
+ for(var i=0; i{
+ let {majorschoollist,studentall} =this.state;
+ let major_id=this.props.match.params.major_id;
+ let year_id=this.props.match.params.year_id;
+ let newstudent_id=[];
+ if(studentall===false){
+ for(var i=0; i {
+ if(response.data.status===1){
+ this.setState({
+ // Modallist: "删除成功!",
+ // Modallisttype:true,
+ Modallisttypes:1,
+ Modallisttypess:0
+ })
+ this.hidemodeldelete();
+ }
+ }).catch((error) => {
+ console.log(error)
+ })
+ }
+
+ render() {
+ let {
+ majorschoollist,
+ Modallisttype,
+ titlemessage,
+ Modallist,
+ studentall,
+ student_id,
+ Modallisttypess,
+ ismanager
+ }=this.state;
+ // ec_students: []
+ // import_url: "/ec_major_schools/:1/academic_years/:1/import_students"
+ // template_url: "javascript:void(0);"
+ // total_page: 0
+ const uploadProps = {
+ name: 'file',
+
+ onPreview(file) {
+ // dispatch({ type: `${nameSpace}/updateState`, payload: { uploadPreviewVisible: true, uploadPreviewImage: file.url || file.thumbUrl } });
+ },
+ onChange(file) {
+ // dispatch({ type: `${nameSpace}/updateState`, payload: { fileList: fileList } });
+ },
+ onRemove(option) {
+ },
+ customRequest: file => {
+ this.uploadfile(file)
+ }
+ }
+ return (
+
+
+
+
+
取消
+ {
+ Modallisttypess===0?
确定:
确定
+ }
+
+
+
+
+
+
+
+
+
学生列表(
+ {majorschoollist===undefined?"":majorschoollist.total_student}
+ )
+
+
+
+
+ {ismanager===false?"":
+
请使用导入模板(点击下载),将本学年所有参与的学生导入系统,以便录入教学活动相关数据
+ }
+
+ {ismanager===false?"":
+ 导入
+ }
+
+
+
+
+ {ismanager===false?"":
+ 删除
+
}
+
+
+
+
+
+
+ 序号
+
+ 姓名
+ 学号
+
+
+
+
+ {
+ majorschoollist===undefined?
+
+
+
学生数据为空,请导入数据
+
+ :majorschoollist.ec_students.length===0?
+
+
+
学生数据为空,请导入数据
+
:majorschoollist.ec_students.map((item,key)=>{
+ // console.log(item)
+ return(
+ -
+
+
+ {item.index}
+
+ {item.student_name}
+ {item.student_id}
+
+ )
+ })
+ }
+
+
+
+
+ {
+ majorschoollist===undefined?"":majorschoollist.total_page===0||majorschoollist.total_student<51?"":
+ }
+
+
+
+
+
+
+
+
+ )
+
+ }
+}
+
+export default SnackbarHOC() (EcStudentList);
\ No newline at end of file
diff --git a/public/react/src/modules/ecs/subroute/ecStudentList/ecStudentList.css b/public/react/src/modules/ecs/subroute/ecStudentList/ecStudentList.css
new file mode 100644
index 000000000..0dfc22b99
--- /dev/null
+++ b/public/react/src/modules/ecs/subroute/ecStudentList/ecStudentList.css
@@ -0,0 +1,44 @@
+.pagelistStudentList{
+ position: absolute;
+ padding-left: 40%;
+}
+
+.relative{
+ position: relative;
+}
+.changestudent{
+ position: absolute;
+ top: 13px;
+ left: 50px;
+}
+.changestudents{
+ position: absolute;
+ top: -1px;
+ left: 50px;
+}
+.padbottom{
+ padding-bottom: 0px;
+}
+
+.deletelist{
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+
+.deletelist:hover{
+ color:#afafaf !important;
+}
+
+.deletebth{
+ width:64px;
+ height:24px;
+ border:1px solid #afafaf;
+ border-radius:2px;
+ color:#afafaf;
+ background:#fff;
+ line-height:24px;
+}
+
+.mt60{
+ margin-top:60px;
+}
\ No newline at end of file
diff --git a/public/react/src/modules/ecs/subroute/ecStudentList/nodata.png b/public/react/src/modules/ecs/subroute/ecStudentList/nodata.png
new file mode 100644
index 000000000..15a9e522f
Binary files /dev/null and b/public/react/src/modules/ecs/subroute/ecStudentList/nodata.png differ
diff --git a/public/react/src/modules/help/Help.js b/public/react/src/modules/help/Help.js
index f04079bcc..f148dd373 100644
--- a/public/react/src/modules/help/Help.js
+++ b/public/react/src/modules/help/Help.js
@@ -26,7 +26,6 @@ class Help extends React.Component {
}
componentDidUpdate(prevProps) {
- console.log('update', prevProps, this.props);
if(prevProps.match.params.type !== this.props.match.params.type){
this.setState({ type: this.props.match.params.type });
}