浏览代码

基本完成

luolei 4 年之前
父节点
当前提交
6d318a06a2

+ 5 - 3
src/common/components/ItemBox/index.jsx

@@ -87,9 +87,11 @@ setFontColorSize(){
   render(){
   render(){
     const {title,children,editable,className,handleFocus,fuzhen,border,handleBlur,titleTop,backgroundColor,boxId} = this.props;
     const {title,children,editable,className,handleFocus,fuzhen,border,handleBlur,titleTop,backgroundColor,boxId} = this.props;
     return <div className={style["box"]+" "+"clearfix"}>
     return <div className={style["box"]+" "+"clearfix"}>
-      <div className={`${style["title"]} ${setFontColorSize(2,4)}` + ' '+(className||'')} style={{marginTop:titleTop?'22px':''}}>{title}</div>
-      <div ref={this.$div} className={`${style["content"]} ${border?style["border"]:''} ${backgroundColor?style["noBorder"]:'' } ${this.setFontColorSize()}`} contentEditable={editable} style={this.getBoxStyle()} onFocus={editable?handleFocus:null} onInput={this.handleInput} onClick={(e)=>{this.handleClick(e);}} onBlur={handleBlur} id={boxId} onkeydown={handleEnter}>
-        {fuzhen?children||fuzhen:children}
+      <div className={style['boxWrap']}>
+        <div className={`${style["title"]} ${setFontColorSize(2,4)}` + ' '+(className||'')} style={{marginTop:titleTop?'22px':''}}>{title}</div>
+        <div ref={this.$div} className={`${style["content"]} ${border?style["border"]:''} ${backgroundColor?style["noBorder"]:'' } ${this.setFontColorSize()}`} contentEditable={editable} style={this.getBoxStyle()} onFocus={editable?handleFocus:null} onInput={this.handleInput} onClick={(e)=>{this.handleClick(e);}} onBlur={handleBlur} id={boxId} onkeydown={handleEnter}>
+          {fuzhen?children||fuzhen:children}
+        </div>
       </div>
       </div>
     </div>
     </div>
   }
   }

+ 22 - 7
src/common/components/ItemBox/index.less

@@ -3,14 +3,29 @@
 .box{
 .box{
   margin: 2px 20px;
   margin: 2px 20px;
   word-break: break-word;
   word-break: break-word;
+  .boxWrap {
+    border:1px #E2E2E2 dashed;
+    margin-right: 455px;
+    margin-top: 80px;
+    position: relative;
+    padding: 10px 0;
+    box-sizing: border-box;
+  }
   .title{
   .title{
-    width: 65px;
-    float: left;
-    text-align: right;
-    padding-right: 5px;
-    margin-top: 10px;
+    width: 270px;
     font-size: 14px;
     font-size: 14px;
     font-weight: bold;
     font-weight: bold;
+    position: absolute;
+    top: -40px;
+    left: 0;
+    border:1px #E2E2E2 dashed;
+    border-bottom: 0;
+    background-color: #fff;
+    height:40px;
+    line-height: 40px;
+    padding: 0 10px;
+    box-sizing: border-box;
+    z-index: 2;
   }
   }
   .title:after{
   .title:after{
     content: ":";
     content: ":";
@@ -18,11 +33,11 @@
   .content{
   .content{
     // height:120px;
     // height:120px;
     min-height: 38px;
     min-height: 38px;
-    margin:0 470px 0 60px;
+    margin-left: 40px;
     position: relative;
     position: relative;
     padding:5px 12px 5px 5px;
     padding:5px 12px 5px 5px;
     outline: none;
     outline: none;
-    border-bottom:1px @part-border-color dashed;
+    // border-bottom:1px @part-border-color dashed;
     color: #333;
     color: #333;
     /*border-radius: 4px;*/
     /*border-radius: 4px;*/
   }
   }

二进制
src/common/images/hejia.png


+ 3 - 2
src/components/Banner/index.jsx

@@ -16,6 +16,7 @@ import {CLEAR_COMSYMPTOMS} from '@store/types/mainSuit';
 import { GET_PREC_LIST,SET_PREC_SHOW } from "@store/types/preIcss";
 import { GET_PREC_LIST,SET_PREC_SHOW } from "@store/types/preIcss";
 import {getPreMsg} from '@store/async-actions/preIcss';
 import {getPreMsg} from '@store/async-actions/preIcss';
 import ModeChange from './ModeChange'
 import ModeChange from './ModeChange'
+import hejia from '@common/images/hejia.png';
 
 
 class Banner extends Component {
 class Banner extends Component {
   constructor(props){
   constructor(props){
@@ -114,8 +115,8 @@ class Banner extends Component {
     const disabled = !(hasMain||hasCurrent||hasOther);
     const disabled = !(hasMain||hasCurrent||hasOther);
     return (
     return (
       <div className={style["logo"]} >
       <div className={style["logo"]} >
-        <img src={logo} />
-        <span className={style["logo-name"]}>|&nbsp;&nbsp;智能辅助临床决策系统</span>
+        <img src={hejia} className={style['hejia']} />
+        <span className={style["logo-name"]}>|&nbsp;&nbsp;禾家AI智能问诊系统</span>
         <div className={style["buon"]}>
         <div className={style["buon"]}>
           {ifShow==1&&deptName=='急诊科'?<div className={`${style["buon1"]} ${style["buon2"]}`} onClick={this.showHisModal}>
           {ifShow==1&&deptName=='急诊科'?<div className={`${style["buon1"]} ${style["buon2"]}`} onClick={this.showHisModal}>
                       <img className={`${style["st"]} ${style["his"]}`} src={emergIcon} />
                       <img className={`${style["st"]} ${style["his"]}`} src={emergIcon} />

+ 4 - 0
src/components/Banner/index.less

@@ -77,4 +77,8 @@
   opacity: 0.6;
   opacity: 0.6;
   filter:alpha(opacity=60);
   filter:alpha(opacity=60);
   -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=60);";
   -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=60);";
+}
+
+.hejia {
+   width: 45px;   
 }
 }

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

@@ -113,7 +113,7 @@ class CheckBody extends Component{
   render(){
   render(){
     const {searchData,totalHide,rePush,hasMain,isEmpty,isChronic,hideAllDrop} = this.props;
     const {searchData,totalHide,rePush,hasMain,isEmpty,isChronic,hideAllDrop} = this.props;
     const {boxLeft,boxTop} = this.state;
     const {boxLeft,boxTop} = this.state;
-    return <ItemBox title='查体' handleClick={this.handleClick} hideAllDrop={hideAllDrop}>
+    return <ItemBox title='请填写你的基础健康体征信息' handleClick={this.handleClick} hideAllDrop={hideAllDrop}>
       {!isEmpty&&!isChronic?<img className={style['refresh']} src={rePushIcon} title='重新加载' onClick={!hasMain&&isEmpty?null:rePush}/>:''}
       {!isEmpty&&!isChronic?<img className={style['refresh']} src={rePushIcon} title='重新加载' onClick={!hasMain&&isEmpty?null:rePush}/>:''}
         {this.getLabels()}
         {this.getLabels()}
         {/*{showMoreBtn?more:''}*/}
         {/*{showMoreBtn?more:''}*/}

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

@@ -129,7 +129,7 @@ class CurrentIll extends Component{
                         handleInput={handleInput}/>;
                         handleInput={handleInput}/>;
     }
     }
     return  <div className={style['current-ill']}>
     return  <div className={style['current-ill']}>
-      <ItemBox title='现病史' 
+      <ItemBox title='针对上述症状,请做更加详细描述' 
       editable={editClear||data.length==0?true:false} 
       editable={editClear||data.length==0?true:false} 
       handleFocus={this.handleFocus}
       handleFocus={this.handleFocus}
       handleChange={forbidInput?this.onchange:''}
       handleChange={forbidInput?this.onchange:''}

+ 7 - 5
src/components/EMRContainer/index.jsx

@@ -24,12 +24,12 @@ class EMRContainer extends Component {
     componentDidMount(){
     componentDidMount(){
         // const {initHospital} = this.props;
         // const {initHospital} = this.props;
         // initHospital()
         // initHospital()
-        const height = getWindowInnerHeight() - 175;
+        const height = getWindowInnerHeight() - 280;
         const width = getWindowInnerWidth() - 20;
         const width = getWindowInnerWidth() - 20;
         this.$cont.current.style.height = height+"px";
         this.$cont.current.style.height = height+"px";
         this.$cont.current.style.minWidth = width + "px";
         this.$cont.current.style.minWidth = width + "px";
         windowEventHandler('resize', ()=>{
         windowEventHandler('resize', ()=>{
-          const height = getWindowInnerHeight() - 175;
+          const height = getWindowInnerHeight() - 280;
           const width = getWindowInnerWidth() - 20;
           const width = getWindowInnerWidth() - 20;
           if(this.$cont.current){
           if(this.$cont.current){
             this.$cont.current.style.height = height + "px";
             this.$cont.current.style.height = height + "px";
@@ -45,6 +45,7 @@ class EMRContainer extends Component {
       }
       }
     }
     }
     render() {
     render() {
+      const {messages} = this.props
         const contStyle={
         const contStyle={
                           opacity:'0.4',
                           opacity:'0.4',
                           top:'1px',
                           top:'1px',
@@ -56,12 +57,12 @@ class EMRContainer extends Component {
         return <div className={style['EMR-container']}
         return <div className={style['EMR-container']}
                     ref={this.$cont} id="addScrollEvent">
                     ref={this.$cont} id="addScrollEvent">
             <InfoTitle></InfoTitle>
             <InfoTitle></InfoTitle>
-          <ScrollArea speed={1}
+          {/* <ScrollArea speed={1}
                       horizontal={false}
                       horizontal={false}
                       className={style["area"]}
                       className={style["area"]}
                       verticalContainerStyle={contStyle}
                       verticalContainerStyle={contStyle}
                       verticalScrollbarStyle={barStyle}
                       verticalScrollbarStyle={barStyle}
-                      contentClassName="content">
+                      contentClassName="content"> */}
             <div className={style['inner']} id="EmrContainer" ref={this.$div}>
             <div className={style['inner']} id="EmrContainer" ref={this.$div}>
                 <MainSuit></MainSuit>
                 <MainSuit></MainSuit>
                 <CurrentIll></CurrentIll>
                 <CurrentIll></CurrentIll>
@@ -69,12 +70,13 @@ class EMRContainer extends Component {
                 <div>
                 <div>
                   <CheckBody setHighter={this.setHighter}></CheckBody>
                   <CheckBody setHighter={this.setHighter}></CheckBody>
                 </div>
                 </div>
+                
                 {/* <Inspect setHighter={this.setHighter}></Inspect>
                 {/* <Inspect setHighter={this.setHighter}></Inspect>
                 <AssistCheck setHighter={this.setHighter}></AssistCheck>
                 <AssistCheck setHighter={this.setHighter}></AssistCheck>
                 <Diagnosis setHighter={this.setHighter}></Diagnosis>
                 <Diagnosis setHighter={this.setHighter}></Diagnosis>
                 <AdviceContainer></AdviceContainer> */}
                 <AdviceContainer></AdviceContainer> */}
             </div>
             </div>
-    </ScrollArea>
+    {/* </ScrollArea> */}
             <OperationContainer></OperationContainer>
             <OperationContainer></OperationContainer>
         </div>
         </div>
     }
     }

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

@@ -44,4 +44,6 @@
     height: 1px;
     height: 1px;
     margin: 8px auto 0 auto;
     margin: 8px auto 0 auto;
     background: #D8D8D8;
     background: #D8D8D8;
-}
+}
+
+

+ 1 - 3
src/components/InfoTitle/index.less

@@ -1,7 +1,7 @@
 @import "~@less/variables.less";
 @import "~@less/variables.less";
 .title-wrapper{
 .title-wrapper{
   .contentZIndex2;
   .contentZIndex2;
-  overflow: hidden;
+  // overflow: hidden;
   /*padding: 12px 20px 8px 20px;*/
   /*padding: 12px 20px 8px 20px;*/
   margin-bottom: 40px;
   margin-bottom: 40px;
   background-color: #fff;
   background-color: #fff;
@@ -53,5 +53,3 @@
 .font{
 .font{
   font-size: 13px;
   font-size: 13px;
 }
 }
-
-

+ 29 - 5
src/components/MainSuit/index.jsx

@@ -20,6 +20,7 @@ class MainSuit extends Component{
       inpText:'',
       inpText:'',
       clearTimer:null,
       clearTimer:null,
       overFlag:false,
       overFlag:false,
+      isEdit:false
     };
     };
     this.handleFocus = this.handleFocus.bind(this);
     this.handleFocus = this.handleFocus.bind(this);
     this.handleSelect = this.handleSelect.bind(this);
     this.handleSelect = this.handleSelect.bind(this);
@@ -45,7 +46,7 @@ class MainSuit extends Component{
 
 
 
 
   handleFocus(e){
   handleFocus(e){
-    const {getCommonSymptoms,datas,clearDiagnose,handleShow} = this.props;
+    const {getCommonSymptoms,datas,clearDiagnose,handleShow,messages} = this.props;
     let innerText = e.target.innerText || e.target.innerHTML;//兼容火狐43
     let innerText = e.target.innerText || e.target.innerHTML;//兼容火狐43
     clearDiagnose&&clearDiagnose();//清除复诊数据
     clearDiagnose&&clearDiagnose();//清除复诊数据
     if(!isIE()){//IE会触发onfocus和onblur事件
     if(!isIE()){//IE会触发onfocus和onblur事件
@@ -64,7 +65,7 @@ class MainSuit extends Component{
       window.event.cancelBubble = true;
       window.event.cancelBubble = true;
       // IE 默认会有一个<br>
       // IE 默认会有一个<br>
       // if(datas.length==0 && !innerText.trim()){
       // if(datas.length==0 && !innerText.trim()){
-      if(datas.length==0 && innerText == '<br>'){
+      if(datas.length==0 && innerText == '<br>'&&messages.patientName&&messages.patientAge&&messages.sex){
         getCommonSymptoms && getCommonSymptoms();
         getCommonSymptoms && getCommonSymptoms();
       }
       }
     }
     }
@@ -122,8 +123,31 @@ class MainSuit extends Component{
 
 
 
 
   handleClick(e){
   handleClick(e){
-    const {handleShow} = this.props;
+    const {handleShow,messages} = this.props;
     handleShow&&handleShow({ikey:'common'});
     handleShow&&handleShow({ikey:'common'});
+    if(!messages.patientName){
+      Notify.error("无法操作,请先输入姓名");
+      this.setState({
+        isEdit:false
+      })
+      return
+    }else if(!messages.sex){
+      Notify.error("无法操作,请选择性别");
+      this.setState({
+        isEdit:false
+      })
+      return
+    }else if(!messages.patientAge){
+      Notify.error("无法操作,请输入年龄");
+      this.setState({
+        isEdit:false
+      })
+      return
+    }else{
+      this.setState({
+        isEdit:true
+      })
+    }
     // e.stopPropagation(); //冒泡到最顶层关闭其他下拉
     // e.stopPropagation(); //冒泡到最顶层关闭其他下拉
     //搜索框位置
     //搜索框位置
     const ele = document.activeElement;
     const ele = document.activeElement;
@@ -270,7 +294,7 @@ class MainSuit extends Component{
   }*/
   }*/
   render(){
   render(){
     const {readMode,type,CommonSymptoms,searchData,fetchPushInfos,isRead,totalHide,handleInput,fuzhen,saveText,editClear,datas,commSymHide,showArr} = this.props;
     const {readMode,type,CommonSymptoms,searchData,fetchPushInfos,isRead,totalHide,handleInput,fuzhen,saveText,editClear,datas,commSymHide,showArr} = this.props;
-    const {boxLeft,boxTop} = this.state;
+    const {boxLeft,boxTop,isEdit} = this.state;
     const symptomFlag = CommonSymptoms.length>0 ? true : false;
     const symptomFlag = CommonSymptoms.length>0 ? true : false;
     const searchFlag = searchData.length>0 ? true : false;
     const searchFlag = searchData.length>0 ? true : false;
     const boxTop1 = datas.length>0?boxTop:45;
     const boxTop1 = datas.length>0?boxTop:45;
@@ -284,7 +308,7 @@ class MainSuit extends Component{
     return  <div className={style['main-suit']}>
     return  <div className={style['main-suit']}>
       <ItemBox
       <ItemBox
       fuzhen={fuzhen} 
       fuzhen={fuzhen} 
-      title='主诉' 
+      title='你目前有哪些不适症状' 
       editable={editClear||datas.length==0?true:false} 
       editable={editClear||datas.length==0?true:false} 
       boxLineHeight="24px"
       boxLineHeight="24px"
       handleFocus={this.handleFocus}
       handleFocus={this.handleFocus}

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

@@ -130,7 +130,6 @@ class Operation extends Component {
         oKBg: '#fff',
         oKBg: '#fff',
         msg: <p className={style['msg']}>是否清空所有内容?</p>
         msg: <p className={style['msg']}>是否清空所有内容?</p>
       })
       })
-      
       this.props.diagShowTmp(true)
       this.props.diagShowTmp(true)
     }else{
     }else{
       Notify.info('当前页面数据已清空');
       Notify.info('当前页面数据已清空');

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

@@ -70,7 +70,7 @@ class OtherHistory extends Component{
                        hasMain={hasMain}/>;
                        hasMain={hasMain}/>;
     }
     }
     return  <div>
     return  <div>
-      <ItemBox title='其他史' isRead={isRead} handleClick={this.handleClick} hideAllDrop={hideAllDrop}>
+      <ItemBox title='请选择你是否存在下列疾病史' isRead={isRead} handleClick={this.handleClick} hideAllDrop={hideAllDrop}>
         {this.getLabels()}
         {this.getLabels()}
         {searchData && searchData.length>0?<SearchDrop data={searchData} show={true} top={boxTop} left={boxLeft} onSelect={this.handleSearchSelect}></SearchDrop>:''}
         {searchData && searchData.length>0?<SearchDrop data={searchData} show={true} top={boxTop} left={boxLeft} onSelect={this.handleSearchSelect}></SearchDrop>:''}
       </ItemBox>
       </ItemBox>

+ 98 - 9
src/components/PatInfo/index.jsx

@@ -1,21 +1,108 @@
+import { data } from "jquery";
 import React, { Component } from "react";
 import React, { Component } from "react";
 import style from "./index.less";
 import style from "./index.less";
+import $ from "jquery";
+import waringw from '@common/images/waringw.png';
+import config from '@config/index';
 
 
 class PatInfo extends Component {
 class PatInfo extends Component {
   constructor(props){
   constructor(props){
     super(props)
     super(props)
+    this.state = {
+      show:false,
+      cover:true,
+      name:'',
+      sex:'',
+      age:'',
+      reg:false,
+      timer:null
+    }
     this.handleName = this.handleName.bind(this)
     this.handleName = this.handleName.bind(this)
+    this.handleSex = this.handleSex.bind(this)
+    this.handleAge = this.handleAge.bind(this)
+    this.checkValue = this.checkValue.bind(this)
+    this.watchData = this.watchData.bind(this)
   }
   }
   componentWillMount() {
   componentWillMount() {
     const { getMessage } = this.props;
     const { getMessage } = this.props;
     getMessage && getMessage()
     getMessage && getMessage()
   }
   }
-  handleName(){
+  componentDidMount(){
+    $(document).click((event) => {
+      let searchWrap = document.getElementById("selectSex");   // 搜索按钮
+      if (searchWrap != event.target) { // Mark 1
+        this.setState({ show: false });
+      }
+    });
+  }
+  handleName(e){
+    let value = e.target.value
+    const { setParams } = this.props;
+    setParams({patientName:value.trim()})
+    this.setState({name:value.trim()},()=>{this.watchData()})
+  }
+  checkValue(value){
+    if(value&&!/^\d+$/.test(value)){
+      this.setState({reg:true})
+      return false
+    }else{
+      if(value&&value>150||value&&value<1){
+        this.setState({reg:true})
+        return false
+      }else{
+        this.setState({reg:false})
+        return true
+      }
+    }
+  }
+  handleAge(e){
+    let value = e.target.value
+    this.checkValue(value.trim())
+    const { setParams } = this.props;
+    setParams({patientAge:value.trim()})
+
+
+    this.setState({
+      age:value.trim()
+    },()=>{
+      this.watchData()
+    })
+  }
+  handleSex(value){
     const { setParams } = this.props;
     const { setParams } = this.props;
-    setParams({name:'萨达实打实'})
+    setParams({sex:value,patientSex:value==1?'男':value==2?'女':''})
+    this.setState({
+      show:false,sex:value
+    },()=>{
+      this.watchData()
+    })
+  }
+  showToggle(){
+    const { show } = this.state;
+    this.setState({show:!show})
+  }
+  watchData(){
+    const {name,age,sex} = this.state
+    const {handlePush} = this.props
+    let allow = this.checkValue(age)
+    if(name&&sex&&age&&allow){
+      let stimer = this.state.timer
+      clearTimeout(stimer);
+      let timer = setTimeout(function(){
+        handlePush&&handlePush();
+        clearTimeout(stimer);
+      },config.delayPushTime);
+      this.setState({
+        timer
+      });
+      this.setState({cover:false})
+    }else{
+      this.setState({cover:true})
+    }
   }
   }
   render(){
   render(){
     const {message} = this.props.patInfo;
     const {message} = this.props.patInfo;
+    const {show,cover,reg} = this.state;
      return <table className={style["table"]}>
      return <table className={style["table"]}>
       {/* <tr>
       {/* <tr>
         <td key='1' className={`${style.tdBorderB} ${style.tdBorderR}`} title={'卡号:' + (message.patientIdNo||'')}>卡号:{message.patientIdNo}</td>
         <td key='1' className={`${style.tdBorderB} ${style.tdBorderR}`} title={'卡号:' + (message.patientIdNo||'')}>卡号:{message.patientIdNo}</td>
@@ -32,24 +119,26 @@ class PatInfo extends Component {
       <tr>
       <tr>
         <td key='1' className={`${style.tdBorderB} ${style.tdBorderR}`}>
         <td key='1' className={`${style.tdBorderB} ${style.tdBorderR}`}>
           <span>姓名:</span>
           <span>姓名:</span>
-          <input type="text" className={style['name']} onChange={this.handleName} value={message.patientName}/>
+          <input type="text" placeholder="请输入" className={style['name']} onChange={(e)=>this.handleName(e)} value={message.patientName}/>
         </td>
         </td>
         <td key='2' className={`${style.tdBorderB} ${style.tdBorderR}`}>
         <td key='2' className={`${style.tdBorderB} ${style.tdBorderR}`}>
           <span>性别:</span>
           <span>性别:</span>
-          <input type="text" className={style['sex']} onChange={this.handleName} value={message.patientSex} readOnly/>
-          <ul className={style['sexSelect']}>
-            <li>请选择</li>
-            <li>男</li>
-            <li>女</li>
+          <input id="selectSex" type="text" className={style['sex']} value={message.patientSex} placeholder="请选择" onClick={()=>this.showToggle()} readOnly/>
+          <ul className={style['sexSelect']} style={{display:show?'block':'none'}}>
+            <li onclick={()=>this.handleSex('')}>请选择</li>
+            <li onclick={()=>this.handleSex(1)}>男</li>
+            <li onclick={()=>this.handleSex(2)}>女</li>
           </ul>
           </ul>
         </td>
         </td>
       </tr>
       </tr>
       <tr>
       <tr>
         <td key='3' colSpan="2" className={`${style.tdBorderB} ${style.tdBorderR}`}>
         <td key='3' colSpan="2" className={`${style.tdBorderB} ${style.tdBorderR}`}>
           <span>年龄:</span>
           <span>年龄:</span>
-          <input type="text" className={style['age']} value={message.patientAge}/>
+          <input type="text" className={style['age']} placeholder="请输入" onChange={(e)=>this.handleAge(e)} value={message.patientAge}/>
+          <img style={{display:reg?'inline-block':'none'}} className={style['warimg']} src={waringw} alt=""/><i style={{color:reg?'#FF545B':'#999999'}}>(请输入1-150以内的整数)</i>
         </td>
         </td>
       </tr>
       </tr>
+      <div className={style['coverDom']} style={{display:cover?'block':'none'}}></div>
     </table>;
     </table>;
   }
   }
 }
 }

+ 41 - 11
src/components/PatInfo/index.less

@@ -3,6 +3,27 @@
   width: 100%;
   width: 100%;
 //   border:1px @border-color solid;
 //   border:1px @border-color solid;
   float: left;
   float: left;
+  .sexSelect {
+    position: absolute;
+    width: 224px;
+    left: 52px;
+    top: 35px;
+    background-color: #fff;
+    border: 1px solid #E6E6E6;
+    z-index: 10;
+    box-shadow: 0px 6px 16px 0px #ccc;
+    li {
+      cursor: pointer;
+      height: 34px;
+      line-height: 34px;
+      padding: 0 10px;
+      color: #1E1E1E;
+      &:hover {
+        background-color: #8DCBE2;
+        color: #fff;
+      }
+    }
+  }
   td{
   td{
     // border:1px @border-color solid;
     // border:1px @border-color solid;
     height:30px;
     height:30px;
@@ -10,6 +31,7 @@
     padding-left: 10px;
     padding-left: 10px;
     width: 200px;
     width: 200px;
     white-space: nowrap;
     white-space: nowrap;
+    position: relative;
     input {
     input {
       border: 1px solid #E6E6E6;
       border: 1px solid #E6E6E6;
       height: 36px;
       height: 36px;
@@ -21,35 +43,43 @@
     .name {
     .name {
       width: 224px;
       width: 224px;
     }
     }
+    .sex {
+      width: 224px;
+      cursor: pointer;
+    }
     .age {
     .age {
       width: 224px;
       width: 224px;
       margin-top: 24px;
       margin-top: 24px;
+      margin-right: 20px;
+    }
+    .warimg {
+      position: relative;
+      top: 5px;
     }
     }
   }
   }
   .tdBorderB {
   .tdBorderB {
     // border-bottom: 1px solid @person-table-color;
     // border-bottom: 1px solid @person-table-color;
     max-width: 110px;
     max-width: 110px;
-    overflow: hidden;
-    white-space: nowrap;
-    text-overflow: ellipsis;
   }
   }
   .tdBorderR {
   .tdBorderR {
     // border-right: 1px solid @person-table-color;
     // border-right: 1px solid @person-table-color;
     max-width: 110px;
     max-width: 110px;
-    overflow: hidden;
-    white-space: nowrap;
-    text-overflow: ellipsis;
-  }
-  .sexSelect {
-    display: none;
   }
   }
 }
 }
 .newSize{
 .newSize{
   td{
   td{
     overflow: hidden;
     overflow: hidden;
     font-size: 13px;
     font-size: 13px;
-    white-space: nowrap;
-    text-overflow: ellipsis;
     max-width: 110px;
     max-width: 110px;
   }
   }
 }
 }
+
+.coverDom {
+  position: fixed;
+  background-color: transparent;
+  top: 200px;
+  right: 470px;
+  width: 100%;
+  height: 100%;
+  z-index: 10;
+}

+ 1 - 1
src/containers/EditableSpan.js

@@ -11,7 +11,7 @@ import {SETTEXTFOCUS,RESET,SETDROPSHOW,ISREAD,SET_SELECTED_AREA,SET_CURRENT_MODU
 import config from '@config/index';
 import config from '@config/index';
 import store from '@store';
 import store from '@store';
 
 
-function mapStateToProps(state){console.log(state)
+function mapStateToProps(state){//console.log(state)
   return {
   return {
     mainSaveText:state.mainSuit.saveText,
     mainSaveText:state.mainSuit.saveText,
     isRead:state.homePage.isRead,
     isRead:state.homePage.isRead,

+ 3 - 2
src/containers/MainSuit.js

@@ -16,7 +16,7 @@ import { SET_READ_MODE } from "@store/types/typeConfig";
 import store from '@store';
 import store from '@store';
 
 
 function mapStateToProps(state) {
 function mapStateToProps(state) {
-  const {mainSuit,homePage,diagnosticList,typeConfig} = state;
+  const {mainSuit,homePage,diagnosticList,typeConfig,patInfo} = state;
   return {
   return {
     //showDrop:mainSuit.showDrop,//用于更新
     //showDrop:mainSuit.showDrop,//用于更新
     update:mainSuit.update,
     update:mainSuit.update,
@@ -41,7 +41,8 @@ function mapStateToProps(state) {
     items:state.historyTemplates.items,
     items:state.historyTemplates.items,
     showHisBox:mainSuit.showHisBox,
     showHisBox:mainSuit.showHisBox,
     readMode:typeConfig.readMode,       //回读回来的模式(与当前模式并存)
     readMode:typeConfig.readMode,       //回读回来的模式(与当前模式并存)
-    typeConfig: state.typeConfig
+    typeConfig: state.typeConfig,
+    messages:patInfo.message
   }
   }
 }
 }
 
 

+ 5 - 0
src/containers/PatInfoContainer.js

@@ -3,6 +3,7 @@ import {connect} from 'react-redux';
 import {initPersonInfo} from '../store/async-actions/patInfo';
 import {initPersonInfo} from '../store/async-actions/patInfo';
 import {SET_PARAMS} from '@store/types/patInfo.js';
 import {SET_PARAMS} from '@store/types/patInfo.js';
 import PatInfo from '../components/PatInfo';
 import PatInfo from '../components/PatInfo';
+import {billing} from '@store/async-actions/pushMessage';
 
 
 function mapStateToProps({patInfo}) {
 function mapStateToProps({patInfo}) {
     return ({patInfo})
     return ({patInfo})
@@ -18,7 +19,11 @@ function mapDispatchToProps(dispatch) {
                 type:SET_PARAMS,
                 type:SET_PARAMS,
                 data
                 data
               });
               });
+            },
+        handlePush:()=>{
+            dispatch(billing());
         }
         }
+
     }
     }
 }
 }
 
 

+ 1 - 1
src/containers/eleType.js

@@ -191,7 +191,7 @@ function multCheckLabels(params,tagType){
                      mouseSelect={params.mouseSelected}
                      mouseSelect={params.mouseSelected}
                      defaulted={defaulted}
                      defaulted={defaulted}
                      showVal={showVal}
                      showVal={showVal}
-                     setHighter={setHighter}
+                    //  setHighter={setHighter}
                      placeholder={data.name}
                      placeholder={data.name}
                      value={data.value}
                      value={data.value}
                      copyType={data.copyType}
                      copyType={data.copyType}

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

@@ -81,7 +81,7 @@ class HomePage extends Component {
     }
     }
   }
   }
     render() {
     render() {
-        const {flag,showPre,noReferRecord,referRecord} = this.props;
+        const {flag,showPre,noReferRecord,referRecord,messages} = this.props;
         return <div className={style['home-page']}
         return <div className={style['home-page']}
                     onClick={this.hidePops} onmousedown={this.setElem.bind(this)} onkeyup={this.handleKeyUp.bind(this)}>
                     onClick={this.hidePops} onmousedown={this.setElem.bind(this)} onkeyup={this.handleKeyUp.bind(this)}>
             <BannerContainer />
             <BannerContainer />
@@ -101,7 +101,8 @@ class HomePage extends Component {
 const mapStateToProps = function (state) {
 const mapStateToProps = function (state) {
   return {
   return {
     flag:state.homePage.loadingFlag,
     flag:state.homePage.loadingFlag,
-    showPre:state.homePage.showPre
+    showPre:state.homePage.showPre,
+    messages:state.patInfo.messages
   }
   }
 };
 };
 const boxMap = {
 const boxMap = {

+ 6 - 1
src/modules/HomePage/index.less

@@ -28,4 +28,9 @@
 .tip {
 .tip {
     text-align: center;
     text-align: center;
     padding-bottom: 30px;
     padding-bottom: 30px;
-}
+}
+
+
+
+  
+  

+ 11 - 1
src/store/actions/patInfo.js

@@ -54,11 +54,21 @@ export const updateHospitalMessage=(state,action)=>{
 export const setParams=(state,action)=>{
 export const setParams=(state,action)=>{
   const res=Object.assign({},state);
   const res=Object.assign({},state);
   let tmpObj = res.message
   let tmpObj = res.message
-  console.log(action)
   for(let k in action.data){
   for(let k in action.data){
     tmpObj[k] = action.data[k]
     tmpObj[k] = action.data[k]
   }
   }
   res.message = tmpObj;
   res.message = tmpObj;
   return res;
   return res;
 
 
+}
+export const clearMsg=(state,action)=>{
+  const res=Object.assign({},state);
+  let tmpObj = res.message
+  tmpObj.patientAge = ""
+  tmpObj.patientName = ""
+  tmpObj.patientSex = ""
+  tmpObj.sex = ""
+  res.message = tmpObj;
+  return res;
+
 }
 }

+ 4 - 2
src/store/reducers/patInfo.js

@@ -1,5 +1,5 @@
-import {GET_PATIENT_MESSAGE,GET_HOSPITAL_MESSAGE,SET_PARAMS} from '../types/patInfo';
-import {updatePatientMessage,updateHospitalMessage,setParams} from '../actions/patInfo';
+import {GET_PATIENT_MESSAGE,GET_HOSPITAL_MESSAGE,SET_PARAMS,CLEARMSG} from '../types/patInfo';
+import {updatePatientMessage,updateHospitalMessage,setParams,clearMsg} from '../actions/patInfo';
 // age: 28
 // age: 28
 // mouduleType: 1
 // mouduleType: 1
 // relationId: 420671
 // relationId: 420671
@@ -42,6 +42,8 @@ export default function(state = initState,action){
       return updateHospitalMessage(state,action);
       return updateHospitalMessage(state,action);
     case SET_PARAMS:
     case SET_PARAMS:
       return setParams(state,action);
       return setParams(state,action);
+    case CLEARMSG:
+      return clearMsg(state,action);
     default:
     default:
       return state;
       return state;
   }
   }

+ 0 - 1
src/store/reducers/tabTemplate.js

@@ -141,7 +141,6 @@ export default (state = initDataList, action) => {
   if (action.type === DEL_ITEMS_ADMIN) {//删除管理员模板
   if (action.type === DEL_ITEMS_ADMIN) {//删除管理员模板
     const newState = Object.assign({}, state);
     const newState = Object.assign({}, state);
     let tempArr = newState.adminItems,tmpTmpLis = [];
     let tempArr = newState.adminItems,tmpTmpLis = [];
-    console.log(action)
     for(let i = 0;i < tempArr.length;i++){
     for(let i = 0;i < tempArr.length;i++){
       let tmpAction = tempArr[i]
       let tmpAction = tempArr[i]
       if(tmpAction.id == action.folderId){
       if(tmpAction.id == action.folderId){

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

@@ -1,3 +1,4 @@
 export const GET_PATIENT_MESSAGE = 'GET_PATIENT_MESSAGE'
 export const GET_PATIENT_MESSAGE = 'GET_PATIENT_MESSAGE'
 export const GET_HOSPITAL_MESSAGE = 'GET_HOSPITAL_MESSAGE'
 export const GET_HOSPITAL_MESSAGE = 'GET_HOSPITAL_MESSAGE'
-export const SET_PARAMS = 'SET_PARAMS'
+export const SET_PARAMS = 'SET_PARAMS'
+export const CLEARMSG = 'CLEARMSG'

+ 9 - 1
src/utils/tools.js

@@ -11,6 +11,7 @@ import {ISREAD, SETREADDITEMS,SET_SELECTED_AREA,SET_CURRENT_MODULE} from "../sto
 import {CLEAR_FIRST_MAIN_DIAG, CLEAR_ALL_TREAT} from "../store/types/treat";
 import {CLEAR_FIRST_MAIN_DIAG, CLEAR_ALL_TREAT} from "../store/types/treat";
 import {tabChange} from '@store/actions/tabTemplate';
 import {tabChange} from '@store/actions/tabTemplate';
 import {CLEAR_ASSESS_RESULT_VALUE} from '@types/assessResult';
 import {CLEAR_ASSESS_RESULT_VALUE} from '@types/assessResult';
+import {CLEARMSG} from '@types/patInfo';
 import { SET_READ_MODE } from "@store/types/typeConfig";
 import { SET_READ_MODE } from "@store/types/typeConfig";
 import config from '@config/index';
 import config from '@config/index';
 import up from '@images/up.png';
 import up from '@images/up.png';
@@ -176,6 +177,11 @@ const pushAllDataList =(whichSign,action,reData,type) =>{           //回读清
             type: SET_TIPS,
             type: SET_TIPS,
             tips: {}
             tips: {}
         })
         })
+        
+        store.dispatch({
+          type:CLEARMSG
+        });
+        
         store.dispatch({
         store.dispatch({
             type: CLEAR_ALL_DIAG,
             type: CLEAR_ALL_DIAG,
             data:[],
             data:[],
@@ -806,6 +812,7 @@ function isAllClear(jsonStr){
 }
 }
 //判断页面所有数据是否为空,包括空标签
 //判断页面所有数据是否为空,包括空标签
 function isAllPartClear(jsonData,jsonStr,baseList){
 function isAllPartClear(jsonData,jsonStr,baseList){
+  const {patInfo:{message:{sex,patientAge,patientName,patientSex}}}=baseList
   if (      //结构化和文本数据都为空
   if (      //结构化和文本数据都为空
     JSON.stringify(jsonData.advice) == '{}' &&
     JSON.stringify(jsonData.advice) == '{}' &&
     jsonData.chief.length < 1 &&
     jsonData.chief.length < 1 &&
@@ -822,7 +829,8 @@ function isAllPartClear(jsonData,jsonStr,baseList){
     filterDataArr(JSON.parse(jsonStr.chief)) == '' &&
     filterDataArr(JSON.parse(jsonStr.chief)) == '' &&
     filterDataArr(JSON.parse(jsonStr.present)) == '' &&
     filterDataArr(JSON.parse(jsonStr.present)) == '' &&
     filterDataArr(JSON.parse(jsonStr.other)) == '' &&           //这里都是filterDataArr不是filterArr,要去符号的
     filterDataArr(JSON.parse(jsonStr.other)) == '' &&           //这里都是filterDataArr不是filterArr,要去符号的
-    filterDataArr(JSON.parse(jsonStr.vital)) == ''
+    filterDataArr(JSON.parse(jsonStr.vital)) == '' &&
+    !sex&&!patientSex&&!patientName&&!patientAge
   ) {
   ) {
     return false;
     return false;
   }else{
   }else{