refactor(steady): 重构稳态校验功能的合同验证逻辑

- 优化测量点对话框路径解析格式化
- 添加稳态校验重启API端点验证功能
- 更新创建参数类型定义支持可选lineId和lineIds数组
- 修复任务表格组件模板缩进格式问题
- 扩展任务表格列配置验证数组格式
- 添加任务表格仅对失败行显示重启操作功能
- 集成共享台账树组件发送选中叶节点监测点功能
- 添加多监测点创建参数构建支持
- 实现指标选择为空时全指标校验功能
- 添加预期项目数量计算功能
- 优化创建对话框指标选择标签防止输入框重置
- 添加任务表格树形选择滚动下拉菜单样式
- 实现页面创建流程调用创建API并轮询任务状态
- 添加创建结果面板加载状态和进度显示
- 实现页面重启流程确认调用重启API功能
- 优化汇总表格异常字段持久化支持
- 添加汇总表格监测点名称显示功能
- 优化详情面板按需加载项目详情
- 更新接口类型支持分页字段定义
- 优化ICD路径检查对话框标准映射参数传递
- 添加ICD记录导出SQL和JSON功能
- 扩展ICD路径API端点和类型定义
- 添加ICD路径参考选项和映射详情功能
- 重构ICD表格列显示移除激活和创建时间列
- 添加ICD映射详情对话框三个标签页功能
- 优化ICD映射详情JSON树形视图显示
- 更新ICD类型选项覆盖手动和上游标准状态
This commit is contained in:
2026-06-18 16:35:06 +08:00
parent e7519e5524
commit 92b7d3cd73
38 changed files with 3486 additions and 758 deletions

View File

@@ -45,6 +45,10 @@ export const listIcdPathsApi = (params: MmsMapping.IcdPathListRequest) => {
return http.post<MmsMapping.IcdPathRecord[]>('/api/mms-mapping/icd-paths/list', params)
}
export const listIcdPathReferencesApi = () => {
return http.post<MmsMapping.IcdPathReferenceOption[]>('/api/mms-mapping/icd-paths/reference-list')
}
export const createIcdPathApi = (params: MmsMapping.CreateIcdPathRequest) => {
return http.post<boolean>('/api/mms-mapping/icd-paths/add', params)
}
@@ -73,6 +77,14 @@ export const saveIcdPathCheckResultApi = (id: string, params: MmsMapping.SaveIcd
return http.post<boolean>(`/api/mms-mapping/icd-paths/${id}/icd-check-result`, params)
}
export const getIcdPathCheckMsgApi = (id: string) => {
return http.post<MmsMapping.IcdPathCheckMsgResponse>(`/api/mms-mapping/icd-paths/${id}/icd-check-msg`)
}
export const getIcdPathMappingDetailApi = (id: string) => {
return http.post<MmsMapping.IcdPathMappingDetailResponse>(`/api/mms-mapping/icd-paths/${id}/mapping-detail`)
}
export const checkIcdJsonConsistencyApi = (params: MmsMapping.IcdJsonConsistencyCheckRequest) => {
return http.post<MmsMapping.IcdJsonConsistencyCheckResponse>('/api/mms-mapping/check-icd-json-consistency', params)
}

View File

@@ -150,7 +150,7 @@ export namespace MmsMapping {
export interface IcdCheckMsg {
summary?: string
details?: string[]
details?: unknown[]
issuesJson?: string
correctedJson?: string
[key: string]: unknown
@@ -183,7 +183,6 @@ export namespace MmsMapping {
export interface IcdPathRecord {
id?: string
name?: string
path?: string
angle?: number
usePhaseIndex?: number
state?: number
@@ -199,6 +198,19 @@ export namespace MmsMapping {
updateTime?: string
}
export interface IcdPathReferenceOption {
id?: string
name?: string
}
export interface IcdPathMappingDetailResponse {
id?: string
name?: string
jsonStr?: string
xmlStr?: string
icdText?: string
}
export interface IcdPathListRequest {
keyword?: string
type?: number
@@ -207,10 +219,10 @@ export namespace MmsMapping {
export interface CreateIcdPathRequest {
name: string
path: string
angle?: number
usePhaseIndex?: number
type?: number
referenceIcdId?: string
}
export interface CreateIcdPathWithFileRequest {
@@ -236,6 +248,8 @@ export namespace MmsMapping {
msg?: IcdCheckMsg
}
export type IcdPathCheckMsgResponse = IcdCheckMsg | null
export interface IcdJsonConsistencyCheckRequest {
checkedJson: string
standardJson: string

View File

@@ -0,0 +1,13 @@
import http from '@/api'
import type { ParsePqdif } from './interface'
export const parsePqdifApi = (pqdifFile: File) => {
const formData = new FormData()
// 关键业务节点:后端 @RequestPart 固定读取 pqdifFile字段名不能与页面变量名脱钩。
formData.append('pqdifFile', pqdifFile)
return http.post<ParsePqdif.ParseResponse>('/api/parse-pqdif/parse', formData, {
headers: { 'Content-Type': 'multipart/form-data' }
})
}

View File

@@ -0,0 +1,56 @@
export namespace ParsePqdif {
export type ParseStatus = 'SUCCESS' | 'FAILED' | (string & {})
export type SeriesDataStatus = 'DATA_SUCCESS' | 'DATA_FAILED' | (string & {})
export interface RecordItem {
recordIndex?: number
typeGuid?: string
typeName?: string
observation?: boolean
}
export interface SeriesItem {
seriesIndex?: number
quantityUnitsId?: number
quantityCharacteristicGuid?: string
valueTypeGuid?: string
seriesBaseType?: number
scale?: number
offset?: number
dataStatus?: SeriesDataStatus
dataMessage?: string | null
valueCount?: number
firstValues?: number[]
}
export interface ChannelItem {
channelIndex?: number
name?: string
seriesCount?: number
phaseId?: number
quantityTypeGuid?: string
quantityMeasuredId?: number
series?: SeriesItem[]
}
export interface ObservationItem {
recordIndex?: number
name?: string
timeStartExcelDays?: number
timeStartText?: string
channelCount?: number
channels?: ChannelItem[]
}
export interface ParseResponse {
status?: ParseStatus
message?: string
fileName?: string | null
nativeVersion?: string | null
recordCount?: number
observationCount?: number
sampleValueCount?: number
records?: RecordItem[]
observations?: ObservationItem[]
}
}