singleActions.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. import i18n from '@/locales'
  2. export default {
  3. data () {
  4. return {}
  5. },
  6. created () {
  7. this.singleActions = [
  8. /* {
  9. label: i18n.t('network.text_41'),
  10. permission: 'lb_loadbalanceragents_perform_deploy',
  11. action: (obj) => {
  12. this.createDialog('AgentDeployDialog', {
  13. title: i18n.t('network.text_41'),
  14. data: [obj],
  15. columns: this.columns,
  16. onManager: this.onManager,
  17. refresh: this.refresh,
  18. })
  19. },
  20. },
  21. {
  22. label: i18n.t('network.text_126'),
  23. permission: 'lb_loadbalanceragents_perform_undeploy',
  24. action: (obj) => {
  25. this.createDialog('DisableDialog', {
  26. title: i18n.t('network.text_126'),
  27. columns: this.columns,
  28. data: [obj],
  29. alert: i18n.t('network.text_127'),
  30. ok: async () => {
  31. try {
  32. const { data } = await new this.$Manager('loadbalanceragents').performAction({
  33. id: obj.id,
  34. action: 'undeploy',
  35. data: {
  36. state: 'suspend',
  37. // 'process-key': obj.key,
  38. },
  39. })
  40. if (data && data.deployment && data.deployment.ansible_playbook_undeployment) {
  41. // this.$router.push({
  42. // path: `/lbagent/asbook?ansiblePlaybookId=${data.deployment.ansible_playbook_undeployment}&loadbalanceragentId=${obj.id}`,
  43. // })
  44. this.createDialog('AnsibleplaybookDialog', {
  45. title: i18n.t('network.text_128'),
  46. ansiblePlaybookId: data.deployment.ansible_playbook_undeployment,
  47. loadbalanceragentId: obj.id,
  48. })
  49. }
  50. return data
  51. } catch (error) {
  52. throw error
  53. }
  54. },
  55. })
  56. },
  57. meta: (obj) => {
  58. if (!obj.deployment || !obj.deployment.host) {
  59. return {
  60. validate: false,
  61. }
  62. }
  63. return {
  64. validate: true,
  65. }
  66. },
  67. }, */
  68. {
  69. label: i18n.t('network.associated_cluster'),
  70. action: (obj) => {
  71. this.createDialog('AssociatedClusterDialog', {
  72. data: [obj],
  73. columns: this.columns,
  74. onManager: this.onManager,
  75. })
  76. },
  77. },
  78. {
  79. label: i18n.t('network.text_129'),
  80. permission: 'lb_loadbalanceragents_update',
  81. actions: (obj) => {
  82. return [
  83. {
  84. label: i18n.t('network.text_130'),
  85. action: () => {
  86. this.$router.push({
  87. name: 'AgentForm',
  88. query: {
  89. id: obj.id,
  90. },
  91. })
  92. },
  93. },
  94. {
  95. label: i18n.t('network.text_74'),
  96. permission: 'lb_loadbalanceragents_update',
  97. action: () => {
  98. this.createDialog('AgentUpdateDialog', {
  99. data: [obj],
  100. columns: this.columns,
  101. onManager: this.onManager,
  102. })
  103. },
  104. },
  105. {
  106. label: i18n.t('network.text_131'),
  107. action: (obj) => {
  108. this.createDialog('DeleteResDialog', {
  109. vm: this,
  110. title: i18n.t('network.text_131'),
  111. data: [obj],
  112. columns: this.columns,
  113. onManager: this.onManager,
  114. alert: i18n.t('network.text_132'),
  115. })
  116. },
  117. meta: obj => this.$getDeleteResult(obj),
  118. },
  119. ]
  120. },
  121. },
  122. ]
  123. },
  124. }