From d5ee3b5be73472fe9156bec3907c91bb8346326e Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 20 七月 2026 15:33:36 +0800
Subject: [PATCH] 银川 1.新增计量单位后,在物料管理页面中新增物料时,选择单位时没有带出 2.销售订单生成发货通知单按钮权限判断修改

---
 src/views/erp/sale/order/data.ts |  109 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 78 insertions(+), 31 deletions(-)

diff --git a/src/views/erp/sale/order/data.ts b/src/views/erp/sale/order/data.ts
index 4428be2..9aea440 100644
--- a/src/views/erp/sale/order/data.ts
+++ b/src/views/erp/sale/order/data.ts
@@ -6,9 +6,11 @@
 import { z } from '#/adapter/form';
 import { getAccountSimpleList } from '#/api/erp/finance/account';
 import { getItemPage } from '#/api/mdm/item';
-import { getCustomerSimpleList as getCrmCustomerSimpleList } from '#/api/crm/customer';
 import { getSimpleUserList } from '#/api/system/user';
 import { getRangePickerDefaultProps } from '#/utils';
+import CrmCustomerSelect from '#/components/crm-customer-select.vue';
+
+import { markRaw } from 'vue';
 
 /** 琛ㄥ崟绫诲瀷 */
 export type FormType = 'create' | 'detail' | 'edit';
@@ -34,6 +36,35 @@
       },
     },
     {
+      fieldName: 'productionStatus',
+      label: '鐢熶骇鐘舵��',
+      component: 'Input',
+      dependencies: {
+        triggerFields: ['needProduction', 'productionStatus'],
+        show: (values) => {
+          return formType === 'detail' && values.needProduction === 1;
+        },
+      },
+      componentProps: {
+        disabled: true,
+      },
+      slots: { default: 'productionStatus' },
+    },
+    {
+      fieldName: 'productionFinishTime',
+      label: '鐢熶骇瀹屾垚鏃堕棿',
+      component: 'Input',
+      dependencies: {
+        triggerFields: ['productionStatus'],
+        show: (values) => {
+          return formType === 'detail' && values.productionStatus === 1;
+        },
+      },
+      componentProps: {
+        disabled: true,
+      },
+    },
+    {
       fieldName: 'orderTime',
       label: '璁㈠崟鏃堕棿',
       component: 'DatePicker',
@@ -48,14 +79,10 @@
     {
       label: '瀹㈡埛',
       fieldName: 'customerId',
-      component: 'ApiSelect',
+      component: markRaw(CrmCustomerSelect),
       componentProps: {
         placeholder: '璇烽�夋嫨瀹㈡埛',
         allowClear: true,
-        showSearch: true,
-        api: getCrmCustomerSimpleList,
-        labelField: 'name',
-        valueField: 'id',
       },
       rules: 'required',
     },
@@ -201,11 +228,6 @@
       formatter: 'formatAmount3',
     },
     {
-      field: 'productBarCode',
-      title: '鏉$爜',
-      minWidth: 120,
-    },
-    {
       field: 'productUnitName',
       title: '鍗曚綅',
       minWidth: 80,
@@ -219,6 +241,12 @@
       field: 'productUnitName3',
       title: '杈呭崟浣�2',
       minWidth: 80,
+    },
+    {
+      field: 'needProduction',
+      title: '闇�瑕佺敓浜�',
+      minWidth: 100,
+      slots: { default: 'needProduction' },
     },
     {
       field: 'remark',
@@ -270,7 +298,7 @@
     },
     {
       title: '鎿嶄綔',
-      width: 320,
+      width: 80,
       fixed: 'right',
       slots: { default: 'actions' },
       visible: !disabled,
@@ -318,14 +346,10 @@
     {
       fieldName: 'supplierId',
       label: '瀹㈡埛',
-      component: 'ApiSelect',
+      component: markRaw(CrmCustomerSelect),
       componentProps: {
         placeholder: '璇烽�夋嫨瀹㈡埛',
         allowClear: true,
-        showSearch: true,
-        api: getCrmCustomerSimpleList,
-        labelField: 'name',
-        valueField: 'id',
       },
     },
     {
@@ -371,10 +395,24 @@
       componentProps: {
         options: [
           { label: '鏈嚭搴�', value: 0 },
-          { label: '閮ㄥ垎鍑哄簱', value: 1 },
-          { label: '鍏ㄩ儴鍑哄簱', value: 2 },
+          { label: '宸查鐣�', value: 1 },
+          { label: '閮ㄥ垎鍑哄簱', value: 2 },
+          { label: '鍏ㄩ儴鍑哄簱', value: 3 },
         ],
         placeholder: '璇烽�夋嫨鍑哄簱鐘舵��',
+        allowClear: true,
+      },
+    },
+    {
+      fieldName: 'productionStatus',
+      label: '鐢熶骇鐘舵��',
+      component: 'Select',
+      componentProps: {
+        options: [
+          { label: '鏈畬鎴�', value: 0 },
+          { label: '宸插畬鎴�', value: 1 },
+        ],
+        placeholder: '璇烽�夋嫨鐢熶骇鐘舵��',
         allowClear: true,
       },
     },
@@ -445,18 +483,6 @@
       minWidth: 120,
     },
     {
-      field: 'outCount',
-      title: '鍑哄簱鏁伴噺',
-      formatter: 'formatAmount3',
-      minWidth: 120,
-    },
-    {
-      field: 'returnCount',
-      title: '閫�璐ф暟閲�',
-      formatter: 'formatAmount3',
-      minWidth: 120,
-    },
-    {
       field: 'totalProductPrice',
       title: '閲戦鍚堣',
       formatter: 'formatAmount2',
@@ -475,6 +501,20 @@
       minWidth: 120,
     },
     {
+      field: 'outStatus',
+      title: '鍑哄簱鐘舵��',
+      minWidth: 100,
+      fixed: 'right',
+      slots: { default: 'outStatus' },
+    },
+    {
+      field: 'productionStatus',
+      title: '鐢熶骇鐘舵��',
+      minWidth: 100,
+      fixed: 'right',
+      slots: { default: 'productionStatus' },
+    },
+    {
       field: 'status',
       title: '鐘舵��',
       minWidth: 100,
@@ -482,6 +522,13 @@
       slots: { default: 'status' },
     },
     {
+      field: 'needProduction',
+      title: '闇�瑕佺敓浜�',
+      minWidth: 100,
+      fixed: 'right',
+      slots: { default: 'needProduction' },
+    },
+    {
       title: '鎿嶄綔',
       width: 260,
       fixed: 'right',

--
Gitblit v1.9.3