@ibiz-template/runtime 0.2.2 → 0.2.5

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 (64) hide show
  1. package/dist/index.esm.js +294 -129
  2. package/dist/index.system.min.js +1 -1
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/controller/common/control/control.controller.d.ts.map +1 -1
  5. package/out/controller/common/control/control.controller.js +7 -0
  6. package/out/controller/control/dashboard/dashboard.controller.d.ts.map +1 -1
  7. package/out/controller/control/dashboard/dashboard.controller.js +4 -0
  8. package/out/controller/control/dashboard/portlet/chart-portlet/chart-portlet.controller.d.ts +5 -0
  9. package/out/controller/control/dashboard/portlet/chart-portlet/chart-portlet.controller.d.ts.map +1 -0
  10. package/out/controller/control/dashboard/portlet/chart-portlet/chart-portlet.controller.js +3 -0
  11. package/out/controller/control/dashboard/portlet/chart-portlet/index.d.ts +2 -0
  12. package/out/controller/control/dashboard/portlet/chart-portlet/index.d.ts.map +1 -0
  13. package/out/controller/control/dashboard/portlet/chart-portlet/index.js +1 -0
  14. package/out/controller/control/dashboard/portlet/index.d.ts +1 -0
  15. package/out/controller/control/dashboard/portlet/index.d.ts.map +1 -1
  16. package/out/controller/control/dashboard/portlet/index.js +1 -0
  17. package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
  18. package/out/controller/control/form/edit-form/edit-form.controller.js +6 -2
  19. package/out/controller/control/form/form/form.controller.d.ts +9 -1
  20. package/out/controller/control/form/form/form.controller.d.ts.map +1 -1
  21. package/out/controller/control/form/form/form.controller.js +20 -1
  22. package/out/controller/control/form/form-detail/form-detail/form-detail.controller.d.ts +32 -3
  23. package/out/controller/control/form/form-detail/form-detail/form-detail.controller.d.ts.map +1 -1
  24. package/out/controller/control/form/form-detail/form-detail/form-detail.controller.js +84 -8
  25. package/out/controller/control/form/form-detail/form-group-panel/form-group-panel.controller.d.ts +1 -1
  26. package/out/controller/control/form/form-detail/form-group-panel/form-group-panel.controller.d.ts.map +1 -1
  27. package/out/controller/control/form/form-detail/form-group-panel/form-group-panel.controller.js +2 -2
  28. package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts +1 -1
  29. package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts.map +1 -1
  30. package/out/controller/control/form/form-detail/form-item/form-item.controller.js +2 -2
  31. package/out/interface/service/i-data-entity/i-data-entity.d.ts +19 -2
  32. package/out/interface/service/i-data-entity/i-data-entity.d.ts.map +1 -1
  33. package/out/interface/service/service/i-app-de.service.d.ts +11 -0
  34. package/out/interface/service/service/i-app-de.service.d.ts.map +1 -1
  35. package/out/logic-scheduler/scheduler/control-logic-scheduler.js +2 -2
  36. package/out/logic-scheduler/trigger/timer-trigger.d.ts.map +1 -1
  37. package/out/logic-scheduler/trigger/timer-trigger.js +4 -1
  38. package/out/service/app-data-entity/app-data-entity.d.ts +3 -3
  39. package/out/service/app-data-entity/app-data-entity.d.ts.map +1 -1
  40. package/out/service/app-data-entity/app-data-entity.js +13 -12
  41. package/out/service/service/entity/de.service.d.ts +15 -3
  42. package/out/service/service/entity/de.service.d.ts.map +1 -1
  43. package/out/service/service/entity/de.service.js +20 -4
  44. package/out/service/vo/control.vo.d.ts +12 -4
  45. package/out/service/vo/control.vo.d.ts.map +1 -1
  46. package/out/service/vo/control.vo.js +88 -52
  47. package/package.json +3 -3
  48. package/src/controller/common/control/control.controller.ts +11 -0
  49. package/src/controller/control/dashboard/dashboard.controller.ts +4 -0
  50. package/src/controller/control/dashboard/portlet/chart-portlet/chart-portlet.controller.ts +4 -0
  51. package/src/controller/control/dashboard/portlet/chart-portlet/index.ts +1 -0
  52. package/src/controller/control/dashboard/portlet/index.ts +1 -0
  53. package/src/controller/control/form/edit-form/edit-form.controller.ts +7 -2
  54. package/src/controller/control/form/form/form.controller.ts +26 -2
  55. package/src/controller/control/form/form-detail/form-detail/form-detail.controller.ts +102 -8
  56. package/src/controller/control/form/form-detail/form-group-panel/form-group-panel.controller.ts +2 -2
  57. package/src/controller/control/form/form-detail/form-item/form-item.controller.ts +2 -2
  58. package/src/interface/service/i-data-entity/i-data-entity.ts +22 -2
  59. package/src/interface/service/service/i-app-de.service.ts +16 -0
  60. package/src/logic-scheduler/scheduler/control-logic-scheduler.ts +2 -2
  61. package/src/logic-scheduler/trigger/timer-trigger.ts +4 -1
  62. package/src/service/app-data-entity/app-data-entity.ts +21 -16
  63. package/src/service/service/entity/de.service.ts +29 -5
  64. package/src/service/vo/control.vo.ts +101 -60
package/dist/index.esm.js CHANGED
@@ -22944,6 +22944,7 @@ import { isArray as isArray3 } from "lodash-es";
22944
22944
  // src/service/app-data-entity/app-data-entity.ts
22945
22945
  import { clone as clone4, isNil as isNil7 } from "ramda";
22946
22946
  import { DataTypes } from "@ibiz-template/core";
22947
+ import { createUUID as createUUID2 } from "qx-util";
22947
22948
 
22948
22949
  // src/service/constant/srfuf.ts
