btn.js 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. export default class ButtonAction {
  2. constructor(comp) {
  3. this.comp = comp;
  4. }
  5. // 第一次进页面的按钮状态
  6. updateBtnStatus = () => {
  7. const {props} = this.comp;
  8. const {button, main} = props;
  9. const {isEdit, page, handleData} = main;
  10. const isFree = !!(handleData && handleData.approve_state && handleData.approve_state.value === '-1');
  11. const isSubmit = !!(handleData && handleData.approve_state && handleData.approve_state.value === '3');
  12. button.setButtonVisible({
  13. add: !isEdit,
  14. save: page === 'detail' && isEdit,
  15. cancel: page === 'detail' && isEdit,
  16. refresh: !isEdit,
  17. edit: isFree && page === 'detail' && !isEdit,
  18. del: isFree && page === 'detail' && !isEdit,
  19. commit: isFree && page === 'detail' && !isEdit,
  20. recover: isSubmit && page === 'detail' && !isEdit,
  21. file_manage: page === 'detail' && !isEdit,
  22. check_flow: !!(handleData && handleData.pk_hi_regapply && page === 'detail' && !isEdit)
  23. });
  24. };
  25. // 按钮点击回调
  26. headerClick = async (props, btnCode) => {
  27. const {action} = this.comp;
  28. const {dispatch, main} = props;
  29. const {page, handleData} = main;
  30. switch (btnCode) {
  31. case 'add':
  32. action.formAct.add();
  33. break;
  34. case 'refresh':
  35. if (page === 'main') {
  36. await dispatch({
  37. type: 'main/update',
  38. payload: {
  39. pageInfo: {
  40. pageSize: 10,
  41. pageIndex: 0,
  42. total: 0,
  43. totalPage: 1
  44. }
  45. }
  46. });
  47. action.tableAct.getData();
  48. } else {
  49. action.formAct.refresh()
  50. }
  51. break;
  52. case 'edit':
  53. action.formAct.edit(handleData);
  54. break;
  55. case 'del':
  56. action.formAct.delete(handleData);
  57. break;
  58. case 'commit':
  59. action.formAct.submit(handleData);
  60. break;
  61. case 'recover':
  62. action.formAct.takeBack(handleData);
  63. break;
  64. case 'save':
  65. action.formAct.save();
  66. break;
  67. case 'cancel':
  68. action.formAct.cancel();
  69. break;
  70. case 'file_manage':
  71. action.formAct.fileManage(handleData);
  72. break;
  73. case 'check_flow':
  74. action.formAct.checkWorkflow(handleData);
  75. break;
  76. default:
  77. break;
  78. }
  79. }
  80. }