Explorar o código

全部量表加入记录

zhouna %!s(int64=6) %!d(string=hai) anos
pai
achega
626c805320

+ 3 - 2
src/common/less/variables.less

@@ -197,12 +197,13 @@
 // 加入病历
 .add-record{
   float: right;
-  cursor: pointer;
+  text-align: left;
+  padding-left: 5px;
+  cursor: default;
   display: inline-block;
   width: 99px;
   height: 26px;
   line-height: 26px;
-  text-align: center;
   border: 1px solid #EAEDF1;
   border-radius: 4px;
   font-size: 12px;

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

@@ -56,9 +56,13 @@ class ScaleItem extends Component {
     this.closeOption();
   }
   handleShowScale(item,parentId,pIndex){
-    const {showScaleFn,closeAssess} = this.props;
+    const {showScaleFn,closeAssess,showListScale} = this.props;
     closeAssess&&closeAssess();    //关闭评估弹窗
-    showScaleFn&&showScaleFn(item,parentId,pIndex);        //显示量表
+    if(!parentId){                //显示量表
+      showListScale&&showListScale(item);
+    }else{
+      showScaleFn&&showScaleFn(item,parentId,pIndex);
+    }
 
   }
   handleRadio(item,parent){
@@ -292,6 +296,29 @@ class ScaleItem extends Component {
       return this.getDetailItems(it,i);
     });
   }
