@ibiz-template/runtime 0.6.8 → 0.6.10

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 (69) hide show
  1. package/dist/index.esm.js +524 -121
  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/search-bar/index.d.ts +1 -0
  18. package/out/controller/control/search-bar/index.d.ts.map +1 -1
  19. package/out/controller/control/search-bar/index.js +1 -0
  20. package/out/controller/control/search-bar/search-bar-filter-items.controller.d.ts +81 -0
  21. package/out/controller/control/search-bar/search-bar-filter-items.controller.d.ts.map +1 -0
  22. package/out/controller/control/search-bar/search-bar-filter-items.controller.js +134 -0
  23. package/out/controller/control/search-bar/search-bar-filter.controller.d.ts.map +1 -1
  24. package/out/controller/control/search-bar/search-bar-filter.controller.js +2 -0
  25. package/out/controller/control/search-bar/search-bar.controller.d.ts.map +1 -1
  26. package/out/controller/control/search-bar/search-bar.controller.js +26 -2
  27. package/out/controller/control/search-bar/use-searchcond.d.ts.map +1 -1
  28. package/out/controller/control/search-bar/use-searchcond.js +17 -0
  29. package/out/controller/control/toolbar/toolbar.controllerr.js +2 -2
  30. 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
  31. 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
  32. package/out/controller/utils/button-state/button-container.state.d.ts +1 -1
  33. package/out/controller/utils/button-state/button-container.state.d.ts.map +1 -1
  34. package/out/controller/utils/button-state/button-container.state.js +2 -2
  35. package/out/controller/utils/button-state/ui-action-button.state.d.ts +2 -2
  36. package/out/controller/utils/button-state/ui-action-button.state.d.ts.map +1 -1
  37. package/out/controller/utils/button-state/ui-action-button.state.js +4 -4
  38. package/out/de-logic/de-logic.js +1 -1
  39. package/out/interface/controller/common/button-state/i-button-container.state.d.ts +4 -4
  40. package/out/interface/controller/common/button-state/i-button-container.state.d.ts.map +1 -1
  41. package/out/interface/controller/common/button-state/i-button.state.d.ts +4 -4
  42. package/out/interface/controller/common/button-state/i-button.state.d.ts.map +1 -1
  43. package/out/interface/controller/state/control/i-search-bar.state.d.ts +8 -1
  44. package/out/interface/controller/state/control/i-search-bar.state.d.ts.map +1 -1
  45. package/out/interface/service/code-list-item/code-list-item.d.ts +10 -0
  46. package/out/interface/service/code-list-item/code-list-item.d.ts.map +1 -1
  47. package/out/interface/service/service/i-app-de-authority.service.d.ts +20 -3
  48. package/out/interface/service/service/i-app-de-authority.service.d.ts.map +1 -1
  49. package/out/interface/service/service/i-auth.service.d.ts +7 -0
  50. package/out/interface/service/service/i-auth.service.d.ts.map +1 -1
  51. package/out/service/service/auth/v7-auth.service.d.ts +1 -0
  52. package/out/service/service/auth/v7-auth.service.d.ts.map +1 -1
  53. package/out/service/service/auth/v7-auth.service.js +29 -6
  54. package/out/service/service/authority/authority.service.d.ts +2 -1
  55. package/out/service/service/authority/authority.service.d.ts.map +1 -1
  56. package/out/service/service/authority/authority.service.js +5 -4
  57. package/out/service/service/authority/de-authority.service.d.ts +46 -4
  58. package/out/service/service/authority/de-authority.service.d.ts.map +1 -1
  59. package/out/service/service/authority/de-authority.service.js +111 -10
  60. package/out/service/service/control/control.service.d.ts +9 -0
  61. package/out/service/service/control/control.service.d.ts.map +1 -1
  62. package/out/service/service/control/control.service.js +19 -0
  63. package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts +1 -0
  64. package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts.map +1 -1
  65. package/out/service/utils/dynamic-code-list/dynamic-code-list.js +23 -1
  66. package/out/service/utils/util/util.d.ts +1 -1
  67. package/out/service/utils/util/util.d.ts.map +1 -1
  68. package/out/ui-logic/ui-logic.js +1 -1
  69. package/package.json +3 -3
@@ -1,24 +1,55 @@
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 上下文
45
+ * @param {boolean} enablePermission 是否启用权限
14
46
  * @return {*} {Promise<boolean>}
