补召日志

This commit is contained in:
sjl
2025-10-22 15:32:18 +08:00
parent f0adfe65a5
commit e97aa2cd0e
5 changed files with 126 additions and 84 deletions

View File

@@ -6,7 +6,7 @@
style="position: relative"
>
<!-- @init="nodeClick" -->
<PointTree @node-click="nodeClick" @pointTypeChange="pointTypeChange" @checkChange="handleCheckedNodesChange"></PointTree>
<PointTree @node-click="nodeClick" @checkChange="handleCheckedNodesChange"></PointTree>
<div class="device-control-right" >
<el-tabs type="border-card" class="mb10" @tab-click="handleClick" v-model="activeTab">
<el-tab-pane label="稳态补召" name="deviceInfo1">
@@ -39,6 +39,7 @@ const eventRef = ref()
const loading = ref(false)
const activeTab = ref('deviceInfo1')
const checkedNodes = ref<any[]>([]) // 存储左侧树勾选的节点
const currentNode = ref<any>(null) // 存储当前点击的树节点
defineOptions({
name: 'govern/monitorRecall/index'
@@ -46,55 +47,41 @@ defineOptions({
// 处理子组件传递的勾选节点变化
const handleCheckedNodesChange = (nodes: any[]) => {
checkedNodes.value = nodes
// 将勾选的节点传递给当前激活的tab组件
if (activeTab.value === 'deviceInfo1' && steadyRef.value) {
// 如果steadyRecall组件有接收勾选节点的方法可以调用
if (steadyRef.value.setCheckedNodes) {
steadyRef.value.setCheckedNodes(nodes)
}
} else if (activeTab.value === 'deviceInfo2' && eventRef.value) {
// 如果eventRecall组件有接收勾选节点的方法可以调用
if (eventRef.value.setCheckedNodes) {
eventRef.value.setCheckedNodes(nodes)
}
}
checkedNodes.value = nodes
}
// tab切换时的处理
const handleClick = (tab: any) => {
activeTab.value = tab.props.name
// tab切换时刷新对应组件的数据
nextTick(() => {
if (tab.props.name === 'deviceInfo1' && steadyRef.value) {
// 刷新稳态补召数据
if (steadyRef.value.refreshData) {
steadyRef.value.refreshData(checkedNodes.value)
} else if (steadyRef.value.getTableParams) {
// 如果有getTableParams方法调用它
steadyRef.value.getTableParams({ nodes: checkedNodes.value })
}
} else if (tab.props.name === 'deviceInfo2' && eventRef.value) {
// 刷新暂态补召数据
if (eventRef.value.refreshData) {
eventRef.value.refreshData(checkedNodes.value)
} else if (eventRef.value.getTableParams) {
// 如果有getTableParams方法调用它
eventRef.value.getTableParams({ nodes: checkedNodes.value })
}
// tab切换后触发查询
triggerEventRecallQuery()
}
})
}
const nodeClick = (node: any) => {
currentNode.value = node
// 只有在暂态补召页面时才触发查询
if (activeTab.value === 'deviceInfo2') {
triggerEventRecallQuery()
}
}
const pointTypeChange = (type: any, node: any) => {
// 触发暂态补召查询
const triggerEventRecallQuery = () => {
nextTick(() => {
if (activeTab.value === 'deviceInfo2' && eventRef.value) {
// 将当前点击的节点传递给暂态补召组件
if (eventRef.value.handleTreeNodeClick) {
eventRef.value.handleTreeNodeClick(currentNode.value)
}
}
})
}
</script>