import React, { Component } from "react"; import style from "./index.less"; import possibleImg from "../../common/images/possible.png"; import doubtImg from "../../common/images/doubt.png"; import recommendImg from "../../common/images/recommend.png"; import tipsImg from "../../common/images/tips.png"; import vigilantImg from "../../common/images/vigilant.png"; import showImg from "../../common/images/show.png"; import hideImg from "../../common/images/close.png"; import DetailsModal from './DetailsModal'; import PushDiag from "./PushDiag"; import DiagnosticItem from "@containers/DiagnosticItem"; import store from "@store"; import { getWindowInnerHeight } from "@common/js/func"; import {addLabel} from '@store/actions/inspect'; import {addAssistLabel} from '@store/actions/assistCheck'; import {windowEventHandler} from '@utils/tools' class PushItems extends Component { constructor(props) { super(props); this.state = { moreAssay: false, moreCheck: false }; this.showMore = this.showMore.bind(this); this.closeMore = this.closeMore.bind(this); this.billing = this.billing.bind(this); this.changeAssay = this.changeAssay.bind(this); this.changeCheck = this.changeCheck.bind(this); this.showTips = this.showTips.bind(this); this.hideTips = this.hideTips.bind(this) this.$cont = React.createRef(); } showMore(type) { this.setState({ [type]: true }); } closeMore(type) { this.setState({ [type]: false }); } getCurrentDate(){ let myDate = new Date(); let year = myDate.getFullYear(); //获取完整的年份(4位,1970-????) let mon = myDate.getMonth()-0+1; //获取当前月份(0-11,0代表1月) let day = myDate.getDate(); //获取当前日(1-31) let date = year+'-'+(mon<10?'0'+mon:mon)+'-'+(day<10?'0'+day:day); return date; } billing() { const { assay, check } = this.props.pushMessage; const checkedAssay = assay.filter(item => item.checked); const checkedCheck = check.filter(item => item.checked); this.props.billing(checkedAssay, checkedCheck); // if(checkedAssay.length > 0 || checkedCheck.length > 0) { // const Height = $(".src-components-BodyContainer-2SgEx").height(); // const adviceHeight = $(".src-common-components-ItemBox-1Bpz3").height(); // const winHeight = window.innerHeight; // const scrollTop = Height; // $('#addScrollEvent').scrollTop(100000) // } let obj = { //添加化验 details: [], name: '', questionId: '', showType: 1, } let obj1 = { //添加辅检 name: '', questionId: '', showType: 1, time:this.getCurrentDate(), value:'' } if(checkedAssay.length > 0){ let assayArr = [],tmpDetail=[] for(let i = 0;i < checkedAssay.length;i++){ let tmpObj = JSON.parse(JSON.stringify(obj)); if (checkedAssay[i].controlType == 0) { tmpDetail = checkedAssay[i].questionMapping }else if(checkedAssay[i].controlType == 1 || checkedAssay[i].controlType == 6){ tmpDetail.push(checkedAssay[i]) } tmpObj.questionId = checkedAssay[i].id tmpObj.name = checkedAssay[i].name tmpObj.details = tmpDetail assayArr.push(tmpObj) } store.dispatch(addLabel(assayArr)) } if(checkedCheck.length > 0){ let checkArr = [] for(let i = 0;i < checkedCheck.length;i++){ let tmpObj = JSON.parse(JSON.stringify(obj1)); tmpObj.questionId = checkedCheck[i].id tmpObj.name = checkedCheck[i].name checkArr.push(tmpObj) } store.dispatch(addAssistLabel(checkArr)) } if(checkedAssay.length > 0){ document.getElementById("inspectResultData").scrollIntoView(true) }else{ if(checkedCheck.length > 0){ document.getElementById("assistResultData").scrollIntoView(true) }else{ return; } } } changeAssay(item) { this.props.changeAssay(item); } changeCheck(item) { this.props.changeCheck(item); } showTips(tips) { const { getTipsDetails, showTipsDetailsModal } = this.props; getTipsDetails && getTipsDetails(); showTipsDetailsModal && showTipsDetailsModal() } hideTips() { const { hideTipsDetailsModal } = this.props; hideTipsDetailsModal && hideTipsDetailsModal() } componentDidMount() { const height = getWindowInnerHeight() - 200; this.$cont.current.style.height = height + "px"; windowEventHandler('resize', ()=>{ const height = getWindowInnerHeight() - 200; this.$cont.current.style.height = height + "px"; }); } render() { const { vigilant, determine, doubt, possible, assay, check, tips, showTipsDetails, tipsDetails } = this.props.pushMessage; const { tipsDiscalimer } = this.props; const { moreAssay, moreCheck } = this.state; const { showMore, closeMore, billing, changeCheck, changeAssay, showAdd, showTips } = this; let assayNum = 0; let assayNum2 = 0; let assayHide = assay.map((item, index) => { assayNum = assayNum + item.name.length + 2; if (assayNum > 28) { assayNum2 = assayNum2 + item.name.length + 2; if(assayNum2 > 23) { return; } else { return ( changeAssay(item)} type="checkbox" checked={item.checked} /> ); } } else { return ( changeAssay(item)} type="checkbox" checked={item.checked} /> ); } }); const assays = assay.map(item => { return ( changeAssay(item)} type="checkbox" checked={item.checked} /> ); }); let checkNum = 0; let checkNum2 = 0; let checkHide = check.map((item, index) => { checkNum = checkNum + item.name.length + 2; if (checkNum > 28) { checkNum2 = checkNum2 + item.name.length + 2; if(checkNum2 > 23) { return; }else { return ( changeCheck(item)} type="checkbox" checked={item.checked} /> ); } } else { return ( changeCheck(item)} type="checkbox" checked={item.checked} /> ); } }); const checks = check.map(item => { return ( changeCheck(item)} type="checkbox" checked={item.checked} /> ); }); const vigilants = vigilant.map((item, index) => { return
; }); return (
{vigilant && vigilant.length > 0 && (
警惕
{vigilants}
)} {/* 不展示确诊 */} {/* {determine && determine.length>0 && } */} {doubt && doubt.length > 0 && ( )} {possible && possible.length > 0 && ( )}
{vigilant.length === 0 && determine.length === 0 && doubt.length === 0 && possible.length === 0 && (

疑似诊断

)}

推荐检验检查
开单

{assay.length === 0 && check.length === 0 ? ( ) : (
  • 化验:
    {assay.length === 0 ? : moreAssay ? assays : assayHide} {assayNum2 > 23 ? ( showMore("moreAssay")} > 更多 ) : ( "" )} closeMore("moreAssay")} > 收起
  • 检查:
    {check.length === 0 ? "无" : moreCheck ? checks : checkHide} {checkNum2 > 23 ? ( showMore("moreCheck")} > 更多 ) : ( "" )} closeMore("moreCheck")} > 收起
)}

提示信息

{tips && tips.introduceDetailList ? (
{tips.tagName} showTips(tips)} > 详情
{tips.introduceDetailList && tips.introduceDetailList.map((item, index) => { return ( item.position.indexOf("1") > -1 && (
{item.isReason === 1 && (
{tipsDiscalimer.data.data[0].description}
)}
) ); })}
) : ( "无" )}
{tipsDiscalimer.data &&
} {showTipsDetails && }
); } } export default PushItems;