From 4d9eac00f0c1613d6279fbc75affd9ce31df5c6d Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期四, 10 九月 2026 15:33:27 +0800
Subject: [PATCH] fix: 对接时效接口

---
 src/api/timeSensitiveTask.ts |  243 +++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 218 insertions(+), 25 deletions(-)

diff --git a/src/api/timeSensitiveTask.ts b/src/api/timeSensitiveTask.ts
index b24d32e..7318dd4 100644
--- a/src/api/timeSensitiveTask.ts
+++ b/src/api/timeSensitiveTask.ts
@@ -24,9 +24,15 @@
   inspectorName: string;
 }
 
-export interface TimeSensitiveTaskStartForm extends TimeSensitiveTaskForm {
+export interface TimeSensitiveTaskStartForm {
   id: number | string;
+  initiatorName: string;
+  initiateTime: string;
+  setTemperature: number | string;
+  agingDuration: number | string;
+  machineName: string;
   furnaceInTime: string;
+  inspectorName: string;
 }
 
 export interface TimeSensitiveCandidateQuery {
@@ -34,8 +40,15 @@
   size?: number;
   taskId: number | string;
   materialType: TimelinessMaterialType;
+  categoryName?: string;
   model?: string;
   materialCode?: string;
+}
+
+export interface TimeSensitiveTaskItemInput {
+  itemId: number | string;
+  /** 鍗曚笣浼犫�滈搧鏋跺彿-閾佺墝搴忓彿鈥濓紝缁炵嚎浼犳暟瀛楀簭鍙枫�� */
+  ironPlateNo: number | string;
 }
 
 export interface TimelinessInspectionDetailForm {
@@ -50,8 +63,8 @@
   timelinessInspectionId?: number | string;
 }
 
-/** 鑱旇皟瀹屾垚鍚庢敼涓� false 鍗冲彲鎭㈠涓嬫柟鐪熷疄鎺ュ彛銆� */
-export const USE_TIME_SENSITIVE_MOCK = true;
+/** 鏈湴婕旂ず寮�鍏筹紱姝e父杩愯鏃跺缁堣姹備笌 PC 绔竴鑷寸殑鐪熷疄鎺ュ彛銆� */
+export const USE_TIME_SENSITIVE_MOCK = false;
 
 const mockTasks: any[] = [
   {
@@ -197,6 +210,161 @@
   ],
 };
 
+const mockMaterialDetails: Record<string, Record<string, any>> = {
+  "9101": {
+    qualitySetTemperature: 180,
+    qualitySetDuration: "2+4+1",
+    confirmTime: "2026-09-04 08:35:00",
+    confirmUserName: "寮犲伐",
+    status: 0,
+    ledgerNo: "SO2609010188",
+    schedulingDetailNo: "LS-PC-260904-001",
+    deviceCode: "LS006",
+    clientName: "灞变笢鍏冩椇鐢靛伐绉戞妧鏈夐檺鍏徃",
+    productionDate: "2026-09-04",
+    groupTeam: "鐧界彮",
+    groupTeamLeader: "鐜嬬彮闀�",
+    productionNumber: 1,
+    unit: "鐩�",
+  },
+  "9102": {
+    qualitySetTemperature: 175,
+    qualitySetDuration: "2+3+1",
+    confirmTime: "2026-09-04 08:42:00",
+    confirmUserName: "寮犲伐",
+    status: 0,
+    ledgerNo: "SO2609010192",
+    schedulingDetailNo: "LS-PC-260904-002",
+    deviceCode: "LS008",
+    clientName: "鍗庝笢鐢电紗鏈夐檺鍏徃",
+    productionDate: "2026-09-04",
+    groupTeam: "鐧界彮",
+    groupTeamLeader: "鐜嬬彮闀�",
+    productionNumber: 1,
+    unit: "鐩�",
+  },
+  "9301": {
+    qualitySetTemperature: 180,
+    qualitySetDuration: "2+4+1",
+    confirmTime: "2026-09-05 09:15:00",
+    confirmUserName: "鏉庡伐",
+    status: 0,
+    ledgerNo: "SO2609050106",
+    schedulingDetailNo: "LS-PC-260905-006",
+    deviceCode: "LS003",
+    clientName: "灞变笢鍏冩椇鐢靛伐绉戞妧鏈夐檺鍏徃",
+    productionDate: "2026-09-05",
+    groupTeam: "鐧界彮",
+    groupTeamLeader: "璧电彮闀�",
+    productionNumber: 1,
+    unit: "鐩�",
+  },
+  "9302": {
+    qualitySetTemperature: 180,
+    qualitySetDuration: "2+4+1",
+    confirmTime: "2026-09-05 09:32:00",
+    confirmUserName: "鏉庡伐",
+    status: 0,
+    ledgerNo: "SO2609050112",
+    schedulingDetailNo: "LS-PC-260905-007",
+    deviceCode: "LS005",
+    clientName: "鍗庡寳绾跨紗鏈夐檺鍏徃",
+    productionDate: "2026-09-05",
+    groupTeam: "鐧界彮",
+    groupTeamLeader: "璧电彮闀�",
+    productionNumber: 1,
+    unit: "鐩�",
+  },
+  "9501": {
+    qualitySetTemperature: 180,
+    qualitySetDuration: "2+4+1",
+    confirmTime: "2026-09-03 10:20:00",
+    confirmUserName: "鍒樺伐",
+    status: 2,
+    ledgerNo: "SO2609030088",
+    schedulingDetailNo: "LS-PC-260903-003",
+    deviceCode: "LS002",
+    clientName: "椴佷腑鐢电紗鏈夐檺鍏徃",
+    productionDate: "2026-09-03",
+    groupTeam: "涓彮",
+    groupTeamLeader: "瀛欑彮闀�",
+    productionNumber: 1,
+    unit: "鐩�",
+  },
+  "9201": {
+    qualitySetTemperature: 175,
+    qualitySetDuration: "2+3+1",
+    confirmTime: "2026-09-04 09:05:00",
+    confirmUserName: "鐜嬪伐",
+    status: 1,
+    ledgerNo: "SO2609020116",
+    schedulingDetailNo: "JX-PC-260904-001",
+    deviceCode: "JX003",
+    clientName: "鍗庡寳鐢电紗鏈夐檺鍏徃",
+    productionDate: "2026-09-04",
+    groupTeam: "涓彮",
+    groupTeamLeader: "璧电彮闀�",
+    productionNumber: 1,
+    productionWeight: 1180,
+    unit: "鐩�",
+  },
+  "9202": {
+    qualitySetTemperature: 175,
+    qualitySetDuration: "2+3+1",
+    confirmTime: "2026-09-04 09:12:00",
+    confirmUserName: "鐜嬪伐",
+    status: 1,
+    ledgerNo: "SO2609020118",
+    schedulingDetailNo: "JX-PC-260904-002",
+    deviceCode: "JX004",
+    clientName: "鍗庡寳鐢电紗鏈夐檺鍏徃",
+    productionDate: "2026-09-04",
+    groupTeam: "涓彮",
+    groupTeamLeader: "璧电彮闀�",
+    productionNumber: 1,
+    productionWeight: 1260,
+    unit: "鐩�",
+  },
+  "9401": {
+    qualitySetTemperature: 175,
+    qualitySetDuration: "2+3+1",
+    confirmTime: "2026-09-05 10:10:00",
+    confirmUserName: "鏉庡伐",
+    status: 0,
+    ledgerNo: "SO2609050216",
+    schedulingDetailNo: "JX-PC-260905-002",
+    deviceCode: "JX006",
+    clientName: "鍗庡寳鐢电紗鏈夐檺鍏徃",
+    productionDate: "2026-09-05",
+    groupTeam: "涓彮",
+    groupTeamLeader: "璧电彮闀�",
+    productionNumber: 1,
+    productionWeight: 1380,
+    unit: "鐩�",
+  },
+  "9402": {
+    qualitySetTemperature: 175,
+    qualitySetDuration: "2+3+1",
+    confirmTime: "2026-09-05 10:22:00",
+    confirmUserName: "鏉庡伐",
+    status: 0,
+    ledgerNo: "SO2609050220",
+    schedulingDetailNo: "JX-PC-260905-003",
+    deviceCode: "JX007",
+    clientName: "鍗庡崡鐢电紗鏈夐檺鍏徃",
+    productionDate: "2026-09-05",
+    groupTeam: "涓彮",
+    groupTeamLeader: "璧电彮闀�",
+    productionNumber: 1,
+    productionWeight: 1460,
+    unit: "鐩�",
+  },
+};
+
+[...mockMaterialPool.鍗曚笣, ...mockMaterialPool.缁炵嚎].forEach((item) => {
+  Object.assign(item, mockMaterialDetails[String(item.id)] || {});
+});
+
 const findMockMaterial = (id: number | string) =>
   [...mockMaterialPool.鍗曚笣, ...mockMaterialPool.缁炵嚎].find(
     (item) => String(item.id) === String(id)
@@ -207,10 +375,19 @@
   return item ? { ...item } : undefined;
 };
 
+const cloneMockMaterialWithIronPlate = (id: number | string, ironPlateNo: number | string) => {
+  const item = cloneMockMaterial(id);
+  return item ? { ...item, ironPlateNo } : undefined;
+};
+
 const mockItems: Record<string, any[]> = {
-  "9001": [cloneMockMaterial(9101), cloneMockMaterial(9102)].filter(Boolean),
-  "9002": [cloneMockMaterial(9201), cloneMockMaterial(9202)].filter(Boolean),
-  "9003": [cloneMockMaterial(9501)].filter(Boolean),
+  "9001": [cloneMockMaterialWithIronPlate(9101, 1), cloneMockMaterialWithIronPlate(9102, 2)].filter(
+    Boolean
+  ),
+  "9002": [cloneMockMaterialWithIronPlate(9201, 1), cloneMockMaterialWithIronPlate(9202, 2)].filter(
+    Boolean
+  ),
+  "9003": [cloneMockMaterialWithIronPlate(9501, 1)].filter(Boolean),
 };
 
 const mockInspections: Record<string, any[]> = {
@@ -376,7 +553,7 @@
     }
     return request<BaseResult<PageResult>>({
       url: "/timeSensitiveTask/queryPage",
-      method: "GET",
+      method: "POST",
       data: params,
     });
   },
