diff --git a/io.sc.platform.core.frontend/src/platform/components/form/WForm.vue b/io.sc.platform.core.frontend/src/platform/components/form/WForm.vue index dfc0d7aa..8449692e 100644 --- a/io.sc.platform.core.frontend/src/platform/components/form/WForm.vue +++ b/io.sc.platform.core.frontend/src/platform/components/form/WForm.vue @@ -31,14 +31,7 @@ import { PageStatusEnum } from '@/platform/components/utils'; const $q = useQuasar(); const attrs = useAttrs(); const props = defineProps({ - colsNum: { type: Number, default: 0 }, - // 不同屏幕尺寸下 colsNum 为 0 时一行显示的字段个数 - screenCols: { - type: Object, - default: () => { - return { xs: 1, sm: 2, md: 3, lg: 4, xl: 6 }; - }, - }, + colsNum: { type: [Number, Object], default: 0 }, colsXGap: { type: Number, default: 8 }, colsYGap: { type: Number, default: 4 }, fields: { @@ -53,6 +46,8 @@ const formRef = ref(); const formStatus = ref(PageStatusEnum.新增); const formModel: any = {}; const formFieldsMap = new Map(); +// 不同屏幕尺寸下 colsNum 为 0 时一行显示的字段个数 +const screenCols = { xs: 1, sm: 2, md: 3, lg: 4, xl: 6 }; const defaultValueHandler = (field) => { if (field.hasOwnProperty('defaultValue') && field.defaultValue !== null && field.defaultValue !== undefined) { @@ -87,15 +82,17 @@ for (const field of props.fields as any) { const formData = reactive(formModel); const screenColsNumComputed = computed(() => { - if (props.colsNum > 0) { + if (typeof props.colsNum === 'number' && props.colsNum > 0) { return props.colsNum; - } else { - return props.screenCols[$q.screen.name]; + } else if (typeof props.colsNum === 'object') { + const screen = { ...screenCols, ...props.colsNum }; + return screen[$q.screen.name]; } + return screenCols[$q.screen.name]; }); const formLayoutComputed = computed(() => { let className = ''; - if (props.colsNum > 0) { + if (typeof props.colsNum === 'number' && props.colsNum > 0) { className = 'grid-cols-' + props.colsNum; } else { className = 'grid-cols-' + screenColsNumComputed.value; diff --git a/io.sc.platform.core.frontend/src/platform/components/grid/WGrid.vue b/io.sc.platform.core.frontend/src/platform/components/grid/WGrid.vue index bae8794a..12b413ea 100644 --- a/io.sc.platform.core.frontend/src/platform/components/grid/WGrid.vue +++ b/io.sc.platform.core.frontend/src/platform/components/grid/WGrid.vue @@ -23,7 +23,7 @@