Browse Source

量表添加结果

zhouna 6 years atrás
parent
commit
67ca269e11

+ 21 - 10
src/components/AssessResult/ScaleItem/index.jsx

@@ -26,6 +26,7 @@ class ScaleItem extends Component {
       formulaId:'',
       text:props.text,
       formulaData:{},       //计算公式值
+      isFormulaConfirm:false,
     };
     this.getItems = this.getItems.bind(this);
     this.getDetailItems = this.getDetailItems.bind(this);
@@ -54,7 +55,7 @@ class ScaleItem extends Component {
     });
     this.closeOption();
   }
-  handleShowScale(item,parentId){console.log(item,parentId)
+  handleShowScale(item,parentId){
     const {showScaleFn,closeAssess} = this.props;
     closeAssess&&closeAssess();    //关闭评估弹窗
     showScaleFn&&showScaleFn(item,parentId);        //显示量表
@@ -89,8 +90,11 @@ class ScaleItem extends Component {
       formulaData:obj
     });
   }
-  confirmFormula(){
-    this.closeFormula();
+  confirmFormula(){//计算公式确定
+    this.setState({
+      isFormulaConfirm:true,
+      formulaId:null
+    });
   }
   closeFormula(){
     this.setState({
@@ -98,7 +102,7 @@ class ScaleItem extends Component {
     })
   }
   calcuFormula(j, v, i) { //计算公式计算
-    const { calcuFormula } = this.props;
+    const { calcuFormula,chronicPushItems } = this.props;
     const {formulaId,formulaData} = this.state;
     const it =formulaData&&formulaData[formulaId];
     let allHasInfo = true
@@ -129,7 +133,7 @@ class ScaleItem extends Component {
         pIndex: j,
         ppIndex: i,
       }
-      calcuFormula(param)
+      calcuFormula({param,chronicPushItems})
     } else {  //不是所有值都填过了
       Notify.info('请填写计算公式内容')
     }
@@ -147,20 +151,27 @@ class ScaleItem extends Component {
   }
   getDetailItems(item,i){
     let arr = [],temp='';
-    const {indexs,result} = this.props;
-    const {optionId,formulaId,radioVal,formulaData} = this.state;
+    const {indexs,result,formulaResult} = this.props;
+    const {optionId,formulaId,radioVal,formulaData,isFormulaConfirm} = this.state;
     const possible=result&&result[item.id]&&result[item.id].possible;
+
     item.details.map((its,j)=>{
       if(indexs[i]&&indexs[i].includes(j)){
         let it=null;
         if(its.type==1){     //量表
           it=deepClone(its);
-          temp =<span className={style['scale']} onClick={()=>this.handleShowScale(it.content,item.id)}>【{it.content.name}】</span>;
+          let scaleRes=formulaResult&&formulaResult[it.content.id]&&formulaResult[it.content.id].calcalculate;
+          console.log(scaleRes);
+          temp =<span className={style['scale']}
+                      onClick={()=>this.handleShowScale(it.content,item.id)}>
+                        {scaleRes&&scaleRes.result?('结果:'+scaleRes.result.value+" "+scaleRes.result.text+' 【'+it.content.name+'】'):'【'+it.content.name+'】'}
+                        </span>;
         }else if(its.type==2){      //计算公式
           it=formulaData[formulaId]||deepClone(its);
+          const result = it.content.result&&it.content.result[1]&&it.content.result[1].text;
           temp = <div className={style['results']}>
                     <span>计算公式:</span>
-                    <span className={style["blue"]} onClick={this.showFormula.bind(this,item.id,it)}>请选择</span>
+                    <span className={style["blue"]} onClick={this.showFormula.bind(this,item.id,it)}>{result?result:'请选择'}</span>
                     <img src={level1} />
                     <MiniToast title={it.content.name}
                                icon={allTableIcon}
@@ -277,7 +288,7 @@ class ScaleItem extends Component {
     });
   }
   render() {
-    const {title,handleInp,disabled,isRecommend} = this.props;
+    const {title,handleInp,disabled,isRecommend,formulaResult} = this.props;console.log(formulaResult)
     return <div className={style['assess-item']}>
       {isRecommend?'':<h2>{title}</h2>}
       <div className={style['item-content']}>

+ 3 - 1
src/components/AssessResult/index.jsx

@@ -74,7 +74,7 @@ class AssessResult extends Component {
     isAssessConfirm&&handleSave(this.state,readyKeepHistory());
   }
   handoutTypes(item,i){
-    const {getIndexData,indexData,timeTypes,wholeAssessData,closeAssess,showScaleFn,calcuFormula,isRecommend} =this.props;
+    const {getIndexData,indexData,timeTypes,wholeAssessData,closeAssess,showScaleFn,calcuFormula,isRecommend,chronicPushItems,formulaResult} =this.props;
     const {chooseSelecteds,wholeAssessItems,wholeAssessText,chartTimeTypes,wholeResults} = this.state;
     const chartData = indexData;
     const name = item.regionName+":";
@@ -91,7 +91,9 @@ class AssessResult extends Component {
                           result={wholeResults}
                           showScaleFn={showScaleFn}
                           calcuFormula={calcuFormula}
+                          formulaResult={formulaResult}
                           isRecommend={isRecommend}
+                          chronicPushItems={chronicPushItems}
                           closeAssess={closeAssess}></ScaleItem>;
       case 1:     //数据来源于大数据
         return <ChooseItem title={name}

+ 2 - 0
src/containers/AssessResult.js

@@ -35,6 +35,8 @@ function mapStateToProps(state) {
     wholeAssessText:assessResult.wholeAssessText,     //整体评估补充说明
     scaleInfo: state.pushMessage.scaleInfo,//量表内容
     scaleUpdate:state.pushMessage.scaleUpdate,
+    chronicPushItems: state.pushMessage.chronicPushItems, //慢病右侧推送
+    formulaResult:state.pushMessage.formulaResult,
   }
 }