|
@@ -1,9 +1,11 @@
|
|
import { Form, Button, Switch, Input, Radio, Space, Row } from 'antd';
|
|
import { Form, Button, Switch, Input, Radio, Space, Row } from 'antd';
|
|
import React, { useMemo, useState, useEffect } from 'react';
|
|
import React, { useMemo, useState, useEffect } from 'react';
|
|
import { DeleteOutlined } from '@ant-design/icons';
|
|
import { DeleteOutlined } from '@ant-design/icons';
|
|
|
|
+
|
|
function ItemAttribute(props) {
|
|
function ItemAttribute(props) {
|
|
const { item, onChange, onRelClick } = props;
|
|
const { item, onChange, onRelClick } = props;
|
|
|
|
|
|
|
|
+ if (!item) return null;
|
|
const renderForm = () => {
|
|
const renderForm = () => {
|
|
let FormContent;
|
|
let FormContent;
|
|
const formProps = {
|
|
const formProps = {
|
|
@@ -57,13 +59,16 @@ function ItemAttribute(props) {
|
|
case 'DDDateField':
|
|
case 'DDDateField':
|
|
FormContent = <DDDateField {...formProps} />;
|
|
FormContent = <DDDateField {...formProps} />;
|
|
break;
|
|
break;
|
|
|
|
+ case 'DIYTable':
|
|
|
|
+ FormContent = <TableName {...formProps} />;
|
|
|
|
+ case 'CodeField':
|
|
|
|
+ FormContent = <CodeField {...formProps} />;
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
|
|
|
|
return FormContent;
|
|
return FormContent;
|
|
};
|
|
};
|
|
|
|
|
|
- if (!item) return null;
|
|
|
|
-
|
|
|
|
return (
|
|
return (
|
|
<div
|
|
<div
|
|
style={{
|
|
style={{
|
|
@@ -118,6 +123,7 @@ function InnerContactField(props) {
|
|
</Form>
|
|
</Form>
|
|
);
|
|
);
|
|
}
|
|
}
|
|
|
|
+
|
|
function DepartmentField(props) {
|
|
function DepartmentField(props) {
|
|
const { item, btns, onFinish } = props;
|
|
const { item, btns, onFinish } = props;
|
|
const [form] = Form.useForm();
|
|
const [form] = Form.useForm();
|
|
@@ -151,6 +157,7 @@ function DepartmentField(props) {
|
|
</Form>
|
|
</Form>
|
|
);
|
|
);
|
|
}
|
|
}
|
|
|
|
+
|
|
function ProjectField(props) {
|
|
function ProjectField(props) {
|
|
const { item, btns, onFinish } = props;
|
|
const { item, btns, onFinish } = props;
|
|
const [form] = Form.useForm();
|
|
const [form] = Form.useForm();
|
|
@@ -176,6 +183,32 @@ function ProjectField(props) {
|
|
</Form>
|
|
</Form>
|
|
);
|
|
);
|
|
}
|
|
}
|
|
|
|
+function CodeField(props) {
|
|
|
|
+ const { item, btns, onFinish } = props;
|
|
|
|
+ const [form] = Form.useForm();
|
|
|
|
+ return (
|
|
|
|
+ <Form
|
|
|
|
+ form={form}
|
|
|
|
+ labelCol={{ span: 4 }}
|
|
|
|
+ wrapperCol={{ span: 20 }}
|
|
|
|
+ autoComplete="off"
|
|
|
|
+ initialValues={item.props}
|
|
|
|
+ onFinish={onFinish}
|
|
|
|
+ >
|
|
|
|
+ <Form.Item label="标题" name="label">
|
|
|
|
+ <Input />
|
|
|
|
+ </Form.Item>
|
|
|
|
+ <Form.Item label="提示文字" name="placeholder">
|
|
|
|
+ <Input />
|
|
|
|
+ </Form.Item>
|
|
|
|
+ <Form.Item label="必填" name="required" valuePropName="checked">
|
|
|
|
+ <Switch />
|
|
|
|
+ </Form.Item>
|
|
|
|
+ {btns}
|
|
|
|
+ </Form>
|
|
|
|
+ );
|
|
|
|
+}
|
|
|
|
+
|
|
function ManufacturerField(props) {
|
|
function ManufacturerField(props) {
|
|
const { item, btns, onFinish } = props;
|
|
const { item, btns, onFinish } = props;
|
|
const [form] = Form.useForm();
|
|
const [form] = Form.useForm();
|
|
@@ -201,6 +234,7 @@ function ManufacturerField(props) {
|
|
</Form>
|
|
</Form>
|
|
);
|
|
);
|
|
}
|
|
}
|
|
|
|
+
|
|
function TextField(props) {
|
|
function TextField(props) {
|
|
const { item, btns, onFinish } = props;
|
|
const { item, btns, onFinish } = props;
|
|
const [form] = Form.useForm();
|
|
const [form] = Form.useForm();
|
|
@@ -230,6 +264,7 @@ function TextField(props) {
|
|
</Form>
|
|
</Form>
|
|
);
|
|
);
|
|
}
|
|
}
|
|
|
|
+
|
|
function DDAttachment(props) {
|
|
function DDAttachment(props) {
|
|
const { item, btns, onFinish } = props;
|
|
const { item, btns, onFinish } = props;
|
|
const [form] = Form.useForm();
|
|
const [form] = Form.useForm();
|
|
@@ -301,6 +336,7 @@ function DDDateField(props) {
|
|
</Form>
|
|
</Form>
|
|
);
|
|
);
|
|
}
|
|
}
|
|
|
|
+
|
|
function TextareaField(props) {
|
|
function TextareaField(props) {
|
|
const { item, btns, onFinish } = props;
|
|
const { item, btns, onFinish } = props;
|
|
const [form] = Form.useForm();
|
|
const [form] = Form.useForm();
|
|
@@ -326,6 +362,7 @@ function TextareaField(props) {
|
|
</Form>
|
|
</Form>
|
|
);
|
|
);
|
|
}
|
|
}
|
|
|
|
+
|
|
function DDSelectField(props) {
|
|
function DDSelectField(props) {
|
|
const { item, btns, onFinish, onRelClick } = props;
|
|
const { item, btns, onFinish, onRelClick } = props;
|
|
const [form] = Form.useForm();
|
|
const [form] = Form.useForm();
|
|
@@ -368,6 +405,7 @@ function DDSelectField(props) {
|
|
</Form>
|
|
</Form>
|
|
);
|
|
);
|
|
}
|
|
}
|
|
|
|
+
|
|
function DDMultiSelectField(props) {
|
|
function DDMultiSelectField(props) {
|
|
const { item, btns, onFinish } = props;
|
|
const { item, btns, onFinish } = props;
|
|
const [form] = Form.useForm();
|
|
const [form] = Form.useForm();
|
|
@@ -531,3 +569,23 @@ function NumberField(props) {
|
|
</Form>
|
|
</Form>
|
|
);
|
|
);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+function TableName(props) {
|
|
|
|
+ const { item, btns, onFinish } = props;
|
|
|
|
+ const [form] = Form.useForm();
|
|
|
|
+ return (
|
|
|
|
+ <Form
|
|
|
|
+ form={form}
|
|
|
|
+ labelCol={{ span: 4 }}
|
|
|
|
+ wrapperCol={{ span: 20 }}
|
|
|
|
+ autoComplete="off"
|
|
|
|
+ initialValues={item.props}
|
|
|
|
+ onFinish={onFinish}
|
|
|
|
+ >
|
|
|
|
+ <Form.Item label="表格名称" name="label">
|
|
|
|
+ <Input />
|
|
|
|
+ </Form.Item>
|
|
|
|
+ {btns}
|
|
|
|
+ </Form>
|
|
|
|
+ );
|
|
|
|
+}
|