diagnosticList.js 4.6 KB

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