Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/optimize' into optimize

zhouna 6 gadi atpakaļ
vecāks
revīzija
7adc139c98

+ 5 - 4
src/common/components/ComplexModal/index.less

@@ -51,16 +51,17 @@
     position: absolute;
     top:0;
     width: 100%;
-  }
-  img{
-    vertical-align: text-top;
-  }
+    img{
+      vertical-align: text-top;
+    }
+  }  
   .closeIcon{
     cursor: pointer;
     position: absolute;
     top: 14px;
     right: 10px;
     z-index: 100;
+    vertical-align: text-top;
   }
 }
 

+ 8 - 8
src/components/EmergencyProcedure/EmergencyPart/PartSec/index.jsx

@@ -37,12 +37,12 @@ class PartSec extends React.Component{
       num:num
     })
   }
-  backSec(){
+  backSec(flg){
     const {makeSureCom} = this.props
     this.setState({
       partCom:true
     })
-    makeSureCom('',false,0)    
+    makeSureCom('',false,0,flg)    
   }
   handleStepSecCom(){
     const {data} = this.props
@@ -145,7 +145,7 @@ class PartSec extends React.Component{
         return <React.Fragment>
           <div className={`${styles.nextWar} ${styles.next}`}>
             <span>气胸患者</span> 
-            <img onClick={()=>{this.backSec()}} src={back} alt=""/>
+            <img onClick={()=>{this.backSec(true)}} src={back} alt=""/>
           </div>
           <h4>{'结合症状体征是否危机生命是否濒死休克'}</h4>
           <div style={{display:reback?'block':'none'}} className={`${styles.nextWar} ${styles.next}`}>
@@ -161,7 +161,7 @@ class PartSec extends React.Component{
         return <React.Fragment>
         <div className={`${styles.nextCom} ${styles.next}`}>
           <span>非气胸患者</span> 
-          <img onClick={()=>{this.backSec()}} src={back} alt=""/>
+          <img onClick={()=>{this.backSec(true)}} src={back} alt=""/>
         </div>
         <h4>{'查找其他原因'}</h4>
       </React.Fragment>
@@ -171,7 +171,7 @@ class PartSec extends React.Component{
         return <React.Fragment>
           <div className={`${styles.nextWar} ${styles.next}`}>
             <span>伴低血压休克</span> 
-            <img onClick={()=>{this.backSec()}} src={back} alt=""/>
+            <img onClick={()=>{this.backSec(true)}} src={back} alt=""/>
           </div>
           <h4>判断右心负荷是否增加</h4>
           <div style={{display:resback?'block':'none'}} className={`${styles.nextWar} ${styles.next}`}>
@@ -187,14 +187,14 @@ class PartSec extends React.Component{
         return <React.Fragment>
           <div className={`${styles.nextCom} ${styles.next}`}>
             <span>不伴低血压休克</span> 
-            <img onClick={()=>{this.backSec()}} src={back} alt=""/>
+            <img onClick={()=>{this.backSec(true)}} src={back} alt=""/>
           </div>
           <h4>根据临床经验或者PE评分规则评估PE可能性</h4>
-          <div className={`${styles.nextWar} ${styles.next}`}>
+          <div style={{display:resback?'block':'none'}} className={`${styles.nextWar} ${styles.next}`}>
             <span>评分高或DDI阳性</span> 
             <i onClick={()=>{makeSureCom('',true,1)}}>确定</i>
           </div>
-          <div className={`${styles.nextCom} ${styles.next}`}>
+          <div style={{display:resback?'block':'none'}} className={`${styles.nextCom} ${styles.next}`}>
             <span>评分低且DDI阴性</span> 
             <i onClick={()=>{makeSureCom('',true,0)}}>确定</i>
           </div>

+ 5 - 5
src/components/EmergencyProcedure/EmergencyPart/index.jsx

@@ -55,15 +55,16 @@ class EmergencyProcedure extends React.Component {
     }else if(idx == 2){
       this.setState({
         trdShow:flg,
-        num:num
+        num:num,
+        back:back
       })
-      this.setState({back:back})
     }else if(idx == 3){
       this.setState({
         trdShow:flg,
-        num:num
+        num:num,
+        resback:true,
+        resback:back
       })
-      this.setState({resback:back})
     }else if(idx == 5){
       this.setState({
         trdShow:flg,
@@ -75,7 +76,6 @@ class EmergencyProcedure extends React.Component {
         num:num
       })
     }
-    
   }
   render(){
     const {data,idx} = this.props

+ 1 - 0
src/components/PushItems/DetailsModal/index.less

@@ -17,6 +17,7 @@
     background: #fff;
     overflow: hidden;
     z-index: 10;
+    word-break: break-all;
 }
 
 .details-content-name {

+ 5 - 5
src/components/Treat/AdverseReactions/index.jsx

@@ -15,7 +15,7 @@ class AdverseReactions extends Component {
         this.setDrugInfo = this.setDrugInfo.bind(this);
       
     }
-    changeReact(it, index) {
+    changeReact(it, index, item) {
         this.props.changeReact(it, index);
     }
     handleMouseEnterDrug(index, item) {
@@ -55,7 +55,7 @@ class AdverseReactions extends Component {
                 {/* {console.log('adversReactionList', adversReactionList)} */}
 
                 {adversReactionList.map((item, index) => {
-                    return (<div className={style['adverse-reactions-item']} key={item.conceptId}>
+                    return (<div className={style['adverse-reactions-item']} key={item.conceptId+item.name}>
                     <span className={style['last-treat-name-box']}>   
                         <span   
                                 className={style['last-treat-big-name-box']} 
@@ -74,9 +74,9 @@ class AdverseReactions extends Component {
                         
                     </span>
                         {item.details.map((it, idx) => {
-                            return <span className={style['adverse-reactions-name']} key={item.id + it.name}>
-                                <input type="checkbox" checked={it.select} id={item.id + it.name} onChange={this.changeReact.bind(this, it, index)}/>
-                                <label for={item.id + it.name}> {it.name} </label>
+                            return <span className={style['adverse-reactions-name']} key={item.conceptId + item.name + it.name}>
+                                <input type="checkbox" checked={it.select} id={item.conceptId +item.name + it.name} onChange={this.changeReact.bind(this, it, index)}/>
+                                <label for={item.conceptId +item.name + it.name}> {it.name} </label>
                                 {it.value==1 && <span className={style['adverse-reactions-recommend']}>(智能推荐)</span>}
                             </span>
                         })}

+ 1 - 0
src/components/TreatDesc/DrugInfo/index.less

@@ -10,6 +10,7 @@
     z-index: 303;
     padding: 40px 0 60px;
     box-shadow: 0px 0px 5px -2px #7d7c7c;
+    word-break: break-all;
 }
 .drug-desc-wrapper {
     height: 100%;

+ 10 - 2
src/containers/CurrentIll.js

@@ -56,10 +56,18 @@ function mapDispatchToProps(dispatch) {
           clickType:'单击',
           num:1
         });
+        // 判断是否有子模板数据
+        const sonId = obj.relationModule;//子模板id
+        let sonArr = allModules.filter((item)=>{return item.id==sonId})
+        if(sonArr.length==0){//未匹配到子模板
+          Notify.info("未找到相关内容");
+          return
+        }
         dispatch({
           type:INSERT_PROCESS,
-          id:obj.relationModule,
-          allModules:allModules
+          // id:obj.relationModule,
+          // allModules:allModules
+          addSmoduleData:JSON.parse(JSON.stringify(sonArr[0].moduleDetailDTOList))
         });
         dispatch({
           type:ISREAD

+ 8 - 7
src/containers/DiagnosticItem.js

@@ -19,14 +19,15 @@ function mapStateToProps(state) {
 function mapDispatchToProps(dispatch) {
     return{
         addDiagnostic: (item) => {
+            
+            dispatch({
+                type: ADD_DIAGNOSTIC,
+                item: item
+            });
+            dispatch({
+                type: GET_DIAGNOSTIC_STR
+            });
             dispatch(addDiagnostic(item))
-            // dispatch({
-            //     type: ADD_DIAGNOSTIC,
-            //     item: item
-            // });
-            // dispatch({
-            //     type: GET_DIAGNOSTIC_STR
-            // });
         },
         showSearch:()=>{
             dispatch({

+ 12 - 1
src/containers/MainSuit.js

@@ -72,11 +72,22 @@ function mapDispatchToProps(dispatch) {
             clickType:'单击',
             num:1
           });
-          dispatch({
+          // 判断是否有子模板数据
+          const sonId = obj.relationModule;
+          let sonArr = allModules.filter((item)=>{return item.id==sonId})
+          if(sonArr.length==0){//未匹配到子模板
+            Notify.info("未找到相关内容");
+            return
+          }
+          /*dispatch({
             type: SHOW_TAIL,
             info:obj.questionMapping,
             id:obj.relationModule,
             allModules:allModules
+          })*/
+          dispatch({
+            type: SHOW_TAIL,
+            addSmoduleData:JSON.parse(JSON.stringify(sonArr[0].moduleDetailDTOList))
           })
           dispatch({
             type:ISREAD

+ 1 - 8
src/store/actions/currentIll.js

@@ -63,14 +63,7 @@ export const setModule = (state,action)=>{
 //插入病程变化
 export const insertProcess = (state,action)=>{
   const res = Object.assign({},state);
-  const sonId = action.id;//子模板id
-  let addSmoduleData;
-  let allModules = action.allModules;
-  for(let k=0; k<allModules.length; k++){
-    if(allModules[k].id==sonId){
-      addSmoduleData = JSON.parse(JSON.stringify(allModules[k].moduleDetailDTOList));
-    }
-  }
+  let addSmoduleData = action.addSmoduleData;
   let data = res.data;
   let newData = insertPro(data,addSmoduleData);
   res.data = fullfillText(newData).newArr;

+ 11 - 0
src/store/actions/diagnosticList.js

@@ -111,4 +111,15 @@ export const hideHistoryCase = (state, action) => {
     const res = Object.assign({}, state);
     res.showHistoryCase = false
     return res;
+}
+
+export const addTreat = (state, action) => {
+    const res = JSON.parse(JSON.stringify(state))
+    const diagnosticList = res.diagnosticList
+    for(let i = 0; i< diagnosticList.length; i++) {
+        if(diagnosticList[i].conceptId == action.item.conceptId && diagnosticList[i].name == action.item.name) {
+            diagnosticList[i] = action.item
+        }
+    }
+    return res;
 }

+ 1 - 15
src/store/actions/mainSuit.js

@@ -95,27 +95,13 @@ export const getBigSymptom = (state,action) => {
 //点击插入新模板--添加病程变化
 export const handleTailClick = (state,action)=>{
   const res = Object.assign({},state);
-  const sonId = action.id;//子模板id
   let num = res.moduleNum.num;
   num++;
-  // const addSmoduleData = JSON.parse(JSON.stringify(res.addSmoduleData));
-  // const addDatas = JSON.parse(JSON.stringify(fullfillText(action.info).newArr));
-  let addSmoduleData;
-  // const allModules = JSON.parse(localStorage.getItem('modules'));
-  let allModules = action.allModules;
-  for(let k=0; k<allModules.length; k++){
-    if(allModules[k].id==sonId){
-      addSmoduleData = JSON.parse(JSON.stringify(allModules[k].moduleDetailDTOList));
-    }
-  }
+  let addSmoduleData = action.addSmoduleData;
   let datas = JSON.parse(JSON.stringify(res.data));
-  let leng = datas.length;
   
   for(let i=0; i<addSmoduleData.length; i++){
     addSmoduleData[i].pos = num;
-    // let pos = leng-1+i;
-   /* let pos = leng-2+i;
-    datas.splice(pos,0,addDatas[i]);*/
   }
   let newData = insertPro(datas,addSmoduleData);
   res.data = fullfillText(newData).newArr;

+ 10 - 11
src/store/async-actions/treat.js

@@ -1,6 +1,6 @@
 import { json } from "@utils/ajax";
 // import { SET_TREAT } from '@store/types/diagnosticList';
-import { ADD_DIAGNOSTIC, GET_DIAGNOSTIC_STR,SET_TREAT,SHOW_LOADING} from '@store/types/diagnosticList';
+import { ADD_DIAGNOSTIC, GET_DIAGNOSTIC_STR,SET_TREAT,SHOW_LOADING,ADD_TREAT} from '@store/types/diagnosticList';
 import { SET_COMMONTREATMENT } from '@store/types/pushMessage'
 import { SET_DRUG_INFO, SET_TREATMENT, SET_TREAT_INFO, SET_RECOMMEND_BASIC, SET_DRUG_INFO_LIST, IS_FIRST_MAIN_DIAG, SET_ADVERSE_REACTIONS, SET_ALL_ADVERSE_REACTIONS, SET_FOLLOW_UP, DEL_FOLLOW_UP, SET_ALL_FOLLOW_UP } from '@store/types/treat';
 import {storageLocal,getEMRParams} from '@utils/tools';
@@ -87,23 +87,22 @@ export const addDiagnostic = (item) => {
 
 //判断是否存在治疗方案
 function hasTreatment(dispatch, state,item,url, params) {
+    const itemTreat = JSON.parse(JSON.stringify(item))
     json(url, params).then((data) =>{
         if (data.data.data) {
-            item.treat = data.data.data
+            itemTreat.treat = data.data.data
             dispatch({
-                type: ADD_DIAGNOSTIC,
-                item: item
+                type: ADD_TREAT,
+                item: itemTreat
             })
         } else {
             item.treat = null
             dispatch({
-                type: ADD_DIAGNOSTIC,
-                item: item
+                type: ADD_TREAT,
+                item: itemTreat
             })
         }
-        dispatch({
-            type: GET_DIAGNOSTIC_STR
-        });
+        
         dispatch(isAddMainSuit())
 
     }).catch((e) =>{
@@ -219,7 +218,7 @@ function getTreatment(item, dispatch, state,url,params, isChronic) {
                              if(item.conceptId == allAdversReactionList[i].conceptId) {    //判断是否存过不良反应
                                  for (let j = 0; j < adverseReactions.length; j++) { //判断不良反应是否有相同的不良反应,如果有,替换
                                      for(let z = 0; z < allAdversReactionList[i].adversReactionList.length; z++) {
-                                         if(adverseReactions[j].conceptId == allAdversReactionList[i].adversReactionList[z].conceptId) {
+                                         if(adverseReactions[j].conceptId == allAdversReactionList[i].adversReactionList[z].conceptId && adverseReactions[j].name == allAdversReactionList[i].adversReactionList[z].name) {
                                              for(let x = 0; x < allAdversReactionList[i].adversReactionList[z].details.length; x++) {
                                                  for(let y = 0; y < adverseReactions[j].details.length; y++) {//判断每一项是否选择过
                                                      if(allAdversReactionList[i].adversReactionList[z].details[x].name == adverseReactions[j].details[y].name && allAdversReactionList[i].adversReactionList[z].details[x].select) {
@@ -393,7 +392,7 @@ export const commonTreatAddToAdvice = () => {
             })
             dispatch({
                 type: SET_COMMONTREATMENT,
-                commontreatment: state.treat.treatItem.treat.commonTreatment.text
+                commontreatment: state.treat.treatItem.treat.commonTreatment.content
             })
             if(followUp) {
                 dispatch({

+ 4 - 2
src/store/reducers/diagnosticList.js

@@ -1,8 +1,8 @@
 import { ADD_DIAGNOSTIC,  DEL_DIAGNOSTIC, UP_DIAGNOSTIC, DOWN_DIAGNOSTIC, SET_TREAT, GET_DIAGNOSTIC_STR, SET_DIAG_TO_MAINSUIT, 
             GET_IS_FIRST,CLEAR_ALL_DIAG, SET_CLICK_DIAG ,CLEAR_DIAGNOSE, SET_CHRONIC_MAG_ITEM, SHOW_REFER_RECORD, HIDE_REFER_RECORD, 
-            SHOW_HISTORY_CASE,  HIDE_HISTORY_CASE,SHOW_LOADING} from '../types/diagnosticList';
+            SHOW_HISTORY_CASE,  HIDE_HISTORY_CASE,SHOW_LOADING, ADD_TREAT} from '../types/diagnosticList';
 import { addDiagnostic,  delDiagnostic, upDiagnostic, downDiagnostic, setTreat, getDiagnosticStr, setDiagToMainSuit, 
-        getIsFirst,clearAllDiag, setClickDiag, setChronicMagItem, showReferRecord, hideReferRecord, showHistoryCase, hideHistoryCase} from '../actions/diagnosticList';
+        getIsFirst,clearAllDiag, setClickDiag, setChronicMagItem, showReferRecord, hideReferRecord, showHistoryCase, hideHistoryCase, addTreat} from '../actions/diagnosticList';
 
 const initState = {
     isFirst: true,
@@ -71,6 +71,8 @@ export default function (state=initState, action) {
             return showHistoryCase(state, action);
         case HIDE_HISTORY_CASE: 
         return hideHistoryCase(state, action);
+        case ADD_TREAT:
+                return addTreat(state, action);
         case CLEAR_DIAGNOSE: 
             res.mainSuitStr = "";
             return res;

+ 1 - 1
src/store/reducers/treat.js

@@ -2,7 +2,7 @@ import { SELECT_DRUG, SET_TREAT_INFO, SET_OTHER_DRUG, SET_DRUG_INFO, CLEAR_DRUG_
         HIDE_TREAT, CLEAR_TREAT, SHOW_DRUG_INFO, HIDE_DRUG_INFO, SET_GENERAL_TREAT, SET_TREATMENT, 
         SET_SURGERY_TREAT, SET_RECOMMEND_BASIC, SET_DRUG_INFO_LIST,IS_FIRST_MAIN_DIAG,CLEAR_FIRST_MAIN_DIAG ,
         SET_ADVERSE_REACTIONS, SET_ALL_ADVERSE_REACTIONS,CHANGE_REACT, DEL_REACT, SET_FOLLOW_UP, 
-        DEL_FOLLOW_UP, SET_ALL_FOLLOW_UP, CLEAR_ALL_TREAT } from '../types/treat'
+        DEL_FOLLOW_UP, SET_ALL_FOLLOW_UP, CLEAR_ALL_TREAT} from '../types/treat'
 import { selectDrug, setTreatInfo, setOtherDrug, setDrugInfo, clearDrugInfo, showTreat, hideTreat, 
         clearTreat, showDrugInfo, hideDrugInfo, setTreatment, setGeneralTreat, setSurgeryTreat, 
         setRecommendBasic, setDrugInfoList, isFirstMainDiag, clearFirstMainDiag, setAdverseReactions, 

+ 3 - 1
src/store/reducers/wrapModalBodyPac.js

@@ -46,7 +46,9 @@ export default (state = initSearchList, action) => {
         tempArrs.push(tmpObj)
       }
     }
-    tmpListImport.push(importLis)
+    if(JSON.stringify(importLis) != '[]'){
+      tmpListImport.push(importLis)
+    }
 
     allState.checkedListImport = [...tmpListImport]
     allState.allCheckLis = [...tempArrs]

+ 1 - 0
src/store/types/diagnosticList.js

@@ -16,5 +16,6 @@ export const HIDE_REFER_RECORD = 'HIDE_REFER_RECORD';  //隐藏引用历史病
 export const SHOW_HISTORY_CASE = 'SHOW_HISTORY_CASE';  //显示历史病历列表弹窗
 export const HIDE_HISTORY_CASE = 'HIDE_HISTORY_CASE' ; //隐藏历史病历列表弹窗
 export const SHOW_LOADING = 'SHOW_LOADING';    //显示loading
+export const ADD_TREAT = Symbol('ADD_TREAT') ;   //设置治疗
 
 

+ 1 - 1
src/utils/tools.js

@@ -743,7 +743,7 @@ function getPageCoordinate(event,stic){//获取鼠标点击的位置
     var y = (e.pageY+(stic?25:0)) || (e.clientY + scrollY + (stic?25:0));//弹窗位置偏下25
     let obj = {
       boxLeft : x ,
-      boxTop : y
+      boxTop : y+18
     }
     return obj;
 }