feat(steady): 完善稳态数据视图功能

- 更新纵坐标刻度算法,优化小数趋势图范围显示
- 添加稳态趋势图全屏模式和共享工具组件
- 实现多图联动的鼠标悬停竖线同步功能
- 调整主线线宽分档策略,降低最大线宽限制
- 重构稳态趋势工具栏,优化谐波次数选择逻辑
- 添加周时间周期搜索支持和自定义时间范围选择
- 完善稳态数据表格和指示器浮动面板功能
- 优化稳态趋势图性能,添加LTB采样和动画控制
- 修复数据表格打开前的趋势数据验证问题
- 统一时间轴标签格式化和网格对齐处理
This commit is contained in:
2026-05-27 08:06:12 +08:00
parent b9ddfb5275
commit 055e69fff7
83 changed files with 9616 additions and 226 deletions

View File

@@ -144,6 +144,18 @@ function normalizeBusinessMenu(menu: any): any {
menu.component = '@/views/steady/steadyDataView/index.vue'
}
if (isSteadyTrendMenu(menu)) {
menu.path = '/steadyTrend/index'
menu.name = 'steadyTrend'
menu.component = '@/views/steady/steadyTrend/index.vue'
}
if (isChecksquareMenu(menu)) {
menu.path = '/checksquare/index'
menu.name = 'checksquare'
menu.component = '@/views/steady/checksquare/index.vue'
}
return menu
}
@@ -173,8 +185,36 @@ function isSteadyDataViewMenu(menu: any): boolean {
return title.includes('稳态数据')
}
function isSteadyTrendMenu(menu: any): boolean {
const normalizedName = String(menu?.name ?? '').toLowerCase().replace(/[-_]/g, '')
const normalizedPath = String(menu?.path ?? '').toLowerCase().replace(/[-_]/g, '')
const normalizedComponent = String(menu?.component ?? '').toLowerCase().replace(/[-_]/g, '')
const title = String(menu?.meta?.title ?? menu?.title ?? '')
if (normalizedName === 'steadytrend') return true
if (normalizedPath.includes('steadytrend')) return true
if (normalizedComponent.includes('steadytrend')) return true
return title.includes('\u7a33\u6001\u8d8b\u52bf')
}
function isChecksquareMenu(menu: any): boolean {
const normalizedName = String(menu?.name ?? '').toLowerCase().replace(/[-_]/g, '')
const normalizedPath = String(menu?.path ?? '').toLowerCase().replace(/[-_]/g, '')
const normalizedComponent = String(menu?.component ?? '').toLowerCase().replace(/[-_]/g, '')
const title = String(menu?.meta?.title ?? menu?.title ?? '')
if (normalizedName === 'checksquare') return true
if (normalizedPath.includes('checksquare')) return true
if (normalizedComponent.includes('checksquare')) return true
return title.includes('数据验证')
}
export function resolveBusinessMenuPath(menu: Menu.MenuOptions): string {
if (isEventListMenu(menu)) return '/eventList/index'
if (isChecksquareMenu(menu)) return '/checksquare/index'
if (isSteadyTrendMenu(menu)) return '/steadyTrend/index'
return isSteadyDataViewMenu(menu) ? '/steadyDataView/index' : menu.path
}