32 lines
1.2 KiB
TypeScript
32 lines
1.2 KiB
TypeScript
|
|
import http from '@/api'
|
|||
|
|
import type { MmsMapping } from './interface'
|
|||
|
|
|
|||
|
|
const buildIcdFormData = (icdFile: File) => {
|
|||
|
|
const formData = new FormData()
|
|||
|
|
|
|||
|
|
formData.append('icdFile', icdFile)
|
|||
|
|
|
|||
|
|
return formData
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export const getIcdApi = (params: MmsMapping.GetIcdParams) => {
|
|||
|
|
const formData = buildIcdFormData(params.icdFile)
|
|||
|
|
|
|||
|
|
// 关键业务节点:解析 ICD 按钮改走独立 get-icd 接口,只上传当前选择的 ICD 文件。
|
|||
|
|
return http.post<MmsMapping.MappingTaskResponse>('/api/mms-mapping/get-icd', formData, {
|
|||
|
|
headers: { 'Content-Type': 'multipart/form-data' }
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
export const getIcdMmsJsonApi = (params: MmsMapping.GetIcdMmsJsonParams) => {
|
|||
|
|
const formData = buildIcdFormData(params.icdFile)
|
|||
|
|
|
|||
|
|
// 接口文档要求 request 以 application/json 分段提交,避免后端按普通字符串丢失 JSON 结构。
|
|||
|
|
formData.append('request', new Blob([JSON.stringify(params.request)], { type: 'application/json' }))
|
|||
|
|
|
|||
|
|
// 关键业务节点:生成映射仍走 get-icd-mms-json,提交时保持 icdFile + request 的 multipart 结构。
|
|||
|
|
return http.post<MmsMapping.MappingTaskResponse>('/api/mms-mapping/get-icd-mms-json', formData, {
|
|||
|
|
headers: { 'Content-Type': 'multipart/form-data' }
|
|||
|
|
})
|
|||
|
|
}
|