checkBody.js 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. import {RECOVER_TAG_CHECK,SET,SETNUMBER4,SETSELECTED4,SETCHECKBOX,ADDLABELITEM,SETCHECKTEXT,SETSEARCHDATA,
  2. SELECTSEARCHDATA,CHANGECHECKTEXTLABEL,CLEARCHECKBODY,CHECK_FOCUS_INDEX,CHECKBODY_CLEAR,
  3. SETCHECKINPUT,DEL_CHECKBODY,CHECKCONFIRMSELECTED, CHECKBODY_MUL,DEL_CHECKBODY_LABLE,SET_CK_RADIO_INPUT_VAL,
  4. SET_IMPORT_CHECKBODY_LABEL,PRESET,REPUSH_CHECK_LABELS,DELETE_CHECK_SELECTED_TAGS,SETCHECKTEXTMODEVALUE} from '../types/checkBody.js';
  5. import {recoveTag,set,setCheckBoxValue,
  6. setSearchData,insertLabelData,changeLabelVal,clearCheckBody,backspaceText
  7. ,confirm,multipleComfirn,delSingleLable,setImportCheckbodyLabel,preSetCheckbody,reflashLabels,setTextModeValue} from '../actions/checkBody.js';
  8. import {setRadioInputValue,setRadioValue,setNumberValue,setCheckText,addLabelItem,setInputLabel,deleteSelectedLabels} from '@utils/utils';
  9. import config from '@config/index.js';
  10. const block = Object.assign(JSON.parse(config.textLabel),{full:true});//空白时保留一个自由文本标签
  11. const initState = {
  12. data:[block],
  13. saveText:[], //saveText为生成的纯文本
  14. searchData:[],
  15. //selecteds:[],
  16. focusIndex:'',
  17. isEmpty:true, //是否为空白,需要请求数据
  18. showSearchBox:false,
  19. importLabel:[],//[430,436,40,278,435,279,28,442,447,448,449,450,453,454,457,456,282]
  20. preData:[], //预存的查体模板
  21. };
  22. export default function(state=initState,action){
  23. let res = Object.assign({},state);
  24. switch(action.type){
  25. case PRESET:
  26. return preSetCheckbody(state,action);
  27. case SET:
  28. return set(state,action);
  29. case SETNUMBER4:
  30. return setNumberValue(state,action);
  31. case SETSELECTED4:
  32. return setRadioValue(state,action);
  33. case ADDLABELITEM:
  34. return addLabelItem(state,action,'4');
  35. case SETCHECKTEXT:
  36. return setCheckText(state,action);
  37. case SETSEARCHDATA:
  38. return setSearchData(state,action);
  39. case SETCHECKBOX:
  40. return setCheckBoxValue(state,action);
  41. case SELECTSEARCHDATA:
  42. return insertLabelData(state,action);
  43. case CLEARCHECKBODY:
  44. return clearCheckBody(state,action);
  45. case CHANGECHECKTEXTLABEL://改变标签值
  46. return changeLabelVal(state,action);
  47. case CHECKCONFIRMSELECTED:
  48. return confirm(state,action);
  49. case CHECK_FOCUS_INDEX:
  50. res.focusIndex = action.index;
  51. res.span = action.$span;
  52. case CHECKBODY_CLEAR://失焦清空搜索值
  53. res.searchData = [];
  54. return res;
  55. case SETCHECKINPUT:
  56. return setInputLabel(state,action);
  57. case DEL_CHECKBODY:
  58. return backspaceText(state,action);
  59. case CHECKBODY_MUL:
  60. return multipleComfirn(state,action);
  61. case DEL_CHECKBODY_LABLE:
  62. return delSingleLable(state,action);
  63. case SET_CK_RADIO_INPUT_VAL:
  64. return setRadioInputValue(state,action);
  65. case SET_IMPORT_CHECKBODY_LABEL:
  66. return setImportCheckbodyLabel(state,action);
  67. case RECOVER_TAG_CHECK:
  68. return recoveTag(state,action);
  69. case DELETE_CHECK_SELECTED_TAGS:
  70. return deleteSelectedLabels(state,action);
  71. case REPUSH_CHECK_LABELS:
  72. return reflashLabels(state,action);
  73. case SETCHECKTEXTMODEVALUE:
  74. return setTextModeValue(state,action);
  75. default:
  76. return res;
  77. }
  78. }