index.jsx 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. import React, { Component } from "react";
  2. import style from "./index.less";
  3. import logo from "../../common/images/logoa.png";
  4. import setup from "../../common/images/setup.png";
  5. import close from '../../common/images/icon_close.png';
  6. import ok from '../../common/images/confirm.png'
  7. import {Notify} from '@commonComp';
  8. class Banner extends Component {
  9. constructor(props){
  10. super(props)
  11. this.state = {
  12. mode: props.typeConfig,
  13. zIndex:40
  14. };
  15. this.showConfigModal = this.showConfigModal.bind(this);
  16. this.closeConfigModal = this.closeConfigModal.bind(this);
  17. this.changeType = this.changeType.bind(this);
  18. this.confirmType = this.confirmType.bind(this);
  19. }
  20. showConfigModal(){
  21. this.setState({
  22. mode:this.props.typeConfig,
  23. zIndex:202
  24. });
  25. this.props.showConfigModal()
  26. }
  27. closeConfigModal(){
  28. this.props.closeConfigModal();
  29. this.setState({
  30. zIndex:40
  31. })
  32. }
  33. changeType(typeConfig){
  34. this.setState({
  35. mode:typeConfig
  36. });
  37. }
  38. confirmType(){
  39. const {typeConfig,confirmType} = this.props;
  40. const mode = this.state.mode;
  41. if(mode==typeConfig){
  42. this.closeConfigModal()
  43. return;
  44. }
  45. confirmType&&confirmType(mode);
  46. this.closeConfigModal()
  47. this.setState({
  48. zIndex:40
  49. })
  50. }
  51. /*componentDidUpdate(){
  52. const {failed} = this.props;
  53. if(failed){
  54. //弹窗提醒
  55. Notify.error("模式切换失败,请稍后再试");
  56. }
  57. }*/
  58. render() {
  59. const {visible} = this.props;
  60. const {mode,zIndex} = this.state;
  61. const {showConfigModal, closeConfigModal, changeType, confirmType} = this;
  62. return (
  63. <div className={style["logo"]} style={{zIndex:zIndex}}>
  64. <img src={logo} />
  65. <span>|&nbsp;&nbsp;智能辅助临床决策系统</span>
  66. <div className={style["buon"]} onClick={showConfigModal}>
  67. <img className={style["st"]} src={setup} />
  68. 设置
  69. </div>
  70. {visible?<div className={style['modal']}>
  71. <div className={style['shade']}></div>
  72. <div className={style['content']}>
  73. <div className={style['close']}>设置<img src={close} onClick={closeConfigModal} /></div>
  74. <p className={style['title']}>模式切换<i>(模式说明:切换模式会清空当前所有的数据)</i></p>
  75. <ul>
  76. <li className={+mode===0?style['selected']:''} onClick={() => changeType(0)}><img src={ok} />智能推送模式</li>
  77. <li className={+mode===1?style['selected']:''} onClick={() => changeType(1)}><img src={ok} />纯文本模式</li>
  78. </ul>
  79. <div className={style['btn']} onClick={confirmType}>确认</div>
  80. </div>
  81. </div>:''}
  82. </div>
  83. );
  84. }
  85. }
  86. export default Banner;