import { dateUtil } from '/nerv-lib/util/date-util'; import data from '../notificationManagementMock.json'; import { http } from '/nerv-lib/util'; import { Modal } from 'ant-design-vue'; import { ref } from 'vue'; const tableKeyMap = [ { title: '序号', dataIndex: 'address', customRender: (text: any) => { return text.index + 1; }, }, { title: '规则id', dataIndex: 'id', }, { title: '设备信心', dataIndex: 'deviceCode', }, { title: '告警点位', dataIndex: 'deviceName', }, { title: '判断条件', dataIndex: 'position', }, { title: '取值类型', dataIndex: 'position', textEllipsis: true, }, { title: '异常描述', dataIndex: 'position', }, { title: '启用通知', dataIndex: 'isUse', }, ]; const mockData = ref(data.listData); const doWnload = (url) => { const a = document.createElement('a'); document.body.appendChild(a); a.href = encodeURI(url); //设置下载的文件名 // a.download = fileName.value; //触发a标签的点击事件,进行下载 a.click(); }; export const configureDeviceAlarms = (editEquipmentAlarm, elFormula, title) => { return { title: '告警规则', // api: '/carbon_emission/device/getDeviceList', value: mockData.value, headerActions: [ { label: '新增', name: 'RoleTypeAdd', type: 'primary', handle: () => { editEquipmentAlarm.value.toggle(); }, }, { label: '导入', name: 'groupImport', type: 'primary', extra: { // api: props.postImportApi, // 导入接口名 title: '设备信息', // 弹窗title templateName: 'whiteListUser', // 所使用的文件名称 indexName: '设备id', // 匹配类型字段 message: [ { label: '1、若必填项未填写,则不能进行导入操作' }, { label: `2、当重复时,则更新数据。` }, { label: '3、数据将从模版的第五行进行导入。' }, { label: '4、文件导入勿超过5MB。' }, ], }, }, { label: '导出', name: 'groupExports', type: 'primary', handle: () => { doWnload('/hx-ai-intelligent/asset/file/whiteListUser.xlsx'); }, }, { label: '批量删除', type: 'primary', name: 'userBatchDel', dynamicDisabled: (data: any) => { return data.list.length === 0; }, confirm: true, isReload: true, isClearCheck: true, // api: origanizemanage.batchDel, dynamicParams: { userIds: 'userId[]' }, }, ], columns: tableKeyMap, params: { page: 0, pageSize: 10, }, // rowSelection: null, 选择按钮 columnActions: { title: '操作', actions: [ { label: '编辑', name: 'FeedBackDetail', dynamicParams: ['uuid', 'appealType'], handle: (data: any) => { editEquipmentAlarm.value.toggle(data); }, }, { label: '删除', name: 'FeedBackDetail', dynamicParams: ['uuid', 'appealType'], confirm: true, handle: () => { // mockData.value.splice(0, 1); }, }, ], }, formConfig: { title: title, schemas: [ { field: 'provider', label: '告警优先级', component: 'NsSelect', componentProps: { placeholder: '请选择告警优先级', options: [ { label: '全部', value: '', }, { label: '启用', value: '1', }, { label: '关闭', value: '0', }, ], }, }, { field: 'provider', label: '告警标题', component: 'NsInput', componentProps: { placeholder: '请输入告警标题关键字', }, }, { field: 'provider', label: '告警标题', component: 'NsInput', componentProps: { placeholder: '请输入告警标题关键字', }, }, { field: 'payWay', label: '启用状态', component: 'NsSelect', componentProps: { placeholder: '请选择启用状态', options: [ { label: '全部', value: '', }, { label: '启用', value: '1', }, { label: '关闭', value: '0', }, ], }, }, ], }, // pagination: { pageSizeOptions: false }, rowKey: 'id', }; };