|
@@ -2,7 +2,7 @@ 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 } = props;
|
|
|
|
|
|
+ const { item, onChange, onRelClick } = props;
|
|
|
|
|
|
const renderForm = () => {
|
|
const renderForm = () => {
|
|
let FormContent;
|
|
let FormContent;
|
|
@@ -37,7 +37,7 @@ function ItemAttribute(props) {
|
|
FormContent = <TextareaField {...formProps} />;
|
|
FormContent = <TextareaField {...formProps} />;
|
|
break;
|
|
break;
|
|
case 'DDSelectField':
|
|
case 'DDSelectField':
|
|
- FormContent = <DDSelectField {...formProps} />;
|
|
|
|
|
|
+ FormContent = <DDSelectField onRelClick={onRelClick} {...formProps} />;
|
|
break;
|
|
break;
|
|
case 'DDMultiSelectField':
|
|
case 'DDMultiSelectField':
|
|
FormContent = <DDMultiSelectField {...formProps} />;
|
|
FormContent = <DDMultiSelectField {...formProps} />;
|
|
@@ -299,7 +299,7 @@ function TextareaField(props) {
|
|
);
|
|
);
|
|
}
|
|
}
|
|
function DDSelectField(props) {
|
|
function DDSelectField(props) {
|
|
- const { item, btns, onFinish } = props;
|
|
|
|
|
|
+ const { item, btns, onFinish, onRelClick } = props;
|
|
const [form] = Form.useForm();
|
|
const [form] = Form.useForm();
|
|
const handleFinish = (value) => {
|
|
const handleFinish = (value) => {
|
|
let tempValue = { ...value };
|
|
let tempValue = { ...value };
|
|
@@ -331,7 +331,7 @@ function DDSelectField(props) {
|
|
<Input />
|
|
<Input />
|
|
</Form.Item>
|
|
</Form.Item>
|
|
<Form.Item label="选项" name="options" wrapperCol={{ span: 24 }}>
|
|
<Form.Item label="选项" name="options" wrapperCol={{ span: 24 }}>
|
|
- <SelectItem />
|
|
|
|
|
|
+ <SelectItem onRelClick={onRelClick} />
|
|
</Form.Item>
|
|
</Form.Item>
|
|
<Form.Item label="必填" valuePropName="checked" name="required">
|
|
<Form.Item label="必填" valuePropName="checked" name="required">
|
|
<Switch />
|
|
<Switch />
|
|
@@ -383,7 +383,7 @@ function DDMultiSelectField(props) {
|
|
}
|
|
}
|
|
|
|
|
|
function SelectItem(props) {
|
|
function SelectItem(props) {
|
|
- const { value, onChange } = props;
|
|
|
|
|
|
+ const { value, onChange, onRelClick } = props;
|
|
const [localValue, setLocalValue] = useState([]);
|
|
const [localValue, setLocalValue] = useState([]);
|
|
const pushItem = (item) => {
|
|
const pushItem = (item) => {
|
|
let tempValue = [
|
|
let tempValue = [
|
|
@@ -423,7 +423,7 @@ function SelectItem(props) {
|
|
flexDirection: 'column',
|
|
flexDirection: 'column',
|
|
}}
|
|
}}
|
|
>
|
|
>
|
|
- <div>
|
|
|
|
|
|
+ <Space>
|
|
<div
|
|
<div
|
|
style={{
|
|
style={{
|
|
fontSize: 4,
|
|
fontSize: 4,
|
|
@@ -437,7 +437,20 @@ function SelectItem(props) {
|
|
>
|
|
>
|
|
添加选项
|
|
添加选项
|
|
</div>
|
|
</div>
|
|
- </div>
|
|
|
|
|
|
+ {onRelClick && (
|
|
|
|
+ <div
|
|
|
|
+ style={{
|
|
|
|
+ fontSize: 4,
|
|
|
|
+ color: '#40a9ff',
|
|
|
|
+ cursor: 'pointer',
|
|
|
|
+ lineHeight: '32px',
|
|
|
|
+ }}
|
|
|
|
+ onClick={onRelClick}
|
|
|
|
+ >
|
|
|
|
+ 选项关联
|
|
|
|
+ </div>
|
|
|
|
+ )}
|
|
|
|
+ </Space>
|
|
<div style={{ minHeight: 20 }}>
|
|
<div style={{ minHeight: 20 }}>
|
|
{localValue.map((item, index) => (
|
|
{localValue.map((item, index) => (
|
|
<div
|
|
<div
|