소스 검색

Revert "Revert "计算公式输入清空结果""

This reverts commit 2c1b988449dc821243fc19a88d3c89458eb3dfb2.
zhangxc 5 년 전
부모
커밋
f8b848e71c
2개의 변경된 파일22개의 추가작업 그리고 4개의 파일을 삭제
  1. 10 4
      src/components/ChronicInfo/index.jsx
  2. 12 0
      src/containers/ChronicInfo.js

+ 10 - 4
src/components/ChronicInfo/index.jsx

@@ -232,9 +232,10 @@ class ChronicInfo extends React.Component{
     this.closeFormula(it);
     chronicMagItem&&this.handleAddAssessItem(v,pIndex,i);
   }
-  handleInputformula(id,calcuContent,i,e) {
-    const {calcuValues} = this.state;
-    let obj = deepClone(calcuValues);
+  handleInputformula(id,calcuContent,i,cres,e) {
+    // const {calcuValues} = this.state;
+    const {calcuResult,calcuValues,setCalcuInfo} = this.props;
+      let obj = deepClone(calcuValues);
     let values = (obj&&obj[id])||deepClone(calcuContent);
     const txt = e.target.value;
     values[i].value = txt.replace(/[\u4e00-\u9fa5]|[^\d.]/g,'');       //处理中文输入法的情况
@@ -246,6 +247,11 @@ class ChronicInfo extends React.Component{
       isCalculated:false,
       calcuValues:obj
     });
+    let calcuResultCopy = calcuResult&&calcuResult[id]||cres
+    for(let i = 0; i < calcuResultCopy.length; i++) {
+      calcuResultCopy[i].text = ""
+    }
+    setCalcuInfo&&setCalcuInfo(id, obj[id], calcuResultCopy)
   }
   handleForRadio(id,calcuContent,i,fidx){//计算公式
     const { calcuValues } = this.state;
@@ -443,7 +449,7 @@ class ChronicInfo extends React.Component{
                                           <span>{item.isShow == '0' ? item.name+':':'请输入'+item.name+':'}</span>
                                         </td>
                                         <td>
-                                          {item.isShow == '0' ? item.value + ' ' +item.uint : <input type="text" className={style['itemInp']} placeholder="请输入"  value={item.value} onInput={this.handleInputformula.bind(this,v.conceptId,details,idd)}/>}
+                                          {item.isShow == '0' ? item.value + ' ' +item.uint : <input type="text" className={style['itemInp']} placeholder="请输入"  value={item.value} onInput={this.handleInputformula.bind(this,v.conceptId,details,idd,cres)}/>}
                                         </td>
                                         <td>
                                           {item.isShow != '0'&&<span>{item.uint}</span>}

+ 12 - 0
src/containers/ChronicInfo.js

@@ -105,6 +105,18 @@ function mapDispatchToProps(dispatch){
         id
       });
     },
+    setCalcuInfo(id, calcuVal, calcuResult) {
+      dispatch({
+        type: SET_CHRONIC_CALCU_RESULT,
+        result:calcuResult,
+        id:id
+      });
+      dispatch({
+        type:SET_CALCU_VALUES,
+        data:calcuVal,
+        id:id
+      })
+    },
     // 计算公式计算
     calcuFormula(param) {
       getFormulaResult(param).then((res)=>{