index.jsx 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. import React, { Component } from "react";
  2. import style from "./index.less";
  3. import ReactDom from "react-dom";
  4. import close from '@images/icon_close.png';
  5. import sopen from '@images/btn-open.png';
  6. import sclose from '@images/btn-closed.png';
  7. import radio_off from '@images/icon-radio-default.png';
  8. import radio_on from '@images/icon-radio-active.png';
  9. class ModeChange extends Component {
  10. constructor(props){
  11. super(props);
  12. this.getStyle=this.getStyle.bind(this);
  13. }
  14. getStyle(flag){
  15. const {hideBtn,config0} = this.props;
  16. if(flag===1&&config0!==0){
  17. return style['fade'];
  18. }
  19. return hideBtn?'':style['fade'];
  20. }
  21. render(){
  22. const {closeConfigModal, changeType, confirmType, config0,config1,config2,config3,config4,hideBtn} = this.props;
  23. const domNode = document.getElementById('root');
  24. const isOpen = config0===0;
  25. const general = +config1!==1;
  26. const ohis = +config2!==1;
  27. const fontsize = +config3!==1;
  28. const color = +config4!==1;
  29. return ReactDom.createPortal(<React.Fragment>
  30. <div className={style['modal']}>
  31. <div className={style['shade']} onClick={closeConfigModal}></div>
  32. <div className={style['content']}>
  33. <div className={style['close']}>设置<img src={close} onClick={closeConfigModal} /></div>
  34. <div className="scroller">
  35. <div className={style["oper"]}>
  36. <p className={this.getStyle()}>
  37. <span>选择模式:</span>
  38. <a className={style['switch']} href="javascript:void(0)" onClick={hideBtn?()=>changeType('config0',0):null}>
  39. <img src={config0===0?radio_on:radio_off} alt=""/>
  40. 智能模板推送
  41. </a>
  42. <a className={style['switch']} href="javascript:void(0)" onClick={hideBtn?()=>changeType('config0',1):null}>
  43. <img src={config0===1?radio_on:radio_off} alt=""/>
  44. 非智能模板推送
  45. </a>
  46. <a className={style['switch']} href="javascript:void(0)" onClick={hideBtn?()=>changeType('config0',2):null}>
  47. <img src={config0===2?radio_on:radio_off} alt=""/>
  48. 自由文本输入
  49. </a>
  50. </p>
  51. <p className={this.getStyle(1)}>
  52. <span>开启一般情况默认值:</span>
  53. <a className={style['switch']} href="javascript:void(0)" onClick={hideBtn&&isOpen?()=>changeType('config1',general?1:0):null}>
  54. <img src={general?sclose:sopen} alt=""/>
  55. {general?'关':'开'}
  56. </a>
  57. </p>
  58. <p className={this.getStyle(1)+" "+style['big-marb']}>
  59. <span>开启其他史默认值:</span>
  60. <a className={style['switch']} href="javascript:void(0)" onClick={hideBtn&&isOpen?()=>changeType('config2',ohis?1:0):null}>
  61. <img src={ohis?sclose:sopen} alt=""/>
  62. {ohis?'关':'开'}
  63. </a>
  64. </p>
  65. <p className={this.getStyle()}>
  66. <span>默认字体大小:</span>
  67. <a className={style['switch']} href="javascript:void(0)" onClick={hideBtn?()=>changeType('config3',0):null}>
  68. <img src={fontsize?radio_on:radio_off} alt=""/>
  69. 标准
  70. </a>
  71. <a className={style['switch']} href="javascript:void(0)" onClick={hideBtn?()=>changeType('config3',1):null}>
  72. <img src={fontsize?radio_off:radio_on} alt=""/>
  73. 增大
  74. </a>
  75. </p>
  76. <p className={this.getStyle()}>
  77. <span>默认字体颜色:</span>
  78. <a className={style['switch']} href="javascript:void(0)" onClick={hideBtn?()=>changeType('config4',0):null}>
  79. <img src={color?radio_on:radio_off} alt=""/>
  80. 标准
  81. </a>
  82. <a className={style['switch']} href="javascript:void(0)" onClick={hideBtn?()=>changeType('config4',1):null}>
  83. <img src={color?radio_off:radio_on} alt=""/>
  84. 增黑
  85. </a>
  86. </p>
  87. </div>
  88. <div className={style["explain"]}>
  89. <p>说明:</p>
  90. <p>1、智能推送模式只针对问诊模块中的“主诉”、“现病史”、“其他史”展示科室模版功能;</p>
  91. <p>2、慢病模式下,该模版智能推送的设置功能不可用;</p>
  92. <p>3、一般情况默认值:神清、精神可、胃纳可、睡眠可、二遍无殊、体重无明显减轻;</p>
  93. <p>4、其他史默认值:既往史无殊、过敏史无殊、个人史无殊;</p>
  94. <p>5、病历书写模块,字体大小标准为14px,增大为18px;</p>
  95. <p>6、病历书写模块,字体颜色标准为灰黑色,增黑为全黑色;</p>
  96. </div>
  97. </div>
  98. {hideBtn?<div className={style['btn']} onClick={confirmType}><button>保存修改</button></div>:<div className={style['btn']} onClick={closeConfigModal}><button>&nbsp;&nbsp;关闭&nbsp;&nbsp;</button></div>}
  99. </div>
  100. </div>
  101. </React.Fragment>,domNode)
  102. }
  103. }
  104. export default ModeChange;