@ibiz-template/runtime 0.6.8 → 0.6.9
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 +241 -64
- package/dist/index.system.min.js +1 -1
- package/out/controller/common/control/control.controller.d.ts.map +1 -1
- package/out/controller/common/control/control.controller.js +6 -2
- 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 +3 -3
- package/out/controller/control/data-view/data-view.controller.d.ts.map +1 -1
- package/out/controller/control/data-view/data-view.controller.js +5 -5
- package/out/controller/control/form/form/form.controller.d.ts +2 -0
- package/out/controller/control/form/form/form.controller.d.ts.map +1 -1
- package/out/controller/control/form/form/form.controller.js +28 -23
- package/out/controller/control/form/form-detail/form-button/form-button.controller.js +1 -1
- package/out/controller/control/form/form-detail/form-group-panel/form-group-panel.controller.js +1 -1
- package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
- package/out/controller/control/grid/grid/grid.controller.js +2 -2
- package/out/controller/control/md-ctrl/md-ctrl.controller.js +1 -1
- package/out/controller/control/toolbar/toolbar.controllerr.js +2 -2
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-node-column.controller.js +1 -1
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.controller.js +1 -1
- package/out/controller/utils/button-state/button-container.state.d.ts +1 -1
- package/out/controller/utils/button-state/button-container.state.d.ts.map +1 -1
- package/out/controller/utils/button-state/button-container.state.js +2 -2
- package/out/controller/utils/button-state/ui-action-button.state.d.ts +2 -2
- package/out/controller/utils/button-state/ui-action-button.state.d.ts.map +1 -1
- package/out/controller/utils/button-state/ui-action-button.state.js +4 -4
- package/out/de-logic/de-logic.js +1 -1
- package/out/interface/controller/common/button-state/i-button-container.state.d.ts +4 -4
- package/out/interface/controller/common/button-state/i-button-container.state.d.ts.map +1 -1
- package/out/interface/controller/common/button-state/i-button.state.d.ts +4 -4
- package/out/interface/controller/common/button-state/i-button.state.d.ts.map +1 -1
- package/out/interface/service/code-list-item/code-list-item.d.ts +10 -0
- package/out/interface/service/code-list-item/code-list-item.d.ts.map +1 -1
- package/out/interface/service/service/i-app-de-authority.service.d.ts +19 -3
- package/out/interface/service/service/i-app-de-authority.service.d.ts.map +1 -1
- package/out/service/service/authority/authority.service.d.ts +2 -1
- package/out/service/service/authority/authority.service.d.ts.map +1 -1
- package/out/service/service/authority/authority.service.js +5 -4
- package/out/service/service/authority/de-authority.service.d.ts +45 -4
- package/out/service/service/authority/de-authority.service.d.ts.map +1 -1
- package/out/service/service/authority/de-authority.service.js +106 -12
- package/out/service/service/control/control.service.d.ts +9 -0
- package/out/service/service/control/control.service.d.ts.map +1 -1
- package/out/service/service/control/control.service.js +19 -0
- package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts +1 -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 +23 -1
- package/out/service/utils/util/util.d.ts +1 -1
- package/out/service/utils/util/util.d.ts.map +1 -1
- package/out/ui-logic/ui-logic.js +1 -1
- package/package.json +1 -1
|
@@ -3,16 +3,57 @@ import { IAppDeAuthorityService } from '../../../interface';
|
|
|
3
3
|
export declare class DeAuthorityService implements IAppDeAuthorityService {
|
|
4
4
|
protected entityModel: IAppDataEntity;
|
|
5
5
|
constructor(entityModel: IAppDataEntity);
|
|
6
|
+
/**
|
|
7
|
+
* 数据权限MAP
|
|
8
|
+
*
|
|
9
|
+
* @protected
|
|
10
|
+
* @type {Map<string, string>}
|
|
11
|
+
* @memberof DeAuthorityService
|
|
12
|
+
*/
|
|
13
|
+
protected dataAccActionMap: Map<string, string>;
|
|
14
|
+
/**
|
|
15
|
+
* 设置实体数据权限标识
|
|
16
|
+
*
|
|
17
|
+
* @param {IParams} params
|
|
18
|
+
* @param {string} dataAccAction
|
|
19
|
+
* @memberof DeAuthorityService
|
|
20
|
+
*/
|
|
21
|
+
setDataAccAction(params: IParams, dataAccAction: string): void;
|
|
22
|
+
/**
|
|
23
|
+
* 获取实体数据权限标识
|
|
24
|
+
*
|
|
25
|
+
* @param {string} key
|
|
26
|
+
* @return {*} {(string | undefined)}
|
|
27
|
+
* @memberof DeAuthorityService
|
|
28
|
+
*/
|
|
29
|
+
getDataAccAction(key: string): string | undefined;
|
|
6
30
|
/**
|
|
7
31
|
* 通过操作标识计算权限
|
|
8
32
|
* @author lxm
|
|
9
33
|
* @date 2023-05-10 12:33:10
|
|
10
34
|
* @param {string} dataAccessAction 操作标识
|
|
11
|
-
* @param {IData}
|
|
12
|
-
* @param {
|
|
35
|
+
* @param {IData} data 实体数据
|
|
36
|
+
* @param {IContext} context 上下文
|
|
13
37
|
* @return {*} {Promise<boolean>}
|
|
14
38
|
*/
|
|
15
|
-
calcByDataAccessAction(dataAccessAction: string, data: IData): Promise<boolean>;
|
|
39
|
+
calcByDataAccessAction(dataAccessAction: string, data: IData | undefined, context: IContext): Promise<boolean>;
|
|
40
|
+
/**
|
|
41
|
+
* 计算实体附属主实体控制操作标识
|
|
42
|
+
*/
|
|
43
|
+
protected calcMajorDataAccAction(context: IContext): Promise<string | undefined>;
|
|
44
|
+
/**
|
|
45
|
+
* 计算实体数据权限,根据实体数据访问控制方式计算权限
|
|
46
|
+
*
|
|
47
|
+
* 0:无控制 不计算实体数据权限
|
|
48
|
+
* 1:自控制 根据实体数据中的权限标识计算
|
|
49
|
+
* 2:附属主实体控制 根据主实体的数据权限标识计算
|
|
50
|
+
* 3:附属主实体控制(未映射自控)根据主实体的数据权限标识计算,主实体没有权限标识时使用实体数据中的权限标识计算
|
|
51
|
+
* @param {string} dataAccessAction 操作标识
|
|
52
|
+
* @param {IData} data 实体数据
|
|
53
|
+
* @param {IContext} context 上下文
|
|
54
|
+
* @memberof DeAuthorityService
|
|
55
|
+
*/
|
|
56
|
+
protected calcDeDataAccAction(dataAccessAction: string, data: IData | undefined, context: IContext): Promise<boolean>;
|
|
16
57
|
/**
|
|
17
58
|
* 通过实体主状态计算权限
|
|
18
59
|
* @author lxm
|
|
@@ -22,6 +63,6 @@ export declare class DeAuthorityService implements IAppDeAuthorityService {
|
|
|
22
63
|
* @param {string} appDeId 应用实体id
|
|
23
64
|
* @return {*} {Promise<boolean>}
|
|
24
65
|
*/
|
|
25
|
-
protected calcByDeMainState(dataAccessAction: string, data
|
|
66
|
+
protected calcByDeMainState(dataAccessAction: string, data?: IData): Promise<boolean>;
|
|
26
67
|
}
|
|
27
68
|
//# sourceMappingURL=de-authority.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"de-authority.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/authority/de-authority.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"de-authority.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/authority/de-authority.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAQ5D,qBAAa,kBAAmB,YAAW,sBAAsB;IACnD,SAAS,CAAC,WAAW,EAAE,cAAc;gBAA3B,WAAW,EAAE,cAAc;IAEjD;;;;;;OAMG;IACH,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAE5D;;;;;;OAMG;IACH,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI;IAU9D;;;;;;OAMG;IACH,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIjD;;;;;;;;OAQG;IACG,sBAAsB,CAC1B,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,KAAK,GAAG,SAAS,EACvB,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,OAAO,CAAC;IAuBnB;;OAEG;cACa,sBAAsB,CACpC,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA2B9B;;;;;;;;;;;OAWG;cACa,mBAAmB,CACjC,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,KAAK,GAAG,SAAS,EACvB,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,OAAO,CAAC;IAkDnB;;;;;;;;OAQG;cACa,iBAAiB,CAC/B,gBAAgB,EAAE,MAAM,EACxB,IAAI,GAAE,KAAU,GACf,OAAO,CAAC,OAAO,CAAC;CAiCpB"}
|
|
@@ -1,26 +1,54 @@
|
|
|
1
|
-
import { matchMainState, calcMainStateOPPrivsStrs } from '../../../model';
|
|
1
|
+
import { matchMainState, calcMainStateOPPrivsStrs, calcDeCodeNameById, } from '../../../model';
|
|
2
2
|
import { convertToObject } from '../../utils/util/util';
|
|
3
3
|
export class DeAuthorityService {
|
|
4
4
|
constructor(entityModel) {
|
|
5
5
|
this.entityModel = entityModel;
|
|
6
|
+
/**
|
|
7
|
+
* 数据权限MAP
|
|
8
|
+
*
|
|
9
|
+
* @protected
|
|
10
|
+
* @type {Map<string, string>}
|
|
11
|
+
* @memberof DeAuthorityService
|
|
12
|
+
*/
|
|
13
|
+
this.dataAccActionMap = new Map();
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 设置实体数据权限标识
|
|
17
|
+
*
|
|
18
|
+
* @param {IParams} params
|
|
19
|
+
* @param {string} dataAccAction
|
|
20
|
+
* @memberof DeAuthorityService
|
|
21
|
+
*/
|
|
22
|
+
setDataAccAction(params, dataAccAction) {
|
|
23
|
+
if (params.srfsessionid) {
|
|
24
|
+
this.dataAccActionMap.set(`${params.srfsessionid}-${params.srfkey}`, dataAccAction);
|
|
25
|
+
}
|
|
26
|
+
this.dataAccActionMap.set(params.srfkey, dataAccAction);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 获取实体数据权限标识
|
|
30
|
+
*
|
|
31
|
+
* @param {string} key
|
|
32
|
+
* @return {*} {(string | undefined)}
|
|
33
|
+
* @memberof DeAuthorityService
|
|
34
|
+
*/
|
|
35
|
+
getDataAccAction(key) {
|
|
36
|
+
return this.dataAccActionMap.get(key);
|
|
6
37
|
}
|
|
7
38
|
/**
|
|
8
39
|
* 通过操作标识计算权限
|
|
9
40
|
* @author lxm
|
|
10
41
|
* @date 2023-05-10 12:33:10
|
|
11
42
|
* @param {string} dataAccessAction 操作标识
|
|
12
|
-
* @param {IData}
|
|
13
|
-
* @param {
|
|
43
|
+
* @param {IData} data 实体数据
|
|
44
|
+
* @param {IContext} context 上下文
|
|
14
45
|
* @return {*} {Promise<boolean>}
|
|
15
46
|
*/
|
|
16
|
-
async calcByDataAccessAction(dataAccessAction, data) {
|
|
17
|
-
//
|
|
18
|
-
|
|
19
|
-
if (
|
|
20
|
-
|
|
21
|
-
if (!dataAccactions[dataAccessAction]) {
|
|
22
|
-
return false;
|
|
23
|
-
}
|
|
47
|
+
async calcByDataAccessAction(dataAccessAction, data, context) {
|
|
48
|
+
// 判断实体数据权限
|
|
49
|
+
const deDataAccActionResult = await this.calcDeDataAccAction(dataAccessAction, data, context);
|
|
50
|
+
if (!deDataAccActionResult) {
|
|
51
|
+
return false;
|
|
24
52
|
}
|
|
25
53
|
// 判断主状态的权限
|
|
26
54
|
const mainStateResult = await this.calcByDeMainState(dataAccessAction, data);
|
|
@@ -29,6 +57,72 @@ export class DeAuthorityService {
|
|
|
29
57
|
}
|
|
30
58
|
return true;
|
|
31
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* 计算实体附属主实体控制操作标识
|
|
62
|
+
*/
|
|
63
|
+
async calcMajorDataAccAction(context) {
|
|
64
|
+
const { minorAppDERSs } = this.entityModel;
|
|
65
|
+
if (!minorAppDERSs)
|
|
66
|
+
return;
|
|
67
|
+
const appDeRSs = minorAppDERSs === null || minorAppDERSs === void 0 ? void 0 : minorAppDERSs.find(rs => {
|
|
68
|
+
const majorDeName = calcDeCodeNameById(rs.majorAppDataEntityId);
|
|
69
|
+
return (Object.prototype.hasOwnProperty.call(context, majorDeName) &&
|
|
70
|
+
context[majorDeName]);
|
|
71
|
+
});
|
|
72
|
+
if (!appDeRSs)
|
|
73
|
+
return;
|
|
74
|
+
const app = await ibiz.hub.getApp(context.srfappid);
|
|
75
|
+
const majorAuthorityService = await app.authority.getService(appDeRSs.majorAppDataEntityId);
|
|
76
|
+
if (!majorAuthorityService)
|
|
77
|
+
return;
|
|
78
|
+
const majorAppDeName = calcDeCodeNameById(appDeRSs.majorAppDataEntityId);
|
|
79
|
+
const majorDataAccAction = majorAuthorityService.getDataAccAction(`${context.srfsessionid}-${context[majorAppDeName]}`) || majorAuthorityService.getDataAccAction(`${context[majorAppDeName]}`);
|
|
80
|
+
return majorDataAccAction;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* 计算实体数据权限,根据实体数据访问控制方式计算权限
|
|
84
|
+
*
|
|
85
|
+
* 0:无控制 不计算实体数据权限
|
|
86
|
+
* 1:自控制 根据实体数据中的权限标识计算
|
|
87
|
+
* 2:附属主实体控制 根据主实体的数据权限标识计算
|
|
88
|
+
* 3:附属主实体控制(未映射自控)根据主实体的数据权限标识计算,主实体没有权限标识时使用实体数据中的权限标识计算
|
|
89
|
+
* @param {string} dataAccessAction 操作标识
|
|
90
|
+
* @param {IData} data 实体数据
|
|
91
|
+
* @param {IContext} context 上下文
|
|
92
|
+
* @memberof DeAuthorityService
|
|
93
|
+
*/
|
|
94
|
+
async calcDeDataAccAction(dataAccessAction, data, context) {
|
|
95
|
+
let result = true;
|
|
96
|
+
let tempDataAccObject;
|
|
97
|
+
const { dataAccCtrlMode } = this.entityModel;
|
|
98
|
+
switch (dataAccCtrlMode) {
|
|
99
|
+
case 1:
|
|
100
|
+
tempDataAccObject = (data === null || data === void 0 ? void 0 : data.srfdataaccaction)
|
|
101
|
+
? convertToObject(data.srfdataaccaction)
|
|
102
|
+
: undefined;
|
|
103
|
+
break;
|
|
104
|
+
case 2:
|
|
105
|
+
tempDataAccObject = convertToObject(await this.calcMajorDataAccAction(context));
|
|
106
|
+
break;
|
|
107
|
+
case 3:
|
|
108
|
+
tempDataAccObject = convertToObject(await this.calcMajorDataAccAction(context));
|
|
109
|
+
// 父没有当前操作标识
|
|
110
|
+
if (!Object.prototype.hasOwnProperty.call(tempDataAccObject, dataAccessAction) &&
|
|
111
|
+
data &&
|
|
112
|
+
data.srfdataaccaction) {
|
|
113
|
+
tempDataAccObject = convertToObject(data.srfdataaccaction);
|
|
114
|
+
}
|
|
115
|
+
break;
|
|
116
|
+
default:
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
if (tempDataAccObject &&
|
|
120
|
+
dataAccessAction &&
|
|
121
|
+
!tempDataAccObject[dataAccessAction]) {
|
|
122
|
+
result = false;
|
|
123
|
+
}
|
|
124
|
+
return result;
|
|
125
|
+
}
|
|
32
126
|
/**
|
|
33
127
|
* 通过实体主状态计算权限
|
|
34
128
|
* @author lxm
|
|
@@ -38,7 +132,7 @@ export class DeAuthorityService {
|
|
|
38
132
|
* @param {string} appDeId 应用实体id
|
|
39
133
|
* @return {*} {Promise<boolean>}
|
|
40
134
|
*/
|
|
41
|
-
async calcByDeMainState(dataAccessAction, data) {
|
|
135
|
+
async calcByDeMainState(dataAccessAction, data = {}) {
|
|
42
136
|
let result = true;
|
|
43
137
|
const appDataEntity = this.entityModel;
|
|
44
138
|
// 实体没有启用主状态,默认有权限
|
|
@@ -55,6 +55,15 @@ export declare class ControlService<T extends IAjaxControl = IAjaxControl> {
|
|
|
55
55
|
* @returns {*} {Promise<IHttpResponse>}
|
|
56
56
|
*/
|
|
57
57
|
exec(methodName: string, context: IContext, data?: IData, params?: IParams): Promise<IHttpResponse>;
|
|
58
|
+
/**
|
|
59
|
+
* 处理启用项权限标识
|
|
60
|
+
*
|
|
61
|
+
* @protected
|
|
62
|
+
* @param {IData} data 实体数据
|
|
63
|
+
* @param {IContext} context 上下文
|
|
64
|
+
* @memberof ControlService
|
|
65
|
+
*/
|
|
66
|
+
protected handleItemPrivilege(data: IData | IData[], context: IContext): Promise<void>;
|
|
58
67
|
/**
|
|
59
68
|
* 处理自定义请求头
|
|
60
69
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/control/control.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAS,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,qBAAa,cAAc,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY;IAC/D,GAAG,EAAG,WAAW,CAAC;IAElB;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAElB;;;;;;;OAOG;IACH,SAAS,0BAAiC;IAE1C;;;;;OAKG;gBACS,KAAK,EAAE,CAAC;IAIpB;;;;;;OAMG;IACG,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C;;;;;OAKG;IACH,SAAS,CAAC,aAAa,IAAI,IAAI;IAE/B;;;;;;;;;OASG;IACG,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,QAAQ,EACjB,IAAI,CAAC,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"control.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/control/control.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAS,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,qBAAa,cAAc,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY;IAC/D,GAAG,EAAG,WAAW,CAAC;IAElB;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAElB;;;;;;;OAOG;IACH,SAAS,0BAAiC;IAE1C;;;;;OAKG;gBACS,KAAK,EAAE,CAAC;IAIpB;;;;;;OAMG;IACG,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C;;;;;OAKG;IACH,SAAS,CAAC,aAAa,IAAI,IAAI;IAE/B;;;;;;;;;OASG;IACG,IAAI,CACR,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,QAAQ,EACjB,IAAI,CAAC,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC;IAczB;;;;;;;OAOG;cACa,mBAAmB,CACjC,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,EACrB,OAAO,EAAE,QAAQ,GAChB,OAAO,CAAC,IAAI,CAAC;IAchB;;;;;;OAMG;IACH,SAAS,CAAC,yBAAyB,IAAI,KAAK;IAS5C;;;;;;;OAOG;IACH,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,aAAa;IAKjD;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,EAAE,KAAK,GAAG,SAAS;CAGvC"}
|
|
@@ -50,8 +50,27 @@ export class ControlService {
|
|
|
50
50
|
async exec(methodName, context, data, params) {
|
|
51
51
|
const header = this.handleCustomRequestHeader();
|
|
52
52
|
const res = await this.app.deService.exec(this.model.appDataEntityId, methodName, context, data, params, header);
|
|
53
|
+
await this.handleItemPrivilege(res.data, context);
|
|
53
54
|
return res;
|
|
54
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* 处理启用项权限标识
|
|
58
|
+
*
|
|
59
|
+
* @protected
|
|
60
|
+
* @param {IData} data 实体数据
|
|
61
|
+
* @param {IContext} context 上下文
|
|
62
|
+
* @memberof ControlService
|
|
63
|
+
*/
|
|
64
|
+
async handleItemPrivilege(data, context) {
|
|
65
|
+
const { enableItemPrivilege, appDataEntityId } = this.model;
|
|
66
|
+
if (enableItemPrivilege && appDataEntityId) {
|
|
67
|
+
const deAuthority = await this.app.authority.getService(appDataEntityId);
|
|
68
|
+
const items = Array.isArray(data) ? data : [data];
|
|
69
|
+
items.forEach(item => {
|
|
70
|
+
deAuthority.setDataAccAction({ srfkey: item.srfkey, srfsessionid: context.srfsessionid }, item.srfdataaccaction);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}
|
|
55
74
|
/**
|
|
56
75
|
* 处理自定义请求头
|
|
57
76
|
*
|
|
@@ -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;AAGhD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD;;;;;;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;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE1B,QAAQ,EAAE,YAAY;IAIlC;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB3B;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,YAAY;IAwEhD;;;;;;;;;OASG;cACa,IAAI,CAClB,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,YAAY,EAAE,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;AAGhD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD;;;;;;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;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE1B,QAAQ,EAAE,YAAY;IAIlC;;;;;;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;;;;;;;;;OASG;cACa,IAAI,CAClB,OAAO,EAAE,QAAQ,EACjB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC;IA0F1B;;;;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;CAyC5E"}
|
|
@@ -116,6 +116,19 @@ export class DynamicCodeListCache {
|
|
|
116
116
|
}
|
|
117
117
|
return result;
|
|
118
118
|
}
|
|
119
|
+
presetconvertData(data) {
|
|
120
|
+
const result = {};
|
|
121
|
+
const { color, bkcolor, disabled, id, text, label, value, cls } = data;
|
|
122
|
+
result.value = value;
|
|
123
|
+
result.color = color;
|
|
124
|
+
result.bkcolor = bkcolor;
|
|
125
|
+
result.text = text;
|
|
126
|
+
result.id = id;
|
|
127
|
+
result.id = label;
|
|
128
|
+
result.disableSelect = disabled;
|
|
129
|
+
result.cls = cls;
|
|
130
|
+
return result;
|
|
131
|
+
}
|
|
119
132
|
/**
|
|
120
133
|
* 加载服务获取数据,返回代码项
|
|
121
134
|
*
|
|
@@ -158,7 +171,16 @@ export class DynamicCodeListCache {
|
|
|
158
171
|
: this.codeList.codeName;
|
|
159
172
|
}
|
|
160
173
|
const res = await app.net.get(`/dictionaries/codelist/${tag}`, tempParams);
|
|
161
|
-
|
|
174
|
+
const presetresultItems = [];
|
|
175
|
+
if (res.data.items.every((item) => 'showorder' in item)) {
|
|
176
|
+
return res.data.items.sort((a, b) => (b.showorder || 0) - (a.showorder || 0));
|
|
177
|
+
}
|
|
178
|
+
if (res.data.items.length) {
|
|
179
|
+
res.data.items.forEach((item) => {
|
|
180
|
+
presetresultItems.push(this.presetconvertData(item));
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
return Object.freeze(presetresultItems);
|
|
162
184
|
}
|
|
163
185
|
// *加载实体服务数据
|
|
164
186
|
if (!appDataEntityId) {
|
|
@@ -16,7 +16,7 @@ export declare function fieldValueToBoolean(value: unknown): boolean;
|
|
|
16
16
|
* @param input 输入字符串,如:DELETE:0,UPDATE:1
|
|
17
17
|
* @returns {"DELETE":0,"UPDATE":1}
|
|
18
18
|
*/
|
|
19
|
-
export declare function convertToObject(input: string): {
|
|
19
|
+
export declare function convertToObject(input: string | undefined): {
|
|
20
20
|
[key: string]: number;
|
|
21
21
|
};
|
|
22
22
|
//# sourceMappingURL=util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/service/utils/util/util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAsB3D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG;
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/service/utils/util/util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAsB3D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG;IAC1D,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB,CAaA"}
|
package/out/ui-logic/ui-logic.js
CHANGED
|
@@ -197,7 +197,7 @@ export class UILogic {
|
|
|
197
197
|
if (bol && link.dstNode) {
|
|
198
198
|
await this.deepExec(link.dstNode, ctx);
|
|
199
199
|
// 平行输出: 在满足连接条件并逻辑执行完毕后若是非平行输出则执行完成
|
|
200
|
-
if (node.model.parallelOutput
|
|
200
|
+
if (node.model.parallelOutput !== true) {
|
|
201
201
|
break;
|
|
202
202
|
}
|
|
203
203
|
}
|