diff --git a/apps/web-antd/src/views/wms/md/item/brand/components/index.ts b/apps/web-antd/src/views/wms/md/item/brand/components/index.ts
new file mode 100644
index 000000000..98419d2fc
--- /dev/null
+++ b/apps/web-antd/src/views/wms/md/item/brand/components/index.ts
@@ -0,0 +1 @@
+export { default as WmsItemBrandSelect } from './item-brand-select.vue';
diff --git a/apps/web-antd/src/views/wms/md/item/brand/components/item-brand-select.vue b/apps/web-antd/src/views/wms/md/item/brand/components/item-brand-select.vue
new file mode 100644
index 000000000..65b240468
--- /dev/null
+++ b/apps/web-antd/src/views/wms/md/item/brand/components/item-brand-select.vue
@@ -0,0 +1,85 @@
+
+
+
+
+
diff --git a/apps/web-antd/src/views/wms/md/item/brand/data.ts b/apps/web-antd/src/views/wms/md/item/brand/data.ts
new file mode 100644
index 000000000..5865a1215
--- /dev/null
+++ b/apps/web-antd/src/views/wms/md/item/brand/data.ts
@@ -0,0 +1,107 @@
+import type { VbenFormSchema } from '#/adapter/form';
+import type { VxeTableGridOptions } from '#/adapter/vxe-table';
+
+import { h } from 'vue';
+
+import { Button } from 'ant-design-vue';
+
+import { z } from '#/adapter/form';
+import { generateWmsCode } from '#/views/wms/utils/constants';
+
+/** 新增/修改商品品牌的表单 */
+export function useFormSchema(formApi?: any): VbenFormSchema[] {
+ return [
+ {
+ component: 'Input',
+ fieldName: 'id',
+ dependencies: {
+ triggerFields: [''],
+ show: () => false,
+ },
+ },
+ {
+ fieldName: 'code',
+ label: '品牌编号',
+ component: 'Input',
+ componentProps: {
+ maxLength: 20,
+ placeholder: '请输入品牌编号',
+ },
+ rules: z.string().min(1, '品牌编号不能为空').max(20),
+ suffix: () => {
+ return h(
+ Button,
+ {
+ type: 'default',
+ onClick: () => {
+ formApi?.setFieldValue('code', generateWmsCode('B'));
+ },
+ },
+ { default: () => '生成' },
+ );
+ },
+ },
+ {
+ fieldName: 'name',
+ label: '品牌名称',
+ component: 'Input',
+ componentProps: {
+ maxLength: 30,
+ placeholder: '请输入品牌名称',
+ },
+ rules: z.string().min(1, '品牌名称不能为空').max(30),
+ },
+ ];
+}
+
+/** 列表的搜索表单 */
+export function useGridFormSchema(): VbenFormSchema[] {
+ return [
+ {
+ fieldName: 'code',
+ label: '品牌编号',
+ component: 'Input',
+ componentProps: {
+ allowClear: true,
+ placeholder: '请输入品牌编号',
+ },
+ },
+ {
+ fieldName: 'name',
+ label: '品牌名称',
+ component: 'Input',
+ componentProps: {
+ allowClear: true,
+ placeholder: '请输入品牌名称',
+ },
+ },
+ ];
+}
+
+/** 列表的字段 */
+export function useGridColumns(): VxeTableGridOptions['columns'] {
+ return [
+ {
+ field: 'code',
+ title: '品牌编号',
+ width: 160,
+ },
+ {
+ field: 'name',
+ title: '品牌名称',
+ minWidth: 160,
+ },
+ {
+ field: 'createTime',
+ title: '创建时间',
+ width: 180,
+ formatter: 'formatDateTime',
+ },
+ {
+ title: '操作',
+ width: 160,
+ fixed: 'right',
+ slots: { default: 'actions' },
+ },
+ ];
+}
diff --git a/apps/web-antd/src/views/wms/md/item/brand/index.vue b/apps/web-antd/src/views/wms/md/item/brand/index.vue
new file mode 100644
index 000000000..867620990
--- /dev/null
+++ b/apps/web-antd/src/views/wms/md/item/brand/index.vue
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/web-antd/src/views/wms/md/item/brand/modules/form.vue b/apps/web-antd/src/views/wms/md/item/brand/modules/form.vue
new file mode 100644
index 000000000..8b69b50be
--- /dev/null
+++ b/apps/web-antd/src/views/wms/md/item/brand/modules/form.vue
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
diff --git a/apps/web-ele/src/views/wms/md/item/brand/components/index.ts b/apps/web-ele/src/views/wms/md/item/brand/components/index.ts
new file mode 100644
index 000000000..98419d2fc
--- /dev/null
+++ b/apps/web-ele/src/views/wms/md/item/brand/components/index.ts
@@ -0,0 +1 @@
+export { default as WmsItemBrandSelect } from './item-brand-select.vue';
diff --git a/apps/web-ele/src/views/wms/md/item/brand/components/item-brand-select.vue b/apps/web-ele/src/views/wms/md/item/brand/components/item-brand-select.vue
new file mode 100644
index 000000000..0c90835ae
--- /dev/null
+++ b/apps/web-ele/src/views/wms/md/item/brand/components/item-brand-select.vue
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
diff --git a/apps/web-ele/src/views/wms/md/item/brand/data.ts b/apps/web-ele/src/views/wms/md/item/brand/data.ts
new file mode 100644
index 000000000..cebea33e7
--- /dev/null
+++ b/apps/web-ele/src/views/wms/md/item/brand/data.ts
@@ -0,0 +1,107 @@
+import type { VbenFormSchema } from '#/adapter/form';
+import type { VxeTableGridOptions } from '#/adapter/vxe-table';
+
+import { h } from 'vue';
+
+import { ElButton } from 'element-plus';
+
+import { z } from '#/adapter/form';
+import { generateWmsCode } from '#/views/wms/utils/constants';
+
+/** 新增/修改商品品牌的表单 */
+export function useFormSchema(formApi?: any): VbenFormSchema[] {
+ return [
+ {
+ component: 'Input',
+ fieldName: 'id',
+ dependencies: {
+ triggerFields: [''],
+ show: () => false,
+ },
+ },
+ {
+ fieldName: 'code',
+ label: '品牌编号',
+ component: 'Input',
+ componentProps: {
+ maxLength: 20,
+ placeholder: '请输入品牌编号',
+ },
+ rules: z.string().min(1, '品牌编号不能为空').max(20),
+ suffix: () => {
+ return h(
+ ElButton,
+ {
+ type: 'default',
+ onClick: () => {
+ formApi?.setFieldValue('code', generateWmsCode('B'));
+ },
+ },
+ { default: () => '生成' },
+ );
+ },
+ },
+ {
+ fieldName: 'name',
+ label: '品牌名称',
+ component: 'Input',
+ componentProps: {
+ maxLength: 30,
+ placeholder: '请输入品牌名称',
+ },
+ rules: z.string().min(1, '品牌名称不能为空').max(30),
+ },
+ ];
+}
+
+/** 列表的搜索表单 */
+export function useGridFormSchema(): VbenFormSchema[] {
+ return [
+ {
+ fieldName: 'code',
+ label: '品牌编号',
+ component: 'Input',
+ componentProps: {
+ clearable: true,
+ placeholder: '请输入品牌编号',
+ },
+ },
+ {
+ fieldName: 'name',
+ label: '品牌名称',
+ component: 'Input',
+ componentProps: {
+ clearable: true,
+ placeholder: '请输入品牌名称',
+ },
+ },
+ ];
+}
+
+/** 列表的字段 */
+export function useGridColumns(): VxeTableGridOptions['columns'] {
+ return [
+ {
+ field: 'code',
+ title: '品牌编号',
+ width: 160,
+ },
+ {
+ field: 'name',
+ title: '品牌名称',
+ minWidth: 160,
+ },
+ {
+ field: 'createTime',
+ title: '创建时间',
+ width: 180,
+ formatter: 'formatDateTime',
+ },
+ {
+ title: '操作',
+ width: 160,
+ fixed: 'right',
+ slots: { default: 'actions' },
+ },
+ ];
+}
diff --git a/apps/web-ele/src/views/wms/md/item/brand/index.vue b/apps/web-ele/src/views/wms/md/item/brand/index.vue
new file mode 100644
index 000000000..65966fb05
--- /dev/null
+++ b/apps/web-ele/src/views/wms/md/item/brand/index.vue
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/web-ele/src/views/wms/md/item/brand/modules/form.vue b/apps/web-ele/src/views/wms/md/item/brand/modules/form.vue
new file mode 100644
index 000000000..2630f0493
--- /dev/null
+++ b/apps/web-ele/src/views/wms/md/item/brand/modules/form.vue
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+