config.ts 1.82 KB
import { Tag } from 'ant-design-vue';
import { h } from 'vue';
import { DescItem } from '/@/components/Description/src/typing';
import { handeleCopy } from '/@/views/device/profiles/step/topic';
import { formatToDateTime } from '/@/utils/dateUtil';

export const descSchema = (): DescItem[] => {
  return [
    {
      field: 'name',
      label: '边缘名称',
    },
    {
      field: 'label',
      label: '设备标签',
      render: (text) => {
        return text
          ? h(
              Tag,
              {
                color: '#00B42A',
              },
              text
            )
          : '';
      },
    },
    {
      field: 'active',
      label: '状态',
      render: (text) => {
        const color = text ? 'success' : 'error';
        const textStr = text ? ' 在线' : '离线';
        return h(
          Tag,
          {
            color,
          },
          textStr
        );
      },
    },
    {
      field: 'routingKey',
      label: '边缘键',
      render: (text) => {
        return h(
          'span',
          {
            style: { cursor: 'pointer', color: '#165DFF' },
            onClick: () => {
              handeleCopy(text);
            },
          },
          text
        );
      },
    },
    {
      field: 'secret',
      label: '边缘密钥',
      render: (text) => {
        return h(
          'span',
          {
            style: { cursor: 'pointer', color: '#165DFF' },
            onClick: () => {
              handeleCopy(text);
            },
          },
          text
        );
      },
    },
    {
      field: 'createdTime',
      label: '创建时间',
      render: (_, data) => {
        return formatToDateTime(data.createdTime, 'YYYY-MM-DD HH:mm:ss');
      },
    },
    {
      field: 'additionalInfo.description',
      label: '描述',
    },
  ];
};