@ibiz-template/runtime 0.1.33 → 0.1.34
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 +285 -126
- package/dist/index.system.min.js +1 -1
- package/dist/index.system.min.js.map +1 -1
- package/out/controller/common/control/control.controller.d.ts +1 -0
- package/out/controller/common/control/control.controller.d.ts.map +1 -1
- package/out/controller/common/control/control.controller.js +21 -1
- package/out/controller/common/control/md-control.controller.js +1 -1
- package/out/controller/common/editor/editor.controller.d.ts.map +1 -1
- package/out/controller/common/editor/editor.controller.js +1 -2
- package/out/controller/common/view/view.controller.d.ts.map +1 -1
- package/out/controller/common/view/view.controller.js +2 -1
- package/out/controller/control/calendar/calendar.controller.js +1 -1
- package/out/controller/control/data-view/data-view.controller.js +5 -3
- package/out/controller/control/form/edit-form/edit-form.controller.d.ts +7 -7
- 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 +22 -16
- package/out/controller/control/grid/grid/grid.controller.js +2 -2
- package/out/controller/control/panel/panel/panel-item.controller.d.ts +6 -0
- package/out/controller/control/panel/panel/panel-item.controller.d.ts.map +1 -1
- package/out/controller/control/panel/panel/panel-item.controller.js +11 -0
- package/out/controller/control/panel/panel/panel.controller.d.ts +3 -0
- package/out/controller/control/panel/panel/panel.controller.d.ts.map +1 -1
- package/out/controller/control/panel/panel/panel.controller.js +13 -0
- package/out/controller/control/panel/view-layout-panel/view-layout-panel.controller.d.ts.map +1 -1
- package/out/controller/control/panel/view-layout-panel/view-layout-panel.controller.js +7 -0
- package/out/interface/common/i-data-ability-params/i-data-ability-params.d.ts +4 -4
- package/out/interface/common/i-data-ability-params/i-data-ability-params.d.ts.map +1 -1
- package/out/interface/common/i-float-window-options/i-float-window-options.d.ts +75 -0
- package/out/interface/common/i-float-window-options/i-float-window-options.d.ts.map +1 -0
- package/out/interface/common/i-float-window-options/i-float-window-options.js +1 -0
- package/out/interface/common/index.d.ts +1 -0
- package/out/interface/common/index.d.ts.map +1 -1
- package/out/interface/controller/controller/control/i-control.controller.d.ts +1 -1
- package/out/interface/controller/controller/control/i-edit-form.controller.d.ts +6 -5
- package/out/interface/controller/controller/control/i-edit-form.controller.d.ts.map +1 -1
- package/out/interface/controller/controller/i.controller.d.ts +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/panel-item.event.d.ts +26 -0
- package/out/interface/controller/event/argument/panel-item.event.d.ts.map +1 -0
- package/out/interface/controller/event/argument/panel-item.event.js +1 -0
- package/out/interface/controller/event/control/i-panel.event.d.ts +12 -1
- package/out/interface/controller/event/control/i-panel.event.d.ts.map +1 -1
- package/out/interface/logic-scheduler/i-scheduler-logic.d.ts +7 -0
- package/out/interface/logic-scheduler/i-scheduler-logic.d.ts.map +1 -1
- package/out/interface/service/service/i-app-de.service.d.ts +24 -0
- package/out/interface/service/service/i-app-de.service.d.ts.map +1 -1
- package/out/interface/util/i-overlay-controller/i-overlay-controller.d.ts +24 -1
- package/out/interface/util/i-overlay-controller/i-overlay-controller.d.ts.map +1 -1
- package/out/logic-scheduler/executor/app-ui-action-executor.d.ts +15 -0
- package/out/logic-scheduler/executor/app-ui-action-executor.d.ts.map +1 -0
- package/out/logic-scheduler/executor/app-ui-action-executor.js +16 -0
- package/out/logic-scheduler/index.d.ts.map +1 -1
- package/out/logic-scheduler/index.js +6 -0
- package/out/logic-scheduler/scheduler/control-logic-scheduler.d.ts.map +1 -1
- package/out/logic-scheduler/scheduler/control-logic-scheduler.js +6 -0
- package/out/logic-scheduler/scheduler/logic-scheduler.d.ts +2 -2
- package/out/logic-scheduler/scheduler/logic-scheduler.d.ts.map +1 -1
- package/out/logic-scheduler/scheduler/logic-scheduler.js +3 -3
- package/out/logic-scheduler/trigger/control-event-trigger.d.ts.map +1 -1
- package/out/logic-scheduler/trigger/control-event-trigger.js +3 -1
- package/out/service/service/entity/de.service.d.ts +36 -2
- package/out/service/service/entity/de.service.d.ts.map +1 -1
- package/out/service/service/entity/de.service.js +79 -7
- package/out/service/service/entity/method/ac-fetch.d.ts +14 -0
- package/out/service/service/entity/method/ac-fetch.d.ts.map +1 -0
- package/out/service/service/entity/method/ac-fetch.js +15 -0
- package/out/service/service/entity/method/method.d.ts +1 -0
- package/out/service/service/entity/method/method.d.ts.map +1 -1
- package/out/service/service/entity/method/method.js +7 -4
- package/out/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.d.ts.map +1 -1
- package/out/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.js +12 -5
- package/package.json +3 -3
- package/src/controller/common/control/control.controller.ts +25 -1
- package/src/controller/common/control/md-control.controller.ts +1 -1
- package/src/controller/common/editor/editor.controller.ts +1 -2
- package/src/controller/common/view/view.controller.ts +2 -0
- package/src/controller/control/calendar/calendar.controller.ts +1 -1
- package/src/controller/control/data-view/data-view.controller.ts +3 -3
- package/src/controller/control/form/edit-form/edit-form.controller.ts +27 -30
- package/src/controller/control/grid/grid/grid.controller.ts +2 -2
- package/src/controller/control/panel/panel/panel-item.controller.ts +12 -0
- package/src/controller/control/panel/panel/panel.controller.ts +20 -0
- package/src/controller/control/panel/view-layout-panel/view-layout-panel.controller.ts +11 -0
- package/src/interface/common/i-data-ability-params/i-data-ability-params.ts +4 -4
- package/src/interface/common/i-float-window-options/i-float-window-options.ts +74 -0
- package/src/interface/common/index.ts +1 -0
- package/src/interface/controller/controller/control/i-control.controller.ts +1 -1
- package/src/interface/controller/controller/control/i-edit-form.controller.ts +6 -5
- package/src/interface/controller/controller/i.controller.ts +1 -1
- package/src/interface/controller/event/argument/index.ts +1 -0
- package/src/interface/controller/event/argument/panel-item.event.ts +27 -0
- package/src/interface/controller/event/control/i-panel.event.ts +13 -1
- package/src/interface/logic-scheduler/i-scheduler-logic.ts +8 -0
- package/src/interface/service/service/i-app-de.service.ts +36 -0
- package/src/interface/util/i-overlay-controller/i-overlay-controller.ts +39 -1
- package/src/logic-scheduler/executor/app-ui-action-executor.ts +20 -0
- package/src/logic-scheduler/index.ts +12 -0
- package/src/logic-scheduler/scheduler/control-logic-scheduler.ts +6 -0
- package/src/logic-scheduler/scheduler/logic-scheduler.ts +7 -4
- package/src/logic-scheduler/trigger/control-event-trigger.ts +3 -1
- package/src/service/service/entity/de.service.ts +97 -7
- package/src/service/service/entity/method/ac-fetch.ts +16 -0
- package/src/service/service/entity/method/method.ts +11 -4
- package/src/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.ts +12 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ac-fetch.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/ac-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC;;;;;;;;GAQG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAC5C,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;CAGrE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FetchMethod } from './fetch';
|
|
2
|
+
/**
|
|
3
|
+
* ac 模式下的数据集获取请求
|
|
4
|
+
*
|
|
5
|
+
* @author chitanda
|
|
6
|
+
* @date 2023-10-12 17:10:03
|
|
7
|
+
* @export
|
|
8
|
+
* @class AcFetchMethod
|
|
9
|
+
* @extends {FetchMethod}
|
|
10
|
+
*/
|
|
11
|
+
export class AcFetchMethod extends FetchMethod {
|
|
12
|
+
mergeRequestPath(path, methodName) {
|
|
13
|
+
return `${path}/ac/${methodName}?srfac=ac`;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -77,6 +77,7 @@ export declare abstract class Method {
|
|
|
77
77
|
* @return {*} {Promise<HttpResponse<any>>}
|
|
78
78
|
*/
|
|
79
79
|
protected request(path: string, context: IParams, data?: IData, params?: IParams): Promise<HttpResponse<any>>;
|
|
80
|
+
protected mergeRequestPath(path: string, methodName: string): string;
|
|
80
81
|
/**
|
|
81
82
|
* 根据上下文计算当前请求路径
|
|
82
83
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/method.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAqB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEnE;;;;;;;GAOG;AACH,8BAAsB,MAAM;IA2CxB,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,MAAM,EAAE,YAAY;IA3ChC,SAAS,CAAC,GAAG,EAAG,WAAW,CAAC;IAE5B;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAG,WAAW,CAAC;IAE9B;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAG,YAAY,CAAC;IAEhC;;;;;;;OAOG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IAElC;;;;;;;;OAQG;gBAES,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,YAAY;IAOhC;;;;;;;;;OASG;IACH,QAAQ,CAAC,IAAI,CACX,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,KAAK,EACd,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,YAAY,CAAC;IAExB;;;;;;;;;;;OAWG;cACa,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,OAAO,GAEf,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/method.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAqB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEnE;;;;;;;GAOG;AACH,8BAAsB,MAAM;IA2CxB,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,MAAM,EAAE,YAAY;IA3ChC,SAAS,CAAC,GAAG,EAAG,WAAW,CAAC;IAE5B;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAG,WAAW,CAAC;IAE9B;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAG,YAAY,CAAC;IAEhC;;;;;;;OAOG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IAElC;;;;;;;;OAQG;gBAES,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,YAAY;IAOhC;;;;;;;;;OASG;IACH,QAAQ,CAAC,IAAI,CACX,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,KAAK,EACd,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,YAAY,CAAC;IAExB;;;;;;;;;;;OAWG;cACa,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,OAAO,GAEf,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IA8C7B,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAIpE;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAM5C;;;;;;;OAOG;cACa,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IAOpD;;;;;;;;OAQG;IACH,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW;CAM/D"}
|
|
@@ -49,17 +49,17 @@ export class Method {
|
|
|
49
49
|
let res = null;
|
|
50
50
|
switch (requestMethod) {
|
|
51
51
|
case 'POST':
|
|
52
|
-
res = await this.app.net.post(
|
|
52
|
+
res = await this.app.net.post(this.mergeRequestPath(path, methodName), notNilEmpty(data) ? data : params);
|
|
53
53
|
break;
|
|
54
54
|
case 'GET':
|
|
55
|
-
res = await this.app.net.get(
|
|
55
|
+
res = await this.app.net.get(this.mergeRequestPath(path, methodName), data || params);
|
|
56
56
|
break;
|
|
57
57
|
case 'PUT': {
|
|
58
|
-
res = await this.app.net.put(
|
|
58
|
+
res = await this.app.net.put(this.mergeRequestPath(path, methodName), notNilEmpty(data) ? data : params);
|
|
59
59
|
break;
|
|
60
60
|
}
|
|
61
61
|
case 'DELETE':
|
|
62
|
-
res = await this.app.net.delete(
|
|
62
|
+
res = await this.app.net.delete(this.mergeRequestPath(path, methodName), data || params);
|
|
63
63
|
break;
|
|
64
64
|
default:
|
|
65
65
|
if (requestMethod) {
|
|
@@ -73,6 +73,9 @@ export class Method {
|
|
|
73
73
|
}
|
|
74
74
|
throw new RuntimeModelError(this.method, `未支持的行为类型[${actionType}]`);
|
|
75
75
|
}
|
|
76
|
+
mergeRequestPath(path, methodName) {
|
|
77
|
+
return `${path}/${methodName}`;
|
|
78
|
+
}
|
|
76
79
|
/**
|
|
77
80
|
* 根据上下文计算当前请求路径
|
|
78
81
|
*
|
package/out/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-logic-link-single-cond.d.ts","sourceRoot":"","sources":["../../../../src/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"ui-logic-link-single-cond.d.ts","sourceRoot":"","sources":["../../../../src/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAE3E;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;IAmCrC,KAAK,EAAE,sBAAsB;IAlChD;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;gBAEkB,KAAK,EAAE,sBAAsB;IAMhD;;;;;;;;;OASG;IACH,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO;CAsCnE"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ModelError, RuntimeModelError } from '@ibiz-template/core';
|
|
2
2
|
import { testCond } from '../../../utils';
|
|
3
|
+
import { handleSrcVal } from '../../utils';
|
|
3
4
|
import { UILogicLinkCond } from '../ui-logic-link-cond/ui-logic-link-cond';
|
|
4
5
|
/**
|
|
5
6
|
* 界面逻辑连接条件项
|
|
@@ -40,7 +41,10 @@ export class UILogicLinkSingleCond extends UILogicLinkCond {
|
|
|
40
41
|
* @return {*} {boolean}
|
|
41
42
|
*/
|
|
42
43
|
test(ctx, context, data) {
|
|
43
|
-
const
|
|
44
|
+
const dstVal = handleSrcVal(ctx, {
|
|
45
|
+
srcDEUILogicParamId: this.dstParam,
|
|
46
|
+
srcFieldName: this.dstField,
|
|
47
|
+
});
|
|
44
48
|
switch (this.type) {
|
|
45
49
|
case 'ENTITYFIELD': {
|
|
46
50
|
if (!this.value) {
|
|
@@ -48,20 +52,23 @@ export class UILogicLinkSingleCond extends UILogicLinkCond {
|
|
|
48
52
|
}
|
|
49
53
|
// 数据对象属性
|
|
50
54
|
const value = data[this.value] != null ? data[this.value] : context[this.value];
|
|
51
|
-
return testCond(
|
|
55
|
+
return testCond(dstVal, this.op, value);
|
|
52
56
|
}
|
|
53
57
|
case 'SRCENTITYFIELD': {
|
|
54
58
|
if (!this.value) {
|
|
55
59
|
throw new RuntimeModelError(this.model, '当前条件值类型为[源数据对象属性],缺少配置条件值');
|
|
56
60
|
}
|
|
57
61
|
// 源数据对象属性
|
|
58
|
-
const
|
|
59
|
-
|
|
62
|
+
const srcVal = handleSrcVal(ctx, {
|
|
63
|
+
srcDEUILogicParamId: this.srcParam,
|
|
64
|
+
srcFieldName: this.value,
|
|
65
|
+
});
|
|
66
|
+
return testCond(dstVal, this.op, srcVal);
|
|
60
67
|
}
|
|
61
68
|
case 'CURTIME': // 当前时间
|
|
62
69
|
throw new ModelError(this.model, `暂未支持条件值类型为[当前时间]`);
|
|
63
70
|
default: // 直接使用目标对象参数属性和值做对比
|
|
64
|
-
return testCond(
|
|
71
|
+
return testCond(dstVal, this.op, this.value);
|
|
65
72
|
}
|
|
66
73
|
}
|
|
67
74
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibiz-template/runtime",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.34",
|
|
4
4
|
"description": "控制器包",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "out/index.js",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"author": "chitanda",
|
|
30
30
|
"license": "MIT",
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@ibiz-template/core": "^0.1.
|
|
32
|
+
"@ibiz-template/core": "^0.1.34",
|
|
33
33
|
"@ibiz/model-core": "^0.0.19",
|
|
34
34
|
"@types/path-browserify": "^1.0.0",
|
|
35
35
|
"@types/qs": "^6.9.8",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"qx-util": "^0.4.8",
|
|
58
58
|
"ramda": "^0.29.0"
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "6b6ab37103623fbc1994241b511829a2013a72c0"
|
|
61
61
|
}
|
|
@@ -147,6 +147,13 @@ export class ControlController<
|
|
|
147
147
|
this.initControlScheduler(this.model.controlLogics);
|
|
148
148
|
}
|
|
149
149
|
|
|
150
|
+
protected async onMounted(): Promise<void> {
|
|
151
|
+
await super.onMounted();
|
|
152
|
+
|
|
153
|
+
// 启动定时器触发
|
|
154
|
+
this.scheduler?.startTimerTrigger();
|
|
155
|
+
}
|
|
156
|
+
|
|
150
157
|
protected async onDestroyed(): Promise<void> {
|
|
151
158
|
await super.onDestroyed();
|
|
152
159
|
if (this.scheduler) {
|
|
@@ -213,7 +220,21 @@ export class ControlController<
|
|
|
213
220
|
} {
|
|
214
221
|
const context = this.context.clone();
|
|
215
222
|
const params = { ...this.params };
|
|
216
|
-
|
|
223
|
+
|
|
224
|
+
let data = this.getData() || [];
|
|
225
|
+
if (args?.data) {
|
|
226
|
+
data = Array.isArray(args.data) ? args.data : [args.data];
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
// 合并附加上下文
|
|
230
|
+
if (args?.context) {
|
|
231
|
+
Object.assign(context, args.context);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
// 合并附加视图参数
|
|
235
|
+
if (args?.viewParam) {
|
|
236
|
+
Object.assign(params, args.viewParam);
|
|
237
|
+
}
|
|
217
238
|
return { context, params, data };
|
|
218
239
|
}
|
|
219
240
|
|
|
@@ -243,6 +264,9 @@ export class ControlController<
|
|
|
243
264
|
* @memberof ControlController
|
|
244
265
|
*/
|
|
245
266
|
protected handleControlParams(): void {
|
|
267
|
+
if (!this.model.controlParam) {
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
246
270
|
const { ctrlParams } = this.model.controlParam!;
|
|
247
271
|
let params = {};
|
|
248
272
|
if (notNilEmpty(ctrlParams)) {
|
|
@@ -198,7 +198,7 @@ export class MDControlController<
|
|
|
198
198
|
|
|
199
199
|
// *查询参数处理
|
|
200
200
|
const { context } = this.handlerAbilityParams(args);
|
|
201
|
-
const params = await this.getFetchParams(args?.
|
|
201
|
+
const params = await this.getFetchParams(args?.viewParam);
|
|
202
202
|
|
|
203
203
|
const res = await this.service.fetch(context, params);
|
|
204
204
|
// 更新分页数据总条数
|
|
@@ -164,8 +164,7 @@ export class EditorController<T extends IEditor = IEditor>
|
|
|
164
164
|
if (navigateParams && data) {
|
|
165
165
|
selfParams = convertNavData(navigateParams!, data, params, context);
|
|
166
166
|
}
|
|
167
|
-
|
|
168
|
-
return { context: _context, params: _params };
|
|
167
|
+
return { context: _context, params: selfParams };
|
|
169
168
|
}
|
|
170
169
|
|
|
171
170
|
/**
|
|
@@ -265,6 +265,7 @@ export class ViewController<
|
|
|
265
265
|
// 初始化计时器服务
|
|
266
266
|
await this.initCounters();
|
|
267
267
|
|
|
268
|
+
// 初始化视图逻辑调度器
|
|
268
269
|
const appViewLogics = getViewLogics(this.model);
|
|
269
270
|
if (appViewLogics.length) {
|
|
270
271
|
this.scheduler = ibiz.scheduler.createViewScheduler(appViewLogics);
|
|
@@ -414,6 +415,7 @@ export class ViewController<
|
|
|
414
415
|
panel.evt.on('onControlEvent', event => {
|
|
415
416
|
this.scheduler!.triggerControlEvent(
|
|
416
417
|
event.triggerControlName,
|
|
418
|
+
event.triggerEventName,
|
|
417
419
|
event.triggerEvent,
|
|
418
420
|
);
|
|
419
421
|
});
|
|
@@ -76,7 +76,7 @@ export class CalendarController
|
|
|
76
76
|
const isInitialLoad = args.isInitialLoad === true;
|
|
77
77
|
// *查询参数处理
|
|
78
78
|
const { context } = this.handlerAbilityParams(args);
|
|
79
|
-
const params = await this.getFetchParams(args?.
|
|
79
|
+
const params = await this.getFetchParams(args?.viewParam);
|
|
80
80
|
// *发起请求
|
|
81
81
|
await this.startLoading();
|
|
82
82
|
let items;
|
|
@@ -155,13 +155,13 @@ export class DataViewControlController<
|
|
|
155
155
|
tempData = tempData.getOrigin();
|
|
156
156
|
}
|
|
157
157
|
if (tempData) {
|
|
158
|
-
group.groupActionGroupState
|
|
158
|
+
group.groupActionGroupState?.update(
|
|
159
159
|
tempData,
|
|
160
160
|
this.model.appDataEntityId!,
|
|
161
161
|
);
|
|
162
162
|
}
|
|
163
163
|
} else {
|
|
164
|
-
group.groupActionGroupState
|
|
164
|
+
group.groupActionGroupState?.update(
|
|
165
165
|
undefined,
|
|
166
166
|
this.model.appDataEntityId!,
|
|
167
167
|
);
|
|
@@ -173,7 +173,7 @@ export class DataViewControlController<
|
|
|
173
173
|
return group.children.indexOf(data) !== -1;
|
|
174
174
|
});
|
|
175
175
|
if (actionGroup) {
|
|
176
|
-
actionGroup.groupActionGroupState
|
|
176
|
+
actionGroup.groupActionGroupState?.update(
|
|
177
177
|
actionGroup.selectedData![0],
|
|
178
178
|
this.model.appDataEntityId!,
|
|
179
179
|
);
|
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
IViewController,
|
|
16
16
|
IEditViewState,
|
|
17
17
|
IEditViewEvent,
|
|
18
|
+
IDataAbilityParams,
|
|
18
19
|
} from '../../../../interface';
|
|
19
20
|
import { calcDeCodeNameById, hasDeCodeName } from '../../../../model';
|
|
20
21
|
import { Srfuf, ControlVO } from '../../../../service';
|
|
@@ -87,8 +88,8 @@ export class EditFormController
|
|
|
87
88
|
* @date 2023-08-25 02:45:11
|
|
88
89
|
* @return {*} {Promise<IData>}
|
|
89
90
|
*/
|
|
90
|
-
async loadDraft(): Promise<IData> {
|
|
91
|
-
const queryParams =
|
|
91
|
+
async loadDraft(args?: IDataAbilityParams): Promise<IData> {
|
|
92
|
+
const { context, params: queryParams } = this.handlerAbilityParams(args);
|
|
92
93
|
// 新建默认值给到graft接口,接口会回来
|
|
93
94
|
const params = await this.getDraftParams(); // 新建默认值
|
|
94
95
|
Object.assign(queryParams, params);
|
|
@@ -97,7 +98,7 @@ export class EditFormController
|
|
|
97
98
|
try {
|
|
98
99
|
await this.startLoading();
|
|
99
100
|
await this.evt.emit('onBeforeLoadDraft', { params: queryParams });
|
|
100
|
-
res = await this.service.getDraft(
|
|
101
|
+
res = await this.service.getDraft(context, queryParams);
|
|
101
102
|
} catch (error) {
|
|
102
103
|
await this.evt.emit('onLoadDraftError', undefined);
|
|
103
104
|
this.actionNotification('GETDRAFTERROR', {
|
|
@@ -177,7 +178,7 @@ export class EditFormController
|
|
|
177
178
|
* @author lxm
|
|
178
179
|
* @date 2022-08-19 14:08:50
|
|
179
180
|
*/
|
|
180
|
-
async load(): Promise<IData> {
|
|
181
|
+
async load(args?: IDataAbilityParams): Promise<IData> {
|
|
181
182
|
// 复制模式独立处理
|
|
182
183
|
const copyMode = this.params.srfcopymode;
|
|
183
184
|
if (copyMode) {
|
|
@@ -192,13 +193,15 @@ export class EditFormController
|
|
|
192
193
|
return this.loadDraft();
|
|
193
194
|
}
|
|
194
195
|
|
|
195
|
-
const
|
|
196
|
+
const { context, params } = this.handlerAbilityParams(args);
|
|
197
|
+
|
|
198
|
+
const queryParams = clone(params);
|
|
196
199
|
|
|
197
200
|
let res;
|
|
198
201
|
try {
|
|
199
202
|
await this.startLoading();
|
|
200
203
|
await this.evt.emit('onBeforeLoad', undefined);
|
|
201
|
-
res = await this.service.get(
|
|
204
|
+
res = await this.service.get(context, queryParams);
|
|
202
205
|
} catch (error) {
|
|
203
206
|
await this.evt.emit('onLoadError', undefined);
|
|
204
207
|
this.actionNotification('GETERROR', {
|
|
@@ -225,7 +228,7 @@ export class EditFormController
|
|
|
225
228
|
* @author lxm
|
|
226
229
|
* @date 2022-08-31 22:08:40
|
|
227
230
|
*/
|
|
228
|
-
async save(): Promise<IData> {
|
|
231
|
+
async save(args?: IDataAbilityParams): Promise<IData> {
|
|
229
232
|
// 如果数据正在处理中,则延迟保存
|
|
230
233
|
if (this.state.processing) {
|
|
231
234
|
const data = await awaitTimeout(500, this.save.bind(this));
|
|
@@ -238,12 +241,16 @@ export class EditFormController
|
|
|
238
241
|
}
|
|
239
242
|
await this.startLoading();
|
|
240
243
|
await this.evt.emit('onBeforeSave', undefined);
|
|
241
|
-
|
|
244
|
+
|
|
245
|
+
const { context, data } = this.handlerAbilityParams(args);
|
|
246
|
+
const saveData = data[0];
|
|
247
|
+
|
|
248
|
+
const isCreate = saveData.srfuf === Srfuf.CREATE;
|
|
242
249
|
let res;
|
|
243
250
|
try {
|
|
244
251
|
res = isCreate
|
|
245
|
-
? await this.service.create(
|
|
246
|
-
: await this.service.update(
|
|
252
|
+
? await this.service.create(context, saveData)
|
|
253
|
+
: await this.service.update(context, saveData);
|
|
247
254
|
} catch (error) {
|
|
248
255
|
await this.evt.emit('onSaveError', undefined);
|
|
249
256
|
this.actionNotification(`${isCreate ? 'CREATE' : 'UPDATE'}ERROR`, {
|
|
@@ -279,7 +286,8 @@ export class EditFormController
|
|
|
279
286
|
* @date 2022-09-01 09:09:36
|
|
280
287
|
* @returns {*}
|
|
281
288
|
*/
|
|
282
|
-
async remove(): Promise<boolean> {
|
|
289
|
+
async remove(args?: IDataAbilityParams): Promise<boolean> {
|
|
290
|
+
const { context, params } = this.handlerAbilityParams(args);
|
|
283
291
|
// 新建数据清空数据
|
|
284
292
|
let res: IHttpResponse | undefined;
|
|
285
293
|
let ok: boolean = false;
|
|
@@ -296,7 +304,7 @@ export class EditFormController
|
|
|
296
304
|
}
|
|
297
305
|
await this.startLoading();
|
|
298
306
|
try {
|
|
299
|
-
res = await this.service.remove(
|
|
307
|
+
res = await this.service.remove(context, params);
|
|
300
308
|
} catch (error) {
|
|
301
309
|
await this.evt.emit('onRemoveError', undefined);
|
|
302
310
|
this.actionNotification('REMOVEERROR', {
|
|
@@ -406,21 +414,15 @@ export class EditFormController
|
|
|
406
414
|
* @param {IParams} [extraParams={}] 不走工作流启动视图时使用
|
|
407
415
|
* @returns {*} {Promise<void>}
|
|
408
416
|
*/
|
|
409
|
-
async wfStart(
|
|
417
|
+
async wfStart(args?: IDataAbilityParams): Promise<void> {
|
|
410
418
|
const isValid = await this.validate();
|
|
411
419
|
if (!isValid) {
|
|
412
420
|
throw new RuntimeError('请检查表单填写!');
|
|
413
421
|
}
|
|
414
422
|
await this.startLoading();
|
|
423
|
+
const { context, params } = this.handlerAbilityParams(args);
|
|
415
424
|
try {
|
|
416
|
-
await this.service.wfStart(
|
|
417
|
-
this.context,
|
|
418
|
-
{
|
|
419
|
-
...this.params,
|
|
420
|
-
...extraParams,
|
|
421
|
-
},
|
|
422
|
-
this.data,
|
|
423
|
-
);
|
|
425
|
+
await this.service.wfStart(context, params, this.data);
|
|
424
426
|
} catch (error) {
|
|
425
427
|
this.actionNotification('WFSTARTERROR', {
|
|
426
428
|
error: error as Error,
|
|
@@ -440,21 +442,16 @@ export class EditFormController
|
|
|
440
442
|
* @param {IParams} [extraParams={}] 不走工作流操作视图时使用
|
|
441
443
|
* @returns {*} {Promise<void>}
|
|
442
444
|
*/
|
|
443
|
-
async wfSubmit(
|
|
445
|
+
async wfSubmit(args?: IDataAbilityParams): Promise<void> {
|
|
444
446
|
const isValid = await this.validate();
|
|
445
447
|
if (!isValid) {
|
|
446
448
|
throw new RuntimeError('请检查表单填写!');
|
|
447
449
|
}
|
|
450
|
+
|
|
448
451
|
await this.startLoading();
|
|
452
|
+
const { context, params } = this.handlerAbilityParams(args);
|
|
449
453
|
try {
|
|
450
|
-
await this.service.wfSubmit(
|
|
451
|
-
this.context,
|
|
452
|
-
{
|
|
453
|
-
...this.params,
|
|
454
|
-
...extraParams,
|
|
455
|
-
},
|
|
456
|
-
this.data,
|
|
457
|
-
);
|
|
454
|
+
await this.service.wfSubmit(context, params, this.data);
|
|
458
455
|
} catch (error) {
|
|
459
456
|
this.actionNotification('WFSUBMITERROR', {
|
|
460
457
|
error: error as Error,
|
|
@@ -893,7 +893,7 @@ export class GridController
|
|
|
893
893
|
async loadData(args: MDCtrlLoadParams): Promise<ControlVO[]> {
|
|
894
894
|
// *查询参数处理
|
|
895
895
|
const { context } = this.handlerAbilityParams(args);
|
|
896
|
-
const params = await this.getFetchParams(args?.
|
|
896
|
+
const params = await this.getFetchParams(args?.viewParam);
|
|
897
897
|
let res;
|
|
898
898
|
// *发起请求
|
|
899
899
|
await this.startLoading();
|
|
@@ -959,7 +959,7 @@ export class GridController
|
|
|
959
959
|
size: (endPage - startPage + 1) * size,
|
|
960
960
|
}
|
|
961
961
|
: { size: 1000, page: 0 };
|
|
962
|
-
data = await this.loadData({ params });
|
|
962
|
+
data = await this.loadData({ viewParam: params });
|
|
963
963
|
}
|
|
964
964
|
if (type === 'selectedRows') {
|
|
965
965
|
data = this.getData();
|
|
@@ -341,4 +341,16 @@ export class PanelItemController<T extends IPanelItem = IPanelItem>
|
|
|
341
341
|
}
|
|
342
342
|
}
|
|
343
343
|
}
|
|
344
|
+
|
|
345
|
+
/**
|
|
346
|
+
* 点击事件
|
|
347
|
+
* @author lxm
|
|
348
|
+
* @date 2023-10-11 05:03:26
|
|
349
|
+
*/
|
|
350
|
+
onClick(): void {
|
|
351
|
+
this.panel.evt.emit('onPanelItemEvent', {
|
|
352
|
+
panelItemName: this.model.id!,
|
|
353
|
+
panelItemEventName: 'onClick',
|
|
354
|
+
});
|
|
355
|
+
}
|
|
344
356
|
}
|
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
import { getPanelItemProvider } from '../../../../register';
|
|
20
20
|
import { ControlController } from '../../../common';
|
|
21
21
|
import { PanelNotifyState } from '../../../constant';
|
|
22
|
+
import { ControllerEvent } from '../../../utils';
|
|
22
23
|
|
|
23
24
|
/**
|
|
24
25
|
* 面板部件控制器
|
|
@@ -37,6 +38,10 @@ export class PanelController<
|
|
|
37
38
|
extends ControlController<T, S, E>
|
|
38
39
|
implements IPanelController<T, S, E>
|
|
39
40
|
{
|
|
41
|
+
protected get _evt(): ControllerEvent<IPanelEvent> {
|
|
42
|
+
return this.evt;
|
|
43
|
+
}
|
|
44
|
+
|
|
40
45
|
/**
|
|
41
46
|
* 所有面板成员的控制器
|
|
42
47
|
*
|
|
@@ -86,9 +91,24 @@ export class PanelController<
|
|
|
86
91
|
this.inputData = data;
|
|
87
92
|
}
|
|
88
93
|
|
|
94
|
+
getData(): IData[] {
|
|
95
|
+
return [this.data];
|
|
96
|
+
}
|
|
97
|
+
|
|
89
98
|
protected async onCreated(): Promise<void> {
|
|
90
99
|
await super.onCreated();
|
|
91
100
|
await this.initPanelItemControllers();
|
|
101
|
+
|
|
102
|
+
if (this.scheduler?.hasControlEventTrigger) {
|
|
103
|
+
// 监听部件事件触发部件事件触发器
|
|
104
|
+
this._evt.on('onPanelItemEvent', event => {
|
|
105
|
+
this.scheduler!.triggerControlEvent(
|
|
106
|
+
event.panelItemName,
|
|
107
|
+
event.panelItemEventName,
|
|
108
|
+
event,
|
|
109
|
+
);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
92
112
|
}
|
|
93
113
|
|
|
94
114
|
protected async onMounted(): Promise<void> {
|
|
@@ -30,6 +30,17 @@ export class ViewLayoutPanelController
|
|
|
30
30
|
protected async onCreated(): Promise<void> {
|
|
31
31
|
this.preprocessModel();
|
|
32
32
|
await super.onCreated();
|
|
33
|
+
|
|
34
|
+
if (this.scheduler?.hasControlEventTrigger) {
|
|
35
|
+
// 监听部件事件触发部件事件触发器
|
|
36
|
+
this.evt.on('onControlEvent', event => {
|
|
37
|
+
this.scheduler!.triggerControlEvent(
|
|
38
|
+
event.triggerControlName,
|
|
39
|
+
event.triggerEventName,
|
|
40
|
+
event.triggerEvent,
|
|
41
|
+
);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
33
44
|
}
|
|
34
45
|
|
|
35
46
|
protected registerToCtx(): void {
|
|
@@ -10,9 +10,9 @@ export interface IDataAbilityParams {
|
|
|
10
10
|
* 当前这次操作附加的上下文参数
|
|
11
11
|
* @author lxm
|
|
12
12
|
* @date 2023-03-21 05:53:33
|
|
13
|
-
* @type {
|
|
13
|
+
* @type {IParams}
|
|
14
14
|
*/
|
|
15
|
-
context?:
|
|
15
|
+
context?: IParams;
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
18
|
* 当前这次操作附加的视图参数
|
|
@@ -20,7 +20,7 @@ export interface IDataAbilityParams {
|
|
|
20
20
|
* @date 2023-03-21 05:54:23
|
|
21
21
|
* @type {IParams}
|
|
22
22
|
*/
|
|
23
|
-
|
|
23
|
+
viewParam?: IParams;
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* 执行能力使用的数据集合
|
|
@@ -29,5 +29,5 @@ export interface IDataAbilityParams {
|
|
|
29
29
|
* @date 2023-03-21 05:54:33
|
|
30
30
|
* @type {IData[]}
|
|
31
31
|
*/
|
|
32
|
-
data?: IData[];
|
|
32
|
+
data?: IData[] | IData;
|
|
33
33
|
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 全局悬浮窗口配置项
|
|
3
|
+
*
|
|
4
|
+
* @author chitanda
|
|
5
|
+
* @date 2023-10-11 21:10:18
|
|
6
|
+
* @export
|
|
7
|
+
* @interface IFloatWindowOptions
|
|
8
|
+
*/
|
|
9
|
+
export interface IFloatWindowOptions {
|
|
10
|
+
/**
|
|
11
|
+
* 初始宽度,单位 px
|
|
12
|
+
*
|
|
13
|
+
* @author chitanda
|
|
14
|
+
* @date 2023-10-11 21:10:10
|
|
15
|
+
* @type {number}
|
|
16
|
+
*/
|
|
17
|
+
width?: number;
|
|
18
|
+
/**
|
|
19
|
+
* 初始高度,单位 px
|
|
20
|
+
*
|
|
21
|
+
* @author chitanda
|
|
22
|
+
* @date 2023-10-11 21:10:19
|
|
23
|
+
* @type {number}
|
|
24
|
+
*/
|
|
25
|
+
height?: number;
|
|
26
|
+
/**
|
|
27
|
+
* 最小宽度,单位 px
|
|
28
|
+
*
|
|
29
|
+
* @author chitanda
|
|
30
|
+
* @date 2023-10-11 22:10:18
|
|
31
|
+
* @type {number}
|
|
32
|
+
*/
|
|
33
|
+
minWidth?: number;
|
|
34
|
+
/**
|
|
35
|
+
* 最小高度,单位 px
|
|
36
|
+
*
|
|
37
|
+
* @author chitanda
|
|
38
|
+
* @date 2023-10-11 22:10:25
|
|
39
|
+
* @type {number}
|
|
40
|
+
*/
|
|
41
|
+
minHeight?: number;
|
|
42
|
+
/**
|
|
43
|
+
* 初始 x 坐标,单位 px
|
|
44
|
+
*
|
|
45
|
+
* @author chitanda
|
|
46
|
+
* @date 2023-10-11 21:10:29
|
|
47
|
+
* @type {number}
|
|
48
|
+
*/
|
|
49
|
+
x?: number;
|
|
50
|
+
/**
|
|
51
|
+
* 初始 y 坐标,单位 px
|
|
52
|
+
*
|
|
53
|
+
* @author chitanda
|
|
54
|
+
* @date 2023-10-11 21:10:38
|
|
55
|
+
* @type {number}
|
|
56
|
+
*/
|
|
57
|
+
y?: number;
|
|
58
|
+
/**
|
|
59
|
+
* 附加样式,用于自定义样式
|
|
60
|
+
*
|
|
61
|
+
* @author chitanda
|
|
62
|
+
* @date 2023-10-11 21:10:22
|
|
63
|
+
* @type {string}
|
|
64
|
+
*/
|
|
65
|
+
windowClass?: string;
|
|
66
|
+
/**
|
|
67
|
+
* 是否默认全屏
|
|
68
|
+
*
|
|
69
|
+
* @author chitanda
|
|
70
|
+
* @date 2023-10-11 21:10:49
|
|
71
|
+
* @type {boolean}
|
|
72
|
+
*/
|
|
73
|
+
fullscreen?: boolean;
|
|
74
|
+
}
|
|
@@ -30,3 +30,4 @@ export type {
|
|
|
30
30
|
} from './i-app-view-config-service/i-app-view-config-service';
|
|
31
31
|
export type { IOpenViewOptions } from './i-open-view-options/i-open-view-options';
|
|
32
32
|
export type { IErrorHandler } from './i-error-handler/i-error-handler';
|
|
33
|
+
export type { IFloatWindowOptions } from './i-float-window-options/i-float-window-options';
|