@@ -387,8 +564,8 @@
     }
     return request<BaseResult<any>>({
       url: "/timeSensitiveTask/getDetailById",
-      method: "GET",
-      data: { id },
+      method: "POST",
+      data: id as any,
     });
   },
 
@@ -398,8 +575,8 @@
     }
     return request<BaseResult<any[]>>({
       url: "/timeSensitiveTask/getItems",
-      method: "GET",
-      data: { taskId },
+      method: "POST",
+      data: taskId as any,
     });
   },
 
@@ -468,8 +645,8 @@
     }
     return request<BaseResult<any>>({
       url: "/timeSensitiveTask/delete",
-      method: "DELETE",
-      data: { id },
+      method: "POST",
+      data: id as any,
     });
   },
 
@@ -507,8 +684,8 @@
     }
     return request<BaseResult<any>>({
       url: "/timeSensitiveTask/checkEnd",
-      method: "GET",
-      data: { id },
+      method: "POST",
+      data: id as any,
     });
   },
 
@@ -537,7 +714,9 @@
   queryCandidates(params: TimeSensitiveCandidateQuery) {
     if (USE_TIME_SENSITIVE_MOCK) {
       const existingIds = new Set(
-        (mockItems[String(params.taskId)] || []).map((item) => String(item.id))
+        Object.values(mockItems)
+          .flat()
+          .map((item) => String(item.id))
       );
       let rows = mockMaterialPool[params.materialType]
         .filter((item) => !existingIds.has(String(item.id)))
@@ -571,19 +750,25 @@
     }
     return request<BaseResult<PageResult>>({
       url: "/timeSensitiveTask/queryCandidates",
-      method: "GET",
+      method: "POST",
       data: params,
     });
   },
 
