Browse Source

Merge remote-tracking branch 'origin/dev5.3.1' into dev/new1

zhouna 5 years ago
parent
commit
c649f0b553

+ 14 - 4
src/components/CommonSymptom/index.jsx

@@ -69,6 +69,14 @@ class CommonSymptom extends Component{
     }
     return '';
   }
+  // 历史症状
+  getHisStyle(id){
+    const {conceptId} = this.state;
+    if(conceptId.includes(id)){
+      return style['hisSelect'];
+    }
+    return style['hisTab'];
+  }
   handleClear(e){
     e.stopPropagation();
     this.setState({
@@ -91,7 +99,7 @@ class CommonSymptom extends Component{
       let listBox = $('#listBox')[0];
       let hisBox = $('#his')[0];
       let operBox = $('#oper')[0];
-      if(e.target != itemBox && e.target.parentNode != divBox && e.target.parentNode != listBox && e.target.parentNode != hisBox && e.target.parentNode != operBox && e.target != divBox){
+      if(e.target != itemBox && e.target.parentNode != divBox && e.target.parentNode != listBox && e.target.parentNode != hisBox && e.target.parentNode != operBox && e.target != divBox && e.target.parentNode && e.target.parentNode.parentNode && e.target.parentNode.parentNode != hisBox){
         this.setState({
           hide:true,
           select:[],
@@ -114,12 +122,14 @@ class CommonSymptom extends Component{
     return <div className={this.getClass()} contenteditable="false" id="symptBox" style={{'display':hide?'none':'block'}}>
       <ul className={style["listBox"]} id="listBox">
         {mainHis.length>0?<ul className={style["his"]} id="his">
-          <p>历史搜索:</p>
+          <p>最近输入症状:</p>
           {mainHis.map((it)=>{
-            return <li onClick={(e)=>this.handleSelect(e,it)} className={this.getStyle(it.conceptId)} title={it.name.length>5?it.name:''}>{it.name.length>5?it.name.slice(0,4)+'...':it.name}</li>
+            return <li onClick={(e)=>this.handleSelect(e,it)} title={it.name.length>5?it.name:''}>
+                <span className={this.getHisStyle(it.conceptId)} style={{'padding':it.name.length>5?'0':'0 5px'}}>{it.name.length>5?it.name.slice(0,4)+'...':it.name}</span>
+              </li>
           })}
         </ul>:''}
-        
+        <p>常见症状:</p>
         {data&&data.map((it)=>{
           return <li onClick={(e)=>this.handleSelect(e,it)} className={this.getStyle(it.conceptId)} title={it.name.length>5?it.name:''}>{it.name.length>5?it.name.slice(0,4)+'...':it.name}</li>
         })}

+ 35 - 3
src/components/CommonSymptom/index.less

@@ -6,23 +6,48 @@
   white-space: pre-wrap;
   .listBox{
     max-width: 460px;
+    >p{
+      margin: 10px 0 15px;
+      padding-left: 15px;
+    }
+   /*  >li{
+     width: 85px;
+     line-height: 32px;
+     padding-left: 15px;
+     margin-right: 5px;
+     cursor: pointer;
+     display: inline-block;
+   } */
   }
   .his{
     color: #777777;
     border-bottom: 1px solid #EAEDF1;
-    p{
+    padding-bottom: 10px;
+    >p{
       line-height: 32px;
       padding-left: 15px;
+      margin-bottom: 10px;
+    }
+    li{
+      /* display: inline-block;
+      margin-left: 10px;
+      padding: 0 5px; */
+      span{
+        display: inline-block;
+        border-radius:13px;
+        line-height: 25px;
+        // padding: 0 5px;
+      }
     }
   }
-  li{
+   li{
     width: 85px;
     line-height: 32px;
     padding-left: 15px;
     margin-right: 5px;
     cursor: pointer;
     display: inline-block;
-  }
+  } 
   li:hover{
     border-color:#3B9ED0;
   }
@@ -48,6 +73,13 @@
     margin-top: 5px;
     padding-right: 5px;
   }
+  .hisTab{
+    border:1px solid rgba(170,170,170,1);
+  }
+  .hisSelect{
+    color:#3B9ED0;
+    border:1px solid rgba(59,158,208,1);
+  }
 }
 .hide{
   display: none;

+ 6 - 1
src/components/MainSuit/index.jsx

@@ -144,7 +144,7 @@ class MainSuit extends Component{
   handleChange(e){
     const ev = e || window.event;
     const data = ev.target.innerText || ev.target.innerHTML;
-    const {getSearchData,searchData,datas,pushMessage,reTotalHide,saveText,clearSearch} = this.props;
+    const {getSearchData,searchData,datas,pushMessage,reTotalHide,saveText,clearSearch,CommonSymptoms,getCommonSymptoms} = this.props;
     const {overFlag,inpText} = this.state;
     reTotalHide && reTotalHide();//重置homePage中的控制项
     const that = this;
@@ -185,8 +185,13 @@ class MainSuit extends Component{
         timer
       })
     }else{
+      clearTimeout(this.state.timer);
       // 内容为空-清空搜索数据-显示常见
       clearSearch();
+      // 慢病流程下常见会被清空,所以要重新获取
+      if(CommonSymptoms.length == 0){
+        getCommonSymptoms && getCommonSymptoms();
+      }
       this.setState({
         symptom:true
       })

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

@@ -44,7 +44,7 @@
     height: 100%;
     top: 0;
     background: #fff;
-    padding: 40px  0 20px 20px;
+    padding: 60px  20px 20px 20px;
     box-shadow: 2px 0px 5px -2px #7d7c7c;
 }
 .similar-drug {

+ 25 - 24
src/store/actions/mainSuit.js

@@ -109,36 +109,37 @@ export const insertMain = (state,action) => {
   const id = action.item.ids;
   const conceptId = action.item.conceptId;
   let data = JSON.parse(JSON.stringify(res.moduleData));
-  if(data && data.length>0){
-    // 存到本地
-    // >5直接截取替换,<5需要判断是否有重复的--双重遍历
-    const mainSymp = storageLocal.get('mainSymp');
-    if(items.length<5){
-      if(mainSymp){
-        let localArr = JSON.parse(mainSymp);
-        let sympArr = JSON.parse(JSON.stringify(localArr));
-        let num = -1;
-        for(let k=0; k<localArr.length; k++){//判断是否已存在
-          for(let j=0; j<items.length; j++){
-            if(localArr[k].conceptId==items[j].conceptId){
-              num++
-              sympArr.splice(k-num,1);
-            }
+  // 存到本地
+  // >5直接截取替换,<5需要判断是否有重复的--双重遍历
+  const mainSymp = storageLocal.get('mainSymp');
+  if(items.length<5){
+    if(mainSymp){
+      let localArr = JSON.parse(mainSymp);
+      let sympArr = JSON.parse(JSON.stringify(localArr));
+      let num = -1;
+      for(let k=0; k<localArr.length; k++){//判断是否已存在
+        for(let j=0; j<items.length; j++){
+          if(localArr[k].conceptId==items[j].conceptId){
+            num++
+            sympArr.splice(k-num,1);
           }
         }
-        let newArr = sympArr.concat(items);
-        if(newArr.length>5){
-          storageLocal.set('mainSymp',newArr.slice(newArr.length-5,));
-        }else{
-          storageLocal.set('mainSymp',newArr);
-        }
+      }
+      let newArr = sympArr.concat(items);
+      if(newArr.length>5){
+        storageLocal.set('mainSymp',newArr.slice(newArr.length-5,));
       }else{
-        storageLocal.set('mainSymp',items);
+        storageLocal.set('mainSymp',newArr);
       }
     }else{
-      let seleArr = items.slice(items.length-5,);//展示后5个
-      storageLocal.set('mainSymp',seleArr);
+      storageLocal.set('mainSymp',items);
     }
+  }else{
+    let seleArr = items.slice(items.length-5,);//展示后5个
+    storageLocal.set('mainSymp',seleArr);
+  }
+    
+  if(data && data.length>0){
 
     if(items.length>1){
       for(let i=1; i<items.length; i++){

+ 1 - 1
src/store/async-actions/fetchModules.js

@@ -3,7 +3,7 @@ import {SET,PRESET} from '@types/checkBody';
 import {SETDATA} from '@store/types/otherHistory';
 import store from '@store';
 import {getEMRParams,didPushParamChange,inspectAndAssist,fullfillText,checkFullfillText,deepClone,filterDataArr} from '@utils/tools';
-import {Notify} from '@commonComp';
+import  Notify from '@commonComp/Notify';
 import {billing} from '@store/async-actions/pushMessage';
 import {SETOTHERHISTORY,ISREAD} from "../types/homePage";
 import config from "@config/index";