zhouna 6 år sedan
förälder
incheckning
0d177307ce
62 ändrade filer med 744 tillägg och 417 borttagningar
  1. 1 1
      src/common/components/EditableSpan/index.less
  2. 0 1
      src/common/components/InspectCommon/index.less
  3. 1 1
      src/common/components/ItemBox/index.less
  4. 1 0
      src/common/components/SearchOption/index.jsx
  5. 0 1
      src/common/components/SearchOption/index.less
  6. 1 1
      src/common/components/Textarea/index.less
  7. BIN
      src/common/images/icon_print_blue.png
  8. 2 4
      src/components/AddAssistCheck/Textarea/index.less
  9. 6 7
      src/components/AddAssistCheck/index.jsx
  10. 14 21
      src/components/AddAssistCheck/index.less
  11. 7 11
      src/components/AddInspect/index.jsx
  12. 7 8
      src/components/AddInspect/index.less
  13. 1 1
      src/components/Banner/index.less
  14. 0 1
      src/components/CopyRight/index.jsx
  15. 0 2
      src/components/CopyRight/index.less
  16. 0 1
      src/components/DiagResultSearch/index.less
  17. 1 6
      src/components/DiagnosticList/index.jsx
  18. 1 1
      src/components/EMRContainer/index.less
  19. 1 1
      src/components/HistoryCaseContainer/HistoryList/index.less
  20. 1 1
      src/components/HistoryCaseContainer/index.jsx
  21. 1 1
      src/components/HistoryCaseContainer/index.less
  22. 4 1
      src/components/Inspect/index.jsx
  23. 2 2
      src/components/Inspect/index.less
  24. 26 17
      src/components/MainSuit/index.jsx
  25. 3 7
      src/components/Operation/index.jsx
  26. 1 1
      src/components/Operation/index.less
  27. 1 1
      src/components/PreviewBody/index.jsx
  28. 24 13
      src/components/PrintPreview/index.jsx
  29. 206 146
      src/components/PushItems/index.jsx
  30. 8 4
      src/components/PushItems/index.less
  31. 3 3
      src/components/SpreadDrop/index.jsx
  32. 2 1
      src/components/TemplateItems/index.jsx
  33. 1 2
      src/components/TreatDesc/DrugInfo/index.jsx
  34. 1 26
      src/components/TreatDesc/DrugInfo/index.less
  35. 1 2
      src/containers/CheckBody.js
  36. 11 2
      src/containers/CurrentIll.js
  37. 4 6
      src/containers/DiagnosticItem.js
  38. 1 1
      src/containers/EditableSpan.js
  39. 1 1
      src/containers/InlineTag.js
  40. 1 1
      src/containers/Inspect.js
  41. 13 4
      src/containers/MainSuit.js
  42. 1 1
      src/containers/MultSpread.js
  43. 12 2
      src/containers/NumberDrop.js
  44. 11 2
      src/containers/NumberUnitDrop.js
  45. 10 2
      src/containers/RadioDrop.js
  46. 23 6
      src/containers/SpreadDrop.js
  47. 2 1
      src/containers/eleType.js
  48. 2 2
      src/store/actions/checkBody.js
  49. 1 0
      src/store/actions/diagnosticList.js
  50. 2 2
      src/store/actions/mainSuit.js
  51. 2 2
      src/store/actions/pushMessage.js
  52. 2 19
      src/store/async-actions/fetchModules.js
  53. 1 1
      src/store/async-actions/mainSuit.js
  54. 5 1
      src/store/async-actions/patInfo.js
  55. 2 1
      src/store/async-actions/pushMessage.js
  56. 3 55
      src/store/async-actions/treat.js
  57. 4 3
      src/store/types/checkBody.js
  58. 55 2
      src/utils/tools.js
  59. 3 3
      static/pages/hisLib/infomation.js
  60. 119 0
      static/pages/test.html
  61. 75 0
      static/pages/test2.html
  62. 49 0
      static/pages/test3.html

+ 1 - 1
src/common/components/EditableSpan/index.less

@@ -6,7 +6,7 @@
   // line-height: 2;
   // line-height: 2;
   /*height: 20px;*/
   /*height: 20px;*/
   line-height: 16px;
   line-height: 16px;
