Browse Source

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

# Conflicts:
#	src/store/async-actions/pushMessage.js
zhouna 5 years ago
parent
commit
421c8b1689

+ 1 - 1
src/components/Advice/index.jsx

@@ -81,7 +81,7 @@ class Advice extends Component{
       })}</p>
     })
 
-    return  <div className={`${'mainsuit-box'} ${style['main-suit']}`}>
+    return  <div id="adviceBox" className={`${'mainsuit-box'} ${style['main-suit']}`}>
       <ItemBox title='医嘱' editable={false} border={true} marginTop="10px">
         <div className={style['billing']}>
           {advice.assay && advice.assay.length > 0 || advice.check && advice.check.length > 0 ? <h1>开单项目</h1> : ''}

+ 2 - 2
src/components/ChronicInfo/index.jsx

@@ -415,7 +415,7 @@ class ChronicInfo extends React.Component{
                                             return <div className={style["chooseItem"]}>
                                                     <Radio label={ii.detailName}
                                                              isSelect={ii.state == 1}
-                                                             handleClick={this.handleForRadio.bind(this,v.conceptId,details,idd,ind)}>
+                                                             handleClick={item.isShow == '0' ? '' : this.handleForRadio.bind(this,v.conceptId,details,idd,ind)}>
                                                       </Radio>
                                                   </div>
                                           })}
