Browse Source

fix:对接通知管理接口 进行联调测试

temp
zhaohy 2 months ago
parent
commit
652a94a466
  1. 5
      hx-ai-intelligent/src/api/alarmSettings/notificationManagements.ts
  2. 19
      hx-ai-intelligent/src/view/alarmManagement/alarmSettings/energyAlarm/editeEnergyAlarm.vue
  3. 19
      hx-ai-intelligent/src/view/alarmManagement/alarmSettings/equipmentAlarm/editeEquipmentAlarm.vue
  4. 51
      hx-ai-intelligent/src/view/alarmManagement/alarmSettings/index.vue
  5. 134
      hx-ai-intelligent/src/view/alarmManagement/alarmSettings/notificationManagement/index.vue
  6. 22
      hx-ai-intelligent/src/view/alarmManagement/alarmSettings/notificationManagement/linkPeople/config.ts
  7. 55
      hx-ai-intelligent/src/view/alarmManagement/alarmSettings/notificationManagement/linkPeople/index.vue
  8. 4
      hx-ai-intelligent/src/view/alarmManagement/alarmSettings/ts/equipmentAlarmConfig.ts
  9. 52
      hx-ai-intelligent/src/view/alarmManagement/alarmSettings/ts/notificationManagementConfig.ts

5
hx-ai-intelligent/src/api/alarmSettings/notificationManagements.ts

@ -0,0 +1,5 @@
export enum notificationManagementApi {
getTableList = '/carbon-smart/api/AlarmContactInformation/selectAlarmContactInformation', //通知管理分页
upData = '/carbon-smart/api/AlarmContactInformation/update', //通知管理 修改
findById = '/carbon-smart/api/AlarmContactInformation/findById', //通知管理 查询详情
}

19
hx-ai-intelligent/src/view/alarmManagement/alarmSettings/energyAlarm/editeEnergyAlarm.vue

@ -177,6 +177,25 @@
], ],
}, },
}, },
{
label: '是否创建工单',
field: 'createWorkOrder',
component: 'NsRadioGroup',
rules: [
{
required: true,
message: '是否创建工单不能为空',
trigger: 'change',
},
],
componentProps: {
radioType: 'radio',
options: [
{ label: '是', value: 1 },
{ label: '否', value: 0 },
],
},
},
], ],
}, },
}, },

19
hx-ai-intelligent/src/view/alarmManagement/alarmSettings/equipmentAlarm/editeEquipmentAlarm.vue

@ -195,6 +195,25 @@
], ],
}, },
}, },
{
label: '是否创建工单',
field: 'createWorkOrder',
component: 'NsRadioGroup',
rules: [
{
required: true,
message: '是否创建工单不能为空',
trigger: 'change',
},
],
componentProps: {
radioType: 'radio',
options: [
{ label: '是', value: 1 },
{ label: '否', value: 0 },
],
},
},
], ],
}, },
}, },

51
hx-ai-intelligent/src/view/alarmManagement/alarmSettings/index.vue

