Explorar o código

计算公式计算

zhangxc %!s(int64=6) %!d(string=hai) anos
pai
achega
4b14fd13ae
Modificáronse 2 ficheiros con 23 adicións e 12 borrados
  1. 14 10
      src/components/ChronicInfo/index.jsx
  2. 9 2
      src/store/async-actions/fetchModules.js

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

@@ -58,6 +58,7 @@ class ChronicInfo extends React.Component{
     this.handleAddAssessItem = this.handleAddAssessItem.bind(this);   //加入病例记录
     this.handleSaveAssess = this.handleSaveAssess.bind(this);       //评估弹窗确定
     this.onPrint = this.onPrint.bind(this); 
+    this.handleForRadio = this.handleForRadio.bind(this)
   }
 
   onPrint() {
@@ -218,8 +219,8 @@ class ChronicInfo extends React.Component{
     })
     
   }
-  calcuFormula(it, j, v) { //计算公式计算
-    const { calcuFormula } = this.props
+  calcuFormula(it,j, v, i) { //计算公式计算
+    const { calcuFormula, data } = this.props
     let allHasInfo = true
     for (let i = 0; i < it.content.details.length; i++) {
       if(it.content.details[i].controlType == 2) {  //输入框类型的有没有填值
@@ -229,7 +230,7 @@ class ChronicInfo extends React.Component{
       } else if(it.content.details[i].controlType == 1) {
         let hasSelect = false
         for( let z = 0; z <it.content.details[i].details.length; z++) {
-          if(it.content.details[i].details[z].state = 1) {
+          if(it.content.details[i].details[z].state == 1) {
             hasSelect= true
           }
         }
@@ -240,11 +241,13 @@ class ChronicInfo extends React.Component{
 
     }
     if(allHasInfo) { //所有都有值,则计算
-      delete it.content['result']
+      // delete it.content.resultz
       let param = {
         type: 2,
         data: it,
-        disId: v.id
+        disId: v.id,
+        pIndex: j,
+        ppIndex: i,
       }
       calcuFormula(param)
     } else {  //不是所有值都填过了
@@ -317,7 +320,8 @@ class ChronicInfo extends React.Component{
                                             return <div className={style["chooseItem"]}>
                                                     <Radio label={ii.detailName}
                                                              isSelect={ii.state == 1}
-                                                             handleClick={this.handleForRadio.bind(this,ii,v,i, j,idd, ind)}>
+                                                             handleClick={this.handleForRadio.bind(this,ii,v,i, j,idd, ind)}> 
+                                                             >
                                                       </Radio>
                                                   </div>
                                           })}
@@ -359,18 +363,18 @@ class ChronicInfo extends React.Component{
                                     }
                                 })}
                                 </table>
-                                <div className={style["forMulBtn"]} onClick={this.calcuFormula.bind(this,it,j, v)}>计算</div>
+                                <div className={style["forMulBtn"]} onClick={this.calcuFormula.bind(this,it,j, v, i)}>计算</div>
                                 <table>
-                                  {/* {it.content.result &&it.content.result.map((itemResult, resultIndex) => {
+                                  {it.content.result && Array.isArray(it.content.result) &&it.content.result.map((itemResult, resultIndex) => {
                                     return <tr>
                                         <td>
                                             <span>{itemResult.name+':'}</span>
                                         </td>
                                         <td>
-                                            <span>{itemResult.value}</span>
+                                            <span>{itemResult.text}</span>
                                         </td>
                                     </tr>
-                                  })} */}
+                                  })}
                                 </table>
                                 
                             </MiniToast>

+ 9 - 2
src/store/async-actions/fetchModules.js

@@ -7,7 +7,7 @@ import {getEMRParams,didPushParamChange} from '@utils/tools.js';
 import {Notify} from '@commonComp';
 import {billing} from '@store/async-actions/pushMessage';
 import {SETOTHERHISTORY,ISREAD} from "../types/homePage";
-import {SAVE_TABLE_RESULT} from "../types/pushMessage";
+import {SAVE_TABLE_RESULT,SET_CHRONIC_PUSHS} from "../types/pushMessage";
 import config from "@config/index";
 
 const api={
@@ -272,7 +272,8 @@ export const getFormulaResult = (item)=>{
       type:type,
       data:item.data
     }
-  return (dispatch) => {
+  return (dispatch,getState) => {
+    const state = getState();
     json(api.getFormulaResult,param).then((res)=>{
       if(+res.data.code==0){
         if(type==1){//量表
@@ -283,6 +284,12 @@ export const getFormulaResult = (item)=>{
             data:Object.assign({},res.data.data,{pIndex:item.pIndex})
           })
         }else if(type==2){//计算公式
+          const data = state.pushMessage.chronicPushItems
+          data[item.ppIndex].details[item.pIndex].content.result =  res.data.data.result
+          dispatch({
+            type: SET_CHRONIC_PUSHS,
+            data: JSON.parse(JSON.stringify(data))
+          })
           console.log('resss', res)
         }