@ibiz-template/runtime 0.7.0 → 0.7.2

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 (106) hide show
  1. package/dist/index.esm.js +626 -272
  2. package/dist/index.system.min.js +1 -1
  3. package/out/command/app/app-func/app-func.d.ts.map +1 -1
  4. package/out/command/app/app-func/app-func.js +1 -0
  5. package/out/config/global-config.d.ts +2 -1
  6. package/out/config/global-config.d.ts.map +1 -1
  7. package/out/config/global-config.js +4 -0
  8. package/out/controller/common/base.controller.d.ts +9 -1
  9. package/out/controller/common/base.controller.d.ts.map +1 -1
  10. package/out/controller/common/base.controller.js +12 -1
  11. package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
  12. package/out/controller/common/control/md-control.controller.js +7 -19
  13. package/out/controller/common/index.d.ts +1 -0
  14. package/out/controller/common/index.d.ts.map +1 -1
  15. package/out/controller/common/index.js +1 -0
  16. package/out/controller/common/view/app-data-upload-view.controller.d.ts +22 -0
  17. package/out/controller/common/view/app-data-upload-view.controller.d.ts.map +1 -0
  18. package/out/controller/common/view/app-data-upload-view.controller.js +46 -0
  19. package/out/controller/common/view/view.controller.d.ts.map +1 -1
  20. package/out/controller/common/view/view.controller.js +4 -0
  21. package/out/controller/control/form/edit-form/edit-form.controller.js +12 -12
  22. package/out/controller/control/form/form/form.controller.js +1 -1
  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 +1 -4
  25. package/out/controller/control/form/form-detail/form-detail/form-detail.state.d.ts +8 -0
  26. package/out/controller/control/form/form-detail/form-detail/form-detail.state.d.ts.map +1 -1
  27. package/out/controller/control/form/form-detail/form-detail/form-detail.state.js +12 -2
  28. package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts.map +1 -1
  29. package/out/controller/control/form/form-detail/form-item/form-item.controller.js +4 -3
  30. package/out/controller/control/grid/grid/grid-row.state.d.ts.map +1 -1
  31. package/out/controller/control/grid/grid/grid-row.state.js +22 -1
  32. package/out/controller/control/grid/grid/grid.controller.d.ts +5 -0
  33. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  34. package/out/controller/control/grid/grid/grid.controller.js +14 -11
  35. package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.d.ts.map +1 -1
  36. package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.js +3 -1
  37. package/out/controller/control/panel/panel/panel-item.controller.d.ts.map +1 -1
  38. package/out/controller/control/panel/panel/panel-item.controller.js +1 -4
  39. package/out/controller/control/panel/panel/panel-item.state.d.ts +10 -2
  40. package/out/controller/control/panel/panel/panel-item.state.d.ts.map +1 -1
  41. package/out/controller/control/panel/panel/panel-item.state.js +14 -4
  42. package/out/controller/control/panel/panel/panel.controller.d.ts.map +1 -1
  43. package/out/controller/control/panel/panel/panel.controller.js +1 -1
  44. package/out/controller/control/tab-exp-panel/tab-exp-panel.controller.d.ts.map +1 -1
  45. package/out/controller/control/tab-exp-panel/tab-exp-panel.controller.js +1 -0
  46. package/out/controller/utils/data-file-util/data-file-util.d.ts +95 -2
  47. package/out/controller/utils/data-file-util/data-file-util.d.ts.map +1 -1
  48. package/out/controller/utils/data-file-util/data-file-util.js +194 -8
  49. package/out/controller/utils/value-rule/value-rule.js +1 -1
  50. package/out/hub/config/app-view-config-service.d.ts.map +1 -1
  51. package/out/hub/config/app-view-config-service.js +7 -2
  52. package/out/interface/common/i-global-config/i-global-config.d.ts +9 -0
  53. package/out/interface/common/i-global-config/i-global-config.d.ts.map +1 -1
  54. package/out/interface/common/i-global-config/i-global-picker-editor-config.d.ts +13 -0
  55. package/out/interface/common/i-global-config/i-global-picker-editor-config.d.ts.map +1 -0
  56. package/out/interface/common/i-global-config/i-global-picker-editor-config.js +1 -0
  57. package/out/interface/common/i-global-config/index.d.ts +1 -0
  58. package/out/interface/common/i-global-config/index.d.ts.map +1 -1
  59. package/out/interface/common/i-global-config/index.js +1 -0
  60. package/out/interface/common/index.d.ts +1 -1
  61. package/out/interface/common/index.d.ts.map +1 -1
  62. package/out/interface/controller/event/argument/index.d.ts +1 -0
  63. package/out/interface/controller/event/argument/index.d.ts.map +1 -1
  64. package/out/interface/controller/event/argument/tab-change.event.d.ts +13 -0
  65. package/out/interface/controller/event/argument/tab-change.event.d.ts.map +1 -0
  66. package/out/interface/controller/event/argument/tab-change.event.js +1 -0
  67. package/out/interface/controller/event/control/i-edit-form.event.d.ts +16 -9
  68. package/out/interface/controller/event/control/i-edit-form.event.d.ts.map +1 -1
  69. package/out/interface/controller/event/control/i-tab-exp-panel.event.d.ts +15 -1
  70. package/out/interface/controller/event/control/i-tab-exp-panel.event.d.ts.map +1 -1
  71. package/out/interface/controller/state/common/i-controller.state.d.ts +8 -0
  72. package/out/interface/controller/state/common/i-controller.state.d.ts.map +1 -1
  73. package/out/interface/controller/state/control/panel-item/i-panel-item.state.d.ts +8 -0
  74. package/out/interface/controller/state/control/panel-item/i-panel-item.state.d.ts.map +1 -1
  75. package/out/interface/controller/state/view/i-app-data-upload-view.state.d.ts +26 -0
  76. package/out/interface/controller/state/view/i-app-data-upload-view.state.d.ts.map +1 -0
  77. package/out/interface/controller/state/view/i-app-data-upload-view.state.js +1 -0
  78. package/out/interface/controller/state/view/index.d.ts +1 -0
  79. package/out/interface/controller/state/view/index.d.ts.map +1 -1
  80. package/out/interface/controller/state/view/index.js +1 -0
  81. package/out/interface/register/i-register-params.d.ts +31 -0
  82. package/out/interface/register/i-register-params.d.ts.map +1 -0
  83. package/out/interface/register/i-register-params.js +1 -0
  84. package/out/interface/register/index.d.ts +1 -0
  85. package/out/interface/register/index.d.ts.map +1 -1
  86. package/out/interface/register/index.js +1 -0
  87. package/out/register/custom-register.d.ts +34 -0
  88. package/out/register/custom-register.d.ts.map +1 -0
  89. package/out/register/custom-register.js +80 -0
  90. package/out/register/helper/control-register.d.ts.map +1 -1
  91. package/out/register/helper/control-register.js +12 -0
  92. package/out/register/helper/form-detail-register.d.ts +2 -2
  93. package/out/register/helper/form-detail-register.d.ts.map +1 -1
  94. package/out/register/helper/form-detail-register.js +14 -1
  95. package/out/register/helper/grid-column-register.d.ts +2 -2
  96. package/out/register/helper/grid-column-register.d.ts.map +1 -1
  97. package/out/register/helper/grid-column-register.js +14 -1
  98. package/out/register/helper/panel-item-register.d.ts +2 -2
  99. package/out/register/helper/panel-item-register.d.ts.map +1 -1
  100. package/out/register/helper/panel-item-register.js +15 -1
  101. package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts +8 -0
  102. package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts.map +1 -1
  103. package/out/service/utils/dynamic-code-list/dynamic-code-list.js +14 -3
  104. package/out/ui-action/provider/front-ui-action-provider.d.ts.map +1 -1
  105. package/out/ui-action/provider/front-ui-action-provider.js +17 -26
  106. package/package.json +2 -2
package/dist/index.esm.js CHANGED
@@ -25,6 +25,10 @@ var GlobalConfig = class {
25
25
  this.form = {
26
26
  mdCtrlConfirmBeforeRemove: true
27
27
  };
28
+ // 全局下拉选择类编辑器配置
29
+ this.pickerEditor = {
30
+ overflowMode: "auto"
31
+ };
28
32
  }
29
33
  };
30
34
 
@@ -5503,6 +5507,82 @@ async function getAppCounterProvider(model) {
5503
5507
  }
5504
5508
  }
5505
5509
 
5510
+ // src/register/custom-register.ts
5511
+ var CustomRegister = class {
5512
+ /**
5513
+ * 获取适配器注册key
5514
+ *
5515
+ * @author ljx
5516
+ * @date 2024-04-16 23:08:08
5517
+ * @param {string} registerType
5518
+ * @param {IRegisterParams} opts
5519
+ * @return {string}
5520
+ */
5521
+ static getRegisterKey(registerType, opts) {
5522
+ switch (registerType) {
5523
+ case PANELITEM_PROVIDER_PREFIX:
5524
+ return this.calcKeyByView(opts);
5525
+ case FORMDETAIL_PROVIDER_PREFIX:
5526
+ case GRIDCOLUMN_PROVIDER_PREFIX:
5527
+ case CONTROL_PROVIDER_PREFIX:
5528
+ return this.calcKeyByCtrl(opts);
5529
+ default:
5530
+ return "";
5531
+ }
5532
+ }
5533
+ /**
5534
+ * 通过视图计算key
5535
+ * 目前适用于计算面板项的key
5536
+ * @author ljx
5537
+ * @date 2024-04-16 23:08:08
5538
+ * @param {IRegisterParams} opts
5539
+ * @return {string}
5540
+ */
5541
+ static calcKeyByView(opts) {
5542
+ const { controlItemModel, controlModel, viewModel } = opts;
5543
+ let key = "";
5544
+ if (viewModel == null ? void 0 : viewModel.codeName) {
5545
+ key += "".concat(viewModel.codeName.toUpperCase());
5546
+ }
5547
+ if (controlModel == null ? void 0 : controlModel.codeName) {
5548
+ key += "@".concat(controlModel.codeName.toUpperCase());
5549
+ }
5550
+ if (controlItemModel == null ? void 0 : controlItemModel.id) {
5551
+ key += "@".concat(controlItemModel.id.toUpperCase());
5552
+ }
5553
+ return key;
5554
+ }
5555
+ /**
5556
+ * 通过部件计算key
5557
+ * 没有实体的部件默认为APP
5558
+ * @date 2024-04-16 23:08:08
5559
+ * @param {IRegisterParams} opts
5560
+ * @return {string}
5561
+ */
5562
+ static calcKeyByCtrl(opts) {
5563
+ const { controlModel, controlItemModel } = opts;
5564
+ let key = "";
5565
+ let prefix = "APP";
5566
+ if (controlModel) {
5567
+ const { appDataEntityId, controlType, codeName } = controlModel;
5568
+ if (appDataEntityId) {
5569
+ prefix = calcDeCodeNameById(appDataEntityId).toUpperCase();
5570
+ }
5571
+ if (controlType) {
5572
+ key += "@".concat(controlType.toUpperCase());
5573
+ }
5574
+ if (codeName) {
5575
+ key += "@".concat(codeName.toUpperCase());
5576
+ }
5577
+ }
5578
+ if (controlItemModel == null ? void 0 : controlItemModel.codeName) {
5579
+ key += "@".concat(controlItemModel.codeName.toUpperCase());
5580
+ }
5581
+ key = prefix + key;
5582
+ return key;
5583
+ }
5584
+ };
5585
+
5506
5586
  // src/register/helper/control-register.ts
5507
5587
  var CONTROL_PROVIDER_PREFIX = "CONTROL";
