mainSuit.js 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. import {COMM_SYMPTOMS,CLEAR_COMSYMPTOMS,SHOW_TAIL,INSERT_MAIN,
  2. SET_SEARCH,CLEAR_SEARCH,GET_BIGDATAPUSH,SET_MAINSUIT,MIX_CONFIRM,NUMBER_SELECT,
  3. RADIO_SELECT,COMM_CONFIRM,CHANGE_LABELVAL,SAVE_FREE,CLEAR_MAIN_SUIT,SET_DATA,
  4. INSERT_SEARCH,MAIN_FOCUS_INDEX,SETTEXTMODEVALUE,SETMAINTEXT,MAINADDLABELITEM,SETMAININPUT,DEL_MAIN,CHANGE_LABELVAL_NUMBER} from '../types/mainSuit'
  5. import {getCommSymptoms,handleTailClick,insertMain,setSearch,getBigSymptom,setMainMoudle,confirm,
  6. setNumberValue,setRadioValue,commConfirm,changeLabelVal,saveFreeVal,clearMainSuit,insertSearch,setTextModeValue,setCheckText,changeEditClear,addLabelItem,setInputLabel,backspaceText,changeNumLabelVal} from '../actions/mainSuit'
  7. const initState = {
  8. showDrop:false,
  9. CommonSymptoms:[],//常见症状
  10. searchDatas:[],//搜索结果
  11. bigDataSymptom:[],//大数据推送症状
  12. moduleData:[],//主诉模板
  13. addSmoduleData:[],//添加病情变化模板
  14. data:[],//主诉使用的模板数据
  15. saveText:[],//主诉框内的值
  16. selecteds:[],
  17. moduleNum:{num:0},//点了几次添加病情变化
  18. focusIndex:'',
  19. mainIds:[], //选中的主症状和伴随的id
  20. editClear:true,
  21. }
  22. export default function(state=initState,action){
  23. const res = Object.assign({},state);
  24. switch (action.type){
  25. case SET_MAINSUIT://主诉模板
  26. return setMainMoudle(state,action);
  27. case SET_DATA://主诉使用模板
  28. // res.data = res.moduleData.concat();
  29. res.data = JSON.parse(JSON.stringify(res.moduleData));
  30. res.update=Math.random();
  31. return res;
  32. // return setMainData(state,action);
  33. case COMM_SYMPTOMS:
  34. return getCommSymptoms(state,action);
  35. case CLEAR_COMSYMPTOMS://清空常见症状
  36. // return clearCommSymptoms(state,action);
  37. res.CommonSymptoms = [];
  38. return res;
  39. case GET_BIGDATAPUSH://大数据推送症状
  40. return getBigSymptom(state,action);
  41. case SHOW_TAIL://显示标签尾巴
  42. return handleTailClick(state,action);
  43. case INSERT_MAIN://插入选中的常见症状
  44. return insertMain(state,action);
  45. case COMM_CONFIRM://普通多选框确定事件
  46. return commConfirm(state,action);
  47. case MIX_CONFIRM://有伴 多选框确定事件
  48. return confirm(state,action);
  49. case SET_SEARCH:
  50. return setSearch(state,action);
  51. case INSERT_SEARCH:
  52. return insertSearch(state,action);
  53. case CLEAR_SEARCH://清空搜索结果
  54. res.searchDatas = [];
  55. return res;
  56. case NUMBER_SELECT://数字键盘选中的值处理
  57. return setNumberValue(state,action);
  58. case RADIO_SELECT://单选选中的值处理
  59. return setRadioValue(state,action);
  60. case CHANGE_LABELVAL://改变标签值
  61. return changeLabelVal(state,action);
  62. case CHANGE_LABELVAL_NUMBER://数字标签输入值
  63. return changeNumLabelVal(state,action);
  64. case SAVE_FREE://自由输入
  65. return saveFreeVal(state,action);
  66. case MAIN_FOCUS_INDEX:
  67. res.focusIndex = action.index;
  68. res.span = action.$span;
  69. return res;
  70. case CLEAR_MAIN_SUIT://清除数据
  71. return clearMainSuit(state,action);
  72. case SETTEXTMODEVALUE:
  73. return setTextModeValue(state,action);
  74. case SETMAINTEXT:
  75. return setCheckText(state,action);
  76. case MAINADDLABELITEM:
  77. return addLabelItem(state,action);
  78. case SETMAININPUT:
  79. return setInputLabel(state,action);
  80. case DEL_MAIN:
  81. return backspaceText(state,action);
  82. default:
  83. return state;
  84. }
  85. }