Browse Source

Merge remote-tracking branch 'origin/qualityControl' into testedMerge

zhouna 5 years ago
parent
commit
a9e3432e9e
44 changed files with 647 additions and 64 deletions
  1. 18 1
      src/common/components/ItemBox/index.jsx
  2. 13 1
      src/common/components/Textarea/index.jsx
  3. 30 0
      src/components/AssistCheck/index.jsx
  4. 6 0
      src/components/DiagnosticItem/index.jsx
  5. 3 0
      src/components/DiagnosticList/index.jsx
  6. 30 0
      src/components/Inspect/index.jsx
  7. 2 2
      src/components/PreviewBody/Inspect/index.jsx
  8. 2 1
      src/components/PushItems/DetailsModal/index.jsx
  9. 6 0
      src/components/PushItems/DetailsModal/index.less
  10. 58 0
      src/components/PushItems/MRAnalyse/index.jsx
  11. 118 0
      src/components/PushItems/MRAnalyse/index.less
  12. 2 0
      src/components/PushItems/RecommendInspect/index.less
  13. 15 1
      src/components/PushItems/index.jsx
  14. 2 1
      src/components/TreatDesc/DrugInfo/index.jsx
  15. 14 8
      src/components/TreatDesc/DrugInfo/index.less
  16. 3 1
      src/containers/AssistCheck.js
  17. 12 2
      src/containers/CheckBody.js
  18. 14 3
      src/containers/CurrentIll.js
  19. 2 1
      src/containers/DiagnosticList.js
  20. 12 3
      src/containers/EditableSpan.js
  21. 4 0
      src/containers/Inspect.js
  22. 13 2
      src/containers/MainSuit.js
  23. 12 1
      src/containers/MultSpread.js
  24. 14 2
      src/containers/Multiple.js
  25. 12 2
      src/containers/NumberDrop.js
  26. 12 2
      src/containers/NumberUnitDrop.js
  27. 12 2
      src/containers/RadioDrop.js
  28. 12 2
      src/containers/RadioInpDrop.js
  29. 30 2
      src/containers/SpreadDrop.js
  30. 2 1
      src/modules/HomePage/index.jsx
  31. 1 1
      src/store/actions/diagnosticList.js
  32. 2 1
      src/store/actions/homePage.js
  33. 6 0
      src/store/actions/pushMessage.js
  34. 2 1
      src/store/async-actions/historyTemplates.js
  35. 5 0
      src/store/async-actions/patInfo.js
  36. 48 3
      src/store/async-actions/pushMessage.js
  37. 2 1
      src/store/async-actions/tabTemplate.js
  38. 16 3
      src/store/reducers/homePage.js
  39. 6 2
      src/store/reducers/pushMessage.js
  40. 4 1
      src/store/reducers/wrapModalBody.js
  41. 4 1
      src/store/reducers/wrapModalBodyPac.js
  42. 2 1
      src/store/types/homePage.js
  43. 1 0
      src/store/types/pushMessage.js
  44. 63 8
      src/utils/tools.js

+ 18 - 1
src/common/components/ItemBox/index.jsx

@@ -2,6 +2,12 @@ import React,{Component} from 'react';
 import style from './index.less';
 import store from '@store';
 import {isIE,handleEnter,setFontColorSize} from '@utils/tools.js';
+import {HIDEDROP,
+  SET_CURRENT_MODULE
+} from '@types/homePage';
+import {
+  getMRAnalyse
+} from '@store/async-actions/pushMessage';
 import $ from 'jquery';
 /***
  * author:zn@2018-11-13
@@ -30,9 +36,20 @@ class ItemBox extends Component {
   }
   handleClick(e){
     e.stopPropagation();
-    const {handleClick,hideAllDrop} = this.props;
+    const {handleClick,hideAllDrop,title} = this.props;
+    const state = store.getState()
+    const moduleName = state.homePage.moduleName
+    const currentIllIsNull = state.currentIll.saveText.length === 0
+    const checkBodyIsNull = state.checkBody.saveText.length === 0
     handleClick && handleClick(e);//为了获取鼠标位置,显示搜索结果框;
     hideAllDrop&&hideAllDrop();
+    if((title=='化验'|| title=='辅检'|| title=='诊断' || title=='医嘱'||title == '现病史' &&  currentIllIsNull || title == '查体' &&  checkBodyIsNull)&& moduleName != title) {
+      store.dispatch({
+        type: SET_CURRENT_MODULE,
+        moduleName:title
+      })
+      store.dispatch(getMRAnalyse())
+    }
   }
   handleInput(e){
     const {handleChange,data} = this.props;

+ 13 - 1
src/common/components/Textarea/index.jsx

@@ -7,6 +7,8 @@ import {getFeature} from '@store/async-actions/fetchModules';
 import {getAllDataList,getAllDataStringList,ifOtherClear,setFontColorSize} from "@utils/tools.js";
 import store from '@store';
 import $ from "jquery";
+import {SET_CURRENT_MODULE} from '@types/homePage';
+import {getMRAnalyse} from '@store/async-actions/pushMessage';
 
 class Textarea extends Component {
   constructor(props) {
@@ -25,7 +27,9 @@ class Textarea extends Component {
     this.handleBlur = this.handleBlur.bind(this);
   }
   handleFocus(e){            //初始显示props中的值,focus已经显示输入的值,避免值更新闪烁
-    const {handleFocus,fuzhen,handleInput,isChronic,hasMain,boxMark} = this.props;
+    const {handleFocus,fuzhen,handleInput,isChronic,hasMain,boxMark,title} = this.props;
+    const state = store.getState()
+    const moduleName = state.homePage.moduleName
     //黏贴时去掉html格式
     const that = this;
     let txt = '';
@@ -56,6 +60,14 @@ class Textarea extends Component {
       this.$dom.current.innerText?(this.$dom.current.innerText = text):(this.$dom.current.innerHTML = text);
       handleInput&&handleInput({text});
     }*/
