@ibiz-template/runtime 0.6.18 → 0.7.1
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 +1033 -356
- 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/command/app/app-func/app-func.d.ts.map +1 -1
- package/out/command/app/app-func/app-func.js +1 -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/form/form.controller.d.ts.map +1 -1
- package/out/controller/control/form/form/form.controller.js +4 -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 +5 -0
- package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
- package/out/controller/control/grid/grid/grid.controller.js +13 -10
- 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/controller/control/tab-exp-panel/tab-exp-panel.controller.d.ts.map +1 -1
- package/out/controller/control/tab-exp-panel/tab-exp-panel.controller.js +1 -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/event/argument/index.d.ts +1 -0
- package/out/interface/controller/event/argument/index.d.ts.map +1 -1
- package/out/interface/controller/event/argument/tab-change.event.d.ts +13 -0
- package/out/interface/controller/event/argument/tab-change.event.d.ts.map +1 -0
- package/out/interface/controller/event/control/i-tab-exp-panel.event.d.ts +15 -1
- package/out/interface/controller/event/control/i-tab-exp-panel.event.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-filter-node.js +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.js +1 -1
- 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/package.json +2 -2
- 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 → event/argument/tab-change.event.js} +0 -0
|
@@ -165,4 +165,43 @@ export class CodeListService {
|
|
|
165
165
|
// todo 预定义代码表
|
|
166
166
|
return [];
|
|
167
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* 获取代码表实例对象(动态代码表返回具体实例,静态代码表返回undefined)
|
|
170
|
+
*
|
|
171
|
+
* @param tag 代码表标识
|
|
172
|
+
* @returns 动态代码表实例|undefined
|
|
173
|
+
*/
|
|
174
|
+
async getCodeListInstance(tag) {
|
|
175
|
+
let codeListInstance;
|
|
176
|
+
const codeList = this.allCodeLists.get(tag);
|
|
177
|
+
if (!codeList) {
|
|
178
|
+
throw new RuntimeError(`找不到${tag}代码表`);
|
|
179
|
+
}
|
|
180
|
+
if (codeList.codeListType === 'DYNAMIC') {
|
|
181
|
+
const codeName = codeList.codeName;
|
|
182
|
+
if (this.cache.has(codeName)) {
|
|
183
|
+
codeListInstance = this.cache.get(codeName);
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
codeListInstance = new DynamicCodeListCache(codeList);
|
|
187
|
+
this.cache.set(codeName, codeListInstance);
|
|
188
|
+
await codeListInstance.init();
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
return codeListInstance;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* 销毁(清除动态代码表监听)
|
|
195
|
+
*
|
|
196
|
+
* @author tony001
|
|
197
|
+
* @return {void}
|
|
198
|
+
*/
|
|
199
|
+
destroy() {
|
|
200
|
+
const cacheList = Array.from(this.cache.values());
|
|
201
|
+
cacheList.forEach(item => {
|
|
202
|
+
if (item instanceof DynamicCodeListCache) {
|
|
203
|
+
item.destroy();
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
}
|
|
168
207
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"md-control.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/control/md-control.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgB,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAAa,gBAAgB,CAC3B,CAAC,SAAS,cAAc,GAAG,cAAc,CACzC,SAAQ,cAAc,CAAC,CAAC,CAAC;IACzB;;;;;;;;OAQG;IACG,KAAK,CACT,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC;IAQtC;;;;;;;;OAQG;IACG,GAAG,CACP,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAOpC;;;;;;;;OAQG;IACG,QAAQ,CACZ,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAQpC;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC;IAOzB;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAQpC;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAQpC;;;;;;;;OAQG;IACG,WAAW,CACf,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,SAAS,EAAE,GAChB,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC;IAYtC;;;;;;;;;OASG;IACG,UAAU,CACd,WAAW,EAAE,aAAa,EAC1B,QAAQ,EAAE,OAAO,EACjB,OAAO,GAAE,OAAY,GACpB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAU/B;;;;;;;OAOG;IACH,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa;
|
|
1
|
+
{"version":3,"file":"md-control.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/control/md-control.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgB,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAAa,gBAAgB,CAC3B,CAAC,SAAS,cAAc,GAAG,cAAc,CACzC,SAAQ,cAAc,CAAC,CAAC,CAAC;IACzB;;;;;;;;OAQG;IACG,KAAK,CACT,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC;IAQtC;;;;;;;;OAQG;IACG,GAAG,CACP,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAOpC;;;;;;;;OAQG;IACG,QAAQ,CACZ,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAQpC;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC;IAOzB;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAQpC;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAQpC;;;;;;;;OAQG;IACG,WAAW,CACf,OAAO,EAAE,QAAQ,EACjB,IAAI,EAAE,SAAS,EAAE,GAChB,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC;IAYtC;;;;;;;;;OASG;IACG,UAAU,CACd,WAAW,EAAE,aAAa,EAC1B,QAAQ,EAAE,OAAO,EACjB,OAAO,GAAE,OAAY,GACpB,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAU/B;;;;;;;OAOG;IACH,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa;CA2BvD"}
|
|
@@ -152,6 +152,9 @@ export class MDControlService extends ControlService {
|
|
|
152
152
|
if (res.headers['x-total']) {
|
|
153
153
|
res.total = Number(res.headers['x-total']);
|
|
154
154
|
}
|
|
155
|
+
if (res.headers['x-total-pages']) {
|
|
156
|
+
res.totalPages = Number(res.headers['x-total-pages']);
|
|
157
|
+
}
|
|
155
158
|
}
|
|
156
159
|
if (res.ok) {
|
|
157
160
|
if (isArray(res.data)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"counter.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/counter/counter.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAa;IAEjE;;;;;;;OAOG;WACU,UAAU,CACrB,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"counter.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/counter/counter.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAa;IAEjE;;;;;;;OAOG;WACU,UAAU,CACrB,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,UAAU,CAAC;IAoBtB;;;;;;;;;;OAUG;WACU,eAAe,CAC1B,KAAK,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,UAAU,CAAC;CAOvB"}
|
|
@@ -19,7 +19,11 @@ export class CounterService {
|
|
|
19
19
|
* @return {*} {Promise<AppCounter>}
|
|
20
20
|
*/
|
|
21
21
|
static async getCounter(model, context, params) {
|
|
22
|
-
|
|
22
|
+
let id = model.id;
|
|
23
|
+
// 可由外部传入自定义标识,应用同时存在子关系的A\B单数据页面,计数器对象应该不一样
|
|
24
|
+
if (params && params.customId) {
|
|
25
|
+
id = params.customId;
|
|
26
|
+
}
|
|
23
27
|
if (this.counterMap.has(id)) {
|
|
24
28
|
const counter = this.counterMap.get(id);
|
|
25
29
|
if (counter.isDestroyed === false) {
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { IAppCodeList } from '@ibiz/model-core';
|
|
2
|
+
import { IPortalMessage } from '@ibiz-template/core';
|
|
3
|
+
import { QXEvent } from 'qx-util';
|
|
2
4
|
import { Application } from '../../../application';
|
|
3
5
|
import { CodeListItem } from '../../../interface';
|
|
4
6
|
/**
|
|
@@ -70,6 +72,34 @@ export declare class DynamicCodeListCache {
|
|
|
70
72
|
* @type {boolean}
|
|
71
73
|
*/
|
|
72
74
|
protected isPredefined: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* 应用上下文
|
|
77
|
+
*
|
|
78
|
+
* @author tony001
|
|
79
|
+
* @date 2024-04-10 15:04:25
|
|
80
|
+
* @protected
|
|
81
|
+
* @type {IContext}
|
|
82
|
+
*/
|
|
83
|
+
protected context: IContext;
|
|
84
|
+
/**
|
|
85
|
+
* 视图参数
|
|
86
|
+
*
|
|
87
|
+
* @author tony001
|
|
88
|
+
* @date 2024-04-10 15:04:39
|
|
89
|
+
* @protected
|
|
90
|
+
* @type {IParams}
|
|
91
|
+
*/
|
|
92
|
+
protected params: IParams;
|
|
93
|
+
/**
|
|
94
|
+
* 事件对象
|
|
95
|
+
*
|
|
96
|
+
* @author tony001
|
|
97
|
+
* @date 2024-04-10 17:04:00
|
|
98
|
+
* @protected
|
|
99
|
+
*/
|
|
100
|
+
protected evt: QXEvent<{
|
|
101
|
+
change: (data: CodeListItem[]) => void;
|
|
102
|
+
}>;
|
|
73
103
|
/**
|
|
74
104
|
* 初始化promise
|
|
75
105
|
*
|
|
@@ -79,6 +109,16 @@ export declare class DynamicCodeListCache {
|
|
|
79
109
|
*/
|
|
80
110
|
protected initPromise?: Promise<void>;
|
|
81
111
|
constructor(codeList: IAppCodeList);
|
|
112
|
+
/**
|
|
113
|
+
* 设置上下文以及查询参数
|
|
114
|
+
*
|
|
115
|
+
* @author tony001
|
|
116
|
+
* @date 2024-04-10 15:04:04
|
|
117
|
+
* @protected
|
|
118
|
+
* @param {IContext} [context]
|
|
119
|
+
* @param {IParams} [params]
|
|
120
|
+
*/
|
|
121
|
+
protected setParams(context?: IContext, params?: IParams): void;
|
|
82
122
|
/**
|
|
83
123
|
* 初始化
|
|
84
124
|
*
|
|
@@ -125,6 +165,47 @@ export declare class DynamicCodeListCache {
|
|
|
125
165
|
* @returns {*} {Promise<IData[]>}
|
|
126
166
|
*/
|
|
127
167
|
get(context: IContext, params?: IParams): Promise<CodeListItem[]>;
|
|
168
|
+
/**
|
|
169
|
+
* 接受代码表实体数据变更,刷新代码表
|
|
170
|
+
*
|
|
171
|
+
* @author tony001
|
|
172
|
+
* @date 2024-04-10 15:04:42
|
|
173
|
+
* @protected
|
|
174
|
+
* @param {IPortalMessage} msg
|
|
175
|
+
*/
|
|
176
|
+
protected codelistChange(msg: IPortalMessage): void;
|
|
177
|
+
/**
|
|
178
|
+
* 刷新代码表数据
|
|
179
|
+
*
|
|
180
|
+
* @author tony001
|
|
181
|
+
* @date 2024-04-10 17:04:20
|
|
182
|
+
* @return {*} {Promise<void>}
|
|
183
|
+
*/
|
|
184
|
+
refresh(): Promise<void>;
|
|
185
|
+
/**
|
|
186
|
+
* 代码表数据变更事件监听
|
|
187
|
+
*
|
|
188
|
+
* @author tony001
|
|
189
|
+
* @date 2024-04-10 17:04:52
|
|
190
|
+
* @param {(data: CodeListItem[]) => void} fn
|
|
191
|
+
* @param {boolean} [immediate=true] 当有数据时,立即触发一次回调
|
|
192
|
+
*/
|
|
193
|
+
onChange(fn: (data: CodeListItem[]) => void, immediate?: boolean): void;
|
|
194
|
+
/**
|
|
195
|
+
* 取消代码表数据变更监听
|
|
196
|
+
*
|
|
197
|
+
* @author tony001
|
|
198
|
+
* @date 2024-04-10 17:04:57
|
|
199
|
+
* @param {(data: CodeListItem[]) => void} fn
|
|
200
|
+
*/
|
|
201
|
+
offChange(fn: (data: CodeListItem[]) => void): void;
|
|
202
|
+
/**
|
|
203
|
+
* 销毁(取消数据变更监听)
|
|
204
|
+
*
|
|
205
|
+
* @author tony001
|
|
206
|
+
* @date 2024-04-10 15:04:11
|
|
207
|
+
*/
|
|
208
|
+
destroy(): void;
|
|
128
209
|
}
|
|
129
210
|
export {};
|
|
130
211
|
//# sourceMappingURL=dynamic-code-list.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-code-list.d.ts","sourceRoot":"","sources":["../../../../src/service/utils/dynamic-code-list/dynamic-code-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"dynamic-code-list.d.ts","sourceRoot":"","sources":["../../../../src/service/utils/dynamic-code-list/dynamic-code-list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAEL,cAAc,EAGf,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,OAAO,EAAe,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAe,MAAM,oBAAoB,CAAC;AAK/D;;;;;;GAMG;AACH,KAAK,SAAS,GAAG;IACf;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IAEvB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CACnC,CAAC;AAEF;;;;;;;GAOG;AACH,qBAAa,oBAAoB;IAC/B,SAAS,CAAC,GAAG,EAAG,WAAW,CAAC;IAE5B;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC;IAEjC;;;;;;OAMG;IACH,SAAS,CAAC,KAAK,yBAAgC;IAE/C;;;;;;;OAOG;IACH,SAAS,CAAC,YAAY,EAAE,OAAO,CAAS;IAExC;;;;;;;OAOG;IACH,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAwB;IAEnD;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAM;IAE/B;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC;QAAE,MAAM,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,IAAI,CAAA;KAAE,CAAC,CAClD;IAEhB;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE1B,QAAQ,EAAE,YAAY;IAUlC;;;;;;;;OAQG;IACH,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAS/D;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB3B;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,YAAY;IAwEhD,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,GAAG,YAAY;IAetD,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE;IAS9C;;;;;;;;;OASG;cACa,IAAI,CAClB,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC;IAwF1B;;;;OAIG;IACH,SAAS,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,EAAE,GAAG,SAAS;IAmBrE;;;;;;;;OAQG;IACG,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAE,OAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA0C3E;;;;;;;OAOG;IACH,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI;IAenD;;;;;;OAMG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAS9B;;;;;;;OAOG;IACH,QAAQ,CACN,EAAE,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,IAAI,EAClC,SAAS,GAAE,OAAc,GACxB,IAAI;IASP;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,IAAI,GAAG,IAAI;IAInD;;;;;OAKG;IACH,OAAO,IAAI,IAAI;CAMhB"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { ModelError, RuntimeModelError } from '@ibiz-template/core';
|
|
2
|
-
import { isNil } from 'ramda';
|
|
1
|
+
import { IBizContext, ModelError, RuntimeModelError, } from '@ibiz-template/core';
|
|
2
|
+
import { clone, isNil } from 'ramda';
|
|
3
|
+
import { QXEvent, notNilEmpty } from 'qx-util';
|
|
3
4
|
import { convertNavData, ScriptFactory } from '../../../utils';
|
|
4
5
|
import { fieldValueToBoolean } from '../../utils';
|
|
6
|
+
import { calcDeCodeNameById } from '../../../model';
|
|
5
7
|
/**
|
|
6
8
|
* 动态代码表缓存对象
|
|
7
9
|
*
|
|
@@ -29,7 +31,56 @@ export class DynamicCodeListCache {
|
|
|
29
31
|
* @type {boolean}
|
|
30
32
|
*/
|
|
31
33
|
this.isPredefined = false;
|
|
34
|
+
/**
|
|
35
|
+
* 应用上下文
|
|
36
|
+
*
|
|
37
|
+
* @author tony001
|
|
38
|
+
* @date 2024-04-10 15:04:25
|
|
39
|
+
* @protected
|
|
40
|
+
* @type {IContext}
|
|
41
|
+
*/
|
|
42
|
+
this.context = IBizContext.create();
|
|
43
|
+
/**
|
|
44
|
+
* 视图参数
|
|
45
|
+
*
|
|
46
|
+
* @author tony001
|
|
47
|
+
* @date 2024-04-10 15:04:39
|
|
48
|
+
* @protected
|
|
49
|
+
* @type {IParams}
|
|
50
|
+
*/
|
|
51
|
+
this.params = {};
|
|
52
|
+
/**
|
|
53
|
+
* 事件对象
|
|
54
|
+
*
|
|
55
|
+
* @author tony001
|
|
56
|
+
* @date 2024-04-10 17:04:00
|
|
57
|
+
* @protected
|
|
58
|
+
*/
|
|
59
|
+
this.evt = new QXEvent();
|
|
32
60
|
this.codeList = codeList;
|
|
61
|
+
// 动态代码表监听数据变化
|
|
62
|
+
this.codelistChange = this.codelistChange.bind(this);
|
|
63
|
+
const { appDataEntityId, appDEDataSetId } = this.codeList;
|
|
64
|
+
if (appDataEntityId && appDEDataSetId) {
|
|
65
|
+
ibiz.mc.command.change.on(this.codelistChange);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* 设置上下文以及查询参数
|
|
70
|
+
*
|
|
71
|
+
* @author tony001
|
|
72
|
+
* @date 2024-04-10 15:04:04
|
|
73
|
+
* @protected
|
|
74
|
+
* @param {IContext} [context]
|
|
75
|
+
* @param {IParams} [params]
|
|
76
|
+
*/
|
|
77
|
+
setParams(context, params) {
|
|
78
|
+
if (context) {
|
|
79
|
+
this.context = clone(context);
|
|
80
|
+
}
|
|
81
|
+
if (params) {
|
|
82
|
+
this.params = clone(params);
|
|
83
|
+
}
|
|
33
84
|
}
|
|
34
85
|
/**
|
|
35
86
|
* 初始化
|
|
@@ -148,6 +199,7 @@ export class DynamicCodeListCache {
|
|
|
148
199
|
* @returns {*} {Promise<CodeListItem[]>}
|
|
149
200
|
*/
|
|
150
201
|
async load(context, params = {}) {
|
|
202
|
+
this.setParams(context, params);
|
|
151
203
|
const app = ibiz.hub.getApp(context.srfappid);
|
|
152
204
|
const { appDataEntityId, appDEDataSetId, minorSortAppDEFieldId, minorSortDir, pvalueAppDEFieldId, customCond, } = this.codeList;
|
|
153
205
|
// *处理查询参数
|
|
@@ -283,4 +335,77 @@ export class DynamicCodeListCache {
|
|
|
283
335
|
delete cacheData.promise;
|
|
284
336
|
return result;
|
|
285
337
|
}
|
|
338
|
+
/**
|
|
339
|
+
* 接受代码表实体数据变更,刷新代码表
|
|
340
|
+
*
|
|
341
|
+
* @author tony001
|
|
342
|
+
* @date 2024-04-10 15:04:42
|
|
343
|
+
* @protected
|
|
344
|
+
* @param {IPortalMessage} msg
|
|
345
|
+
*/
|
|
346
|
+
codelistChange(msg) {
|
|
347
|
+
const data = msg.data;
|
|
348
|
+
const { appDataEntityId } = this.codeList;
|
|
349
|
+
if (appDataEntityId) {
|
|
350
|
+
const codeName = calcDeCodeNameById(appDataEntityId);
|
|
351
|
+
if (data &&
|
|
352
|
+
data.srfdecodename &&
|
|
353
|
+
data.srfdecodename.toLowerCase() === codeName) {
|
|
354
|
+
this.refresh();
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* 刷新代码表数据
|
|
360
|
+
*
|
|
361
|
+
* @author tony001
|
|
362
|
+
* @date 2024-04-10 17:04:20
|
|
363
|
+
* @return {*} {Promise<void>}
|
|
364
|
+
*/
|
|
365
|
+
async refresh() {
|
|
366
|
+
// 删除缓存数据
|
|
367
|
+
const key = JSON.stringify(this.context) + JSON.stringify(this.params);
|
|
368
|
+
this.cache.delete(key);
|
|
369
|
+
// 重新加载数据
|
|
370
|
+
const result = await this.get(this.context, this.params);
|
|
371
|
+
this.evt.emit('change', result);
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* 代码表数据变更事件监听
|
|
375
|
+
*
|
|
376
|
+
* @author tony001
|
|
377
|
+
* @date 2024-04-10 17:04:52
|
|
378
|
+
* @param {(data: CodeListItem[]) => void} fn
|
|
379
|
+
* @param {boolean} [immediate=true] 当有数据时,立即触发一次回调
|
|
380
|
+
*/
|
|
381
|
+
onChange(fn, immediate = true) {
|
|
382
|
+
this.evt.on('change', fn);
|
|
383
|
+
const key = JSON.stringify(this.context) + JSON.stringify(this.params);
|
|
384
|
+
const cacheData = this.cache.get(key);
|
|
385
|
+
if (immediate && notNilEmpty(cacheData)) {
|
|
386
|
+
fn(cacheData.items);
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* 取消代码表数据变更监听
|
|
391
|
+
*
|
|
392
|
+
* @author tony001
|
|
393
|
+
* @date 2024-04-10 17:04:57
|
|
394
|
+
* @param {(data: CodeListItem[]) => void} fn
|
|
395
|
+
*/
|
|
396
|
+
offChange(fn) {
|
|
397
|
+
this.evt.off('change', fn);
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* 销毁(取消数据变更监听)
|
|
401
|
+
*
|
|
402
|
+
* @author tony001
|
|
403
|
+
* @date 2024-04-10 15:04:11
|
|
404
|
+
*/
|
|
405
|
+
destroy() {
|
|
406
|
+
const { appDataEntityId, appDEDataSetId } = this.codeList;
|
|
407
|
+
if (appDataEntityId && appDEDataSetId) {
|
|
408
|
+
ibiz.mc.command.change.off(this.codelistChange);
|
|
409
|
+
}
|
|
410
|
+
}
|
|
286
411
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibiz-template/runtime",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "控制器包",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "out/index.js",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"animejs": "^3.2.2"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@ibiz-template/core": "^0.
|
|
38
|
+
"@ibiz-template/core": "^0.7.1",
|
|
39
39
|
"@ibiz/model-core": "^0.1.20",
|
|
40
40
|
"@types/animejs": "^3.1.12",
|
|
41
41
|
"@types/path-browserify": "^1.0.2",
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { IFilterNode } from '../../../interface';
|
|
2
|
-
/**
|
|
3
|
-
* 获取初始过滤项树节点数据集合
|
|
4
|
-
* @return {*}
|
|
5
|
-
* @author: zhujiamin
|
|
6
|
-
* @Date: 2023-12-21 17:29:47
|
|
7
|
-
*/
|
|
8
|
-
export declare function getOriginFilterNodes(): IFilterNode[];
|
|
9
|
-
/**
|
|
10
|
-
* 格式化过滤项 (后续如果修改这里的逻辑记得把下方的反推函数parseFilters也跟着修改!)
|
|
11
|
-
* @author lxm
|
|
12
|
-
* @date 2023-10-16 03:45:41
|
|
13
|
-
* @param {IFilterNode} node
|
|
14
|
-
* @return {*} {IData}
|
|
15
|
-
*/
|
|
16
|
-
export declare function formatFilters(node: IFilterNode): IData;
|
|
17
|
-
/**
|
|
18
|
-
* 根据格式化后的过滤项反推出过滤项树节点数据集合
|
|
19
|
-
* @param {IData} data
|
|
20
|
-
* @return {*}
|
|
21
|
-
* @author: zhujiamin
|
|
22
|
-
* @Date: 2023-12-28 09:47:45
|
|
23
|
-
*/
|
|
24
|
-
export declare function parseFilters(data: IData): IFilterNode;
|
|
25
|
-
/**
|
|
26
|
-
* 根据filterNodes计算出SearchConds
|
|
27
|
-
* @param {IData} data
|
|
28
|
-
* @return {*}
|
|
29
|
-
* @author: zhujiamin
|
|
30
|
-
* @Date: 2023-12-28 09:47:45
|
|
31
|
-
*/
|
|
32
|
-
export declare function calcSearchConds(filterNodes: IFilterNode[]): IData[] | undefined;
|
|
33
|
-
//# sourceMappingURL=use-searchcond.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-searchcond.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/use-searchcond.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKlE;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,WAAW,EAAE,CAQpD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,KAAK,CA+BtD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,WAAW,CA+BrD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,WAAW,EAAE,GACzB,KAAK,EAAE,GAAG,SAAS,CAoBrB"}
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { RuntimeError, recursiveIterate } from '@ibiz-template/core';
|
|
2
|
-
import { isNil } from 'ramda';
|
|
3
|
-
import { ValueOP } from '../../../constant';
|
|
4
|
-
const ExcludeOPs = [ValueOP.IS_NULL, ValueOP.IS_NOT_NULL];
|
|
5
|
-
/**
|
|
6
|
-
* 获取初始过滤项树节点数据集合
|
|
7
|
-
* @return {*}
|
|
8
|
-
* @author: zhujiamin
|
|
9
|
-
* @Date: 2023-12-21 17:29:47
|
|
10
|
-
*/
|
|
11
|
-
export function getOriginFilterNodes() {
|
|
12
|
-
return [
|
|
13
|
-
{
|
|
14
|
-
leaf: false,
|
|
15
|
-
logicType: 'AND',
|
|
16
|
-
children: [{ leaf: true, field: null, valueOP: null, value: null }],
|
|
17
|
-
},
|
|
18
|
-
];
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* 格式化过滤项 (后续如果修改这里的逻辑记得把下方的反推函数parseFilters也跟着修改!)
|
|
22
|
-
* @author lxm
|
|
23
|
-
* @date 2023-10-16 03:45:41
|
|
24
|
-
* @param {IFilterNode} node
|
|
25
|
-
* @return {*} {IData}
|
|
26
|
-
*/
|
|
27
|
-
export function formatFilters(node) {
|
|
28
|
-
if (!node.leaf) {
|
|
29
|
-
if (node.logicType === 'ITEMS') {
|
|
30
|
-
return {
|
|
31
|
-
condtype: 'ITEMS',
|
|
32
|
-
fieldname: node.field,
|
|
33
|
-
condop: node.valueOP,
|
|
34
|
-
searchconds: node.children.map(item => formatFilters(item)),
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
return {
|
|
38
|
-
condtype: 'GROUP',
|
|
39
|
-
condop: node.logicType,
|
|
40
|
-
bnotmode: false,
|
|
41
|
-
searchconds: node.children.map(item => formatFilters(item)),
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
const leafNode = node;
|
|
45
|
-
const temp = {
|
|
46
|
-
condtype: 'DEFIELD',
|
|
47
|
-
fieldname: node.field,
|
|
48
|
-
condop: node.valueOP,
|
|
49
|
-
value: node.value,
|
|
50
|
-
};
|
|
51
|
-
if (leafNode.valueItem) {
|
|
52
|
-
temp.valueItem = leafNode.valueItem;
|
|
53
|
-
}
|
|
54
|
-
return temp;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* 根据格式化后的过滤项反推出过滤项树节点数据集合
|
|
58
|
-
* @param {IData} data
|
|
59
|
-
* @return {*}
|
|
60
|
-
* @author: zhujiamin
|
|
61
|
-
* @Date: 2023-12-28 09:47:45
|
|
62
|
-
*/
|
|
63
|
-
export function parseFilters(data) {
|
|
64
|
-
if (data.condtype === 'GROUP') {
|
|
65
|
-
return {
|
|
66
|
-
leaf: false,
|
|
67
|
-
logicType: data.condop === 'AND' ? 'AND' : 'OR',
|
|
68
|
-
children: (data.searchconds || []).map((item) => parseFilters(item)),
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
if (data.condtype === 'ITEMS') {
|
|
72
|
-
return {
|
|
73
|
-
leaf: false,
|
|
74
|
-
logicType: 'ITEMS',
|
|
75
|
-
field: data.fieldname || null,
|
|
76
|
-
valueOP: data.condop || null,
|
|
77
|
-
children: (data.searchconds || []).map((item) => parseFilters(item)),
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
if (data.condtype === 'DEFIELD') {
|
|
81
|
-
return {
|
|
82
|
-
leaf: true,
|
|
83
|
-
field: data.fieldname || null,
|
|
84
|
-
valueOP: data.condop || null,
|
|
85
|
-
value: data.value || null,
|
|
86
|
-
valueItem: data.valueItem || undefined,
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
throw new RuntimeError(`无效的condtype:${data.condtype}`);
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* 根据filterNodes计算出SearchConds
|
|
93
|
-
* @param {IData} data
|
|
94
|
-
* @return {*}
|
|
95
|
-
* @author: zhujiamin
|
|
96
|
-
* @Date: 2023-12-28 09:47:45
|
|
97
|
-
*/
|
|
98
|
-
export function calcSearchConds(filterNodes) {
|
|
99
|
-
let hasFilter = false; // 是否有过滤项
|
|
100
|
-
let hasError = false; // 是否有过滤项格式不正确
|
|
101
|
-
recursiveIterate(filterNodes[0], (node) => {
|
|
102
|
-
if (node.leaf) {
|
|
103
|
-
if ((node.field && node.valueOP && !isNil(node.value)) ||
|
|
104
|
-
(node.field && node.valueOP && ExcludeOPs.includes(node.valueOP))) {
|
|
105
|
-
hasFilter = true;
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
// 如果过滤项不给
|
|
109
|
-
hasError = true;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
if (hasFilter && !hasError) {
|
|
114
|
-
const filter = [formatFilters(filterNodes[0])];
|
|
115
|
-
return filter;
|
|
116
|
-
}
|
|
117
|
-
}
|