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 { changeVisible } from '@store/actions/tabTemplate'; import {getAllDataList,getAllDataStringList} from '@utils/tools'; import { initItemList } from '@store/async-actions/tabTemplate'; import store from '@store'; class Operation extends Component { constructor(props) { super(props) this.state = { title: '', visible: false, 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, visible: true, okText: '保存', borderColor: '#3B9ED0', okColor: '#fff', oKBg: '#3B9ED0', msg:
是否保存该病历?
}) } } 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, visible: true, okText: '清除', borderColor: 'red', okColor: 'red', oKBg: '#fff', msg:是否清空所有内容?
}) } } 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 }) } keypress(e) { if (e.keyCode == 13) { this.makeSure() store.dispatch(changeVisible(false)) } } saveHis(type) { let baseList = store.getState(); if(baseList.tabTemplate.items.length == 0){ store.dispatch(initItemList()); //获取模板列表 } let flg = this.getAllData(); if(flg){ this.setState({ visible: true, title: '', type: type, okText: '保存', borderColor: '#3B9ED0', okColor: '#fff', oKBg: '#3B9ED0', msg: this.changeTitle() }) } } getAllData(){ let baseList = store.getState(); let jsonData = getAllDataList(baseList); let jsonStr = getAllDataStringList(baseList); let whichSign = baseList.typeConfig.typeConfig; let tmpLis = baseList.tabTemplate.items; if (whichSign == 0) { for(let i = 0;i