import { gatewayAlarmApi } from '/@/api/alarmManagement/gatewayAlarm';
import { ref } from 'vue';
import { getEnum } from '/@/api';

const orgId = ref('');
const result = JSON.parse(sessionStorage.getItem('ORGID')!);
orgId.value = result;
const tableKeyMap = [
  {
    title: '序号',
    dataIndex: 'address',
    customRender: (text: any) => {
      return text.index + 1;
    },
  },
  {
    title: '告警编号',
    dataIndex: 'alarmCode',
  },
  {
    title: '告警描述',
    dataIndex: 'alarmDescription',
  },
  {
    title: '优先级',
    dataIndex: 'priority',
  },
  {
    title: '状态',
    dataIndex: 'alarmLogState',
  },
  {
    title: '错误码',
    dataIndex: 'errorCode',
  },
  {
    title: '设备信息',
    dataIndex: 'deviceInfo',
  },
  {
    title: '更新时间',
    dataIndex: 'updateTime',
  },
  {
    title: '断网时长',
    dataIndex: 'durationOfNetworkDisconnection',
  },
];
export const notificationtableConfig = (look: any, status: any) => {
  return {
    title: '告警记录',
    api: gatewayAlarmApi.getTableList,
    headerActions: [{}],
    columns: tableKeyMap,
    // rowSelection: null, 选择按钮
    columnActions: {
      title: '操作',
      actions: [
        {
          label: '详情',
          name: 'FeedBackDetail',
          dynamicParams: ['uuid', 'appealType'],
          handle: (data: any) => {
            console.log(look.value);
            look.value.toggle(data);
          },
        },
        {
          label: '状态',
          name: 'FeedBackDetail',
          dynamicParams: ['uuid', 'appealType'],
          handle: (data: any) => {
            status.value.toggle(data);
          },
        },
      ],
    },

    formConfig: {
      schemas: [
        // {
        //   field: 'name',
        //   label: '告警类型',
        //   component: 'NsSelect',
        //   defaultValue: '2',
        //   componentProps: {
        //     placeholder: '请选择告警优先级',
        //     disabled: true, // 不可选择
        //     options: [
        //       {
        //         label: '紧急',
        //         value: '1',
        //       },
        //       {
        //         label: '重要',
        //         value: '2',
        //       },
        //       {
        //         label: '一般',
        //         value: '3',
        //       },
        //     ],
        //   },
        // },
        {
          field: 'alarmLogState',
          label: '状态',
          component: 'nsSelectApi',
          // dynamicParams: {
          //   id: 'deviceName', //帮定上级联动数据
          // },
          componentProps: {
            api: () => getEnum({ params: { enumType: 'AlarmLogStateEnum' } }),
            immediate: true,
            allowClear: true,
            resultField: 'data',
            labelField: 'label',
            valueField: 'value',
            placeholder: '请选择状态',
            showSearch: true,
            filterOption: (input: string, option: any) => {
              return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0;
            },
            // autoSelectFirst: true,
          },
        },
        {
          field: 'createTime',
          label: '数据日期',
          component: 'NsRangePicker',
          fieldMap: ['startTime', 'endTime'],
          componentProps: {
            valueFormat: 'YYYY-MM-DD',
            placeholder: ['开始日期', '结束日期'],
          },
        },
      ],
    },
    params: { orgId: orgId.value },
    // pagination: { pageSizeOptions: false },
    rowKey: 'id',
  };
};
