index.jsx 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. import React, { Component } from "react";
  2. import styles from "./index.less";
  3. import { normalVal,timestampToTime } from '@utils/tools';
  4. import slideUp from "@common/images/slide-up.png";
  5. import slideDown from "@common/images/slide-down.png";
  6. class SlideExcel extends Component {
  7. constructor(props) {
  8. super(props);
  9. this.state = {
  10. show:false
  11. };
  12. this.toTime = this.toTime.bind(this)
  13. this.handleSlide = this.handleSlide.bind(this)
  14. }
  15. toTime(time){
  16. let tmpTim = time.split(',').join('')-0
  17. if(time && tmpTim.toString() != 'NaN'){
  18. let date = new Date('1900-01-01');
  19. let dateTim = date.getTime();
  20. let times = (tmpTim-2)*24*60*60*1000;
  21. let result = timestampToTime(dateTim+times).split(' ')[0]
  22. return result;
  23. }else{
  24. return time;
  25. }
  26. }
  27. handleSlide(){
  28. let tmpShow = this.state.show
  29. this.setState({
  30. show:!tmpShow
  31. })
  32. }
  33. render() {
  34. const {items,item,idx,dateTime,getInfomation} = this.props;
  35. const {show} = this.state;
  36. return (
  37. <li className={styles.excelDataLis} style={{border:items.lisExcelRes.length-1 == idx? 0:''}}>
  38. <span className={styles.excelDataTitle}>
  39. <span className={styles.tagSpan}>
  40. {item.menus}
  41. <span className={styles.imgInfo} onClick={()=>getInfomation('',item.lisExcelItem[0].uniquemealName || '','excel')}></span>
  42. </span>
  43. </span>
  44. <table className={styles.table}>
  45. { show ? (item.lisExcelItem && item.lisExcelItem.map((value,idx)=>{
  46. return <tr>
  47. <td style={{width:'30%'}}>
  48. <span className={styles.tagSpan}>
  49. {value.itemName}
  50. <span className={styles.imgInfo} onClick={()=>getInfomation('',value.uniqueName || '','excel')}></span>
  51. </span>
  52. </td>
  53. <td style={{width:'20%'}}><span className={value.type == 1?'red':null}>{value.value}</span> {value.unit}</td>
  54. <td style={{width:'25%'}}>
  55. {normalVal(value.min,value.max)}
  56. </td>
  57. <td style={{width:'25%'}}>{value.time == ''?('导入时间: '+dateTime):'化验时间: '+this.toTime(value.time)}</td>
  58. </tr>
  59. })):(item.lisExcelItem && item.lisExcelItem.map((value,idx)=>{
  60. if(idx < 4){
  61. return <tr>
  62. <td style={{width:'30%'}}>
  63. <span className={styles.tagSpan}>
  64. {value.itemName}
  65. <span className={styles.imgInfo} onClick={()=>getInfomation('',value.uniqueName || '','excel')}></span>
  66. </span>
  67. </td>
  68. <td style={{width:'20%'}}><span className={value.type == 1?'red':null}>{value.value}</span> {value.unit}</td>
  69. <td style={{width:'25%'}}>
  70. {normalVal(value.min,value.max)}
  71. </td>
  72. <td style={{width:'25%'}}>{value.time == ''?('导入时间: '+dateTime):'化验时间: '+this.toTime(value.time)}</td>
  73. </tr>
  74. }
  75. }))
  76. }
  77. </table>
  78. {
  79. item.lisExcelItem && item.lisExcelItem.length > 5 ?
  80. <div className={styles.slides} onClick={this.handleSlide}>
  81. {
  82. show ? <span>收起</span> :<span>剩余<span className={styles.num}>{item.lisExcelItem.length-4}</span>项</span>
  83. }
  84. <img src={show ?slideUp:slideDown} alt=""/>
  85. </div>:null
  86. }
  87. </li>
  88. );
  89. }
  90. }
  91. export default SlideExcel;