| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- import i18n from '@/locales'
- import { GPU_DEV_TYPE_OPTION_MAP } from '@Compute/constants'
- import { getSetPublicAction } from '@/utils/common/tableActions'
- export default {
- created () {
- this.singleActions = [
- {
- label: this.$t('gpu.device_type.update'),
- action: obj => {
- this.createDialog('UpdateDeviceTypeDialog', {
- data: [obj],
- columns: this.columns,
- refresh: this.refresh,
- })
- },
- meta: obj => {
- const ret = { validate: true }
- if (obj.dev_type.indexOf('GPU') === -1) {
- ret.validate = false
- ret.tooltip = this.$t('gpu.device_type.update.validate')
- return ret
- }
- const gpu_types = [GPU_DEV_TYPE_OPTION_MAP['GPU-HPC'].value, GPU_DEV_TYPE_OPTION_MAP['GPU-VGA'].value]
- if (!gpu_types.includes(obj.dev_type)) {
- ret.validate = false
- ret.tooltip = this.$t('gpu.device_type.tooltip.check_hpc_vga_gpu')
- return ret
- }
- return ret
- },
- },
- {
- label: this.$t('common.more'),
- actions: (obj) => {
- return [
- getSetPublicAction(this, {
- name: this.$t('compute.text_113'),
- scope: 'project',
- resource: 'isolated_devices',
- }, {
- permission: 'isolated_devices_perform_public',
- }),
- {
- label: this.$t('compute.text_1028_1'),
- permission: 'server_perform_attach_isolated_device',
- action: (obj) => {
- this.sidePageTriggerHandle(this, 'GpuSidePage', {
- id: obj.id,
- resource: 'isolated_devices',
- }, { tab: 'associated-instances' })
- },
- },
- {
- key: 'SetReserveResource',
- label: i18n.t('compute.text_490'),
- permission: 'isolated_devices_update',
- action: obj => {
- this.createDialog('SetReserveResourceDialog', {
- onManager: this.onManager,
- data: [obj],
- columns: this.columns,
- refresh: this.refresh,
- })
- },
- meta: obj => {
- const { dev_type } = obj
- if (!dev_type) {
- return { validate: false }
- }
- if (dev_type.indexOf('GPU') === -1) {
- return {
- validate: false,
- tooltip: this.$t('compute.text_1398', [dev_type]),
- }
- }
- return { validate: true }
- },
- },
- ]
- },
- },
- ]
- },
- }
|