@ibiz-template/runtime 0.7.41-alpha.116 → 0.7.41-alpha.118

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 (46) hide show
  1. package/dist/index.esm.js +141 -39
  2. package/dist/index.system.min.js +1 -1
  3. package/out/controller/common/control/md-control.controller.d.ts +4 -3
  4. package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
  5. package/out/controller/common/control/md-control.controller.js +2 -1
  6. package/out/controller/control/grid/grid/grid.controller.d.ts +3 -2
  7. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  8. package/out/controller/control/grid/grid/grid.controller.js +28 -7
  9. package/out/controller/control/md-ctrl/md-ctrl.controller.d.ts +2 -1
  10. package/out/controller/control/md-ctrl/md-ctrl.controller.d.ts.map +1 -1
  11. package/out/controller/control/md-ctrl/md-ctrl.controller.js +28 -7
  12. package/out/controller/control/toolbar/toolbar.controller.d.ts.map +1 -1
  13. package/out/controller/control/toolbar/toolbar.controller.js +33 -18
  14. package/out/interface/api/common/i-api-export-params.d.ts +24 -0
  15. package/out/interface/api/common/i-api-export-params.d.ts.map +1 -1
  16. package/out/interface/api/controller/control/i-api-tree-grid.controller.d.ts +3 -3
  17. package/out/interface/api/controller/control/i-api-tree-grid.controller.d.ts.map +1 -1
  18. package/out/interface/api/state/control/i-api-md-control.state.d.ts +7 -0
  19. package/out/interface/api/state/control/i-api-md-control.state.d.ts.map +1 -1
  20. package/out/interface/controller/controller/control/i-grid.controller.d.ts +3 -3
  21. package/out/interface/controller/controller/control/i-grid.controller.d.ts.map +1 -1
  22. package/out/interface/controller/controller/control/i-md-control.controller.d.ts +4 -3
  23. package/out/interface/controller/controller/control/i-md-control.controller.d.ts.map +1 -1
  24. package/out/platform/provider/platform-provider-base.d.ts.map +1 -1
  25. package/out/platform/provider/platform-provider-base.js +9 -0
  26. package/out/service/service/control/md-control.service.d.ts +2 -1
  27. package/out/service/service/control/md-control.service.d.ts.map +1 -1
  28. package/out/service/service/control/md-control.service.js +14 -4
  29. package/out/ui-action/provider/front-ui-action-provider.d.ts.map +1 -1
  30. package/out/ui-action/provider/front-ui-action-provider.js +34 -0
  31. package/out/ui-action/provider/ui-action-provider-base.d.ts.map +1 -1
  32. package/out/ui-action/provider/ui-action-provider-base.js +5 -0
  33. package/package.json +5 -5
  34. package/src/controller/common/control/md-control.controller.ts +7 -2
  35. package/src/controller/control/grid/grid/grid.controller.ts +38 -7
  36. package/src/controller/control/md-ctrl/md-ctrl.controller.ts +36 -6
  37. package/src/controller/control/toolbar/toolbar.controller.ts +41 -21
  38. package/src/interface/api/common/i-api-export-params.ts +28 -0
  39. package/src/interface/api/controller/control/i-api-tree-grid.controller.ts +2 -2
  40. package/src/interface/api/state/control/i-api-md-control.state.ts +8 -0
  41. package/src/interface/controller/controller/control/i-grid.controller.ts +3 -3
  42. package/src/interface/controller/controller/control/i-md-control.controller.ts +6 -2
  43. package/src/platform/provider/platform-provider-base.ts +15 -0
  44. package/src/service/service/control/md-control.service.ts +15 -3
  45. package/src/ui-action/provider/front-ui-action-provider.ts +37 -0
  46. package/src/ui-action/provider/ui-action-provider-base.ts +6 -0
package/dist/index.esm.js CHANGED
@@ -30521,6 +30521,7 @@ var MDControlController = class extends ControlController {
30521
30521
  this.state.groups = [];
30522
30522
  this.state.hideNoDataImage = false;
30523
30523
  this.state.enableGroup = !!this.model.enableGroup;
30524
+ this.state.isSelectedAll = false;
30524
30525
  }
