From fa42bcb7396e06e335bbbff67f5898b98f8d9aa0 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 24 七月 2026 17:09:28 +0800
Subject: [PATCH] refactor(mes): 移除工单模块中的BOM相关功能

---
 src/views/mes/pro/workorder/modules/form.vue |   52 +++-------------------------------------------------
 1 files changed, 3 insertions(+), 49 deletions(-)

diff --git a/src/views/mes/pro/workorder/modules/form.vue b/src/views/mes/pro/workorder/modules/form.vue
index 891a31e..72d0374 100644
--- a/src/views/mes/pro/workorder/modules/form.vue
+++ b/src/views/mes/pro/workorder/modules/form.vue
@@ -2,7 +2,6 @@
   import type { FormType } from "../data";
 
   import type { MesProWorkOrderApi } from "#/api/mes/pro/workorder";
-  import type { MesProWorkOrderBomApi } from "#/api/mes/pro/workorder/bom";
   import type { MesProWorkOrderProcessApi } from "#/api/mes/pro/workorder/process";
 
   import { computed, ref } from "vue";
@@ -28,7 +27,6 @@
   import { BarcodeDetail } from "#/views/wls/barcode/components";
 
   import { useFormSchema } from "../data";
-  import BomList from "./bom-list.vue";
   import ItemList from "./item-list.vue";
   import ProcessList from "./process-list.vue";
 
@@ -36,7 +34,7 @@
   const formType = ref<FormType>("create");
   const formData = ref<MesProWorkOrderApi.WorkOrder>();
   const originalSnapshot = ref("");
-  const subTabsName = ref("bom");
+  const subTabsName = ref("process");
   const barcodeDetailRef = ref<InstanceType<typeof BarcodeDetail>>();
   const processListRef = ref<InstanceType<typeof ProcessList>>();
   const currentProductId = ref<number>(); // 褰撳墠閫変腑鐨勪骇鍝� ID锛堢敤浜庡伐搴忓姞杞斤級
@@ -125,39 +123,6 @@
       formData.value.code,
       formData.value.name
     );
-  }
-
-  /** 浠� BOM 鐗╂枡琛岄濉瓙璁㈠崟 */
-  async function handleGenerateWorkOrder(
-    bomRow: MesProWorkOrderBomApi.WorkOrderBom
-  ) {
-    const current = formData.value;
-    if (!current) {
-      return;
-    }
-    formData.value = undefined;
-    formType.value = "create";
-    subTabsName.value = "bom";
-    applySchema();
-    await formApi.resetForm();
-    await formApi.setValues({
-      clientId: current.clientId,
-      name: `${bomRow.itemName}銆�${bomRow.quantity}銆�${
-        bomRow.unitMeasureName || ""
-      }`,
-      orderSourceCode: current.orderSourceCode,
-      orderSourceType: current.orderSourceType,
-      parentId: current.id,
-      productId: bomRow.itemId,
-      quantity: bomRow.quantity,
-      requestDate: current.requestDate,
-      type: current.type,
-      vendorId: current.vendorId,
-    });
-    // 璁剧疆褰撳墠浜у搧 ID锛岃Е鍙戝伐搴忓姞杞�
-    currentProductId.value = bomRow.itemId;
-    originalSnapshot.value = JSON.stringify(await formApi.getValues());
-    message.info("宸蹭粠 BOM 鐗╂枡棰勫~瀛愯鍗曪紝璇疯ˉ鍏呰鍗曠紪鐮佺瓑淇℃伅鍚庝繚瀛�");
   }
 
   /** 宸ュ簭鍒楄〃鍙樺寲鍥炶皟 */
@@ -301,7 +266,7 @@
         parentRow?: MesProWorkOrderApi.WorkOrder;
       }>();
       formType.value = data.formType;
-      subTabsName.value = "bom";
+      subTabsName.value = "process";
       tempProcessList.value = [];
       applySchema();
       if (data?.id) {
@@ -335,21 +300,10 @@
          class="w-3/5"
          content-class="!max-h-[80vh] overflow-y-auto">
     <Form class="mx-4" />
-    <!-- BOM / 宸ュ簭 / 鐗╂枡闇�姹� Tab -->
+    <!-- 宸ュ簭 / 鐗╂枡闇�姹� Tab -->
     <template v-if="showTabs">
       <Tabs v-model:active-key="subTabsName"
             class="mx-4">
-        <Tabs.TabPane key="bom"
-                      tab="璁㈠崟 BOM">
-          <BomList v-if="formData?.id"
-                   :form-type="formType"
-                   :work-order="formData"
-                   :work-order-id="formData.id"
-                   @generate-work-order="handleGenerateWorkOrder" />
-          <div v-else class="text-gray-400 text-center py-8">
-            璇峰厛淇濆瓨宸ュ崟鍚庡啀閰嶇疆 BOM
-          </div>
-        </Tabs.TabPane>
         <Tabs.TabPane key="process"
                       tab="宸ュ簭"
                       forceRender>

--
Gitblit v1.9.3