Forráskód Böngészése

历史病例不计分量表bug修改

zhouna 6 éve
szülő
commit
b6cb5878a9

+ 7 - 6
src/components/AssessResult/ScaleItem/index.jsx

@@ -173,7 +173,7 @@ class ScaleItem extends Component {
         if(its.type==1){     //量表
           let scaleRes=formulaResult&&formulaResult[it.content.conceptId]&&formulaResult[it.content.conceptId].calcalculate;
           temp =<span className={style['scale']}
-                      onClick={()=>this.handleShowScale(it.content)}>
+                      onClick={this.handleShowScale.bind(this,it.content)}>
                         {scaleRes&&scaleRes.result?(' 【'+it.content.name+'】 结果:'+scaleRes.result.value+" "+(scaleRes.result.text||'')):'【'+it.content.name+'】'}
                         </span>;
         }else if(its.type==2){      //计算公式
@@ -299,19 +299,20 @@ class ScaleItem extends Component {
       return null;
     }
     const content = JSON.parse(item.content||null);
-    return {id:item.conceptId,content,name:content.scaleName};
+    return {conceptId:item.conceptId,content,name:content.scaleName};
   }
   getScales(){
     const {scaleItems,disabled,formulaResult} = this.props;
     let li='',temp='',arr=[],it={};
     if(!scaleItems){
       return '';
-    }
+    };
     for( let i in scaleItems){
       it = this.getScaleContent(scaleItems[i]);
       if(!it) continue;
-      let scaleRes=formulaResult&&formulaResult[it.id]&&formulaResult[it.id].calcalculate;
-      temp =<span className={style['scale']} onClick={()=>this.handleShowScale(it)}>
+      let scaleRes=formulaResult&&formulaResult[it.conceptId]&&formulaResult[it.conceptId].calcalculate;
+      //这里onClick不能用箭头函数,用箭头函数会一直绑定for的最后一个it
+      temp =<span className={style['scale']} onClick={this.handleShowScale.bind(this,it)}>
                         {scaleRes&&scaleRes.result?(' 【'+it.name+'】 结果:'+scaleRes.result.value+" "+(scaleRes.result.text||'')):'【'+it.name+'】'}
                         </span>;
       li = disabled?<li>
@@ -320,7 +321,7 @@ class ScaleItem extends Component {
       </li>:<li>
         <span>相关量表:</span>
         <div className={style['row']}>{temp}</div>
-        <div className={style["recommend"]} onClick={()=>this.props.handleRemove(true,it.id)}>
+        <div className={style["recommend"]} onClick={()=>this.props.handleRemove(true,it.conceptId)}>
           <img className={style["deleteIcon"]} src={deleteIcon} />
         </div>
       </li>;

+ 76 - 51
src/components/ScaleTableHis/index.jsx

@@ -27,56 +27,78 @@ class ScaleTableHis extends React.Component{
   }
 
   getContent(datas){
-    let content =  datas&&datas.group&&datas.group.map((v,i)=>{
-                return <div className={style['group']}>
-                  <p className={style['groupName']}>{v.groupName}</p>
-                  {v.rows&&v.rows.map((it,ind)=>{
-                    return <div>
-                      {it.row.map((item,index)=>{
-                        if(item.controlType==0){
-                          return <div className={style['block']}>
-                              <p className={style['miniName']}>{item.name}</p>
-                              {item.details&&item.details.map((vv,ii)=>{
-                                return <div className={style['item']}>
-                                        <Radio label={vv.detailName+'('+vv.score+')'}
-                                           isSelect={vv.select==1}
-                                               disabled={true}>
-                                        </Radio>
-                                        {vv.state==1?<span className={style['recomand']}>(智能推荐)</span>:''}
-                                    </div>
-                              })}
-                              
-                            </div>
-                          }else{
-                            return <div className={style['block']}>
-                                <p className={style['miniName']}>{item.name}</p>
-                                  {item.details&&item.details.map((vv,ii)=>{
-                                    return <div className={style['item']}>
-                                    <CheckBtn value={vv.detailName}
-                                                    label={vv.detailName}
-                                                    disabled={true}
-                                                    isSelect={vv.select==1}>
-                                          </CheckBtn>
-                                    {vv.state==1?<span className={style['recomand']}>(智能推荐)</span>:''}
-                                    </div>
-                                  })}
-                            </div>
-                          }
-                        
-                      })}
-                    </div>
-                  })}
-                  {v.groupCalculate.isShow==1?<p className={style['subTotal']}>
-                    <span>计分:</span>
-                    {/*<span>{v.groupCalculate.result.value}</span>*/}
-                    <span>{scaleResult&&scaleResult.group.map((m,ii)=>{
-                      if(m.groupName==v.groupName){
-                        return m.groupCalculate.result.value;
-                      }
-                    })}</span>
-                  </p>:''}  
-                </div>
-              })
+    const {tableId,result,comfirnFlag} = this.props;
+    const scaleResult = result&&result[tableId]; //量表计算结果
+    let content;
+    if(datas&&datas.scaleType==1){//计分
+      content =  datas&&datas.group&&datas.group.map((v,i)=>{
+        return <div className={style['group']}>
+          <p className={style['groupName']}>{v.groupName}</p>
+          {v.rows&&v.rows.map((it)=>{
+            return <div className={style['rows']}>
+              {it.required==1&&it.row.length>1?<span className={style['tip']}>本组选项可多选或根据需要选择某一条选项</span>:''}
+              {it.row.map((item,index)=>{
+                if(item.controlType==0){
+                  return <div className={style['block']} style={{border:it.required==1&&!item.isSelect?'1px solid #f00':'none'}}>
+                    {/*<p className={style['miniName']}>{item.name}</p>*/}
+                    <p className={style['miniName']}>
+                      <i>{index==0?it.indexId + '.':''}</i>
+                      {item.name}
+                    </p>
+                    {item.details&&item.details.map((vv,ii)=>{
+                      return <div className={style['item']}>
+                        <Radio label={vv.detailName+'('+vv.score+')'}
+                               isSelect={vv.select==1}
+                               disabled={true}>
+                        </Radio>
+                        {vv.state==1?<span className={style['recomand']}>(智能推荐)</span>:''}
+                      </div>
+                    })}
+
+                  </div>
+                }else{
+                  return <div className={style['block']}>
+                    <p className={style['miniName']}>{item.name}</p>
+                    {item.details&&item.details.map((vv)=>{
+                      return <div className={style['item']}>
+                        <CheckBtn value={vv.detailName}
+                                  label={vv.detailName}
+                                  isSelect={vv.select==1}
+                                  disabled={true}>
+                        </CheckBtn>
+                        {vv.state==1?<span className={style['recomand']}>(智能推荐)</span>:''}
+                      </div>
+                    })}
+                  </div>
+                }
+
+              })}
+            </div>
+          })}
+          {/*<p className={style['subTotal']}>
+            <span>计分:</span>
+            <span></span>
+          </p>*/}
+        </div>
+      })
+    }else if(datas&&datas.scaleType==2){//不计分
+      content =  datas&&datas.rows.map((item)=>{
+        return <div className={style['block']} style={{border:item.required==1&&!item.isSelect&&comfirnFlag?'1px solid #f00':'none'}}>
+          <p className={style['miniName']}>{item.name}</p>
+          {item.details&&item.details.map((vv)=>{
+            return <div className={style['item']}>
+              <Radio label={vv.detailName+'('+vv.result+')'}
+                     isSelect={vv.select==1}
+                     disabled={true}>
+              </Radio>
+              {vv.state==1?<span className={style['recomand']}>(智能推荐)</span>:''}
+            </div>
+          })}
+
+        </div>
+      })
+    }
+
     return content;
   }
 
@@ -99,7 +121,10 @@ class ScaleTableHis extends React.Component{
                   {datas&&datas.Calc==1?<div className={style['total']}>
                     <span>总分:</span>
                     <span>{result&&result.calcalculate&&result.calcalculate.result&&result.calcalculate.result.value +' '+ (result.calcalculate.result.text||'')}</span>
-                  </div>:''}
+                  </div>:<div className={style['total']}>
+                    <span>结果:</span>
+                    <span>{result&&result.calcalculate&&result.calcalculate.result&&result.calcalculate.result.value +' '+ (result.calcalculate.result.text||'')}</span>
+                  </div>}
                 </div>
               }
             })}