| | |
| | | |
| | | import { requestClient } from '#/api/request'; |
| | | |
| | | import { isPdMockEnabled } from '../mock/enabled'; |
| | | import { pdMockStore } from '../mock/store'; |
| | | |
| | | export namespace MesPdArchiveApi { |
| | | /** 数字化设计归档台账 */ |
| | | /** 归档台账(分页聚合) */ |
| | | export interface Archive { |
| | | id?: number; |
| | | code?: string; |
| | | /** 最新归档编号 */ |
| | | archiveCode?: string; |
| | | /** 设计项目ID */ |
| | | projectId?: number; |
| | | projectCode?: string; |
| | | projectName?: string; |
| | | /** 任务编码 */ |
| | | taskCode?: string; |
| | | /** 任务名称 */ |
| | | taskName?: string; |
| | | /** 产品编码 */ |
| | | productCode?: string; |
| | | /** 产品名称 */ |
| | | productName?: string; |
| | | /** 该项目下归档记录总数 */ |
| | | archiveCount?: number; |
| | | /** 归档人ID */ |
| | | archiver?: number; |
| | | /** 归档人名称 */ |
| | | archiverNickname?: string; |
| | | /** 归档状态(字典 mes_pd_archive_status) */ |
| | | archiveStatus?: number; |
| | | /** 归档时间 */ |
| | | archiveTime?: number; |
| | | /** 备注 */ |
| | | remark?: string; |
| | | /** 创建时间 */ |
| | | createTime?: number; |
| | | /** 更新人ID */ |
| | | updater?: string; |
| | | /** 更新人名称 */ |
| | | updaterNickname?: string; |
| | | /** 更新时间 */ |
| | | updateTime?: number; |
| | | } |
| | | |
| | | export interface PageParams extends PageParam { |
| | | archiveCode?: string; |
| | | projectId?: number; |
| | | archiveStatus?: number; |
| | | productCode?: string; |
| | | productName?: string; |
| | | } |
| | | |
| | | /** 详情 - 项目信息 */ |
| | | export interface ProjectInfo { |
| | | id?: number; |
| | | taskCode?: string; |
| | | taskName?: string; |
| | | productCode?: string; |
| | | productName?: string; |
| | | version?: string; |
| | | archiveStatus?: number; |
| | | archiveTime?: number; |
| | | archiverId?: number; |
| | | archiverName?: string; |
| | | documentCount?: number; |
| | | bomCount?: number; |
| | | storagePath?: string; |
| | | status?: number; |
| | | chiefDesigner?: number; |
| | | chiefDesignerNickname?: string; |
| | | reviewer?: number; |
| | | reviewerNickname?: string; |
| | | planFinishTime?: number; |
| | | remark?: string; |
| | | createTime?: number; |
| | | } |
| | | |
| | | export interface PageParams extends PageParam { |
| | | code?: string; |
| | | projectCode?: string; |
| | | productCode?: string; |
| | | /** 详情 - 归档记录 */ |
| | | export interface ArchiveInfo { |
| | | id?: number; |
| | | archiveCode?: string; |
| | | archiver?: number; |
| | | archiverNickname?: string; |
| | | archiveStatus?: number; |
| | | archiveTime?: number; |
| | | remark?: string; |
| | | createTime?: number; |
| | | } |
| | | |
| | | /** 详情 - 设计资料 */ |
| | | export interface DocumentInfo { |
| | | id?: number; |
| | | documentType?: string; |
| | | documentName?: string; |
| | | documentVersion?: string; |
| | | fileName?: string; |
| | | fileUrl?: string; |
| | | uploadUserId?: number; |
| | | uploadUserNickname?: string; |
| | | uploadTime?: number; |
| | | remark?: string; |
| | | createTime?: number; |
| | | } |
| | | |
| | | /** 详情(按产品查询) */ |
| | | export interface DetailItem { |
| | | project: ProjectInfo; |
| | | archives: ArchiveInfo[]; |
| | | documents: DocumentInfo[]; |
| | | } |
| | | } |
| | | |
| | | /** 归档台账分页(按项目/产品聚合) */ |
| | | export function getPdArchivePage(params: MesPdArchiveApi.PageParams) { |
| | | if (isPdMockEnabled()) { |
| | | return pdMockStore.getArchivePage(params); |
| | | } |
| | | return requestClient.get<PageResult<MesPdArchiveApi.Archive>>( |
| | | '/mes/pd/archive/page', |
| | | { params }, |
| | | ); |
| | | } |
| | | |
| | | /** 归档台账详情(按产品编码查询) */ |
| | | export function getPdArchiveDetailByProduct(productCode: string) { |
| | | return requestClient.get<MesPdArchiveApi.DetailItem[]>( |
| | | '/mes/pd/archive/detail-by-product', |
| | | { params: { productCode } }, |
| | | ); |
| | | } |
| | | |
| | | export function getPdArchive(id: number) { |
| | | if (isPdMockEnabled()) { |
| | | return pdMockStore.getArchive(id); |
| | | } |
| | | return requestClient.get<MesPdArchiveApi.Archive>( |
| | | `/mes/pd/archive/get?id=${id}`, |
| | | ); |
| | | } |
| | | |
| | | export function updatePdArchive(data: MesPdArchiveApi.Archive) { |
| | | return requestClient.put('/mes/pd/archive/update', data); |
| | | } |
| | | |
| | | export function deletePdArchive(id: number) { |
| | | return requestClient.delete(`/mes/pd/archive/delete?id=${id}`); |
| | | } |
| | | |
| | | export function exportPdArchive(params: MesPdArchiveApi.PageParams) { |
| | | if (isPdMockEnabled()) { |
| | | return Promise.resolve(new Blob()); |
| | | } |
| | | return requestClient.download('/mes/pd/archive/export-excel', { params }); |
| | | } |