15
47
  */
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]) {
48
+ async calcByDataAccessAction(dataAccessAction, data, context, enablePermission) {
49
+ if (enablePermission) {
50
+ // 判断实体数据权限
51
+ const deDataAccActionResult = await this.calcDeDataAccAction(dataAccessAction, data, context);
52
+ if (!deDataAccActionResult) {
22
53
  return false;
23
54
  }
24
55
  }
@@ -29,6 +60,72 @@ export class DeAuthorityService {
29
60
  }
30
61
  return true;
31
62
  }
63
+ /**
64
+ * 计算实体附属主实体控制操作标识
65
+ */
66
+ async calcMajorDataAccAction(context) {
67
+ const { minorAppDERSs } = this.entityModel;
68
+ if (!minorAppDERSs)
69
+ return;
70
+ const appDeRSs = minorAppDERSs === null || minorAppDERSs === void 0 ? void 0 : minorAppDERSs.find(rs => {
71
+ const majorDeName = calcDeCodeNameById(rs.majorAppDataEntityId);
72
+ return (Object.prototype.hasOwnProperty.call(context, majorDeName) &&
73
+ context[majorDeName]);
74
+ });
75
+ if (!appDeRSs)
76
+ return;
77
+ const app = await ibiz.hub.getApp(context.srfappid);
78
+ const majorAuthorityService = await app.authority.getService(appDeRSs.majorAppDataEntityId);
79
+ if (!majorAuthorityService)
80
+ return;
81
+ const majorAppDeName = calcDeCodeNameById(appDeRSs.majorAppDataEntityId);
82
+ const majorDataAccAction = majorAuthorityService.getDataAccAction(`${context.srfsessionid}-${context[majorAppDeName]}`) || majorAuthorityService.getDataAccAction(`${context[majorAppDeName]}`);
83
+ return majorDataAccAction;
84
+ }
85
+ /**
86
+ * 计算实体数据权限,根据实体数据访问控制方式计算权限
87
+ *
88
+ * 0:无控制 不计算实体数据权限
89
+ * 1:自控制 根据实体数据中的权限标识计算
90
+ * 2:附属主实体控制 根据主实体的数据权限标识计算
91
+ * 3:附属主实体控制(未映射自控)根据主实体的数据权限标识计算,主实体没有权限标识时使用实体数据中的权限标识计算
92
+ * @param {string} dataAccessAction 操作标识
93
+ * @param {IData} data 实体数据
94
+ * @param {IContext} context 上下文
95
+ * @memberof DeAuthorityService
96
+ */
97
+ async calcDeDataAccAction(dataAccessAction, data, context) {
98
+ let result = true;
99
+ let tempDataAccObject;
100
+ const { dataAccCtrlMode } = this.entityModel;
101
+ switch (dataAccCtrlMode) {
102
+ case 1:
103
+ tempDataAccObject = (data === null || data === void 0 ? void 0 : data.srfdataaccaction)
104
+ ? convertToObject(data.srfdataaccaction)
105
+ : undefined;
106
+ break;
107
+ case 2:
108
+ tempDataAccObject = convertToObject(await this.calcMajorDataAccAction(context));
109
+ break;
110
+ case 3:
111
+ tempDataAccObject = convertToObject(await this.calcMajorDataAccAction(context));
112
+ // 父没有当前操作标识
113
+ if (!Object.prototype.hasOwnProperty.call(tempDataAccObject, dataAccessAction) &&
114
+ data &&
115
+ data.srfdataaccaction) {
116
+ tempDataAccObject = convertToObject(data.srfdataaccaction);
117
+ }
118
+ break;
119
+ default:
120
+ break;
121
+ }
122
+ if (tempDataAccObject &&
123
+ dataAccessAction &&
124
+ !tempDataAccObject[dataAccessAction]) {
125
+ result = false;
126
+ }
127
+ return result;
128
+ }
32
129
  /**
33
130
  * 通过实体主状态计算权限
34
131
  * @author lxm
@@ -38,8 +135,12 @@ export class DeAuthorityService {
38
135
  * @param {string} appDeId 应用实体id
39
136
  * @return {*} {Promise<boolean>}
40
137
  */
41
- async calcByDeMainState(dataAccessAction, data) {
138
+ async calcByDeMainState(dataAccessAction, data = {}) {
42
139
  let result = true;
140
+ // 无数据时不计算主状态权限
141
+ if (Object.keys(data).length === 0) {
142
+ return result;
143
+ }
43
144
  const appDataEntity = this.entityModel;
44
145
  // 实体没有启用主状态,默认有权限
45
146
  if (!appDataEntity.enableDEMainState) {
@@ -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.10",
4
4
  "description": "控制器包",
5
5
  "type": "module",
6
6
  "main": "out/index.js",
@@ -16,7 +16,7 @@
16
16
  ],
17
17
  "scripts": {
18
18
  "dev": "tsc --watch",
19
- "build": "npm run test:run && npm run lint && node scripts/build.js && npm run build:rollup && tsc --build",
19
+ "build": "npm run lint && node scripts/build.js && npm run build:rollup && tsc --build",
20
20
  "build:rollup": "rollup -c",
21
21
  "lint": "eslint 'src/**/*.ts'",
22
22
  "lint:fix": "eslint --fix 'src/**/*.ts'",
@@ -35,7 +35,7 @@
35
35
  "animejs": "^3.2.2"
36
36
  },
37
37
  "devDependencies": {
38
- "@ibiz-template/core": "^0.6.3",
38
+ "@ibiz-template/core": "^0.6.10",
39
39
  "@ibiz/model-core": "^0.1.15",
40
40
  "@types/animejs": "^3.1.12",
41
41
  "@types/path-browserify": "^1.0.2",