|
@@ -12,6 +12,7 @@ import { useNavigate } from 'react-router-dom';
|
|
|
import { useTranslation } from 'react-i18next';
|
|
import { useTranslation } from 'react-i18next';
|
|
|
import dayjs, { Dayjs } from 'dayjs';
|
|
import dayjs, { Dayjs } from 'dayjs';
|
|
|
import { setConfAndFields2, FormCreateData } from '../utils/formCreate';
|
|
import { setConfAndFields2, FormCreateData } from '../utils/formCreate';
|
|
|
|
|
+import FormUploadField from './FormUploadField';
|
|
|
import { dictDataApi, DictDataVO } from '../api/DictData';
|
|
import { dictDataApi, DictDataVO } from '../api/DictData';
|
|
|
// @ts-ignore
|
|
// @ts-ignore
|
|
|
import urgecy1Icon from '../assets/urgecy1.png';
|
|
import urgecy1Icon from '../assets/urgecy1.png';
|
|
@@ -492,6 +493,18 @@ export default function ExecutorDashboard() {
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // 与表单设计器一致:每字段 labelCol/wrapperCol
|
|
|
|
|
+ const getItemLayout = (f: any) => {
|
|
|
|
|
+ const isTop = formConfig.labelPosition === 'top';
|
|
|
|
|
+ const w = f.labelWidth ?? formConfig.labelWidth ?? 100;
|
|
|
|
|
+ const effective = (typeof w === 'number' && w > 0) ? w : 100;
|
|
|
|
|
+ return {
|
|
|
|
|
+ labelCol: isTop ? undefined : { flex: `${effective}px`, style: { minWidth: `${effective}px`, textAlign: formConfig.labelPosition === 'right' ? 'right' : 'left' } },
|
|
|
|
|
+ wrapperCol: isTop ? undefined : { flex: 'auto', style: { minWidth: 0 } },
|
|
|
|
|
+ };
|
|
|
|
|
+ };
|
|
|
|
|
+ const itemLayout = getItemLayout(field);
|
|
|
|
|
+
|
|
|
// 处理普通字段
|
|
// 处理普通字段
|
|
|
switch (field.type) {
|
|
switch (field.type) {
|
|
|
case 'textarea':
|
|
case 'textarea':
|
|
@@ -503,6 +516,8 @@ export default function ExecutorDashboard() {
|
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请输入' }] : []}
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请输入' }] : []}
|
|
|
help={field.hint}
|
|
help={field.hint}
|
|
|
|
|
+ labelCol={itemLayout.labelCol}
|
|
|
|
|
+ wrapperCol={itemLayout.wrapperCol}
|
|
|
>
|
|
>
|
|
|
<Input.TextArea
|
|
<Input.TextArea
|
|
|
placeholder={typeof field.placeholder === 'string' ? field.placeholder : '请输入'}
|
|
placeholder={typeof field.placeholder === 'string' ? field.placeholder : '请输入'}
|
|
@@ -525,6 +540,8 @@ export default function ExecutorDashboard() {
|
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请输入' }] : []}
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请输入' }] : []}
|
|
|
help={field.hint}
|
|
help={field.hint}
|
|
|
|
|
+ labelCol={itemLayout.labelCol}
|
|
|
|
|
+ wrapperCol={itemLayout.wrapperCol}
|
|
|
>
|
|
>
|
|
|
<Input.Password
|
|
<Input.Password
|
|
|
placeholder={typeof field.placeholder === 'string' ? field.placeholder : '请输入'}
|
|
placeholder={typeof field.placeholder === 'string' ? field.placeholder : '请输入'}
|
|
@@ -546,6 +563,8 @@ export default function ExecutorDashboard() {
|
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请输入' }] : []}
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请输入' }] : []}
|
|
|
help={field.hint}
|
|
help={field.hint}
|
|
|
|
|
+ labelCol={itemLayout.labelCol}
|
|
|
|
|
+ wrapperCol={itemLayout.wrapperCol}
|
|
|
>
|
|
>
|
|
|
<InputNumber
|
|
<InputNumber
|
|
|
style={{ width: '100%' }}
|
|
style={{ width: '100%' }}
|
|
@@ -567,6 +586,8 @@ export default function ExecutorDashboard() {
|
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择' }] : []}
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择' }] : []}
|
|
|
help={field.hint}
|
|
help={field.hint}
|
|
|
|
|
+ labelCol={itemLayout.labelCol}
|
|
|
|
|
+ wrapperCol={itemLayout.wrapperCol}
|
|
|
>
|
|
>
|
|
|
<Select
|
|
<Select
|
|
|
placeholder={typeof field.placeholder === 'string' ? field.placeholder : '请选择'}
|
|
placeholder={typeof field.placeholder === 'string' ? field.placeholder : '请选择'}
|
|
@@ -590,6 +611,8 @@ export default function ExecutorDashboard() {
|
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择日期' }] : []}
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择日期' }] : []}
|
|
|
help={field.hint}
|
|
help={field.hint}
|
|
|
|
|
+ labelCol={itemLayout.labelCol}
|
|
|
|
|
+ wrapperCol={itemLayout.wrapperCol}
|
|
|
getValueFromEvent={(value) => {
|
|
getValueFromEvent={(value) => {
|
|
|
if (!value) return undefined;
|
|
if (!value) return undefined;
|
|
|
if (value && typeof value === 'object' && 'valueOf' in value && typeof value.valueOf === 'function' && 'isValid' in value && typeof value.isValid === 'function') {
|
|
if (value && typeof value === 'object' && 'valueOf' in value && typeof value.valueOf === 'function' && 'isValid' in value && typeof value.isValid === 'function') {
|
|
@@ -640,6 +663,8 @@ export default function ExecutorDashboard() {
|
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择日期范围' }] : []}
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择日期范围' }] : []}
|
|
|
help={field.hint}
|
|
help={field.hint}
|
|
|
|
|
+ labelCol={itemLayout.labelCol}
|
|
|
|
|
+ wrapperCol={itemLayout.wrapperCol}
|
|
|
getValueFromEvent={(value) => {
|
|
getValueFromEvent={(value) => {
|
|
|
if (!value || !Array.isArray(value) || value.length !== 2) return undefined;
|
|
if (!value || !Array.isArray(value) || value.length !== 2) return undefined;
|
|
|
const [start, end] = value;
|
|
const [start, end] = value;
|
|
@@ -717,6 +742,8 @@ export default function ExecutorDashboard() {
|
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择日期时间' }] : []}
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择日期时间' }] : []}
|
|
|
help={field.hint}
|
|
help={field.hint}
|
|
|
|
|
+ labelCol={itemLayout.labelCol}
|
|
|
|
|
+ wrapperCol={itemLayout.wrapperCol}
|
|
|
getValueFromEvent={(value) => {
|
|
getValueFromEvent={(value) => {
|
|
|
if (!value) return undefined;
|
|
if (!value) return undefined;
|
|
|
if (value && typeof value === 'object' && 'valueOf' in value) {
|
|
if (value && typeof value === 'object' && 'valueOf' in value) {
|
|
@@ -767,6 +794,8 @@ export default function ExecutorDashboard() {
|
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择' }] : []}
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择' }] : []}
|
|
|
help={field.hint}
|
|
help={field.hint}
|
|
|
valuePropName="checked"
|
|
valuePropName="checked"
|
|
|
|
|
+ labelCol={itemLayout.labelCol}
|
|
|
|
|
+ wrapperCol={itemLayout.wrapperCol}
|
|
|
>
|
|
>
|
|
|
<Switch disabled={field.disabled} />
|
|
<Switch disabled={field.disabled} />
|
|
|
</AntdForm.Item>
|
|
</AntdForm.Item>
|
|
@@ -781,6 +810,8 @@ export default function ExecutorDashboard() {
|
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择' }] : []}
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择' }] : []}
|
|
|
help={field.hint}
|
|
help={field.hint}
|
|
|
|
|
+ labelCol={itemLayout.labelCol}
|
|
|
|
|
+ wrapperCol={itemLayout.wrapperCol}
|
|
|
>
|
|
>
|
|
|
<Radio.Group disabled={field.disabled}>
|
|
<Radio.Group disabled={field.disabled}>
|
|
|
{(field.options || []).map((opt: any, idx: number) => (
|
|
{(field.options || []).map((opt: any, idx: number) => (
|
|
@@ -799,6 +830,8 @@ export default function ExecutorDashboard() {
|
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择' }] : []}
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择' }] : []}
|
|
|
help={field.hint}
|
|
help={field.hint}
|
|
|
|
|
+ labelCol={itemLayout.labelCol}
|
|
|
|
|
+ wrapperCol={itemLayout.wrapperCol}
|
|
|
>
|
|
>
|
|
|
<Checkbox.Group disabled={field.disabled}>
|
|
<Checkbox.Group disabled={field.disabled}>
|
|
|
{(field.options || []).map((opt: any, idx: number) => (
|
|
{(field.options || []).map((opt: any, idx: number) => (
|
|
@@ -817,6 +850,8 @@ export default function ExecutorDashboard() {
|
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择' }] : []}
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择' }] : []}
|
|
|
help={field.hint}
|
|
help={field.hint}
|
|
|
|
|
+ labelCol={itemLayout.labelCol}
|
|
|
|
|
+ wrapperCol={itemLayout.wrapperCol}
|
|
|
>
|
|
>
|
|
|
<Cascader
|
|
<Cascader
|
|
|
placeholder={typeof field.placeholder === 'string' ? field.placeholder : '请选择'}
|
|
placeholder={typeof field.placeholder === 'string' ? field.placeholder : '请选择'}
|
|
@@ -838,23 +873,15 @@ export default function ExecutorDashboard() {
|
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请上传' }] : []}
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请上传' }] : []}
|
|
|
help={field.hint}
|
|
help={field.hint}
|
|
|
|
|
+ labelCol={itemLayout.labelCol}
|
|
|
|
|
+ wrapperCol={itemLayout.wrapperCol}
|
|
|
>
|
|
>
|
|
|
- <Upload
|
|
|
|
|
|
|
+ <FormUploadField
|
|
|
|
|
+ uploadType={field.uploadType}
|
|
|
|
|
+ maxCount={field.maxCount}
|
|
|
|
|
+ accept={field.accept}
|
|
|
disabled={field.disabled}
|
|
disabled={field.disabled}
|
|
|
- maxCount={field.uploadType === 'single-image' ? 1 : field.maxCount || (field.uploadType === 'multiple-image' ? 9 : undefined)}
|
|
|
|
|
- accept={field.accept || (field.uploadType === 'single-image' || field.uploadType === 'multiple-image' ? 'image/*' : undefined)}
|
|
|
|
|
- listType={(field.uploadType === 'file' ? 'text' : 'picture-card') as 'text' | 'picture-card' | 'picture'}
|
|
|
|
|
- multiple={field.uploadType !== 'single-image'}
|
|
|
|
|
- >
|
|
|
|
|
- {field.uploadType === 'file' ? (
|
|
|
|
|
- <Button icon={<UploadOutlined />}>上传文件</Button>
|
|
|
|
|
- ) : (
|
|
|
|
|
- <div>
|
|
|
|
|
- <UploadOutlined />
|
|
|
|
|
- <div style={{ marginTop: 8 }}>上传</div>
|
|
|
|
|
- </div>
|
|
|
|
|
- )}
|
|
|
|
|
- </Upload>
|
|
|
|
|
|
|
+ />
|
|
|
</AntdForm.Item>
|
|
</AntdForm.Item>
|
|
|
</div>
|
|
</div>
|
|
|
);
|
|
);
|
|
@@ -868,6 +895,8 @@ export default function ExecutorDashboard() {
|
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择时间' }] : []}
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择时间' }] : []}
|
|
|
help={field.hint}
|
|
help={field.hint}
|
|
|
|
|
+ labelCol={itemLayout.labelCol}
|
|
|
|
|
+ wrapperCol={itemLayout.wrapperCol}
|
|
|
>
|
|
>
|
|
|
<DatePicker
|
|
<DatePicker
|
|
|
style={{ width: '100%' }}
|
|
style={{ width: '100%' }}
|
|
@@ -894,6 +923,8 @@ export default function ExecutorDashboard() {
|
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择日期时间' }] : []}
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择日期时间' }] : []}
|
|
|
help={field.hint}
|
|
help={field.hint}
|
|
|
|
|
+ labelCol={itemLayout.labelCol}
|
|
|
|
|
+ wrapperCol={itemLayout.wrapperCol}
|
|
|
>
|
|
>
|
|
|
<DatePicker
|
|
<DatePicker
|
|
|
style={{ width: '100%' }}
|
|
style={{ width: '100%' }}
|
|
@@ -916,6 +947,8 @@ export default function ExecutorDashboard() {
|
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择时间' }] : []}
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择时间' }] : []}
|
|
|
help={field.hint}
|
|
help={field.hint}
|
|
|
|
|
+ labelCol={itemLayout.labelCol}
|
|
|
|
|
+ wrapperCol={itemLayout.wrapperCol}
|
|
|
>
|
|
>
|
|
|
<DatePicker
|
|
<DatePicker
|
|
|
style={{ width: '100%' }}
|
|
style={{ width: '100%' }}
|
|
@@ -938,6 +971,8 @@ export default function ExecutorDashboard() {
|
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择日期' }] : []}
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请选择日期' }] : []}
|
|
|
help={field.hint}
|
|
help={field.hint}
|
|
|
|
|
+ labelCol={itemLayout.labelCol}
|
|
|
|
|
+ wrapperCol={itemLayout.wrapperCol}
|
|
|
>
|
|
>
|
|
|
<DatePicker
|
|
<DatePicker
|
|
|
style={{ width: '100%' }}
|
|
style={{ width: '100%' }}
|
|
@@ -961,6 +996,8 @@ export default function ExecutorDashboard() {
|
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
required={field.required && !formConfig.hideRequiredMark}
|
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请输入' }] : []}
|
|
rules={field.required ? [{ required: true, message: field.requiredMessage || '请输入' }] : []}
|
|
|
help={field.hint}
|
|
help={field.hint}
|
|
|
|
|
+ labelCol={itemLayout.labelCol}
|
|
|
|
|
+ wrapperCol={itemLayout.wrapperCol}
|
|
|
>
|
|
>
|
|
|
<Input
|
|
<Input
|
|
|
type={field.inputType || 'text'}
|
|
type={field.inputType || 'text'}
|
|
@@ -1937,15 +1974,21 @@ export default function ExecutorDashboard() {
|
|
|
layout={formConfig.labelPosition === 'top' ? 'vertical' : formConfig.labelPosition === 'left' ? 'horizontal' : 'horizontal'}
|
|
layout={formConfig.labelPosition === 'top' ? 'vertical' : formConfig.labelPosition === 'left' ? 'horizontal' : 'horizontal'}
|
|
|
size={formConfig.formSize === 'default' ? 'middle' : formConfig.formSize}
|
|
size={formConfig.formSize === 'default' ? 'middle' : formConfig.formSize}
|
|
|
requiredMark={formConfig.hideRequiredMark ? false : undefined}
|
|
requiredMark={formConfig.hideRequiredMark ? false : undefined}
|
|
|
- labelCol={formConfig.labelWidth ? {
|
|
|
|
|
- style: {
|
|
|
|
|
- width: `${formConfig.labelWidth}px`,
|
|
|
|
|
- textAlign: formConfig.labelPosition === 'left' ? 'left' : formConfig.labelPosition === 'right' ? 'right' : 'left'
|
|
|
|
|
- }
|
|
|
|
|
- } : undefined}
|
|
|
|
|
|
|
+ labelCol={
|
|
|
|
|
+ formConfig.labelPosition === 'top' || !formConfig.labelWidth
|
|
|
|
|
+ ? undefined
|
|
|
|
|
+ : {
|
|
|
|
|
+ flex: `${formConfig.labelWidth}px`,
|
|
|
|
|
+ style: {
|
|
|
|
|
+ minWidth: `${formConfig.labelWidth}px`,
|
|
|
|
|
+ textAlign: formConfig.labelPosition === 'right' ? 'right' : 'left',
|
|
|
|
|
+ },
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ wrapperCol={formConfig.labelPosition === 'top' ? undefined : { flex: 'auto', style: { minWidth: 0 } }}
|
|
|
>
|
|
>
|
|
|
<div style={gridStyle} className={layoutColumns === 1 ? 'space-y-4' : 'form-detail-grid'}>
|
|
<div style={gridStyle} className={layoutColumns === 1 ? 'space-y-4' : 'form-detail-grid'}>
|
|
|
- <style>{`.form-detail-grid .ant-form-item { margin-bottom: 12px; }`}</style>
|
|
|
|
|
|
|
+ <style>{`.form-detail-grid .ant-form-item { margin-bottom: 12px; } .form-detail-grid .ant-form-item-control { min-width: 0; }`}</style>
|
|
|
{(formData.rule || []).map((field: any) => {
|
|
{(formData.rule || []).map((field: any) => {
|
|
|
const fieldWithDisabled = isApproved ? { ...field, disabled: true, readOnly: true } : field;
|
|
const fieldWithDisabled = isApproved ? { ...field, disabled: true, readOnly: true } : field;
|
|
|
return renderFieldPreview(fieldWithDisabled);
|
|
return renderFieldPreview(fieldWithDisabled);
|
|
@@ -2086,9 +2129,9 @@ export default function ExecutorDashboard() {
|
|
|
const layoutColumns = formConfig.layoutColumns || 1;
|
|
const layoutColumns = formConfig.layoutColumns || 1;
|
|
|
const gridStyle = layoutColumns > 1 ? { display: 'grid', gridTemplateColumns: `repeat(${layoutColumns}, minmax(0, 1fr))`, gap: '12px', rowGap: '16px' } : undefined;
|
|
const gridStyle = layoutColumns > 1 ? { display: 'grid', gridTemplateColumns: `repeat(${layoutColumns}, minmax(0, 1fr))`, gap: '12px', rowGap: '16px' } : undefined;
|
|
|
return (
|
|
return (
|
|
|
- <AntdForm form={taskDetailForm} layout={formConfig.labelPosition === 'top' ? 'vertical' : formConfig.labelPosition === 'left' ? 'horizontal' : 'horizontal'} size={formConfig.formSize === 'default' ? 'middle' : formConfig.formSize} requiredMark={formConfig.hideRequiredMark ? false : undefined} labelCol={formConfig.labelWidth ? { style: { width: `${formConfig.labelWidth}px`, textAlign: formConfig.labelPosition === 'left' ? 'left' : formConfig.labelPosition === 'right' ? 'right' : 'left' } } : undefined}>
|
|
|
|
|
|
|
+ <AntdForm form={taskDetailForm} layout={formConfig.labelPosition === 'top' ? 'vertical' : formConfig.labelPosition === 'left' ? 'horizontal' : 'horizontal'} size={formConfig.formSize === 'default' ? 'middle' : formConfig.formSize} requiredMark={formConfig.hideRequiredMark ? false : undefined} labelCol={formConfig.labelPosition === 'top' || !formConfig.labelWidth ? undefined : { flex: `${formConfig.labelWidth}px`, style: { minWidth: `${formConfig.labelWidth}px`, textAlign: formConfig.labelPosition === 'right' ? 'right' : 'left' } }} wrapperCol={formConfig.labelPosition === 'top' ? undefined : { flex: 'auto', style: { minWidth: 0 } }}>
|
|
|
<div style={gridStyle} className={layoutColumns === 1 ? 'space-y-4' : 'form-detail-grid'}>
|
|
<div style={gridStyle} className={layoutColumns === 1 ? 'space-y-4' : 'form-detail-grid'}>
|
|
|
- <style>{`.form-detail-grid .ant-form-item { margin-bottom: 12px; }`}</style>
|
|
|
|
|
|
|
+ <style>{`.form-detail-grid .ant-form-item { margin-bottom: 12px; } .form-detail-grid .ant-form-item-control { min-width: 0; }`}</style>
|
|
|
{(formData.rule || []).map((field: any) => {
|
|
{(formData.rule || []).map((field: any) => {
|
|
|
const fieldWithDisabled = isApproved ? { ...field, disabled: true, readOnly: true } : field;
|
|
const fieldWithDisabled = isApproved ? { ...field, disabled: true, readOnly: true } : field;
|
|
|
return renderFieldPreview(fieldWithDisabled);
|
|
return renderFieldPreview(fieldWithDisabled);
|
|
@@ -2298,21 +2341,26 @@ export default function ExecutorDashboard() {
|
|
|
layout={formConfig.labelPosition === 'top' ? 'vertical' : formConfig.labelPosition === 'left' ? 'horizontal' : 'horizontal'}
|
|
layout={formConfig.labelPosition === 'top' ? 'vertical' : formConfig.labelPosition === 'left' ? 'horizontal' : 'horizontal'}
|
|
|
size={formConfig.formSize === 'default' ? 'middle' : formConfig.formSize}
|
|
size={formConfig.formSize === 'default' ? 'middle' : formConfig.formSize}
|
|
|
requiredMark={formConfig.hideRequiredMark ? false : undefined}
|
|
requiredMark={formConfig.hideRequiredMark ? false : undefined}
|
|
|
- labelCol={formConfig.labelWidth ? {
|
|
|
|
|
- style: {
|
|
|
|
|
- width: `${formConfig.labelWidth}px`,
|
|
|
|
|
- textAlign: formConfig.labelPosition === 'left' ? 'left' : formConfig.labelPosition === 'right' ? 'right' : 'left'
|
|
|
|
|
- }
|
|
|
|
|
- } : undefined}
|
|
|
|
|
|
|
+ labelCol={
|
|
|
|
|
+ formConfig.labelPosition === 'top' || !formConfig.labelWidth
|
|
|
|
|
+ ? undefined
|
|
|
|
|
+ : {
|
|
|
|
|
+ flex: `${formConfig.labelWidth}px`,
|
|
|
|
|
+ style: {
|
|
|
|
|
+ minWidth: `${formConfig.labelWidth}px`,
|
|
|
|
|
+ textAlign: formConfig.labelPosition === 'right' ? 'right' : 'left',
|
|
|
|
|
+ },
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ wrapperCol={formConfig.labelPosition === 'top' ? undefined : { flex: 'auto', style: { minWidth: 0 } }}
|
|
|
>
|
|
>
|
|
|
<div
|
|
<div
|
|
|
style={gridStyle}
|
|
style={gridStyle}
|
|
|
className={layoutColumns === 1 ? 'space-y-4' : 'form-detail-grid'}
|
|
className={layoutColumns === 1 ? 'space-y-4' : 'form-detail-grid'}
|
|
|
>
|
|
>
|
|
|
<style>{`
|
|
<style>{`
|
|
|
- .form-detail-grid .ant-form-item {
|
|
|
|
|
- margin-bottom: 12px;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ .form-detail-grid .ant-form-item { margin-bottom: 12px; }
|
|
|
|
|
+ .form-detail-grid .ant-form-item-control { min-width: 0; }
|
|
|
`}</style>
|
|
`}</style>
|
|
|
{(formData.rule || []).map((field: any) => {
|
|
{(formData.rule || []).map((field: any) => {
|
|
|
const fieldWithDisabled = isApproved ? { ...field, disabled: true, readOnly: true } : field;
|
|
const fieldWithDisabled = isApproved ? { ...field, disabled: true, readOnly: true } : field;
|