diff --git a/common/common-online/src/main/java/apelet/common/online/controller/OnlineFormController.java b/common/common-online/src/main/java/apelet/common/online/controller/OnlineFormController.java index 43fd688..fac7040 100644 --- a/common/common-online/src/main/java/apelet/common/online/controller/OnlineFormController.java +++ b/common/common-online/src/main/java/apelet/common/online/controller/OnlineFormController.java @@ -674,8 +674,9 @@ public class OnlineFormController { Integer widgetType = widget.getInteger("widgetType"); if (!isTableColumn && (widgetType == null || !WidgetFieldTypeMapping.isDataWidget(widgetType))) continue; if (isTableColumn) { - // 子表列:字段类型沿用现状,硬编码 750 - this.saveField(750, widget.getString("showName"), null, head, columnName, extractSlaveTableId(widget)); + // 子表列:按 comType 从映射表取字段类型,未映射则回退 varchar(750) + Integer comType = widget.getInteger("comType"); + this.saveField(WidgetFieldTypeMapping.isDataWidget(comType) ? comType : 750, widget.getString("showName"), null, head, columnName, extractSlaveTableId(widget)); // 子表列:已有 variableName 标签才转驼峰反写字段名,没有则不动 if (widget.containsKey("variableName")) { widget.put("variableName", StrUtil.toCamelCase(columnName));