5508
5588
  function registerControlProvider(key, callback) {
@@ -5516,6 +5596,15 @@ function getProvider2(key) {
5516
5596
  async function getControlProvider(model) {
5517
5597
  let provider;
5518
5598
  const { controlType, controlStyle, sysPFPluginId, appId: appId2 } = model;
5599
+ const registerKey = CustomRegister.getRegisterKey(CONTROL_PROVIDER_PREFIX, {
5600
+ controlModel: model
5601
+ });
5602
+ provider = getProvider2(registerKey);
5603
+ if (!provider) {
5604
+ ibiz.log.debug("\u627E\u4E0D\u5230\u81EA\u5B9A\u4E49\u6CE8\u518C\u6807\u8BC6\u4E3A[".concat(registerKey, "]\u5BF9\u5E94\u7684\u9002\u914D\u5668"));
5605
+ } else {
5606
+ return provider;
5607
+ }
5519
5608
  if (sysPFPluginId) {
5520
5609
  const pluginKey = await getPluginRegisterKey(sysPFPluginId, appId2);
5521
5610
  if (pluginKey) {
@@ -5621,9 +5710,22 @@ function getProvider4(key) {
5621
5710
  "".concat(FORMDETAIL_PROVIDER_PREFIX, "_").concat(key)
5622
5711
  );
5623
5712
  }
5624
- async function getFormDetailProvider(model) {
5713
+ async function getFormDetailProvider(model, formModel) {
5625
5714
  let provider;
5626
5715
  const { detailType, sysPFPluginId, appId: appId2 } = model;
5716
+ const registerKey = CustomRegister.getRegisterKey(
5717
+ FORMDETAIL_PROVIDER_PREFIX,
5718
+ {
5719
+ controlItemModel: model,
5720
+ controlModel: formModel
5721
+ }
5722
+ );
5723
+ provider = getProvider4(registerKey);
5724
+ if (!provider) {
5725
+ ibiz.log.debug("\u627E\u4E0D\u5230\u81EA\u5B9A\u4E49\u6CE8\u518C\u6807\u8BC6\u4E3A[".concat(registerKey, "]\u5BF9\u5E94\u7684\u9002\u914D\u5668"));
5726
+ } else {
5727
+ return provider;
5728
+ }
5627
5729
  if (sysPFPluginId) {
5628
5730
  const pluginKey = await getPluginRegisterKey(sysPFPluginId, appId2);
5629
5731
  if (pluginKey) {
@@ -5653,9 +5755,22 @@ function getProvider5(key) {
5653
5755
  "".concat(GRIDCOLUMN_PROVIDER_PREFIX, "_").concat(key)
5654
5756
  );
5655
5757
  }
5656
- async function getGridColumnProvider(model) {
5758
+ async function getGridColumnProvider(model, gridModel) {
5657
5759
  let provider;
5658
5760
  const { columnType, enableRowEdit, sysPFPluginId, appId: appId2 } = model;
5761
+ const registerKey = CustomRegister.getRegisterKey(
5762
+ GRIDCOLUMN_PROVIDER_PREFIX,
5763
+ {
5764
+ controlItemModel: model,
5765
+ controlModel: gridModel
5766
+ }
5767
+ );
5768
+ provider = getProvider5(registerKey);
5769
+ if (!provider) {
5770
+ ibiz.log.debug("\u627E\u4E0D\u5230\u81EA\u5B9A\u4E49\u6CE8\u518C\u6807\u8BC6\u4E3A[".concat(registerKey, "]\u5BF9\u5E94\u7684\u9002\u914D\u5668"));
5771
+ } else {
5772
+ return provider;
5773
+ }
5659
5774
  if (sysPFPluginId) {
5660
5775
  const pluginKey = await getPluginRegisterKey(sysPFPluginId, appId2);
5661
5776
  if (pluginKey) {
@@ -5689,10 +5804,21 @@ function getProvider6(key) {
5689
5804
  "".concat(PANELITEM_PROVIDER_PREFIX, "_").concat(key.toUpperCase())
5690
5805
  );
5691
5806
  }
5692
- async function getPanelItemProvider(model) {
5807
+ async function getPanelItemProvider(model, panelModel, viewModel) {
5693
5808
  var _a;
5694
5809
  let provider;
5695
5810
  const { itemType, sysPFPluginId, appId: appId2, controlRenders } = model;
5811
+ const registerKey = CustomRegister.getRegisterKey(PANELITEM_PROVIDER_PREFIX, {
5812
+ controlItemModel: model,
5813
+ controlModel: panelModel,
5814
+ viewModel
5815
+ });
5816
+ provider = getProvider6(registerKey);
5817
+ if (!provider) {
5818
+ ibiz.log.debug("\u627E\u4E0D\u5230\u81EA\u5B9A\u4E49\u6CE8\u518C\u6807\u8BC6\u4E3A[".concat(registerKey, "]\u5BF9\u5E94\u7684\u9002\u914D\u5668"));
5819
+ } else {
5820
+ return provider;
5821
+ }
5696
5822
  if (sysPFPluginId) {
5697
5823
  const pluginKey = await getPluginRegisterKey(sysPFPluginId, appId2);
5698
5824
  if (pluginKey) {
@@ -6532,6 +6658,14 @@ var DynamicCodeListCache = class {
6532
6658
  * @protected
6533
6659
  */
6534
6660
  this.evt = new QXEvent3();
6661
+ /**
6662
+ * 常见关键字
6663
+ *
6664
+ * @author zzq
6665
+ * @date 2024-04-15 17:08:06
6666
+ * @type {Promise<void>}
6667
+ */
6668
+ this.commonKeys = ["query", "queryconds"];
6535
6669
  this.codeList = codeList;
6536
6670
  this.codelistChange = this.codelistChange.bind(this);
6537
6671
  const { appDataEntityId, appDEDataSetId } = this.codeList;
@@ -6676,7 +6810,11 @@ var DynamicCodeListCache = class {
6676
6810
  * @returns {*} {Promise<CodeListItem[]>}
6677
6811
  */
6678
6812
  async load(context, params = {}) {
6679
- this.setParams(context, params);
6813
+ const tempParams = { ...params };
6814
+ this.commonKeys.forEach((key) => {
6815
+ delete tempParams[key];
6816
+ });
6817
+ this.setParams(context, tempParams);
6680
6818
  const app = ibiz.hub.getApp(context.srfappid);
6681
6819
  const {
6682
6820
  appDataEntityId,
@@ -6686,7 +6824,6 @@ var DynamicCodeListCache = class {
6686
6824
  pvalueAppDEFieldId,
6687
6825
  customCond
6688
6826
  } = this.codeList;
6689
- const tempParams = { ...params };
6690
6827
  if (minorSortAppDEFieldId && minorSortDir) {
6691
6828
  Object.assign(tempParams, {
6692
6829
  sort: "".concat(minorSortAppDEFieldId.toLowerCase(), ",").concat(minorSortDir.toLowerCase())
@@ -13519,6 +13656,7 @@ var _AppFuncCommand = class _AppFuncCommand {
13519
13656
  const _context = context.clone();
13520
13657
  Object.assign(_context, convertNavData(navigateContexts, params, context));
13521
13658
  const _params = convertNavData(navigateParams, params, context);
13659
+ Object.assign(_params, params);
13522
13660
  switch (appFuncType) {
13523
13661
  case "APPVIEW":
13524
13662
  return this.openAppView(appFunc, _context, _params, opts);
@@ -13884,10 +14022,13 @@ var AppViewConfigService = class {
13884
14022
  */
13885
14023
  getCustomOption(model) {
13886
14024
  var _a;
13887
- const { appViewParams } = model;
13888
- const optionProperty = (_a = appViewParams == null ? void 0 : appViewParams.find(
14025
+ const { appViewParams, userParam } = model;
14026
+ let optionProperty = (_a = appViewParams == null ? void 0 : appViewParams.find(
13889
14027
  (item) => item.id === "modaloption"
13890
14028
  )) == null ? void 0 : _a.value;
14029
+ if (!optionProperty && userParam) {
14030
+ optionProperty = userParam.modalOption;
14031
+ }
13891
14032
  let modalOption = {};
13892
14033
  if (optionProperty) {
13893
14034
  try {
@@ -14647,7 +14788,7 @@ function generateRules(itemVRs, name, valueItemName) {
14647
14788
  const sysRule = item.sysValueRule;
14648
14789
  const deRule = item.defvalueRule;
14649
14790
  if (valueRuleType === "SYSVALUERULE" && sysRule) {
14650
- if (sysRule.ruleType === "REG") {
14791
+ if (sysRule.ruleType === "REG" || sysRule.ruleType === "REGEX") {
14651
14792
  rules.push({
14652
14793
  pattern: new RegExp(sysRule.regExCode),
14653
14794
  message: sysRule.ruleInfo,
@@ -14860,7 +15001,8 @@ function getDefaultValue(opts, origins) {
14860
15001
 
14861
15002
  // src/controller/utils/data-file-util/data-file-util.ts
14862
15003
  import {
14863
- RuntimeError as RuntimeError32
15004
+ RuntimeError as RuntimeError32,
15005
+ selectFile
14864
15006
  } from "@ibiz-template/core";
14865
15007
  var asyncImportUrl = "asyncimportdata2";
14866
15008
  var importUrl = "importdata2";
@@ -14881,6 +15023,9 @@ function listenAsyncAction(id) {
14881
15023
  });
14882
15024
  }
14883
15025
  async function asyncImportData(file, appDataEntity, dataImport, context) {
15026
+ ibiz.notification.info({
15027
+ desc: ibiz.i18n.t("component.dataImport.startImport")
15028
+ });
14884
15029
  const data = new FormData();
14885
15030
  data.append("file", file);
14886
15031
  let url = "/".concat(appDataEntity.deapicodeName2, "/").concat(asyncImportUrl);
@@ -14914,12 +15059,49 @@ async function importData(file, appDataEntity, dataImport, context) {
14914
15059
  const resPath = calcResPath(context, appDataEntity);
14915
15060
  url = resPath + url;
14916
15061
  }
14917
- const res = await ibiz.net.request(url, {
14918
- method: "post",
14919
- data,
14920
- headers: { "Content-Type": "multipart/form-data" }
14921
- });
14922
- return res.data;
15062
+ const result = {
15063
+ isAsync: false
15064
+ };
15065
+ try {
15066
+ const res = await ibiz.net.request(url, {
15067
+ method: "post",
15068
+ data,
15069
+ headers: { "Content-Type": "multipart/form-data" }
15070
+ });
15071
+ ibiz.mc.command.send(
15072
+ { srfdecodename: appDataEntity.codeName },
15073
+ "OBJECTCREATED",
15074
+ "DATAIMPORT"
15075
+ );
15076
+ Object.assign(result, res.data);
15077
+ } catch (error) {
15078
+ if (error instanceof Error) {
15079
+ result.errorMessage = error.message;
15080
+ }
15081
+ }
15082
+ return result;
15083
+ }
15084
+ async function importData2(opts) {
15085
+ const result = {
15086
+ isAsync: ibiz.env.enableMqtt
15087
+ };
15088
+ if (ibiz.env.enableMqtt) {
15089
+ asyncImportData(
15090
+ opts.selectedFile,
15091
+ opts.appDataEntity,
15092
+ opts.dataImport,
15093
+ opts.context
15094
+ );
15095
+ } else {
15096
+ const temp = await importData(
15097
+ opts.selectedFile,
15098
+ opts.appDataEntity,
15099
+ opts.dataImport,
15100
+ opts.context
15101
+ );
15102
+ Object.assign(result, temp);
15103
+ }
15104
+ return result;
14923
15105
  }
14924
15106
  async function exportData(header, data, fileName) {
14925
15107
  if (!ibiz.util.getExcelUtil) {
@@ -14945,6 +15127,110 @@ async function exportData(header, data, fileName) {
14945
15127
  return { ok: false };
14946
15128
  }
14947
15129
  }
15130
+ async function getDataImportModels(opts) {
15131
+ var _a;
15132
+ const appDataEntity = await ibiz.hub.getAppDataEntity(
15133
+ opts.appDataEntityId,
15134
+ opts.appId
15135
+ );
15136
+ const deDataImport = (_a = appDataEntity.appDEDataImports) == null ? void 0 : _a.find(
15137
+ (item) => item.id === opts.deDataImportId
15138
+ );
15139
+ if (!deDataImport) {
15140
+ throw new RuntimeError32("\u6CA1\u6709\u627E\u5230\u5BF9\u5E94\u7684\u5BFC\u5165\u6570\u636E\u6A21\u578B");
15141
+ }
15142
+ return { deDataImport, appDataEntity };
15143
+ }
15144
+ async function openDataImport(opts) {
15145
+ const { deDataImportId, appDataEntityId, context, params } = opts;
15146
+ const viewId = opts.dataImportViewId || "AppDataUploadView";
15147
+ let view = null;
15148
+ try {
15149
+ view = await ibiz.hub.config.view.get(viewId);
15150
+ } catch (error) {
15151
+ if (opts.dataImportViewId) {
15152
+ throw error;
15153
+ }
15154
+ }
15155
+ if (view) {
15156
+ context.srfappdataentityid = appDataEntityId;
15157
+ context.srfdedataimportid = deDataImportId;
15158
+ return ibiz.commands.execute(
15159
+ OpenAppViewCommand.TAG,
15160
+ view.id,
15161
+ context,
15162
+ params,
15163
+ { openMode: "POPUPMODAL" }
15164
+ );
15165
+ }
15166
+ const { deDataImport, appDataEntity } = await getDataImportModels({
15167
+ deDataImportId,
15168
+ appDataEntityId,
15169
+ appId: context.srfappid
15170
+ });
15171
+ const importComponentName = deDataImport.enableCustomized ? "DataImport2" : "DataImport";
15172
+ const modal = ibiz.overlay.createModal(
15173
+ importComponentName,
15174
+ {
15175
+ dismiss: () => modal.dismiss(),
15176
+ dataImport: deDataImport,
15177
+ appDataEntity,
15178
+ context,
15179
+ params
15180
+ },
15181
+ {
15182
+ width: "auto",
15183
+ placement: "center"
15184
+ }
15185
+ );
15186
+ modal.present();
15187
+ await modal.onWillDismiss();
15188
+ }
15189
+ async function downloadImportTemplate(appDataEntity, dataImport) {
15190
+ var _a;
15191
+ let templateUrl = "".concat(appDataEntity.codeName2.toLowerCase(), "/importtemplate");
15192
+ if (dataImport == null ? void 0 : dataImport.codeName) {
15193
+ templateUrl += "?srfimporttag=".concat(dataImport.codeName);
15194
+ }
15195
+ const res = await ibiz.net.request(templateUrl, {
15196
+ responseType: "blob"
15197
+ });
15198
+ if (res.status === 200) {
15199
+ let fileName = ((_a = res.headers["content-disposition"].split(";").find((str) => str.indexOf("filename=") !== -1)) == null ? void 0 : _a.slice(9)) || "";
15200
+ fileName = decodeURIComponent(fileName);
15201
+ const blob = new Blob([res.data], {
15202
+ type: "application/vnd.ms-excel"
15203
+ });
15204
+ const elink = document.createElement("a");
15205
+ elink.download = fileName;
15206
+ elink.style.display = "none";
15207
+ elink.href = URL.createObjectURL(blob);
15208
+ document.body.appendChild(elink);
15209
+ elink.click();
15210
+ URL.revokeObjectURL(elink.href);
15211
+ document.body.removeChild(elink);
15212
+ }
15213
+ }
15214
+ async function selectAndImport(opts) {
15215
+ return new Promise((resolve) => {
15216
+ selectFile({
15217
+ accept: ".xlsx, .xls",
15218
+ multiple: false,
15219
+ onSelected: async (files) => {
15220
+ const result = await importData2({
15221
+ selectedFile: files[0],
15222
+ appDataEntity: opts.appDataEntity,
15223
+ dataImport: opts.dataImport,
15224
+ context: opts.context
15225
+ });
15226
+ resolve(result);
15227
+ },
15228
+ onCancel: () => {
15229
+ resolve({ cancel: true });
15230
+ }
15231
+ });
15232
+ });
15233
+ }
14948
15234
 
14949
15235
  // src/controller/utils/jsonschema/entity.ts
14950
15236
  async function getEntitySchema(entityId, context) {
@@ -14969,7 +15255,6 @@ var BaseController = class {
14969
15255
  */
14970
15256
  constructor(model, context, params, ctx) {
14971
15257
  this.model = model;
14972
- this.context = context;
14973
15258
  this.params = params;
14974
15259
  this.ctx = ctx;
14975
15260
  this.id = createUUID9();
@@ -15005,6 +15290,7 @@ var BaseController = class {
15005
15290
  */
15006
15291
  this.childNames = [];
15007
15292
  this.name = model.name || model.id;
15293
+ this.state.context = context;
15008
15294
  this.preprocessModel(model);
15009
15295
  this.initState();
15010
15296
  this.convertMultipleLanguages();
@@ -15019,6 +15305,17 @@ var BaseController = class {
15019
15305
  get _evt() {
15020
15306
  return this.evt;
15021
15307
  }
15308
+ /**
15309
+ * 上下文对象
15310
+ *
15311
+ * @author tony001
15312
+ * @date 2024-04-16 16:04:30
15313
+ * @readonly
15314
+ * @type {IContext}
15315
+ */
15316
+ get context() {
15317
+ return this.state.context;
15318
+ }
15022
15319
  /**
15023
15320
  * 根据需求对model进行预处理
15024
15321
  *
@@ -15634,6 +15931,9 @@ var ViewController = class extends BaseController {
15634
15931
  context = convertNavData(navContexts, this.params, this.context);
15635
15932
  }
15636
15933
  Object.assign(this.context, context);
15934
+ if (!Object.prototype.hasOwnProperty.call(this.context, "srfreadonly")) {
15935
+ Object.assign(this.context, { srfreadonly: false });
15936
+ }
15637
15937
  const navParams = this.model.appViewNavParams;
15638
15938
  let params = {};
15639
15939
  if (notNilEmpty7(navParams)) {
@@ -15771,6 +16071,50 @@ var ViewController = class extends BaseController {
15771
16071
  }
15772
16072
  };
15773
16073
 
16074
+ // src/controller/common/view/app-data-upload-view.controller.ts
16075
+ var AppDataUploadViewController = class extends ViewController {
16076
+ initState() {
16077
+ super.initState();
16078
+ }
16079
+ async onCreated() {
16080
+ await super.onCreated();
16081
+ const { srfappdataentityid, srfdedataimportid, srfappid } = this.context;
16082
+ const { appDataEntity, deDataImport } = await getDataImportModels({
16083
+ appDataEntityId: srfappdataentityid,
16084
+ deDataImportId: srfdedataimportid,
16085
+ appId: srfappid
16086
+ });
16087
+ this.state.appDataEntity = appDataEntity;
16088
+ this.state.deDataImport = deDataImport;
16089
+ }
16090
+ /**
16091
+ * 下载模版文件
16092
+ * @author lxm
16093
+ * @date 2024-04-16 02:15:29
16094
+ */
16095
+ downloadTemplate() {
16096
+ const { appDataEntity, deDataImport } = this.state;
16097
+ downloadImportTemplate(appDataEntity, deDataImport);
16098
+ }
16099
+ /**
16100
+ * 选中导入文件并导入
16101
+ * @author lxm
16102
+ * @date 2024-04-16 03:54:19
16103
+ * @return {*}
16104
+ */
16105
+ async selectAndImport() {
16106
+ const result = await selectAndImport({
16107
+ appDataEntity: this.state.appDataEntity,
16108
+ dataImport: this.state.deDataImport,
16109
+ context: this.context
16110
+ });
16111
+ if (result.isAsync === true) {
16112
+ this.closeView();
16113
+ }
16114
+ return result;
16115
+ }
16116
+ };
16117
+
15774
16118
  // src/controller/common/view/mob-view.controller.ts
15775
16119
  var MobViewController = class extends ViewController {
15776
16120
  };
@@ -16473,7 +16817,8 @@ var ControlController = class extends BaseController {
16473
16817
  // src/controller/common/control/md-control.controller.ts
16474
16818
  import {
16475
16819
  isElementSame,
16476
- RuntimeError as RuntimeError36
16820
+ RuntimeError as RuntimeError36,
16821
+ RuntimeModelError as RuntimeModelError26
16477
16822
  } from "@ibiz-template/core";
16478
16823
  import { isNil as isNil24 } from "ramda";
16479
16824
  var MDControlController = class extends ControlController {
@@ -16885,38 +17230,16 @@ var MDControlController = class extends ControlController {
16885
17230
  * @returns {*} {Promise<void>}
16886
17231
  */
16887
17232
  async importData() {
16888
- var _a;
16889
17233
  const { appDataEntityId, dedataImportId } = this.model;
16890
- const appDataEntity = await ibiz.hub.getAppDataEntity(
16891
- appDataEntityId,
16892
- this.model.appId
16893
- );
16894
- const dataImport = (_a = appDataEntity.appDEDataImports) == null ? void 0 : _a.find(
16895
- (importItem) => importItem.id === dedataImportId
16896
- );
16897
- if (!dataImport) {
16898
- throw new RuntimeError36("\u65E0\u5BFC\u5165\u6A21\u578B\uFF01");
16899
- }
16900
- let importName = "DataImport";
16901
- if (dataImport.enableCustomized) {
16902
- importName = "DataImport2";
17234
+ if (!appDataEntityId || !dedataImportId) {
17235
+ throw new RuntimeModelError26(this.model, "\u6CA1\u6709\u914D\u7F6E\u5BFC\u5165\u6A21\u578B\uFF01");
16903
17236
  }
16904
- const modal = ibiz.overlay.createModal(
16905
- importName,
16906
- {
16907
- dismiss: () => modal.dismiss(),
16908
- dataImport,
16909
- appDataEntity,
16910
- context: this.context,
16911
- params: this.params
16912
- },
16913
- {
16914
- width: "auto",
16915
- placement: "center"
16916
- }
16917
- );
16918
- modal.present();
16919
- await modal.onWillDismiss();
17237
+ await openDataImport({
17238
+ appDataEntityId,
17239
+ deDataImportId: dedataImportId,
17240
+ context: this.context,
17241
+ params: this.params
17242
+ });
16920
17243
  }
16921
17244
  /**
16922
17245
  * 数据导出
@@ -16974,7 +17297,7 @@ var MDControlController = class extends ControlController {
16974
17297
  import {
16975
17298
  findRecursiveChild,
16976
17299
  RuntimeError as RuntimeError37,
16977
- RuntimeModelError as RuntimeModelError26
17300
+ RuntimeModelError as RuntimeModelError27
16978
17301
  } from "@ibiz-template/core";
16979
17302
  var AppMenuController = class extends ControlController {
16980
17303
  constructor(model, context, params, ctx) {
@@ -17053,7 +17376,7 @@ var AppMenuController = class extends ControlController {
17053
17376
  return provider.onClick(menuItem, event, this);
17054
17377
  }
17055
17378
  if (!menuItem.appFuncId) {
17056
- throw new RuntimeModelError26(menuItem, "\u6CA1\u6709\u914D\u7F6E\u5E94\u7528\u529F\u80FD");
17379
+ throw new RuntimeModelError27(menuItem, "\u6CA1\u6709\u914D\u7F6E\u5E94\u7528\u529F\u80FD");
17057
17380
  }
17058
17381
  const tempContext = this.context.clone();
17059
17382
  tempContext.srfappid = menuItem.appId || ibiz.env.appId;
@@ -17173,7 +17496,7 @@ var AppMenuController = class extends ControlController {
17173
17496
  import {
17174
17497
  findRecursiveChild as findRecursiveChild2,
17175
17498
  RuntimeError as RuntimeError38,
17176
- RuntimeModelError as RuntimeModelError27
17499
+ RuntimeModelError as RuntimeModelError28
17177
17500
  } from "@ibiz-template/core";
17178
17501
  var AppMenuIconViewController = class extends AppMenuController {
17179
17502
  async onClickMenuItem(id, event) {
@@ -17189,7 +17512,7 @@ var AppMenuIconViewController = class extends AppMenuController {
17189
17512
  event
17190
17513
  });
17191
17514
  if (!menuItem.appFuncId) {
17192
- throw new RuntimeModelError27(menuItem, "\u6CA1\u6709\u914D\u7F6E\u5E94\u7528\u529F\u80FD");
17515
+ throw new RuntimeModelError28(menuItem, "\u6CA1\u6709\u914D\u7F6E\u5E94\u7528\u529F\u80FD");
17193
17516
  }
17194
17517
  const tempContext = this.context.clone();
17195
17518
  if (this.routeDepth === 1) {
@@ -17208,7 +17531,7 @@ var AppMenuIconViewController = class extends AppMenuController {
17208
17531
 
17209
17532
  // src/controller/control/calendar/calendar.controller.ts
17210
17533
  import dayjs3 from "dayjs";
17211
- import { RuntimeModelError as RuntimeModelError28 } from "@ibiz-template/core";
17534
+ import { RuntimeModelError as RuntimeModelError29 } from "@ibiz-template/core";
17212
17535
 
17213
17536
  // src/controller/control/calendar/calendar.service.ts
17214
17537
  import { RuntimeError as RuntimeError39 } from "@ibiz-template/core";
@@ -17388,7 +17711,7 @@ var CalendarController = class extends MDControlController {
17388
17711
  }
17389
17712
  ));
17390
17713
  if (result === -1) {
17391
- throw new RuntimeModelError28(
17714
+ throw new RuntimeModelError29(
17392
17715
  this.model,
17393
17716
  "\u7F3A\u5C11".concat(item.itemType.toLowerCase(), "_opendata\u7684\u89C6\u56FE\u903B\u8F91")
17394
17717
  );
@@ -17559,10 +17882,10 @@ import { mergeDeepRight as mergeDeepRight3 } from "ramda";
17559
17882
  import { RuntimeError as RuntimeError40 } from "@ibiz-template/core";
17560
17883
 
17561
17884
  // src/controller/control/chart/generator/line-series-generator.ts
17562
- import { RuntimeModelError as RuntimeModelError30 } from "@ibiz-template/core";
17885
+ import { RuntimeModelError as RuntimeModelError31 } from "@ibiz-template/core";
17563
17886
 
17564
17887
  // src/controller/control/chart/generator/base-series-generator.ts
17565
- import { plus, RuntimeModelError as RuntimeModelError29, toNumberOrNil } from "@ibiz-template/core";
17888
+ import { plus, RuntimeModelError as RuntimeModelError30, toNumberOrNil } from "@ibiz-template/core";
17566
17889
  import dayjs4 from "dayjs";
17567
17890
  import minMax2 from "dayjs/plugin/minMax";
17568
17891
  import isSameOrBefore from "dayjs/plugin/isSameOrBefore";
@@ -17612,10 +17935,10 @@ var BaseSeriesGenerator = class {
17612
17935
  this.chartGenerator = chartGenerator;
17613
17936
  const { chartSeriesEncode, caption, id, userParam } = model;
17614
17937
  if (!model.catalogField) {
17615
- throw new RuntimeModelError29(model, "\u7F3A\u5C11\u5206\u7C7B\u5C5E\u6027\u914D\u7F6E");
17938
+ throw new RuntimeModelError30(model, "\u7F3A\u5C11\u5206\u7C7B\u5C5E\u6027\u914D\u7F6E");
17616
17939
  }
17617
17940
  if (!model.valueField) {
17618
- throw new RuntimeModelError29(model, "\u7F3A\u5C11\u503C\u5C5E\u6027\u914D\u7F6E");
17941
+ throw new RuntimeModelError30(model, "\u7F3A\u5C11\u503C\u5C5E\u6027\u914D\u7F6E");
17619
17942
  }
17620
17943
  this.catalogField = chartGenerator.getFieldKey(model.catalogField);
17621
17944
  this.valueField = chartGenerator.getFieldKey(model.valueField);
@@ -18039,10 +18362,10 @@ var BaseSeriesGenerator = class {
18039
18362
  var LineSeriesGenerator = class extends BaseSeriesGenerator {
18040
18363
  calcStaticOptions() {
18041
18364
  if (this.xAxisIndex === void 0) {
18042
- throw new RuntimeModelError30(this.model, "\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EX\u5750\u6807\u8F74");
18365
+ throw new RuntimeModelError31(this.model, "\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EX\u5750\u6807\u8F74");
18043
18366
  }
18044
18367
  if (this.yAxisIndex === void 0) {
18045
- throw new RuntimeModelError30(this.model, "\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EY\u5750\u6807\u8F74");
18368
+ throw new RuntimeModelError31(this.model, "\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EY\u5750\u6807\u8F74");
18046
18369
  }
18047
18370
  const options = super.calcStaticOptions();
18048
18371
  options.xAxisIndex = this.xAxisIndex;
@@ -18058,14 +18381,14 @@ var LineSeriesGenerator = class extends BaseSeriesGenerator {
18058
18381
  };
18059
18382
 
18060
18383
  // src/controller/control/chart/generator/bar-series-generator.ts
18061
- import { RuntimeModelError as RuntimeModelError31 } from "@ibiz-template/core";
18384
+ import { RuntimeModelError as RuntimeModelError32 } from "@ibiz-template/core";
18062
18385
  var BarSeriesGenerator = class extends BaseSeriesGenerator {
18063
18386
  calcStaticOptions() {
18064
18387
  if (this.xAxisIndex === void 0) {
18065
- throw new RuntimeModelError31(this.model, "\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EX\u5750\u6807\u8F74");
18388
+ throw new RuntimeModelError32(this.model, "\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EX\u5750\u6807\u8F74");
18066
18389
  }
18067
18390
  if (this.yAxisIndex === void 0) {
18068
- throw new RuntimeModelError31(this.model, "\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EY\u5750\u6807\u8F74");
18391
+ throw new RuntimeModelError32(this.model, "\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EY\u5750\u6807\u8F74");
18069
18392
  }
18070
18393
  const options = super.calcStaticOptions();
18071
18394
  options.xAxisIndex = this.xAxisIndex;
@@ -18118,14 +18441,14 @@ var PieSeriesGenerator = class extends BaseSeriesGenerator {
18118
18441
  };
18119
18442
 
18120
18443
  // src/controller/control/chart/generator/scatter-series-generator.ts
18121
- import { RuntimeModelError as RuntimeModelError32 } from "@ibiz-template/core";
18444
+ import { RuntimeModelError as RuntimeModelError33 } from "@ibiz-template/core";
18122
18445
  var ScatterSeriesGenerator = class extends BaseSeriesGenerator {
18123
18446
  calcStaticOptions() {
18124
18447
  if (this.xAxisIndex === void 0) {
18125
- throw new RuntimeModelError32(this.model, "\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EX\u5750\u6807\u8F74");
18448
+ throw new RuntimeModelError33(this.model, "\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EX\u5750\u6807\u8F74");
18126
18449
  }
18127
18450
  if (this.yAxisIndex === void 0) {
18128
- throw new RuntimeModelError32(this.model, "\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EY\u5750\u6807\u8F74");
18451
+ throw new RuntimeModelError33(this.model, "\u5E8F\u5217\u6CA1\u6709\u914D\u7F6EY\u5750\u6807\u8F74");
18129
18452
  }
18130
18453
  const options = super.calcStaticOptions();
18131
18454
  options.xAxisIndex = this.xAxisIndex;
@@ -18902,17 +19225,17 @@ var CaptionBarController = class extends ControlController {
18902
19225
  import { recursiveIterate as recursiveIterate2, RuntimeError as RuntimeError50 } from "@ibiz-template/core";
18903
19226
 
18904
19227
  // src/ui-action/provider/backend-ui-action-provider.ts
18905
- import { RuntimeModelError as RuntimeModelError51 } from "@ibiz-template/core";
19228
+ import { RuntimeModelError as RuntimeModelError52 } from "@ibiz-template/core";
18906
19229
  import { isArray as isArray8 } from "qx-util";
18907
19230
 
18908
19231
  // src/ui-action/provider/ui-action-provider-base.ts
18909
- import { RuntimeModelError as RuntimeModelError50 } from "@ibiz-template/core";
19232
+ import { RuntimeModelError as RuntimeModelError51 } from "@ibiz-template/core";
18910
19233
 
18911
19234
  // src/ui-logic/index.ts
18912
19235
  import { RuntimeError as RuntimeError47 } from "@ibiz-template/core";
18913
19236
 
18914
19237
  // src/ui-logic/ui-logic.ts
18915
- import { ModelError as ModelError25, RuntimeModelError as RuntimeModelError49 } from "@ibiz-template/core";
19238
+ import { ModelError as ModelError25, RuntimeModelError as RuntimeModelError50 } from "@ibiz-template/core";
18916
19239
 
18917
19240
  // src/ui-logic/ui-logic-context.ts
18918
19241
  var UILogicContext = class {
@@ -19065,20 +19388,20 @@ var UILogicContext = class {
19065
19388
  };
19066
19389
 
19067
19390
  // src/ui-logic/ui-logic-node/de-action-node/de-action-node.ts
19068
- import { RuntimeModelError as RuntimeModelError35 } from "@ibiz-template/core";
19391
+ import { RuntimeModelError as RuntimeModelError36 } from "@ibiz-template/core";
19069
19392
 
19070
19393
  // src/ui-logic/ui-logic-link/ui-logic-link.ts
19071
19394
  import { ModelError as ModelError20 } from "@ibiz-template/core";
19072
19395
 
19073
19396
  // src/ui-logic/ui-logic-link/ui-logic-link-group-cond/ui-logic-link-group-cond.ts
19074
- import { RuntimeModelError as RuntimeModelError34 } from "@ibiz-template/core";
19397
+ import { RuntimeModelError as RuntimeModelError35 } from "@ibiz-template/core";
19075
19398
 
19076
19399
  // src/ui-logic/ui-logic-link/ui-logic-link-cond/ui-logic-link-cond.ts
19077
19400
  var UILogicLinkCond = class {
19078
19401
  };
19079
19402
 
19080
19403
  // src/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.ts
19081
- import { ModelError as ModelError19, RuntimeModelError as RuntimeModelError33 } from "@ibiz-template/core";
19404
+ import { ModelError as ModelError19, RuntimeModelError as RuntimeModelError34 } from "@ibiz-template/core";
19082
19405
 
19083
19406
  // src/ui-logic/utils/handle-src-val.ts
19084
19407
  import { ModelError as ModelError18 } from "@ibiz-template/core";
@@ -19176,7 +19499,7 @@ var UILogicLinkSingleCond = class extends UILogicLinkCond {
19176
19499
  switch (this.type) {
19177
19500
  case "ENTITYFIELD": {
19178
19501
  if (!this.value) {
19179
- throw new RuntimeModelError33(
19502
+ throw new RuntimeModelError34(
19180
19503
  this.model,
19181
19504
  "\u5F53\u524D\u6761\u4EF6\u503C\u7C7B\u578B\u4E3A[\u6570\u636E\u5BF9\u8C61\u5C5E\u6027],\u7F3A\u5C11\u914D\u7F6E\u6761\u4EF6\u503C"
19182
19505
  );
@@ -19188,7 +19511,7 @@ var UILogicLinkSingleCond = class extends UILogicLinkCond {
19188
19511
  }
19189
19512
  case "SRCENTITYFIELD": {
19190
19513
  if (!this.value) {
19191
- throw new RuntimeModelError33(
19514
+ throw new RuntimeModelError34(
19192
19515
  this.model,
19193
19516
  "\u5F53\u524D\u6761\u4EF6\u503C\u7C7B\u578B\u4E3A[\u6E90\u6570\u636E\u5BF9\u8C61\u5C5E\u6027],\u7F3A\u5C11\u914D\u7F6E\u6761\u4EF6\u503C"
19194
19517
  );
@@ -19267,7 +19590,7 @@ var UILogicLinkGroupCond = class _UILogicLinkGroupCond extends UILogicLinkCond {
19267
19590
  test(ctx, context, data) {
19268
19591
  let bol = true;
19269
19592
  if (this.conds.length === 0) {
19270
- throw new RuntimeModelError34(this.model, "\u754C\u9762\u8FDE\u63A5\u6761\u4EF6\u903B\u8F91\u7EC4\u672A\u914D\u7F6E\u903B\u8F91\u9879");
19593
+ throw new RuntimeModelError35(this.model, "\u754C\u9762\u8FDE\u63A5\u6761\u4EF6\u903B\u8F91\u7EC4\u672A\u914D\u7F6E\u903B\u8F91\u9879");
19271
19594
  }
19272
19595
  for (let i = 0; i < this.conds.length; i++) {
19273
19596
  const cond = this.conds[i];
@@ -19398,10 +19721,10 @@ var DEActionNode2 = class extends UILogicNode {
19398
19721
  retDEUILogicParamId
19399
19722
  } = this.model;
19400
19723
  if (!dstAppDataEntityId) {
19401
- throw new RuntimeModelError35(this.model, "\u672A\u6307\u5B9A\u5E94\u7528\u5B9E\u4F53");
19724
+ throw new RuntimeModelError36(this.model, "\u672A\u6307\u5B9A\u5E94\u7528\u5B9E\u4F53");
19402
19725
  }
19403
19726
  if (!dstAppDEActionId) {
19404
- throw new RuntimeModelError35(this.model, "\u672A\u6307\u5B9A\u5B9E\u4F53\u884C\u4E3A");
19727
+ throw new RuntimeModelError36(this.model, "\u672A\u6307\u5B9A\u5B9E\u4F53\u884C\u4E3A");
19405
19728
  }
19406
19729
  const requestData = ctx.params[dstDEUILogicParamId];
19407
19730
  const app = ibiz.hub.getApp(ctx.context.srfappid);
@@ -19424,13 +19747,13 @@ var DEActionNode2 = class extends UILogicNode {
19424
19747
  };
19425
19748
 
19426
19749
  // src/ui-logic/ui-logic-node/de-ui-action-node/de-ui-action-node.ts
19427
- import { RuntimeModelError as RuntimeModelError36 } from "@ibiz-template/core";
19750
+ import { RuntimeModelError as RuntimeModelError37 } from "@ibiz-template/core";
19428
19751
  var DEUIActionNode = class extends UILogicNode {
19429
19752
  async exec(ctx) {
19430
19753
  const { dstAppDEUIActionId, dstDEUILogicParamId, dstAppDataEntityId } = this.model;
19431
19754
  const { data, parameters } = ctx;
19432
19755
  if (!dstAppDEUIActionId) {
19433
- throw new RuntimeModelError36(this.model, "\u672A\u914D\u7F6E\u754C\u9762\u884C\u4E3A");
19756
+ throw new RuntimeModelError37(this.model, "\u672A\u914D\u7F6E\u754C\u9762\u884C\u4E3A");
19434
19757
  }
19435
19758
  let actionData = [data];
19436
19759
  if (dstDEUILogicParamId) {
@@ -19679,20 +20002,20 @@ var PrepareJSParamNode = class extends UILogicNode {
19679
20002
  };
19680
20003
 
19681
20004
  // src/ui-logic/ui-logic-node/view-ctrl-invoke-node/view-ctrl-invoke-node.ts
19682
- import { RuntimeError as RuntimeError43, RuntimeModelError as RuntimeModelError37 } from "@ibiz-template/core";
20005
+ import { RuntimeError as RuntimeError43, RuntimeModelError as RuntimeModelError38 } from "@ibiz-template/core";
19683
20006
  import { isFunction } from "lodash-es";
19684
20007
  var ViewCtrlInvokeNode = class extends UILogicNode {
19685
20008
  async exec(ctx) {
19686
20009
  ctx.isEndNode = true;
19687
20010
  const { invokeMethod, invokeCtrlId, invokeParamId } = this.model;
19688
20011
  if (!invokeCtrlId) {
19689
- throw new RuntimeModelError37(this.model, "\u6CA1\u6709\u914D\u7F6E\u754C\u9762\u5BF9\u8C61");
20012
+ throw new RuntimeModelError38(this.model, "\u6CA1\u6709\u914D\u7F6E\u754C\u9762\u5BF9\u8C61");
19690
20013
  }
19691
20014
  if (!invokeParamId) {
19692
- throw new RuntimeModelError37(this.model, "\u6CA1\u6709\u914D\u7F6E\u64CD\u4F5C\u53C2\u6570");
20015
+ throw new RuntimeModelError38(this.model, "\u6CA1\u6709\u914D\u7F6E\u64CD\u4F5C\u53C2\u6570");
19693
20016
  }
19694
20017
  if (!invokeMethod) {
19695
- throw new RuntimeModelError37(this.model, "\u6CA1\u6709\u914D\u7F6E\u8C03\u7528\u65B9\u6CD5");
20018
+ throw new RuntimeModelError38(this.model, "\u6CA1\u6709\u914D\u7F6E\u8C03\u7528\u65B9\u6CD5");
19696
20019
  }
19697
20020
  const invokeParam = ctx.params[invokeParamId];
19698
20021
  if (!invokeParam) {
@@ -19714,12 +20037,12 @@ var ViewCtrlInvokeNode = class extends UILogicNode {
19714
20037
  };
19715
20038
 
19716
20039
  // src/ui-logic/ui-logic-node/bind-param-node/bind-param-node.ts
19717
- import { RuntimeModelError as RuntimeModelError38 } from "@ibiz-template/core";
20040
+ import { RuntimeModelError as RuntimeModelError39 } from "@ibiz-template/core";
19718
20041
  var BindParamNode2 = class extends UILogicNode {
19719
20042
  async exec(ctx) {
19720
20043
  const { dstDEUILogicParamId, srcDEUILogicParamId } = this.model;
19721
20044
  if (!dstDEUILogicParamId || !srcDEUILogicParamId) {
19722
- throw new RuntimeModelError38(
20045
+ throw new RuntimeModelError39(
19723
20046
  this.model,
19724
20047
  "\u7F3A\u5C11\u76EE\u6807\u53C2\u6570\u5BF9\u8C61\u6216\u8005\u6E90\u53C2\u6570\u5BF9\u8C61\u914D\u7F6E"
19725
20048
  );
@@ -19735,7 +20058,7 @@ var BindParamNode2 = class extends UILogicNode {
19735
20058
  };
19736
20059
 
19737
20060
  // src/ui-logic/ui-logic-node/msg-box-node/msg-box-node.ts
19738
- import { ModelError as ModelError23, RuntimeModelError as RuntimeModelError39 } from "@ibiz-template/core";
20061
+ import { ModelError as ModelError23, RuntimeModelError as RuntimeModelError40 } from "@ibiz-template/core";
19739
20062
  var MsgBoxNode = class extends UILogicNode {
19740
20063
  constructor() {
19741
20064
  super(...arguments);
@@ -19749,10 +20072,10 @@ var MsgBoxNode = class extends UILogicNode {
19749
20072
  async exec(ctx) {
19750
20073
  const { msgBoxType, buttonsType, msgBoxParamId } = this.model;
19751
20074
  if (!msgBoxType) {
19752
- throw new RuntimeModelError39(this.model, "\u7F3A\u5C11\u6D88\u606F\u7C7B\u578B\u7684\u914D\u7F6E");
20075
+ throw new RuntimeModelError40(this.model, "\u7F3A\u5C11\u6D88\u606F\u7C7B\u578B\u7684\u914D\u7F6E");
19753
20076
  }
19754
20077
  if (!buttonsType) {
19755
- throw new RuntimeModelError39(this.model, "\u7F3A\u5C11\u6309\u94AE\u7C7B\u578B\u7684\u914D\u7F6E");
20078
+ throw new RuntimeModelError40(this.model, "\u7F3A\u5C11\u6309\u94AE\u7C7B\u578B\u7684\u914D\u7F6E");
19756
20079
  }
19757
20080
  let { title, message } = this.model;
19758
20081
  if (msgBoxParamId) {
@@ -19817,12 +20140,12 @@ var PFPluginNode = class extends UILogicNode {
19817
20140
  };
19818
20141
 
19819
20142
  // src/ui-logic/ui-logic-node/debug-param-node/debug-param-node.ts
19820
- import { RuntimeModelError as RuntimeModelError40 } from "@ibiz-template/core";
20143
+ import { RuntimeModelError as RuntimeModelError41 } from "@ibiz-template/core";
19821
20144
  var DebugParamNode = class extends UILogicNode {
19822
20145
  async exec(ctx) {
19823
20146
  const { dstDEUILogicParamId, name } = this.model;
19824
20147
  if (!dstDEUILogicParamId) {
19825
- throw new RuntimeModelError40(this.model, "\u7F3A\u5C11\u76EE\u6807\u53C2\u6570\u5BF9\u8C61\u914D\u7F6E");
20148
+ throw new RuntimeModelError41(this.model, "\u7F3A\u5C11\u76EE\u6807\u53C2\u6570\u5BF9\u8C61\u914D\u7F6E");
19826
20149
  }
19827
20150
  const param = ctx.params[dstDEUILogicParamId];
19828
20151
  ibiz.log.info("\u903B\u8F91\u8282\u70B9".concat(name, "\u64CD\u4F5C\u53C2\u6570\u503C:"), param);
@@ -19830,12 +20153,12 @@ var DebugParamNode = class extends UILogicNode {
19830
20153
  };
19831
20154
 
19832
20155
  // src/ui-logic/ui-logic-node/reset-param-node/reset-param-node.ts
19833
- import { RuntimeModelError as RuntimeModelError41 } from "@ibiz-template/core";
20156
+ import { RuntimeModelError as RuntimeModelError42 } from "@ibiz-template/core";
19834
20157
  var ResetParamNode2 = class extends UILogicNode {
19835
20158
  async exec(ctx) {
19836
20159
  const { dstDEUILogicParamId } = this.model;
19837
20160
  if (!dstDEUILogicParamId) {
19838
- throw new RuntimeModelError41(this.model, "\u7F3A\u5C11\u76EE\u6807\u53C2\u6570\u5BF9\u8C61\u914D\u7F6E");
20161
+ throw new RuntimeModelError42(this.model, "\u7F3A\u5C11\u76EE\u6807\u53C2\u6570\u5BF9\u8C61\u914D\u7F6E");
19839
20162
  }
19840
20163
  ctx.resetParam(dstDEUILogicParamId);
19841
20164
  ctx.setLastReturn(ctx.params[dstDEUILogicParamId]);
@@ -19846,13 +20169,13 @@ var ResetParamNode2 = class extends UILogicNode {
19846
20169
  };
19847
20170
 
19848
20171
  // src/ui-logic/ui-logic-node/copy-param-node/copy-param-node.ts
19849
- import { RuntimeModelError as RuntimeModelError42 } from "@ibiz-template/core";
20172
+ import { RuntimeModelError as RuntimeModelError43 } from "@ibiz-template/core";
19850
20173
  import { clone as clone24 } from "ramda";
19851
20174
  var CopyParamNode2 = class extends UILogicNode {
19852
20175
  async exec(ctx) {
19853
20176
  const { dstDEUILogicParamId, srcDEUILogicParamId } = this.model;
19854
20177
  if (!dstDEUILogicParamId || !srcDEUILogicParamId) {
19855
- throw new RuntimeModelError42(
20178
+ throw new RuntimeModelError43(
19856
20179
  this.model,
19857
20180
  "\u7F3A\u5C11\u76EE\u6807\u53C2\u6570\u5BF9\u8C61\u6216\u8005\u6E90\u53C2\u6570\u5BF9\u8C61\u914D\u7F6E"
19858
20181
  );
@@ -19868,7 +20191,7 @@ var CopyParamNode2 = class extends UILogicNode {
19868
20191
  };
19869
20192
 
19870
20193
  // src/ui-logic/ui-logic-node/append-param-node/append-param-node.ts
19871
- import { RuntimeModelError as RuntimeModelError43 } from "@ibiz-template/core";
20194
+ import { RuntimeModelError as RuntimeModelError44 } from "@ibiz-template/core";
19872
20195
  var AppendParamNode2 = class extends UILogicNode {
19873
20196
  async exec(ctx) {
19874
20197
  const {
@@ -19879,7 +20202,7 @@ var AppendParamNode2 = class extends UILogicNode {
19879
20202
  srcSize
19880
20203
  } = this.model;
19881
20204
  if (!dstDEUILogicParamId || !srcDEUILogicParamId) {
19882
- throw new RuntimeModelError43(
20205
+ throw new RuntimeModelError44(
19883
20206
  this.model,
19884
20207
  "\u7F3A\u5C11\u76EE\u6807\u53C2\u6570\u5BF9\u8C61\u6216\u8005\u6E90\u53C2\u6570\u5BF9\u8C61\u914D\u7F6E"
19885
20208
  );
@@ -19904,12 +20227,12 @@ var AppendParamNode2 = class extends UILogicNode {
19904
20227
  };
19905
20228
 
19906
20229
  // src/ui-logic/ui-logic-node/sort-param-node/sort-param-node.ts
19907
- import { RuntimeModelError as RuntimeModelError44 } from "@ibiz-template/core";
20230
+ import { RuntimeModelError as RuntimeModelError45 } from "@ibiz-template/core";
19908
20231
  var SortParamNode2 = class extends UILogicNode {
19909
20232
  async exec(ctx) {
19910
20233
  const { dstDEUILogicParamId, dstSortDir, dstFieldName } = this.model;
19911
20234
  if (!dstDEUILogicParamId || !dstFieldName) {
19912
- throw new RuntimeModelError44(this.model, "\u7F3A\u5C11\u76EE\u6807\u53C2\u6570\u5BF9\u8C61\u6216\u76EE\u6807\u5C5E\u6027\u914D\u7F6E");
20235
+ throw new RuntimeModelError45(this.model, "\u7F3A\u5C11\u76EE\u6807\u53C2\u6570\u5BF9\u8C61\u6216\u76EE\u6807\u5C5E\u6027\u914D\u7F6E");
19913
20236
  }
19914
20237
  const key = dstFieldName;
19915
20238
  const arr = ctx.params[dstDEUILogicParamId];
@@ -19925,12 +20248,12 @@ var SortParamNode2 = class extends UILogicNode {
19925
20248
  };
19926
20249
 
19927
20250
  // src/ui-logic/ui-logic-node/renew-param-node/renew-param-node.ts
19928
- import { RuntimeModelError as RuntimeModelError45 } from "@ibiz-template/core";
20251
+ import { RuntimeModelError as RuntimeModelError46 } from "@ibiz-template/core";
19929
20252
  var RenewParamNode2 = class extends UILogicNode {
19930
20253
  async exec(ctx) {
19931
20254
  const { dstDEUILogicParamId } = this.model;
19932
20255
  if (!dstDEUILogicParamId) {
19933
- throw new RuntimeModelError45(this.model, "\u7F3A\u5C11\u76EE\u6807\u53C2\u6570\u5BF9\u8C61\u914D\u7F6E");
20256
+ throw new RuntimeModelError46(this.model, "\u7F3A\u5C11\u76EE\u6807\u53C2\u6570\u5BF9\u8C61\u914D\u7F6E");
19934
20257
  }
19935
20258
  ctx.renewParam(dstDEUILogicParamId);
19936
20259
  ctx.setLastReturn(ctx.params[dstDEUILogicParamId]);
@@ -19941,7 +20264,7 @@ var RenewParamNode2 = class extends UILogicNode {
19941
20264
  };
19942
20265
 
19943
20266
  // src/ui-logic/ui-logic-node/data-set-node/data-set-node.ts
19944
- import { RuntimeModelError as RuntimeModelError46 } from "@ibiz-template/core";
20267
+ import { RuntimeModelError as RuntimeModelError47 } from "@ibiz-template/core";
19945
20268
  var DataSetNode2 = class extends UILogicNode {
19946
20269
  async exec(ctx) {
19947
20270
  const {
@@ -19951,7 +20274,7 @@ var DataSetNode2 = class extends UILogicNode {
19951
20274
  retDEUILogicParamId
19952
20275
  } = this.model;
19953
20276
  if (!dstDEUILogicParamId) {
19954
- throw new RuntimeModelError46(this.model, "\u7F3A\u5C11\u914D\u7F6E\u8FC7\u6EE4\u53C2\u6570");
20277
+ throw new RuntimeModelError47(this.model, "\u7F3A\u5C11\u914D\u7F6E\u8FC7\u6EE4\u53C2\u6570");
19955
20278
  }
19956
20279
  const queryParams = ctx.params[dstDEUILogicParamId];
19957
20280
  const app = ibiz.hub.getApp(ctx.context.srfappid);
@@ -19985,19 +20308,19 @@ var ThrowExceptionNode2 = class extends UILogicNode {
19985
20308
  };
19986
20309
 
19987
20310
  // src/ui-logic/ui-logic-node/view-ctrl-fire-event-node/view-ctrl-fire-event-node.ts
19988
- import { RuntimeError as RuntimeError45, RuntimeModelError as RuntimeModelError47 } from "@ibiz-template/core";
20311
+ import { RuntimeError as RuntimeError45, RuntimeModelError as RuntimeModelError48 } from "@ibiz-template/core";
19989
20312
  var ViewCtrlFireEventNode = class extends UILogicNode {
19990
20313
  async exec(ctx) {
19991
20314
  ctx.isEndNode = true;
19992
20315
  const { eventName, eventParamId, fireCtrlId } = this.model;
19993
20316
  if (!fireCtrlId) {
19994
- throw new RuntimeModelError47(this.model, "\u6CA1\u6709\u914D\u7F6E\u89E6\u53D1\u5BF9\u8C61");
20317
+ throw new RuntimeModelError48(this.model, "\u6CA1\u6709\u914D\u7F6E\u89E6\u53D1\u5BF9\u8C61");
19995
20318
  }
19996
20319
  if (!eventName) {
19997
- throw new RuntimeModelError47(this.model, "\u6CA1\u6709\u914D\u7F6E\u4E8B\u4EF6\u540D\u79F0\u53C2\u6570");
20320
+ throw new RuntimeModelError48(this.model, "\u6CA1\u6709\u914D\u7F6E\u4E8B\u4EF6\u540D\u79F0\u53C2\u6570");
19998
20321
  }
19999
20322
  if (!eventParamId) {
20000
- throw new RuntimeModelError47(this.model, "\u6CA1\u6709\u914D\u7F6E\u4E8B\u4EF6\u53C2\u6570");
20323
+ throw new RuntimeModelError48(this.model, "\u6CA1\u6709\u914D\u7F6E\u4E8B\u4EF6\u53C2\u6570");
20001
20324
  }
20002
20325
  const invokeCtrl = ctx.params[fireCtrlId];
20003
20326
  if (!invokeCtrl) {
@@ -20016,7 +20339,7 @@ var ViewCtrlFireEventNode = class extends UILogicNode {
20016
20339
  };
20017
20340
 
20018
20341
  // src/ui-logic/ui-logic-node/execute-de-logic-node/execute-de-logic-node.ts
20019
- import { RuntimeError as RuntimeError46, RuntimeModelError as RuntimeModelError48 } from "@ibiz-template/core";
20342
+ import { RuntimeError as RuntimeError46, RuntimeModelError as RuntimeModelError49 } from "@ibiz-template/core";
20020
20343
  var ExecuteDELogicNode = class extends UILogicNode {
20021
20344
  async exec(ctx) {
20022
20345
  const {
@@ -20026,13 +20349,13 @@ var ExecuteDELogicNode = class extends UILogicNode {
20026
20349
  retDEUILogicParamId
20027
20350
  } = this.model;
20028
20351
  if (!dstAppDataEntityId) {
20029
- throw new RuntimeModelError48(this.model, "\u6CA1\u6709\u914D\u7F6E\u5B9E\u4F53");
20352
+ throw new RuntimeModelError49(this.model, "\u6CA1\u6709\u914D\u7F6E\u5B9E\u4F53");
20030
20353
  }
20031
20354
  if (!dstAppDELogicId) {
20032
- throw new RuntimeModelError48(this.model, "\u6CA1\u6709\u914D\u7F6E\u5B9E\u4F53\u903B\u8F91");
20355
+ throw new RuntimeModelError49(this.model, "\u6CA1\u6709\u914D\u7F6E\u5B9E\u4F53\u903B\u8F91");
20033
20356
  }
20034
20357
  if (!dstDEUILogicParamId) {
20035
- throw new RuntimeModelError48(this.model, "\u6CA1\u6709\u914D\u7F6E\u4F20\u5165\u903B\u8F91\u53C2\u6570");
20358
+ throw new RuntimeModelError49(this.model, "\u6CA1\u6709\u914D\u7F6E\u4F20\u5165\u903B\u8F91\u53C2\u6570");
20036
20359
  }
20037
20360
  const dstParam = ctx.params[dstDEUILogicParamId];
20038
20361
  if (!dstParam) {
@@ -20226,7 +20549,7 @@ var UILogic = class {
20226
20549
  this.params = /* @__PURE__ */ new Map();
20227
20550
  var _a;
20228
20551
  if (!((_a = model.deuilogicNodes) == null ? void 0 : _a.length)) {
20229
- throw new RuntimeModelError49(model, "\u754C\u9762\u903B\u8F91\u6CA1\u6709\u914D\u7F6E\u903B\u8F91\u8282\u70B9");
20552
+ throw new RuntimeModelError50(model, "\u754C\u9762\u903B\u8F91\u6CA1\u6709\u914D\u7F6E\u903B\u8F91\u8282\u70B9");
20230
20553
  }
20231
20554
  model.deuilogicNodes.forEach((node) => {
20232
20555
  const { logicNodeType } = node;
@@ -20346,7 +20669,7 @@ var UILogic = class {
20346
20669
  const start = this.nodes.get(startDEUILogicNodeId);
20347
20670
  await this.deepExec(start, ctx);
20348
20671
  } else {
20349
- throw new RuntimeModelError49(this.model, "\u672A\u8BBE\u7F6E\u8D77\u59CB\u8282\u70B9");
20672
+ throw new RuntimeModelError50(this.model, "\u672A\u8BBE\u7F6E\u8D77\u59CB\u8282\u70B9");
20350
20673
  }
20351
20674
  if (ctx.isEndNode) {
20352
20675
  return ctx.result;
@@ -20528,7 +20851,7 @@ var UIActionProviderBase = class {
20528
20851
  const { appDEUILogicId, appDataEntityId, uilogicAttachMode } = action;
20529
20852
  if (uilogicAttachMode === "REPLACE") {
20530
20853
  if (!appDEUILogicId) {
20531
- throw new RuntimeModelError50(action, "\u6CA1\u6709\u914D\u7F6E\u5B9E\u4F53\u754C\u9762\u903B\u8F91");
20854
+ throw new RuntimeModelError51(action, "\u6CA1\u6709\u914D\u7F6E\u5B9E\u4F53\u754C\u9762\u903B\u8F91");
20532
20855
  }
20533
20856
  await execUILogic(appDEUILogicId, appDataEntityId, args);
20534
20857
  return result;
@@ -20543,7 +20866,7 @@ var UIActionProviderBase = class {
20543
20866
  }
20544
20867
  if (action.uilogicAttachMode === "AFTER") {
20545
20868
  if (!appDEUILogicId) {
20546
- throw new RuntimeModelError50(action, "\u6CA1\u6709\u914D\u7F6E\u5B9E\u4F53\u754C\u9762\u903B\u8F91");
20869
+ throw new RuntimeModelError51(action, "\u6CA1\u6709\u914D\u7F6E\u5B9E\u4F53\u754C\u9762\u903B\u8F91");
20547
20870
  }
20548
20871
  await execUILogic(
20549
20872
  appDEUILogicId,
@@ -20790,7 +21113,7 @@ var BackendUIActionProvider = class extends UIActionProviderBase {
20790
21113
  const entityName = action.appDataEntityId;
20791
21114
  const methodName = action.appDEMethodId;
20792
21115
  if (!entityName || !methodName) {
20793
- throw new RuntimeModelError51(action, "\u672A\u914D\u7F6E\u5B9E\u4F53\u6216\u5B9E\u4F53\u884C\u4E3A");
21116
+ throw new RuntimeModelError52(action, "\u672A\u914D\u7F6E\u5B9E\u4F53\u6216\u5B9E\u4F53\u884C\u4E3A");
20794
21117
  }
20795
21118
  const { resultContext, resultParams, resultData } = await this.handleParams(
20796
21119
  action,
@@ -20916,7 +21239,7 @@ var SysUIActionProvider = class extends UIActionProviderBase {
20916
21239
  // src/ui-action/provider/front-ui-action-provider.ts
20917
21240
  import {
20918
21241
  StringUtil,
20919
- RuntimeModelError as RuntimeModelError52,
21242
+ RuntimeModelError as RuntimeModelError53,
20920
21243
  ModelError as ModelError26,
20921
21244
  RuntimeError as RuntimeError49
20922
21245
  } from "@ibiz-template/core";
@@ -20935,7 +21258,7 @@ var FrontUIActionProvider = class extends UIActionProviderBase {
20935
21258
  case "WIZARD": {
20936
21259
  const frontPSAppView = action.frontAppViewId;
20937
21260
  if (!frontPSAppView) {
20938
- throw new RuntimeModelError52(action, "\u672A\u914D\u7F6E\u6253\u5F00\u89C6\u56FE");
21261
+ throw new RuntimeModelError53(action, "\u672A\u914D\u7F6E\u6253\u5F00\u89C6\u56FE");
20939
21262
  }
20940
21263
  const { resultContext, resultParams } = await this.handleParams(
20941
21264
  action,
@@ -21003,7 +21326,7 @@ var FrontUIActionProvider = class extends UIActionProviderBase {
21003
21326
  );
21004
21327
  return result || {};
21005
21328
  }
21006
- throw new RuntimeModelError52(action, "\u81EA\u5B9A\u4E49\u7C7B\u578B\u7F3A\u5C11\u914D\u7F6E\u811A\u672C\u4EE3\u7801");
21329
+ throw new RuntimeModelError53(action, "\u81EA\u5B9A\u4E49\u7C7B\u578B\u7F3A\u5C11\u914D\u7F6E\u811A\u672C\u4EE3\u7801");
21007
21330
  }
21008
21331
  /**
21009
21332
  * 执行打印行为
@@ -21073,47 +21396,27 @@ var FrontUIActionProvider = class extends UIActionProviderBase {
21073
21396
  * @return {*}
21074
21397
  */
21075
21398
  async executeDataImport(action, args) {
21076
- var _a;
21077
21399
  const { resultContext, resultParams } = await this.handleParams(
21078
21400
  action,
21079
21401
  args.context,
21080
21402
  args.data,
21081
21403
  args.params
21082
21404
  );
21083
- const appDataEntity = await ibiz.hub.getAppDataEntity(
21084
- action.appDataEntityId,
21085
- action.appId
21086
- );
21087
- const appDEDataImport = (_a = appDataEntity.appDEDataImports) == null ? void 0 : _a.find(
21088
- (dataImport) => dataImport.id === action.appDEDataImportId
21089
- );
21090
- let importName = "DataImport";
21091
- if (appDEDataImport && appDEDataImport.enableCustomized) {
21092
- importName = "DataImport2";
21405
+ const { appDataEntityId, appDEDataImportId, frontAppViewId } = action;
21406
+ if (!appDataEntityId || !appDEDataImportId) {
21407
+ throw new RuntimeModelError53(action, "\u6CA1\u6709\u914D\u7F6E\u5BFC\u5165\u6A21\u578B\uFF01");
21093
21408
  }
21094
- if (appDEDataImport) {
21095
- const modal = ibiz.overlay.createModal(
21096
- importName,
21097
- {
21098
- dismiss: () => modal.dismiss(),
21099
- appDataEntity,
21100
- dataImport: appDEDataImport,
21101
- context: resultContext,
21102
- params: resultParams
21103
- },
21104
- {
21105
- width: "auto",
21106
- placement: "center"
21107
- }
21108
- );
21109
- modal.present();
21110
- await modal.onWillDismiss();
21111
- return {
21112
- refresh: true,
21113
- refreshMode: 1
21114
- };
21115
- }
21116
- throw new RuntimeError49("\u6CA1\u6709\u627E\u5230\u5B9E\u4F53\u5BFC\u5165\u9879");
21409
+ await openDataImport({
21410
+ appDataEntityId,
21411
+ deDataImportId: appDEDataImportId,
21412
+ dataImportViewId: frontAppViewId,
21413
+ context: resultContext,
21414
+ params: resultParams
21415
+ });
21416
+ return {
21417
+ refresh: true,
21418
+ refreshMode: 1
21419
+ };
21117
21420
  }
21118
21421
  /**
21119
21422
  * 执行导出行为
@@ -21205,7 +21508,8 @@ var FrontUIActionProvider = class extends UIActionProviderBase {
21205
21508
  context: resultContext,
21206
21509
  params: resultParams,
21207
21510
  modelData: action.deeditForm,
21208
- onSaveSuccess: () => {
21511
+ onSaveSuccess: (eventArgs) => {
21512
+ actionResult.data = [eventArgs.args];
21209
21513
  if (overlay) {
21210
21514
  overlay.dismiss();
21211
21515
  }
@@ -21918,7 +22222,7 @@ var RawItemPortletController = class extends PortletPartController {
21918
22222
  };
21919
22223
 
21920
22224
  // src/controller/control/data-view/data-view.controller.ts
21921
- import { RuntimeModelError as RuntimeModelError53 } from "@ibiz-template/core";
22225
+ import { RuntimeModelError as RuntimeModelError54 } from "@ibiz-template/core";
21922
22226
  import { isNil as isNil26 } from "ramda";
21923
22227
 
21924
22228
  // src/controller/control/data-view/data-view.service.ts
@@ -22136,7 +22440,7 @@ var DataViewControlController = class extends MDControlController {
22136
22440
  const optItemModel = this.getOptItemModel();
22137
22441
  if (optItemModel) {
22138
22442
  if (!optItemModel.deuiactionGroup) {
22139
- throw new RuntimeModelError53(this.model, "\u64CD\u4F5C\u9879\u6CA1\u6709\u914D\u7F6E\u754C\u9762\u884C\u4E3A\u7EC4");
22443
+ throw new RuntimeModelError54(this.model, "\u64CD\u4F5C\u9879\u6CA1\u6709\u914D\u7F6E\u754C\u9762\u884C\u4E3A\u7EC4");
22140
22444
  }
22141
22445
  if (!((_a = optItemModel.deuiactionGroup.uiactionGroupDetails) == null ? void 0 : _a.length)) {
22142
22446
  ibiz.log.debug("\u64CD\u4F5C\u9879\u754C\u9762\u884C\u4E3A\u7EC4\u6CA1\u6709\u914D\u7F6E\u754C\u9762\u884C\u4E3A");
@@ -22189,7 +22493,7 @@ var DataViewControlController = class extends MDControlController {
22189
22493
  const { enableGroup, groupMode, groupAppDEFieldId } = this.model;
22190
22494
  if (enableGroup && groupMode) {
22191
22495
  if (!groupAppDEFieldId) {
22192
- throw new RuntimeModelError53(this.model, "\u5206\u7EC4\u5C5E\u6027\u6CA1\u6709\u914D\u7F6E");
22496
+ throw new RuntimeModelError54(this.model, "\u5206\u7EC4\u5C5E\u6027\u6CA1\u6709\u914D\u7F6E");
22193
22497
  }
22194
22498
  if (groupMode === "AUTO") {
22195
22499
  this.handleAutoGroup();
@@ -22256,7 +22560,7 @@ var DataViewControlController = class extends MDControlController {
22256
22560
  async handleCodeListGroup() {
22257
22561
  const { groupAppDEFieldId, groupCodeListId } = this.model;
22258
22562
  if (!groupCodeListId) {
22259
- throw new RuntimeModelError53(this.model, "\u5206\u7EC4\u4EE3\u7801\u8868\u6CA1\u6709\u914D\u7F6E");
22563
+ throw new RuntimeModelError54(this.model, "\u5206\u7EC4\u4EE3\u7801\u8868\u6CA1\u6709\u914D\u7F6E");
22260
22564
  }
22261
22565
  const { items } = this.state;
22262
22566
  const groupMap = /* @__PURE__ */ new Map();
@@ -22362,7 +22666,7 @@ var DataViewControlController = class extends MDControlController {
22362
22666
  caption = ibiz.i18n.t(item.capLanguageRes.lanResTag, item.caption);
22363
22667
  }
22364
22668
  if (!item.appDEFieldId) {
22365
- throw new RuntimeModelError53(item, "\u542F\u7528\u6392\u5E8F\u7684\u9879\u5FC5\u987B\u5173\u8054\u5B9E\u4F53\u5C5E\u6027");
22669
+ throw new RuntimeModelError54(item, "\u542F\u7528\u6392\u5E8F\u7684\u9879\u5FC5\u987B\u5173\u8054\u5B9E\u4F53\u5C5E\u6027");
22366
22670
  }
22367
22671
  const tempItem = {
22368
22672
  caption,
@@ -22380,10 +22684,10 @@ var DataViewControlController = class extends MDControlController {
22380
22684
  };
22381
22685
 
22382
22686
  // src/controller/control/exp-bar/calendar-exp-bar.controller.ts
22383
- import { RuntimeModelError as RuntimeModelError55 } from "@ibiz-template/core";
22687
+ import { RuntimeModelError as RuntimeModelError56 } from "@ibiz-template/core";
22384
22688
 
22385
22689
  // src/controller/control/exp-bar/exp-bar.controller.ts
22386
- import { RuntimeError as RuntimeError51, RuntimeModelError as RuntimeModelError54 } from "@ibiz-template/core";
22690
+ import { RuntimeError as RuntimeError51, RuntimeModelError as RuntimeModelError55 } from "@ibiz-template/core";
22387
22691
  var ExpBarControlController = class extends ControlController {
22388
22692
  constructor() {
22389
22693
  super(...arguments);
@@ -22438,7 +22742,7 @@ var ExpBarControlController = class extends ControlController {
22438
22742
  get xDataController() {
22439
22743
  const controller = this.view.getController(this.model.xdataControlName);
22440
22744
  if (!controller) {
22441
- throw new RuntimeModelError54(
22745
+ throw new RuntimeModelError55(
22442
22746
  this.model,
22443
22747
  "\u65E0\u6CD5\u83B7\u53D6\u591A\u6570\u636E\u90E8\u4EF6[".concat(this.model.xdataControlName, "]\u63A7\u5236\u5668")
22444
22748
  );
@@ -22802,7 +23106,7 @@ var CalendarExpBarController = class extends ExpBarControlController {
22802
23106
  get xDataController() {
22803
23107
  const controller = this.view.getController(this.model.xdataControlName);
22804
23108
  if (!controller) {
22805
- throw new RuntimeModelError55(
23109
+ throw new RuntimeModelError56(
22806
23110
  this.model,
22807
23111
  "\u65E0\u6CD5\u83B7\u53D6\u591A\u6570\u636E\u90E8\u4EF6[".concat(this.model.xdataControlName, "]\u63A7\u5236\u5668")
22808
23112
  );
@@ -22857,7 +23161,7 @@ var CalendarExpBarController = class extends ExpBarControlController {
22857
23161
  };
22858
23162
 
22859
23163
  // src/controller/control/exp-bar/tree-exp-bar.controller.ts
22860
- import { RuntimeError as RuntimeError52, RuntimeModelError as RuntimeModelError56 } from "@ibiz-template/core";
23164
+ import { RuntimeError as RuntimeError52, RuntimeModelError as RuntimeModelError57 } from "@ibiz-template/core";
22861
23165
  var TreeExpBarController = class extends ExpBarControlController {
22862
23166
  constructor() {
22863
23167
  super(...arguments);
@@ -22880,7 +23184,7 @@ var TreeExpBarController = class extends ExpBarControlController {
22880
23184
  get xDataController() {
22881
23185
  const controller = this.view.getController(this.model.xdataControlName);
22882
23186
  if (!controller) {
22883
- throw new RuntimeModelError56(
23187
+ throw new RuntimeModelError57(
22884
23188
  this.model,
22885
23189
  "\u65E0\u6CD5\u83B7\u53D6\u591A\u6570\u636E\u90E8\u4EF6[".concat(this.model.xdataControlName, "]\u63A7\u5236\u5668")
22886
23190
  );
@@ -23141,7 +23445,7 @@ import { RuntimeError as RuntimeError53 } from "@ibiz-template/core";
23141
23445
 
23142
23446
  // src/controller/control/form/form/form.controller.ts
23143
23447
  import {
23144
- RuntimeModelError as RuntimeModelError57,
23448
+ RuntimeModelError as RuntimeModelError58,
23145
23449
  debounceAndAsyncMerge,
23146
23450
  recursiveIterate as recursiveIterate3,
23147
23451
  EntityError
@@ -23273,12 +23577,12 @@ var FormController = class extends ControlController {
23273
23577
  async initDetailControllers(details = this.model.deformPages, form = this, parent = void 0) {
23274
23578
  await Promise.all(
23275
23579
  details.map(async (detail) => {
23276
- const detailProvider = await getFormDetailProvider(detail);
23580
+ const detailProvider = await getFormDetailProvider(detail, this.model);
23277
23581
  if (!detailProvider) {
23278
23582
  return;
23279
23583
  }
23280
23584
  if (form.details[detail.id]) {
23281
- throw new RuntimeModelError57(
23585
+ throw new RuntimeModelError58(
23282
23586
  detail,
23283
23587
  "\u521D\u59CB\u5316\u5F02\u5E38: \u8868\u5355\u6210\u5458[".concat(detail.id, "](").concat(detail.detailType, ")\u5DF2\u5B58\u5728\uFF0C\u8868\u5355\u9879\u6807\u8BC6\u91CD\u590D\u8BF7\u68C0\u67E5\u914D\u7F6E")
23284
23588
  );
@@ -23879,12 +24183,18 @@ var FormDetailState = class {
23879
24183
  return true;
23880
24184
  }
23881
24185
  });
23882
- let $readonly = false;
24186
+ let $readonly;
23883
24187
  Object.defineProperty(this, "readonly", {
23884
24188
  enumerable: true,
23885
24189
  configurable: true,
23886
24190
  get() {
23887
- return $readonly;
24191
+ if ($readonly !== void 0) {
24192
+ return $readonly;
24193
+ }
24194
+ if (this.context) {
24195
+ return !!(this.context.srfreadonly === true || this.context.srfreadonly === "true");
24196
+ }
24197
+ return false;
23888
24198
  },
23889
24199
  set(val) {
23890
24200
  $readonly = val;
@@ -23941,6 +24251,7 @@ var FormDetailController = class {
23941
24251
  this.form = form;
23942
24252
  this.parent = parent;
23943
24253
  this.state = this.createState();
24254
+ this.state.context = this.context;
23944
24255
  }
23945
24256
  /**
23946
24257
  * 表单数据
@@ -24023,9 +24334,6 @@ var FormDetailController = class {
24023
24334
  this.model.caption
24024
24335
  );
24025
24336
  }
24026
- if (this.context.srfreadonly === true || this.context.srfreadonly === "true") {
24027
- this.state.readonly = true;
24028
- }
24029
24337
  }
24030
24338
  /**
24031
24339
  * 创建表单状态对象
@@ -24778,15 +25086,15 @@ var FormItemController = class extends FormDetailController {
24778
25086
  * @returns {*} {Promise<void>}
24779
25087
  */
24780
25088
  async onInit() {
24781
- var _a;
25089
+ var _a, _b;
24782
25090
  await super.onInit();
24783
25091
  this.state.required = !this.model.allowEmpty;
24784
25092
  const { enableCond } = this.model;
24785
25093
  if (!enableCond) {
24786
25094
  this.state.enableCondDisabled = true;
24787
25095
  }
24788
- if (this.context.srfreadonly !== true && this.context.srfreadonly !== "true") {
24789
- this.state.readonly = ((_a = this.model.editor) == null ? void 0 : _a.readOnly) || false;
25096
+ if (this.context.srfreadonly !== true && this.context.srfreadonly !== "true" && ((_a = this.model.editor) == null ? void 0 : _a.readOnly)) {
25097
+ this.state.readonly = ((_b = this.model.editor) == null ? void 0 : _b.readOnly) || false;
24790
25098
  }
24791
25099
  if (this.model.editor && this.model.editor.editorType !== "HIDDEN") {
24792
25100
  this.editorProvider = await getEditorProvider(this.model.editor);
@@ -25133,7 +25441,7 @@ var FormMDCtrlController = class extends FormDetailController {
25133
25441
  import {
25134
25442
  mergeInLeft,
25135
25443
  ModelError as ModelError27,
25136
- RuntimeModelError as RuntimeModelError58
25444
+ RuntimeModelError as RuntimeModelError59
25137
25445
  } from "@ibiz-template/core";
25138
25446
  var FormMDCtrlMDController = class extends FormMDCtrlController {
25139
25447
  constructor() {
@@ -25159,7 +25467,7 @@ var FormMDCtrlMDController = class extends FormMDCtrlController {
25159
25467
  await super.onInit();
25160
25468
  const { contentControl } = this.model;
25161
25469
  if (!contentControl) {
25162
- throw new RuntimeModelError58(this.model, "\u591A\u6570\u636E\u90E8\u4EF6\u672A\u914D\u7F6E\u5185\u5BB9\u90E8\u4EF6");
25470
+ throw new RuntimeModelError59(this.model, "\u591A\u6570\u636E\u90E8\u4EF6\u672A\u914D\u7F6E\u5185\u5BB9\u90E8\u4EF6");
25163
25471
  }
25164
25472
  if (contentControl.controlType === "GRID") {
25165
25473
  mergeInLeft(contentControl, {
@@ -25256,7 +25564,7 @@ var FormMDCtrlMDController = class extends FormMDCtrlController {
25256
25564
  };
25257
25565
 
25258
25566
  // src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.controller.ts
25259
- import { RuntimeError as RuntimeError54, RuntimeModelError as RuntimeModelError59 } from "@ibiz-template/core";
25567
+ import { RuntimeError as RuntimeError54, RuntimeModelError as RuntimeModelError60 } from "@ibiz-template/core";
25260
25568
  import { createUUID as createUUID11 } from "qx-util";
25261
25569
 
25262
25570
  // src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.state.ts
@@ -25297,7 +25605,7 @@ var FormMDCtrlFormController = class extends FormMDCtrlController {
25297
25605
  super.onInit();
25298
25606
  const { contentControl } = this.model;
25299
25607
  if (!contentControl) {
25300
- throw new RuntimeModelError59(this.model, "\u591A\u6570\u636E\u90E8\u4EF6\u672A\u914D\u7F6E\u5185\u5BB9\u90E8\u4EF6");
25608
+ throw new RuntimeModelError60(this.model, "\u591A\u6570\u636E\u90E8\u4EF6\u672A\u914D\u7F6E\u5185\u5BB9\u90E8\u4EF6");
25301
25609
  }
25302
25610
  contentControl.enableAutoSave = this.enableCreate || this.enableUpdate;
25303
25611
  const controlProvider = await getControlProvider(contentControl);
@@ -25699,7 +26007,7 @@ import { clone as clone26, isNil as isNil27 } from "ramda";
25699
26007
  // src/controller/control/form/edit-form/edit-form.service.ts
25700
26008
  import {
25701
26009
  recursiveIterate as recursiveIterate6,
25702
- RuntimeModelError as RuntimeModelError60
26010
+ RuntimeModelError as RuntimeModelError61
25703
26011
  } from "@ibiz-template/core";
25704
26012
  var EditFormService = class extends FormService {
25705
26013
  /**
@@ -25823,7 +26131,7 @@ var EditFormService = class extends FormService {
25823
26131
  const wizardForm = this.model;
25824
26132
  const methodName = (_a = wizardForm.goBackControlAction) == null ? void 0 : _a.appDEMethodId;
25825
26133
  if (!methodName) {
25826
- throw new RuntimeModelError60(this.model, "\u7F3A\u5C11\u8FD4\u56DE\u64CD\u4F5C\u5B9E\u4F53\u884C\u4E3A");
26134
+ throw new RuntimeModelError61(this.model, "\u7F3A\u5C11\u8FD4\u56DE\u64CD\u4F5C\u5B9E\u4F53\u884C\u4E3A");
25827
26135
  }
25828
26136
  let res = await this.exec(
25829
26137
  methodName,
@@ -26077,10 +26385,10 @@ var EditFormController = class extends FormController {
26077
26385
  let res;
26078
26386
  try {
26079
26387
  await this.startLoading();
26080
- await this.evt.emit("onBeforeLoad", void 0);
26388
+ await this.evt.emit("onBeforeLoad", { args: queryParams });
26081
26389
  res = await this.service.get(context, queryParams);
26082
26390
  } catch (error) {
26083
- await this.evt.emit("onLoadError", void 0);
26391
+ await this.evt.emit("onLoadError", { args: error });
26084
26392
  this.actionNotification("GETERROR", {
26085
26393
  error
26086
26394
  });
@@ -26093,7 +26401,7 @@ var EditFormController = class extends FormController {
26093
26401
  this.state.modified = false;
26094
26402
  this.state.data = res.data;
26095
26403
  this.formStateNotify("LOAD" /* LOAD */);
26096
- await this.evt.emit("onLoadSuccess", void 0);
26404
+ await this.evt.emit("onLoadSuccess", { args: res.data });
26097
26405
  this.actionNotification("GETSUCCESS");
26098
26406
  this.state.isLoaded = true;
26099
26407
  return this.data;
@@ -26121,10 +26429,10 @@ var EditFormController = class extends FormController {
26121
26429
  let res;
26122
26430
  try {
26123
26431
  await this.startLoading();
26124
- await this.evt.emit("onBeforeLoad", void 0);
26432
+ await this.evt.emit("onBeforeLoad", { args: queryParams });
26125
26433
  res = await this.service.get(context, queryParams);
26126
26434
  } catch (error) {
26127
- await this.evt.emit("onLoadError", void 0);
26435
+ await this.evt.emit("onLoadError", { args: error });
26128
26436
  this.actionNotification("GETERROR", {
26129
26437
  error
26130
26438
  });
@@ -26136,7 +26444,7 @@ var EditFormController = class extends FormController {
26136
26444
  this.state.data = res.data;
26137
26445
  this.oldData = this.data.clone();
26138
26446
  this.formStateNotify("LOAD" /* LOAD */);
26139
- await this.evt.emit("onLoadSuccess", void 0);
26447
+ await this.evt.emit("onLoadSuccess", { args: res.data });
26140
26448
  this.actionNotification("GETSUCCESS");
26141
26449
  this.state.isLoaded = true;
26142
26450
  return this.data;
@@ -26160,15 +26468,15 @@ var EditFormController = class extends FormController {
26160
26468
  if (!silent) {
26161
26469
  await this.startLoading();
26162
26470
  }
26163
- await this.evt.emit("onBeforeSave", void 0);
26164
26471
  const { context, data } = this.handlerAbilityParams(args);
26165
26472
  const saveData = data[0];
26166
26473
  const isCreate = saveData.srfuf === 0 /* CREATE */;
26167
26474
  let res;
26168
26475
  try {
26476
+ await this.evt.emit("onBeforeSave", { args: saveData });
26169
26477
  res = isCreate ? await this.service.create(context, saveData) : await this.service.update(context, saveData);
26170
26478
  } catch (error) {
26171
- await this.evt.emit("onSaveError", void 0);
26479
+ await this.evt.emit("onSaveError", { args: error });
26172
26480
  this.actionNotification("".concat(isCreate ? "CREATE" : "UPDATE", "ERROR"), {
26173
26481
  error
26174
26482
  });
@@ -26190,7 +26498,7 @@ var EditFormController = class extends FormController {
26190
26498
  this.data.tempsrfkey = this.data.srfkey;
26191
26499
  }
26192
26500
  this.state.modified = false;
26193
- await this.evt.emit("onSaveSuccess", void 0);
26501
+ await this.evt.emit("onSaveSuccess", { args: res.data });
26194
26502
  if (!this.view.state.isClosing) {
26195
26503
  this.formStateNotify("SAVE" /* SAVE */);
26196
26504
  }
@@ -26213,7 +26521,7 @@ var EditFormController = class extends FormController {
26213
26521
  const { context, params } = this.handlerAbilityParams(args);
26214
26522
  let res;
26215
26523
  let ok = false;
26216
- await this.evt.emit("onBeforeRemove", void 0);
26524
+ await this.evt.emit("onBeforeRemove", { args: this.data });
26217
26525
  if (this.data.srfuf === 1 /* UPDATE */) {
26218
26526
  ok = await ibiz.modal.confirm({
26219
26527
  title: "\u63D0\u793A",
@@ -26226,7 +26534,7 @@ var EditFormController = class extends FormController {
26226
26534
  try {
26227
26535
  res = await this.service.remove(context, params);
26228
26536
  } catch (error) {
26229
- await this.evt.emit("onRemoveError", void 0);
26537
+ await this.evt.emit("onRemoveError", { args: error });
26230
26538
  this.actionNotification("REMOVEERROR", {
26231
26539
  error
26232
26540
  });
@@ -26239,7 +26547,7 @@ var EditFormController = class extends FormController {
26239
26547
  this.emitDEDataChange("remove", this.data);
26240
26548
  this.state.data = new ControlVO();
26241
26549
  this.state.modified = false;
26242
- await this.evt.emit("onRemoveSuccess", void 0);
26550
+ await this.evt.emit("onRemoveSuccess", { args: this.data });
26243
26551
  this.actionNotification("REMOVESUCCESS");
26244
26552
  return ok;
26245
26553
  }
@@ -26705,6 +27013,28 @@ var GridRowState = class {
26705
27013
  editable: ibiz.config.grid.editShowMode === "all",
26706
27014
  required: false
26707
27015
  };
27016
+ let $readonly;
27017
+ Object.defineProperty(
27018
+ this.editColStates[editColumn.fieldName],
27019
+ "readonly",
27020
+ {
27021
+ enumerable: true,
27022
+ configurable: true,
27023
+ get() {
27024
+ if ($readonly !== void 0) {
27025
+ return $readonly;
27026
+ }
27027
+ if (grid.context) {
27028
+ return !!(grid.context.srfreadonly === true || grid.context.srfreadonly === "true");
27029
+ }
27030
+ return false;
27031
+ },
27032
+ set(val) {
27033
+ $readonly = val;
27034
+ return true;
27035
+ }
27036
+ }
27037
+ );
26708
27038
  });
26709
27039
  }
26710
27040
  getDiffData() {
@@ -26728,13 +27058,13 @@ import {
26728
27058
  mergeDefaultInLeft,
26729
27059
  recursiveIterate as recursiveIterate7,
26730
27060
  RuntimeError as RuntimeError56,
26731
- RuntimeModelError as RuntimeModelError62
27061
+ RuntimeModelError as RuntimeModelError63
26732
27062
  } from "@ibiz-template/core";
26733
27063
  import { clone as clone27 } from "ramda";
26734
27064
  import dayjs5 from "dayjs";
26735
27065
 
26736
27066
  // src/controller/control/grid/grid/grid.service.ts
26737
- import { RuntimeModelError as RuntimeModelError61 } from "@ibiz-template/core";
27067
+ import { RuntimeModelError as RuntimeModelError62 } from "@ibiz-template/core";
26738
27068
  var GridService = class extends MDControlService {
26739
27069
  /**
26740
27070
  * 初始化属性映射
@@ -26762,7 +27092,7 @@ var GridService = class extends MDControlService {
26762
27092
  dataType: dataItem.dataType
26763
27093
  });
26764
27094
  } else {
26765
- throw new RuntimeModelError61(
27095
+ throw new RuntimeModelError62(
26766
27096
  column,
26767
27097
  "\u672A\u627E\u5230\u5BF9\u5E94\u7684\u8868\u683C\u6570\u636E\u9879[".concat(deField, "]")
26768
27098
  );
@@ -27157,11 +27487,11 @@ var GridController = class extends MDControlController {
27157
27487
  (item) => item.model.appDEFieldId === groupAppDEFieldId
27158
27488
  );
27159
27489
  if (!this.groupFieldColumn) {
27160
- throw new RuntimeModelError62(this.model, "\u6CA1\u6709\u914D\u7F6E\u5206\u7EC4\u5C5E\u6027\u7684\u5C5E\u6027\u5217");
27490
+ throw new RuntimeModelError63(this.model, "\u6CA1\u6709\u914D\u7F6E\u5206\u7EC4\u5C5E\u6027\u7684\u5C5E\u6027\u5217");
27161
27491
  }
27162
27492
  const groupFieldName = this.groupFieldColumn.model.id;
27163
27493
  if (!this.groupFieldColumn.model.appCodeListId) {
27164
- throw new RuntimeModelError62(
27494
+ throw new RuntimeModelError63(
27165
27495
  this.groupFieldColumn.model,
27166
27496
  "\u5206\u7EC4\u5C5E\u6027\u7684\u5C5E\u6027\u5217".concat(groupFieldName, "\u6CA1\u6709\u914D\u7F6E\u4EE3\u7801\u8868")
27167
27497
  );
@@ -27171,7 +27501,7 @@ var GridController = class extends MDControlController {
27171
27501
  );
27172
27502
  if (index !== -1 && index !== 0) {
27173
27503
  if (this.isMultistageHeader) {
27174
- throw new RuntimeModelError62(
27504
+ throw new RuntimeModelError63(
27175
27505
  this.model,
27176
27506
  "\u8BF7\u5C06\u5206\u7EC4\u5C5E\u6027\u5217".concat(groupFieldName, "\u914D\u7F6E\u4E3A\u7B2C\u4E00\u5217")
27177
27507
  );
@@ -27181,10 +27511,10 @@ var GridController = class extends MDControlController {
27181
27511
  }
27182
27512
  if (groupMode === "CODELIST") {
27183
27513
  if (!groupCodeListId) {
27184
- throw new RuntimeModelError62(this.model, "\u4EE3\u7801\u8868\u5206\u7EC4\u6A21\u5F0F\u9700\u8981\u914D\u7F6E\u4EE3\u7801\u8868");
27514
+ throw new RuntimeModelError63(this.model, "\u4EE3\u7801\u8868\u5206\u7EC4\u6A21\u5F0F\u9700\u8981\u914D\u7F6E\u4EE3\u7801\u8868");
27185
27515
  }
27186
27516
  if (this.groupFieldColumn.model.appCodeListId !== groupCodeListId) {
27187
- throw new RuntimeModelError62(
27517
+ throw new RuntimeModelError63(
27188
27518
  this.model,
27189
27519
  "\u5206\u7EC4\u4EE3\u7801\u8868\u4E0E\u5C5E\u6027\u5217".concat(groupFieldName, "\u7684\u4EE3\u7801\u8868\u4E0D\u4E00\u81F4")
27190
27520
  );
@@ -27205,28 +27535,35 @@ var GridController = class extends MDControlController {
27205
27535
  this.gridStateNotify(row, "LOAD" /* LOAD */);
27206
27536
  return row;
27207
27537
  });
27208
- this.state.rows.forEach((row) => {
27209
- Object.values(row.uaColStates).forEach((uaState) => {
27210
- uaState.update(
27211
- this.context,
27212
- row.data.getOrigin(),
27213
- this.model.appDataEntityId
27214
- );
27215
- });
27216
- });
27217
- this.state.rows.forEach((row) => {
27218
- Object.values(row.uiActionGroupStates).forEach((uaState) => {
27219
- uaState.update(
27220
- this.context,
27221
- row.data.getOrigin(),
27222
- this.model.appDataEntityId
27223
- );
27224
- });
27225
- });
27538
+ await this.updateRows(this.state.rows);
27226
27539
  this.calcGroupData(items);
27227
27540
  this.calcAggResult(items);
27228
27541
  return items;
27229
27542
  }
27543
+ /**
27544
+ * 更新行状态
27545
+ * @param rows
27546
+ */
27547
+ async updateRows(rows) {
27548
+ for (const row of rows) {
27549
+ await Promise.all([
27550
+ ...Object.values(row.uaColStates).map(
27551
+ (uaState) => uaState.update(
27552
+ this.context,
27553
+ row.data.getOrigin(),
27554
+ this.model.appDataEntityId
27555
+ )
27556
+ ),
27557
+ ...Object.values(row.uiActionGroupStates).map(
27558
+ (uaState) => uaState.update(
27559
+ this.context,
27560
+ row.data.getOrigin(),
27561
+ this.model.appDataEntityId
27562
+ )
27563
+ )
27564
+ ]);
27565
+ }
27566
+ }
27230
27567
  /**
27231
27568
  * 计算分组数据
27232
27569
  * @author lxm
@@ -27280,7 +27617,7 @@ var GridController = class extends MDControlController {
27280
27617
  return;
27281
27618
  }
27282
27619
  if (!aggAppDEDataSetId || !aggAppDataEntityId) {
27283
- throw new RuntimeModelError62(this.model, "\u7F3A\u5C11\u914D\u7F6E\u805A\u5408\u5B9E\u4F53\u6216\u805A\u5408\u6570\u636E\u96C6");
27620
+ throw new RuntimeModelError63(this.model, "\u7F3A\u5C11\u914D\u7F6E\u805A\u5408\u5B9E\u4F53\u6216\u805A\u5408\u6570\u636E\u96C6");
27284
27621
  }
27285
27622
  const params = await this.getFetchParams();
27286
27623
  const app = ibiz.hub.getApp(this.context.srfappid);
@@ -27456,7 +27793,7 @@ var GridController = class extends MDControlController {
27456
27793
  */
27457
27794
  async initColumnsController(column) {
27458
27795
  var _a;
27459
- const provider = await getGridColumnProvider(column);
27796
+ const provider = await getGridColumnProvider(column, this.model);
27460
27797
  if (!provider) {
27461
27798
  return;
27462
27799
  }
@@ -28379,7 +28716,7 @@ var GridFieldColumnController = class extends GridColumnController {
28379
28716
  };
28380
28717
 
28381
28718
  // src/controller/control/grid/grid-column/grid-ua-column/grid-ua-column.controller.ts
28382
- import { RuntimeModelError as RuntimeModelError63 } from "@ibiz-template/core";
28719
+ import { RuntimeModelError as RuntimeModelError64 } from "@ibiz-template/core";
28383
28720
  var GridUAColumnController = class extends GridColumnController {
28384
28721
  /**
28385
28722
  * 给rowController初始化操作列的状态
@@ -28392,7 +28729,7 @@ var GridUAColumnController = class extends GridColumnController {
28392
28729
  var _a;
28393
28730
  const { deuiactionGroup } = this.model;
28394
28731
  if (!deuiactionGroup) {
28395
- throw new RuntimeModelError63(this.model, "\u64CD\u4F5C\u5217\u6CA1\u6709\u914D\u7F6E\u754C\u9762\u884C\u4E3A\u7EC4");
28732
+ throw new RuntimeModelError64(this.model, "\u64CD\u4F5C\u5217\u6CA1\u6709\u914D\u7F6E\u754C\u9762\u884C\u4E3A\u7EC4");
28396
28733
  }
28397
28734
  if (!((_a = deuiactionGroup.uiactionGroupDetails) == null ? void 0 : _a.length)) {
28398
28735
  ibiz.log.debug("\u64CD\u4F5C\u5217\u754C\u9762\u884C\u4E3A\u7EC4\u6CA1\u6709\u914D\u7F6E\u754C\u9762\u884C\u4E3A");
@@ -28645,7 +28982,9 @@ var GridFieldEditColumnController = class extends GridFieldColumnController {
28645
28982
  calcColumnReadonly(row) {
28646
28983
  var _a;
28647
28984
  const isReadOnly = !!((_a = this.editItem.editor) == null ? void 0 : _a.readOnly);
28648
- row.editColStates[this.fieldName].readonly = isReadOnly;
28985
+ if (isReadOnly) {
28986
+ row.editColStates[this.fieldName].readonly = isReadOnly;
28987
+ }
28649
28988
  }
28650
28989
  /**
28651
28990
  * 计算启用项的禁用
@@ -28960,7 +29299,11 @@ var PanelController = class extends ControlController {
28960
29299
  await Promise.all(
28961
29300
  panelItems.map(async (panelItem) => {
28962
29301
  var _a, _b;
28963
- const panelItemProvider = await getPanelItemProvider(panelItem);
29302
+ const panelItemProvider = await getPanelItemProvider(
29303
+ panelItem,
29304
+ panel.model,
29305
+ panel.view.model
29306
+ );
28964
29307
  if (!panelItemProvider) {
28965
29308
  return;
28966
29309
  }
@@ -29181,8 +29524,8 @@ var PanelItemState = class {
29181
29524
  /**
29182
29525
  * 是否只读
29183
29526
  *
29184
- * @author zhanghengfeng
29185
- * @date 2024-03-25 17:03:36
29527
+ * @author tony001
29528
+ * @date 2024-04-16 16:04:49
29186
29529
  * @type {boolean}
29187
29530
  */
29188
29531
  this.readonly = false;
@@ -29217,12 +29560,18 @@ var PanelItemState = class {
29217
29560
  return true;
29218
29561
  }
29219
29562
  });
29220
- let $readonly = false;
29563
+ let $readonly;
29221
29564
  Object.defineProperty(this, "readonly", {
29222
29565
  enumerable: true,
29223
29566
  configurable: true,
29224
29567
  get() {
29225
- return $readonly;
29568
+ if ($readonly !== void 0) {
29569
+ return $readonly;
29570
+ }
29571
+ if (this.context) {
29572
+ return !!(this.context.srfreadonly === true || this.context.srfreadonly === "true");
29573
+ }
29574
+ return false;
29226
29575
  },
29227
29576
  set(val) {
29228
29577
  $readonly = val;
@@ -29258,6 +29607,7 @@ var PanelItemController = class {
29258
29607
  required: void 0
29259
29608
  };
29260
29609
  this.state = this.createState();
29610
+ this.state.context = this.panel.context;
29261
29611
  }
29262
29612
  /**
29263
29613
  * 数据父容器
@@ -29329,9 +29679,6 @@ var PanelItemController = class {
29329
29679
  if (labelSysCss == null ? void 0 : labelSysCss.cssName) {
29330
29680
  this.state.class.label.push(labelSysCss.cssName);
29331
29681
  }
29332
- if (this.panel.context.srfreadonly === true || this.panel.context.srfreadonly === "true") {
29333
- this.state.readonly = true;
29334
- }
29335
29682
  }
29336
29683
  destroy() {
29337
29684
  }
@@ -29629,7 +29976,7 @@ import { clone as clone30 } from "ramda";
29629
29976
  import { isString as isString2 } from "lodash-es";
29630
29977
 
29631
29978
  // src/controller/control/search-bar/search-bar-filter.controller.ts
29632
- import { RuntimeModelError as RuntimeModelError64 } from "@ibiz-template/core";
29979
+ import { RuntimeModelError as RuntimeModelError65 } from "@ibiz-template/core";
29633
29980
 
29634
29981
  // src/controller/control/search-bar/util.ts
29635
29982
  var ItemsValueOPs = [
@@ -29710,7 +30057,7 @@ var SearchBarFilterController = class {
29710
30057
  async init() {
29711
30058
  if (!this.noEditor) {
29712
30059
  if (!this.model.editor) {
29713
- throw new RuntimeModelError64(this.model, "\u7F3A\u5C11\u7F16\u8F91\u5668\u6A21\u578B");
30060
+ throw new RuntimeModelError65(this.model, "\u7F3A\u5C11\u7F16\u8F91\u5668\u6A21\u578B");
29714
30061
  }
29715
30062
  this.editorProvider = await getEditorProvider(this.model.editor);
29716
30063
  if (this.editorProvider) {
@@ -31192,6 +31539,7 @@ var TabExpPanelController = class extends ControlController {
31192
31539
  navViewMsg.isRoutePushed = true;
31193
31540
  }
31194
31541
  this.evt.emit("onNavViewChange", { navViewMsg });
31542
+ this.evt.emit("onTabChange", { tab });
31195
31543
  }
31196
31544
  /**
31197
31545
  * 当前激活tab模型
@@ -31280,7 +31628,7 @@ var TabExpPanelController = class extends ControlController {
31280
31628
  // src/controller/control/tree/tree.controller.ts
31281
31629
  import {
31282
31630
  RuntimeError as RuntimeError60,
31283
- RuntimeModelError as RuntimeModelError65,
31631
+ RuntimeModelError as RuntimeModelError66,
31284
31632
  recursiveIterate as recursiveIterate11
31285
31633
  } from "@ibiz-template/core";
31286
31634
  import { isNil as isNil30 } from "ramda";
@@ -32233,7 +32581,7 @@ var TreeController = class extends MDControlController {
32233
32581
  const { sortAppDEFieldId, sortDir, allowOrder } = orderNodeModel;
32234
32582
  if (allowOrder === true) {
32235
32583
  if (!sortAppDEFieldId) {
32236
- throw new RuntimeModelError65(orderNodeModel, "\u7F3A\u5C11\u914D\u7F6E\u6392\u5E8F\u5C5E\u6027");
32584
+ throw new RuntimeModelError66(orderNodeModel, "\u7F3A\u5C11\u914D\u7F6E\u6392\u5E8F\u5C5E\u6027");
32237
32585
  }
32238
32586
  const sortField = sortAppDEFieldId.toLowerCase();
32239
32587
  const isAsc = sortDir === "ASC";
@@ -32318,7 +32666,7 @@ var TreeController = class extends MDControlController {
32318
32666
  async modifyNodeText(nodeData, text) {
32319
32667
  const model = this.getNodeModel(nodeData._nodeId);
32320
32668
  if (!model.allowEditText) {
32321
- throw new RuntimeModelError65(model, "\u6811\u8282\u70B9\u6CA1\u6709\u914D\u7F6E\u7F16\u8F91\u6A21\u5F0F\uFF1A\u540D\u79F0");
32669
+ throw new RuntimeModelError66(model, "\u6811\u8282\u70B9\u6CA1\u6709\u914D\u7F6E\u7F16\u8F91\u6A21\u5F0F\uFF1A\u540D\u79F0");
32322
32670
  }
32323
32671
  if (nodeData._nodeType !== "DE") {
32324
32672
  throw new RuntimeError60("\u4E0D\u662F\u5B9E\u4F53\u6811\u8282\u70B9\u6570\u636E");
@@ -32733,7 +33081,7 @@ var WizardPanelController = class extends ControlController {
32733
33081
  };
32734
33082
 
32735
33083
  // src/controller/control/md-ctrl/md-ctrl.controller.ts
32736
- import { RuntimeModelError as RuntimeModelError66 } from "@ibiz-template/core";
33084
+ import { RuntimeModelError as RuntimeModelError67 } from "@ibiz-template/core";
32737
33085
  import { isNil as isNil31 } from "ramda";
32738
33086
 
32739
33087
  // src/controller/control/md-ctrl/md-ctrl.service.ts
@@ -32942,7 +33290,7 @@ var MDCtrlController = class extends MDControlController {
32942
33290
  const { enableGroup, groupMode, groupAppDEFieldId } = this.model;
32943
33291
  if (enableGroup && groupMode) {
32944
33292
  if (!groupAppDEFieldId) {
32945
- throw new RuntimeModelError66(this.model, "\u5206\u7EC4\u5C5E\u6027\u6CA1\u6709\u914D\u7F6E");
33293
+ throw new RuntimeModelError67(this.model, "\u5206\u7EC4\u5C5E\u6027\u6CA1\u6709\u914D\u7F6E");
32946
33294
  }
32947
33295
  if (groupMode === "AUTO") {
32948
33296
  this.handleAutoGroup();
@@ -33009,7 +33357,7 @@ var MDCtrlController = class extends MDControlController {
33009
33357
  async handleCodeListGroup() {
33010
33358
  const { groupAppDEFieldId, groupCodeListId } = this.model;
33011
33359
  if (!groupCodeListId) {
33012
- throw new RuntimeModelError66(this.model, "\u5206\u7EC4\u4EE3\u7801\u8868\u6CA1\u6709\u914D\u7F6E");
33360
+ throw new RuntimeModelError67(this.model, "\u5206\u7EC4\u4EE3\u7801\u8868\u6CA1\u6709\u914D\u7F6E");
33013
33361
  }
33014
33362
  const { items } = this.state;
33015
33363
  const groupMap = /* @__PURE__ */ new Map();
@@ -33039,7 +33387,7 @@ var MDCtrlController = class extends MDControlController {
33039
33387
  };
33040
33388
 
33041
33389
  // src/controller/control/kanban/kanban.controller.ts
33042
- import { RuntimeError as RuntimeError62, RuntimeModelError as RuntimeModelError67 } from "@ibiz-template/core";
33390
+ import { RuntimeError as RuntimeError62, RuntimeModelError as RuntimeModelError68 } from "@ibiz-template/core";
33043
33391
  import { isNil as isNil32 } from "ramda";
33044
33392
 
33045
33393
  // src/controller/control/kanban/kanban.service.ts
@@ -33118,10 +33466,10 @@ var KanbanController = class extends DataViewControlController {
33118
33466
  const sortField = this.model.minorSortAppDEFieldId;
33119
33467
  const { minorSortDir } = this.model;
33120
33468
  if (!sortField) {
33121
- throw new RuntimeModelError67(this.model, "\u6392\u5E8F\u5C5E\u6027\u6CA1\u914D\u7F6E");
33469
+ throw new RuntimeModelError68(this.model, "\u6392\u5E8F\u5C5E\u6027\u6CA1\u914D\u7F6E");
33122
33470
  }
33123
33471
  if (!minorSortDir) {
33124
- throw new RuntimeModelError67(this.model, "\u6392\u5E8F\u65B9\u5411\u6CA1\u914D\u7F6E");
33472
+ throw new RuntimeModelError68(this.model, "\u6392\u5E8F\u65B9\u5411\u6CA1\u914D\u7F6E");
33125
33473
  }
33126
33474
  const isAsc = minorSortDir === "ASC";
33127
33475
  items.forEach((item) => {
@@ -33301,7 +33649,7 @@ var KanbanController = class extends DataViewControlController {
33301
33649
  async handleCodeListGroup() {
33302
33650
  const { groupAppDEFieldId, groupCodeListId } = this.model;
33303
33651
  if (!groupCodeListId) {
33304
- throw new RuntimeModelError67(this.model, "\u5206\u7EC4\u4EE3\u7801\u8868\u6CA1\u6709\u914D\u7F6E");
33652
+ throw new RuntimeModelError68(this.model, "\u5206\u7EC4\u4EE3\u7801\u8868\u6CA1\u6709\u914D\u7F6E");
33305
33653
  }
33306
33654
  const { items } = this.state;
33307
33655
  const groupMap = /* @__PURE__ */ new Map();
@@ -33597,7 +33945,7 @@ var KanbanController = class extends DataViewControlController {
33597
33945
  // src/controller/control/tree-grid-ex/tree-grid-ex.controller.ts
33598
33946
  import {
33599
33947
  RuntimeError as RuntimeError63,
33600
- RuntimeModelError as RuntimeModelError68,
33948
+ RuntimeModelError as RuntimeModelError69,
33601
33949
  awaitTimeout as awaitTimeout3,
33602
33950
  recursiveIterate as recursiveIterate12
33603
33951
  } from "@ibiz-template/core";
@@ -33877,7 +34225,7 @@ var TreeGridExController = class extends TreeController {
33877
34225
  throw new RuntimeError63("\u6682\u4E0D\u652F\u6301\u65B0\u5EFA");
33878
34226
  }
33879
34227
  if (!updateAppDEActionId) {
33880
- throw new RuntimeModelError68(nodeModel, "\u6811\u8282\u70B9\u6CA1\u6709\u914D\u7F6E\u66F4\u65B0\u5B9E\u4F53\u884C\u4E3A");
34228
+ throw new RuntimeModelError69(nodeModel, "\u6811\u8282\u70B9\u6CA1\u6709\u914D\u7F6E\u66F4\u65B0\u5B9E\u4F53\u884C\u4E3A");
33881
34229
  }
33882
34230
  const deName = calcDeCodeNameById(appDataEntityId);
33883
34231
  const tempContext = this.context.clone();
@@ -34148,7 +34496,7 @@ var TreeGridExColumnController = class {
34148
34496
  import {
34149
34497
  DataTypes as DataTypes5,
34150
34498
  RuntimeError as RuntimeError64,
34151
- RuntimeModelError as RuntimeModelError69
34499
+ RuntimeModelError as RuntimeModelError70
34152
34500
  } from "@ibiz-template/core";
34153
34501
  import { clone as clone32 } from "ramda";
34154
34502
  import dayjs7 from "dayjs";
@@ -34179,7 +34527,7 @@ var TreeGridExNodeColumnController = class {
34179
34527
  }
34180
34528
  );
34181
34529
  if (!nodeColumn || !nodeDataItem) {
34182
- throw new RuntimeModelError69(
34530
+ throw new RuntimeModelError70(
34183
34531
  nodeModel,
34184
34532
  "\u8282\u70B9\u6CA1\u6709\u914D\u7F6E\u5BF9\u5E94\u8868\u683C\u5217".concat(this.fieldColumn.name, "\u7684\u6570\u636E\u9879")
34185
34533
  );
@@ -34193,7 +34541,7 @@ var TreeGridExNodeColumnController = class {
34193
34541
  }
34194
34542
  );
34195
34543
  if (!nodeEditItem) {
34196
- throw new RuntimeModelError69(
34544
+ throw new RuntimeModelError70(
34197
34545
  nodeModel,
34198
34546
  "\u6CA1\u6709\u627E\u5230\u5BF9\u5E94\u8868\u683C\u5217".concat(this.fieldColumn.name, "\u7684\u7F16\u8F91\u9879\u6A21\u578B")
34199
34547
  );
@@ -34693,7 +35041,7 @@ var TreeGridExUAColumnController = class extends TreeGridExColumnController {
34693
35041
  };
34694
35042
 
34695
35043
  // src/controller/control/tree-grid/tree-grid.controller.ts
34696
- import { RuntimeModelError as RuntimeModelError70 } from "@ibiz-template/core";
35044
+ import { RuntimeModelError as RuntimeModelError71 } from "@ibiz-template/core";
34697
35045
  var TreeGridController = class extends GridController {
34698
35046
  constructor() {
34699
35047
  super(...arguments);
@@ -34738,10 +35086,10 @@ var TreeGridController = class extends GridController {
34738
35086
  return item.treeColumnMode === 2 || item.treeColumnMode === 3;
34739
35087
  });
34740
35088
  if (!treeGridParent) {
34741
- throw new RuntimeModelError70(this.model, "\u6811\u8868\u683C\u65E0\u503C\u5217\u6A21\u5F0F");
35089
+ throw new RuntimeModelError71(this.model, "\u6811\u8868\u683C\u65E0\u503C\u5217\u6A21\u5F0F");
34742
35090
  }
34743
35091
  if (!treeGridValue) {
34744
- throw new RuntimeModelError70(this.model, "\u6811\u8868\u683C\u65E0\u7236\u503C\u5217\u6A21\u5F0F");
35092
+ throw new RuntimeModelError71(this.model, "\u6811\u8868\u683C\u65E0\u7236\u503C\u5217\u6A21\u5F0F");
34745
35093
  }
34746
35094
  this.treeGridValueField = treeGridValue.appDEFieldId.toLowerCase();
34747
35095
  this.treeGridParentField = treeGridParent.appDEFieldId.toLowerCase();
@@ -35488,7 +35836,7 @@ var ReportPanelController = class extends ControlController {
35488
35836
  import {
35489
35837
  awaitTimeout as awaitTimeout4,
35490
35838
  RuntimeError as RuntimeError66,
35491
- RuntimeModelError as RuntimeModelError71
35839
+ RuntimeModelError as RuntimeModelError72
35492
35840
  } from "@ibiz-template/core";
35493
35841
 
35494
35842
  // src/controller/control/gantt/gantt.service.ts
@@ -35885,7 +36233,7 @@ var GanttController = class extends TreeGridExController {
35885
36233
  }
35886
36234
  ));
35887
36235
  if (result === -1) {
35888
- throw new RuntimeModelError71(
36236
+ throw new RuntimeModelError72(
35889
36237
  nodeModel,
35890
36238
  "\u7F3A\u5C11".concat(nodeModel.id.toLowerCase(), "_opendata\u7684\u89C6\u56FE\u903B\u8F91")
35891
36239
  );
@@ -37239,7 +37587,7 @@ var ViewEngineBase = class {
37239
37587
  };
37240
37588
 
37241
37589
  // src/engine/md-view.engine.ts
37242
- import { RuntimeModelError as RuntimeModelError72 } from "@ibiz-template/core";
37590
+ import { RuntimeModelError as RuntimeModelError73 } from "@ibiz-template/core";
37243
37591
  import { clone as clone34 } from "ramda";
37244
37592
  var MDViewEngine = class extends ViewEngineBase {
37245
37593
  /**
@@ -37496,7 +37844,7 @@ var MDViewEngine = class extends ViewEngineBase {
37496
37844
  view: this.view
37497
37845
  }));
37498
37846
  if (result === -1) {
37499
- throw new RuntimeModelError72(this.view.model, "\u7F3A\u5C11opendata\u7684\u89C6\u56FE\u903B\u8F91");
37847
+ throw new RuntimeModelError73(this.view.model, "\u7F3A\u5C11opendata\u7684\u89C6\u56FE\u903B\u8F91");
37500
37848
  } else {
37501
37849
  return {
37502
37850
  cancel: !result.ok
@@ -37519,7 +37867,7 @@ var MDViewEngine = class extends ViewEngineBase {
37519
37867
  (item) => item.id === "newdata"
37520
37868
  );
37521
37869
  if (!openAppViewLogic) {
37522
- throw new RuntimeModelError72(this.view.model, "\u7F3A\u5C11newdata\u7684\u89C6\u56FE\u903B\u8F91");
37870
+ throw new RuntimeModelError73(this.view.model, "\u7F3A\u5C11newdata\u7684\u89C6\u56FE\u903B\u8F91");
37523
37871
  }
37524
37872
  const params = clone34(this.view.params);
37525
37873
  if (copyMode) {
@@ -37533,7 +37881,7 @@ var MDViewEngine = class extends ViewEngineBase {
37533
37881
  view: this.view
37534
37882
  }));
37535
37883
  if (result === -1) {
37536
- throw new RuntimeModelError72(this.view.model, "\u7F3A\u5C11newdata\u7684\u89C6\u56FE\u903B\u8F91");
37884
+ throw new RuntimeModelError73(this.view.model, "\u7F3A\u5C11newdata\u7684\u89C6\u56FE\u903B\u8F91");
37537
37885
  } else {
37538
37886
  return {
37539
37887
  cancel: !result.ok
@@ -37956,13 +38304,13 @@ var ScriptExecutor = class extends LogicExecutor {
37956
38304
  };
37957
38305
 
37958
38306
  // src/logic-scheduler/executor/app-de-ui-logic-executor.ts
37959
- import { RuntimeModelError as RuntimeModelError73 } from "@ibiz-template/core";
38307
+ import { RuntimeModelError as RuntimeModelError74 } from "@ibiz-template/core";
37960
38308
  var AppDEUILogicExecutor = class extends LogicExecutor {
37961
38309
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
37962
38310
  execute(executeParams) {
37963
38311
  const { appDEUILogicId, appDataEntityId } = this.logic;
37964
38312
  if (!appDEUILogicId) {
37965
- throw new RuntimeModelError73(this.logic, "\u6CA1\u6709\u914D\u7F6E\u5B9E\u4F53\u754C\u9762\u903B\u8F91");
38313
+ throw new RuntimeModelError74(this.logic, "\u6CA1\u6709\u914D\u7F6E\u5B9E\u4F53\u754C\u9762\u903B\u8F91");
37966
38314
  }
37967
38315
  return execUILogic(appDEUILogicId, appDataEntityId, executeParams);
37968
38316
  }
@@ -38421,7 +38769,7 @@ var ItemDynaLogicTrigger = class extends LogicTrigger {
38421
38769
  };
38422
38770
 
38423
38771
  // src/logic-scheduler/trigger/timer-trigger.ts
38424
- import { RuntimeError as RuntimeError73, RuntimeModelError as RuntimeModelError74 } from "@ibiz-template/core";
38772
+ import { RuntimeError as RuntimeError73, RuntimeModelError as RuntimeModelError75 } from "@ibiz-template/core";
38425
38773
  var TimerTrigger = class extends LogicTrigger {
38426
38774
  constructor() {
38427
38775
  super(...arguments);
@@ -38429,7 +38777,7 @@ var TimerTrigger = class extends LogicTrigger {
38429
38777
  }
38430
38778
  start() {
38431
38779
  if (!this.logic.timer) {
38432
- throw new RuntimeModelError74(this.logic, "\u5B9A\u65F6\u5668\u7F3A\u5C11\u5B9A\u65F6\u95F4\u9694");
38780
+ throw new RuntimeModelError75(this.logic, "\u5B9A\u65F6\u5668\u7F3A\u5C11\u5B9A\u65F6\u95F4\u9694");
38433
38781
  }
38434
38782
  this.timer = setInterval(() => {
38435
38783
  if (!this.scheduler.defaultParamsCb) {
@@ -38451,7 +38799,7 @@ var TimerTrigger = class extends LogicTrigger {
38451
38799
  import {
38452
38800
  ModelError as ModelError34,
38453
38801
  RuntimeError as RuntimeError74,
38454
- RuntimeModelError as RuntimeModelError75
38802
+ RuntimeModelError as RuntimeModelError76
38455
38803
  } from "@ibiz-template/core";
38456
38804
  import { notNilEmpty as notNilEmpty10 } from "qx-util";
38457
38805
  var AppUILogicExecutor = class extends LogicExecutor {
@@ -38497,7 +38845,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
38497
38845
  } else {
38498
38846
  openViewRef = appUILogic.openDataAppView;
38499
38847
  if (!openViewRef) {
38500
- throw new RuntimeModelError75(
38848
+ throw new RuntimeModelError76(
38501
38849
  appUILogic,
38502
38850
  "opendata\u89C6\u56FE\u903B\u8F91\u6CA1\u6709\u914D\u7F6E\u9ED8\u8BA4\u6253\u5F00\u89C6\u56FE"
38503
38851
  );
@@ -38505,7 +38853,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
38505
38853
  }
38506
38854
  const openView = openViewRef.refAppViewId;
38507
38855
  if (!openView) {
38508
- throw new RuntimeModelError75(
38856
+ throw new RuntimeModelError76(
38509
38857
  appUILogic,
38510
38858
  "opendata\u89C6\u56FE\u903B\u8F91\u7684\u9ED8\u8BA4\u6253\u5F00\u89C6\u56FE\u6CA1\u6709\u5B9E\u9645\u5F15\u7528\u89C6\u56FE"
38511
38859
  );
@@ -38535,7 +38883,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
38535
38883
  );
38536
38884
  const typeFileName = appDataEntity.formTypeAppDEFieldId || appDataEntity.dataTypeAppDEFieldId;
38537
38885
  if (!typeFileName) {
38538
- throw new RuntimeModelError75(
38886
+ throw new RuntimeModelError76(
38539
38887
  appUILogic,
38540
38888
  "".concat(appDataEntity.codeName, "[\u591A\u8868\u5355\u5B9E\u4F53] or [\u7D22\u5F15\u5B9E\u4F53]\u7F3A\u5C11\u7C7B\u578B\u5C5E\u6027\u914D\u7F6E")
38541
38889
  );
@@ -38543,7 +38891,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
38543
38891
  const { data } = parameters;
38544
38892
  const formTypeValue = data[0][typeFileName];
38545
38893
  if (!formTypeValue) {
38546
- throw new RuntimeModelError75(appUILogic, "\u6570\u636E\u6E90\u65E0\u8868\u5355\u7C7B\u578B\u5E94\u7528\u5B9E\u4F53\u5C5E\u6027\u503C");
38894
+ throw new RuntimeModelError76(appUILogic, "\u6570\u636E\u6E90\u65E0\u8868\u5355\u7C7B\u578B\u5E94\u7528\u5B9E\u4F53\u5C5E\u6027\u503C");
38547
38895
  }
38548
38896
  const openViewRefs = appUILogic.openDataAppViews;
38549
38897
  const findView = openViewRefs == null ? void 0 : openViewRefs.find((item) => item.refMode === formTypeValue);
@@ -38585,7 +38933,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
38585
38933
  return viewRef.refMode.toLowerCase() !== parentDeName;
38586
38934
  });
38587
38935
  if (!newViewRef) {
38588
- throw new RuntimeModelError75(
38936
+ throw new RuntimeModelError76(
38589
38937
  appUILogic,
38590
38938
  "\u6CA1\u6709\u627E\u5230\u6279\u6DFB\u52A0\u9700\u8981\u6253\u5F00\u7684\u9009\u62E9\u89C6\u56FE"
38591
38939
  );
@@ -38595,7 +38943,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
38595
38943
  } else {
38596
38944
  newViewRef = newDataAppView;
38597
38945
  if (!newViewRef || !newViewRef.refAppViewId) {
38598
- throw new RuntimeModelError75(
38946
+ throw new RuntimeModelError76(
38599
38947
  appUILogic,
38600
38948
  "newdata\u89C6\u56FE\u903B\u8F91\u6CA1\u6709\u914D\u7F6E\u9ED8\u8BA4\u65B0\u5EFA\u6570\u636E\u89C6\u56FE"
38601
38949
  );
@@ -38659,7 +39007,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
38659
39007
  const { wizardAppView, newDataAppViews } = appUILogic;
38660
39008
  const { context, params, ...rest } = parameters;
38661
39009
  if (!wizardAppView || !wizardAppView.refAppViewId) {
38662
- throw new RuntimeModelError75(appUILogic, "\u7F3A\u5C11\u9ED8\u8BA4\u7D22\u5F15\u5B9E\u4F53\u9009\u62E9\u89C6\u56FE");
39010
+ throw new RuntimeModelError76(appUILogic, "\u7F3A\u5C11\u9ED8\u8BA4\u7D22\u5F15\u5B9E\u4F53\u9009\u62E9\u89C6\u56FE");
38663
39011
  }
38664
39012
  const result = await ibiz.commands.execute(
38665
39013
  OpenAppViewCommand.TAG,
@@ -38710,7 +39058,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
38710
39058
  const minorDERs = selfDe.minorAppDERSs;
38711
39059
  const pickParentDeName = newViewRef.refMode.toLowerCase();
38712
39060
  if (!minorDERs) {
38713
- throw new RuntimeModelError75(selfDe, "\u5B9E\u4F53\u6CA1\u6709\u4ECE\u5173\u7CFB\u96C6\u5408\uFF01");
39061
+ throw new RuntimeModelError76(selfDe, "\u5B9E\u4F53\u6CA1\u6709\u4ECE\u5173\u7CFB\u96C6\u5408\uFF01");
38714
39062
  }
38715
39063
  let pickParentFieldName = "";
38716
39064
  minorDERs == null ? void 0 : minorDERs.forEach((item) => {
@@ -38807,12 +39155,12 @@ var ControlEventTrigger = class extends LogicTrigger {
38807
39155
  };
38808
39156
 
38809
39157
  // src/logic-scheduler/executor/app-ui-action-executor.ts
38810
- import { RuntimeModelError as RuntimeModelError76 } from "@ibiz-template/core";
39158
+ import { RuntimeModelError as RuntimeModelError77 } from "@ibiz-template/core";
38811
39159
  var AppDEUIActionExecutor = class extends LogicExecutor {
38812
39160
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
38813
39161
  execute(executeParams) {
38814
39162
  if (!this.logic.appDEUIActionId) {
38815
- throw new RuntimeModelError76(
39163
+ throw new RuntimeModelError77(
38816
39164
  this.logic,
38817
39165
  "\u903B\u8F91\u4E2D\u7F3A\u5C11\u89E6\u53D1\u5E94\u7528\u5B9E\u4F53\u754C\u9762\u884C\u4E3Aid"
38818
39166
  );
@@ -39005,6 +39353,7 @@ export {
39005
39353
  AppDECounter,
39006
39354
  AppDECounterProvider,
39007
39355
  AppDataEntity,
39356
+ AppDataUploadViewController,
39008
39357
  AppFuncCommand,
39009
39358
  AppMenuController,
39010
39359
  AppMenuIconViewController,
@@ -39246,6 +39595,7 @@ export {
39246
39595
  convertNavData,
39247
39596
  convertNavDataByArray,
39248
39597
  convertObjectToNavParams,
39598
+ downloadImportTemplate,
39249
39599
  execDELogic,
39250
39600
  execDELogicAction,
39251
39601
  execDELogicById,
@@ -39279,6 +39629,7 @@ export {
39279
39629
  getCtrlTeleportParams,
39280
39630
  getDEMethodProvider,
39281
39631
  getDERedirectToView,
39632
+ getDataImportModels,
39282
39633
  getDeACMode,
39283
39634
  getDefaultValue,
39284
39635
  getEditorProvider,
@@ -39311,6 +39662,7 @@ export {
39311
39662
  hasDeCodeName,
39312
39663
  hasSubRoute,
39313
39664
  importData,
39665
+ importData2,
39314
39666
  install2 as install,
39315
39667
  installCommand,
39316
39668
  isDataContainer,
@@ -39319,6 +39671,7 @@ export {
39319
39671
  isSimpleItems,
39320
39672
  isValueChange,
39321
39673
  matchMainState,
39674
+ openDataImport,
39322
39675
  openRedirectView,
39323
39676
  parseSubFieldInfo,
39324
39677
  parseUserParams,
@@ -39343,6 +39696,7 @@ export {
39343
39696
  registerUIActionProvider,
39344
39697
  registerUILogicNodeProvider,
39345
39698
  registerViewProvider,
39699
+ selectAndImport,
39346
39700
  strContain,
39347
39701
  testCond,
39348
39702
  toLocalOpenWFRedirectView,