22949
22950
  var Srfuf = /* @__PURE__ */ ((Srfuf2) => {
@@ -22955,7 +22956,7 @@ var Srfuf = /* @__PURE__ */ ((Srfuf2) => {
22955
22956
  // src/service/app-data-entity/app-data-entity.ts
22956
22957
  var AppDataEntity = class _AppDataEntity {
22957
22958
  get srfuf() {
22958
- return this.srfkey ? 1 /* UPDATE */ : 0 /* CREATE */;
22959
+ return this.srfkey === this.tempsrfkey ? 1 /* UPDATE */ : 0 /* CREATE */;
22959
22960
  }
22960
22961
  /**
22961
22962
  * Creates an instance of AppDataEntity.
@@ -22966,7 +22967,6 @@ var AppDataEntity = class _AppDataEntity {
22966
22967
  * @param {(IData | AppDataEntity)} data
22967
22968
  */
22968
22969
  constructor(entity, data) {
22969
- let _srfkey;
22970
22970
  Object.defineProperty(this, "_entity", {
22971
22971
  enumerable: false,
22972
22972
  configurable: true,
@@ -22993,20 +22993,12 @@ var AppDataEntity = class _AppDataEntity {
22993
22993
  );
22994
22994
  if (keyAppField) {
22995
22995
  const key = keyAppField.codeName.toLowerCase();
22996
- Object.defineProperty(this, "srfkeyfile", {
22996
+ Object.defineProperty(this, "srfkeyfield", {
22997
22997
  get() {
22998
22998
  return key;
22999
22999
  }
23000
23000
  });
23001
23001
  Object.defineProperty(this, "srfkey", {
23002
- set(val) {
23003
- _srfkey = val;
23004
- },
23005
- get() {
23006
- return this._data[key] || _srfkey;
23007
- }
23008
- });
23009
- Object.defineProperty(this, "srfsourcekey", {
23010
23002
  set(val) {
23011
23003
  this._data[key] = val;
23012
23004
  },
@@ -23023,7 +23015,7 @@ var AppDataEntity = class _AppDataEntity {
23023
23015
  );
23024
23016
  if (majorAppField) {
23025
23017
  const major = majorAppField.codeName.toLowerCase();
23026
- Object.defineProperty(this, "srfmajorfile", {
23018
+ Object.defineProperty(this, "srfmajorfield", {
23027
23019
  get() {
23028
23020
  return major;
23029
23021
  }
@@ -23039,6 +23031,12 @@ var AppDataEntity = class _AppDataEntity {
23039
23031
  } else {
23040
23032
  ibiz.log.warn("\u5B9E\u4F53[".concat(entity.codeName, "]\u672A\u914D\u7F6E\u4E3B\u6587\u672C\u5B57\u6BB5"));
23041
23033
  }
23034
+ Object.defineProperty(this, "tempsrfkey", {
23035
+ enumerable: false,
23036
+ configurable: true,
23037
+ writable: true,
23038
+ value: isNil7(this.srfkey) ? createUUID2() : this.srfkey
23039
+ });
23042
23040
  this.defineProperties();
23043
23041
  }
23044
23042
  /**
@@ -25268,17 +25266,33 @@ var DEService = class {
25268
25266
  });
25269
25267
  }
25270
25268
  /**
25271
- * 计算请求路径
25269
+ * 获取 AI 聊天会话历史记录
25270
+ *
25271
+ * @author chitanda
25272
+ * @date 2023-10-26 14:10:58
25273
+ * @param {IParams} context
25274
+ * @param {IParams} [params={}]
25275
+ * @param {IData} [data={}]
25276
+ * @return {*} {Promise<IHttpResponse>}
25277
+ */
25278
+ aiChatHistory(context, params = {}, data = {}) {
25279
+ const app = ibiz.hub.getApp(this.model.appId);
25280
+ const path2 = this.calcSsePath(context, true);
25281
+ return app.net.post(path2, data, { srfactag: "AIChat", ...params });
25282
+ }
25283
+ /**
25284
+ * 计算 AI 请求路径
25272
25285
  *
25273
25286
  * @author chitanda
25274
- * @date 2023-10-12 11:10:56
25287
+ * @date 2023-10-26 14:10:25
25275
25288
  * @protected
25276
25289
  * @param {IParams} context
25290
+ * @param {boolean} [isHistories=false]
25277
25291
  * @return {*} {string}
25278
25292
  */
25279
- calcSsePath(context) {
25293
+ calcSsePath(context, isHistories = false) {
25280
25294
  const srfkey = context[this.model.codeName.toLowerCase()];
25281
- const curPath = "/".concat(this.model.codeName2.toLowerCase(), "/ssechatcompletion").concat(srfkey ? "/".concat(srfkey) : "");
25295
+ const curPath = "/".concat(this.model.codeName2.toLowerCase(), "/ssechatcompletion").concat(isHistories ? "/histories" : "").concat(srfkey ? "/".concat(srfkey) : "");
25282
25296
  const resPath = calcResPath(context, this.model);
25283
25297
  return resPath + curPath;
25284
25298
  }
@@ -25288,8 +25302,18 @@ var DEService = class {
25288
25302
  import { clone as clone12 } from "@ibiz-template/core";
25289
25303
 
25290
25304
  // src/service/vo/control.vo.ts
25305
+ import { createUUID as createUUID3 } from "qx-util";
25291
25306
  import { clone as clone11, isNil as isNil10 } from "ramda";
25292
- var unEnumerableKeys = ["srfkey", "srfmajortext"];
25307
+ var BuildInKeys = [
25308
+ "srfkey",
25309
+ "srfmajortext",
25310
+ "srfmajorfield",
25311
+ "srfkeyfield",
25312
+ "tempsrfkey",
25313
+ "srfuf",
25314
+ "srfdeid",
25315
+ "srfdecodename"
25316
+ ];
25293
25317
  var ControlVO = class _ControlVO {
25294
25318
  /**
25295
25319
  * Creates an instance of ControlVO.
@@ -25309,58 +25333,79 @@ var ControlVO = class _ControlVO {
25309
25333
  configurable: true,
25310
25334
  value: $dataUIMap || /* @__PURE__ */ new Map()
25311
25335
  });
25336
+ ["srfkey", "srfmajortext"].forEach((key) => {
25337
+ if (Object.prototype.hasOwnProperty.call(this.$origin, key)) {
25338
+ Object.defineProperty(this, key, {
25339
+ get() {
25340
+ return this.$origin.srfkey;
25341
+ },
25342
+ set(val) {
25343
+ this.$origin.srfkey = val;
25344
+ },
25345
+ enumerable: false,
25346
+ configurable: true
25347
+ });
25348
+ } else if (this.$dataUIMap.has(key)) {
25349
+ const { dataKey } = this.$dataUIMap.get(key);
25350
+ Object.defineProperty(this, key, {
25351
+ get() {
25352
+ return this.$origin[dataKey];
25353
+ },
25354
+ set(val) {
25355
+ this.$origin[dataKey] = val;
25356
+ },
25357
+ enumerable: false,
25358
+ configurable: true
25359
+ });
25360
+ } else {
25361
+ Object.defineProperty(this, key, {
25362
+ enumerable: false,
25363
+ configurable: true,
25364
+ writable: true,
25365
+ value: null
25366
+ });
25367
+ }
25368
+ });
25369
+ if (Object.prototype.hasOwnProperty.call(this.$origin, "tempsrfkey")) {
25370
+ Object.defineProperty(this, "tempsrfkey", {
25371
+ get() {
25372
+ return this.$origin.tempsrfkey;
25373
+ },
25374
+ set(val) {
25375
+ this.$origin.tempsrfkey = val;
25376
+ },
25377
+ enumerable: false,
25378
+ configurable: true
25379
+ });
25380
+ } else {
25381
+ Object.defineProperty(this, "tempsrfkey", {
25382
+ enumerable: false,
25383
+ configurable: true,
25384
+ writable: true,
25385
+ value: isNil10(this.srfkey) ? createUUID3() : this.srfkey
25386
+ });
25387
+ }
25312
25388
  Object.defineProperty(this, "srfuf", {
25313
25389
  get() {
25314
- if (isNil10(this.$origin.srfuf)) {
25315
- return this.srfkey ? 1 /* UPDATE */ : 0 /* CREATE */;
25390
+ if (Object.prototype.hasOwnProperty.call(this.$origin, "srfuf")) {
25391
+ return this.$origin.srfuf;
25316
25392
  }
25317
- return this.$origin.srfuf;
25318
- },
25319
- enumerable: false,
25320
- configurable: true
25321
- });
25322
- Object.defineProperty(this, "srfkey", {
25323
- get() {
25324
- return this.$origin.srfkey;
25325
- },
25326
- enumerable: false,
25327
- configurable: true
25328
- });
25329
- Object.defineProperty(this, "srfmajortext", {
25330
- get() {
25331
- return this.$origin.srfmajortext;
25332
- },
25333
- enumerable: false,
25334
- configurable: true
25335
- });
25336
- Object.defineProperty(this, "srfdeid", {
25337
- get() {
25338
- return this.$origin.srfdeid;
25339
- },
25340
- enumerable: false,
25341
- configurable: true
25342
- });
25343
- Object.defineProperty(this, "srfdecodename", {
25344
- get() {
25345
- return this.$origin.srfdecodename;
25346
- },
25347
- enumerable: false,
25348
- configurable: true
25349
- });
25350
- Object.defineProperty(this, "srfkeyfile", {
25351
- get() {
25352
- return this.$origin.srfkeyfile;
25353
- },
25354
- enumerable: false,
25355
- configurable: true
25356
- });
25357
- Object.defineProperty(this, "srfmajorfile", {
25358
- get() {
25359
- return this.$origin.srfmajorfile;
25393
+ return this.srfkey === this.tempsrfkey ? 1 /* UPDATE */ : 0 /* CREATE */;
25360
25394
  },
25361
25395
  enumerable: false,
25362
25396
  configurable: true
25363
25397
  });
25398
+ ["srfdeid", "srfdecodename", "srfkeyfield", "srfmajorfield"].forEach(
25399
+ (key) => {
25400
+ Object.defineProperty(this, key, {
25401
+ get() {
25402
+ return this.$origin[key];
25403
+ },
25404
+ enumerable: false,
25405
+ configurable: true
25406
+ });
25407
+ }
25408
+ );
25364
25409
  this.$dataUIMap.forEach((mapField, key) => {
25365
25410
  const value = mapField.dataKey;
25366
25411
  this.linkProperty(key, value, mapField);
@@ -25385,15 +25430,15 @@ var ControlVO = class _ControlVO {
25385
25430
  */
25386
25431
  linkProperty(uiKey, dataKey, mapField) {
25387
25432
  const isOriginField = mapField ? mapField.isOriginField : true;
25388
- if (uiKey === "srfuf") {
25433
+ if (BuildInKeys.includes(uiKey)) {
25389
25434
  return;
25390
25435
  }
25391
25436
  if (isOriginField || Object.prototype.hasOwnProperty.call(this.$origin, uiKey)) {
25392
25437
  Object.defineProperty(this, uiKey, {
25393
- enumerable: !unEnumerableKeys.includes(uiKey),
25438
+ enumerable: true,
25394
25439
  configurable: true,
25395
25440
  get() {
25396
- return uiKey === "srfkey" ? this.$origin[dataKey] || this.$origin[uiKey] : this.$origin[dataKey];
25441
+ return this.$origin[dataKey];
25397
25442
  },
25398
25443
  set(val) {
25399
25444
  this.$origin[dataKey] = val;
@@ -26194,7 +26239,7 @@ var CalendarItemData = class {
26194
26239
  };
26195
26240
 
26196
26241
  // src/service/mqtt/mqtt.service.ts
26197
- import { QXEvent as QXEvent2, createUUID as createUUID2, isNilOrEmpty as isNilOrEmpty6 } from "qx-util";
26242
+ import { QXEvent as QXEvent2, createUUID as createUUID4, isNilOrEmpty as isNilOrEmpty6 } from "qx-util";
26198
26243
  var MqttService = class {
26199
26244
  /**
26200
26245
  * Creates an instance of MqttService.
@@ -26226,7 +26271,7 @@ var MqttService = class {
26226
26271
  // 超时时间
26227
26272
  connectTimeout: 6e3,
26228
26273
  // 认证信息
26229
- clientId: createUUID2(),
26274
+ clientId: createUUID4(),
26230
26275
  username: "",
26231
26276
  password: "",
26232
26277
  // 心跳时间
@@ -26930,7 +26975,7 @@ var PanelNotifyState = /* @__PURE__ */ ((PanelNotifyState2) => {
26930
26975
  })(PanelNotifyState || {});
26931
26976
 
26932
26977
  // src/controller/common/view/view.controller.ts
26933
- import { createUUID as createUUID4, notNilEmpty as notNilEmpty6 } from "qx-util";
26978
+ import { createUUID as createUUID6, notNilEmpty as notNilEmpty6 } from "qx-util";
26934
26979
  import { IBizContext as IBizContext2, RuntimeError as RuntimeError25 } from "@ibiz-template/core";
26935
26980
  import { isEmpty as isEmpty8, isNil as isNil17, isNotNil as isNotNil2 } from "ramda";
26936
26981
 
@@ -27725,7 +27770,7 @@ var ValueExUtil = class {
27725
27770
  // src/controller/utils/value-default/value-default.ts
27726
27771
  import { RuntimeError as RuntimeError23, ModelError as ModelError16 } from "@ibiz-template/core";
27727
27772
  import dayjs from "dayjs";
27728
- import { createUUID as createUUID3 } from "qx-util";
27773
+ import { createUUID as createUUID5 } from "qx-util";
27729
27774
  import { isNil as isNil15, isNotNil } from "ramda";
27730
27775
  function getDefaultValue(opts, origins) {
27731
27776
  var _a;
@@ -27770,7 +27815,7 @@ function getDefaultValue(opts, origins) {
27770
27815
  case "CONTEXT":
27771
27816
  return params[defaultValue];
27772
27817
  case "UNIQUEID":
27773
- return createUUID3();
27818
+ return createUUID5();
27774
27819
  default:
27775
27820
  throw new ModelError16({}, "\u9ED8\u8BA4\u503C\u7C7B\u578B[".concat(valueType, "]\u672A\u652F\u6301"));
27776
27821
  }
@@ -28395,7 +28440,7 @@ var ViewController = class extends BaseController {
28395
28440
  handleContextParams() {
28396
28441
  this.context.srfappid = this.model.appId;
28397
28442
  if (isNil17(this.context.srfsessionid) || isEmpty8(this.context.srfsessionid)) {
28398
- this.context.srfsessionid = createUUID4();
28443
+ this.context.srfsessionid = createUUID6();
28399
28444
  }
28400
28445
  const navContexts = this.model.appViewNavContexts;
28401
28446
  let context = {};
@@ -28781,6 +28826,7 @@ var ControlController = class extends BaseController {
28781
28826
  this.state.isLoading = false;
28782
28827
  }
28783
28828
  async onCreated() {
28829
+ var _a;
28784
28830
  await super.onCreated();
28785
28831
  if (this.controlPanel) {
28786
28832
  this.childNames.push(this.controlPanel.name);
@@ -28789,6 +28835,15 @@ var ControlController = class extends BaseController {
28789
28835
  }
28790
28836
  this.handleControlParams();
28791
28837
  this.initControlScheduler(this.model.controlLogics);
28838
+ if ((_a = this.scheduler) == null ? void 0 : _a.hasControlEventTrigger) {
28839
+ this._evt.onAll((eventName, event) => {
28840
+ this.scheduler.triggerControlEvent(
28841
+ event.targetName,
28842
+ event.eventName,
28843
+ event
28844
+ );
28845
+ });
28846
+ }
28792
28847
  }
28793
28848
  async onMounted() {
28794
28849
  var _a;
@@ -32862,6 +32917,9 @@ var DashboardController = class extends ControlController {
32862
32917
  await Promise.all(
32863
32918
  portletModels.map(async (portlet) => {
32864
32919
  var _a;
32920
+ if (portlet.controlType === "CHART" /* CHART */) {
32921
+ return;
32922
+ }
32865
32923
  const provider = await getPortletProvider(portlet);
32866
32924
  if (provider) {
32867
32925
  this.providers[portlet.id] = provider;
@@ -33207,6 +33265,10 @@ var ViewPortletController = class extends PortletPartController {
33207
33265
  var MenuPortletController = class extends PortletPartController {
33208
33266
  };
33209
33267
 
33268
+ // src/controller/control/dashboard/portlet/chart-portlet/chart-portlet.controller.ts
33269
+ var ChartPortletController = class extends PortletPartController {
33270
+ };
33271
+
33210
33272
  // src/controller/control/data-view/data-view.controller.ts
33211
33273
  import { RuntimeModelError as RuntimeModelError48 } from "@ibiz-template/core";
33212
33274
  import { isNil as isNil20 } from "ramda";
@@ -34279,7 +34341,7 @@ var ChartExpBarController = class extends ExpBarControlController {
34279
34341
  import { mergeDefaultInLeft } from "@ibiz-template/core";
34280
34342
 
34281
34343
  // src/controller/control/form/form/form.controller.ts
34282
- import { debounceAndAsyncMerge } from "@ibiz-template/core";
34344
+ import { debounceAndAsyncMerge, recursiveIterate as recursiveIterate2 } from "@ibiz-template/core";
34283
34345
  var FormController = class extends ControlController {
34284
34346
  constructor() {
34285
34347
  super(...arguments);
@@ -34469,10 +34531,32 @@ var FormController = class extends ControlController {
34469
34531
  actionNotification(tag, opts) {
34470
34532
  super.actionNotification(tag, { data: this.data, ...opts || {} });
34471
34533
  }
34534
+ /**
34535
+ * 初始化部件逻辑调度器
34536
+ * @author lxm
34537
+ * @date 2023-08-21 11:53:37
34538
+ * @param {IControlLogic[]} logics
34539
+ * @return {*} {void}
34540
+ */
34541
+ initControlScheduler(logics = []) {
34542
+ const actualLogics = [...logics];
34543
+ recursiveIterate2(
34544
+ this.model,
34545
+ (item) => {
34546
+ if (item.controlLogics) {
34547
+ actualLogics.push(...item.controlLogics);
34548
+ }
34549
+ },
34550
+ {
34551
+ childrenFields: ["deformPages", "deformTabPages", "deformDetails"]
34552
+ }
34553
+ );
34554
+ super.initControlScheduler(actualLogics);
34555
+ }
34472
34556
  };
34473
34557
 
34474
34558
  // src/controller/control/form/search-form/search-form.service.ts
34475
- import { recursiveIterate as recursiveIterate2 } from "@ibiz-template/core";
34559
+ import { recursiveIterate as recursiveIterate3 } from "@ibiz-template/core";
34476
34560
  var SearchFormService = class extends ControlService {
34477
34561
  /**
34478
34562
  * 执行获取草稿方法
@@ -34496,7 +34580,7 @@ var SearchFormService = class extends ControlService {
34496
34580
  * @date 2022-08-31 18:08:37
34497
34581
  */
34498
34582
  initUIDataMap() {
34499
- recursiveIterate2(
34583
+ recursiveIterate3(
34500
34584
  this.model,
34501
34585
  (item) => {
34502
34586
  if (item.detailType === "FORMITEM") {
@@ -34734,6 +34818,29 @@ var FormDetailState = class {
34734
34818
  // src/controller/control/form/form-detail/form-detail/form-detail.controller.ts
34735
34819
  import { isOverlap } from "@ibiz-template/core";
34736
34820
  var FormDetailController = class {
34821
+ /**
34822
+ * Creates an instance of FormDetailController.
34823
+ * @author lxm
34824
+ * @date 2022-08-24 20:08:22
34825
+ * @param {T} model
34826
+ */
34827
+ constructor(model, form, parent) {
34828
+ /**
34829
+ * 动态逻辑结果
34830
+ * @author lxm
34831
+ * @date 2023-09-21 03:36:37
34832
+ * @protected
34833
+ */
34834
+ this.dynaLogicResult = {
34835
+ visible: true,
34836
+ disabled: false,
34837
+ required: false
34838
+ };
34839
+ this.model = model;
34840
+ this.form = form;
34841
+ this.parent = parent;
34842
+ this.state = this.createState();
34843
+ }
34737
34844
  /**
34738
34845
  * 表单数据
34739
34846
  *
@@ -34764,18 +34871,6 @@ var FormDetailController = class {
34764
34871
  get labelClass() {
34765
34872
  return [...this.state.class.label, ...this.state.class.labelDyna];
34766
34873
  }
34767
- /**
34768
- * Creates an instance of FormDetailController.
34769
- * @author lxm
34770
- * @date 2022-08-24 20:08:22
34771
- * @param {T} model
34772
- */
34773
- constructor(model, form, parent) {
34774
- this.model = model;
34775
- this.form = form;
34776
- this.parent = parent;
34777
- this.state = this.createState();
34778
- }
34779
34874
  /**
34780
34875
  * 子类不可覆盖或重写此方法,在 init 时需要重写的使用 onInit 方法。
34781
34876
  *
@@ -34822,6 +34917,9 @@ var FormDetailController = class {
34822
34917
  */
34823
34918
  async dataChangeNotify(names) {
34824
34919
  this.calcDynamicLogic(names);
34920
+ this.calcDetailDisabled(this.data);
34921
+ this.calcDetailVisible(this.data);
34922
+ this.calcDetailRequired(this.data);
34825
34923
  this.calcDynaClass(this.data);
34826
34924
  }
34827
34925
  /**
@@ -34830,8 +34928,11 @@ var FormDetailController = class {
34830
34928
  * @author lxm
34831
34929
  * @date 2022-09-20 18:09:07
34832
34930
  */
34833
- async formStateNotify(state) {
34834
- this.calcDynamicLogic([], state);
34931
+ async formStateNotify(_state) {
34932
+ this.calcDynamicLogic([], true);
34933
+ this.calcDetailDisabled(this.data);
34934
+ this.calcDetailVisible(this.data);
34935
+ this.calcDetailRequired(this.data);
34835
34936
  this.calcDynaClass(this.data);
34836
34937
  }
34837
34938
  /**
@@ -34841,28 +34942,28 @@ var FormDetailController = class {
34841
34942
  * @date 2022-09-20 19:09:20
34842
34943
  * @protected
34843
34944
  * @param {string[]} names 变更的属性集合
34844
- * @param {FormNotifyState} [state] 表单通知状态
34945
+ * @param {boolean} [mustCalc=false] 是否强制计算一遍动态逻辑
34845
34946
  * @returns {*} {void}
34846
34947
  */
34847
- calcDynamicLogic(names, state) {
34948
+ calcDynamicLogic(names, mustCalc = false) {
34848
34949
  var _a;
34849
34950
  if (this.parent && !this.parent.state.visible) {
34850
34951
  return;
34851
34952
  }
34852
34953
  (_a = this.model.defdgroupLogics) == null ? void 0 : _a.forEach((logic) => {
34853
34954
  const relatedNames = logic.relatedDetailNames || [];
34854
- if (state || isOverlap(relatedNames, names)) {
34955
+ if (mustCalc || isOverlap(relatedNames, names)) {
34855
34956
  try {
34856
34957
  const ok = verifyFormGroupLogic(this.form.data, logic);
34857
34958
  switch (logic.logicCat) {
34858
34959
  case "ITEMBLANK":
34859
- this.state.required = !ok;
34960
+ this.dynaLogicResult.required = !ok;
34860
34961
  break;
34861
34962
  case "ITEMENABLE":
34862
- this.state.disabled = !ok;
34963
+ this.dynaLogicResult.disabled = !ok;
34863
34964
  break;
34864
34965
  case "PANELVISIBLE":
34865
- this.state.visible = ok;
34966
+ this.dynaLogicResult.visible = ok;
34866
34967
  break;
34867
34968
  default:
34868
34969
  }
@@ -34901,6 +35002,63 @@ var FormDetailController = class {
34901
35002
  }
34902
35003
  }
34903
35004
  }
35005
+ /**
35006
+ * 计算项的禁用状态
35007
+ *
35008
+ * @param {IData} data
35009
+ */
35010
+ calcDetailDisabled(data) {
35011
+ let enable = !this.dynaLogicResult.disabled;
35012
+ if (enable && this.form.scheduler) {
35013
+ const itemEnable = this.form.scheduler.triggerItemEnable(this.model.id, {
35014
+ data: [data]
35015
+ });
35016
+ if (itemEnable !== void 0) {
35017
+ enable = itemEnable;
35018
+ }
35019
+ }
35020
+ this.state.disabled = !enable;
35021
+ }
35022
+ /**
35023
+ * 计算项的显示状态
35024
+ *
35025
+ * @param {IData} data
35026
+ */
35027
+ calcDetailVisible(data) {
35028
+ let { visible } = this.dynaLogicResult;
35029
+ if (visible && this.form.scheduler) {
35030
+ const itemVIsible = this.form.scheduler.triggerItemVisible(
35031
+ this.model.id,
35032
+ {
35033
+ data: [data]
35034
+ }
35035
+ );
35036
+ if (itemVIsible !== void 0) {
35037
+ visible = itemVIsible;
35038
+ }
35039
+ }
35040
+ this.state.visible = visible;
35041
+ }
35042
+ /**
35043
+ * 计算项的必填状态
35044
+ *
35045
+ * @param {IData} data
35046
+ */
35047
+ calcDetailRequired(data) {
35048
+ let allowEmpty = !this.dynaLogicResult.required;
35049
+ if (allowEmpty && this.form.scheduler) {
35050
+ const itemAllowEmpty = this.form.scheduler.triggerItemBlank(
35051
+ this.model.id,
35052
+ {
35053
+ data: [data]
35054
+ }
35055
+ );
35056
+ if (itemAllowEmpty !== void 0) {
35057
+ allowEmpty = itemAllowEmpty;
35058
+ }
35059
+ }
35060
+ this.state.required = !allowEmpty;
35061
+ }
34904
35062
  };
34905
35063
 
34906
35064
  // src/controller/control/form/form-detail/form-button/form-button.state.ts
@@ -34989,7 +35147,7 @@ var FormButtonController = class extends FormDetailController {
34989
35147
 
34990
35148
  // src/controller/control/form/form-detail/form-druipart/form-druipart.controller.ts
34991
35149
  import { isOverlap as isOverlap2 } from "@ibiz-template/core";
34992
- import { createUUID as createUUID5, notNilEmpty as notNilEmpty8 } from "qx-util";
35150
+ import { createUUID as createUUID7, notNilEmpty as notNilEmpty8 } from "qx-util";
34993
35151
 
34994
35152
  // src/controller/control/form/form-detail/form-druipart/form-druipart.state.ts
34995
35153
  var FormDruipartState = class extends FormDetailState {
@@ -35102,7 +35260,7 @@ var FormDRUIPartController = class extends FormDetailController {
35102
35260
  this.form.context
35103
35261
  );
35104
35262
  if (!this.state.viewComponentKey) {
35105
- this.state.viewComponentKey = createUUID5();
35263
+ this.state.viewComponentKey = createUUID7();
35106
35264
  this.navContext = newContext;
35107
35265
  this.navParams = newParams;
35108
35266
  } else if (JSON.stringify(this.navContext) !== JSON.stringify(newContext) || JSON.stringify(this.navParams) !== JSON.stringify(newParams)) {
@@ -35198,8 +35356,8 @@ var FormGroupPanelController = class extends FormDetailController {
35198
35356
  super.onInit();
35199
35357
  await this.initActionStates();
35200
35358
  }
35201
- async formStateNotify(state) {
35202
- super.calcDynamicLogic([], state);
35359
+ async formStateNotify(_state) {
35360
+ super.calcDynamicLogic([], true);
35203
35361
  if (this.state.actionGroupState) {
35204
35362
  this.state.actionGroupState.update(this.form.data.getOrigin());
35205
35363
  }
@@ -35481,9 +35639,9 @@ var FormItemController = class extends FormDetailController {
35481
35639
  this.setDefaultValue(false);
35482
35640
  }
35483
35641
  }
35484
- calcDynamicLogic(names, state) {
35642
+ calcDynamicLogic(names, mustCalc = false) {
35485
35643
  if (!this.model.hidden) {
35486
- super.calcDynamicLogic(names, state);
35644
+ super.calcDynamicLogic(names, mustCalc);
35487
35645
  }
35488
35646
  }
35489
35647
  /**
@@ -35789,11 +35947,12 @@ import {
35789
35947
  mergeDefaultInLeft as mergeDefaultInLeft2
35790
35948
  } from "@ibiz-template/core";
35791
35949
  import { debounce } from "lodash-es";
35950
+ import { createUUID as createUUID8 } from "qx-util";
35792
35951
  import { clone as clone18 } from "ramda";
35793
35952
 
35794
35953
  // src/controller/control/form/edit-form/edit-form.service.ts
35795
35954
  import {
35796
- recursiveIterate as recursiveIterate3,
35955
+ recursiveIterate as recursiveIterate4,
35797
35956
  RuntimeModelError as RuntimeModelError52
35798
35957
  } from "@ibiz-template/core";
35799
35958
  var EditFormService = class extends ControlService {
@@ -36009,7 +36168,7 @@ var EditFormService = class extends ControlService {
36009
36168
  // 向导预置
36010
36169
  "srfnextform"
36011
36170
  ];
36012
- recursiveIterate3(
36171
+ recursiveIterate4(
36013
36172
  this.model,
36014
36173
  (item) => {
36015
36174
  if (item.detailType === "FORMITEM" || item.detailType === "MDCTRL") {
@@ -36164,7 +36323,8 @@ var EditFormController = class extends FormController {
36164
36323
  } finally {
36165
36324
  await this.endLoading();
36166
36325
  }
36167
- res.data.$origin.srfsourcekey = void 0;
36326
+ res.data.srfkey = void 0;
36327
+ res.data.tempsrfkey = createUUID8();
36168
36328
  this.state.modified = false;
36169
36329
  this.state.data = res.data;
36170
36330
  this.formStateNotify("LOAD" /* LOAD */);
@@ -36249,6 +36409,7 @@ var EditFormController = class extends FormController {
36249
36409
  }
36250
36410
  if (res.data) {
36251
36411
  mergeInLeft(this.data, res.data);
36412
+ this.data.tempsrfkey = this.data.srfkey;
36252
36413
  }
36253
36414
  this.state.modified = false;
36254
36415
  await this.evt.emit("onSaveSuccess", void 0);
@@ -37452,7 +37613,7 @@ import {
37452
37613
  awaitTimeout as awaitTimeout2,
37453
37614
  debounceAndAsyncMerge as debounceAndAsyncMerge2,
37454
37615
  mergeDefaultInLeft as mergeDefaultInLeft3,
37455
- recursiveIterate as recursiveIterate4,
37616
+ recursiveIterate as recursiveIterate5,
37456
37617
  RuntimeError as RuntimeError45,
37457
37618
  RuntimeModelError as RuntimeModelError53
37458
37619
  } from "@ibiz-template/core";
@@ -37962,7 +38123,7 @@ var GridController = class extends MDControlController {
37962
38123
  * @return {*} {Promise<void>}
37963
38124
  */
37964
38125
  initColumnStates() {
37965
- recursiveIterate4(
38126
+ recursiveIterate5(
37966
38127
  this.model,
37967
38128
  (column) => {
37968
38129
  if (column.columnType !== "GROUPGRIDCOLUMN") {
@@ -39140,7 +39301,7 @@ var ListController = class extends MDControlController {
39140
39301
  };
39141
39302
 
39142
39303
  // src/controller/control/panel/panel/panel.controller.ts
39143
- import { recursiveIterate as recursiveIterate5, RuntimeError as RuntimeError47 } from "@ibiz-template/core";
39304
+ import { recursiveIterate as recursiveIterate6, RuntimeError as RuntimeError47 } from "@ibiz-template/core";
39144
39305
  var PanelController = class extends ControlController {
39145
39306
  constructor() {
39146
39307
  super(...arguments);
@@ -39331,7 +39492,7 @@ var PanelController = class extends ControlController {
39331
39492
  }
39332
39493
  initControlScheduler(logics = []) {
39333
39494
  const actualLogics = [...logics];
39334
- recursiveIterate5(
39495
+ recursiveIterate6(
39335
39496
  this.model,
39336
39497
  (item) => {
39337
39498
  if (item.controlLogics) {
@@ -39830,7 +39991,7 @@ var PickupViewPanelController = class extends ControlController {
39830
39991
  };
39831
39992
 
39832
39993
  // src/controller/control/search-bar/search-bar.controller.ts
39833
- import { recursiveIterate as recursiveIterate6 } from "@ibiz-template/core";
39994
+ import { recursiveIterate as recursiveIterate7 } from "@ibiz-template/core";
39834
39995
  import { isNil as isNil22 } from "ramda";
39835
39996
 
39836
39997
  // src/controller/control/search-bar/search-bar-filter.controller.ts
@@ -40036,7 +40197,7 @@ var SearchBarController = class extends ControlController {
40036
40197
  }
40037
40198
  let hasFilter = false;
40038
40199
  let hasError = false;
40039
- recursiveIterate6(this.state.filterNodes[0], (node) => {
40200
+ recursiveIterate7(this.state.filterNodes[0], (node) => {
40040
40201
  if (node.leaf) {
40041
40202
  if (node.field && node.valueOP && !isNil22(node.value)) {
40042
40203
  hasFilter = true;
@@ -40296,7 +40457,7 @@ var TabExpPanelController = class extends ControlController {
40296
40457
  };
40297
40458
 
40298
40459
  // src/controller/control/tree/tree.controller.ts
40299
- import { recursiveIterate as recursiveIterate7 } from "@ibiz-template/core";
40460
+ import { recursiveIterate as recursiveIterate8 } from "@ibiz-template/core";
40300
40461
 
40301
40462
  // src/controller/control/tree/tree.service.ts
40302
40463
  import { ModelError as ModelError27 } from "@ibiz-template/core";
@@ -40666,7 +40827,7 @@ var TreeController = class extends MDControlController {
40666
40827
  this.state.rootNodes = nodes;
40667
40828
  }
40668
40829
  this.state.items = [];
40669
- recursiveIterate7(
40830
+ recursiveIterate8(
40670
40831
  { children: this.state.rootNodes },
40671
40832
  (node) => {
40672
40833
  this.state.items.push(node);
@@ -40808,7 +40969,7 @@ var TreeController = class extends MDControlController {
40808
40969
  */
40809
40970
  calcExpandedKeys(nodes) {
40810
40971
  let expandedKeys = [...this.state.expandedKeys];
40811
- recursiveIterate7({ children: nodes }, (node) => {
40972
+ recursiveIterate8({ children: nodes }, (node) => {
40812
40973
  var _a;
40813
40974
  if ((_a = node.children) == null ? void 0 : _a.length) {
40814
40975
  expandedKeys.push(node.id);
@@ -41698,7 +41859,7 @@ var KanbanController = class extends DataViewControlController {
41698
41859
  };
41699
41860
 
41700
41861
  // src/controller/control/tree-grid-ex/tree-grid-ex.controller.ts
41701
- import { recursiveIterate as recursiveIterate8 } from "@ibiz-template/core";
41862
+ import { recursiveIterate as recursiveIterate9 } from "@ibiz-template/core";
41702
41863
 
41703
41864
  // src/controller/control/tree-grid-ex/tree-grid-ex.service.ts
41704
41865
  import { isArray as isArray11 } from "qx-util";
@@ -41938,7 +42099,7 @@ var TreeGridExController = class extends MDControlController {
41938
42099
  * @memberof TreeGridExController
41939
42100
  */
41940
42101
  initColumnStates() {
41941
- recursiveIterate8(
42102
+ recursiveIterate9(
41942
42103
  this.model,
41943
42104
  (column) => {
41944
42105
  if (column.columnType !== "GROUPGRIDCOLUMN") {
@@ -42026,7 +42187,7 @@ var TreeGridExController = class extends MDControlController {
42026
42187
  this.state.rootNodes = nodes;
42027
42188
  }
42028
42189
  this.state.items = [];
42029
- recursiveIterate8(
42190
+ recursiveIterate9(
42030
42191
  { children: this.state.rootNodes },
42031
42192
  (node) => {
42032
42193
  this.state.items.push(node);
@@ -42045,7 +42206,7 @@ var TreeGridExController = class extends MDControlController {
42045
42206
  */
42046
42207
  calcExpandedKeys(nodes) {
42047
42208
  let expandedKeys = [];
42048
- recursiveIterate8({ children: nodes }, (node) => {
42209
+ recursiveIterate9({ children: nodes }, (node) => {
42049
42210
  var _a;
42050
42211
  if ((_a = node.children) == null ? void 0 : _a.length) {
42051
42212
  expandedKeys.push(node.id);
@@ -42069,7 +42230,7 @@ var TreeGridService = class extends GridService {
42069
42230
 
42070
42231
  // src/controller/control/medit-view-panel/medit-view-panel.controller.ts
42071
42232
  import { RuntimeError as RuntimeError50 } from "@ibiz-template/core";
42072
- import { createUUID as createUUID6 } from "qx-util";
42233
+ import { createUUID as createUUID9 } from "qx-util";
42073
42234
 
42074
42235
  // src/controller/control/medit-view-panel/medit-view-panel.service.ts
42075
42236
  var MEditViewPanelService = class extends MDControlService {
@@ -42156,7 +42317,7 @@ var MEditViewPanelController = class extends MDControlController {
42156
42317
  */
42157
42318
  handlePanelItemParams(arg) {
42158
42319
  const [{ parameterName }] = this.parameters;
42159
- const id = arg[parameterName] ? arg[parameterName] : "mockId:".concat(createUUID6());
42320
+ const id = arg[parameterName] ? arg[parameterName] : "mockId:".concat(createUUID9());
42160
42321
  const item = {
42161
42322
  id,
42162
42323
  context: this.context.clone(),
@@ -43713,7 +43874,7 @@ var ControlLogicScheduler = class extends LogicScheduler {
43713
43874
  );
43714
43875
  filterLogics.forEach((logic) => {
43715
43876
  if (logic.triggerType === "CTRLEVENT") {
43716
- logic.ctrlName = logic.itemName;
43877
+ logic.ctrlName = logic.itemName || logic.logicTag;
43717
43878
  }
43718
43879
  });
43719
43880
  super(filterLogics);
@@ -43941,13 +44102,16 @@ var ItemDynaLogicTrigger = class extends LogicTrigger {
43941
44102
  };
43942
44103
 
43943
44104
  // src/logic-scheduler/trigger/timer-trigger.ts
43944
- import { RuntimeError as RuntimeError57 } from "@ibiz-template/core";
44105
+ import { RuntimeError as RuntimeError57, RuntimeModelError as RuntimeModelError61 } from "@ibiz-template/core";
43945
44106
  var TimerTrigger = class extends LogicTrigger {
43946
44107
  constructor() {
43947
44108
  super(...arguments);
43948
44109
  this.timer = null;
43949
44110
  }
43950
44111
  start() {
44112
+ if (!this.logic.timer) {
44113
+ throw new RuntimeModelError61(this.logic, "\u5B9A\u65F6\u5668\u7F3A\u5C11\u5B9A\u65F6\u95F4\u9694");
44114
+ }
43951
44115
  this.timer = setInterval(() => {
43952
44116
  if (!this.scheduler.defaultParamsCb) {
43953
44117
  throw new RuntimeError57("\u5B9A\u65F6\u5668\u7F3A\u5C11\u9ED8\u8BA4\u53C2\u6570\u56DE\u8C03");
@@ -43968,7 +44132,7 @@ var TimerTrigger = class extends LogicTrigger {
43968
44132
  import {
43969
44133
  ModelError as ModelError31,
43970
44134
  RuntimeError as RuntimeError58,
43971
- RuntimeModelError as RuntimeModelError61
44135
+ RuntimeModelError as RuntimeModelError62
43972
44136
  } from "@ibiz-template/core";
43973
44137
  import { notNilEmpty as notNilEmpty9 } from "qx-util";
43974
44138
  var AppUILogicExecutor = class extends LogicExecutor {
@@ -44012,7 +44176,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
44012
44176
  } else {
44013
44177
  openViewRef = appUILogic.openDataAppView;
44014
44178
  if (!openViewRef) {
44015
- throw new RuntimeModelError61(
44179
+ throw new RuntimeModelError62(
44016
44180
  appUILogic,
44017
44181
  "opendata\u89C6\u56FE\u903B\u8F91\u6CA1\u6709\u914D\u7F6E\u9ED8\u8BA4\u6253\u5F00\u89C6\u56FE"
44018
44182
  );
@@ -44020,7 +44184,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
44020
44184
  }
44021
44185
  const openView = openViewRef.refAppViewId;
44022
44186
  if (!openView) {
44023
- throw new RuntimeModelError61(
44187
+ throw new RuntimeModelError62(
44024
44188
  appUILogic,
44025
44189
  "opendata\u89C6\u56FE\u903B\u8F91\u7684\u9ED8\u8BA4\u6253\u5F00\u89C6\u56FE\u6CA1\u6709\u5B9E\u9645\u5F15\u7528\u89C6\u56FE"
44026
44190
  );
@@ -44047,7 +44211,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
44047
44211
  const appDataEntityId = parameters.view.model.appDataEntityId;
44048
44212
  const formTypeName = await getFormTypeFieldName(appDataEntityId);
44049
44213
  if (!formTypeName) {
44050
- throw new RuntimeModelError61(
44214
+ throw new RuntimeModelError62(
44051
44215
  appUILogic,
44052
44216
  "".concat(appDataEntityId, "\u5B9E\u4F53\u7F3A\u5C11\u8868\u5355\u7C7B\u578B\u5E94\u7528\u5B9E\u4F53\u5C5E\u6027")
44053
44217
  );
@@ -44055,7 +44219,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
44055
44219
  const { data } = parameters;
44056
44220
  const formTypeValue = data[0][formTypeName];
44057
44221
  if (!formTypeValue) {
44058
- throw new RuntimeModelError61(appUILogic, "\u6570\u636E\u6E90\u65E0\u8868\u5355\u7C7B\u578B\u5E94\u7528\u5B9E\u4F53\u5C5E\u6027\u503C");
44222
+ throw new RuntimeModelError62(appUILogic, "\u6570\u636E\u6E90\u65E0\u8868\u5355\u7C7B\u578B\u5E94\u7528\u5B9E\u4F53\u5C5E\u6027\u503C");
44059
44223
  }
44060
44224
  const openViewRefs = appUILogic.openDataAppViews;
44061
44225
  const findView = openViewRefs == null ? void 0 : openViewRefs.find((item) => item.refMode === formTypeValue);
@@ -44097,7 +44261,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
44097
44261
  return viewRef.refMode.toLowerCase() !== parentDeName;
44098
44262
  });
44099
44263
  if (!newViewRef) {
44100
- throw new RuntimeModelError61(
44264
+ throw new RuntimeModelError62(
44101
44265
  appUILogic,
44102
44266
  "\u6CA1\u6709\u627E\u5230\u6279\u6DFB\u52A0\u9700\u8981\u6253\u5F00\u7684\u9009\u62E9\u89C6\u56FE"
44103
44267
  );
@@ -44107,7 +44271,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
44107
44271
  } else {
44108
44272
  newViewRef = newDataAppView;
44109
44273
  if (!newViewRef || !newViewRef.refAppViewId) {
44110
- throw new RuntimeModelError61(
44274
+ throw new RuntimeModelError62(
44111
44275
  appUILogic,
44112
44276
  "newdata\u89C6\u56FE\u903B\u8F91\u6CA1\u6709\u914D\u7F6E\u9ED8\u8BA4\u65B0\u5EFA\u6570\u636E\u89C6\u56FE"
44113
44277
  );
@@ -44164,7 +44328,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
44164
44328
  const { wizardAppView, newDataAppViews } = appUILogic;
44165
44329
  const { context, params, ...rest } = parameters;
44166
44330
  if (!wizardAppView || !wizardAppView.refAppViewId) {
44167
- throw new RuntimeModelError61(appUILogic, "\u7F3A\u5C11\u9ED8\u8BA4\u7D22\u5F15\u5B9E\u4F53\u9009\u62E9\u89C6\u56FE");
44331
+ throw new RuntimeModelError62(appUILogic, "\u7F3A\u5C11\u9ED8\u8BA4\u7D22\u5F15\u5B9E\u4F53\u9009\u62E9\u89C6\u56FE");
44168
44332
  }
44169
44333
  const result = await ibiz.commands.execute(
44170
44334
  OpenAppViewCommand.TAG,
@@ -44210,7 +44374,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
44210
44374
  const minorDERs = selfDe.minorAppDERSs;
44211
44375
  const pickParentDeName = newViewRef.refMode.toLowerCase();
44212
44376
  if (!minorDERs) {
44213
- throw new RuntimeModelError61(selfDe, "\u5B9E\u4F53\u6CA1\u6709\u4ECE\u5173\u7CFB\u96C6\u5408\uFF01");
44377
+ throw new RuntimeModelError62(selfDe, "\u5B9E\u4F53\u6CA1\u6709\u4ECE\u5173\u7CFB\u96C6\u5408\uFF01");
44214
44378
  }
44215
44379
  let pickParentFieldName;
44216
44380
  minorDERs == null ? void 0 : minorDERs.forEach((item) => {
@@ -44494,6 +44658,7 @@ export {
44494
44658
  CaptionBarController,
44495
44659
  ChartController,
44496
44660
  ChartExpBarController,
44661
+ ChartPortletController,
44497
44662
  ChartService,
44498
44663
  CodeListEditorController,
44499
44664
  CodeListService,