import { getStatusTableColumn, getEnabledTableColumn, getNameDescriptionTableColumn, getCopyWithContentTableColumn, } from '@/utils/common/tableColumn' import i18n from '@/locales' import { getResourceMatchProjectTableColumn, } from '../utils/columns' import { getLastSyncCostTableColumn, } from '../../cloudaccount/utils/columns' export default { created () { this.columns = [ getNameDescriptionTableColumn({ onManager: this.onManager, hideField: true, slotCallback: row => { return ( this.handleOpenSidepage(row)}>{ row.name } ) }, }), { field: 'account', title: i18n.t('cloudenv.text_353'), showOverflow: 'ellipsis', minWidth: 160, slots: { default: ({ row }) => { const subscribeIds = (row.account && row.account.split('/')) || [] const text = subscribeIds.length > 1 ? subscribeIds[1] : subscribeIds[0] return [ {text} , ] }, }, formatter: ({ row }) => { const subscribeIds = (row.account && row.account.split('/')) || [] const text = subscribeIds.length > 1 ? subscribeIds[1] : subscribeIds[0] return text }, }, getEnabledTableColumn(), getStatusTableColumn({ statusModule: 'cloudaccount' }), { field: 'last_sync', title: i18n.t('cloudenv.text_103'), width: 80, slots: { default: ({ row }) => { if (row.sync_status !== 'idle') { // 表示正在同步中 return [ , ] } else { const time = this.$moment(row.last_sync) if (time) { return time.fromNow() } else { return '-' } } }, }, formatter: ({ row }) => { if (row.sync_status !== 'idle') { // 表示正在同步中 return row.sync_status } else { const time = this.$moment(row.last_sync) if (time) { return time.fromNow() } else { return '-' } } }, }, getLastSyncCostTableColumn(), getStatusTableColumn({ field: 'sync_status', title: i18n.t('cloudenv.text_354'), minWidth: 100, statusModule: 'cloudaccountSyncStatus', }), getCopyWithContentTableColumn({ field: 'project_domain', title: i18n.t('cloudenv.text_355', [i18n.t('dictionary.domain')]), }), getResourceMatchProjectTableColumn(), ] }, }