OperationContainer.js 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. import React from "react";
  2. import { connect } from "react-redux";
  3. import Operation from "../components/Operation";
  4. import {
  5. SHOW_PRINT_PREVIEW,
  6. CLOSE_PRINT_PREVIEW,
  7. SHOW_PREVIEW,
  8. CLOSE_PREVIEW,
  9. DIAG_SHOW
  10. } from "../store/types/print";
  11. import { saveMessage, clearMessages } from "../store/async-actions/print";
  12. import { saveTemplateDetail, getDepartments, saveAdminTemplateDetail, getFloderList,newFloder,orderFloder } from '@store/async-actions/tabTemplate';
  13. import { getDptLis,folderModal,folderOrder } from '@store/actions/tabTemplate';
  14. import { saveClickNum, getInitModules } from '@store/async-actions/homePage';
  15. import { getOtherHisRecord } from '@store/async-actions/fetchModules';
  16. import { RECOVER_TAG_MAIN } from '@store/types/mainSuit';
  17. import { RECOVER_TAG_CURRENT } from '@store/types/currentIll';
  18. import { RECOVER_TAG_OTHER } from '@store/types/otherHistory';
  19. import { RECOVER_TAG_CHECK } from '@store/types/checkBody';
  20. import { SETMEDICALNAME, CLEARMEDICALNAME } from '@store/types/patInfo';
  21. import { Notify } from '@commonComp';
  22. import { didPushParamChange } from '@utils/tools.js';
  23. import { billing } from '@store/async-actions/pushMessage';
  24. import { ISREAD } from '@store/types/homePage';
  25. // function mapStateToProps({print}) {
  26. function mapStateToProps(state) {
  27. const { print, homePage } = state;
  28. return ({
  29. print,
  30. winWidth: homePage.windowWidth,
  31. admin: homePage.admin,
  32. chronicMagItem: state.diagnosticList.chronicMagItem,//慢病疾病
  33. chronicDesease: state.mainSuit.chronicDesease,//主诉存的慢病
  34. departLis: state.tabTemplate.departLis,
  35. floderListAdmin:state.tabTemplate.floderListAdmin,
  36. folderModalShow:state.tabTemplate.folderModalShow,
  37. folderOrderShow:state.tabTemplate.folderOrderShow,
  38. adminItems: state.tabTemplate.adminItems,
  39. patInfo: state.patInfo.message,
  40. });
  41. }
  42. function mapDispatchToProps(dispatch) {
  43. return {
  44. folderOrder(show){
  45. dispatch(folderOrder(show))
  46. },
  47. saveOrderFolder(folderList){
  48. dispatch(orderFloder(folderList))
  49. },
  50. folderModal(show){
  51. dispatch(folderModal(show))
  52. },
  53. newFloder(name){
  54. dispatch(newFloder(name))
  55. },
  56. getFloderList() {
  57. dispatch(getFloderList())
  58. },
  59. handleClearValue: () => {
  60. dispatch(dispatch(getDptLis([])))
  61. },
  62. handleChangeValue: (val) => {
  63. val && dispatch(getDepartments(val))
  64. },
  65. showPrintPreview: () => {
  66. dispatch({
  67. type: SHOW_PRINT_PREVIEW
  68. });
  69. },
  70. closePrintPreview: () => {
  71. dispatch({
  72. type: CLOSE_PRINT_PREVIEW
  73. });
  74. },
  75. showPreview: () => {
  76. dispatch({
  77. type: SHOW_PREVIEW
  78. });
  79. },
  80. closePreview: () => {
  81. dispatch({
  82. type: CLOSE_PREVIEW
  83. });
  84. },
  85. setmedicalName: (val) =>{
  86. dispatch({
  87. type: SETMEDICALNAME,
  88. params: val
  89. });
  90. },
  91. clearmedicalName: (val) => {
  92. dispatch({
  93. type: CLEARMEDICALNAME,
  94. });
  95. },
  96. save: () => {
  97. // 埋点事件,点击保存时调用
  98. // dispatch(saveClickNum);
  99. dispatch(() => saveMessage())
  100. },
  101. clear: (flag) => {
  102. clearMessages();
  103. // console.log('清除数据');
  104. // dispatch(getOtherHisRecord()); //清除后重新获取其他史记录
  105. // 清除时如果是慢病模板则重新获取模板
  106. if (flag) {
  107. dispatch(getInitModules);
  108. }
  109. },
  110. saveDataAlls(val, sex, id,fstName,folderId,folderName) {
  111. dispatch(saveAdminTemplateDetail(val, sex, id,fstName,folderId,folderName))
  112. },
  113. saveDataAll(val, sex, spell) {
  114. dispatch(saveTemplateDetail(val, sex, spell))
  115. },
  116. diagShowTmp(bool) {
  117. dispatch({
  118. type: DIAG_SHOW,
  119. data: bool
  120. });
  121. },
  122. cancelDelTag() {
  123. const maps = {
  124. '1': RECOVER_TAG_MAIN,
  125. '2': RECOVER_TAG_CURRENT,
  126. '3': RECOVER_TAG_OTHER,
  127. '4': RECOVER_TAG_CHECK
  128. };
  129. const deledTags = localStorage.getItem('deletedTags') ? JSON.parse(localStorage.getItem('deletedTags')) : [];
  130. if (deledTags.length === 0) {
  131. Notify.info('暂无标签可还原');
  132. return;
  133. }
  134. const arr = deledTags[0].delIndex.split("-");
  135. const item = deledTags[0];
  136. dispatch({
  137. type: maps[arr[0]],
  138. data: item.tagType ? item : item.tags,
  139. index: arr[1]
  140. });
  141. dispatch({
  142. type: ISREAD
  143. });
  144. //删除文字选中状态
  145. window.getSelection().empty();
  146. //右侧推送
  147. setTimeout(function () { //延迟待确定后的数据更新后推送,避免获取的参数还是旧的
  148. if (didPushParamChange()) { //操作后内容有变化才推送
  149. dispatch(billing());
  150. }
  151. }, 200);
  152. }
  153. };
  154. }
  155. const OperationComtainer = connect(
  156. mapStateToProps,
  157. mapDispatchToProps
  158. )(Operation);
  159. export default OperationComtainer;