@ -4,21 +4,27 @@
<a-tab-pane key="1" tab="通知管理"> <a-tab-pane key="1" tab="通知管理">
<ns-view-list-table v-bind="notificationConfig" ref="mainRef"> <ns-view-list-table v-bind="notificationConfig" ref="mainRef">
<template #bodyCell="{ record, column }"> <template #bodyCell="{ record, column }">
<template v-if="column.dataIndex === 'enableRules'"> <template v-if="column.dataIndex === 'enableNotifications'">
<a-switch <a-switch
:checked="record.enableRules === 1 ? true : false" :checked="record.enableNotifications === 1 ? true : false"
:class="{ :class="{
'blue-background': record.enableRules === 1 ? true : false, 'blue-background': record.enableNotifications === 1 ? true : false,
'grey-background': record.enableRules === 1 ? false : true, 'grey-background': record.enableNotifications === 1 ? false : true,
}" }"
@change=" @change="
clickSwitch({ type: 1, enableRules: record.enableRules, record: record }) clickSwitch({ type: 1, enableRules: record.enableRules, record: record })
" /> " />
</template> </template>
<template v-if="column.dataIndex === 'prioritys'">
{{ record.priority ? record.priority.label : '' }}
</template>
<template v-if="column.dataIndex === 'notificationMethod'">
{{ getNotificationMethod(record.notificationMethod) }}
</template>
</template> </template>
</ns-view-list-table> </ns-view-list-table>
<!-- 联系方式 --> <!-- 联系方式 -->
<notificationManagement ref="notificationManagements" @editObject="editObject" /> <notificationManagement ref="notificationManagements" @updNotification="updNotification" />
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="2" tab="设备告警" force-render> <a-tab-pane key="2" tab="设备告警" force-render>
<ns-view-list-table <ns-view-list-table
@ -49,7 +55,7 @@
{{ record.repetitions.label }} {{ record.repetitions.label }}
</template> </template>
<template v-if="column.dataIndex === 'prioritys'"> <template v-if="column.dataIndex === 'prioritys'">
{{ record.priority.label }} {{ record.priority ? record.priority.label : '-' }}
</template> </template>
</template> </template>
</ns-view-list-table> </ns-view-list-table>
@ -90,7 +96,7 @@
{{ record.repetitions.label }} {{ record.repetitions.label }}
</template> </template>
<template v-if="column.dataIndex === 'prioritys'"> <template v-if="column.dataIndex === 'prioritys'">
{{ record.priority.label }} {{ record.priority ? record.priority.label : '-' }}
</template> </template>
</template> </template>
</ns-view-list-table> </ns-view-list-table>
@ -124,6 +130,7 @@
import { deviceAlarms } from '/@/api/alarmSettings/deviceAlarms'; import { deviceAlarms } from '/@/api/alarmSettings/deviceAlarms';
import { energyAlarms } from '/@/api/alarmSettings/energyAlarm'; import { energyAlarms } from '/@/api/alarmSettings/energyAlarm';
import { ExclamationCircleOutlined } from '@ant-design/icons-vue'; import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
import { notificationManagementApi } from '/@/api/alarmSettings/notificationManagements';
export default { export default {
name: 'AlarmSettingsIndex', name: 'AlarmSettingsIndex',
@ -146,6 +153,22 @@
const equipmentAlarm = ref(true); const equipmentAlarm = ref(true);
const energyAlarm = ref(true); const energyAlarm = ref(true);
const notificationConfig = notificationtableConfig(notificationManagements); const notificationConfig = notificationtableConfig(notificationManagements);
//
const getNotificationMethod = (data: any) => {
if (!data) return '';
const methods = [];
const notifications = data.split(',');
notifications.forEach((notification) => {
if (notification === '1') {
methods.push('站内信息');
} else if (notification === '2') {
methods.push('邮件');
}
});
return methods.join('/');
};
// //
const energyAlarmConfig = energyAlarmConfigs( const energyAlarmConfig = energyAlarmConfigs(
editeEnergyAlarm, editeEnergyAlarm,
@ -169,6 +192,10 @@
energyAlarm.value = !energyAlarm.value; energyAlarm.value = !energyAlarm.value;
configureEnergyAlarms.value.show = false; configureEnergyAlarms.value.show = false;
}; };
//
const updNotification = () => {
mainRef.value?.nsTableRef.reload();
};
const clickSwitch = (data: any) => { const clickSwitch = (data: any) => {
NsModal.confirm({ NsModal.confirm({
title: '启用状态', title: '启用状态',
@ -182,12 +209,14 @@
if (data.type === 1) { if (data.type === 1) {
// //
http http
.post(deviceAlarms.addOrUpNewData, { .post(notificationManagementApi.upData, {
id: data.record.id, id: data.record.id,
enableRules: data.record.enableRules === 1 ? 0 : 1, enableNotifications: data.record.enableNotifications === 1 ? 0 : 1,
}) })
.then(() => { .then(() => {
NsMessage.success(data.record.enableRules === 1 ? '通知已关闭' : '通知已启用'); NsMessage.success(
data.record.enableNotifications === 1 ? '通知已关闭' : '通知已启用',
);
mainRef.value?.nsTableRef.reload(); mainRef.value?.nsTableRef.reload();
}); });
} }
@ -232,6 +261,8 @@
equipmentAlarmConfig, equipmentAlarmConfig,
editObject, editObject,
editeEnergyAlarm, editeEnergyAlarm,
updNotification,
getNotificationMethod,
clickSwitch, clickSwitch,
editEquipmentAlarm, editEquipmentAlarm,
notificationManagements, notificationManagements,

134
hx-ai-intelligent/src/view/alarmManagement/alarmSettings/notificationManagement/index.vue

@ -10,10 +10,10 @@
@close="handleClose"> @close="handleClose">
<div style="width: 100%; overflow: hidden; overflow-y: hidden; height: 100%"> <div style="width: 100%; overflow: hidden; overflow-y: hidden; height: 100%">
<a-form ref="formRef" :model="infoObject" :rules="rules" style="width: 80%"> <a-form ref="formRef" :model="infoObject" :rules="rules" style="width: 80%">
<a-form-item ref="notification" label="通知方式" name="notification"> <a-form-item ref="notificationMethod" label="通知方式" name="notificationMethod">
<a-select <a-select
ref="select" ref="select"
v-model:value="infoObject.notification" v-model:value="infoObject.notificationMethod"
style="width: 100%" style="width: 100%"
mode="multiple" mode="multiple"
:options="devicePointData" :options="devicePointData"
@ -24,34 +24,18 @@
</a-form-item> </a-form-item>
<a-form-item label="启用规则"> <a-form-item label="启用规则">
<a-switch <a-switch
:checked="infoObject.enableRules === 1 ? true : false" :checked="infoObject.enableNotifications === 1 ? true : false"
:class="{ :class="{
'blue-background': infoObject.enableRules === 1 ? true : false, 'blue-background': infoObject.enableNotifications === 1 ? true : false,
'grey-background': infoObject.enableRules === 1 ? false : true, 'grey-background': infoObject.enableNotifications === 1 ? false : true,
}" }"
@click="clickSwitch" /> @click="clickSwitch" />
</a-form-item> </a-form-item>
</a-form> </a-form>
<div style="width: 100%; height: 765px; overflow-y: auto"> <div style="width: 100%; height: 765px; overflow-y: auto">
<div style="margin-bottom: 8px"> <div style="margin-bottom: 8px">
<div style="width: 100%; display: flex; position: relative"> <div style="width: 100%; display: flex; position: relative" class="ns-title-extra-box">
<div <span style="margin-left: 12px; color: #333333">联系人名单</span>
style="
border-width: 0px;
position: absolute;
left: 0px;
top: 5px;
width: 5px;
height: 15px;
background: inherit;
background-color: #2778ff;
border: none;
border-radius: 5px;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
"></div>
<span style="margin-left: 24px; color: #333333">联系人名单</span>
</div> </div>
<img <img
style="width: 100%; margin-top: -10px" style="width: 100%; margin-top: -10px"
@ -67,10 +51,10 @@
:pagination="pagination"> :pagination="pagination">
<template #bodyCell="{ record, column }"> <template #bodyCell="{ record, column }">
<template v-if="column.dataIndex === 'address'"> <template v-if="column.dataIndex === 'address'">
{{ record.userRoleInfos?.[0].deptRoleInfoList }} {{ record?.deptRoleInfoList || record.userRoleInfos?.[0].deptRoleInfoList }}
</template> </template>
<template v-if="column.dataIndex === 'operation'"> <template v-if="column.dataIndex === 'operation'">
<a style="color: rgb(210, 0, 5)" @click="remove(record)">移除</a> <a style="color: #2778ff" @click="remove(record)">移除</a>
</template> </template>
</template> </template>
</a-table> </a-table>
@ -85,12 +69,12 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { ref } from 'vue'; import { ref } from 'vue';
// import { NsMessage } from '/nerv-lib/component'; import { NsMessage } from '/nerv-lib/component';
// import { http } from '/nerv-lib/util'; import { http } from '/nerv-lib/util';
// import { number } from 'vue-types';
import linkPeople from './linkPeople/index.vue'; import linkPeople from './linkPeople/index.vue';
import { notificationManagementApi } from '/@/api/alarmSettings/notificationManagements';
// import { deviceAlarms } from '/@/api/alarmSettings/deviceAlarms'; import { async } from '@antv/x6/lib/registry/marker/async';
import { info } from 'node_modules/loglevel';
//table //table
const columns = [ const columns = [
@ -125,6 +109,8 @@
title: '部门', title: '部门',
dataIndex: 'address', dataIndex: 'address',
key: 'address', key: 'address',
width: 200,
textEllipsis: true,
}, },
{ {
title: '操作', title: '操作',
@ -160,7 +146,7 @@
dataSource.value.forEach((item) => { dataSource.value.forEach((item) => {
ids.push(item.userId); ids.push(item.userId);
}); });
linkPeoples.value.getData({ id: ids, data: dataSource }); linkPeoples.value.getData({ id: ids, data: dataSource.value });
}; };
// //
const handleCancel = () => { const handleCancel = () => {
@ -173,7 +159,7 @@
}; };
// //
const infoObject = ref({ const infoObject = ref({
enableRules: 0, enableNotifications: 0,
}); });
// //
const filterDevicePoint = (input: string, option: any) => { const filterDevicePoint = (input: string, option: any) => {
@ -181,45 +167,47 @@
}; };
// //
const clickSwitch = () => { const clickSwitch = () => {
if (infoObject.value.enableRules === 1) { if (infoObject.value.enableNotifications === 1) {
infoObject.value.enableRules = 0; infoObject.value.enableNotifications = 0;
} else { } else {
infoObject.value.enableRules = 1; infoObject.value.enableNotifications = 1;
} }
}; };
// //
const devicePointData = ref([ const devicePointData = ref([
{ label: '站内信息', value: 1 }, { label: '站内信息', value: '1' },
{ label: '邮件', value: 2 }, { label: '邮件', value: '2' },
]); ]);
const rules = { const rules = {
notification: [{ required: true, message: '请选择通知方式', trigger: 'change' }], notificationMethod: [{ required: true, message: '请选择通知方式', trigger: 'change' }],
user: [{ required: true, message: '请选择通知人', trigger: 'change' }], user: [{ required: true, message: '请选择通知人', trigger: 'change' }],
}; };
const formRef = ref(); const formRef = ref();
const emit = defineEmits(['editObject']); const emit = defineEmits(['updNotification']);
const toggle = (value: any) => { const toggle = async (value: any) => {
// //
if (value) { if (value) {
// // //
infoObject.value = { await http
enableRules: 0, .post(notificationManagementApi.findById, {
}; id: value.id,
// await http })
// .post(group.queryDeviceGroupTree, { .then((res) => {
// pageNum: 1, infoObject.value = res.data;
// pageSize: 999, if (infoObject.value.notificationMethod) {
// energyType: selectedOptions[0].dicKey, infoObject.value.notificationMethod = infoObject.value.notificationMethod.split(',');
// orgId: orgId.value, } else {
// }) infoObject.value.notificationMethod = [];
// .then((res) => { }
// jdTreeData.value = res.data; dataSource.value = res.data.hxAlarmNotifyUserList;
// }); });
} else { } else {
infoObject.value = { infoObject.value = {
enableRules: 0, enableNotifications: 0,
notificationMethod: [],
}; };
dataSource.value = [];
} }
visible.value = !visible.value; visible.value = !visible.value;
}; };
@ -233,24 +221,36 @@
dataSource.value = [...dataSource.value]; dataSource.value = [...dataSource.value];
}; };
const btnClick = () => { const btnClick = () => {
console.log(infoObject.value); if (dataSource.value.length === 0) {
NsMessage.warn('请选择联系人');
return;
}
//
formRef.value.validate().then(() => {
// //
let obj = {}; let obj = {
obj.selectList = []; id: null,
notificationMethod: null,
hxAlarmNotifyUserList: [],
enableNotifications: 0,
};
obj.notificationMethod = infoObject.value.notificationMethod.toString();
obj.id = infoObject.value.id;
obj.enableNotifications = infoObject.value.enableNotifications;
dataSource.value.forEach((item) => { dataSource.value.forEach((item) => {
obj.selectList.push({ obj.hxAlarmNotifyUserList.push({
userId: item.userId, userId: item.userId,
contactInformationId: infoObject.value.id,
}); });
}); });
console.log(obj, '数据');
//
formRef.value.validate().then(() => {
// //
// http.post(deviceAlarms.addOrUpNewData, infoObject.value).then(() => { http.post(notificationManagementApi.upData, obj).then((res) => {
// NsMessage.success(''); if (res.msg === 'success') {
// visible.value = false; NsMessage.success('操作成功');
// emit('editObject', null); visible.value = false;
// }); emit('updNotification', null);
}
});
}); });
}; };
const handleClose = () => { const handleClose = () => {

22
hx-ai-intelligent/src/view/alarmManagement/alarmSettings/notificationManagement/linkPeople/config.ts

@ -1,22 +0,0 @@
import { department } from '/@/api/origanizemanage';
export const editTreeConfig = (orgId) => ({
selectedKeys: ['0-0'],
defaultExpandAll: true,
api: department.queryDeptTree,
params: { orgId },
resultField: 'data.orgInfos',
fieldNames: { title: 'orgName', key: 'orgId' },
formConfig: {
schemas: [
{
field: 'orgName',
component: 'NsInput',
autoSubmit: true,
componentProps: {
placeholder: '请输入企业名称',
},
},
],
},
});

55
hx-ai-intelligent/src/view/alarmManagement/alarmSettings/notificationManagement/linkPeople/index.vue

@ -8,9 +8,8 @@
@cancel="handleCancel"> @cancel="handleCancel">
<div class="box"> <div class="box">
<div class="box-left"> <div class="box-left">
<div style="width: 100%; display: flex; position: relative"> <div style="width: 100%; display: flex; position: relative" class="ns-title-extra-box">
<div class="border-card"></div> <span style="margin-left: 12px; color: #333333">联系人名单</span>
<span style="margin-left: 24px; color: #333333">联系人名单</span>
</div> </div>
<img <img
style="width: 100%; height: 2px" style="width: 100%; height: 2px"
@ -31,9 +30,8 @@
/></div> /></div>
</div> </div>
<div class="box-right"> <div class="box-right">
<div style="width: 100%; display: flex; position: relative"> <div style="width: 100%; display: flex; position: relative" class="ns-title-extra-box">
<div class="border-card"></div> <span style="margin-left: 12px; color: #333333">人员列表 </span>
<span style="margin-left: 24px; color: #333333">人员列表 </span>
<a-input-search <a-input-search
v-model:value="realName" v-model:value="realName"
style="margin-bottom: 8px; width: 280px; position: absolute; right: 20px" style="margin-bottom: 8px; width: 280px; position: absolute; right: 20px"
@ -191,6 +189,7 @@
orgId: selectOrgId.value, orgId: selectOrgId.value,
deptId: selectDeptId.value, deptId: selectDeptId.value,
realName: realName.value, realName: realName.value,
userStatus: 0,
}) })
.then((res) => { .then((res) => {
dataSource.value = res.data.records; dataSource.value = res.data.records;
@ -206,7 +205,25 @@
const onSelectChange = (selectedRowKeys: any, selectedRows: any) => { const onSelectChange = (selectedRowKeys: any, selectedRows: any) => {
selectedRowKey.value = selectedRowKeys; selectedRowKey.value = selectedRowKeys;
selectedRow.value = selectedRows; // 使 forEach selectedRows
let newSelectRows = [];
selectedRows.forEach((item, index) => {
if (item) {
newSelectRows.push(item);
}
});
// userId selectedRow.value
selectedRow.value = [
...selectedRow.value,
...newSelectRows.filter(
(newRow: any) =>
!selectedRow.value.some((existingRow) => existingRow.userId === newRow.userId),
),
];
// userId
selectedRow.value = selectedRow.value.filter((existingRow: any) =>
selectedRowKeys.includes(existingRow.userId),
);
}; };
const pagination = ref({ const pagination = ref({
total: 0, total: 0,
@ -252,6 +269,8 @@
pagination.value.current = 1; pagination.value.current = 1;
realName.value = null; realName.value = null;
searchValue.value = ''; searchValue.value = '';
selectDeptId.value = '';
selectOrgId.value = orgId.value;
}; };
const getData = (data: any) => { const getData = (data: any) => {
selectedRow.value = data.data; selectedRow.value = data.data;
@ -265,10 +284,13 @@
const show = ref(false); const show = ref(false);
const handleCancel = () => { const handleCancel = () => {
// //
pagination.value.current = 1;
realName.value = null;
emit('handleCancel', null); emit('handleCancel', null);
show.value = false; show.value = false;
pagination.value.current = 1;
realName.value = null;
searchValue.value = '';
selectDeptId.value = '';
selectOrgId.value = orgId.value;
}; };
watch(searchValue, (value) => { watch(searchValue, (value) => {
const expanded = dataList const expanded = dataList
@ -317,21 +339,6 @@
}); });
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
.border-card {
border-width: 0px;
position: absolute;
left: 0px;
top: 5px;
width: 5px;
height: 15px;
background: inherit;
background-color: @primary-color;
border: none;
border-radius: 5px;
-moz-box-shadow: none;
-webkit-box-shadow: none;
box-shadow: none;
}
.box { .box {
width: 100%; width: 100%;
height: 500px; height: 500px;

4
hx-ai-intelligent/src/view/alarmManagement/alarmSettings/ts/equipmentAlarmConfig.ts

@ -1,9 +1,7 @@
import data from '../notificationManagementMock.json';
import { http } from '/nerv-lib/util'; import { http } from '/nerv-lib/util';
import { NsMessage } from '/nerv-lib/component'; import { NsMessage } from '/nerv-lib/component';
import { deviceAlarms } from '/@/api/alarmSettings/deviceAlarms'; import { deviceAlarms } from '/@/api/alarmSettings/deviceAlarms';
import { ref } from 'vue';
const tableKeyMap = [ const tableKeyMap = [
{ {
title: '序号', title: '序号',
@ -37,7 +35,6 @@ const tableKeyMap = [
dataIndex: 'enableRules', dataIndex: 'enableRules',
}, },
]; ];
const mockData = ref(data.listData);
const doWnload = (url: any) => { const doWnload = (url: any) => {
const a = document.createElement('a'); const a = document.createElement('a');
document.body.appendChild(a); document.body.appendChild(a);
@ -57,7 +54,6 @@ export const equipmentAlarmTableConfig = (
return { return {
title: '告警规则', title: '告警规则',
api: deviceAlarms.getTableList, api: deviceAlarms.getTableList,
value: mockData.value,
headerActions: [ headerActions: [
{ {
label: '新增', label: '新增',

52
hx-ai-intelligent/src/view/alarmManagement/alarmSettings/ts/notificationManagementConfig.ts

@ -1,7 +1,8 @@
import { dateUtil } from '/nerv-lib/util/date-util'; import { dateUtil } from '/nerv-lib/util/date-util';
import data from '../notificationManagementMock.json';
import { http } from '/nerv-lib/util'; import { http } from '/nerv-lib/util';
import { notificationManagementApi } from '/@/api/alarmSettings/notificationManagements';
import { ref } from 'vue'; import { ref } from 'vue';
const tableKeyMap = [ const tableKeyMap = [
{ {
title: '序号', title: '序号',
@ -12,43 +13,41 @@ const tableKeyMap = [
}, },
{ {
title: '优先级', title: '优先级',
dataIndex: 'id', dataIndex: 'prioritys',
}, },
{ {
title: '告警类型', title: '告警类型',
dataIndex: 'deviceCode', dataIndex: 'alarmTypeName',
}, },
{ {
title: '告警标题', title: '告警标题',
dataIndex: 'deviceName', dataIndex: 'alarmTitle',
}, },
{ {
title: '错误码', title: '错误码',
dataIndex: 'position', dataIndex: 'errorCode',
}, },
{ {
title: '通知名单', title: '通知名单',
dataIndex: 'position', dataIndex: 'notificationList',
width: 150,
textEllipsis: true, textEllipsis: true,
}, },
{ {
title: '通知方式', title: '通知方式',
dataIndex: 'position', dataIndex: 'notificationMethod',
}, },
{ {
title: '启用通知', title: '启用通知',
dataIndex: 'enableRules', dataIndex: 'enableNotifications',
}, },
]; ];
const mockData = ref(data.listData);
export const notificationtableConfig = (notificationManagements: any) => { export const notificationtableConfig = (notificationManagements: any) => {
return { return {
title: '告警规则', title: '告警规则',
// api: '/carbon_emission/device/getDeviceList', api: notificationManagementApi.getTableList,
value: mockData.value, headerActions: [],
headerActions: [{}],
columns: tableKeyMap, columns: tableKeyMap,
// rowSelection: null, 选择按钮
columnActions: { columnActions: {
title: '操作', title: '操作',
actions: [ actions: [
@ -66,70 +65,75 @@ export const notificationtableConfig = (notificationManagements: any) => {
formConfig: { formConfig: {
schemas: [ schemas: [
{ {
field: 'name', field: 'alarmType',
label: '告警类型', label: '告警类型',
component: 'NsSelect', component: 'NsSelect',
componentProps: { componentProps: {
placeholder: '请选告警类型', placeholder: '请选告警类型',
allowClear: true,
options: [ options: [
{ {
label: '设备告警', label: '设备告警',
value: '1', value: 1,
}, },
{ {
label: '网关告警', label: '网关告警',
value: '2', value: 2,
}, },
{ {
label: '能耗告警', label: '能耗告警',
value: '3', value: 3,
}, },
], ],
}, },
}, },
{ {
field: 'provider', field: 'priority',
label: '告警优先级', label: '告警优先级',
component: 'NsSelect', component: 'NsSelect',
componentProps: { componentProps: {
placeholder: '请选择告警优先级', placeholder: '请选择告警优先级',
allowClear: true,
options: [ options: [
{ {
label: '紧急', label: '紧急',
value: '1', value: 1,
}, },
{ {
label: '重要', label: '重要',
value: '1', value: 2,
}, },
{ {
label: '一般', label: '一般',
value: '2', value: 3,
}, },
], ],
}, },
}, },
{ {
field: 'provider', field: 'alarmTitle',
label: '告警标题', label: '告警标题',
component: 'NsInput', component: 'NsInput',
componentProps: { componentProps: {
allowClear: true,
placeholder: '请输入告警标题关键字', placeholder: '请输入告警标题关键字',
}, },
}, },
{ {
field: 'provider', field: 'errorCode',
label: '错误码', label: '错误码',
component: 'NsInput', component: 'NsInput',
componentProps: { componentProps: {
allowClear: true,
placeholder: '请输入告警错误码', placeholder: '请输入告警错误码',
}, },
}, },
{ {
field: 'payWay', field: 'enableNotifications',
label: '启用状态', label: '启用状态',
component: 'NsSelect', component: 'NsSelect',
componentProps: { componentProps: {
allowClear: true,
placeholder: '请选择启用状态', placeholder: '请选择启用状态',
options: [ options: [
{ {

Loading…
Cancel
Save