这是基于vue-vben-admin 模板适用于abp Vnext的前端管理项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

88 lines
2.1 KiB

import { BasicColumn } from '/@/components/Table/src/types/table';
import { useLocalization } from '/@/hooks/abp/useLocalization';
import { formatToDateTime } from '/@/utils/dateUtil';
const { L } = useLocalization('AbpOssManagement');
const kbUnit = 1 * 1024;
const mbUnit = kbUnit * 1024;
const gbUnit = mbUnit * 1024;
export function getDataColumns(): BasicColumn[] {
return [
{
title: L('DisplayName:Name'),
dataIndex: 'name',
align: 'left',
width: 300,
sorter: true,
slots: {
customRender: 'enable',
},
},
{
title: L('DisplayName:FileType'),
dataIndex: 'isFolder',
align: 'left',
width: 120,
sorter: true,
format: (text) => {
return Boolean(text) ? L('DisplayName:Folder') : L('DisplayName:Standard');
},
},
{
title: L('DisplayName:Size'),
dataIndex: 'size',
align: 'left',
width: 150,
sorter: true,
format: (text) => {
const size = Number(text);
if (size > gbUnit) {
let gb = Math.round(size / gbUnit);
if (gb < 1) {
gb = 1;
}
return gb + ' GB';
}
if (size > mbUnit) {
let mb = Math.round(size / mbUnit);
if (mb < 1) {
mb = 1;
}
return mb + ' MB';
}
let kb = Math.round(size / kbUnit);
if (kb < 1) {
kb = 1;
}
return kb + ' KB';
},
},
{
title: L('DisplayName:CreationDate'),
dataIndex: 'creationDate',
align: 'left',
width: 160,
sorter: true,
format: (text) => {
if (text) {
return formatToDateTime(text, 'YYYY-MM-DD HH:mm:ss');
}
return text;
},
},
{
title: L('DisplayName:LastModifiedDate'),
dataIndex: 'lastModifiedDate',
align: 'left',
width: 'auto',
sorter: true,
format: (text) => {
if (text) {
return formatToDateTime(text, 'YYYY-MM-DD HH:mm:ss');
}
return text;
},
},
];
}