diff --git a/frontend/src/pages/Workflow/Definition/Design/components/NodeConfigModal.tsx b/frontend/src/pages/Workflow/Definition/Design/components/NodeConfigModal.tsx index 234218cc..c4e6c3cb 100644 --- a/frontend/src/pages/Workflow/Definition/Design/components/NodeConfigModal.tsx +++ b/frontend/src/pages/Workflow/Definition/Design/components/NodeConfigModal.tsx @@ -48,8 +48,13 @@ const NodeConfigDrawer: React.FC = ({ useEffect(() => { if (nodeDefinition) { + console.log('nodeDefinition:', nodeDefinition); // 使用 convertJsonSchemaToColumns 获取字段配置 + console.log('nodeDefinition.panelVariablesSchema:', JSON.stringify(nodeDefinition.panelVariablesSchema, null, 2)); + + // 使用修改后的 schema 获取字段配置 const panelColumns = convertJsonSchemaToColumns(nodeDefinition.panelVariablesSchema || { type: 'object', properties: {} }); + console.log('转换后的 panelColumns:', panelColumns); const localColumns = convertJsonSchemaToColumns(nodeDefinition.localVariablesSchema || { type: 'object', properties: {} }); const formColumns = convertJsonSchemaToColumns(nodeDefinition.formVariablesSchema || { type: 'object', properties: {} }); @@ -92,17 +97,6 @@ const NodeConfigDrawer: React.FC = ({ ...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]); @@ -117,13 +111,19 @@ const NodeConfigDrawer: React.FC = ({ }; 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 = { value: value || '', - onChange: (e: any) => onChange(e.target?.value ?? e), + onChange: (e: any) => !isReadOnly && onChange(e.target?.value ?? e), placeholder: column.fieldProps?.placeholder, + disabled: isReadOnly, readOnly: isReadOnly, - className: isReadOnly ? "bg-muted" : "", + className: `${isReadOnly ? "bg-gray-100" : ""} ${column.fieldProps?.className || ""}`, }; switch (column.valueType) { @@ -132,7 +132,7 @@ const NodeConfigDrawer: React.FC = ({