diff --git a/@rbv b/@rbv index e9a9fb7c0..ab1d26ce6 160000 --- a/@rbv +++ b/@rbv @@ -1 +1 @@ -Subproject commit e9a9fb7c0cc142b3c7939c98e4e36d6feffe1be1 +Subproject commit ab1d26ce623c3f437cbf8094848ffe1914e783a4 diff --git a/src/main/java/com/rebuild/core/configuration/general/AutoFillinManager.java b/src/main/java/com/rebuild/core/configuration/general/AutoFillinManager.java index e715b7855..c36e8e821 100644 --- a/src/main/java/com/rebuild/core/configuration/general/AutoFillinManager.java +++ b/src/main/java/com/rebuild/core/configuration/general/AutoFillinManager.java @@ -160,9 +160,16 @@ public class AutoFillinManager implements ConfigManager { */ protected Object conversionCompatibleValue(Field source, Field target, Object value) { EasyField sourceEasy = EasyMetaFactory.valueOf(source); - Object newValue = sourceEasy.convertCompatibleValue(value, EasyMetaFactory.valueOf(target)); + EasyField targetEasy = EasyMetaFactory.valueOf(target); + Object newValue = sourceEasy.convertCompatibleValue(value, targetEasy); // 转换成前端可接受的值 + + if (sourceEasy.getDisplayType() == targetEasy.getDisplayType() + && sourceEasy.getDisplayType() == DisplayType.MULTISELECT) { + return newValue; // Long + } + if (sourceEasy instanceof MixValue) { if (!(newValue instanceof String) || sourceEasy instanceof EasyFile) { newValue = sourceEasy.wrapValue(newValue); diff --git a/src/main/java/com/rebuild/web/general/ReportsController.java b/src/main/java/com/rebuild/web/general/ReportsController.java index 666fc6ce7..103ced4c2 100644 --- a/src/main/java/com/rebuild/web/general/ReportsController.java +++ b/src/main/java/com/rebuild/web/general/ReportsController.java @@ -11,6 +11,7 @@ import cn.devezhao.commons.CalendarUtils; import cn.devezhao.commons.web.ServletUtils; import cn.devezhao.persist4j.engine.ID; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.rebuild.api.RespBody; import com.rebuild.core.Application; @@ -52,9 +53,17 @@ public class ReportsController extends BaseController { @RequestMapping("report/available") public JSON availableReports(@PathVariable String entity, HttpServletRequest request) { - return DataReportManager.instance.getReports( + JSONArray res = DataReportManager.instance.getReports( MetadataHelper.getEntity(entity), getIntParameter(request, "type", DataReportManager.TYPE_RECORD)); + + // 名称排序 + res.sort((o1, o2) -> { + JSONObject j1 = (JSONObject) o1; + JSONObject j2 = (JSONObject) o2; + return j1.getString("name").compareTo(j2.getString("name")); + }); + return res; } @RequestMapping({"report/generate", "report/export"}) diff --git a/src/main/java/com/rebuild/web/robot/approval/ApprovalController.java b/src/main/java/com/rebuild/web/robot/approval/ApprovalController.java index cbbf646c3..c777b976e 100644 --- a/src/main/java/com/rebuild/web/robot/approval/ApprovalController.java +++ b/src/main/java/com/rebuild/web/robot/approval/ApprovalController.java @@ -45,11 +45,18 @@ public class ApprovalController extends BaseController { final ID user = getRequestUser(request); FlowDefinition[] defs = RobotApprovalManager.instance.getFlowDefinitions(recordId, user); - JSONArray data = new JSONArray(); + JSONArray res = new JSONArray(); for (FlowDefinition d : defs) { - data.add(d.toJSON("id", "name")); + res.add(d.toJSON("id", "name")); } - return data; + + // 名称排序 + res.sort((o1, o2) -> { + JSONObject j1 = (JSONObject) o1; + JSONObject j2 = (JSONObject) o2; + return j1.getString("name").compareTo(j2.getString("name")); + }); + return res; } @GetMapping("state") diff --git a/src/main/resources/web/assets/js/metadata/auto-fillin.js b/src/main/resources/web/assets/js/metadata/auto-fillin.js index 62089c1a2..8d2039eb3 100644 --- a/src/main/resources/web/assets/js/metadata/auto-fillin.js +++ b/src/main/resources/web/assets/js/metadata/auto-fillin.js @@ -21,16 +21,18 @@ const loadRules = () => { $(`
${this.targetFieldLabel}
`).appendTo($tr) $(`${this.sourceFieldLabel}`).appendTo($tr) - const ruleLabels = [] - if (this.extConfig.whenCreate) ruleLabels.push($L('新建时')) - if (this.extConfig.whenUpdate) ruleLabels.push($L('编辑时')) - if (this.extConfig.fillinForce) ruleLabels.push($L('强制回填')) - if (this.extConfig.readonlyTargetField) ruleLabels.push($L('自动设置目标字段为只读')) - $(`${ruleLabels.join(', ')}`).appendTo($tr) + if (!this.extConfig.whenCreate && !this.extConfig.whenUpdate) { + $(`(${$L('未启用')})`).appendTo($tr) + } else { + const ruleLabels = [] + if (this.extConfig.whenCreate) ruleLabels.push($L('新建时')) + if (this.extConfig.whenUpdate) ruleLabels.push($L('编辑时')) + if (this.extConfig.fillinForce) ruleLabels.push($L('强制回填')) + if (this.extConfig.readonlyTargetField) ruleLabels.push($L('自动设置目标字段为只读')) + $(`${ruleLabels.join(', ')}`).appendTo($tr) + } - const $btns = $( - '' - ).appendTo($tr) + const $btns = $('').appendTo($tr) $btns.find('a:eq(0)').click(() => { renderRbcomp() }) @@ -103,23 +105,11 @@ class DlgRuleEdit extends RbFormHandler {
@@ -128,13 +118,7 @@ class DlgRuleEdit extends RbFormHandler {
@@ -143,13 +127,7 @@ class DlgRuleEdit extends RbFormHandler {