From 2540d86f0dbd77f654f558c3bf9d5ddbe7422f16 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期五, 03 七月 2026 17:22:09 +0800
Subject: [PATCH] fix: 完成设计项目和归档台账接口对接,功能联调

---
 src/api/mes/pd/archive/index.ts |  128 +++++++++++++++++++++++++++++++++---------
 1 files changed, 101 insertions(+), 27 deletions(-)

diff --git a/src/api/mes/pd/archive/index.ts b/src/api/mes/pd/archive/index.ts
index 33c6efb..16a0da7 100644
--- a/src/api/mes/pd/archive/index.ts
+++ b/src/api/mes/pd/archive/index.ts
@@ -2,61 +2,135 @@
 
 import { requestClient } from '#/api/request';
 
-import { isPdMockEnabled } from '../mock/enabled';
-import { pdMockStore } from '../mock/store';
-
 export namespace MesPdArchiveApi {
-  /** 鏁板瓧鍖栬璁″綊妗e彴璐� */
+  /** 褰掓。鍙拌处锛堝垎椤佃仛鍚堬級 */
   export interface Archive {
     id?: number;
-    code?: string;
+    /** 鏈�鏂板綊妗g紪鍙� */
+    archiveCode?: string;
+    /** 璁捐椤圭洰ID */
     projectId?: number;
-    projectCode?: string;
-    projectName?: string;
+    /** 浠诲姟缂栫爜 */
+    taskCode?: string;
+    /** 浠诲姟鍚嶇О */
+    taskName?: string;
+    /** 浜у搧缂栫爜 */
+    productCode?: string;
+    /** 浜у搧鍚嶇О */
+    productName?: string;
+    /** 璇ラ」鐩笅褰掓。璁板綍鎬绘暟 */
+    archiveCount?: number;
+    /** 褰掓。浜篒D */
+    archiver?: number;
+    /** 褰掓。浜哄悕绉� */
+    archiverNickname?: string;
+    /** 褰掓。鐘舵�侊紙瀛楀吀 mes_pd_archive_status锛� */
+    archiveStatus?: number;
+    /** 褰掓。鏃堕棿 */
+    archiveTime?: number;
+    /** 澶囨敞 */
+    remark?: string;
+    /** 鍒涘缓鏃堕棿 */
+    createTime?: number;
+    /** 鏇存柊浜篒D */
+    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 });
 }

--
Gitblit v1.9.3