diff --git a/src/main/java/com/rebuild/core/metadata/MetadataSorter.java b/src/main/java/com/rebuild/core/metadata/MetadataSorter.java index 5de2631e6..ad1d519ac 100644 --- a/src/main/java/com/rebuild/core/metadata/MetadataSorter.java +++ b/src/main/java/com/rebuild/core/metadata/MetadataSorter.java @@ -109,14 +109,11 @@ public static Entity[] sortEntities(ID user, boolean includesBizz, boolean inclu public static Entity[] sortDetailEntities(Entity mainEntity) { Assert.notNull(mainEntity.getDetailEntity(), "None main entity : " + mainEntity); - // SORT:CODE - return mainEntity.getDetialEntities(); - -// // SORT: 名称 -// List entities = new ArrayList<>(); -// CollectionUtils.addAll(entities, mainEntity.getDetialEntities()); -// sortByLabel(entities); -// return entities.toArray(new Entity[0]); + List entities = new ArrayList<>(); + CollectionUtils.addAll(entities, mainEntity.getDetialEntities()); + // SORT: 名称。默认是返回按CODE大小 + if (entities.size() > 1) sortByLabel(entities); + return entities.toArray(new Entity[0]); } /** diff --git a/src/main/resources/web/assets/js/rb-forms.js b/src/main/resources/web/assets/js/rb-forms.js index c4aeb0a75..1476775a5 100644 --- a/src/main/resources/web/assets/js/rb-forms.js +++ b/src/main/resources/web/assets/js/rb-forms.js @@ -651,6 +651,9 @@ class RbForm extends React.Component { const keys = Object.keys(this._ProTables) for (let i = 0; i < keys.length; i++) { const _ProTable = this._ProTables[keys[i]] + // 明细未配置或出错 + if (!_ProTable._initModel) continue + const details = _ProTable.buildFormData() if (!details) return diff --git a/src/main/resources/web/assets/js/rb-forms.protable.js b/src/main/resources/web/assets/js/rb-forms.protable.js index b0c5a27f8..5b3ba9458 100644 --- a/src/main/resources/web/assets/js/rb-forms.protable.js +++ b/src/main/resources/web/assets/js/rb-forms.protable.js @@ -22,7 +22,7 @@ class ProTable extends React.Component { render() { if (this.state.hasError) { - $('.detail-form-table .btn-group .btn').attr('disabled', true) + // $('.detail-form-table .btn-group .btn').attr('disabled', true) return } @@ -143,6 +143,12 @@ class ProTable extends React.Component { } addLine(model) { + // 明细未配置或出错 + if (!model) { + if (this.state.hasError) RbHighbar.create(this.state.hasError) + return + } + const lineKey = `${this.props.entity.entity}-${model.id ? model.id : $random()}` const ref = React.createRef() const FORM = (