From 3e6d9cb1cdca9af643baaee68192a4a71c300947 Mon Sep 17 00:00:00 2001 From: xingyu4j Date: Mon, 28 Apr 2025 11:42:33 +0800 Subject: [PATCH] feat: add useVbenForm common config class --- apps/web-antd/src/views/bpm/category/data.ts | 1 - apps/web-antd/src/views/infra/config/modules/form.vue | 7 +++++++ .../src/views/infra/dataSourceConfig/modules/form.vue | 7 +++++++ .../src/views/infra/demo/demo01/modules/form.vue | 7 +++++++ apps/web-antd/src/views/infra/demo/demo02/data.ts | 1 - .../src/views/infra/demo/demo02/modules/form.vue | 7 +++++++ .../demo/demo03/erp/modules/demo03-course-form.vue | 7 +++++++ .../demo/demo03/erp/modules/demo03-grade-form.vue | 7 +++++++ .../src/views/infra/demo/demo03/erp/modules/form.vue | 7 +++++++ .../views/infra/demo/demo03/inner/modules/form.vue | 7 +++++++ .../views/infra/demo/demo03/normal/modules/form.vue | 7 +++++++ apps/web-antd/src/views/infra/file/modules/form.vue | 11 ++++++++--- apps/web-antd/src/views/infra/fileConfig/data.ts | 2 -- .../src/views/infra/fileConfig/modules/form.vue | 6 +++++- apps/web-antd/src/views/infra/job/data.ts | 3 --- apps/web-antd/src/views/infra/job/modules/form.vue | 10 +++++++--- apps/web-antd/src/views/system/dict/data.ts | 1 - apps/web-antd/src/views/system/menu/data.ts | 1 - .../web-antd/src/views/system/notify/template/data.ts | 1 - apps/web-antd/src/views/system/role/modules/form.vue | 2 ++ 20 files changed, 85 insertions(+), 17 deletions(-) diff --git a/apps/web-antd/src/views/bpm/category/data.ts b/apps/web-antd/src/views/bpm/category/data.ts index cc7b6504a..179eefc02 100644 --- a/apps/web-antd/src/views/bpm/category/data.ts +++ b/apps/web-antd/src/views/bpm/category/data.ts @@ -63,7 +63,6 @@ export function useFormSchema(): VbenFormSchema[] { component: 'InputNumber', componentProps: { min: 0, - class: 'w-full', controlsPosition: 'right', placeholder: '请输入分类排序', }, diff --git a/apps/web-antd/src/views/infra/config/modules/form.vue b/apps/web-antd/src/views/infra/config/modules/form.vue index e52d9192e..389648c65 100644 --- a/apps/web-antd/src/views/infra/config/modules/form.vue +++ b/apps/web-antd/src/views/infra/config/modules/form.vue @@ -22,6 +22,13 @@ const getTitle = computed(() => { }); const [Form, formApi] = useVbenForm({ + commonConfig: { + componentProps: { + class: 'w-full', + }, + formItemClass: 'col-span-2', + labelWidth: 80, + }, layout: 'horizontal', schema: useFormSchema(), showDefaultActions: false, diff --git a/apps/web-antd/src/views/infra/dataSourceConfig/modules/form.vue b/apps/web-antd/src/views/infra/dataSourceConfig/modules/form.vue index 4439400a2..ab66b86be 100644 --- a/apps/web-antd/src/views/infra/dataSourceConfig/modules/form.vue +++ b/apps/web-antd/src/views/infra/dataSourceConfig/modules/form.vue @@ -26,6 +26,13 @@ const getTitle = computed(() => { }); const [Form, formApi] = useVbenForm({ + commonConfig: { + componentProps: { + class: 'w-full', + }, + formItemClass: 'col-span-2', + labelWidth: 80, + }, layout: 'horizontal', schema: useFormSchema(), showDefaultActions: false, diff --git a/apps/web-antd/src/views/infra/demo/demo01/modules/form.vue b/apps/web-antd/src/views/infra/demo/demo01/modules/form.vue index 452fc7046..b9b5ea2db 100644 --- a/apps/web-antd/src/views/infra/demo/demo01/modules/form.vue +++ b/apps/web-antd/src/views/infra/demo/demo01/modules/form.vue @@ -26,6 +26,13 @@ const getTitle = computed(() => { }); const [Form, formApi] = useVbenForm({ + commonConfig: { + componentProps: { + class: 'w-full', + }, + formItemClass: 'col-span-2', + labelWidth: 80, + }, layout: 'horizontal', schema: useFormSchema(), showDefaultActions: false, diff --git a/apps/web-antd/src/views/infra/demo/demo02/data.ts b/apps/web-antd/src/views/infra/demo/demo02/data.ts index 73aaec1a7..adf23bced 100644 --- a/apps/web-antd/src/views/infra/demo/demo02/data.ts +++ b/apps/web-antd/src/views/infra/demo/demo02/data.ts @@ -36,7 +36,6 @@ export function useFormSchema(): VbenFormSchema[] { }); return handleTree(data); }, - class: 'w-full', labelField: 'name', valueField: 'id', childrenField: 'children', diff --git a/apps/web-antd/src/views/infra/demo/demo02/modules/form.vue b/apps/web-antd/src/views/infra/demo/demo02/modules/form.vue index f3d5114b2..3d38f5bae 100644 --- a/apps/web-antd/src/views/infra/demo/demo02/modules/form.vue +++ b/apps/web-antd/src/views/infra/demo/demo02/modules/form.vue @@ -31,6 +31,13 @@ const getTitle = computed(() => { }); const [Form, formApi] = useVbenForm({ + commonConfig: { + componentProps: { + class: 'w-full', + }, + formItemClass: 'col-span-2', + labelWidth: 80, + }, layout: 'horizontal', schema: useFormSchema(), showDefaultActions: false, diff --git a/apps/web-antd/src/views/infra/demo/demo03/erp/modules/demo03-course-form.vue b/apps/web-antd/src/views/infra/demo/demo03/erp/modules/demo03-course-form.vue index 2d208959c..d98f4fa1b 100644 --- a/apps/web-antd/src/views/infra/demo/demo03/erp/modules/demo03-course-form.vue +++ b/apps/web-antd/src/views/infra/demo/demo03/erp/modules/demo03-course-form.vue @@ -26,6 +26,13 @@ const getTitle = computed(() => { }); const [Form, formApi] = useVbenForm({ + commonConfig: { + componentProps: { + class: 'w-full', + }, + formItemClass: 'col-span-2', + labelWidth: 80, + }, layout: 'horizontal', schema: useDemo03CourseFormSchema(), showDefaultActions: false, diff --git a/apps/web-antd/src/views/infra/demo/demo03/erp/modules/demo03-grade-form.vue b/apps/web-antd/src/views/infra/demo/demo03/erp/modules/demo03-grade-form.vue index 153daadc5..4b134e203 100644 --- a/apps/web-antd/src/views/infra/demo/demo03/erp/modules/demo03-grade-form.vue +++ b/apps/web-antd/src/views/infra/demo/demo03/erp/modules/demo03-grade-form.vue @@ -26,6 +26,13 @@ const getTitle = computed(() => { }); const [Form, formApi] = useVbenForm({ + commonConfig: { + componentProps: { + class: 'w-full', + }, + formItemClass: 'col-span-2', + labelWidth: 80, + }, layout: 'horizontal', schema: useDemo03GradeFormSchema(), showDefaultActions: false, diff --git a/apps/web-antd/src/views/infra/demo/demo03/erp/modules/form.vue b/apps/web-antd/src/views/infra/demo/demo03/erp/modules/form.vue index f72017656..8fee6aa28 100644 --- a/apps/web-antd/src/views/infra/demo/demo03/erp/modules/form.vue +++ b/apps/web-antd/src/views/infra/demo/demo03/erp/modules/form.vue @@ -26,6 +26,13 @@ const getTitle = computed(() => { }); const [Form, formApi] = useVbenForm({ + commonConfig: { + componentProps: { + class: 'w-full', + }, + formItemClass: 'col-span-2', + labelWidth: 80, + }, layout: 'horizontal', schema: useFormSchema(), showDefaultActions: false, diff --git a/apps/web-antd/src/views/infra/demo/demo03/inner/modules/form.vue b/apps/web-antd/src/views/infra/demo/demo03/inner/modules/form.vue index c834daee7..1c5e65090 100644 --- a/apps/web-antd/src/views/infra/demo/demo03/inner/modules/form.vue +++ b/apps/web-antd/src/views/infra/demo/demo03/inner/modules/form.vue @@ -33,6 +33,13 @@ const demo03CourseFormRef = ref>(); const demo03GradeFormRef = ref>(); const [Form, formApi] = useVbenForm({ + commonConfig: { + componentProps: { + class: 'w-full', + }, + formItemClass: 'col-span-2', + labelWidth: 80, + }, layout: 'horizontal', schema: useFormSchema(), showDefaultActions: false, diff --git a/apps/web-antd/src/views/infra/demo/demo03/normal/modules/form.vue b/apps/web-antd/src/views/infra/demo/demo03/normal/modules/form.vue index 0eaa4ab62..520226889 100644 --- a/apps/web-antd/src/views/infra/demo/demo03/normal/modules/form.vue +++ b/apps/web-antd/src/views/infra/demo/demo03/normal/modules/form.vue @@ -33,6 +33,13 @@ const demo03CourseFormRef = ref>(); const demo03GradeFormRef = ref>(); const [Form, formApi] = useVbenForm({ + commonConfig: { + componentProps: { + class: 'w-full', + }, + formItemClass: 'col-span-2', + labelWidth: 80, + }, layout: 'horizontal', schema: useFormSchema(), showDefaultActions: false, diff --git a/apps/web-antd/src/views/infra/file/modules/form.vue b/apps/web-antd/src/views/infra/file/modules/form.vue index 42992ed3f..9eb497e42 100644 --- a/apps/web-antd/src/views/infra/file/modules/form.vue +++ b/apps/web-antd/src/views/infra/file/modules/form.vue @@ -14,12 +14,17 @@ import { useFormSchema } from '../data'; const emit = defineEmits(['success']); const [Form, formApi] = useVbenForm({ + commonConfig: { + componentProps: { + class: 'w-full', + }, + formItemClass: 'col-span-2', + labelWidth: 80, + hideLabel: true, + }, layout: 'horizontal', schema: useFormSchema().map((item) => ({ ...item, label: '' })), // 去除label showDefaultActions: false, - commonConfig: { - hideLabel: true, - }, }); const [Modal, modalApi] = useVbenModal({ diff --git a/apps/web-antd/src/views/infra/fileConfig/data.ts b/apps/web-antd/src/views/infra/fileConfig/data.ts index bdf80d625..fec4f28f5 100644 --- a/apps/web-antd/src/views/infra/fileConfig/data.ts +++ b/apps/web-antd/src/views/infra/fileConfig/data.ts @@ -36,7 +36,6 @@ export function useFormSchema(): VbenFormSchema[] { componentProps: { options: getDictOptions(DICT_TYPE.INFRA_FILE_STORAGE, 'number'), placeholder: '请选择存储器', - class: 'w-full', }, rules: 'required', dependencies: { @@ -87,7 +86,6 @@ export function useFormSchema(): VbenFormSchema[] { component: 'InputNumber', componentProps: { min: 0, - class: 'w-full', controlsPosition: 'right', placeholder: '请输入主机端口', }, diff --git a/apps/web-antd/src/views/infra/fileConfig/modules/form.vue b/apps/web-antd/src/views/infra/fileConfig/modules/form.vue index 59776c673..a7393833d 100644 --- a/apps/web-antd/src/views/infra/fileConfig/modules/form.vue +++ b/apps/web-antd/src/views/infra/fileConfig/modules/form.vue @@ -27,7 +27,11 @@ const getTitle = computed(() => { const [Form, formApi] = useVbenForm({ commonConfig: { - labelWidth: 120, + componentProps: { + class: 'w-full', + }, + formItemClass: 'col-span-2', + labelWidth: 80, }, layout: 'horizontal', schema: useFormSchema(), diff --git a/apps/web-antd/src/views/infra/job/data.ts b/apps/web-antd/src/views/infra/job/data.ts index 4be98ecb0..953f7ba9f 100644 --- a/apps/web-antd/src/views/infra/job/data.ts +++ b/apps/web-antd/src/views/infra/job/data.ts @@ -65,7 +65,6 @@ export function useFormSchema(): VbenFormSchema[] { componentProps: { placeholder: '请输入重试次数。设置为 0 时,不进行重试', min: 0, - class: 'w-full', }, rules: 'required', }, @@ -76,7 +75,6 @@ export function useFormSchema(): VbenFormSchema[] { componentProps: { placeholder: '请输入重试间隔,单位:毫秒。设置为 0 时,无需间隔', min: 0, - class: 'w-full', }, rules: 'required', }, @@ -87,7 +85,6 @@ export function useFormSchema(): VbenFormSchema[] { componentProps: { placeholder: '请输入监控超时时间,单位:毫秒', min: 0, - class: 'w-full', }, }, ]; diff --git a/apps/web-antd/src/views/infra/job/modules/form.vue b/apps/web-antd/src/views/infra/job/modules/form.vue index 5c81d9f72..31653a8ee 100644 --- a/apps/web-antd/src/views/infra/job/modules/form.vue +++ b/apps/web-antd/src/views/infra/job/modules/form.vue @@ -22,12 +22,16 @@ const getTitle = computed(() => { }); const [Form, formApi] = useVbenForm({ + commonConfig: { + componentProps: { + class: 'w-full', + }, + formItemClass: 'col-span-2', + labelWidth: 80, + }, layout: 'horizontal', schema: useFormSchema(), showDefaultActions: false, - commonConfig: { - labelWidth: 140, - }, }); const [Modal, modalApi] = useVbenModal({ diff --git a/apps/web-antd/src/views/system/dict/data.ts b/apps/web-antd/src/views/system/dict/data.ts index cbbc7f276..78f0ee524 100644 --- a/apps/web-antd/src/views/system/dict/data.ts +++ b/apps/web-antd/src/views/system/dict/data.ts @@ -204,7 +204,6 @@ export function useDataFormSchema(): VbenFormSchema[] { return { api: getSimpleDictTypeList, placeholder: '请输入字典类型', - class: 'w-full', labelField: 'name', valueField: 'type', disabled: !!values.id, diff --git a/apps/web-antd/src/views/system/menu/data.ts b/apps/web-antd/src/views/system/menu/data.ts index 0821ddf92..6b0336e65 100644 --- a/apps/web-antd/src/views/system/menu/data.ts +++ b/apps/web-antd/src/views/system/menu/data.ts @@ -166,7 +166,6 @@ export function useFormSchema(): VbenFormSchema[] { component: 'AutoComplete', componentProps: { allowClear: true, - class: 'w-full', filterOption(input: string, option: { value: string }) { return option.value.toLowerCase().includes(input.toLowerCase()); }, diff --git a/apps/web-antd/src/views/system/notify/template/data.ts b/apps/web-antd/src/views/system/notify/template/data.ts index 123c5fb52..0a347d217 100644 --- a/apps/web-antd/src/views/system/notify/template/data.ts +++ b/apps/web-antd/src/views/system/notify/template/data.ts @@ -200,7 +200,6 @@ export function useSendNotifyFormSchema(): VbenFormSchema[] { component: 'ApiSelect', componentProps: { api: getSimpleUserList, - class: 'w-full', labelField: 'nickname', valueField: 'id', placeholder: '请选择接收人', diff --git a/apps/web-antd/src/views/system/role/modules/form.vue b/apps/web-antd/src/views/system/role/modules/form.vue index ae24bd6f4..30c169844 100644 --- a/apps/web-antd/src/views/system/role/modules/form.vue +++ b/apps/web-antd/src/views/system/role/modules/form.vue @@ -26,6 +26,8 @@ const [Form, formApi] = useVbenForm({ componentProps: { class: 'w-full', }, + formItemClass: 'col-span-2', + labelWidth: 80, }, layout: 'horizontal', schema: useFormSchema(),