index.jsx 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. import styles from './index.less'
  2. import small from '../img/small.png'
  3. import EmergencyPart from '../EmergencyPart'
  4. import ImgView from '../ImgView'
  5. import pic from '../img/pic.png'
  6. import pic1 from '../img/pic1.png'
  7. import pic2 from '../img/pic2.png'
  8. import pic3 from '../img/pic3.png'
  9. import pic4 from '../img/pic4.png'
  10. import pic5 from '../img/pic5.png'
  11. import $ from 'jquery'
  12. import { dragBox } from '@utils/drag';
  13. import close from '@common/images/icon_close.png';
  14. import {windowEventHandler} from '@utils/tools';
  15. let a = 0
  16. class EmergencyModal extends React.Component{
  17. constructor(props){
  18. super(props)
  19. this.state={
  20. show:false,
  21. imgShow:false,
  22. diseaseName:[
  23. '','心包积液','气胸','肺栓塞','急性冠脉综合征','主动脉夹层'
  24. ]
  25. }
  26. this.handleImgShow=this.handleImgShow.bind(this)
  27. }
  28. componentDidMount() {
  29. $(document).click((event) => {
  30. let modalTopR = document.getElementById("modalTopR")
  31. let nameLis = document.getElementById("nameLis")
  32. if (nameLis) {
  33. if (modalTopR != event.target && !nameLis.contains(event.target)) {
  34. this.setState({ show: false });
  35. }
  36. }
  37. });
  38. // const {windowHeight} = this.props;
  39. // windowEventHandler('resize', ()=>{
  40. // $("#preImg").css("height",(windowHeight-120)+'px')
  41. // });
  42. }
  43. handleSlideShow(){
  44. let flg = this.state.show
  45. this.setState({show:!flg})
  46. }
  47. setDataIdx(num,flg){
  48. this.setState({show:flg})
  49. this.props.setDataIdx(num)
  50. }
  51. handleImgShow(flg){
  52. this.setState({imgShow:flg},()=>{
  53. if(flg){
  54. dragBox('dragModalWrap','dragModalTitle','add',false,true)
  55. }else{
  56. dragBox('dragModalWrap','dragModalTitle','del',false,false)
  57. }
  58. })
  59. }
  60. render(){
  61. const {data,handleShow,setDataIdx,idx,show} = this.props;
  62. return <div className={styles.emergencyProdure} style={{display:show?'block':'none'}}>
  63. <div className={`${styles.modalTop} clearfix`}>
  64. <div className={styles.modalTopL}>
  65. <img className={styles.imgs} onClick={()=>handleShow(false)} src={small} alt=""/>
  66. <p className="ellipsOver">{data.emergencyname}</p>
  67. {
  68. idx == 0?null:<img className={styles.imgs} src={pic} onClick={()=>{this.handleImgShow(true)}} alt=""/>
  69. }
  70. {
  71. this.state.imgShow?<ImgView name={data.emergencyname} idx={idx} handleImgShow={this.handleImgShow}></ImgView>:null
  72. }
  73. </div>
  74. <div className={styles.modalTopR} onClick={()=>{this.handleSlideShow()}} id="modalTopR">其他危重症状</div>
  75. {
  76. this.state.show?<ul className={styles.nameLis} id="nameLis">
  77. <i></i>
  78. {
  79. this.state.diseaseName.map((item,index)=>{
  80. return <li className={idx == index?styles.selectColor:null} style={{display:item?'inline-block':'none'}} onClick={()=>{this.setDataIdx(index,false)}}>
  81. {item}
  82. </li>
  83. })
  84. }
  85. </ul>:null
  86. }
  87. </div>
  88. <div className={styles.modalMain}>
  89. <div className={styles.part}>
  90. <EmergencyPart idx={idx} setDataIdx={setDataIdx} data={data}></EmergencyPart>
  91. </div>
  92. </div>
  93. </div>
  94. }
  95. }
  96. export default EmergencyModal;