singleActions.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import i18n from '@/locales'
  2. import { PROVIDER_MAP } from '@/constants'
  3. export default {
  4. created () {
  5. this.singleActions = [
  6. {
  7. label: i18n.t('network.text_131'),
  8. permission: 'lb_loadbalancerbackendgroups_delete',
  9. action: (obj) => {
  10. this.createDialog('DeleteResDialog', {
  11. vm: this,
  12. title: i18n.t('network.text_131'),
  13. name: i18n.t('network.text_139'),
  14. data: [obj],
  15. columns: this.columns.slice(0, 2),
  16. onManager: this.onManager,
  17. })
  18. },
  19. meta: (obj) => {
  20. if (obj.provider && (obj.provider.toLowerCase() === 'azure' || obj.provider.toLowerCase() === 'google')) {
  21. return {
  22. validate: false,
  23. tooltip: i18n.t('network.text_309', [PROVIDER_MAP[obj.provider].label]),
  24. }
  25. }
  26. if (this.isAliyunDefaultBackendGroup(obj)) {
  27. return {
  28. validate: false,
  29. tooltip: this.$t('network.lb.default_backendgroup.tips'),
  30. }
  31. }
  32. if (!obj.can_delete) {
  33. return {
  34. validate: false,
  35. tooltip: i18n.t('network.text_356'),
  36. }
  37. }
  38. return {
  39. validate: true,
  40. tooltip: '',
  41. }
  42. },
  43. },
  44. ]
  45. },
  46. methods: {
  47. isAliyunDefaultBackendGroup (obj) {
  48. const provider = obj && obj.provider ? obj.provider : ''
  49. if (provider.toLowerCase() === 'aliyun' && obj.type === 'default') {
  50. return true
  51. }
  52. return false
  53. },
  54. },
  55. }