@ibiz-template/runtime 0.7.4 → 0.7.6
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.
- package/dist/index.esm.js +704 -78
- package/dist/index.system.min.js +1 -1
- package/out/application.d.ts +10 -1
- package/out/application.d.ts.map +1 -1
- package/out/application.js +13 -0
- package/out/controller/common/view/view.controller.d.ts.map +1 -1
- package/out/controller/common/view/view.controller.js +12 -8
- package/out/controller/control/dashboard/custom-dashboard.controller.d.ts +80 -6
- package/out/controller/control/dashboard/custom-dashboard.controller.d.ts.map +1 -1
- package/out/controller/control/dashboard/custom-dashboard.controller.js +109 -14
- package/out/controller/control/dashboard/dashboard.controller.d.ts +8 -0
- package/out/controller/control/dashboard/dashboard.controller.d.ts.map +1 -1
- package/out/controller/control/dashboard/dashboard.controller.js +17 -0
- package/out/controller/control/dashboard/portlet/chart-portlet/chart-portlet.controller.d.ts +7 -0
- package/out/controller/control/dashboard/portlet/chart-portlet/chart-portlet.controller.d.ts.map +1 -1
- package/out/controller/control/dashboard/portlet/chart-portlet/chart-portlet.controller.js +11 -0
- package/out/controller/control/dashboard/portlet/list-portlet/list-portlet.controller.d.ts +7 -0
- package/out/controller/control/dashboard/portlet/list-portlet/list-portlet.controller.d.ts.map +1 -1
- package/out/controller/control/dashboard/portlet/list-portlet/list-portlet.controller.js +11 -0
- package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.d.ts +31 -2
- package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.d.ts.map +1 -1
- package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.js +62 -15
- package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.state.d.ts +15 -0
- package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.state.d.ts.map +1 -1
- package/out/controller/control/dashboard/portlet/view-portlet/view-portlet.controller.d.ts +7 -0
- package/out/controller/control/dashboard/portlet/view-portlet/view-portlet.controller.d.ts.map +1 -1
- package/out/controller/control/dashboard/portlet/view-portlet/view-portlet.controller.js +12 -0
- package/out/controller/control/form/form/form.controller.d.ts.map +1 -1
- package/out/controller/control/form/form/form.controller.js +2 -1
- package/out/controller/control/grid/grid/grid.controller.d.ts +37 -0
- package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
- package/out/controller/control/grid/grid/grid.controller.js +135 -1
- package/out/controller/control/tree/tree.controller.d.ts.map +1 -1
- package/out/controller/control/tree/tree.controller.js +1 -1
- package/out/controller/control/wizard-panel/wizard-panel.controller.d.ts +18 -0
- package/out/controller/control/wizard-panel/wizard-panel.controller.d.ts.map +1 -1
- package/out/controller/control/wizard-panel/wizard-panel.controller.js +70 -1
- package/out/controller/utils/view-msg/view-msg-controller.d.ts +10 -1
- package/out/controller/utils/view-msg/view-msg-controller.d.ts.map +1 -1
- package/out/controller/utils/view-msg/view-msg-controller.js +17 -3
- package/out/interface/common/i-app-service/i-app-service.d.ts +10 -1
- package/out/interface/common/i-app-service/i-app-service.d.ts.map +1 -1
- package/out/interface/controller/common/view-message/i-view-message.d.ts +8 -0
- package/out/interface/controller/common/view-message/i-view-message.d.ts.map +1 -1
- package/out/interface/controller/controller/control/portlet/i-portlet.controller.d.ts +14 -0
- package/out/interface/controller/controller/control/portlet/i-portlet.controller.d.ts.map +1 -1
- package/out/interface/controller/event/control/i-dashboard.event.d.ts +15 -1
- package/out/interface/controller/event/control/i-dashboard.event.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-drtab.state.d.ts +7 -0
- package/out/interface/controller/state/control/i-drtab.state.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-wizard-panel.state.d.ts +7 -0
- package/out/interface/controller/state/control/i-wizard-panel.state.d.ts.map +1 -1
- package/out/interface/controller/state/control/portlet/i-portlet.state.d.ts +15 -0
- package/out/interface/controller/state/control/portlet/i-portlet.state.d.ts.map +1 -1
- package/out/service/service/control/control.service.js +1 -1
- package/out/service/service/index.d.ts +1 -0
- package/out/service/service/index.d.ts.map +1 -1
- package/out/service/service/index.js +1 -0
- package/out/service/service/util/util.service.d.ts +93 -0
- package/out/service/service/util/util.service.d.ts.map +1 -0
- package/out/service/service/util/util.service.js +148 -0
- package/out/ui-logic/ui-logic-param/ui-logic-param.d.ts.map +1 -1
- package/out/ui-logic/ui-logic-param/ui-logic-param.js +21 -9
- package/out/utils/nav-params/nav-params.d.ts +2 -0
- package/out/utils/nav-params/nav-params.d.ts.map +1 -1
- package/out/utils/nav-params/nav-params.js +25 -1
- package/package.json +3 -3
package/dist/index.esm.js
CHANGED
|
@@ -628,17 +628,35 @@ function convertNavData(navParams, ...origins) {
|
|
|
628
628
|
return convertNavDataByArray(navParamsArr, ...origins);
|
|
629
629
|
}
|
|
630
630
|
function getVal(origins, key) {
|
|
631
|
+
const keys = key.split(".");
|
|
632
|
+
let currentVal;
|
|
631
633
|
const findOrigin = origins.find((item) => {
|
|
632
634
|
if (isNilOrEmpty(item)) {
|
|
633
635
|
return false;
|
|
634
636
|
}
|
|
637
|
+
if (keys.length > 1) {
|
|
638
|
+
currentVal = item;
|
|
639
|
+
for (let i = 0; i < keys.length; i++) {
|
|
640
|
+
const k = keys[i];
|
|
641
|
+
if (currentVal && (currentVal[k] || Object.prototype.hasOwnProperty.call(currentVal, k))) {
|
|
642
|
+
currentVal = currentVal[k];
|
|
643
|
+
} else {
|
|
644
|
+
currentVal = void 0;
|
|
645
|
+
break;
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
return currentVal !== void 0;
|
|
649
|
+
}
|
|
635
650
|
return (
|
|
636
651
|
// proxy数据判断是否能拿到值
|
|
637
652
|
item[key] || // 上下文等判断是否有这个属性,如果有且值为空,则赋该空值
|
|
638
653
|
Object.prototype.hasOwnProperty.call(item, key)
|
|
639
654
|
);
|
|
640
655
|
});
|
|
641
|
-
return {
|
|
656
|
+
return {
|
|
657
|
+
find: !!findOrigin,
|
|
658
|
+
value: keys.length > 1 ? currentVal : findOrigin == null ? void 0 : findOrigin[key]
|
|
659
|
+
};
|
|
642
660
|
}
|
|
643
661
|
function convertNavDataByArray(naviDatas, ...origins) {
|
|
644
662
|
const regex = /\$\{[^}]*\}/g;
|
|
@@ -9368,7 +9386,7 @@ var ControlService = class {
|
|
|
9368
9386
|
*/
|
|
9369
9387
|
async handleItemPrivilege(data, context) {
|
|
9370
9388
|
const { enableItemPrivilege, appDataEntityId } = this.model;
|
|
9371
|
-
if (enableItemPrivilege && appDataEntityId) {
|
|
9389
|
+
if (data && enableItemPrivilege && appDataEntityId) {
|
|
9372
9390
|
const deAuthority = await this.app.authority.getService(appDataEntityId);
|
|
9373
9391
|
const items = Array.isArray(data) ? data : [data];
|
|
9374
9392
|
items.forEach((item) => {
|
|
@@ -12409,6 +12427,166 @@ var MarkOpenDataService = class {
|
|
|
12409
12427
|
}
|
|
12410
12428
|
};
|
|
12411
12429
|
|
|
12430
|
+
// src/service/service/util/util.service.ts
|
|
12431
|
+
var UtilService = class {
|
|
12432
|
+
/**
|
|
12433
|
+
* Creates an instance of UtilService.
|
|
12434
|
+
* @author tony001
|
|
12435
|
+
* @date 2024-04-24 14:04:41
|
|
12436
|
+
* @param {IAppUtil} appUtil
|
|
12437
|
+
*/
|
|
12438
|
+
constructor(appUtil) {
|
|
12439
|
+
this.appUtil = appUtil;
|
|
12440
|
+
/**
|
|
12441
|
+
* 存储实体模型
|
|
12442
|
+
*
|
|
12443
|
+
* @author tony001
|
|
12444
|
+
* @date 2024-04-24 15:04:36
|
|
12445
|
+
* @type {(IAppDataEntity | null)}
|
|
12446
|
+
*/
|
|
12447
|
+
this.stoageAppDataEntity = null;
|
|
12448
|
+
/**
|
|
12449
|
+
* 存储服务
|
|
12450
|
+
*
|
|
12451
|
+
* @author tony001
|
|
12452
|
+
* @date 2024-04-24 14:04:36
|
|
12453
|
+
* @type {(IAppDEService | null)}
|
|
12454
|
+
*/
|
|
12455
|
+
this.appDEService = null;
|
|
12456
|
+
}
|
|
12457
|
+
/**
|
|
12458
|
+
* 获取存储服务
|
|
12459
|
+
*
|
|
12460
|
+
* @author tony001
|
|
12461
|
+
* @date 2024-04-24 14:04:21
|
|
12462
|
+
* @private
|
|
12463
|
+
* @param {IContext} context
|
|
12464
|
+
* @param {IParams} params
|
|
12465
|
+
* @return {*} {Promise<IAppDEService>}
|
|
12466
|
+
*/
|
|
12467
|
+
async getAppDEService(context) {
|
|
12468
|
+
if (this.appDEService) {
|
|
12469
|
+
return this.appDEService;
|
|
12470
|
+
}
|
|
12471
|
+
const { appId: appId2, name, stoageAppDataEntityId } = this.appUtil;
|
|
12472
|
+
if (appId2 && stoageAppDataEntityId) {
|
|
12473
|
+
const app = ibiz.hub.getApp(appId2);
|
|
12474
|
+
this.stoageAppDataEntity = await ibiz.hub.getAppDataEntity(
|
|
12475
|
+
stoageAppDataEntityId,
|
|
12476
|
+
appId2
|
|
12477
|
+
);
|
|
12478
|
+
const appDEService = await app.deService.getService(
|
|
12479
|
+
context,
|
|
12480
|
+
stoageAppDataEntityId
|
|
12481
|
+
);
|
|
12482
|
+
if (appDEService) {
|
|
12483
|
+
this.appDEService = appDEService;
|
|
12484
|
+
return appDEService;
|
|
12485
|
+
}
|
|
12486
|
+
throw new Error(
|
|
12487
|
+
"\u5E94\u7528\u529F\u80FD[".concat(name, "]\u672A\u627E\u5230\u5B58\u50A8\u5B9E\u4F53[").concat(stoageAppDataEntityId, "]")
|
|
12488
|
+
);
|
|
12489
|
+
}
|
|
12490
|
+
throw new Error("\u5E94\u7528\u529F\u80FD[".concat(name, "]\u4E0D\u5B58\u5728"));
|
|
12491
|
+
}
|
|
12492
|
+
/**
|
|
12493
|
+
* 加载指定数据
|
|
12494
|
+
*
|
|
12495
|
+
* @author tony001
|
|
12496
|
+
* @date 2024-04-23 11:04:22
|
|
12497
|
+
* @param {string} tag
|
|
12498
|
+
* @param {IContext} context
|
|
12499
|
+
* @param {IParams} params
|
|
12500
|
+
* @return {*} {Promise<IData>}
|
|
12501
|
+
*/
|
|
12502
|
+
async load(tag, context, params) {
|
|
12503
|
+
const tempContext = context.clone();
|
|
12504
|
+
const dataService = await this.getAppDEService(tempContext);
|
|
12505
|
+
tempContext[this.stoageAppDataEntity.codeName.toLowerCase()] = tag;
|
|
12506
|
+
const { getAppDEActionId } = this.appUtil;
|
|
12507
|
+
try {
|
|
12508
|
+
const res = await dataService.exec(
|
|
12509
|
+
getAppDEActionId || "get",
|
|
12510
|
+
tempContext,
|
|
12511
|
+
params
|
|
12512
|
+
);
|
|
12513
|
+
return this.handleResponse(res);
|
|
12514
|
+
} catch (error) {
|
|
12515
|
+
return {};
|
|
12516
|
+
}
|
|
12517
|
+
}
|
|
12518
|
+
/**
|
|
12519
|
+
* 保存指定数据
|
|
12520
|
+
*
|
|
12521
|
+
* @author tony001
|
|
12522
|
+
* @date 2024-04-23 12:04:36
|
|
12523
|
+
* @param {string} tag
|
|
12524
|
+
* @param {IContext} context
|
|
12525
|
+
* @param {IParams} params
|
|
12526
|
+
* @param {IData} data
|
|
12527
|
+
* @return {*} {Promise<IData>}
|
|
12528
|
+
*/
|
|
12529
|
+
async save(tag, context, params, data) {
|
|
12530
|
+
const dataService = await this.getAppDEService(context);
|
|
12531
|
+
const {
|
|
12532
|
+
context: tempContext,
|
|
12533
|
+
params: tempParams,
|
|
12534
|
+
data: tempData
|
|
12535
|
+
} = this.handleRequestData(tag, context, params, data);
|
|
12536
|
+
return dataService.exec("save", tempContext, tempData, tempParams);
|
|
12537
|
+
}
|
|
12538
|
+
/**
|
|
12539
|
+
* 处理请求数据
|
|
12540
|
+
*
|
|
12541
|
+
* @author tony001
|
|
12542
|
+
* @date 2024-04-24 15:04:02
|
|
12543
|
+
* @private
|
|
12544
|
+
* @param {IContext} context
|
|
12545
|
+
* @param {IParams} params
|
|
12546
|
+
* @param {IData} data
|
|
12547
|
+
* @return {*} {{ context: IContext; params: IParams; data: IData }}
|
|
12548
|
+
*/
|
|
12549
|
+
handleRequestData(tag, context, params, data) {
|
|
12550
|
+
const {
|
|
12551
|
+
modelIdAppDEFieldId,
|
|
12552
|
+
modelAppDEFieldId,
|
|
12553
|
+
appIdAppDEFieldId,
|
|
12554
|
+
userIdAppDEFieldId,
|
|
12555
|
+
stoageAppDataEntityId
|
|
12556
|
+
} = this.appUtil;
|
|
12557
|
+
if (!this.stoageAppDataEntity) {
|
|
12558
|
+
throw new Error("\u672A\u627E\u5230\u5B58\u50A8\u5B9E\u4F53[".concat(stoageAppDataEntityId, "]"));
|
|
12559
|
+
}
|
|
12560
|
+
const tempContext = context.clone();
|
|
12561
|
+
const tempData = {};
|
|
12562
|
+
tempContext[this.stoageAppDataEntity.codeName.toLowerCase()] = tag;
|
|
12563
|
+
const { keyAppDEFieldId } = this.stoageAppDataEntity;
|
|
12564
|
+
tempData[keyAppDEFieldId] = tag;
|
|
12565
|
+
tempData[modelIdAppDEFieldId] = params == null ? void 0 : params.modelId;
|
|
12566
|
+
tempData[modelAppDEFieldId] = JSON.stringify(data);
|
|
12567
|
+
tempData[appIdAppDEFieldId] = tempContext.srfappid;
|
|
12568
|
+
tempData[userIdAppDEFieldId] = tempContext.srfpersonid;
|
|
12569
|
+
tempData.type = params == null ? void 0 : params.type;
|
|
12570
|
+
tempData.owner_type = params == null ? void 0 : params.ownerType;
|
|
12571
|
+
tempData.owner_id = params == null ? void 0 : params.ownerId;
|
|
12572
|
+
return { context: tempContext, params, data: tempData };
|
|
12573
|
+
}
|
|
12574
|
+
/**
|
|
12575
|
+
* 处理响应数据
|
|
12576
|
+
*
|
|
12577
|
+
* @author tony001
|
|
12578
|
+
* @date 2024-04-24 16:04:45
|
|
12579
|
+
* @private
|
|
12580
|
+
* @param {IData} response
|
|
12581
|
+
* @return {*} {IData}
|
|
12582
|
+
*/
|
|
12583
|
+
handleResponse(response) {
|
|
12584
|
+
const { data } = response;
|
|
12585
|
+
const { modelAppDEFieldId } = this.appUtil;
|
|
12586
|
+
return JSON.parse(data[modelAppDEFieldId]);
|
|
12587
|
+
}
|
|
12588
|
+
};
|
|
12589
|
+
|
|
12412
12590
|
// src/service/vo/tree-node-data/tree-node-data.ts
|
|
12413
12591
|
import { createUUID as createUUID5 } from "qx-util";
|
|
12414
12592
|
var TreeNodeData = class {
|
|
@@ -13869,6 +14047,19 @@ var Application = class {
|
|
|
13869
14047
|
const item = items.find((func) => func.id === id);
|
|
13870
14048
|
return item || null;
|
|
13871
14049
|
}
|
|
14050
|
+
/**
|
|
14051
|
+
* 根据id获取应用功能组件
|
|
14052
|
+
*
|
|
14053
|
+
* @author tony001
|
|
14054
|
+
* @date 2024-04-23 11:04:27
|
|
14055
|
+
* @param {string} id
|
|
14056
|
+
* @return {*} {(IAppUtil | null)}
|
|
14057
|
+
*/
|
|
14058
|
+
getAppUtil(id) {
|
|
14059
|
+
const appUtils = this.model.appUtils || [];
|
|
14060
|
+
const appUtil = appUtils.find((item) => item.id === id);
|
|
14061
|
+
return appUtil || null;
|
|
14062
|
+
}
|
|
13872
14063
|
/**
|
|
13873
14064
|
* 获取界面行为模型
|
|
13874
14065
|
* @author lxm
|
|
@@ -15584,8 +15775,9 @@ var BaseController = class {
|
|
|
15584
15775
|
// src/controller/utils/view-msg/view-msg-controller.ts
|
|
15585
15776
|
import { RuntimeError as RuntimeError33, RuntimeModelError as RuntimeModelError24 } from "@ibiz-template/core";
|
|
15586
15777
|
import { isNil as isNil21, mergeRight as mergeRight3 } from "ramda";
|
|
15778
|
+
var VIEW_MSG_PREFIX = "VIEW_MSG";
|
|
15587
15779
|
var ViewMsgController = class _ViewMsgController {
|
|
15588
|
-
constructor(msgGroupId) {
|
|
15780
|
+
constructor(msgGroupId, tag = "") {
|
|
15589
15781
|
this.msgGroupId = msgGroupId;
|
|
15590
15782
|
/**
|
|
15591
15783
|
* 视图消息map
|
|
@@ -15593,6 +15785,14 @@ var ViewMsgController = class _ViewMsgController {
|
|
|
15593
15785
|
* @date 2023-09-22 05:38:03
|
|
15594
15786
|
*/
|
|
15595
15787
|
this.viewMsgMap = /* @__PURE__ */ new Map();
|
|
15788
|
+
/**
|
|
15789
|
+
* 视图消息tag
|
|
15790
|
+
*
|
|
15791
|
+
* @author zhanghengfeng
|
|
15792
|
+
* @date 2024-04-23 19:04:58
|
|
15793
|
+
*/
|
|
15794
|
+
this.tag = "";
|
|
15795
|
+
this.tag = "".concat(VIEW_MSG_PREFIX, "_").concat(tag);
|
|
15596
15796
|
}
|
|
15597
15797
|
/**
|
|
15598
15798
|
* 初始化方法,从全局获取视图消息组和视图消息的模型
|
|
@@ -15680,7 +15880,9 @@ var ViewMsgController = class _ViewMsgController {
|
|
|
15680
15880
|
})
|
|
15681
15881
|
);
|
|
15682
15882
|
}
|
|
15683
|
-
return result
|
|
15883
|
+
return result.filter(
|
|
15884
|
+
(item) => !(item.removeMode === 1 && localStorage.getItem(item.key))
|
|
15885
|
+
);
|
|
15684
15886
|
}
|
|
15685
15887
|
/**
|
|
15686
15888
|
* 计算静态消息数据(或者动态的里面静态的配置)
|
|
@@ -15694,6 +15896,7 @@ var ViewMsgController = class _ViewMsgController {
|
|
|
15694
15896
|
const { position: position1 } = detail;
|
|
15695
15897
|
const viewMsg = this.viewMsgMap.get(detail.appViewMsgId);
|
|
15696
15898
|
const {
|
|
15899
|
+
codeName,
|
|
15697
15900
|
title,
|
|
15698
15901
|
message,
|
|
15699
15902
|
removeMode,
|
|
@@ -15703,6 +15906,7 @@ var ViewMsgController = class _ViewMsgController {
|
|
|
15703
15906
|
const { userTag, userTag2, userTag3, userTag4 } = viewMsg;
|
|
15704
15907
|
const position = position1 || position2;
|
|
15705
15908
|
return {
|
|
15909
|
+
key: "".concat(this.tag, "_").concat(codeName),
|
|
15706
15910
|
title,
|
|
15707
15911
|
message,
|
|
15708
15912
|
position,
|
|
@@ -15783,6 +15987,9 @@ var ViewMsgController = class _ViewMsgController {
|
|
|
15783
15987
|
if (removeModeField && !isNil21(item[removeModeField])) {
|
|
15784
15988
|
message.removeMode = item[removeModeField];
|
|
15785
15989
|
}
|
|
15990
|
+
if (!isNil21(item.srfkey)) {
|
|
15991
|
+
message.key = "".concat(this.tag, "_").concat(item.srfkey);
|
|
15992
|
+
}
|
|
15786
15993
|
return mergeRight3(basicMsg, message);
|
|
15787
15994
|
});
|
|
15788
15995
|
return deViewMessages;
|
|
@@ -15922,7 +16129,8 @@ var ViewController = class extends BaseController {
|
|
|
15922
16129
|
appCounterRefs.map(async (counterRef) => {
|
|
15923
16130
|
const counter = await CounterService.getCounterByRef(
|
|
15924
16131
|
counterRef,
|
|
15925
|
-
this.context
|
|
16132
|
+
this.context,
|
|
16133
|
+
{ ...this.params }
|
|
15926
16134
|
);
|
|
15927
16135
|
this.counters[counterRef.id] = counter;
|
|
15928
16136
|
})
|
|
@@ -16106,10 +16314,13 @@ var ViewController = class extends BaseController {
|
|
|
16106
16314
|
* @date 2023-09-20 09:19:20
|
|
16107
16315
|
*/
|
|
16108
16316
|
async initViewMsg() {
|
|
16109
|
-
const { appViewMsgGroupId } = this.model;
|
|
16317
|
+
const { appViewMsgGroupId, codeName } = this.model;
|
|
16110
16318
|
if (appViewMsgGroupId) {
|
|
16111
16319
|
this.state.viewMessages = { TOP: [], BOTTOM: [], BODY: [], POPUP: [] };
|
|
16112
|
-
this.viewMsgController = new ViewMsgController(
|
|
16320
|
+
this.viewMsgController = new ViewMsgController(
|
|
16321
|
+
appViewMsgGroupId,
|
|
16322
|
+
"".concat(codeName, "_").concat(this.modal.mode)
|
|
16323
|
+
);
|
|
16113
16324
|
await this.viewMsgController.init(this.context);
|
|
16114
16325
|
const messages = await this.viewMsgController.calcViewMessages(
|
|
16115
16326
|
this.context,
|
|
@@ -16136,12 +16347,16 @@ var ViewController = class extends BaseController {
|
|
|
16136
16347
|
const [message, ...rest] = messages;
|
|
16137
16348
|
const modalParams = {
|
|
16138
16349
|
title: message.title,
|
|
16139
|
-
desc: message.message
|
|
16140
|
-
|
|
16141
|
-
|
|
16142
|
-
|
|
16143
|
-
|
|
16144
|
-
|
|
16350
|
+
desc: message.message,
|
|
16351
|
+
options: {
|
|
16352
|
+
showClose: message.removeMode !== 0,
|
|
16353
|
+
showConfirmButton: message.removeMode !== 0,
|
|
16354
|
+
callback: () => {
|
|
16355
|
+
if (message.removeMode === 1) {
|
|
16356
|
+
localStorage.setItem(message.key, "1");
|
|
16357
|
+
}
|
|
16358
|
+
}
|
|
16359
|
+
}
|
|
16145
16360
|
};
|
|
16146
16361
|
if (message.extraParams.userTag) {
|
|
16147
16362
|
Object.assign(modalParams, {
|
|
@@ -20573,6 +20788,9 @@ var UILogicParam = class {
|
|
|
20573
20788
|
} else if (m.appGlobalParam) {
|
|
20574
20789
|
let value = ibiz.util.getGlobalParam();
|
|
20575
20790
|
if (m.paramFieldName) {
|
|
20791
|
+
if (!value.hasOwnProperty(m.paramFieldName)) {
|
|
20792
|
+
value[m.paramFieldName] = {};
|
|
20793
|
+
}
|
|
20576
20794
|
value = value[m.paramFieldName];
|
|
20577
20795
|
}
|
|
20578
20796
|
ctx.params[tag] = value;
|
|
@@ -20593,6 +20811,9 @@ var UILogicParam = class {
|
|
|
20593
20811
|
} else if (m.routeViewSessionParam) {
|
|
20594
20812
|
let value = parameters.view.getTopView().state;
|
|
20595
20813
|
if (m.paramFieldName) {
|
|
20814
|
+
if (!value.hasOwnProperty(m.paramFieldName)) {
|
|
20815
|
+
value[m.paramFieldName] = {};
|
|
20816
|
+
}
|
|
20596
20817
|
value = value[m.paramFieldName];
|
|
20597
20818
|
}
|
|
20598
20819
|
ctx.params[tag] = value;
|
|
@@ -20605,6 +20826,9 @@ var UILogicParam = class {
|
|
|
20605
20826
|
} else if (m.viewSessionParam) {
|
|
20606
20827
|
let value = parameters.view.state;
|
|
20607
20828
|
if (m.paramFieldName) {
|
|
20829
|
+
if (!value.hasOwnProperty(m.paramFieldName)) {
|
|
20830
|
+
value[m.paramFieldName] = {};
|
|
20831
|
+
}
|
|
20608
20832
|
value = value[m.paramFieldName];
|
|
20609
20833
|
}
|
|
20610
20834
|
ctx.params[tag] = value;
|
|
@@ -21992,6 +22216,23 @@ var DashboardController = class extends ControlController {
|
|
|
21992
22216
|
})
|
|
21993
22217
|
);
|
|
21994
22218
|
}
|
|
22219
|
+
/**
|
|
22220
|
+
* 初始化
|
|
22221
|
+
*
|
|
22222
|
+
* @param {IData} [config={}]
|
|
22223
|
+
* @return {*} {Promise<void>}
|
|
22224
|
+
* @memberof DashboardController
|
|
22225
|
+
*/
|
|
22226
|
+
async initPortletsConfig(config = {}) {
|
|
22227
|
+
Object.keys(config).forEach((key) => {
|
|
22228
|
+
const portlet = this.portlets[key];
|
|
22229
|
+
if (portlet) {
|
|
22230
|
+
portlet.config = config[key];
|
|
22231
|
+
portlet.state.title = portlet.config.srftitle;
|
|
22232
|
+
Object.assign(portlet.params, portlet.config);
|
|
22233
|
+
}
|
|
22234
|
+
});
|
|
22235
|
+
}
|
|
21995
22236
|
/**
|
|
21996
22237
|
* 通知所有表单成员表单操作过程中的数据变更
|
|
21997
22238
|
*
|
|
@@ -22009,6 +22250,7 @@ var DashboardController = class extends ControlController {
|
|
|
22009
22250
|
};
|
|
22010
22251
|
|
|
22011
22252
|
// src/controller/control/dashboard/custom-dashboard.controller.ts
|
|
22253
|
+
import { merge } from "lodash-es";
|
|
22012
22254
|
var CustomDashboardController = class {
|
|
22013
22255
|
/**
|
|
22014
22256
|
* Creates an instance of BaseController.
|
|
@@ -22016,7 +22258,7 @@ var CustomDashboardController = class {
|
|
|
22016
22258
|
* @date 2023-04-26 06:46:21
|
|
22017
22259
|
* @param {CTX} ctx 跨组件上下文环境,内部机制不暴露
|
|
22018
22260
|
*/
|
|
22019
|
-
constructor(model) {
|
|
22261
|
+
constructor(model, dashboard) {
|
|
22020
22262
|
/**
|
|
22021
22263
|
* 自定义布局模型数据
|
|
22022
22264
|
*
|
|
@@ -22039,19 +22281,93 @@ var CustomDashboardController = class {
|
|
|
22039
22281
|
*/
|
|
22040
22282
|
this.layoutRowH = 80;
|
|
22041
22283
|
/**
|
|
22042
|
-
*
|
|
22284
|
+
* 门户配置
|
|
22043
22285
|
*
|
|
22044
|
-
* @
|
|
22045
|
-
* @
|
|
22286
|
+
* @type {IData}
|
|
22287
|
+
* @memberof CustomDashboardController
|
|
22046
22288
|
*/
|
|
22047
|
-
this.
|
|
22048
|
-
|
|
22289
|
+
this.portletConfig = {};
|
|
22290
|
+
/**
|
|
22291
|
+
* 自定义定制范围类型(public:公开,personal:个人,data:数据,默认是按照个人区分,配置了应用功能组件才生效)
|
|
22292
|
+
*
|
|
22293
|
+
* @author tony001
|
|
22294
|
+
* @date 2024-04-24 19:04:47
|
|
22295
|
+
* @type {('public' | 'personal' | 'data')}
|
|
22296
|
+
*/
|
|
22297
|
+
this.type = "personal";
|
|
22298
|
+
/**
|
|
22299
|
+
* 所属数据类型(仅限自定义定制为data类型时生效,配置了应用功能组件才生效)
|
|
22300
|
+
*
|
|
22301
|
+
* @author tony001
|
|
22302
|
+
* @date 2024-04-24 19:04:06
|
|
22303
|
+
* @type {string}
|
|
22304
|
+
*/
|
|
22305
|
+
this.ownerType = "";
|
|
22306
|
+
/**
|
|
22307
|
+
* 所属数据标识(仅限自定义定制为data类型时生效,配置了应用功能组件才生效)
|
|
22308
|
+
*
|
|
22309
|
+
* @author tony001
|
|
22310
|
+
* @date 2024-04-24 19:04:18
|
|
22311
|
+
* @type {string}
|
|
22312
|
+
*/
|
|
22313
|
+
this.ownerId = "";
|
|
22049
22314
|
this.model = model;
|
|
22050
|
-
this.
|
|
22051
|
-
|
|
22052
|
-
|
|
22053
|
-
|
|
22054
|
-
|
|
22315
|
+
this.context = dashboard.context;
|
|
22316
|
+
this.params = dashboard.params;
|
|
22317
|
+
this.init(dashboard.controlParams);
|
|
22318
|
+
}
|
|
22319
|
+
/**
|
|
22320
|
+
* 初始化
|
|
22321
|
+
*
|
|
22322
|
+
* @author tony001
|
|
22323
|
+
* @date 2024-04-24 20:04:14
|
|
22324
|
+
* @private
|
|
22325
|
+
*/
|
|
22326
|
+
init(controlParams) {
|
|
22327
|
+
var _a, _b;
|
|
22328
|
+
this.type = "personal";
|
|
22329
|
+
this.ownerId = this.context.srfpersonid;
|
|
22330
|
+
if (controlParams.type) {
|
|
22331
|
+
this.type = controlParams.type;
|
|
22332
|
+
}
|
|
22333
|
+
if (controlParams.owner_type) {
|
|
22334
|
+
this.ownerType = controlParams.owner_type;
|
|
22335
|
+
}
|
|
22336
|
+
if (controlParams.owner_id) {
|
|
22337
|
+
this.ownerId = this.context[controlParams.owner_id];
|
|
22338
|
+
}
|
|
22339
|
+
if (this.model.appDynaDashboardUtilId) {
|
|
22340
|
+
const app = ibiz.hub.getApp(this.context.srfappid);
|
|
22341
|
+
this.util = new UtilService(
|
|
22342
|
+
app.getAppUtil(this.model.appDynaDashboardUtilId)
|
|
22343
|
+
);
|
|
22344
|
+
} else {
|
|
22345
|
+
this.config = new ConfigService(
|
|
22346
|
+
this.model.appId,
|
|
22347
|
+
"dynadashboard",
|
|
22348
|
+
"dashboard_".concat(((_a = this.model.appDataEntityId) == null ? void 0 : _a.toLowerCase()) || "app", "_").concat((_b = this.model.codeName) == null ? void 0 : _b.toLowerCase())
|
|
22349
|
+
);
|
|
22350
|
+
}
|
|
22351
|
+
}
|
|
22352
|
+
/**
|
|
22353
|
+
* 获取资源标识
|
|
22354
|
+
*
|
|
22355
|
+
* @author tony001
|
|
22356
|
+
* @date 2024-04-24 14:04:55
|
|
22357
|
+
* @private
|
|
22358
|
+
* @return {*} {string}
|
|
22359
|
+
*/
|
|
22360
|
+
getResourceTag() {
|
|
22361
|
+
var _a, _b;
|
|
22362
|
+
const base = "".concat(this.context.srfappid, "_dashboard_").concat(((_a = this.model.appDataEntityId) == null ? void 0 : _a.toLowerCase()) || "app", "_").concat((_b = this.model.codeName) == null ? void 0 : _b.toLowerCase());
|
|
22363
|
+
switch (this.type) {
|
|
22364
|
+
case "personal":
|
|
22365
|
+
return "".concat(base, "_").concat(this.context.srfpersonid);
|
|
22366
|
+
case "data":
|
|
22367
|
+
return "".concat(base, "_").concat(this.ownerType, "_").concat(this.ownerId);
|
|
22368
|
+
default:
|
|
22369
|
+
return base;
|
|
22370
|
+
}
|
|
22055
22371
|
}
|
|
22056
22372
|
/**
|
|
22057
22373
|
* 加载自定义布局模型数据
|
|
@@ -22060,7 +22376,16 @@ var CustomDashboardController = class {
|
|
|
22060
22376
|
* @Date: 2023-09-20 16:22:49
|
|
22061
22377
|
*/
|
|
22062
22378
|
async loadCustomModelData() {
|
|
22063
|
-
|
|
22379
|
+
let res;
|
|
22380
|
+
if (this.model.appDynaDashboardUtilId) {
|
|
22381
|
+
res = await this.util.load(
|
|
22382
|
+
this.getResourceTag(),
|
|
22383
|
+
this.context,
|
|
22384
|
+
this.params
|
|
22385
|
+
);
|
|
22386
|
+
} else {
|
|
22387
|
+
res = await this.config.load();
|
|
22388
|
+
}
|
|
22064
22389
|
if (res.model) {
|
|
22065
22390
|
this.customModelData = res.model;
|
|
22066
22391
|
}
|
|
@@ -22070,7 +22395,10 @@ var CustomDashboardController = class {
|
|
|
22070
22395
|
if (res.rowH) {
|
|
22071
22396
|
this.layoutRowH = res.rowH;
|
|
22072
22397
|
}
|
|
22073
|
-
|
|
22398
|
+
if (res.config) {
|
|
22399
|
+
this.portletConfig = res.config;
|
|
22400
|
+
}
|
|
22401
|
+
return { model: this.customModelData, config: this.portletConfig };
|
|
22074
22402
|
}
|
|
22075
22403
|
/**
|
|
22076
22404
|
* 保存自定义布局模型数据
|
|
@@ -22078,19 +22406,42 @@ var CustomDashboardController = class {
|
|
|
22078
22406
|
* @author: zhujiamin
|
|
22079
22407
|
* @Date: 2023-09-20 16:22:49
|
|
22080
22408
|
*/
|
|
22081
|
-
async saveCustomModelData(model) {
|
|
22082
|
-
|
|
22409
|
+
async saveCustomModelData(model, config = {}) {
|
|
22410
|
+
merge(this.portletConfig, config);
|
|
22411
|
+
let res;
|
|
22412
|
+
const data = {
|
|
22083
22413
|
model,
|
|
22084
22414
|
colNum: this.layoutColNum,
|
|
22085
|
-
rowH: this.layoutRowH
|
|
22086
|
-
|
|
22415
|
+
rowH: this.layoutRowH,
|
|
22416
|
+
config: this.portletConfig
|
|
22417
|
+
};
|
|
22418
|
+
if (this.model.appDynaDashboardUtilId) {
|
|
22419
|
+
res = await this.util.save(
|
|
22420
|
+
this.getResourceTag(),
|
|
22421
|
+
this.context,
|
|
22422
|
+
{
|
|
22423
|
+
...this.params,
|
|
22424
|
+
type: this.type,
|
|
22425
|
+
ownerType: this.ownerType,
|
|
22426
|
+
ownerId: this.ownerId,
|
|
22427
|
+
modelId: this.model.id
|
|
22428
|
+
},
|
|
22429
|
+
data
|
|
22430
|
+
);
|
|
22431
|
+
} else {
|
|
22432
|
+
res = await this.config.save(data);
|
|
22433
|
+
}
|
|
22087
22434
|
if (res) {
|
|
22088
22435
|
this.customModelData = model;
|
|
22089
22436
|
}
|
|
22090
|
-
return model;
|
|
22437
|
+
return { model, config: this.portletConfig };
|
|
22091
22438
|
}
|
|
22092
22439
|
};
|
|
22093
22440
|
|
|
22441
|
+
// src/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.ts
|
|
22442
|
+
import { merge as merge2 } from "lodash-es";
|
|
22443
|
+
import { IBizContext as IBizContext5, IBizParams as IBizParams2 } from "@ibiz-template/core";
|
|
22444
|
+
|
|
22094
22445
|
// src/controller/control/dashboard/portlet/portlet-part/portlet-part.state.ts
|
|
22095
22446
|
var PortletPartState = class {
|
|
22096
22447
|
constructor() {
|
|
@@ -22120,26 +22471,38 @@ var PortletPartState = class {
|
|
|
22120
22471
|
// src/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.ts
|
|
22121
22472
|
var PortletPartController = class {
|
|
22122
22473
|
/**
|
|
22123
|
-
*
|
|
22124
|
-
*
|
|
22474
|
+
* Creates an instance of PortletPartController.
|
|
22125
22475
|
* @author lxm
|
|
22126
|
-
* @date 2022-10-
|
|
22127
|
-
* @
|
|
22128
|
-
* @
|
|
22476
|
+
* @date 2022-10-21 10:10:44
|
|
22477
|
+
* @param {T} model
|
|
22478
|
+
* @param {DashboardController} dashboard 数据看板控制器
|
|
22479
|
+
* @param {IPortletContainerController} [parent] 父容器控制器,最上级不存在
|
|
22129
22480
|
*/
|
|
22130
|
-
|
|
22131
|
-
|
|
22481
|
+
constructor(model, dashboard, parent) {
|
|
22482
|
+
/**
|
|
22483
|
+
* 门户配置
|
|
22484
|
+
*
|
|
22485
|
+
* @type {IData}
|
|
22486
|
+
* @memberof PortletPartController
|
|
22487
|
+
*/
|
|
22488
|
+
this.config = {};
|
|
22489
|
+
this.model = model;
|
|
22490
|
+
this.dashboard = dashboard;
|
|
22491
|
+
this.parent = parent;
|
|
22492
|
+
this.state = this.createState();
|
|
22493
|
+
this.state.context = IBizContext5.create({}, this.dashboard.context);
|
|
22494
|
+
this.params = new IBizParams2({}, this.dashboard.params);
|
|
22132
22495
|
}
|
|
22133
22496
|
/**
|
|
22134
|
-
*
|
|
22497
|
+
* 门户部件的上下文参数
|
|
22135
22498
|
*
|
|
22136
22499
|
* @author lxm
|
|
22137
|
-
* @date 2022-10-23 16:10:
|
|
22500
|
+
* @date 2022-10-23 16:10:50
|
|
22138
22501
|
* @readonly
|
|
22139
|
-
* @type {
|
|
22502
|
+
* @type {IContext}
|
|
22140
22503
|
*/
|
|
22141
|
-
get
|
|
22142
|
-
return this.
|
|
22504
|
+
get context() {
|
|
22505
|
+
return this.state.context;
|
|
22143
22506
|
}
|
|
22144
22507
|
/**
|
|
22145
22508
|
* 获取容器类名集合
|
|
@@ -22152,18 +22515,17 @@ var PortletPartController = class {
|
|
|
22152
22515
|
return [...this.state.class.container, ...this.state.class.containerDyna];
|
|
22153
22516
|
}
|
|
22154
22517
|
/**
|
|
22155
|
-
*
|
|
22156
|
-
* @author
|
|
22157
|
-
* @
|
|
22158
|
-
* @
|
|
22159
|
-
* @
|
|
22160
|
-
* @param {IPortletContainerController} [parent] 父容器控制器,最上级不存在
|
|
22518
|
+
* 内容控制器
|
|
22519
|
+
* @author zzq
|
|
22520
|
+
* @readonly
|
|
22521
|
+
* @type {IController | undefined}
|
|
22522
|
+
* @memberof PortletPartController
|
|
22161
22523
|
*/
|
|
22162
|
-
|
|
22163
|
-
|
|
22164
|
-
|
|
22165
|
-
|
|
22166
|
-
|
|
22524
|
+
get contentController() {
|
|
22525
|
+
const { contentControlId } = this.model;
|
|
22526
|
+
if (contentControlId) {
|
|
22527
|
+
return this.dashboard.getController(contentControlId);
|
|
22528
|
+
}
|
|
22167
22529
|
}
|
|
22168
22530
|
/**
|
|
22169
22531
|
* 子类不可覆盖或重写此方法,在 init 时需要重写的使用 onInit 方法。
|
|
@@ -22177,7 +22539,7 @@ var PortletPartController = class {
|
|
|
22177
22539
|
}
|
|
22178
22540
|
async onInit() {
|
|
22179
22541
|
this.onDataChange = this.onDataChange.bind(this);
|
|
22180
|
-
const { layoutPos, sysCss } = this.model;
|
|
22542
|
+
const { layoutPos, sysCss, title, titleLanguageRes } = this.model;
|
|
22181
22543
|
if (layoutPos) {
|
|
22182
22544
|
const { width, height } = calcLayoutHeightWidth(this.model);
|
|
22183
22545
|
this.state.layout.width = "".concat(width);
|
|
@@ -22186,6 +22548,12 @@ var PortletPartController = class {
|
|
|
22186
22548
|
if (sysCss == null ? void 0 : sysCss.cssName) {
|
|
22187
22549
|
this.state.class.container.push(sysCss.cssName);
|
|
22188
22550
|
}
|
|
22551
|
+
if (titleLanguageRes) {
|
|
22552
|
+
this.state.title = ibiz.i18n.t(titleLanguageRes.lanResTag, title);
|
|
22553
|
+
} else {
|
|
22554
|
+
this.state.title = title;
|
|
22555
|
+
}
|
|
22556
|
+
this.config = { srftitle: this.state.title };
|
|
22189
22557
|
await this.initActionStates();
|
|
22190
22558
|
}
|
|
22191
22559
|
/**
|
|
@@ -22198,6 +22566,30 @@ var PortletPartController = class {
|
|
|
22198
22566
|
createState() {
|
|
22199
22567
|
return new PortletPartState();
|
|
22200
22568
|
}
|
|
22569
|
+
/**
|
|
22570
|
+
* 刷新门户部件
|
|
22571
|
+
*
|
|
22572
|
+
* @author zzq
|
|
22573
|
+
* @date 2024-04-25 10:03:33
|
|
22574
|
+
*/
|
|
22575
|
+
refresh() {
|
|
22576
|
+
}
|
|
22577
|
+
/**
|
|
22578
|
+
* 设置配置数据
|
|
22579
|
+
*
|
|
22580
|
+
* @param {IData} config
|
|
22581
|
+
* @memberof PortletPartController
|
|
22582
|
+
*/
|
|
22583
|
+
async setConfig(config) {
|
|
22584
|
+
merge2(this.config, config);
|
|
22585
|
+
this.state.title = this.config.srftitle;
|
|
22586
|
+
delete config.srftitle;
|
|
22587
|
+
merge2(this.params, config);
|
|
22588
|
+
this.dashboard.evt.emit("onConfigChange", {
|
|
22589
|
+
name: this.model.id,
|
|
22590
|
+
config: this.config
|
|
22591
|
+
});
|
|
22592
|
+
}
|
|
22201
22593
|
/**
|
|
22202
22594
|
* 数据改变方法
|
|
22203
22595
|
* @param {DataChangeEvent} event
|
|
@@ -22263,10 +22655,11 @@ var PortletPartController = class {
|
|
|
22263
22655
|
await UIActionUtil.execAndResolved(
|
|
22264
22656
|
actionId,
|
|
22265
22657
|
{
|
|
22266
|
-
context: this.
|
|
22267
|
-
params: this.
|
|
22658
|
+
context: this.context,
|
|
22659
|
+
params: this.params,
|
|
22268
22660
|
data,
|
|
22269
22661
|
view: this.dashboard.view,
|
|
22662
|
+
ctrl: this,
|
|
22270
22663
|
event
|
|
22271
22664
|
},
|
|
22272
22665
|
detail.appId
|
|
@@ -22317,6 +22710,19 @@ var ContainerPortletController = class extends PortletPartController {
|
|
|
22317
22710
|
|
|
22318
22711
|
// src/controller/control/dashboard/portlet/view-portlet/view-portlet.controller.ts
|
|
22319
22712
|
var ViewPortletController = class extends PortletPartController {
|
|
22713
|
+
/**
|
|
22714
|
+
* 刷新门户部件
|
|
22715
|
+
*
|
|
22716
|
+
* @author zzq
|
|
22717
|
+
* @date 2024-04-25 10:03:33
|
|
22718
|
+
*/
|
|
22719
|
+
refresh() {
|
|
22720
|
+
if (this.contentController) {
|
|
22721
|
+
this.contentController.callUIAction(
|
|
22722
|
+
"Refresh" /* REFRESH */
|
|
22723
|
+
);
|
|
22724
|
+
}
|
|
22725
|
+
}
|
|
22320
22726
|
};
|
|
22321
22727
|
|
|
22322
22728
|
// src/controller/control/dashboard/portlet/menu-portlet/menu-portlet.controller.ts
|
|
@@ -22325,6 +22731,17 @@ var MenuPortletController = class extends PortletPartController {
|
|
|
22325
22731
|
|
|
22326
22732
|
// src/controller/control/dashboard/portlet/chart-portlet/chart-portlet.controller.ts
|
|
22327
22733
|
var ChartPortletController = class extends PortletPartController {
|
|
22734
|
+
/**
|
|
22735
|
+
* 刷新门户部件
|
|
22736
|
+
*
|
|
22737
|
+
* @author zzq
|
|
22738
|
+
* @date 2024-04-25 10:03:33
|
|
22739
|
+
*/
|
|
22740
|
+
refresh() {
|
|
22741
|
+
if (this.contentController) {
|
|
22742
|
+
this.contentController.refresh();
|
|
22743
|
+
}
|
|
22744
|
+
}
|
|
22328
22745
|
};
|
|
22329
22746
|
|
|
22330
22747
|
// src/controller/control/dashboard/portlet/actionbar-portlet/actionbar-portlet.controller.ts
|
|
@@ -22337,6 +22754,17 @@ var HtmlPortletController = class extends PortletPartController {
|
|
|
22337
22754
|
|
|
22338
22755
|
// src/controller/control/dashboard/portlet/list-portlet/list-portlet.controller.ts
|
|
22339
22756
|
var ListPortletController = class extends PortletPartController {
|
|
22757
|
+
/**
|
|
22758
|
+
* 刷新门户部件
|
|
22759
|
+
*
|
|
22760
|
+
* @author zzq
|
|
22761
|
+
* @date 2024-04-25 10:03:33
|
|
22762
|
+
*/
|
|
22763
|
+
refresh() {
|
|
22764
|
+
if (this.contentController) {
|
|
22765
|
+
this.contentController.refresh();
|
|
22766
|
+
}
|
|
22767
|
+
}
|
|
22340
22768
|
};
|
|
22341
22769
|
|
|
22342
22770
|
// src/controller/control/dashboard/portlet/rawitem-portlet/rawitem-portlet.controller.ts
|
|
@@ -23846,7 +24274,7 @@ var FormController = class extends ControlController {
|
|
|
23846
24274
|
const counter = await CounterService.getCounterByRef(
|
|
23847
24275
|
counterRef,
|
|
23848
24276
|
this.context,
|
|
23849
|
-
dataKey ? { customId: dataKey } :
|
|
24277
|
+
dataKey ? { customId: dataKey, ...this.params } : { ...this.params }
|
|
23850
24278
|
);
|
|
23851
24279
|
this.counters[counterRef.id] = counter;
|
|
23852
24280
|
})
|
|
@@ -26117,7 +26545,7 @@ var FormTabPanelController = class extends FormDetailController {
|
|
|
26117
26545
|
// src/controller/control/form/edit-form/edit-form.controller.ts
|
|
26118
26546
|
import {
|
|
26119
26547
|
awaitTimeout,
|
|
26120
|
-
IBizContext as
|
|
26548
|
+
IBizContext as IBizContext6,
|
|
26121
26549
|
isElementSame as isElementSame2,
|
|
26122
26550
|
mergeInLeft as mergeInLeft2,
|
|
26123
26551
|
RuntimeError as RuntimeError55
|
|
@@ -26832,7 +27260,7 @@ var EditFormController = class extends FormController {
|
|
|
26832
27260
|
switch (autoSaveMode) {
|
|
26833
27261
|
case 3:
|
|
26834
27262
|
saveParam.data = this.getDiffData();
|
|
26835
|
-
saveParam.context =
|
|
27263
|
+
saveParam.context = IBizContext6.create({ srfsimple: true });
|
|
26836
27264
|
break;
|
|
26837
27265
|
default:
|
|
26838
27266
|
}
|
|
@@ -27182,7 +27610,7 @@ import {
|
|
|
27182
27610
|
RuntimeError as RuntimeError56,
|
|
27183
27611
|
RuntimeModelError as RuntimeModelError63
|
|
27184
27612
|
} from "@ibiz-template/core";
|
|
27185
|
-
import { clone as clone27 } from "ramda";
|
|
27613
|
+
import { clone as clone27, isNil as isNil28 } from "ramda";
|
|
27186
27614
|
import dayjs5 from "dayjs";
|
|
27187
27615
|
|
|
27188
27616
|
// src/controller/control/grid/grid/grid.service.ts
|
|
@@ -27467,6 +27895,16 @@ var GridController = class extends MDControlController {
|
|
|
27467
27895
|
get allowRowEdit() {
|
|
27468
27896
|
return !!this.model.enableRowEdit && this.state.rowEditOpen;
|
|
27469
27897
|
}
|
|
27898
|
+
/**
|
|
27899
|
+
* 允许使用行编辑次序调整
|
|
27900
|
+
* @author zzq
|
|
27901
|
+
* @date 2024-04-22 17:52:07
|
|
27902
|
+
* @readonly
|
|
27903
|
+
* @type {boolean}
|
|
27904
|
+
*/
|
|
27905
|
+
get enableRowEditOrder() {
|
|
27906
|
+
return !!this.model.enableRowEditOrder;
|
|
27907
|
+
}
|
|
27470
27908
|
/**
|
|
27471
27909
|
* 单元格超出呈现模式
|
|
27472
27910
|
* @author lxm
|
|
@@ -27593,6 +28031,36 @@ var GridController = class extends MDControlController {
|
|
|
27593
28031
|
this.dataExportParam.header = degridColumns.map((item) => item.caption);
|
|
27594
28032
|
}
|
|
27595
28033
|
}
|
|
28034
|
+
/**
|
|
28035
|
+
* 填充导出代码表
|
|
28036
|
+
* @author zzq
|
|
28037
|
+
* @date 2024-04-23 16:10:17
|
|
28038
|
+
* @protected
|
|
28039
|
+
* @return {*} {Promise<void>}
|
|
28040
|
+
*/
|
|
28041
|
+
async fillExportCodelistMap() {
|
|
28042
|
+
if (this.model.dedataExportId) {
|
|
28043
|
+
return;
|
|
28044
|
+
}
|
|
28045
|
+
const fillCodeList = async (key, fieldColumnC) => {
|
|
28046
|
+
const dataItems = await fieldColumnC.loadCodeList();
|
|
28047
|
+
this.allExportCodelistMap.set(key, dataItems);
|
|
28048
|
+
};
|
|
28049
|
+
const exportColumnsPromises = [];
|
|
28050
|
+
for (const [key, codeListItems] of this.allExportCodelistMap) {
|
|
28051
|
+
if (!codeListItems) {
|
|
28052
|
+
const fieldColumn = this.fieldColumns[key];
|
|
28053
|
+
if (fieldColumn.codeListItems) {
|
|
28054
|
+
this.allExportCodelistMap.set(key, fieldColumn.codeListItems);
|
|
28055
|
+
} else {
|
|
28056
|
+
exportColumnsPromises.push(fillCodeList(key, fieldColumn));
|
|
28057
|
+
}
|
|
28058
|
+
}
|
|
28059
|
+
}
|
|
28060
|
+
if (exportColumnsPromises.length > 0) {
|
|
28061
|
+
await Promise.all(exportColumnsPromises);
|
|
28062
|
+
}
|
|
28063
|
+
}
|
|
27596
28064
|
/**
|
|
27597
28065
|
* 初始化表格分组
|
|
27598
28066
|
* @author lxm
|
|
@@ -27644,7 +28112,34 @@ var GridController = class extends MDControlController {
|
|
|
27644
28112
|
}
|
|
27645
28113
|
this.calcColumnFixed();
|
|
27646
28114
|
}
|
|
28115
|
+
/**
|
|
28116
|
+
* 本地排序items
|
|
28117
|
+
* @author zzq
|
|
28118
|
+
* @date 2024-04-22 19:30:55
|
|
28119
|
+
* @param {IData[]} items
|
|
28120
|
+
*/
|
|
28121
|
+
sortItems(items) {
|
|
28122
|
+
const sortField = this.model.orderValueAppDEFieldId;
|
|
28123
|
+
if (!sortField || !this.enableRowEditOrder) {
|
|
28124
|
+
return;
|
|
28125
|
+
}
|
|
28126
|
+
items.forEach((item) => {
|
|
28127
|
+
const sortValue = item[sortField];
|
|
28128
|
+
if (isNil28(sortValue)) {
|
|
28129
|
+
item[sortField] = 0;
|
|
28130
|
+
} else {
|
|
28131
|
+
const toNum = Number(sortValue);
|
|
28132
|
+
if (Number.isNaN(toNum)) {
|
|
28133
|
+
throw new RuntimeError56(
|
|
28134
|
+
"".concat(item.srfmajortext, "\u7684\u6392\u5E8F\u5C5E\u6027\u65E0\u6CD5\u8F6C\u6362\u6210\u6570\u503C")
|
|
28135
|
+
);
|
|
28136
|
+
}
|
|
28137
|
+
}
|
|
28138
|
+
});
|
|
28139
|
+
items.sort((a, b) => a[sortField] - b[sortField]);
|
|
28140
|
+
}
|
|
27647
28141
|
async afterLoad(args, items) {
|
|
28142
|
+
this.sortItems(this.state.items);
|
|
27648
28143
|
await super.afterLoad(args, items);
|
|
27649
28144
|
await handleAllSettled(
|
|
27650
28145
|
Object.values(this.fieldColumns).map(async (fieldColumn) => {
|
|
@@ -28334,6 +28829,7 @@ var GridController = class extends MDControlController {
|
|
|
28334
28829
|
if (!header) {
|
|
28335
28830
|
throw new RuntimeError56("\u65E0\u8868\u683C\u5217");
|
|
28336
28831
|
}
|
|
28832
|
+
await this.fillExportCodelistMap();
|
|
28337
28833
|
const data = await this.getExportData(args.params);
|
|
28338
28834
|
const formatData = this.formatExcelData(data);
|
|
28339
28835
|
const table = formatData.map((v) => Object.values(v));
|
|
@@ -28523,13 +29019,70 @@ var GridController = class extends MDControlController {
|
|
|
28523
29019
|
}
|
|
28524
29020
|
super.actionNotification(tag, { ...opts || {} });
|
|
28525
29021
|
}
|
|
29022
|
+
/**
|
|
29023
|
+
* 拖拽变更事件处理回调
|
|
29024
|
+
* @author: zzq
|
|
29025
|
+
* @date 2024-04-22 18:12:58
|
|
29026
|
+
* @return {*} {Promise<void>}
|
|
29027
|
+
*/
|
|
29028
|
+
async onDragChange() {
|
|
29029
|
+
const sortField = this.model.orderValueAppDEFieldId;
|
|
29030
|
+
const getNextSort = (num) => {
|
|
29031
|
+
return num + (100 - num % 100);
|
|
29032
|
+
};
|
|
29033
|
+
const changedArr = this.state.rows.map((row) => row.data);
|
|
29034
|
+
let lastSort;
|
|
29035
|
+
const modifiedItems = [];
|
|
29036
|
+
changedArr.forEach((item) => {
|
|
29037
|
+
if (lastSort === void 0) {
|
|
29038
|
+
lastSort = item[sortField] || 100;
|
|
29039
|
+
if (!item[sortField]) {
|
|
29040
|
+
item[sortField] = lastSort;
|
|
29041
|
+
modifiedItems.push(item);
|
|
29042
|
+
}
|
|
29043
|
+
} else {
|
|
29044
|
+
if (!item[sortField] || lastSort >= item[sortField]) {
|
|
29045
|
+
item[sortField] = getNextSort(lastSort);
|
|
29046
|
+
modifiedItems.push(item);
|
|
29047
|
+
}
|
|
29048
|
+
lastSort = item[sortField];
|
|
29049
|
+
}
|
|
29050
|
+
});
|
|
29051
|
+
this.updateChangedItems(modifiedItems);
|
|
29052
|
+
}
|
|
29053
|
+
/**
|
|
29054
|
+
* 更新改变项数据
|
|
29055
|
+
* @author: zzq
|
|
29056
|
+
* @date 2024-04-22 17:12:58
|
|
29057
|
+
* @return {*} {Promise<void>}
|
|
29058
|
+
*/
|
|
29059
|
+
async updateChangedItems(changedItems) {
|
|
29060
|
+
try {
|
|
29061
|
+
await Promise.all(
|
|
29062
|
+
changedItems.map(async (item) => {
|
|
29063
|
+
const deName = calcDeCodeNameById(this.model.appDataEntityId);
|
|
29064
|
+
const tempContext = this.context.clone();
|
|
29065
|
+
tempContext[deName] = item.srfkey;
|
|
29066
|
+
const res = await this.service.update(tempContext, item);
|
|
29067
|
+
if (res.data) {
|
|
29068
|
+
const index = this.state.items.findIndex(
|
|
29069
|
+
(x) => x.srfkey === item.srfkey
|
|
29070
|
+
);
|
|
29071
|
+
this.state.items.splice(index, 1, res.data);
|
|
29072
|
+
}
|
|
29073
|
+
})
|
|
29074
|
+
);
|
|
29075
|
+
} finally {
|
|
29076
|
+
await this.afterLoad({}, this.state.items);
|
|
29077
|
+
}
|
|
29078
|
+
}
|
|
28526
29079
|
};
|
|
28527
29080
|
|
|
28528
29081
|
// src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts
|
|
28529
29082
|
import { DataTypes as DataTypes4, ModelError as ModelError29, plus as plus2 } from "@ibiz-template/core";
|
|
28530
29083
|
import dayjs6 from "dayjs";
|
|
28531
29084
|
import { debounce as debounce2 } from "lodash-es";
|
|
28532
|
-
import { clone as clone28, isNil as
|
|
29085
|
+
import { clone as clone28, isNil as isNil29 } from "ramda";
|
|
28533
29086
|
var GridFieldColumnController = class extends GridColumnController {
|
|
28534
29087
|
constructor() {
|
|
28535
29088
|
super(...arguments);
|
|
@@ -28741,11 +29294,11 @@ var GridFieldColumnController = class extends GridColumnController {
|
|
|
28741
29294
|
*/
|
|
28742
29295
|
calcFieldAgg(items) {
|
|
28743
29296
|
const { aggField, aggMode, aggValueFormat, unitName } = this.model;
|
|
28744
|
-
if (
|
|
29297
|
+
if (isNil29(aggMode) || aggMode === "NONE") {
|
|
28745
29298
|
return;
|
|
28746
29299
|
}
|
|
28747
29300
|
const fieldName = aggField || this.model.id;
|
|
28748
|
-
items = items.filter((item) => !
|
|
29301
|
+
items = items.filter((item) => !isNil29(item[fieldName]));
|
|
28749
29302
|
let aggValue;
|
|
28750
29303
|
if (this.grid.model.aggMode === "PAGE") {
|
|
28751
29304
|
switch (aggMode) {
|
|
@@ -30706,7 +31259,7 @@ var SearchBarFilterItemsController = class extends SearchBarFilterController {
|
|
|
30706
31259
|
|
|
30707
31260
|
// src/controller/control/search-bar/interface-util.ts
|
|
30708
31261
|
import { recursiveIterate as recursiveIterate9 } from "@ibiz-template/core";
|
|
30709
|
-
import { isNil as
|
|
31262
|
+
import { isNil as isNil30 } from "ramda";
|
|
30710
31263
|
function getOriginFilterNodes() {
|
|
30711
31264
|
return [
|
|
30712
31265
|
{
|
|
@@ -30728,7 +31281,7 @@ function validateFilterNodes(filterNodes) {
|
|
|
30728
31281
|
}
|
|
30729
31282
|
if (node.nodeType === "FIELD") {
|
|
30730
31283
|
hasFilter = true;
|
|
30731
|
-
hasError = !node.field || !node.valueOP ||
|
|
31284
|
+
hasError = !node.field || !node.valueOP || isNil30(node.value);
|
|
30732
31285
|
} else if (node.nodeType === "ITEMS") {
|
|
30733
31286
|
hasError = !node.field || !node.valueOP;
|
|
30734
31287
|
} else {
|
|
@@ -31753,7 +32306,7 @@ import {
|
|
|
31753
32306
|
RuntimeModelError as RuntimeModelError66,
|
|
31754
32307
|
recursiveIterate as recursiveIterate11
|
|
31755
32308
|
} from "@ibiz-template/core";
|
|
31756
|
-
import { isNil as
|
|
32309
|
+
import { isNil as isNil31 } from "ramda";
|
|
31757
32310
|
|
|
31758
32311
|
// src/controller/control/tree/tree.service.ts
|
|
31759
32312
|
import { ModelError as ModelError30 } from "@ibiz-template/core";
|
|
@@ -32201,7 +32754,8 @@ var TreeController = class extends MDControlController {
|
|
|
32201
32754
|
if (appCounterRef) {
|
|
32202
32755
|
this.counter = await CounterService.getCounterByRef(
|
|
32203
32756
|
appCounterRef,
|
|
32204
|
-
this.context
|
|
32757
|
+
this.context,
|
|
32758
|
+
{ ...this.params }
|
|
32205
32759
|
);
|
|
32206
32760
|
}
|
|
32207
32761
|
}
|
|
@@ -32831,7 +33385,7 @@ var TreeController = class extends MDControlController {
|
|
|
32831
33385
|
* @return {*} {void}
|
|
32832
33386
|
*/
|
|
32833
33387
|
onDEDataChange(msg) {
|
|
32834
|
-
if (!
|
|
33388
|
+
if (!isNil31(msg.triggerKey) && msg.triggerKey === this.triggerKey) {
|
|
32835
33389
|
return;
|
|
32836
33390
|
}
|
|
32837
33391
|
if (msg.subtype === "OBJECTCREATED") {
|
|
@@ -32947,14 +33501,22 @@ var WizardPanelController = class extends ControlController {
|
|
|
32947
33501
|
*/
|
|
32948
33502
|
this.formData = {};
|
|
32949
33503
|
}
|
|
33504
|
+
/**
|
|
33505
|
+
* 获取向导面板数据
|
|
33506
|
+
* @returns
|
|
33507
|
+
*/
|
|
33508
|
+
getData() {
|
|
33509
|
+
return [this.formData];
|
|
33510
|
+
}
|
|
32950
33511
|
initState() {
|
|
32951
33512
|
super.initState();
|
|
33513
|
+
this.state.buttonsState = new ButtonContainerState();
|
|
32952
33514
|
}
|
|
32953
33515
|
async onCreated() {
|
|
32954
33516
|
var _a, _b;
|
|
32955
33517
|
await super.onCreated();
|
|
32956
33518
|
this.model.dewizard.dewizardForms.forEach((wizardForm) => {
|
|
32957
|
-
var _a2, _b2, _c;
|
|
33519
|
+
var _a2, _b2, _c, _d;
|
|
32958
33520
|
if (wizardForm.firstForm) {
|
|
32959
33521
|
this.firstForm = wizardForm;
|
|
32960
33522
|
}
|
|
@@ -32964,7 +33526,17 @@ var WizardPanelController = class extends ControlController {
|
|
|
32964
33526
|
});
|
|
32965
33527
|
const stepTag = wizardStep == null ? void 0 : wizardStep.stepTag;
|
|
32966
33528
|
this.stepTags[formName] = stepTag;
|
|
33529
|
+
(_d = wizardForm.stepActions) == null ? void 0 : _d.forEach((step) => {
|
|
33530
|
+
const name = "".concat(wizardForm.formTag, "@").concat(step);
|
|
33531
|
+
const buttonState = new UIActionButtonState(
|
|
33532
|
+
name,
|
|
33533
|
+
this.context.srfappid
|
|
33534
|
+
);
|
|
33535
|
+
buttonState.visible = !this.getStepScriptCode(wizardForm, step);
|
|
33536
|
+
this.state.buttonsState.addState(name, buttonState);
|
|
33537
|
+
});
|
|
32967
33538
|
});
|
|
33539
|
+
this.state.buttonsState.init();
|
|
32968
33540
|
(_b = (_a = this.model.dewizard) == null ? void 0 : _a.dewizardSteps) == null ? void 0 : _b.forEach((step) => {
|
|
32969
33541
|
this.steps.push(step.stepTag);
|
|
32970
33542
|
});
|
|
@@ -33031,7 +33603,11 @@ var WizardPanelController = class extends ControlController {
|
|
|
33031
33603
|
async onFormMounted(activeFormTag, event) {
|
|
33032
33604
|
const formController = event.ctrl;
|
|
33033
33605
|
this.formControllers.set(activeFormTag, formController);
|
|
33606
|
+
formController.evt.on("onFormDataChange", (evt) => {
|
|
33607
|
+
this.calcButtonState(evt.data[0]);
|
|
33608
|
+
});
|
|
33034
33609
|
const data = await formController.load();
|
|
33610
|
+
this.calcButtonState(formController.data);
|
|
33035
33611
|
Object.assign(this.formData, data);
|
|
33036
33612
|
}
|
|
33037
33613
|
/**
|
|
@@ -33200,11 +33776,60 @@ var WizardPanelController = class extends ControlController {
|
|
|
33200
33776
|
await this.activeFormController.save();
|
|
33201
33777
|
await this.finish();
|
|
33202
33778
|
}
|
|
33779
|
+
/**
|
|
33780
|
+
* 获取向导表单步骤脚本代码
|
|
33781
|
+
* @param wizardForm
|
|
33782
|
+
* @param step
|
|
33783
|
+
*/
|
|
33784
|
+
getStepScriptCode(wizardForm, step) {
|
|
33785
|
+
switch (step) {
|
|
33786
|
+
case "PREV":
|
|
33787
|
+
return wizardForm.goPrevEnableScriptCode;
|
|
33788
|
+
case "NEXT":
|
|
33789
|
+
return wizardForm.goNextEnableScriptCode;
|
|
33790
|
+
case "FINISH":
|
|
33791
|
+
return wizardForm.goFinishEnableScriptCode;
|
|
33792
|
+
default:
|
|
33793
|
+
}
|
|
33794
|
+
}
|
|
33795
|
+
/**
|
|
33796
|
+
* 计算按钮状态
|
|
33797
|
+
*
|
|
33798
|
+
* @param item 数据
|
|
33799
|
+
* @memberof WizardPanelController
|
|
33800
|
+
*/
|
|
33801
|
+
async calcButtonState(item) {
|
|
33802
|
+
var _a;
|
|
33803
|
+
const { activeWizardForm } = this;
|
|
33804
|
+
if (activeWizardForm) {
|
|
33805
|
+
let data = item;
|
|
33806
|
+
if (data && data instanceof ControlVO) {
|
|
33807
|
+
data = data.getOrigin();
|
|
33808
|
+
}
|
|
33809
|
+
(_a = activeWizardForm.stepActions) == null ? void 0 : _a.forEach((step) => {
|
|
33810
|
+
const buttonState = this.state.buttonsState["".concat(activeWizardForm.formTag, "@").concat(step)];
|
|
33811
|
+
const scriptCode = this.getStepScriptCode(activeWizardForm, step);
|
|
33812
|
+
if (buttonState && scriptCode) {
|
|
33813
|
+
buttonState.visible = !!ScriptFactory.execScriptFn(
|
|
33814
|
+
{
|
|
33815
|
+
view: this.view,
|
|
33816
|
+
context: this.context,
|
|
33817
|
+
params: this.params,
|
|
33818
|
+
data,
|
|
33819
|
+
env: ibiz.env
|
|
33820
|
+
},
|
|
33821
|
+
scriptCode,
|
|
33822
|
+
{ isAsync: false, singleRowReturn: true }
|
|
33823
|
+
);
|
|
33824
|
+
}
|
|
33825
|
+
});
|
|
33826
|
+
}
|
|
33827
|
+
}
|
|
33203
33828
|
};
|
|
33204
33829
|
|
|
33205
33830
|
// src/controller/control/md-ctrl/md-ctrl.controller.ts
|
|
33206
33831
|
import { RuntimeModelError as RuntimeModelError67 } from "@ibiz-template/core";
|
|
33207
|
-
import { isNil as
|
|
33832
|
+
import { isNil as isNil32 } from "ramda";
|
|
33208
33833
|
|
|
33209
33834
|
// src/controller/control/md-ctrl/md-ctrl.service.ts
|
|
33210
33835
|
var MDCtrlService = class extends MDControlService {
|
|
@@ -33433,7 +34058,7 @@ var MDCtrlController = class extends MDControlController {
|
|
|
33433
34058
|
const groupMap = /* @__PURE__ */ new Map();
|
|
33434
34059
|
items.forEach((item) => {
|
|
33435
34060
|
const groupVal = item[groupAppDEFieldId];
|
|
33436
|
-
if (
|
|
34061
|
+
if (isNil32(groupVal)) {
|
|
33437
34062
|
return;
|
|
33438
34063
|
}
|
|
33439
34064
|
if (!groupMap.has(groupVal)) {
|
|
@@ -33510,7 +34135,7 @@ var MDCtrlController = class extends MDControlController {
|
|
|
33510
34135
|
|
|
33511
34136
|
// src/controller/control/kanban/kanban.controller.ts
|
|
33512
34137
|
import { RuntimeError as RuntimeError62, RuntimeModelError as RuntimeModelError68 } from "@ibiz-template/core";
|
|
33513
|
-
import { isNil as
|
|
34138
|
+
import { isNil as isNil33 } from "ramda";
|
|
33514
34139
|
|
|
33515
34140
|
// src/controller/control/kanban/kanban.service.ts
|
|
33516
34141
|
var KanbanService = class extends DataViewControlService {
|
|
@@ -33596,7 +34221,7 @@ var KanbanController = class extends DataViewControlController {
|
|
|
33596
34221
|
const isAsc = minorSortDir === "ASC";
|
|
33597
34222
|
items.forEach((item) => {
|
|
33598
34223
|
const sortValue = item[sortField];
|
|
33599
|
-
if (
|
|
34224
|
+
if (isNil33(sortValue)) {
|
|
33600
34225
|
item[sortField] = 0;
|
|
33601
34226
|
} else {
|
|
33602
34227
|
const toNum = Number(sortValue);
|
|
@@ -33739,7 +34364,7 @@ var KanbanController = class extends DataViewControlController {
|
|
|
33739
34364
|
const groupMap = /* @__PURE__ */ new Map();
|
|
33740
34365
|
items.forEach((item) => {
|
|
33741
34366
|
const groupVal = item[groupAppDEFieldId];
|
|
33742
|
-
if (
|
|
34367
|
+
if (isNil33(groupVal)) {
|
|
33743
34368
|
return;
|
|
33744
34369
|
}
|
|
33745
34370
|
if (!groupMap.has(groupVal)) {
|
|
@@ -36681,7 +37306,7 @@ import { QXEvent as QXEvent10 } from "qx-util";
|
|
|
36681
37306
|
// src/controller/notification/async-action.controller.ts
|
|
36682
37307
|
import { QXEvent as QXEvent8 } from "qx-util";
|
|
36683
37308
|
import { clone as clone33 } from "ramda";
|
|
36684
|
-
import { isNil as
|
|
37309
|
+
import { isNil as isNil34, isNumber as isNumber2 } from "lodash-es";
|
|
36685
37310
|
import dayjs8 from "dayjs";
|
|
36686
37311
|
var AsyncActionController = class {
|
|
36687
37312
|
constructor() {
|
|
@@ -36756,14 +37381,14 @@ var AsyncActionController = class {
|
|
|
36756
37381
|
data[key] = dayjs8(data[key]).format("YYYY-MM-DD HH:mm:ss");
|
|
36757
37382
|
}
|
|
36758
37383
|
});
|
|
36759
|
-
if (!
|
|
37384
|
+
if (!isNil34(data.actionresult)) {
|
|
36760
37385
|
try {
|
|
36761
37386
|
const json = JSON.parse(data.actionresult);
|
|
36762
37387
|
data.actionresult = json;
|
|
36763
37388
|
} catch (error) {
|
|
36764
37389
|
}
|
|
36765
37390
|
}
|
|
36766
|
-
if (!
|
|
37391
|
+
if (!isNil34(data.completionrate)) {
|
|
36767
37392
|
const num = Number(data.completionrate);
|
|
36768
37393
|
if (Number.isNaN(num)) {
|
|
36769
37394
|
data.completionrate = void 0;
|
|
@@ -39678,6 +40303,7 @@ export {
|
|
|
39678
40303
|
UIDomainManager,
|
|
39679
40304
|
UILOGINNODE_PROVIDER_PREFIX,
|
|
39680
40305
|
UIMapField,
|
|
40306
|
+
UtilService,
|
|
39681
40307
|
V7AuthService,
|
|
39682
40308
|
VIEW_PROVIDER_PREFIX,
|
|
39683
40309
|
ValueExUtil,
|