ソースを参照

计算公式推送不清空1315

zhouna 6 年 前
コミット
88d1eac9f2

+ 3 - 2
src/components/AssessResult/ScaleItem/index.jsx

@@ -156,7 +156,7 @@ class ScaleItem extends Component {
   }
   getDetailItems(item,i){
     let arr = [],temp='';
-    const {indexs,result,formulaResult,calcuResult,disabled} = this.props;
+    const {indexs,result,formulaResult,calcuResult,calcuValues,disabled} = this.props;
     const {optionId,formulaId,radioVal,formulaData,isFormulaConfirm} = this.state;
     const possible=result&&result.possible;
 
@@ -173,6 +173,7 @@ class ScaleItem extends Component {
         }else if(its.type==2){      //计算公式
           it=formulaData[formulaId]||deepClone(its);
           const showRes = calcuResult&&calcuResult[item.id]||it.content.result;
+          const details = calcuValues&&calcuValues[item.id]||it.content.details;
           const cresult = showRes&&showRes[1]&&showRes[1].text;
                     temp = <div className={style['results']}>
                     <span>计算公式结果:</span>
@@ -185,7 +186,7 @@ class ScaleItem extends Component {
                                confirm={this.confirmFormula.bind(this,item,i)}
                                footer="true">
                       <table>
-                        {it.content.details.map((item1,idd)=>{
+                        {details.map((item1,idd)=>{
                           if(item1.controlType==0){//单选
                             return <tr>
                               <td>

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

@@ -80,7 +80,7 @@ class AssessResult extends Component {
   }
   handoutTypes(item,i){
     const {getIndexData,indexData,timeTypes,wholeIndexs,closeAssess,showScaleFn,calcuFormula,isRecommend,chronicPushItems,
-      formulaResult,calcuResult} =this.props;
+      formulaResult,calcuResult,calcuValues} =this.props;
     let obj = [];
     Object.keys(wholeIndexs).map((i)=>{
       obj[i]=chronicPushItems[i];
@@ -102,6 +102,7 @@ class AssessResult extends Component {
                           showScaleFn={showScaleFn}
                           calcuFormula={calcuFormula}
                           calcuResult={calcuResult}
+                          calcuValues={calcuValues}
                           formulaResult={formulaResult}
                           isRecommend={isRecommend}
                           chronicPushItems={chronicPushItems}

+ 5 - 3
src/components/ChronicInfo/index.jsx

@@ -14,6 +14,7 @@ import {ComplexModal,ConfirmModal,MiniToast, Radio,CheckBtn} from '@commonComp';
 import AssessResult from '@containers/AssessResult';
 import ScaleTable from '@containers/ScaleTable';
 import Notify from '@commonComp/Notify';
+import {deepClone} from '@utils/tools';
 import $ from 'jquery';
 
 /***
@@ -294,7 +295,7 @@ class ChronicInfo extends React.Component{
     }
   }
   getDetail(){
-    const {data,indexs,formulaResult,calcuResult} = this.props;
+    const {data,indexs,formulaResult,calcuResult,calcuValues} = this.props;
     const {formulaId,optionId,possible,radioVal,isFormulaConfirm} = this.state;
     let list = data&&data.map((v,i)=>{
                     return <div className={style["list"]}>
@@ -328,6 +329,7 @@ class ChronicInfo extends React.Component{
                         }else if(it.type==2){
                           const cres = calcuResult&&calcuResult[v.id]||it.content.result;
                           const result = cres&&cres[1]&&cres[1].text;
+                          const details = calcuValues&&calcuValues[v.id]||it.content.details;
                           return <div className={style["marTop"]}>
                             <span className={style["limit"]}>
                               计算公式结果:
@@ -349,7 +351,7 @@ class ChronicInfo extends React.Component{
                                 confirm={this.confirmFormula.bind(this,v,i)}
                                 footer="true">
                                 <table>
-                                {it.content.details.map((item,idd)=>{
+                                {details.map((item,idd)=>{
                                     if(item.controlType==0){//单选
                                       return <tr>
                                         <td>
@@ -384,7 +386,7 @@ class ChronicInfo extends React.Component{
                                 </table>
                                 <div className={style["forMulBtn"]} onClick={this.calcuFormula.bind(this,it,j, v, i)}>计算</div>
                                 <table>
-                                  {it.content.result && Array.isArray(it.content.result) &&it.content.result.map((itemResult, resultIndex) => {
+                                  {cres && Array.isArray(cres) &&cres.map((itemResult, resultIndex) => {
                                     return <tr>
                                         <td>
                                             <span>{itemResult.name+':'}</span>

+ 1 - 1
src/config/index.js

@@ -56,7 +56,7 @@ export default {
     },
     chartDismen:'year',   //评估图表默认维度:近1年year,近6个月sixMonth,近1个月month,近1周week
     chartSymbols:['emptyCircle' , 'rect', 'arrow', 'triangle', 'diamond','circle', 'pin', 'roundRect'],
-    chartColors:['#3B9ED0','#F50933', '#F99903', '#66CB33', '#91c7ae','#749f83',  '#ca8622'],
+    chartColors:['#E84C47','#B947E8', '#47B0E8', '#4774E8', '#6C4EF9','#63DEC2', '#DDD81D','#EF592B'],
     showCheckNum:16,        //查体默认展开非自由文本标签的个数
     radioOptionPer:'()',     //单选项输入占位符
     textReg:new RegExp("([\u4E00-\uFA29]|[\uE7C7-\uE7F3]|[a-zA-Z0-9])"), //包含中英文或数字

+ 1 - 0
src/containers/AssessResult.js

@@ -36,6 +36,7 @@ function mapStateToProps(state) {
     chronicPushItems: pushMessage.chronicPushItems, //慢病右侧推送
     formulaResult:pushMessage.formulaResult,       //量表计算结果
     calcuResult:pushMessage.calcuResult,      //评估弹窗可能结果计算结果
+    calcuValues:pushMessage.calcuValues,      //计算公式填的值
   }
 }
 

+ 5 - 2
src/containers/ChronicInfo.js

@@ -23,7 +23,8 @@ function mapStateToProps(state){
     formulaResult:pushMessage.formulaResult, //量表信息
     indexs:assessResult.wholeIndexs,
     wholeResults:assessResult.wholeResults,     //整体评估可能结果
-    calcuResult:pushMessage.calcuResult
+    calcuResult:pushMessage.calcuResult,      //计算公式结果
+    calcuValues:pushMessage.calcuValues,      //计算公式填的值
   }
 }
 
@@ -84,7 +85,8 @@ function mapDispatchToProps(dispatch){
         if(+res.data.code==0){
           const data = chronicPushItems;
           const result = res.data.data.result;
-          data[param.ppIndex].details[param.pIndex].content.result =  result;
+          const content = data[param.ppIndex].details[param.pIndex].content;
+          content.result =  result;
           /*if(item.isPop){
             dispatch({
               type:SET_CHRONIC_CALCU_RESULT,
@@ -96,6 +98,7 @@ function mapDispatchToProps(dispatch){
             type: SET_CHRONIC_PUSHS,
             data: deepClone(data),
             result:deepClone(result),
+            values:deepClone(content.details),
             id:item.param.disId
           })
         }else{

+ 3 - 1
src/store/reducers/pushMessage.js

@@ -28,7 +28,8 @@ const initState = {
   formulaResult:{},
   scaleInfo:{},
   showHide:{},
-  calcuResult:{}
+  calcuResult:{},
+  calcuValues:[]
 };
 export default function(state = initState, action) {
   let res = Object.assign({},state);
@@ -79,6 +80,7 @@ export default function(state = initState, action) {
       res.chronicPushItems = action.data;
       if(action.id){
         res.calcuResult[action.id] = action.result;
+        res.calcuValues[action.id] = action.values;
       }
       return res;
     case SET_SCALE_INFO://量表内容-量表id