checkBody.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import {SET,SETNUMBER4,SETSELECTED4,SETCHECKBOX,ADDLABELITEM,SETCHECKTEXT,SETSEARCHDATA,
  2. SELECTSEARCHDATA,CHANGECHECKTEXTLABEL,CLEARCHECKBODY,CHECK_FOCUS_INDEX,CHECKBODY_CLEAR,
  3. SETCHECKINPUT,DEL_CHECKBODY,CHANGECHECKTEXTLABEL_NUMBER,CHECKCONFIRMSELECTED,
  4. CHECKBODY_MUL,DEL_CHECKBODY_LABLE,SET_CK_RADIO_INPUT_VAL} from '../types/checkBody.js';
  5. import {set,setNumberValue,setRadioValue,setCheckBoxValue,addLabelItem,setCheckText,
  6. setSearchData,insertLabelData,changeLabelVal,clearCheckBody,setInputLabel,backspaceText,
  7. changeNumLabelVal,confirm,multipleComfirn,delSingleLable,setRadioInputValue} from '../actions/checkBody.js';
  8. import config from '@config/index.js';
  9. const block = Object.assign(JSON.parse(config.textLabel),{full:true});//空白时保留一个自由文本标签
  10. const initState = {
  11. data:[block],
  12. saveText:[], //saveText为生成的纯文本
  13. searchData:[],
  14. selecteds:[],
  15. focusIndex:'',
  16. isEmpty:true, //是否为空白,需要请求数据
  17. showSearchBox:false
  18. };
  19. export default function(state=initState,action){
  20. let res = Object.assign({},state);
  21. switch(action.type){
  22. case SET:
  23. return set(state,action);
  24. case SETNUMBER4:
  25. return setNumberValue(state,action);
  26. case SETSELECTED4:
  27. return setRadioValue(state,action);
  28. case ADDLABELITEM:
  29. return addLabelItem(state,action);
  30. case SETCHECKTEXT:
  31. return setCheckText(state,action);
  32. case SETSEARCHDATA:
  33. return setSearchData(state,action);
  34. case SETCHECKBOX:
  35. return setCheckBoxValue(state,action);
  36. case SELECTSEARCHDATA:
  37. return insertLabelData(state,action);
  38. case CLEARCHECKBODY:
  39. return clearCheckBody(state,action);
  40. case CHANGECHECKTEXTLABEL://改变标签值
  41. return changeLabelVal(state,action);
  42. case CHECKCONFIRMSELECTED:
  43. return confirm(state,action);
  44. case CHANGECHECKTEXTLABEL_NUMBER://数字键盘
  45. return changeNumLabelVal(state,action);
  46. case CHECK_FOCUS_INDEX:
  47. res.focusIndex = action.index;
  48. res.span = action.$span;
  49. case CHECKBODY_CLEAR://失焦清空搜索值
  50. res.searchData = [];
  51. return res;
  52. case SETCHECKINPUT:
  53. return setInputLabel(state,action);
  54. case DEL_CHECKBODY:
  55. return backspaceText(state,action);
  56. case CHECKBODY_MUL:
  57. return multipleComfirn(state,action);
  58. case DEL_CHECKBODY_LABLE:
  59. return delSingleLable(state,action);
  60. case SET_CK_RADIO_INPUT_VAL:
  61. return setRadioInputValue(state,action);
  62. default:
  63. return res;
  64. }
  65. }