+  getScales(){
+    const {scaleItems,disabled,formulaResult} = this.props;
+    let li='',temp='';
+    const arr = scaleItems&&scaleItems.map((it)=>{
+      if(!it) return '';
+      let scaleRes=formulaResult&&formulaResult[it.id]&&formulaResult[it.id].calcalculate;
+      temp =<span className={style['scale']} onClick={()=>this.handleShowScale(it)}>
+                        {scaleRes&&scaleRes.result?(' 【'+it.name+'】 结果:'+scaleRes.result.value+" "+scaleRes.result.text):'【'+it.name+'】'}
+                        </span>;
+      li = disabled?<li>
+        <span>相关量表:</span>
+        <div className={style['row']}>{temp}</div>
+      </li>:<li>
+        <span>相关量表:</span>
+        <div className={style['row']}>{temp}</div>
+        <div className={style["recommend"]} onClick={()=>{}}>
+          <img className={style["deleteIcon"]} src={deleteIcon} />
+        </div>
+      </li>;
+      return li;
+    });
+    return arr;
+  }
   handleInput(e){
     const text = e.target.value;
     this.setState({
@@ -307,6 +334,9 @@ class ScaleItem extends Component {
           {
             this.getItems()
           }
+          {
+            this.getScales()
+          }
           {isRecommend?'':<li>
             <textarea className={style['edit-row']}
                       ref={this.$area}

+ 3 - 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,calcuValues,indexNames} =this.props;
+      formulaResult,calcuResult,calcuValues,indexNames,wholeScaleItems,showListScale} =this.props;
     let obj = [];
     Object.keys(wholeIndexs).map((i)=>{
       obj[i]=chronicPushItems[i];
@@ -98,8 +98,10 @@ class AssessResult extends Component {
                           handleRes={this.handleResult}
                           text={wholeAssessText}
                           indexs={wholeAssessItems}
+                          scaleItems ={wholeScaleItems}
                           result={wholeResults}
                           showScaleFn={showScaleFn}
+                          showListScale={showListScale}
                           calcuFormula={calcuFormula}
                           calcuResult={calcuResult}
                           calcuValues={calcuValues}

+ 7 - 2
src/components/ChronicInfo/index.jsx

@@ -443,7 +443,7 @@ class ChronicInfo extends React.Component{
       <span className={style['print']} onClick={this.onPrint}><img src={printIcon} alt=""/>打印</span>
       <span className={style['okBtn']} onClick={()=>this.closeTable()}>确定</span>
     </div>;
-    const {chronicMagItem,tableList,saveAssessInfos,chronicDesease,formulaResult,showHide,calcuFormula} = this.props;
+    const {chronicMagItem,tableList,saveAssessInfos,chronicDesease,formulaResult,showHide,calcuFormula,addScaleItems,wholeScaleItems} = this.props;
     const {showAssess,isAssessConfirm,tableName,tableId,parentId,parentIndex,isRecommendConfirm,showRecommend,radioVal,possible} = this.state;
     return <div className={style["tips"]} style={{marginBottom:'15px'}}>
               <div className={`${style["tips-title"]} ${style["chronic"]}`}>
@@ -484,10 +484,14 @@ class ChronicInfo extends React.Component{
                               <i onClick={this.handleListClick.bind(this,v)}>{'【'+v.name+'】'}</i>
                               {formulaResult&&formulaResult[v.id]?<i className={style['res']}>{'结果:'}{formulaResult[v.id].calcalculate&&formulaResult[v.id].calcalculate.result.value+' '+ (formulaResult[v.id].calcalculate.result.text?formulaResult[v.id].calcalculate.result.text:'')}</i>:''}
                             </span>
-                            <span className={style["listResult"]} onClick={()=>this.handleAddAssessItem(v,i,j)}>
+                            {wholeScaleItems&&wholeScaleItems[i]?<span className={style["add-record"]}>
+                                  <img src={added} />
+                                  已加入
+                                </span>:<span className={style["listResult"]} onClick={()=>addScaleItems(v,i)}>
                               <img src={add} />
                               加入病历记录
                             </span>
+                            }
                           </li>
                         })}
                       </ul>
@@ -510,6 +514,7 @@ class ChronicInfo extends React.Component{
                               handleSaveCalcu={this.handleSaveCalcu}
                               closeAssess={this.showAssessFn}
                               showScaleFn={this.showTable.bind(this)}
+                              showListScale={this.handleListClick.bind(this)}
                               calcuFormula={calcuFormula}
                               radioVal={radioVal}
                               possible={possible}

+ 2 - 2
src/components/ChronicInfo/index.less

@@ -76,12 +76,12 @@
          .listResult,.addResult{
           .add-record;
         } 
-        .addResult{
+       /* .addResult{
           color: #3B9ED0;
           text-align: left;
           padding-left: 5px;
           cursor: default;
-        }
+        }*/
         .infoBox{
           position: absolute;
           top:27px;

+ 1 - 0
src/containers/AssessResult.js

@@ -38,6 +38,7 @@ function mapStateToProps(state) {
     formulaResult:pushMessage.formulaResult,       //量表计算结果
     calcuResult:pushMessage.calcuResult,      //评估弹窗可能结果计算结果
     calcuValues:pushMessage.calcuValues,      //计算公式填的值
+    wholeScaleItems:assessResult.wholeScaleItems,     //全部量表中已加入病例的量表
   }
 }
 

+ 9 - 1
src/containers/ChronicInfo.js

@@ -2,7 +2,7 @@ import {connect} from 'react-redux';
 import ChronicInfo from '../components/ChronicInfo';
 import {SHOW_TABLE_LIST,HIDE_TABLE_LIST, SET_CHRONIC_PUSHS} from '@store/types/pushMessage';
 import {getTableList,getScaleInfo,getTips} from '../store/async-actions/pushMessage';
-import {ADD_ASSESS_ITEMS,SET_SAVE_ASSESS_DATA,SET_CHRONIC_CALCU_RESULT} from "@types/assessResult";
+import {ADD_ASSESS_ITEMS,SET_SAVE_ASSESS_DATA,SET_CHRONIC_CALCU_RESULT,ADD_WHOLE_SCALE_ITEMS} from "@types/assessResult";
 import {saveMessage} from "../store/async-actions/print";
 import {saveClickNum} from '@store/async-actions/homePage';
 import { getFormulaResult } from '@store/async-actions/fetchModules'
@@ -27,6 +27,7 @@ function mapStateToProps(state){
     wholeResults:assessResult.wholeResults,     //整体评估可能结果
     calcuResult:pushMessage.calcuResult,      //计算公式结果
     calcuValues:pushMessage.calcuValues,      //计算公式填的值
+    wholeScaleItems:assessResult.wholeScaleItems,     //全部量表中已加入病例的量表
   }
 }
 
@@ -56,6 +57,13 @@ function mapDispatchToProps(dispatch){
         subIndex:i
       })
     },
+    addScaleItems(obj,i){
+      dispatch({
+        type:ADD_WHOLE_SCALE_ITEMS,
+        data:obj,
+        index:i
+      })
+    },
     //保存管理评估
     saveAssessInfos(obj,flg,noSave){     //noSave未true则不调页面保存接口
       dispatch(Object.assign({},obj,{type:SET_SAVE_ASSESS_DATA}));

+ 7 - 2
src/store/reducers/assessResult.js

@@ -1,5 +1,5 @@
 import {SET_ASSESS_DATA,SET_INDEX_DATA,SET_SAVE_ASSESS_DATA,SET_INDEX_SUB_TYPE,ADD_ASSESS_ITEMS,
-  REMOVE_ASSESS_ITEMS,CLEAR_INDEX_DATA,SET_CHRONIC_CALCU_RESULT} from '@types/assessResult';
+  REMOVE_ASSESS_ITEMS,CLEAR_INDEX_DATA,SET_CHRONIC_CALCU_RESULT,ADD_WHOLE_SCALE_ITEMS} from '@types/assessResult';
 import config from "@config";
 
 const init = {
@@ -15,7 +15,8 @@ const init = {
     possible:{},
     radioVal:{}
   },    //可能结果
-  calcuResult:{}
+  calcuResult:{},       //计算公式填的值
+  wholeScaleItems:[],   //全部量表中添加的整体评估项
 };
 export default (state=init,action)=>{
   const res = Object.assign({},state);
@@ -66,6 +67,10 @@ export default (state=init,action)=>{
       res.wholeIndexs[action.index] = arr?[...arr,action.subIndex]:[action.subIndex];
       res.update1 = Math.random();   //对象更新,与其他字段名不同因为绑定在pushItems,避免不必要的渲染
       return res;
+    case ADD_WHOLE_SCALE_ITEMS:
+      res.wholeScaleItems[action.index] = action.data;
+      res.update1 = Math.random();
+      return res;
     case REMOVE_ASSESS_ITEMS:
       const {index,pIndex} = action;
       const temp =[...res.wholeIndexs[pIndex]];

+ 2 - 1
src/store/types/assessResult.js

@@ -5,4 +5,5 @@ export const SET_INDEX_SUB_TYPE = 'SET_INDEX_SUB_TYPE';   //保存单个图表
 export const ADD_ASSESS_ITEMS = 'ADD_ASSESS_ITEMS';     //加入评估
 export const REMOVE_ASSESS_ITEMS = 'REMOVE_ASSESS_ITEMS';  //整体评估删除
 export const CLEAR_INDEX_DATA = 'CLEAR_INDEX_DATA';     //删除图表数据
-export const SET_CHRONIC_CALCU_RESULT = 'SET_CHRONIC_CALCU_RESULT';   //保存评估中计算结果
+export const SET_CHRONIC_CALCU_RESULT = 'SET_CHRONIC_CALCU_RESULT';   //保存评估中计算结果
+export const ADD_WHOLE_SCALE_ITEMS  = 'ADD_WHOLE_SCALE_ITEMS';    //从全部量表中添加的整体评估