浏览代码

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

zhouna 5 年之前
父节点
当前提交
8a8027456e
共有 3 个文件被更改,包括 38 次插入5 次删除
  1. 31 2
      src/common/components/Textarea/index.jsx
  2. 2 2
      src/components/MainSuit/index.jsx
  3. 5 1
      src/containers/MainSuit.js

+ 31 - 2
src/common/components/Textarea/index.jsx

@@ -3,6 +3,9 @@ import style from "./index.less";
 import Notify from '../Notify';
 import config from '@config/index';
 import {isIE} from '@utils/tools.js';
+import {getFeature} from '@store/async-actions/fetchModules';
+import {getAllDataList,getAllDataStringList,ifOtherClear} from "@utils/tools.js";
+import store from '@store';
 import $ from "jquery";
 
 class Textarea extends Component {
@@ -19,6 +22,7 @@ class Textarea extends Component {
     this.handleFocus = this.handleFocus.bind(this);
     //this.handleBlur = this.handleBlur.bind(this);
     this.handleKeydown = this.handleKeydown.bind(this);
+    this.handleBlur = this.handleBlur.bind(this);
   }
   handleFocus(e){            //初始显示props中的值,focus已经显示输入的值,避免值更新闪烁
     const {handleFocus,fuzhen,handleInput,isChronic,hasMain,boxMark} = this.props;
@@ -88,6 +92,30 @@ class Textarea extends Component {
       timer
     });
   }
+  //除主诉外 其他是否为空
+  ifClear(){
+    let baseList = store.getState();
+    let jsonData = getAllDataList(baseList);
+    let jsonStr = getAllDataStringList(baseList);
+    let flg = ifOtherClear(jsonData,jsonStr,baseList);
+    return flg;
+  }
+  handleBlur(e){
+    const {saveChronic} = this.props;
+    const text = e.target.innerText;
+    getFeature(text).then((res)=>{
+      if(res.data.code==0){
+        const result = res.data.data;
+        // 慢病
+        if(result && result[0].chronicLabel==1){
+          let flg = this.ifClear();
+          if(!flg){
+            saveChronic && saveChronic(result[0],true);
+          }
+        }
+      }
+    })
+  }
   handleKeydown(e){
     const {boxMark} = this.props;
     const ev = e||window.event;
@@ -123,7 +151,7 @@ class Textarea extends Component {
     }
   }
   render() {
-    const { title } = this.props;
+    const { title,boxMark } = this.props;
     return (
       <div className={style["box"]}>
         <div className={style["title"]}>{title}</div>
@@ -133,7 +161,8 @@ class Textarea extends Component {
              ref={this.$dom}
              contentEditable={true}
              onInput={this.handleInput}
-             onKeyDown={this.handleKeydown}>
+             onkeydown={this.handleKeydown}
+             onBlur={+boxMark===1?this.handleBlur:null}>
         </div>
       </div>
     );

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

@@ -253,7 +253,7 @@ class MainSuit extends Component{
       }
   }*/
   render(){
-    const {readMode,type,CommonSymptoms,searchData,fetchPushInfos,isRead,totalHide,handleInput,fuzhen,saveText,editClear,datas,commSymHide} = this.props;
+    const {saveChronic,readMode,type,CommonSymptoms,searchData,fetchPushInfos,isRead,totalHide,handleInput,fuzhen,saveText,editClear,datas,commSymHide} = this.props;
     const {symptom,boxLeft,boxTop} = this.state;
     const symptomFlag = CommonSymptoms.length>0 ? true : false;
     const searchFlag = searchData.length>0 ? true : false;
@@ -261,7 +261,7 @@ class MainSuit extends Component{
     const boxLeft1 = datas.length>0?boxLeft:85;
     const mode = !readMode||readMode===-1?type:readMode;
     if(+mode===1){      //文本模式
-      return <Textarea title='主诉' boxMark='1' isRead={isRead} value={saveText[0]} handlePush={fetchPushInfos} handleInput={handleInput} />;
+      return <Textarea title='主诉' boxMark='1' saveChronic={saveChronic} isRead={isRead} value={saveText[0]} handlePush={fetchPushInfos} handleInput={handleInput} />;
     }
     return  <div className={style['main-suit']}>
       <ItemBox

+ 5 - 1
src/containers/MainSuit.js

@@ -12,6 +12,7 @@ import config from '@config/index.js';
 import {Notify} from '@commonComp';
 import {getInitModules} from '@store/async-actions/homePage.js';
 import {SHOW_REFER_RECORD} from '@store/types/diagnosticList';
+import { SET_READ_MODE } from "@store/types/typeConfig";
 
 function mapStateToProps(state) {//console.log(state)
   const {mainSuit,homePage,diagnosticList,typeConfig} = state;
@@ -169,7 +170,7 @@ function mapDispatchToProps(dispatch) {
           data:data
         })
       },
-      async saveChronic(item){//储存慢病信息
+      async saveChronic(item,isTextMode){//储存慢病信息
         // loading
         dispatch({type:MODI_LOADING,flag:true});
         // 存慢病
@@ -177,6 +178,9 @@ function mapDispatchToProps(dispatch) {
           type:SAVE_CHRONIC,
           data:item
         })
+        if(isTextMode){
+          dispatch({type: SET_READ_MODE, readMode: 0});
+        }
         // 取模板
         await dispatch(getInitModules);
         // 模板回来关闭;loading