-  vertical-align: middle;
+  /*vertical-align: middle;*/
   text-align: center;
   text-align: center;
 }
 }
 .full{
 .full{

+ 0 - 1
src/common/components/InspectCommon/index.less

@@ -9,7 +9,6 @@
     max-width: 600px;
     max-width: 600px;
     box-sizing: border-box;
     box-sizing: border-box;
     box-shadow: 0 6px 20px 0 #989DA3;
     box-shadow: 0 6px 20px 0 #989DA3;
-    margin-bottom: 80px;
     // border: 1px solid #989DA3;
     // border: 1px solid #989DA3;
 }
 }
 .btnWrap{
 .btnWrap{

+ 1 - 1
src/common/components/ItemBox/index.less

@@ -16,7 +16,7 @@
   }
   }
   .content{
   .content{
     // height:120px;
     // height:120px;
-    min-height: 44px;
+    min-height: 38px;
     margin-left: 60px;
     margin-left: 60px;
     position: relative;
     position: relative;
     padding:5px;
     padding:5px;

+ 1 - 0
src/common/components/SearchOption/index.jsx

@@ -54,6 +54,7 @@ class SearchOption extends React.Component {
                 <input
                 <input
                     className={this.state.border ?`${styles.border}`:`${styles.borderNone}`}
                     className={this.state.border ?`${styles.border}`:`${styles.borderNone}`}
                     type="text"
                     type="text"
+                    maxLength="30"
                     ref={this.textInput}
                     ref={this.textInput}
                     onFocus={()=>{
                     onFocus={()=>{
                         if(this.state.val.trim() != ''){
                         if(this.state.val.trim() != ''){

+ 0 - 1
src/common/components/SearchOption/index.less

@@ -9,7 +9,6 @@
     z-index: 20;
     z-index: 20;
     background-color: #fff;
     background-color: #fff;
     box-shadow: 0 6px 20px 0 #989DA3;
     box-shadow: 0 6px 20px 0 #989DA3;
-    margin-bottom: 80px;
     .autoList {
     .autoList {
         max-height: 266px;
         max-height: 266px;
         min-height: 80px;
         min-height: 80px;

+ 1 - 1
src/common/components/Textarea/index.less

@@ -16,7 +16,7 @@
   }
   }
   .content{
   .content{
     // height:120px;
     // height:120px;
-    min-height: 44px;
+    min-height: 38px;
     line-height: 22px;
     line-height: 22px;
     margin-left: 60px;
     margin-left: 60px;
     position: relative;
     position: relative;

BIN
src/common/images/icon_print_blue.png


+ 2 - 4
src/components/AddAssistCheck/Textarea/index.less

@@ -1,13 +1,11 @@
 .divTextarea {
 .divTextarea {
   overflow-y: auto;
   overflow-y: auto;
-  overflow-x: hidden;
   border-bottom: 1px dashed #333;
   border-bottom: 1px dashed #333;
   box-sizing: border-box;
   box-sizing: border-box;
-  min-height: 20px;
+  min-height: 18px;
   width: 100%;
   width: 100%;
   outline: none;
   outline: none;
-  line-height: 20px;
+  line-height: 17px;
   resize: none;
   resize: none;
   font-family: inherit;
   font-family: inherit;
-  max-height: 100px;
 }
 }

+ 6 - 7
src/components/AddAssistCheck/index.jsx

@@ -3,7 +3,6 @@ import { SearchOption, Calendar ,ConfirmModal,Notify,Add} from '@commonComp';
 import styles from './index.less';
 import styles from './index.less';
 import $ from 'jquery';
 import $ from 'jquery';
 import Textarea from './Textarea';
 import Textarea from './Textarea';
-import close from './img/close.png';
 
 
 class AddAssistCheck extends React.Component {
 class AddAssistCheck extends React.Component {
     constructor(props) {
     constructor(props) {
@@ -66,7 +65,7 @@ class AddAssistCheck extends React.Component {
     handleSearchShow(e) {
     handleSearchShow(e) {
         let tmpShow = this.state.show;
         let tmpShow = this.state.show;
         this.setState({ show: !tmpShow })
         this.setState({ show: !tmpShow })
-        //e.stopPropagation();
+        // e.stopPropagation();
     }
     }
     handleShowDate(idx){
     handleShowDate(idx){
         this.setState({
         this.setState({
@@ -127,10 +126,10 @@ class AddAssistCheck extends React.Component {
                             ></textarea> */}
                             ></textarea> */}
                             <Textarea value={item.value} isRead={isRead} handleChangeAssistValue={handleChangeAssistValue} idx={idx}></Textarea>
                             <Textarea value={item.value} isRead={isRead} handleChangeAssistValue={handleChangeAssistValue} idx={idx}></Textarea>
                         </p>
                         </p>
-                        <div className={styles.pointerFinger}>
-                            <p onClick={()=>this.handleShowDate(idx)}>报告日期:<span>{item.time || this.state.dateTime}</span></p>
+                        <div>
+                            <p>报告日期:<span>{item.time || this.state.dateTime}</span></p>
                             <i onClick={()=>this.handleShowDate(idx)}></i>
                             <i onClick={()=>this.handleShowDate(idx)}></i>
-                            <a href="javascript:void(0);" onClick={()=>{handleDelAssist(idx)}}><img src={close} alt=""/></a>
+                            <a href="javascript:void(0);" onClick={()=>{this.handleDelClick(idx)}}></a>
                             <div style={{display:this.state.date && idx == this.state.active?"block":"none",position:"relative"}}>
                             <div style={{display:this.state.date && idx == this.state.active?"block":"none",position:"relative"}}>
                                 <Calendar isShow={true} handleChange={(info)=>{handleChangeDate(info,idx);this.setState({date:false})}}></Calendar>
                                 <Calendar isShow={true} handleChange={(info)=>{handleChangeDate(info,idx);this.setState({date:false})}}></Calendar>
                             </div>
                             </div>
@@ -151,12 +150,12 @@ class AddAssistCheck extends React.Component {
             <div className={styles.wrapper}>
             <div className={styles.wrapper}>
                 {this.getAssistLabel()}
                 {this.getAssistLabel()}
                 <div id="searchWrapAssist" style={{position:"relative"}}>
                 <div id="searchWrapAssist" style={{position:"relative"}}>
-                    <Add showText="添加辅检项" handleClick={(e) => this.handleSearchShow(e)} id="assistCheck"/>
+                    <Add showText="添加辅检项" handleClick={(e) => this.handleSearchShow(e)} id="assistCheck"/>
                     <SearchOption handleChangeValue={handleChangeValue} visible={this.state.show}>
                     <SearchOption handleChangeValue={handleChangeValue} visible={this.state.show}>
                         {this.getSearchList(list)}
                         {this.getSearchList(list)}
                     </SearchOption>
                     </SearchOption>
                 </div>
                 </div>
-                <ConfirmModal
+                <ConfirmModal 
                     visible={visible}
                     visible={visible}
                     confirm={()=>{this.delConfirm()}}
                     confirm={()=>{this.delConfirm()}}
                     close={this.handleCancel}
                     close={this.handleCancel}

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 14 - 21
src/components/AddAssistCheck/index.less


+ 7 - 11
src/components/AddInspect/index.jsx

@@ -37,9 +37,8 @@ class Inspect extends React.Component {
         this.handleSearchShow = this.handleSearchShow.bind(this)
         this.handleSearchShow = this.handleSearchShow.bind(this)
     }
     }
     delConfirm(){//弹窗确定
     delConfirm(){//弹窗确定
-        const {delPartItem,handleCloseExcel} = this.props;
-        const {type,id} = this.state;
-        console.log(id)
+        const{delPartItem,handleCloseExcel} = this.props;
+        const{type,id} = this.state;
         if(type==1){
         if(type==1){
             delPartItem(id)
             delPartItem(id)
         }else if(type==2){
         }else if(type==2){
@@ -58,7 +57,6 @@ class Inspect extends React.Component {
             id:idx,
             id:idx,
             visible:true
             visible:true
         })
         })
-        console.log(idx)
         if(type==1){//单项
         if(type==1){//单项
             this.setState({
             this.setState({
                 toastText:'是否删除该化验项?'
                 toastText:'是否删除该化验项?'
@@ -111,14 +109,12 @@ class Inspect extends React.Component {
     handleFillShow(e,idx) {
     handleFillShow(e,idx) {
         let tmpShow = this.state.showFill;
         let tmpShow = this.state.showFill;
         let baseList = store.getState().inspect.fillActive;
         let baseList = store.getState().inspect.fillActive;
-        const tmpTime = this.state.dateTime
         this.setState({ 
         this.setState({ 
             showFill: !tmpShow, 
             showFill: !tmpShow, 
             currentIdx:idx,
             currentIdx:idx,
-            currentData:baseList,
-            dateTime:baseList.time?baseList.time:tmpTime
+            currentData:baseList
         })
         })
-        e.stopPropagation();
+        // e.stopPropagation();
     }
     }
     handleShowDate(){
     handleShowDate(){
         this.setState({
         this.setState({
@@ -132,6 +128,7 @@ class Inspect extends React.Component {
         let day = myDate.getDate();            //获取当前日(1-31)
         let day = myDate.getDate();            //获取当前日(1-31)
         let date = year+'-'+(mon<10?'0'+mon:mon)+'-'+(day<10?'0'+day:day);
         let date = year+'-'+(mon<10?'0'+mon:mon)+'-'+(day<10?'0'+day:day);
         this.setState({dateTime:date})
         this.setState({dateTime:date})
+        
     }
     }
     changeActivePart(idx,val){
     changeActivePart(idx,val){
         let nums = this.state.num;
         let nums = this.state.num;
@@ -170,7 +167,6 @@ class Inspect extends React.Component {
         }else{
         }else{
             fillActive = this.state.currentData;
             fillActive = this.state.currentData;
         }
         }
-        // this.setState({dataTime:fillActive.time})
         return <ul className={styles.searchLis}>
         return <ul className={styles.searchLis}>
             {
             {
                 fillActive && fillActive.details && fillActive.details.map((item,idx) => {
                 fillActive && fillActive.details && fillActive.details.map((item,idx) => {
@@ -365,8 +361,8 @@ class Inspect extends React.Component {
                                                             <Calendar isShow={true} handleChange={this.handleChangeDate}></Calendar>
                                                             <Calendar isShow={true} handleChange={this.handleChangeDate}></Calendar>
                                                         </div>
                                                         </div>
                                                     </div>
                                                     </div>
-                                                    {/* 填写单内容显示 */}
-                                                    { this.getItemList(idx) }
+                                                        {/* 填写单内容显示 */}
+                                                        { this.getItemList(idx) }
                                                 </InspectCommon>
                                                 </InspectCommon>
                                             : null
                                             : null
                                         }
                                         }

+ 7 - 8
src/components/AddInspect/index.less

@@ -32,7 +32,7 @@
         cursor: pointer;
         cursor: pointer;
         display: inline-block;
         display: inline-block;
         position: absolute;
         position: absolute;
-        right: -4px;
+        right: 0;
         top: 12px;
         top: 12px;
     }
     }
 }
 }
@@ -72,7 +72,7 @@
             line-height: 18px;
             line-height: 18px;
             height: 18px;
             height: 18px;
             td {
             td {
-                width: 180px;
+                width: 150px;
             }
             }
         }
         }
     }
     }
@@ -109,7 +109,6 @@
         }
         }
     }
     }
 }
 }
-
 .searchLis {
 .searchLis {
     padding-top: 10px;
     padding-top: 10px;
     margin-top: 5px;
     margin-top: 5px;
@@ -131,7 +130,7 @@
         display: inline-block;
         display: inline-block;
     }
     }
     .itemPartL {
     .itemPartL {
-        // width: 100px;
+        width: 100px;
         float: left;
         float: left;
     }
     }
     .itemPartR {
     .itemPartR {
@@ -193,8 +192,8 @@
     }
     }
 }
 }
 .center {
 .center {
-  text-align: center;
-  font-size: 16px;
-  padding-top: 10px;
-  padding-bottom: 50px;
+    text-align: center;
+    font-size: 16px;
+    padding-top: 10px;
+    padding-bottom: 50px;
 }
 }

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

@@ -9,7 +9,7 @@
     position: fixed;          //页面布局调整
     position: fixed;          //页面布局调整
     width: 100%;
     width: 100%;
     top: 0;
     top: 0;
-    z-index: 202;
+    // z-index: 202;
 
 
     img{
     img{
       vertical-align: middle;
       vertical-align: middle;

+ 0 - 1
src/components/CopyRight/index.jsx

@@ -24,7 +24,6 @@ class CopyRight extends Component {
 
 
   showCopyModal() {
   showCopyModal() {
     this.props.showCopyModal();
     this.props.showCopyModal();
-    console.log(this.props.copyRight.hasNewVersion)
     if(this.props.copyRight.hasNewVersion) {
     if(this.props.copyRight.hasNewVersion) {
       this.props.closeVersionTip()
       this.props.closeVersionTip()
     }
     }

+ 0 - 2
src/components/CopyRight/index.less

@@ -76,8 +76,6 @@
         }
         }
         .content {
         .content {
           padding: 10px;
           padding: 10px;
-          max-height: 500px;
-          overflow-y: auto;
         }
         }
       }
       }
     }
     }

+ 0 - 1
src/components/DiagResultSearch/index.less

@@ -7,7 +7,6 @@
     box-shadow: 0 6px 20px 0 #989DA3;
     box-shadow: 0 6px 20px 0 #989DA3;
     background: #fff;
     background: #fff;
     z-index: 99;
     z-index: 99;
-    margin-bottom: 80px;
 }
 }
 .search {
 .search {
     width: 100%;
     width: 100%;

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

@@ -80,18 +80,13 @@ class DiagnosticList extends Component {
         return(
         return(
                 <div className={style['diaglist-wrap']}>
                 <div className={style['diaglist-wrap']}>
                     {list && (list.length > 0) && list.map((item, index) => {
                     {list && (list.length > 0) && list.map((item, index) => {
-                        const hasTreat = item.treat&&item.treat.commonTreatment && item.treat.surgeryTreatment && item.treat.treatment.length>0
                         return (<div draggable={true} className={style['diag-box'] + ' clearfix'}  key={item.id} >
                         return (<div draggable={true} className={style['diag-box'] + ' clearfix'}  key={item.id} >
                                     {index === 0 ? '' : <span className={style['diag-up']} onClick={() => {this.upDiagnostic(index)}}><img src={diagUp}/></span>}
                                     {index === 0 ? '' : <span className={style['diag-up']} onClick={() => {this.upDiagnostic(index)}}><img src={diagUp}/></span>}
                                     {list.length === 1 ? '' : index !== 0 ? '' : <span onClick={() => {this.downDiagnostic(index)}} className={style['diag-down']}><img src={diagDown}/></span>}
                                     {list.length === 1 ? '' : index !== 0 ? '' : <span onClick={() => {this.downDiagnostic(index)}} className={style['diag-down']}><img src={diagDown}/></span>}
                                     <span className={style['diag-number']} style={{fontWeight:index === 0 ?'bold':'normal'}}>{index === 0 ? '主' : index+1}</span>
                                     <span className={style['diag-number']} style={{fontWeight:index === 0 ?'bold':'normal'}}>{index === 0 ? '主' : index+1}</span>
                                     <span className={style['diag-name']} onClick={()=>{this.handleClickDiag(item)}}>{item.name}<span></span></span> 
                                     <span className={style['diag-name']} onClick={()=>{this.handleClickDiag(item)}}>{item.name}<span></span></span> 
                                     {item.type === 1 ? <span className={style['diag-first']}>初诊</span> :<span className={style['diag-second']}> 复诊</span>}
                                     {item.type === 1 ? <span className={style['diag-first']}>初诊</span> :<span className={style['diag-second']}> 复诊</span>}
-                                    <span className={style['treat']}
-                                          style ={{ color: hasTreat ?'' : 'gray', border: hasTreat ?'' : '1px solid gray'}}
-                                          onClick={() =>{hasTreat && this.showTreat(item)}}>
-                                          治疗方案
-                                    </span>
+                                    <span className={style['treat']} onClick={() =>{this.showTreat(item)}}>治疗方案</span>
                                     <img className={style['diag-del']} src={del_icon} onClick={()=>{this.handleDeleteItem(item.id)}}/>
                                     <img className={style['diag-del']} src={del_icon} onClick={()=>{this.handleDeleteItem(item.id)}}/>
                         </div>)
                         </div>)
                     })}
                     })}

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

@@ -11,7 +11,7 @@
 .inner{
 .inner{
 //   overflow-y: auto;
 //   overflow-y: auto;
   padding-top:80px;
   padding-top:80px;
-  padding-bottom: 80px;
+  padding-bottom: 60px;
 }
 }
 .keep {
 .keep {
     position: absolute;
     position: absolute;

+ 1 - 1
src/components/HistoryCaseContainer/HistoryList/index.less

@@ -10,7 +10,7 @@
     top: 70px;
     top: 70px;
     bottom: 70px;
     bottom: 70px;
     background-color: #fff;
     background-color: #fff;
-    z-index: 235;
+    z-index: 242;
     .close {
     .close {
         position: absolute;
         position: absolute;
         top: 0;
         top: 0;

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

@@ -29,7 +29,7 @@ class HistoryCaseContainer extends React.Component {
         const domNode = document.getElementById('root');
         const domNode = document.getElementById('root');
         return ReactDom.createPortal(
         return ReactDom.createPortal(
             <div className={styles.historyCaseWrap} style={{display:showHistoryCases?'block':'none'}}>
             <div className={styles.historyCaseWrap} style={{display:showHistoryCases?'block':'none'}}>
-                <div className={styles.maskHistory}></div>
+                <div className={styles.maskHistory} onClick={showHistoryBox}></div>
                 <HistoryList 
                 <HistoryList 
                     items={items}
                     items={items}
                     activeHistory={activeHistory}
                     activeHistory={activeHistory}

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

@@ -3,7 +3,7 @@
     position: fixed;
     position: fixed;
     left: 0;
     left: 0;
     top: 0;
     top: 0;
-    z-index: 230;
+    z-index: 241;
     width: 100%;
     width: 100%;
     height: 100%;
     height: 100%;
     background-color: #000;
     background-color: #000;

+ 4 - 1
src/components/Inspect/index.jsx

@@ -67,7 +67,8 @@ class Inspect extends React.Component {
                 if( files.length ){
                 if( files.length ){
                     console.log(files[0])
                     console.log(files[0])
                     FileAPI.upload({
                     FileAPI.upload({
-                        url: '/api/icss/lisExcelRes/lisExcelAnalysis',
+                        // url: '/api/icss/lisExcelRes/lisExcelAnalysis',
+                        url: api.upload,
                         data:{ hospitalCode:baseData == '{}'? '' : baseData.hospitalCode },
                         data:{ hospitalCode:baseData == '{}'? '' : baseData.hospitalCode },
                         files: { uploadfile: files[0] },
                         files: { uploadfile: files[0] },
                         headers:{
                         headers:{
@@ -126,6 +127,8 @@ class Inspect extends React.Component {
         const { handleCloseExcel, handleChangeValue, labelListActive, list, handleSign, labelList, handleLabelSub, handleClear, handleConfirm, fillActive, changeActivePart, getExcelDataList,delPartItem } = this.props;
         const { handleCloseExcel, handleChangeValue, labelListActive, list, handleSign, labelList, handleLabelSub, handleClear, handleConfirm, fillActive, changeActivePart, getExcelDataList,delPartItem } = this.props;
         return (
         return (
             <div className={styles.wrapper} >
             <div className={styles.wrapper} >
+                {/* 导入功能插件,ie8/9权限问题暂未解决,先隐藏 */}
+
                 <div className={styles.top}>
                 <div className={styles.top}>
                     <span>化验结果数据</span>
                     <span>化验结果数据</span>
                     <div className={this.getStyle()} onClick={this.state.isIE?null:this.handleImportExcel}>
                     <div className={this.getStyle()} onClick={this.state.isIE?null:this.handleImportExcel}>

+ 2 - 2
src/components/Inspect/index.less

@@ -34,10 +34,10 @@
     button {
     button {
         outline: none;
         outline: none;
         font-size: 12px;
         font-size: 12px;
-        padding: 0 8px;
+        width: 90px;
         background-color: #fff;
         background-color: #fff;
         height: 28px;
         height: 28px;
-        line-height: 30px;
+        line-height: 28px;
         border: 0 none;
         border: 0 none;
         color: @template-color;
         color: @template-color;
     }
     }

+ 26 - 17
src/components/MainSuit/index.jsx

@@ -23,7 +23,8 @@ class MainSuit extends Component{
       timer:null,
       timer:null,
       blurTimer:null,
       blurTimer:null,
       inpText:'',
       inpText:'',
-      clearTimer:null
+      clearTimer:null,
+      overFlag:false
     };
     };
     this.toggleEditable = this.toggleEditable.bind(this);
     this.toggleEditable = this.toggleEditable.bind(this);
     this.handleFocus = this.handleFocus.bind(this);
     this.handleFocus = this.handleFocus.bind(this);
@@ -57,10 +58,8 @@ class MainSuit extends Component{
 
 
   handleFocus(e){
   handleFocus(e){
     e.stopPropagation();
     e.stopPropagation();
-    const {getCommonSymptoms,reTotalHide,pushMessage} = this.props;
+    const {getCommonSymptoms} = this.props;
     let innerText = e.target.innerText;
     let innerText = e.target.innerText;
-    pushMessage&&pushMessage();//右侧推送
-    // reTotalHide && reTotalHide();//重置全局隐藏
     if(!innerText.trim()){//有内容就走搜索接口
     if(!innerText.trim()){//有内容就走搜索接口
       getCommonSymptoms && getCommonSymptoms();
       getCommonSymptoms && getCommonSymptoms();
       this.setState({
       this.setState({
@@ -68,7 +67,8 @@ class MainSuit extends Component{
       })    
       })    
     }else{
     }else{
       this.setState({
       this.setState({
-        symptom:false
+        symptom:false,
+        inpText:innerText
       }) 
       }) 
     }
     }
 
 
@@ -132,22 +132,30 @@ class MainSuit extends Component{
     })
     })
   }
   }
 
 
-  handleChange(e){  
+  handleChange(e){
     const data = e.target.innerText;
     const data = e.target.innerText;
-    const {getSearchData,searchData,datas,freeText,saveText,reTotalHide} = this.props;
+    const {getSearchData,searchData,datas,pushMessage,reTotalHide} = this.props;
+    const {overFlag,inpText} = this.state;
     reTotalHide && reTotalHide();//重置homePage中的控制项
     reTotalHide && reTotalHide();//重置homePage中的控制项
     const that = this;
     const that = this;
-    if(data.trim().length > config.limited){
-      e.target.innerText = data.substr(0,config.limited);
-      e.target.blur();
+    if(data.length > config.limited){
       Notify.info(config.limitText);
       Notify.info(config.limitText);
+      if(overFlag){
+        e.target.innerText = inpText;
+        e.target.blur();
+        return
+      }
+      e.target.innerText = data.substr(0,config.limited);  //输入法内输入多个字再按enter的情况
+      e.target.blur();
       this.setState({
       this.setState({
-        inpText:data.substr(0,config.limited),//输入法内输入多个字再按enter的情况
+        inpText:data.substr(0,config.limited),
+        overFlag:true
       })
       })
       return false;
       return false;
     }
     }
     this.setState({
     this.setState({
-      inpText:data
+      inpText:data,
+      overFlag:false
     })
     })
     if(datas.length > 0){//使用模板
     if(datas.length > 0){//使用模板
       return false;
       return false;
@@ -167,16 +175,17 @@ class MainSuit extends Component{
     const timer = setTimeout(function(){
     const timer = setTimeout(function(){
       //调搜索接口 使用模板走EditableSpan里的搜索方法
       //调搜索接口 使用模板走EditableSpan里的搜索方法
       getSearchData && getSearchData({inpStr:data,boxMark:1});
       getSearchData && getSearchData({inpStr:data,boxMark:1});
-    },config.delayTime)
+    },config.delayTime);
     this.setState({
     this.setState({
       timer
       timer
-    });   
+    });
+
   }
   }
 
 
   handleBlur(e){//隐藏常见症状下拉、存自由输入的值
   handleBlur(e){//隐藏常见症状下拉、存自由输入的值
-    const {freeText,saveText} = this.props;
+    const {freeText,saveText,datas} = this.props;
     const that = this;
     const that = this;
-    let data = this.state.inpText;  
+    let data = this.state.inpText;
     e.target.innerText="";
     e.target.innerText="";
     freeText && freeText(data.trim());
     freeText && freeText(data.trim());
     // 延时关闭常见症状下拉,不延时会影响选中
     // 延时关闭常见症状下拉,不延时会影响选中
@@ -206,7 +215,7 @@ class MainSuit extends Component{
       fuzhen={fuzhen} 
       fuzhen={fuzhen} 
       title='主诉' 
       title='主诉' 
       editable={editClear||datas.length==0?true:false} 
       editable={editClear||datas.length==0?true:false} 
-      boxLineHeight="22px" 
+      boxLineHeight="24px"
       handleFocus={this.handleFocus} 
       handleFocus={this.handleFocus} 
       onchange={(e)=>{this.handleChange(e)}} 
       onchange={(e)=>{this.handleChange(e)}} 
       handleClick={this.handleClick} 
       handleClick={this.handleClick} 

+ 3 - 7
src/components/Operation/index.jsx

@@ -1,6 +1,6 @@
 import React, { Component } from "react";
 import React, { Component } from "react";
 import style from "./index.less";
 import style from "./index.less";
-import printImg from '@common/images/Printing.png';
+import printImg from '@common/images/icon_print_blue.png';
 import preview from '@common/images/preview.png';
 import preview from '@common/images/preview.png';
 import saveHistory from '@common/images/saveHistory.png';
 import saveHistory from '@common/images/saveHistory.png';
 import PrintPreviewContainer from '@containers/PrintPreviewContainer';
 import PrintPreviewContainer from '@containers/PrintPreviewContainer';
@@ -171,7 +171,8 @@ class Operation extends Component {
     let whichSign = baseList.typeConfig.typeConfig;
     let whichSign = baseList.typeConfig.typeConfig;
     let activeItemData = baseList.tabTemplate.activeItem;
     let activeItemData = baseList.tabTemplate.activeItem;
     // let preview = (activeItemData.preview).split('-').join('');
     // let preview = (activeItemData.preview).split('-').join('');
-
+    // console.log(activeItemData.dataJson,4545554)
+    // console.log(JSON.stringify(jsonData),4545554)
     if (whichSign == 0) {
     if (whichSign == 0) {
       if (activeItemData && JSON.stringify(activeItemData) != '{}' && (activeItemData.dataJson == JSON.stringify(jsonData)) && (JSON.stringify(jsonStr) == JSON.stringify(JSON.parse(activeItemData.preview)))) {
       if (activeItemData && JSON.stringify(activeItemData) != '{}' && (activeItemData.dataJson == JSON.stringify(jsonData)) && (JSON.stringify(jsonStr) == JSON.stringify(JSON.parse(activeItemData.preview)))) {
         Notify.info('该模板已保存');
         Notify.info('该模板已保存');
@@ -193,11 +194,6 @@ class Operation extends Component {
         return true;
         return true;
       }
       }
     } else if(whichSign == 1) {
     } else if(whichSign == 1) {
-      console.log(JSON.parse(jsonStr.chief))
-      
-      if(activeItemData && JSON.stringify(activeItemData) != '{}'){
-        console.log(JSON.parse(JSON.parse(activeItemData.preview).chief))
-      }
       if (activeItemData && JSON.stringify(activeItemData) != '{}' && (JSON.stringify(jsonStr) == JSON.stringify(JSON.parse(activeItemData.preview)))) {
       if (activeItemData && JSON.stringify(activeItemData) != '{}' && (JSON.stringify(jsonStr) == JSON.stringify(JSON.parse(activeItemData.preview)))) {
         Notify.info('该模板已保存');
         Notify.info('该模板已保存');
         return false;
         return false;

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

@@ -7,7 +7,7 @@
     left: 10px;
     left: 10px;
     right: 480px;
     right: 480px;
     background-color: #fff;
     background-color: #fff;
-    z-index: 240;
+    // z-index: 240;
     padding-bottom: 10px;
     padding-bottom: 10px;
     border-bottom: 10px solid #e4e6e7;
     border-bottom: 10px solid #e4e6e7;
     .button {
     .button {

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

@@ -219,7 +219,7 @@ class PreviewBody extends Component {
                     </td>
                     </td>
                 </tr>
                 </tr>
                 <tr style={{ verticalAlign: 'top' }}>
                 <tr style={{ verticalAlign: 'top' }}>
-                    <td style={{ width: 70, textAlign: 'right', padding: '0px 5px 16px 0px', fontSize: '14px' }}>辅:</td>
+                    <td style={{ width: 70, textAlign: 'right', padding: '0px 5px 16px 0px', fontSize: '14px' }}>辅:</td>
                     <td style={{ fontSize: '14px', padding: '0px 0px 16px 0px',lineHeight:'18px' }}>
                     <td style={{ fontSize: '14px', padding: '0px 0px 16px 0px',lineHeight:'18px' }}>
                         {
                         {
                             dataStr.pacs && dataStr.pacs != '' && dataStr.pacs.split(';').map((item)=>{
                             dataStr.pacs && dataStr.pacs != '' && dataStr.pacs.split(';').map((item)=>{

+ 24 - 13
src/components/PrintPreview/index.jsx

@@ -78,20 +78,31 @@ class PrintPreview extends Component {
         this.props.onClose()
         this.props.onClose()
     }
     }
     surePrint(jsonData,jsonStr,whichSign){
     surePrint(jsonData,jsonStr,whichSign){
-        console.log(jsonData)
-        console.log(jsonStr)
-        if(JSON.parse(jsonStr.chief).length == 1 && JSON.parse(jsonStr.chief)[0].trim() ==''){
-          Notify.info('主诉不能为空');
-            return false;
-        }else if(jsonStr.chief && JSON.parse(jsonStr.chief).length < 1){
-            Notify.info('主诉不能为空');
-            return false;
-        }else if(!jsonStr.diag || jsonStr.diag.trim().length < 1){
-            Notify.info('诊断不能为空');
-            return false;
+        if(whichSign == 0){
+            if(jsonData.chief.length < 1){
+                Notify.info('主诉不能为空');
+                return;
+            }else if(jsonData.diag.length < 1){
+                Notify.info('诊断不能为空');
+                return;
+            }else{
+                this.onPrint();
+                this.props.save(true)
+            }
         }else{
         }else{
-          this.onPrint();
-          this.props.save(true)
+            if(JSON.parse(jsonStr.chief).length == 1 && JSON.parse(jsonStr.chief)[0] ==''){
+                Notify.info('主诉不能为空');
+                return;
+            }else if(JSON.parse(jsonStr.chief).length < 1){
+                Notify.info('主诉不能为空');
+                return;
+            }else if(jsonStr.diag.trim().length < 1){
+                Notify.info('诊断不能为空');
+                return;
+            }else{
+                this.onPrint();
+                this.props.save(true)
+            }
         }
         }
     }
     }
     render() {
     render() {

+ 206 - 146
src/components/PushItems/index.jsx

@@ -7,11 +7,12 @@ import tipsImg from "../../common/images/tips.png";
 import vigilantImg from "../../common/images/vigilant.png";
 import vigilantImg from "../../common/images/vigilant.png";
 import showImg from "../../common/images/show.png";
 import showImg from "../../common/images/show.png";
 import hideImg from "../../common/images/close.png";
 import hideImg from "../../common/images/close.png";
-import closeImg from "./img/close.png";
 import CopyRightContainer from "@containers/CopyRightContainer";
 import CopyRightContainer from "@containers/CopyRightContainer";
 import PushDiag from "./PushDiag";
 import PushDiag from "./PushDiag";
-import DiagnosticItem from '@containers/DiagnosticItem';
+import DiagnosticItem from "@containers/DiagnosticItem";
 import $ from "jquery";
 import $ from "jquery";
+import { getWindowInnerHeight } from "@common/js/func";
+import {windowEventHandler} from '@utils/tools'
 
 
 class PushItems extends Component {
 class PushItems extends Component {
   constructor(props) {
   constructor(props) {
@@ -19,7 +20,7 @@ class PushItems extends Component {
 
 
     this.state = {
     this.state = {
       moreAssay: false,
       moreAssay: false,
-      moreCheck: false,
+      moreCheck: false
     };
     };
 
 
     this.showMore = this.showMore.bind(this);
     this.showMore = this.showMore.bind(this);
@@ -28,6 +29,7 @@ class PushItems extends Component {
     this.changeAssay = this.changeAssay.bind(this);
     this.changeAssay = this.changeAssay.bind(this);
     this.changeCheck = this.changeCheck.bind(this);
     this.changeCheck = this.changeCheck.bind(this);
     this.showTips = this.showTips.bind(this);
     this.showTips = this.showTips.bind(this);
+    this.$cont = React.createRef();
   }
   }
 
 
   showMore(type) {
   showMore(type) {
@@ -43,11 +45,11 @@ class PushItems extends Component {
     const checkedAssay = assay.filter(item => item.checked);
     const checkedAssay = assay.filter(item => item.checked);
     const checkedCheck = check.filter(item => item.checked);
     const checkedCheck = check.filter(item => item.checked);
     this.props.billing(checkedAssay, checkedCheck);
     this.props.billing(checkedAssay, checkedCheck);
-    const Height = $('.src-components-BodyContainer-2SgEx').height()
-    const adviceHeight = $('.src-common-components-ItemBox-1Bpz3').height()
+    const Height = $(".src-components-BodyContainer-2SgEx").height();
+    const adviceHeight = $(".src-common-components-ItemBox-1Bpz3").height();
     const winHeight = window.innerHeight;
     const winHeight = window.innerHeight;
-    const scrollTop = Height 
-    document.documentElement.scrollTop = scrollTop;
+    const scrollTop = Height;
+    document.documentElement.scrollTop = 10000;
   }
   }
 
 
   changeAssay(item) {
   changeAssay(item) {
@@ -62,23 +64,28 @@ class PushItems extends Component {
     const { getTipsDetails } = this.props;
     const { getTipsDetails } = this.props;
     getTipsDetails && getTipsDetails();
     getTipsDetails && getTipsDetails();
   }
   }
+  componentDidMount() {
+    const height = getWindowInnerHeight() - 200;
+    this.$cont.current.style.height = height + "px";
 
 
+    windowEventHandler('resize', ()=>{
+      const height = getWindowInnerHeight() - 200;
+      this.$cont.current.style.height = height + "px";
+    });
+  }
 
 
   render() {
   render() {
     const {
     const {
-	  vigilant,
-	  determine,
+      vigilant,
+      determine,
       doubt,
       doubt,
       possible,
       possible,
       assay,
       assay,
       check,
       check,
-      tips,
+      tips
     } = this.props.pushMessage;
     } = this.props.pushMessage;
     const { tipsDiscalimer } = this.props;
     const { tipsDiscalimer } = this.props;
-    const {
-      moreAssay,
-      moreCheck,
-    } = this.state;
+    const { moreAssay, moreCheck } = this.state;
     const {
     const {
       showMore,
       showMore,
       closeMore,
       closeMore,
@@ -98,7 +105,7 @@ class PushItems extends Component {
         return (
         return (
           <span>
           <span>
             <input
             <input
-              id = {item.id + item.name}
+              id={item.id + item.name}
               onChange={() => changeAssay(item)}
               onChange={() => changeAssay(item)}
               type="checkbox"
               type="checkbox"
               checked={item.checked}
               checked={item.checked}
@@ -113,7 +120,7 @@ class PushItems extends Component {
       return (
       return (
         <span>
         <span>
           <input
           <input
-            id = {item.id + item.name}
+            id={item.id + item.name}
             onChange={() => changeAssay(item)}
             onChange={() => changeAssay(item)}
             type="checkbox"
             type="checkbox"
             checked={item.checked}
             checked={item.checked}
@@ -132,7 +139,7 @@ class PushItems extends Component {
         return (
         return (
           <span>
           <span>
             <input
             <input
-              id = {item.id + item.name}
+              id={item.id + item.name}
               onChange={() => changeCheck(item)}
               onChange={() => changeCheck(item)}
               type="checkbox"
               type="checkbox"
               checked={item.checked}
               checked={item.checked}
@@ -147,7 +154,7 @@ class PushItems extends Component {
       return (
       return (
         <span>
         <span>
           <input
           <input
-            id = {item.id + item.name}
+            id={item.id + item.name}
             onChange={() => changeCheck(item)}
             onChange={() => changeCheck(item)}
             type="checkbox"
             type="checkbox"
             checked={item.checked}
             checked={item.checked}
@@ -158,146 +165,199 @@ class PushItems extends Component {
     });
     });
 
 
     const vigilants = vigilant.map((item, index) => {
     const vigilants = vigilant.map((item, index) => {
-        return (
-          <DiagnosticItem item={item}/>
-        );
+      return <DiagnosticItem item={item} />;
     });
     });
 
 
     return (
     return (
-      <div className={style["content"]}>
-        {vigilant && vigilant.length > 0 &&
-           (<div className={style["vigilant"]}>
-            <div className={style["title"]}>
-              <img src={vigilantImg} />
-              警惕
-            </div>
-            <div className={style["vigilantContent"]}>{vigilants}</div>
-          </div>
-    )}
-    {/* 不展示确诊 */}
-		{/* {determine && determine.length>0 && <PushDiag titleBg='#FAEBEC' icon={possibleImg} title='确诊' diagList={determine} maxShowNum={28}/>} */}
-		{doubt && doubt.length>0 && <PushDiag titleBg='#FAEBEC' icon={doubtImg} title='疑似诊断' diagList={doubt} maxShowNum={28}/>}
-		{possible && possible.length>0 && <PushDiag titleBg='#FAEBEC' icon={possibleImg} title='可能诊断' diagList={possible} maxShowNum={28}/>}
-        <div className={style["diagnose"]}>
-			{ vigilant.length === 0 && determine.length === 0 && doubt.length === 0 && possible.length === 0 && (<div className={style["doubt"]}>
-				<h1>
-				<img src={doubtImg} />
-				疑似诊断
-				</h1>
-				<div className={style['no-push']}>无</div>
-			</div>)}
-        </div>
-        <div className={style["recommend"]}>
-          <h1>
-            <img src={recommendImg} />
-            推荐检验检查<div onClick={billing}>开单</div>
-          </h1>
-          <div>
-            {assay.length === 0 && check.length === 0 ? (
-              "无"
-            ) : (
-              <ul>
-                <li className={style["firstLi"]}>
-                  <div className={style["title"]}>化验:</div>
-                  <div className={style["content"]}>
-                    {assay.length === 0 ? "无" : moreAssay ? assays : assayHide}
-                    {assayNum > 28 ? (
-                      <span
-                        style={
-                          moreAssay ? { display: "none" } : { display: "inline-block" }
-                        }
-                        className={style["show"]}
-                        onClick={() => showMore("moreAssay")}
-                      >
-                        更多
-                        <img src={showImg} />
-                      </span>
-                    ) : (
-                      ""
-					)}
-					<span  style={
-                        moreAssay ? { display: "inline-block" } : { display: "none" }
-                      }
-                      className={style["close"]}
-                      onClick={() => closeMore("moreAssay")}>收起
-                      <img src={hideImg} />
-					</span>
+      <div className={style["push-content-wrapper"]}>
+        <div className={style["push-content"]} ref={this.$cont}>
+          <div style = {{width: '420px'}}>
+            {vigilant && vigilant.length > 0 && (
+              <div className={style["vigilant"]}>
+                <div className={style["title"]}>
+                  <img src={vigilantImg} />
+                  警惕
+                </div>
+                <div className={style["vigilantContent"]}>{vigilants}</div>
+              </div>
+            )}
+            {/* 不展示确诊 */}
+            {/* {determine && determine.length>0 && <PushDiag titleBg='#FAEBEC' icon={possibleImg} title='确诊' diagList={determine} maxShowNum={28}/>} */}
+            {doubt && doubt.length > 0 && (
+              <PushDiag
+                titleBg="#FAEBEC"
+                icon={doubtImg}
+                title="疑似诊断"
+                diagList={doubt}
+                maxShowNum={28}
+              />
+            )}
+            {possible && possible.length > 0 && (
+              <PushDiag
+                titleBg="#FAEBEC"
+                icon={possibleImg}
+                title="可能诊断"
+                diagList={possible}
+                maxShowNum={28}
+              />
+            )}
+            <div className={style["diagnose"]}>
+              {vigilant.length === 0 &&
+                determine.length === 0 &&
+                doubt.length === 0 &&
+                possible.length === 0 && (
+                  <div className={style["doubt"]}>
+                    <h1>
+                      <img src={doubtImg} />
+                      疑似诊断
+                    </h1>
+                    <div className={style["no-push"]}>无</div>
                   </div>
                   </div>
-                </li>
-                <li className={style["lastLi"]}>
-                  <div className={style["title"]}>检查:</div>
-                  <div className={style["content"]}>
-                    {check.length === 0 ? "无" : moreCheck ? checks : checkHide}
-                    {checkNum > 28 ? (
+                )}
+            </div>
+
+            <div className={style["recommend"]}>
+              <h1>
+                <img src={recommendImg} />
+                推荐检验检查<div onClick={billing}>开单</div>
+              </h1>
+              <div>
+                {assay.length === 0 && check.length === 0 ? (
+                  "无"
+                ) : (
+                  <ul>
+                    <li className={style["firstLi"]}>
+                      <div className={style["title"]}>化验:</div>
+                      <div className={style["content"]}>
+                        {assay.length === 0
+                          ? "无"
+                          : moreAssay
+                          ? assays
+                          : assayHide}
+                        {assayNum > 28 ? (
+                          <span
+                            style={
+                              moreAssay
+                                ? { display: "none" }
+                                : { display: "inline-block" }
+                            }
+                            className={style["show"]}
+                            onClick={() => showMore("moreAssay")}
+                          >
+                            更多
+                            <img src={showImg} />
+                          </span>
+                        ) : (
+                          ""
+                        )}
+                        <span
+                          style={
+                            moreAssay
+                              ? { display: "inline-block" }
+                              : { display: "none" }
+                          }
+                          className={style["close"]}
+                          onClick={() => closeMore("moreAssay")}
+                        >
+                          收起
+                          <img src={hideImg} />
+                        </span>
+                      </div>
+                    </li>
+                    <li className={style["lastLi"]}>
+                      <div className={style["title"]}>检查:</div>
+                      <div className={style["content"]}>
+                        {check.length === 0
+                          ? "无"
+                          : moreCheck
+                          ? checks
+                          : checkHide}
+                        {checkNum > 28 ? (
+                          <span
+                            style={
+                              moreCheck
+                                ? { display: "none" }
+                                : { display: "inline-block" }
+                            }
+                            className={style["show"]}
+                            onClick={() => showMore("moreCheck")}
+                          >
+                            更多
+                            <img src={showImg} />
+                          </span>
+                        ) : (
+                          ""
+                        )}
+                        <span
+                          style={
+                            moreCheck
+                              ? { display: "inline-block" }
+                              : { display: "none" }
+                          }
+                          className={style["close"]}
+                          onClick={() => closeMore("moreCheck")}
+                        >
+                          收起
+                          <img src={hideImg} />
+                        </span>
+                      </div>
+                    </li>
+                  </ul>
+                )}
+              </div>
+            </div>
+            <div className={style["tips"]}>
+              <h1>
+                <img src={tipsImg} />
+                提示信息
+              </h1>
+              <div className={style["content"]}>
+                {tips && tips.introduceDetailList ? (
+                  <div>
+                    <div className={style["title"]}>
+                      {tips.tagName}
                       <span
                       <span
-                        style={
-                          moreCheck ? { display: "none" } : { display: "inline-block" }
-                        }
-                        className={style["show"]}
-                        onClick={() => showMore("moreCheck")}
+                        className={style["tips-details"]}
+                        onClick={() => showTips(tips)}
                       >
                       >
-                        更多
-                        <img src={showImg} />
+                        详情
                       </span>
                       </span>
-                    ) : (
-                      ""
-					)}
-					<span style={
-                        moreCheck ? { display: "inline-block" } : { display: "none" }
-                      }
-                      className={style["close"]}
-                      onClick={() => closeMore("moreCheck")}>
-						 收起
-                      <img src={hideImg} />
-					</span>
+                    </div>
+                    {tips.introduceDetailList &&
+                      tips.introduceDetailList.map((item, index) => {
+                        return (
+                          item.position.indexOf("1") > -1 && (
+                            <div>
+                              <div
+                                dangerouslySetInnerHTML={{
+                                  __html: item.title
+                                }}
+                              />
+                              <div
+                                dangerouslySetInnerHTML={{
+                                  __html: item.content
+                                }}
+                              />
+                              {item.isReason === 1 && (
+                                <div className={style["warn"]}>
+                                  {tipsDiscalimer.data.data[0].description}
+                                </div>
+                              )}
+                            </div>
+                          )
+                        );
+                      })}
                   </div>
                   </div>
-                </li>
-              </ul>
-            )}
-          </div>
-        </div>
-        <div className={style["tips"]}>
-          <h1>
-            <img src={tipsImg} />
-            提示信息
-          </h1>
-          <div className={style["content"]}>
-            {tips ? (
-              tips.introduceDetailList&&<div>
-                <div className={style["title"]}>
-                  {tips.name}
-                  <span
-                    className={style["tips-details"]}
-                    onClick={() => showTips(tips)}
-                  >
-                    详情
-                  </span>
-                </div>
-                {tips.introduceDetailList&&tips.introduceDetailList.map((item, index) => {
-                  return (
-                    item.position.indexOf("1") > -1 && (
-                      <div>
-                        <div dangerouslySetInnerHTML={{ __html: item.title }} />
-                        <div
-                          dangerouslySetInnerHTML={{ __html: item.content }}
-                        />
-                        {item.isReason === 1 && (
-                          <div className={style["warn"]}>
-                            {tipsDiscalimer.data.data[0].description}
-                          </div>
-                        )}
-                      </div>
-                    )
-                  );
-                })}
+                ) : (
+                  "无"
+                )}
               </div>
               </div>
-            ) : (
-              "无"
-            )}
+            </div>
           </div>
           </div>
         </div>
         </div>
+
         <CopyRightContainer />
         <CopyRightContainer />
-    </div>
+      </div>
     );
     );
   }
   }
 }
 }

+ 8 - 4
src/components/PushItems/index.less

@@ -1,8 +1,14 @@
 @import "~@less/variables.less";
 @import "~@less/variables.less";
-.content{
+.push-content-wrapper{
   // padding-top: 50px;
   // padding-top: 50px;
   padding: 0px 20px;
   padding: 0px 20px;
-  line-height: 20px;
+  line-height: 20px; 
+  width: 460px;
+  overflow: hidden;
+  .push-content {
+    width: 480px;
+    overflow-y: scroll;
+  }
   .vigilant{
   .vigilant{
     background: #FF8D54;
     background: #FF8D54;
     overflow: hidden;
     overflow: hidden;
@@ -179,8 +185,6 @@
     .content{
     .content{
       font-size: 12px;
       font-size: 12px;
       padding:6px 15px;
       padding:6px 15px;
-      max-height: 220px;
-      overflow: auto;
       .title {
       .title {
         font-size: 14px;
         font-size: 14px;
         line-height: 18px;
         line-height: 18px;

+ 3 - 3
src/components/SpreadDrop/index.jsx

@@ -152,8 +152,8 @@ class SpreadDrop extends Component{
   }
   }
   handleConfirm(e){
   handleConfirm(e){
     e.stopPropagation();
     e.stopPropagation();
-    const {handleConfirm,ikey,type,tagType,order,mainSaveText} = this.props;
-    const params = Object.assign({},this.state,{ikey,type,tagType,order,mainSaveText});
+    const {handleConfirm,ikey,type,tagType,order,mainSaveText,copyType} = this.props;
+    const params = Object.assign({},this.state,{ikey,type,tagType,order,mainSaveText,copyType});
     handleConfirm&&handleConfirm(params);
     handleConfirm&&handleConfirm(params);
 	this.btnClickFlag = true;
 	this.btnClickFlag = true;
     //点确定后隐藏弹窗
     //点确定后隐藏弹窗
@@ -231,7 +231,7 @@ class SpreadDrop extends Component{
       })
       })
       exists = existsData;
       exists = existsData;
     }else if(noneIds.includes(id)){
     }else if(noneIds.includes(id)){
-      nones = nones.replace(name,'');
+      nones = nones.replace(name+'、','');
       noneIds.splice(noneIds.indexOf(id),1);
       noneIds.splice(noneIds.indexOf(id),1);
     }else if(withsIds.includes(id)){
     }else if(withsIds.includes(id)){
       let withsData = withs;
       let withsData = withs;

+ 2 - 1
src/components/TemplateItems/index.jsx

@@ -6,6 +6,7 @@ import check_circle from './TemplateItem/img/check-circle.png';
 import check_right from './TemplateItem/img/check-right.png';
 import check_right from './TemplateItem/img/check-right.png';
 import Empty from '@components/Empty';
 import Empty from '@components/Empty';
 import {getWindowInnerHeight} from '@common/js/func';
 import {getWindowInnerHeight} from '@common/js/func';
+import {windowEventHandler} from '@utils/tools'
 
 
 
 
 class TemplateItems extends React.Component {
 class TemplateItems extends React.Component {
@@ -17,7 +18,7 @@ class TemplateItems extends React.Component {
     componentDidMount(){
     componentDidMount(){
         const height = getWindowInnerHeight()-172;
         const height = getWindowInnerHeight()-172;
         this.$cont.current.style.height = height+"px";
         this.$cont.current.style.height = height+"px";
-        window.addEventListener('resize', ()=>{
+        windowEventHandler('resize', ()=>{
             const height = getWindowInnerHeight()-172;
             const height = getWindowInnerHeight()-172;
             this.$cont.current.style.height = height+"px";
             this.$cont.current.style.height = height+"px";
         });
         });

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

@@ -12,9 +12,8 @@ class DrugInfo extends Component {
         return (<div className={style['drug-info-wrapper']}>
         return (<div className={style['drug-info-wrapper']}>
                 <h3 className={style['drug-title']}>{drugInfo.title}说明书  <img src={close} onClick={hideDrugInfo} className={style['close-drug-desc']}/> </h3>
                 <h3 className={style['drug-title']}>{drugInfo.title}说明书  <img src={close} onClick={hideDrugInfo} className={style['close-drug-desc']}/> </h3>
                 { drugInfo && drugInfo.drugDesc.length > 0 && <div className={style['drug-desc-wrapper']}>
                 { drugInfo && drugInfo.drugDesc.length > 0 && <div className={style['drug-desc-wrapper']}>
-                    <div className={style['drug-title1']}>{drugInfo.title}说明书</div>
                     {drugInfo.drugDesc.map((item, index) =>{
                     {drugInfo.drugDesc.map((item, index) =>{
-                        return <div className={style['drug-desc-item']}><span className={style['drug-desc-title']}>{item.title}</span> <span className={style['drug-desc-content']} dangerouslySetInnerHTML ={{__html: item.content}}></span> </div>
+                        return <div className={style['drug-desc-item']}>{item.title}: <span dangerouslySetInnerHTML ={{__html: item.content}}></span> </div>
                     })}
                     })}
                 </div> }
                 </div> }
 
 

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

@@ -20,34 +20,9 @@
     height: 40px;
     height: 40px;
     line-height: 40px;
     line-height: 40px;
     padding: 0 40px;
     padding: 0 40px;
-    border-bottom: 1px solid #979797;
 }
 }
 .close-drug-desc {
 .close-drug-desc {
     position: absolute;
     position: absolute;
     right: 0;
     right: 0;
     width: 30px;
     width: 30px;
-}
-.drug-desc-item {
-    padding: 5px 0;
-}
-.drug-desc-title {
-    display: inline-block;
-    font-weight: bold;
-    font-size: 14px;
-    height: 100%;
-    float: left;
-}
-.drug-desc-title::before {
-    content: '【'
-}
-.drug-desc-title::after {
-    content: '】'
-}
-.drug-title1 {
-    height: 60px;
-    line-height: 60px;
-    font-size: 32px;
-    color: #000000;
-    text-align: center;
-}
-.drug-desc-content {}
+}

+ 1 - 2
src/containers/CheckBody.js

@@ -1,8 +1,7 @@
 import {connect} from 'react-redux';
 import {connect} from 'react-redux';
 import CheckBody from '@components/CheckBody';
 import CheckBody from '@components/CheckBody';
 import {getModule,getInitData} from '@store/async-actions/fetchModules.js';
 import {getModule,getInitData} from '@store/async-actions/fetchModules.js';
-import {SETDROPSHOW} from '@types/homePage.js';
-import {HIDE,RESET} from '@store/types/homePage.js';
+import {HIDE,RESET,SETDROPSHOW} from '@store/types/homePage.js';
 import {SELECTSEARCHDATA} from "@store/types/checkBody";
 import {SELECTSEARCHDATA} from "@store/types/checkBody";
 import {billing} from '@store/async-actions/pushMessage';
 import {billing} from '@store/async-actions/pushMessage';
 
 

+ 11 - 2
src/containers/CurrentIll.js

@@ -6,9 +6,10 @@ import {SET_CURRENT_ILL} from '@store/types/fillInfo'
 import {pushMessage} from '../store/async-actions/pushContainer';
 import {pushMessage} from '../store/async-actions/pushContainer';
 import {getModules} from '../store/async-actions/fetchModules.js';
 import {getModules} from '../store/async-actions/fetchModules.js';
 import {SETDROPSHOW} from '@types/homePage.js';
 import {SETDROPSHOW} from '@types/homePage.js';
-import {HIDE,RESET,CLICKCOUNT} from '@store/types/homePage.js';
+import {HIDE,RESET,CLICKCOUNT,ISREAD} from '@store/types/homePage.js';
 import {billing} from '@store/async-actions/pushMessage';
 import {billing} from '@store/async-actions/pushMessage';
 import {getModule} from '@store/async-actions/fetchModules.js';
 import {getModule} from '@store/async-actions/fetchModules.js';
+import {didPushParamChange} from '@utils/tools.js';
 
 
 
 
 function mapStateToProps(state) {//console.log(11,state);
 function mapStateToProps(state) {//console.log(11,state);
@@ -54,10 +55,12 @@ function mapDispatchToProps(dispatch) {
         });
         });
         dispatch({
         dispatch({
           type:INSERT_PROCESS,
           type:INSERT_PROCESS,
+        });
+        dispatch({
+          type:ISREAD
         })
         })
        },
        },
        async setData(info){//设置现病史使用模板
        async setData(info){//设置现病史使用模板
-        dispatch(billing);//右侧推送
         let idsArr = info.mainIds;
         let idsArr = info.mainIds;
         let ids = idsArr.join(",");
         let ids = idsArr.join(",");
         let labelModule = await getModules(ids);
         let labelModule = await getModules(ids);
@@ -71,6 +74,12 @@ function mapDispatchToProps(dispatch) {
           type:SET_CURRENT_DATA,
           type:SET_CURRENT_DATA,
           info
           info
         })
         })
+         //右侧推送
+         setTimeout(function(){      //延迟待确定后的数据更新后推送,避免获取的参数还是旧的
+           if(didPushParamChange()){     //操作后内容有变化才推送
+             dispatch(billing);
+           }
+         },500);
        },
        },
         setCurrentIll: value => {
         setCurrentIll: value => {
           dispatch({type: SET_CURRENT_ILL, value})
           dispatch({type: SET_CURRENT_ILL, value})

+ 4 - 6
src/containers/DiagnosticItem.js

@@ -3,7 +3,6 @@ import { connect } from 'react-redux';
 import DiagnosticItem from '@components/DiagnosticItem';
 import DiagnosticItem from '@components/DiagnosticItem';
 import { ADD_DIAGNOSTIC, GET_DIAGNOSTIC_STR } from '@store/types/diagnosticList'; 
 import { ADD_DIAGNOSTIC, GET_DIAGNOSTIC_STR } from '@store/types/diagnosticList'; 
 import {  SHOW_SEARCH,  HIDE_SEARCH, SET_SEARCH_VALUE } from '@store/types/diagnosticSearch';
 import {  SHOW_SEARCH,  HIDE_SEARCH, SET_SEARCH_VALUE } from '@store/types/diagnosticSearch';
-import { addDiagnostic } from '@store/async-actions/treat';
 import { getSearchResult } from '@store/async-actions/diagnosticSearch';
 import { getSearchResult } from '@store/async-actions/diagnosticSearch';
 import { isAddMainSuit } from '@store/async-actions/diagnosticList';
 import { isAddMainSuit } from '@store/async-actions/diagnosticList';
 import {billing, getTips} from '../store/async-actions/pushMessage';
 import {billing, getTips} from '../store/async-actions/pushMessage';
@@ -18,11 +17,10 @@ function mapStateToProps(state) {
 function mapDispatchToProps(dispatch) {
 function mapDispatchToProps(dispatch) {
     return{
     return{
         addDiagnostic: (item) => {
         addDiagnostic: (item) => {
-            dispatch(addDiagnostic(item))
-            // dispatch({
-            //     type: ADD_DIAGNOSTIC,
-            //     item: item
-            // });
+            dispatch({
+                type: ADD_DIAGNOSTIC,
+                item: item
+            });
             dispatch({
             dispatch({
                 type: GET_DIAGNOSTIC_STR
                 type: GET_DIAGNOSTIC_STR
             });
             });

+ 1 - 1
src/containers/EditableSpan.js

@@ -167,7 +167,7 @@ function mapDispatchToProps(dispatch,state) {
       //右侧推送
       //右侧推送
       clearTimeout(timer);
       clearTimeout(timer);
       let timer = setTimeout(function(){      //延迟待确定后的数据更新后推送,避免获取的参数还是旧的
       let timer = setTimeout(function(){      //延迟待确定后的数据更新后推送,避免获取的参数还是旧的
-        if(didPushParamChange&&didPushParamChange()){     //操作后内容有变化才推送
+        if(didPushParamChange()){     //操作后内容有变化才推送
           dispatch(billing);
           dispatch(billing);
           clearTimeout(timer);
           clearTimeout(timer);
         }
         }

+ 1 - 1
src/containers/InlineTag.js

@@ -25,7 +25,7 @@ function mapDispatchToProps(dispatch,store){
       const type = params.ikey.substr(0,1);    //当前所在的项目
       const type = params.ikey.substr(0,1);    //当前所在的项目
       const {ikey,text,prefix,suffix} = params;
       const {ikey,text,prefix,suffix} = params;
       const i = getLabelIndex(ikey);
       const i = getLabelIndex(ikey);
-      const inner = params.ikey.substr(-1);
+      const inner = params.ikey.substr(params.ikey.length-1);
       dispatch({
       dispatch({
         type:tagInpActions[+type],
         type:tagInpActions[+type],
         i,
         i,

+ 1 - 1
src/containers/Inspect.js

@@ -25,7 +25,7 @@ function mapDispatchToProps(dispatch, store) {
         },
         },
         handleLabelSub(e,id,idx){
         handleLabelSub(e,id,idx){
             dispatch(fillActived(id,idx))
             dispatch(fillActived(id,idx))
-            e.stopPropagation()
+            // e.stopPropagation()
         },
         },
         handleClear(e,idx){
         handleClear(e,idx){
             e.stopPropagation();
             e.stopPropagation();

+ 13 - 4
src/containers/MainSuit.js

@@ -2,12 +2,12 @@ import React from 'react';
 import { connect } from 'react-redux';
 import { connect } from 'react-redux';
 import MainSuit from '@components/MainSuit';
 import MainSuit from '@components/MainSuit';
 import {CLEAR_COMSYMPTOMS,SHOW_TAIL,INSERT_MAIN,CLEAR_SEARCH,SET_SEARCH,SAVE_FREE,SET_DATA,INSERT_SEARCH,SETTEXTMODEVALUE} from '@store/types/mainSuit';
 import {CLEAR_COMSYMPTOMS,SHOW_TAIL,INSERT_MAIN,CLEAR_SEARCH,SET_SEARCH,SAVE_FREE,SET_DATA,INSERT_SEARCH,SETTEXTMODEVALUE} from '@store/types/mainSuit';
-import {RESET,CLICKCOUNT} from '@store/types/homePage.js';
+import {RESET,CLICKCOUNT,ISREAD} from '@store/types/homePage.js';
 import {getCommSymptoms,getCommSymptomPush} from '@store/async-actions/mainSuit.js'
 import {getCommSymptoms,getCommSymptomPush} from '@store/async-actions/mainSuit.js'
 import {SET_MAIN_SUIT} from '@store/types/fillInfo';
 import {SET_MAIN_SUIT} from '@store/types/fillInfo';
 import {getSearch} from '@store/async-actions/fetchModules';
 import {getSearch} from '@store/async-actions/fetchModules';
 import {billing} from '@store/async-actions/pushMessage';
 import {billing} from '@store/async-actions/pushMessage';
-import {filterArr} from '@utils/tools.js';
+import {filterArr,didPushParamChange} from '@utils/tools.js';
 import config from '@config/index.js';
 import config from '@config/index.js';
 import {Notify} from '@commonComp';
 import {Notify} from '@commonComp';
 
 
@@ -67,12 +67,21 @@ function mapDispatchToProps(dispatch) {
             type: SHOW_TAIL,
             type: SHOW_TAIL,
             info:obj.questionMapping
             info:obj.questionMapping
           })
           })
+          dispatch({
+            type:ISREAD
+          })
         },
         },
         insertMain:(item)=>{//将选中的常见症状插入
         insertMain:(item)=>{//将选中的常见症状插入
           dispatch({
           dispatch({
             type: INSERT_MAIN,
             type: INSERT_MAIN,
             item
             item
-          })
+          });
+          //右侧推送
+          setTimeout(function(){      //延迟待确定后的数据更新后推送,避免获取的参数还是旧的
+            if(didPushParamChange()){     //操作后内容有变化才推送
+              dispatch(billing);
+            }
+          },500);
         },
         },
         getData(){//主诉使用模板
         getData(){//主诉使用模板
           dispatch({
           dispatch({
@@ -84,7 +93,7 @@ function mapDispatchToProps(dispatch) {
       },
       },
       pushMessage() {//结构模式右侧推送
       pushMessage() {//结构模式右侧推送
         console.log("右侧推送接口");
         console.log("右侧推送接口");
-        // dispatch(billing);
+        dispatch(billing);
       },
       },
       getSearchData:(item)=>{
       getSearchData:(item)=>{
         getSearch(item).then((res)=>{
         getSearch(item).then((res)=>{

+ 1 - 1
src/containers/MultSpread.js

@@ -2,7 +2,7 @@ import React from 'react';
 import {connect} from 'react-redux';
 import {connect} from 'react-redux';
 import MultSpread from "@components/MultSpread";
 import MultSpread from "@components/MultSpread";
 import {SETSELECTED,CLEARSELECTED,CONFIRMSELECTED,CHANGEOTHERTEXTLABEL,OTHERADDLABELITEM} from '@types/otherHistory';
 import {SETSELECTED,CLEARSELECTED,CONFIRMSELECTED,CHANGEOTHERTEXTLABEL,OTHERADDLABELITEM} from '@types/otherHistory';
-import {CHANGE_LABELVAL as CHANGECHECKTEXTLABEL,ADDLABELITEM} from '@types/checkBody.js';
+import {CHANGECHECKTEXTLABEL,ADDLABELITEM} from '@types/checkBody.js';
 import {CHANGE_LABELVAL,MAINADDLABELITEM} from '@store/types/mainSuit.js';
 import {CHANGE_LABELVAL,MAINADDLABELITEM} from '@store/types/mainSuit.js';
 import {CURRENTADDLABELITEM} from '@store/types/currentIll.js';
 import {CURRENTADDLABELITEM} from '@store/types/currentIll.js';
 import {HIDE,RESET,CLICKCOUNT,SETADDITEMINIT} from '@store/types/homePage.js';
 import {HIDE,RESET,CLICKCOUNT,SETADDITEMINIT} from '@store/types/homePage.js';

+ 12 - 2
src/containers/NumberDrop.js

@@ -2,13 +2,14 @@ import React from 'react';
 import {connect} from 'react-redux';
 import {connect} from 'react-redux';
 import NumberDrop from "@components/NumberDrop";
 import NumberDrop from "@components/NumberDrop";
 import {SETNUMBER,CHANGEOTHERTEXTLABEL} from '@types/otherHistory';
 import {SETNUMBER,CHANGEOTHERTEXTLABEL} from '@types/otherHistory';
-import {SETNUMBER as SETNUMBER4,CHANGE_LABELVAL as CHANGECHECKTEXTLABEL} from '@types/checkBody.js';
+import {SETNUMBER4,CHANGECHECKTEXTLABEL} from '@types/checkBody.js';
 import {SETDROPSHOW,CLICKCOUNT,HIDE,RESET,HIDEDROP} from '@types/homePage.js';
 import {SETDROPSHOW,CLICKCOUNT,HIDE,RESET,HIDEDROP} from '@types/homePage.js';
 import {NUMBER_SELECT,CHANGE_LABELVAL} from '@store/types/mainSuit.js';
 import {NUMBER_SELECT,CHANGE_LABELVAL} from '@store/types/mainSuit.js';
 import {getLabelIndex} from '@common/js/func.js';
 import {getLabelIndex} from '@common/js/func.js';
 import {CURRENT_NUMBER,CURRENT_TEXT_LABEL} from '@store/types/currentIll.js';
 import {CURRENT_NUMBER,CURRENT_TEXT_LABEL} from '@store/types/currentIll.js';
+import {billing} from '@store/async-actions/pushMessage';
 import {Notify} from '@commonComp';
 import {Notify} from '@commonComp';
-import {filterArr} from '@utils/tools.js';
+import {filterArr,didPushParamChange} from '@utils/tools.js';
 import config from '@config/index.js';
 import config from '@config/index.js';
 
 
 function mapStateToProps(state){
 function mapStateToProps(state){
@@ -115,6 +116,15 @@ function mapDispatchToProps(dispatch,store){
   return {
   return {
     handleSelect(params){
     handleSelect(params){
       handleModuleDiff(dispatch,params);
       handleModuleDiff(dispatch,params);
+
+      //右侧推送
+      clearTimeout(timer);
+      let timer = setTimeout(function(){      //延迟待确定后的数据更新后推送,避免获取的参数还是旧的
+        if(didPushParamChange()){     //操作后内容有变化才推送
+          dispatch(billing);
+          clearTimeout(timer);
+        }
+      },config.delayPushTime);
     },
     },
     handleDbclick(obj){
     handleDbclick(obj){
       dispatch({
       dispatch({

+ 11 - 2
src/containers/NumberUnitDrop.js

@@ -2,13 +2,14 @@ import React from 'react';
 import {connect} from 'react-redux';
 import {connect} from 'react-redux';
 import NumberUnitDrop from "@components/NumberUnitDrop";
 import NumberUnitDrop from "@components/NumberUnitDrop";
 import {SETNUMBER,CHANGEOTHERTEXTLABEL} from '@types/otherHistory';
 import {SETNUMBER,CHANGEOTHERTEXTLABEL} from '@types/otherHistory';
-import {SETNUMBER as SETNUMBER4,CHANGE_LABELVAL as CHANGECHECKTEXTLABEL} from '@types/checkBody.js';
+import {SETNUMBER4,CHANGECHECKTEXTLABEL} from '@types/checkBody.js';
 import {SETDROPSHOW,CLICKCOUNT,HIDE,RESET,HIDEDROP} from '@types/homePage.js';
 import {SETDROPSHOW,CLICKCOUNT,HIDE,RESET,HIDEDROP} from '@types/homePage.js';
 import {NUMBER_SELECT,CHANGE_LABELVAL} from '@store/types/mainSuit.js';
 import {NUMBER_SELECT,CHANGE_LABELVAL} from '@store/types/mainSuit.js';
 import {getLabelIndex} from '@common/js/func.js';
 import {getLabelIndex} from '@common/js/func.js';
 import {CURRENT_NUMBER,CURRENT_TEXT_LABEL} from '@store/types/currentIll.js';
 import {CURRENT_NUMBER,CURRENT_TEXT_LABEL} from '@store/types/currentIll.js';
 import {Notify} from '@commonComp';
 import {Notify} from '@commonComp';
-import {filterArr} from '@utils/tools.js';
+import {filterArr,didPushParamChange} from '@utils/tools.js';
+import {billing} from '@store/async-actions/pushMessage';
 import config from '@config/index.js';
 import config from '@config/index.js';
 
 
 function mapStateToProps(state){
 function mapStateToProps(state){
@@ -115,6 +116,14 @@ function mapDispatchToProps(dispatch,store){
   return {
   return {
     handleSelect(params){
     handleSelect(params){
       handleModuleDiff(dispatch,params);
       handleModuleDiff(dispatch,params);
+      //右侧推送
+      clearTimeout(timer);
+      let timer = setTimeout(function(){      //延迟待确定后的数据更新后推送,避免获取的参数还是旧的
+        if(didPushParamChange()){     //操作后内容有变化才推送
+          dispatch(billing);
+          clearTimeout(timer);
+        }
+      },config.delayPushTime);
     },
     },
     handleDbclick(obj){
     handleDbclick(obj){
       dispatch({
       dispatch({

+ 10 - 2
src/containers/RadioDrop.js

@@ -2,12 +2,13 @@ import React from 'react';
 import {connect} from 'react-redux';
 import {connect} from 'react-redux';
 import RadioDrop from "@components/RadioDrop";
 import RadioDrop from "@components/RadioDrop";
 import {SETRADIO,CLEARSELECTED,CONFIRMSELECTED,CHANGEOTHERTEXTLABEL} from '@types/otherHistory';
 import {SETRADIO,CLEARSELECTED,CONFIRMSELECTED,CHANGEOTHERTEXTLABEL} from '@types/otherHistory';
-import {SETSELECTED as SETSELECTED4,CHANGE_LABELVAL as CHANGECHECKTEXTLABEL} from '@types/checkBody';
+import {SETSELECTED4,CHANGECHECKTEXTLABEL} from '@types/checkBody';
 import {SETDROPSHOW,HIDE,RESET,HIDEDROP,CLICKCOUNT} from '@types/homePage.js';
 import {SETDROPSHOW,HIDE,RESET,HIDEDROP,CLICKCOUNT} from '@types/homePage.js';
 import {RADIO_SELECT,CHANGE_LABELVAL} from '@store/types/mainSuit.js';
 import {RADIO_SELECT,CHANGE_LABELVAL} from '@store/types/mainSuit.js';
 import {CURRENT_RADIO,CURRENT_TEXT_LABEL} from '@store/types/currentIll.js';
 import {CURRENT_RADIO,CURRENT_TEXT_LABEL} from '@store/types/currentIll.js';
 import {Notify} from '@commonComp';
 import {Notify} from '@commonComp';
-import {filterArr} from '@utils/tools.js';
+import {filterArr,didPushParamChange} from '@utils/tools.js';
+import {billing} from '@store/async-actions/pushMessage';
 import {getLabelIndex,fullfillText} from '@common/js/func.js';
 import {getLabelIndex,fullfillText} from '@common/js/func.js';
 import config from '@config/index.js';
 import config from '@config/index.js';
 
 
@@ -102,6 +103,13 @@ function mapDispatchToProps(dispatch,store){
       dispatch({
       dispatch({
         type: HIDEDROP
         type: HIDEDROP
       });
       });
+
+      //右侧推送
+      setTimeout(function(){      //延迟待确定后的数据更新后推送,避免获取的参数还是旧的
+        if(didPushParamChange()){     //操作后内容有变化才推送
+          dispatch(billing);
+        }
+      },500);
     },
     },
     handleDbclick(obj){//双击统计
     handleDbclick(obj){//双击统计
       dispatch({
       dispatch({

+ 23 - 6
src/containers/SpreadDrop.js

@@ -7,11 +7,12 @@ import {RESET,SETDROPSHOW,HIDEDROP,CLICKCOUNT,ISREAD} from '@store/types/homePag
 import {getModules as fetchModules} from '@store/async-actions/fetchModules.js';
 import {getModules as fetchModules} from '@store/async-actions/fetchModules.js';
 import {getCommSymptomPush} from '@store/async-actions/mainSuit.js'
 import {getCommSymptomPush} from '@store/async-actions/mainSuit.js'
 import {GET_BIGDATAPUSH,MIX_CONFIRM,COMM_CONFIRM,CHANGE_LABELVAL} from '@store/types/mainSuit';
 import {GET_BIGDATAPUSH,MIX_CONFIRM,COMM_CONFIRM,CHANGE_LABELVAL} from '@store/types/mainSuit';
-import {SETCHECKBOX,CHANGE_LABELVAL as CHANGECHECKTEXTLABEL} from '@types/checkBody';
+import {SETCHECKBOX,CHANGECHECKTEXTLABEL} from '@types/checkBody';
 import {CURRENT_CONFIRM,SETMAINCHECKBOX,CURRENT_TEXT_LABEL,CURRENT_GET_BIGDATAPUSH} from '@types/currentIll';
 import {CURRENT_CONFIRM,SETMAINCHECKBOX,CURRENT_TEXT_LABEL,CURRENT_GET_BIGDATAPUSH} from '@types/currentIll';
 import {getLabelIndex,fullfillText,getIds} from '@common/js/func.js';
 import {getLabelIndex,fullfillText,getIds} from '@common/js/func.js';
+import {billing} from '@store/async-actions/pushMessage';
 import {Notify} from '@commonComp';
 import {Notify} from '@commonComp';
-import {filterArr} from '@utils/tools.js';
+import {filterArr,didPushParamChange} from '@utils/tools.js';
 import config from '@config/index.js';
 import config from '@config/index.js';
 
 
 function mapStateToProps(state) {
 function mapStateToProps(state) {
@@ -110,20 +111,30 @@ function currentIll(dispatch,store,params){
 
 
 //其他史多选标签确定事件
 //其他史多选标签确定事件
 function otherHisConfirm(dispatch,store,params){
 function otherHisConfirm(dispatch,store,params){
-  const {nones,exists,withs,exclusion,excluName} = params;
+  const {nones,exists,withs,exclusion,excluName,copyType} = params;
   // const ikey = params.ikey.substr(1,1);
   // const ikey = params.ikey.substr(1,1);
   const index = params.ikey;
   const index = params.ikey;
   let ikey = getLabelIndex(index);
   let ikey = getLabelIndex(index);
   if(params.exclusion){
   if(params.exclusion){
     dispatch({
     dispatch({
       type: CONFIRMSELECTED,
       type: CONFIRMSELECTED,
-      data:{exclusion,excluName,ikey}
+      data:{exclusion,excluName,ikey,copyType}
     });
     });
     return ;
     return ;
   }
   }
   let existsId = getIds(exists);
   let existsId = getIds(exists);
   let withsId = getIds(withs);
   let withsId = getIds(withs);
   const ids = existsId.join(",")+withsId.join(",");
   const ids = existsId.join(",")+withsId.join(",");
+  if(!ids&&nones){      //只有无的项目
+    dispatch({
+      type: CONFIRMSELECTED,
+      data: {exists:[],withs:[],nones:nones,ikey,copyType}
+    });
+    dispatch({
+      type:ISREAD
+    });
+    return;
+  }
   // const ids = exists.join(",")+withs.join(",");
   // const ids = exists.join(",")+withs.join(",");
   let has = [],wes=[];
   let has = [],wes=[];
   //获取选中项目模板
   //获取选中项目模板
@@ -138,7 +149,7 @@ function otherHisConfirm(dispatch,store,params){
       });
       });
       dispatch({
       dispatch({
         type: CONFIRMSELECTED,
         type: CONFIRMSELECTED,
-        data: {exists:fullfillText(has,true,false).newArr,withs:fullfillText(wes,true,false).newArr,nones:nones,ikey}
+        data: {exists:fullfillText(has,false,false).newArr,withs:fullfillText(wes,false,false).newArr,nones:nones,ikey,copyType}
       });
       });
       dispatch({
       dispatch({
         type:ISREAD
         type:ISREAD
@@ -328,7 +339,13 @@ function mapDispatchToProps(dispatch,store){
         handleModuleDiff(dispatch,store,obj);
         handleModuleDiff(dispatch,store,obj);
       }else if(obj.tagType == 2){//普通多选
       }else if(obj.tagType == 2){//普通多选
         handleCheckBox(dispatch,store,obj);
         handleCheckBox(dispatch,store,obj);
-      }  
+      }
+      //右侧推送
+      setTimeout(function(){      //延迟待确定后的数据更新后推送,避免获取的参数还是旧的
+        if(didPushParamChange()){     //操作后内容有变化才推送
+          dispatch(billing);
+        }
+      },500);
     },
     },
     handleHide(){
     handleHide(){
       dispatch({
       dispatch({

+ 2 - 1
src/containers/eleType.js

@@ -94,7 +94,8 @@ function multCheckLabels(params,tagType){
                      ikey={showInx}
                      ikey={showInx}
                      placeholder={data.name}
                      placeholder={data.name}
                      value={data.value}
                      value={data.value}
-                     selecteds={selecteds ?selecteds[i]:{}}
+                     copyType={data.copyType}
+                     selecteds={selecteds ?selecteds[i]:[]}
                      show={showArr&&showArr[showInx]}
                      show={showArr&&showArr[showInx]}
                      order={data.textGenerate}
                      order={data.textGenerate}
                      type={boxMark}
                      type={boxMark}

+ 2 - 2
src/store/actions/checkBody.js

@@ -14,7 +14,7 @@ export function setNumberValue(state,action){
   const param = action.params;
   const param = action.params;
   const ikey = param.ikey;
   const ikey = param.ikey;
   let labelInx = getLabelIndex(ikey);
   let labelInx = getLabelIndex(ikey);
-  const subInx = ikey.substr(-1,1);
+  const subInx = ikey.substr(ikey.length-1);
   let item = res.data[labelInx];
   let item = res.data[labelInx];
   if(+item.tagType===1){
   if(+item.tagType===1){
     item.value = param.text;
     item.value = param.text;
@@ -39,7 +39,7 @@ export function setRadioValue(state,action){
   let res = Object.assign({},state);
   let res = Object.assign({},state);
   const {ikey,id,text} = action;
   const {ikey,id,text} = action;
   let labelInx = getLabelIndex(ikey);
   let labelInx = getLabelIndex(ikey);
-  const subInx = ikey.substr(-1,1);
+  const subInx = ikey.substr(ikey.length-1);
   let item = res.data[labelInx];
   let item = res.data[labelInx];
   if(typeof text != 'string'){    //需要展开项--有无治疗类型
   if(typeof text != 'string'){    //需要展开项--有无治疗类型
     const len = +item.copyType === 0?1:0;
     const len = +item.copyType === 0?1:0;

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

@@ -7,6 +7,7 @@ export const addDiagnostic = (state, action) => {
 export const delDiagnostic = (state, action) => {
 export const delDiagnostic = (state, action) => {
     const res = JSON.parse(JSON.stringify(state));
     const res = JSON.parse(JSON.stringify(state));
     res.diagnosticList = res.diagnosticList.filter(item => item.id !== action.id);
     res.diagnosticList = res.diagnosticList.filter(item => item.id !== action.id);
+    console.log('del',state,action.id)
     return res;
     return res;
 }
 }
 
 

+ 2 - 2
src/store/actions/mainSuit.js

@@ -277,7 +277,7 @@ export function setNumberValue(state,action){
   const param = action.params;
   const param = action.params;
   const index = param.ikey;
   const index = param.ikey;
   let labelInx = getLabelIndex(index);
   let labelInx = getLabelIndex(index);
-  const subInx = index.substr(-1,1);
+  const subInx = index.substr(index.length-1);
   let item = res.data[labelInx];
   let item = res.data[labelInx];
   if(+item.tagType===1){
   if(+item.tagType===1){
     item.value = param.text;
     item.value = param.text;
@@ -304,7 +304,7 @@ export function setRadioValue(state,action){
   let res = Object.assign({},state);
   let res = Object.assign({},state);
   const {ikey,id,text} = action;
   const {ikey,id,text} = action;
   let labelInx = getLabelIndex(ikey);
   let labelInx = getLabelIndex(ikey);
-  const subInx = ikey.substr(-1,1);
+  const subInx = ikey.substr(ikey.length-1);
   let item = res.data[labelInx];
   let item = res.data[labelInx];
   if(typeof text != 'string'){    //需要展开项--有无治疗类型
   if(typeof text != 'string'){    //需要展开项--有无治疗类型
     const len = +item.copyType === 0?1:0;
     const len = +item.copyType === 0?1:0;

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

@@ -72,7 +72,7 @@ export const addScheme = (state, action) => {
 				treatmentStr = treatmentStr + treatment[i].medicitionsList[j].medicitionName + ', '
 				treatmentStr = treatmentStr + treatment[i].medicitionsList[j].medicitionName + ', '
 			}
 			}
 	}
 	}
-	treatment[i].treatmentStr = treatmentStr.substring(0,treatmentStr.length-1)
+	treatment[i].treatmentStr = treatmentStr.substring(0,treatmentStr.length-2)
   }
   }
   treatItem.treatment = treatment;
   treatItem.treatment = treatment;
   for (let i = 0; i < scheme.length; i++) {
   for (let i = 0; i < scheme.length; i++) {
@@ -190,7 +190,7 @@ export const addBilling = (state, action) => {
 		}
 		}
 	}
 	}
 	if(res.advice.assay  && res.advice.check !== '') {
 	if(res.advice.assay  && res.advice.check !== '') {
-			if(res.advice.assay.substring(res.advice.assay.length-2,res.advice.assay.length) !== ', ') {
+			if(res.advice.assay.substring(res.advice.assay.length-2,res.advice.assay.length-1) !== ', ') {
 				res.advice.assay = res.advice.assay + ', '
 				res.advice.assay = res.advice.assay + ', '
 			} 
 			} 
 	}
 	}

+ 2 - 19
src/store/async-actions/fetchModules.js

@@ -3,6 +3,7 @@ import {SET} from '@types/checkBody.js';
 import {fullfillText} from '@common/js/func';
 import {fullfillText} from '@common/js/func';
 import {SETDATA} from '@store/types/otherHistory';
 import {SETDATA} from '@store/types/otherHistory';
 import store from '@store';
 import store from '@store';
+import {getEMRParams} from '@utils/tools.js';
 import {Notify} from '@commonComp';
 import {Notify} from '@commonComp';
 import {SETOTHERHISTORY} from "../types/homePage";
 import {SETOTHERHISTORY} from "../types/homePage";
 
 
@@ -14,24 +15,6 @@ const api={
   getBigPush:'/api/icss/push/pushInner',
   getBigPush:'/api/icss/push/pushInner',
   saveMode:'/api/icss/doctorPageMode/saveDoctorPageModes',
   saveMode:'/api/icss/doctorPageMode/saveDoctorPageModes',
 };
 };
-//获取病例输入的内容
-export const getEMRParams = ()=>{
-  const state = store.getState();
-  const {message} = state.patInfo;
-  const {mainSuit,currentIll,otherHistory,checkBody,inspect,assistCheck,diagnosticList} = state;
-  const main = mainSuit.saveText.join(",")||'',
-    current=currentIll.saveText.join(",")||'',
-    other = otherHistory.saveText.join(",")||'',
-    vital = checkBody.saveText.join(",")||'',
-    lis = inspect.pushItem,    //化验推送所需数据
-    pacs = assistCheck.dataString||'',
-    dis=diagnosticList.diagnosticStr||'',
-    advice = '',
-    diseaeId = [];
-  const age = message.patientAge;
-  const sex = message.sex;
-    return {main,current,other,vital,lis,pacs,dis,advice,diseaeId,sex,age};
-};
 
 
 //获取模板,多个
 //获取模板,多个
 export const getModules = (ids)=>{
 export const getModules = (ids)=>{
@@ -114,7 +97,7 @@ export function getInitData(){
       pacs: emrData.pacs,
       pacs: emrData.pacs,
       sex: emrData.sex,
       sex: emrData.sex,
       vital:emrData.vital,
       vital:emrData.vital,
-      symptom: emrData.current + emrData.main
+      symptom: emrData.current||emrData.main
     };
     };
     json(api.getBigPush,param).then((res)=>{
     json(api.getBigPush,param).then((res)=>{
       if(+res.data.code === 0){
       if(+res.data.code === 0){

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

@@ -1,6 +1,6 @@
 import {json} from '@utils/ajax.js';
 import {json} from '@utils/ajax.js';
 import {COMM_SYMPTOMS,SET_SEARCH,GET_BIGDATAPUSH} from '../types/mainSuit'
 import {COMM_SYMPTOMS,SET_SEARCH,GET_BIGDATAPUSH} from '../types/mainSuit'
-import {getEMRParams} from '@store/async-actions/fetchModules';
+import {getEMRParams} from '@utils/tools';
 
 
 const host = '/api/icss/';
 const host = '/api/icss/';
 const api = {
 const api = {

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

@@ -5,6 +5,7 @@ import {getInfos} from '@store/actions/getInfoByUuid';
 import {getUrlArgObject,pushAllDataList} from '@utils/tools';
 import {getUrlArgObject,pushAllDataList} from '@utils/tools';
 import {getInitModules} from '@store/async-actions/homePage.js';
 import {getInitModules} from '@store/async-actions/homePage.js';
 import store from '@store'
 import store from '@store'
+import {ISREAD} from "../types/homePage";
 
 
 const api = {
 const api = {
     getPatInfo: '/api/icss/patientInfo/getTopPatientInfo',
     getPatInfo: '/api/icss/patientInfo/getTopPatientInfo',
@@ -41,7 +42,10 @@ export const initHistoryDetails = (dispatch) => {
             const data = res.data;
             const data = res.data;
             if (data.code == 0) {
             if (data.code == 0) {
                 const detail = data.data;
                 const detail = data.data;
-                pushAllDataList(detail.sign,'push',detail,'history')
+                pushAllDataList(detail.sign,'push',detail,'history');
+                dispatch({
+                  type:ISREAD
+                });
                 // 设置初始模式
                 // 设置初始模式
                 if(detail.sign == 1){
                 if(detail.sign == 1){
                     dispatch({
                     dispatch({

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

@@ -1,7 +1,7 @@
 import { get, post, json } from "@utils/ajax";
 import { get, post, json } from "@utils/ajax";
 import { BILLING_ADVICE, SET_TIPS } from '../types/pushMessage';
 import { BILLING_ADVICE, SET_TIPS } from '../types/pushMessage';
 import { SET_CLICK_DIAG } from '../types/diagnosticList';
 import { SET_CLICK_DIAG } from '../types/diagnosticList';
-import { getEMRParams } from '@store/async-actions/fetchModules';
+import {storageLocal,getEMRParams} from '@utils/tools';
 
 
 const api={
 const api={
   push:'/api/icss/push/pushInner',
   push:'/api/icss/push/pushInner',
@@ -27,6 +27,7 @@ export const billing = (dispatch, getState) => {
     vital:emrData.vital,
     vital:emrData.vital,
     symptom: emrData.current + emrData.main
     symptom: emrData.current + emrData.main
   };
   };
+  storageLocal.set('emrParam',params);      //推送数据存储,用作推送前对比是否有变,有变才推送
     json(url, params).then((data) => {
     json(url, params).then((data) => {
         let {dis, lab, pacs} = data.data.data||{};
         let {dis, lab, pacs} = data.data.data||{};
         lab = lab||[];
         lab = lab||[];

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

@@ -1,65 +1,12 @@
 import { json } from "@utils/ajax";
 import { json } from "@utils/ajax";
 import { SET_TREAT } from '@store/types/diagnosticList';
 import { SET_TREAT } from '@store/types/diagnosticList';
-import { ADD_DIAGNOSTIC} from '@store/types/diagnosticList'; 
 import { SET_DRUG_INFO, SET_TREATMENT, SET_RECOMMEND_BASIC } from '@store/types/treat';
 import { SET_DRUG_INFO, SET_TREATMENT, SET_RECOMMEND_BASIC } from '@store/types/treat';
-import {getEMRParams} from '@store/async-actions/fetchModules';
+import {getEMRParams} from  '@utils/tools';
 const api={
 const api={
     push:'/api/icss/push/pushInner',
     push:'/api/icss/push/pushInner',
     textPush:'/api/icss/push/pushText'
     textPush:'/api/icss/push/pushText'
 }
 }
 
 
-export const addDiagnostic = (item) => {
-        return (dispatch, getState) => {
-            const state = getState();
-            let url = api.push;
-            if(+state.typeConfig.confirmType===1){
-                url=api.textPush;
-            }
-            const emrData = getEMRParams();
-            const diagnosticList = state.diagnosticList.diagnosticList;
-            let diag = '';
-            if(diagnosticList) {
-                for (let i = 0; i < diagnosticList.length; i++ ) {
-                    if(i ===0 ) {
-                        diag = diag + diagnosticList[i].name;
-                    } else {
-                        diag = diag + ',' + diagnosticList[i].name;
-                    }
-                    
-                }
-            }
-            if (item.type === 1) {
-                diag = diag + ',' + item.name
-            } else {
-                diag = diag + ',' + item.name
-            }
-            const params = {
-                "age": emrData.age,
-                "featureType": "8",
-                "diag": diag,
-                "diseaseId":  item.id,
-                "lis": emrData.lis,
-                "other": emrData.other,
-                "pacs": emrData.pacs,
-                "sex": emrData.sex,
-                "symptom": emrData.current + emrData.main,
-                "vital": emrData.vital
-            };
-            
-            json(url, params).then((data) =>{
-                item.treat = data.data.data.treat
-            
-                return dispatch({
-                    type: ADD_DIAGNOSTIC,
-                    item: item
-                })
-            }).catch((e) =>{
-                console.log(e)
-            })
-        }
-
-}
-
 export const getTreatResult = (item) =>{
 export const getTreatResult = (item) =>{
     return (dispatch, getState) => {
     return (dispatch, getState) => {
         const state = getState();
         const state = getState();
@@ -102,7 +49,7 @@ export const getTreatResult = (item) =>{
             "other": emrData.other,
             "other": emrData.other,
             "pacs": emrData.pacs,
             "pacs": emrData.pacs,
             "sex": emrData.sex,
             "sex": emrData.sex,
-            "symptom": emrData.current + emrData.main,
+            "symptom": emrData.current||emrData.main,
             "vital": emrData.vital
             "vital": emrData.vital
         };
         };
         
         
@@ -199,6 +146,7 @@ export const getTreatResult = (item) =>{
     
     
 } 
 } 
 export const getInstroduce = (item)=>{
 export const getInstroduce = (item)=>{
+    // const instroduce = '<p>药品说明1</p><p>药品说明2</p><p>药品说明3</p>'
 
 
     return (dispatch, getState) =>{
     return (dispatch, getState) =>{
         const url = '/api/icss/introduceInfo/getByQuestionId';
         const url = '/api/icss/introduceInfo/getByQuestionId';

+ 4 - 3
src/store/types/checkBody.js

@@ -1,12 +1,13 @@
 export const SET = 'set_check_data';
 export const SET = 'set_check_data';
-export const SETSELECTED = 'check_body_select';
-export const SETNUMBER = 'set_check_number_drop';
+export const SETSELECTED4 = 'check_body_select';
+export const SETNUMBER4 = 'set_check_number_drop';
 export const ADDLABELITEM = 'add_check_item';
 export const ADDLABELITEM = 'add_check_item';
 export const SETCHECKTEXT = 'set_check_text';
 export const SETCHECKTEXT = 'set_check_text';
 export const SETCHECKBOX = 'set_check_checkbox_drop';
 export const SETCHECKBOX = 'set_check_checkbox_drop';
 export const SETSEARCHDATA = 'set_check_search_data';
 export const SETSEARCHDATA = 'set_check_search_data';
 export const SELECTSEARCHDATA = 'select_check_search_data';
 export const SELECTSEARCHDATA = 'select_check_search_data';
-export const CHANGE_LABELVAL = 'change_check_text';
+//export const CHANGE_LABELVAL = 'change_check_text';
+export const CHANGECHECKTEXTLABEL = 'change_check_text';
 export const CLEARCHECKBODY = 'clear_check_body';
 export const CLEARCHECKBODY = 'clear_check_body';
 export const CHECK_FOCUS_INDEX = 'check_focus_text_index';
 export const CHECK_FOCUS_INDEX = 'check_focus_text_index';
 export const CHECKBODY_CLEAR = 'clear_search_check_body';
 export const CHECKBODY_CLEAR = 'clear_search_check_body';

+ 55 - 2
src/utils/tools.js

@@ -8,7 +8,6 @@ import {clearAllLabel} from '@store/actions/inspect';
 import {CLEAR_ALL_DIAG} from '@store/types/diagnosticList';
 import {CLEAR_ALL_DIAG} from '@store/types/diagnosticList';
 import {CLEAR_ALL_PUSH_MESSAGE, SET_TIPS} from '@store/types/pushMessage';
 import {CLEAR_ALL_PUSH_MESSAGE, SET_TIPS} from '@store/types/pushMessage';
 import {ISREAD, SETREADDITEMS} from "../store/types/homePage";
 import {ISREAD, SETREADDITEMS} from "../store/types/homePage";
-/*import {Notify} from '@commonComp';*/
 
 
 /***
 /***
  * 工具函数
  * 工具函数
@@ -502,11 +501,62 @@ function preventDefault(event) {
         event.returnValue = false;
         event.returnValue = false;
     }
     }
 }
 }
+
+//ie8添加解除事件兼容
+function windowEventHandler(type,func){
+    if(window.addEventListener){
+      window.addEventListener(type, func);
+    }else{
+      window.attachEvent('on'+type,func);
+    }
+}
+
+
 //禁止回车事件
 //禁止回车事件
 function handleEnter(event){
 function handleEnter(event){
+    event = event?event:window.event;
     if(event.keyCode==13){return false;}
     if(event.keyCode==13){return false;}
 }
 }
 
 
+//获取病例输入的内容
+function getEMRParams(){
+  const state = store.getState();
+  const {message} = state.patInfo;
+  const {mainSuit,currentIll,otherHistory,checkBody,inspect,assistCheck,diagnosticList} = state;
+  const main = filterDataArr(mainSuit.saveText)||'',
+    current=filterDataArr(currentIll.saveText)||'',
+    other = filterDataArr(otherHistory.saveText)||'',
+    vital = filterDataArr(checkBody.saveText)||'',
+    lis = inspect.pushItem,    //化验推送所需数据
+    pacs = assistCheck.dataString||'',
+    dis=diagnosticList.diagnosticStr||'',
+    advice = '',
+    diseaeId = [];
+  const age = message.patientAge;
+  const sex = message.sex;
+  return {main,current,other,vital,lis,pacs,dis,advice,diseaeId,sex,age};
+};
+
+function didPushParamChange(){
+  const emrData = getEMRParams();
+  const oldParams = storageLocal.get('emrParam');
+  const newParams = JSON.stringify({
+    age: emrData.age,
+    featureType: "5,6,7",
+    diag: emrData.dis,
+    lis: emrData.lis,
+    other: emrData.other,
+    pacs: emrData.pacs,
+    sex: emrData.sex,
+    vital:emrData.vital,
+    symptom: emrData.current + emrData.main
+  });
+  if(newParams == oldParams){
+      return false;
+  }
+  return true;
+}
+
 module.exports = {
 module.exports = {
     checkType: Type.checkType,
     checkType: Type.checkType,
     regexp,
     regexp,
@@ -525,5 +575,8 @@ module.exports = {
     filterArr,
     filterArr,
     filterDataArr,
     filterDataArr,
     preventDefault,
     preventDefault,
-    handleEnter
+    handleEnter,
+    didPushParamChange,
+    getEMRParams,
+    windowEventHandler
 };
 };

+ 3 - 3
static/pages/hisLib/infomation.js

@@ -3,8 +3,8 @@
     function getInfomation(){
     function getInfomation(){
         // var infoUrl ="http://" + window.location.host+'/icss-web/kl/introduce/get_by_itemidAndType';
         // var infoUrl ="http://" + window.location.host+'/icss-web/kl/introduce/get_by_itemidAndType';
         // var infoUrl ="http://" + window.location.host+'/api/icss/introduceInfo/getByQuestionId';
         // var infoUrl ="http://" + window.location.host+'/api/icss/introduceInfo/getByQuestionId';
-        var infoUrl ='http://192.168.2.236:5050/api/icss/introduceInfo/getByQuestionId'
-        var imageUrlPrefix = 'http://192.168.2.236:82'
+        var infoUrl ='/api/icss/introduceInfo/getByQuestionId'
+        var imageUrlPrefix = 'http://192.168.2.241:82'
         var urlParam = parseUrlParams();
         var urlParam = parseUrlParams();
         console.log(urlParam)
         console.log(urlParam)
         var param = {
         var param = {
@@ -28,7 +28,7 @@
                     return;
                     return;
                 }
                 }
                 var list  = res.data.introduceDetailList;
                 var list  = res.data.introduceDetailList;
-                $("h1").html(res.data.name);
+                $("h1").html(res.data.tagName);
                 //list.map((item,i) =>{
                 //list.map((item,i) =>{
                 for(var i=0;i<list.length;i++) {
                 for(var i=0;i<list.length;i++) {
                     item = list[i];
                     item = list[i];

+ 119 - 0
static/pages/test.html

@@ -0,0 +1,119 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+    <title>Document</title>
+    <style>
+        .upload-btn {
+            width: 130px;
+            height: 25px;
+            overflow: hidden;
+            position: relative;
+            border: 3px solid #06c;
+            border-radius: 5px;
+            background: #0cf;
+        
+        }
+            .upload-btn:hover {
+                background: #09f;
+            }
+            .upload-btn__txt {
+                z-index: 1;
+                position: relative;
+                color: #fff;
+                font-size: 18px;
+                font-family: "Helvetica Neue";
+                line-height: 24px;
+                text-align: center;
+                text-shadow: 0 1px 1px #000;
+            }
+            .upload-btn input {
+                top: -10px;
+                right: -40px;
+                z-index: 2;
+                position: absolute;
+                cursor: pointer;
+                opacity: 0;
+                filter: alpha(opacity=0);
+                font-size: 50px;
+            }
+        </style>
+        <script src="../dist/jQuery.js"></script>
+        <script>
+        
+          window.onload=function(){
+              document.documentElement.focus()
+            } 
+        </script>
+
+    <script>
+        var FileAPI = {
+            // @default: "./dist/"
+            staticPath: './dist/',
+
+            // @default: FileAPI.staticPath + "FileAPI.flash.swf"
+            flashUrl: './dist/FileAPI.flash.swf',
+
+            // @default: FileAPI.staticPath + "FileAPI.flash.image.swf"
+            flashImageUrl: './dist/FileAPI.flash.image.swf'
+        };
+    </script>
+    <script src="../dist/FileAPI.js"></script>
+
+</head>
+<body>
+    <div>
+        <div class="js-fileapi-wrapper upload-btn">
+            <div class="upload-btn__txt">Choose files</div>
+            <input id="choose" name="uploadfile" type="file" multiple />
+        </div>
+    </div>
+    
+    <script>
+        $(function(){
+            $('iframe').bind( 'load', function(){} )
+            FileAPI.debug = true
+            $.support.cors = true;
+            var choose = document.getElementById('choose');
+            FileAPI.event.on(choose, 'change', function (evt){
+                var files = FileAPI.getFiles(evt);
+                FileAPI.filterFiles(files, function (file, info){
+                    return	true;
+                }, 
+                function (files, rejected){
+                    if( files.length ){
+                        FileAPI.upload({
+                            dataType: 'string',
+                            url: 'http://192.168.2.236/api/icss/lisExcelRes/lisExcelAnalysis',
+                            files: { 
+                                // 'hospitalCode':'A001',
+                                'uploadfile': files[0]
+                            },
+                            headers:{
+                                // 'Content-Type':'Content-Type: multipart/form-data;'
+                                // 'Content-Type':'application/json;charset=UTF-8'
+                                // 'Content-type': "text/plain"
+                            },
+                            progress: function (evt){ 
+                                console.log(files,1111)
+                                alert(7)
+                            },
+                            complete: function (err, xhr){
+                                alert(9999)
+                                if( !err ){
+                                    var result = xhr.responseText;
+                                    alert(JSON.parse(result).code == 0?'成功':'失败')
+                                }else{
+                                    alert(9)
+                                }
+                            }
+                        });
+                    }
+                });
+            });
+        })
+    </script>
+</body>
+</html>

+ 75 - 0
static/pages/test2.html

@@ -0,0 +1,75 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta http-equiv="X-UA-Compatible" content="ie=8">
+    <title>Document</title>
+
+    <script src="./dist/jquery-1.9.1.min.js"></script>
+    <script src="./dist/jquery.form.js"></script>
+
+</head>
+<body>
+<div>
+    <form id="tForm" action='http://192.168.2.236:5050/api/icss/lisExcelRes/lisExcelAnalysis' enctype="multipart/form-data" method="post" name="fileForm">
+        <input type="hidden" value="A001" name="hospitalCode"/>
+        <label for="upload">
+            <input type="file" id="upload" class="file" name="uploadfile"/>
+        </label>
+        <input type="submit" value="Submit 1" name="uploadSubmitter1">
+    </form>
+</div>
+
+<script>
+  /*function subimtBtn() {
+    var form = $("form[name=fileForm]");console.log(111)
+    var options = {
+      url:'http://192.168.2.241:5050/api/icss/lisExcelRes/lisExcelAnalysis', //上传文件的路径
+      type:'post',
+      data:{hospitalCode:'A001',uploadfile:$("#upload").value},
+      success:function(data,a){
+        console.log(222,JSON.stringify(data));
+        //....       //异步上传成功之后的操作
+      },
+      complete:function(data,a){
+        console.log(111,JSON.stringify(data));
+        //....       //异步上传成功之后的操作
+      }
+    };
+    form.ajaxSubmit(options);
+  }*/
+  /*$(function(){
+    $('iframe').bind( 'load', function(){} )
+    FileAPI.debug = true
+    $.support.cors = true;
+    var choose = document.getElementById('upload');
+    FileAPI.event.on(choose, 'change', function (evt){
+      var files = FileAPI.getFiles(evt);console.log(files[0])
+      FileAPI.filterFiles(files, function (file, info){
+          return	true;
+        },
+        function (files, rejected){
+          if( files.length ){
+            var form = $("form[name=fileForm]");
+            var options = {
+              url:'http://192.168.3.98:5050/api/icss/lisExcelRes/lisExcelAnalysis', //上传文件的路径
+              type:'post',
+              data:{hospitalCode:'A001'},
+              files: { uploadfile: files[0] },
+              success:function(data){
+                console.log(JSON.stringify(data));
+                //....       //异步上传成功之后的操作
+              },
+              complete:function(s){
+                console.log(222,JSON.stringify(s));
+              }
+            };
+            form.ajaxSubmit(options);
+          }
+        });
+    });
+  })*/
+</script>
+</body>
+</html>

+ 49 - 0
static/pages/test3.html

@@ -0,0 +1,49 @@
+<!DOCTYPE html>
+<html lang="en">
+<head runat="server">
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <title></title>
+    <script src="dist/jquery-1.7.1.js"></script>
+    <script src="dist/ajaxfileupload.js"></script>
+</head>
+<body>
+<p><input type="file" id="file1" name="file" /></p>
+<input type="button" value="上传" />
+<p><img id="img1" alt="上传成功" src="" /></p>
+
+<script>
+  $(function () {
+    //$.support.cors = true;
+    $(":button").click(function () {
+      ajaxFileUpload();
+    })
+  })
+  function ajaxFileUpload() {
+    $.ajaxFileUpload
+    (
+      {
+        url: 'http://192.168.2.236:5050/api/icss/lisExcelRes/lisExcelAnalysis', //用于文件上传的服务器端请求地址
+        fileElementId: 'file1', //文件上传空间的id属性  <input type="file" id="file" name="file" />
+        dataType: 'json', //返回值类型 一般设置为json
+        success: function (data, status)  //服务器成功响应处理函数
+        {
+          $("#img1").attr("src", data.imgurl);
+          if (typeof (data.error) != 'undefined') {
+            if (data.error != '') {
+              alert(data.error);
+            } else {
+              alert(data.msg);
+            }
+          }
+        },
+        error: function (data, status, e)//服务器响应失败处理函数
+        {
+          alert(e);
+        }
+      }
+    )
+    return false;
+  }
+</script>
+</body>
+</html>