import React, { Component } from "react"; import style from "./index.less"; import printImg from '@common/images/icon_print_blue.png'; import preview from '@common/images/preview.png'; import saveHistory from '@common/images/saveHistory.png'; import PrintPreviewContainer from '@containers/PrintPreviewContainer'; import PreviewContainer from '@containers/PreviewContainer'; import { ConfirmModal, Notify } from '@commonComp'; import {getAllDataList,getAllDataStringList} from '@utils/tools'; import store from '@store'; class Operation extends Component { constructor(props) { super(props) this.state = { title: '', okText: '', borderColor: '', okColor: '', oKBg: '', msg: '', type: '', zIndex:40 } this.showPrint = this.showPrint.bind(this); this.closePrint = this.closePrint.bind(this); this.showPreview = this.showPreview.bind(this); this.closePreview = this.closePreview.bind(this); this.saveAll = this.saveAll.bind(this); this.clearAll = this.clearAll.bind(this); this.saveHis = this.saveHis.bind(this); this.keypress = this.keypress.bind(this); } showPrint() { this.setState({ zIndex:240 }) this.props.showPrintPreview() } closePrint() { this.setState({ zIndex:40 }) this.props.closePrintPreview() } showPreview() { this.setState({ zIndex:240 }) this.props.showPreview() } closePreview() { this.setState({ zIndex:40 }) this.props.closePreview() } saveAll(type) { let flg = this.keepHistory(); if(flg){ this.setState({ type: type, okText: '保存', borderColor: '#3B9ED0', okColor: '#fff', oKBg: '#3B9ED0', msg:
是否保存该病历?
}) this.props.diagShowTmp(true) } } keepHistory(){ let baseList = store.getState(); let jsonStr = getAllDataStringList(baseList); if(JSON.parse(jsonStr.chief).length == 1 && JSON.parse(jsonStr.chief)[0].trim() ==''){ Notify.info('主诉不能为空'); return false; }else if(jsonStr.chief && JSON.parse(jsonStr.chief).length < 1){ Notify.info('主诉不能为空'); return false; }else if(!jsonStr.diag || jsonStr.diag.trim().length < 1){ Notify.info('诊断不能为空'); return false; }else{ return true; } } clearAll(type) { let flg = this.isClear(); if(flg){ this.setState({ type: type, okText: '清除', borderColor: 'red', okColor: 'red', oKBg: '#fff', msg:是否清空所有内容?
}) this.props.diagShowTmp(true) } } isClear(){ let baseList = store.getState(); let jsonData = getAllDataList(baseList); let jsonStr = getAllDataStringList(baseList); if ( //结构化和文本数据都为空 JSON.stringify(jsonData.advice) == '{}' && jsonData.chief.length < 1 && jsonData.diag.length < 1 && jsonData.vital.length < 1 && jsonData.other.length < 1 && jsonData.pacs.length < 1 && jsonData.present.length < 1 && jsonData.lis.labelList.length < 1 && jsonData.lis.getExcelDataList.length < 1 && JSON.stringify(jsonData.advice) == '{}' && jsonStr.chief == '[]' && jsonStr.present == '[]' && jsonStr.other == '[]' && jsonData.vital.length < 1 && jsonData.diag.length < 1 && jsonData.pacs.length < 1 && jsonData.lis.labelList.length < 1 && jsonData.lis.getExcelDataList.length < 1 ) { Notify.info('当前页面数据已清空'); return false; }else{ return true; } } onchange(val) { this.setState({ title: val }) } handleInput(e){ let val = e.target.value if(e.target.value.length > 30){ e.target.value = val.substring(0,30) this.onchange(val.substring(0,30)) }else{ this.onchange(e.target.value) } } keypress(event) { let e = event?event:window.event; if (e.keyCode == 13) { this.makeSure() } } saveHis(type) { const { diagShowTmp } = this.props; let flg = this.getAllData(); if(flg){ this.setState({ title: '', type: type, okText: '保存', borderColor: '#3B9ED0', okColor: '#fff', oKBg: '#3B9ED0', msg: this.changeTitle() }) diagShowTmp(true) } } getAllData(){ let baseList = store.getState(); let jsonData = getAllDataList(baseList); let jsonStr = getAllDataStringList(baseList); let whichSign = baseList.typeConfig.typeConfig; let tmpLis = baseList.tabTemplate.items; for(let i = 0;i