checkBody.js 2.2 KB

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