@ibiz-template/runtime 0.1.18 → 0.1.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/dist/index.esm.js +407 -147
  2. package/dist/index.system.min.js +1 -1
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/app-hub.d.ts +9 -0
  5. package/out/app-hub.d.ts.map +1 -1
  6. package/out/app-hub.js +14 -0
  7. package/out/application.d.ts.map +1 -1
  8. package/out/application.js +5 -12
  9. package/out/controller/common/control/control.controller.d.ts +13 -0
  10. package/out/controller/common/control/control.controller.d.ts.map +1 -1
  11. package/out/controller/common/control/control.controller.js +58 -0
  12. package/out/controller/common/control/md-control.controller.d.ts +7 -0
  13. package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
  14. package/out/controller/common/control/md-control.controller.js +27 -2
  15. package/out/controller/control/dashboard/dashboard.controller.d.ts.map +1 -1
  16. package/out/controller/control/dashboard/dashboard.controller.js +3 -3
  17. package/out/controller/control/data-view/data-view.controller.d.ts.map +1 -1
  18. package/out/controller/control/data-view/data-view.controller.js +2 -1
  19. package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
  20. package/out/controller/control/form/edit-form/edit-form.controller.js +54 -13
  21. package/out/controller/control/form/form/form.controller.d.ts +4 -0
  22. package/out/controller/control/form/form/form.controller.d.ts.map +1 -1
  23. package/out/controller/control/form/form/form.controller.js +7 -3
  24. package/out/controller/control/form/search-form/search-form.controller.d.ts.map +1 -1
  25. package/out/controller/control/form/search-form/search-form.controller.js +11 -1
  26. package/out/controller/control/grid/grid/grid.controller.d.ts +1 -1
  27. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  28. package/out/controller/control/grid/grid/grid.controller.js +43 -14
  29. package/out/controller/control/list/list.controller.d.ts.map +1 -1
  30. package/out/controller/control/list/list.controller.js +2 -1
  31. package/out/controller/control/tree/tree.controller.d.ts.map +1 -1
  32. package/out/controller/control/tree/tree.controller.js +4 -1
  33. package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts +9 -0
  34. package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts.map +1 -1
  35. package/out/interface/provider/model-loader.provider.d.ts +9 -0
  36. package/out/interface/provider/model-loader.provider.d.ts.map +1 -1
  37. package/out/logic-scheduler/executor/app-ui-logic-executor.d.ts +1 -0
  38. package/out/logic-scheduler/executor/app-ui-logic-executor.d.ts.map +1 -1
  39. package/out/logic-scheduler/executor/app-ui-logic-executor.js +33 -4
  40. package/out/logic-scheduler/trigger/control-event-trigger.js +1 -1
  41. package/out/logic-scheduler/trigger/view-event-trigger.js +1 -1
  42. package/out/model/data-entity/data-entity.d.ts +11 -0
  43. package/out/model/data-entity/data-entity.d.ts.map +1 -1
  44. package/out/model/data-entity/data-entity.js +14 -0
  45. package/out/model/index.d.ts +1 -0
  46. package/out/model/index.d.ts.map +1 -1
  47. package/out/model/index.js +1 -0
  48. package/out/model/panel/data-container.d.ts +11 -0
  49. package/out/model/panel/data-container.d.ts.map +1 -0
  50. package/out/model/panel/data-container.js +12 -0
  51. package/out/model/panel/index.d.ts +2 -0
  52. package/out/model/panel/index.d.ts.map +1 -0
  53. package/out/model/panel/index.js +1 -0
  54. package/out/service/app-data-entity/app-data-entity.d.ts +1 -0
  55. package/out/service/app-data-entity/app-data-entity.d.ts.map +1 -1
  56. package/out/service/app-data-entity/app-data-entity.js +11 -1
  57. package/out/service/dto/method.dto.d.ts +2 -1
  58. package/out/service/dto/method.dto.d.ts.map +1 -1
  59. package/out/service/dto/method.dto.js +9 -4
  60. package/out/service/service/authority/authority.service.js +1 -1
  61. package/out/service/service/entity/method/de-action.d.ts.map +1 -1
  62. package/out/service/service/entity/method/de-action.js +2 -1
  63. package/out/service/service/entity/method/fetch.d.ts.map +1 -1
  64. package/out/service/service/entity/method/fetch.js +2 -1
  65. package/out/service/service/entity/method/method-input.d.ts +6 -6
  66. package/out/service/service/entity/method/method-input.d.ts.map +1 -1
  67. package/out/service/service/entity/method/method-input.js +10 -6
  68. package/out/service/service/entity/method/method-renturn.d.ts +6 -5
  69. package/out/service/service/entity/method/method-renturn.d.ts.map +1 -1
  70. package/out/service/service/entity/method/method-renturn.js +10 -5
  71. package/out/service/service/entity/method/method.d.ts.map +1 -1
  72. package/out/service/service/entity/method/method.js +5 -2
  73. package/out/service/service/entity/util/util.d.ts +12 -0
  74. package/out/service/service/entity/util/util.d.ts.map +1 -0
  75. package/out/service/service/entity/util/util.js +13 -0
  76. package/out/service/vo/control.vo.js +2 -2
  77. package/out/ui-logic/ui-logic-node/msg-box-node/msg-box-node.d.ts.map +1 -1
  78. package/out/ui-logic/ui-logic-node/msg-box-node/msg-box-node.js +0 -1
  79. package/out/utils/handlebars/helpers/index.d.ts.map +1 -1
  80. package/out/utils/handlebars/helpers/index.js +4 -2
  81. package/out/utils/handlebars/helpers/json/json-parse.d.ts +16 -0
  82. package/out/utils/handlebars/helpers/json/json-parse.d.ts.map +1 -0
  83. package/out/utils/handlebars/helpers/json/json-parse.js +19 -0
  84. package/out/utils/handlebars/helpers/json/{json.d.ts → json-stringify.d.ts} +3 -3
  85. package/out/utils/handlebars/helpers/json/json-stringify.d.ts.map +1 -0
  86. package/out/utils/handlebars/helpers/json/{json.js → json-stringify.js} +2 -2
  87. package/package.json +3 -3
  88. package/src/app-hub.ts +15 -0
  89. package/src/application.ts +8 -17
  90. package/src/controller/common/control/control.controller.ts +67 -0
  91. package/src/controller/common/control/md-control.controller.ts +28 -2
  92. package/src/controller/control/dashboard/dashboard.controller.ts +3 -3
  93. package/src/controller/control/data-view/data-view.controller.ts +2 -1
  94. package/src/controller/control/form/edit-form/edit-form.controller.ts +64 -17
  95. package/src/controller/control/form/form/form.controller.ts +11 -3
  96. package/src/controller/control/form/search-form/search-form.controller.ts +10 -1
  97. package/src/controller/control/grid/grid/grid.controller.ts +54 -18
  98. package/src/controller/control/list/list.controller.ts +2 -1
  99. package/src/controller/control/tree/tree.controller.ts +7 -1
  100. package/src/interface/common/i-app-hub-service/i-app-hub-service.ts +10 -0
  101. package/src/interface/provider/model-loader.provider.ts +10 -0
  102. package/src/logic-scheduler/executor/app-ui-logic-executor.ts +44 -7
  103. package/src/logic-scheduler/trigger/control-event-trigger.ts +1 -1
  104. package/src/logic-scheduler/trigger/view-event-trigger.ts +1 -1
  105. package/src/model/data-entity/data-entity.ts +17 -0
  106. package/src/model/index.ts +1 -0
  107. package/src/model/panel/data-container.ts +18 -0
  108. package/src/model/panel/index.ts +1 -0
  109. package/src/service/app-data-entity/app-data-entity.ts +13 -1
  110. package/src/service/dto/method.dto.ts +8 -3
  111. package/src/service/service/authority/authority.service.ts +1 -1
  112. package/src/service/service/entity/method/de-action.ts +2 -1
  113. package/src/service/service/entity/method/fetch.ts +2 -1
  114. package/src/service/service/entity/method/method-input.ts +11 -6
  115. package/src/service/service/entity/method/method-renturn.ts +11 -5
  116. package/src/service/service/entity/method/method.ts +5 -2
  117. package/src/service/service/entity/util/util.ts +17 -0
  118. package/src/service/vo/control.vo.ts +2 -2
  119. package/src/ui-logic/ui-logic-node/msg-box-node/msg-box-node.ts +0 -1
  120. package/src/utils/handlebars/helpers/index.ts +4 -2
  121. package/src/utils/handlebars/helpers/json/json-parse.ts +21 -0
  122. package/src/utils/handlebars/helpers/json/{json.ts → json-stringify.ts} +2 -2
  123. package/out/utils/handlebars/helpers/json/json.d.ts.map +0 -1
package/dist/index.esm.js CHANGED
@@ -6398,8 +6398,18 @@ var HelperEqPropertyValue = class extends HelperBase {
6398
6398
  }
6399
6399
  };
6400
6400
 
