@ibiz-template/runtime 0.1.36 → 0.1.38
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 +13465 -1025
- package/dist/index.system.min.js +1 -1
- package/dist/index.system.min.js.map +1 -1
- package/out/application.d.ts +9 -1
- package/out/application.d.ts.map +1 -1
- package/out/application.js +9 -2
- package/out/constant/view-call-tag.d.ts +5 -1
- package/out/constant/view-call-tag.d.ts.map +1 -1
- package/out/constant/view-call-tag.js +4 -0
- package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.d.ts.map +1 -1
- package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.js +1 -0
- package/out/controller/control/exp-bar/chart-exp-bar.controller.d.ts +24 -0
- package/out/controller/control/exp-bar/chart-exp-bar.controller.d.ts.map +1 -0
- package/out/controller/control/exp-bar/chart-exp-bar.controller.js +32 -0
- package/out/controller/control/exp-bar/index.d.ts +1 -0
- package/out/controller/control/exp-bar/index.d.ts.map +1 -1
- package/out/controller/control/exp-bar/index.js +1 -0
- package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts +3 -3
- package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts.map +1 -1
- package/out/controller/control/form/form-detail/form-item/form-item.controller.js +13 -8
- package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.d.ts +1 -0
- package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.d.ts.map +1 -1
- package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.js +8 -0
- package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.d.ts +3 -3
- package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.d.ts.map +1 -1
- package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.js +13 -8
- package/out/controller/control/index.d.ts +1 -0
- package/out/controller/control/index.d.ts.map +1 -1
- package/out/controller/control/index.js +1 -0
- package/out/controller/control/medit-view-panel/index.d.ts +3 -0
- package/out/controller/control/medit-view-panel/index.d.ts.map +1 -0
- package/out/controller/control/medit-view-panel/index.js +2 -0
- package/out/controller/control/medit-view-panel/medit-view-panel.controller.d.ts +107 -0
- package/out/controller/control/medit-view-panel/medit-view-panel.controller.d.ts.map +1 -0
- package/out/controller/control/medit-view-panel/medit-view-panel.controller.js +260 -0
- package/out/controller/control/medit-view-panel/medit-view-panel.service.d.ts +11 -0
- package/out/controller/control/medit-view-panel/medit-view-panel.service.d.ts.map +1 -0
- package/out/controller/control/medit-view-panel/medit-view-panel.service.js +9 -0
- package/out/controller/control/search-bar/search-bar.controller.d.ts.map +1 -1
- package/out/controller/control/search-bar/search-bar.controller.js +3 -3
- package/out/controller/utils/value-rule/value-rule.d.ts +10 -1
- package/out/controller/utils/value-rule/value-rule.d.ts.map +1 -1
- package/out/controller/utils/value-rule/value-rule.js +64 -1
- package/out/de-logic/de-logic-context.d.ts +4 -4
- package/out/de-logic/de-logic-context.d.ts.map +1 -1
- package/out/de-logic/de-logic-context.js +2 -1
- package/out/de-logic/de-logic-link/de-logic-link.js +1 -1
- package/out/de-logic/de-logic-param/de-logic-param.d.ts.map +1 -1
- package/out/de-logic/de-logic-param/de-logic-param.js +7 -1
- package/out/de-logic/de-logic.d.ts +1 -1
- package/out/de-logic/de-logic.d.ts.map +1 -1
- package/out/de-logic/index.d.ts +5 -5
- package/out/de-logic/index.d.ts.map +1 -1
- package/out/de-logic/index.js +32 -5
- package/out/engine/md-view.engine.d.ts +3 -3
- package/out/engine/md-view.engine.d.ts.map +1 -1
- package/out/engine/md-view.engine.js +14 -12
- package/out/hub/config/app-view-config-service.d.ts +3 -1
- package/out/hub/config/app-view-config-service.d.ts.map +1 -1
- package/out/hub/config/app-view-config-service.js +9 -0
- package/out/interface/common/i-app-view-config-service/i-app-view-config-service.d.ts +20 -2
- package/out/interface/common/i-app-view-config-service/i-app-view-config-service.d.ts.map +1 -1
- package/out/interface/controller/controller/control/i-chart-exp-bar.controller.d.ts +15 -0
- package/out/interface/controller/controller/control/i-chart-exp-bar.controller.d.ts.map +1 -0
- package/out/interface/controller/controller/control/i-chart-exp-bar.controller.js +1 -0
- package/out/interface/controller/controller/control/i-medit-view-panel.controller.d.ts +14 -0
- package/out/interface/controller/controller/control/i-medit-view-panel.controller.d.ts.map +1 -0
- package/out/interface/controller/controller/control/i-medit-view-panel.controller.js +1 -0
- package/out/interface/controller/controller/control/index.d.ts +2 -0
- package/out/interface/controller/controller/control/index.d.ts.map +1 -1
- package/out/interface/controller/controller/control/index.js +2 -0
- package/out/interface/controller/event/control/i-chart-exp-bar.event.d.ts +11 -0
- package/out/interface/controller/event/control/i-chart-exp-bar.event.d.ts.map +1 -0
- package/out/interface/controller/event/control/i-chart-exp-bar.event.js +1 -0
- package/out/interface/controller/event/control/i-medit-view-panel.event.d.ts +9 -0
- package/out/interface/controller/event/control/i-medit-view-panel.event.d.ts.map +1 -0
- package/out/interface/controller/event/control/i-medit-view-panel.event.js +1 -0
- package/out/interface/controller/event/control/index.d.ts +2 -0
- package/out/interface/controller/event/control/index.d.ts.map +1 -1
- package/out/interface/controller/event/control/index.js +2 -0
- package/out/interface/controller/event/view/i-chart-exp-view.event.d.ts +11 -0
- package/out/interface/controller/event/view/i-chart-exp-view.event.d.ts.map +1 -0
- package/out/interface/controller/event/view/i-chart-exp-view.event.js +1 -0
- package/out/interface/controller/event/view/i-medit-view9.event.d.ts +10 -0
- package/out/interface/controller/event/view/i-medit-view9.event.d.ts.map +1 -0
- package/out/interface/controller/event/view/i-medit-view9.event.js +1 -0
- package/out/interface/controller/event/view/index.d.ts +2 -0
- package/out/interface/controller/event/view/index.d.ts.map +1 -1
- package/out/interface/controller/event/view/index.js +2 -0
- package/out/interface/controller/state/control/i-chart-exp-bar.state.d.ts +11 -0
- package/out/interface/controller/state/control/i-chart-exp-bar.state.d.ts.map +1 -0
- package/out/interface/controller/state/control/i-chart-exp-bar.state.js +1 -0
- package/out/interface/controller/state/control/i-medit-view-panel.state.d.ts +29 -0
- package/out/interface/controller/state/control/i-medit-view-panel.state.d.ts.map +1 -0
- package/out/interface/controller/state/control/i-medit-view-panel.state.js +1 -0
- package/out/interface/controller/state/control/index.d.ts +2 -0
- package/out/interface/controller/state/control/index.d.ts.map +1 -1
- package/out/interface/controller/state/control/index.js +2 -0
- package/out/interface/controller/state/view/i-chart-exp-view.state.d.ts +11 -0
- package/out/interface/controller/state/view/i-chart-exp-view.state.d.ts.map +1 -0
- package/out/interface/controller/state/view/i-chart-exp-view.state.js +1 -0
- package/out/interface/controller/state/view/i-medit-view9.state.d.ts +11 -0
- package/out/interface/controller/state/view/i-medit-view9.state.d.ts.map +1 -0
- package/out/interface/controller/state/view/i-medit-view9.state.js +1 -0
- package/out/interface/controller/state/view/index.d.ts +2 -0
- package/out/interface/controller/state/view/index.d.ts.map +1 -1
- package/out/interface/controller/state/view/index.js +2 -0
- package/out/interface/service/code-list-item/code-list-item.d.ts +16 -0
- package/out/interface/service/code-list-item/code-list-item.d.ts.map +1 -1
- package/out/service/index.d.ts +1 -0
- package/out/service/index.d.ts.map +1 -1
- package/out/service/index.js +1 -0
- package/out/service/mqtt/mqtt.service.d.ts +66 -0
- package/out/service/mqtt/mqtt.service.d.ts.map +1 -0
- package/out/service/mqtt/mqtt.service.js +95 -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 +12 -1
- package/out/service/service/entity/de.service.d.ts +2 -2
- package/out/service/service/entity/de.service.d.ts.map +1 -1
- package/out/service/service/entity/method/de-action.d.ts +14 -5
- package/out/service/service/entity/method/de-action.d.ts.map +1 -1
- package/out/service/service/entity/method/de-action.js +56 -15
- package/out/service/service/entity/method/fetch.d.ts +1 -1
- package/out/service/service/entity/method/fetch.d.ts.map +1 -1
- package/out/service/service/entity/method/fetch.js +9 -6
- package/out/service/service/entity/method/method.d.ts +13 -13
- package/out/service/service/entity/method/method.d.ts.map +1 -1
- package/out/service/service/entity/method/method.js +16 -11
- package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts +7 -1
- 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 +76 -8
- package/out/ui-action/uiaction-util.js +3 -3
- 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 +7 -1
- package/out/utils/script/script-factory.d.ts +10 -0
- package/out/utils/script/script-factory.d.ts.map +1 -1
- package/out/utils/script/script-factory.js +15 -0
- package/package.json +5 -3
- package/src/application.ts +22 -1
- package/src/constant/view-call-tag.ts +4 -0
- package/src/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.ts +2 -0
- package/src/controller/control/exp-bar/chart-exp-bar.controller.ts +51 -0
- package/src/controller/control/exp-bar/index.ts +1 -0
- package/src/controller/control/form/form-detail/form-item/form-item.controller.ts +22 -9
- package/src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts +14 -0
- package/src/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.ts +18 -13
- package/src/controller/control/index.ts +1 -0
- package/src/controller/control/medit-view-panel/index.ts +2 -0
- package/src/controller/control/medit-view-panel/medit-view-panel.controller.ts +305 -0
- package/src/controller/control/medit-view-panel/medit-view-panel.service.ts +10 -0
- package/src/controller/control/search-bar/search-bar.controller.ts +6 -5
- package/src/controller/utils/value-rule/value-rule.ts +97 -2
- package/src/de-logic/de-logic-context.ts +6 -5
- package/src/de-logic/de-logic-link/de-logic-link.ts +1 -1
- package/src/de-logic/de-logic-param/de-logic-param.ts +6 -1
- package/src/de-logic/de-logic.ts +5 -1
- package/src/de-logic/index.ts +49 -8
- package/src/engine/md-view.engine.ts +16 -13
- package/src/hub/config/app-view-config-service.ts +12 -1
- package/src/interface/common/i-app-view-config-service/i-app-view-config-service.ts +22 -4
- package/src/interface/controller/controller/control/i-chart-exp-bar.controller.ts +19 -0
- package/src/interface/controller/controller/control/i-medit-view-panel.controller.ts +17 -0
- package/src/interface/controller/controller/control/index.ts +2 -0
- package/src/interface/controller/event/control/i-chart-exp-bar.event.ts +10 -0
- package/src/interface/controller/event/control/i-medit-view-panel.event.ts +9 -0
- package/src/interface/controller/event/control/index.ts +2 -0
- package/src/interface/controller/event/view/i-chart-exp-view.event.ts +11 -0
- package/src/interface/controller/event/view/i-medit-view9.event.ts +10 -0
- package/src/interface/controller/event/view/index.ts +2 -0
- package/src/interface/controller/state/control/i-chart-exp-bar.state.ts +10 -0
- package/src/interface/controller/state/control/i-medit-view-panel.state.ts +36 -0
- package/src/interface/controller/state/control/index.ts +2 -0
- package/src/interface/controller/state/view/i-chart-exp-view.state.ts +10 -0
- package/src/interface/controller/state/view/i-medit-view9.state.ts +10 -0
- package/src/interface/controller/state/view/index.ts +2 -0
- package/src/interface/service/code-list-item/code-list-item.ts +20 -0
- package/src/service/index.ts +1 -0
- package/src/service/mqtt/mqtt.service.ts +117 -0
- package/src/service/service/code-list/code-list.service.ts +15 -1
- package/src/service/service/entity/de.service.ts +2 -2
- package/src/service/service/entity/method/de-action.ts +74 -33
- package/src/service/service/entity/method/fetch.ts +12 -11
- package/src/service/service/entity/method/method.ts +28 -19
- package/src/service/utils/dynamic-code-list/dynamic-code-list.ts +103 -10
- package/src/ui-action/uiaction-util.ts +3 -3
- package/src/ui-logic/ui-logic-param/ui-logic-param.ts +6 -1
- package/src/utils/script/script-factory.ts +16 -0
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
import { ascSort, descSort } from 'qx-util';
|
|
7
7
|
import { clone, equals, isEmpty, isNil, where } from 'ramda';
|
|
8
8
|
import { IAppDEDataSet } from '@ibiz/model-core';
|
|
9
|
+
import { isArray } from 'lodash-es';
|
|
9
10
|
import { PSDEDQCondEngine, SearchFilter } from '../../../utils';
|
|
10
11
|
import { Method } from './method';
|
|
11
12
|
import { IDataEntity } from '../../../../interface';
|
|
@@ -30,14 +31,17 @@ export class FetchMethod extends Method {
|
|
|
30
31
|
|
|
31
32
|
async exec(
|
|
32
33
|
context: IParams,
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
params?: IData | IData[],
|
|
35
|
+
params2?: IParams,
|
|
35
36
|
): Promise<HttpResponse<IDataEntity[]>> {
|
|
37
|
+
// 过滤参数,必须是对象
|
|
38
|
+
const searchParams = params && isArray(params) ? params : params2 || {};
|
|
39
|
+
|
|
36
40
|
if (this.isLocalMode) {
|
|
37
41
|
// 临时数据
|
|
38
42
|
const items = await this.searchLocal(
|
|
39
43
|
null,
|
|
40
|
-
new SearchFilter(context,
|
|
44
|
+
new SearchFilter(context, searchParams),
|
|
41
45
|
);
|
|
42
46
|
return new HttpResponse<IDataEntity[]>(items, 200);
|
|
43
47
|
}
|
|
@@ -48,12 +52,12 @@ export class FetchMethod extends Method {
|
|
|
48
52
|
case 'INDEXDE':
|
|
49
53
|
case 'CODELIST':
|
|
50
54
|
case 'MULTIFORM':
|
|
51
|
-
res = await this.fetchCodeListSet(context,
|
|
55
|
+
res = await this.fetchCodeListSet(context, searchParams);
|
|
52
56
|
break;
|
|
53
57
|
case 'REMOTE':
|
|
54
58
|
{
|
|
55
59
|
const path = this.calcPath(context);
|
|
56
|
-
res = await this.request(path, context,
|
|
60
|
+
res = await this.request(path, context, params, params2);
|
|
57
61
|
}
|
|
58
62
|
break;
|
|
59
63
|
default:
|
|
@@ -68,13 +72,10 @@ export class FetchMethod extends Method {
|
|
|
68
72
|
res.data = items.map(item => this.createEntity(item));
|
|
69
73
|
|
|
70
74
|
// 计算属性逻辑,每条数据走一遍
|
|
71
|
-
if (res.data
|
|
72
|
-
|
|
73
|
-
res.data.map((item: IData) =>
|
|
74
|
-
execFieldLogics(this.entity, 'compute', context, item, params),
|
|
75
|
-
),
|
|
76
|
-
);
|
|
75
|
+
if (res.data) {
|
|
76
|
+
execFieldLogics(this.entity, 'compute', context, res.data, searchParams);
|
|
77
77
|
}
|
|
78
|
+
|
|
78
79
|
return res as HttpResponse<IDataEntity[]>;
|
|
79
80
|
}
|
|
80
81
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
2
|
import { HttpResponse, RuntimeModelError } from '@ibiz-template/core';
|
|
3
3
|
import { IAppDataEntity, IAppDEMethod } from '@ibiz/model-core';
|
|
4
|
-
import {
|
|
4
|
+
import { isArray } from 'lodash-es';
|
|
5
5
|
import { Application } from '../../../../application';
|
|
6
6
|
import { AppDataEntity } from '../../../app-data-entity/app-data-entity';
|
|
7
7
|
import { calcResPath } from '../../../utils';
|
|
@@ -71,16 +71,17 @@ export abstract class Method {
|
|
|
71
71
|
/**
|
|
72
72
|
* 执行行为
|
|
73
73
|
*
|
|
74
|
-
* @author
|
|
75
|
-
* @date
|
|
76
|
-
* @
|
|
77
|
-
* @param {
|
|
78
|
-
* @param {
|
|
74
|
+
* @author lxm
|
|
75
|
+
* @date 2023-10-19 02:42:49
|
|
76
|
+
* @abstract
|
|
77
|
+
* @param {IParams} context 上下文
|
|
78
|
+
* @param {(IData | IData[])} [params] 请求参数
|
|
79
|
+
* @param {IParams} [params2] 查询参数
|
|
79
80
|
* @return {*} {Promise<HttpResponse>}
|
|
80
81
|
*/
|
|
81
82
|
abstract exec(
|
|
82
83
|
context: IParams,
|
|
83
|
-
params?: IData,
|
|
84
|
+
params?: IData | IData[],
|
|
84
85
|
params2?: IParams,
|
|
85
86
|
): Promise<HttpResponse>;
|
|
86
87
|
|
|
@@ -99,7 +100,7 @@ export abstract class Method {
|
|
|
99
100
|
protected async request(
|
|
100
101
|
path: string,
|
|
101
102
|
context: IParams,
|
|
102
|
-
data?: IData,
|
|
103
|
+
data?: IData | IData[],
|
|
103
104
|
params?: IParams,
|
|
104
105
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
105
106
|
): Promise<HttpResponse<any>> {
|
|
@@ -111,7 +112,7 @@ export abstract class Method {
|
|
|
111
112
|
case 'POST':
|
|
112
113
|
res = await this.app.net.post(
|
|
113
114
|
this.mergeRequestPath(path, methodName),
|
|
114
|
-
|
|
115
|
+
data || params || {},
|
|
115
116
|
);
|
|
116
117
|
break;
|
|
117
118
|
case 'GET':
|
|
@@ -123,7 +124,7 @@ export abstract class Method {
|
|
|
123
124
|
case 'PUT': {
|
|
124
125
|
res = await this.app.net.put(
|
|
125
126
|
this.mergeRequestPath(path, methodName),
|
|
126
|
-
|
|
127
|
+
data || params || {},
|
|
127
128
|
);
|
|
128
129
|
break;
|
|
129
130
|
}
|
|
@@ -184,17 +185,25 @@ export abstract class Method {
|
|
|
184
185
|
|
|
185
186
|
/**
|
|
186
187
|
* 创建实体
|
|
187
|
-
*
|
|
188
|
-
* @
|
|
189
|
-
* @date 2022-10-11 22:10:05
|
|
188
|
+
* @author lxm
|
|
189
|
+
* @date 2023-10-19 03:22:00
|
|
190
190
|
* @protected
|
|
191
|
-
* @param {(IData | IDataEntity)} data
|
|
192
|
-
* @return {*} {IDataEntity}
|
|
191
|
+
* @param {(IData[] | IDataEntity[] | IData | IDataEntity)} data
|
|
192
|
+
* @return {*} {(IDataEntity | IDataEntity[])}
|
|
193
193
|
*/
|
|
194
|
-
protected createEntity(
|
|
195
|
-
|
|
196
|
-
|
|
194
|
+
protected createEntity(
|
|
195
|
+
data: IData[] | IDataEntity[] | IData | IDataEntity,
|
|
196
|
+
): IDataEntity | IDataEntity[] {
|
|
197
|
+
const toEntity = (single: IData | IDataEntity): IDataEntity => {
|
|
198
|
+
if (single instanceof AppDataEntity) {
|
|
199
|
+
return single.clone();
|
|
200
|
+
}
|
|
201
|
+
return new AppDataEntity(this.entity, single);
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
if (isArray(data)) {
|
|
205
|
+
return data.map(item => toEntity(item));
|
|
197
206
|
}
|
|
198
|
-
return
|
|
207
|
+
return toEntity(data);
|
|
199
208
|
}
|
|
200
209
|
}
|
|
@@ -3,6 +3,7 @@ import { ModelError, RuntimeModelError } from '@ibiz-template/core';
|
|
|
3
3
|
import { isNil } from 'ramda';
|
|
4
4
|
import { Application } from '../../../application';
|
|
5
5
|
import { CodeListItem } from '../../../interface';
|
|
6
|
+
import { ScriptFactory } from '../../../utils';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* 实际缓存对象
|
|
@@ -129,17 +130,59 @@ export class DynamicCodeListCache {
|
|
|
129
130
|
* @param {IData} data
|
|
130
131
|
* @returns {*}
|
|
131
132
|
*/
|
|
132
|
-
protected convertData(data: IData):
|
|
133
|
-
|
|
134
|
-
const
|
|
133
|
+
protected convertData(data: IData): CodeListItem {
|
|
134
|
+
const result = {} as CodeListItem;
|
|
135
|
+
const {
|
|
136
|
+
valueAppDEFieldId,
|
|
137
|
+
textAppDEFieldId,
|
|
138
|
+
iconClsAppDEFieldId,
|
|
139
|
+
iconClsXAppDEFieldId,
|
|
140
|
+
iconPathAppDEFieldId,
|
|
141
|
+
iconPathXAppDEFieldId,
|
|
142
|
+
disableAppDEFieldId,
|
|
143
|
+
dataAppDEFieldId,
|
|
144
|
+
} = this.codeList;
|
|
135
145
|
// 值属性
|
|
136
|
-
const { valueAppDEFieldId, textAppDEFieldId } = this.codeList;
|
|
137
146
|
const value = valueAppDEFieldId ? data[valueAppDEFieldId] : data.srfkey;
|
|
138
147
|
result.id = value;
|
|
139
148
|
result.value = value;
|
|
140
149
|
// 文本属性
|
|
141
150
|
result.text = textAppDEFieldId ? data[textAppDEFieldId] : data.srfmajortext;
|
|
142
|
-
|
|
151
|
+
if (
|
|
152
|
+
iconClsAppDEFieldId ||
|
|
153
|
+
iconClsXAppDEFieldId ||
|
|
154
|
+
iconPathAppDEFieldId ||
|
|
155
|
+
iconPathXAppDEFieldId
|
|
156
|
+
) {
|
|
157
|
+
result.sysImage = {};
|
|
158
|
+
// 图标样式属性
|
|
159
|
+
if (iconClsAppDEFieldId) {
|
|
160
|
+
result.sysImage.cssClass = data[iconClsAppDEFieldId];
|
|
161
|
+
}
|
|
162
|
+
// 图标样式(倍数)属性
|
|
163
|
+
if (iconClsXAppDEFieldId) {
|
|
164
|
+
result.sysImage.cssClassX = data[iconClsXAppDEFieldId];
|
|
165
|
+
}
|
|
166
|
+
// 图标路径属性
|
|
167
|
+
if (iconPathAppDEFieldId) {
|
|
168
|
+
result.sysImage.imagePath = data[iconPathAppDEFieldId];
|
|
169
|
+
}
|
|
170
|
+
// 图标路径(倍数)属性
|
|
171
|
+
if (iconPathXAppDEFieldId) {
|
|
172
|
+
result.sysImage.imagePathX = data[iconPathXAppDEFieldId];
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
// 禁止选择属性
|
|
176
|
+
if (disableAppDEFieldId) {
|
|
177
|
+
result.disableSelect = data[disableAppDEFieldId];
|
|
178
|
+
}
|
|
179
|
+
// 数据属性
|
|
180
|
+
if (dataAppDEFieldId && data[dataAppDEFieldId]) {
|
|
181
|
+
result.data = ScriptFactory.execSingleLine(
|
|
182
|
+
data[dataAppDEFieldId],
|
|
183
|
+
) as IData;
|
|
184
|
+
}
|
|
185
|
+
return result;
|
|
143
186
|
}
|
|
144
187
|
|
|
145
188
|
/**
|
|
@@ -157,11 +200,24 @@ export class DynamicCodeListCache {
|
|
|
157
200
|
params: IParams = {},
|
|
158
201
|
): Promise<CodeListItem[]> {
|
|
159
202
|
const app = ibiz.hub.getApp(context.srfappid);
|
|
203
|
+
const {
|
|
204
|
+
appDataEntityId,
|
|
205
|
+
appDEDataSetId,
|
|
206
|
+
minorSortAppDEFieldId,
|
|
207
|
+
minorSortDir,
|
|
208
|
+
pvalueAppDEFieldId,
|
|
209
|
+
} = this.codeList;
|
|
160
210
|
// *预定义加载
|
|
161
211
|
// 特殊处理,避免预置代码表加载不全
|
|
162
212
|
if (!params.size) {
|
|
163
213
|
params = { ...params, size: 10000 };
|
|
164
214
|
}
|
|
215
|
+
// 排序
|
|
216
|
+
if (minorSortAppDEFieldId && minorSortDir) {
|
|
217
|
+
Object.assign(params, {
|
|
218
|
+
sort: `${minorSortAppDEFieldId.toLowerCase()},${minorSortDir.toLowerCase()}`,
|
|
219
|
+
});
|
|
220
|
+
}
|
|
165
221
|
if (this.isPredefined) {
|
|
166
222
|
const res = await app.net.get(
|
|
167
223
|
`/dictionaries/codelist/${this.codeList.codeName}`,
|
|
@@ -171,7 +227,6 @@ export class DynamicCodeListCache {
|
|
|
171
227
|
}
|
|
172
228
|
|
|
173
229
|
// *加载实体服务数据
|
|
174
|
-
const { appDataEntityId, appDEDataSetId } = this.codeList;
|
|
175
230
|
if (!appDataEntityId) {
|
|
176
231
|
throw new RuntimeModelError(this.codeList, '未配置应用实体');
|
|
177
232
|
}
|
|
@@ -188,12 +243,50 @@ export class DynamicCodeListCache {
|
|
|
188
243
|
);
|
|
189
244
|
let resultItems: CodeListItem[] = [];
|
|
190
245
|
if (res.data.length) {
|
|
191
|
-
|
|
192
|
-
|
|
246
|
+
res.data.forEach((item: IData) => {
|
|
247
|
+
if (pvalueAppDEFieldId) {
|
|
248
|
+
const tempItems = this.prepareTreeData(res.data as IData[]);
|
|
249
|
+
if (tempItems) {
|
|
250
|
+
resultItems = tempItems;
|
|
251
|
+
}
|
|
252
|
+
} else {
|
|
253
|
+
resultItems.push(this.convertData(item));
|
|
254
|
+
}
|
|
193
255
|
});
|
|
194
|
-
// todo 动态树形代码表
|
|
195
256
|
}
|
|
196
|
-
return resultItems;
|
|
257
|
+
return Object.freeze(resultItems) as CodeListItem[];
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* 组装树形代码表数据
|
|
262
|
+
*
|
|
263
|
+
* @return {codeListItem[] | undefined}
|
|
264
|
+
*/
|
|
265
|
+
protected prepareTreeData(
|
|
266
|
+
items: IData[],
|
|
267
|
+
pValue?: string | number,
|
|
268
|
+
): CodeListItem[] | undefined {
|
|
269
|
+
const { pvalueAppDEFieldId } = this.codeList;
|
|
270
|
+
let filteredData: IData[] = [];
|
|
271
|
+
filteredData = items.filter(item => {
|
|
272
|
+
if (pValue) {
|
|
273
|
+
// 有传父value去后台数据里找出来子项pValue等于父value的
|
|
274
|
+
return item[pvalueAppDEFieldId!] === pValue;
|
|
275
|
+
}
|
|
276
|
+
// 没有传父value,只需要找出来没有父值属性的
|
|
277
|
+
return !item[pvalueAppDEFieldId!];
|
|
278
|
+
});
|
|
279
|
+
if (filteredData.length === 0) {
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
return filteredData.map(data => {
|
|
283
|
+
const tempCodeListItem = this.convertData(data);
|
|
284
|
+
tempCodeListItem.children = this.prepareTreeData(
|
|
285
|
+
items,
|
|
286
|
+
tempCodeListItem.value,
|
|
287
|
+
);
|
|
288
|
+
return tempCodeListItem;
|
|
289
|
+
});
|
|
197
290
|
}
|
|
198
291
|
|
|
199
292
|
/**
|
|
@@ -61,13 +61,13 @@ export class UIActionUtil {
|
|
|
61
61
|
} else if (result.refresh) {
|
|
62
62
|
switch (result.refreshMode) {
|
|
63
63
|
case 1:
|
|
64
|
-
|
|
64
|
+
params.view.callUIAction(SysUIActionTag.REFRESH);
|
|
65
65
|
break;
|
|
66
66
|
case 2:
|
|
67
|
-
|
|
67
|
+
params.view.parentView?.callUIAction(SysUIActionTag.REFRESH);
|
|
68
68
|
break;
|
|
69
69
|
case 3:
|
|
70
|
-
|
|
70
|
+
params.view.getTopView()?.callUIAction(SysUIActionTag.REFRESH);
|
|
71
71
|
break;
|
|
72
72
|
default:
|
|
73
73
|
}
|
|
@@ -41,7 +41,12 @@ export class UILogicParam {
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
if (m.default) {
|
|
44
|
-
|
|
44
|
+
// 配置了数据对象列表的,default给数组格式的数据
|
|
45
|
+
if (m.entityListParam) {
|
|
46
|
+
ctx.params[tag] = data || [];
|
|
47
|
+
} else {
|
|
48
|
+
ctx.params[tag] = data && data.length > 0 ? data[0] : {};
|
|
49
|
+
}
|
|
45
50
|
} else if (m.activeContainerParam) {
|
|
46
51
|
ctx.params[tag] = parameters.ctrl || parameters.view;
|
|
47
52
|
} else if (m.activeCtrlParam) {
|
|
@@ -38,4 +38,20 @@ export class ScriptFactory {
|
|
|
38
38
|
args,
|
|
39
39
|
);
|
|
40
40
|
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* 执行单行脚本
|
|
44
|
+
* @author lxm
|
|
45
|
+
* @date 2023-10-20 03:20:56
|
|
46
|
+
* @static
|
|
47
|
+
* @param {string} scriptCode 脚本字符串
|
|
48
|
+
* @param {IParams} [args={}] 作用域变量参数对象
|
|
49
|
+
* @return {*} {unknown}
|
|
50
|
+
*/
|
|
51
|
+
static execSingleLine(scriptCode: string, args: IParams = {}): unknown {
|
|
52
|
+
return this.execScriptFn(args, scriptCode, {
|
|
53
|
+
singleRowReturn: true,
|
|
54
|
+
isAsync: false,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
41
57
|
}
|