设备录入微调
This commit is contained in:
@@ -120,8 +120,69 @@ const handleNodeClick = (data: any, node: any, event: any) => {
|
|||||||
// 存储所有勾选的节点
|
// 存储所有勾选的节点
|
||||||
const checkedNodes = ref<any[]>([])
|
const checkedNodes = ref<any[]>([])
|
||||||
const defaultCheckedKeys = ref<string[]>([])
|
const defaultCheckedKeys = ref<string[]>([])
|
||||||
|
|
||||||
// 处理节点勾选变化
|
// 处理节点勾选变化
|
||||||
const handleCheckChange = (data: any, checkInfo: any) => {
|
const handleCheckChange = (data: any, checkInfo: any) => {
|
||||||
|
const { checkedNodes: nodes } = checkInfo
|
||||||
|
// 过滤出监测点层级(level=3)的节点
|
||||||
|
const monitoringPointNodes = nodes.filter((node: any) => {
|
||||||
|
return node.level === 3
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
// 限制最多只能勾选5个监测点
|
||||||
|
if (monitoringPointNodes.length > 5) {
|
||||||
|
// 获取之前选中的节点
|
||||||
|
const previousCheckedNodes = checkedNodes.value || []
|
||||||
|
|
||||||
|
// 计算新增的节点
|
||||||
|
const newNodes = monitoringPointNodes.filter(
|
||||||
|
(node: any) => !previousCheckedNodes.some((prev: any) => prev.id === node.id)
|
||||||
|
)
|
||||||
|
|
||||||
|
// 如果是从父级勾选导致超过限制,保留前几个直到达到限制数量
|
||||||
|
if (newNodes.length > 0) {
|
||||||
|
const allowedNewCount = 5 - previousCheckedNodes.length
|
||||||
|
if (allowedNewCount > 0) {
|
||||||
|
// 允许添加allowedNewCount个新节点
|
||||||
|
const allowedNewNodes = newNodes.slice(0, allowedNewCount)
|
||||||
|
const finalNodes = [...previousCheckedNodes, ...allowedNewNodes]
|
||||||
|
|
||||||
|
checkedNodes.value = finalNodes
|
||||||
|
|
||||||
|
// 设置树的勾选状态为正确的节点
|
||||||
|
treeRef.value?.setCheckedNodes(finalNodes)
|
||||||
|
|
||||||
|
// 将勾选的监测点节点暴露出去
|
||||||
|
emit('checkedNodesChange', finalNodes)
|
||||||
|
|
||||||
|
// 更新节点的可勾选状态
|
||||||
|
updateNodeCheckStatus(finalNodes.length)
|
||||||
|
|
||||||
|
// 只有在真正超过5个时才提示警告
|
||||||
|
if (monitoringPointNodes.length > 5) {
|
||||||
|
ElMessage.warning('最多只能选择5个监测点')
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 其他情况回滚到之前的状态
|
||||||
|
ElMessage.warning('最多只能选择5个监测点')
|
||||||
|
treeRef.value?.setCheckedNodes(checkedNodes.value)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
checkedNodes.value = monitoringPointNodes
|
||||||
|
|
||||||
|
// 将勾选的监测点节点暴露出去
|
||||||
|
emit('checkedNodesChange', monitoringPointNodes)
|
||||||
|
|
||||||
|
// 更新节点的可勾选状态
|
||||||
|
updateNodeCheckStatus(monitoringPointNodes.length)
|
||||||
|
}
|
||||||
|
// 处理节点勾选变化
|
||||||
|
const handleCheckChange2 = (data: any, checkInfo: any) => {
|
||||||
const { checkedNodes: nodes } = checkInfo
|
const { checkedNodes: nodes } = checkInfo
|
||||||
// 过滤出监测点层级(level=3)的节点
|
// 过滤出监测点层级(level=3)的节点
|
||||||
const monitoringPointNodes = nodes.filter((node: any) => {
|
const monitoringPointNodes = nodes.filter((node: any) => {
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ const calculateValue = (o: number, value: number, num: number, isMin: boolean) =
|
|||||||
} else if (value > -1 && value < 0 && isMin == false) {
|
} else if (value > -1 && value < 0 && isMin == false) {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
console.log('🚀 ~ calculateValue ~ Math.abs(o):', Math.abs(o))
|
|
||||||
|
|
||||||
let base
|
let base
|
||||||
if (Math.abs(o) >= 100) {
|
if (Math.abs(o) >= 100) {
|
||||||
|
|||||||
@@ -1068,7 +1068,7 @@ const add = () => {
|
|||||||
nodeId: '',
|
nodeId: '',
|
||||||
cntractNo: '',
|
cntractNo: '',
|
||||||
sort: 0,
|
sort: 0,
|
||||||
nodeProcess: '自动分配',
|
nodeProcess: '',
|
||||||
})
|
})
|
||||||
busBarIndex.value = (deviceInfoList.value.length - 1).toString()
|
busBarIndex.value = (deviceInfoList.value.length - 1).toString()
|
||||||
// 清理监测点数据
|
// 清理监测点数据
|
||||||
@@ -1325,7 +1325,7 @@ const remove = () => {
|
|||||||
message: res.message
|
message: res.message
|
||||||
})
|
})
|
||||||
reaseStatus()
|
reaseStatus()
|
||||||
console.log('engineeringId',engineeringId)
|
|
||||||
if (engineeringId) {
|
if (engineeringId) {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
treedata(engineeringId)
|
treedata(engineeringId)
|
||||||
@@ -1359,7 +1359,7 @@ const remove = () => {
|
|||||||
case 4: // 监测点层级
|
case 4: // 监测点层级
|
||||||
|
|
||||||
const deviceId = nodeData.value.pids ? nodeData.value.pids.split(',')[3] : null
|
const deviceId = nodeData.value.pids ? nodeData.value.pids.split(',')[3] : null
|
||||||
console.log(deviceId)
|
|
||||||
deleteLine(nodeData.value.id).then((res: any) => {
|
deleteLine(nodeData.value.id).then((res: any) => {
|
||||||
ElMessage({
|
ElMessage({
|
||||||
type: 'success',
|
type: 'success',
|
||||||
@@ -1421,7 +1421,7 @@ const next = async () => {
|
|||||||
nodeId: '',
|
nodeId: '',
|
||||||
cntractNo: '',
|
cntractNo: '',
|
||||||
sort: 0,
|
sort: 0,
|
||||||
nodeProcess: '自动分配',
|
nodeProcess: '',
|
||||||
})
|
})
|
||||||
busBarIndex.value = (deviceInfoList.value.length - 1).toString()
|
busBarIndex.value = (deviceInfoList.value.length - 1).toString()
|
||||||
nextfalg.value = false
|
nextfalg.value = false
|
||||||
@@ -1771,9 +1771,8 @@ const submitAllLevelData = () => {
|
|||||||
pageStatus.value = 1
|
pageStatus.value = 1
|
||||||
// 清空所有表单
|
// 清空所有表单
|
||||||
resetAllForms()
|
resetAllForms()
|
||||||
|
|
||||||
// 刷新树并选中合适的节点
|
// 刷新树并选中合适的节点
|
||||||
TerminalRef.value.info().then(() => {
|
TerminalRef.value.info()
|
||||||
// 等待树更新完成后,根据之前点击的节点层级选中合适的节点
|
// 等待树更新完成后,根据之前点击的节点层级选中合适的节点
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
let nodeIdToSelect: string|null|undefined = null;
|
let nodeIdToSelect: string|null|undefined = null;
|
||||||
@@ -1796,6 +1795,7 @@ const submitAllLevelData = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (nodeIdToSelect) {
|
if (nodeIdToSelect) {
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
treedata(nodeIdToSelect !== null ? nodeIdToSelect : undefined);
|
treedata(nodeIdToSelect !== null ? nodeIdToSelect : undefined);
|
||||||
// 重新加载节点内容以显示最新数据
|
// 重新加载节点内容以显示最新数据
|
||||||
@@ -1808,7 +1808,7 @@ const submitAllLevelData = () => {
|
|||||||
treedata(); // 选中根节点
|
treedata(); // 选中根节点
|
||||||
}
|
}
|
||||||
}, 100);
|
}, 100);
|
||||||
})
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@@ -2120,7 +2120,7 @@ const handleBusBarTabsEdit = (targetName: any, action: any) => {
|
|||||||
nodeId: '',
|
nodeId: '',
|
||||||
cntractNo: '',
|
cntractNo: '',
|
||||||
sort: 0,
|
sort: 0,
|
||||||
nodeProcess: '自动分配',
|
nodeProcess: '',
|
||||||
})
|
})
|
||||||
busBarIndex.value = (deviceInfoList.value.length - 1).toString()
|
busBarIndex.value = (deviceInfoList.value.length - 1).toString()
|
||||||
} else if (action === 'remove') {
|
} else if (action === 'remove') {
|
||||||
@@ -2240,6 +2240,7 @@ const tabChange = (type: string) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const treedata = (selectedNodeId?: string) => {
|
const treedata = (selectedNodeId?: string) => {
|
||||||
|
|
||||||
if (selectedNodeId) {
|
if (selectedNodeId) {
|
||||||
TerminalRef.value.info(selectedNodeId);
|
TerminalRef.value.info(selectedNodeId);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user