diff --git a/frontend/src/components/FormDesigner/Preview.tsx b/frontend/src/components/FormDesigner/Preview.tsx index 1e9a4f68..8db383e9 100644 --- a/frontend/src/components/FormDesigner/Preview.tsx +++ b/frontend/src/components/FormDesigner/Preview.tsx @@ -90,7 +90,7 @@ const FormPreview = forwardRef(({ fields, form if (fields.length === 0) { return ( -
+
表单为空
); @@ -101,7 +101,7 @@ const FormPreview = forwardRef(({ fields, form const wrapperColSpan = formConfig.labelAlign === 'left' || formConfig.labelAlign === 'right' ? 18 : undefined; return ( -
+
(({ fields, form
{Object.keys(formData).length > 0 && ( -
+

表单数据:

{JSON.stringify(formData, null, 2)}
diff --git a/frontend/src/components/FormDesigner/Renderer.tsx b/frontend/src/components/FormDesigner/Renderer.tsx index bec2e38e..1ca8b9a3 100644 --- a/frontend/src/components/FormDesigner/Renderer.tsx +++ b/frontend/src/components/FormDesigner/Renderer.tsx @@ -224,7 +224,7 @@ const FormRenderer = forwardRef((props, ref) if (fields.length === 0) { return ( -
+
表单为空
); @@ -236,7 +236,7 @@ const FormRenderer = forwardRef((props, ref) return ( -
+
= ({ // 布局组件:文本、分割线 if (field.type === 'text' || field.type === 'divider') { return ( -
+
); diff --git a/frontend/src/components/FormDesigner/components/GridFieldPreview.tsx b/frontend/src/components/FormDesigner/components/GridFieldPreview.tsx index 1480588a..c70b5b29 100644 --- a/frontend/src/components/FormDesigner/components/GridFieldPreview.tsx +++ b/frontend/src/components/FormDesigner/components/GridFieldPreview.tsx @@ -125,7 +125,7 @@ const GridFieldPreview: React.FC = ({ }; return ( -
+
{children.map((columnFields, colIndex) => { const colSpan = getColSpan(colIndex); diff --git a/frontend/src/components/FormDesigner/components/LinkageRuleEditor.tsx b/frontend/src/components/FormDesigner/components/LinkageRuleEditor.tsx index d93e0b10..47ce524d 100644 --- a/frontend/src/components/FormDesigner/components/LinkageRuleEditor.tsx +++ b/frontend/src/components/FormDesigner/components/LinkageRuleEditor.tsx @@ -127,7 +127,7 @@ const LinkageRuleEditor: React.FC = ({
{value.length === 0 ? ( -
+
暂无联动规则,点击上方按钮添加
) : ( diff --git a/frontend/src/components/FormDesigner/components/PropertyPanel.tsx b/frontend/src/components/FormDesigner/components/PropertyPanel.tsx index cf663a5e..376c3d83 100644 --- a/frontend/src/components/FormDesigner/components/PropertyPanel.tsx +++ b/frontend/src/components/FormDesigner/components/PropertyPanel.tsx @@ -178,7 +178,7 @@ const PropertyPanel: React.FC = ({ const renderFieldProperties = () => { if (!selectedField) { return ( -
+
请从画布中选择一个字段
); @@ -202,7 +202,7 @@ const PropertyPanel: React.FC = ({ const CustomConfig = componentMeta.PropertyConfigComponent; console.log('✅ 使用自定义配置组件:', componentMeta.type); return ( -
+
= ({ form={form} layout="vertical" onValuesChange={handleFieldUpdate} - style={{ padding: 16 }} + className="form-property-panel-content" > {/* 布局组件不显示字段标签和字段名称 */} {selectedField.type !== 'divider' && selectedField.type !== 'grid' && selectedField.type !== 'text' && ( @@ -498,7 +498,7 @@ const PropertyPanel: React.FC = ({ -
+
• 单人审批:仅需一人审批
• 会签:所有审批人都必须同意
@@ -746,7 +746,7 @@ const PropertyPanel: React.FC = ({ layout="vertical" initialValues={formConfig} onValuesChange={(_, allValues) => onFormConfigChange(allValues)} - style={{ padding: 16 }} + className="form-property-panel-content" > @@ -796,7 +796,7 @@ const PropertyPanel: React.FC = ({ = ({ value = [],
{value.length === 0 ? ( -
+
暂无验证规则,点击上方按钮添加
) : ( diff --git a/frontend/src/components/FormDesigner/styles.css b/frontend/src/components/FormDesigner/styles.css index ba1b3cfc..5f7091c4 100644 --- a/frontend/src/components/FormDesigner/styles.css +++ b/frontend/src/components/FormDesigner/styles.css @@ -293,3 +293,73 @@ } } +/* 表单渲染器和预览器的紧凑间距样式 */ +.form-renderer-compact .ant-form-item { + margin-bottom: 8px !important; +} + +.form-preview-compact .ant-form-item { + margin-bottom: 8px !important; +} + +/* 栅格内部的字段间距也需要调整 */ +.form-renderer-compact .ant-row .ant-form-item { + margin-bottom: 8px !important; +} + +.form-preview-compact .ant-row .ant-form-item { + margin-bottom: 8px !important; +} + +/* 布局组件的间距 */ +.form-renderer-compact > div > div, +.form-preview-compact > div > div { + margin-bottom: 8px; +} + +/* 通用内边距类 */ +.form-container-padding { + padding: 24px 40px; +} + +.form-empty-state { + padding: 40px; + text-align: center; + color: #8c8c8c; +} + +.form-data-display { + margin-top: 24px; + padding: 16px; + background: #f5f5f5; + border-radius: 4px; +} + +.form-property-panel-empty { + padding: 24px; + text-align: center; + color: #8c8c8c; +} + +.form-property-panel-content { + padding: 16px; +} + +.form-property-info-box { + padding: 8px 12px; + background: #f0f5ff; + border-radius: 4px; + margin-bottom: 16px; +} + +.form-property-nested-indent { + padding: 0 0 0 16px; +} + +.form-empty-list-hint { + padding: 24px 0; + text-align: center; + color: #8c8c8c; + font-size: 12px; +} + diff --git a/frontend/src/pages/Form/Definition/components/CreateModal.tsx b/frontend/src/pages/Form/Definition/components/CreateModal.tsx index d17d2f6a..27770fa3 100644 --- a/frontend/src/pages/Form/Definition/components/CreateModal.tsx +++ b/frontend/src/pages/Form/Definition/components/CreateModal.tsx @@ -212,10 +212,7 @@ const CreateModal: React.FC = ({ visible, onClose, onSuccess } {categories.map(cat => ( -
- - {cat.name} -
+ {cat.name}
))}
diff --git a/frontend/src/pages/Form/Definition/components/EditBasicInfoModal.tsx b/frontend/src/pages/Form/Definition/components/EditBasicInfoModal.tsx index b92102a6..3dc2979f 100644 --- a/frontend/src/pages/Form/Definition/components/EditBasicInfoModal.tsx +++ b/frontend/src/pages/Form/Definition/components/EditBasicInfoModal.tsx @@ -189,10 +189,7 @@ const EditBasicInfoModal: React.FC = ({ visible, record {categories.map(cat => ( -
- - {cat.name} -
+ {cat.name}
))}