index.jsx 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. import React, { Component } from 'react';
  2. import style from './index.less';
  3. import close from './img/close.png'
  4. import search from './img/search.png'
  5. import DiagnosticItem from '@containers/DiagnosticItem'
  6. import { SearchOption} from '@commonComp';
  7. import config from '@config/index';
  8. import $ from 'jquery';
  9. class DiagResultSearch extends Component {
  10. constructor(props) {
  11. super(props);
  12. this.state = {
  13. };
  14. this.getSearchList = this.getSearchList.bind(this)
  15. }
  16. componentWillReceiveProps(nextProps){
  17. }
  18. componentDidMount () {
  19. const that = this
  20. $(document).click(function (e) {
  21. var diagSearch=$('#diagSearch')[0];
  22. var addDiag = $('#addDiag')[0];
  23. var confirm = $('#confirm')[0];
  24. if(diagSearch) {
  25. if(confirm) {
  26. } else {
  27. if (e.target!= diagSearch && e.target!= addDiag && e.target.parentNode!= addDiag && !$.contains(diagSearch, e.target) ) {
  28. that.props.hideSearch();
  29. }
  30. }
  31. }
  32. })
  33. }
  34. getSearchList(searchResult) {
  35. return <div className={style['search-result']}>
  36. {
  37. searchResult && searchResult.map((item) => {
  38. return(<div key={item.id} className={style['search-result-item']}><DiagnosticItem title={true} item={item} clearInput={this.clearInput}/></div>)
  39. })
  40. }
  41. </div>
  42. }
  43. render(){
  44. const { show, searchResult, getSearchResult, handleChangeValue } = this.props
  45. return(
  46. show&&<div id='diagSearch' className={style['search-box']}>
  47. <SearchOption handleChangeValue={handleChangeValue} visible={true}>
  48. {this.getSearchList(searchResult)}
  49. </SearchOption>
  50. </div>
  51. )
  52. }
  53. }
  54. export default DiagResultSearch;