From 7a9565c7792dea3063ef5db799c80a8e535b4685 Mon Sep 17 00:00:00 2001 From: RB Date: Sat, 18 Nov 2023 12:07:17 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=98=8E=E7=BB=86=E6=9C=AA=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=88=96=E5=87=BA=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/rebuild/core/metadata/MetadataSorter.java | 13 +++++-------- src/main/resources/web/assets/js/rb-forms.js | 3 +++ .../resources/web/assets/js/rb-forms.protable.js | 8 +++++++- 3 files changed, 15 insertions(+), 9 deletions(-) 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 = (