30525
30526
  /**
30526
30527
  * 批操作工具栏
@@ -31090,7 +31091,7 @@ var MDControlController = class extends ControlController {
31090
31091
  /**
31091
31092
  * 数据导出
31092
31093
  *
31093
- * @param {MouseEvent} event 原生js点击事件
31094
+ * @param {{ event?: MouseEvent; params?: IApiExportParams }} _args 导出参数
31094
31095
  * @returns {*} {Promise<void>}
31095
31096
  * @memberof MDControlController
31096
31097
  */
@@ -32354,11 +32355,15 @@ var MDControlService2 = class extends ControlService {
32354
32355
  * @date 2022-08-31 17:08:41
32355
32356
  * @param {IContext} context 上下文
32356
32357
  * @param {IParams} [params={}] 视图参数
32358
+ * @param {IParams} [args={}] 额外参数
32357
32359
  * @returns {*} {Promise<IHttpResponse>}
32358
32360
  */
32359
- async fetch(context, params = {}) {
32361
+ async fetch(context, params = {}, args = {}) {
32360
32362
  var _a3;
32361
- const fetchAction = ((_a3 = this.model.fetchControlAction) == null ? void 0 : _a3.appDEMethodId) || "fetchdefault";
32363
+ let fetchAction = ((_a3 = this.model.fetchControlAction) == null ? void 0 : _a3.appDEMethodId) || "fetchdefault";
32364
+ if (args.srfexportdataset) {
32365
+ fetchAction = args.srfexportdataset;
32366
+ }
32362
32367
  let res = await this.exec(fetchAction, context, params);
32363
32368
  res = this.handleResponse(res);
32364
32369
  return res;
@@ -32475,9 +32480,13 @@ var MDControlService2 = class extends ControlService {
32475
32480
  context,
32476
32481
  this.model.appDataEntityId
32477
32482
  );
32483
+ let tempFetchAction = dataExport.appDEDataSetId || this.model.fetchControlAction.appDEMethodId;
32484
+ if (params.srfexportdataset) {
32485
+ tempFetchAction = params.srfexportdataset;
32486
+ }
32478
32487
  return entityService.file.export(
32479
32488
  dataExport,
32480
- dataExport.appDEDataSetId || this.model.fetchControlAction.appDEMethodId,
32489
+ tempFetchAction,
32481
32490
  context,
32482
32491
  params
32483
32492
  );
@@ -34977,6 +34986,10 @@ var UIActionProviderBase = class {
34977
34986
  presetParams.srfexportdataset = resultParams.srfexportdataset;
34978
34987
  delete resultParams.srfexportdataset;
34979
34988
  }
34989
+ if (resultParams.hasOwnProperty("srfexportdatakey")) {
34990
+ presetParams.srfexportdatakey = resultParams.srfexportdatakey;
34991
+ delete resultParams.srfexportdatakey;
34992
+ }
34980
34993
  if (resultParams.hasOwnProperty("srfasyncaction")) {
34981
34994
  presetParams.srfasyncaction = resultParams.srfasyncaction;
34982
34995
  delete resultParams.srfasyncaction;
@@ -35485,6 +35498,35 @@ var FrontUIActionProvider = class extends UIActionProviderBase {
35485
35498
  ...args.params,
35486
35499
  ...resultParams
35487
35500
  };
35501
+ const { actionTarget } = action;
35502
+ if ((actionTarget === "MULTIDATA" || actionTarget === "MULTIKEY") && args.view) {
35503
+ const srfexportdatakey = presetParams.srfexportdatakey || "srfkey";
35504
+ if (!args.params.srfallselected) {
35505
+ await args.view.call("ExportExcel" /* EXPORT_EXCEL */, {
35506
+ params: {
35507
+ type: "selectedRows",
35508
+ srfexportdatakey,
35509
+ srfexportdataset: exportDatasetCodeName,
35510
+ srfdataexport: appDEDataExport,
35511
+ srfdatatype: resultContext.srfdatatype
35512
+ }
35513
+ });
35514
+ } else {
35515
+ await args.view.call("ExportExcel" /* EXPORT_EXCEL */, {
35516
+ params: {
35517
+ type: "maxRowCount",
35518
+ srfexportdatakey,
35519
+ srfexportdataset: exportDatasetCodeName,
35520
+ srfdataexport: appDEDataExport,
35521
+ srfdatatype: resultContext.srfdatatype
35522
+ }
35523
+ });
35524
+ }
35525
+ return;
35526
+ }
35527
+ if (params && Object.prototype.hasOwnProperty.call(params, "srfallselected")) {
35528
+ delete params.srfallselected;
35529
+ }
35488
35530
  if (isAsyncAction) {
35489
35531
  const app = await ibiz.hub.getAppAsync(action.appId);
35490
35532
  await app.net.request(url, {
@@ -35895,18 +35937,27 @@ var ToolbarController = class extends ControlController {
35895
35937
  * @memberof ToolbarController
35896
35938
  */
35897
35939
  async getToolbarEventArgs() {
35898
- var _a3;
35940
+ var _a3, _b2;
35899
35941
  const result = this.getEventArgs();
35942
+ const newParams = {
35943
+ ...result.params
35944
+ };
35900
35945
  let data = [];
35901
35946
  if (this.xdataControl) {
35902
35947
  data = ((_a3 = this.xdataControl) == null ? void 0 : _a3.getData()) || [];
35948
+ if ((_b2 = this.xdataControl.state) == null ? void 0 : _b2.isSelectedAll) {
35949
+ Object.assign(newParams, {
35950
+ srfallselected: true
35951
+ });
35952
+ }
35903
35953
  } else {
35904
35954
  data = await this.ctx.view.call("GetData" /* GET_DATA */) || [];
35905
35955
  }
35906
35956
  return {
35907
35957
  ...result,
35908
35958
  data,
35909
- ctrl: this
35959
+ ctrl: this,
35960
+ params: newParams
35910
35961
  };
35911
35962
  }
35912
35963
  /**
@@ -36092,6 +36143,7 @@ var ToolbarController = class extends ControlController {
36092
36143
  }
36093
36144
  }
36094
36145
  async calcButtonState(data, appDeId, _params = {}) {
36146
+ const app = await ibiz.hub.getApp(this.context.srfappid);
36095
36147
  let _data = data;
36096
36148
  if (data && data instanceof ControlVO) {
36097
36149
  _data = data.getOrigin();
@@ -36108,21 +36160,21 @@ var ToolbarController = class extends ControlController {
36108
36160
  itemState.visible = false;
36109
36161
  }
36110
36162
  });
36111
- if (this.scheduler) {
36112
- const logicParams = {};
36113
- if (_params) {
36114
- Object.assign(logicParams, { ..._params });
36115
- }
36116
- if (_data) {
36117
- logicParams.data = [_data];
36118
- }
36119
- recursiveIterate3(
36120
- this.model,
36121
- (item) => {
36122
- const itemState = this.state.buttonsState[item.id];
36123
- if (!itemState) {
36124
- return;
36125
- }
36163
+ const logicParams = {};
36164
+ if (_params) {
36165
+ Object.assign(logicParams, { ..._params });
36166
+ }
36167
+ if (_data) {
36168
+ logicParams.data = [_data];
36169
+ }
36170
+ recursiveIterate3(
36171
+ this.model,
36172
+ (item) => {
36173
+ const itemState = this.state.buttonsState[item.id];
36174
+ if (!itemState) {
36175
+ return;
36176
+ }
36177
+ if (this.scheduler) {
36126
36178
  if (itemState.visible) {
36127
36179
  const dynaVisible = this.scheduler.triggerItemVisible(
36128
36180
  item.id,
@@ -36141,10 +36193,16 @@ var ToolbarController = class extends ControlController {
36141
36193
  itemState.disabled = !dynaEnable;
36142
36194
  }
36143
36195
  }
36144
- },
36145
- { childrenFields: ["detoolbarItems"] }
36146
- );
36147
- }
36196
+ }
36197
+ if (item.accessKey && itemState.visible) {
36198
+ const permitted = app.authority.calcByResCode(item.accessKey);
36199
+ if (!permitted) {
36200
+ itemState.visible = false;
36201
+ }
36202
+ }
36203
+ },
36204
+ { childrenFields: ["detoolbarItems"] }
36205
+ );
36148
36206
  this.state.hideSeparator = formatSeparator(
36149
36207
  "TOOLBAR",
36150
36208
  this.model.detoolbarItems,
@@ -53122,16 +53180,17 @@ var GridController = class extends MDControlController {
53122
53180
  * @author zk
53123
53181
  * @date 2023-07-20 04:07:49
53124
53182
  * @param {MDCtrlLoadParams} args
53183
+ * @param {IParams} [fetchArgs={}] 透传给 service.fetch 的额外参数,如 srfexportdataset
53125
53184
  * @return {*}
53126
53185
  * @memberof GridController
53127
53186
  */
53128
- async loadData(args) {
53187
+ async loadData(args, fetchArgs = {}) {
53129
53188
  const { context } = this.handlerAbilityParams(args);
53130
53189
  const params = await this.getFetchParams(args == null ? void 0 : args.viewParam);
53131
53190
  let res;
53132
53191
  await this.startLoading();
53133
53192
  try {
53134
- res = await this.service.fetch(context, params);
53193
+ res = await this.service.fetch(context, params, fetchArgs);
53135
53194
  } finally {
53136
53195
  await this.endLoading();
53137
53196
  }
@@ -53280,7 +53339,12 @@ var GridController = class extends MDControlController {
53280
53339
  size: ((_a3 = this.dataExport) == null ? void 0 : _a3.maxRowCount) || ibiz.config.common.maxExportRowsDefault,
53281
53340
  page: 0
53282
53341
  };
53283
- data = await this.loadData({ viewParam });
53342
+ data = await this.loadData(
53343
+ { viewParam },
53344
+ {
53345
+ srfexportdataset: params.srfexportdataset || this.params.srfexportdataset
53346
+ }
53347
+ );
53284
53348
  } else if (type === "selectedRows") {
53285
53349
  data = this.getData();
53286
53350
  }
@@ -53296,7 +53360,10 @@ var GridController = class extends MDControlController {
53296
53360
  * @param params 额外参数
53297
53361
  */
53298
53362
  async excuteBackendExport(params) {
53299
- var _a3;
53363
+ let tempDataExport = this.dataExport;
53364
+ if (params.srfdataexport) {
53365
+ tempDataExport = params.srfdataexport;
53366
+ }
53300
53367
  const fetchParams = await this.getFetchParams({ ...this.params });
53301
53368
  let tempParams = {};
53302
53369
  const { type } = params;
@@ -53313,9 +53380,10 @@ var GridController = class extends MDControlController {
53313
53380
  ibiz.i18n.t("runtime.controller.control.grid.exported")
53314
53381
  );
53315
53382
  }
53383
+ const srfexportdatakey = params.srfexportdatakey || this.params.srfexportdatakey || "srfkey";
53316
53384
  tempParams = {
53317
53385
  page: 0,
53318
- srfkeys: selectedData.map((data) => data.srfkey).join(",")
53386
+ srfkeys: selectedData.map((data) => data[srfexportdatakey]).join(",")
53319
53387
  };
53320
53388
  } else if (type === "maxRowCount" || type === "customPage") {
53321
53389
  const { size } = this.state;
@@ -53325,12 +53393,21 @@ var GridController = class extends MDControlController {
53325
53393
  offset: (startPage - 1) * size,
53326
53394
  size: (endPage - startPage + 1) * size
53327
53395
  } : {
53328
- size: ((_a3 = this.dataExport) == null ? void 0 : _a3.maxRowCount) || ibiz.config.common.maxExportRowsDefault,
53396
+ size: (tempDataExport == null ? void 0 : tempDataExport.maxRowCount) || ibiz.config.common.maxExportRowsDefault,
53329
53397
  page: 0
53330
53398
  };
53331
53399
  }
53400
+ if (params.srfexportdataset) {
53401
+ tempParams.srfexportdataset = params.srfexportdataset;
53402
+ }
53332
53403
  Object.assign(fetchParams, tempParams);
53333
- await this.service.exportData(this.dataExport, this.context, fetchParams);
53404
+ const tempContext = clone32(this.context);
53405
+ if (params.srfdatatype) {
53406
+ Object.assign(tempContext, {
53407
+ srfdatatype: params.srfdatatype
53408
+ });
53409
+ }
53410
+ await this.service.exportData(tempDataExport, tempContext, fetchParams);
53334
53411
  }
53335
53412
  /**
53336
53413
  * @description 导出数据
@@ -61194,16 +61271,17 @@ var MDCtrlController = class extends MDControlController {
61194
61271
  /**
61195
61272
  * @description 加载数据(只加载数据 不做其他操作)
61196
61273
  * @param {MDCtrlLoadParams} args
61274
+ * @param {IParams} [fetchArgs={}] 透传给 service.fetch 的额外参数,如 srfexportdataset
61197
61275
  * @returns {*} {Promise<IData[]>}
61198
61276
  * @memberof MDCtrlController
61199
61277
  */
61200
- async loadData(args) {
61278
+ async loadData(args, fetchArgs = {}) {
61201
61279
  const { context } = this.handlerAbilityParams(args);
61202
61280
  const params = await this.getFetchParams(args == null ? void 0 : args.viewParam);
61203
61281
  let res;
61204
61282
  await this.startLoading();
61205
61283
  try {
61206
- res = await this.service.fetch(context, params);
61284
+ res = await this.service.fetch(context, params, fetchArgs);
61207
61285
  } finally {
61208
61286
  await this.endLoading();
61209
61287
  }
@@ -61232,7 +61310,12 @@ var MDCtrlController = class extends MDControlController {
61232
61310
  size: ((_a3 = this.dataExport) == null ? void 0 : _a3.maxRowCount) || ibiz.config.common.maxExportRowsDefault,
61233
61311
  page: 0
61234
61312
  };
61235
- data = await this.loadData({ viewParam });
61313
+ data = await this.loadData(
61314
+ { viewParam },
61315
+ {
61316
+ srfexportdataset: params.srfexportdataset || this.params.srfexportdataset
61317
+ }
61318
+ );
61236
61319
  } else if (type === "selectedRows") {
61237
61320
  data = this.getData();
61238
61321
  }
@@ -61296,7 +61379,10 @@ var MDCtrlController = class extends MDControlController {
61296
61379
  * @memberof MDCtrlController
61297
61380
  */
61298
61381
  async excuteBackendExport(params) {
61299
- var _a3;
61382
+ let tempDataExport = this.dataExport;
61383
+ if (params.srfdataexport) {
61384
+ tempDataExport = params.srfdataexport;
61385
+ }
61300
61386
  const fetchParams = await this.getFetchParams({ ...this.params });
61301
61387
  let tempParams = {};
61302
61388
  const { type } = params;
@@ -61313,9 +61399,10 @@ var MDCtrlController = class extends MDControlController {
61313
61399
  ibiz.i18n.t("runtime.controller.common.md.exported")
61314
61400
  );
61315
61401
  }
61402
+ const srfexportdatakey = params.srfexportdatakey || this.params.srfexportdatakey || "srfkey";
61316
61403
  tempParams = {
61317
61404
  page: 0,
61318
- srfkeys: selectedData.map((data) => data.srfkey).join(",")
61405
+ srfkeys: selectedData.map((data) => data[srfexportdatakey]).join(",")
61319
61406
  };
61320
61407
  } else if (type === "maxRowCount" || type === "customPage") {
61321
61408
  const { size } = this.state;
@@ -61325,12 +61412,21 @@ var MDCtrlController = class extends MDControlController {
61325
61412
  offset: (startPage - 1) * size,
61326
61413
  size: (endPage - startPage + 1) * size
61327
61414
  } : {
61328
- size: ((_a3 = this.dataExport) == null ? void 0 : _a3.maxRowCount) || ibiz.config.common.maxExportRowsDefault,
61415
+ size: (tempDataExport == null ? void 0 : tempDataExport.maxRowCount) || ibiz.config.common.maxExportRowsDefault,
61329
61416
  page: 0
61330
61417
  };
61331
61418
  }
61419
+ if (params.srfexportdataset) {
61420
+ tempParams.srfexportdataset = params.srfexportdataset;
61421
+ }
61332
61422
  Object.assign(fetchParams, tempParams);
61333
- await this.service.exportData(this.dataExport, this.context, fetchParams);
61423
+ const tempContext = clone38(this.context);
61424
+ if (params.srfdatatype) {
61425
+ Object.assign(tempContext, {
61426
+ srfdatatype: params.srfdatatype
61427
+ });
61428
+ }
61429
+ await this.service.exportData(tempDataExport, tempContext, fetchParams);
61334
61430
  }
61335
61431
  /**
61336
61432
  * @description 导出数据
@@ -68388,6 +68484,12 @@ var PlatformProviderBase = class {
68388
68484
  */
68389
68485
  async backendExport(args) {
68390
68486
  const { baseURL, url, method, params, data, newWindow } = args;
68487
+ if (data && Object.prototype.hasOwnProperty.call(data, "srfexportdataset")) {
68488
+ delete data.srfexportdataset;
68489
+ }
68490
+ if (data && Object.prototype.hasOwnProperty.call(data, "srfexportdatakey")) {
68491
+ delete data.srfexportdatakey;
68492
+ }
68391
68493
  const response = await ibiz.net.request(url, {
68392
68494
  data,
68393
68495
  method,