1
This commit is contained in:
parent
a5e58d9e10
commit
d02ad72d92
@ -44,12 +44,14 @@ const NodeConfigDrawer: React.FC<NodeConfigDrawerProps> = ({
|
||||
}) => {
|
||||
const [panelValues, setPanelValues] = React.useState<Variables>({});
|
||||
const [localValues, setLocalValues] = React.useState<Variables>({});
|
||||
const [formValues, setFormValues] = React.useState<Variables>({});
|
||||
|
||||
useEffect(() => {
|
||||
if (nodeDefinition) {
|
||||
// 使用 convertJsonSchemaToColumns 获取字段配置
|
||||
const panelColumns = convertJsonSchemaToColumns(nodeDefinition.panelVariablesSchema || { type: 'object', properties: {} });
|
||||
const localColumns = convertJsonSchemaToColumns(nodeDefinition.localVariablesSchema || { type: 'object', properties: {} });
|
||||
const formColumns = convertJsonSchemaToColumns(nodeDefinition.formVariablesSchema || { type: 'object', properties: {} });
|
||||
|
||||
// 初始化表单值,包括默认值
|
||||
const initialPanelValues = panelColumns.reduce((acc, column) => {
|
||||
@ -66,6 +68,13 @@ const NodeConfigDrawer: React.FC<NodeConfigDrawerProps> = ({
|
||||
return acc;
|
||||
}, {} as Variables);
|
||||
|
||||
const initialFormValues = formColumns.reduce((acc, column) => {
|
||||
if (column.initialValue !== undefined) {
|
||||
acc[column.dataIndex] = column.initialValue;
|
||||
}
|
||||
return acc;
|
||||
}, {} as Variables);
|
||||
|
||||
// 设置初始值
|
||||
setPanelValues({
|
||||
...initialPanelValues,
|
||||
@ -75,14 +84,21 @@ const NodeConfigDrawer: React.FC<NodeConfigDrawerProps> = ({
|
||||
...initialLocalValues,
|
||||
...(nodeDefinition.localVariables || {})
|
||||
});
|
||||
setFormValues({
|
||||
...initialFormValues,
|
||||
...(nodeDefinition.formVariables || {})
|
||||
});
|
||||
|
||||
// 打印调试信息
|
||||
console.log('Panel Columns:', panelColumns);
|
||||
console.log('Local Columns:', localColumns);
|
||||
console.log('Form Columns:', formColumns);
|
||||
console.log('Initial Panel Values:', initialPanelValues);
|
||||
console.log('Initial Local Values:', initialLocalValues);
|
||||
console.log('Initial Form Values:', initialFormValues);
|
||||
console.log('Node Definition Panel Variables:', nodeDefinition.panelVariables);
|
||||
console.log('Node Definition Local Variables:', nodeDefinition.localVariables);
|
||||
console.log('Node Definition Form Variables:', nodeDefinition.formVariables);
|
||||
}
|
||||
}, [nodeDefinition]);
|
||||
|
||||
@ -90,7 +106,8 @@ const NodeConfigDrawer: React.FC<NodeConfigDrawerProps> = ({
|
||||
const updatedNodeDefinition = {
|
||||
...nodeDefinition,
|
||||
panelVariables: panelValues,
|
||||
localVariables: localValues
|
||||
localVariables: localValues,
|
||||
formVariables: formValues
|
||||
};
|
||||
onOk(updatedNodeDefinition);
|
||||
};
|
||||
@ -168,6 +185,10 @@ const NodeConfigDrawer: React.FC<NodeConfigDrawerProps> = ({
|
||||
setLocalValues(prev => ({...prev, [key]: value}));
|
||||
};
|
||||
|
||||
const handleFormChange = (key: string, value: any) => {
|
||||
setFormValues(prev => ({...prev, [key]: value}));
|
||||
};
|
||||
|
||||
const items: TabsProps['items'] = [
|
||||
nodeDefinition?.panelVariablesSchema && {
|
||||
key: 'panel',
|
||||
@ -186,6 +207,15 @@ const NodeConfigDrawer: React.FC<NodeConfigDrawerProps> = ({
|
||||
{renderFormFields(nodeDefinition.localVariablesSchema, localValues, handleLocalChange)}
|
||||
</div>
|
||||
)
|
||||
},
|
||||
nodeDefinition?.formVariablesSchema && {
|
||||
key: 'form',
|
||||
label: '表单配置(预览)',
|
||||
children: (
|
||||
<div className="space-y-4">
|
||||
{renderFormFields(nodeDefinition.formVariablesSchema, formValues, handleFormChange)}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
].filter(Boolean) as TabsProps['items'];
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user