import React, { useState, useEffect } from 'react'; import { FlowchartFormWrapper } from '@antv/xflow'; import { Position, Size, ColorPicker, InputNumberFiled, InputFiled, SelectField } from '../fields'; import { PREFIX } from '../constants'; import { connect } from 'dva'; import { UnityAction } from '@/utils/utils'; import { Button } from 'antd'; export interface IConfig { label?: string; x?: number; y?: number; width?: number; height?: number; count?: number; fontSize?: number; fontFill?: string; fill?: string; stroke?: string; flow_id?: string; flow_node_id?: string; process_code?: string; } const Component = (props: any) => { const { config, plugin = {}, auditList } = props; const { updateNode } = plugin; const [nodeConfig, setNodeConfig] = useState({ ...config, }); const onNodeConfigChange = (key: string, value: number | string | object) => { if (key) { setNodeConfig({ ...nodeConfig, [key]: value, }); updateNode({ [key]: value, }); } else if (value instanceof Object) { setNodeConfig({ ...nodeConfig, ...value, }); updateNode({ ...value, }); } }; const onSave = () => { UnityAction.emit('NODE_SAVE', nodeConfig); }; useEffect(() => { setNodeConfig({ ...config, }); }, [config]); return (
内容
{ onNodeConfigChange('label', value); }} />
数据
{ let audit = auditList.find(item => item.list.id == value); onNodeConfigChange(null, { flow_node_id: audit.list.FlowNodes[0]?.id, flow_id: value, process_code: audit.list.process_code, }); }} options={auditList.map(item => { const list = item.list; return { label: list.name || list.id, value: list.id, }; })} />
样式
{ onNodeConfigChange(key, value); }} /> { onNodeConfigChange(key, value); }} /> { onNodeConfigChange('fill', value); }} /> { onNodeConfigChange('stroke', value); }} /> { onNodeConfigChange('count', value); }} />
{ onNodeConfigChange('fontSize', value); }} /> { onNodeConfigChange('fontFill', value); }} />
); }; function RecthServe(props: any) { return ( {(config, plugin) => } ); } export default connect(({ xflow }) => ({ auditList: xflow.auditList }))(RecthServe);