From a4025834e2304dc57f6e98d58feeb9416bd90609 Mon Sep 17 00:00:00 2001
From: xiaoyi <908147524@qq.com>
Date: 星期四, 20 八月 2026 14:10:49 +0800
Subject: [PATCH] feat 功能变更

---
 src/views/mes/pro/workorder/data.ts |   67 ++++++++++++++++++++++++++++-----
 1 files changed, 57 insertions(+), 10 deletions(-)

diff --git a/src/views/mes/pro/workorder/data.ts b/src/views/mes/pro/workorder/data.ts
index add9af7..e046fdf 100644
--- a/src/views/mes/pro/workorder/data.ts
+++ b/src/views/mes/pro/workorder/data.ts
@@ -1,8 +1,9 @@
-锘縤mport type { VbenFormApi, VbenFormSchema } from '#/adapter/form';
+import type { VbenFormApi, VbenFormSchema } from '#/adapter/form';
 import type { VxeTableGridOptions } from '#/adapter/vxe-table';
 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 type { ErpSaleOrderApi } from '#/api/erp/sale/order';
 
 import { h, markRaw } from 'vue';
 
@@ -23,6 +24,7 @@
   MdItemSelect,
 } from '#/views/mes/md/item/components';
 import { MdVendorSelect } from '#/views/mes/md/vendor/components';
+import { ErpSaleOrderSelect } from '#/views/erp/sale/order/components';
 
 /** 琛ㄥ崟绫诲瀷 */
 export type FormType = 'confirm' | 'create' | 'detail' | 'finish' | 'update';
@@ -200,6 +202,30 @@
       },
     },
     {
+      fieldName: 'saleOrderId',
+      label: '钀ラ攢璁㈠崟',
+      component: markRaw(ErpSaleOrderSelect),
+      componentProps: {
+        disabled: headerReadonly,
+        placeholder: '璇烽�夋嫨钀ラ攢璁㈠崟锛圗RP閿�鍞鍗曪級',
+        // 閫変腑钀ラ攢璁㈠崟鍚庤嚜鍔ㄥ甫鍏ュ鎴�
+        onChange: async (item?: ErpSaleOrderApi.SaleOrder) => {
+          if (!item) {
+            return;
+          }
+          const values = (await formApi?.getValues()) ?? {};
+          if (values.clientId == null && item.customerId) {
+            await formApi?.setFieldValue('clientId', item.customerId);
+          }
+        },
+      },
+      dependencies: {
+        triggerFields: ['orderSourceType'],
+        show: (values) =>
+          values.orderSourceType === MesProWorkOrderSourceTypeEnum.ORDER,
+      },
+    },
+    {
       fieldName: 'vendorId',
       label: '渚涘簲鍟�',
       component: markRaw(MdVendorSelect),
@@ -232,7 +258,7 @@
         disabled: headerReadonly,
         format: 'YYYY-MM-DD',
         placeholder: '璇烽�夋嫨闇�姹傛棩鏈�',
-        valueFormat: 'x',
+        valueFormat: 'YYYY-MM-DD',
       },
       rules: 'required',
     },
@@ -398,6 +424,11 @@
       width: 120,
     },
     {
+      field: 'saleOrderNo',
+      title: '钀ラ攢璁㈠崟鍙�',
+      width: 140,
+    },
+    {
       field: 'requestDate',
       title: '闇�姹傛棩鏈�',
       width: 180,
@@ -411,6 +442,27 @@
         name: 'CellDict',
         props: { type: DICT_TYPE.MES_PRO_WORK_ORDER_STATUS },
       },
+    },
+    {
+      field: 'productionStatus',
+      title: '鐢熶骇鐘舵��',
+      width: 100,
+      cellRender: {
+        name: 'CellDict',
+        props: { type: DICT_TYPE.ORDER_PRODUCTION_STATUS },
+      },
+    },
+    {
+      field: 'processProgressList',
+      title: '宸ュ簭鐢熶骇杩涘害',
+      width: 350,
+      slots: { default: 'processProgressList' },
+    },
+    {
+      field: 'completionProgress',
+      title: '瀹屾垚杩涘害',
+      width: 200,
+      slots: { default: 'completionProgress' },
     },
     {
       field: 'createTime',
@@ -686,14 +738,9 @@
       slots: { default: 'backflushFlag' },
     },
     {
-      field: 'outputItemCode',
-      title: '浜у嚭鐗╂枡缂栫爜',
-      width: 120,
-    },
-    {
-      field: 'outputItemName',
-      title: '浜у嚭鐗╂枡鍚嶇О',
-      width: 120,
+      field: 'outputItemNames',
+      title: '浜у嚭鐗╂枡',
+      width: 160,
     },
     {
       field: 'remark',

--
Gitblit v1.9.3