123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- 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;
|