6401
- // src/utils/handlebars/helpers/json/json.ts
6402
- var HelperJson = class extends HelperBase {
6401
+ // src/utils/handlebars/helpers/json/json-parse.ts
6402
+ var HelperJsonParse = class extends HelperBase {
6403
+ constructor(hbs) {
6404
+ super(hbs, "jsonParse");
6405
+ }
6406
+ onExecute(obj) {
6407
+ return JSON.parse(obj);
6408
+ }
6409
+ };
6410
+
6411
+ // src/utils/handlebars/helpers/json/json-stringify.ts
6412
+ var HelperJsonStringify = class extends HelperBase {
6403
6413
  constructor(hbs) {
6404
6414
  super(hbs, "jsonStringify");
6405
6415
  }
@@ -6553,7 +6563,8 @@ function installHelpers(hsb) {
6553
6563
  new HelperEq(hsb);
6554
6564
  new HelperGt(hsb);
6555
6565
  new HelperGte(hsb);
6556
- new HelperJson(hsb);
6566
+ new HelperJsonParse(hsb);
6567
+ new HelperJsonStringify(hsb);
6557
6568
  new HelperLowerCase(hsb);
6558
6569
  new HelperLt(hsb);
6559
6570
  new HelperLte(hsb);
@@ -6980,6 +6991,10 @@ async function getDeACMode(appDEACModeId, entityId, srfappid) {
6980
6991
  });
6981
6992
  return deACMode;
6982
6993
  }
6994
+ async function getFormTypeFieldName(entityId) {
6995
+ const appDataEntity = await ibiz.hub.getAppDataEntity(entityId);
6996
+ return appDataEntity.formTypeAppDEFieldId;
6997
+ }
6983
6998
  function findDELogic(appDELogicId, entity) {
6984
6999
  var _a;
6985
7000
  return (_a = entity.appDELogics) == null ? void 0 : _a.find((item) => item.id === appDELogicId);
@@ -7081,6 +7096,13 @@ function getViewEngines(view) {
7081
7096
  return appViewEngines;
7082
7097
  }
7083
7098
 
7099
+ // src/model/panel/data-container.ts
7100
+ function isDataContainer(panelItem) {
7101
+ return panelItem.itemType === "CONTAINER" && ["CONTAINER_MULTIDATA", "CONTAINER_SINGLEDATA"].includes(
7102
+ panelItem.predefinedType
7103
+ );
7104
+ }
7105
+
7084
7106
  // src/utils/open-redirect-view/open-redirect-view.ts
7085
7107
  async function openRedirectView(appView, context, params = {}, opts = {}) {
7086
7108
  return openDERedirectView(
@@ -11156,6 +11178,14 @@ var AppDataEntity = class _AppDataEntity {
11156
11178
  return this._data[key] || _srfkey;
11157
11179
  }
11158
11180
  });
11181
+ Object.defineProperty(this, "srfsourcekey", {
11182
+ set(val) {
11183
+ this._data[key] = val;
11184
+ },
11185
+ get() {
11186
+ return this._data[key];
11187
+ }
11188
+ });
11159
11189
  } else {
11160
11190
  ibiz.log.warn("\u5B9E\u4F53[".concat(entity.codeName, "]\u672A\u914D\u7F6E\u4E3B\u952E\u5B57\u6BB5"));
11161
11191
  }
@@ -11230,7 +11260,9 @@ var AppDataEntity = class _AppDataEntity {
11230
11260
  * @return {*} {AppDataEntity}
11231
11261
  */
11232
11262
  clone() {
11233
- return new _AppDataEntity(this._entity, this._data);
11263
+ const entity = new _AppDataEntity(this._entity, this._data);
11264
+ entity.srfkey = this.srfkey;
11265
+ return entity;
11234
11266
  }
11235
11267
  /**
11236
11268
  * 合并参数
@@ -11254,8 +11286,9 @@ var AppDataEntity = class _AppDataEntity {
11254
11286
  import { ModelError as ModelError7 } from "@ibiz-template/core";
11255
11287
  import { notNilEmpty as notNilEmpty5 } from "qx-util";
11256
11288
  var MethodDto = class _MethodDto {
11257
- constructor(entity, dto) {
11289
+ constructor(entity, isLocalMode2, dto) {
11258
11290
  this.entity = entity;
11291
+ this.isLocalMode = isLocalMode2;
11259
11292
  this.dto = dto;
11260
11293
  this.dtoMap = /* @__PURE__ */ new Map();
11261
11294
  if (dto) {
@@ -11326,7 +11359,9 @@ var MethodDto = class _MethodDto {
11326
11359
  */
11327
11360
  async sets(context, data) {
11328
11361
  const service = await this.app.deService.getService(this.entity.id);
11329
- service.local.clear(context);
11362
+ if (this.isLocalMode) {
11363
+ service.local.clear(context);
11364
+ }
11330
11365
  return Promise.all(
11331
11366
  data.map(async (datum) => {
11332
11367
  const all = this.fields.filter((field) => field.type === "DTOS").map(async (field) => {
@@ -11344,7 +11379,9 @@ var MethodDto = class _MethodDto {
11344
11379
  await all[i];
11345
11380
  }
11346
11381
  const entityData = new AppDataEntity(this.entity, datum);
11347
- await service.local.add(context, entityData);
11382
+ if (this.isLocalMode) {
11383
+ await service.local.add(context, entityData);
11384
+ }
11348
11385
  return entityData;
11349
11386
  })
11350
11387
  );
@@ -11370,35 +11407,43 @@ var MethodDto = class _MethodDto {
11370
11407
  entity.appDEMethodDTOs || [],
11371
11408
  field.refAppDEMethodDTOId
11372
11409
  );
11373
- const dto = new _MethodDto(entity, methodDto);
11410
+ const dto = new _MethodDto(entity, this.isLocalMode, methodDto);
11374
11411
  this.dtoMap.set(field.codeName, dto);
11375
11412
  return dto;
11376
11413
  }
11377
11414
  };
11378
11415
 
11416
+ // src/service/service/entity/util/util.ts
11417
+ function isLocalMode(method) {
11418
+ return method.actionType === "BUILTIN" || method.dataSetType === "DATAQUERY";
11419
+ }
11420
+
11379
11421
  // src/service/service/entity/method/method-input.ts
11380
11422
  var MethodInput = class {
11381
11423
  /**
11382
11424
  * Creates an instance of MethodInput.
11383
- *
11384
11425
  * @author chitanda
11385
- * @date 2022-10-11 17:10:59
11426
+ * @date 2023-09-06 16:09:26
11386
11427
  * @param {IAppDataEntity} entity
11387
- * @param {IAppDEMethodInput} [input]
11428
+ * @param {IAppDEMethod} method
11388
11429
  */
11389
- constructor(entity, input) {
11430
+ constructor(entity, method) {
11390
11431
  this.entity = entity;
11391
- this.input = input;
11432
+ this.method = method;
11433
+ const input = method.appDEMethodInput;
11392
11434
  if (input) {
11393
11435
  const methodDto = findModelChild(
11394
11436
  entity.appDEMethodDTOs || [],
11395
11437
  input.appDEMethodDTOId
11396
11438
  );
11397
11439
  if (methodDto) {
11398
- this.dto = new MethodDto(entity, methodDto);
11440
+ this.dto = new MethodDto(entity, this.isLocalMode, methodDto);
11399
11441
  }
11400
11442
  }
11401
11443
  }
11444
+ get isLocalMode() {
11445
+ return isLocalMode(this.method);
11446
+ }
11402
11447
  /**
11403
11448
  * 处理请求发送参数
11404
11449
  *
@@ -11420,25 +11465,29 @@ var MethodInput = class {
11420
11465
  var MethodReturn = class {
11421
11466
  /**
11422
11467
  * Creates an instance of MethodReturn.
11423
- *
11424
11468
  * @author chitanda
11425
- * @date 2022-10-11 17:10:47
11469
+ * @date 2023-09-06 16:09:45
11426
11470
  * @param {IAppDataEntity} entity
11471
+ * @param {IAppDEMethod} method
11427
11472
  * @param {IAppDEMethodReturn} [output]
11428
11473
  */
11429
- constructor(entity, output) {
11474
+ constructor(entity, method) {
11430
11475
  this.entity = entity;
11431
- this.output = output;
11476
+ this.method = method;
11477
+ const output = method.appDEMethodReturn;
11432
11478
  if (output) {
11433
11479
  const methodDto = findModelChild(
11434
11480
  entity.appDEMethodDTOs || [],
11435
11481
  output.appDEMethodDTOId
11436
11482
  );
11437
11483
  if (methodDto) {
11438
- this.dto = new MethodDto(entity, methodDto);
11484
+ this.dto = new MethodDto(entity, this.isLocalMode, methodDto);
11439
11485
  }
11440
11486
  }
11441
11487
  }
11488
+ get isLocalMode() {
11489
+ return isLocalMode(this.method);
11490
+ }
11442
11491
  /**
11443
11492
  * 处理请求返回参数
11444
11493
  *
@@ -11472,8 +11521,8 @@ var Method = class {
11472
11521
  this.entity = entity;
11473
11522
  this.method = method;
11474
11523
  this.app = ibiz.hub.getApp(entity.appId);
11475
- this.input = new MethodInput(entity, method.appDEMethodInput);
11476
- this.result = new MethodReturn(entity, method.appDEMethodReturn);
11524
+ this.input = new MethodInput(entity, method);
11525
+ this.result = new MethodReturn(entity, method);
11477
11526
  }
11478
11527
  /**
11479
11528
  * 发送请求
@@ -11563,6 +11612,9 @@ var Method = class {
11563
11612
  * @return {*} {IDataEntity}
11564
11613
  */
11565
11614
  createEntity(data) {
11615
+ if (data instanceof AppDataEntity) {
11616
+ return data.clone();
11617
+ }
11566
11618
  return new AppDataEntity(this.entity, data);
11567
11619
  }
11568
11620
  };
@@ -12584,7 +12636,7 @@ var DEActionMethod = class extends Method {
12584
12636
  * @type {boolean}
12585
12637
  */
12586
12638
  get isLocalMode() {
12587
- return this.method.actionType === "BUILTIN";
12639
+ return isLocalMode(this.method);
12588
12640
  }
12589
12641
  async exec(context, data, params) {
12590
12642
  if (this.method.actionType === "DELOGIC") {
@@ -12880,7 +12932,7 @@ import { ascSort, descSort } from "qx-util";
12880
12932
  import { clone as clone9, equals as equals2, isEmpty as isEmpty7, isNil as isNil7, where as where2 } from "ramda";
12881
12933
  var FetchMethod = class extends Method {
12882
12934
  get isLocalMode() {
12883
- return this.method.dataSetType === "DATAQUERY";
12935
+ return isLocalMode(this.method);
12884
12936
  }
12885
12937
  async exec(context, data, params) {
12886
12938
  if (this.isLocalMode) {
@@ -13246,7 +13298,7 @@ var ControlVO = class _ControlVO {
13246
13298
  * @returns {*}
13247
13299
  */
13248
13300
  linkProperty(uiKey, dataKey, isOriginField = true) {
13249
- if (uiKey === "srfuf") {
13301
+ if (uiKey === "srfuf" || uiKey === "srfkey") {
13250
13302
  return;
13251
13303
  }
13252
13304
  if (isOriginField || Object.prototype.hasOwnProperty.call(this.$origin, uiKey)) {
@@ -13693,7 +13745,7 @@ var AuthorityService = class {
13693
13745
  */
13694
13746
  async init(appData = ibiz.appData) {
13695
13747
  if (!appData) {
13696
- throw new RuntimeError16("\u6CA1\u6709appData\u6570\u636E");
13748
+ return;
13697
13749
  }
13698
13750
  if (appData.unires) {
13699
13751
  this.resCodes = appData.unires;
@@ -14130,7 +14182,7 @@ var DEServiceUtil = class {
14130
14182
  };
14131
14183
 
14132
14184
  // src/app-hub.ts
14133
- import { RuntimeError as RuntimeError44 } from "@ibiz-template/core";
14185
+ import { RuntimeError as RuntimeError42 } from "@ibiz-template/core";
14134
14186
 
14135
14187
  // src/application.ts
14136
14188
  import { Net } from "@ibiz-template/core";
@@ -14190,20 +14242,14 @@ var Application = class {
14190
14242
  * @return {*} {Promise<void>}
14191
14243
  */
14192
14244
  async loadAppModelStyle() {
14193
- await this.net.get("".concat(ibiz.env.remoteModelUrl, "/PSSYSAPP.json.css")).then((res) => {
14245
+ const style = await ibiz.hub.getAppStyle(this.appId);
14246
+ if (style) {
14194
14247
  const dom = document.createElement("style");
14195
14248
  dom.setAttribute("type", "text/css");
14196
- if (res.request && res.request.responseURL) {
14197
- const url = new URL(res.request.responseURL);
14198
- dom.id = url.pathname;
14199
- }
14200
- dom.innerHTML = res.data;
14249
+ dom.id = this.appId;
14250
+ dom.innerHTML = style;
14201
14251
  document.head.appendChild(dom);
14202
- }).catch((err) => {
14203
- ibiz.log.error(
14204
- "\u5E94\u7528[".concat(this.appId, "]\u6A21\u578B\u5168\u5C40\u6837\u5F0F\u52A0\u8F7D\u5931\u8D25\uFF1A").concat(err.message)
14205
- );
14206
- });
14252
+ }
14207
14253
  }
14208
14254
  /**
14209
14255
  * 根据 id 查找应用功能
@@ -15740,6 +15786,8 @@ var CodeListEditorController = class extends EditorController {
15740
15786
  };
15741
15787
 
15742
15788
  // src/controller/common/control/control.controller.ts
15789
+ import { NoticeError } from "@ibiz-template/core";
15790
+ import { isNil as isNil13 } from "ramda";
15743
15791
  var ControlController = class extends BaseController {
15744
15792
  /**
15745
15793
  * Creates an instance of ControlController.
@@ -15901,11 +15949,71 @@ var ControlController = class extends BaseController {
15901
15949
  return this.getEventArgs();
15902
15950
  };
15903
15951
  }
15952
+ /**
15953
+ * 执行对应部件行为消息提示
15954
+ * @author lxm
15955
+ * @date 2023-09-07 04:51:21
15956
+ * @param {string} tag
15957
+ * @param {({ default?: string; data?: IData | IData[]; error?: Error })} [opts]
15958
+ * @return {*} {void}
15959
+ */
15960
+ actionNotification(tag, opts) {
15961
+ var _a;
15962
+ const { ctrlMsg } = this.model;
15963
+ const msgItem = (_a = ctrlMsg == null ? void 0 : ctrlMsg.ctrlMsgItems) == null ? void 0 : _a.find((item) => item.name === tag);
15964
+ let message;
15965
+ let duration;
15966
+ if (msgItem && msgItem.content) {
15967
+ duration = isNil13(msgItem.timeout) ? void 0 : msgItem.timeout / 1e3;
15968
+ const scriptParams = { ...this.getEventArgs() };
15969
+ if (opts == null ? void 0 : opts.data) {
15970
+ scriptParams.data = opts.data;
15971
+ }
15972
+ message = ScriptFactory.execScriptFn(
15973
+ scriptParams,
15974
+ "`".concat(msgItem.content, "`"),
15975
+ {
15976
+ isAsync: false,
15977
+ singleRowReturn: true
15978
+ }
15979
+ );
15980
+ } else {
15981
+ const resTag = "CONTROL.".concat(this.model.controlType, ".").concat(tag).toUpperCase();
15982
+ message = ibiz.i18n.t(resTag, "");
15983
+ if (message === resTag) {
15984
+ message = "";
15985
+ }
15986
+ }
15987
+ if (!message && (opts == null ? void 0 : opts.default)) {
15988
+ message = opts.default;
15989
+ }
15990
+ if (!message && (opts == null ? void 0 : opts.error)) {
15991
+ message = message || opts.error.message;
15992
+ }
15993
+ if (!message) {
15994
+ return;
15995
+ }
15996
+ if (opts == null ? void 0 : opts.error) {
15997
+ throw new NoticeError(message, duration);
15998
+ } else {
15999
+ ibiz.message.success(message, duration, duration === 0);
16000
+ }
16001
+ }
15904
16002
  };
15905
16003
 
15906
16004
  // src/controller/common/control/md-control.controller.ts
15907
16005
  import { isElementSame, RuntimeError as RuntimeError23 } from "@ibiz-template/core";
15908
16006
  var MDControlController = class extends ControlController {
16007
+ constructor() {
16008
+ super(...arguments);
16009
+ /**
16010
+ * 实体属性映射,key是id,value是name
16011
+ * @author lxm
16012
+ * @date 2023-09-07 03:16:56
16013
+ * @protected
16014
+ */
16015
+ this.fieldIdNameMap = /* @__PURE__ */ new Map();
16016
+ }
15909
16017
  get _evt() {
15910
16018
  return this.evt;
15911
16019
  }
@@ -15925,7 +16033,14 @@ var MDControlController = class extends ControlController {
15925
16033
  this.state.groups = [];
15926
16034
  }
15927
16035
  async onCreated() {
16036
+ var _a;
15928
16037
  await super.onCreated();
16038
+ const dataEntity = await ibiz.hub.getAppDataEntity(
16039
+ this.model.appDataEntityId
16040
+ );
16041
+ (_a = dataEntity.appDEFields) == null ? void 0 : _a.forEach((field) => {
16042
+ this.fieldIdNameMap.set(field.id, field.name);
16043
+ });
15929
16044
  this.setSort();
15930
16045
  }
15931
16046
  /**
@@ -16004,10 +16119,14 @@ var MDControlController = class extends ControlController {
16004
16119
  });
16005
16120
  } catch (error) {
16006
16121
  await this._evt.emit("onLoadError", void 0);
16122
+ this.actionNotification("FETCHERROR", {
16123
+ error
16124
+ });
16007
16125
  throw error;
16008
16126
  } finally {
16009
16127
  await this.endLoading();
16010
16128
  }
16129
+ this.actionNotification("FETCHSUCCESS");
16011
16130
  return this.state.items;
16012
16131
  }
16013
16132
  /**
@@ -16068,8 +16187,9 @@ var MDControlController = class extends ControlController {
16068
16187
  })
16069
16188
  );
16070
16189
  if ((args == null ? void 0 : args.silent) !== true) {
16071
- ibiz.notification.success({
16072
- desc: "\u6570\u636E[".concat(data.map((item) => item.srfmajortext).join("\u3001"), "]\u5220\u9664\u6210\u529F!")
16190
+ this.actionNotification("REMOVESUCCESS", {
16191
+ data,
16192
+ default: "\u6570\u636E[".concat(data.map((item) => item.srfmajortext).join("\u3001"), "]\u5220\u9664\u6210\u529F!")
16073
16193
  });
16074
16194
  }
16075
16195
  if (needRefresh) {
@@ -16077,6 +16197,10 @@ var MDControlController = class extends ControlController {
16077
16197
  }
16078
16198
  } catch (error) {
16079
16199
  await this._evt.emit("onRemoveError", void 0);
16200
+ this.actionNotification("REMOVEERROR", {
16201
+ error,
16202
+ data
16203
+ });
16080
16204
  throw error;
16081
16205
  } finally {
16082
16206
  await this.endLoading();
@@ -16608,7 +16732,7 @@ import isSameOrBefore from "dayjs/plugin/isSameOrBefore";
16608
16732
  import quarterOfYear from "dayjs/plugin/quarterOfYear";
16609
16733
  import weekOfYear from "dayjs/plugin/weekOfYear";
16610
16734
  import isoWeek from "dayjs/plugin/isoWeek";
16611
- import { clone as clone11, isNil as isNil13, mergeDeepRight } from "ramda";
16735
+ import { clone as clone11, isNil as isNil14, mergeDeepRight } from "ramda";
16612
16736
  dayjs2.extend(minMax);
16613
16737
  dayjs2.extend(isSameOrBefore);
16614
16738
  dayjs2.extend(quarterOfYear);
@@ -16697,10 +16821,10 @@ var BaseSeriesGenerator = class {
16697
16821
  * @return {*} {(string | undefined)}
16698
16822
  */
16699
16823
  translateVal(codeListKey, val, isExclude = false) {
16700
- if (isNil13(val)) {
16824
+ if (isNil14(val)) {
16701
16825
  return void 0;
16702
16826
  }
16703
- if (isNil13(codeListKey)) {
16827
+ if (isNil14(codeListKey)) {
16704
16828
  return val;
16705
16829
  }
16706
16830
  const codeListItems = this.chartGenerator.codeListMap.get(codeListKey);
@@ -16730,7 +16854,7 @@ var BaseSeriesGenerator = class {
16730
16854
  seriesCodeListId,
16731
16855
  item[this.groupField]
16732
16856
  );
16733
- if (isNil13(groupVal)) {
16857
+ if (isNil14(groupVal)) {
16734
16858
  return;
16735
16859
  }
16736
16860
  group = groupVal;
@@ -18343,7 +18467,6 @@ var MsgBoxNode = class extends UILogicNode {
18343
18467
  default:
18344
18468
  throw new ModelError21(this.model, "".concat(buttonsType, "\u6682\u672A\u652F\u6301"));
18345
18469
  }
18346
- console.log(this.model, modalParams);
18347
18470
  const result = await ibiz.modal.confirm(modalParams);
18348
18471
  ctx.setLastReturn(resultTags[result ? 0 : 1]);
18349
18472
  }
@@ -19241,7 +19364,6 @@ var ContextMenuController = class extends ToolbarController {
19241
19364
  };
19242
19365
 
19243
19366
  // src/controller/control/dashboard/dashboard.controller.ts
19244
- import { RuntimeError as RuntimeError32 } from "@ibiz-template/core";
19245
19367
  var DashboardController = class extends ControlController {
19246
19368
  constructor() {
19247
19369
  super(...arguments);
@@ -19326,9 +19448,10 @@ var DashboardController = class extends ControlController {
19326
19448
  return portlet.dataChangeNotify(data);
19327
19449
  })
19328
19450
  );
19329
- if (values.find((item) => item.status === "rejected")) {
19451
+ const rejectedValue = values.find((item) => item.status === "rejected");
19452
+ if (rejectedValue) {
19330
19453
  ibiz.log.error("dataChangeNotify\u62A5\u9519", values);
19331
- throw new RuntimeError32("\u6570\u636E\u53D8\u66F4\u540E\u6709\u9519\u8BEF");
19454
+ throw rejectedValue.reason;
19332
19455
  }
19333
19456
  }
19334
19457
  };
@@ -19769,7 +19892,8 @@ var DataViewControlController = class extends MDControlController {
19769
19892
  } else {
19770
19893
  const { minorSortAppDEFieldId, minorSortDir } = this.model;
19771
19894
  if (minorSortAppDEFieldId && minorSortDir) {
19772
- this.state.sortQuery = "".concat(minorSortAppDEFieldId.toLowerCase(), ",").concat(minorSortDir.toLowerCase());
19895
+ const fieldName = this.fieldIdNameMap.get(minorSortAppDEFieldId);
19896
+ this.state.sortQuery = "".concat(fieldName.toLowerCase(), ",").concat(minorSortDir.toLowerCase());
19773
19897
  } else {
19774
19898
  this.state.sortQuery = "";
19775
19899
  }
@@ -19781,7 +19905,7 @@ var DataViewControlController = class extends MDControlController {
19781
19905
  import { RuntimeModelError as RuntimeModelError42 } from "@ibiz-template/core";
19782
19906
 
19783
19907
  // src/controller/control/exp-bar/exp-bar.controller.ts
19784
- import { RuntimeError as RuntimeError33, RuntimeModelError as RuntimeModelError41 } from "@ibiz-template/core";
19908
+ import { RuntimeError as RuntimeError32, RuntimeModelError as RuntimeModelError41 } from "@ibiz-template/core";
19785
19909
  var ExpBarControlController = class extends ControlController {
19786
19910
  constructor() {
19787
19911
  super(...arguments);
@@ -20058,7 +20182,7 @@ var ExpBarControlController = class extends ControlController {
20058
20182
  if (["GRID", "DATAVIEW", "LIST"].includes(((_a = this.XDataModel) == null ? void 0 : _a.controlType) || "")) {
20059
20183
  return this.XDataModel.navAppViewId;
20060
20184
  }
20061
- throw new RuntimeError33("\u591A\u8282\u70B9\u89C6\u56FE\u7531\u5B50\u7C7B\u5B9E\u73B0");
20185
+ throw new RuntimeError32("\u591A\u8282\u70B9\u89C6\u56FE\u7531\u5B50\u7C7B\u5B9E\u73B0");
20062
20186
  }
20063
20187
  /**
20064
20188
  * 获取导航视图
@@ -20187,7 +20311,7 @@ var CalendarExpBarController = class extends ExpBarControlController {
20187
20311
  };
20188
20312
 
20189
20313
  // src/controller/control/exp-bar/tree-exp-bar.controller.ts
20190
- import { RuntimeError as RuntimeError34, RuntimeModelError as RuntimeModelError43 } from "@ibiz-template/core";
20314
+ import { RuntimeError as RuntimeError33, RuntimeModelError as RuntimeModelError43 } from "@ibiz-template/core";
20191
20315
  var TreeExpBarController = class extends ExpBarControlController {
20192
20316
  constructor() {
20193
20317
  super(...arguments);
@@ -20262,7 +20386,7 @@ var TreeExpBarController = class extends ExpBarControlController {
20262
20386
  const deData = node.deData || node;
20263
20387
  const nodeModel = this.getNodeModel(node.nodeId);
20264
20388
  if (!nodeModel) {
20265
- throw new RuntimeError34("\u627E\u4E0D\u5230".concat(node.nodeId, "\u7684\u8282\u70B9\u6A21\u578B"));
20389
+ throw new RuntimeError33("\u627E\u4E0D\u5230".concat(node.nodeId, "\u7684\u8282\u70B9\u6A21\u578B"));
20266
20390
  }
20267
20391
  const result = this.prepareParams(nodeModel, deData, context, params);
20268
20392
  result.context.currentSrfNav = nodeId;
@@ -20315,7 +20439,7 @@ var TreeExpBarController = class extends ExpBarControlController {
20315
20439
  import { mergeDefaultInLeft } from "@ibiz-template/core";
20316
20440
 
20317
20441
  // src/controller/control/form/form/form.controller.ts
20318
- import { RuntimeError as RuntimeError35, debounceAndAsyncMerge } from "@ibiz-template/core";
20442
+ import { debounceAndAsyncMerge } from "@ibiz-template/core";
20319
20443
  var FormController = class extends ControlController {
20320
20444
  constructor() {
20321
20445
  super(...arguments);
@@ -20378,9 +20502,10 @@ var FormController = class extends ControlController {
20378
20502
  return detail.dataChangeNotify(names);
20379
20503
  })
20380
20504
  );
20381
- if (values.find((item) => item.status === "rejected")) {
20505
+ const rejectedValue = values.find((item) => item.status === "rejected");
20506
+ if (rejectedValue) {
20382
20507
  ibiz.log.error("dataChangeNotify\u62A5\u9519", values);
20383
- throw new RuntimeError35("\u6570\u636E\u53D8\u66F4\u540E\u6709\u9519\u8BEF");
20508
+ throw rejectedValue.reason;
20384
20509
  }
20385
20510
  }
20386
20511
  /**
@@ -20506,6 +20631,9 @@ var FormController = class extends ControlController {
20506
20631
  );
20507
20632
  return values.findIndex((value) => !value) === -1;
20508
20633
  }
20634
+ actionNotification(tag, opts) {
20635
+ super.actionNotification(tag, { data: this.data, ...opts || {} });
20636
+ }
20509
20637
  };
20510
20638
 
20511
20639
  // src/controller/control/form/search-form/search-form.service.ts
@@ -20582,11 +20710,20 @@ var SearchFormController = class extends FormController {
20582
20710
  const params = await this.getDraftParams();
20583
20711
  Object.assign(queryParams, params);
20584
20712
  await this.evt.emit("onBeforeLoadDraft", { params: queryParams });
20585
- const res = await this.service.getDraft(this.context, queryParams);
20713
+ let res;
20714
+ try {
20715
+ res = await this.service.getDraft(this.context, queryParams);
20716
+ } catch (error) {
20717
+ this.actionNotification("GETDRAFTERROR", {
20718
+ error
20719
+ });
20720
+ throw error;
20721
+ }
20586
20722
  this.state.data = res.data;
20587
20723
  mergeDefaultInLeft(this.data, params);
20588
20724
  this.state.isLoaded = true;
20589
20725
  this.formStateNotify("DRAFT" /* DRAFT */);
20726
+ this.actionNotification("GETDRAFTSUCCESS");
20590
20727
  return this.data;
20591
20728
  }
20592
20729
  /**
@@ -21250,7 +21387,7 @@ var FormGroupPanelController = class extends FormDetailController {
21250
21387
  // src/controller/control/form/form-detail/form-item/form-item.controller.ts
21251
21388
  import Schema from "async-validator";
21252
21389
  import { createUUID as createUUID4, isNilOrEmpty as isNilOrEmpty6 } from "qx-util";
21253
- import { ModelError as ModelError25, RuntimeError as RuntimeError36 } from "@ibiz-template/core";
21390
+ import { ModelError as ModelError25, RuntimeError as RuntimeError34 } from "@ibiz-template/core";
21254
21391
  import dayjs3 from "dayjs";
21255
21392
 
21256
21393
  // src/controller/control/form/form-detail/form-item/form-item.state.ts
@@ -21566,7 +21703,7 @@ var FormItemController = class extends FormDetailController {
21566
21703
  case "SESSION":
21567
21704
  case "APPLICATION":
21568
21705
  if (!((_a = ibiz.appData) == null ? void 0 : _a.context)) {
21569
- throw new RuntimeError36("appdata.context\u4E0D\u5B58\u5728");
21706
+ throw new RuntimeError34("appdata.context\u4E0D\u5B58\u5728");
21570
21707
  }
21571
21708
  data[this.name] = ibiz.appData.context[defaultValue];
21572
21709
  break;
@@ -21691,7 +21828,7 @@ var FormMDCtrlContentTypeController = class {
21691
21828
  };
21692
21829
 
21693
21830
  // src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-control/form-mdctrl-control.controller.ts
21694
- import { RuntimeError as RuntimeError37 } from "@ibiz-template/core";
21831
+ import { RuntimeError as RuntimeError35 } from "@ibiz-template/core";
21695
21832
  var FormMDCtrlControlController = class extends FormMDCtrlContentTypeController {
21696
21833
  /**
21697
21834
  * 初始化
@@ -21706,7 +21843,7 @@ var FormMDCtrlControlController = class extends FormMDCtrlContentTypeController
21706
21843
  const { model } = this.parent;
21707
21844
  const { contentControl } = model;
21708
21845
  if (!contentControl) {
21709
- throw new RuntimeError37("\u8868\u5355\u591A\u6570\u636E\u90E8\u4EF6\u672A\u914D\u7F6E\u5D4C\u5165\u90E8\u4EF6");
21846
+ throw new RuntimeError35("\u8868\u5355\u591A\u6570\u636E\u90E8\u4EF6\u672A\u914D\u7F6E\u5D4C\u5165\u90E8\u4EF6");
21710
21847
  }
21711
21848
  this.controlModel = contentControl;
21712
21849
  const controlProvider = await getControlProvider(this.controlModel);
@@ -21816,7 +21953,7 @@ import { isArray as isArray4 } from "lodash-es";
21816
21953
  import {
21817
21954
  awaitTimeout,
21818
21955
  mergeInLeft,
21819
- RuntimeError as RuntimeError38,
21956
+ RuntimeError as RuntimeError36,
21820
21957
  mergeDefaultInLeft as mergeDefaultInLeft2
21821
21958
  } from "@ibiz-template/core";
21822
21959
  import { debounce } from "lodash-es";
@@ -22133,6 +22270,9 @@ var EditFormController = class extends FormController {
22133
22270
  res = await this.service.getDraft(this.context, queryParams);
22134
22271
  } catch (error) {
22135
22272
  await this.evt.emit("onLoadDraftError", void 0);
22273
+ this.actionNotification("GETDRAFTERROR", {
22274
+ error
22275
+ });
22136
22276
  throw error;
22137
22277
  } finally {
22138
22278
  await this.endLoading();
@@ -22141,6 +22281,7 @@ var EditFormController = class extends FormController {
22141
22281
  mergeDefaultInLeft2(this.data, params);
22142
22282
  this.formStateNotify("DRAFT" /* DRAFT */);
22143
22283
  await this.evt.emit("onLoadDraftSuccess", void 0);
22284
+ this.actionNotification("GETDRAFTSUCCESS");
22144
22285
  this.state.isLoaded = true;
22145
22286
  return this.data;
22146
22287
  }
@@ -22166,6 +22307,9 @@ var EditFormController = class extends FormController {
22166
22307
  res = await this.service.get(this.context, queryParams);
22167
22308
  } catch (error) {
22168
22309
  await this.evt.emit("onLoadError", void 0);
22310
+ this.actionNotification("GETERROR", {
22311
+ error
22312
+ });
22169
22313
  throw error;
22170
22314
  } finally {
22171
22315
  await this.endLoading();
@@ -22174,6 +22318,7 @@ var EditFormController = class extends FormController {
22174
22318
  this.state.data = res.data;
22175
22319
  this.formStateNotify("LOAD" /* LOAD */);
22176
22320
  await this.evt.emit("onLoadSuccess", void 0);
22321
+ this.actionNotification("GETSUCCESS");
22177
22322
  this.state.isLoaded = true;
22178
22323
  return this.data;
22179
22324
  }
@@ -22190,15 +22335,19 @@ var EditFormController = class extends FormController {
22190
22335
  }
22191
22336
  const isValid = await this.validate();
22192
22337
  if (!isValid) {
22193
- throw new RuntimeError38("\u8BF7\u68C0\u67E5\u8868\u5355\u586B\u5199\uFF01");
22338
+ throw new RuntimeError36("\u8BF7\u68C0\u67E5\u8868\u5355\u586B\u5199\uFF01");
22194
22339
  }
22195
22340
  await this.startLoading();
22196
22341
  await this.evt.emit("onBeforeSave", void 0);
22342
+ const isCreate = this.data.srfuf === 0 /* CREATE */;
22197
22343
  let res;
22198
22344
  try {
22199
- res = this.data.srfuf === 0 /* CREATE */ ? await this.service.create(this.context, this.data) : await this.service.update(this.context, this.data);
22345
+ res = isCreate ? await this.service.create(this.context, this.data) : await this.service.update(this.context, this.data);
22200
22346
  } catch (error) {
22201
22347
  await this.evt.emit("onSaveError", void 0);
22348
+ this.actionNotification("".concat(isCreate ? "CREATE" : "UPDATE", "ERROR"), {
22349
+ error
22350
+ });
22202
22351
  throw error;
22203
22352
  } finally {
22204
22353
  await this.endLoading();
@@ -22209,7 +22358,9 @@ var EditFormController = class extends FormController {
22209
22358
  this.state.modified = false;
22210
22359
  await this.evt.emit("onSaveSuccess", void 0);
22211
22360
  this.formStateNotify("SAVE" /* SAVE */);
22212
- ibiz.message.success("".concat(this.data.srfmajortext || "", "\u4FDD\u5B58\u6210\u529F"));
22361
+ this.actionNotification("".concat(isCreate ? "CREATE" : "UPDATE", "SUCCESS"), {
22362
+ default: "".concat(this.data.srfmajortext || "", "\u4FDD\u5B58\u6210\u529F")
22363
+ });
22213
22364
  return this.data;
22214
22365
  }
22215
22366
  /**
@@ -22236,6 +22387,9 @@ var EditFormController = class extends FormController {
22236
22387
  res = await this.service.remove(this.context, this.params);
22237
22388
  } catch (error) {
22238
22389
  await this.evt.emit("onRemoveError", void 0);
22390
+ this.actionNotification("REMOVEERROR", {
22391
+ error
22392
+ });
22239
22393
  throw error;
22240
22394
  } finally {
22241
22395
  await this.endLoading();
@@ -22245,6 +22399,7 @@ var EditFormController = class extends FormController {
22245
22399
  this.state.data = new ControlVO();
22246
22400
  this.state.modified = false;
22247
22401
  await this.evt.emit("onRemoveSuccess", void 0);
22402
+ this.actionNotification("REMOVESUCCESS");
22248
22403
  return ok;
22249
22404
  }
22250
22405
  /**
@@ -22280,21 +22435,35 @@ var EditFormController = class extends FormController {
22280
22435
  (item) => item.id === formItemUpdateId
22281
22436
  );
22282
22437
  if (!formItemUpdate) {
22283
- throw new RuntimeError38("\u6CA1\u627E\u5230".concat(formItemUpdateId, "\u8868\u5355\u9879\u66F4\u65B0"));
22438
+ throw new RuntimeError36("\u6CA1\u627E\u5230".concat(formItemUpdateId, "\u8868\u5355\u9879\u66F4\u65B0"));
22284
22439
  }
22285
- const { appDEMethodId, defiupdateDetails } = formItemUpdate;
22440
+ const { appDEMethodId, defiupdateDetails, customCode, scriptCode } = formItemUpdate;
22286
22441
  const updateItems = defiupdateDetails.map((item) => item.id);
22287
- const params = { ...this.params, ...this.data.getOrigin() };
22288
- const res = await this.service.updateFormItem(
22289
- appDEMethodId,
22290
- this.context,
22291
- params
22292
- );
22293
- const result = res.data;
22294
- if (result && (updateItems == null ? void 0 : updateItems.length)) {
22442
+ let updateData;
22443
+ if (customCode && scriptCode) {
22444
+ updateData = ScriptFactory.execScriptFn(
22445
+ {
22446
+ ...this.getEventArgs(),
22447
+ data: this.data
22448
+ },
22449
+ scriptCode,
22450
+ {
22451
+ isAsync: false
22452
+ }
22453
+ );
22454
+ } else {
22455
+ const params = { ...this.params, ...this.data.getOrigin() };
22456
+ const res = await this.service.updateFormItem(
22457
+ appDEMethodId,
22458
+ this.context,
22459
+ params
22460
+ );
22461
+ updateData = res.data;
22462
+ }
22463
+ if (updateData && (updateItems == null ? void 0 : updateItems.length)) {
22295
22464
  await Promise.all(
22296
22465
  updateItems.map(
22297
- (itemName) => this.setDataValue(itemName, result[itemName])
22466
+ (itemName) => this.setDataValue(itemName, updateData[itemName])
22298
22467
  )
22299
22468
  );
22300
22469
  }
@@ -22310,7 +22479,7 @@ var EditFormController = class extends FormController {
22310
22479
  async wfStart(extraParams = {}) {
22311
22480
  const isValid = await this.validate();
22312
22481
  if (!isValid) {
22313
- throw new RuntimeError38("\u8BF7\u68C0\u67E5\u8868\u5355\u586B\u5199\uFF01");
22482
+ throw new RuntimeError36("\u8BF7\u68C0\u67E5\u8868\u5355\u586B\u5199\uFF01");
22314
22483
  }
22315
22484
  await this.startLoading();
22316
22485
  try {
@@ -22322,10 +22491,15 @@ var EditFormController = class extends FormController {
22322
22491
  },
22323
22492
  this.data
22324
22493
  );
22494
+ } catch (error) {
22495
+ this.actionNotification("WFSTARTERROR", {
22496
+ error
22497
+ });
22498
+ throw error;
22325
22499
  } finally {
22326
22500
  await this.endLoading();
22327
22501
  }
22328
- ibiz.message.success("\u6D41\u7A0B\u542F\u52A8\u6210\u529F");
22502
+ this.actionNotification("WFSTARTSUCCESS", { default: "\u6D41\u7A0B\u542F\u52A8\u6210\u529F" });
22329
22503
  }
22330
22504
  /**
22331
22505
  * 工作流提交(调用前先确保调用保存)
@@ -22338,7 +22512,7 @@ var EditFormController = class extends FormController {
22338
22512
  async wfSubmit(extraParams = {}) {
22339
22513
  const isValid = await this.validate();
22340
22514
  if (!isValid) {
22341
- throw new RuntimeError38("\u8BF7\u68C0\u67E5\u8868\u5355\u586B\u5199\uFF01");
22515
+ throw new RuntimeError36("\u8BF7\u68C0\u67E5\u8868\u5355\u586B\u5199\uFF01");
22342
22516
  }
22343
22517
  await this.startLoading();
22344
22518
  try {
@@ -22350,10 +22524,15 @@ var EditFormController = class extends FormController {
22350
22524
  },
22351
22525
  this.data
22352
22526
  );
22527
+ } catch (error) {
22528
+ this.actionNotification("WFSUBMITERROR", {
22529
+ error
22530
+ });
22531
+ throw error;
22353
22532
  } finally {
22354
22533
  await this.endLoading();
22355
22534
  }
22356
- ibiz.message.success("\u6D41\u7A0B\u63D0\u4EA4\u6210\u529F");
22535
+ this.actionNotification("WFSUBMITSUCCESS", { default: "\u6D41\u7A0B\u63D0\u4EA4\u6210\u529F" });
22357
22536
  }
22358
22537
  async dataChangeNotify(names) {
22359
22538
  await super.dataChangeNotify(names);
@@ -22564,7 +22743,7 @@ var FormMDCtrlFormController = class extends FormMDCtrlControlController {
22564
22743
  };
22565
22744
 
22566
22745
  // src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-grid/form-mdctrl-grid.controller.ts
22567
- import { RuntimeError as RuntimeError39, mergeInLeft as mergeInLeft3 } from "@ibiz-template/core";
22746
+ import { RuntimeError as RuntimeError37, mergeInLeft as mergeInLeft3 } from "@ibiz-template/core";
22568
22747
  var FormMDCtrlGridController = class extends FormMDCtrlControlController {
22569
22748
  constructor() {
22570
22749
  super(...arguments);
@@ -22669,7 +22848,7 @@ var FormMDCtrlGridController = class extends FormMDCtrlControlController {
22669
22848
  const { model } = this.parent;
22670
22849
  const { contentControl } = model;
22671
22850
  if (!contentControl) {
22672
- throw new RuntimeError39("\u8868\u5355\u591A\u6570\u636E\u90E8\u4EF6\u672A\u914D\u7F6E\u5D4C\u5165\u90E8\u4EF6");
22851
+ throw new RuntimeError37("\u8868\u5355\u591A\u6570\u636E\u90E8\u4EF6\u672A\u914D\u7F6E\u5D4C\u5165\u90E8\u4EF6");
22673
22852
  }
22674
22853
  mergeInLeft3(contentControl, { enableRowEdit: true, enableRowNew: true });
22675
22854
  this.controlModel = contentControl;
@@ -23380,7 +23559,7 @@ import {
23380
23559
  awaitTimeout as awaitTimeout2,
23381
23560
  debounceAndAsyncMerge as debounceAndAsyncMerge2,
23382
23561
  recursiveIterate as recursiveIterate4,
23383
- RuntimeError as RuntimeError40,
23562
+ RuntimeError as RuntimeError38,
23384
23563
  RuntimeModelError as RuntimeModelError45
23385
23564
  } from "@ibiz-template/core";
23386
23565
  import { clone as clone13 } from "ramda";
@@ -23751,14 +23930,23 @@ var GridController = class extends MDControlController {
23751
23930
  }
23752
23931
  const editingRow = this.state.rows.find((item) => item.showRowEdit);
23753
23932
  if (editingRow) {
23754
- throw new RuntimeError40("\u8BF7\u5148\u5B8C\u6210\u5F53\u524D\u884C\u7F16\u8F91\u4E2D\u7684\u884C\u7684\u64CD\u4F5C");
23933
+ throw new RuntimeError38("\u8BF7\u5148\u5B8C\u6210\u5F53\u524D\u884C\u7F16\u8F91\u4E2D\u7684\u884C\u7684\u64CD\u4F5C");
23934
+ }
23935
+ let res;
23936
+ try {
23937
+ res = await this.service.getDraft(this.context, this.params);
23938
+ } catch (error) {
23939
+ this.actionNotification("GETDRAFTERROR", {
23940
+ error
23941
+ });
23942
+ throw error;
23755
23943
  }
23756
- const res = await this.service.getDraft(this.context, this.params);
23757
23944
  this.state.items.unshift(res.data);
23758
23945
  const newRow = new GridRowState(res.data, this);
23759
23946
  this.state.rows.unshift(newRow);
23760
23947
  this.gridStateNotify(newRow, "DRAFT" /* DRAFT */);
23761
23948
  this.switchRowEdit(this.state.rows[0], true);
23949
+ this.actionNotification("GETDRAFTSUCCESS", { data: res.data });
23762
23950
  }
23763
23951
  /**
23764
23952
  * 保存
@@ -23776,7 +23964,7 @@ var GridController = class extends MDControlController {
23776
23964
  (item) => item.data.srfkey === data.srfkey
23777
23965
  );
23778
23966
  if (!rowState) {
23779
- throw new RuntimeError40("\u884C\u6570\u636E\u4E0D\u5B58\u5728");
23967
+ throw new RuntimeError38("\u884C\u6570\u636E\u4E0D\u5B58\u5728");
23780
23968
  }
23781
23969
  if (!rowState.modified) {
23782
23970
  ibiz.log.debug("\u503C\u6CA1\u6709\u53D1\u751F\u6539\u53D8");
@@ -23788,7 +23976,7 @@ var GridController = class extends MDControlController {
23788
23976
  }
23789
23977
  const isValid = await this.validate(rowState);
23790
23978
  if (!isValid) {
23791
- throw new RuntimeError40("\u884C\u6570\u636E\u6821\u9A8C\u4E0D\u901A\u8FC7\uFF0C\u4FDD\u5B58\u53D6\u6D88");
23979
+ throw new RuntimeError38("\u884C\u6570\u636E\u6821\u9A8C\u4E0D\u901A\u8FC7\uFF0C\u4FDD\u5B58\u53D6\u6D88");
23792
23980
  }
23793
23981
  await this.startLoading();
23794
23982
  let res;
@@ -23798,6 +23986,13 @@ var GridController = class extends MDControlController {
23798
23986
  tempContext[deName] = data.srfkey;
23799
23987
  try {
23800
23988
  res = isCreate ? await this.service.create(tempContext, data) : await this.service.update(tempContext, data);
23989
+ } catch (error) {
23990
+ await this.evt.emit("onSaveError", void 0);
23991
+ this.actionNotification("".concat(isCreate ? "CREATE" : "UPDATE", "ERROR"), {
23992
+ error,
23993
+ data: rowState.data
23994
+ });
23995
+ throw error;
23801
23996
  } finally {
23802
23997
  await this.endLoading();
23803
23998
  }
@@ -23808,6 +24003,10 @@ var GridController = class extends MDControlController {
23808
24003
  rowState.data = res.data;
23809
24004
  rowState.modified = false;
23810
24005
  ibiz.message.success("".concat(res.data.srfmajortext || "", "\u4FDD\u5B58\u6210\u529F"));
24006
+ this.actionNotification("".concat(isCreate ? "CREATE" : "UPDATE", "SUCCESS"), {
24007
+ default: "".concat(res.data.srfmajortext || "", "\u4FDD\u5B58\u6210\u529F"),
24008
+ data: res.data
24009
+ });
23811
24010
  this.gridStateNotify(rowState, "SAVE" /* SAVE */);
23812
24011
  await this.evt.emit("onSaveSuccess", void 0);
23813
24012
  }
@@ -23957,9 +24156,10 @@ var GridController = class extends MDControlController {
23957
24156
  return column.dataChangeNotify(row, names);
23958
24157
  })
23959
24158
  );
23960
- if (values.find((item) => item.status === "rejected")) {
24159
+ const rejectedValue = values.find((item) => item.status === "rejected");
24160
+ if (rejectedValue) {
23961
24161
  ibiz.log.error("dataChangeNotify\u62A5\u9519", values);
23962
- throw new RuntimeError40("\u6570\u636E\u53D8\u66F4\u540E\u6709\u9519\u8BEF");
24162
+ throw rejectedValue.reason;
23963
24163
  }
23964
24164
  }
23965
24165
  /**
@@ -23989,7 +24189,7 @@ var GridController = class extends MDControlController {
23989
24189
  }
23990
24190
  async toggleRowEdit() {
23991
24191
  if (!this.model.enableRowNew) {
23992
- throw new RuntimeError40("\u5F53\u524D\u8868\u683C\u4E0D\u652F\u6301\u884C\u7F16\u8F91\uFF0C\u65E0\u6CD5\u5207\u6362\u5F00\u542F\u884C\u7F16\u8F91");
24192
+ throw new RuntimeError38("\u5F53\u524D\u8868\u683C\u4E0D\u652F\u6301\u884C\u7F16\u8F91\uFF0C\u65E0\u6CD5\u5207\u6362\u5F00\u542F\u884C\u7F16\u8F91");
23993
24193
  }
23994
24194
  this.state.rowEditOpen = !this.state.rowEditOpen;
23995
24195
  }
@@ -24022,7 +24222,7 @@ var GridController = class extends MDControlController {
24022
24222
  if (toState === true) {
24023
24223
  const editingRow = this.state.rows.find((item) => item.showRowEdit);
24024
24224
  if (editingRow) {
24025
- throw new RuntimeError40("\u540C\u65F6\u53EA\u80FD\u6709\u4E00\u884C\u5F00\u542F\u884C\u7F16\u8F91");
24225
+ throw new RuntimeError38("\u540C\u65F6\u53EA\u80FD\u6709\u4E00\u884C\u5F00\u542F\u884C\u7F16\u8F91");
24026
24226
  }
24027
24227
  }
24028
24228
  row.showRowEdit = toState;
@@ -24039,13 +24239,15 @@ var GridController = class extends MDControlController {
24039
24239
  * @param {string} key 排序字段
24040
24240
  * @param {string} order 排序顺序
24041
24241
  */
24042
- setSort(key, order) {
24043
- if (key && order) {
24044
- super.setSort(key, order);
24242
+ setSort(fieldId, order) {
24243
+ if (fieldId && order) {
24244
+ const fieldName = this.fieldIdNameMap.get(fieldId).toLowerCase();
24245
+ super.setSort(fieldName, order);
24045
24246
  } else {
24046
24247
  const { minorSortAppDEFieldId, minorSortDir } = this.model;
24047
24248
  if (minorSortAppDEFieldId && minorSortDir) {
24048
- this.state.sortQuery = "".concat(minorSortAppDEFieldId.toLowerCase(), ",").concat(minorSortDir.toLowerCase());
24249
+ const fieldName = this.fieldIdNameMap.get(minorSortAppDEFieldId);
24250
+ this.state.sortQuery = "".concat(fieldName.toLowerCase(), ",").concat(minorSortDir.toLowerCase());
24049
24251
  } else {
24050
24252
  this.state.sortQuery = "";
24051
24253
  }
@@ -24065,14 +24267,22 @@ var GridController = class extends MDControlController {
24065
24267
  (item) => item.id === updateId
24066
24268
  );
24067
24269
  if (!findUpdate) {
24068
- throw new RuntimeError40("\u6CA1\u627E\u5230".concat(updateId, "\u7F16\u8F91\u5217\u66F4\u65B0"));
24270
+ throw new RuntimeError38("\u6CA1\u627E\u5230".concat(updateId, "\u7F16\u8F91\u5217\u66F4\u65B0"));
24069
24271
  }
24070
24272
  const { appDEMethodId, degeiupdateDetails, customCode, scriptCode } = findUpdate;
24071
24273
  const updateItems = degeiupdateDetails.map((item) => item.id);
24274
+ let updateData;
24072
24275
  if (customCode && scriptCode) {
24073
- ScriptFactory.execScriptFn({ data: row.data }, scriptCode, {
24074
- isAsync: false
24075
- });
24276
+ updateData = ScriptFactory.execScriptFn(
24277
+ {
24278
+ ...this.getEventArgs(),
24279
+ data: row.data
24280
+ },
24281
+ scriptCode,
24282
+ {
24283
+ isAsync: false
24284
+ }
24285
+ );
24076
24286
  } else {
24077
24287
  const params = { ...this.params, ...row.data.getOrigin() };
24078
24288
  const res = await this.service.updateGridEditItem(
@@ -24080,14 +24290,14 @@ var GridController = class extends MDControlController {
24080
24290
  this.context,
24081
24291
  params
24082
24292
  );
24083
- const result = res.data;
24084
- if (result && (updateItems == null ? void 0 : updateItems.length)) {
24085
- await Promise.all(
24086
- updateItems.map((itemName) => {
24087
- return this.setRowValue(row, itemName, result[itemName]);
24088
- })
24089
- );
24090
- }
24293
+ updateData = res.data;
24294
+ }
24295
+ if (updateData && (updateItems == null ? void 0 : updateItems.length)) {
24296
+ await Promise.all(
24297
+ updateItems.map((itemName) => {
24298
+ return this.setRowValue(row, itemName, updateData[itemName]);
24299
+ })
24300
+ );
24091
24301
  }
24092
24302
  }
24093
24303
  /**
@@ -24166,7 +24376,7 @@ var GridController = class extends MDControlController {
24166
24376
  data2 = this.getData();
24167
24377
  }
24168
24378
  if (data2.length === 0) {
24169
- throw new RuntimeError40("\u65E0\u5BFC\u51FA\u6570\u636E");
24379
+ throw new RuntimeError38("\u65E0\u5BFC\u51FA\u6570\u636E");
24170
24380
  }
24171
24381
  return formatExcelData(data2);
24172
24382
  };
@@ -24185,11 +24395,11 @@ var GridController = class extends MDControlController {
24185
24395
  );
24186
24396
  const data = formatArrayData(filterVal, await getExportData());
24187
24397
  if (!ibiz.util.getExportExcel) {
24188
- throw new RuntimeError40("ibiz.util.getExportExcel\u4E0D\u5B58\u5728");
24398
+ throw new RuntimeError38("ibiz.util.getExportExcel\u4E0D\u5B58\u5728");
24189
24399
  }
24190
24400
  const exportExcel = await ibiz.util.getExportExcel();
24191
24401
  if (!exportExcel) {
24192
- throw new RuntimeError40("\u5BFC\u51FA\u6A21\u5757\u52A0\u8F7D\u9519\u8BEF");
24402
+ throw new RuntimeError38("\u5BFC\u51FA\u6A21\u5757\u52A0\u8F7D\u9519\u8BEF");
24193
24403
  }
24194
24404
  exportExcel.exportJsonToExcel({
24195
24405
  header,
@@ -24494,7 +24704,7 @@ var GridUAColumnController = class extends GridColumnController {
24494
24704
  };
24495
24705
 
24496
24706
  // src/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.ts
24497
- import { RuntimeError as RuntimeError41 } from "@ibiz-template/core";
24707
+ import { RuntimeError as RuntimeError39 } from "@ibiz-template/core";
24498
24708
  import Schema2 from "async-validator";
24499
24709
  import { isNilOrEmpty as isNilOrEmpty7 } from "qx-util";
24500
24710
  var GridFieldEditColumnController = class extends GridFieldColumnController {
@@ -24628,7 +24838,7 @@ var GridFieldEditColumnController = class extends GridFieldColumnController {
24628
24838
  if (requiredChanged || names.includes(this.fieldName) || names.includes(this.valueItemName)) {
24629
24839
  const result = await this.validate(row);
24630
24840
  if (!result) {
24631
- throw new RuntimeError41(
24841
+ throw new RuntimeError39(
24632
24842
  "".concat(this.editItem.codeName, "\u6821\u9A8C\u62A5\u9519,").concat(row.errors[this.fieldName])
24633
24843
  );
24634
24844
  }
@@ -24805,7 +25015,8 @@ var ListController = class extends MDControlController {
24805
25015
  } else {
24806
25016
  const { minorSortAppDEFieldId, minorSortDir } = this.model;
24807
25017
  if (minorSortAppDEFieldId && minorSortDir) {
24808
- this.state.sortQuery = "".concat(minorSortAppDEFieldId.toLowerCase(), ",").concat(minorSortDir.toLowerCase());
25018
+ const fieldName = this.fieldIdNameMap.get(minorSortAppDEFieldId);
25019
+ this.state.sortQuery = "".concat(fieldName.toLowerCase(), ",").concat(minorSortDir.toLowerCase());
24809
25020
  } else {
24810
25021
  this.state.sortQuery = "";
24811
25022
  }
@@ -24981,7 +25192,7 @@ var ListController = class extends MDControlController {
24981
25192
  };
24982
25193
 
24983
25194
  // src/controller/control/panel/panel/panel.controller.ts
24984
- import { RuntimeError as RuntimeError42 } from "@ibiz-template/core";
25195
+ import { RuntimeError as RuntimeError40 } from "@ibiz-template/core";
24985
25196
  var PanelController = class extends ControlController {
24986
25197
  constructor() {
24987
25198
  super(...arguments);
@@ -25079,7 +25290,7 @@ var PanelController = class extends ControlController {
25079
25290
  async load() {
25080
25291
  const data = await this.prepareData();
25081
25292
  if (!data) {
25082
- throw new RuntimeError42("\u672A\u83B7\u53D6\u5230\u9762\u677F\u6570\u636E");
25293
+ throw new RuntimeError40("\u672A\u83B7\u53D6\u5230\u9762\u677F\u6570\u636E");
25083
25294
  }
25084
25295
  const panelData = this.convertData(data);
25085
25296
  this.state.data = panelData;
@@ -26179,7 +26390,11 @@ var TreeController = class extends MDControlController {
26179
26390
  return this.evt.emit("onActive", { ...nodeParams, nodeData: item });
26180
26391
  }
26181
26392
  setSelection(selection) {
26182
- super.setSelection(selection);
26393
+ const selectionIds = selection.map((item) => item.id);
26394
+ const filterArr = this.state.items.filter(
26395
+ (item) => selectionIds.includes(item.id)
26396
+ );
26397
+ super.setSelection(filterArr);
26183
26398
  }
26184
26399
  /**
26185
26400
  * 获取节点模型
@@ -26296,7 +26511,7 @@ var TreeController = class extends MDControlController {
26296
26511
  };
26297
26512
 
26298
26513
  // src/controller/control/wizard-panel/wizard-panel.controller.ts
26299
- import { RuntimeError as RuntimeError43 } from "@ibiz-template/core";
26514
+ import { RuntimeError as RuntimeError41 } from "@ibiz-template/core";
26300
26515
 
26301
26516
  // src/controller/control/wizard-panel/wizard-panel.service.ts
26302
26517
  var WizardPanelService = class extends ControlService {
@@ -26455,7 +26670,7 @@ var WizardPanelController = class extends ControlController {
26455
26670
  const { activeFormTag } = this.state;
26456
26671
  const controller = this.formControllers.get(activeFormTag);
26457
26672
  if (!controller) {
26458
- throw new RuntimeError43("\u627E\u4E0D\u5230".concat(activeFormTag, "\u7684\u8868\u5355\u63A7\u5236\u5668"));
26673
+ throw new RuntimeError41("\u627E\u4E0D\u5230".concat(activeFormTag, "\u7684\u8868\u5355\u63A7\u5236\u5668"));
26459
26674
  }
26460
26675
  return controller;
26461
26676
  }
@@ -26530,7 +26745,7 @@ var WizardPanelController = class extends ControlController {
26530
26745
  this.tagHistory.pop();
26531
26746
  const prevTag = this.tagHistory[this.tagHistory.length - 1];
26532
26747
  if (!prevTag) {
26533
- throw new RuntimeError43("\u6CA1\u6709\u4E0A\u4E00\u4E2A\u8868\u5355");
26748
+ throw new RuntimeError41("\u6CA1\u6709\u4E0A\u4E00\u4E2A\u8868\u5355");
26534
26749
  }
26535
26750
  this.state.activeFormTag = prevTag;
26536
26751
  }
@@ -26551,7 +26766,7 @@ var WizardPanelController = class extends ControlController {
26551
26766
  }
26552
26767
  );
26553
26768
  if (!wizardForm) {
26554
- throw new RuntimeError43("\u627E\u4E0D\u5230\u6807\u8BC6\u4E3A".concat(data.srfnextform, "\u7684\u5411\u5BFC\u8868\u5355"));
26769
+ throw new RuntimeError41("\u627E\u4E0D\u5230\u6807\u8BC6\u4E3A".concat(data.srfnextform, "\u7684\u5411\u5BFC\u8868\u5355"));
26555
26770
  }
26556
26771
  nextTag = data.srfnextform;
26557
26772
  } else {
@@ -26563,7 +26778,7 @@ var WizardPanelController = class extends ControlController {
26563
26778
  });
26564
26779
  const nextWizardStep = wizardSteps[index + 1];
26565
26780
  if (!nextWizardStep) {
26566
- throw new RuntimeError43("\u627E\u4E0D\u5230\u4E0B\u4E00\u4E2A\u5411\u5BFC\u6B65\u9AA4");
26781
+ throw new RuntimeError41("\u627E\u4E0D\u5230\u4E0B\u4E00\u4E2A\u5411\u5BFC\u6B65\u9AA4");
26567
26782
  }
26568
26783
  const nextWizardForm = this.model.dewizard.dewizardForms.find(
26569
26784
  (wizardForm) => {
@@ -26576,7 +26791,7 @@ var WizardPanelController = class extends ControlController {
26576
26791
  }
26577
26792
  }
26578
26793
  if (!nextTag) {
26579
- throw new RuntimeError43("\u627E\u4E0D\u5230\u4E0B\u4E00\u4E2A\u5411\u5BFC\u8868\u5355");
26794
+ throw new RuntimeError41("\u627E\u4E0D\u5230\u4E0B\u4E00\u4E2A\u5411\u5BFC\u8868\u5355");
26580
26795
  }
26581
26796
  this.state.activeFormTag = nextTag;
26582
26797
  this.tagHistory.push(nextTag);
@@ -26983,6 +27198,20 @@ var AppHub = class {
26983
27198
  const id = this.calcAppViewId(tag);
26984
27199
  return this.view2appMap.has(id);
26985
27200
  }
27201
+ /**
27202
+ * 获取应用样式
27203
+ *
27204
+ * @author chitanda
27205
+ * @date 2023-09-06 10:09:22
27206
+ * @param {string} appId
27207
+ * @return {*} {(Promise<string | null>)}
27208
+ */
27209
+ async getAppStyle(appId) {
27210
+ if (this.modelLoaderProvider) {
27211
+ return this.modelLoaderProvider.getAppStyle(appId);
27212
+ }
27213
+ return null;
27214
+ }
26986
27215
  /**
26987
27216
  * 根据视图代码名称查找视图
26988
27217
  *
@@ -27005,7 +27234,7 @@ var AppHub = class {
27005
27234
  this.registerAppView(appView);
27006
27235
  return appView;
27007
27236
  }
27008
- throw new RuntimeError44("\u89C6\u56FE[".concat(id, "]\u4E0D\u5B58\u5728"));
27237
+ throw new RuntimeError42("\u89C6\u56FE[".concat(id, "]\u4E0D\u5B58\u5728"));
27009
27238
  }
27010
27239
  /**
27011
27240
  * 根据应用实体代码名称查找应用视图
@@ -27036,7 +27265,7 @@ var AppHub = class {
27036
27265
  this.registerAppDataEntity(entity, appId);
27037
27266
  return entity;
27038
27267
  }
27039
- throw new RuntimeError44("\u672A\u627E\u5230\u5E94\u7528\u5B9E\u4F53[".concat(id, "]"));
27268
+ throw new RuntimeError42("\u672A\u627E\u5230\u5E94\u7528\u5B9E\u4F53[".concat(id, "]"));
27040
27269
  }
27041
27270
  /**
27042
27271
  * 新建 hub 应用
@@ -27057,7 +27286,7 @@ var AppHub = class {
27057
27286
  appModel = await this.modelLoaderProvider.getApp(id);
27058
27287
  this.registerApp(appModel);
27059
27288
  } else {
27060
- throw new RuntimeError44("\u672A\u627E\u5230\u5E94\u7528[".concat(id, "]\u6A21\u578B"));
27289
+ throw new RuntimeError42("\u672A\u627E\u5230\u5E94\u7528[".concat(id, "]\u6A21\u578B"));
27061
27290
  }
27062
27291
  const app = new Application(appModel);
27063
27292
  this.appMap.set(id, app);
@@ -27148,7 +27377,7 @@ var EngineFactory = class {
27148
27377
  };
27149
27378
 
27150
27379
  // src/engine/view-base.engine.ts
27151
- import { RuntimeError as RuntimeError45 } from "@ibiz-template/core";
27380
+ import { RuntimeError as RuntimeError43 } from "@ibiz-template/core";
27152
27381
  var ViewEngineBase = class {
27153
27382
  /**
27154
27383
  * 构造函数在视图控制器的构造函数逻辑内部执行
@@ -27336,7 +27565,7 @@ var ViewEngineBase = class {
27336
27565
  const { appDataEntityId } = this.view.model;
27337
27566
  const { evt, context, params } = this.view;
27338
27567
  if (!appDataEntityId) {
27339
- throw new RuntimeError45("\u8BE5\u89C6\u56FE\u6CA1\u6709\u5B9E\u4F53\uFF0C\u65E0\u6CD5\u52A0\u8F7D\u5B9E\u4F53\u6570\u636E");
27568
+ throw new RuntimeError43("\u8BE5\u89C6\u56FE\u6CA1\u6709\u5B9E\u4F53\uFF0C\u65E0\u6CD5\u52A0\u8F7D\u5B9E\u4F53\u6570\u636E");
27340
27569
  }
27341
27570
  const app = ibiz.hub.getApp(context.srfappid);
27342
27571
  const res = await app.deService.exec(
@@ -27726,7 +27955,7 @@ var GlobalUtil = class {
27726
27955
  };
27727
27956
 
27728
27957
  // src/logic-scheduler/executor/logic-executor.ts
27729
- import { RuntimeError as RuntimeError46 } from "@ibiz-template/core";
27958
+ import { RuntimeError as RuntimeError44 } from "@ibiz-template/core";
27730
27959
  var LogicExecutor = class {
27731
27960
  /**
27732
27961
  * @author lxm
@@ -27747,7 +27976,7 @@ var LogicExecutor = class {
27747
27976
  */
27748
27977
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
27749
27978
  execute(_executeParams) {
27750
- throw new RuntimeError46("Method not implemented.");
27979
+ throw new RuntimeError44("Method not implemented.");
27751
27980
  }
27752
27981
  /**
27753
27982
  * 销毁方法
@@ -28179,7 +28408,7 @@ var LogicSchedulerCenter = class {
28179
28408
  };
28180
28409
 
28181
28410
  // src/logic-scheduler/trigger/logic-trigger.ts
28182
- import { RuntimeError as RuntimeError47 } from "@ibiz-template/core";
28411
+ import { RuntimeError as RuntimeError45 } from "@ibiz-template/core";
28183
28412
  var LogicTrigger = class {
28184
28413
  /**
28185
28414
  * @author lxm
@@ -28239,7 +28468,7 @@ var LogicTrigger = class {
28239
28468
  if (this.executor) {
28240
28469
  return this.executor.execute(executeParams);
28241
28470
  }
28242
- throw new RuntimeError47("".concat(this.logic.id, "\u6CA1\u6709\u7ED1\u5B9Aexecutor"));
28471
+ throw new RuntimeError45("".concat(this.logic.id, "\u6CA1\u6709\u7ED1\u5B9Aexecutor"));
28243
28472
  }
28244
28473
  /**
28245
28474
  * 销毁方法
@@ -28256,12 +28485,12 @@ var CustomTrigger = class extends LogicTrigger {
28256
28485
  };
28257
28486
 
28258
28487
  // src/logic-scheduler/trigger/item-dyna-logic-trigger.ts
28259
- import { RuntimeError as RuntimeError48 } from "@ibiz-template/core";
28488
+ import { RuntimeError as RuntimeError46 } from "@ibiz-template/core";
28260
28489
  var ItemDynaLogicTrigger = class extends LogicTrigger {
28261
28490
  bindExecutor(executor) {
28262
28491
  super.bindExecutor(executor);
28263
28492
  if (this.executor.type !== "SCRIPT") {
28264
- throw new RuntimeError48(
28493
+ throw new RuntimeError46(
28265
28494
  "\u9884\u5B9A\u4E49\u903B\u8F91\u7C7B\u578B".concat(this.type, "\u7684\u89E6\u53D1\u5668\u7C7B\u578B\u53EA\u80FD\u662F\u811A\u672C")
28266
28495
  );
28267
28496
  }
@@ -28293,12 +28522,12 @@ var ItemDynaLogicTrigger = class extends LogicTrigger {
28293
28522
  if (typeof result === "boolean") {
28294
28523
  return result;
28295
28524
  }
28296
- throw new RuntimeError48("".concat(this.logic.id, "\u903B\u8F91\u8FD4\u56DE\u503C\u4E0D\u662F\u5E03\u5C14\u503C"));
28525
+ throw new RuntimeError46("".concat(this.logic.id, "\u903B\u8F91\u8FD4\u56DE\u503C\u4E0D\u662F\u5E03\u5C14\u503C"));
28297
28526
  }
28298
28527
  };
28299
28528
 
28300
28529
  // src/logic-scheduler/trigger/timer-trigger.ts
28301
- import { RuntimeError as RuntimeError49 } from "@ibiz-template/core";
28530
+ import { RuntimeError as RuntimeError47 } from "@ibiz-template/core";
28302
28531
  var TimerTrigger = class extends LogicTrigger {
28303
28532
  constructor() {
28304
28533
  super(...arguments);
@@ -28307,7 +28536,7 @@ var TimerTrigger = class extends LogicTrigger {
28307
28536
  start() {
28308
28537
  this.timer = setInterval(() => {
28309
28538
  if (!this.scheduler.defaultParamsCb) {
28310
- throw new RuntimeError49("\u5B9A\u65F6\u5668\u7F3A\u5C11\u9ED8\u8BA4\u53C2\u6570\u56DE\u8C03");
28539
+ throw new RuntimeError47("\u5B9A\u65F6\u5668\u7F3A\u5C11\u9ED8\u8BA4\u53C2\u6570\u56DE\u8C03");
28311
28540
  }
28312
28541
  const params = this.scheduler.defaultParamsCb();
28313
28542
  this.executor.execute(params);
@@ -28324,7 +28553,7 @@ var TimerTrigger = class extends LogicTrigger {
28324
28553
  // src/logic-scheduler/executor/app-ui-logic-executor.ts
28325
28554
  import {
28326
28555
  ModelError as ModelError30,
28327
- RuntimeError as RuntimeError50,
28556
+ RuntimeError as RuntimeError48,
28328
28557
  RuntimeModelError as RuntimeModelError49
28329
28558
  } from "@ibiz-template/core";
28330
28559
  import { notNilEmpty as notNilEmpty9 } from "qx-util";
@@ -28360,14 +28589,20 @@ var AppUILogicExecutor = class extends LogicExecutor {
28360
28589
  const { context, params, ...rest } = parameters;
28361
28590
  const { data } = parameters;
28362
28591
  if (!(data == null ? void 0 : data[0])) {
28363
- throw new RuntimeError50("opendata\u6CA1\u6709\u53EF\u64CD\u4F5C\u6570\u636E\uFF01");
28592
+ throw new RuntimeError48("opendata\u6CA1\u6709\u53EF\u64CD\u4F5C\u6570\u636E\uFF01");
28364
28593
  }
28365
- const openViewRef = appUILogic.openDataAppView;
28366
- if (!openViewRef) {
28367
- throw new RuntimeModelError49(
28368
- appUILogic,
28369
- "opendata\u89C6\u56FE\u903B\u8F91\u6CA1\u6709\u914D\u7F6E\u9ED8\u8BA4\u6253\u5F00\u89C6\u56FE"
28370
- );
28594
+ const openViewRefs = appUILogic.openDataAppViews;
28595
+ let openViewRef;
28596
+ if (openViewRefs) {
28597
+ openViewRef = await this.calcOpenViewRef(appUILogic, parameters);
28598
+ } else {
28599
+ openViewRef = appUILogic.openDataAppView;
28600
+ if (!openViewRef) {
28601
+ throw new RuntimeModelError49(
28602
+ appUILogic,
28603
+ "opendata\u89C6\u56FE\u903B\u8F91\u6CA1\u6709\u914D\u7F6E\u9ED8\u8BA4\u6253\u5F00\u89C6\u56FE"
28604
+ );
28605
+ }
28371
28606
  }
28372
28607
  const openView = openViewRef.refAppViewId;
28373
28608
  if (!openView) {
@@ -28483,17 +28718,40 @@ var AppUILogicExecutor = class extends LogicExecutor {
28483
28718
  }
28484
28719
  const selectData = (_a = result.data) == null ? void 0 : _a[0];
28485
28720
  if (!selectData) {
28486
- throw new RuntimeError50("\u8BF7\u9009\u4E2D\u4E00\u6761\u6570\u636E");
28721
+ throw new RuntimeError48("\u8BF7\u9009\u4E2D\u4E00\u6761\u6570\u636E");
28487
28722
  }
28488
28723
  const indexType = selectData.srfkey;
28489
28724
  const findView = newDataAppViews == null ? void 0 : newDataAppViews.find((item) => item.refMode === indexType);
28490
28725
  if (!findView) {
28491
- throw new RuntimeError50(
28726
+ throw new RuntimeError48(
28492
28727
  "\u6CA1\u6709\u627E\u5230\u4E0E\u7D22\u5F15\u7C7B\u578B".concat(indexType, "\u76F8\u5173\u7684\u5B9E\u4F53\u7684\u7F16\u8F91\u89C6\u56FE")
28493
28728
  );
28494
28729
  }
28495
28730
  return findView;
28496
28731
  }
28732
+ async calcOpenViewRef(appUILogic, parameters) {
28733
+ const appDataEntityId = parameters.view.model.appDataEntityId;
28734
+ const formTypeName = await getFormTypeFieldName(appDataEntityId);
28735
+ if (!formTypeName) {
28736
+ throw new RuntimeModelError49(
28737
+ appUILogic,
28738
+ "".concat(appDataEntityId, "\u5B9E\u4F53\u7F3A\u5C11\u8868\u5355\u7C7B\u578B\u5E94\u7528\u5B9E\u4F53\u5C5E\u6027")
28739
+ );
28740
+ }
28741
+ const { data } = parameters;
28742
+ const formTypeValue = data[0][formTypeName];
28743
+ if (!formTypeValue) {
28744
+ throw new RuntimeModelError49(appUILogic, "\u6570\u636E\u6E90\u65E0\u8868\u5355\u7C7B\u578B\u5E94\u7528\u5B9E\u4F53\u5C5E\u6027\u503C");
28745
+ }
28746
+ const openViewRefs = appUILogic.openDataAppViews;
28747
+ const findView = openViewRefs == null ? void 0 : openViewRefs.find((item) => item.refMode === formTypeValue);
28748
+ if (!findView) {
28749
+ throw new RuntimeError48(
28750
+ "\u6CA1\u6709\u627E\u5230\u4E0E\u8868\u5355\u7C7B\u578B".concat(formTypeValue, "\u76F8\u5173\u7684\u5B9E\u4F53\u7684\u7F16\u8F91\u89C6\u56FE")
28751
+ );
28752
+ }
28753
+ return findView;
28754
+ }
28497
28755
  };
28498
28756
 
28499
28757
  // src/logic-scheduler/trigger/view-event-trigger.ts
@@ -28510,7 +28768,7 @@ var ViewEventTrigger = class extends LogicTrigger {
28510
28768
  * @type {string[]}
28511
28769
  */
28512
28770
  this.listenEventNames = [];
28513
- const names = logic.eventNames.split(",");
28771
+ const names = logic.eventNames.split(";");
28514
28772
  this.listenEventNames = names.map(
28515
28773
  (name) => StudioViewEvents[name] || name
28516
28774
  );
@@ -28535,7 +28793,7 @@ var ControlEventTrigger = class extends LogicTrigger {
28535
28793
  * @type {string[]}
28536
28794
  */
28537
28795
  this.listenEventNames = [];
28538
- const names = logic.eventNames.split(",");
28796
+ const names = logic.eventNames.split(";");
28539
28797
  this.listenEventNames = names.map(
28540
28798
  (name) => StudioControlEvents[name] || name
28541
28799
  );
@@ -28898,6 +29156,7 @@ export {
28898
29156
  getDeACMode,
28899
29157
  getEditorProvider,
28900
29158
  getFormDetailProvider,
29159
+ getFormTypeFieldName,
28901
29160
  getGridColumnProvider,
28902
29161
  getMatchResPath,
28903
29162
  getOriginData,
@@ -28915,6 +29174,7 @@ export {
28915
29174
  hasDeCodeName,
28916
29175
  install,
28917
29176
  installCommand,
29177
+ isDataContainer,
28918
29178
  isValueChange,
28919
29179
  matchMainState,
28920
29180
  openRedirectView,