From b51265aacb3e3adc00be85c159cfee8027f7d40b Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 21 七月 2026 11:04:42 +0800
Subject: [PATCH] 银川 1.销售订单页面、物料管理页面联调
---
src/views/wls/materialstock/components/select-dialog.vue | 2
src/views/erp/sale/order/index.vue | 2
src/views/wls/materialstock/data.ts | 15 ++++---
src/api/wls/productsales/index.ts | 1
src/views/basicData/mdm/data.ts | 12 ++---
src/api/mes/wm/productsales/index.ts | 1
src/views/basicData/mdm/modules/form.vue | 8 +++-
src/views/wls/productsales/data.ts | 25 ++++++++----
8 files changed, 40 insertions(+), 26 deletions(-)
diff --git a/src/api/mes/wm/productsales/index.ts b/src/api/mes/wm/productsales/index.ts
index b0fddcf..08c1e86 100644
--- a/src/api/mes/wm/productsales/index.ts
+++ b/src/api/mes/wm/productsales/index.ts
@@ -14,6 +14,7 @@
clientCode?: string; // 瀹㈡埛缂栫爜
clientName?: string; // 瀹㈡埛鍚嶇О
salesOrderCode?: string; // 閿�鍞鍗曠紪鍙�
+ saleOrderId?: number; // 閿�鍞鍗旾D
salesDate?: number; // 鍑哄簱鏃ユ湡
contactName?: string; // 鏀惰揣浜�
contactTelephone?: string; // 鑱旂郴鏂瑰紡
diff --git a/src/api/wls/productsales/index.ts b/src/api/wls/productsales/index.ts
index 260bad7..a2fee8a 100644
--- a/src/api/wls/productsales/index.ts
+++ b/src/api/wls/productsales/index.ts
@@ -14,6 +14,7 @@
clientCode?: string; // 瀹㈡埛缂栫爜
clientName?: string; // 瀹㈡埛鍚嶇О
salesOrderCode?: string; // 閿�鍞鍗曠紪鍙�
+ saleOrderId?: number; // 閿�鍞鍗旾D
salesDate?: number; // 鍑哄簱鏃ユ湡
contactName?: string; // 鏀惰揣浜�
contactTelephone?: string; // 鑱旂郴鏂瑰紡
diff --git a/src/views/basicData/mdm/data.ts b/src/views/basicData/mdm/data.ts
index c77d66f..29076e7 100644
--- a/src/views/basicData/mdm/data.ts
+++ b/src/views/basicData/mdm/data.ts
@@ -19,7 +19,7 @@
let unitListPromise: Promise<any[]> | null = null;
/** 灏嗘墎骞冲垎绫诲垪琛ㄨ浆涓� TreeSelect 鎵�闇�鐨勬爲褰㈢粨鏋� */
-function buildCategoryTree(list: any[]): any[] {
+export function buildCategoryTree(list: any[]): any[] {
const map = new Map<number, any>();
const roots: any[] = [];
for (const item of list) {
@@ -59,7 +59,7 @@
}
/** 鏂板/淇敼鐨勮〃鍗� */
-export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
+export function useFormSchema(formApi?: VbenFormApi, categoryTreeData: any[] = []): VbenFormSchema[] {
return [
{
component: "Input",
@@ -103,7 +103,7 @@
rules: "required",
},
{
- component: "ApiTreeSelect",
+ component: "TreeSelect",
fieldName: "categoryId",
label: "鐗╂枡鍒嗙被",
rules: "selectRequired",
@@ -111,10 +111,8 @@
placeholder: "璇烽�夋嫨鐗╂枡鍒嗙被",
allowClear: true,
treeDefaultExpandAll: true,
- api: async () => {
- const res = await getItemTypeSimpleList();
- return buildCategoryTree(res || []);
- },
+ treeData: categoryTreeData,
+ fieldNames: { label: 'label', value: 'value', children: 'children' },
},
},
{
diff --git a/src/views/basicData/mdm/modules/form.vue b/src/views/basicData/mdm/modules/form.vue
index 43e149b..c1f5eb7 100644
--- a/src/views/basicData/mdm/modules/form.vue
+++ b/src/views/basicData/mdm/modules/form.vue
@@ -11,7 +11,8 @@
import { createItem, getItem, updateItem } from '#/api/mdm/item';
import { $t } from '#/locales';
-import { useFormSchema, clearUnitListCache } from '../data';
+import { useFormSchema, clearUnitListCache, buildCategoryTree } from '../data';
+import { getItemTypeSimpleList } from '#/api/mes/md/item/type';
defineOptions({ name: "ItemForm" });
@@ -56,8 +57,11 @@
const data = modalApi.getData<MdmItemApi.Item>();
// 娓呴櫎鍗曚綅缂撳瓨锛岀‘淇濊幏鍙栨渶鏂版暟鎹�
clearUnitListCache();
+ // 鍔犺浇鏈�鏂板垎绫绘暟鎹�
+ const categoryRes = await getItemTypeSimpleList();
+ const categoryTreeData = buildCategoryTree(categoryRes || []);
// 璁剧疆 schema锛坒ormApi 宸插垵濮嬪寲锛�
- formApi.setState({ schema: useFormSchema(formApi) });
+ formApi.setState({ schema: useFormSchema(formApi, categoryTreeData) });
if (data?.id) {
// 缂栬緫妯″紡
modalApi.lock();
diff --git a/src/views/erp/sale/order/index.vue b/src/views/erp/sale/order/index.vue
index 985ef0e..2df5b89 100644
--- a/src/views/erp/sale/order/index.vue
+++ b/src/views/erp/sale/order/index.vue
@@ -342,7 +342,7 @@
type: 'link',
icon: 'ant-design:file-protect-outlined',
auth: ['mes:wm-sales-notice:create'],
- ifShow: () => row.status === 20 && (row.canCreateSalesNotice || row.productionStatus === 1),
+ ifShow: () => row.status === 20 && row.canCreateSalesNotice,
onClick: handleGenerateNotice.bind(null, row),
},
{
diff --git a/src/views/wls/materialstock/components/select-dialog.vue b/src/views/wls/materialstock/components/select-dialog.vue
index 477359d..cc5e91c 100644
--- a/src/views/wls/materialstock/components/select-dialog.vue
+++ b/src/views/wls/materialstock/components/select-dialog.vue
@@ -161,7 +161,7 @@
// 榛樿鏌ユ湭鍐荤粨
frozen: false,
itemTypeId: searchItemTypeId.value,
- itemId: formValues.mdmItemId ?? props.mdmItemId,
+ itemId: props.mdmItemId,
warehouseId: formValues.warehouseId ?? props.warehouseId,
virtualFilter:
props.virtualFilter === 'all' ? undefined : props.virtualFilter,
diff --git a/src/views/wls/materialstock/data.ts b/src/views/wls/materialstock/data.ts
index 4befafd..3efe144 100644
--- a/src/views/wls/materialstock/data.ts
+++ b/src/views/wls/materialstock/data.ts
@@ -8,7 +8,6 @@
import { DICT_TYPE } from '@vben/constants';
import { MdItemSelect } from '#/views/mes/md/item/components';
-import { MdVendorSelect } from '#/views/mes/md/vendor/components';
import {
WmWarehouseAreaSelect,
@@ -197,19 +196,21 @@
export function useSelectGridFormSchema(): VbenFormSchema[] {
return [
{
- fieldName: 'itemId',
+ fieldName: 'itemName',
label: '鐗╂枡',
- component: markRaw(MdItemSelect),
+ component: 'Input',
componentProps: {
- placeholder: '璇烽�夋嫨鐗╂枡',
+ allowClear: true,
+ placeholder: '璇疯緭鍏ョ墿鏂欏悕绉�',
},
},
{
- fieldName: 'vendorId',
+ fieldName: 'vendorName',
label: '渚涘簲鍟�',
- component: markRaw(MdVendorSelect),
+ component: 'Input',
componentProps: {
- placeholder: '璇烽�夋嫨渚涘簲鍟�',
+ allowClear: true,
+ placeholder: '璇疯緭鍏ヤ緵搴斿晢鍚嶇О',
},
},
{
diff --git a/src/views/wls/productsales/data.ts b/src/views/wls/productsales/data.ts
index ed70c62..31a2dec 100644
--- a/src/views/wls/productsales/data.ts
+++ b/src/views/wls/productsales/data.ts
@@ -139,14 +139,6 @@
},
},
{
- fieldName: 'salesOrderCode',
- component: 'Input',
- dependencies: {
- triggerFields: [''],
- show: () => false,
- },
- },
- {
fieldName: 'saleOrderId',
label: '閿�鍞鍗曠紪鍙�',
component: markRaw(ErpSaleOrderSelect),
@@ -163,6 +155,23 @@
},
},
rules: 'selectRequired',
+ dependencies: {
+ triggerFields: ['salesOrderCode'],
+ if: () => formType === 'create',
+ },
+ },
+ {
+ fieldName: 'salesOrderCode',
+ label: '閿�鍞鍗曠紪鍙�',
+ component: 'Input',
+ componentProps: {
+ disabled: true,
+ placeholder: '閿�鍞鍗曠紪鍙�',
+ },
+ dependencies: {
+ triggerFields: [''],
+ if: () => formType !== 'create',
+ },
},
{
fieldName: 'salesDate',
--
Gitblit v1.9.3