feat(mmsmapping): 添加ICD索引配置人工确认功能
- 新增IndexConfirmTarget、IndexConfirmLabelItem、IndexConfirmGroup等接口定义 - 添加buildIndexConfirmDataApi和buildIndexSelectionApi两个API方法 - 实现MappingConfirmDialog组件用于人工确认索引配置 - 将解析ICD流程分为候选数据获取和人工确认两个步骤 - 添加确认弹窗的验证逻辑和状态管理 - 更新页面重置逻辑以清除确认相关状态 - 修改请求配置面板显示确认按钮和相应操作 - 移除原有的自动生成默认索引选择的工具函数
This commit is contained in:
@@ -29,3 +29,13 @@ export const getIcdMmsJsonApi = (params: MmsMapping.GetIcdMmsJsonParams) => {
|
||||
headers: { 'Content-Type': 'multipart/form-data' }
|
||||
})
|
||||
}
|
||||
|
||||
export const buildIndexConfirmDataApi = (params: MmsMapping.IndexCandidateGroup[]) => {
|
||||
// 关键业务节点:ICD 候选数据需要先转换成前端确认弹窗模型,后续人工确认才能继续生成正式索引配置。
|
||||
return http.post<MmsMapping.IndexConfirmGroup[]>('/api/mms-mapping/build-index-confirm-data', params)
|
||||
}
|
||||
|
||||
export const buildIndexSelectionApi = (params: MmsMapping.BuildIndexSelectionRequest) => {
|
||||
// 关键业务节点:人工确认完成后,必须把 confirmData 和 confirmedData 一并提交给后端生成正式 request.indexSelection。
|
||||
return http.post<MmsMapping.IndexSelectionGroup[]>('/api/mms-mapping/build-index-selection', params)
|
||||
}
|
||||
|
||||
@@ -3,6 +3,39 @@ export namespace MmsMapping {
|
||||
icdFile: File
|
||||
}
|
||||
|
||||
export interface IndexConfirmTarget {
|
||||
reportName?: string
|
||||
dataSetName?: string
|
||||
reportDesc?: string
|
||||
availableLnInstValues?: string[]
|
||||
}
|
||||
|
||||
export interface IndexConfirmLabelItem {
|
||||
label?: string
|
||||
required?: boolean
|
||||
configurableOnce?: boolean
|
||||
defaultLnInst?: string
|
||||
commonLnInstValues?: string[]
|
||||
targets?: IndexConfirmTarget[]
|
||||
}
|
||||
|
||||
export interface IndexConfirmGroup {
|
||||
groupKey?: string
|
||||
groupDesc?: string
|
||||
labelItems?: IndexConfirmLabelItem[]
|
||||
}
|
||||
|
||||
export interface ConfirmedIndexLabelItem {
|
||||
label: string
|
||||
enabled: boolean
|
||||
lnInst: string
|
||||
}
|
||||
|
||||
export interface ConfirmedIndexGroup {
|
||||
groupKey: string
|
||||
labelItems: ConfirmedIndexLabelItem[]
|
||||
}
|
||||
|
||||
export interface IndexSelectionBinding {
|
||||
reportName: string
|
||||
dataSetName: string
|
||||
@@ -30,6 +63,11 @@ export namespace MmsMapping {
|
||||
request: GetIcdMmsJsonRequestPayload
|
||||
}
|
||||
|
||||
export interface BuildIndexSelectionRequest {
|
||||
confirmData: IndexConfirmGroup[]
|
||||
confirmedData: ConfirmedIndexGroup[]
|
||||
}
|
||||
|
||||
export interface IcdDocument {
|
||||
[key: string]: unknown
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user