MeetingSignItem.jsx 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. /**
  2. * Created by RaoMeng on 2018/11/7
  3. * Desc: 会议签到item
  4. */
  5. import React, {Component} from 'react'
  6. import MeetingBean from "../model/MeetingBean";
  7. import {Modal} from 'antd-mobile'
  8. import 'css/meeting.css'
  9. const {alert} = Modal
  10. export default class MeetingSignItem extends Component {
  11. constructor() {
  12. super()
  13. this.state = {
  14. meetingBean: new MeetingBean()
  15. }
  16. }
  17. componentDidMount() {
  18. this.setState({
  19. meetingBean: this.props.meetingBean
  20. })
  21. }
  22. render() {
  23. const {meetingBean} = this.state
  24. return (
  25. <div className='meet-signItemLayout' onClick={this.onItemClick}>
  26. <div className='signCreateTime'>{meetingBean.createTime}</div>
  27. <div className='signContentlayout'>
  28. <div className='titleLayout'>
  29. <div className='titleText'>{meetingBean.title}</div>
  30. <div className={meetingBean.meetStatusCode === 3 ? 'meetStatusRed' : 'meetStatusGray'}>
  31. {meetingBean.meetStatus}
  32. </div>
  33. </div>
  34. <div className='contentItem'>
  35. <div className='captionText'>时间:</div>
  36. <div className='valueText'>{meetingBean.startTime + ' 到 ' + meetingBean.endTime}</div>
  37. </div>
  38. <div className='contentItem'>
  39. <div className='captionText'>地址:</div>
  40. <div className='valueText'>{meetingBean.address}</div>
  41. </div>
  42. <div className='contentItem'>
  43. <div className='captionText'>发起人:</div>
  44. <div className='valueText'>{meetingBean.sponsor}</div>
  45. </div>
  46. <div className='bottomLayout'>
  47. <span className={meetingBean.signStatusCode === 3
  48. ? 'signBtnEnable' : 'signBtnActive'}
  49. onClick={this.onMeetingSign}>
  50. {meetingBean.signStatus}
  51. </span>
  52. </div>
  53. </div>
  54. </div>
  55. )
  56. }
  57. onMeetingSign = (e) => {
  58. e.stopPropagation();
  59. const {meetingBean} = this.state
  60. if (meetingBean.signStatusCode != 3) {
  61. alert('提示', '确定对该会议签到吗?', [
  62. {
  63. text: '取消', onPress: () => {
  64. }
  65. },
  66. {
  67. text: '确定', onPress: () => {
  68. this.props.onMeetingSign(this.props.index)
  69. }
  70. }
  71. ])
  72. }
  73. }
  74. onItemClick = () => {
  75. this.props.onItemClick(this.props.index)
  76. }
  77. }