import request from '@/utils/request'; import type { ApiResponse, PageResult } from '@/types/api'; import type { CodeRuleVO, CodeRuleSaveParams, CodeRulePageParams, CodeLogVO, CodeLogPageParams, CodeMappingVO, CodeMappingSaveParams, CodeMappingPageParams, ApprovalVO, SyncRecordVO, VariableDictVO, SeqPoolVO, } from '@/types/mdm/coding-system'; // ========== 编码规则 ========== /** 编码规则分页 */ export const getCodeRulePage = (params: CodeRulePageParams) => request.get>>('/mdm/code-rule/page', { params }); /** 编码规则详情 */ export const getCodeRule = (id: number) => request.get>(`/mdm/code-rule/get?id=${id}`); /** 创建编码规则 */ export const createCodeRule = (data: CodeRuleSaveParams) => request.post>('/mdm/code-rule/create', data); /** 更新编码规则 */ export const updateCodeRule = (data: CodeRuleSaveParams) => request.put>('/mdm/code-rule/update', data); /** 删除编码规则 */ export const deleteCodeRule = (id: number) => request.delete>(`/mdm/code-rule/delete?id=${id}`); // ========== 编码生成日志 ========== /** 编码生成日志分页 */ export const getCodeLogPage = (params: CodeLogPageParams) => request.get>>('/mdm/code-log/page', { params }); // ========== 编码对照 ========== /** 编码对照分页 */ export const getCodeMappingPage = (params: CodeMappingPageParams) => request.get>>('/mdm/code-mapping/page', { params }); /** 创建编码对照 */ export const createCodeMapping = (data: CodeMappingSaveParams) => request.post>('/mdm/code-mapping/create', data); /** 删除编码对照 */ export const deleteCodeMapping = (id: number) => request.delete>(`/mdm/code-mapping/delete?id=${id}`); // ========== 审批管理 ========== /** 审批任务分页(待审批/已审批/我提交的) */ export const getApprovalPage = (params: { pageNo: number; pageSize: number; tab?: string }) => request.get>>('/mdm/approval/page', { params }); // ========== 同步管理 ========== /** 同步记录分页 */ export const getSyncRecordPage = (params: { pageNo: number; pageSize: number; system?: string; status?: string }) => request.get>>('/mdm/sync-record/page', { params }); /** 重新同步 */ export const retrySync = (id: number) => request.post>(`/mdm/sync-record/retry?id=${id}`); // ========== 变量字典 ========== /** 变量字典分页 */ export const getVariableDictPage = (params: { pageNo: number; pageSize: number; scope?: string }) => request.get>>('/mdm/variable-dict/page', { params }); /** 获取单个变量 */ export const getVariableDict = (id: number) => request.get>(`/mdm/variable-dict/get?id=${id}`); /** 保存变量 */ export const saveVariableDict = (data: Partial) => request.post>('/mdm/variable-dict/save', data); /** 停用变量 */ export const disableVariableDict = (id: number) => request.post>(`/mdm/variable-dict/disable?id=${id}`); // ========== 序列池 ========== /** 根据规则编码查序列池 */ export const getSeqPoolByRule = (ruleCode: string) => request.get>(`/mdm/seq-pool/list?ruleCode=${ruleCode}`); // ========== 批量导入 ========== /** 导入历史编码 */ export const importHistoryCodes = (file: File) => { const formData = new FormData(); formData.append('file', file); return request.post }>>('/mdm/code-log/import', formData, { headers: { 'Content-Type': 'multipart/form-data' }, }); }; /** 导入编码对照 */ export const importCodeMappings = (file: File) => { const formData = new FormData(); formData.append('file', file); return request.post }>>('/mdm/code-mapping/import', formData, { headers: { 'Content-Type': 'multipart/form-data' }, }); }; /** 下载模板 */ export const downloadTemplate = (type: 'history' | 'mapping') => request.get(`/mdm/template/download?type=${type}`, { responseType: 'blob' }); /** 导出编码规则 */ export const exportCodeRules = (params?: Record) => request.get('/mdm/code-rule/export', { params, responseType: 'blob' }); /** 导出编码日志 */ export const exportCodeLogs = (params?: Record) => request.get('/mdm/code-log/export', { params, responseType: 'blob' });