From 46624ce480a3c14da21f39cc4ad5f7eecea2bb1e Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期四, 17 九月 2026 16:24:28 +0800
Subject: [PATCH] feat(mes): 优化生产批次和袋码管理功能
---
src/views/basicData/mdm/data.ts | 94 ++++++++++++-----------------------------------
1 files changed, 24 insertions(+), 70 deletions(-)
diff --git a/src/views/basicData/mdm/data.ts b/src/views/basicData/mdm/data.ts
index a9d6ca9..94837a7 100644
--- a/src/views/basicData/mdm/data.ts
+++ b/src/views/basicData/mdm/data.ts
@@ -9,7 +9,6 @@
import { z } from '#/adapter/form';
import { generateAutoCode } from '#/api/mes/md/autocode/record';
import { MesAutoCodeRuleCode } from '@vben/constants';
-import { getItemTypeSimpleList } from '#/api/mes/md/item/type';
import { getUnitPage } from '#/api/mdm/unit';
import { getWarehouseSimpleList } from '#/api/mes/wm/warehouse';
@@ -22,24 +21,6 @@
// 缂撳瓨浠撳簱鍒楄〃
let warehouseListCache: any[] | null = null;
let warehouseListPromise: Promise<any[]> | null = null;
-
-/** 灏嗘墎骞冲垎绫诲垪琛ㄨ浆涓� TreeSelect 鎵�闇�鐨勬爲褰㈢粨鏋� */
-export function buildCategoryTree(list: any[]): any[] {
- const map = new Map<number, any>();
- const roots: any[] = [];
- for (const item of list) {
- map.set(item.id, { label: item.name, value: item.id, children: [] });
- }
- for (const item of list) {
- const node = map.get(item.id)!;
- if (item.parentId && map.has(item.parentId)) {
- map.get(item.parentId)!.children.push(node);
- } else {
- roots.push(node);
- }
- }
- return roots;
-}
/** 鑾峰彇鍗曚綅鍒楄〃锛堝甫缂撳瓨锛� */
async function getUnitListCached() {
@@ -82,7 +63,7 @@
}
/** 鏂板/淇敼鐨勮〃鍗� */
-export function useFormSchema(formApi?: VbenFormApi, categoryTreeData: any[] = []): VbenFormSchema[] {
+export function useFormSchema(formApi?: VbenFormApi): VbenFormSchema[] {
return [
{
component: "Input",
@@ -95,12 +76,12 @@
{
component: "Input",
fieldName: "code",
- label: "鐗╂枡缂栫爜",
+ label: "鍝佺缂栫爜",
componentProps: {
maxLength: 64,
- placeholder: "璇疯緭鍏ョ墿鏂欑紪鐮�",
+ placeholder: "璇疯緭鍏ュ搧绉嶇紪鐮�",
},
- rules: z.string().min(1, '鐗╂枡缂栫爜涓嶈兘涓虹┖').max(64),
+ rules: z.string().min(1, '鍝佺缂栫爜涓嶈兘涓虹┖').max(64),
suffix: () =>
h(
Button,
@@ -119,24 +100,11 @@
{
component: "Input",
fieldName: "name",
- label: "鐗╂枡鍚嶇О",
+ label: "鍝佺鍚嶇О",
componentProps: {
- placeholder: "璇疯緭鍏ョ墿鏂欏悕绉�",
+ placeholder: "璇疯緭鍏ュ搧绉嶅悕绉�",
},
rules: "required",
- },
- {
- component: "TreeSelect",
- fieldName: "categoryId",
- label: "鐗╂枡鍒嗙被",
- rules: "selectRequired",
- componentProps: {
- placeholder: "璇烽�夋嫨鐗╂枡鍒嗙被",
- allowClear: true,
- treeDefaultExpandAll: true,
- treeData: categoryTreeData,
- fieldNames: { label: 'label', value: 'value', children: 'children' },
- },
},
{
component: "Input",
@@ -246,17 +214,6 @@
},
{
component: "InputNumber",
- fieldName: "purchasePrice",
- label: "閲囪喘浠�",
- componentProps: {
- class: "!w-full",
- min: 0,
- precision: 2,
- placeholder: "璇疯緭鍏ラ噰璐环",
- },
- },
- {
- component: "InputNumber",
fieldName: "salesPrice",
label: "閿�鍞环",
componentProps: {
@@ -331,6 +288,17 @@
min: 0,
placeholder: "璇疯緭鍏ユ湁鏁堟湡",
},
+ },
+ {
+ component: 'Switch',
+ fieldName: 'syncMes',
+ label: '鍚屾鍒癕ES',
+ defaultValue: true,
+ componentProps: {
+ checkedChildren: '鏄�',
+ unCheckedChildren: '鍚�',
+ },
+ rules: z.boolean().default(true),
},
{
component: "RadioGroup",
@@ -481,19 +449,19 @@
return [
{
fieldName: "code",
- label: "鐗╂枡缂栫爜",
+ label: "鍝佺缂栫爜",
component: "Input",
componentProps: {
- placeholder: "璇疯緭鍏ョ墿鏂欑紪鐮�",
+ placeholder: "璇疯緭鍏ュ搧绉嶇紪鐮�",
allowClear: true,
},
},
{
fieldName: "name",
- label: "鐗╂枡鍚嶇О",
+ label: "鍝佺鍚嶇О",
component: "Input",
componentProps: {
- placeholder: "璇疯緭鍏ョ墿鏂欏悕绉�",
+ placeholder: "璇疯緭鍏ュ搧绉嶅悕绉�",
allowClear: true,
},
},
@@ -516,24 +484,18 @@
{ type: "checkbox", width: 40 },
{
field: "code",
- title: "鐗╂枡缂栫爜",
+ title: "鍝佺缂栫爜",
minWidth: 120,
},
{
field: "name",
- title: "鐗╂枡鍚嶇О",
+ title: "鍝佺鍚嶇О",
minWidth: 180,
},
{
field: "specification",
title: "瑙勬牸鍨嬪彿",
minWidth: 150,
- },
- {
- field: "categoryName",
- title: "鐗╂枡鍒嗙被",
- minWidth: 120,
- slots: { default: "categoryName" },
},
{
field: "unitMeasureName",
@@ -566,14 +528,6 @@
minWidth: 100,
},
{
- field: "purchasePrice",
- title: "閲囪喘浠�",
- minWidth: 100,
- formatter: ({ cellValue }) => {
- return cellValue != null ? `楼${Number(cellValue).toFixed(2)}` : "";
- },
- },
- {
field: "salesPrice",
title: "閿�鍞环",
minWidth: 100,
@@ -597,7 +551,7 @@
{
field: "syncedMes",
title: "鍚屾鐘舵��",
- width: 90,
+ width: 100,
fixed: "right",
slots: { default: "syncedMes" },
},
--
Gitblit v1.9.3