feat(steady): 实现台账指标树默认选中及图标展示功能
- 添加findFirstSelectableLedgerNode和findFirstLeafIndicator工具函数 - 实现台账树首次加载后默认选中第一个可查询监测点 - 实现指标树首次加载后默认选中第一个叶子指标 - 添加台账层级图标展示及样式配置 - 集成defaultCheckedKeys属性到台账和指标树组件 - 更新趋势查询参数移除bucket字段 - 修复数据质量标识默认值设置问题
This commit is contained in:
@@ -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))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user