@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.
Files changed (50) hide show
  1. package/dist/index.esm.js +241 -64
  2. package/dist/index.system.min.js +1 -1
  3. package/out/controller/common/control/control.controller.d.ts.map +1 -1
  4. package/out/controller/common/control/control.controller.js +6 -2
  5. package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.d.ts.map +1 -1
  6. package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.js +3 -3
  7. package/out/controller/control/data-view/data-view.controller.d.ts.map +1 -1
  8. package/out/controller/control/data-view/data-view.controller.js +5 -5
  9. package/out/controller/control/form/form/form.controller.d.ts +2 -0
  10. package/out/controller/control/form/form/form.controller.d.ts.map +1 -1
  11. package/out/controller/control/form/form/form.controller.js +28 -23
  12. package/out/controller/control/form/form-detail/form-button/form-button.controller.js +1 -1
  13. package/out/controller/control/form/form-detail/form-group-panel/form-group-panel.controller.js +1 -1
  14. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  15. package/out/controller/control/grid/grid/grid.controller.js +2 -2
  16. package/out/controller/control/md-ctrl/md-ctrl.controller.js +1 -1
  17. package/out/controller/control/toolbar/toolbar.controllerr.js +2 -2
  18. 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
  19. 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
  20. package/out/controller/utils/button-state/button-container.state.d.ts +1 -1
  21. package/out/controller/utils/button-state/button-container.state.d.ts.map +1 -1
  22. package/out/controller/utils/button-state/button-container.state.js +2 -2
  23. package/out/controller/utils/button-state/ui-action-button.state.d.ts +2 -2
  24. package/out/controller/utils/button-state/ui-action-button.state.d.ts.map +1 -1
  25. package/out/controller/utils/button-state/ui-action-button.state.js +4 -4
  26. package/out/de-logic/de-logic.js +1 -1
  27. package/out/interface/controller/common/button-state/i-button-container.state.d.ts +4 -4
  28. package/out/interface/controller/common/button-state/i-button-container.state.d.ts.map +1 -1
  29. package/out/interface/controller/common/button-state/i-button.state.d.ts +4 -4
  30. package/out/interface/controller/common/button-state/i-button.state.d.ts.map +1 -1
  31. package/out/interface/service/code-list-item/code-list-item.d.ts +10 -0
  32. package/out/interface/service/code-list-item/code-list-item.d.ts.map +1 -1
  33. package/out/interface/service/service/i-app-de-authority.service.d.ts +19 -3
  34. package/out/interface/service/service/i-app-de-authority.service.d.ts.map +1 -1
  35. package/out/service/service/authority/authority.service.d.ts +2 -1
  36. package/out/service/service/authority/authority.service.d.ts.map +1 -1
  37. package/out/service/service/authority/authority.service.js +5 -4
  38. package/out/service/service/authority/de-authority.service.d.ts +45 -4
  39. package/out/service/service/authority/de-authority.service.d.ts.map +1 -1
  40. package/out/service/service/authority/de-authority.service.js +106 -12
  41. package/out/service/service/control/control.service.d.ts +9 -0
  42. package/out/service/service/control/control.service.d.ts.map +1 -1
  43. package/out/service/service/control/control.service.js +19 -0
  44. package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts +1 -0
  45. package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts.map +1 -1
  46. package/out/service/utils/dynamic-code-list/dynamic-code-list.js +23 -1
  47. package/out/service/utils/util/util.d.ts +1 -1
  48. package/out/service/utils/util/util.d.ts.map +1 -1
  49. package/out/ui-logic/ui-logic.js +1 -1
  50. 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} [data] 实体数据
12
- * @param {string} [appDeId] 应用实体id
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: IData): Promise<boolean>;
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;AAI5D,qBAAa,kBAAmB,YAAW,sBAAsB;IACnD,SAAS,CAAC,WAAW,EAAE,cAAc;gBAA3B,WAAW,EAAE,cAAc;IAEjD;;;;;;;;OAQG;IACG,sBAAsB,CAC1B,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,OAAO,CAAC;IAsBnB;;;;;;;;OAQG;cACa,iBAAiB,CAC/B,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,OAAO,CAAC;CAiCpB"}
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} [data] 实体数据
13
- * @param {string} [appDeId] 应用实体id
43
+ * @param {IData} data 实体数据
44
+ * @param {IContext} context 上下文
14
45
  * @return {*} {Promise<boolean>}
15
46
  */
16
- async calcByDataAccessAction(dataAccessAction, data) {
17
- // 判断实体数据带回来的权限,不通过就返回false
18
- // 返回格式(srfdataaccaction:"DELETE:0,UPDATE:1")
19
- if (data.srfdataaccaction) {
20
- const dataAccactions = convertToObject(data.srfdataaccaction);
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;IAazB;;;;;;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"}
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
  *
@@ -96,6 +96,7 @@ export declare class DynamicCodeListCache {
96
96
  * @returns {*}
97
97
  */
98
98
  protected convertData(data: IData): CodeListItem;
99
+ protected presetconvertData(data: IData): CodeListItem;
99
100
  /**
100
101
  * 加载服务获取数据,返回代码项
101
102
  *
@@ -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;IA+E1B;;;;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"}
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
- return Object.freeze(res.data.items);
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;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAaxE"}
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"}
@@ -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 === false) {
200
+ if (node.model.parallelOutput !== true) {
201
201
  break;
202
202
  }
203
203
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/runtime",
3
- "version": "0.6.8",
3
+ "version": "0.6.9",
4
4
  "description": "控制器包",
5
5
  "type": "module",
6
6
  "main": "out/index.js",