assessResult.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import {SET_ASSESS_DATA,SET_INDEX_DATA,SET_SAVE_ASSESS_DATA,SET_INDEX_SUB_TYPE} from '@types/assessResult';
  2. import config from "@config";
  3. const init = {
  4. data:[], //评估模块数据
  5. indexData:{}, //评估图表数据
  6. saveData:[], //保存的评估数据-点确定时保存
  7. saveIndexData:{}, //保存的评估图表数据-点确定时保存
  8. indexTimeTypes:{}, //单个图表选中的维度
  9. };
  10. export default (state=init,action)=>{
  11. const res = Object.assign({},state);
  12. const {data,range,index,rangeType} = action;
  13. switch (action.type){
  14. case SET_ASSESS_DATA:
  15. res.data = action.data;
  16. return res;
  17. case SET_INDEX_DATA:
  18. res.indexData[range[0]+range[1]] = data;
  19. Object.keys(data).map((i)=>{
  20. if(i===index){
  21. res.indexTimeTypes[i]=rangeType;
  22. }else{
  23. res.indexTimeTypes[i]=config.chartDismen;
  24. }
  25. });
  26. res.update = Math.random(); //对象更新
  27. return res;
  28. case SET_INDEX_SUB_TYPE:
  29. if(!index){
  30. return res;
  31. }
  32. res.indexTimeTypes[index] = rangeType;
  33. res.update = Math.random(); //对象更新
  34. return res;
  35. case SET_SAVE_ASSESS_DATA:
  36. res.saveData = action.data;
  37. res.saveIndexData = action.indexData;
  38. return res;
  39. default:
  40. return res;
  41. }
  42. }