import { getNameDescriptionTableColumn, getBrandTableColumn, getPublicScopeTableColumn, getProjectTableColumn, getAccountTableColumn, getTagTableColumn, getTimeTableColumn, } from '@/utils/common/tableColumn' import i18n from '@/locales' import { getZoneTypeTableColumns, getVpcCountTableColumns, getDnsRecordsetCountTableColumns, } from '../utils/columns' export default { created () { this.columns = [ getNameDescriptionTableColumn({ onManager: this.onManager, hideField: true, title: i18n.t('network.text_156'), edit: false, formRules: function (row) { return [ { required: true, message: i18n.t('network.text_173') }, ] }, slotCallback: row => { return ( this.handleOpenSidepage(row) }>{ row.name } ) }, }), getTagTableColumn({ onManager: this.onManager, resource: 'dns_zones', columns: () => this.columns }), getBrandTableColumn(), getZoneTypeTableColumns(), getDnsRecordsetCountTableColumns(), getVpcCountTableColumns(), { field: 'status', title: i18n.t('common.status'), sortable: true, showOverflow: 'ellipsis', minWidth: 80, slots: { default: ({ row }, h) => { return [
{ row.status === 'pending' ? : null }
, ] }, }, formatter: ({ row }) => { return this.$te(`status.dnszone.${row.status}`) ? this.$t(`status.dnszone.${row.status}`) : row.status }, }, getPublicScopeTableColumn({ vm: this, resource: 'dns_zones' }), getAccountTableColumn(), getProjectTableColumn(), getTimeTableColumn(), ] }, }