浏览代码

量表加入病例必填校验

zhouna 6 年之前
父节点
当前提交
6f17e2af68
共有 2 个文件被更改,包括 11 次插入42 次删除
  1. 9 40
      src/components/ChronicInfo/index.jsx
  2. 2 2
      src/components/ScaleTable/index.jsx

+ 9 - 40
src/components/ChronicInfo/index.jsx

@@ -46,7 +46,7 @@ class ChronicInfo extends React.Component{
       currentIndex: -1, //当前index
       scaleParam:{},    //加入病例需要的参数
     };
-
+    this.$result = React.createRef();
     this.$content = React.createRef();
     this.showInfo = this.showInfo.bind(this);
     this.closeInfo = this.closeInfo.bind(this);
@@ -134,10 +134,16 @@ class ChronicInfo extends React.Component{
   closeTable(){
     const {scaleParam} = this.state;
     const {showHide} = this.props;
-    this.props.hideList({name:'showTable',value:false});
     if(!showHide.isPop){
+      //量表结果,判断结果dom中是否有值
+      const res = this.$result.current.innerText;
+      if(!res){
+        Notify.info("请先计算量表结果!");
+        return ;
+      }
       this.handleAddAssessItem(scaleParam.v,scaleParam.i,scaleParam.j);
     }
+    this.props.hideList({name:'showTable',value:false});
   }
   showFormula(id){//计算公式
     this.setState({
@@ -276,43 +282,6 @@ class ChronicInfo extends React.Component{
       Notify.info('请填写计算公式内容')
     }
   }
-  /*getAddBtnState(flag,v,i,j){
-    const {indexs,wholeScaleItems,addScaleItems,chronicMagItem,chronicDesease,addedScaleIds} = this.props;
-    let btn = '',reCheck=false;
-    let show = chronicMagItem&&chronicMagItem.name||chronicDesease&&chronicDesease.name;
-    if(!show){
-      return '';
-    }
-    if(flag){     //有结果
-      if(j!==undefined){
-        reCheck = addedScaleIds.includes(v.details[j].content.id);      //列表中是否加入同一量表
-        btn = (indexs[i]&&indexs[i].includes(j))||reCheck?<span className={style["add-record"]}>
-                   <img src={added} />
-                   已加入
-                 </span>:<span className={style["listResult"]} onClick={()=>this.handleAddAssessItem(v,i,j)}>
-                   <img src={add} />
-                   加入病历记录
-                 </span>;
-      }else{
-        reCheck = addedScaleIds.includes(v.id);         //推送中是否加入同一量表
-        btn = (wholeScaleItems&&wholeScaleItems[i])||reCheck?<span className={style["add-record"]}>
-                   <img src={added} />
-                   已加入
-                 </span>:<span className={style["listResult"]} onClick={()=>addScaleItems(v,i)}>
-                   <img src={add} />
-                   加入病历记录
-                 </span>;
-      }
-
-    }else{
-      btn = <span className={style["disable-add"]}>
-                   <img src={add} />
-                   加入病历记录
-                 </span>;
-    }
-
-    return btn;
-  }*/
   handleMouseEnterDrug(index) {
     this.setState({
         currentIndex: index,
@@ -511,7 +480,7 @@ class ChronicInfo extends React.Component{
                       top={20}
                       bottom={20}
                       width={820}>
-                <ScaleTable title={showHide.name} tableId={showHide.id}></ScaleTable>
+                <ScaleTable title={showHide.name} tableId={showHide.id} resRef={this.$result}></ScaleTable>
               </ComplexModal>:''}
       </div>
   }

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

@@ -290,7 +290,7 @@ class ScaleTable extends React.Component{
   }
 
   render(){
-    const {scaleInfo,tableId,formulaResult} = this.props;
+    const {scaleInfo,tableId,formulaResult,resRef} = this.props;
     const data = scaleInfo[tableId];
     let {selecteds,scaleResult1} = this.state;
     const scale = data && this.filterScale(data);
@@ -309,7 +309,7 @@ class ScaleTable extends React.Component{
                   {this.getContent()}
                   {datas&&datas.Calc==1?<div className={style['total']}>
                     <span>总分:</span>
-                    <span>{scaleResult&&scaleResult.calcalculate&&scaleResult.calcalculate.result&&scaleResult.calcalculate.result.value +' '+ (scaleResult.calcalculate.result.text?scaleResult.calcalculate.result.text:'')}</span>
+                    <span ref={resRef}>{scaleResult&&scaleResult.calcalculate&&scaleResult.calcalculate.result&&scaleResult.calcalculate.result.value +' '+ (scaleResult.calcalculate.result.text?scaleResult.calcalculate.result.text:'')}</span>
                     <span className={style['totalBtn']} onClick={this.handleFormula}>得分</span>
                   </div>:''}
                 </div>