From 65d437b708eee84f9c6acd1ac955130bf4d5c734 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期四, 03 九月 2026 15:30:06 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_pro2.0' into dev_pro2.0

---
 src/views/erp/purchase/request/index.vue        |    2 +-
 src/views/erp/purchase/request/modules/form.vue |    9 +++++++++
 src/api/erp/purchase/request/index.ts           |    5 +++++
 3 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/src/api/erp/purchase/request/index.ts b/src/api/erp/purchase/request/index.ts
index 831cb1e..3ba18a9 100644
--- a/src/api/erp/purchase/request/index.ts
+++ b/src/api/erp/purchase/request/index.ts
@@ -61,6 +61,11 @@
   return requestClient.put('/erp/purchase-request/submit', null, { params: { id, processDefinitionKey } });
 }
 
+/** 閲嶇疆琚┏鍥炵殑閲囪喘鐢宠涓鸿崏绋跨姸鎬� */
+export function resetPurchaseRequestStatus(id: number) {
+  return requestClient.put('/erp/purchase-request/reset-status', null, { params: { id } });
+}
+
 /** 鐢熸垚閲囪喘璁㈠崟 */
 export function generatePurchaseOrder(id: number, supplierId: number) {
   return requestClient.post<number>('/erp/purchase-request/generate-order', null, { params: { id, supplierId } });
diff --git a/src/views/erp/purchase/request/index.vue b/src/views/erp/purchase/request/index.vue
index 26539b3..b78590d 100644
--- a/src/views/erp/purchase/request/index.vue
+++ b/src/views/erp/purchase/request/index.vue
@@ -242,7 +242,7 @@
               type: 'link',
               icon: ACTION_ICON.EDIT,
               auth: ['erp:purchase-request:update'],
-              ifShow: () => row.status === 0,
+              ifShow: () => row.status === 0 || Number(row.status) === 30,
               onClick: handleEdit.bind(null, row),
             },
             {
diff --git a/src/views/erp/purchase/request/modules/form.vue b/src/views/erp/purchase/request/modules/form.vue
index 7444f4e..ff87d9a 100644
--- a/src/views/erp/purchase/request/modules/form.vue
+++ b/src/views/erp/purchase/request/modules/form.vue
@@ -13,6 +13,8 @@
 import {
   createPurchaseRequest,
   getPurchaseRequest,
+  resetPurchaseRequestStatus,
+  syncPurchaseRequestStatus,
   updatePurchaseRequest,
 } from '#/api/erp/purchase/request';
 import { $t } from '#/locales';
@@ -88,6 +90,13 @@
       remark: item.remark,
     }));
     try {
+      console.log('[DEBUG] formType:', formType.value, 'status:', formData.value?.status, 'type:', typeof formData.value?.status);
+      if (formType.value === 'edit' && Number(formData.value?.status) !== 0) {
+        if (Number(formData.value?.status) !== 30) {
+          await syncPurchaseRequestStatus([formData.value!]);
+        }
+        await resetPurchaseRequestStatus(formData.value!.id!);
+      }
       await (formType.value === 'create'
         ? createPurchaseRequest(data)
         : updatePurchaseRequest(data));

--
Gitblit v1.9.3