From cd8b52bdf89a4d1101f72e0ece9f4df22a3d3f7a Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 15 十月 2026 16:03:32 +0800
Subject: [PATCH] feat(mdm): 物料列表隐藏辅单位与销售价列

---
 src/api/mes/pro/task/index.ts |   94 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 93 insertions(+), 1 deletions(-)

diff --git a/src/api/mes/pro/task/index.ts b/src/api/mes/pro/task/index.ts
index 2e36c40..6ec30d3 100644
--- a/src/api/mes/pro/task/index.ts
+++ b/src/api/mes/pro/task/index.ts
@@ -1,8 +1,21 @@
-锘縤mport type { PageParam, PageResult } from '@vben/request';
+import type { PageParam, PageResult } from '@vben/request';
 
 import { requestClient } from '#/api/request';
 
 export namespace MesProTaskApi {
+  export interface PauseRecord {
+    id: number;
+    pauseTime: string;
+    pauseUserId: number;
+    pauseUserName: string;
+    reason: string;
+    remark?: string;
+    resumeTime?: string;
+    resumeUserId?: number;
+    resumeUserName?: string;
+    taskId: number;
+  }
+
   /** MES 鐢熶骇浠诲姟 */
   export interface Task {
     id?: number;
@@ -16,6 +29,7 @@
     workstationName?: string; // 宸ヤ綔绔欏悕绉�
     routeId?: number; // 宸ヨ壓璺嚎缂栧彿
     processId?: number; // 宸ュ簭缂栧彿
+    paramTemplateId?: number; // 宸ヨ壓鍙傛暟妯℃澘缂栧彿
     processName?: string; // 宸ュ簭鍚嶇О
     itemId?: number; // 浜у搧鐗╂枡缂栧彿
     itemCode?: string; // 浜у搧缂栫爜
@@ -41,6 +55,10 @@
     checkFlag?: boolean; // 鏄惁璐ㄦ锛堟淳鐢熻嚜宸ヨ壓璺嚎宸ュ簭锛�
     backflushFlag?: boolean; // 鏄惁鍊掑啿锛堟淳鐢熻嚜宸ヨ壓璺嚎宸ュ簭锛�
     remark?: string; // 澶囨敞
+    pauseRecords?: PauseRecord[]; // 鍋滃伐璁板綍
+    reportableQuantity?: number; // 鍙姤宸ユ暟閲�
+    assigneeUserIds?: number[]; // 鎶ュ伐浜�
+    feedbackApprove?: boolean; // 鏄惁鎶ュ伐瀹℃壒锛堟淳鐢熻嚜宸ュ崟锛�
   }
 
   /** MES 鐢熶骇浠诲姟鍒嗛〉鏌ヨ鍙傛暟 */
@@ -158,6 +176,55 @@
 }
 
 /** 鏌ヨ寰呮姤宸ュ彴璐︼紙鍒嗛〉锛� */
+export interface BatchScheduleRequest {
+  workOrderIds: number[];
+  startTime: string;
+  previewHash?: string;
+  previewTime?: string;
+  allowLate?: boolean;
+}
+
+export interface BatchSchedulePreview {
+  canExecute: boolean;
+  previewHash: string;
+  previewTime: string;
+  warnings: string[];
+  orders: {
+    workOrderId: number;
+    workOrderCode?: string;
+    workOrderName?: string;
+    quantity?: number;
+    taskCount: number;
+    requestDate?: string;
+    endTime?: string;
+    late: boolean;
+    error?: string;
+  }[];
+  tasks: {
+    workOrderId: number;
+    workOrderCode: string;
+    processId: number;
+    processName: string;
+    workstationId: number;
+    workstationName: string;
+    machineryNames: string;
+    quantity: number;
+    hourlyCapacity: number;
+    duration: number;
+    startTime: string;
+    endTime: string;
+  }[];
+}
+
+export function previewBatchSchedule(data: BatchScheduleRequest) {
+  return requestClient.post<BatchSchedulePreview>('/mes/pro/task/auto-schedule/preview', data);
+}
+
+export function executeBatchSchedule(data: BatchScheduleRequest) {
+  return requestClient.post<{ taskIds: number[] }>('/mes/pro/task/auto-schedule', data);
+}
+
+/** 鏌ヨ寰呮姤宸ュ彴璐︼紙鍒嗛〉锛� */
 export function getPendingFeedbackPage(
   params: MesProTaskApi.PendingFeedbackPageParams,
 ) {
@@ -166,3 +233,28 @@
     { params },
   );
 }
+
+/** 鏍规嵁宸ヤ綔绔欏拰鏁伴噺璁$畻鐢熶骇鏃堕暱 */
+export function calculateTaskDuration(workstationId: number, quantity: number) {
+  return requestClient.get<{ duration: number }>(
+    '/mes/pro/task/calculate-duration',
+    { params: { workstationId, quantity } },
+  );
+}
+
+/** 鐢熶骇浠诲姟鍋滃伐璇锋眰鍙傛暟 */
+export interface MesProTaskPauseReqVO {
+  id: number;
+  reason: string;
+  remark?: string;
+}
+
+/** 鐢熶骇浠诲姟鍋滃伐 */
+export function pauseTask(data: MesProTaskPauseReqVO) {
+  return requestClient.put('/mes/pro/task/pause', data);
+}
+
+/** 鐢熶骇浠诲姟澶嶅伐 */
+export function resumeTask(data: { id: number }) {
+  return requestClient.put('/mes/pro/task/resume', data);
+}

--
Gitblit v1.9.3