config.ts 1.06 KB
import { Tag } from 'ant-design-vue';
import { BasicColumn } from '/@/components/Table';
import { formatToDateTime } from '/@/utils/dateUtil';
import { h } from 'vue';
import { useI18n } from '/@/hooks/web/useI18n';
const { t } = useI18n();
// 表格配置
export const columns: BasicColumn[] = [
  {
    title: t('edge.instance.text.eventTime'),
    dataIndex: 'createdTime',
    format(text) {
      return formatToDateTime(text, 'YYYY-MM-DD HH:mm:ss');
    },
  },
  {
    title: t('edge.instance.text.server'),
    dataIndex: 'body.server',
  },
  {
    title: t('edge.instance.text.event'),
    dataIndex: 'body.event',
  },
  {
    title: t('edge.instance.text.status'),
    dataIndex: 'body.success',
    customRender: ({ record }) => {
      const color = record.body.success ? 'success' : 'error';
      const text = record.body.success ? t('common.successText') : t('common.failText');
      return h(Tag, { color: color }, () => text);
    },
  },
  {
    title: t('edge.instance.text.error'),
    dataIndex: 'error',
    slots: { customRender: 'errorDetail' },
  },
];