currentIll.js 3.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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,CURRENT_TEXT_LABEL_NUMBER,REMOVE_CURR_ID,CURRENT_MUL,DEL_CURRENT_LABLE,SET_RADIO_INPUT_VALUE,CURRENT_CHRONIC,SAVE_CURR_FREE} from '../types/currentIll';
  6. import {recoveTag,confirm,insertProcess,setData,setCheckBox,setRadioValue,setNumberValue,changeLabelVal,clearCurrentIll,
  7. setTextModeValue,setModule,bigDataSymptom,setCheckText,insertLabelData,clearCurrentEdit,addLabelItem,setInputLabel,
  8. backspaceText,changeNumLabelVal,removeId,multipleComfirn,delSingleLable,setRadioInputValue,fillChronicModule} from '../actions/currentIll';
  9. const initState = {
  10. moduleData:[],
  11. data:[],
  12. saveText:[],
  13. selecteds:[],
  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_TEXT_LABEL_NUMBER://数字键盘
  48. return changeNumLabelVal(state,action);
  49. case CURRENT_GET_BIGDATAPUSH://标签双击编辑
  50. return bigDataSymptom(state,action);
  51. case SET_CURRENT_SEARCH://搜索结果
  52. res.searchDatas = action.data;
  53. res.searchStr = action.inpStr;
  54. return res;
  55. case CURRENT_CLEAR:
  56. res.searchDatas = [];//清空搜索结果
  57. return res;
  58. case SETCURRENTTEXT:
  59. return setCheckText(state,action);
  60. case CURRENT_FOCUS_INDEX://手动输入位置
  61. res.focusIndex = action.index;
  62. res.span = action.$span;
  63. return res;
  64. case SELECT_SEARCHDATA:
  65. return insertLabelData(state,action);
  66. case CLEAR_CURRENT_EDIT://清除数据
  67. return clearCurrentEdit(state,action);
  68. case CURRENTADDLABELITEM:
  69. return addLabelItem(state,action);
  70. case SETCURRENTINPUT:
  71. return setInputLabel(state,action);
  72. case DEL_CURRENT:
  73. return backspaceText(state,action);
  74. case REMOVE_CURR_ID:
  75. return removeId(state,action);
  76. case CURRENT_MUL://单列多选
  77. return multipleComfirn(state,action);
  78. case DEL_CURRENT_LABLE:
  79. return delSingleLable(state,action);
  80. case SET_RADIO_INPUT_VALUE:
  81. return setRadioInputValue(state,action);
  82. case CURRENT_CHRONIC:
  83. return fillChronicModule(state,action);
  84. case SAVE_CURR_FREE://自由输入
  85. res.saveText[0] = action.data;
  86. res.update = Math.random();
  87. return res;
  88. case RECOVER_TAG_CURRENT:
  89. return recoveTag(state,action);
  90. default:
  91. return state;
  92. }
  93. }