feat(steady): 实现稳态校验任务功能重构

- 添加influxdb配置支持和资源文件打包
- 实现校验任务表格组件和相关工具函数
- 重构校验工作台为任务创建对话框模式
- 实现校验详情面板支持多种异常类型展示
- 更新校验概览表格显示任务基本信息
- 优化校验查询参数和API接口定义
- 实现搜索表单组件化和过滤功能增强
This commit is contained in:
2026-06-11 10:53:02 +08:00
parent 3dff953b8d
commit 8622f25048
25 changed files with 1675 additions and 486 deletions

View File

@@ -17,8 +17,24 @@ export const querySteadyTrendDay = (params: SteadyDataView.SteadyTrendQueryParam
return http.post<SteadyDataView.SteadyTrendQueryResult>('/steady/data-view/trend/day', params, { loading: false })
}
export const querySteadyChecksquare = (params: SteadyDataView.SteadyChecksquareQueryParams) => {
return http.post<SteadyDataView.SteadyChecksquareQueryResult>('/steady/data-view/checksquare/query', params, {
export const querySteadyChecksquareTasks = (params: SteadyDataView.SteadyChecksquareTaskQueryParams) => {
return http.post<SteadyDataView.PageResult<SteadyDataView.SteadyChecksquareTask>>('/steady/data-view/checksquare/query', params, {
loading: false
})
}
export const createSteadyChecksquareTask = (params: SteadyDataView.SteadyChecksquareCreateParams) => {
return http.post<SteadyDataView.SteadyChecksquareCreateResult>('/steady/data-view/checksquare/create', params, {
loading: false
})
}
export const getSteadyChecksquareDetail = (taskId: string) => {
return http.get<SteadyDataView.SteadyChecksquareQueryResult>('/steady/data-view/checksquare/detail', { taskId }, { loading: false })
}
export const getSteadyChecksquareItemDetail = (params: SteadyDataView.SteadyChecksquareItemDetailParams) => {
return http.get<SteadyDataView.SteadyChecksquareItemDetail>('/steady/data-view/checksquare/item-detail', params, {
loading: false
})
}

View File

@@ -1,4 +1,12 @@
export namespace SteadyDataView {
export interface PageResult<T> {
records: T[]
current: number
size: number
total: number
pages?: number
}
export interface SteadyLedgerNode {
id: string
parentId?: string
@@ -77,18 +85,56 @@ export namespace SteadyDataView {
series: SteadyTrendSeries[]
}
export interface SteadyChecksquareQueryParams {
export interface SteadyChecksquareTaskQueryParams {
pageNum?: number
pageSize?: number
lineId?: string
lineName?: string
indicatorCode?: string
timeStart?: string
timeEnd?: string
hasAbnormal?: boolean
}
export interface SteadyChecksquareCreateParams {
lineId: string
indicatorCodes: string[]
timeStart: string
timeEnd: string
harmonicOrders?: number[]
}
export interface SteadyChecksquareTask {
taskId: string
taskNo?: string
lineId?: string
lineName?: string
timeStart?: string
timeEnd?: string
intervalMinutes?: number
taskStatus?: 'SUCCESS' | string
itemCount?: number
abnormalItemCount?: number
maxMissingRate?: number | null
createTime?: string
}
export interface SteadyChecksquareCreateResult {
taskId: string
taskNo?: string
lineId?: string
lineName?: string
timeStart?: string
timeEnd?: string
intervalMinutes?: number
itemCount?: number
abnormalItemCount?: number
}
export interface SteadyChecksquareSegment {
startTime: string
endTime: string
status: 'NORMAL' | 'MISSING' | string
harmonicOrder?: number | null
missingPointCount?: number
durationMinutes?: number
}
@@ -112,6 +158,7 @@ export namespace SteadyDataView {
}
export interface SteadyChecksquareItem {
itemId?: string
itemKey: string
indicatorCode: string
indicatorName?: string
@@ -123,12 +170,18 @@ export namespace SteadyDataView {
missingRate?: number | null
missingRateText?: string | null
maxContinuousMissingMinutes?: number
abnormal?: boolean
abnormalPointCount?: number
harmonicParityAbnormal?: boolean
harmonicParityAbnormalPointCount?: number
statSummaries: SteadyChecksquareStatSummary[]
statDetails: SteadyChecksquareStatDetail[]
children?: SteadyChecksquareItem[]
}
export interface SteadyChecksquareQueryResult {
taskId?: string
taskNo?: string
lineId: string
lineName?: string
timeStart: string
@@ -136,4 +189,48 @@ export namespace SteadyDataView {
intervalMinutes?: number
items: SteadyChecksquareItem[]
}
export type SteadyChecksquareDetailType = 'SEGMENT' | 'VALUE_ORDER' | 'HARMONIC_PARITY'
export interface SteadyChecksquareItemDetailParams {
itemId: string
detailType: SteadyChecksquareDetailType
statType?: SteadyTrendStatType
pageNum?: number
pageSize?: number
}
export interface SteadyChecksquareValueOrderDetail {
time: string
phase?: string
harmonicOrder?: number | null
maxValue?: number | null
minValue?: number | null
avgValue?: number | null
cp95Value?: number | null
}
export interface SteadyChecksquareHarmonicParityDetail {
time: string
phase?: string
statType?: SteadyTrendStatType
evenHarmonicOrder?: number
evenValue?: number | null
oddHarmonicOrders?: number[]
oddValues?: number[]
oddMedianValue?: number | null
thresholdMultiplier?: number | null
}
export interface SteadyChecksquareItemDetail {
itemId: string
detailType: SteadyChecksquareDetailType
statType?: SteadyTrendStatType | null
pageNum?: number | null
pageSize?: number | null
total?: number | null
segments: SteadyChecksquareSegment[]
valueOrderDetails: SteadyChecksquareValueOrderDetail[]
harmonicParityDetails: SteadyChecksquareHarmonicParityDetail[]
}
}