ClassSchedule.js 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. /**
  2. * Created by FANGlh on 2018/11/12 15:34.
  3. */
  4. import React,{Component} from 'react';
  5. import './ClassSchedule.css';
  6. import line_img from '../../../style/imgs/line_img.png';
  7. import {fetchPost,fetchGet,fetchGetNoSession} from '../../../utils/fetchRequest';
  8. import {API} from '../../../configs/api.config';
  9. import {Toast} from 'antd-mobile';
  10. import moment from 'moment'
  11. import {connect} from 'react-redux';
  12. import hi0_img from '../../../style/imgs/ic_head1.png';
  13. function HSItem(props) {
  14. return(
  15. <div style={{marginTop:0,marginLeft:10}}>
  16. <img src={line_img} alt="" style={{width:2,height:25,marginLeft:12}}/>
  17. <div className="sch_hang_sty">
  18. <div className="green_point"></div>
  19. <div className="sch_time_sty">{moment(props.itemdata.curStartTime).format('HH:mm')}–{moment(props.itemdata.curEndTime).format('HH:mm')}</div>
  20. <div className="sch_class_sty">{props.itemdata.curName}</div>
  21. <img className="teach_img" src={props.itemdata.userPhoto==""||props.itemdata.userPhoto==null ? hi0_img : props.itemdata.userPhoto}alt=""/>
  22. <div className="sch_teacher_sty">{props.itemdata.userName}</div>
  23. </div>
  24. {/*<img src={line_img} alt="" style={{width:2,height:15,marginLeft:12}}/>*/}
  25. </div>
  26. )
  27. }
  28. class ClassSchedule extends Component{
  29. constructor(){
  30. super();
  31. this.state = {
  32. curDay:new Date().getDay(),
  33. classData:{
  34. monday:[],
  35. tuesday:[],
  36. wednesday:[],
  37. thursday:[],
  38. friday:[],
  39. saturday:[],
  40. sunday:[]
  41. },
  42. curDayData:[],
  43. Class_SchData:[1,2,3,4],
  44. CurDay:2
  45. }
  46. }
  47. render(){
  48. return(
  49. <div>
  50. <div className="header_days_sty">
  51. <div onClick={this.selectDayClick.bind(this,1)} className={this.state.CurDay == 1 ? "isday_click" : 'each_day_default'} >一</div>
  52. <div onClick={this.selectDayClick.bind(this,2)} className={this.state.CurDay == 2 ? "isday_click" : 'each_day_default'}>二</div>
  53. <div onClick={this.selectDayClick.bind(this,3)} className={this.state.CurDay == 3 ? "isday_click" : 'each_day_default'}>三</div>
  54. <div onClick={this.selectDayClick.bind(this,4)} className={this.state.CurDay == 4 ? "isday_click" : 'each_day_default'}>四</div>
  55. <div onClick={this.selectDayClick.bind(this,5)} className={this.state.CurDay == 5 ? "isday_click" : 'each_day_default'}>五</div>
  56. </div>
  57. <div className="comhline_sty"></div>
  58. {/*<div style={{fontSize:14,color:"#333333",margin:20}}>11月12日,<span style={{fontSize:12}}>2018年</span></div>*/}
  59. <div className="scheedule_sty1">
  60. {/*<div style={{color:"#333333",fontSize:14,marginBottom:10,marginTop:10}}>上午</div>*/}
  61. <p>{this.state.curWeek}</p>
  62. <div className="comhline_sty1" style={{marginBottom:10}}></div>
  63. <div>
  64. {this.state.curDayData.map((itemdata,index) => <HSItem key ={index} itemdata = {itemdata} handelSItem={this.handelSItem}></HSItem>)}
  65. </div>
  66. </div>
  67. <div className="comhline_sty"></div>
  68. {/*<div className="scheedule_sty1">*/}
  69. {/*<div style={{color:"#333333",fontSize:14,marginBottom:10,marginTop:10}}>下午</div>*/}
  70. {/*<div className="comhline_sty1" style={{marginBottom:10}}></div>*/}
  71. {/*<div>*/}
  72. {/*{this.state.Class_SchData.map((itemata,index) => <HSItem key ={index} itemata = {itemata} handelSItem={this.handelSItem}></HSItem>)}*/}
  73. {/*</div>*/}
  74. {/*</div>*/}
  75. </div>
  76. )
  77. }
  78. selectDayClick = (value)=>{
  79. console.log("value",value)
  80. var Cdata = null
  81. if(value == 1){
  82. Cdata = this.state.classData.monday
  83. }else if(value == 2){
  84. Cdata = this.state.classData.tuesday
  85. }else if(value == 3){
  86. Cdata = this.state.classData.wednesday
  87. }else if(value == 4){
  88. Cdata = this.state.classData.thursday
  89. }else if(value == 5){
  90. Cdata = this.state.classData.friday
  91. }
  92. this.setState({
  93. CurDay:value,
  94. curDayData:Cdata
  95. },function (){
  96. console.log("curDayData",this.state.curDayData)
  97. })
  98. }
  99. componentWillMount() {
  100. document.title = '课表查询'
  101. }
  102. componentDidMount() {
  103. fetchGet(API.curriculumListByStuId,{
  104. // stuId:this.props.userInfo.stuId,
  105. stuId:10003,
  106. curStatus:1
  107. },{}).then((response)=>{
  108. if(response.success && response.data){
  109. this.setState({
  110. classData:response.data
  111. })
  112. this.selectDayClick(this.state.curDay)
  113. }
  114. }).catch((error) =>{
  115. console.log('error',error)
  116. if (typeof error === 'string') {
  117. Toast.fail(error, 2)
  118. } else {
  119. Toast.fail('请求异常', 2)
  120. }
  121. })
  122. }
  123. }
  124. let mapStateToProps = (state) => ({
  125. userInfo: {...state.redUserInfo}
  126. })
  127. let mapDispatchToProps = (dispatch) => ({})
  128. export default connect(mapStateToProps, mapDispatchToProps)(ClassSchedule)