1178232204@qq.com %!s(int64=3) %!d(string=hai) anos
pai
achega
c18c22f008
Modificáronse 1 ficheiros con 348 adicións e 338 borrados
  1. 348 338
      src/components/AnalysisResult/index.jsx

+ 348 - 338
src/components/AnalysisResult/index.jsx

@@ -1,346 +1,356 @@
-import React,{Component} from 'react';
+import React, { Component } from 'react';
 import styles from './index.less';
 import ReactDom from "react-dom";
 import close from "@common/images/icon_cancel.png";
 
 class AnalysisResult extends Component {
-  constructor(props) {
-	super(props);
-  }
-  render(){
-    const {show,onClose,data} = this.props;
-    const {chiefLabel,presentLabel,pastLabel,vitalLabel,lis,lisOrder,pacs,pacsOrder,pacsLabel,
-	  diag,operation,operationOrder,transfusion,transfusionOrder,drug,drugOrder} = data;
-    const chiefClinicals = (chiefLabel||{}).clinicals||[];
-	const chiefDiags = (chiefLabel||{}).diags||[];
-	const presentDiags = (presentLabel||{}).diags||[];
-	const presentOperations = (presentLabel||{}).operations||[];
-	const presentMedicines = (presentLabel||{}).medicines||[];
-	const clinicals=(presentLabel||{}).clinicals||[];
-	const {medicines,diags,allergyMedicines,operations}=pastLabel||{};
-      const vitalClinicals=(vitalLabel||{}).clinicals||[];
-      const vitals=(vitalLabel||{}).vitals||[];
-	const {res,pacsNumList}=pacsLabel||{};
-	const domNode = document.getElementById('root');
-	return ReactDom.createPortal(
-		show?<React.Fragment>
-		  {/*<div className={styles.maskCover} onClick={this.showHistoryBox}></div>*/}
-		  <div className={styles.contentBox}>
-			<h2>CRF解析结果</h2>
-			<img className={styles.close} src={close} alt="" onClick={()=>onClose(false)}/>
-			<div className={styles.content}>
-			<div className="tableItem">
-			  <p className={styles.title}>基础信息/主诉/现病史/既往史</p>
-			  <table>
-				<tr>
-				  <th>来源</th>
-				  <th>类型</th>
-				  <th>原词</th>
-				  <th>转化为标准词</th>
-				  <th>否定属性</th>
-				</tr>
-				<tr>
-				  <td>基础信息</td>
-				  <td>年龄</td>
-				  <td>{data.age}</td>
-				  <td>{data.ageNum}</td>
-				  <td>{data.negative}</td>
-				</tr>
-				{chiefClinicals.map((item)=>{
-				  return <tr>
-					<td>主诉</td>
-					<td>临床表现</td>
-					<td>{item.name}</td>
-					<td>{item.standName}</td>
-					<td>{(item.negative||{}).name}</td>
-				  </tr>;
-				})}
-				{chiefDiags.map((item)=>{
-				  return <tr>
-					<td>主诉</td>
-					<td>诊断</td>
-					<td>{item.name}</td>
-					<td>{item.standName}</td>
-					<td>{(item.negative||{}).name}</td>
-				  </tr>;
-				})}
-				{clinicals.map((item)=>{
-				  return <tr>
-					<td>现病史</td>
-					<td>临床表现</td>
-					<td>{item.name}</td>
-					<td>{item.standName}</td>
-					<td>{(item.negative||{}).name}</td>
-				  </tr>;
-				})}
-				{presentDiags.map((item)=>{
-				  return <tr>
-					<td>现病史</td>
-					<td>诊断</td>
-					<td>{item.name}</td>
-					<td>{item.standName}</td>
-					<td>{(item.negative||{}).name}</td>
-				  </tr>;
-				})}
-				{presentOperations.map((item)=>{
-				  return <tr>
-					<td>现病史</td>
-					<td>手术</td>
-					<td>{item.name}</td>
-					<td>{item.standName}</td>
-					<td>{(item.negative||{}).name}</td>
-				  </tr>;
-				})}
-				{presentMedicines.map((item)=>{
-				  return <tr>
-					<td>现病史</td>
-					<td>药品</td>
-					<td>{item.name}</td>
-					<td>{item.standName}</td>
-					<td>{(item.negative||{}).name}</td>
-				  </tr>;
-				})}
-                {(medicines||[]).map((item)=>{
-                    return <tr>
-                        <td>既往史</td>
-					  <td>药品</td>
-                        <td>{item.name}</td>
-                        <td>{item.standName}</td>
-                        <td>{(item.negative||{}).name}</td>
-                    </tr>;
-                })}
-                  {(diags||[]).map((item)=>{
-                      return <tr>
-                          <td>既往史</td>
-						<td>诊断</td>
-                          <td>{item.name}</td>
-                          <td>{item.standName}</td>
-                          <td>{(item.negative||{}).name}</td>
-                      </tr>;
-                  })}
-                  {(allergyMedicines||[]).map((item)=>{
-                      return <tr>
-                          <td>既往史</td>
-						<td>过敏药品</td>
-                          <td>{item.name}</td>
-                          <td>{item.standName}</td>
-                          <td>{(item.negative||{}).name}</td>
-                      </tr>;
-                  })}
-                  {(operations||[]).map((item)=>{
-                      return <tr>
-                          <td>既往史</td>
-						<td>手术</td>
-                          <td>{item.name}</td>
-                          <td>{item.standName}</td>
-                          <td>{(item.negative||{}).name}</td>
-                      </tr>;
-                  })}
-			  </table>
-			</div>
-			<div className="tableItem">
-			  <p className={styles.title}>查体</p>
-			  <table>
-				<tr>
-				  <th>原词</th>
-				  <th>转化为标准词</th>
-				  <th>值</th>
-				  <th>单位</th>
-				  <th>否定属性</th>
-				</tr>
-                  {[...vitalClinicals,...vitals].map((item)=>{
-                  	if((item.usualList||[]).length){
-                  		return (item.usualList||[]).map((it)=>{
-                            return <tr>
-                                <td>{it.name}</td>
-                                <td>{it.standName}</td>
-                                <td>{it.value}</td>
-                                <td>{(item.pd||{}).unit}</td>
-                                <td>{(item.negative||{}).name}</td>
-                            </tr>;
-						})
-					}
-                      return <tr>
-                          <td>{item.name}</td>
-                          <td>{item.standName}</td>
-                          <td>{(item.pd||{}).value}</td>
-                          <td>{(item.pd||{}).unit}</td>
-                          <td>{(item.negative||{}).name}</td>
-                      </tr>;
-                  })}
-			  </table>
-			</div>
-			<div className="tableItem">
-			  <p className={styles.title}>检验</p>
-			  <table>
-				<tr>
-				  <th>是否开单</th>
-				  <th>套餐名</th>
-				  <th>细项名</th>
-				  <th>转化为标准词</th>
-				  <th>值</th>
-				  <th>单位</th>
-				</tr>
-				{(lisOrder||[]).map((item)=>{
-				  return <tr>
-					<td>是</td>
-					<td>{item.name}</td>
-					<td>{item.detailName}</td>
-					<td>{item.uniqueName}</td>
-					<td>{item.value||item.otherValue}</td>
-					<td>{item.units}</td>
-				  </tr>;
-				})}
-                  {(lis||[]).map((item)=>{
-                      return <tr>
-                          <td>否</td>
-                          <td>{item.name}</td>
-                          <td>{item.detailName}</td>
-                          <td>{item.uniqueName}</td>
-                          <td>{item.value||item.otherValue}</td>
-                          <td>{item.units}</td>
-                      </tr>;
-                  })}
-			  </table>
-			</div>
-			<div className="tableItem">
-			  <p className={styles.title}>检查项目</p>
-			  <table>
-				<tr>
-				  <th>是否开单</th>
-				  <th>原词</th>
-				  <th>转化为标准词</th>
-				</tr>
-				{(pacsOrder||[]).map((item)=>{
-				  return <tr>
-					<td>是</td>
-					<td>{item.name}</td>
-					<td>{item.uniqueName}</td>
-				  </tr>;
-				})}
-                  {(pacs||[]).map((item)=>{
-                      return <tr>
-                          <td>否</td>
-                          <td>{item.name}</td>
-                          <td>{item.uniqueName}</td>
-                      </tr>;
-                  })}
-			  </table>
-			</div>
-			<div className="tableItem">
-			  <p className={styles.title}>检查结果</p>
-			  <table>
-				<tr>
-				  <th>原词</th>
-				  <th>转化为标准词</th>
-				  <th>值</th>
-				  <th>单位</th>
-				</tr>
-                  {[...(res||[]),...(pacsNumList||[])].map((item)=>{
-                      return <tr>
-                          <td>{item.name}</td>
-                          <td>{item.standName}</td>
-                          <td>{(item.pd||{}).value}</td>
-                          <td>{(item.pd||{}).unit}</td>
-                      </tr>;
-                  })}
-			  </table>
-			</div>
-			<div className="tableItem">
-			  <p className={styles.title}>西医诊断</p>
-			  <table>
-				<tr>
-				  <th>原词</th>
-				  <th>转化为标准词</th>
-				</tr>
-                  {(diag||[]).map((item)=>{
-                      return <tr>
-                          <td>{item.name}</td>
-                          <td>{item.uniqueName}</td>
-                      </tr>;
-                  })}
-			  </table>
-			</div>
-			<div className="tableItem">
-			  <p className={styles.title}>手术操作</p>
-			  <table>
-				<tr>
-				  <th>是否开单</th>
-				  <th>原词</th>
-				  <th>转化为标准词</th>
-				</tr>
-				{(operationOrder||[]).map((item)=>{
-				  return <tr>
-					<td>是</td>
-					<td>{item.name}</td>
-					<td>{item.uniqueName}</td>
-				  </tr>;
-				})}
-				{(operation||[]).map((item)=>{
-				  return <tr>
-					<td>否</td>
-					<td>{item.name}</td>
-					<td>{item.uniqueName}</td>
-				  </tr>;
-				})}
-			  </table>
-			</div>
-			<div className="tableItem">
-			  <p className={styles.title}>输血</p>
-			  <table>
-				<tr>
-				  <th>是否开单</th>
-				  <th>原词</th>
-				  <th>转化为标准词</th>
-				</tr>
-				{(transfusionOrder||[]).map((item)=>{
-				  return <tr>
-					<td>是</td>
-					<td>{item.name}</td>
-					<td>{item.uniqueName}</td>
-				  </tr>;
-				})}
-				{(transfusion||[]).map((item)=>{
-				  return <tr>
-					<td>否</td>
-					<td>{item.name}</td>
-					<td>{item.uniqueName}</td>
-				  </tr>;
-				})}
-			  </table>
-			</div>
-			<div className="tableItem">
-			  <p className={styles.title}>药品</p>
-			  <table>
-				<tr>
-				  <th>是否开单</th>
-				  <th>原词</th>
-				  <th>转化为标准词</th>
-				  <th>剂型</th>
-				</tr>
-				{(drugOrder||[]).map((item)=>{
-				  return <tr>
-					<td>是</td>
-					<td>{item.name}</td>
-					<td>{item.uniqueName}</td>
-					<td>{item.form}</td>
-				  </tr>;
-				})}
-				{(drug||[]).map((item)=>{
-				  return <tr>
-					<td>否</td>
-					<td>{item.name}</td>
-					<td>{item.uniqueName}</td>
-					<td>{item.form}</td>
-				  </tr>;
-				})}
-			  </table>
-			</div>
-			</div>
-		  </div>
-		</React.Fragment>:null
-		,domNode)
-  }
+	constructor(props) {
+		super(props);
+	}
+	render() {
+		const { show, onClose, data } = this.props;
+		const { chiefLabel, presentLabel, pastLabel, vitalLabel, lis, lisOrder, pacs, pacsOrder, pacsLabel,
+			diag, operation, operationOrder, transfusion, transfusionOrder, drug, drugOrder } = data;
+		const chiefClinicals = (chiefLabel || {}).clinicals || [];
+		const chiefDiags = (chiefLabel || {}).diags || [];
+		const presentDiags = (presentLabel || {}).diags || [];
+		const presentOperations = (presentLabel || {}).operations || [];
+		const presentMedicines = (presentLabel || {}).medicines || [];
+		const clinicals = (presentLabel || {}).clinicals || [];
+		const { medicines, diags, allergyMedicines, operations } = pastLabel || {};
+		const vitalClinicals = (vitalLabel || {}).clinicals || [];
+		const vitals = (vitalLabel || {}).vitals || [];
+		const { res, pacsNumList } = pacsLabel || {};
+		const domNode = document.getElementById('root');
+		console.log(chiefClinicals);
+		return ReactDom.createPortal(
+			show ? <React.Fragment>
+				{/*<div className={styles.maskCover} onClick={this.showHistoryBox}></div>*/}
+				<div className={styles.contentBox}>
+					<h2>CRF解析结果</h2>
+					<img className={styles.close} src={close} alt="" onClick={() => onClose(false)} />
+					<div className={styles.content}>
+						<div className="tableItem">
+							<p className={styles.title}>基础信息/主诉/现病史/既往史</p>
+							<table>
+								<tr>
+									<th>来源</th>
+									<th>类型</th>
+									<th>原词</th>
+									<th>转化为标准词</th>
+									<th>否定属性</th>
+								</tr>
+								<tr>
+									<td>基础信息</td>
+									<td>年龄</td>
+									<td>{data.age}</td>
+									<td>{data.ageNum}</td>
+									<td>{data.negative}</td>
+								</tr>
+
+								{chiefClinicals.map((item) => {
+									return <tr>
+										<td>主诉</td>
+										<td>临床表现</td>
+										<td>{item.name}</td>
+										<td>{item.standName}</td>
+										<td>{(item.negative || {}).name}</td>
+									</tr>;
+								})}
+								{chiefDiags.map((item) => {
+									return <tr>
+										<td>主诉</td>
+										<td>诊断</td>
+										<td>{item.name}</td>
+										<td>{item.standName}</td>
+										<td>{(item.negative || {}).name}</td>
+									</tr>;
+								})}
+								{clinicals.map((item) => {
+									return <tr>
+										<td>现病史</td>
+										<td>临床表现</td>
+										<td>{item.name}</td>
+										<td>{item.standName}</td>
+										<td>{(item.negative || {}).name}</td>
+									</tr>;
+								})}
+								{presentDiags.map((item) => {
+									return <tr>
+										<td>现病史</td>
+										<td>诊断</td>
+										<td>{item.name}</td>
+										<td>{item.standName}</td>
+										<td>{(item.negative || {}).name}</td>
+									</tr>;
+								})}
+								{presentOperations.map((item) => {
+									return <tr>
+										<td>现病史</td>
+										<td>手术</td>
+										<td>{item.name}</td>
+										<td>{item.standName}</td>
+										<td>{(item.negative || {}).name}</td>
+									</tr>;
+								})}
+								{presentMedicines.map((item) => {
+									return <tr>
+										<td>现病史</td>
+										<td>药品</td>
+										<td>{item.name}</td>
+										<td>{item.standName}</td>
+										<td>{(item.negative || {}).name}</td>
+									</tr>;
+								})}
+								{(medicines || []).map((item) => {
+									return <tr>
+										<td>既往史</td>
+										<td>药品</td>
+										<td>{item.name}</td>
+										<td>{item.standName}</td>
+										<td>{(item.negative || {}).name}</td>
+									</tr>;
+								})}
+								{(diags || []).map((item) => {
+									return <tr>
+										<td>既往史</td>
+										<td>诊断</td>
+										<td>{item.name}</td>
+										<td>{item.standName}</td>
+										<td>{(item.negative || {}).name}</td>
+									</tr>;
+								})}
+								{(allergyMedicines || []).map((item) => {
+									return <tr>
+										<td>既往史</td>
+										<td>过敏药品</td>
+										<td>{item.name}</td>
+										<td>{item.standName}</td>
+										<td>{(item.negative || {}).name}</td>
+									</tr>;
+								})}
+								{(operations || []).map((item) => {
+									return <tr>
+										<td>既往史</td>
+										<td>手术</td>
+										<td>{item.name}</td>
+										<td>{item.standName}</td>
+										<td>{(item.negative || {}).name}</td>
+									</tr>;
+								})}
+							</table>
+						</div>
+						{[...vitalClinicals, ...vitals].length > 0 ?
+							<div className="tableItem">
+								<p className={styles.title}>查体</p>
+								<table>
+									<tr>
+										<th>原词</th>
+										<th>转化为标准词</th>
+										<th>值</th>
+										<th>单位</th>
+										<th>否定属性</th>
+									</tr>
+									{[...vitalClinicals, ...vitals].map((item) => {
+										if ((item.usualList || []).length) {
+											return (item.usualList || []).map((it) => {
+												return <tr>
+													<td>{it.name}</td>
+													<td>{it.standName}</td>
+													<td>{it.value}</td>
+													<td>{(item.pd || {}).unit}</td>
+													<td>{(item.negative || {}).name}</td>
+												</tr>;
+											})
+										}
+										return <tr>
+											<td>{item.name}</td>
+											<td>{item.standName}</td>
+											<td>{(item.pd || {}).value}</td>
+											<td>{(item.pd || {}).unit}</td>
+											<td>{(item.negative || {}).name}</td>
+										</tr>;
+									})}
+								</table>
+							</div> : ''}
+						{(lisOrder || []).length > 0 || (lis || []).length > 0 ?
+							<div className="tableItem">
+								<p className={styles.title}>检验</p>
+								<table>
+									<tr>
+										<th>是否开单</th>
+										<th>套餐名</th>
+										<th>细项名</th>
+										<th>转化为标准词</th>
+										<th>值</th>
+										<th>单位</th>
+									</tr>
+									{(lisOrder || []).map((item) => {
+										return <tr>
+											<td>是</td>
+											<td>{item.name}</td>
+											<td>{item.detailName}</td>
+											<td>{item.uniqueName}</td>
+											<td>{item.value || item.otherValue}</td>
+											<td>{item.units}</td>
+										</tr>;
+									})}
+									{(lis || []).map((item) => {
+										return <tr>
+											<td>否</td>
+											<td>{item.name}</td>
+											<td>{item.detailName}</td>
+											<td>{item.uniqueName}</td>
+											<td>{item.value || item.otherValue}</td>
+											<td>{item.units}</td>
+										</tr>;
+									})}
+								</table>
+							</div> : ''}
+						{(pacsOrder || []).length > 0 || (pacs || []).length > 0 ?
+							<div className="tableItem">
+								<p className={styles.title}>检查项目</p>
+								<table>
+									<tr>
+										<th>是否开单</th>
+										<th>原词</th>
+										<th>转化为标准词</th>
+									</tr>
+									{(pacsOrder || []).map((item) => {
+										return <tr>
+											<td>是</td>
+											<td>{item.name}</td>
+											<td>{item.uniqueName}</td>
+										</tr>;
+									})}
+									{(pacs || []).map((item) => {
+										return <tr>
+											<td>否</td>
+											<td>{item.name}</td>
+											<td>{item.uniqueName}</td>
+										</tr>;
+									})}
+								</table>
+							</div> : ''}
+						{[...(res || []), ...(pacsNumList || [])].length > 0 ?
+							<div className="tableItem">
+								<p className={styles.title}>检查结果</p>
+								<table>
+									<tr>
+										<th>原词</th>
+										<th>转化为标准词</th>
+										<th>值</th>
+										<th>单位</th>
+									</tr>
+									{[...(res || []), ...(pacsNumList || [])].map((item) => {
+										return <tr>
+											<td>{item.name}</td>
+											<td>{item.standName}</td>
+											<td>{(item.pd || {}).value}</td>
+											<td>{(item.pd || {}).unit}</td>
+										</tr>;
+									})}
+								</table>
+							</div> : ''}
+						{(diag || []).length > 0 ?
+							<div className="tableItem">
+								<p className={styles.title}>西医诊断</p>
+								<table>
+									<tr>
+										<th>原词</th>
+										<th>转化为标准词</th>
+									</tr>
+									{(diag || []).map((item) => {
+										return <tr>
+											<td>{item.name}</td>
+											<td>{item.uniqueName}</td>
+										</tr>;
+									})}
+								</table>
+							</div> : ''}
+						{(operationOrder || []).length > 0 || (operation || []).length > 0 ?
+							<div className="tableItem">
+								<p className={styles.title}>手术操作</p>
+								<table>
+									<tr>
+										<th>是否开单</th>
+										<th>原词</th>
+										<th>转化为标准词</th>
+									</tr>
+									{(operationOrder || []).map((item) => {
+										return <tr>
+											<td>是</td>
+											<td>{item.name}</td>
+											<td>{item.uniqueName}</td>
+										</tr>;
+									})}
+									{(operation || []).map((item) => {
+										return <tr>
+											<td>否</td>
+											<td>{item.name}</td>
+											<td>{item.uniqueName}</td>
+										</tr>;
+									})}
+								</table>
+							</div> : ''}
+						{(transfusionOrder || []).length > 0 || (transfusion || []).length > 0 ?
+							<div className="tableItem">
+								<p className={styles.title}>输血</p>
+								<table>
+									<tr>
+										<th>是否开单</th>
+										<th>原词</th>
+										<th>转化为标准词</th>
+									</tr>
+									{(transfusionOrder || []).map((item) => {
+										return <tr>
+											<td>是</td>
+											<td>{item.name}</td>
+											<td>{item.uniqueName}</td>
+										</tr>;
+									})}
+									{(transfusion || []).map((item) => {
+										return <tr>
+											<td>否</td>
+											<td>{item.name}</td>
+											<td>{item.uniqueName}</td>
+										</tr>;
+									})}
+								</table>
+							</div> : ''}
+						{(drugOrder || []).length > 0 || (drug || []).length > 0 ?
+							<div className="tableItem">
+								<p className={styles.title}>药品</p>
+								<table>
+									<tr>
+										<th>是否开单</th>
+										<th>原词</th>
+										<th>转化为标准词</th>
+										<th>剂型</th>
+									</tr>
+									{(drugOrder || []).map((item) => {
+										return <tr>
+											<td>是</td>
+											<td>{item.name}</td>
+											<td>{item.uniqueName}</td>
+											<td>{item.form}</td>
+										</tr>;
+									})}
+									{(drug || []).map((item) => {
+										return <tr>
+											<td>否</td>
+											<td>{item.name}</td>
+											<td>{item.uniqueName}</td>
+											<td>{item.form}</td>
+										</tr>;
+									})}
+								</table>
+							</div> : ''}
+					</div>
+				</div>
+			</React.Fragment> : null
+			, domNode)
+	}
 }
 
 export default AnalysisResult;