设备录入微调
This commit is contained in:
@@ -120,8 +120,69 @@ const handleNodeClick = (data: any, node: any, event: any) => {
|
||||
// 存储所有勾选的节点
|
||||
const checkedNodes = ref<any[]>([])
|
||||
const defaultCheckedKeys = ref<string[]>([])
|
||||
|
||||
// 处理节点勾选变化
|
||||
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
|
||||
// 过滤出监测点层级(level=3)的节点
|
||||
const monitoringPointNodes = nodes.filter((node: any) => {
|
||||
|
||||
@@ -14,8 +14,7 @@ const calculateValue = (o: number, value: number, num: number, isMin: boolean) =
|
||||
} else if (value > -1 && value < 0 && isMin == false) {
|
||||
return 0
|
||||
}
|
||||
console.log('🚀 ~ calculateValue ~ Math.abs(o):', Math.abs(o))
|
||||
|
||||
|
||||
let base
|
||||
if (Math.abs(o) >= 100) {
|
||||
base = 100
|
||||
|
||||
@@ -1068,7 +1068,7 @@ const add = () => {
|
||||
nodeId: '',
|
||||
cntractNo: '',
|
||||
sort: 0,
|
||||
nodeProcess: '自动分配',
|
||||
nodeProcess: '',
|
||||
})
|
||||
busBarIndex.value = (deviceInfoList.value.length - 1).toString()
|
||||
// 清理监测点数据
|
||||
@@ -1325,7 +1325,7 @@ const remove = () => {
|
||||
message: res.message
|
||||
})
|
||||
reaseStatus()
|
||||
console.log('engineeringId',engineeringId)
|
||||
|
||||
if (engineeringId) {
|
||||
setTimeout(() => {
|
||||
treedata(engineeringId)
|
||||
@@ -1359,7 +1359,7 @@ const remove = () => {
|
||||
case 4: // 监测点层级
|
||||
|
||||
const deviceId = nodeData.value.pids ? nodeData.value.pids.split(',')[3] : null
|
||||
console.log(deviceId)
|
||||
|
||||
deleteLine(nodeData.value.id).then((res: any) => {
|
||||
ElMessage({
|
||||
type: 'success',
|
||||
@@ -1421,7 +1421,7 @@ const next = async () => {
|
||||
nodeId: '',
|
||||
cntractNo: '',
|
||||
sort: 0,
|
||||
nodeProcess: '自动分配',
|
||||
nodeProcess: '',
|
||||
})
|
||||
busBarIndex.value = (deviceInfoList.value.length - 1).toString()
|
||||
nextfalg.value = false
|
||||
@@ -1771,9 +1771,8 @@ const submitAllLevelData = () => {
|
||||
pageStatus.value = 1
|
||||
// 清空所有表单
|
||||
resetAllForms()
|
||||
|
||||
// 刷新树并选中合适的节点
|
||||
TerminalRef.value.info().then(() => {
|
||||
TerminalRef.value.info()
|
||||
// 等待树更新完成后,根据之前点击的节点层级选中合适的节点
|
||||
setTimeout(() => {
|
||||
let nodeIdToSelect: string|null|undefined = null;
|
||||
@@ -1794,8 +1793,9 @@ const submitAllLevelData = () => {
|
||||
nodeIdToSelect = nodeData.value.id; // 设备节点
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
if (nodeIdToSelect) {
|
||||
|
||||
setTimeout(() => {
|
||||
treedata(nodeIdToSelect !== null ? nodeIdToSelect : undefined);
|
||||
// 重新加载节点内容以显示最新数据
|
||||
@@ -1808,7 +1808,7 @@ const submitAllLevelData = () => {
|
||||
treedata(); // 选中根节点
|
||||
}
|
||||
}, 100);
|
||||
})
|
||||
|
||||
})
|
||||
}
|
||||
/**
|
||||
@@ -2120,7 +2120,7 @@ const handleBusBarTabsEdit = (targetName: any, action: any) => {
|
||||
nodeId: '',
|
||||
cntractNo: '',
|
||||
sort: 0,
|
||||
nodeProcess: '自动分配',
|
||||
nodeProcess: '',
|
||||
})
|
||||
busBarIndex.value = (deviceInfoList.value.length - 1).toString()
|
||||
} else if (action === 'remove') {
|
||||
@@ -2240,6 +2240,7 @@ const tabChange = (type: string) => {
|
||||
}
|
||||
|
||||
const treedata = (selectedNodeId?: string) => {
|
||||
|
||||
if (selectedNodeId) {
|
||||
TerminalRef.value.info(selectedNodeId);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user