import { sizestr } from '@/utils/utils' import { getBrandTableColumn, getNameDescriptionTableColumn, getStatusTableColumn, getProjectTableColumn, getTimeTableColumn, getTagTableColumn, getOsArch, } from '@/utils/common/tableColumn' import i18n from '@/locales' export default { created () { this.columns = [ getNameDescriptionTableColumn({ onManager: this.onManager, hideField: true, addEncrypt: true, slotCallback: row => { return ( this.handleOpenSidepage(row) }>{ row.name } ) }, }), getStatusTableColumn({ statusModule: 'snapshot', vm: this }), getTagTableColumn({ onManager: this.onManager, resource: 'instance_snapshots', columns: () => this.columns }), { field: 'rules', title: i18n.t('table.title.sub_snapshot'), minWidth: 220, slots: { default: ({ row }) => { if (this.isPreLoad && !row.snapshots) return [] const len = (row.snapshots && row.snapshots.length) || 0 if (len === 0) return i18n.t('compute.text_619', [len]) const list = row.snapshots.map(val => ( { val.name } )) return [
{...list}
] }, }, formatter: ({ row }) => { const { snapshots = [] } = row const len = snapshots.length const list = snapshots.map(item => item.name) if (len) { return `${i18n.t('compute.text_619', [len])}(${list.join(',')})` } return '' }, }, { field: 'with_memory', title: i18n.t('compute.mem_snapshot'), width: 100, formatter: ({ row }) => { return row.with_memory ? i18n.t('compute.contains') : i18n.t('compute.not_contains') }, }, getOsArch(), { field: 'size_mb', title: i18n.t('table.title.snapshot_size'), width: 70, slots: { default: ({ row }) => { if (this.isPreLoad && !row.size_mb) return [] return sizestr(row.size_mb, 'M', 1024) }, }, formatter: ({ row }) => { return sizestr(row.size_mb, 'M', 1024) }, }, { field: 'guest', title: i18n.t('res.server'), minWidth: 70, showOverflow: 'ellipsis', slots: { default: ({ row }, h) => { if (this.isPreLoad && !row.guest) return [] return [
{row.guest ? : '-'} {row.guest_status ? : ''}
, ] }, }, formatter: ({ row }) => row.guest, }, getBrandTableColumn(), getTimeTableColumn(), getProjectTableColumn(), ] }, }