-  addItems(data: { taskId: number | string; itemIds: Array<number | string> }) {
+  addItems(data: {
+    taskId: number | string;
+    itemIds: Array<number | string>;
+    items: TimeSensitiveTaskItemInput[];
+  }) {
     if (USE_TIME_SENSITIVE_MOCK) {
       const key = String(data.taskId);
       mockItems[key] ||= [];
       const existingIds = new Set(mockItems[key].map((item) => String(item.id)));
-      data.itemIds.forEach((id) => {
-        const material = cloneMockMaterial(id);
-        if (material && !existingIds.has(String(id))) mockItems[key].push(material);
+      data.items.forEach(({ itemId, ironPlateNo }) => {
+        const material = cloneMockMaterial(itemId);
+        if (material && !existingIds.has(String(itemId))) {
+          mockItems[key].push({ ...material, ironPlateNo });
+        }
       });
       updateMockItemCount(data.taskId);
       const task = mockTasks.find((item) => String(item.id) === key);
@@ -593,10 +778,10 @@
         "鏂板鏄庣粏",
         "寰呭紑濮�",
         "寰呭紑濮�",
-        `鏂板 ${data.itemIds.length} 鏉℃椂鏁堟槑缁哷,
+        `棰嗙敤 ${data.itemIds.length} 鏉$墿鏂檂,
         task?.initiatorName || "鎿嶄綔浜�"
       );
-      return mockResult(true, "鏃舵晥鏄庣粏鏂板鎴愬姛");
+      return mockResult(true, "鐗╂枡棰嗙敤鎴愬姛");
     }
     return request<BaseResult<any>>({
       url: "/timeSensitiveTask/addItems",
@@ -618,10 +803,10 @@
         "鍒犻櫎鏄庣粏",
         "寰呭紑濮�",
         "寰呭紑濮�",
-        `鍒犻櫎 ${data.itemIds.length} 鏉℃椂鏁堟槑缁哷,
+        `鍒犻櫎 ${data.itemIds.length} 鏉¢鐢ㄧ墿鏂檂,
         task?.initiatorName || "鎿嶄綔浜�"
       );
-      return mockResult(true, "鏃舵晥鏄庣粏鍒犻櫎鎴愬姛");
+      return mockResult(true, "棰嗙敤鐗╂枡鍒犻櫎鎴愬姛");
     }
     return request<BaseResult<any>>({
       url: "/timeSensitiveTask/deleteItems",
@@ -646,6 +831,14 @@
     });
   },
 
+  /** 涓� PC 绔� aging_rack_number 瀛楀吀涓�鑷达紝鐢ㄤ綔鍗曚笣棰嗙敤閾佹灦鍙枫�� */
+  getAgingRackNumbers() {
+    return request<BaseResult<any[]>>({
+      url: "/system/dict/data/type/aging_rack_number",
+      method: "GET",
+    });
+  },
+
   getOperationRecords(recordId: number | string) {
     if (USE_TIME_SENSITIVE_MOCK) {
       return mockResult<any[]>(

--
Gitblit v1.9.3