feat(steady): 实现台账指标树默认选中及图标展示功能

- 添加findFirstSelectableLedgerNode和findFirstLeafIndicator工具函数
- 实现台账树首次加载后默认选中第一个可查询监测点
- 实现指标树首次加载后默认选中第一个叶子指标
- 添加台账层级图标展示及样式配置
- 集成defaultCheckedKeys属性到台账和指标树组件
- 更新趋势查询参数移除bucket字段
- 修复数据质量标识默认值设置问题
This commit is contained in:
2026-05-18 16:30:02 +08:00
parent f9ed6c6245
commit 6755476969
11 changed files with 203 additions and 34 deletions

View File

@@ -38,6 +38,39 @@ export const collectLeafIndicators = (nodes: SteadyDataView.SteadyIndicatorNode[
return indicators
}
export const findFirstSelectableLedgerNode = (
nodes: SteadyDataView.SteadyLedgerNode[]
): SteadyDataView.SteadyLedgerNode | null => {
for (const node of nodes) {
if (node.level === 3 || node.selectable) {
return node
}
const childNode = findFirstSelectableLedgerNode(node.children || [])
if (childNode) return childNode
}
return null
}
export const findFirstLeafIndicator = (
nodes: SteadyDataView.SteadyIndicatorNode[]
): SteadyDataView.SteadyIndicatorNode | null => {
for (const node of nodes) {
if (node.children?.length) {
const childNode = findFirstLeafIndicator(node.children)
if (childNode) return childNode
continue
}
if (node.indicatorCode) {
return node
}
}
return null
}
export const hasHarmonicIndicator = (indicators: SteadyDataView.SteadyIndicatorNode[]) => {
return indicators.some(item => item.harmonic || Boolean(item.harmonicOrderStart || item.harmonicOrderEnd))
}