@ibiz-template/runtime 0.6.17 → 0.7.0
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 +1083 -331
- package/dist/index.system.min.js +1 -1
- package/out/app-hub.d.ts +7 -0
- package/out/app-hub.d.ts.map +1 -1
- package/out/app-hub.js +11 -0
- package/out/application.d.ts +7 -0
- package/out/application.d.ts.map +1 -1
- package/out/application.js +9 -0
- package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
- package/out/controller/common/control/md-control.controller.js +3 -0
- package/out/controller/control/chart/chart.controller.d.ts +38 -0
- package/out/controller/control/chart/chart.controller.d.ts.map +1 -1
- package/out/controller/control/chart/chart.controller.js +183 -0
- package/out/controller/control/chart/generator/base-series-generator.js +1 -1
- package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
- package/out/controller/control/form/edit-form/edit-form.controller.js +8 -6
- package/out/controller/control/form/form/form.controller.d.ts +16 -0
- package/out/controller/control/form/form/form.controller.d.ts.map +1 -1
- package/out/controller/control/form/form/form.controller.js +32 -3
- package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.state.d.ts +2 -2
- package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.state.d.ts.map +1 -1
- package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.state.js +2 -2
- package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.d.ts +32 -1
- package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.d.ts.map +1 -1
- package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.js +63 -0
- package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.state.d.ts +12 -0
- package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.state.d.ts.map +1 -0
- package/out/controller/control/form/form-detail/form-mdctrl/form-mdctrl.state.js +13 -0
- package/out/controller/control/grid/grid/grid.controller.d.ts +14 -0
- package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
- package/out/controller/control/grid/grid/grid.controller.js +20 -1
- package/out/controller/control/search-bar/index.d.ts +3 -1
- package/out/controller/control/search-bar/index.d.ts.map +1 -1
- package/out/controller/control/search-bar/index.js +3 -1
- package/out/controller/control/search-bar/interface-util.d.ts +75 -0
- package/out/controller/control/search-bar/interface-util.d.ts.map +1 -0
- package/out/controller/control/search-bar/interface-util.js +274 -0
- package/out/controller/control/search-bar/search-bar-filter-items.controller.d.ts +1 -2
- package/out/controller/control/search-bar/search-bar-filter-items.controller.d.ts.map +1 -1
- package/out/controller/control/search-bar/search-bar-filter-items.controller.js +13 -10
- package/out/controller/control/search-bar/search-bar-filter-simple-items.controller.d.ts +37 -0
- package/out/controller/control/search-bar/search-bar-filter-simple-items.controller.d.ts.map +1 -0
- package/out/controller/control/search-bar/search-bar-filter-simple-items.controller.js +47 -0
- package/out/controller/control/search-bar/search-bar-filter.controller.d.ts +20 -5
- package/out/controller/control/search-bar/search-bar-filter.controller.d.ts.map +1 -1
- package/out/controller/control/search-bar/search-bar-filter.controller.js +13 -2
- package/out/controller/control/search-bar/search-bar.controller.d.ts +15 -2
- package/out/controller/control/search-bar/search-bar.controller.d.ts.map +1 -1
- package/out/controller/control/search-bar/search-bar.controller.js +80 -30
- package/out/controller/control/search-bar/util.d.ts +35 -0
- package/out/controller/control/search-bar/util.d.ts.map +1 -0
- package/out/controller/control/search-bar/util.js +45 -0
- package/out/global/global-util/global-util.d.ts +14 -0
- package/out/global/global-util/global-util.d.ts.map +1 -1
- package/out/global/global-util/global-util.js +19 -0
- package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts +7 -0
- package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts.map +1 -1
- package/out/interface/common/i-app-service/i-app-service.d.ts +7 -0
- package/out/interface/common/i-app-service/i-app-service.d.ts.map +1 -1
- package/out/interface/controller/controller/control/i-app-menu.controller.d.ts +8 -1
- package/out/interface/controller/controller/control/i-app-menu.controller.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-chart.state.d.ts +28 -0
- package/out/interface/controller/state/control/i-chart.state.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-md-control.state.d.ts +4 -0
- package/out/interface/controller/state/control/i-md-control.state.d.ts.map +1 -1
- package/out/interface/controller/state/control/index.d.ts +1 -1
- package/out/interface/controller/state/control/index.d.ts.map +1 -1
- package/out/interface/controller/state/control/index.js +1 -1
- package/out/interface/controller/state/control/search-bar/i-filter-node.d.ts +157 -0
- package/out/interface/controller/state/control/search-bar/i-filter-node.d.ts.map +1 -0
- package/out/interface/controller/state/control/search-bar/i-quick-search.d.ts +24 -0
- package/out/interface/controller/state/control/search-bar/i-quick-search.d.ts.map +1 -0
- package/out/interface/controller/state/control/search-bar/i-quick-search.js +1 -0
- package/out/interface/controller/state/control/search-bar/i-search-bar-group.d.ts +89 -0
- package/out/interface/controller/state/control/search-bar/i-search-bar-group.d.ts.map +1 -0
- package/out/interface/controller/state/control/search-bar/i-search-bar-group.js +1 -0
- package/out/interface/controller/state/control/search-bar/i-search-bar.state.d.ts +78 -0
- package/out/interface/controller/state/control/search-bar/i-search-bar.state.d.ts.map +1 -0
- package/out/interface/controller/state/control/search-bar/i-search-bar.state.js +1 -0
- package/out/interface/controller/state/control/search-bar/i-search-cond-ex.d.ts +65 -0
- package/out/interface/controller/state/control/search-bar/i-search-cond-ex.d.ts.map +1 -0
- package/out/interface/controller/state/control/search-bar/i-search-cond-ex.js +1 -0
- package/out/interface/controller/state/control/search-bar/i-search-cond.d.ts +43 -0
- package/out/interface/controller/state/control/search-bar/i-search-cond.d.ts.map +1 -0
- package/out/interface/controller/state/control/search-bar/i-search-cond.js +1 -0
- package/out/interface/controller/state/control/search-bar/index.d.ts +7 -0
- package/out/interface/controller/state/control/search-bar/index.d.ts.map +1 -0
- package/out/interface/controller/state/control/search-bar/index.js +1 -0
- package/out/service/service/code-list/code-list.service.d.ts +14 -0
- package/out/service/service/code-list/code-list.service.d.ts.map +1 -1
- package/out/service/service/code-list/code-list.service.js +39 -0
- package/out/service/service/control/md-control.service.d.ts.map +1 -1
- package/out/service/service/control/md-control.service.js +3 -0
- package/out/service/service/counter/counter.service.d.ts.map +1 -1
- package/out/service/service/counter/counter.service.js +5 -1
- package/out/service/utils/app-counter/app-counter.d.ts.map +1 -1
- package/out/service/utils/app-counter/app-counter.js +4 -2
- package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts +81 -0
- package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts.map +1 -1
- package/out/service/utils/dynamic-code-list/dynamic-code-list.js +127 -2
- package/out/ui-action/provider/front-ui-action-provider.d.ts.map +1 -1
- package/out/ui-action/provider/front-ui-action-provider.js +0 -1
- package/out/ui-logic/ui-logic-context.d.ts +7 -0
- package/out/ui-logic/ui-logic-context.d.ts.map +1 -1
- package/out/ui-logic/ui-logic-context.js +7 -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 +16 -3
- package/package.json +4 -4
- package/out/controller/control/search-bar/use-searchcond.d.ts +0 -33
- package/out/controller/control/search-bar/use-searchcond.d.ts.map +0 -1
- package/out/controller/control/search-bar/use-searchcond.js +0 -117
- package/out/interface/controller/state/control/i-search-bar.state.d.ts +0 -224
- package/out/interface/controller/state/control/i-search-bar.state.d.ts.map +0 -1
- /package/out/interface/controller/state/control/{i-search-bar.state.js → search-bar/i-filter-node.js} +0 -0
package/dist/index.esm.js
CHANGED
|
@@ -3350,8 +3350,8 @@ var baseStyle = {
|
|
|
3350
3350
|
position: "fixed",
|
|
3351
3351
|
zIndex: "10000"
|
|
3352
3352
|
};
|
|
3353
|
-
function cloneElement(
|
|
3354
|
-
const element = getAnimationElement(
|
|
3353
|
+
function cloneElement(clone35, teleport = document.body, isRemoveChild = true) {
|
|
3354
|
+
const element = getAnimationElement(clone35);
|
|
3355
3355
|
if (element == null) {
|
|
3356
3356
|
throw new Error("Cannot clone a null or undefined element.");
|
|
3357
3357
|
}
|
|
@@ -3770,11 +3770,11 @@ function arrayContains(arr, val) {
|
|
|
3770
3770
|
});
|
|
3771
3771
|
}
|
|
3772
3772
|
function cloneObject(o) {
|
|
3773
|
-
var
|
|
3773
|
+
var clone35 = {};
|
|
3774
3774
|
for (var p in o) {
|
|
3775
|
-
|
|
3775
|
+
clone35[p] = o[p];
|
|
3776
3776
|
}
|
|
3777
|
-
return
|
|
3777
|
+
return clone35;
|
|
3778
3778
|
}
|
|
3779
3779
|
function replaceObjectProps(o1, o2) {
|
|
3780
3780
|
var o = cloneObject(o1);
|
|
@@ -5065,7 +5065,7 @@ var FileUtil = class {
|
|
|
5065
5065
|
|
|
5066
5066
|
// src/command/app/open-app-view/open-app-view.ts
|
|
5067
5067
|
import { ModelError as ModelError15, RuntimeError as RuntimeError25 } from "@ibiz-template/core";
|
|
5068
|
-
import { clone as
|
|
5068
|
+
import { clone as clone18 } from "ramda";
|
|
5069
5069
|
|
|
5070
5070
|
// src/service/utils/de-dq-cond/ps-de-dq-cond-engine.ts
|
|
5071
5071
|
import { isEmpty as isEmpty4 } from "ramda";
|
|
@@ -6210,7 +6210,7 @@ var AppCounter = class {
|
|
|
6210
6210
|
const data = msg.data;
|
|
6211
6211
|
if (this.model.appDataEntityId) {
|
|
6212
6212
|
const codeName = calcDeCodeNameById(this.model.appDataEntityId);
|
|
6213
|
-
if (data && data.srfdecodename === codeName) {
|
|
6213
|
+
if (data && data.srfdecodename && data.srfdecodename.toLowerCase() === codeName) {
|
|
6214
6214
|
this.refresh();
|
|
6215
6215
|
}
|
|
6216
6216
|
}
|
|
@@ -6330,7 +6330,7 @@ var AppCounter = class {
|
|
|
6330
6330
|
this.context.destroy();
|
|
6331
6331
|
this.destroyInterval();
|
|
6332
6332
|
this.evt.reset();
|
|
6333
|
-
ibiz.mc.command.change.
|
|
6333
|
+
ibiz.mc.command.change.off(this.countChange);
|
|
6334
6334
|
}
|
|
6335
6335
|
};
|
|
6336
6336
|
|
|
@@ -6480,8 +6480,13 @@ var DEDQCondUtil = class {
|
|
|
6480
6480
|
DEDQCondUtil.map = /* @__PURE__ */ new WeakMap();
|
|
6481
6481
|
|
|
6482
6482
|
// src/service/utils/dynamic-code-list/dynamic-code-list.ts
|
|
6483
|
-
import {
|
|
6484
|
-
|
|
6483
|
+
import {
|
|
6484
|
+
IBizContext as IBizContext2,
|
|
6485
|
+
ModelError as ModelError5,
|
|
6486
|
+
RuntimeModelError as RuntimeModelError7
|
|
6487
|
+
} from "@ibiz-template/core";
|
|
6488
|
+
import { clone as clone4, isNil as isNil5 } from "ramda";
|
|
6489
|
+
import { QXEvent as QXEvent3, notNilEmpty as notNilEmpty6 } from "qx-util";
|
|
6485
6490
|
var DynamicCodeListCache = class {
|
|
6486
6491
|
constructor(codeList) {
|
|
6487
6492
|
/**
|
|
@@ -6501,7 +6506,55 @@ var DynamicCodeListCache = class {
|
|
|
6501
6506
|
* @type {boolean}
|
|
6502
6507
|
*/
|
|
6503
6508
|
this.isPredefined = false;
|
|
6509
|
+
/**
|
|
6510
|
+
* 应用上下文
|
|
6511
|
+
*
|
|
6512
|
+
* @author tony001
|
|
6513
|
+
* @date 2024-04-10 15:04:25
|
|
6514
|
+
* @protected
|
|
6515
|
+
* @type {IContext}
|
|
6516
|
+
*/
|
|
6517
|
+
this.context = IBizContext2.create();
|
|
6518
|
+
/**
|
|
6519
|
+
* 视图参数
|
|
6520
|
+
*
|
|
6521
|
+
* @author tony001
|
|
6522
|
+
* @date 2024-04-10 15:04:39
|
|
6523
|
+
* @protected
|
|
6524
|
+
* @type {IParams}
|
|
6525
|
+
*/
|
|
6526
|
+
this.params = {};
|
|
6527
|
+
/**
|
|
6528
|
+
* 事件对象
|
|
6529
|
+
*
|
|
6530
|
+
* @author tony001
|
|
6531
|
+
* @date 2024-04-10 17:04:00
|
|
6532
|
+
* @protected
|
|
6533
|
+
*/
|
|
6534
|
+
this.evt = new QXEvent3();
|
|
6504
6535
|
this.codeList = codeList;
|
|
6536
|
+
this.codelistChange = this.codelistChange.bind(this);
|
|
6537
|
+
const { appDataEntityId, appDEDataSetId } = this.codeList;
|
|
6538
|
+
if (appDataEntityId && appDEDataSetId) {
|
|
6539
|
+
ibiz.mc.command.change.on(this.codelistChange);
|
|
6540
|
+
}
|
|
6541
|
+
}
|
|
6542
|
+
/**
|
|
6543
|
+
* 设置上下文以及查询参数
|
|
6544
|
+
*
|
|
6545
|
+
* @author tony001
|
|
6546
|
+
* @date 2024-04-10 15:04:04
|
|
6547
|
+
* @protected
|
|
6548
|
+
* @param {IContext} [context]
|
|
6549
|
+
* @param {IParams} [params]
|
|
6550
|
+
*/
|
|
6551
|
+
setParams(context, params) {
|
|
6552
|
+
if (context) {
|
|
6553
|
+
this.context = clone4(context);
|
|
6554
|
+
}
|
|
6555
|
+
if (params) {
|
|
6556
|
+
this.params = clone4(params);
|
|
6557
|
+
}
|
|
6505
6558
|
}
|
|
6506
6559
|
/**
|
|
6507
6560
|
* 初始化
|
|
@@ -6623,6 +6676,7 @@ var DynamicCodeListCache = class {
|
|
|
6623
6676
|
* @returns {*} {Promise<CodeListItem[]>}
|
|
6624
6677
|
*/
|
|
6625
6678
|
async load(context, params = {}) {
|
|
6679
|
+
this.setParams(context, params);
|
|
6626
6680
|
const app = ibiz.hub.getApp(context.srfappid);
|
|
6627
6681
|
const {
|
|
6628
6682
|
appDataEntityId,
|
|
@@ -6754,10 +6808,79 @@ var DynamicCodeListCache = class {
|
|
|
6754
6808
|
delete cacheData.promise;
|
|
6755
6809
|
return result;
|
|
6756
6810
|
}
|
|
6811
|
+
/**
|
|
6812
|
+
* 接受代码表实体数据变更,刷新代码表
|
|
6813
|
+
*
|
|
6814
|
+
* @author tony001
|
|
6815
|
+
* @date 2024-04-10 15:04:42
|
|
6816
|
+
* @protected
|
|
6817
|
+
* @param {IPortalMessage} msg
|
|
6818
|
+
*/
|
|
6819
|
+
codelistChange(msg) {
|
|
6820
|
+
const data = msg.data;
|
|
6821
|
+
const { appDataEntityId } = this.codeList;
|
|
6822
|
+
if (appDataEntityId) {
|
|
6823
|
+
const codeName = calcDeCodeNameById(appDataEntityId);
|
|
6824
|
+
if (data && data.srfdecodename && data.srfdecodename.toLowerCase() === codeName) {
|
|
6825
|
+
this.refresh();
|
|
6826
|
+
}
|
|
6827
|
+
}
|
|
6828
|
+
}
|
|
6829
|
+
/**
|
|
6830
|
+
* 刷新代码表数据
|
|
6831
|
+
*
|
|
6832
|
+
* @author tony001
|
|
6833
|
+
* @date 2024-04-10 17:04:20
|
|
6834
|
+
* @return {*} {Promise<void>}
|
|
6835
|
+
*/
|
|
6836
|
+
async refresh() {
|
|
6837
|
+
const key = JSON.stringify(this.context) + JSON.stringify(this.params);
|
|
6838
|
+
this.cache.delete(key);
|
|
6839
|
+
const result = await this.get(this.context, this.params);
|
|
6840
|
+
this.evt.emit("change", result);
|
|
6841
|
+
}
|
|
6842
|
+
/**
|
|
6843
|
+
* 代码表数据变更事件监听
|
|
6844
|
+
*
|
|
6845
|
+
* @author tony001
|
|
6846
|
+
* @date 2024-04-10 17:04:52
|
|
6847
|
+
* @param {(data: CodeListItem[]) => void} fn
|
|
6848
|
+
* @param {boolean} [immediate=true] 当有数据时,立即触发一次回调
|
|
6849
|
+
*/
|
|
6850
|
+
onChange(fn, immediate = true) {
|
|
6851
|
+
this.evt.on("change", fn);
|
|
6852
|
+
const key = JSON.stringify(this.context) + JSON.stringify(this.params);
|
|
6853
|
+
const cacheData = this.cache.get(key);
|
|
6854
|
+
if (immediate && notNilEmpty6(cacheData)) {
|
|
6855
|
+
fn(cacheData.items);
|
|
6856
|
+
}
|
|
6857
|
+
}
|
|
6858
|
+
/**
|
|
6859
|
+
* 取消代码表数据变更监听
|
|
6860
|
+
*
|
|
6861
|
+
* @author tony001
|
|
6862
|
+
* @date 2024-04-10 17:04:57
|
|
6863
|
+
* @param {(data: CodeListItem[]) => void} fn
|
|
6864
|
+
*/
|
|
6865
|
+
offChange(fn) {
|
|
6866
|
+
this.evt.off("change", fn);
|
|
6867
|
+
}
|
|
6868
|
+
/**
|
|
6869
|
+
* 销毁(取消数据变更监听)
|
|
6870
|
+
*
|
|
6871
|
+
* @author tony001
|
|
6872
|
+
* @date 2024-04-10 15:04:11
|
|
6873
|
+
*/
|
|
6874
|
+
destroy() {
|
|
6875
|
+
const { appDataEntityId, appDEDataSetId } = this.codeList;
|
|
6876
|
+
if (appDataEntityId && appDEDataSetId) {
|
|
6877
|
+
ibiz.mc.command.change.off(this.codelistChange);
|
|
6878
|
+
}
|
|
6879
|
+
}
|
|
6757
6880
|
};
|
|
6758
6881
|
|
|
6759
6882
|
// src/service/utils/de-cache/de-cache.ts
|
|
6760
|
-
import { where, equals, clone as
|
|
6883
|
+
import { where, equals, clone as clone5, isNil as isNil7, isEmpty as isEmpty6 } from "ramda";
|
|
6761
6884
|
import { createUUID as createUUID2 } from "qx-util";
|
|
6762
6885
|
import { RuntimeError as RuntimeError16 } from "@ibiz-template/core";
|
|
6763
6886
|
|
|
@@ -6837,7 +6960,7 @@ var DECache = class {
|
|
|
6837
6960
|
* @param {IDataEntity} entity
|
|
6838
6961
|
*/
|
|
6839
6962
|
forceUpdate(_context, entity) {
|
|
6840
|
-
this.cacheMap.set(entity.srfkey,
|
|
6963
|
+
this.cacheMap.set(entity.srfkey, clone5(entity));
|
|
6841
6964
|
ibiz.log.warn("forceUpdate", entity.srfkey, entity);
|
|
6842
6965
|
}
|
|
6843
6966
|
/**
|
|
@@ -6876,7 +6999,7 @@ var DECache = class {
|
|
|
6876
6999
|
}
|
|
6877
7000
|
entity.srftempdate = (/* @__PURE__ */ new Date()).getTime();
|
|
6878
7001
|
const commit = () => {
|
|
6879
|
-
this.cacheMap.set(entity.srfkey,
|
|
7002
|
+
this.cacheMap.set(entity.srfkey, clone5(entity));
|
|
6880
7003
|
ibiz.log.warn("add", entity.srfkey, entity);
|
|
6881
7004
|
};
|
|
6882
7005
|
const t = this.getTransaction(context);
|
|
@@ -6906,7 +7029,7 @@ var DECache = class {
|
|
|
6906
7029
|
isExistSessionId("get", context);
|
|
6907
7030
|
const data = this.cacheMap.get(srfKey);
|
|
6908
7031
|
ibiz.log.warn("get", srfKey, data);
|
|
6909
|
-
return
|
|
7032
|
+
return clone5(data);
|
|
6910
7033
|
} catch (err) {
|
|
6911
7034
|
ibiz.log.error(err);
|
|
6912
7035
|
return null;
|
|
@@ -6936,7 +7059,7 @@ var DECache = class {
|
|
|
6936
7059
|
entity.srftempdate = (/* @__PURE__ */ new Date()).getTime();
|
|
6937
7060
|
const data = this.cacheMap.get(oldKey);
|
|
6938
7061
|
if (data) {
|
|
6939
|
-
const _data =
|
|
7062
|
+
const _data = clone5(data);
|
|
6940
7063
|
_data.assign(entity);
|
|
6941
7064
|
const commit = () => {
|
|
6942
7065
|
data.assign(entity);
|
|
@@ -7019,7 +7142,7 @@ var DECache = class {
|
|
|
7019
7142
|
entity.srfkey = createUUID2();
|
|
7020
7143
|
}
|
|
7021
7144
|
entity.srftempdate = (/* @__PURE__ */ new Date()).getTime();
|
|
7022
|
-
const data =
|
|
7145
|
+
const data = clone5(entity);
|
|
7023
7146
|
if (t) {
|
|
7024
7147
|
t.change(data.srfkey, () => {
|
|
7025
7148
|
commit(data);
|
|
@@ -7069,7 +7192,7 @@ var DECache = class {
|
|
|
7069
7192
|
entity.srftempdate = (/* @__PURE__ */ new Date()).getTime();
|
|
7070
7193
|
const data = this.cacheMap.get(entity.srfkey);
|
|
7071
7194
|
if (data) {
|
|
7072
|
-
const _data =
|
|
7195
|
+
const _data = clone5(data);
|
|
7073
7196
|
_data.assign(entity);
|
|
7074
7197
|
entities[i] = _data;
|
|
7075
7198
|
if (t) {
|
|
@@ -7594,6 +7717,44 @@ var CodeListService = class {
|
|
|
7594
7717
|
}
|
|
7595
7718
|
return [];
|
|
7596
7719
|
}
|
|
7720
|
+
/**
|
|
7721
|
+
* 获取代码表实例对象(动态代码表返回具体实例,静态代码表返回undefined)
|
|
7722
|
+
*
|
|
7723
|
+
* @param tag 代码表标识
|
|
7724
|
+
* @returns 动态代码表实例|undefined
|
|
7725
|
+
*/
|
|
7726
|
+
async getCodeListInstance(tag) {
|
|
7727
|
+
let codeListInstance;
|
|
7728
|
+
const codeList = this.allCodeLists.get(tag);
|
|
7729
|
+
if (!codeList) {
|
|
7730
|
+
throw new RuntimeError17("\u627E\u4E0D\u5230".concat(tag, "\u4EE3\u7801\u8868"));
|
|
7731
|
+
}
|
|
7732
|
+
if (codeList.codeListType === "DYNAMIC") {
|
|
7733
|
+
const codeName = codeList.codeName;
|
|
7734
|
+
if (this.cache.has(codeName)) {
|
|
7735
|
+
codeListInstance = this.cache.get(codeName);
|
|
7736
|
+
} else {
|
|
7737
|
+
codeListInstance = new DynamicCodeListCache(codeList);
|
|
7738
|
+
this.cache.set(codeName, codeListInstance);
|
|
7739
|
+
await codeListInstance.init();
|
|
7740
|
+
}
|
|
7741
|
+
}
|
|
7742
|
+
return codeListInstance;
|
|
7743
|
+
}
|
|
7744
|
+
/**
|
|
7745
|
+
* 销毁(清除动态代码表监听)
|
|
7746
|
+
*
|
|
7747
|
+
* @author tony001
|
|
7748
|
+
* @return {void}
|
|
7749
|
+
*/
|
|
7750
|
+
destroy() {
|
|
7751
|
+
const cacheList = Array.from(this.cache.values());
|
|
7752
|
+
cacheList.forEach((item) => {
|
|
7753
|
+
if (item instanceof DynamicCodeListCache) {
|
|
7754
|
+
item.destroy();
|
|
7755
|
+
}
|
|
7756
|
+
});
|
|
7757
|
+
}
|
|
7597
7758
|
};
|
|
7598
7759
|
|
|
7599
7760
|
// src/service/service/config/config.service.ts
|
|
@@ -7659,7 +7820,10 @@ var CounterService = class {
|
|
|
7659
7820
|
* @return {*} {Promise<AppCounter>}
|
|
7660
7821
|
*/
|
|
7661
7822
|
static async getCounter(model, context, params) {
|
|
7662
|
-
|
|
7823
|
+
let id = model.id;
|
|
7824
|
+
if (params && params.customId) {
|
|
7825
|
+
id = params.customId;
|
|
7826
|
+
}
|
|
7663
7827
|
if (this.counterMap.has(id)) {
|
|
7664
7828
|
const counter2 = this.counterMap.get(id);
|
|
7665
7829
|
if (counter2.isDestroyed === false) {
|
|
@@ -8073,7 +8237,7 @@ var FileService = class {
|
|
|
8073
8237
|
};
|
|
8074
8238
|
|
|
8075
8239
|
// src/service/app-data-entity/app-data-entity.ts
|
|
8076
|
-
import { clone as
|
|
8240
|
+
import { clone as clone6, isNil as isNil9 } from "ramda";
|
|
8077
8241
|
import { DataTypes } from "@ibiz-template/core";
|
|
8078
8242
|
import { createUUID as createUUID3 } from "qx-util";
|
|
8079
8243
|
|
|
@@ -8106,7 +8270,7 @@ var AppDataEntity = class _AppDataEntity {
|
|
|
8106
8270
|
Object.defineProperty(this, "_data", {
|
|
8107
8271
|
enumerable: false,
|
|
8108
8272
|
configurable: true,
|
|
8109
|
-
value: data instanceof _AppDataEntity ?
|
|
8273
|
+
value: data instanceof _AppDataEntity ? clone6(data._data) : clone6(data)
|
|
8110
8274
|
});
|
|
8111
8275
|
Object.defineProperty(this, "srfdeid", {
|
|
8112
8276
|
get() {
|
|
@@ -8273,7 +8437,7 @@ var AppDataEntity = class _AppDataEntity {
|
|
|
8273
8437
|
|
|
8274
8438
|
// src/service/dto/method.dto.ts
|
|
8275
8439
|
import { ModelError as ModelError6, RuntimeModelError as RuntimeModelError9 } from "@ibiz-template/core";
|
|
8276
|
-
import { clone as
|
|
8440
|
+
import { clone as clone7 } from "ramda";
|
|
8277
8441
|
var MethodDto = class {
|
|
8278
8442
|
/**
|
|
8279
8443
|
* Creates an instance of MethodDto.
|
|
@@ -8372,7 +8536,7 @@ var MethodDto = class {
|
|
|
8372
8536
|
});
|
|
8373
8537
|
let res;
|
|
8374
8538
|
if (deRs && deRs.nestedAppDEDataSetId) {
|
|
8375
|
-
const _context =
|
|
8539
|
+
const _context = clone7(context);
|
|
8376
8540
|
_context[this.entity.codeName.toLowerCase()] = data.srfkey;
|
|
8377
8541
|
const _params = {};
|
|
8378
8542
|
if (deRs.parentAppDEFieldId) {
|
|
@@ -8786,11 +8950,11 @@ var DEService = class {
|
|
|
8786
8950
|
};
|
|
8787
8951
|
|
|
8788
8952
|
// src/service/service/control/control.service.ts
|
|
8789
|
-
import { clone as
|
|
8953
|
+
import { clone as clone9 } from "@ibiz-template/core";
|
|
8790
8954
|
|
|
8791
8955
|
// src/service/vo/control.vo.ts
|
|
8792
8956
|
import { createUUID as createUUID4 } from "qx-util";
|
|
8793
|
-
import { clone as
|
|
8957
|
+
import { clone as clone8, isNil as isNil10 } from "ramda";
|
|
8794
8958
|
var BuildInKeys = [
|
|
8795
8959
|
"srfkey",
|
|
8796
8960
|
"srfmajortext",
|
|
@@ -8978,7 +9142,7 @@ var ControlVO = class _ControlVO {
|
|
|
8978
9142
|
* @return {*} {ControlVO}
|
|
8979
9143
|
*/
|
|
8980
9144
|
clone() {
|
|
8981
|
-
const cloneOrigin =
|
|
9145
|
+
const cloneOrigin = clone8(this.$origin);
|
|
8982
9146
|
const newVal = new _ControlVO(cloneOrigin, this.$dataUIMap);
|
|
8983
9147
|
Object.keys(this).forEach((key) => {
|
|
8984
9148
|
newVal[key] = this[key];
|
|
@@ -9094,7 +9258,7 @@ var ControlService = class {
|
|
|
9094
9258
|
* @returns {*} {IHttpResponse}
|
|
9095
9259
|
*/
|
|
9096
9260
|
handleResponse(res) {
|
|
9097
|
-
return
|
|
9261
|
+
return clone9(res);
|
|
9098
9262
|
}
|
|
9099
9263
|
/**
|
|
9100
9264
|
* 实体数据转ui数据
|
|
@@ -9261,6 +9425,9 @@ var MDControlService = class extends ControlService {
|
|
|
9261
9425
|
if (res.headers["x-total"]) {
|
|
9262
9426
|
res.total = Number(res.headers["x-total"]);
|
|
9263
9427
|
}
|
|
9428
|
+
if (res.headers["x-total-pages"]) {
|
|
9429
|
+
res.totalPages = Number(res.headers["x-total-pages"]);
|
|
9430
|
+
}
|
|
9264
9431
|
}
|
|
9265
9432
|
if (res.ok) {
|
|
9266
9433
|
if (isArray3(res.data)) {
|
|
@@ -9811,7 +9978,7 @@ import {
|
|
|
9811
9978
|
} from "@ibiz-template/core";
|
|
9812
9979
|
import { isArray as isArray6, isNil as isNil12 } from "lodash-es";
|
|
9813
9980
|
import { ascSort } from "qx-util";
|
|
9814
|
-
import { clone as
|
|
9981
|
+
import { clone as clone15 } from "ramda";
|
|
9815
9982
|
|
|
9816
9983
|
// src/service/service/entity/method/method.ts
|
|
9817
9984
|
import { RuntimeModelError as RuntimeModelError11 } from "@ibiz-template/core";
|
|
@@ -10051,7 +10218,7 @@ var Method = class {
|
|
|
10051
10218
|
// src/de-logic/index.ts
|
|
10052
10219
|
import { HttpError as HttpError4, HttpResponse as HttpResponse2, RuntimeError as RuntimeError22 } from "@ibiz-template/core";
|
|
10053
10220
|
import { isArray as isArray5 } from "lodash-es";
|
|
10054
|
-
import { clone as
|
|
10221
|
+
import { clone as clone14 } from "ramda";
|
|
10055
10222
|
|
|
10056
10223
|
// src/de-logic/de-logic.ts
|
|
10057
10224
|
import { ModelError as ModelError13, RuntimeModelError as RuntimeModelError21 } from "@ibiz-template/core";
|
|
@@ -10511,11 +10678,11 @@ var EndNode = class extends DELogicNode {
|
|
|
10511
10678
|
|
|
10512
10679
|
// src/de-logic/de-logic-node/prepare-param-node/prepare-param-node.ts
|
|
10513
10680
|
import { ModelError as ModelError11 } from "@ibiz-template/core";
|
|
10514
|
-
import { clone as
|
|
10681
|
+
import { clone as clone11 } from "ramda";
|
|
10515
10682
|
|
|
10516
10683
|
// src/de-logic/utils/handle-src-val.ts
|
|
10517
10684
|
import { ModelError as ModelError10 } from "@ibiz-template/core";
|
|
10518
|
-
import { clone as
|
|
10685
|
+
import { clone as clone10 } from "ramda";
|
|
10519
10686
|
function handleSrcVal(ctx, srcValParams) {
|
|
10520
10687
|
const { srcDELogicParamId, srcFieldName, srcValue, expression } = srcValParams;
|
|
10521
10688
|
const srcValueType = srcValParams.srcValueType || "SRCDLPARAM";
|
|
@@ -10545,7 +10712,7 @@ function handleSrcVal(ctx, srcValParams) {
|
|
|
10545
10712
|
value = ctx.parameters.context;
|
|
10546
10713
|
break;
|
|
10547
10714
|
case "ENVPARAM":
|
|
10548
|
-
value =
|
|
10715
|
+
value = clone10(ibiz.env);
|
|
10549
10716
|
break;
|
|
10550
10717
|
case "EXPRESSION":
|
|
10551
10718
|
if (!expression) {
|
|
@@ -10591,7 +10758,7 @@ var PrepareParamNode = class extends DELogicNode {
|
|
|
10591
10758
|
let result;
|
|
10592
10759
|
let originValue;
|
|
10593
10760
|
if (nodeParam.dstDELogicParamId && ibiz.env.logLevel === "DEBUG") {
|
|
10594
|
-
originValue =
|
|
10761
|
+
originValue = clone11(ctx.params[nodeParam.dstDELogicParamId]);
|
|
10595
10762
|
}
|
|
10596
10763
|
switch (nodeParam.paramAction) {
|
|
10597
10764
|
case "SETPARAMVALUE":
|
|
@@ -10644,7 +10811,7 @@ var PrepareParamNode = class extends DELogicNode {
|
|
|
10644
10811
|
copyParam(nodeParam, ctx) {
|
|
10645
10812
|
const { dstDELogicParamId } = nodeParam;
|
|
10646
10813
|
const srcVal = handleSrcVal(ctx, nodeParam);
|
|
10647
|
-
ctx.params[dstDELogicParamId] =
|
|
10814
|
+
ctx.params[dstDELogicParamId] = clone11(srcVal);
|
|
10648
10815
|
}
|
|
10649
10816
|
/**
|
|
10650
10817
|
* 绑定参数
|
|
@@ -10820,7 +10987,7 @@ var RenewParamNode = class extends DELogicNode {
|
|
|
10820
10987
|
|
|
10821
10988
|
// src/de-logic/de-logic-node/copy-param-node/copy-param-node.ts
|
|
10822
10989
|
import { RuntimeModelError as RuntimeModelError18 } from "@ibiz-template/core";
|
|
10823
|
-
import { clone as
|
|
10990
|
+
import { clone as clone12 } from "ramda";
|
|
10824
10991
|
var CopyParamNode = class extends DELogicNode {
|
|
10825
10992
|
async exec(ctx) {
|
|
10826
10993
|
const { dstDELogicParamId, srcDELogicParamId } = this.model;
|
|
@@ -10831,7 +10998,7 @@ var CopyParamNode = class extends DELogicNode {
|
|
|
10831
10998
|
);
|
|
10832
10999
|
}
|
|
10833
11000
|
const srcVal = handleSrcVal(ctx, this.model);
|
|
10834
|
-
ctx.params[dstDELogicParamId] =
|
|
11001
|
+
ctx.params[dstDELogicParamId] = clone12(srcVal);
|
|
10835
11002
|
ibiz.log.debug(
|
|
10836
11003
|
"\u5B9E\u4F53\u903B\u8F91\u8282\u70B9\uFF08\u62F7\u8D1D\u53C2\u6570\uFF09\uFF1A".concat(this.model.id, "-\u53C2\u6570\u540D\u79F0\uFF1A").concat(dstDELogicParamId, "-\u503C\uFF1A"),
|
|
10837
11004
|
srcVal
|
|
@@ -10914,7 +11081,7 @@ var ThrowExceptionNode = class extends DELogicNode {
|
|
|
10914
11081
|
|
|
10915
11082
|
// src/de-logic/de-logic-param/de-logic-param.ts
|
|
10916
11083
|
import { ModelError as ModelError12 } from "@ibiz-template/core";
|
|
10917
|
-
import { clone as
|
|
11084
|
+
import { clone as clone13 } from "ramda";
|
|
10918
11085
|
var DELogicParam = class {
|
|
10919
11086
|
/**
|
|
10920
11087
|
* Creates an instance of DELogicParam.
|
|
@@ -10946,7 +11113,7 @@ var DELogicParam = class {
|
|
|
10946
11113
|
ctx.params[tag] = ctx.data[0] || {};
|
|
10947
11114
|
}
|
|
10948
11115
|
} else if (m.appGlobalParam) {
|
|
10949
|
-
ctx.params[tag] =
|
|
11116
|
+
ctx.params[tag] = clone13(ibiz.env);
|
|
10950
11117
|
} else if (m.entityListParam) {
|
|
10951
11118
|
ctx.params[tag] = [];
|
|
10952
11119
|
} else if (m.entityPageParam) {
|
|
@@ -10962,7 +11129,7 @@ var DELogicParam = class {
|
|
|
10962
11129
|
} else if (m.simpleParam) {
|
|
10963
11130
|
ctx.params[tag] = {};
|
|
10964
11131
|
} else if (m.cloneParam) {
|
|
10965
|
-
ctx.params[tag] =
|
|
11132
|
+
ctx.params[tag] = clone13(ctx.data || {});
|
|
10966
11133
|
} else if (m.envParam) {
|
|
10967
11134
|
throw new ModelError12(m, "\u672A\u652F\u6301\u7684\u903B\u8F91\u53C2\u6570\u7C7B\u578B: \u7CFB\u7EDF\u73AF\u5883\u53D8\u91CF");
|
|
10968
11135
|
} else if (m.fileListParam) {
|
|
@@ -11210,9 +11377,9 @@ async function execDELogicById(deDELogicId, dataEntityId, context, data, params)
|
|
|
11210
11377
|
return execDELogic(deLogic, context, data, params);
|
|
11211
11378
|
}
|
|
11212
11379
|
async function execDELogicAction(deDELogic, context, data, params) {
|
|
11213
|
-
const _context =
|
|
11214
|
-
const _data = data ?
|
|
11215
|
-
const _params = params ?
|
|
11380
|
+
const _context = clone14(context);
|
|
11381
|
+
const _data = data ? clone14(data) : data;
|
|
11382
|
+
const _params = params ? clone14(params) : params;
|
|
11216
11383
|
try {
|
|
11217
11384
|
const result = await execDELogic(deDELogic, _context, _data, _params);
|
|
11218
11385
|
return new HttpResponse2(result);
|
|
@@ -11587,7 +11754,7 @@ var DEActionMethod = class extends Method {
|
|
|
11587
11754
|
context,
|
|
11588
11755
|
minorAppDataEntityId
|
|
11589
11756
|
);
|
|
11590
|
-
const _context =
|
|
11757
|
+
const _context = clone15(context);
|
|
11591
11758
|
_context[this.entity.codeName.toLowerCase()] = key;
|
|
11592
11759
|
const res = await minorService.exec(nestedAppDEDataSetId, _context);
|
|
11593
11760
|
const items = res.data || [];
|
|
@@ -11759,7 +11926,7 @@ import {
|
|
|
11759
11926
|
RuntimeModelError as RuntimeModelError23
|
|
11760
11927
|
} from "@ibiz-template/core";
|
|
11761
11928
|
import { isArray as isArray7 } from "lodash-es";
|
|
11762
|
-
import { clone as
|
|
11929
|
+
import { clone as clone16, isEmpty as isEmpty8, isNil as isNil13 } from "ramda";
|
|
11763
11930
|
import { ascSort as ascSort2, descSort } from "qx-util";
|
|
11764
11931
|
var FetchMethod = class extends Method {
|
|
11765
11932
|
async exec(context, params, params2, header) {
|
|
@@ -11846,7 +12013,7 @@ var FetchMethod = class extends Method {
|
|
|
11846
12013
|
const { page, size } = filter;
|
|
11847
12014
|
const start = page * size;
|
|
11848
12015
|
const end = (page + 1) * size - 1;
|
|
11849
|
-
const items = list.slice(start, end).map((item) =>
|
|
12016
|
+
const items = list.slice(start, end).map((item) => clone16(item));
|
|
11850
12017
|
return items;
|
|
11851
12018
|
}
|
|
11852
12019
|
/**
|
|
@@ -12201,7 +12368,7 @@ var TreeCodeListNodeData = class extends TreeNodeData {
|
|
|
12201
12368
|
|
|
12202
12369
|
// src/service/vo/tree-node-data/tree-data-set-node-data.ts
|
|
12203
12370
|
import { updateKeyDefine } from "@ibiz-template/core";
|
|
12204
|
-
import { clone as
|
|
12371
|
+
import { clone as clone17, isNil as isNil15 } from "ramda";
|
|
12205
12372
|
var CloneExcludeKeys = [
|
|
12206
12373
|
"_id",
|
|
12207
12374
|
"srfnodeid",
|
|
@@ -12317,7 +12484,7 @@ var TreeDataSetNodeData = class _TreeDataSetNodeData extends TreeNodeData {
|
|
|
12317
12484
|
}
|
|
12318
12485
|
};
|
|
12319
12486
|
this.clone = () => {
|
|
12320
|
-
const cloneData =
|
|
12487
|
+
const cloneData = clone17(this._deData);
|
|
12321
12488
|
const cloneNodeData = new _TreeDataSetNodeData(model, this._parent, {
|
|
12322
12489
|
data: cloneData,
|
|
12323
12490
|
leaf: this._leaf,
|
|
@@ -12659,7 +12826,7 @@ var MapData = class {
|
|
|
12659
12826
|
};
|
|
12660
12827
|
|
|
12661
12828
|
// src/service/vo/panel-data/panel-data.ts
|
|
12662
|
-
import { QXEvent as
|
|
12829
|
+
import { QXEvent as QXEvent4 } from "qx-util";
|
|
12663
12830
|
function updateKeyDefine3(target, keys) {
|
|
12664
12831
|
keys.forEach((key) => {
|
|
12665
12832
|
if (!Object.prototype.hasOwnProperty.call(target, key)) {
|
|
@@ -12674,7 +12841,7 @@ function updateKeyDefine3(target, keys) {
|
|
|
12674
12841
|
}
|
|
12675
12842
|
var PanelData = class {
|
|
12676
12843
|
constructor(fields, origin) {
|
|
12677
|
-
const _evt = new
|
|
12844
|
+
const _evt = new QXEvent4();
|
|
12678
12845
|
const keyMap = {};
|
|
12679
12846
|
const reverseKeyMap = {};
|
|
12680
12847
|
fields.forEach((field) => {
|
|
@@ -12896,7 +13063,7 @@ var GanttCodeListNodeData = class extends TreeCodeListNodeData {
|
|
|
12896
13063
|
};
|
|
12897
13064
|
|
|
12898
13065
|
// src/service/mqtt/mqtt.service.ts
|
|
12899
|
-
import { QXEvent as
|
|
13066
|
+
import { QXEvent as QXEvent5, createUUID as createUUID7 } from "qx-util";
|
|
12900
13067
|
var MqttService = class {
|
|
12901
13068
|
/**
|
|
12902
13069
|
* Creates an instance of MqttService.
|
|
@@ -12917,7 +13084,7 @@ var MqttService = class {
|
|
|
12917
13084
|
* @author chitanda
|
|
12918
13085
|
* @date 2023-10-23 15:10:06
|
|
12919
13086
|
*/
|
|
12920
|
-
this.evt = new
|
|
13087
|
+
this.evt = new QXEvent5();
|
|
12921
13088
|
/**
|
|
12922
13089
|
* 连接选项
|
|
12923
13090
|
*
|
|
@@ -13169,7 +13336,7 @@ var _OpenAppViewCommand = class _OpenAppViewCommand {
|
|
|
13169
13336
|
* @return {*} {(Promise<IModalData | void>)}
|
|
13170
13337
|
*/
|
|
13171
13338
|
async exec(appViewId, _context, params = {}, opts = {}) {
|
|
13172
|
-
const context =
|
|
13339
|
+
const context = clone18(_context);
|
|
13173
13340
|
if (context.srfsimple) {
|
|
13174
13341
|
delete context.srfsimple;
|
|
13175
13342
|
}
|
|
@@ -13463,7 +13630,7 @@ function installCommand() {
|
|
|
13463
13630
|
}
|
|
13464
13631
|
|
|
13465
13632
|
// src/app-hub.ts
|
|
13466
|
-
import { RuntimeError as
|
|
13633
|
+
import { RuntimeError as RuntimeError67 } from "@ibiz-template/core";
|
|
13467
13634
|
|
|
13468
13635
|
// src/application.ts
|
|
13469
13636
|
import { Net, getToken } from "@ibiz-template/core";
|
|
@@ -13636,6 +13803,15 @@ var Application = class {
|
|
|
13636
13803
|
await this.mqtt.connect();
|
|
13637
13804
|
}
|
|
13638
13805
|
}
|
|
13806
|
+
/**
|
|
13807
|
+
* 销毁应用
|
|
13808
|
+
*
|
|
13809
|
+
* @author tony001
|
|
13810
|
+
* @date 2024-04-10 15:04:51
|
|
13811
|
+
*/
|
|
13812
|
+
destroy() {
|
|
13813
|
+
this.codeList.destroy();
|
|
13814
|
+
}
|
|
13639
13815
|
};
|
|
13640
13816
|
|
|
13641
13817
|
// src/hub/convert/app-menu-convert/app-menu-convert.ts
|
|
@@ -13800,8 +13976,8 @@ var TreeGridExNotifyState = /* @__PURE__ */ ((TreeGridExNotifyState2) => {
|
|
|
13800
13976
|
})(TreeGridExNotifyState || {});
|
|
13801
13977
|
|
|
13802
13978
|
// src/controller/common/view/view.controller.ts
|
|
13803
|
-
import { notNilEmpty as
|
|
13804
|
-
import { IBizContext as
|
|
13979
|
+
import { notNilEmpty as notNilEmpty7 } from "qx-util";
|
|
13980
|
+
import { IBizContext as IBizContext3, RuntimeError as RuntimeError34 } from "@ibiz-template/core";
|
|
13805
13981
|
import { isEmpty as isEmpty9, isNil as isNil22, isNotNil as isNotNil2 } from "ramda";
|
|
13806
13982
|
|
|
13807
13983
|
// src/controller/utils/loading/loading.state.ts
|
|
@@ -13940,7 +14116,7 @@ var LoadingState = class {
|
|
|
13940
14116
|
};
|
|
13941
14117
|
|
|
13942
14118
|
// src/controller/ctx/ctx.ts
|
|
13943
|
-
import { QXEvent as
|
|
14119
|
+
import { QXEvent as QXEvent6 } from "qx-util";
|
|
13944
14120
|
|
|
13945
14121
|
// src/controller/ctx/ctx.state.ts
|
|
13946
14122
|
var CTXState = class {
|
|
@@ -13970,7 +14146,7 @@ var CTX = class {
|
|
|
13970
14146
|
* @date 2023-04-26 07:54:46
|
|
13971
14147
|
* @protected
|
|
13972
14148
|
*/
|
|
13973
|
-
this.evt = new
|
|
14149
|
+
this.evt = new QXEvent6(3e3);
|
|
13974
14150
|
/**
|
|
13975
14151
|
* 当前视图控制器集合(包含自身视图控制器,部件控制器,和下一层级的视图的控制器)
|
|
13976
14152
|
* @author lxm
|
|
@@ -14306,8 +14482,8 @@ var ButtonContainerState = class {
|
|
|
14306
14482
|
};
|
|
14307
14483
|
|
|
14308
14484
|
// src/controller/utils/event/qx-event-ex.ts
|
|
14309
|
-
import { clearAll, QXEvent as
|
|
14310
|
-
var QXEventEx = class extends
|
|
14485
|
+
import { clearAll, QXEvent as QXEvent7 } from "qx-util";
|
|
14486
|
+
var QXEventEx = class extends QXEvent7 {
|
|
14311
14487
|
constructor() {
|
|
14312
14488
|
super(...arguments);
|
|
14313
14489
|
this.anyEventFns = [];
|
|
@@ -15230,7 +15406,7 @@ var ViewController = class extends BaseController {
|
|
|
15230
15406
|
*/
|
|
15231
15407
|
constructor(model, context, params, ctx) {
|
|
15232
15408
|
const _model = ibiz.util.layoutPanel.fill(model);
|
|
15233
|
-
super(_model,
|
|
15409
|
+
super(_model, IBizContext3.create({}, context), params || {}, new CTX(ctx));
|
|
15234
15410
|
this.session = {};
|
|
15235
15411
|
this.modal = new Modal({});
|
|
15236
15412
|
this.providers = {};
|
|
@@ -15454,13 +15630,13 @@ var ViewController = class extends BaseController {
|
|
|
15454
15630
|
}
|
|
15455
15631
|
const navContexts = this.model.appViewNavContexts;
|
|
15456
15632
|
let context = {};
|
|
15457
|
-
if (
|
|
15633
|
+
if (notNilEmpty7(navContexts)) {
|
|
15458
15634
|
context = convertNavData(navContexts, this.params, this.context);
|
|
15459
15635
|
}
|
|
15460
15636
|
Object.assign(this.context, context);
|
|
15461
15637
|
const navParams = this.model.appViewNavParams;
|
|
15462
15638
|
let params = {};
|
|
15463
|
-
if (
|
|
15639
|
+
if (notNilEmpty7(navParams)) {
|
|
15464
15640
|
params = convertNavData(navParams, this.params, this.context);
|
|
15465
15641
|
}
|
|
15466
15642
|
Object.assign(this.params, params);
|
|
@@ -15852,13 +16028,13 @@ var CodeListEditorController = class extends EditorController {
|
|
|
15852
16028
|
// src/controller/common/control/control.controller.ts
|
|
15853
16029
|
import {
|
|
15854
16030
|
HttpError as HttpError6,
|
|
15855
|
-
IBizContext as
|
|
16031
|
+
IBizContext as IBizContext4,
|
|
15856
16032
|
IBizParams,
|
|
15857
16033
|
NoticeError as NoticeError2,
|
|
15858
16034
|
RuntimeError as RuntimeError35
|
|
15859
16035
|
} from "@ibiz-template/core";
|
|
15860
|
-
import { clone as
|
|
15861
|
-
import { notNilEmpty as
|
|
16036
|
+
import { clone as clone19, isNil as isNil23 } from "ramda";
|
|
16037
|
+
import { notNilEmpty as notNilEmpty8 } from "qx-util";
|
|
15862
16038
|
var ControlController = class extends BaseController {
|
|
15863
16039
|
/**
|
|
15864
16040
|
* Creates an instance of ControlController.
|
|
@@ -15872,7 +16048,7 @@ var ControlController = class extends BaseController {
|
|
|
15872
16048
|
constructor(model, context, params, ctx) {
|
|
15873
16049
|
super(
|
|
15874
16050
|
model,
|
|
15875
|
-
|
|
16051
|
+
IBizContext4.create({}, context),
|
|
15876
16052
|
new IBizParams({}, params),
|
|
15877
16053
|
ctx
|
|
15878
16054
|
);
|
|
@@ -15921,7 +16097,7 @@ var ControlController = class extends BaseController {
|
|
|
15921
16097
|
"".concat(model.controlType, "_DEFAULT")
|
|
15922
16098
|
);
|
|
15923
16099
|
if (panelModel) {
|
|
15924
|
-
this.controlPanel =
|
|
16100
|
+
this.controlPanel = clone19(panelModel);
|
|
15925
16101
|
}
|
|
15926
16102
|
}
|
|
15927
16103
|
this.updateContextParams({});
|
|
@@ -16015,12 +16191,12 @@ var ControlController = class extends BaseController {
|
|
|
16015
16191
|
}
|
|
16016
16192
|
const { controlNavContexts, controlNavParams } = this.model;
|
|
16017
16193
|
let context = {};
|
|
16018
|
-
if (
|
|
16194
|
+
if (notNilEmpty8(controlNavContexts)) {
|
|
16019
16195
|
context = convertNavData(controlNavContexts, this.params, this.context);
|
|
16020
16196
|
}
|
|
16021
16197
|
Object.assign(this.context, context);
|
|
16022
16198
|
let params = {};
|
|
16023
|
-
if (
|
|
16199
|
+
if (notNilEmpty8(controlNavParams)) {
|
|
16024
16200
|
params = convertNavData(controlNavParams, this.params, this.context);
|
|
16025
16201
|
}
|
|
16026
16202
|
Object.assign(this.params, params);
|
|
@@ -16144,7 +16320,7 @@ var ControlController = class extends BaseController {
|
|
|
16144
16320
|
}
|
|
16145
16321
|
const { ctrlParams } = this.model.controlParam;
|
|
16146
16322
|
let params = {};
|
|
16147
|
-
if (
|
|
16323
|
+
if (notNilEmpty8(ctrlParams)) {
|
|
16148
16324
|
params = convertNavData(ctrlParams, this.params, this.context);
|
|
16149
16325
|
}
|
|
16150
16326
|
Object.assign(this.controlParams, params);
|
|
@@ -16492,6 +16668,9 @@ var MDControlController = class extends ControlController {
|
|
|
16492
16668
|
if (typeof res.total === "number") {
|
|
16493
16669
|
this.state.total = res.total;
|
|
16494
16670
|
}
|
|
16671
|
+
if (typeof res.totalPages === "number") {
|
|
16672
|
+
this.state.totalPages = res.totalPages;
|
|
16673
|
+
}
|
|
16495
16674
|
if (isLoadMore) {
|
|
16496
16675
|
this.state.items.push(...res.data);
|
|
16497
16676
|
} else {
|
|
@@ -17033,7 +17212,7 @@ import { RuntimeModelError as RuntimeModelError28 } from "@ibiz-template/core";
|
|
|
17033
17212
|
|
|
17034
17213
|
// src/controller/control/calendar/calendar.service.ts
|
|
17035
17214
|
import { RuntimeError as RuntimeError39 } from "@ibiz-template/core";
|
|
17036
|
-
import { clone as
|
|
17215
|
+
import { clone as clone20 } from "ramda";
|
|
17037
17216
|
var CalendarService = class extends MDControlService {
|
|
17038
17217
|
/**
|
|
17039
17218
|
* 执行查询多条数据的方法
|
|
@@ -17054,7 +17233,7 @@ var CalendarService = class extends MDControlService {
|
|
|
17054
17233
|
async (item) => {
|
|
17055
17234
|
const fetchAction = item.appDEDataSetId || "fetchdefault";
|
|
17056
17235
|
const tempContext = context.clone();
|
|
17057
|
-
const tempParams =
|
|
17236
|
+
const tempParams = clone20(params);
|
|
17058
17237
|
if (item.maxSize) {
|
|
17059
17238
|
tempParams.size = item.maxSize;
|
|
17060
17239
|
}
|
|
@@ -17390,7 +17569,7 @@ import isSameOrBefore from "dayjs/plugin/isSameOrBefore";
|
|
|
17390
17569
|
import quarterOfYear from "dayjs/plugin/quarterOfYear";
|
|
17391
17570
|
import weekOfYear from "dayjs/plugin/weekOfYear";
|
|
17392
17571
|
import isoWeek from "dayjs/plugin/isoWeek";
|
|
17393
|
-
import { clone as
|
|
17572
|
+
import { clone as clone21, isNil as isNil25, mergeDeepRight } from "ramda";
|
|
17394
17573
|
dayjs4.extend(minMax2);
|
|
17395
17574
|
dayjs4.extend(isSameOrBefore);
|
|
17396
17575
|
dayjs4.extend(quarterOfYear);
|
|
@@ -17577,7 +17756,7 @@ var BaseSeriesGenerator = class {
|
|
|
17577
17756
|
}
|
|
17578
17757
|
groupData[group].get(catalog).value = plus(
|
|
17579
17758
|
groupData[group].get(catalog).value,
|
|
17580
|
-
item[this.valueField]
|
|
17759
|
+
item[this.valueField] || 0
|
|
17581
17760
|
);
|
|
17582
17761
|
if (!groupData[group].get(catalog).chartData) {
|
|
17583
17762
|
this.prepareChartData(groupData, item, catalog, group);
|
|
@@ -17666,7 +17845,7 @@ var BaseSeriesGenerator = class {
|
|
|
17666
17845
|
dataPreprocess(data) {
|
|
17667
17846
|
const tempData = [];
|
|
17668
17847
|
data.forEach((singleData) => {
|
|
17669
|
-
tempData.push(
|
|
17848
|
+
tempData.push(clone21(singleData));
|
|
17670
17849
|
});
|
|
17671
17850
|
const { groupMode } = this.model;
|
|
17672
17851
|
if (groupMode) {
|
|
@@ -18450,6 +18629,10 @@ var ChartController = class extends MDControlController {
|
|
|
18450
18629
|
initState() {
|
|
18451
18630
|
super.initState();
|
|
18452
18631
|
this.state.size = 1e3;
|
|
18632
|
+
this.state.showGrid = false;
|
|
18633
|
+
this.state.gridHeaders = [];
|
|
18634
|
+
this.state.gridData = [];
|
|
18635
|
+
this.state.gridPosition = "bottom";
|
|
18453
18636
|
}
|
|
18454
18637
|
async onCreated() {
|
|
18455
18638
|
await super.onCreated();
|
|
@@ -18457,6 +18640,7 @@ var ChartController = class extends MDControlController {
|
|
|
18457
18640
|
await this.service.init(this.context);
|
|
18458
18641
|
this.generator = new ChartOptionsGenerator2(this.model);
|
|
18459
18642
|
await this.generator.init(this.context, this.params);
|
|
18643
|
+
this.parseGridParam();
|
|
18460
18644
|
this.resizeChart = this.resizeChart.bind(this);
|
|
18461
18645
|
window.addEventListener("resize", this.resizeChart);
|
|
18462
18646
|
}
|
|
@@ -18468,6 +18652,164 @@ var ChartController = class extends MDControlController {
|
|
|
18468
18652
|
this.calcOptions();
|
|
18469
18653
|
return result;
|
|
18470
18654
|
}
|
|
18655
|
+
/**
|
|
18656
|
+
* 解析表格相关参数
|
|
18657
|
+
*
|
|
18658
|
+
* @memberof ChartController
|
|
18659
|
+
*/
|
|
18660
|
+
parseGridParam() {
|
|
18661
|
+
if (this.model.dechartDataGrid) {
|
|
18662
|
+
if (this.model.dechartDataGrid.dataGridPos) {
|
|
18663
|
+
this.state.gridPosition = this.model.dechartDataGrid.dataGridPos.toLocaleLowerCase();
|
|
18664
|
+
} else {
|
|
18665
|
+
this.state.gridPosition = "bottom";
|
|
18666
|
+
}
|
|
18667
|
+
if (this.model.dechartDataGrid.showDataGrid === true) {
|
|
18668
|
+
this.state.showGrid = true;
|
|
18669
|
+
}
|
|
18670
|
+
}
|
|
18671
|
+
}
|
|
18672
|
+
/**
|
|
18673
|
+
* 计算总数
|
|
18674
|
+
*
|
|
18675
|
+
* @param {string} valueField
|
|
18676
|
+
* @return {*}
|
|
18677
|
+
* @memberof ChartController
|
|
18678
|
+
*/
|
|
18679
|
+
computeTotal(valueField) {
|
|
18680
|
+
let total = 0;
|
|
18681
|
+
this.state.items.forEach((item) => {
|
|
18682
|
+
const value = Number(item[valueField]);
|
|
18683
|
+
if (!Number.isNaN(value)) {
|
|
18684
|
+
total += Number(value);
|
|
18685
|
+
}
|
|
18686
|
+
});
|
|
18687
|
+
return total;
|
|
18688
|
+
}
|
|
18689
|
+
/**
|
|
18690
|
+
* 处理单序列时的表格数据
|
|
18691
|
+
* 图表单序列时,首先获取配置的分类属性和值属性的title,构建表头,内置支持百分比列
|
|
18692
|
+
* 然后遍历图表默认分出来的分组数据去生成表格的数据
|
|
18693
|
+
*
|
|
18694
|
+
* @memberof ChartController
|
|
18695
|
+
*/
|
|
18696
|
+
handleSingleSerieGridData() {
|
|
18697
|
+
const serie = this.generator.seriesGenerators[0];
|
|
18698
|
+
const { catalogField, valueField, groupData } = serie;
|
|
18699
|
+
const fields = serie.chartGenerator.entity.appDEFields;
|
|
18700
|
+
const cataTitle = fields.find((field) => {
|
|
18701
|
+
return field.id === catalogField;
|
|
18702
|
+
});
|
|
18703
|
+
const valueTitle = fields.find((field) => {
|
|
18704
|
+
return field.id === valueField;
|
|
18705
|
+
});
|
|
18706
|
+
const tempGridHeader = [
|
|
18707
|
+
{
|
|
18708
|
+
id: catalogField,
|
|
18709
|
+
name: cataTitle == null ? void 0 : cataTitle.logicName
|
|
18710
|
+
},
|
|
18711
|
+
{
|
|
18712
|
+
id: valueField,
|
|
18713
|
+
name: valueTitle == null ? void 0 : valueTitle.logicName
|
|
18714
|
+
},
|
|
18715
|
+
{
|
|
18716
|
+
id: "srfpercent",
|
|
18717
|
+
name: "\u767E\u5206\u6BD4"
|
|
18718
|
+
}
|
|
18719
|
+
];
|
|
18720
|
+
this.state.gridHeaders = tempGridHeader;
|
|
18721
|
+
const tempData = [];
|
|
18722
|
+
const total = this.computeTotal(valueField);
|
|
18723
|
+
if (groupData && groupData.$default_group) {
|
|
18724
|
+
const group = groupData.$default_group;
|
|
18725
|
+
for (const [key, value] of group) {
|
|
18726
|
+
const tempValue = Number.isNaN(Number(value.value)) ? 0 : Number(value.value);
|
|
18727
|
+
let percent = "";
|
|
18728
|
+
if (total === 0 || Number.isNaN(Number(value.value))) {
|
|
18729
|
+
percent = "0%";
|
|
18730
|
+
} else {
|
|
18731
|
+
percent = "".concat(Math.round(tempValue / total * 100), "%");
|
|
18732
|
+
}
|
|
18733
|
+
const tempItem = {
|
|
18734
|
+
[catalogField]: key,
|
|
18735
|
+
[valueField]: tempValue,
|
|
18736
|
+
srfpercent: percent
|
|
18737
|
+
};
|
|
18738
|
+
tempData.push(tempItem);
|
|
18739
|
+
}
|
|
18740
|
+
}
|
|
18741
|
+
this.state.gridData = tempData;
|
|
18742
|
+
}
|
|
18743
|
+
/**
|
|
18744
|
+
* 处理多序列时的表格数据
|
|
18745
|
+
* 图表多序列时,首先去遍历序列,然后获取每个序列的分类属性和值属性以及已经分好的分组数据,
|
|
18746
|
+
* 查找当前的表格头数组中是否存在当前的分类或者值属性组成的项,如果没有就将当前分类或者值属性添加到表格头数组中,以序列作为表格列
|
|
18747
|
+
* 同理,循环当前序列的分组数据,并根据当前分组属性的值生成表格数据,如果在表格数据中已经存在具有相同分组属性值,则把当前序列的当前分组属性对应的值属性
|
|
18748
|
+
* 添加到表格数据中对应的项里
|
|
18749
|
+
*
|
|
18750
|
+
* @memberof ChartController
|
|
18751
|
+
*/
|
|
18752
|
+
handleMultipleSerieGridData() {
|
|
18753
|
+
const tempHeaders = [];
|
|
18754
|
+
const tempData = [];
|
|
18755
|
+
this.generator.seriesGenerators.forEach((serie) => {
|
|
18756
|
+
const { catalogField, valueField, groupData } = serie;
|
|
18757
|
+
const fields = serie.chartGenerator.entity.appDEFields;
|
|
18758
|
+
const _index = tempHeaders.findIndex((item) => {
|
|
18759
|
+
return item.id === catalogField;
|
|
18760
|
+
});
|
|
18761
|
+
if (_index < 0) {
|
|
18762
|
+
const cataTitle = fields.find((field) => {
|
|
18763
|
+
return field.id === catalogField.toLowerCase();
|
|
18764
|
+
});
|
|
18765
|
+
tempHeaders.push({
|
|
18766
|
+
id: catalogField,
|
|
18767
|
+
name: cataTitle == null ? void 0 : cataTitle.logicName
|
|
18768
|
+
});
|
|
18769
|
+
}
|
|
18770
|
+
const valueTitle = fields.find((field) => {
|
|
18771
|
+
return field.id === valueField.toLowerCase();
|
|
18772
|
+
});
|
|
18773
|
+
tempHeaders.push({
|
|
18774
|
+
id: valueField,
|
|
18775
|
+
name: valueTitle == null ? void 0 : valueTitle.logicName
|
|
18776
|
+
});
|
|
18777
|
+
if (groupData && groupData.$default_group) {
|
|
18778
|
+
const group = groupData.$default_group;
|
|
18779
|
+
for (const [key, value] of group) {
|
|
18780
|
+
const tempValue = Number.isNaN(Number(value.value)) ? 0 : Number(value.value);
|
|
18781
|
+
const index = tempData.findIndex((item) => {
|
|
18782
|
+
return item[catalogField] === key;
|
|
18783
|
+
});
|
|
18784
|
+
if (index < 0) {
|
|
18785
|
+
const tempItem = {
|
|
18786
|
+
[catalogField]: key,
|
|
18787
|
+
[valueField]: tempValue
|
|
18788
|
+
};
|
|
18789
|
+
tempData.push(tempItem);
|
|
18790
|
+
} else {
|
|
18791
|
+
Object.assign(tempData[index], { [valueField]: tempValue });
|
|
18792
|
+
}
|
|
18793
|
+
}
|
|
18794
|
+
}
|
|
18795
|
+
});
|
|
18796
|
+
this.state.gridHeaders = tempHeaders;
|
|
18797
|
+
this.state.gridData = tempData;
|
|
18798
|
+
}
|
|
18799
|
+
/**
|
|
18800
|
+
* 计算表格数据
|
|
18801
|
+
*
|
|
18802
|
+
* @memberof ChartController
|
|
18803
|
+
*/
|
|
18804
|
+
computeGridData() {
|
|
18805
|
+
if (this.generator && this.generator.seriesGenerators) {
|
|
18806
|
+
if (this.generator.seriesGenerators.length === 1) {
|
|
18807
|
+
this.handleSingleSerieGridData();
|
|
18808
|
+
} else {
|
|
18809
|
+
this.handleMultipleSerieGridData();
|
|
18810
|
+
}
|
|
18811
|
+
}
|
|
18812
|
+
}
|
|
18471
18813
|
/**
|
|
18472
18814
|
* 初始化echarts对象
|
|
18473
18815
|
* @author lxm
|
|
@@ -18492,6 +18834,9 @@ var ChartController = class extends MDControlController {
|
|
|
18492
18834
|
*/
|
|
18493
18835
|
calcOptions(data = this.state.items) {
|
|
18494
18836
|
this.options = this.generator.calcOptionsByData(data);
|
|
18837
|
+
if (this.state.showGrid) {
|
|
18838
|
+
this.computeGridData();
|
|
18839
|
+
}
|
|
18495
18840
|
this.updateChart();
|
|
18496
18841
|
}
|
|
18497
18842
|
/**
|
|
@@ -18581,6 +18926,13 @@ var UILogicContext = class {
|
|
|
18581
18926
|
constructor(deLogicParams, parameters) {
|
|
18582
18927
|
this.deLogicParams = deLogicParams;
|
|
18583
18928
|
this.parameters = parameters;
|
|
18929
|
+
/**
|
|
18930
|
+
* 逻辑操作的会话变量
|
|
18931
|
+
* @author lxm
|
|
18932
|
+
* @date 2024-04-07 11:55:01
|
|
18933
|
+
* @type {IParams}
|
|
18934
|
+
*/
|
|
18935
|
+
this.session = {};
|
|
18584
18936
|
/**
|
|
18585
18937
|
* 界面逻辑参数
|
|
18586
18938
|
*
|
|
@@ -18730,7 +19082,7 @@ import { ModelError as ModelError19, RuntimeModelError as RuntimeModelError33 }
|
|
|
18730
19082
|
|
|
18731
19083
|
// src/ui-logic/utils/handle-src-val.ts
|
|
18732
19084
|
import { ModelError as ModelError18 } from "@ibiz-template/core";
|
|
18733
|
-
import { clone as
|
|
19085
|
+
import { clone as clone22 } from "ramda";
|
|
18734
19086
|
function handleSrcVal2(ctx, srcValParams) {
|
|
18735
19087
|
const { srcDEUILogicParamId, srcFieldName, srcValue } = srcValParams;
|
|
18736
19088
|
const srcValueType = srcValParams.srcValueType || "SRCDLPARAM";
|
|
@@ -18757,7 +19109,7 @@ function handleSrcVal2(ctx, srcValParams) {
|
|
|
18757
19109
|
value = ctx.parameters.context;
|
|
18758
19110
|
break;
|
|
18759
19111
|
case "ENVPARAM":
|
|
18760
|
-
value =
|
|
19112
|
+
value = clone22(ibiz.env);
|
|
18761
19113
|
break;
|
|
18762
19114
|
default:
|
|
18763
19115
|
throw new ModelError18(srcValParams, "\u6682\u672A\u652F\u6301\u6E90\u503C\u7C7B\u578B".concat(srcValueType));
|
|
@@ -19151,7 +19503,7 @@ var EndNode2 = class extends UILogicNode {
|
|
|
19151
19503
|
|
|
19152
19504
|
// src/ui-logic/ui-logic-node/prepare-js-param-node/prepare-js-param-node.ts
|
|
19153
19505
|
import { ModelError as ModelError22, RuntimeError as RuntimeError42 } from "@ibiz-template/core";
|
|
19154
|
-
import { clone as
|
|
19506
|
+
import { clone as clone23 } from "ramda";
|
|
19155
19507
|
var PrepareJSParamNode = class extends UILogicNode {
|
|
19156
19508
|
async exec(ctx) {
|
|
19157
19509
|
const nodeParams = this.model.deuilogicNodeParams;
|
|
@@ -19161,7 +19513,7 @@ var PrepareJSParamNode = class extends UILogicNode {
|
|
|
19161
19513
|
for (const nodeParam of nodeParams) {
|
|
19162
19514
|
let originValue;
|
|
19163
19515
|
if (nodeParam.dstDEUILogicParamId && ibiz.env.logLevel === "DEBUG") {
|
|
19164
|
-
originValue =
|
|
19516
|
+
originValue = clone23(ctx.params[nodeParam.dstDEUILogicParamId]);
|
|
19165
19517
|
}
|
|
19166
19518
|
switch (nodeParam.paramAction) {
|
|
19167
19519
|
case "SETPARAMVALUE":
|
|
@@ -19250,7 +19602,7 @@ var PrepareJSParamNode = class extends UILogicNode {
|
|
|
19250
19602
|
copyParam(nodeParam, ctx) {
|
|
19251
19603
|
const { dstDEUILogicParamId } = nodeParam;
|
|
19252
19604
|
const srcVal = handleSrcVal2(ctx, nodeParam);
|
|
19253
|
-
ctx.params[dstDEUILogicParamId] =
|
|
19605
|
+
ctx.params[dstDEUILogicParamId] = clone23(srcVal);
|
|
19254
19606
|
}
|
|
19255
19607
|
/**
|
|
19256
19608
|
* 绑定参数
|
|
@@ -19495,7 +19847,7 @@ var ResetParamNode2 = class extends UILogicNode {
|
|
|
19495
19847
|
|
|
19496
19848
|
// src/ui-logic/ui-logic-node/copy-param-node/copy-param-node.ts
|
|
19497
19849
|
import { RuntimeModelError as RuntimeModelError42 } from "@ibiz-template/core";
|
|
19498
|
-
import { clone as
|
|
19850
|
+
import { clone as clone24 } from "ramda";
|
|
19499
19851
|
var CopyParamNode2 = class extends UILogicNode {
|
|
19500
19852
|
async exec(ctx) {
|
|
19501
19853
|
const { dstDEUILogicParamId, srcDEUILogicParamId } = this.model;
|
|
@@ -19506,7 +19858,7 @@ var CopyParamNode2 = class extends UILogicNode {
|
|
|
19506
19858
|
);
|
|
19507
19859
|
}
|
|
19508
19860
|
const srcVal = handleSrcVal2(ctx, this.model);
|
|
19509
|
-
ctx.params[dstDEUILogicParamId] =
|
|
19861
|
+
ctx.params[dstDEUILogicParamId] = clone24(srcVal);
|
|
19510
19862
|
ctx.setLastReturn(ctx.params[dstDEUILogicParamId]);
|
|
19511
19863
|
ibiz.log.debug(
|
|
19512
19864
|
"\u754C\u9762\u903B\u8F91\u8282\u70B9\uFF08\u62F7\u8D1D\u53C2\u6570\uFF09\uFF1A".concat(this.model.id, "-\u53C2\u6570\u540D\u79F0\uFF1A").concat(dstDEUILogicParamId, "-\u503C\uFF1A"),
|
|
@@ -19774,13 +20126,17 @@ var UILogicParam = class {
|
|
|
19774
20126
|
} else if (m.activeViewParam) {
|
|
19775
20127
|
ctx.params[tag] = parameters.view;
|
|
19776
20128
|
} else if (m.appGlobalParam) {
|
|
19777
|
-
|
|
20129
|
+
let value = ibiz.util.getGlobalParam();
|
|
20130
|
+
if (m.paramFieldName) {
|
|
20131
|
+
value = value[m.paramFieldName];
|
|
20132
|
+
}
|
|
20133
|
+
ctx.params[tag] = value;
|
|
19778
20134
|
} else if (m.applicationParam) {
|
|
19779
20135
|
ctx.params[tag] = app;
|
|
19780
20136
|
} else if (m.entityListParam) {
|
|
19781
20137
|
ctx.params[tag] = [];
|
|
19782
20138
|
} else if (m.entityPageParam) {
|
|
19783
|
-
ctx.params[tag] =
|
|
20139
|
+
ctx.params[tag] = [];
|
|
19784
20140
|
} else if (m.entityParam) {
|
|
19785
20141
|
ctx.params[tag] = {};
|
|
19786
20142
|
} else if (m.lastReturnParam) {
|
|
@@ -19788,7 +20144,7 @@ var UILogicParam = class {
|
|
|
19788
20144
|
} else if (m.navContextParam) {
|
|
19789
20145
|
ctx.params[tag] = context;
|
|
19790
20146
|
} else if (m.navViewParamParam) {
|
|
19791
|
-
|
|
20147
|
+
ctx.params[tag] = ibiz.util.getRouterParams();
|
|
19792
20148
|
} else if (m.routeViewSessionParam) {
|
|
19793
20149
|
let value = parameters.view.getTopView().state;
|
|
19794
20150
|
if (m.paramFieldName) {
|
|
@@ -19809,6 +20165,10 @@ var UILogicParam = class {
|
|
|
19809
20165
|
ctx.params[tag] = value;
|
|
19810
20166
|
} else if (m.filterParam) {
|
|
19811
20167
|
ctx.params[tag] = {};
|
|
20168
|
+
} else if (m.envParam) {
|
|
20169
|
+
ctx.params[tag] = ibiz.env;
|
|
20170
|
+
} else if (m.sessionParam) {
|
|
20171
|
+
ctx.params[tag] = ctx.session;
|
|
19812
20172
|
}
|
|
19813
20173
|
ibiz.log.debug("\u8BA1\u7B97\u754C\u9762\u903B\u8F91\u53C2\u6570\uFF0C\u6807\u8BC6\uFF1A".concat(tag), "-\u503C\uFF1A", ctx.params[tag]);
|
|
19814
20174
|
}
|
|
@@ -20820,7 +21180,6 @@ var FrontUIActionProvider = class extends UIActionProviderBase {
|
|
|
20820
21180
|
* @return {*} {IUIActionResult}
|
|
20821
21181
|
*/
|
|
20822
21182
|
async openEditForm(action, args) {
|
|
20823
|
-
console.log(action.deeditForm, args);
|
|
20824
21183
|
const actionResult = {};
|
|
20825
21184
|
const { context, params, data, event } = args;
|
|
20826
21185
|
if (!event) {
|
|
@@ -22784,7 +23143,8 @@ import { RuntimeError as RuntimeError53 } from "@ibiz-template/core";
|
|
|
22784
23143
|
import {
|
|
22785
23144
|
RuntimeModelError as RuntimeModelError57,
|
|
22786
23145
|
debounceAndAsyncMerge,
|
|
22787
|
-
recursiveIterate as recursiveIterate3
|
|
23146
|
+
recursiveIterate as recursiveIterate3,
|
|
23147
|
+
EntityError
|
|
22788
23148
|
} from "@ibiz-template/core";
|
|
22789
23149
|
var FormController = class extends ControlController {
|
|
22790
23150
|
constructor() {
|
|
@@ -22999,7 +23359,21 @@ var FormController = class extends ControlController {
|
|
|
22999
23359
|
);
|
|
23000
23360
|
return values.findIndex((value) => !value) === -1;
|
|
23001
23361
|
}
|
|
23362
|
+
/**
|
|
23363
|
+
* 执行对应部件行为消息提示
|
|
23364
|
+
* @author zzq
|
|
23365
|
+
* @date 2024-04-03 15:51:21
|
|
23366
|
+
* @param {string} tag
|
|
23367
|
+
* @param {({ default?: string; data?: IData | IData[]; error?: Error })} [opts]
|
|
23368
|
+
* @return {*} {void}
|
|
23369
|
+
*/
|
|
23002
23370
|
actionNotification(tag, opts) {
|
|
23371
|
+
if ((opts == null ? void 0 : opts.error) && opts.error instanceof EntityError) {
|
|
23372
|
+
const { details } = opts.error;
|
|
23373
|
+
details.forEach((detail) => {
|
|
23374
|
+
this.setDetailError(detail.name, detail.errorInfo);
|
|
23375
|
+
});
|
|
23376
|
+
}
|
|
23003
23377
|
super.actionNotification(tag, { data: this.data, ...opts || {} });
|
|
23004
23378
|
}
|
|
23005
23379
|
/**
|
|
@@ -23039,12 +23413,14 @@ var FormController = class extends ControlController {
|
|
|
23039
23413
|
this.counters = {};
|
|
23040
23414
|
const { appCounterRefs } = this.model;
|
|
23041
23415
|
if (appCounterRefs && appCounterRefs.length > 0) {
|
|
23416
|
+
const dataKey = this.context[calcDeCodeNameById(this.model.appDataEntityId)];
|
|
23042
23417
|
try {
|
|
23043
23418
|
await Promise.all(
|
|
23044
23419
|
appCounterRefs.map(async (counterRef) => {
|
|
23045
23420
|
const counter = await CounterService.getCounterByRef(
|
|
23046
23421
|
counterRef,
|
|
23047
|
-
this.context
|
|
23422
|
+
this.context,
|
|
23423
|
+
dataKey ? { customId: dataKey } : void 0
|
|
23048
23424
|
);
|
|
23049
23425
|
this.counters[counterRef.id] = counter;
|
|
23050
23426
|
})
|
|
@@ -23054,6 +23430,20 @@ var FormController = class extends ControlController {
|
|
|
23054
23430
|
}
|
|
23055
23431
|
}
|
|
23056
23432
|
}
|
|
23433
|
+
/**
|
|
23434
|
+
* 设置表单项错误信息
|
|
23435
|
+
* @author zzq
|
|
23436
|
+
* @date 2024-04-03 18:12:02
|
|
23437
|
+
* @protected
|
|
23438
|
+
* @return {*} {void}
|
|
23439
|
+
*/
|
|
23440
|
+
setDetailError(name, message) {
|
|
23441
|
+
const detail = this.details[name];
|
|
23442
|
+
const state = detail == null ? void 0 : detail.state;
|
|
23443
|
+
if (state) {
|
|
23444
|
+
state.error = message;
|
|
23445
|
+
}
|
|
23446
|
+
}
|
|
23057
23447
|
};
|
|
23058
23448
|
|
|
23059
23449
|
// src/controller/control/form/search-form/search-form.service.ts
|
|
@@ -23965,7 +24355,7 @@ var FormButtonController = class extends FormDetailController {
|
|
|
23965
24355
|
|
|
23966
24356
|
// src/controller/control/form/form-detail/form-druipart/form-druipart.controller.ts
|
|
23967
24357
|
import { isOverlap as isOverlap2 } from "@ibiz-template/core";
|
|
23968
|
-
import { createUUID as createUUID10, notNilEmpty as
|
|
24358
|
+
import { createUUID as createUUID10, notNilEmpty as notNilEmpty9 } from "qx-util";
|
|
23969
24359
|
|
|
23970
24360
|
// src/controller/control/form/form-detail/form-druipart/form-druipart.state.ts
|
|
23971
24361
|
var FormDruipartState = class extends FormDetailState {
|
|
@@ -24060,7 +24450,7 @@ var FormDRUIPartController = class extends FormDetailController {
|
|
|
24060
24450
|
calcViewParams() {
|
|
24061
24451
|
let newContext = this.form.context.clone();
|
|
24062
24452
|
const navContexts = this.model.navigateContexts;
|
|
24063
|
-
if (
|
|
24453
|
+
if (notNilEmpty9(navContexts)) {
|
|
24064
24454
|
newContext = Object.assign(
|
|
24065
24455
|
newContext,
|
|
24066
24456
|
convertNavData(
|
|
@@ -24565,7 +24955,27 @@ var FormItemController = class extends FormDetailController {
|
|
|
24565
24955
|
|
|
24566
24956
|
// src/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.ts
|
|
24567
24957
|
import { BitMask } from "@ibiz-template/core";
|
|
24958
|
+
|
|
24959
|
+
// src/controller/control/form/form-detail/form-mdctrl/form-mdctrl.state.ts
|
|
24960
|
+
var FormMDCtrlState = class extends FormDetailState {
|
|
24961
|
+
constructor() {
|
|
24962
|
+
super(...arguments);
|
|
24963
|
+
/**
|
|
24964
|
+
* 界面行为组状态
|
|
24965
|
+
*
|
|
24966
|
+
* @type {(IButtonContainerState | null)}
|
|
24967
|
+
* @memberof PortletPartState
|
|
24968
|
+
*/
|
|
24969
|
+
this.actionGroupState = null;
|
|
24970
|
+
}
|
|
24971
|
+
};
|
|
24972
|
+
|
|
24973
|
+
// src/controller/control/form/form-detail/form-mdctrl/form-mdctrl.controller.ts
|
|
24568
24974
|
var FormMDCtrlController = class extends FormDetailController {
|
|
24975
|
+
createState() {
|
|
24976
|
+
var _a;
|
|
24977
|
+
return new FormMDCtrlState((_a = this.parent) == null ? void 0 : _a.state);
|
|
24978
|
+
}
|
|
24569
24979
|
/**
|
|
24570
24980
|
* 名称
|
|
24571
24981
|
* @author lxm
|
|
@@ -24639,6 +25049,68 @@ var FormMDCtrlController = class extends FormDetailController {
|
|
|
24639
25049
|
await this.form.updateFormItem(this.model.deformItemUpdateId);
|
|
24640
25050
|
}
|
|
24641
25051
|
}
|
|
25052
|
+
async formStateNotify(state) {
|
|
25053
|
+
super.formStateNotify(state);
|
|
25054
|
+
if (this.state.actionGroupState) {
|
|
25055
|
+
const deData = this.data.getOrigin ? this.data.getOrigin() : this.data;
|
|
25056
|
+
this.state.actionGroupState.update(this.form.context, deData);
|
|
25057
|
+
}
|
|
25058
|
+
}
|
|
25059
|
+
/**
|
|
25060
|
+
* 初始化
|
|
25061
|
+
*
|
|
25062
|
+
* @author zk
|
|
25063
|
+
* @date 2023-07-25 10:07:11
|
|
25064
|
+
* @return {*} {Promise<void>}
|
|
25065
|
+
* @memberof FormMDCtrlController
|
|
25066
|
+
*/
|
|
25067
|
+
async onInit() {
|
|
25068
|
+
super.onInit();
|
|
25069
|
+
await this.initActionStates();
|
|
25070
|
+
}
|
|
25071
|
+
async initActionStates() {
|
|
25072
|
+
var _a;
|
|
25073
|
+
const { uiactionGroup } = this.model;
|
|
25074
|
+
if (!((_a = uiactionGroup == null ? void 0 : uiactionGroup.uiactionGroupDetails) == null ? void 0 : _a.length)) {
|
|
25075
|
+
return;
|
|
25076
|
+
}
|
|
25077
|
+
const containerState = new ButtonContainerState();
|
|
25078
|
+
uiactionGroup.uiactionGroupDetails.forEach((detail) => {
|
|
25079
|
+
const actionid = detail.uiactionId;
|
|
25080
|
+
if (actionid) {
|
|
25081
|
+
const buttonState = new UIActionButtonState(
|
|
25082
|
+
detail.id,
|
|
25083
|
+
this.form.context.srfappid,
|
|
25084
|
+
actionid
|
|
25085
|
+
);
|
|
25086
|
+
containerState.addState(detail.id, buttonState);
|
|
25087
|
+
}
|
|
25088
|
+
});
|
|
25089
|
+
await containerState.update(this.form.context);
|
|
25090
|
+
this.state.actionGroupState = containerState;
|
|
25091
|
+
}
|
|
25092
|
+
/**
|
|
25093
|
+
* 触发操作列点击事件
|
|
25094
|
+
*
|
|
25095
|
+
* @author lxm
|
|
25096
|
+
* @date 2022-09-07 22:09:46
|
|
25097
|
+
* @param {IPSUIActionGroupDetail} detail
|
|
25098
|
+
* @param {MouseEvent} event
|
|
25099
|
+
*/
|
|
25100
|
+
async onActionClick(detail, event) {
|
|
25101
|
+
const actionId = detail.uiactionId;
|
|
25102
|
+
await UIActionUtil.execAndResolved(
|
|
25103
|
+
actionId,
|
|
25104
|
+
{
|
|
25105
|
+
context: this.context,
|
|
25106
|
+
params: this.params,
|
|
25107
|
+
data: [this.data],
|
|
25108
|
+
view: this.form.view,
|
|
25109
|
+
event
|
|
25110
|
+
},
|
|
25111
|
+
detail.appId
|
|
25112
|
+
);
|
|
25113
|
+
}
|
|
24642
25114
|
/**
|
|
24643
25115
|
* 刷新
|
|
24644
25116
|
* @author lxm
|
|
@@ -24788,7 +25260,7 @@ import { RuntimeError as RuntimeError54, RuntimeModelError as RuntimeModelError5
|
|
|
24788
25260
|
import { createUUID as createUUID11 } from "qx-util";
|
|
24789
25261
|
|
|
24790
25262
|
// src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.state.ts
|
|
24791
|
-
var FormMDCtrlFormState = class extends
|
|
25263
|
+
var FormMDCtrlFormState = class extends FormMDCtrlState {
|
|
24792
25264
|
};
|
|
24793
25265
|
|
|
24794
25266
|
// src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-form.controller.ts
|
|
@@ -24959,7 +25431,7 @@ var FormMDCtrlFormController = class extends FormMDCtrlController {
|
|
|
24959
25431
|
|
|
24960
25432
|
// src/controller/control/form/form-detail/form-mdctrl/form-mdctrl-repeater.controller.ts
|
|
24961
25433
|
import { ModelError as ModelError28 } from "@ibiz-template/core";
|
|
24962
|
-
import { clone as
|
|
25434
|
+
import { clone as clone25 } from "ramda";
|
|
24963
25435
|
var FormMDCtrlRepeaterController = class extends FormMDCtrlController {
|
|
24964
25436
|
constructor() {
|
|
24965
25437
|
super(...arguments);
|
|
@@ -25043,7 +25515,7 @@ var FormMDCtrlRepeaterController = class extends FormMDCtrlController {
|
|
|
25043
25515
|
copyFields.forEach((key) => {
|
|
25044
25516
|
tempForm[key] = this.form.model[key];
|
|
25045
25517
|
});
|
|
25046
|
-
this.repeatedForm =
|
|
25518
|
+
this.repeatedForm = clone25(tempForm);
|
|
25047
25519
|
}
|
|
25048
25520
|
/**
|
|
25049
25521
|
* 设置重复器数据(修改主表单里重复器对应属性)
|
|
@@ -25215,14 +25687,14 @@ var FormTabPanelController = class extends FormDetailController {
|
|
|
25215
25687
|
// src/controller/control/form/edit-form/edit-form.controller.ts
|
|
25216
25688
|
import {
|
|
25217
25689
|
awaitTimeout,
|
|
25218
|
-
IBizContext as
|
|
25690
|
+
IBizContext as IBizContext5,
|
|
25219
25691
|
isElementSame as isElementSame2,
|
|
25220
25692
|
mergeInLeft as mergeInLeft2,
|
|
25221
25693
|
RuntimeError as RuntimeError55
|
|
25222
25694
|
} from "@ibiz-template/core";
|
|
25223
25695
|
import { debounce } from "lodash-es";
|
|
25224
25696
|
import { createUUID as createUUID12 } from "qx-util";
|
|
25225
|
-
import { clone as
|
|
25697
|
+
import { clone as clone26, isNil as isNil27 } from "ramda";
|
|
25226
25698
|
|
|
25227
25699
|
// src/controller/control/form/edit-form/edit-form.service.ts
|
|
25228
25700
|
import {
|
|
@@ -25587,8 +26059,8 @@ var EditFormController = class extends FormController {
|
|
|
25587
26059
|
* @return {*} {Promise<IData>}
|
|
25588
26060
|
*/
|
|
25589
26061
|
async copy() {
|
|
25590
|
-
const context =
|
|
25591
|
-
const queryParams =
|
|
26062
|
+
const context = clone26(this.context);
|
|
26063
|
+
const queryParams = clone26(this.params);
|
|
25592
26064
|
const appDataEntity = await ibiz.hub.getAppDataEntity(
|
|
25593
26065
|
this.model.appDataEntityId,
|
|
25594
26066
|
this.model.appId
|
|
@@ -25645,7 +26117,7 @@ var EditFormController = class extends FormController {
|
|
|
25645
26117
|
return this.loadDraft();
|
|
25646
26118
|
}
|
|
25647
26119
|
const { context, params } = this.handlerAbilityParams(args);
|
|
25648
|
-
const queryParams =
|
|
26120
|
+
const queryParams = clone26(params);
|
|
25649
26121
|
let res;
|
|
25650
26122
|
try {
|
|
25651
26123
|
await this.startLoading();
|
|
@@ -25930,7 +26402,7 @@ var EditFormController = class extends FormController {
|
|
|
25930
26402
|
switch (autoSaveMode) {
|
|
25931
26403
|
case 3:
|
|
25932
26404
|
saveParam.data = this.getDiffData();
|
|
25933
|
-
saveParam.context =
|
|
26405
|
+
saveParam.context = IBizContext5.create({ srfsimple: true });
|
|
25934
26406
|
break;
|
|
25935
26407
|
default:
|
|
25936
26408
|
}
|
|
@@ -26004,11 +26476,13 @@ var EditFormController = class extends FormController {
|
|
|
26004
26476
|
if (!isNil27(msg.triggerKey) && msg.triggerKey === this.triggerKey) {
|
|
26005
26477
|
return;
|
|
26006
26478
|
}
|
|
26007
|
-
|
|
26008
|
-
|
|
26009
|
-
|
|
26479
|
+
if (this.model.appDataEntityId) {
|
|
26480
|
+
const dename = calcDeCodeNameById(this.model.appDataEntityId);
|
|
26481
|
+
if (!msg.data || ((_a = msg.data.srfdecodename) == null ? void 0 : _a.toLowerCase()) !== dename || msg.data.srfkey !== this.data.srfkey) {
|
|
26482
|
+
return;
|
|
26483
|
+
}
|
|
26484
|
+
this.doNextActive(() => this.load(), { key: "load" });
|
|
26010
26485
|
}
|
|
26011
|
-
this.doNextActive(() => this.load(), { key: "load" });
|
|
26012
26486
|
}
|
|
26013
26487
|
};
|
|
26014
26488
|
|
|
@@ -26250,12 +26724,13 @@ var GridRowState = class {
|
|
|
26250
26724
|
import {
|
|
26251
26725
|
awaitTimeout as awaitTimeout2,
|
|
26252
26726
|
debounceAndAsyncMerge as debounceAndAsyncMerge2,
|
|
26727
|
+
EntityError as EntityError2,
|
|
26253
26728
|
mergeDefaultInLeft,
|
|
26254
26729
|
recursiveIterate as recursiveIterate7,
|
|
26255
26730
|
RuntimeError as RuntimeError56,
|
|
26256
26731
|
RuntimeModelError as RuntimeModelError62
|
|
26257
26732
|
} from "@ibiz-template/core";
|
|
26258
|
-
import { clone as
|
|
26733
|
+
import { clone as clone27 } from "ramda";
|
|
26259
26734
|
import dayjs5 from "dayjs";
|
|
26260
26735
|
|
|
26261
26736
|
// src/controller/control/grid/grid/grid.service.ts
|
|
@@ -26605,7 +27080,7 @@ var GridController = class extends MDControlController {
|
|
|
26605
27080
|
const result = await calcColumnModelBySchema(json, this);
|
|
26606
27081
|
if (result && result.degridColumns.length > 0) {
|
|
26607
27082
|
const { degridColumns, degridDataItems } = result;
|
|
26608
|
-
this.model =
|
|
27083
|
+
this.model = clone27(this.model);
|
|
26609
27084
|
this.model.degridColumns = [
|
|
26610
27085
|
...(this.model.degridColumns || []).filter((item) => {
|
|
26611
27086
|
return degridColumns.findIndex((x) => x.id === item.id) === -1;
|
|
@@ -26947,7 +27422,8 @@ var GridController = class extends MDControlController {
|
|
|
26947
27422
|
await this._evt.emit("onSaveError", void 0);
|
|
26948
27423
|
this.actionNotification("".concat(isCreate ? "CREATE" : "UPDATE", "ERROR"), {
|
|
26949
27424
|
error,
|
|
26950
|
-
data: rowState.data
|
|
27425
|
+
data: rowState.data,
|
|
27426
|
+
rowState
|
|
26951
27427
|
});
|
|
26952
27428
|
throw error;
|
|
26953
27429
|
}
|
|
@@ -27191,7 +27667,7 @@ var GridController = class extends MDControlController {
|
|
|
27191
27667
|
throw new RuntimeError56("\u540C\u65F6\u53EA\u80FD\u6709\u4E00\u884C\u5F00\u542F\u884C\u7F16\u8F91");
|
|
27192
27668
|
}
|
|
27193
27669
|
if (row.data.srfuf === 1 /* UPDATE */) {
|
|
27194
|
-
row.cacheData =
|
|
27670
|
+
row.cacheData = clone27(row.data);
|
|
27195
27671
|
const defaultVal = this.calcDefaultValue(row.data, false);
|
|
27196
27672
|
Object.assign(row.data, defaultVal);
|
|
27197
27673
|
}
|
|
@@ -27330,7 +27806,7 @@ var GridController = class extends MDControlController {
|
|
|
27330
27806
|
*/
|
|
27331
27807
|
formatExcelData(data) {
|
|
27332
27808
|
const { fields = [] } = this.dataExportParam;
|
|
27333
|
-
const cloneData =
|
|
27809
|
+
const cloneData = clone27(
|
|
27334
27810
|
data.map((item) => {
|
|
27335
27811
|
return fields.reduce((obj, key) => {
|
|
27336
27812
|
obj[key] = item[key];
|
|
@@ -27570,13 +28046,31 @@ var GridController = class extends MDControlController {
|
|
|
27570
28046
|
JSON.stringify(storageColumnStates)
|
|
27571
28047
|
);
|
|
27572
28048
|
}
|
|
28049
|
+
/**
|
|
28050
|
+
* 执行对应部件行为消息提示
|
|
28051
|
+
* @author zzq
|
|
28052
|
+
* @date 2024-04-03 15:51:21
|
|
28053
|
+
* @param {string} tag
|
|
28054
|
+
* @param {({ default?: string; data?: IData | IData[]; error?: Error; rowState?: IGridRowState })} [opts]
|
|
28055
|
+
* @return {*} {void}
|
|
28056
|
+
*/
|
|
28057
|
+
actionNotification(tag, opts) {
|
|
28058
|
+
if ((opts == null ? void 0 : opts.error) && (opts == null ? void 0 : opts.rowState) && opts.error instanceof EntityError2) {
|
|
28059
|
+
const { details } = opts.error;
|
|
28060
|
+
const { errors } = opts.rowState;
|
|
28061
|
+
details.forEach((detail) => {
|
|
28062
|
+
errors[detail.name] = detail.errorInfo;
|
|
28063
|
+
});
|
|
28064
|
+
}
|
|
28065
|
+
super.actionNotification(tag, { ...opts || {} });
|
|
28066
|
+
}
|
|
27573
28067
|
};
|
|
27574
28068
|
|
|
27575
28069
|
// src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts
|
|
27576
28070
|
import { DataTypes as DataTypes4, ModelError as ModelError29, plus as plus2 } from "@ibiz-template/core";
|
|
27577
28071
|
import dayjs6 from "dayjs";
|
|
27578
28072
|
import { debounce as debounce2 } from "lodash-es";
|
|
27579
|
-
import { clone as
|
|
28073
|
+
import { clone as clone28, isNil as isNil28 } from "ramda";
|
|
27580
28074
|
var GridFieldColumnController = class extends GridColumnController {
|
|
27581
28075
|
constructor() {
|
|
27582
28076
|
super(...arguments);
|
|
@@ -27714,7 +28208,7 @@ var GridFieldColumnController = class extends GridColumnController {
|
|
|
27714
28208
|
srfkey: value,
|
|
27715
28209
|
...wfContext
|
|
27716
28210
|
});
|
|
27717
|
-
const tempParams =
|
|
28211
|
+
const tempParams = clone28(this.params);
|
|
27718
28212
|
const { context: newContext, params: newParams } = this.handlePublicParams(
|
|
27719
28213
|
row.data,
|
|
27720
28214
|
tempContext,
|
|
@@ -29131,11 +29625,33 @@ var PickupViewPanelController = class extends ControlController {
|
|
|
29131
29625
|
|
|
29132
29626
|
// src/controller/control/search-bar/search-bar.controller.ts
|
|
29133
29627
|
import { mergeInLeft as mergeInLeft3, recursiveIterate as recursiveIterate10 } from "@ibiz-template/core";
|
|
29134
|
-
import { clone as
|
|
29628
|
+
import { clone as clone30 } from "ramda";
|
|
29135
29629
|
import { isString as isString2 } from "lodash-es";
|
|
29136
29630
|
|
|
29137
29631
|
// src/controller/control/search-bar/search-bar-filter.controller.ts
|
|
29138
29632
|
import { RuntimeModelError as RuntimeModelError64 } from "@ibiz-template/core";
|
|
29633
|
+
|
|
29634
|
+
// src/controller/control/search-bar/util.ts
|
|
29635
|
+
var ItemsValueOPs = [
|
|
29636
|
+
"EXISTS" /* EXISTS */,
|
|
29637
|
+
"NOTEXISTS" /* NOT_EXISTS */
|
|
29638
|
+
];
|
|
29639
|
+
var SubFieldRegex = /^N_(.\w+)_(.\w+)$/;
|
|
29640
|
+
function isSimpleItems(model) {
|
|
29641
|
+
var _a;
|
|
29642
|
+
return ((_a = model.userParam) == null ? void 0 : _a.ITEMTYPE) === "SIMPLE";
|
|
29643
|
+
}
|
|
29644
|
+
function isHiddenFilter(model) {
|
|
29645
|
+
var _a;
|
|
29646
|
+
return ((_a = model.userParam) == null ? void 0 : _a.ITEMTYPE) === "HIDDEN";
|
|
29647
|
+
}
|
|
29648
|
+
function parseSubFieldInfo(str) {
|
|
29649
|
+
const subStr = str.split("__")[1];
|
|
29650
|
+
const matches = subStr.match(SubFieldRegex);
|
|
29651
|
+
return { field: matches[1], op: matches[2] };
|
|
29652
|
+
}
|
|
29653
|
+
|
|
29654
|
+
// src/controller/control/search-bar/search-bar-filter.controller.ts
|
|
29139
29655
|
var ExcludeOPs = [
|
|
29140
29656
|
"ISNULL" /* IS_NULL */,
|
|
29141
29657
|
"ISNOTNULL" /* IS_NOT_NULL */,
|
|
@@ -29156,12 +29672,21 @@ var SearchBarFilterController = class {
|
|
|
29156
29672
|
* @type {boolean}
|
|
29157
29673
|
*/
|
|
29158
29674
|
this.noEditor = false;
|
|
29675
|
+
/**
|
|
29676
|
+
* 控制器类型
|
|
29677
|
+
* @author lxm
|
|
29678
|
+
* @date 2024-04-10 01:41:40
|
|
29679
|
+
* @type {('ITEMS' | 'SIMPLE_ITEMS' | 'FIELD')}
|
|
29680
|
+
*/
|
|
29681
|
+
this.type = "FIELD";
|
|
29159
29682
|
var _a;
|
|
29683
|
+
this.hidden = isHiddenFilter(model);
|
|
29160
29684
|
let field;
|
|
29161
29685
|
if (model.appDEFieldId) {
|
|
29162
29686
|
field = findFieldById(this.appDataEntity, model.appDEFieldId);
|
|
29163
29687
|
}
|
|
29164
29688
|
this.fieldName = field ? field.codeName.toLowerCase() : model.id;
|
|
29689
|
+
this.key = this.fieldName;
|
|
29165
29690
|
this.label = model.caption || (field == null ? void 0 : field.logicName) || model.id;
|
|
29166
29691
|
this.valueOP = (_a = model.defsearchMode) == null ? void 0 : _a.valueOP;
|
|
29167
29692
|
this.noEditor = this.valueOP ? ExcludeOPs.includes(this.valueOP) : !this.model.editor;
|
|
@@ -29200,7 +29725,7 @@ var SearchBarFilterController = class {
|
|
|
29200
29725
|
* 计算要递给编辑器的参数
|
|
29201
29726
|
* @author lxm
|
|
29202
29727
|
* @date 2024-02-04 06:35:28
|
|
29203
|
-
* @param {
|
|
29728
|
+
* @param {IFilterNodeField} node
|
|
29204
29729
|
* @return {*} {{ value: unknown; data: IData }}
|
|
29205
29730
|
*/
|
|
29206
29731
|
calcEditorProps(node) {
|
|
@@ -29219,7 +29744,7 @@ var SearchBarFilterController = class {
|
|
|
29219
29744
|
* 编辑器值变更处理
|
|
29220
29745
|
* @author lxm
|
|
29221
29746
|
* @date 2024-02-04 06:42:04
|
|
29222
|
-
* @param {
|
|
29747
|
+
* @param {IFilterNodeField} node
|
|
29223
29748
|
* @param {unknown} value
|
|
29224
29749
|
* @param {string} [name]
|
|
29225
29750
|
*/
|
|
@@ -29573,106 +30098,10 @@ async function calcFilterModelBySchema(json, appDataEntityId, modelAppId) {
|
|
|
29573
30098
|
return addSearchBarFilters;
|
|
29574
30099
|
}
|
|
29575
30100
|
|
|
29576
|
-
// src/controller/control/search-bar/use-searchcond.ts
|
|
29577
|
-
import { RuntimeError as RuntimeError59, recursiveIterate as recursiveIterate9 } from "@ibiz-template/core";
|
|
29578
|
-
import { isNil as isNil29 } from "ramda";
|
|
29579
|
-
var ExcludeOPs2 = ["ISNULL" /* IS_NULL */, "ISNOTNULL" /* IS_NOT_NULL */];
|
|
29580
|
-
function getOriginFilterNodes() {
|
|
29581
|
-
return [
|
|
29582
|
-
{
|
|
29583
|
-
leaf: false,
|
|
29584
|
-
logicType: "AND",
|
|
29585
|
-
children: [{ leaf: true, field: null, valueOP: null, value: null }]
|
|
29586
|
-
}
|
|
29587
|
-
];
|
|
29588
|
-
}
|
|
29589
|
-
function formatFilters(node) {
|
|
29590
|
-
if (!node.leaf) {
|
|
29591
|
-
if (node.logicType === "ITEMS") {
|
|
29592
|
-
return {
|
|
29593
|
-
condtype: "ITEMS",
|
|
29594
|
-
fieldname: node.field,
|
|
29595
|
-
condop: node.valueOP,
|
|
29596
|
-
searchconds: node.children.map((item) => formatFilters(item))
|
|
29597
|
-
};
|
|
29598
|
-
}
|
|
29599
|
-
return {
|
|
29600
|
-
condtype: "GROUP",
|
|
29601
|
-
condop: node.logicType,
|
|
29602
|
-
bnotmode: false,
|
|
29603
|
-
searchconds: node.children.map((item) => formatFilters(item))
|
|
29604
|
-
};
|
|
29605
|
-
}
|
|
29606
|
-
const leafNode = node;
|
|
29607
|
-
const temp = {
|
|
29608
|
-
condtype: "DEFIELD",
|
|
29609
|
-
fieldname: node.field,
|
|
29610
|
-
condop: node.valueOP,
|
|
29611
|
-
value: node.value
|
|
29612
|
-
};
|
|
29613
|
-
if (leafNode.valueItem) {
|
|
29614
|
-
temp.valueItem = leafNode.valueItem;
|
|
29615
|
-
}
|
|
29616
|
-
return temp;
|
|
29617
|
-
}
|
|
29618
|
-
function parseFilters(data) {
|
|
29619
|
-
if (data.condtype === "GROUP") {
|
|
29620
|
-
return {
|
|
29621
|
-
leaf: false,
|
|
29622
|
-
logicType: data.condop === "AND" ? "AND" : "OR",
|
|
29623
|
-
children: (data.searchconds || []).map(
|
|
29624
|
-
(item) => parseFilters(item)
|
|
29625
|
-
)
|
|
29626
|
-
};
|
|
29627
|
-
}
|
|
29628
|
-
if (data.condtype === "ITEMS") {
|
|
29629
|
-
return {
|
|
29630
|
-
leaf: false,
|
|
29631
|
-
logicType: "ITEMS",
|
|
29632
|
-
field: data.fieldname || null,
|
|
29633
|
-
valueOP: data.condop || null,
|
|
29634
|
-
children: (data.searchconds || []).map(
|
|
29635
|
-
(item) => parseFilters(item)
|
|
29636
|
-
)
|
|
29637
|
-
};
|
|
29638
|
-
}
|
|
29639
|
-
if (data.condtype === "DEFIELD") {
|
|
29640
|
-
return {
|
|
29641
|
-
leaf: true,
|
|
29642
|
-
field: data.fieldname || null,
|
|
29643
|
-
valueOP: data.condop || null,
|
|
29644
|
-
value: data.value || null,
|
|
29645
|
-
valueItem: data.valueItem || void 0
|
|
29646
|
-
};
|
|
29647
|
-
}
|
|
29648
|
-
throw new RuntimeError59("\u65E0\u6548\u7684condtype:".concat(data.condtype));
|
|
29649
|
-
}
|
|
29650
|
-
function calcSearchConds(filterNodes) {
|
|
29651
|
-
let hasFilter = false;
|
|
29652
|
-
let hasError = false;
|
|
29653
|
-
recursiveIterate9(filterNodes[0], (node) => {
|
|
29654
|
-
if (node.leaf) {
|
|
29655
|
-
if (node.field && node.valueOP && !isNil29(node.value) || node.field && node.valueOP && ExcludeOPs2.includes(node.valueOP)) {
|
|
29656
|
-
hasFilter = true;
|
|
29657
|
-
} else {
|
|
29658
|
-
hasError = true;
|
|
29659
|
-
}
|
|
29660
|
-
}
|
|
29661
|
-
});
|
|
29662
|
-
if (hasFilter && !hasError) {
|
|
29663
|
-
const filter = [formatFilters(filterNodes[0])];
|
|
29664
|
-
return filter;
|
|
29665
|
-
}
|
|
29666
|
-
}
|
|
29667
|
-
|
|
29668
30101
|
// src/controller/control/search-bar/search-bar-filter-items.controller.ts
|
|
29669
|
-
import { RuntimeError as
|
|
29670
|
-
import { clone as
|
|
29671
|
-
var
|
|
29672
|
-
"ISNULL" /* IS_NULL */,
|
|
29673
|
-
"ISNOTNULL" /* IS_NOT_NULL */
|
|
29674
|
-
];
|
|
29675
|
-
var SubFieldRegex = /^N_(.\w+)_(.\w+)$/;
|
|
30102
|
+
import { RuntimeError as RuntimeError59 } from "@ibiz-template/core";
|
|
30103
|
+
import { clone as clone29 } from "ramda";
|
|
30104
|
+
var SubFieldRegex2 = /^N_(.\w+)_(.\w+)$/;
|
|
29676
30105
|
var SearchBarFilterItemsController = class extends SearchBarFilterController {
|
|
29677
30106
|
constructor(filterModels, appDataEntity, context, params) {
|
|
29678
30107
|
super(filterModels[0], appDataEntity, context, params);
|
|
@@ -29692,6 +30121,7 @@ var SearchBarFilterItemsController = class extends SearchBarFilterController {
|
|
|
29692
30121
|
* @type {Map<string, SearchBarFilterController>}
|
|
29693
30122
|
*/
|
|
29694
30123
|
this.subFilterCMap = /* @__PURE__ */ new Map();
|
|
30124
|
+
this.type = "ITEMS";
|
|
29695
30125
|
}
|
|
29696
30126
|
/**
|
|
29697
30127
|
* 计算标识
|
|
@@ -29728,7 +30158,7 @@ var SearchBarFilterItemsController = class extends SearchBarFilterController {
|
|
|
29728
30158
|
return false;
|
|
29729
30159
|
});
|
|
29730
30160
|
if (!minorDEId) {
|
|
29731
|
-
throw new
|
|
30161
|
+
throw new RuntimeError59("\u627E\u4E0D\u5230\u5C5E\u6027".concat(targetField, "\u5BF9\u5E94\u7684\u5173\u8054\u5B9E\u4F53"));
|
|
29732
30162
|
}
|
|
29733
30163
|
this.minorAppDE = await ibiz.hub.getAppDataEntity(
|
|
29734
30164
|
minorDEId,
|
|
@@ -29748,28 +30178,31 @@ var SearchBarFilterItemsController = class extends SearchBarFilterController {
|
|
|
29748
30178
|
this.filterModels.forEach((item) => {
|
|
29749
30179
|
var _a2;
|
|
29750
30180
|
const subStr = (_a2 = item.defsearchMode.codeName) == null ? void 0 : _a2.split("__")[1];
|
|
29751
|
-
const matches = subStr.match(
|
|
30181
|
+
const matches = subStr.match(SubFieldRegex2);
|
|
29752
30182
|
const subField = matches[1];
|
|
29753
30183
|
const subOP = matches[2];
|
|
30184
|
+
const cloneItem = clone29(item);
|
|
30185
|
+
cloneItem.defsearchMode.valueOP = subOP;
|
|
30186
|
+
cloneItem.id = subField;
|
|
30187
|
+
const filterC = new SearchBarFilterController(
|
|
30188
|
+
cloneItem,
|
|
30189
|
+
this.appDataEntity,
|
|
30190
|
+
this.context,
|
|
30191
|
+
this.params
|
|
30192
|
+
);
|
|
30193
|
+
this.subFilterCMap.set(this.calcKey(subField, subOP), filterC);
|
|
30194
|
+
if (filterC.hidden) {
|
|
30195
|
+
return;
|
|
30196
|
+
}
|
|
29754
30197
|
if (!fieldMap.has(subField)) {
|
|
29755
30198
|
fieldMap.set(subField, {
|
|
29756
30199
|
name: subField,
|
|
29757
30200
|
label: "",
|
|
29758
|
-
valueOPs: []
|
|
30201
|
+
valueOPs: [],
|
|
30202
|
+
fieldName: subField
|
|
29759
30203
|
});
|
|
29760
30204
|
}
|
|
29761
30205
|
fieldMap.get(subField).valueOPs.push(subOP);
|
|
29762
|
-
const cloneItem = clone28(item);
|
|
29763
|
-
cloneItem.defsearchMode.valueOP = subOP;
|
|
29764
|
-
this.subFilterCMap.set(
|
|
29765
|
-
this.calcKey(subField, subOP),
|
|
29766
|
-
new SearchBarFilterController(
|
|
29767
|
-
cloneItem,
|
|
29768
|
-
this.appDataEntity,
|
|
29769
|
-
this.context,
|
|
29770
|
-
this.params
|
|
29771
|
-
)
|
|
29772
|
-
);
|
|
29773
30206
|
});
|
|
29774
30207
|
(_a = this.minorAppDE.appDEFields) == null ? void 0 : _a.forEach((item) => {
|
|
29775
30208
|
const codeName = item.codeName.toUpperCase();
|
|
@@ -29785,6 +30218,9 @@ var SearchBarFilterItemsController = class extends SearchBarFilterController {
|
|
|
29785
30218
|
async init() {
|
|
29786
30219
|
await this.initMinorAppDE();
|
|
29787
30220
|
await this.initAllFields();
|
|
30221
|
+
this.hidden = Array.from(this.subFilterCMap.values()).every(
|
|
30222
|
+
(item) => item.hidden
|
|
30223
|
+
);
|
|
29788
30224
|
}
|
|
29789
30225
|
/**
|
|
29790
30226
|
* 获取子搜索栏控制器
|
|
@@ -29799,13 +30235,246 @@ var SearchBarFilterItemsController = class extends SearchBarFilterController {
|
|
|
29799
30235
|
}
|
|
29800
30236
|
};
|
|
29801
30237
|
|
|
30238
|
+
// src/controller/control/search-bar/interface-util.ts
|
|
30239
|
+
import { recursiveIterate as recursiveIterate9 } from "@ibiz-template/core";
|
|
30240
|
+
import { isNil as isNil29 } from "ramda";
|
|
30241
|
+
function getOriginFilterNodes() {
|
|
30242
|
+
return [
|
|
30243
|
+
{
|
|
30244
|
+
nodeType: "GROUP",
|
|
30245
|
+
logicType: "AND",
|
|
30246
|
+
children: [
|
|
30247
|
+
{ nodeType: "FIELD", field: null, valueOP: null, value: null }
|
|
30248
|
+
]
|
|
30249
|
+
}
|
|
30250
|
+
];
|
|
30251
|
+
}
|
|
30252
|
+
function validateFilterNodes(filterNodes) {
|
|
30253
|
+
const result = { pass: false };
|
|
30254
|
+
let hasFilter = false;
|
|
30255
|
+
let hasError = false;
|
|
30256
|
+
recursiveIterate9(filterNodes[0], (node) => {
|
|
30257
|
+
if (hasError) {
|
|
30258
|
+
return;
|
|
30259
|
+
}
|
|
30260
|
+
if (node.nodeType === "FIELD") {
|
|
30261
|
+
hasFilter = true;
|
|
30262
|
+
hasError = !node.field || !node.valueOP || isNil29(node.value);
|
|
30263
|
+
} else if (node.nodeType === "ITEMS") {
|
|
30264
|
+
hasError = !node.field || !node.valueOP;
|
|
30265
|
+
} else {
|
|
30266
|
+
hasError = !node.logicType;
|
|
30267
|
+
}
|
|
30268
|
+
});
|
|
30269
|
+
if (hasFilter && !hasError) {
|
|
30270
|
+
result.pass = true;
|
|
30271
|
+
}
|
|
30272
|
+
return result;
|
|
30273
|
+
}
|
|
30274
|
+
function filterNode2SearchCond(filterNode, opts) {
|
|
30275
|
+
let result;
|
|
30276
|
+
if (filterNode.nodeType === "GROUP") {
|
|
30277
|
+
const temp = {
|
|
30278
|
+
condop: filterNode.logicType,
|
|
30279
|
+
condtype: "GROUP"
|
|
30280
|
+
};
|
|
30281
|
+
if (filterNode.children.length > 0) {
|
|
30282
|
+
temp.searchconds = filterNode.children.map(
|
|
30283
|
+
(item) => filterNode2SearchCond(item, opts)
|
|
30284
|
+
);
|
|
30285
|
+
}
|
|
30286
|
+
result = temp;
|
|
30287
|
+
if (filterNode.notMode) {
|
|
30288
|
+
temp.notmode = filterNode.notMode;
|
|
30289
|
+
}
|
|
30290
|
+
} else if (filterNode.nodeType === "FIELD") {
|
|
30291
|
+
const temp = {
|
|
30292
|
+
condtype: "DEFIELD",
|
|
30293
|
+
fieldname: filterNode.field,
|
|
30294
|
+
value: filterNode.value,
|
|
30295
|
+
condop: filterNode.valueOP
|
|
30296
|
+
};
|
|
30297
|
+
if (filterNode.valueItem) {
|
|
30298
|
+
temp.value = filterNode.valueItem;
|
|
30299
|
+
}
|
|
30300
|
+
result = temp;
|
|
30301
|
+
} else {
|
|
30302
|
+
const temp = {
|
|
30303
|
+
condop: filterNode.valueOP,
|
|
30304
|
+
fieldname: filterNode.field,
|
|
30305
|
+
condtype: "ITEMS"
|
|
30306
|
+
};
|
|
30307
|
+
if (filterNode.children.length > 0) {
|
|
30308
|
+
temp.searchconds = filterNode.children.map(
|
|
30309
|
+
(item) => filterNode2SearchCond(item, opts)
|
|
30310
|
+
);
|
|
30311
|
+
}
|
|
30312
|
+
result = temp;
|
|
30313
|
+
}
|
|
30314
|
+
if (opts == null ? void 0 : opts.after) {
|
|
30315
|
+
opts.after(filterNode, result);
|
|
30316
|
+
}
|
|
30317
|
+
return result;
|
|
30318
|
+
}
|
|
30319
|
+
function calcSearchConds(filterNodes, opts) {
|
|
30320
|
+
const { pass } = validateFilterNodes(filterNodes);
|
|
30321
|
+
if (!pass) {
|
|
30322
|
+
return;
|
|
30323
|
+
}
|
|
30324
|
+
const result = filterNodes.map((node) => filterNode2SearchCond(node, opts));
|
|
30325
|
+
return result;
|
|
30326
|
+
}
|
|
30327
|
+
function SearchCondEx2filterNode(cond) {
|
|
30328
|
+
var _a, _b;
|
|
30329
|
+
let result;
|
|
30330
|
+
if (cond.condtype === "GROUP") {
|
|
30331
|
+
const temp = {
|
|
30332
|
+
logicType: cond.condop,
|
|
30333
|
+
nodeType: "GROUP",
|
|
30334
|
+
children: []
|
|
30335
|
+
};
|
|
30336
|
+
if ((_a = cond.searchconds) == null ? void 0 : _a.length) {
|
|
30337
|
+
temp.children = cond.searchconds.map(
|
|
30338
|
+
(item) => SearchCondEx2filterNode(item)
|
|
30339
|
+
);
|
|
30340
|
+
}
|
|
30341
|
+
result = temp;
|
|
30342
|
+
if (cond.notmode) {
|
|
30343
|
+
temp.notMode = cond.notmode;
|
|
30344
|
+
}
|
|
30345
|
+
} else if (cond.condtype === "DEFIELD") {
|
|
30346
|
+
const temp = {
|
|
30347
|
+
nodeType: "FIELD",
|
|
30348
|
+
field: cond.fieldname,
|
|
30349
|
+
value: cond.value,
|
|
30350
|
+
valueOP: cond.condop
|
|
30351
|
+
};
|
|
30352
|
+
if (cond.valueItem) {
|
|
30353
|
+
temp.valueItem = cond.valueItem;
|
|
30354
|
+
}
|
|
30355
|
+
result = temp;
|
|
30356
|
+
} else {
|
|
30357
|
+
const temp = {
|
|
30358
|
+
nodeType: "ITEMS",
|
|
30359
|
+
field: cond.fieldname,
|
|
30360
|
+
valueOP: cond.condop,
|
|
30361
|
+
children: []
|
|
30362
|
+
};
|
|
30363
|
+
if ((_b = cond.searchconds) == null ? void 0 : _b.length) {
|
|
30364
|
+
temp.children = cond.searchconds.map(
|
|
30365
|
+
(item) => SearchCondEx2filterNode(item)
|
|
30366
|
+
);
|
|
30367
|
+
}
|
|
30368
|
+
if (cond.simple) {
|
|
30369
|
+
temp.simple = cond.simple;
|
|
30370
|
+
}
|
|
30371
|
+
result = temp;
|
|
30372
|
+
}
|
|
30373
|
+
if (cond.hidden === true) {
|
|
30374
|
+
result.hidden = true;
|
|
30375
|
+
}
|
|
30376
|
+
return result;
|
|
30377
|
+
}
|
|
30378
|
+
function filterNode2SearchCondEx(filterNode) {
|
|
30379
|
+
let result;
|
|
30380
|
+
if (filterNode.nodeType === "GROUP") {
|
|
30381
|
+
const temp = {
|
|
30382
|
+
condop: filterNode.logicType,
|
|
30383
|
+
condtype: "GROUP"
|
|
30384
|
+
};
|
|
30385
|
+
if (filterNode.children.length > 0) {
|
|
30386
|
+
temp.searchconds = filterNode.children.map(
|
|
30387
|
+
(item) => filterNode2SearchCondEx(item)
|
|
30388
|
+
);
|
|
30389
|
+
}
|
|
30390
|
+
result = temp;
|
|
30391
|
+
if (filterNode.notMode) {
|
|
30392
|
+
temp.notmode = filterNode.notMode;
|
|
30393
|
+
}
|
|
30394
|
+
} else if (filterNode.nodeType === "FIELD") {
|
|
30395
|
+
const temp = {
|
|
30396
|
+
condtype: "DEFIELD",
|
|
30397
|
+
fieldname: filterNode.field,
|
|
30398
|
+
value: filterNode.value,
|
|
30399
|
+
condop: filterNode.valueOP
|
|
30400
|
+
};
|
|
30401
|
+
if (filterNode.valueItem) {
|
|
30402
|
+
temp.valueItem = filterNode.valueItem;
|
|
30403
|
+
}
|
|
30404
|
+
result = temp;
|
|
30405
|
+
} else {
|
|
30406
|
+
const temp = {
|
|
30407
|
+
condop: filterNode.valueOP,
|
|
30408
|
+
fieldname: filterNode.field,
|
|
30409
|
+
condtype: "ITEMS"
|
|
30410
|
+
};
|
|
30411
|
+
if (filterNode.children.length > 0) {
|
|
30412
|
+
temp.searchconds = filterNode.children.map(
|
|
30413
|
+
(item) => filterNode2SearchCondEx(item)
|
|
30414
|
+
);
|
|
30415
|
+
}
|
|
30416
|
+
if (filterNode.simple) {
|
|
30417
|
+
temp.simple = filterNode.simple;
|
|
30418
|
+
}
|
|
30419
|
+
result = temp;
|
|
30420
|
+
}
|
|
30421
|
+
if (filterNode.hidden === true) {
|
|
30422
|
+
result.hidden = true;
|
|
30423
|
+
}
|
|
30424
|
+
return result;
|
|
30425
|
+
}
|
|
30426
|
+
function calcSearchCondExs(filterNodes) {
|
|
30427
|
+
const { pass } = validateFilterNodes(filterNodes);
|
|
30428
|
+
if (!pass) {
|
|
30429
|
+
return;
|
|
30430
|
+
}
|
|
30431
|
+
const result = filterNodes.map(filterNode2SearchCondEx);
|
|
30432
|
+
return result;
|
|
30433
|
+
}
|
|
30434
|
+
|
|
30435
|
+
// src/controller/control/search-bar/search-bar-filter-simple-items.controller.ts
|
|
30436
|
+
var SearchBarFilterSimpleItemsController = class extends SearchBarFilterController {
|
|
30437
|
+
constructor(filterModel, appDataEntity, context, params) {
|
|
30438
|
+
super(filterModel, appDataEntity, context, params);
|
|
30439
|
+
this.noEditor = false;
|
|
30440
|
+
this.key = this.model.id;
|
|
30441
|
+
this.type = "SIMPLE_ITEMS";
|
|
30442
|
+
const info = parseSubFieldInfo(filterModel.defsearchMode.codeName);
|
|
30443
|
+
this.subFieldName = info.field;
|
|
30444
|
+
this.subValueOP = info.op;
|
|
30445
|
+
}
|
|
30446
|
+
/**
|
|
30447
|
+
* 简单模式下添加节点逻辑
|
|
30448
|
+
* @author lxm
|
|
30449
|
+
* @date 2024-04-07 05:44:47
|
|
30450
|
+
* @param {IFilterNodeField} node
|
|
30451
|
+
* @return {*} {void}
|
|
30452
|
+
*/
|
|
30453
|
+
addSimpleFilterNode(node) {
|
|
30454
|
+
Object.assign(node, {
|
|
30455
|
+
simple: true,
|
|
30456
|
+
field: this.fieldName,
|
|
30457
|
+
nodeType: "ITEMS",
|
|
30458
|
+
valueOP: this.valueOP,
|
|
30459
|
+
children: [
|
|
30460
|
+
{
|
|
30461
|
+
nodeType: "FIELD",
|
|
30462
|
+
field: this.subFieldName,
|
|
30463
|
+
valueOP: this.subValueOP,
|
|
30464
|
+
value: null
|
|
30465
|
+
}
|
|
30466
|
+
]
|
|
30467
|
+
});
|
|
30468
|
+
}
|
|
30469
|
+
};
|
|
30470
|
+
|
|
29802
30471
|
// src/controller/control/search-bar/search-bar.controller.ts
|
|
29803
30472
|
var ScriptValueRegex2 = /\$\{[^}]*\}/;
|
|
29804
30473
|
var SearchBarController = class extends ControlController {
|
|
29805
30474
|
constructor() {
|
|
29806
30475
|
super(...arguments);
|
|
29807
30476
|
/**
|
|
29808
|
-
*
|
|
30477
|
+
* 快速搜索占位符(根据属性计算出来的快速搜索占位符)
|
|
29809
30478
|
* @return {*}
|
|
29810
30479
|
* @author: zhujiamin
|
|
29811
30480
|
* @Date: 2023-08-11 14:13:10
|
|
@@ -29879,6 +30548,10 @@ var SearchBarController = class extends ControlController {
|
|
|
29879
30548
|
this.state.selectedGroupItem = null;
|
|
29880
30549
|
this.state.searchBarGroups = [];
|
|
29881
30550
|
this.state.selectedSearchGroupItem = null;
|
|
30551
|
+
this.state.advancedQuickSearch = false;
|
|
30552
|
+
this.state.quickSearchItems = [];
|
|
30553
|
+
this.state.quickSearchFieldNames = [];
|
|
30554
|
+
this.state.quickSearchPlaceHolder = "";
|
|
29882
30555
|
this.resetFilter();
|
|
29883
30556
|
this.state.visible = !!(this.model.enableQuickSearch || this.model.enableGroup || this.enableFilter);
|
|
29884
30557
|
}
|
|
@@ -29892,6 +30565,7 @@ var SearchBarController = class extends ControlController {
|
|
|
29892
30565
|
if (appDataEntity) {
|
|
29893
30566
|
this.appDataEntity = appDataEntity;
|
|
29894
30567
|
this.calcQuickSearchPlaceholder();
|
|
30568
|
+
this.initAdvancedQuickSearch();
|
|
29895
30569
|
}
|
|
29896
30570
|
if (this.isBackendSearchGroup && this.view.model.codeName) {
|
|
29897
30571
|
this.service = new SearchBarService(
|
|
@@ -29939,7 +30613,7 @@ var SearchBarController = class extends ControlController {
|
|
|
29939
30613
|
}
|
|
29940
30614
|
});
|
|
29941
30615
|
if (addSearchBarFilters.length > 0) {
|
|
29942
|
-
this.model =
|
|
30616
|
+
this.model = clone30(this.model);
|
|
29943
30617
|
this.model.searchBarFilters = addSearchBarFilters.concat(...mergeFilters);
|
|
29944
30618
|
this.model.enableFilter = true;
|
|
29945
30619
|
}
|
|
@@ -29974,6 +30648,7 @@ var SearchBarController = class extends ControlController {
|
|
|
29974
30648
|
});
|
|
29975
30649
|
if (placeHolders.length > 0) {
|
|
29976
30650
|
this.placeHolder = placeHolders.join("\u3001");
|
|
30651
|
+
this.state.quickSearchPlaceHolder = this.placeHolder;
|
|
29977
30652
|
}
|
|
29978
30653
|
}
|
|
29979
30654
|
}
|
|
@@ -30023,6 +30698,11 @@ var SearchBarController = class extends ControlController {
|
|
|
30023
30698
|
const params = {};
|
|
30024
30699
|
if (this.state.query) {
|
|
30025
30700
|
params.query = this.state.query;
|
|
30701
|
+
if (this.state.advancedQuickSearch && this.state.quickSearchFieldNames.length) {
|
|
30702
|
+
params.queryconds = this.state.quickSearchFieldNames.map(
|
|
30703
|
+
(name) => "n_".concat(name, "_like")
|
|
30704
|
+
);
|
|
30705
|
+
}
|
|
30026
30706
|
}
|
|
30027
30707
|
if (((_a = this.state.selectedGroupItem) == null ? void 0 : _a.data) && typeof this.state.selectedGroupItem.data === "string" && !this.isBackendSearchGroup) {
|
|
30028
30708
|
const navParams = ScriptFactory.execSingleLine(
|
|
@@ -30059,7 +30739,18 @@ var SearchBarController = class extends ControlController {
|
|
|
30059
30739
|
const itemsMap = /* @__PURE__ */ new Map();
|
|
30060
30740
|
this.searchBarFilters.forEach((item) => {
|
|
30061
30741
|
var _a2;
|
|
30062
|
-
if (((_a2 = item.defsearchMode) == null ? void 0 : _a2.valueOP) &&
|
|
30742
|
+
if (((_a2 = item.defsearchMode) == null ? void 0 : _a2.valueOP) && ItemsValueOPs.includes(item.defsearchMode.valueOP)) {
|
|
30743
|
+
if (isSimpleItems(item)) {
|
|
30744
|
+
this.filterControllers.push(
|
|
30745
|
+
new SearchBarFilterSimpleItemsController(
|
|
30746
|
+
item,
|
|
30747
|
+
this.appDataEntity,
|
|
30748
|
+
this.context,
|
|
30749
|
+
this.params
|
|
30750
|
+
)
|
|
30751
|
+
);
|
|
30752
|
+
return;
|
|
30753
|
+
}
|
|
30063
30754
|
const key = "".concat(item.appDEFieldId, "_").concat(item.defsearchMode.valueOP);
|
|
30064
30755
|
if (!itemsMap.has(key)) {
|
|
30065
30756
|
itemsMap.set(key, []);
|
|
@@ -30097,45 +30788,24 @@ var SearchBarController = class extends ControlController {
|
|
|
30097
30788
|
* @date 2023-10-13 05:53:35
|
|
30098
30789
|
* @return {*} {IData}
|
|
30099
30790
|
*/
|
|
30100
|
-
calcFilters(
|
|
30791
|
+
calcFilters() {
|
|
30101
30792
|
if (!this.enableFilter) {
|
|
30102
30793
|
return;
|
|
30103
30794
|
}
|
|
30104
|
-
const searchconds = calcSearchConds(this.state.filterNodes
|
|
30105
|
-
|
|
30106
|
-
|
|
30107
|
-
|
|
30108
|
-
|
|
30109
|
-
|
|
30110
|
-
|
|
30111
|
-
|
|
30112
|
-
node.condop
|
|
30113
|
-
);
|
|
30114
|
-
if (!controller && parent.condtype === "ITEMS") {
|
|
30115
|
-
const itemC = this.findFilterController(
|
|
30116
|
-
parent.fieldname,
|
|
30117
|
-
parent.condop
|
|
30118
|
-
);
|
|
30119
|
-
controller = itemC.getSubFilterController(
|
|
30120
|
-
node.fieldname,
|
|
30121
|
-
node.condop
|
|
30122
|
-
);
|
|
30123
|
-
}
|
|
30124
|
-
if (controller) {
|
|
30125
|
-
if (controller.valueItem && node.valueItem) {
|
|
30126
|
-
node.value = node.valueItem;
|
|
30127
|
-
delete node.valueItem;
|
|
30128
|
-
} else if (ScriptValueRegex2.test(node.value)) {
|
|
30129
|
-
node.value = ScriptFactory.execSingleLine("`".concat(node.value, "`"), {
|
|
30130
|
-
...this.getEventArgs()
|
|
30131
|
-
});
|
|
30795
|
+
const searchconds = calcSearchConds(this.state.filterNodes, {
|
|
30796
|
+
after: (node, cond) => {
|
|
30797
|
+
if (node.nodeType === "FIELD" && isString2(node.value)) {
|
|
30798
|
+
if (ScriptValueRegex2.test(node.value)) {
|
|
30799
|
+
cond.value = ScriptFactory.execSingleLine(
|
|
30800
|
+
"`".concat(node.value, "`"),
|
|
30801
|
+
{
|
|
30802
|
+
...this.getEventArgs()
|
|
30132
30803
|
}
|
|
30133
|
-
|
|
30804
|
+
);
|
|
30134
30805
|
}
|
|
30135
|
-
}
|
|
30136
|
-
|
|
30137
|
-
|
|
30138
|
-
}
|
|
30806
|
+
}
|
|
30807
|
+
}
|
|
30808
|
+
});
|
|
30139
30809
|
return searchconds;
|
|
30140
30810
|
}
|
|
30141
30811
|
/**
|
|
@@ -30251,7 +30921,7 @@ var SearchBarController = class extends ControlController {
|
|
|
30251
30921
|
*/
|
|
30252
30922
|
async handleSave() {
|
|
30253
30923
|
if (this.grid && this.state.selectedSearchGroupItem) {
|
|
30254
|
-
const filters = this.
|
|
30924
|
+
const filters = calcSearchCondExs(this.state.filterNodes);
|
|
30255
30925
|
const saveParams = {
|
|
30256
30926
|
searchconds: filters,
|
|
30257
30927
|
sort: this.grid.state.sortQuery,
|
|
@@ -30299,14 +30969,14 @@ var SearchBarController = class extends ControlController {
|
|
|
30299
30969
|
}
|
|
30300
30970
|
if (groupItem.searchGroupData && groupItem.searchGroupData.searchconds && groupItem.searchGroupData.searchconds.length > 0) {
|
|
30301
30971
|
const filterNodes = groupItem.searchGroupData.searchconds.map(
|
|
30302
|
-
(item) =>
|
|
30972
|
+
(item) => SearchCondEx2filterNode(item)
|
|
30303
30973
|
);
|
|
30304
30974
|
this.state.filterNodes = filterNodes;
|
|
30305
30975
|
} else {
|
|
30306
30976
|
this.state.filterNodes = getOriginFilterNodes();
|
|
30307
30977
|
}
|
|
30308
30978
|
recursiveIterate10(this.state.filterNodes[0], (node) => {
|
|
30309
|
-
if (node.
|
|
30979
|
+
if (node.nodeType === "FIELD") {
|
|
30310
30980
|
if (node.field && node.valueOP && isString2(node.value) && ScriptValueRegex2.test(node.value)) {
|
|
30311
30981
|
node.disabled = true;
|
|
30312
30982
|
}
|
|
@@ -30317,6 +30987,50 @@ var SearchBarController = class extends ControlController {
|
|
|
30317
30987
|
await this.grid.load({ isInitialLoad: true });
|
|
30318
30988
|
}
|
|
30319
30989
|
}
|
|
30990
|
+
/**
|
|
30991
|
+
* 初始化高级搜索
|
|
30992
|
+
* @author lxm
|
|
30993
|
+
* @date 2024-04-11 11:44:10
|
|
30994
|
+
* @protected
|
|
30995
|
+
*/
|
|
30996
|
+
initAdvancedQuickSearch() {
|
|
30997
|
+
var _a;
|
|
30998
|
+
if (this.model.quickSearchMode === 2 && ((_a = this.model.searchBarQuickSearchs) == null ? void 0 : _a.length)) {
|
|
30999
|
+
this.state.advancedQuickSearch = true;
|
|
31000
|
+
this.state.quickSearchItems = [];
|
|
31001
|
+
this.state.quickSearchFieldNames = [];
|
|
31002
|
+
this.model.searchBarQuickSearchs.forEach((item) => {
|
|
31003
|
+
const filed = findFieldById(this.appDataEntity, item.appDEFieldId);
|
|
31004
|
+
const fieldName = filed.codeName.toLowerCase();
|
|
31005
|
+
this.state.quickSearchItems.push({
|
|
31006
|
+
fieldName,
|
|
31007
|
+
label: filed.logicName
|
|
31008
|
+
});
|
|
31009
|
+
this.state.quickSearchFieldNames.push(fieldName);
|
|
31010
|
+
});
|
|
31011
|
+
this.calcQuickSearchPlaceHolder();
|
|
31012
|
+
}
|
|
31013
|
+
}
|
|
31014
|
+
/**
|
|
31015
|
+
* 计算快速搜索占位符
|
|
31016
|
+
* @author lxm
|
|
31017
|
+
* @date 2024-04-11 05:36:52
|
|
31018
|
+
*/
|
|
31019
|
+
calcQuickSearchPlaceHolder() {
|
|
31020
|
+
if (this.state.advancedQuickSearch) {
|
|
31021
|
+
if (this.state.quickSearchFieldNames.length) {
|
|
31022
|
+
const labels = [];
|
|
31023
|
+
this.state.quickSearchItems.forEach((item) => {
|
|
31024
|
+
if (this.state.quickSearchFieldNames.includes(item.fieldName)) {
|
|
31025
|
+
labels.push(item.label);
|
|
31026
|
+
}
|
|
31027
|
+
});
|
|
31028
|
+
this.state.quickSearchPlaceHolder = labels.join("\u3001");
|
|
31029
|
+
} else {
|
|
31030
|
+
this.state.quickSearchPlaceHolder = this.placeHolder;
|
|
31031
|
+
}
|
|
31032
|
+
}
|
|
31033
|
+
}
|
|
30320
31034
|
};
|
|
30321
31035
|
|
|
30322
31036
|
// src/controller/control/tab-exp-panel/tab-exp-panel.controller.ts
|
|
@@ -30565,11 +31279,11 @@ var TabExpPanelController = class extends ControlController {
|
|
|
30565
31279
|
|
|
30566
31280
|
// src/controller/control/tree/tree.controller.ts
|
|
30567
31281
|
import {
|
|
30568
|
-
RuntimeError as
|
|
31282
|
+
RuntimeError as RuntimeError60,
|
|
30569
31283
|
RuntimeModelError as RuntimeModelError65,
|
|
30570
31284
|
recursiveIterate as recursiveIterate11
|
|
30571
31285
|
} from "@ibiz-template/core";
|
|
30572
|
-
import { isNil as
|
|
31286
|
+
import { isNil as isNil30 } from "ramda";
|
|
30573
31287
|
|
|
30574
31288
|
// src/controller/control/tree/tree.service.ts
|
|
30575
31289
|
import { ModelError as ModelError30 } from "@ibiz-template/core";
|
|
@@ -31607,7 +32321,7 @@ var TreeController = class extends MDControlController {
|
|
|
31607
32321
|
throw new RuntimeModelError65(model, "\u6811\u8282\u70B9\u6CA1\u6709\u914D\u7F6E\u7F16\u8F91\u6A21\u5F0F\uFF1A\u540D\u79F0");
|
|
31608
32322
|
}
|
|
31609
32323
|
if (nodeData._nodeType !== "DE") {
|
|
31610
|
-
throw new
|
|
32324
|
+
throw new RuntimeError60("\u4E0D\u662F\u5B9E\u4F53\u6811\u8282\u70B9\u6570\u636E");
|
|
31611
32325
|
}
|
|
31612
32326
|
nodeData._text = text;
|
|
31613
32327
|
await this.updateDeNodeData([nodeData]);
|
|
@@ -31623,7 +32337,7 @@ var TreeController = class extends MDControlController {
|
|
|
31623
32337
|
let needRefresh = false;
|
|
31624
32338
|
const treeNode = this.getNodeModel(item._nodeId);
|
|
31625
32339
|
if (!treeNode) {
|
|
31626
|
-
throw new
|
|
32340
|
+
throw new RuntimeError60("\u672A\u627E\u5230\u6811\u8282\u70B9");
|
|
31627
32341
|
}
|
|
31628
32342
|
const nodeAppDataEntityId = treeNode.appDataEntityId;
|
|
31629
32343
|
if (nodeAppDataEntityId) {
|
|
@@ -31647,7 +32361,7 @@ var TreeController = class extends MDControlController {
|
|
|
31647
32361
|
* @return {*} {void}
|
|
31648
32362
|
*/
|
|
31649
32363
|
onDEDataChange(msg) {
|
|
31650
|
-
if (!
|
|
32364
|
+
if (!isNil30(msg.triggerKey) && msg.triggerKey === this.triggerKey) {
|
|
31651
32365
|
return;
|
|
31652
32366
|
}
|
|
31653
32367
|
if (msg.subtype === "OBJECTCREATED") {
|
|
@@ -31667,7 +32381,7 @@ var TreeController = class extends MDControlController {
|
|
|
31667
32381
|
};
|
|
31668
32382
|
|
|
31669
32383
|
// src/controller/control/wizard-panel/wizard-panel.controller.ts
|
|
31670
|
-
import { RuntimeError as
|
|
32384
|
+
import { RuntimeError as RuntimeError61 } from "@ibiz-template/core";
|
|
31671
32385
|
|
|
31672
32386
|
// src/controller/control/wizard-panel/wizard-panel.service.ts
|
|
31673
32387
|
var WizardPanelService = class extends ControlService {
|
|
@@ -31833,7 +32547,7 @@ var WizardPanelController = class extends ControlController {
|
|
|
31833
32547
|
const { activeFormTag } = this.state;
|
|
31834
32548
|
const controller = this.formControllers.get(activeFormTag);
|
|
31835
32549
|
if (!controller) {
|
|
31836
|
-
throw new
|
|
32550
|
+
throw new RuntimeError61("\u627E\u4E0D\u5230".concat(activeFormTag, "\u7684\u8868\u5355\u63A7\u5236\u5668"));
|
|
31837
32551
|
}
|
|
31838
32552
|
return controller;
|
|
31839
32553
|
}
|
|
@@ -31875,7 +32589,7 @@ var WizardPanelController = class extends ControlController {
|
|
|
31875
32589
|
getWizardFormByTag(tag) {
|
|
31876
32590
|
var _a;
|
|
31877
32591
|
if (!((_a = this.model.dewizard) == null ? void 0 : _a.dewizardForms)) {
|
|
31878
|
-
throw new
|
|
32592
|
+
throw new RuntimeError61("\u6CA1\u6709\u914D\u7F6E\u5411\u5BFC\u8868\u5355\u96C6\u5408");
|
|
31879
32593
|
return;
|
|
31880
32594
|
}
|
|
31881
32595
|
const wizardForm = this.model.dewizard.dewizardForms.find(
|
|
@@ -31884,7 +32598,7 @@ var WizardPanelController = class extends ControlController {
|
|
|
31884
32598
|
}
|
|
31885
32599
|
);
|
|
31886
32600
|
if (!wizardForm) {
|
|
31887
|
-
throw new
|
|
32601
|
+
throw new RuntimeError61("\u627E\u4E0D\u5230\u6807\u8BC6\u4E3A".concat(tag, "\u7684\u5411\u5BFC\u8868\u5355"));
|
|
31888
32602
|
}
|
|
31889
32603
|
return wizardForm;
|
|
31890
32604
|
}
|
|
@@ -31955,7 +32669,7 @@ var WizardPanelController = class extends ControlController {
|
|
|
31955
32669
|
prevTag = this.tagHistory[this.tagHistory.length - 1];
|
|
31956
32670
|
}
|
|
31957
32671
|
if (!prevTag) {
|
|
31958
|
-
throw new
|
|
32672
|
+
throw new RuntimeError61("\u6CA1\u6709\u4E0A\u4E00\u4E2A\u8868\u5355");
|
|
31959
32673
|
}
|
|
31960
32674
|
this.state.activeFormTag = prevTag;
|
|
31961
32675
|
}
|
|
@@ -31991,7 +32705,7 @@ var WizardPanelController = class extends ControlController {
|
|
|
31991
32705
|
});
|
|
31992
32706
|
const nextWizardStep = wizardSteps[index + 1];
|
|
31993
32707
|
if (!nextWizardStep) {
|
|
31994
|
-
throw new
|
|
32708
|
+
throw new RuntimeError61("\u627E\u4E0D\u5230\u4E0B\u4E00\u4E2A\u5411\u5BFC\u6B65\u9AA4");
|
|
31995
32709
|
}
|
|
31996
32710
|
const nextWizardForm = this.getWizardFormByTag(nextWizardStep.stepTag);
|
|
31997
32711
|
if (nextWizardForm && nextWizardForm.formTag) {
|
|
@@ -32000,7 +32714,7 @@ var WizardPanelController = class extends ControlController {
|
|
|
32000
32714
|
}
|
|
32001
32715
|
}
|
|
32002
32716
|
if (!nextTag) {
|
|
32003
|
-
throw new
|
|
32717
|
+
throw new RuntimeError61("\u627E\u4E0D\u5230\u4E0B\u4E00\u4E2A\u5411\u5BFC\u8868\u5355");
|
|
32004
32718
|
}
|
|
32005
32719
|
this.state.activeFormTag = nextTag;
|
|
32006
32720
|
this.tagHistory.push(nextTag);
|
|
@@ -32020,7 +32734,7 @@ var WizardPanelController = class extends ControlController {
|
|
|
32020
32734
|
|
|
32021
32735
|
// src/controller/control/md-ctrl/md-ctrl.controller.ts
|
|
32022
32736
|
import { RuntimeModelError as RuntimeModelError66 } from "@ibiz-template/core";
|
|
32023
|
-
import { isNil as
|
|
32737
|
+
import { isNil as isNil31 } from "ramda";
|
|
32024
32738
|
|
|
32025
32739
|
// src/controller/control/md-ctrl/md-ctrl.service.ts
|
|
32026
32740
|
var MDCtrlService = class extends MDControlService {
|
|
@@ -32249,7 +32963,7 @@ var MDCtrlController = class extends MDControlController {
|
|
|
32249
32963
|
const groupMap = /* @__PURE__ */ new Map();
|
|
32250
32964
|
items.forEach((item) => {
|
|
32251
32965
|
const groupVal = item[groupAppDEFieldId];
|
|
32252
|
-
if (
|
|
32966
|
+
if (isNil31(groupVal)) {
|
|
32253
32967
|
return;
|
|
32254
32968
|
}
|
|
32255
32969
|
if (!groupMap.has(groupVal)) {
|
|
@@ -32325,8 +33039,8 @@ var MDCtrlController = class extends MDControlController {
|
|
|
32325
33039
|
};
|
|
32326
33040
|
|
|
32327
33041
|
// src/controller/control/kanban/kanban.controller.ts
|
|
32328
|
-
import { RuntimeError as
|
|
32329
|
-
import { isNil as
|
|
33042
|
+
import { RuntimeError as RuntimeError62, RuntimeModelError as RuntimeModelError67 } from "@ibiz-template/core";
|
|
33043
|
+
import { isNil as isNil32 } from "ramda";
|
|
32330
33044
|
|
|
32331
33045
|
// src/controller/control/kanban/kanban.service.ts
|
|
32332
33046
|
var KanbanService = class extends DataViewControlService {
|
|
@@ -32412,12 +33126,12 @@ var KanbanController = class extends DataViewControlController {
|
|
|
32412
33126
|
const isAsc = minorSortDir === "ASC";
|
|
32413
33127
|
items.forEach((item) => {
|
|
32414
33128
|
const sortValue = item[sortField];
|
|
32415
|
-
if (
|
|
33129
|
+
if (isNil32(sortValue)) {
|
|
32416
33130
|
item[sortField] = 0;
|
|
32417
33131
|
} else {
|
|
32418
33132
|
const toNum = Number(sortValue);
|
|
32419
33133
|
if (Number.isNaN(toNum)) {
|
|
32420
|
-
throw new
|
|
33134
|
+
throw new RuntimeError62(
|
|
32421
33135
|
"".concat(item.srfmajortext, "\u7684\u6392\u5E8F\u5C5E\u6027\u65E0\u6CD5\u8F6C\u6362\u6210\u6570\u503C")
|
|
32422
33136
|
);
|
|
32423
33137
|
}
|
|
@@ -32539,7 +33253,7 @@ var KanbanController = class extends DataViewControlController {
|
|
|
32539
33253
|
}
|
|
32540
33254
|
handleDataGroup() {
|
|
32541
33255
|
if (!this.model.enableGroup || this.model.groupMode === "NONE") {
|
|
32542
|
-
throw new
|
|
33256
|
+
throw new RuntimeError62("\u770B\u677F\u90E8\u4EF6\u5FC5\u987B\u5F00\u542F\u5206\u7EC4");
|
|
32543
33257
|
}
|
|
32544
33258
|
return super.handleDataGroup();
|
|
32545
33259
|
}
|
|
@@ -32555,7 +33269,7 @@ var KanbanController = class extends DataViewControlController {
|
|
|
32555
33269
|
const groupMap = /* @__PURE__ */ new Map();
|
|
32556
33270
|
items.forEach((item) => {
|
|
32557
33271
|
const groupVal = item[groupAppDEFieldId];
|
|
32558
|
-
if (
|
|
33272
|
+
if (isNil32(groupVal)) {
|
|
32559
33273
|
return;
|
|
32560
33274
|
}
|
|
32561
33275
|
if (!groupMap.has(groupVal)) {
|
|
@@ -32882,12 +33596,12 @@ var KanbanController = class extends DataViewControlController {
|
|
|
32882
33596
|
|
|
32883
33597
|
// src/controller/control/tree-grid-ex/tree-grid-ex.controller.ts
|
|
32884
33598
|
import {
|
|
32885
|
-
RuntimeError as
|
|
33599
|
+
RuntimeError as RuntimeError63,
|
|
32886
33600
|
RuntimeModelError as RuntimeModelError68,
|
|
32887
33601
|
awaitTimeout as awaitTimeout3,
|
|
32888
33602
|
recursiveIterate as recursiveIterate12
|
|
32889
33603
|
} from "@ibiz-template/core";
|
|
32890
|
-
import { clone as
|
|
33604
|
+
import { clone as clone31 } from "ramda";
|
|
32891
33605
|
|
|
32892
33606
|
// src/controller/control/tree-grid-ex/tree-grid-ex.service.ts
|
|
32893
33607
|
var TreeGridExService = class extends TreeService {
|
|
@@ -33142,11 +33856,11 @@ var TreeGridExController = class extends TreeController {
|
|
|
33142
33856
|
return;
|
|
33143
33857
|
}
|
|
33144
33858
|
if (nodeData._nodeType !== "DE") {
|
|
33145
|
-
throw new
|
|
33859
|
+
throw new RuntimeError63("\u975E\u5B9E\u4F53\u8282\u70B9\u6570\u636E\u4E0D\u80FD\u4FDD\u5B58");
|
|
33146
33860
|
}
|
|
33147
33861
|
const rowState = this.state.rows[nodeData._uuid];
|
|
33148
33862
|
if (!rowState) {
|
|
33149
|
-
throw new
|
|
33863
|
+
throw new RuntimeError63("\u884C\u6570\u636E\u4E0D\u5B58\u5728");
|
|
33150
33864
|
}
|
|
33151
33865
|
if (!rowState.modified) {
|
|
33152
33866
|
ibiz.log.debug("\u503C\u6CA1\u6709\u53D1\u751F\u6539\u53D8");
|
|
@@ -33160,7 +33874,7 @@ var TreeGridExController = class extends TreeController {
|
|
|
33160
33874
|
const { appDataEntityId, updateAppDEActionId } = nodeModel;
|
|
33161
33875
|
const isCreate = nodeData._deData.srfuf === 0 /* CREATE */;
|
|
33162
33876
|
if (isCreate) {
|
|
33163
|
-
throw new
|
|
33877
|
+
throw new RuntimeError63("\u6682\u4E0D\u652F\u6301\u65B0\u5EFA");
|
|
33164
33878
|
}
|
|
33165
33879
|
if (!updateAppDEActionId) {
|
|
33166
33880
|
throw new RuntimeModelError68(nodeModel, "\u6811\u8282\u70B9\u6CA1\u6709\u914D\u7F6E\u66F4\u65B0\u5B9E\u4F53\u884C\u4E3A");
|
|
@@ -33320,10 +34034,10 @@ var TreeGridExController = class extends TreeController {
|
|
|
33320
34034
|
(item) => item.showRowEdit
|
|
33321
34035
|
);
|
|
33322
34036
|
if (editingRow) {
|
|
33323
|
-
throw new
|
|
34037
|
+
throw new RuntimeError63("\u540C\u65F6\u53EA\u80FD\u6709\u4E00\u884C\u5F00\u542F\u884C\u7F16\u8F91");
|
|
33324
34038
|
}
|
|
33325
34039
|
if (row.data._deData.srfuf === 1 /* UPDATE */) {
|
|
33326
|
-
row.cacheData =
|
|
34040
|
+
row.cacheData = clone31(row.data);
|
|
33327
34041
|
const defaultVal = this.calcDefaultValue(row.data, false);
|
|
33328
34042
|
Object.assign(row.data, defaultVal);
|
|
33329
34043
|
}
|
|
@@ -33433,10 +34147,10 @@ var TreeGridExColumnController = class {
|
|
|
33433
34147
|
// src/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-node-column.controller.ts
|
|
33434
34148
|
import {
|
|
33435
34149
|
DataTypes as DataTypes5,
|
|
33436
|
-
RuntimeError as
|
|
34150
|
+
RuntimeError as RuntimeError64,
|
|
33437
34151
|
RuntimeModelError as RuntimeModelError69
|
|
33438
34152
|
} from "@ibiz-template/core";
|
|
33439
|
-
import { clone as
|
|
34153
|
+
import { clone as clone32 } from "ramda";
|
|
33440
34154
|
import dayjs7 from "dayjs";
|
|
33441
34155
|
var TreeGridExNodeColumnController = class {
|
|
33442
34156
|
/**
|
|
@@ -33634,7 +34348,7 @@ var TreeGridExNodeColumnController = class {
|
|
|
33634
34348
|
const valueItem = this.nodeColumn.linkValueItem || "srfkey";
|
|
33635
34349
|
const value = row.data[valueItem];
|
|
33636
34350
|
if (value == null) {
|
|
33637
|
-
throw new
|
|
34351
|
+
throw new RuntimeError64("\u672A\u5728\u884C\u6570\u636E\u4E2D\u53D6\u5230 ".concat(valueItem, " \u7684\u503C"));
|
|
33638
34352
|
}
|
|
33639
34353
|
const { linkAppViewId } = this.nodeColumn;
|
|
33640
34354
|
if (!linkAppViewId) {
|
|
@@ -33645,7 +34359,7 @@ var TreeGridExNodeColumnController = class {
|
|
|
33645
34359
|
srfkey: value,
|
|
33646
34360
|
...wfContext
|
|
33647
34361
|
});
|
|
33648
|
-
const tempParams =
|
|
34362
|
+
const tempParams = clone32(this.params);
|
|
33649
34363
|
const { userParam } = this.nodeColumn;
|
|
33650
34364
|
if (userParam) {
|
|
33651
34365
|
const { navigateContexts, navigateParams } = parseUserParams(userParam);
|
|
@@ -34047,7 +34761,7 @@ var TreeGridService = class extends GridService {
|
|
|
34047
34761
|
};
|
|
34048
34762
|
|
|
34049
34763
|
// src/controller/control/medit-view-panel/medit-view-panel.controller.ts
|
|
34050
|
-
import { RuntimeError as
|
|
34764
|
+
import { RuntimeError as RuntimeError65 } from "@ibiz-template/core";
|
|
34051
34765
|
import { createUUID as createUUID14 } from "qx-util";
|
|
34052
34766
|
|
|
34053
34767
|
// src/controller/control/medit-view-panel/medit-view-panel.service.ts
|
|
@@ -34263,7 +34977,7 @@ var MEditViewPanelController = class extends MDControlController {
|
|
|
34263
34977
|
(item) => item.id === id
|
|
34264
34978
|
);
|
|
34265
34979
|
if (panelUiItemIndex < 0) {
|
|
34266
|
-
throw new
|
|
34980
|
+
throw new RuntimeError65("\u7F16\u8F91\u89C6\u56FE\u9762\u677F\u90E8\u4EF6UI\u6570\u636E\u4E0D\u5B58\u5728");
|
|
34267
34981
|
}
|
|
34268
34982
|
const tempUiItem = this.state.panelUiItems[panelUiItemIndex];
|
|
34269
34983
|
if (tempUiItem.id.startsWith("mockId:")) {
|
|
@@ -34773,7 +35487,7 @@ var ReportPanelController = class extends ControlController {
|
|
|
34773
35487
|
// src/controller/control/gantt/gantt.controller.ts
|
|
34774
35488
|
import {
|
|
34775
35489
|
awaitTimeout as awaitTimeout4,
|
|
34776
|
-
RuntimeError as
|
|
35490
|
+
RuntimeError as RuntimeError66,
|
|
34777
35491
|
RuntimeModelError as RuntimeModelError71
|
|
34778
35492
|
} from "@ibiz-template/core";
|
|
34779
35493
|
|
|
@@ -35217,11 +35931,11 @@ var GanttController = class extends TreeGridExController {
|
|
|
35217
35931
|
*/
|
|
35218
35932
|
async modifyNodeTime(nodeData, { begin, end }) {
|
|
35219
35933
|
if (nodeData._nodeType !== "DE") {
|
|
35220
|
-
throw new
|
|
35934
|
+
throw new RuntimeError66("\u4E0D\u662F\u5B9E\u4F53\u7518\u7279\u8282\u70B9\u6570\u636E");
|
|
35221
35935
|
}
|
|
35222
35936
|
const rowState = this.getRowState(nodeData._id);
|
|
35223
35937
|
if (!rowState) {
|
|
35224
|
-
throw new
|
|
35938
|
+
throw new RuntimeError66("\u884C\u6570\u636E\u4E0D\u5B58\u5728");
|
|
35225
35939
|
}
|
|
35226
35940
|
const { beginDataItemName, endDataItemName } = this.model;
|
|
35227
35941
|
this.setRowValue(rowState, beginDataItemName, begin);
|
|
@@ -35241,11 +35955,11 @@ var GanttController = class extends TreeGridExController {
|
|
|
35241
35955
|
return;
|
|
35242
35956
|
}
|
|
35243
35957
|
if (nodeData._nodeType !== "DE") {
|
|
35244
|
-
throw new
|
|
35958
|
+
throw new RuntimeError66("\u975E\u5B9E\u4F53\u8282\u70B9\u6570\u636E\u4E0D\u80FD\u4FDD\u5B58");
|
|
35245
35959
|
}
|
|
35246
35960
|
const rowState = this.state.rows[nodeData._uuid];
|
|
35247
35961
|
if (!rowState) {
|
|
35248
|
-
throw new
|
|
35962
|
+
throw new RuntimeError66("\u884C\u6570\u636E\u4E0D\u5B58\u5728");
|
|
35249
35963
|
}
|
|
35250
35964
|
if (!rowState.modified) {
|
|
35251
35965
|
ibiz.log.debug("\u503C\u6CA1\u6709\u53D1\u751F\u6539\u53D8");
|
|
@@ -35293,7 +36007,7 @@ var GanttController = class extends TreeGridExController {
|
|
|
35293
36007
|
async remove(args) {
|
|
35294
36008
|
const { context, params, data } = this.handlerAbilityParams(args);
|
|
35295
36009
|
if (!(data == null ? void 0 : data.length)) {
|
|
35296
|
-
throw new
|
|
36010
|
+
throw new RuntimeError66("\u672A\u9009\u4E2D\u6570\u636E");
|
|
35297
36011
|
}
|
|
35298
36012
|
if ((args == null ? void 0 : args.silent) !== true) {
|
|
35299
36013
|
const del = await ibiz.confirm.error({
|
|
@@ -35402,7 +36116,7 @@ var GanttController = class extends TreeGridExController {
|
|
|
35402
36116
|
(item) => item.showRowEdit
|
|
35403
36117
|
);
|
|
35404
36118
|
if (editingRow) {
|
|
35405
|
-
throw new
|
|
36119
|
+
throw new RuntimeError66("\u8BF7\u5148\u5B8C\u6210\u5F53\u524D\u884C\u7F16\u8F91\u4E2D\u7684\u884C\u7684\u64CD\u4F5C");
|
|
35406
36120
|
}
|
|
35407
36121
|
}
|
|
35408
36122
|
let parentModel;
|
|
@@ -35492,16 +36206,16 @@ var HubController = class {
|
|
|
35492
36206
|
};
|
|
35493
36207
|
|
|
35494
36208
|
// src/controller/notification/notice.controller.ts
|
|
35495
|
-
import { QXEvent as
|
|
36209
|
+
import { QXEvent as QXEvent10 } from "qx-util";
|
|
35496
36210
|
|
|
35497
36211
|
// src/controller/notification/async-action.controller.ts
|
|
35498
|
-
import { QXEvent as
|
|
35499
|
-
import { clone as
|
|
35500
|
-
import { isNil as
|
|
36212
|
+
import { QXEvent as QXEvent8 } from "qx-util";
|
|
36213
|
+
import { clone as clone33 } from "ramda";
|
|
36214
|
+
import { isNil as isNil33, isNumber as isNumber2 } from "lodash-es";
|
|
35501
36215
|
import dayjs8 from "dayjs";
|
|
35502
36216
|
var AsyncActionController = class {
|
|
35503
36217
|
constructor() {
|
|
35504
|
-
this.evt = new
|
|
36218
|
+
this.evt = new QXEvent8();
|
|
35505
36219
|
this.total = 0;
|
|
35506
36220
|
this.actions = [];
|
|
35507
36221
|
/**
|
|
@@ -35572,14 +36286,14 @@ var AsyncActionController = class {
|
|
|
35572
36286
|
data[key] = dayjs8(data[key]).format("YYYY-MM-DD HH:mm:ss");
|
|
35573
36287
|
}
|
|
35574
36288
|
});
|
|
35575
|
-
if (!
|
|
36289
|
+
if (!isNil33(data.actionresult)) {
|
|
35576
36290
|
try {
|
|
35577
36291
|
const json = JSON.parse(data.actionresult);
|
|
35578
36292
|
data.actionresult = json;
|
|
35579
36293
|
} catch (error) {
|
|
35580
36294
|
}
|
|
35581
36295
|
}
|
|
35582
|
-
if (!
|
|
36296
|
+
if (!isNil33(data.completionrate)) {
|
|
35583
36297
|
const num = Number(data.completionrate);
|
|
35584
36298
|
if (Number.isNaN(num)) {
|
|
35585
36299
|
data.completionrate = void 0;
|
|
@@ -35604,7 +36318,7 @@ var AsyncActionController = class {
|
|
|
35604
36318
|
} else {
|
|
35605
36319
|
this.noticeResult(action);
|
|
35606
36320
|
}
|
|
35607
|
-
this.evt.emit("add",
|
|
36321
|
+
this.evt.emit("add", clone33(action));
|
|
35608
36322
|
this.evt.emit("dataChange");
|
|
35609
36323
|
}
|
|
35610
36324
|
/**
|
|
@@ -35626,7 +36340,7 @@ var AsyncActionController = class {
|
|
|
35626
36340
|
}
|
|
35627
36341
|
this.noticeResult(action);
|
|
35628
36342
|
}
|
|
35629
|
-
this.evt.emit("change",
|
|
36343
|
+
this.evt.emit("change", clone33(action));
|
|
35630
36344
|
this.evt.emit("dataChange");
|
|
35631
36345
|
}
|
|
35632
36346
|
noticeResult(action) {
|
|
@@ -35635,7 +36349,7 @@ var AsyncActionController = class {
|
|
|
35635
36349
|
};
|
|
35636
36350
|
|
|
35637
36351
|
// src/controller/notification/internal-message.controller.ts
|
|
35638
|
-
import { QXEvent as
|
|
36352
|
+
import { QXEvent as QXEvent9 } from "qx-util";
|
|
35639
36353
|
function isHTML(str) {
|
|
35640
36354
|
if (str === "")
|
|
35641
36355
|
return false;
|
|
@@ -35644,7 +36358,7 @@ function isHTML(str) {
|
|
|
35644
36358
|
}
|
|
35645
36359
|
var InternalMessageController = class {
|
|
35646
36360
|
constructor() {
|
|
35647
|
-
this.evt = new
|
|
36361
|
+
this.evt = new QXEvent9();
|
|
35648
36362
|
this.total = 0;
|
|
35649
36363
|
this.unreadCount = 0;
|
|
35650
36364
|
/**
|
|
@@ -35804,7 +36518,7 @@ var InternalMessageController = class {
|
|
|
35804
36518
|
// src/controller/notification/notice.controller.ts
|
|
35805
36519
|
var NoticeController = class {
|
|
35806
36520
|
constructor() {
|
|
35807
|
-
this.evt = new
|
|
36521
|
+
this.evt = new QXEvent10();
|
|
35808
36522
|
this.total = 0;
|
|
35809
36523
|
this.asyncAction = new AsyncActionController();
|
|
35810
36524
|
this.internalMessage = new InternalMessageController();
|
|
@@ -36022,7 +36736,7 @@ var AppHub = class {
|
|
|
36022
36736
|
this.registerAppView(appView);
|
|
36023
36737
|
return appView;
|
|
36024
36738
|
}
|
|
36025
|
-
throw new
|
|
36739
|
+
throw new RuntimeError67("\u89C6\u56FE[".concat(id, "]\u4E0D\u5B58\u5728"));
|
|
36026
36740
|
}
|
|
36027
36741
|
/**
|
|
36028
36742
|
* 根据视图模型路径,加参数重新计算视图模型
|
|
@@ -36043,7 +36757,7 @@ var AppHub = class {
|
|
|
36043
36757
|
);
|
|
36044
36758
|
return model;
|
|
36045
36759
|
}
|
|
36046
|
-
throw new
|
|
36760
|
+
throw new RuntimeError67("\u89C6\u56FE[".concat(modelPath, "]\u4E0D\u5B58\u5728"));
|
|
36047
36761
|
}
|
|
36048
36762
|
/**
|
|
36049
36763
|
* 根据应用实体代码名称查找应用视图
|
|
@@ -36074,7 +36788,7 @@ var AppHub = class {
|
|
|
36074
36788
|
this.registerAppDataEntity(entity, appId2);
|
|
36075
36789
|
return entity;
|
|
36076
36790
|
}
|
|
36077
|
-
throw new
|
|
36791
|
+
throw new RuntimeError67("\u672A\u627E\u5230\u5E94\u7528\u5B9E\u4F53[".concat(id, "]"));
|
|
36078
36792
|
}
|
|
36079
36793
|
/**
|
|
36080
36794
|
* 新建 hub 应用
|
|
@@ -36089,7 +36803,7 @@ var AppHub = class {
|
|
|
36089
36803
|
return this.appMap.get(id);
|
|
36090
36804
|
}
|
|
36091
36805
|
if (!this.modelLoaderProvider) {
|
|
36092
|
-
throw new
|
|
36806
|
+
throw new RuntimeError67("\u8BF7\u5148\u6CE8\u518C\u6A21\u578B\u52A0\u8F7D\u9002\u914D\u5668");
|
|
36093
36807
|
}
|
|
36094
36808
|
const appModel = await this.modelLoaderProvider.getApp(id);
|
|
36095
36809
|
const app = new Application(appModel);
|
|
@@ -36168,6 +36882,17 @@ var AppHub = class {
|
|
|
36168
36882
|
this.appMap.clear();
|
|
36169
36883
|
this.configCache = void 0;
|
|
36170
36884
|
}
|
|
36885
|
+
/**
|
|
36886
|
+
* 销毁基座
|
|
36887
|
+
*
|
|
36888
|
+
* @author tony001
|
|
36889
|
+
* @date 2024-04-10 17:04:38
|
|
36890
|
+
*/
|
|
36891
|
+
destroy() {
|
|
36892
|
+
ibiz.hub.getAllApps().forEach((app) => {
|
|
36893
|
+
app.destroy();
|
|
36894
|
+
});
|
|
36895
|
+
}
|
|
36171
36896
|
};
|
|
36172
36897
|
|
|
36173
36898
|
// src/engine/engine-factory.ts
|
|
@@ -36220,7 +36945,7 @@ var EngineFactory = class {
|
|
|
36220
36945
|
};
|
|
36221
36946
|
|
|
36222
36947
|
// src/engine/view-base.engine.ts
|
|
36223
|
-
import { RuntimeError as
|
|
36948
|
+
import { RuntimeError as RuntimeError68, findRecursiveChild as findRecursiveChild3 } from "@ibiz-template/core";
|
|
36224
36949
|
var ViewEngineBase = class {
|
|
36225
36950
|
/**
|
|
36226
36951
|
* 构造函数在视图控制器的构造函数逻辑内部执行
|
|
@@ -36493,7 +37218,7 @@ var ViewEngineBase = class {
|
|
|
36493
37218
|
const { appDataEntityId } = this.view.model;
|
|
36494
37219
|
const { evt, context, params } = this.view;
|
|
36495
37220
|
if (!appDataEntityId) {
|
|
36496
|
-
throw new
|
|
37221
|
+
throw new RuntimeError68("\u8BE5\u89C6\u56FE\u6CA1\u6709\u5B9E\u4F53\uFF0C\u65E0\u6CD5\u52A0\u8F7D\u5B9E\u4F53\u6570\u636E");
|
|
36497
37222
|
}
|
|
36498
37223
|
const app = ibiz.hub.getApp(context.srfappid);
|
|
36499
37224
|
const res = await app.deService.exec(
|
|
@@ -36515,7 +37240,7 @@ var ViewEngineBase = class {
|
|
|
36515
37240
|
|
|
36516
37241
|
// src/engine/md-view.engine.ts
|
|
36517
37242
|
import { RuntimeModelError as RuntimeModelError72 } from "@ibiz-template/core";
|
|
36518
|
-
import { clone as
|
|
37243
|
+
import { clone as clone34 } from "ramda";
|
|
36519
37244
|
var MDViewEngine = class extends ViewEngineBase {
|
|
36520
37245
|
/**
|
|
36521
37246
|
* 多数据部件名称
|
|
@@ -36796,7 +37521,7 @@ var MDViewEngine = class extends ViewEngineBase {
|
|
|
36796
37521
|
if (!openAppViewLogic) {
|
|
36797
37522
|
throw new RuntimeModelError72(this.view.model, "\u7F3A\u5C11newdata\u7684\u89C6\u56FE\u903B\u8F91");
|
|
36798
37523
|
}
|
|
36799
|
-
const params =
|
|
37524
|
+
const params = clone34(this.view.params);
|
|
36800
37525
|
if (copyMode) {
|
|
36801
37526
|
params.srfcopymode = copyMode;
|
|
36802
37527
|
}
|
|
@@ -36972,6 +37697,7 @@ var MDViewEngine = class extends ViewEngineBase {
|
|
|
36972
37697
|
};
|
|
36973
37698
|
|
|
36974
37699
|
// src/global/global-util/global-util.ts
|
|
37700
|
+
import { RuntimeError as RuntimeError69 } from "@ibiz-template/core";
|
|
36975
37701
|
var sourceTitle = document.title;
|
|
36976
37702
|
var GlobalUtil = class {
|
|
36977
37703
|
constructor() {
|
|
@@ -37097,6 +37823,24 @@ var GlobalUtil = class {
|
|
|
37097
37823
|
document.title = tabTitle;
|
|
37098
37824
|
}
|
|
37099
37825
|
}
|
|
37826
|
+
/**
|
|
37827
|
+
* 获取应用全局变量
|
|
37828
|
+
* @author lxm
|
|
37829
|
+
* @date 2024-04-01 11:24:58
|
|
37830
|
+
* @return {*} {IParams}
|
|
37831
|
+
*/
|
|
37832
|
+
getGlobalParam() {
|
|
37833
|
+
throw new RuntimeError69("\u83B7\u53D6\u5E94\u7528\u5168\u5C40\u53D8\u91CF\u6CA1\u6709\u5B9E\u73B0");
|
|
37834
|
+
}
|
|
37835
|
+
/**
|
|
37836
|
+
* 获取视图路由参数变量,数组类型,基于路由解析出来的,每一个对象里面都有context和params
|
|
37837
|
+
* @author lxm
|
|
37838
|
+
* @date 2024-04-01 11:24:58
|
|
37839
|
+
* @return {*} {IParams}
|
|
37840
|
+
*/
|
|
37841
|
+
getRouterParams() {
|
|
37842
|
+
throw new RuntimeError69("\u83B7\u53D6\u89C6\u56FE\u8DEF\u7531\u53C2\u6570\u53D8\u91CF\u6CA1\u6709\u5B9E\u73B0");
|
|
37843
|
+
}
|
|
37100
37844
|
};
|
|
37101
37845
|
|
|
37102
37846
|
// src/logic-scheduler/executor/logic-executor.ts
|
|
@@ -37709,7 +38453,7 @@ import {
|
|
|
37709
38453
|
RuntimeError as RuntimeError74,
|
|
37710
38454
|
RuntimeModelError as RuntimeModelError75
|
|
37711
38455
|
} from "@ibiz-template/core";
|
|
37712
|
-
import { notNilEmpty as
|
|
38456
|
+
import { notNilEmpty as notNilEmpty10 } from "qx-util";
|
|
37713
38457
|
var AppUILogicExecutor = class extends LogicExecutor {
|
|
37714
38458
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
37715
38459
|
async execute(executeParams) {
|
|
@@ -37773,7 +38517,7 @@ var AppUILogicExecutor = class extends LogicExecutor {
|
|
|
37773
38517
|
);
|
|
37774
38518
|
let tempParams = {};
|
|
37775
38519
|
const navParams = openViewRef.navigateParams;
|
|
37776
|
-
if (
|
|
38520
|
+
if (notNilEmpty10(navParams)) {
|
|
37777
38521
|
tempParams = convertNavData(navParams, data[0], params, context);
|
|
37778
38522
|
}
|
|
37779
38523
|
return ibiz.commands.execute(
|
|
@@ -37861,12 +38605,12 @@ var AppUILogicExecutor = class extends LogicExecutor {
|
|
|
37861
38605
|
let tempParams = {};
|
|
37862
38606
|
const _data = (data == null ? void 0 : data[0]) || {};
|
|
37863
38607
|
const navContexts = newViewRef.navigateContexts;
|
|
37864
|
-
if (
|
|
38608
|
+
if (notNilEmpty10(navContexts)) {
|
|
37865
38609
|
tempContext = convertNavData(navContexts, _data, params, context);
|
|
37866
38610
|
}
|
|
37867
38611
|
tempContext = Object.assign(context, tempContext);
|
|
37868
38612
|
const navParams = newViewRef.navigateParams;
|
|
37869
|
-
if (
|
|
38613
|
+
if (notNilEmpty10(navParams)) {
|
|
37870
38614
|
tempParams = convertNavData(navParams, _data, params, context);
|
|
37871
38615
|
}
|
|
37872
38616
|
if (params.srfcopymode) {
|
|
@@ -38366,6 +39110,7 @@ export {
|
|
|
38366
39110
|
HubController,
|
|
38367
39111
|
INTERNAL_MESSAGE_PROVIDER_PREFIX,
|
|
38368
39112
|
InternalMessageService,
|
|
39113
|
+
ItemsValueOPs,
|
|
38369
39114
|
KanbanController,
|
|
38370
39115
|
KanbanService,
|
|
38371
39116
|
LayoutPanelUtil,
|
|
@@ -38424,6 +39169,8 @@ export {
|
|
|
38424
39169
|
SearchBarController,
|
|
38425
39170
|
SearchBarFilterController,
|
|
38426
39171
|
SearchBarFilterItemsController,
|
|
39172
|
+
SearchBarFilterSimpleItemsController,
|
|
39173
|
+
SearchCondEx2filterNode,
|
|
38427
39174
|
SearchFilter,
|
|
38428
39175
|
SearchFormController,
|
|
38429
39176
|
SearchFormService,
|
|
@@ -38491,6 +39238,7 @@ export {
|
|
|
38491
39238
|
calcMainStateOPPrivsStrs,
|
|
38492
39239
|
calcNavParams,
|
|
38493
39240
|
calcResPath,
|
|
39241
|
+
calcSearchCondExs,
|
|
38494
39242
|
calcSearchConds,
|
|
38495
39243
|
compare,
|
|
38496
39244
|
compareNumber,
|
|
@@ -38506,6 +39254,8 @@ export {
|
|
|
38506
39254
|
exportData,
|
|
38507
39255
|
fieldValueToBoolean,
|
|
38508
39256
|
filterFieldLogics,
|
|
39257
|
+
filterNode2SearchCond,
|
|
39258
|
+
filterNode2SearchCondEx,
|
|
38509
39259
|
filterValueRules,
|
|
38510
39260
|
findAppDEMethod,
|
|
38511
39261
|
findChildFormDetails,
|
|
@@ -38513,7 +39263,6 @@ export {
|
|
|
38513
39263
|
findEditItem,
|
|
38514
39264
|
findFieldById,
|
|
38515
39265
|
findModelChild,
|
|
38516
|
-
formatFilters,
|
|
38517
39266
|
formatMultiData,
|
|
38518
39267
|
generateEditorRules,
|
|
38519
39268
|
generateRules,
|
|
@@ -38566,10 +39315,12 @@ export {
|
|
|
38566
39315
|
installCommand,
|
|
38567
39316
|
isDataContainer,
|
|
38568
39317
|
isFormDataContainer,
|
|
39318
|
+
isHiddenFilter,
|
|
39319
|
+
isSimpleItems,
|
|
38569
39320
|
isValueChange,
|
|
38570
39321
|
matchMainState,
|
|
38571
39322
|
openRedirectView,
|
|
38572
|
-
|
|
39323
|
+
parseSubFieldInfo,
|
|
38573
39324
|
parseUserParams,
|
|
38574
39325
|
parseViewProtocol,
|
|
38575
39326
|
presetAppCounterProvider,
|
|
@@ -38595,6 +39346,7 @@ export {
|
|
|
38595
39346
|
strContain,
|
|
38596
39347
|
testCond,
|
|
38597
39348
|
toLocalOpenWFRedirectView,
|
|
39349
|
+
validateFilterNodes,
|
|
38598
39350
|
verifyDeRules,
|
|
38599
39351
|
verifyFormGroupLogic,
|
|
38600
39352
|
verifyPanelGroupLogic
|