singleActions.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. import { mapGetters } from 'vuex'
  2. import { getEnabledSwitchActions } from '@/utils/common/tableActions'
  3. import i18n from '@/locales'
  4. export default {
  5. computed: {
  6. ...mapGetters(['isAdminMode', 'scope', 'isDomainMode', 'userInfo', 'l3PermissionEnable']),
  7. },
  8. created () {
  9. this.singleActions = [
  10. // 修改
  11. {
  12. label: i18n.t('system.text_152'),
  13. permission: 'subscribers_update',
  14. action: (obj) => {
  15. this.createDialog('SetupNotifyReceiverDialog', {
  16. data: obj,
  17. columns: this.columns,
  18. success: (res) => {
  19. this.list.fetchData()
  20. },
  21. })
  22. },
  23. },
  24. {
  25. label: i18n.t('system.text_153'),
  26. actions: obj => {
  27. return [
  28. // 启用禁用
  29. ...getEnabledSwitchActions(this, obj, ['subscribers_enable', 'subscribers_disable'], {
  30. resourceName: this.$t('system.notify.subscriber.receivers'),
  31. fields: ['resource_scope', 'enabled', 'type', 'receivers'],
  32. metas: [
  33. () => { return { validate: !obj.enabled } },
  34. () => { return { validate: obj.enabled } },
  35. ],
  36. actions: [
  37. async (obj) => {
  38. await this.onManager('batchPerformAction', {
  39. id: [obj.id],
  40. managerArgs: {
  41. action: 'enable',
  42. },
  43. })
  44. },
  45. async (obj) => {
  46. await this.onManager('batchPerformAction', {
  47. id: [obj.id],
  48. managerArgs: {
  49. action: 'disable',
  50. },
  51. })
  52. },
  53. ],
  54. }),
  55. // 删除
  56. {
  57. label: i18n.t('system.text_129'),
  58. permission: 'subscribers_delete',
  59. action: (obj) => {
  60. this.createDialog('DeleteResDialog', {
  61. vm: this,
  62. data: [obj],
  63. columns: this.columns,
  64. title: this.$t('common.delete'),
  65. name: this.$t('system.notify.subscriber.receivers'),
  66. onManager: this.onManager,
  67. })
  68. },
  69. meta: (row) => {
  70. const ret = {
  71. validate: true,
  72. }
  73. if (!row.can_delete) {
  74. ret.validate = false
  75. }
  76. return ret
  77. },
  78. },
  79. ]
  80. },
  81. meta: (row) => {
  82. const ret = {
  83. validate: true,
  84. }
  85. return ret
  86. },
  87. },
  88. ]
  89. },
  90. }