@@ -427,7 +427,7 @@ class ChronicInfo extends React.Component{
                                           <span>{'请输入'+item.name+':'}</span>
                                         </td>
                                         <td>
-                                          <input type="text" placeholder="请输入"  value={item.value} onKeyDown={this.handleReg.bind(this)} onInput={this.handleInputformula.bind(this,v.conceptId,details,idd)}/>
+                                          <input type="text" placeholder="请输入" readonly={item.isShow == '0'} value={item.value} onKeyDown={this.handleReg.bind(this)} onInput={this.handleInputformula.bind(this,v.conceptId,details,idd)}/>
                                         </td>
                                         <td>
                                           <span>{item.uint}</span>

+ 7 - 0
src/components/Emergency/HisList/index.jsx

@@ -154,6 +154,13 @@ class HisList extends Component {
     return style['export'];
   }
 
+  shouldComponentUpdate(next){
+    if(next.changeInd !==this.props.changeInd){
+      this.setState({index:0})
+    }
+    return true;
+  }
+
   getList(){
     const { data } = this.props;
     let list = data&&data.map((v,i)=>{

+ 21 - 4
src/components/Emergency/index.jsx

@@ -17,7 +17,9 @@ class EmergencyHis extends Component{
       index:0,
       timer:null,
       valChange:true,
-      chooseItem:''
+      chooseItem:'',
+      filtFlag:-1 , //筛选标识
+      changeInd:false
     }
     this.searInp = React.createRef();
     this.handleClose = this.handleClose.bind(this);
@@ -48,6 +50,9 @@ class EmergencyHis extends Component{
   handleFilter(obj){//筛选
     const {filterData} = this.props;
     filterData&&filterData(obj);
+    this.setState({
+      filtFlag:obj.flag
+    }) 
   }
 
   showDetail(index){//病历详情
@@ -96,7 +101,7 @@ class EmergencyHis extends Component{
   }
   // 确认添加
   handleAdd(){
-    const {chooseItem,index} = this.state;
+    const {chooseItem,index,filtFlag,changeInd} = this.state;
     const {addSecond,data} = this.props;
     if(chooseItem.trim()){
       // 添加接口
@@ -111,6 +116,16 @@ class EmergencyHis extends Component{
         chooseItem:''
       });
     }
+    // 在非默认筛选条件下添加二次诊断后重新调筛选接口
+    if(filtFlag !== -1){
+      this.handleFilter({flag:filtFlag});
+      if(filtFlag ==0){//无二次诊断添加后重置index
+        this.setState({
+          index:0,
+          changeInd:!changeInd //重置list中的index标识
+        })
+      }
+    }
   }
 
   componentWillUnmount(){
@@ -122,7 +137,8 @@ class EmergencyHis extends Component{
 
   render(){
     const {show,data,total,preInfo,searchData} = this.props;
-    const {index,valChange} = this.state;
+    // const {index,valChange,changeInd} = this.state;
+    const {index,valChange,changeInd} = this.state;
     // const searchData = [];
     let baseObj = data[index];
     let dataJson,dataStr;
@@ -153,7 +169,8 @@ class EmergencyHis extends Component{
                         getMore={this.getMore} 
                         handleFilter={this.handleFilter}
                         detail={this.showDetail}
-                        handleDownload={this.handleDownload}/>
+                        handleDownload={this.handleDownload}
+                        changeInd={changeInd}/>
               </div>
               <div className={style['emer-right']}>
                 {

+ 1 - 1
src/components/PushItems/TipsMsg/index.jsx

@@ -17,7 +17,7 @@ class TipsMsg extends Component {
 
     render() {
         const { tips, showTips, tipsDiscalimer, tipsImg, tmpFlg} = this.props;
-        return <div className={style["tips"]}>
+        return <div id="tipsMsg" className={style["tips"]}>
         <h1>
           <img src={tipsImg} />
           提示信息

+ 6 - 1
src/store/actions/pushMessage.js

@@ -87,7 +87,7 @@ export const addScheme = (state, action) => {
   const scheme = res.advice.scheme || [];
   let isRepeat = false; 
   let RepeatIndex;
-  
+  let SelectedDrugNum = 0 	//选中的药品数量
   for (let i = 0; i < treatment.length; i++) {
 		let treatmentStr = '';
 		let drugList = []
@@ -95,11 +95,15 @@ export const addScheme = (state, action) => {
       if(treatment[i].medicitionsList[j].selected) {
 				treatmentStr = treatmentStr + treatment[i].medicitionsList[j].medicitionName + ', '
 				drugList.push({conceptId: treatment[i].medicitionsList[j].conceptId, conceptName: treatment[i].medicitionsList[j].medicitionName })
+				SelectedDrugNum++
 			}
 	}
 	treatment[i].treatmentStr = treatmentStr.substring(0,treatmentStr.length-2)
 	treatment[i].drugList = drugList
   }
+  if(SelectedDrugNum > 0) { //如果有选中的药品,滚动到医嘱框
+	document.getElementById("adviceBox").scrollIntoView(true)
+  }
   treatItem.treatment = treatment;
   for (let i = 0; i < scheme.length; i++) {
     if (scheme[i].name === treatItem.name) {
@@ -156,6 +160,7 @@ export const addScheme = (state, action) => {
 	if (res.advice.scheme) {
 		res.advice.drugList = getDrugList(res.advice.scheme)
 	}
+	
   return res;
 }
 

+ 20 - 14
src/store/async-actions/fetchModules.js

@@ -336,23 +336,27 @@ export function getAllHis(item){
   return (dispatch,getStore)=>{
     const state = getStore();
     const {message} = state.patInfo;
-    const params = {
-      "current": item.current,
-      // "endDate": item.endDate,
-      "hospitalDeptId": message.hospitalDeptId,
-      "hospitalId": message.hospitalId,
-      "size": 6,
-      // "startDate": item.startDate,
+    const {params} = state.emergencyHis;
+    let param = {};
+    if(JSON.stringify(params) == '{}'){
+      param = {
+        "current": item.current,
+        "hospitalDeptId": message.hospitalDeptId,
+        "hospitalId": message.hospitalId,
+        "size": 6,
+      }
+    }else{
+      param = Object.assign({},params,{current:item.current})
     }
 
-    json(api.getAllHisURL,params).then((res)=>{
+    json(api.getAllHisURL,param).then((res)=>{
       const result = res.data;
       if(result.code == 0){
         dispatch({
           type:GET_ALL_HIS,
           data:result.data.inquiryList,
           total:result.data.total,
-          params:params,
+          params:param,
         })
       }
     })
@@ -366,13 +370,14 @@ export function getFilterHis(obj){
     const {params} = state.emergencyHis;
     let newParam = {};
     if(obj.flag == 999){//时间筛选
-      newParam = Object.assign(params,{startDate:obj.startDate,endDate:obj.endDate})
+      newParam = Object.assign(params,{startDate:obj.startDate,endDate:obj.endDate,current:1})
     }else{
-      if(obj.flag==-1){
+      /*if(obj.flag==-1){
         newParam = Object.assign(params,{current:1})
       }else{
-        newParam = Object.assign({},params,{isHasSecond:obj.flag})
-      }
+        newParam = Object.assign({},params,{isHasSecond:obj.flag,current:1})
+      }*/
+      newParam = Object.assign({},params,{isHasSecond:obj.flag,current:1})
     }
 
     json(api.getAllHisURL,newParam).then((res)=>{
@@ -382,7 +387,8 @@ export function getFilterHis(obj){
           type:FILTER_ALL_HIS,
           data:result.data.inquiryList,
           total:result.data.total,
-          params:Object.assign(params,{current:1}),
+          // params:Object.assign(params,{current:1}),
+          params:Object.assign(newParam,{current:1}),
         })
       }
     })

+ 2 - 2
src/store/async-actions/pushMessage.js

@@ -25,7 +25,7 @@ export const billing = (mdata,boxMark) => {
   const emrData = getEMRParams();
   const params = {
     age: emrData.age,
-    featureType: getCheck?"42,41,5,6,7":"42,5,6,7",    //41只返回查体模板,42只返回查体高亮
+    featureType: getCheck?"42,41,5,6,7":"42,5,6,7",    //41只返回查体模板,4只返回查体高亮
     // featureType: "22",
     diag: emrData.dis,
     lis: emrData.lis,
@@ -160,7 +160,7 @@ export const getConceptDetail = (item) => {
                           flag:true
                         });
                     }
-                    
+                    document.getElementById("tipsMsg").scrollIntoView(true)
                 } else if(item.position == '5' || item.position == '6'){    //药品或不良反应说明
                     dispatch({
                         type: SET_DRUG_INFO,

+ 3 - 0
src/store/async-actions/treat.js

@@ -415,6 +415,9 @@ export const commonTreatAddToAdvice = () => {
                     hasFollowUp: true
                 })
             }
+            if(state.treat.generalTreat.content || followUp) { //如果一般治疗和回访时间存在,定位到医嘱
+                document.getElementById("adviceBox").scrollIntoView(true)
+            }
             
         } else {
             return

+ 1 - 1
src/store/types/pushMessage.js

@@ -21,7 +21,7 @@ export const SET_CHRONIC_PUSHS ='SET_CHRONIC_PUSHS'; //右侧慢病量表评估
 export const SET_SCALE_INFO = 'SET_SCALE_INFO' ; //量表明细
 export const SAVE_TABLE_RESULT = 'SAVE_TABLE_RESULT' ; //量表计算结果
 export const SAVE_FOLLOW_UP = 'SAVE_FOLLOW_UP';  //保存回访时间
-export const DEL_FOLLOW_UP = 'DEL_FOLLOW_UP';  //保存回访时间
+export const DEL_FOLLOW_UP = 'DEL_FOLLOW_UP';  //删除回访时间
 export const TOGGLE_CHRONIC_INFO = 'TOGGLE_CHRONIC_INFO';   //收起展开指标推送模块
 
 

+ 4 - 4
src/utils/tools.js

@@ -736,12 +736,12 @@ function ifOtherClear(jsonData,jsonStr,baseList){
 function normalVal(min,max){
   if(!min&&!max){
     return null;
-  }else if(!isNaN(min) && !isNaN(max)){
+  }else if(min&&max){
       return `正常值: (${min}~${max})`
-  }else if(!isNaN(min) && isNaN(max)){
-      return `正常值: (>${min})`
-  }else if(isNaN(min) && !isNaN(max)){
+  }else if(!min && max){
       return `正常值: (<${max})`
+  }else if(min && !max){
+      return `正常值: (>${min})`
   }
 }
 /**