|
@@ -4,8 +4,9 @@ import LangInput from "@/components/LangInput";
|
|
|
import LangInputTextarea from "@/components/LangInputTextarea";
|
|
|
import { TableType } from "@/enum";
|
|
|
import { createTable } from "@/utils";
|
|
|
-import { TableItemType, ViewTable } from "@/type";
|
|
|
+import { TableItemType } from "@/type";
|
|
|
import { useSearchParams } from "umi";
|
|
|
+import { validateTableCode, validateAliasName } from "@/utils/validator";
|
|
|
|
|
|
export default forwardRef(function AddTable(
|
|
|
props: {
|
|
@@ -32,7 +33,7 @@ export default forwardRef(function AddTable(
|
|
|
}));
|
|
|
|
|
|
const [form] = Form.useForm();
|
|
|
- const [formModel, setFormModel] = useState<TableItemType['table']>();
|
|
|
+ const [formModel, setFormModel] = useState<TableItemType["table"]>();
|
|
|
|
|
|
const items: TabsProps["items"] = [
|
|
|
{
|
|
@@ -43,7 +44,24 @@ export default forwardRef(function AddTable(
|
|
|
<Form labelCol={{ span: 8 }} form={form}>
|
|
|
<Row gutter={16}>
|
|
|
<Col span={12}>
|
|
|
- <Form.Item label="表类型">
|
|
|
+ <Form.Item
|
|
|
+ label="编码"
|
|
|
+ name="schemaName"
|
|
|
+ rules={[
|
|
|
+ { required: true, message: "请输入编码" },
|
|
|
+ validateTableCode,
|
|
|
+ ]}
|
|
|
+ tooltip="包含字母、下划线、数字, 必须小写字母开头,且必须有下划线! 如:user_info"
|
|
|
+ >
|
|
|
+ <Input
|
|
|
+ placeholder="请输入"
|
|
|
+ value={formModel?.schemaName}
|
|
|
+ onChange={(e) => handleChange("schemaName", e.target.value)}
|
|
|
+ />
|
|
|
+ </Form.Item>
|
|
|
+ </Col>
|
|
|
+ <Col span={12}>
|
|
|
+ <Form.Item label="表类型" name="type">
|
|
|
<Input
|
|
|
placeholder="请输入"
|
|
|
value={
|
|
@@ -55,38 +73,41 @@ export default forwardRef(function AddTable(
|
|
|
/>
|
|
|
</Form.Item>
|
|
|
</Col>
|
|
|
+ </Row>
|
|
|
+ <Row gutter={16}>
|
|
|
<Col span={12}>
|
|
|
- <Form.Item label="编码">
|
|
|
+ <Form.Item
|
|
|
+ label="别名"
|
|
|
+ name="aliasName"
|
|
|
+ rules={[
|
|
|
+ { required: true, message: "请输入别名" },
|
|
|
+ validateAliasName,
|
|
|
+ ]}
|
|
|
+ tooltip="包含字母、数字, 必须小写字母开头! 如:userinfo"
|
|
|
+ >
|
|
|
<Input
|
|
|
placeholder="请输入"
|
|
|
- value={formModel?.schemaName}
|
|
|
- onChange={(e) => handleChange("schemaName", e.target.value)}
|
|
|
+ value={formModel?.aliasName}
|
|
|
+ onChange={(e) => handleChange("aliasName", e.target.value)}
|
|
|
/>
|
|
|
</Form.Item>
|
|
|
</Col>
|
|
|
- </Row>
|
|
|
- <Row gutter={16}>
|
|
|
<Col span={12}>
|
|
|
- <Form.Item label="表名">
|
|
|
+ <Form.Item label="表名" name="langNameList">
|
|
|
<LangInput
|
|
|
value={formModel?.langNameList}
|
|
|
onChange={(lang) => handleChange("langNameList", lang)}
|
|
|
/>
|
|
|
</Form.Item>
|
|
|
</Col>
|
|
|
- <Col span={12}>
|
|
|
- <Form.Item label="别名">
|
|
|
- <Input
|
|
|
- placeholder="请输入"
|
|
|
- value={formModel?.aliasName}
|
|
|
- onChange={(e) => handleChange("aliasName", e.target.value)}
|
|
|
- />
|
|
|
- </Form.Item>
|
|
|
- </Col>
|
|
|
</Row>
|
|
|
<Row gutter={16}>
|
|
|
<Col span={24}>
|
|
|
- <Form.Item label="描述" labelCol={{ span: 4 }}>
|
|
|
+ <Form.Item
|
|
|
+ label="描述"
|
|
|
+ labelCol={{ span: 4 }}
|
|
|
+ name="langDescriptionList"
|
|
|
+ >
|
|
|
<LangInputTextarea
|
|
|
value={formModel?.langDescriptionList}
|
|
|
onChange={(lang) =>
|
|
@@ -114,21 +135,25 @@ export default forwardRef(function AddTable(
|
|
|
];
|
|
|
|
|
|
const handleChange = (key: string, value: any) => {
|
|
|
- formModel && setFormModel({
|
|
|
- ...formModel,
|
|
|
- [key]: value
|
|
|
- });
|
|
|
+ formModel &&
|
|
|
+ setFormModel({
|
|
|
+ ...formModel,
|
|
|
+ [key]: value,
|
|
|
+ });
|
|
|
};
|
|
|
const handleOk = () => {
|
|
|
- form.validateFields().then((values) => {
|
|
|
- if(tableItemRef.current && formModel) {
|
|
|
- props.onChange({
|
|
|
- ...tableItemRef.current,
|
|
|
- table: formModel
|
|
|
- })
|
|
|
- }
|
|
|
- setOpen(false);
|
|
|
- });
|
|
|
+ // 新建
|
|
|
+ if (tabActiveKey === "1") {
|
|
|
+ form.validateFields().then(() => {
|
|
|
+ if (tableItemRef.current && formModel) {
|
|
|
+ props.onChange({
|
|
|
+ ...tableItemRef.current,
|
|
|
+ table: formModel,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ setOpen(false);
|
|
|
+ });
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
return (
|