This commit is contained in:
asp_ly 2024-12-30 20:30:50 +08:00
parent ed186d893e
commit 8fe80fd780

View File

@ -48,8 +48,13 @@ const NodeConfigDrawer: React.FC<NodeConfigDrawerProps> = ({
useEffect(() => { useEffect(() => {
if (nodeDefinition) { if (nodeDefinition) {
console.log('nodeDefinition:', nodeDefinition);
// 使用 convertJsonSchemaToColumns 获取字段配置 // 使用 convertJsonSchemaToColumns 获取字段配置
console.log('nodeDefinition.panelVariablesSchema:', JSON.stringify(nodeDefinition.panelVariablesSchema, null, 2));
// 使用修改后的 schema 获取字段配置
const panelColumns = convertJsonSchemaToColumns(nodeDefinition.panelVariablesSchema || { type: 'object', properties: {} }); const panelColumns = convertJsonSchemaToColumns(nodeDefinition.panelVariablesSchema || { type: 'object', properties: {} });
console.log('转换后的 panelColumns:', panelColumns);
const localColumns = convertJsonSchemaToColumns(nodeDefinition.localVariablesSchema || { type: 'object', properties: {} }); const localColumns = convertJsonSchemaToColumns(nodeDefinition.localVariablesSchema || { type: 'object', properties: {} });
const formColumns = convertJsonSchemaToColumns(nodeDefinition.formVariablesSchema || { type: 'object', properties: {} }); const formColumns = convertJsonSchemaToColumns(nodeDefinition.formVariablesSchema || { type: 'object', properties: {} });
@ -92,17 +97,6 @@ const NodeConfigDrawer: React.FC<NodeConfigDrawerProps> = ({
...initialFormValues, ...initialFormValues,
...(nodeDefinition.formVariables || {}) ...(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]); }, [nodeDefinition]);
@ -117,13 +111,19 @@ const NodeConfigDrawer: React.FC<NodeConfigDrawerProps> = ({
}; };
const renderFormField = (column: any, value: any, onChange: (value: any) => void) => { const renderFormField = (column: any, value: any, onChange: (value: any) => void) => {
const isReadOnly = column.readonly || column.fieldProps?.disabled; console.log('renderFormField 被调用:', { column, value });
// 特殊处理 code 字段
const isCodeField = column.dataIndex === 'code';
const isReadOnly = isCodeField || column.readonly === true;
const props = { const props = {
value: value || '', value: value || '',
onChange: (e: any) => onChange(e.target?.value ?? e), onChange: (e: any) => !isReadOnly && onChange(e.target?.value ?? e),
placeholder: column.fieldProps?.placeholder, placeholder: column.fieldProps?.placeholder,
disabled: isReadOnly,
readOnly: isReadOnly, readOnly: isReadOnly,
className: isReadOnly ? "bg-muted" : "", className: `${isReadOnly ? "bg-gray-100" : ""} ${column.fieldProps?.className || ""}`,
}; };
switch (column.valueType) { switch (column.valueType) {
@ -132,7 +132,7 @@ const NodeConfigDrawer: React.FC<NodeConfigDrawerProps> = ({
<Select <Select
value={value} value={value}
onValueChange={onChange} onValueChange={onChange}
disabled={isReadOnly} disabled={column.readonly === true}
> >
<SelectTrigger> <SelectTrigger>
<SelectValue placeholder={column.fieldProps?.placeholder} /> <SelectValue placeholder={column.fieldProps?.placeholder} />
@ -151,7 +151,7 @@ const NodeConfigDrawer: React.FC<NodeConfigDrawerProps> = ({
<Switch <Switch
checked={value} checked={value}
onCheckedChange={onChange} onCheckedChange={onChange}
disabled={isReadOnly} disabled={column.readonly === true}
/> />
); );
case 'textarea': case 'textarea':