import React, { useEffect } from 'react'; import { BatchModelComponentConfig, ComponentInfo, ObjectPropsSyncChange, UpdateComponentQuery, } from '@easytwin/core'; import { BatchModelOutlined } from '@easyv/react-icons'; import { Form, Input, Row, Col, Switch } from 'antd'; import { ProIuputNumber, LockIcon, BlurInput } from '@/components'; interface BatchModelConfig { component: ComponentInfo; onFormValuesChange?: (values: Partial) => void; } export default function(props: BatchModelConfig) { const [form] = Form.useForm(); const { component: { name, commonConfig, commonConfig: { config }, }, onFormValuesChange, } = props; const { mode, scaleSingle, scaleSingle: { locked: lockSingle }, scaleTotal, scaleTotal: { locked: lockTotal }, } = config as BatchModelComponentConfig; useEffect(() => { form.setFieldsValue(config); }, [config, form]); return (
{/* title */}
批量创建_
批量创建模型体(指定个数)
{/* form */}
{ if (_.scaleSingle) { console.log( ObjectPropsSyncChange(scaleSingle, _.scaleSingle, 'locked', ['x', 'y', 'z']), ); onFormValuesChange?.({ commonConfig: { ...commonConfig, config: { ...allValues, scaleSingle: ObjectPropsSyncChange( scaleSingle, { ...scaleSingle, ..._.scaleSingle }, 'locked', ['x', 'y', 'z'], ), }, }, }); } if (_.scaleTotal) { onFormValuesChange?.({ commonConfig: { ...commonConfig, config: { ...allValues, scaleTotal: ObjectPropsSyncChange( scaleTotal, { ...scaleTotal, ..._.scaleTotal }, 'locked', ['x', 'y', 'z'], ), }, }, }); } }}> {/* scale */} 整体缩放 { onFormValuesChange?.({ commonConfig: { ...commonConfig, config: { ...config, scaleTotal: { ...scaleTotal, locked: lockedScale, }, }, }, }); }} /> } className="!mb-2"> {/* scale */} 单体缩放 { const value = form.getFieldsValue(); onFormValuesChange?.({ commonConfig: { ...commonConfig, config: { ...config, scaleSingle: { ...scaleSingle, locked: lockedScale, }, }, }, }); }} /> } className="!mb-2"> {mode !== 'gapless' && ( 模型个数} name="count" className="!mb-0"> )} 闭合线路} name="close" valuePropName="checked">
); };