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 {getAssessData,getIndexData} from '@store/async-actions/fetchModules'; import {SET_ASSESS_DATA,SET_INDEX_DATA,SET_INDEX_SUB_TYPE} from '@types/assessResult'; import store from '@store'; /*** * 管理评估逻辑: * 根据推送弹窗显示“智能推荐”,首次无选中项 * 评估内容项接口返回,其中整体评估为右侧操作加入 * 点确定等同于页面病例保存按钮(同时保存页面数据和评估结果) * 点确定后再次打开,保留上次操作结果(页面清空,引用除外), * 但推荐选项按最新推送显示 * * ***/ function mapStateToProps(state) { //console.log(state) const {assessResult} = state; return { data:assessResult.data, indexData:assessResult.indexData, saveIndexData:assessResult.saveIndexData, saveData:assessResult.saveData, update:assessResult.update, timeTypes:assessResult.indexTimeTypes } } function mapDispatchToProps(dispatch) { return { getAssess(){ dispatch(getAssessData()).then((res)=>{ if(res.data.code=='0'){ dispatch({ type:SET_ASSESS_DATA, data:res.data.data }) } }).catch(error=>{ console.log(error); }); }, getIndexData(param){ const state=store.getState(); const {range,rangeType,index} = param; const indexData = state.assessResult.indexData; const obj = indexData[range[0]+range[range.length-1]]; if(obj&&Object.keys(obj).length!=0){ //该维度已获取过数据 //console.log(obj,rangeType,index); /*dispatch({ type:SET_INDEX_SUB_TYPE, index, rangeType });*/ return ; } dispatch(getIndexData(range)).then((res)=>{ if(res.data.code=='0'){ dispatch({ type:SET_INDEX_DATA, data:parseChartData(res.data.data), range, index, rangeType }); } }).catch(error=>{ console.log(error); }); } } } function parseChartData(indexData){ let arr=[],obj={},temp={}; let nameArr=[],nameObj={}; //暂弃 if(!indexData){ return []; } indexData.itemIndexData.map((it)=>{ temp=indexData.indexConfigData.find((i)=>{return it.itemName==i.indexUnique}); arr=obj[temp.orderNo]||[]; nameArr=nameObj[temp.orderNo]||[]; obj[temp.orderNo]=[...arr,it]; nameObj[temp.orderNo]=[...nameArr,it.itemName]; }); //nameObj,obj; return obj; } const AssessResultContainer = connect(mapStateToProps, mapDispatchToProps)(AssessResult); export default AssessResultContainer;