fix:设备告警 网关告警
This commit is contained in:
@@ -26,7 +26,6 @@
|
||||
import editConfigureEnergyAlarm from './editConfigureEnergyAlarm.vue';
|
||||
import { energyAlarms } from '/@/api/alarmManagement/alarmSettings/energyAlarm';
|
||||
import { ExclamationCircleOutlined } from '@ant-design/icons-vue';
|
||||
import { device } from '/@/api/deviceManage';
|
||||
import { dict } from '/@/api';
|
||||
|
||||
export default {
|
||||
@@ -229,29 +228,6 @@
|
||||
formConfig: {
|
||||
title: value.errorCode,
|
||||
schemas: [
|
||||
// {
|
||||
// field: 'deviceNode',
|
||||
// label: '设备名称',
|
||||
// component: 'nsSelectApi',
|
||||
// componentProps: {
|
||||
// api: device.queryDevicePage,
|
||||
// allowClear: true,
|
||||
// params: {
|
||||
// orgId: orgId.value,
|
||||
// pageNum: 1,
|
||||
// pageSize: 99,
|
||||
// },
|
||||
// placeholder: '请选择设备名称',
|
||||
// resultField: 'data.records',
|
||||
// labelField: 'deviceName',
|
||||
// valueField: 'id',
|
||||
// showSearch: true,
|
||||
// filterOption: (input: string, option: any) => {
|
||||
// return option.deviceName.toLowerCase().indexOf(input.toLowerCase()) >= 0;
|
||||
// },
|
||||
// // autoAddLink: true, //默认添加联动
|
||||
// },
|
||||
// },
|
||||
{
|
||||
field: 'deviceName',
|
||||
label: '设备信息/节点信息',
|
||||
|
@@ -42,6 +42,7 @@
|
||||
const orgId = ref('');
|
||||
const result = JSON.parse(sessionStorage.getItem('ORGID')!);
|
||||
orgId.value = result;
|
||||
// 改变状态
|
||||
const clickSwitch = (data: any) => {
|
||||
NsModal.confirm({
|
||||
title: '启用状态',
|
||||
|
@@ -213,6 +213,7 @@
|
||||
http.post(device.queryDevicePoint, value).then((res) => {
|
||||
if (res.msg === 'success') {
|
||||
res.data.forEach((item: any) => {
|
||||
//显示格式
|
||||
devicePointData.value.push({
|
||||
value: item.id,
|
||||
label: item.code + ' ( ' + item.unit + ' ) ',
|
||||
@@ -336,10 +337,13 @@
|
||||
item.logic = item.logic.value;
|
||||
});
|
||||
}
|
||||
infoObject.value.valueType = infoObject.value.valueType.value;
|
||||
infoObject.value.alarmList = infoObject.value.hxAlarmRuleLogicList || [];
|
||||
delete infoObject.value.hxAlarmRuleLogicList;
|
||||
// 回显 格式化
|
||||
infoObject.value.deviceType = selectDevice;
|
||||
infoObject.value.valueType = infoObject.value.valueType.value;
|
||||
|
||||
//数据类型转换
|
||||
infoObject.value.ruleType = infoObject.value.ruleType + '';
|
||||
}
|
||||
});
|
||||
@@ -450,6 +454,8 @@
|
||||
abnormalDescription: null,
|
||||
deviceType: [],
|
||||
devicePoint: null,
|
||||
valueType: null,
|
||||
deviceId: null,
|
||||
enableRules: 0,
|
||||
alarmList: [{ logic: null, num: null, isDelete: 0 }],
|
||||
};
|
||||
@@ -470,6 +476,7 @@
|
||||
// 确保 index 在有效范围内
|
||||
if (index < infoObject.value.alarmList.length && index >= 0) {
|
||||
const alarmItemToDelete = infoObject.value.alarmList[index];
|
||||
// 判断删除的 是否在数据库中
|
||||
if (alarmItemToDelete?.id) {
|
||||
// 添加到 delAlarmList 中,并标记为已删除
|
||||
delAlarmList.value.push({ ...alarmItemToDelete, isDelete: 1 });
|
||||
|
@@ -133,7 +133,7 @@
|
||||
pageSize: 10,
|
||||
showQuickJumper: true,
|
||||
showLessItems: true,
|
||||
// showSizeChanger: true,
|
||||
// showSizeChanger: true, //分页改变大小
|
||||
showTotal: (total: number, range: any) =>
|
||||
total && range ? `显示第${range[0]}到${range[1]}条记录,共 ${total} 条记录` : '',
|
||||
onChange: handleChangePage,
|
||||
@@ -145,6 +145,7 @@
|
||||
dataSource.value.forEach((item) => {
|
||||
ids.push(item.userId);
|
||||
});
|
||||
// 传到子页面
|
||||
linkPeoples.value.getData({ id: ids, data: dataSource.value });
|
||||
};
|
||||
//取消弹窗
|
||||
@@ -194,14 +195,17 @@
|
||||
})
|
||||
.then((res) => {
|
||||
infoObject.value = res.data;
|
||||
//处理通知方式
|
||||
if (infoObject.value.notificationMethod) {
|
||||
infoObject.value.notificationMethod = infoObject.value.notificationMethod.split(',');
|
||||
} else {
|
||||
infoObject.value.notificationMethod = [];
|
||||
}
|
||||
//处理通知人
|
||||
dataSource.value = res.data.hxAlarmNotifyUserList;
|
||||
});
|
||||
} else {
|
||||
dataSource.value = [];
|
||||
infoObject.value = {
|
||||
enableNotifications: 0,
|
||||
notificationMethod: [],
|
||||
@@ -236,6 +240,7 @@
|
||||
obj.notificationMethod = infoObject.value.notificationMethod.toString();
|
||||
obj.id = infoObject.value.id;
|
||||
obj.enableNotifications = infoObject.value.enableNotifications;
|
||||
//处理 选择人数据
|
||||
dataSource.value.forEach((item) => {
|
||||
obj.hxAlarmNotifyUserList.push({
|
||||
userId: item.userId,
|
||||
@@ -247,6 +252,7 @@
|
||||
if (res.msg === 'success') {
|
||||
NsMessage.success('操作成功');
|
||||
visible.value = false;
|
||||
dataSource.value = [];
|
||||
emit('updNotification', null);
|
||||
}
|
||||
});
|
||||
@@ -257,6 +263,7 @@
|
||||
formRef.value.resetFields();
|
||||
visible.value = false;
|
||||
visibleModel.value = false;
|
||||
dataSource.value = [];
|
||||
};
|
||||
defineExpose({
|
||||
toggle,
|
||||
|
@@ -69,15 +69,14 @@
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { ref, watch, computed } from 'vue';
|
||||
import { ref, watch } from 'vue';
|
||||
import { defineComponent } from 'vue';
|
||||
import type { TreeProps } from 'ant-design-vue';
|
||||
import { origanizemanage } from '/@/api/origanizemanage';
|
||||
import { department } from '/@/api/origanizemanage';
|
||||
|
||||
import { http } from '/nerv-lib/util';
|
||||
// import { editTreeConfig } from './config';
|
||||
//搜索存储
|
||||
|
||||
//搜索存储 拼凑树的搜索类型
|
||||
const dataList: TreeProps['treeData'] = [];
|
||||
const generateList = (data: TreeProps['treeData']) => {
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
@@ -126,16 +125,20 @@
|
||||
const deptTreeData = ref([]);
|
||||
//选择 组织
|
||||
const selectOrgId = ref('');
|
||||
//默认当前缓存的组织
|
||||
selectOrgId.value = result;
|
||||
//选择部门
|
||||
const selectDeptId = ref('');
|
||||
|
||||
const show = ref(false);
|
||||
//人员搜索
|
||||
const onSearch = () => {
|
||||
pagination.value.current = 1;
|
||||
getList();
|
||||
};
|
||||
//点击树 搜索人员
|
||||
const onSelect = (selectedKeys: any, info: any) => {
|
||||
selectedKeys.value = selectedKeys;
|
||||
//判断选择的部门 还是 组织
|
||||
if (info.node.dataRef.deptInfo) {
|
||||
selectDeptId.value = info.node.dataRef.deptInfo.deptId;
|
||||
selectOrgId.value = info.node.dataRef.deptInfo.orgId;
|
||||
@@ -189,7 +192,7 @@
|
||||
orgId: selectOrgId.value,
|
||||
deptId: selectDeptId.value,
|
||||
realName: realName.value,
|
||||
userStatus: 0,
|
||||
userStatus: 0, // 写死 没有被冻结的用户
|
||||
})
|
||||
.then((res) => {
|
||||
dataSource.value = res.data.records;
|
||||
@@ -197,12 +200,24 @@
|
||||
loading.value = false;
|
||||
});
|
||||
};
|
||||
// 改变页码
|
||||
const handleChangePage = (current: number, pageSize: number) => {
|
||||
pagination.value.current = current;
|
||||
pagination.value.pageSize = pageSize;
|
||||
getList();
|
||||
};
|
||||
|
||||
const pagination = ref({
|
||||
total: 0,
|
||||
size: 'small',
|
||||
current: 1,
|
||||
pageSize: 10,
|
||||
showQuickJumper: true,
|
||||
showLessItems: true,
|
||||
// showSizeChanger: true,
|
||||
showTotal: (total: number, range: any) =>
|
||||
total && range ? `显示第${range[0]}到${range[1]}条记录,共 ${total} 条记录` : '',
|
||||
onChange: handleChangePage,
|
||||
});
|
||||
const onSelectChange = (selectedRowKeys: any, selectedRows: any) => {
|
||||
selectedRowKey.value = selectedRowKeys;
|
||||
// 使用 forEach 循环遍历 selectedRows 数组
|
||||
@@ -225,18 +240,6 @@
|
||||
selectedRowKeys.includes(existingRow.userId),
|
||||
);
|
||||
};
|
||||
const pagination = ref({
|
||||
total: 0,
|
||||
size: 'small',
|
||||
current: 1,
|
||||
pageSize: 10,
|
||||
showQuickJumper: true,
|
||||
showLessItems: true,
|
||||
// showSizeChanger: true,
|
||||
showTotal: (total: number, range: any) =>
|
||||
total && range ? `显示第${range[0]}到${range[1]}条记录,共 ${total} 条记录` : '',
|
||||
onChange: handleChangePage,
|
||||
});
|
||||
const columns = [
|
||||
{
|
||||
title: '序号',
|
||||
@@ -262,15 +265,21 @@
|
||||
dataIndex: 'address',
|
||||
},
|
||||
];
|
||||
const handleOk = () => {
|
||||
// 处理确定按钮的逻辑
|
||||
emit('handleOk', { id: selectedRowKey.value, data: selectedRow.value });
|
||||
const reback = () => {
|
||||
show.value = false;
|
||||
pagination.value.current = 1;
|
||||
realName.value = null;
|
||||
searchValue.value = '';
|
||||
selectDeptId.value = '';
|
||||
selectOrgId.value = orgId.value;
|
||||
selectedRow.value = [];
|
||||
selectedRowKey.value = [];
|
||||
};
|
||||
const handleOk = () => {
|
||||
// 处理确定按钮的逻辑
|
||||
emit('handleOk', { id: selectedRowKey.value, data: selectedRow.value });
|
||||
//恢复数据
|
||||
reback();
|
||||
};
|
||||
const getData = (data: any) => {
|
||||
selectedRow.value = data.data;
|
||||
@@ -281,17 +290,12 @@
|
||||
//获取树
|
||||
getTreeData();
|
||||
};
|
||||
const show = ref(false);
|
||||
const handleCancel = () => {
|
||||
// 处理取消按钮的逻辑
|
||||
emit('handleCancel', null);
|
||||
show.value = false;
|
||||
pagination.value.current = 1;
|
||||
realName.value = null;
|
||||
searchValue.value = '';
|
||||
selectDeptId.value = '';
|
||||
selectOrgId.value = orgId.value;
|
||||
reback();
|
||||
};
|
||||
// 监听树的搜索
|
||||
watch(searchValue, (value) => {
|
||||
const expanded = dataList
|
||||
.map((item: TreeProps['treeData'][number]) => {
|
||||
@@ -324,6 +328,7 @@
|
||||
onSelectChange,
|
||||
pagination,
|
||||
handleOk,
|
||||
reback,
|
||||
show,
|
||||
getData,
|
||||
getTreeData,
|
||||
|
Reference in New Issue
Block a user