currentIll.js 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. // 现病史
  2. import {RECOVER_TAG_CURRENT,SET_CURRENT,CURRENT_CONFIRM,INSERT_PROCESS,SET_CURRENT_DATA,SET_LABEL_MODULE,SETMAINCHECKBOX,
  3. CURRENT_RADIO,CURRENT_NUMBER,CURRENT_TEXT_LABEL,CLEAR_CURRENT_ILL,SETTEXTMODEVALUE,CURRENT_GET_BIGDATAPUSH,CURRENT_CLEAR,
  4. SET_CURRENT_SEARCH,SETCURRENTTEXT,CURRENT_FOCUS_INDEX,SELECT_SEARCHDATA,CLEAR_CURRENT_EDIT,CURRENTADDLABELITEM,
  5. SETCURRENTINPUT,DEL_CURRENT,REMOVE_CURR_ID,CURRENT_MUL,DEL_CURRENT_LABLE,SET_RADIO_INPUT_VALUE,CURRENT_CHRONIC,SAVE_CURR_FREE} from '../types/currentIll';
  6. import {confirm,insertProcess,setData,setCheckBox,changeLabelVal,clearCurrentIll,
  7. setTextModeValue,setModule,bigDataSymptom,insertLabelData,clearCurrentEdit,
  8. backspaceText,removeId,multipleComfirn,delSingleLable,fillChronicModule} from '../actions/currentIll';
  9. import {recoveTag,setRadioInputValue,setRadioValue,setNumberValue,setCheckText,addLabelItem,setInputLabel} from '@utils/utils';
  10. const initState = {
  11. moduleData:[],
  12. data:[],
  13. saveText:[],
  14. searchDatas:[],//搜索结果
  15. editClear:true,
  16. addModule:[],
  17. emptyData:[],
  18. symptomIds:[], //搜索去重
  19. currReadSonM:[] //回读的子模板
  20. };
  21. export default function(state=initState,action){
  22. const res = Object.assign({},state);
  23. switch (action.type){
  24. case SET_CURRENT://需要处理截取的模板
  25. return setModule(state,action);
  26. case SET_CURRENT_DATA://设置使用的模板数据
  27. return setData(state,action);
  28. case CURRENT_CONFIRM://展开多选确定
  29. return confirm(state,action);
  30. case SET_LABEL_MODULE://设置主诉选中的标签模板
  31. res.mainLabelModule = action.data;
  32. return res;
  33. case INSERT_PROCESS://病程变化
  34. return insertProcess(state,action);
  35. case CLEAR_CURRENT_ILL://清除现病史数据
  36. return clearCurrentIll(state,action);
  37. case SETTEXTMODEVALUE:
  38. return setTextModeValue(state,action);
  39. case SETMAINCHECKBOX://普通多选确定
  40. return setCheckBox(state,action);
  41. case CURRENT_RADIO://单选确定
  42. return setRadioValue(state,action);
  43. case CURRENT_NUMBER://数字确定
  44. return setNumberValue(state,action);
  45. case CURRENT_TEXT_LABEL://标签双击编辑
  46. return changeLabelVal(state,action);
  47. case CURRENT_GET_BIGDATAPUSH://标签双击编辑
  48. return bigDataSymptom(state,action);
  49. case SET_CURRENT_SEARCH://搜索结果
  50. res.searchDatas = action.data;
  51. res.searchStr = action.inpStr;
  52. return res;
  53. case CURRENT_CLEAR:
  54. res.searchDatas = [];//清空搜索结果
  55. return res;
  56. case SETCURRENTTEXT:
  57. return setCheckText(state,action);
  58. case CURRENT_FOCUS_INDEX://手动输入位置
  59. res.focusIndex = action.index;
  60. res.span = action.$span;
  61. return res;
  62. case SELECT_SEARCHDATA:
  63. return insertLabelData(state,action);
  64. case CLEAR_CURRENT_EDIT://清除数据
  65. return clearCurrentEdit(state,action);
  66. case CURRENTADDLABELITEM:
  67. return addLabelItem(state,action);
  68. case SETCURRENTINPUT:
  69. return setInputLabel(state,action);
  70. case DEL_CURRENT:
  71. return backspaceText(state,action);
  72. case REMOVE_CURR_ID:
  73. return removeId(state,action);
  74. case CURRENT_MUL://单列多选
  75. return multipleComfirn(state,action);
  76. case DEL_CURRENT_LABLE:
  77. return delSingleLable(state,action);
  78. case SET_RADIO_INPUT_VALUE:
  79. return setRadioInputValue(state,action);
  80. case CURRENT_CHRONIC:
  81. return fillChronicModule(state,action);
  82. case SAVE_CURR_FREE://自由输入
  83. res.saveText[0] = action.data;
  84. res.update = Math.random();
  85. return res;
  86. case RECOVER_TAG_CURRENT:
  87. return recoveTag(state,action);
  88. default:
  89. return state;
  90. }
  91. }