@ibiz-template/runtime 0.1.1 → 0.1.3
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 +122 -92
- package/dist/index.system.min.js +1 -1
- package/dist/index.system.min.js.map +1 -1
- package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
- package/out/controller/common/control/md-control.controller.js +25 -26
- package/out/de-logic/index.d.ts +13 -0
- package/out/de-logic/index.d.ts.map +1 -1
- package/out/de-logic/index.js +34 -2
- package/out/engine/md-view.engine.d.ts +2 -2
- package/out/engine/md-view.engine.d.ts.map +1 -1
- package/out/engine/md-view.engine.js +7 -3
- package/out/index.d.ts +2 -0
- package/out/index.d.ts.map +1 -1
- package/out/index.js +2 -0
- package/out/interface/controller/controller/control/i-pickup-view-panel.controller.d.ts +10 -0
- package/out/interface/controller/controller/control/i-pickup-view-panel.controller.d.ts.map +1 -1
- package/out/interface/controller/controller/control/i-tree-exp-bar.controller.d.ts +11 -0
- package/out/interface/controller/controller/control/i-tree-exp-bar.controller.d.ts.map +1 -1
- package/out/interface/controller/controller/control/i-tree.controller.d.ts +0 -10
- package/out/interface/controller/controller/control/i-tree.controller.d.ts.map +1 -1
- package/out/interface/controller/event/control/i-pickup-view-panel.event.d.ts +15 -0
- package/out/interface/controller/event/control/i-pickup-view-panel.event.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-grid.state.d.ts +52 -0
- package/out/interface/controller/state/control/i-grid.state.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-tree.state.d.ts +2 -2
- package/out/interface/controller/state/control/i-tree.state.d.ts.map +1 -1
- package/out/model/layout/layout.d.ts.map +1 -1
- package/out/model/layout/layout.js +8 -2
- package/out/utils/open-redirect-view/open-redirect-view.d.ts.map +1 -1
- package/out/utils/open-redirect-view/open-redirect-view.js +18 -16
- package/package.json +4 -3
- package/src/controller/common/control/md-control.controller.ts +28 -29
- package/src/de-logic/index.ts +50 -2
- package/src/engine/md-view.engine.ts +8 -3
- package/src/index.ts +2 -0
- package/src/interface/controller/controller/control/i-pickup-view-panel.controller.ts +10 -0
- package/src/interface/controller/controller/control/i-tree-exp-bar.controller.ts +13 -1
- package/src/interface/controller/controller/control/i-tree.controller.ts +0 -11
- package/src/interface/controller/event/control/i-pickup-view-panel.event.ts +16 -0
- package/src/interface/controller/state/control/i-grid.state.ts +58 -0
- package/src/interface/controller/state/control/i-tree.state.ts +2 -2
- package/src/model/layout/layout.ts +6 -2
- package/src/utils/open-redirect-view/open-redirect-view.ts +18 -16
|
@@ -57,6 +57,7 @@ export class MDControlController<
|
|
|
57
57
|
this.state.isLoaded = false;
|
|
58
58
|
this.state.singleSelect = true;
|
|
59
59
|
this.state.mdctrlActiveMode = 0;
|
|
60
|
+
this.state.groups = [];
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
/**
|
|
@@ -114,44 +115,42 @@ export class MDControlController<
|
|
|
114
115
|
* @date 2022-08-19 14:08:50
|
|
115
116
|
*/
|
|
116
117
|
async load(args: MDCtrlLoadParams = {}): Promise<IData[]> {
|
|
117
|
-
// *初始加载需要重置分页
|
|
118
|
-
const isInitialLoad = args.isInitialLoad === true;
|
|
119
|
-
const isLoadMore = args.isLoadMore === true;
|
|
120
|
-
if (isInitialLoad) {
|
|
121
|
-
this.state.curPage = 1;
|
|
122
|
-
} else if (isLoadMore) {
|
|
123
|
-
this.state.curPage += 1;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
// *查询参数处理
|
|
127
|
-
const { context } = this.handlerAbilityParams(args);
|
|
128
|
-
const params = await this.getFetchParams(args?.params);
|
|
129
|
-
|
|
130
|
-
// *发起请求
|
|
131
118
|
await this.startLoading();
|
|
132
|
-
let res;
|
|
133
119
|
try {
|
|
134
|
-
|
|
120
|
+
// *初始加载需要重置分页
|
|
121
|
+
const isInitialLoad = args.isInitialLoad === true;
|
|
122
|
+
const isLoadMore = args.isLoadMore === true;
|
|
123
|
+
if (isInitialLoad) {
|
|
124
|
+
this.state.curPage = 1;
|
|
125
|
+
} else if (isLoadMore) {
|
|
126
|
+
this.state.curPage += 1;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// *查询参数处理
|
|
130
|
+
const { context } = this.handlerAbilityParams(args);
|
|
131
|
+
const params = await this.getFetchParams(args?.params);
|
|
132
|
+
|
|
133
|
+
const res = await this.service.fetch(context, params);
|
|
135
134
|
// 更新分页数据总条数
|
|
136
135
|
if (typeof res.total === 'number') {
|
|
137
136
|
this.state.total = res.total;
|
|
138
137
|
}
|
|
139
|
-
} finally {
|
|
140
|
-
await this.endLoading();
|
|
141
|
-
}
|
|
142
138
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
139
|
+
if (isLoadMore) {
|
|
140
|
+
this.state.items.push(...res.data);
|
|
141
|
+
} else {
|
|
142
|
+
this.state.items = res.data;
|
|
143
|
+
}
|
|
148
144
|
|
|
149
|
-
|
|
145
|
+
await this.afterLoad(args, res.data);
|
|
150
146
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
147
|
+
this.state.isLoaded = true;
|
|
148
|
+
await this._evt.emit('onLoadSuccess', {
|
|
149
|
+
isInitialLoad,
|
|
150
|
+
});
|
|
151
|
+
} finally {
|
|
152
|
+
await this.endLoading();
|
|
153
|
+
}
|
|
155
154
|
|
|
156
155
|
return this.state.items;
|
|
157
156
|
}
|
package/src/de-logic/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { HttpError, HttpResponse } from '@ibiz-template/core';
|
|
1
|
+
import { HttpError, HttpResponse, RuntimeError } from '@ibiz-template/core';
|
|
2
2
|
import { IAppDataEntity, IAppDELogic } from '@ibiz/model-core';
|
|
3
|
-
import { filterFieldLogics } from '../model';
|
|
3
|
+
import { filterFieldLogics, findDELogic } from '../model';
|
|
4
4
|
import { DELogic } from './de-logic';
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -8,6 +8,24 @@ import { DELogic } from './de-logic';
|
|
|
8
8
|
*/
|
|
9
9
|
const deLogicMap: WeakMap<IAppDELogic, DELogic> = new Map();
|
|
10
10
|
|
|
11
|
+
/**
|
|
12
|
+
* 找到实体逻辑模型
|
|
13
|
+
* @author lxm
|
|
14
|
+
* @date 2023-08-04 02:47:16
|
|
15
|
+
* @param {string} deDELogicId
|
|
16
|
+
* @param {string} dataEntityId
|
|
17
|
+
* @param {string} [appId]
|
|
18
|
+
* @return {*} {(Promise<IAppDELogic | undefined>)}
|
|
19
|
+
*/
|
|
20
|
+
async function findDeLogic(
|
|
21
|
+
deDELogicId: string,
|
|
22
|
+
dataEntityId: string,
|
|
23
|
+
appId?: string,
|
|
24
|
+
): Promise<IAppDELogic | undefined> {
|
|
25
|
+
const appDataEntity = await ibiz.hub.getAppDataEntity(dataEntityId, appId);
|
|
26
|
+
return findDELogic(deDELogicId, appDataEntity);
|
|
27
|
+
}
|
|
28
|
+
|
|
11
29
|
/**
|
|
12
30
|
* 执行实体处理逻辑
|
|
13
31
|
*
|
|
@@ -34,6 +52,36 @@ export async function execDELogic(
|
|
|
34
52
|
return deLogic.exec(context, data, params);
|
|
35
53
|
}
|
|
36
54
|
|
|
55
|
+
/**
|
|
56
|
+
* 通过id执行实体逻辑
|
|
57
|
+
* @author lxm
|
|
58
|
+
* @date 2023-08-04 02:49:44
|
|
59
|
+
* @export
|
|
60
|
+
* @param {string} deDELogicId
|
|
61
|
+
* @param {string} dataEntityId
|
|
62
|
+
* @param {IParams} context
|
|
63
|
+
* @param {IData} data
|
|
64
|
+
* @param {IParams} params
|
|
65
|
+
* @return {*} {Promise<unknown>}
|
|
66
|
+
*/
|
|
67
|
+
export async function execDELogicById(
|
|
68
|
+
deDELogicId: string,
|
|
69
|
+
dataEntityId: string,
|
|
70
|
+
context: IParams,
|
|
71
|
+
data: IData,
|
|
72
|
+
params: IParams,
|
|
73
|
+
): Promise<unknown> {
|
|
74
|
+
const deLogic = await findDeLogic(
|
|
75
|
+
deDELogicId,
|
|
76
|
+
dataEntityId,
|
|
77
|
+
context.srfappid,
|
|
78
|
+
);
|
|
79
|
+
if (!deLogic) {
|
|
80
|
+
throw new RuntimeError(`${dataEntityId}找不到实体逻辑${deDELogicId}`);
|
|
81
|
+
}
|
|
82
|
+
return execDELogic(deLogic, context, data, params);
|
|
83
|
+
}
|
|
84
|
+
|
|
37
85
|
/**
|
|
38
86
|
* 执行实体方法的实体逻辑并返回对应的response
|
|
39
87
|
* @author lxm
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
ISearchFormController,
|
|
10
10
|
MDCtrlRemoveParams,
|
|
11
11
|
ISearchBarController,
|
|
12
|
+
MDCtrlLoadParams,
|
|
12
13
|
} from '../interface';
|
|
13
14
|
import { calcDeCodeNameById } from '../model';
|
|
14
15
|
import { ViewEngineBase } from './view-base.engine';
|
|
@@ -168,6 +169,10 @@ export class MDViewEngine extends ViewEngineBase {
|
|
|
168
169
|
this.copy(args);
|
|
169
170
|
return null;
|
|
170
171
|
}
|
|
172
|
+
if (key === 'load') {
|
|
173
|
+
this.load(args);
|
|
174
|
+
return null;
|
|
175
|
+
}
|
|
171
176
|
return super.call(key, args);
|
|
172
177
|
}
|
|
173
178
|
|
|
@@ -206,7 +211,7 @@ export class MDViewEngine extends ViewEngineBase {
|
|
|
206
211
|
});
|
|
207
212
|
|
|
208
213
|
if (result === -1) {
|
|
209
|
-
|
|
214
|
+
ibiz.log.warn(`视图[${this.view.model.codeName}],未配置编辑打开视图`);
|
|
210
215
|
}
|
|
211
216
|
}
|
|
212
217
|
|
|
@@ -267,8 +272,8 @@ export class MDViewEngine extends ViewEngineBase {
|
|
|
267
272
|
* @date 2023-05-22 03:17:33
|
|
268
273
|
* @return {*} {Promise<void>}
|
|
269
274
|
*/
|
|
270
|
-
protected async load(): Promise<void> {
|
|
271
|
-
await this.xdataControl.load({ isInitialLoad: true });
|
|
275
|
+
protected async load(args: MDCtrlLoadParams = {}): Promise<void> {
|
|
276
|
+
await this.xdataControl.load({ isInitialLoad: true, ...args });
|
|
272
277
|
}
|
|
273
278
|
|
|
274
279
|
/**
|
package/src/index.ts
CHANGED
|
@@ -10,6 +10,8 @@ export * from './service';
|
|
|
10
10
|
export * from './utils';
|
|
11
11
|
export * from './controller';
|
|
12
12
|
export * from './ui-action';
|
|
13
|
+
export * from './ui-logic';
|
|
14
|
+
export * from './de-logic';
|
|
13
15
|
export * from './engine';
|
|
14
16
|
export * from './model';
|
|
15
17
|
export { Application } from './application';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IDEPickupViewPanel } from '@ibiz/model-core';
|
|
2
2
|
import { IPickupViewPanelEvent } from '../../event';
|
|
3
3
|
import { IPickupViewPanelState } from '../../state';
|
|
4
|
+
import { IViewController } from '../view';
|
|
4
5
|
import { IControlController } from './i-control.controller';
|
|
5
6
|
|
|
6
7
|
/**
|
|
@@ -16,6 +17,15 @@ export interface IPickupViewPanelController
|
|
|
16
17
|
IPickupViewPanelState,
|
|
17
18
|
IPickupViewPanelEvent
|
|
18
19
|
> {
|
|
20
|
+
/**
|
|
21
|
+
* 选择视图嵌入视图控制器
|
|
22
|
+
*
|
|
23
|
+
* @author zk
|
|
24
|
+
* @date 2023-08-04 08:08:43
|
|
25
|
+
* @type {IViewController}
|
|
26
|
+
* @memberof IPickupViewPanelController
|
|
27
|
+
*/
|
|
28
|
+
embedView: IViewController;
|
|
19
29
|
/**
|
|
20
30
|
* 获取选中数据
|
|
21
31
|
*
|
|
@@ -2,6 +2,7 @@ import { ITreeExpBar } from '@ibiz/model-core';
|
|
|
2
2
|
import { ITreeExpBarEvent } from '../../event';
|
|
3
3
|
import { ITreeExpBarState } from '../../state';
|
|
4
4
|
import { IExpBarControlController } from './i-exp-bar-control.controller';
|
|
5
|
+
import { INavViewMsg } from './panel-item';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* 树导航栏控制器
|
|
@@ -15,4 +16,15 @@ export interface ITreeExpBarController
|
|
|
15
16
|
ITreeExpBar,
|
|
16
17
|
ITreeExpBarState,
|
|
17
18
|
ITreeExpBarEvent
|
|
18
|
-
> {
|
|
19
|
+
> {
|
|
20
|
+
/**
|
|
21
|
+
* 获取导航视图消息
|
|
22
|
+
*
|
|
23
|
+
* @author zk
|
|
24
|
+
* @date 2023-08-04 08:08:27
|
|
25
|
+
* @param {IData[]} data
|
|
26
|
+
* @return {*} {(INavViewMsg | undefined)}
|
|
27
|
+
* @memberof ITreeExpBarController
|
|
28
|
+
*/
|
|
29
|
+
getNavViewMsg(data: IData[]): INavViewMsg | undefined;
|
|
30
|
+
}
|
|
@@ -13,17 +13,6 @@ import { IMDControlController } from './i-md-control.controller';
|
|
|
13
13
|
*/
|
|
14
14
|
export interface ITreeController
|
|
15
15
|
extends IMDControlController<IDETree, ITreeState, ITreeEvent> {
|
|
16
|
-
/**
|
|
17
|
-
* 设置展开节点
|
|
18
|
-
*
|
|
19
|
-
* @author zk
|
|
20
|
-
* @date 2023-07-10 08:07:36
|
|
21
|
-
* @param {string[]} nodeKey
|
|
22
|
-
* @param {boolean} isExpanded
|
|
23
|
-
* @memberof ITreeController
|
|
24
|
-
*/
|
|
25
|
-
setExpandedKeys(nodeKeys: string[], isReplace?: boolean): void;
|
|
26
|
-
|
|
27
16
|
/**
|
|
28
17
|
* 树节点点击事件
|
|
29
18
|
*
|
|
@@ -38,4 +38,20 @@ export interface IPickupViewPanelEvent extends IControlEvent {
|
|
|
38
38
|
event: EventBase;
|
|
39
39
|
emitArgs: { data: IData[] };
|
|
40
40
|
};
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* 选择视图初始化
|
|
44
|
+
*
|
|
45
|
+
* @author zk
|
|
46
|
+
* @date 2023-08-04 05:08:37
|
|
47
|
+
* @type {{
|
|
48
|
+
* event: EventBase;
|
|
49
|
+
* emitArgs: { data: IViewController };
|
|
50
|
+
* }}
|
|
51
|
+
* @memberof IPickupViewPanelEvent
|
|
52
|
+
*/
|
|
53
|
+
onPickUpViewMounted: {
|
|
54
|
+
event: EventBase;
|
|
55
|
+
emitArgs: undefined;
|
|
56
|
+
};
|
|
41
57
|
}
|
|
@@ -11,6 +11,31 @@ export interface IGridState extends IMDControlState {
|
|
|
11
11
|
* @type {IGridRowState[]}
|
|
12
12
|
*/
|
|
13
13
|
rows: IGridRowState[];
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* 表格列状态数组
|
|
17
|
+
* 顺序就是列的排序
|
|
18
|
+
* @author lxm
|
|
19
|
+
* @date 2023-08-04 07:08:16
|
|
20
|
+
* @type {IColumnState[]}
|
|
21
|
+
*/
|
|
22
|
+
columnStates: IColumnState[];
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* 聚合计算的结果
|
|
26
|
+
* @author lxm
|
|
27
|
+
* @date 2023-08-07 04:09:08
|
|
28
|
+
* @type {IData}
|
|
29
|
+
*/
|
|
30
|
+
aggResult: IData;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* 远程聚合计算结果
|
|
34
|
+
* @author lxm
|
|
35
|
+
* @date 2023-08-07 05:36:54
|
|
36
|
+
* @type {IData}
|
|
37
|
+
*/
|
|
38
|
+
remoteAggResult?: IData;
|
|
14
39
|
}
|
|
15
40
|
|
|
16
41
|
export interface IGridRowState {
|
|
@@ -82,3 +107,36 @@ export interface IGridRowState {
|
|
|
82
107
|
*/
|
|
83
108
|
processing: boolean;
|
|
84
109
|
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* 表格列状态
|
|
113
|
+
* @author lxm
|
|
114
|
+
* @date 2023-08-04 07:19:02
|
|
115
|
+
* @export
|
|
116
|
+
* @interface IColumnState
|
|
117
|
+
*/
|
|
118
|
+
export interface IColumnState {
|
|
119
|
+
/**
|
|
120
|
+
* 列标识,是列模型的codeName
|
|
121
|
+
* @author lxm
|
|
122
|
+
* @date 2023-08-04 07:16:07
|
|
123
|
+
* @type {string}
|
|
124
|
+
*/
|
|
125
|
+
key: string;
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* 列的中文标题
|
|
129
|
+
* @author lxm
|
|
130
|
+
* @date 2023-08-04 07:17:57
|
|
131
|
+
* @type {string}
|
|
132
|
+
*/
|
|
133
|
+
caption: string;
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* 显示隐藏
|
|
137
|
+
* @author lxm
|
|
138
|
+
* @date 2023-08-04 07:18:47
|
|
139
|
+
* @type {boolean}
|
|
140
|
+
*/
|
|
141
|
+
hidden: boolean;
|
|
142
|
+
}
|
|
@@ -19,14 +19,14 @@ export interface ITreeState extends IMDControlState {
|
|
|
19
19
|
rootNode: ITreeNodeData;
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
22
|
+
* 默认展开的节点集合
|
|
23
23
|
*
|
|
24
24
|
* @author zk
|
|
25
25
|
* @date 2023-07-10 08:07:25
|
|
26
26
|
* @type {string[]}
|
|
27
27
|
* @memberof ITreeState
|
|
28
28
|
*/
|
|
29
|
-
|
|
29
|
+
defaultExpandedKeys: string[];
|
|
30
30
|
|
|
31
31
|
/**
|
|
32
32
|
* 右键上下文菜单状态
|
|
@@ -19,7 +19,9 @@ export function calcLayoutHeightWidth(layoutPos: ILayoutPos): {
|
|
|
19
19
|
if (widthMode === 'FULL') {
|
|
20
20
|
result.width = '100%';
|
|
21
21
|
} else if (width && width > 0) {
|
|
22
|
-
if (
|
|
22
|
+
if (width > 0 && width <= 1) {
|
|
23
|
+
result.width = `${width * 100}%`;
|
|
24
|
+
} else if (widthMode === 'PERCENTAGE') {
|
|
23
25
|
result.width = `${width}%`;
|
|
24
26
|
} else {
|
|
25
27
|
result.width = `${width}px`;
|
|
@@ -28,7 +30,9 @@ export function calcLayoutHeightWidth(layoutPos: ILayoutPos): {
|
|
|
28
30
|
if (heightMode === 'FULL') {
|
|
29
31
|
result.height = '100%';
|
|
30
32
|
} else if (height && height > 0) {
|
|
31
|
-
if (
|
|
33
|
+
if (height > 0 && height <= 1) {
|
|
34
|
+
result.height = `${height * 100}%`;
|
|
35
|
+
} else if (heightMode === 'PERCENTAGE') {
|
|
32
36
|
result.height = `${height}%`;
|
|
33
37
|
} else {
|
|
34
38
|
result.height = `${height}px`;
|
|
@@ -223,7 +223,7 @@ export async function openDERedirectView(
|
|
|
223
223
|
);
|
|
224
224
|
throw new RuntimeModelError(
|
|
225
225
|
appView,
|
|
226
|
-
`未找到重定向标识[${rdTag}]或[${deRdTag}]
|
|
226
|
+
`未找到重定向标识[${rdTag}]或[${deRdTag}]或工作流[${wfRdTag}]对应视图`,
|
|
227
227
|
);
|
|
228
228
|
}
|
|
229
229
|
return { ok: true, data: [] };
|
|
@@ -248,16 +248,6 @@ export async function calcDERdTag(
|
|
|
248
248
|
data: IData,
|
|
249
249
|
): Promise<string> {
|
|
250
250
|
let rdTag = '';
|
|
251
|
-
// 重定向视图自定义类别属性
|
|
252
|
-
const typeFieldId = rdView.typeAppDEFieldId;
|
|
253
|
-
// 自定义重定向
|
|
254
|
-
if (typeFieldId) {
|
|
255
|
-
const { codeName } = findFieldById(entity, typeFieldId)!;
|
|
256
|
-
const value = data[codeName!.toLowerCase()];
|
|
257
|
-
if (notNilEmpty(value)) {
|
|
258
|
-
return value;
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
251
|
const defView = `${ibiz.env.isMob ? 'MOB' : ''}EDITVIEW`;
|
|
262
252
|
// 如果流程步骤存在,按照工作流优先
|
|
263
253
|
const srfWf = params.srfwf;
|
|
@@ -268,10 +258,22 @@ export async function calcDERdTag(
|
|
|
268
258
|
return `${defView}:${srfWf.toUpperCase()}`;
|
|
269
259
|
}
|
|
270
260
|
let typeValue = '';
|
|
271
|
-
//
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
261
|
+
// 重定向视图自定义类别属性
|
|
262
|
+
const typeFieldId = rdView.typeAppDEFieldId;
|
|
263
|
+
// 自定义重定向
|
|
264
|
+
if (typeFieldId) {
|
|
265
|
+
const { codeName } = findFieldById(entity, typeFieldId)!;
|
|
266
|
+
const value = data[codeName!.toLowerCase()];
|
|
267
|
+
if (notNilEmpty(value)) {
|
|
268
|
+
typeValue = value;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
if (isNilOrEmpty(typeValue)) {
|
|
272
|
+
// 从索引属性获取重定向视图类型
|
|
273
|
+
if (entity.indexTypeAppDEFieldId) {
|
|
274
|
+
const { codeName } = findFieldById(entity, entity.indexTypeAppDEFieldId)!;
|
|
275
|
+
typeValue = data[codeName!.toLowerCase()];
|
|
276
|
+
}
|
|
275
277
|
}
|
|
276
278
|
if (isNilOrEmpty(typeValue)) {
|
|
277
279
|
// 从多表单属性判断重定向视图类型
|
|
@@ -281,7 +283,7 @@ export async function calcDERdTag(
|
|
|
281
283
|
}
|
|
282
284
|
}
|
|
283
285
|
if (notNilEmpty(typeValue)) {
|
|
284
|
-
rdTag = `${defView}:${typeValue}`;
|
|
286
|
+
rdTag = `${defView}:${typeValue.toUpperCase()}`;
|
|
285
287
|
} else {
|
|
286
288
|
rdTag = `${defView}`;
|
|
287
289
|
}
|