singleActions.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import { mapGetters } from 'vuex'
  2. import i18n from '@/locales'
  3. import { getEnabledSwitchActions } from '@/utils/common/tableActions'
  4. export default {
  5. computed: {
  6. ...mapGetters(['isAdminMode', 'isDomainMode', 'isProjectMode', 'userInfo']),
  7. },
  8. created () {
  9. this.singleActions = [
  10. {
  11. label: i18n.t('compute.add_tap_flow'),
  12. permission: 'tapflows_create',
  13. action: (obj) => {
  14. this.createDialog('TapFlowCreateDialog', {
  15. tapService: obj,
  16. })
  17. },
  18. },
  19. {
  20. label: i18n.t('cloudenv.text_311'),
  21. actions: obj => {
  22. return [
  23. // 启用禁用
  24. ...getEnabledSwitchActions(this, obj, ['tapservices_perform_enable', 'tapservices_perform_disable'], {
  25. metas: [
  26. () => {
  27. const ret = {
  28. validate: !obj.enabled,
  29. }
  30. return ret
  31. },
  32. () => {
  33. const ret = {
  34. validate: obj.enabled,
  35. }
  36. return ret
  37. },
  38. ],
  39. resourceName: this.$t('dictionary.tap_service'),
  40. }),
  41. {
  42. label: i18n.t('compute.perform_delete'),
  43. permission: 'tapservices_delete',
  44. action: () => {
  45. this.createDialog('DeleteResDialog', {
  46. vm: this,
  47. data: [obj],
  48. columns: this.columns,
  49. title: i18n.t('compute.perform_delete'),
  50. name: this.$t('dictionary.tap_service'),
  51. onManager: this.onManager,
  52. })
  53. },
  54. meta: () => {
  55. const ret = {
  56. validate: true,
  57. }
  58. if (obj.flow_count) {
  59. ret.validate = false
  60. ret.tooltip = i18n.t('compute.tap_service_delete_tip')
  61. }
  62. return ret
  63. },
  64. },
  65. ]
  66. },
  67. },
  68. ]
  69. },
  70. methods: {},
  71. }