From 6c0b0dd81a98a3163e45f1b5b5417e02af165fd8 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期六, 29 八月 2026 10:04:13 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_pro2.0' into dev_pro2.0

---
 src/api/mes/pro/feedback/index.ts |  132 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 127 insertions(+), 5 deletions(-)

diff --git a/src/api/mes/pro/feedback/index.ts b/src/api/mes/pro/feedback/index.ts
index c79b9f6..0580b85 100644
--- a/src/api/mes/pro/feedback/index.ts
+++ b/src/api/mes/pro/feedback/index.ts
@@ -1,8 +1,23 @@
-锘縤mport type { PageParam, PageResult } from '../../../../packages/effects/request/src';
+import type { PageParam, PageResult } from '@vben/request';
 
 import { requestClient } from '#/api/request';
 
 export namespace MesProFeedbackApi {
+  export interface FeedbackSubmitReqVO {
+    id: number;
+    produceDate?: string;
+    expireDate?: string;
+    receiptDate?: string;
+    vendorId?: number;
+    clientId?: number;
+    purchaseOrderCode?: string;
+    salesOrderCode?: string;
+    toolId?: number;
+    moldId?: number;
+    lotNumber?: string;
+    qualityStatus?: number;
+  }
+
   /** MES 鐢熶骇鎶ュ伐 */
   export interface Feedback {
     id?: number;
@@ -47,6 +62,21 @@
     remark?: string; // 澶囨敞
     creator?: string; // 鍒涘缓浜�
     createTime?: number; // 鍒涘缓鏃堕棿
+    processInstanceId?: string; // BPM 娴佺▼瀹炰緥缂栧彿
+    processDefinitionKey?: string; // BPM 娴佺▼瀹氫箟 Key
+    paramValues?: ParamValue[];
+  }
+
+  export interface ParamValue {
+    detailId: number;
+    value?: string;
+    // ---- 鍥炴樉瀛楁锛堟姤宸ヨ鎯�/鍒楄〃杩斿洖锛� ----
+    paramCode?: string;
+    paramName?: string;
+    paramType?: number;
+    unitMeasureName?: string;
+    paramValue?: string;
+    required?: boolean;
   }
 
   /** MES 鐢熶骇鎶ュ伐鍒嗛〉鏌ヨ鍙傛暟 */
@@ -54,6 +84,8 @@
     code?: string;
     type?: number;
     workOrderId?: number;
+    taskId?: number;
+    taskCode?: string;
     itemId?: number;
     feedbackUserId?: number;
     creator?: string;
@@ -98,8 +130,8 @@
 }
 
 /** 鎻愪氦鐢熶骇鎶ュ伐 */
-export function submitFeedback(id: number) {
-  return requestClient.put(`/mes/pro/feedback/submit?id=${id}`);
+export function submitFeedback(data: MesProFeedbackApi.FeedbackSubmitReqVO) {
+  return requestClient.put(`/mes/pro/feedback/submit`, data);
 }
 
 /** 椹冲洖鐢熶骇鎶ュ伐 */
@@ -108,6 +140,96 @@
 }
 
 /** 瀹℃壒鐢熶骇鎶ュ伐锛堣繑鍥炴槸鍚﹀凡瀹℃壒瀹屾垚锛� */
-export function approveFeedback(id: number) {
-  return requestClient.put<boolean>(`/mes/pro/feedback/approve?id=${id}`);
+export function approveFeedback(data: { id: number; [key: string]: unknown }) {
+  return requestClient.put<boolean>(`/mes/pro/feedback/approve`, data);
+}
+
+/** 鎵规闇�姹傛鏌ュ搷搴� */
+export interface BatchCheckResp {
+  needBatchInput?: boolean;
+  isBatchManaged?: boolean;
+  produceDateFlag?: boolean;
+  expireDateFlag?: boolean;
+  receiptDateFlag?: boolean;
+  vendorFlag?: boolean;
+  clientFlag?: boolean;
+  salesOrderCodeFlag?: boolean;
+  purchaseOrderCodeFlag?: boolean;
+  workOrderFlag?: boolean;
+  taskFlag?: boolean;
+  workstationFlag?: boolean;
+  toolFlag?: boolean;
+  moldFlag?: boolean;
+  lotNumberFlag?: boolean;
+  qualityStatusFlag?: boolean;
+  autoFilledFields?: string[];
+}
+
+/** 妫�鏌ユ姤宸ュ鎵瑰墠鏄惁闇�瑕佸~鍐欐壒娆″睘鎬� */
+export function getBatchRequirements(feedbackId: number) {
+  return requestClient.get<BatchCheckResp>(
+    `/mes/pro/feedback/batch-requirements`,
+    { params: { id: feedbackId } },
+  );
+}
+
+/** 蹇�熸姤宸ヨ姹� */
+export interface QuickCreateReq {
+  taskId: number;
+  paramValues?: MesProFeedbackApi.ParamValue[];
+  feedbackQuantity: number;
+  remark?: string;
+}
+
+/** 蹇�熸姤宸ュ搷搴� */
+export interface QuickCreateResp {
+  feedbackId?: number;
+  taskStatus?: number;
+  workOrderStatus?: number;
+  /** 鎶ュ伐鍚庡墿浣欏彲鎶ュ伐鏁伴噺 */
+  reportableQuantity?: number;
+}
+
+/** 鎵归噺鎶ュ伐璇锋眰 */
+export interface BatchCreateReq {
+  taskIds: number[];
+  feedbackQuantity: number;
+  remark?: string;
+}
+
+/** 鎵归噺鎶ュ伐鍝嶅簲 */
+export interface BatchCreateResp {
+  successCount?: number;
+  failCount?: number;
+  results?: BatchResult[];
+}
+
+export interface BatchResult {
+  taskId?: number;
+  success?: boolean;
+  feedbackId?: number;
+  errorMsg?: string;
+}
+
+/** 蹇�熸姤宸ワ紙鍒涘缓骞舵彁浜わ級 */
+export function quickCreateFeedback(data: QuickCreateReq) {
+  return requestClient.post<QuickCreateResp>(
+    '/mes/pro/feedback/quick-create',
+    data,
+  );
+}
+
+/** 鎵归噺鎶ュ伐 */
+export function batchCreateFeedback(data: BatchCreateReq) {
+  return requestClient.post<BatchCreateResp>(
+    '/mes/pro/feedback/batch-create',
+    data,
+  );
+}
+
+/** 鎸変换鍔℃煡璇㈡姤宸ュ巻鍙� */
+export function getFeedbackListByTask(taskId: number) {
+  return requestClient.get<MesProFeedbackApi.Feedback[]>(
+    `/mes/pro/feedback/list-by-task?taskId=${taskId}`,
+  );
 }

--
Gitblit v1.9.3