|
@@ -4,15 +4,21 @@ import { DataNode } from 'antd/es/tree';
|
|
|
import { Input, InputNumber, Select, Tree } from 'antd';
|
|
import { Input, InputNumber, Select, Tree } from 'antd';
|
|
|
import MTimePicker from '../../../components/ParamsSelect/components/MTimePicker';
|
|
import MTimePicker from '../../../components/ParamsSelect/components/MTimePicker';
|
|
|
import moment from 'moment';
|
|
import moment from 'moment';
|
|
|
|
|
+import { EditOutlined, EnvironmentOutlined } from '@ant-design/icons';
|
|
|
|
|
+import AMap from '@/components/GeoPoint/AMap';
|
|
|
|
|
+import ObjModel from './ObjModel';
|
|
|
|
|
|
|
|
interface Props {
|
|
interface Props {
|
|
|
value: any;
|
|
value: any;
|
|
|
type: string;
|
|
type: string;
|
|
|
onChange?: (data: any, format?: any) => void;
|
|
onChange?: (data: any, format?: any) => void;
|
|
|
|
|
+ record: any;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
export default (props: Props) => {
|
|
export default (props: Props) => {
|
|
|
const [value, setValue] = useState<any>(null);
|
|
const [value, setValue] = useState<any>(null);
|
|
|
|
|
+ const [visible, setVisible] = useState<boolean>(false);
|
|
|
|
|
+ const [objVisiable, setObjVisable] = useState<boolean>(false);
|
|
|
const treeData: DataNode[] = [
|
|
const treeData: DataNode[] = [
|
|
|
{
|
|
{
|
|
|
title: 'parent 1',
|
|
title: 'parent 1',
|
|
@@ -62,12 +68,26 @@ export default (props: Props) => {
|
|
|
<InputNumber
|
|
<InputNumber
|
|
|
value={value}
|
|
value={value}
|
|
|
onChange={(e: any) => {
|
|
onChange={(e: any) => {
|
|
|
- setValue(e);
|
|
|
|
|
|
|
+ onChange(e);
|
|
|
}}
|
|
}}
|
|
|
style={{ width: '100%' }}
|
|
style={{ width: '100%' }}
|
|
|
placeholder={'请输入'}
|
|
placeholder={'请输入'}
|
|
|
/>
|
|
/>
|
|
|
);
|
|
);
|
|
|
|
|
+ case 'enum':
|
|
|
|
|
+ return (
|
|
|
|
|
+ <Select
|
|
|
|
|
+ value={value}
|
|
|
|
|
+ style={{ width: '100%', textAlign: 'left' }}
|
|
|
|
|
+ options={props.record.options || []}
|
|
|
|
|
+ fieldNames={{ label: 'text', value: 'value' }}
|
|
|
|
|
+ placeholder={'请选择'}
|
|
|
|
|
+ mode="multiple"
|
|
|
|
|
+ onChange={(e) => {
|
|
|
|
|
+ onChange(e);
|
|
|
|
|
+ }}
|
|
|
|
|
+ />
|
|
|
|
|
+ );
|
|
|
case 'boolean':
|
|
case 'boolean':
|
|
|
return (
|
|
return (
|
|
|
<Select
|
|
<Select
|
|
@@ -77,7 +97,43 @@ export default (props: Props) => {
|
|
|
{ label: 'true', value: true },
|
|
{ label: 'true', value: true },
|
|
|
{ label: 'false', value: false },
|
|
{ label: 'false', value: false },
|
|
|
]}
|
|
]}
|
|
|
- placeholder={'请选择' + name}
|
|
|
|
|
|
|
+ placeholder={'请选择'}
|
|
|
|
|
+ onChange={(e) => {
|
|
|
|
|
+ onChange(e);
|
|
|
|
|
+ }}
|
|
|
|
|
+ />
|
|
|
|
|
+ );
|
|
|
|
|
+ case 'geoPoint':
|
|
|
|
|
+ return (
|
|
|
|
|
+ <Input
|
|
|
|
|
+ value={value}
|
|
|
|
|
+ style={{ width: '100%', textAlign: 'left' }}
|
|
|
|
|
+ addonAfter={
|
|
|
|
|
+ <EnvironmentOutlined
|
|
|
|
|
+ onClick={() => {
|
|
|
|
|
+ setVisible(true);
|
|
|
|
|
+ }}
|
|
|
|
|
+ />
|
|
|
|
|
+ }
|
|
|
|
|
+ placeholder={'请选择'}
|
|
|
|
|
+ onChange={(e) => {
|
|
|
|
|
+ onChange(e);
|
|
|
|
|
+ }}
|
|
|
|
|
+ />
|
|
|
|
|
+ );
|
|
|
|
|
+ case 'object':
|
|
|
|
|
+ return (
|
|
|
|
|
+ <Input
|
|
|
|
|
+ value={value}
|
|
|
|
|
+ style={{ width: '100%', textAlign: 'left' }}
|
|
|
|
|
+ addonAfter={
|
|
|
|
|
+ <EditOutlined
|
|
|
|
|
+ onClick={() => {
|
|
|
|
|
+ setObjVisable(true);
|
|
|
|
|
+ }}
|
|
|
|
|
+ />
|
|
|
|
|
+ }
|
|
|
|
|
+ placeholder={'请选择'}
|
|
|
onChange={(e) => {
|
|
onChange={(e) => {
|
|
|
onChange(e);
|
|
onChange(e);
|
|
|
}}
|
|
}}
|
|
@@ -99,7 +155,7 @@ export default (props: Props) => {
|
|
|
return (
|
|
return (
|
|
|
<Input
|
|
<Input
|
|
|
value={value}
|
|
value={value}
|
|
|
- placeholder={'请输入' + name}
|
|
|
|
|
|
|
+ placeholder={'请输入'}
|
|
|
onChange={(e) => {
|
|
onChange={(e) => {
|
|
|
setValue(e.target.value);
|
|
setValue(e.target.value);
|
|
|
if (props.onChange) {
|
|
if (props.onChange) {
|
|
@@ -150,6 +206,37 @@ export default (props: Props) => {
|
|
|
setValue(val);
|
|
setValue(val);
|
|
|
}}
|
|
}}
|
|
|
/>
|
|
/>
|
|
|
|
|
+ {visible && (
|
|
|
|
|
+ <AMap
|
|
|
|
|
+ value={value}
|
|
|
|
|
+ close={() => {
|
|
|
|
|
+ setVisible(false);
|
|
|
|
|
+ }}
|
|
|
|
|
+ ok={(param) => {
|
|
|
|
|
+ if (props.onChange) {
|
|
|
|
|
+ props.onChange(param);
|
|
|
|
|
+ }
|
|
|
|
|
+ setValue(param);
|
|
|
|
|
+ setVisible(false);
|
|
|
|
|
+ }}
|
|
|
|
|
+ />
|
|
|
|
|
+ )}
|
|
|
|
|
+
|
|
|
|
|
+ {objVisiable && (
|
|
|
|
|
+ <ObjModel
|
|
|
|
|
+ value={value}
|
|
|
|
|
+ close={() => {
|
|
|
|
|
+ setObjVisable(false);
|
|
|
|
|
+ }}
|
|
|
|
|
+ ok={(param) => {
|
|
|
|
|
+ if (props.onChange) {
|
|
|
|
|
+ props.onChange(param);
|
|
|
|
|
+ }
|
|
|
|
|
+ setValue(param);
|
|
|
|
|
+ setObjVisable(false);
|
|
|
|
|
+ }}
|
|
|
|
|
+ />
|
|
|
|
|
+ )}
|
|
|
</div>
|
|
</div>
|
|
|
);
|
|
);
|
|
|
};
|
|
};
|