Browse Source

fix: 还原工作组件 修改告警设置页面

deploy-dev
zhaohy 5 months ago
parent
commit
3abdde797b
  1. 1
      hx-ai-intelligent/src/view/alarmManagement/alarmSettings/equipmentAlarm/configureDeviceAlarms.vue
  2. 61
      hx-ai-intelligent/src/view/alarmManagement/alarmSettings/index.vue
  3. 204
      hx-ai-intelligent/src/view/alarmManagement/alarmSettings/ts/configureDeviceAlarms.ts
  4. 4
      hx-ai-intelligent/src/view/alarmManagement/alarmSettings/ts/equipmentAlarmConfig.ts
  5. 4
      hx-ai-intelligent/src/view/alarmManagement/alarmSettings/ts/notificationManagementConfig.ts
  6. 23
      lib/component/table/table.vue

1
hx-ai-intelligent/src/view/alarmManagement/alarmSettings/equipmentAlarm/configureDeviceAlarms.vue

@ -41,7 +41,6 @@
name: 'RoleTypeAdd', name: 'RoleTypeAdd',
type: 'primary', type: 'primary',
handle: () => { handle: () => {
console.log('新增xxxxxxx');
editConfigureDeviceAlarms.value.toggle(); editConfigureDeviceAlarms.value.toggle();
}, },
}, },

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

@ -2,10 +2,34 @@
<div class="box"> <div class="box">
<a-tabs default-active-key="1" @change="callback"> <a-tabs default-active-key="1" @change="callback">
<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 v-if="column.dataIndex === 'isUse'">
<a-switch
v-model:checked="record.isUse"
:class="{
'blue-background': record.isUse,
'grey-background': !record.isUse,
}"
@click="clickSwitch({ isUse: record.isUse, record: record })" />
</template>
</template>
</ns-view-list-table>
</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 v-show="equipmentAlarm" class="table" v-bind="equipmentAlarmConfig" /> <ns-view-list-table v-show="equipmentAlarm" class="table" v-bind="equipmentAlarmConfig">
<template #bodyCell="{ record, column }">
<template v-if="column.dataIndex === 'isUse'">
<a-switch
v-model:checked="record.isUse"
:class="{
'blue-background': record.isUse,
'grey-background': !record.isUse,
}"
@click="clickSwitch({ isUse: record.isUse, record: record })" />
</template>
</template>
</ns-view-list-table>
<a-button <a-button
v-if="!equipmentAlarm" v-if="!equipmentAlarm"
type="primary" type="primary"
@ -54,11 +78,10 @@
equipmentAlarm.value = !equipmentAlarm.value; equipmentAlarm.value = !equipmentAlarm.value;
configureDeviceAlarms.value.show = false; configureDeviceAlarms.value.show = false;
}; };
// const changeUse = () => { const clickSwitch = (data: any) => {
// console.log(mainRef.value); console.log(data, '数据');
// mainRef.value?.nsTableRef.reload(); mainRef.value?.nsTableRef.reload();
// // console.log(newList.value.formFinish, ''); };
// };
// //
const editObject = () => { const editObject = () => {
console.log('添加成功 刷新列表'); console.log('添加成功 刷新列表');
@ -70,6 +93,7 @@
notificationConfig, notificationConfig,
equipmentAlarmConfig, equipmentAlarmConfig,
editObject, editObject,
clickSwitch,
editEquipmentAlarm, editEquipmentAlarm,
configureDeviceAlarms, configureDeviceAlarms,
equipmentAlarm, equipmentAlarm,
@ -90,4 +114,27 @@
.full-height { .full-height {
height: 100%; /* 设置高度为父容器高度 */ height: 100%; /* 设置高度为父容器高度 */
} }
.blue-background.ant-switch-checked {
background-color: linear-gradient(
180deg,
rgba(1, 206, 255, 1) 0%,
rgba(0, 150, 229, 1) 100%
) !important;
}
.grey-background.ant-switch {
background-color: grey !important;
}
.blue-background.ant-switch-checked .ant-switch-handle {
background-color: linear-gradient(
180deg,
rgba(1, 206, 255, 1) 0%,
rgba(0, 150, 229, 1) 100%
) !important;
}
.grey-background.ant-switch .ant-switch-handle {
background-color: grey !important;
}
</style> </style>

204
hx-ai-intelligent/src/view/alarmManagement/alarmSettings/ts/configureDeviceAlarms.ts

@ -1,204 +0,0 @@
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',
};
};

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

@ -98,10 +98,6 @@ export const equipmentAlarmTableConfig = (
}, },
], ],
columns: tableKeyMap, columns: tableKeyMap,
params: {
page: 0,
pageSize: 10,
},
// rowSelection: null, 选择按钮 // rowSelection: null, 选择按钮
columnActions: { columnActions: {
title: '操作', title: '操作',

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

@ -48,10 +48,6 @@ export const notificationtableConfig = (el, elGroup, elFormula) => {
value: mockData.value, value: mockData.value,
headerActions: [{}], headerActions: [{}],
columns: tableKeyMap, columns: tableKeyMap,
params: {
page: 0,
pageSize: 10,
},
// rowSelection: null, 选择按钮 // rowSelection: null, 选择按钮
columnActions: { columnActions: {
title: '操作', title: '操作',

23
lib/component/table/table.vue

@ -747,27 +747,4 @@
word-break: break-word; word-break: break-word;
width: 100%; width: 100%;
} }
.blue-background.ant-switch-checked {
background-color: linear-gradient(
180deg,
rgba(1, 206, 255, 1) 0%,
rgba(0, 150, 229, 1) 100%
) !important;
}
.grey-background.ant-switch {
background-color: grey !important;
}
.blue-background.ant-switch-checked .ant-switch-handle {
background-color: linear-gradient(
180deg,
rgba(1, 206, 255, 1) 0%,
rgba(0, 150, 229, 1) 100%
) !important;
}
.grey-background.ant-switch .ant-switch-handle {
background-color: grey !important;
}
</style> </style>

Loading…
Cancel
Save