import { getNameDescriptionTableColumn, getStatusTableColumn, } from '@/utils/common/tableColumn' import { getNameFilter, } from '@/utils/common/tableFilter' import { sizestr, percentstr } from '@/utils/utils' import { BRAND_MAP } from '@/constants' export default { computed: { resourceProps () { return { list: this.$list.createList(this, { id: 'VmHostsListForTransferDialog', resource: 'hosts', getParams: { baremetal: false, brand: BRAND_MAP.OneCloud.key, }, filterOptions: { id: { label: this.$t('table.title.id'), }, name: getNameFilter(), any_ip: { label: 'IP', }, }, }), columns: [ getNameDescriptionTableColumn({ hideField: true, addLock: true, addBackup: true, edit: false, editDesc: false, minWidth: 120, slotCallback: row => { return [ , ] }, }), getStatusTableColumn({ statusModule: 'host', minWidth: 100, }), { field: 'custom_ip', title: 'IP', minWidth: 200, showOverflow: 'ellipsis', slots: { default: ({ row }) => { const cellWrap = [] if (row.access_ip) { if (row.ipmi_ip) { cellWrap.push(
{this.$t('compute.text_1319')}
, ) } else { cellWrap.push(
, ) } } if (row.ipmi_ip) { if (row.access_ip) { cellWrap.push(
{this.$t('compute.text_1320')}
, ) } else { cellWrap.push(
, ) } } return cellWrap }, }, }, { field: 'cpu_count', title: this.$t('compute.text_563'), minWidth: 100, showOverflow: 'title', sortFields: ['cpu_count', ''], sortByList: ['', 'order_by_cpu_commit_rate'], slots: { default: ({ row }) => { if (row.cpu_commit_rate === undefined) return [] return row.cpu_count ? `${row.cpu_count}/${percentstr(row.cpu_commit_rate)}` : 'N/A' }, }, }, { field: 'mem_size', title: this.$t('compute.text_564'), minWidth: 100, sortFields: ['mem_size', ''], sortByList: ['', 'order_by_mem_commit_rate'], slots: { default: ({ row }) => { if (row.mem_commit_rate === undefined) return [] return row.mem_size ? `${sizestr(row.mem_size, 'M', 1024)}/${percentstr(row.mem_commit_rate)}` : 'N/A' }, }, }, { field: 'storage', title: this.$t('compute.text_565'), minWidth: 80, sortByList: ['order_by_storage', 'order_by_storage_commit_rate'], slots: { default: ({ row }) => { if (row.storage === undefined) return [] return row.storage ? `${sizestr(row.storage, 'M', 1024)}/${percentstr(row.storage_commit_rate)}` : 'N/A' }, }, }, { field: 'model', title: this.$t('compute.text_580'), minWidth: 100, formatter: ({ cellValue, row }) => { return ((row.sys_info || {}).model) || '-' }, }, { field: 'nonsystem_guests', sortBy: 'order_by_server_count', title: '#VM', minWidth: 80, sortable: true, slots: { default: ({ row }, h) => { if (row.nonsystem_guests === undefined) return [] return `${row.nonsystem_guests}` }, }, }, ], } }, }, methods: {}, }