currentIll.js 3.6 KB

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