import * as R from 'ramda' import { getNameDescriptionTableColumn, getBrandTableColumn, getStatusTableColumn, getCopyWithContentTableColumn, getProjectTableColumn, getTimeTableColumn } from '@/utils/common/tableColumn' import i18n from '@/locales' export default { props: { getColumns: { type: [Function, Array], }, }, data () { return { columns: this.getColumn(), } }, methods: { getColumn () { let column = [] if (R.is(Function, this.getColumns)) { column = this.getColumns() return column } if (R.is(Array, this.getColumns) && this.getColumns.length > 0) { column = this.getColumns return column } column = [ getNameDescriptionTableColumn({ field: 'name', edit: false, editDesc: false, hideField: true, slotCallback: row => { return ( this.handleOpenSidepage(row)}>{row.name} ) }, }), getStatusTableColumn({ statusModule: 'disk', hiddenLogView: true }), { field: 'disk_type', title: i18n.t('compute.text_175'), width: 70, formatter: ({ cellValue }) => { return cellValue === 'sys' ? i18n.t('compute.text_49') : i18n.t('compute.text_50') }, }, getCopyWithContentTableColumn({ field: 'storage', title: i18n.t('compute.text_99'), hideField: true, slotCallback: (row) => { if (!row.storage) return [] return row.storage }, }), getCopyWithContentTableColumn({ field: 'guest', title: this.$t('dictionary.server'), hideField: true, slotCallback: (row) => { if (this.isPreLoad && !row.guest) return [] return row.guest }, }), getBrandTableColumn(), getTimeTableColumn({ field: 'auto_delete_at', title: i18n.t('compute.text_480'), vm: this }), getProjectTableColumn(), ] return column }, }, }