diagnosticList.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. import { SET_DIAG_TO_MAINSUIT, SET_CHRONIC_MAG_ITEM, SHOW_REFER_RECORD,SHOW_LOADING } from '@store/types/diagnosticList';
  2. import {getAllDataList,getAllDataStringList,isAllClear,filterDataArr} from '@utils/tools';
  3. import {getChronic,getInitModules} from '@store/async-actions/homePage.js';
  4. import { SET_READ_MODE } from "@store/types/typeConfig";
  5. import {storageLocal} from '@utils/tools'
  6. import { SAVE_FREE ,SAVE_CHRONIC} from '@store/types/mainSuit';
  7. import {ISREAD,MODI_LOADING} from "../types/homePage";
  8. export const isAddMainSuit = () =>{
  9. return (dispatch, getState) => {
  10. const state = getState();
  11. if(state.diagnosticList.diagnosticList.length === 1 && state.diagnosticList.diagnosticList[0].type === 2) {
  12. const isAddMainSuitFlag = state.mainSuit.data && state.mainSuit.data.length === 0 && state.mainSuit.saveText //判断主诉和化验查体是否为空
  13. && (state.mainSuit.saveText.length === 0 || state.mainSuit.saveText.length === 1
  14. && state.mainSuit.saveText[0] === '') && state.assistCheck && state.assistCheck.dataString.length === 0
  15. && state.inspect.labelList && state.inspect.labelList.length === 0 && state.inspect.inspectStrPlus.length === 0
  16. if(isAddMainSuitFlag) {
  17. dispatch({
  18. type:ISREAD
  19. });
  20. dispatch({
  21. type: SET_DIAG_TO_MAINSUIT,
  22. data: state.diagnosticList.diagnosticStr
  23. })
  24. dispatch({
  25. type: SAVE_FREE,
  26. data:state.diagnosticList.diagnosticStr
  27. })
  28. }
  29. }
  30. }
  31. }
  32. export const isChronicMag = (item) => {
  33. return (dispatch, getState) => {
  34. const state = getState();
  35. let jsonData = getAllDataList(state);
  36. let jsonStr = getAllDataStringList(state);
  37. let flg = isAllClear(jsonStr);
  38. if(!flg) {
  39. // 从缓存取慢病列表
  40. let chronicList = JSON.parse(storageLocal.get('chronic'));
  41. if(!chronicList){
  42. getChronic().then(() =>{
  43. chronicList = JSON.parse(storageLocal.get('chronic'));
  44. for(let i=0; i<chronicList.length; i++){
  45. if(chronicList[i].conceptId==item.conceptId&&chronicList[i].name==item.name){
  46. //弹窗提示 “是否引用往期病例”?--往期病例接口、弹窗、引用
  47. // 是--引用 否--走慢病流程
  48. dispatch({type: SET_READ_MODE, readMode: '0'}); //慢病流程设为结构化
  49. dispatch({
  50. type: SET_CHRONIC_MAG_ITEM,
  51. chronicMagItem: item
  52. })
  53. // 慢病流程清空主诉模板
  54. dispatch({type:SAVE_CHRONIC})
  55. // loading
  56. // dispatch({type:MODI_LOADING,flag:true}); //全局
  57. dispatch({type:SHOW_LOADING,flag:true}); //私有
  58. // 获取慢病模板
  59. dispatch(getInitModules).then(()=>{
  60. // dispatch({type:MODI_LOADING,flag:false});
  61. dispatch({type:SHOW_LOADING,flag:false});
  62. dispatch({
  63. type: SHOW_REFER_RECORD
  64. })
  65. });
  66. }
  67. }
  68. });
  69. } else {
  70. for(let i=0; i<chronicList.length; i++){
  71. if(chronicList[i].conceptId==item.conceptId&&chronicList[i].name==item.name){
  72. //弹窗提示 “是否引用往期病例”?--往期病例接口、弹窗、引用
  73. // 是--引用 否--走慢病流程
  74. dispatch({type: SET_READ_MODE, readMode: '0'});
  75. dispatch({
  76. type: SET_CHRONIC_MAG_ITEM,
  77. chronicMagItem: item
  78. })
  79. // 慢病流程清空主诉模板
  80. dispatch({type:SAVE_CHRONIC})
  81. // loading
  82. // dispatch({type:MODI_LOADING,flag:true});
  83. dispatch({type:SHOW_LOADING,flag:true});
  84. // 获取慢病模板
  85. dispatch(getInitModules).then(()=>{
  86. // dispatch({type:MODI_LOADING,flag:false});
  87. dispatch({type:SHOW_LOADING,flag:false});
  88. dispatch({
  89. type: SHOW_REFER_RECORD
  90. })
  91. });
  92. }
  93. }
  94. }
  95. }
  96. }
  97. }