dev_ec
杨树林 5 years ago
parent e03e085062
commit 610536b100

@ -35,12 +35,13 @@ class EcStudentList extends Component {
pages:1, pages:1,
per_pages:20, per_pages:20,
total_student:0, total_student:0,
Myschoolstudents:[],
} }
} }
componentDidMount(){ componentDidMount(){
window.document.title = '学生列表'; window.document.title = '学生列表';
let major_id=this.props.match.params.major_id; let major_id=this.props.match.params.majorId;
let year_id=this.props.match.params.year_id; let year_id=this.props.match.params.yearId;
const url ='/ec_years/'+year_id+'/students.json'; const url ='/ec_years/'+year_id+'/students.json';
axios.get(url, { axios.get(url, {
@ -54,7 +55,23 @@ class EcStudentList extends Component {
total_student:response.data.count, total_student:response.data.count,
majorschoollist:response.data, majorschoollist:response.data,
ismanager:response.data.ismanager, ismanager:response.data.ismanager,
}) });
try {
if(response.data.students.length>0){
var mst=response.data.students;
for(var i=0;i<mst.length;i++){
mst[i].istrue=false;
}
this.setState({
Myschoolstudents:mst
});
}
}catch (e) {
this.setState({
Myschoolstudents:[]
});
}
} }
} }
} }
@ -63,33 +80,11 @@ class EcStudentList extends Component {
.catch(function (error) { .catch(function (error) {
console.log(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(){ uploadcomponentDidMount(){
let major_id=this.props.match.params.major_id; let major_id=this.props.match.params.majorId;
let year_id=this.props.match.params.year_id; let year_id=this.props.match.params.yearId;
const url ='/ec_years/'+year_id+'/students.json'; const url ='/ec_years/'+year_id+'/students.json';
axios.get(url, { axios.get(url, {
page:this.state.pages, page:this.state.pages,
@ -103,7 +98,23 @@ class EcStudentList extends Component {
total_student:response.data.count, total_student:response.data.count,
majorschoollist:response.data, majorschoollist:response.data,
ismanager:response.data.ismanager, ismanager:response.data.ismanager,
}) });
try {
if(response.data.students.length>0){
var mst=response.data.students;
for(var i=0;i<mst.length;i++){
mst[i].istrue=false;
}
this.setState({
Myschoolstudents:mst
});
}
}catch (e) {
this.setState({
Myschoolstudents:[]
});
}
} }
} }
} }
@ -122,27 +133,31 @@ class EcStudentList extends Component {
uploadfile=(file)=>{ uploadfile=(file)=>{
this.setState({isSpin:true}) this.setState({isSpin:true})
let {majorschoollist}=this.state; let {majorschoollist}=this.state;
let Url =majorschoollist.import_url; let year_id=this.props.match.params.yearId;
let Url ='/ec_years/'+year_id+'/students/import.json';
const form = new FormData(); const form = new FormData();
form.append('file', file.file); form.append('file', file.file);
form.append('attachment_id', file.file.id);
axios.post(Url,form axios.post(Url,form
).then((response) => { ).then((response) => {
if(response.data.status===1){ if(response.data.status===0){
// message.success('已成功导入'+response.data.count+"条数据!"); // message.success('已成功导入'+response.data.count+"条数据!");
this.setState({ this.setState({
// titlemessage: response.data.message+"(支撑关系变更)", // titlemessage: response.data.message+"(支撑关系变更)",
Modallist: '已成功导入'+response.data.count+"条数据!", Modallist: '已成功导入'+response.data.count+"条数据!",
Modallisttype:true, Modallisttype:true,
Modallisttypes:1, Modallisttypes:1,
Modallisttypess:0,
isSpin:false isSpin:false
}) })
}else if(response.data.status===0){ }else{
// message.warning(response.data.message); // message.warning(response.data.message);
this.setState({ this.setState({
// titlemessage: response.data.message+"(支撑关系变更)", // titlemessage: response.data.message+"(支撑关系变更)",
Modallist:response.data.message, Modallist:response.data.message,
Modallisttype:true, Modallisttype:true,
Modallisttypes:0, Modallisttypes:0,
Modallisttypess:0,
isSpin:false isSpin:false
}) })
} }
@ -150,8 +165,7 @@ class EcStudentList extends Component {
console.log(error) console.log(error)
}) })
} }
hidemodeldelete=()=>{ hidemodeldelete=(Modallisttypes)=>{
let {Modallisttypes}=this.state;
this.setState({ this.setState({
Modallisttype:false, Modallisttype:false,
Modallist:'', Modallist:'',
@ -165,8 +179,8 @@ class EcStudentList extends Component {
showecStudentList=(page)=>{ showecStudentList=(page)=>{
let major_id=this.props.match.params.major_id; let major_id=this.props.match.params.majorId;
let year_id=this.props.match.params.year_id; let year_id=this.props.match.params.yearId;
const url ='/ec_years/'+year_id+'/students.json'; const url ='/ec_years/'+year_id+'/students.json';
axios.get(url, { axios.get(url, {
page:this.state.pages, page:this.state.pages,
@ -180,51 +194,67 @@ class EcStudentList extends Component {
majorschoollist:response.data, majorschoollist:response.data,
ismanager:response.data.ismanager, ismanager:response.data.ismanager,
pages:page, pages:page,
}) });
try {
if(response.data.students.length>0){
var mst=response.data.students;
for(var i=0;i<mst.length;i++){
mst[i].istrue=false;
}
this.setState({
Myschoolstudents:mst
});
}
}catch (e) {
this.setState({
Myschoolstudents:[]
});
}
} }
} }
} }
}).catch(function (error) { }).catch(function (error) {
console.log(error); console.log(error);
}); });
} };
//全选
onChangestudentall=(e)=>{ onChangestudentall=(e)=>{
let {majorschoollist}=this.state; let {Myschoolstudents}=this.state;
let mewmajorschoollist=majorschoollist let mewmajorschoollist=Myschoolstudents
for(var i=0; i<mewmajorschoollist.ec_students.length; i++){ for(var i=0; i<mewmajorschoollist.length; i++){
mewmajorschoollist.ec_students[i].istrue=e.target.checked mewmajorschoollist[i].istrue=e.target.checked
} }
this.setState({ this.setState({
studentall:e.target.checked, studentall:e.target.checked,
majorschoollist:mewmajorschoollist Myschoolstudents:mewmajorschoollist
}) })
} };
//单选
onChangestudent=(e)=>{ onChangestudent=(e)=>{
let {majorschoollist,studentall}=this.state; let {Myschoolstudents,studentall}=this.state;
let mewmajorschoollist=majorschoollist; let mewmajorschoollist=Myschoolstudents;
let newstudentall=studentall; let newstudentall=studentall;
if(e.target.checked===false){ if(e.target.checked===false){
newstudentall=false newstudentall=false
} }
for(var i=0; i<mewmajorschoollist.ec_students.length; i++){ for(var i=0; i<mewmajorschoollist.length; i++){
if(i===e.target.index&&e.target.id===mewmajorschoollist.ec_students[i].student_id){ if(i===e.target.index&&e.target.id===mewmajorschoollist[i].student_id){
mewmajorschoollist.ec_students[i].istrue=e.target.checked mewmajorschoollist[i].istrue=e.target.checked
} }
} }
this.setState({ this.setState({
student_id:e.target.id, student_id:e.target.id,
majorschoollist:mewmajorschoollist, studentall:newstudentall,
studentall:newstudentall Myschoolstudents:mewmajorschoollist
}) })
} };
// 删除提示
deletelistbth=()=>{ deletelistbth=()=>{
let {majorschoollist,studentall} =this.state; let {Myschoolstudents,studentall} =this.state;
let studentalltype=0 let studentalltype=0
for(var i=0; i<majorschoollist.ec_students.length; i++){ for(var i=0; i<Myschoolstudents.length; i++){
if(majorschoollist.ec_students[i].istrue===true){ if(Myschoolstudents[i].istrue===true){
studentalltype=1 studentalltype=1
} }
} }
@ -240,32 +270,33 @@ class EcStudentList extends Component {
Modallisttype:true Modallisttype:true
}) })
} }
} };
//删除学生
deletelistbthenters=()=>{ deletelistbthenters=()=>{
let {majorschoollist,studentall} =this.state; debugger
let major_id=this.props.match.params.major_id; let {Myschoolstudents,studentall} =this.state;
let year_id=this.props.match.params.year_id; let major_id=this.props.match.params.majorId;
let year_id=this.props.match.params.yearId;
let newstudent_id=[]; let newstudent_id=[];
if(studentall===false){ if(studentall===false){
for(var i=0; i<majorschoollist.ec_students.length; i++){ for(var i=0; i<Myschoolstudents.length; i++){
if(majorschoollist.ec_students[i].istrue===true){ if(Myschoolstudents[i].istrue===true){
newstudent_id.push(majorschoollist.ec_students[i].student_id) newstudent_id.push(Myschoolstudents[i].id)
} }
} }
} }
let url ='/ec_major_schools/'+major_id+'/academic_years/'+year_id+'/destroy_students' let url ='/ec_years/'+year_id+'/students.json'
axios.delete(url,{data:{ axios.delete(url,{data:{
all:studentall, ids:newstudent_id,
student_ids:newstudent_id,
}}).then((response) => { }}).then((response) => {
if(response.data.status===1){ if(response.data.status===0){
this.setState({ this.setState({
// Modallist: "删除成功!", // Modallist: "删除成功!",
// Modallisttype:true, // Modallisttype:true,
Modallisttypes:1, Modallisttypes:1,
Modallisttypess:0 Modallisttypess:0
}) })
this.hidemodeldelete(); this.hidemodeldelete(1);
} }
}).catch((error) => { }).catch((error) => {
console.log(error) console.log(error)
@ -282,12 +313,9 @@ class EcStudentList extends Component {
student_id, student_id,
Modallisttypess, Modallisttypess,
total_student, total_student,
ismanager ismanager,
Myschoolstudents
}=this.state; }=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 = { const uploadProps = {
name: 'file', name: 'file',
@ -304,128 +332,137 @@ class EcStudentList extends Component {
} }
} }
return ( return (
<div className="newMain clearfix"> <div className="newMain clearfix">
<Modal <Modal
title={titlemessage} title={titlemessage}
// visible={modeldelet===true&&listid===list.id?true:false} // visible={modeldelet===true&&listid===list.id?true:false}
visible={Modallisttype} visible={Modallisttype}
className={"ecmodeldelet"} className={"ecmodeldelet"}
closable={false} closable={false}
footer={null} footer={null}
> >
<div className="task-popup-content"> <div className="task-popup-content">
<div className="task-popup-text-center font-14">{Modallist}</div> <div className="task-popup-text-center font-14">{Modallist}</div>
</div> </div>
<div className="task-popup-submit clearfix"> <div className="task-popup-submit clearfix">
<a onClick={this.hidemodeldelete} className="task-btn fl">取消</a> <a onClick={()=>this.hidemodeldelete(1)} className="task-btn fl">取消</a>
{ {
Modallisttypess===0?<a className="task-btn task-btn-orange fr" Modallisttypess===0?<a className="task-btn task-btn-orange fr"
onClick={this.hidemodeldelete} onClick={()=>this.hidemodeldelete(1)}
>确定</a>:<a className="task-btn task-btn-orange fr" >确定</a>:<a className="task-btn task-btn-orange fr"
onClick={this.deletelistbthenters} onClick={this.deletelistbthenters}
>确定</a> >确定</a>
} }
</div> </div>
</Modal> </Modal>
<div className="educontent mb290"> <div className="educontent mb290">
<div className="clearfix padding20-30 bor-bottom-greyE mb10 edu-back-white"> <div className="clearfix padding20-30 bor-bottom-greyE mb10 edu-back-white">
<span className="fl font-18 courseSystem ">学生列表</span> <span className="fl font-18 courseSystem ">学生列表</span>
<a className="fr font-15 courseSystem" onClick={this.windowsgoblack}>返回</a> <a className="fr font-15 courseSystem" onClick={this.windowsgoblack}>返回</a>
</div> </div>
<div className="edu-back-white "> <div className="edu-back-white ">
<div className="clearfix padding20-30 bor-bottom-greyE"><span <div className="clearfix padding20-30 bor-bottom-greyE"><span
className=" font-18 courseSystem">学生列表 className=" font-18 courseSystem">学生列表
{total_student} {total_student}
</span> </span>
<div className="color-grey-9 mr10">提供模板支持导入学生信息(请先下载模板) <a className={"color-blue"} onClick={() => window.elasticLayer(3533)}>查看详情</a></div> <div className="color-grey-9 mr10">提供模板支持导入学生信息(请先下载模板)
</div> {/*<a className={"color-blue"} onClick={() => window.elasticLayer(3533)}>查看详情</a>*/}
</div>
<div className="padding20-30 padbottom" id="training_objective_contents"> </div>
{ismanager===false?"":
<span className="mr30">请使用导入模板<a href={majorschoollist===undefined?"":majorschoollist.template_url} className="color-green"><i className="iconfont icon-fujian mr5 color-green font-16"></i></a>便</span> <div className="padding20-30 padbottom" id="training_objective_contents">
} {ismanager===false?"":
<a className="white-btn edu-orangeback-btn fr mr10" > <span className="mr30">请使用导入模板<a href={'/attachments/download/279190/01_学生列表导入模板2.0.xls'} className="color-green"><i className="iconfont icon-fujian mr5 color-green font-16"></i></a>便</span>
{ismanager===false?"":<Upload }
{...uploadProps} <a className="white-btn edu-orangeback-btn fr mr10" >
showUploadList={false} {ismanager===false?"":<Upload
style={{color:'#fff'}} {...uploadProps}
> showUploadList={false}
导入 style={{color:'#fff'}}
</Upload>} >
</a> 导入
</div> </Upload>}
</a>
<div id="training_objective_contents" className='deletelist' > </div>
{ismanager===false?"":<div className="white-btn deletebth ml30 mr10" onClick={this.deletelistbth}>
删除 <div id="training_objective_contents" className='deletelist' >
</div>} {ismanager===false?"":<div className="white-btn deletebth ml30 mr10" onClick={this.deletelistbth}>
</div> 删除
<Spin spinning={this.state.isSpin}> </div>}
<div className="ListTableLine minH-560 edu-back-white mb80" id="listContent"> </div>
<p className="clearfix"> <Spin spinning={this.state.isSpin}>
<span className="column-No column-2 relative"> <div className="ListTableLine minH-560 edu-back-white mb80" id="listContent">
<Checkbox <p className="clearfix">
className={'mr20 changestudent'} <span className="column-No column-2 relative">
checked={studentall===true?true:false} <Checkbox
onChange={this.onChangestudentall}></Checkbox> className={'mr20 changestudent'}
序号 checked={studentall===true?true:false}
</span> onChange={this.onChangestudentall}></Checkbox>
<span className="column-2" style={{display:majorschoollist===undefined?"":majorschoollist.show_name===false?"none":'inline-block'}}>姓名</span> 序号
<span className="column-2">学号</span> </span>
</p> <span className="column-2">姓名</span>
<span className="column-2">学号</span>
</p>
<ul>
{ <style>{
majorschoollist===undefined? `
<div className="edu-txt-center color-grey-9 pt50"> .myslispan{
<p className="mb20"><img className="edu-nodata-img mb20" src={getImageUrl("images/educoder/nodata.png")} /></p> display: flex;
<p>学生数据为空请导入数据</p> flex-direction:initial;
</div> }
:majorschoollist.ec_students.length===0? `
<div className="edu-txt-center color-grey-9 pt50"> }</style>
<p className="mb20"><img className="edu-nodata-img mb20" src={getImageUrl("images/educoder/nodata.png")}/></p> <ul>
<p>学生数据为空请导入数据</p> {
</div>:majorschoollist.students.map((item,key)=>{ majorschoollist===undefined?
// console.log(item) <div className="edu-txt-center color-grey-9 pt50">
return( <p className="mb20"><img className="edu-nodata-img mb20" src={getImageUrl("images/educoder/nodata.png")} /></p>
<li className="clearfix" key={key}> <p>学生数据为空请导入数据</p>
<span className="column-No column-2 relative"> </div>
<Checkbox :Myschoolstudents&&Myschoolstudents.length===0?
className={'mr20 changestudents'} <div className="edu-txt-center color-grey-9 pt50">
checked={item.istrue===true?true:false} <p className="mb20"><img className="edu-nodata-img mb20" src={getImageUrl("images/educoder/nodata.png")}/></p>
key={key} <p>学生数据为空请导入数据</p>
index={key} </div>:Myschoolstudents&&Myschoolstudents.map((item,key)=>{
onChange={this.onChangestudent} id={item.student_id}></Checkbox> // console.log(item)
{item.index} return(
</span> <li className="clearfix myslispan" key={key}>
<span className="column-2" style={{display:majorschoollist===undefined?"none":majorschoollist.show_name===false?"none":'inline-block'}}>{item.student_name}</span> <div className="column-No column-2 relative">
<span className="column-2">{item.student_id}</span> <Checkbox
</li> className={'mr20 changestudents'}
) checked={item.istrue===true?true:false}
}) key={key}
} index={key}
onChange={this.onChangestudent} id={item.student_id}></Checkbox>
</ul> {item.index}
</div>
<div style={{width:'100%',position: 'relative'}}> <div className="column-2" >{item.name}</div>
{ <div className="column-2">{item.student_id}</div>
majorschoollist===undefined?"":majorschoollist.students===0||majorschoollist.total_student<51?"": <Pagination size="small" className={"pagelistStudentList mt30"} pageSize={20} showQuickJumper current={1} total={majorschoollist.students.length} onChange={this.showecStudentList} /> </li>
} )
</div> })
</div> }
</Spin>
</div> </ul>
</div>
<div style={{width:'100%',position: 'relative'}}>
</div> {
majorschoollist&&majorschoollist.students&&majorschoollist.students===0||majorschoollist&&majorschoollist.students&&majorschoollist.students.length<51?"": <Pagination size="small" className={"pagelistStudentList mt30"} pageSize={20} showQuickJumper current={1} total={majorschoollist&&majorschoollist.students&&majorschoollist.students.length} onChange={this.showecStudentList} />
}
</div>
</div>
</Spin>
</div>
</div>
</div>
) )
} }
} }
export default SnackbarHOC() (EcStudentList); export default SnackbarHOC() (EcStudentList);

Loading…
Cancel
Save