fix:修改配置设备告警字段

This commit is contained in:
zhaohy
2024-07-19 14:13:01 +08:00
parent 2f1a54a114
commit ecdcd900d3
8 changed files with 696 additions and 16 deletions

View File

@@ -204,7 +204,7 @@
title: value.errorCode,
schemas: [
{
field: 'deviceName',
field: 'deviceId',
label: '设备名称',
component: 'nsSelectApi',
componentProps: {
@@ -231,7 +231,7 @@
label: '设备点位',
component: 'nsSelectApi',
dynamicParams: {
id: 'deviceName', //帮定上级联动数据
id: 'deviceId', //帮定上级联动数据
},
componentProps: {
api: device.queryDevicePoint,
@@ -240,7 +240,7 @@
placeholder: '请选择设备点位',
labelField: 'code',
valueField: 'id',
dependency: 'deviceName',
dependency: 'deviceId',
showSearch: true,
filterOption: (input: string, option: any) => {
return option.code.toLowerCase().indexOf(input.toLowerCase()) >= 0;

View File

@@ -40,9 +40,9 @@
@change="selectDeviceType"
placeholder="请选择设备类型" />
</a-form-item>
<a-form-item label="设备名称" name="deviceName">
<a-form-item label="设备名称" name="deviceId">
<a-select
v-model:value="infoObject.deviceName"
v-model:value="infoObject.deviceId"
:disabled="!(infoObject && infoObject.deviceType && infoObject.deviceType.length > 0)"
style="width: 100%"
:autoClearSearchValue="true"
@@ -61,7 +61,7 @@
show-search
placeholder="请选择设备点位"
style="width: 100%"
:disabled="!infoObject?.deviceName"
:disabled="!infoObject?.deviceId"
:options="devicePointData"
:filter-option="filterDevicePoint" />
</a-form-item>
@@ -167,7 +167,7 @@
deviceType: [],
devicePoint: null,
valueType: null,
deviceName: null,
deviceId: null,
enableRules: 0,
alarmList: [{ logic: null, num: null, isDelete: 0 }],
});
@@ -197,7 +197,7 @@
};
//选择设备方法
const selectDevice = () => {
getDevicePoint({ id: infoObject.value.deviceName });
getDevicePoint({ id: infoObject.value.deviceId });
};
//获取设备列表
const getDevicePage = (value: any) => {
@@ -258,16 +258,21 @@
const emit = defineEmits(['editObject']);
// 定义一个递归函数来查找每一级的id 设备类型回显 层级方法
function findParentIds(tree: any, targetId: number, result: any) {
function findParentIds(tree: any[], targetId: number, result: number[]): boolean {
for (let item of tree) {
if (item.children && item.children.length > 0) {
if (item.children.some((child: any) => child.id === targetId)) {
result.unshift(item.id); // 将当前节点的id添加到结果数组的最前面
findParentIds(tree, item.id, result); // 递归查找父级节点的id
break; // 找到后可以退出循环
return true; // 表示找到了目标节点的父节点
}
// 递归查找当前节点的子节点
if (findParentIds(item.children, targetId, result)) {
result.unshift(item.id); // 递归返回后将当前节点的id添加到结果数组的最前面
return true;
}
}
}
return false; // 没有找到目标节点
}
// 递归 获取当前 选择的设备类型 对象 用来获取设备列表
const findNodeById = (nodes: any, id: any) => {
@@ -305,7 +310,6 @@
siteDataTree.value = res.data.linkList;
}
});
//判断 是新增 还是修改
if (value) {
//获取详情接口
@@ -316,9 +320,13 @@
let selectDevice = ref([Number(infoObject.value.deviceType)]);
findNodeById(deviceTypeTreeData.value, Number(infoObject.value.deviceType));
//获取设备点位
getDevicePoint({ id: infoObject.value.deviceName });
getDevicePoint({ id: infoObject.value.deviceId });
// 回显 选择设备类型
findParentIds(deviceTypeTreeData.value, infoObject.value.deviceType, selectDevice.value);
findParentIds(
deviceTypeTreeData.value,
Number(infoObject.value.deviceType),
selectDevice.value,
);
//枚举 需要重新赋值
if (
infoObject.value.hxAlarmRuleLogicList &&
@@ -344,7 +352,7 @@
deviceType: [],
devicePoint: null,
valueType: null,
deviceName: null,
deviceId: null,
enableRules: 0,
alarmList: [{ logic: null, num: null, isDelete: 0 }],
};
@@ -357,7 +365,7 @@
site: [{ required: true, message: '请选择站点', trigger: 'change' }],
deviceType: [{ required: true, message: '请选择设备类型', trigger: 'change' }],
enableRules: [{ required: true, message: '请选择启用规则', trigger: 'change' }],
deviceName: [{ required: true, message: '请选择设备名称', trigger: 'change' }],
deviceId: [{ required: true, message: '请选择设备名称', trigger: 'change' }],
devicePoint: [{ required: true, message: '请选择设备点位', trigger: 'change' }],
valueType: [{ required: true, message: '请选择取值类型', trigger: 'change' }],
ruleType: [{ required: true, message: '请选择规则类型', trigger: 'change' }],