TypeConfigContainer.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import React from "react";
  2. import { connect } from "react-redux";
  3. import Banner from "../components/Banner";
  4. import { SHOW_CONFIG_MODAL, CLOSE_CONFIG_MODAL, CONFIRM_TYPE } from "../store/types/typeConfig";
  5. import {pushAllDataList} from '@utils/tools';
  6. import {saveMode,getOtherHisRecord} from '@store/async-actions/fetchModules';
  7. import config from "@config/index";
  8. import { allCheckedShow } from '@store/actions/tabTemplate';
  9. import {Notify} from '@commonComp';
  10. //判断模块是否有数据
  11. function ifHasData(data,saveText){
  12. if(saveText[0]||data.length>1||(data.length===1&&(data[0].value||(data[0].value!==''&&data[0].name)))){
  13. return true;
  14. }
  15. return false;
  16. }
  17. function mapStateToProps(state) {
  18. const main = state.mainSuit;
  19. const current = state.currentIll;
  20. const other = state.otherHistory;
  21. const typeConfig = state.typeConfig;
  22. return {
  23. typeConfig:typeConfig.typeConfig||config.defaultValue.mode,
  24. visible:typeConfig.visible,
  25. hasMain:ifHasData(main.data,main.saveText),
  26. hasCurrent:ifHasData(current.data,current.saveText),
  27. hasOther:ifHasData(other.data,other.saveText),
  28. readMode:typeConfig.readMode, //回读模式
  29. };
  30. }
  31. function mapDispatchToProps(dispatch) {
  32. return {
  33. showConfigModal: () => {
  34. dispatch({type: SHOW_CONFIG_MODAL})
  35. },
  36. closeConfigModal: () => {
  37. dispatch({type: CLOSE_CONFIG_MODAL})
  38. },
  39. confirmType: confirmType => {
  40. //保存模式切换结果
  41. dispatch(saveMode(confirmType)).then((res)=>{
  42. if(res.data.code=='0'&&res.data.data){
  43. //清空所有数据
  44. pushAllDataList('','clear');
  45. dispatch({type: CONFIRM_TYPE, confirmType});
  46. Notify.success("修改成功");
  47. dispatch(allCheckedShow(false)) //全选反选显示重置
  48. }else{
  49. Notify.error(res.data.msg+",请稍后再试");
  50. }
  51. });
  52. }
  53. };
  54. }
  55. const BannerContainer = connect(
  56. mapStateToProps,
  57. mapDispatchToProps
  58. )(Banner);
  59. export default BannerContainer;