123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 |
- import React from 'react';
- import {connect} from 'react-redux';
- import AssessResult from '@components/AssessResult';
- import {ISREAD} from '@store/types/homePage.js';
- import {billing} from '@store/async-actions/pushMessage';
- import {getIndexData} from '@store/async-actions/fetchModules';
- import {SET_INDEX_DATA,SET_INDEX_SUB_TYPE,REMOVE_ASSESS_ITEMS,CLEAR_INDEX_DATA,SET_CHRONIC_CALCU_RESULT,SET_CALCU_VALUES} from '@types/assessResult';
- import {parseChartData,deepClone} from '@utils/tools';
- import {SHOW_TABLE_LIST,HIDE_TABLE_LIST} from '@store/types/pushMessage';
- import {saveMessage} from "../store/async-actions/print";
- import {SET_SAVE_ASSESS_DATA} from "@types/assessResult";
- import {saveClickNum} from '@store/async-actions/homePage';
- /***
- * 管理评估逻辑:
- * 根据推送弹窗显示“智能推荐”,首次无选中项
- * 评估内容项接口返回,其中整体评估为右侧操作加入
- * 点确定等同于页面病例保存按钮(同时保存页面数据和评估结果)
- * 点确定后再次打开,保留上次操作结果(页面清空,引用除外),
- * 但推荐选项按最新推送显示
- *
- * ***/
- function mapStateToProps(state) {
- const {assessResult,pushMessage} = state;
- return {
- data:assessResult.data,
- indexData:assessResult.indexData,
- indexNames:assessResult.indexNames,
- update:assessResult.update, //评估数据更新
- update1:assessResult.update1, //加入记录更新
- timeTypes:assessResult.indexTimeTypes, //图表切换的维度
- //wholeAssessData:assessResult.wholeAssess, //评估内容
- wholeIndexs:assessResult.wholeIndexs||{}, //已加入评估记录的推送项
- addedScaleIds:assessResult.addedScaleIds, //已进入量表的id
- wholeResults:assessResult.wholeResults, //整体评估可能结果
- chooseSelecteds:assessResult.chooseSelecteds, //已选中的选项
- wholeAssessText:assessResult.wholeAssessText, //整体评估补充说明
- scaleInfo: pushMessage.scaleInfo,//量表内容
- chronicPushItems: pushMessage.chronicPushItems, //慢病右侧推送
- formulaResult:pushMessage.formulaResult, //量表计算结果
- calcuResult:assessResult.calcuResult, //评估弹窗可能结果计算结果
- calcuValues:assessResult.calcuValues, //计算公式填的值
- wholeScaleItems:assessResult.wholeScaleItems, //全部量表中已加入病例的量表
- }
- }
- function mapDispatchToProps(dispatch) {
- return {
- getIndexData(param){ //获取评估图表数据
- const {range,rangeType,index,pindex,getNew,disName} = param;
- dispatch(getIndexData(range,disName)).then((res)=>{
- if(res.data.code=='0'){
- dispatch({
- type:SET_INDEX_DATA,
- data:parseChartData(res.data.data),
- range,
- index,
- rangeType,
- pindex,
- getNew
- });
- }
- }).catch(error=>{
- console.log(error);
- });
- },
- clearChartData(){ //清除评估图表数据
- dispatch({
- type:CLEAR_INDEX_DATA
- })
- },
- saveCalcuResult(data){
- dispatch({
- type: SET_CHRONIC_CALCU_RESULT,
- data:deepClone(data)
- })
- },
- // setCalcuInfo(id, calcuVal, calcuResult) {
- // dispatch({
- // type: SET_CHRONIC_CALCU_RESULT,
- // result:calcuResult,
- // id:id
- // });
- // dispatch({
- // type:SET_CALCU_VALUES,
- // data:deepClone(calcuVal),
- // id:id
- // })
- // },
- showScaleFn(item,isPop){
- dispatch({
- type:SHOW_TABLE_LIST,
- name:'showTable',
- value:true,
- isPop,
- item:Object.assign({},item)
- });
- },
- //保存管理评估
- saveAssessInfos(obj,flg,noSave){ //noSave未true则不调页面保存接口
- dispatch(Object.assign({},obj,{type:SET_SAVE_ASSESS_DATA}));
- if(!noSave){
- dispatch(saveClickNum);
- if(flg != 1 && flg != 2){
- dispatch(() => saveMessage())
- }
- }
- },
- savePossibleRes(data) {
- dispatch({
- type: 'SAVE_POSSIBLE_RESULT',
- wholeResults: data
- })
- },
- saveCalcuValue(data,id){
- dispatch({
- type:SET_CALCU_VALUES,
- data,
- id
- })
- }
- }
- }
- const AssessResultContainer = connect(mapStateToProps, mapDispatchToProps)(AssessResult);
- export default AssessResultContainer;
|