+    if(moduleName != title) {
+      store.dispatch({
+        type: SET_CURRENT_MODULE,
+        moduleName:title
+      })
+      store.dispatch(getMRAnalyse())
+    }
+
 
   }
   handleInput(e){

+ 30 - 0
src/components/AssistCheck/index.jsx

@@ -9,6 +9,9 @@ import { dragBox } from '@utils/drag';
 import WrapModalBodyPac from '@containers/WrapModalBodyPac';
 import { getExcelList } from '@store/actions/inspect';
 import { host, prefix } from '@utils/config.js';
+import store from '@store';
+import {getMRAnalyse} from '@store/async-actions/pushMessage';
+import {SET_CURRENT_MODULE} from '@types/homePage';
 
 class AssistCheck extends React.Component {
   constructor(props){
@@ -33,12 +36,30 @@ class AssistCheck extends React.Component {
     }
     handleImportExcel() {
       this.inputRef.click();
+      const storeState = store.getState()
+      const {moduleName} = storeState.homePage
+      if(moduleName != '辅检') {
+        store.dispatch({
+          type: SET_CURRENT_MODULE,
+          moduleName:'辅检'
+        });
+        store.dispatch(getMRAnalyse());
+      }
     }
     showSlideImport(){
       let flg = this.state.importLis
       this.setState({
         importLis:!flg
       })
+      const storeState = store.getState()
+      const {moduleName} = storeState.homePage
+      if(moduleName != '辅检') {
+        store.dispatch({
+          type: SET_CURRENT_MODULE,
+          moduleName:'辅检'
+        });
+        store.dispatch(getMRAnalyse());
+      }
     }
 
     onClose() {
@@ -51,6 +72,15 @@ class AssistCheck extends React.Component {
       this.setState({
         hide: true
       })
+      const storeState = store.getState()
+      const {moduleName} = storeState.homePage
+      if(moduleName != '辅检') {
+        store.dispatch({
+          type: SET_CURRENT_MODULE,
+          moduleName:'辅检'
+        });
+        store.dispatch(getMRAnalyse());
+      }
     }
     closeInIcss(){
       this.setState({

+ 6 - 0
src/components/DiagnosticItem/index.jsx

@@ -2,10 +2,14 @@ import React, { Component } from 'react';
 import style from './index.less';
 import {ConfirmModal} from '@commonComp';
 import Notify from '@commonComp/Notify';
+import store from '@store';
 import infoShow from '@common/images/info-show.png';
 import infoMove from '@common/images/info-move.png';
 import {getChronic} from '@store/async-actions/homePage.js';
 import {storageLocal} from '@utils/tools';
+import {
+    getMRAnalyse
+  } from '@store/async-actions/pushMessage';
 
 class DiagnosticItem extends Component{
     constructor(props){
@@ -81,6 +85,8 @@ class DiagnosticItem extends Component{
                EMRScrollCont.scrollYTo(scrollTop);
             })
          }
+         store.dispatch(getMRAnalyse())
+
     }
     handleMouseEnterDrug() {
         this.setState({

+ 3 - 0
src/components/DiagnosticList/index.jsx

@@ -21,6 +21,7 @@ import {getAssessData} from '@store/async-actions/fetchModules';
 import tableIcon from '@common/images/table.png';
 import { CONFIRM_TYPE } from "@store/types/typeConfig";
 import $ from "jquery";
+import {getMRAnalyse} from '@store/async-actions/pushMessage';
 
 class DiagnosticList extends Component {
     constructor(props) {
@@ -135,6 +136,8 @@ class DiagnosticList extends Component {
         const { hideReferRecord ,autoFillModules,refreshScroller} = this.props;
         hideReferRecord && hideReferRecord();
         autoFillModules&&autoFillModules();
+       
+        store.dispatch(getMRAnalyse());
         setTimeout(function(){
           refreshScroller()&&refreshScroller().scrollTop();
         },100)

+ 30 - 0
src/components/Inspect/index.jsx

@@ -10,6 +10,8 @@ import { host, prefix } from '@utils/config.js';
 import { isIE, getUrlArgObject,getCurrentDate,setFontColorSize } from '@utils/tools.js';
 import { dragBox } from '@utils/drag';
 import WrapModalBody from '@containers/WrapModalBody';
+import {getMRAnalyse} from '@store/async-actions/pushMessage';
+import {SET_CURRENT_MODULE} from '@types/homePage';
 
 
 (function ($) {
@@ -130,6 +132,7 @@ class Inspect extends React.Component {
                       }
                     }
                     store.dispatch(getExcelList(res.data));
+                    store.dispatch(getMRAnalyse());
                     fetchPushInfos && fetchPushInfos();
                     if (message && message.length != 0) {
                       that.setState({
@@ -155,6 +158,15 @@ class Inspect extends React.Component {
   }
   handleImportExcel() {
     this.inputRef.click();
+    const storeState = store.getState()
+    const {moduleName} = storeState.homePage
+    if(moduleName != '化验') {
+      store.dispatch({
+        type: SET_CURRENT_MODULE,
+        moduleName:'化验'
+      });
+      store.dispatch(getMRAnalyse());
+    }
   }
   cancel() {
     this.setState({ visible: false })
@@ -182,6 +194,15 @@ class Inspect extends React.Component {
     this.setState({
       hide: true
     })
+    const storeState = store.getState()
+    const {moduleName} = storeState.homePage
+    if(moduleName != '化验') {
+      store.dispatch({
+        type: SET_CURRENT_MODULE,
+        moduleName:'化验'
+      });
+      store.dispatch(getMRAnalyse());
+    }
   }
   onClose() {
     this.setState({
@@ -199,6 +220,15 @@ class Inspect extends React.Component {
     this.setState({
       importLis:!flg
     })
+    const storeState = store.getState()
+    const {moduleName} = storeState.homePage
+    if(moduleName != '化验') {
+      store.dispatch({
+        type: SET_CURRENT_MODULE,
+        moduleName:'化验'
+      });
+      store.dispatch(getMRAnalyse());
+    }
   }
   refreshScroller(){
     //滚动条对象

+ 2 - 2
src/components/PreviewBody/Inspect/index.jsx

@@ -22,7 +22,7 @@ const PreviewInspect = (props) => {
                       <td className={style.assistTableTdTrd}>
                         {normalVal(value.min, value.max)}
                       </td>
-                      <td className={style.assistTableTdFor}>{value.time == '' ? ('导入时间: ' + dateTime) : '化验时间: ' + toTime(value.time)
+                      <td className={style.assistTableTdFor}>{value.time == '' ? ('导入时间:' + dateTime) : '化验时间:' + toTime(value.time)
                     }</td>
                     </tr>
                   })
@@ -55,7 +55,7 @@ const PreviewInspect = (props) => {
                       <td className={style.assistTableTdTrd}>
                         {normalVal(val.minValue, val.maxValue)}
                       </td>
-                      <td className={style.assistTableTdFor}>{'化验时间:' + item.time}</td>
+                      <td className={style.assistTableTdFor}>{'化验时间' + item.time}</td>
                     </tr>
                   }
                 })

+ 2 - 1
src/components/PushItems/DetailsModal/index.jsx

@@ -67,7 +67,8 @@ class DetailsModal extends Component {
 
                 <div className={styles['details-wrapper']}>
                     <div className={styles['details-content-wrapper']} id="detailsContentWrap">
-                        <h1 id="detailsContentTitle" className={`${styles['details-content-name']} drag-title`} >{tipsDetails && showAllName ? showAllName : tipsDetails &&tipsDetails.name} <img className={styles['details-close']} onClick={this.hideTips} src={close} /></h1>
+                        <div id="detailsContentTitle" className={`${styles['details-drag-name']} drag-title`}></div>
+                        <h1  className={`${styles['details-content-name']}`} >{tipsDetails && showAllName ? showAllName : tipsDetails &&tipsDetails.name} <img className={styles['details-close']} onClick={this.hideTips} src={close} /></h1>
                         <div className={styles['details-content']} id= 'detailsContent' onScroll={this.handleScrollModal.bind(this, tipsDetails)}>
                             {tipsDetails && tipsDetails.details && tipsDetails.details.map((item, index) => {
                                 return (<div id={item.title} class={styles['details-content-box']}>

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

@@ -11,6 +11,12 @@
         max-width: 100%;
     }
 }
+.details-drag-name {
+    position: absolute;
+    width: 100%;
+    height: 70px;
+    top: 0;
+}
 
 .details-content-wrapper {
     position: fixed;

+ 58 - 0
src/components/PushItems/MRAnalyse/index.jsx

@@ -0,0 +1,58 @@
+import React, { Component } from 'react';
+import style from './index.less';
+import up from '@common/images/slide-up.png';
+import down from '@common/images/slide-down.png';
+import chronicPic from "@common/images/chronic.png";
+import className from 'classnames';
+import $ from 'jquery';
+import config from '@config/index';
+
+class MRAnalyse extends Component {
+    constructor(props) {
+        super(props)
+        this.state = {
+            slideUp: false
+        }
+        this.$content = React.createRef();
+
+        this.slideToggle = this.slideToggle.bind(this);
+    }
+    slideToggle(){
+        const { slideUp } = this.state
+        $(this.$content.current).slideToggle(config.slideTime);
+        this.setState({
+            slideUp: !slideUp
+        })
+    }
+    getDetail() {
+        const { MRAnalyseResult } = this.props
+        // const result =[
+        //     "诊断名称不标准(腹痛待查)",
+        //     "现病史缺少症状部位(腹痛)",
+        //     "现病史缺少症状缓解情况(腹痛)",
+        //     "现病史缺少症状加剧情况(腹痛)"
+        // ]
+        return MRAnalyseResult.map(item => (
+            <p>{item}</p>
+        ))
+    }
+    render() {
+        const {slideUp} = this.state
+        return <div className={style["tips"]} style={{marginBottom:'15px'}}>
+            <div className={className(style["tips-title"],style["chronic"],"clearfix")} onClick={this.slideToggle}>
+                <div className={style["tips-name"]}>
+                    <img src={chronicPic} />
+                    <h2>{'病历书写规范提示'}<span className={style["redTips"]}></span></h2>
+                </div>
+                <div className={style['toggle-btn']}>
+                    <img src={slideUp?down:up} alt="展开/收起"/>
+                </div>
+            </div>
+            <div className={style["content"]} ref={this.$content}>
+                {this.getDetail()}
+            </div>
+        </div>
+    }
+}
+
+export default MRAnalyse;

+ 118 - 0
src/components/PushItems/MRAnalyse/index.less

@@ -0,0 +1,118 @@
+@import "~@less/mixin.less";
+.tips{
+    border:1px solid #EAEDF1;
+    margin-bottom: 15px;
+    .tips-title{
+      font-size: 14px;
+      color: #000;
+      padding: 8px 15px;
+      background: #EAF7FA;
+      font-weight: bold;
+      white-space: nowrap;
+      cursor: pointer;
+      background: rgba(242,150,91,0.1);
+      .tips-name{
+        width: 238px;
+        float: left;
+        /*display: inline-block;*/
+        img {
+          float:left;
+          margin-top: 0px;
+          margin-right: 5px;
+        }
+      }
+      h2{
+        display: inline-block;
+      }
+      .tips-btn{
+        display: inline-block;
+        float: right;
+      }
+      .redTips{
+        display: inline-block;
+        font-size: 12px;
+        -webkit-transform:scale(0.9);
+        color: red;
+        font-weight: normal;
+        white-space: nowrap;
+      }
+      .tipsDetails {
+        .btnCom;
+        display: inline-block;
+        font-weight: normal;
+        width: 42px;
+        height: 20px;
+        border: 1px solid #262626;
+        font-size: 12px;
+        color: #262626;
+        line-height: 18px;
+        margin: 0 0 -2px 10px;
+        }
+      }
+      .toggle-btn{
+        /*display: inline-block;*/
+        float: right;
+        cursor: pointer;
+      }
+      .content{
+        font-size: 14px;
+        padding:6px 15px;
+        transition:display 2s;
+        -moz-transition:display 2s; /* Firefox 4 */
+        -webkit-transition:display 2s; /* Safari and Chrome */
+        -o-transition:display 2s; /* Opera */
+        .list{
+          border-bottom: 1px solid #EAEDF1;
+          padding-bottom: 10px;
+          position: relative;
+          .infoPic{
+            vertical-align: middle;
+            margin: 0 5px;
+            cursor: pointer;
+          }
+          >p{
+            margin-top: 10px;
+          }
+          .listName{
+            color:#3B9ED0;
+            cursor: pointer;
+            display: inline-block;
+            width: 73%;
+          }
+           .listResult{
+            .add-record;
+          }
+          .addResult{
+            color: #3B9ED0;
+            text-align: left;
+            padding-left: 5px;
+            cursor: default;
+          }
+        }
+        .marTop{
+          margin-top: 10px;
+          position: relative;
+          .limit{
+            display: inline-block;
+            width: 72%;
+          }
+          img{
+            vertical-align: middle;
+          }
+        }
+        .blue{
+          color:#3B9ED0;
+          cursor: pointer;
+        }
+        .infoOption{
+          padding: 20px 0;
+        }
+        .list:last-child{
+          border-bottom:none;
+        }
+      }
+  
+    .slide{
+      display: none;
+    }
+    }

+ 2 - 0
src/components/PushItems/RecommendInspect/index.less

@@ -53,6 +53,8 @@ overflow: hidden;
   color:  #58ACD7;;
   font-size: 14px;
   cursor: pointer;
+  position: relative;
+  top: 5px;
   img {
     width: 12px;
     height: 12px;

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

@@ -8,6 +8,7 @@ import vigilantImg from "../../common/images/vigilant.png";
 import likelyImg from "../../common/images/likely.png";
 import DetailsModal from './DetailsModal';
 import PushDiag from "./PushDiag";
+import MRAnalyse from './MRAnalyse';
 import DiagnosticItem from "@containers/DiagnosticItem";
 import store from "@store";
 import {addLabel} from '@store/actions/inspect';
@@ -19,6 +20,7 @@ import RecommendInspect from './RecommendInspect';
 import TipsMsg from './TipsMsg'
 import dataLis from '@components/EmergencyProcedure/emergency';
 import EmergencyProcedure from '@components/EmergencyProcedure';
+import {getMRAnalyse} from '@store/async-actions/pushMessage';
 
 class PushItems extends Component {
   constructor(props) {
@@ -61,6 +63,7 @@ class PushItems extends Component {
     const checkedAssay = assay.filter(item => item.checked);
     const checkedCheck = check.filter(item => item.checked);
     this.props.billing(checkedAssay, checkedCheck);
+    
     let obj = {   //添加化验
       details: [],
       name: '',
@@ -92,6 +95,7 @@ class PushItems extends Component {
       }
       store.dispatch(addLabel(assayArr))
     }
+
     if(checkedCheck.length > 0){
       let checkArr = []
       for(let i = 0;i < checkedCheck.length;i++){
@@ -101,6 +105,11 @@ class PushItems extends Component {
         checkArr.push(tmpObj)
       }
       store.dispatch(addAssistLabel(checkArr))
+
+      
+    }
+    if(checkedAssay.length > 0 ||checkedCheck.length > 0) {
+      store.dispatch(getMRAnalyse())
     }
     //滚动到底部
     setTimeout(function(){
@@ -162,7 +171,8 @@ class PushItems extends Component {
       tipsDetails,
       tmpFlg,
       showPartName,
-      showAllName
+      showAllName,
+      MRAnalyseResult
     } = this.props.pushMessage;
     const { tipsDiscalimer,chronicPushItems,wholeIndexs,setPushEmergencyIdx,sysConfig,windowHeight,hideAllDrop,getInfomation} = this.props;
     const {
@@ -269,6 +279,10 @@ class PushItems extends Component {
             {<ChronicInfo
               patDom={this.$cont}
               data={chronicPushItems}></ChronicInfo>}
+           {MRAnalyseResult.length > 0 && <MRAnalyse
+              MRAnalyseResult = {MRAnalyseResult}
+            >
+            </MRAnalyse>}
             <TipsMsg
               patDom={this.$cont}
              tmpFlg = {tmpFlg}

+ 2 - 1
src/components/TreatDesc/DrugInfo/index.jsx

@@ -57,7 +57,8 @@ class DrugInfo extends Component {
         const { currentIndex } = this.state
         return (<div className={style['drug-info-wrapper']} id="drugWrapper">
                 <img src={close} onClick={hideDrugInfo} className={style['close-drug-desc']}/>
-                <h1 onMouseDown={this.setDragBox} id="drugTitle" className={style['drug-title']}>{drugInfo.tagType == 8 ? drugInfo.title+'说明书' : drugInfo.tagType == 10 ? drugInfo.title+ '说明': ''}</h1>
+                <div id="drugTitle" className={`${style['details-drag-name']}`}></div>
+                <h1 onMouseDown={this.setDragBox}  className={style['drug-title']}>{drugInfo.tagType == 8 ? drugInfo.title+'说明书' : drugInfo.tagType == 10 ? drugInfo.title+ '说明': ''}</h1>
                 { drugInfo && drugInfo.drugDesc.length > 0 && <div className={style['drug-desc-wrapper']} id='drugDesc' onScroll={this.handleScrollModal.bind(this,  drugInfo.drugDesc)}>
                     {/* <div className={style['drug-title1']} >{drugInfo.tagType == 8 ? drugInfo.title+'说明书' : drugInfo.tagType == 10 ? drugInfo.title+ '说明': ''}</div> */}
                     {drugInfo.drugDesc.map((item, index) =>{

+ 14 - 8
src/components/TreatDesc/DrugInfo/index.less

@@ -29,16 +29,11 @@
     overflow-y: auto;
     padding: 0 40px;
 }
-.drug-title {
+.details-drag-name {
     position: absolute;
-    top: 43px;
     width: 100%;
-    height: 37px;
-    line-height: 37px;
-    font-size: 28px;
-    font-weight: bold;
-    padding: 0 40px;
-    color: #1E1E1E;
+    height: 70px;
+    top: 0;
     cursor: move;
     moz-user-select: -moz-none;
     -moz-user-select: none;
@@ -48,6 +43,17 @@
     -ms-user-select:none;
     user-select:none;
 }
+.drug-title {
+    position: absolute;
+    top: 43px;
+    width: 100%;
+    height: 37px;
+    line-height: 37px;
+    font-size: 28px;
+    font-weight: bold;
+    padding: 0 40px;
+    color: #1E1E1E;
+}
 
 .close-drug-desc {
     .contentZIndex1;

+ 3 - 1
src/containers/AssistCheck.js

@@ -6,7 +6,7 @@ import AssistCheck from '@components/AssistCheck';
 import { assistLable,delAssistLabel,changeAssistVal,changeDate,allCheckImports,selectOneChecks,showInIcsss } from '@store/actions/assistCheck';
 import { getSearchList,getInstroduce ,getImportLists,getSonDetailList} from '@store/async-actions/assistCheck';
 import {ISREAD,HIDEDROP} from '@store/types/homePage.js';
-import {billing, getConceptDetail} from '@store/async-actions/pushMessage';
+import {billing, getConceptDetail,getMRAnalyse} from '@store/async-actions/pushMessage';
 import { getCalendarDate} from '@utils/tools';
 
 function mapStateToProps(state) {//console.log(state.typeConfig)
@@ -58,9 +58,11 @@ function mapDispatchToProps(dispatch, store) {
         },
         handleSign(id,idx,type){
             dispatch(assistLable(id,idx,type))
+            dispatch(getMRAnalyse())
         },
         handleDelAssist(idx,name,type){
             dispatch(delAssistLabel(idx,name,type))
+            dispatch(getMRAnalyse())
             dispatch({
               type:ISREAD
             })

+ 12 - 2
src/containers/CheckBody.js

@@ -1,10 +1,11 @@
 import {connect} from 'react-redux';
 import CheckBody from '@components/CheckBody';
 import {getModule,getInitData,pregetCheckbodyData} from '@store/async-actions/fetchModules.js';
-import {HIDE,RESET,SETDROPSHOW,ISREAD,MODI_LOADING,HIDEDROP} from '@store/types/homePage.js';
+import {HIDE,RESET,SETDROPSHOW,ISREAD,MODI_LOADING,HIDEDROP,SET_CURRENT_MODULE} from '@store/types/homePage.js';
 import {SELECTSEARCHDATA,REPUSH_CHECK_LABELS} from "@store/types/checkBody";
-import {billing} from '@store/async-actions/pushMessage';
+import {billing,getMRAnalyse} from '@store/async-actions/pushMessage';
 import {didPushParamChange,filterDataArr} from '@utils/tools.js';
+import store from '@store';
 
 function mapStateToProps(state){ 
   const {homePage,mainSuit,checkBody,diagnosticList} = state;
@@ -59,7 +60,16 @@ function mapDispatchToProps(dispatch){
       });
     },
     rePush(){
+      const storeState = store.getState()
+      const {moduleName} = storeState.homePage
       dispatch(pregetCheckbodyData(false,true));
+      if(moduleName != '查体') {
+        dispatch({
+          type: SET_CURRENT_MODULE,
+          moduleName: '查体'
+        });
+        dispatch(getMRAnalyse());
+      }
     },
     hideAllDrop(){
       dispatch({

+ 14 - 3
src/containers/CurrentIll.js

@@ -4,11 +4,12 @@ import CurrentIll from '@components/CurrentIll';
 import {INSERT_PROCESS,SET_CURRENT_DATA,SETTEXTMODEVALUE,SET_LABEL_MODULE,SELECT_SEARCHDATA,CLEAR_CURRENT_EDIT,SAVE_CURR_FREE} from '@store/types/currentIll';
 import {pushMessage} from '../store/async-actions/pushContainer';
 import {getModules} from '../store/async-actions/fetchModules.js';
-import {HIDE,RESET,CLICKCOUNT,ISREAD,SETDROPSHOW,HIDEDROP} from '@store/types/homePage';
-import {billing} from '@store/async-actions/pushMessage';
+import {HIDE,RESET,CLICKCOUNT,ISREAD,SETDROPSHOW,HIDEDROP,SET_CURRENT_MODULE} from '@store/types/homePage';
+import {billing,getMRAnalyse} from '@store/async-actions/pushMessage';
 import {getModule} from '@store/async-actions/fetchModules';
 import {didPushParamChange,filterDataArr} from '@utils/tools';
 import {Notify} from '@commonComp';
+import store from '@store';
 
 function mapStateToProps(state) {
   const {homePage,currentIll,mainSuit,diagnosticList,typeConfig} = state;
@@ -47,7 +48,10 @@ function mapStateToProps(state) {
 
 function mapDispatchToProps(dispatch) {
     return {
-       insertProcess(obj,allModules){//点击病程变化
+        insertProcess(obj,allModules){//点击病程变化
+        const storeState = store.getState()
+        const {moduleName, moduleObj} = storeState.homePage
+
         // 埋点dispatch
         dispatch({
           type:CLICKCOUNT,
@@ -58,6 +62,13 @@ function mapDispatchToProps(dispatch) {
         dispatch({
           type:INSERT_PROCESS,
         });
+        if(moduleName != '现病史') {
+          dispatch({
+            type: SET_CURRENT_MODULE,
+            moduleName: '现病史'
+          });
+          dispatch(getMRAnalyse());
+        }
         dispatch({
           type:ISREAD
         })

+ 2 - 1
src/containers/DiagnosticList.js

@@ -4,7 +4,7 @@ import DiagnosticList from '@components/DiagnosticList';
 import { DEL_DIAGNOSTIC, UP_DIAGNOSTIC, DOWN_DIAGNOSTIC, GET_DIAGNOSTIC_STR, HIDE_REFER_RECORD, SHOW_HISTORY_CASE,HIDE_HISTORY_CASE ,SHOW_LOADING} from '@store/types/diagnosticList'; 
 import { getTreatResult } from '@store/async-actions/treat';
 import { SHOW_TREAT, DEL_REACT, DEL_FOLLOW_UP } from '@store/types/treat.js';
-import {billing, getConceptDetail} from '../store/async-actions/pushMessage';
+import {billing, getConceptDetail,getMRAnalyse} from '../store/async-actions/pushMessage';
 import {keepPushData} from '@store/actions/tabTemplate';
 import { visibleHistory } from '@store/actions/historyTemplates'
 import {autoFillModules} from '@store/async-actions/fetchModules';
@@ -49,6 +49,7 @@ function mapDispatchToProps(dispatch) {
             dispatch({
                 type: GET_DIAGNOSTIC_STR
             });
+            dispatch(getMRAnalyse())
         },
         delReact: (item) => {
             dispatch({

+ 12 - 3
src/containers/EditableSpan.js

@@ -5,10 +5,11 @@ import {SET_SEARCH,MAIN_FOCUS_INDEX,CLEAR_SEARCH,SETMAINTEXT,DEL_MAIN,REMOVE_MAI
 import {SETOTHERTEXT,SETOTHERSEARCHDATA,OTHER_FOCUS_INDEX,OTHERHIS_CLEAR,DEL_OTHERHIS,REMOVE_OTHER_ID,DEL_OTHERHIS_LABLE} from '@types/otherHistory';
 import {SET_CURRENT_SEARCH,CURRENT_CLEAR,SETCURRENTTEXT,CURRENT_FOCUS_INDEX,DEL_CURRENT,REMOVE_CURR_ID,DEL_CURRENT_LABLE} from '@types/currentIll';
 import {getSearch} from '@store/async-actions/fetchModules';
-import {billing} from '@store/async-actions/pushMessage';
+import {billing,getMRAnalyse} from '@store/async-actions/pushMessage';
 import {didPushParamChange,storageLocal} from '@utils/tools';
-import {SETTEXTFOCUS,RESET,SETDROPSHOW,ISREAD,SET_SELECTED_AREA} from '@types/homePage';
+import {SETTEXTFOCUS,RESET,SETDROPSHOW,ISREAD,SET_SELECTED_AREA,SET_CURRENT_MODULE} from '@types/homePage';
 import config from '@config/index';
+import store from '@store';
 
 function mapStateToProps(state){//console.log(state)
   return {
@@ -91,7 +92,8 @@ function otherHisSearch(obj) {
 function mapDispatchToProps(dispatch,state) {
   return {
     setFocusIndex(obj){//将选中值插入相应位置
-
+      const storeState = store.getState()
+      const {moduleName, moduleObj} = storeState.homePage
       const {i,boxMark} = obj;
       switch (+obj.boxMark){
         case 1:
@@ -138,6 +140,13 @@ function mapDispatchToProps(dispatch,state) {
       dispatch({
         type: RESET
       });
+      if(moduleName != moduleObj[boxMark]) {
+        dispatch({
+          type: SET_CURRENT_MODULE,
+          moduleName: moduleObj[boxMark]
+        });
+        dispatch(getMRAnalyse());
+      }
     },
     handleChange(obj){//存data值
       switch (+obj.boxMark){

+ 4 - 0
src/containers/Inspect.js

@@ -21,6 +21,7 @@ import {
 import {
   billing,
   getConceptDetail,
+  getMRAnalyse
 } from '@store/async-actions/pushMessage';
 import {HIDEDROP} from '@types/homePage';
 
@@ -55,6 +56,7 @@ function mapDispatchToProps(dispatch, store) {
     handleSign(id, idx, type) {
       dispatch(setLabel(idx, type))
       dispatch(getSublableList(id))
+      dispatch(getMRAnalyse())
     },
     handleLabelSub(e, id, idx) {
       dispatch(fillActived(id, idx))
@@ -73,9 +75,11 @@ function mapDispatchToProps(dispatch, store) {
     },
     handleCloseExcel(idx) {
       dispatch(delExcelLis(idx));
+      dispatch(getMRAnalyse())
     },
     delPartItem(idx) {
       dispatch(delPartItem(idx))
+      dispatch(getMRAnalyse())
     },
     setTipValue(idx,value) {
       dispatch(setTip(idx,value))

+ 13 - 2
src/containers/MainSuit.js

@@ -2,17 +2,18 @@ import React from 'react';
 import { connect } from 'react-redux';
 import MainSuit from '@components/MainSuit';
 import {CLEAR_COMSYMPTOMS,SHOW_TAIL,INSERT_MAIN,CLEAR_SEARCH,SET_SEARCH,SAVE_FREE,SET_DATA,INSERT_SEARCH,SETTEXTMODEVALUE,SET_FEATURE,SAVE_CHRONIC,SHOW_HISTORY_BOX,HIDE_HISTORY_BOX} from '@store/types/mainSuit';
-import {RESET,CLICKCOUNT,ISREAD,MODI_LOADING,SETDROPSHOW} from '@store/types/homePage.js';
+import {RESET,CLICKCOUNT,ISREAD,MODI_LOADING,SETDROPSHOW,SET_CURRENT_MODULE} from '@store/types/homePage.js';
 import {getCommSymptoms,getCommSymptomPush} from '@store/async-actions/mainSuit.js'
 import {CLEAR_DIAGNOSE} from '@store/types/diagnosticList';
 import {getSearch,getFeature,autoFillModules} from '@store/async-actions/fetchModules';
-import {billing} from '@store/async-actions/pushMessage';
+import {billing,getMRAnalyse} from '@store/async-actions/pushMessage';
 import {didPushParamChange,filterDataArr,inspectAndAssist} from '@utils/tools.js';
 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";
+import store from '@store';
 
 function mapStateToProps(state) {
   const {mainSuit,homePage,diagnosticList,typeConfig} = state;
@@ -45,6 +46,7 @@ function mapStateToProps(state) {
 }
 
 function mapDispatchToProps(dispatch) {
+  
     return {
         reTotalHide:()=>{//重置隐藏
           dispatch({
@@ -218,10 +220,19 @@ function mapDispatchToProps(dispatch) {
         dispatch(autoFillModules())
       },
       handleShow(obj) {
+        const storeState = store.getState()
+        const {moduleName, moduleObj} = storeState.homePage
         dispatch({
           type:SETDROPSHOW,
           data:obj
         });
+        if(moduleName != moduleObj[obj.ikey]) {
+          dispatch({
+            type: SET_CURRENT_MODULE,
+            moduleName: moduleObj[obj.ikey]
+          });
+          dispatch(getMRAnalyse());
+        }
         dispatch({
           type: RESET
         });

+ 12 - 1
src/containers/MultSpread.js

@@ -5,7 +5,9 @@ import {OTHERADDLABELITEM} from '@types/otherHistory';
 import {ADDLABELITEM} from '@types/checkBody';
 import {MAINADDLABELITEM} from '@store/types/mainSuit';
 import {CURRENTADDLABELITEM} from '@store/types/currentIll';
-import {HIDE,RESET,CLICKCOUNT,SETADDITEMINIT,ISREAD,SET_SELECTED_AREA} from '@store/types/homePage';
+import {HIDE,RESET,CLICKCOUNT,SETADDITEMINIT,ISREAD,SET_SELECTED_AREA,SET_CURRENT_MODULE} from '@store/types/homePage';
+import store from '@store';
+import {getMRAnalyse} from '@store/async-actions/pushMessage';
 
 function mapStateToProps(state){
   return {
@@ -61,6 +63,8 @@ function mapDispatchToProps(dispatch){
       const {copyId,ikey} = param;
       const boxMark = ikey.substr(0,1);
       const inx = ikey.split("-")[1];
+      const storeState = store.getState()
+      const {moduleName, moduleObj} = storeState.homePage
       //埋点记录
       dispatch({
         type:CLICKCOUNT,
@@ -69,6 +73,13 @@ function mapDispatchToProps(dispatch){
         num:1
       });
       dispatch(getCopyData(copyId,inx,boxMark));
+      if(moduleName != moduleObj[ikey[0]]) {
+        dispatch({
+          type: SET_CURRENT_MODULE,
+          moduleName: moduleObj[ikey[0]]
+        });
+        dispatch(getMRAnalyse());
+      }
     },
     handleClick(obj){
       dispatch({

+ 14 - 2
src/containers/Multiple.js

@@ -1,15 +1,16 @@
 // import React from "react";
 import {connect} from "react-redux";
 import Multiple from "@components/Multiple";
-import {RESET,SETDROPSHOW,HIDEDROP,CLICKCOUNT,SET_SELECTED_AREA} from '@store/types/homePage.js';
+import {RESET,SETDROPSHOW,HIDEDROP,CLICKCOUNT,SET_SELECTED_AREA,SET_CURRENT_MODULE} from '@store/types/homePage.js';
 import {CURRENT_MUL,CURRENT_TEXT_LABEL} from '@types/currentIll';
 import {MAINSUIT_MUL,CHANGE_LABELVAL} from '@types/mainSuit';
 import {OTHERHIS_MUL,CHANGEOTHERTEXTLABEL} from '@types/otherHistory';
 import {CHECKBODY_MUL,CHANGECHECKTEXTLABEL} from '@types/checkBody';
 import {filterDataArr,getLabelIndex,didPushParamChange} from '@utils/tools.js';
 import config from '@config/index.js';
-import {billing} from '@store/async-actions/pushMessage';
+import {billing, getMRAnalyse} from '@store/async-actions/pushMessage';
 import {Notify} from '@commonComp';
+import store from '@store';
 
 function handleMainSuit(dispatch,params){
   const {ikey,seleData,seleId,value,mainSaveText} = params;
@@ -141,8 +142,12 @@ function mapStateToProps(state){
 }
 
 function mapDispatchToProps(dispatch){
+
   return{
+   
     handleShow(obj){
+      const storeState = store.getState()
+      const {moduleName, moduleObj} = storeState.homePage
       dispatch({
         type:CLICKCOUNT,
         data:obj,
@@ -153,6 +158,13 @@ function mapDispatchToProps(dispatch){
         type:SETDROPSHOW,
         data:obj
       });
+      if(moduleName != moduleObj[obj.ikey[0]]) {
+        dispatch({
+          type: SET_CURRENT_MODULE,
+          moduleName: moduleObj[obj.ikey[0]]
+        });
+        dispatch(getMRAnalyse());
+      }
       dispatch({
         type: RESET
       });

+ 12 - 2
src/containers/NumberDrop.js

@@ -3,13 +3,14 @@ import {connect} from 'react-redux';
 import NumberDrop from "@components/NumberDrop";
 import {SETNUMBER,CHANGEOTHERTEXTLABEL} from '@types/otherHistory';
 import {SETNUMBER4} from '@types/checkBody';
-import {SETDROPSHOW,CLICKCOUNT,HIDE,RESET,HIDEDROP,ISREAD,SET_SELECTED_AREA} from '@types/homePage';
+import {SETDROPSHOW,CLICKCOUNT,HIDE,RESET,HIDEDROP,ISREAD,SET_SELECTED_AREA,SET_CURRENT_MODULE} from '@types/homePage';
 import {NUMBER_SELECT} from '@store/types/mainSuit';
 import {CURRENT_NUMBER} from '@store/types/currentIll';
-import {billing} from '@store/async-actions/pushMessage';
+import {billing,getMRAnalyse} from '@store/async-actions/pushMessage';
 import {Notify} from '@commonComp';
 import {filterArr,didPushParamChange,filterDataArr} from '@utils/tools';
 import config from '@config/index';
+import storeGlobal from '@store';
 
 function mapStateToProps(state){
   return {
@@ -89,6 +90,8 @@ function mapDispatchToProps(dispatch,store){
       })
     },
     handleShow(params) {
+      const storeState = storeGlobal.getState()
+      const {moduleName, moduleObj} = storeState.homePage
       dispatch({
         type:CLICKCOUNT,
         data:params,
@@ -99,6 +102,13 @@ function mapDispatchToProps(dispatch,store){
         type:SETDROPSHOW,
         data:params
       });
+      if(moduleName != moduleObj[params.ikey[0]]) {
+        dispatch({
+          type: SET_CURRENT_MODULE,
+          moduleName: moduleObj[params.ikey[0]]
+        });
+        dispatch(getMRAnalyse());
+      }
       /*dispatch({
         type: RESET
       });*/

+ 12 - 2
src/containers/NumberUnitDrop.js

@@ -3,13 +3,14 @@ import {connect} from 'react-redux';
 import NumberUnitDrop from "@components/NumberUnitDrop";
 import {SETNUMBER,CHANGEOTHERTEXTLABEL} from '@types/otherHistory';
 import {SETNUMBER4,CHANGECHECKTEXTLABEL} from '@types/checkBody.js';
-import {SETDROPSHOW,CLICKCOUNT,HIDE,RESET,HIDEDROP,ISREAD,SET_SELECTED_AREA} from '@types/homePage.js';
+import {SETDROPSHOW,CLICKCOUNT,HIDE,RESET,HIDEDROP,ISREAD,SET_SELECTED_AREA,SET_CURRENT_MODULE} from '@types/homePage.js';
 import {NUMBER_SELECT,CHANGE_LABELVAL} from '@store/types/mainSuit.js';
 import {CURRENT_NUMBER,CURRENT_TEXT_LABEL} from '@store/types/currentIll.js';
 import {Notify} from '@commonComp';
 import {didPushParamChange,filterDataArr,getLabelIndex} from '@utils/tools.js';
-import {billing} from '@store/async-actions/pushMessage';
+import {billing,getMRAnalyse} from '@store/async-actions/pushMessage';
 import config from '@config/index.js';
+import storeGlobal from '@store';
 
 function mapStateToProps(state){
   return {
@@ -162,6 +163,8 @@ function mapDispatchToProps(dispatch,store){
       })
     },
     handleShow(params) {
+      const storeState = storeGlobal.getState()
+      const {moduleName, moduleObj} = storeState.homePage
       dispatch({
         type:CLICKCOUNT,
         data:params,
@@ -172,6 +175,13 @@ function mapDispatchToProps(dispatch,store){
         type:SETDROPSHOW,
         data:params
       });
+      if(moduleName != moduleObj[params.ikey[0]]) {
+        dispatch({
+          type: SET_CURRENT_MODULE,
+          moduleName: moduleObj[params.ikey[0]]
+        });
+        dispatch(getMRAnalyse());
+      }
       /*dispatch({
         type: RESET
       });*/

+ 12 - 2
src/containers/RadioDrop.js

@@ -3,13 +3,14 @@ import {connect} from 'react-redux';
 import RadioDrop from "@components/RadioDrop";
 import {SETRADIO,CLEARSELECTED,CONFIRMSELECTED,CHANGEOTHERTEXTLABEL} from '@types/otherHistory';
 import {SETSELECTED4,CHANGECHECKTEXTLABEL} from '@types/checkBody';
-import {SETDROPSHOW,HIDE,RESET,HIDEDROP,CLICKCOUNT,ISREAD,SET_SELECTED_AREA} from '@types/homePage.js';
+import {SETDROPSHOW,HIDE,RESET,HIDEDROP,CLICKCOUNT,ISREAD,SET_SELECTED_AREA,SET_CURRENT_MODULE} from '@types/homePage.js';
 import {RADIO_SELECT,CHANGE_LABELVAL} from '@store/types/mainSuit.js';
 import {CURRENT_RADIO,CURRENT_TEXT_LABEL} from '@store/types/currentIll.js';
 import {Notify} from '@commonComp';
 import {filterArr,didPushParamChange,filterDataArr,getLabelIndex,fullfillText} from '@utils/tools.js';
-import {billing} from '@store/async-actions/pushMessage';
+import {billing,getMRAnalyse} from '@store/async-actions/pushMessage';
 import config from '@config/index.js';
+import storeGlobal from '@store';
 
 function mapStateToProps(state){
   const {typeConfig} = state;
@@ -139,6 +140,8 @@ function mapDispatchToProps(dispatch,store){
       })
     },
     handleShow(obj) {
+      const storeState = storeGlobal.getState()
+      const {moduleName, moduleObj} = storeState.homePage
       dispatch({
         type:CLICKCOUNT,
         data:obj,
@@ -149,6 +152,13 @@ function mapDispatchToProps(dispatch,store){
         type:SETDROPSHOW,
         data:obj
       });
+      if(moduleName != moduleObj[obj.ikey[0]]) {
+        dispatch({
+          type: SET_CURRENT_MODULE,
+          moduleName: moduleObj[obj.ikey[0]]
+        });
+        dispatch(getMRAnalyse());
+      }
       dispatch({
         type: RESET
       });

+ 12 - 2
src/containers/RadioInpDrop.js

@@ -3,13 +3,14 @@ import {connect} from 'react-redux';
 import RadioInpDrop from "@components/RadioInpDrop";
 import {SETRADIO,CLEARSELECTED,CONFIRMSELECTED,SET_OT_RADIO_INPUT_VAL} from '@types/otherHistory';
 import {SETSELECTED4,SET_CK_RADIO_INPUT_VAL} from '@types/checkBody';
-import {SETDROPSHOW,HIDE,RESET,HIDEDROP,CLICKCOUNT,ISREAD,SET_SELECTED_AREA} from '@types/homePage.js';
+import {SETDROPSHOW,HIDE,RESET,HIDEDROP,CLICKCOUNT,ISREAD,SET_SELECTED_AREA,SET_CURRENT_MODULE} from '@types/homePage.js';
 import {RADIO_SELECT,SET_MS_RADIO_INPUT_VAL} from '@store/types/mainSuit.js';
 import {CURRENT_RADIO,SET_RADIO_INPUT_VALUE} from '@store/types/currentIll.js';
 import {Notify} from '@commonComp';
 import {filterArr,didPushParamChange,filterDataArr,getLabelIndex,fullfillText} from '@utils/tools.js';
-import {billing} from '@store/async-actions/pushMessage';
+import {billing,getMRAnalyse} from '@store/async-actions/pushMessage';
 import config from '@config/index.js';
+import storeGlobal from '@store';
 
 function mapStateToProps(state){
   return {
@@ -149,6 +150,8 @@ function mapDispatchToProps(dispatch,store){
       })
     },
     handleShow(obj) {
+      const storeState = storeGlobal.getState()
+      const {moduleName, moduleObj} = storeState.homePage
       dispatch({
         type:CLICKCOUNT,
         data:obj,
@@ -159,6 +162,13 @@ function mapDispatchToProps(dispatch,store){
         type:SETDROPSHOW,
         data:obj
       });
+      if(moduleName != moduleObj[obj.ikey[0]]) {
+        dispatch({
+          type: SET_CURRENT_MODULE,
+          moduleName: moduleObj[obj.ikey[0]]
+        });
+        dispatch(getMRAnalyse());
+      }
       dispatch({
         type: RESET
       });

+ 30 - 2
src/containers/SpreadDrop.js

@@ -3,17 +3,18 @@ import {connect} from 'react-redux';
 
 import SpreadDrop from '@components/SpreadDrop';
 import {SETSELECTED,CLEARSELECTED,CONFIRMSELECTED,SETOTHERCHECKBOX,CHANGEOTHERTEXTLABEL} from '@types/otherHistory';
-import {RESET,SETDROPSHOW,HIDEDROP,CLICKCOUNT,ISREAD,SET_SELECTED_AREA} from '@store/types/homePage.js';
+import {RESET,SETDROPSHOW,HIDEDROP,CLICKCOUNT,ISREAD,SET_SELECTED_AREA,SET_CURRENT_MODULE} from '@store/types/homePage.js';
 import {getModules as fetchModules} from '@store/async-actions/fetchModules.js';
 import {getCommSymptomPush,getCommSymptoms} from '@store/async-actions/mainSuit.js'
 import {GET_BIGDATAPUSH,MIX_CONFIRM,COMM_CONFIRM,CHANGE_LABELVAL} from '@store/types/mainSuit';
 import {SETCHECKBOX,CHANGECHECKTEXTLABEL,CHECKCONFIRMSELECTED} from '@types/checkBody';
 import {CURRENT_CONFIRM,SETMAINCHECKBOX,CURRENT_TEXT_LABEL,CURRENT_GET_BIGDATAPUSH,SHOW_COMMON_ON_CURRENT} from '@types/currentIll';
-import {billing} from '@store/async-actions/pushMessage';
+import {billing,getMRAnalyse} from '@store/async-actions/pushMessage';
 import {Notify} from '@commonComp';
 import {filterArr,didPushParamChange,filterDataArr,getLabelIndex,fullfillText,checkFullfillText,getIds} from '@utils/tools.js';
 import config from '@config/index.js';
 import {CLEAR_COMSYMPTOMS} from "../store/types/mainSuit";
+import storeGlobal from '@store';
 
 function mapStateToProps(state) {//console.log(state);
   const {mainSuit,homePage} = state;
@@ -516,6 +517,15 @@ function mapDispatchToProps(dispatch,store){
               type:SETDROPSHOW,
               data:obj
             });
+            const storeState = storeGlobal.getState()
+            const {moduleName, moduleObj} = storeState.homePage
+            if(moduleName != moduleObj[obj.ikey[0]]) {
+              dispatch({
+                type: SET_CURRENT_MODULE,
+                moduleName: moduleObj[obj.ikey[0]]
+              });
+              dispatch(getMRAnalyse());
+            }
             return;
           }
           let pushDataList = [];
@@ -548,6 +558,15 @@ function mapDispatchToProps(dispatch,store){
               type:SETDROPSHOW,
               data:obj
             });
+            const storeState = storeGlobal.getState()
+            const {moduleName, moduleObj} = storeState.homePage
+            if(moduleName != moduleObj[obj.ikey[0]]) {
+              dispatch({
+                type: SET_CURRENT_MODULE,
+                moduleName: moduleObj[obj.ikey[0]]
+              });
+              dispatch(getMRAnalyse());
+            }
           }else{
             Notify.info(result.msg);
             return;
@@ -560,6 +579,15 @@ function mapDispatchToProps(dispatch,store){
         type:SETDROPSHOW,
         data:obj
       });
+      const storeState = storeGlobal.getState()
+      const {moduleName, moduleObj} = storeState.homePage
+      if(moduleName != moduleObj[obj.ikey[0]]) {
+        dispatch({
+          type: SET_CURRENT_MODULE,
+          moduleName: moduleObj[obj.ikey[0]]
+        });
+        dispatch(getMRAnalyse());
+      }
       dispatch({
         type: RESET
       });

+ 2 - 1
src/modules/HomePage/index.jsx

@@ -7,7 +7,7 @@ import {ConfirmModal} from '@commonComp';
 import store from '@store';
 
 import {HIDEDROP,SETMINSCREEN,SETSYSTEMCONFIG,SETPRE,SETREADDITEMS,RESET_SELECT_TAG,ISREAD} from '@store/types/homePage.js';
-import {billing} from '@store/async-actions/pushMessage';
+import {billing,getMRAnalyse} from '@store/async-actions/pushMessage';
 import {CLEAR_SEARCH,DELETE_MAIN_SELECTED_TAGS} from '@types/mainSuit';
 import {CURRENT_CLEAR,DELETE_CURRENT_SELECTED_TAGS} from '@types/currentIll';
 import {OTHERHIS_CLEAR,DELETE_OTHER_SELECTED_TAGS} from '@types/otherHistory';
@@ -122,6 +122,7 @@ const mapDispatchToProps = function (dispatch) {
         const {homePage} = state;
         pushAllDataList(1,'push',homePage.preData,'preIcss');
         dispatch(billing())
+        dispatch(getMRAnalyse())
         dispatch({type:SETPRE,show:false});
       },
       noReferRecord(){

+ 1 - 1
src/store/actions/diagnosticList.js

@@ -54,7 +54,7 @@ export const getDiagnosticStr = (state, action) => {
     let diagnosticStr= '';
     let diagnosticStrNoType = ''
     for (let i = 0; i < diagnosticList.length; i++) {
-        diagnosticStr = diagnosticStr + diagnosticList[i].name + '(' + getDiagType(diagnosticList[i].type) + '); '
+        diagnosticStr = diagnosticStr + diagnosticList[i].name + '(' + getDiagType(diagnosticList[i].type) + ')'
         diagnosticStrNoType = diagnosticStrNoType + diagnosticList[i].name + ','
     }
     res.diagnosticStrNoType = diagnosticStrNoType

+ 2 - 1
src/store/actions/homePage.js

@@ -138,4 +138,5 @@ export const resetSelectArea = (state,action)=>{
   delete res.select_start;
   delete res.select_end;
   return res;
-}
+}
+

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

@@ -412,3 +412,9 @@ export const delFollowUp = (state, action) => {
 	return res;
 }
 
+export const setMRAnalyse = (state, action) =>{ 
+	const res = Object.assign({}, state);
+	res.MRAnalyseResult = action.MRAnalyseResult;
+	return res;
+}   
+

+ 2 - 1
src/store/async-actions/historyTemplates.js

@@ -3,7 +3,7 @@ import { pushAllDataList,didPushParamChange } from '@utils/tools';
 import { initHistory } from '@store/actions/historyTemplates';
 import Notify from '@commonComp/Notify';
 import store from '@store';
-import { billing } from '@store/async-actions/pushMessage';
+import { billing, getMRAnalyse} from '@store/async-actions/pushMessage';
 
 export const initItemList = (item) => {
   let baseList = store.getState();
@@ -31,6 +31,7 @@ export const getHistempDetail = (item) => {
                 if(didPushParamChange()) {
                   dispatch(billing());
                 }
+                dispatch(getMRAnalyse())
             }else{
                 Notify.error(data.msg);
             }

+ 5 - 0
src/store/async-actions/patInfo.js

@@ -10,6 +10,9 @@ import { initItemList } from '@store/async-actions/tabTemplate';
 import config from '@config/index';
 import {Notify} from '@commonComp';
 import {SHOW_LOADING} from '@store/types/copyRight.js';
+import {getMRAnalyse} from '@store/async-actions/pushMessage';
+
+
 
 const api = {
     getPatInfo: '/patientInfo/getTopPatientInfo',
@@ -44,6 +47,7 @@ export const getPreMsg = (dispatch, getState) => {
             }
             // dispatch({type:SETPRE,show:true});
             dispatch({type:SETPREDATA,preData:preIcss});
+           
         } else {
             // console.log(res)
         }
@@ -123,6 +127,7 @@ export const initHistoryDetails = (dispatch) => {
                   // let pre = baseList.homePage.sysConfig.connect_prec;
                   // (pre==1)&&getPreMsg(dispatch)
                 }
+                dispatch(getMRAnalyse())
                 dispatch({
                   type:ISREAD
                 });

+ 48 - 3
src/store/async-actions/pushMessage.js

@@ -1,19 +1,24 @@
 import { get, post, json } from "@utils/ajax";
-import { BILLING_ADVICE, SET_TIPS, SET_TIPS_DETAILS ,SET_CHRONIC_TABLELIST,SET_SCALE_INFO,SET_CHRONIC_PUSHS,SHOW_TABLE_LIST, SHOW_TIPS_DETAILS,TOGGLE_CHRONIC_INFO} from '@store/types/pushMessage';
+import { BILLING_ADVICE, SET_TIPS, SET_TIPS_DETAILS ,SET_CHRONIC_TABLELIST,SET_SCALE_INFO,
+  SET_CHRONIC_PUSHS,SHOW_TABLE_LIST, SHOW_TIPS_DETAILS,TOGGLE_CHRONIC_INFO, SET_MR_ANALYSE} from '@store/types/pushMessage';
 import { SET_DRUG_INFO, SHOW_DRUG_INFO } from '@store/types/treat';
 import { SET_CLICK_DIAG } from '../types/diagnosticList';
-import {storageLocal,getEMRParams} from '@utils/tools';
+import {storageLocal,getEMRParams, getMRInfo,getAllDataStringList,isAllClear} from '@utils/tools';
 import {getBigPush} from '@utils/utils';
 import {SET_IMPORT_CHECKBODY_LABEL,PRESET} from "../types/checkBody";
 import dataLis from '@components/EmergencyProcedure/emergency';
 import  Notify from '@commonComp/Notify';
 import {pregetCheckbodyData} from '@store/async-actions/fetchModules';
 import {tabChange} from '@store/actions/tabTemplate';
+
 const api={
   getTableList:'/scale/getList', //获取量表列表
   getTableInfo:'/scale/getContent', //获取量表明细
   getConceptDetail:'/conceptDetail/getConceptDetail', //获取静态提示信息
+  getMRAnalyse: '/mrqc/analyse' //病历质控
 }
+import store from '@store';
+
 
 //获取右侧推送信息
 export const billing = (mdata,boxMark) => {
@@ -288,4 +293,44 @@ export const getScaleInfo = (it)=>{
             console.log(e)
         })
     }
-}
+}
+
+// 病历质控
+export const getMRAnalyse = () => {
+  let baseList = store.getState();
+  let jsonStr = getAllDataStringList(baseList);
+  let flg = isAllClear(jsonStr);
+  if(flg) {
+    return (dispatch, getState) => {
+      const param = getMRInfo()
+      json(api.getMRAnalyse, param)
+      .then((res) =>{
+          const data = res.data;
+          if(data.code == '0') {
+            dispatch({
+              type: SET_MR_ANALYSE,
+              MRAnalyseResult: data.data.warning
+            })
+          } else {
+            dispatch({
+              type: SET_MR_ANALYSE,
+              MRAnalyseResult: []
+            })
+          }
+          
+      }).catch((e) => {
+        console.log(e)
+      })
+    }
+
+  } else {
+    return (dispatch, getState) => {
+      dispatch({
+        type: SET_MR_ANALYSE,
+        MRAnalyseResult: []
+      })
+    }
+  }
+  
+}
+

+ 2 - 1
src/store/async-actions/tabTemplate.js

@@ -22,7 +22,7 @@ import {
   getUrlArgObject,
   didPushParamChange
 } from '@utils/tools';
-import { billing } from '@store/async-actions/pushMessage';
+import { billing, getMRAnalyse } from '@store/async-actions/pushMessage';
 
 export const initItemList = (current,name) => {
   let admin = store.getState().homePage.admin;
@@ -335,6 +335,7 @@ export const setPageView = (id) => { //获取模板结构化数据
         if(didPushParamChange()){     //诊断变化时会调推送,避免重复调
           dispatch(billing())
         }
+        dispatch(getMRAnalyse())
       } else {
         Notify.error(data.msg);
       }

+ 16 - 3
src/store/reducers/homePage.js

@@ -1,6 +1,8 @@
 import {HIDE,RESET,SETINITDATA,SETDROPSHOW,SETADDITEMINIT,SETT0EDIT,SETREADDITEMS,SETPREDATA,
-  HIDEDROP,CLICKCOUNT,ISREAD,SETOTHERHISTORY,SETMINSCREEN,MODI_LOADING,GET_INSPECT_LIST,GET_ASSIST_LIST,SETALLMODULES,SETSYSTEMCONFIG,SETPRE,RESET_SELECT_TAG,SET_SELECTED_AREA,SETADMIN} from '../types/homePage.js';
-import {showDrop,setAddItemInit,setLabelToEdit,confirmHide,clickNum,getInspectList,getAssistList,setSelectArea,resetSelectArea} from '../actions/homePage.js';
+  HIDEDROP,CLICKCOUNT,ISREAD,SETOTHERHISTORY,SETMINSCREEN,MODI_LOADING,GET_INSPECT_LIST,GET_ASSIST_LIST,
+  SETALLMODULES,SETSYSTEMCONFIG,SETPRE,RESET_SELECT_TAG,SET_SELECTED_AREA,SETADMIN,SET_CURRENT_MODULE} from '../types/homePage.js';
+import {showDrop,setAddItemInit,setLabelToEdit,confirmHide,clickNum,getInspectList,getAssistList,setSelectArea,resetSelectArea, setCurrentModule} from '../actions/homePage.js';
+import {getMRAnalyse} from '@store/async-actions/pushMessage';
 
 const initState = {
   totalHide:false,
@@ -21,7 +23,15 @@ const initState = {
   showPre:false,
   preData:{},
   item:{},
-  admin:false
+  admin:false,
+  moduleName:'',
+  moduleObj: {
+    "common": "主诉",
+    "1": "主诉",
+    "2": "现病史",
+    "3": "其他史",
+    "4": "查体"
+  }
 };
 
 export default function (state=initState,action) {
@@ -91,6 +101,9 @@ export default function (state=initState,action) {
       return setSelectArea(state,action);
     case RESET_SELECT_TAG:
       return resetSelectArea(state,action);
+    case SET_CURRENT_MODULE: 
+      res.moduleName = action.moduleName
+    return res;
     default:
       return res;
   }

+ 6 - 2
src/store/reducers/pushMessage.js

@@ -2,10 +2,11 @@ import {CHANGE_ASSAY, CHANGE_CHECK, BILLING_ADVICE, ADD_SCHEME, SET_TIPS,  SET_T
         SET_CHANGE_ADVICE_TREATMENT, SET_CHANGE_ADVICE_ASSAY, SET_CHANGE_ADVICE_CHECK, ADD_BILLING,
         CLEAR_ALL_PUSH_MESSAGE,SHOW_TIPS_DETAILS, HIDE_TIPS_DETAILS, SET_COMMONTREATMENT,
         SET_ADVICE_INPUT ,SET_CHRONIC_TABLELIST,SHOW_TABLE_LIST,SET_SCALE_INFO,SET_CHRONIC_PUSHS,
-        SAVE_TABLE_RESULT, SAVE_FOLLOW_UP, DEL_FOLLOW_UP,TOGGLE_CHRONIC_INFO,SET_PUSH_EMERGENCY_IDX} from '../types/pushMessage';
+        SAVE_TABLE_RESULT, SAVE_FOLLOW_UP, DEL_FOLLOW_UP,TOGGLE_CHRONIC_INFO,SET_PUSH_EMERGENCY_IDX,
+        SET_MR_ANALYSE } from '../types/pushMessage';
 import {changeAssay, changeCheck, setAdvice, addScheme, setTips, setTipsDetails, setChangeAdviceTreatment, 
         setChangeAdviceAssay, setChangeAdviceCheck, addBilling, clearAllPushMessage, showTipsDetails, hideTipsDetails, 
-        setCommontreatment, setAdviceInput, saveFollowUp, delFollowUp } from '../actions/pushMessage';
+        setCommontreatment, setAdviceInput, saveFollowUp, delFollowUp, setMRAnalyse } from '../actions/pushMessage';
 
 const initState = {
   vigilant: [],
@@ -13,6 +14,7 @@ const initState = {
   possible: [],
   assay: [],
   determine: [],
+  MRAnalyseResult:[],
   check: [ //辅检
   ],
   tips: {},
@@ -83,6 +85,8 @@ export default function(state = initState, action) {
     case SET_PUSH_EMERGENCY_IDX:
       res.setPushEmergencyIdx = action.idx;
       return res;
+    case SET_MR_ANALYSE:
+      return setMRAnalyse(state, action)
     default:
       return state;
   }

+ 4 - 1
src/store/reducers/wrapModalBody.js

@@ -8,6 +8,7 @@ import {
 } from '../types/wrapModalBody';
 import store from '@store';
 import { getStringPlus,  getPushLists,  getPushList} from '@utils/tools.js';
+import { getMRAnalyse } from '@store/async-actions/pushMessage';
 
 const initWrapModal = {
   list: [], //搜索的结果
@@ -48,7 +49,6 @@ export default (state = initWrapModal, action) => {
       }
       newState.getExcelData = excelDataLis
       tmpArr.push(excelDataLis)
-
       newState.hospitalInspect = [] //医院检索到的
       newState.hospitalInspectObj = {} //组对应的明细(单选多选全选)
       newState.selectGroupList = [] //选的组的明细可能有多个组
@@ -58,6 +58,9 @@ export default (state = initWrapModal, action) => {
       allState.pushItem = getPushList(tmpArr,tmpArr2);
       allState.pushItems = getPushLists(tmpArr,tmpArr2);
       allState.inspectStrPlus = getStringPlus(getPushLists(tmpArr,tmpArr2))
+      if(excelDataLis.lisExcelRes.length > 0) {
+        store.dispatch(getMRAnalyse())
+      }
 
       return newState;
   }

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

@@ -7,6 +7,7 @@ import {
 } from '../types/wrapModalBodyPac';
 import {getAllString} from '@utils/tools.js';
 import store from '@store';
+import { getMRAnalyse } from '@store/async-actions/pushMessage';
 
 const initSearchList = {
   list: [], //点击的结果
@@ -60,7 +61,9 @@ export default (state = initSearchList, action) => {
     newState.allCheck = false //全选反选
     newState.checkedList = [] //选中的小项
     newState.msgObj={name:'',patientNum:''}
-
+    if(importLis.length > 0) {
+      store.dispatch(getMRAnalyse())
+    }
     return newState;
   }
   if (action.type == SELECT_ONE_CHECKS) {

+ 2 - 1
src/store/types/homePage.js

@@ -20,4 +20,5 @@ export const SETPRE = 'SETPRE';   //设置预问诊引用弹窗
 export const SETPREDATA = 'SETPREDATA';   //设置预问诊数据暂存
 export const SETADMIN = 'SETADMIN';   //设置管理员身份
 export const RESET_SELECT_TAG='RESET_SELECT_TAG';   //重置选中标签的各标记
-export const SET_SELECTED_AREA='SET_SELECTED_AREA';
+export const SET_SELECTED_AREA='SET_SELECTED_AREA'; 
+export const SET_CURRENT_MODULE = 'SET_CURRENT_MODULE'

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

@@ -24,5 +24,6 @@ export const SAVE_FOLLOW_UP = 'SAVE_FOLLOW_UP';  //保存回访时间
 export const DEL_FOLLOW_UP = 'DEL_FOLLOW_UP';  //删除回访时间
 export const TOGGLE_CHRONIC_INFO = 'TOGGLE_CHRONIC_INFO';   //收起展开指标推送模块
 export const SET_PUSH_EMERGENCY_IDX = 'SET_PUSH_EMERGENCY_IDX';   //急诊设置idx
+export const SET_MR_ANALYSE = 'SET_MR_ANALYSE' //设置病历分析
 
 

File diff suppressed because it is too large
+ 63 - 8
src/utils/tools.js