@ibiz-template/runtime 0.1.37 → 0.2.0

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 (136) hide show
  1. package/dist/index.esm.js +12431 -360
  2. package/dist/index.system.min.js +1 -1
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/application.d.ts +9 -1
  5. package/out/application.d.ts.map +1 -1
  6. package/out/application.js +9 -2
  7. package/out/controller/control/exp-bar/chart-exp-bar.controller.d.ts +24 -0
  8. package/out/controller/control/exp-bar/chart-exp-bar.controller.d.ts.map +1 -0
  9. package/out/controller/control/exp-bar/chart-exp-bar.controller.js +32 -0
  10. package/out/controller/control/exp-bar/index.d.ts +1 -0
  11. package/out/controller/control/exp-bar/index.d.ts.map +1 -1
  12. package/out/controller/control/exp-bar/index.js +1 -0
  13. package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.d.ts +1 -0
  14. package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.d.ts.map +1 -1
  15. package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.js +8 -0
  16. package/out/controller/control/medit-view-panel/medit-view-panel.controller.d.ts +1 -13
  17. package/out/controller/control/medit-view-panel/medit-view-panel.controller.d.ts.map +1 -1
  18. package/out/controller/control/medit-view-panel/medit-view-panel.controller.js +7 -67
  19. package/out/controller/control/search-bar/search-bar.controller.d.ts.map +1 -1
  20. package/out/controller/control/search-bar/search-bar.controller.js +3 -3
  21. package/out/de-logic/de-logic-context.d.ts +4 -4
  22. package/out/de-logic/de-logic-context.d.ts.map +1 -1
  23. package/out/de-logic/de-logic-context.js +2 -1
  24. package/out/de-logic/de-logic-link/de-logic-link.js +1 -1
  25. package/out/de-logic/de-logic-param/de-logic-param.d.ts.map +1 -1
  26. package/out/de-logic/de-logic-param/de-logic-param.js +7 -1
  27. package/out/de-logic/de-logic.d.ts +1 -1
  28. package/out/de-logic/de-logic.d.ts.map +1 -1
  29. package/out/de-logic/index.d.ts +5 -5
  30. package/out/de-logic/index.d.ts.map +1 -1
  31. package/out/de-logic/index.js +32 -5
  32. package/out/engine/md-view.engine.d.ts +3 -3
  33. package/out/engine/md-view.engine.d.ts.map +1 -1
  34. package/out/engine/md-view.engine.js +14 -12
  35. package/out/hub/config/app-view-config-service.d.ts +3 -1
  36. package/out/hub/config/app-view-config-service.d.ts.map +1 -1
  37. package/out/hub/config/app-view-config-service.js +9 -0
  38. package/out/interface/common/i-app-view-config-service/i-app-view-config-service.d.ts +20 -2
  39. package/out/interface/common/i-app-view-config-service/i-app-view-config-service.d.ts.map +1 -1
  40. package/out/interface/controller/controller/control/i-chart-exp-bar.controller.d.ts +15 -0
  41. package/out/interface/controller/controller/control/i-chart-exp-bar.controller.d.ts.map +1 -0
  42. package/out/interface/controller/controller/control/i-chart-exp-bar.controller.js +1 -0
  43. package/out/interface/controller/controller/control/index.d.ts +1 -0
  44. package/out/interface/controller/controller/control/index.d.ts.map +1 -1
  45. package/out/interface/controller/controller/control/index.js +1 -0
  46. package/out/interface/controller/event/control/i-chart-exp-bar.event.d.ts +11 -0
  47. package/out/interface/controller/event/control/i-chart-exp-bar.event.d.ts.map +1 -0
  48. package/out/interface/controller/event/control/i-chart-exp-bar.event.js +1 -0
  49. package/out/interface/controller/event/control/index.d.ts +1 -0
  50. package/out/interface/controller/event/control/index.d.ts.map +1 -1
  51. package/out/interface/controller/event/control/index.js +1 -0
  52. package/out/interface/controller/event/view/i-chart-exp-view.event.d.ts +11 -0
  53. package/out/interface/controller/event/view/i-chart-exp-view.event.d.ts.map +1 -0
  54. package/out/interface/controller/event/view/i-chart-exp-view.event.js +1 -0
  55. package/out/interface/controller/event/view/index.d.ts +1 -0
  56. package/out/interface/controller/event/view/index.d.ts.map +1 -1
  57. package/out/interface/controller/event/view/index.js +1 -0
  58. package/out/interface/controller/state/control/i-chart-exp-bar.state.d.ts +11 -0
  59. package/out/interface/controller/state/control/i-chart-exp-bar.state.d.ts.map +1 -0
  60. package/out/interface/controller/state/control/i-chart-exp-bar.state.js +1 -0
  61. package/out/interface/controller/state/control/index.d.ts +1 -0
  62. package/out/interface/controller/state/control/index.d.ts.map +1 -1
  63. package/out/interface/controller/state/control/index.js +1 -0
  64. package/out/interface/controller/state/view/i-chart-exp-view.state.d.ts +11 -0
  65. package/out/interface/controller/state/view/i-chart-exp-view.state.d.ts.map +1 -0
  66. package/out/interface/controller/state/view/i-chart-exp-view.state.js +1 -0
  67. package/out/interface/controller/state/view/index.d.ts +1 -0
  68. package/out/interface/controller/state/view/index.d.ts.map +1 -1
  69. package/out/interface/controller/state/view/index.js +1 -0
  70. package/out/interface/service/code-list-item/code-list-item.d.ts +16 -0
  71. package/out/interface/service/code-list-item/code-list-item.d.ts.map +1 -1
  72. package/out/service/index.d.ts +1 -0
  73. package/out/service/index.d.ts.map +1 -1
  74. package/out/service/index.js +1 -0
  75. package/out/service/mqtt/mqtt.service.d.ts +66 -0
  76. package/out/service/mqtt/mqtt.service.d.ts.map +1 -0
  77. package/out/service/mqtt/mqtt.service.js +95 -0
  78. package/out/service/service/code-list/code-list.service.d.ts.map +1 -1
  79. package/out/service/service/code-list/code-list.service.js +12 -1
  80. package/out/service/service/entity/de.service.d.ts +2 -2
  81. package/out/service/service/entity/de.service.d.ts.map +1 -1
  82. package/out/service/service/entity/method/de-action.d.ts +14 -5
  83. package/out/service/service/entity/method/de-action.d.ts.map +1 -1
  84. package/out/service/service/entity/method/de-action.js +56 -15
  85. package/out/service/service/entity/method/fetch.d.ts +1 -1
  86. package/out/service/service/entity/method/fetch.d.ts.map +1 -1
  87. package/out/service/service/entity/method/fetch.js +9 -6
  88. package/out/service/service/entity/method/method.d.ts +13 -13
  89. package/out/service/service/entity/method/method.d.ts.map +1 -1
  90. package/out/service/service/entity/method/method.js +16 -11
  91. package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts +7 -1
  92. package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts.map +1 -1
  93. package/out/service/utils/dynamic-code-list/dynamic-code-list.js +89 -13
  94. package/out/ui-action/uiaction-util.js +3 -3
  95. package/out/ui-logic/ui-logic-param/ui-logic-param.d.ts.map +1 -1
  96. package/out/ui-logic/ui-logic-param/ui-logic-param.js +7 -1
  97. package/out/utils/script/script-factory.d.ts +10 -0
  98. package/out/utils/script/script-factory.d.ts.map +1 -1
  99. package/out/utils/script/script-factory.js +15 -0
  100. package/package.json +5 -3
  101. package/src/application.ts +22 -1
  102. package/src/controller/control/exp-bar/chart-exp-bar.controller.ts +51 -0
  103. package/src/controller/control/exp-bar/index.ts +1 -0
  104. package/src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts +14 -0
  105. package/src/controller/control/medit-view-panel/medit-view-panel.controller.ts +8 -78
  106. package/src/controller/control/search-bar/search-bar.controller.ts +6 -5
  107. package/src/de-logic/de-logic-context.ts +6 -5
  108. package/src/de-logic/de-logic-link/de-logic-link.ts +1 -1
  109. package/src/de-logic/de-logic-param/de-logic-param.ts +6 -1
  110. package/src/de-logic/de-logic.ts +5 -1
  111. package/src/de-logic/index.ts +49 -8
  112. package/src/engine/md-view.engine.ts +16 -13
  113. package/src/hub/config/app-view-config-service.ts +12 -1
  114. package/src/interface/common/i-app-view-config-service/i-app-view-config-service.ts +22 -4
  115. package/src/interface/controller/controller/control/i-chart-exp-bar.controller.ts +19 -0
  116. package/src/interface/controller/controller/control/index.ts +1 -0
  117. package/src/interface/controller/event/control/i-chart-exp-bar.event.ts +10 -0
  118. package/src/interface/controller/event/control/index.ts +1 -0
  119. package/src/interface/controller/event/view/i-chart-exp-view.event.ts +11 -0
  120. package/src/interface/controller/event/view/index.ts +1 -0
  121. package/src/interface/controller/state/control/i-chart-exp-bar.state.ts +10 -0
  122. package/src/interface/controller/state/control/index.ts +1 -0
  123. package/src/interface/controller/state/view/i-chart-exp-view.state.ts +10 -0
  124. package/src/interface/controller/state/view/index.ts +1 -0
  125. package/src/interface/service/code-list-item/code-list-item.ts +20 -0
  126. package/src/service/index.ts +1 -0
  127. package/src/service/mqtt/mqtt.service.ts +117 -0
  128. package/src/service/service/code-list/code-list.service.ts +15 -1
  129. package/src/service/service/entity/de.service.ts +2 -2
  130. package/src/service/service/entity/method/de-action.ts +74 -33
  131. package/src/service/service/entity/method/fetch.ts +12 -11
  132. package/src/service/service/entity/method/method.ts +28 -19
  133. package/src/service/utils/dynamic-code-list/dynamic-code-list.ts +121 -16
  134. package/src/ui-action/uiaction-util.ts +3 -3
  135. package/src/ui-logic/ui-logic-param/ui-logic-param.ts +6 -1
  136. package/src/utils/script/script-factory.ts +16 -0
@@ -87,7 +87,7 @@ export declare class DEService implements IAppDEService {
87
87
  * @param {IParams} [params2={}] 查询参数
88
88
  * @return {*} {Promise<IHttpResponse>}
89
89
  */
90
- exec(id: string, context: IParams, params?: IData, params2?: IParams): Promise<IHttpResponse>;
90
+ exec(id: string, context: IParams, params?: IData | IData[], params2?: IParams): Promise<IHttpResponse>;
91
91
  /**
92
92
  * 执行服务方法 ac 模式
93
93
  *
@@ -99,7 +99,7 @@ export declare class DEService implements IAppDEService {
99
99
  * @param {IParams} [params2={}] 查询参数
100
100
  * @return {*} {Promise<IHttpResponse>}
101
101
  */
102
- execAc(id: string, context: IParams, params?: IData, params2?: IParams): Promise<IHttpResponse>;
102
+ execAc(id: string, context: IParams, params?: IData | IData[], params2?: IParams): Promise<IHttpResponse>;
103
103
  /**
104
104
  * 实体级别 AI 聊天会话
105
105
  *
@@ -1 +1 @@
1
- {"version":3,"file":"de.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/entity/de.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EACL,aAAa,EACb,kBAAkB,EAGnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAe,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAInD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD;;;;;;;GAOG;AACH,qBAAa,SAAU,YAAW,aAAa;IAsDjC,SAAS,CAAC,KAAK,EAAE,cAAc;IArD3C;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IAEpC;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC;IAE7B;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAE9D;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAiB;IAExC;;;;;;OAMG;gBACmB,KAAK,EAAE,cAAc;IAU3C;;;;;;;;;OASG;IACH,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,GAAG,MAAM;IA6BhE;;;;;;;;;;OAUG;IACH,IAAI,CACF,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,KAAK,EACd,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,aAAa,CAAC;IAQzB;;;;;;;;;;OAUG;IACH,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,KAAK,EACd,OAAO,GAAE,OAAY,GACpB,OAAO,CAAC,aAAa,CAAC;IAQzB;;;;;;;;;;OAUG;IACH,SAAS,CACP,SAAS,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,EAC7C,OAAO,EAAE,OAAO,EAChB,MAAM,GAAE,OAAY,EACpB,IAAI,GAAE,KAAU,GACf,OAAO,CAAC,IAAI,CAAC;IA6BhB;;;;;;;;OAQG;IACH,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;CAQhD"}
1
+ {"version":3,"file":"de.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/entity/de.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EACL,aAAa,EACb,kBAAkB,EAGnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAe,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAInD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD;;;;;;;GAOG;AACH,qBAAa,SAAU,YAAW,aAAa;IAsDjC,SAAS,CAAC,KAAK,EAAE,cAAc;IArD3C;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IAEpC;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC;IAE7B;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAE9D;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAiB;IAExC;;;;;;OAMG;gBACmB,KAAK,EAAE,cAAc;IAU3C;;;;;;;;;OASG;IACH,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,GAAG,MAAM;IA6BhE;;;;;;;;;;OAUG;IACH,IAAI,CACF,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,EACxB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,aAAa,CAAC;IAQzB;;;;;;;;;;OAUG;IACH,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,EACxB,OAAO,GAAE,OAAY,GACpB,OAAO,CAAC,aAAa,CAAC;IAQzB;;;;;;;;;;OAUG;IACH,SAAS,CACP,SAAS,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,EAC7C,OAAO,EAAE,OAAO,EAChB,MAAM,GAAE,OAAY,EACpB,IAAI,GAAE,KAAU,GACf,OAAO,CAAC,IAAI,CAAC;IA6BhB;;;;;;;;OAQG;IACH,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;CAQhD"}
@@ -23,7 +23,16 @@ export declare class DEActionMethod extends Method {
23
23
  * @type {boolean}
24
24
  */
25
25
  protected get isLocalMode(): boolean;
26
- exec(context: IParams, data?: IData, params?: IParams): Promise<HttpResponse<IData>>;
26
+ /**
27
+ * 处理请求发送参数
28
+ * @author lxm
29
+ * @date 2023-10-19 02:50:36
30
+ * @param {IParams} context 上下文
31
+ * @param {(IData | IData[])} data 数据对象
32
+ * @return {*} {(Promise<IData | IData[]>)}
33
+ */
34
+ inputHandle(context: IParams, data: IData | IData[]): Promise<IData | IData[]>;
35
+ exec(context: IParams, data?: IData | IData[], params?: IParams): Promise<HttpResponse<IData>>;
27
36
  /**
28
37
  * 创建数据
29
38
  *
@@ -33,7 +42,7 @@ export declare class DEActionMethod extends Method {
33
42
  * @param {IData} data
34
43
  * @return {*} {Promise<IHttpResponse<IData>>}
35
44
  */
36
- create(context: IParams, data: IData, params: IParams): Promise<IHttpResponse<IDataEntity>>;
45
+ create(context: IParams, data?: IData | IData[], params?: IParams): Promise<IHttpResponse<IDataEntity>>;
37
46
  /**
38
47
  * 删除数据
39
48
  *
@@ -54,7 +63,7 @@ export declare class DEActionMethod extends Method {
54
63
  * @param {IParams} [params={}]
55
64
  * @return {*} {Promise<IHttpResponse<IDataEntity>>}
56
65
  */
57
- update(context: IParams, data: IData | IDataEntity, params?: IParams): Promise<IHttpResponse<IDataEntity>>;
66
+ update(context: IParams, data?: IData | IData[], params?: IParams): Promise<IHttpResponse<IDataEntity>>;
58
67
  /**
59
68
  * 获取数据
60
69
  *
@@ -84,7 +93,7 @@ export declare class DEActionMethod extends Method {
84
93
  * @param {IData} entity
85
94
  * @return {*} {Promise<IHttpResponse<IDataEntity>>}
86
95
  */
87
- createTemp(context: IParams, entity: IData): Promise<IHttpResponse<IDataEntity>>;
96
+ createTemp(context: IParams, entity: IData | IData[]): Promise<IHttpResponse<IDataEntity>>;
88
97
  /**
89
98
  * 获取临时数据默认值
90
99
  *
@@ -114,7 +123,7 @@ export declare class DEActionMethod extends Method {
114
123
  * @param {IData} entity
115
124
  * @return {*} {Promise<IHttpResponse<IDataEntity>>}
116
125
  */
117
- updateTemp(context: IParams, entity: IData): Promise<IHttpResponse<IDataEntity>>;
126
+ updateTemp(context: IParams, entity: IData | IData[]): Promise<IHttpResponse<IDataEntity>>;
118
127
  /**
119
128
  * 获取临时数据
120
129
  *
@@ -1 +1 @@
1
- {"version":3,"file":"de-action.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/de-action.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,aAAa,EAEd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAKpD;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,MAAM;IAChC,MAAM,EAAE,YAAY,CAAC;IAE7B;;;;;;;;OAQG;IACH,SAAS,KAAK,WAAW,IAAI,OAAO,CAEnC;IAEK,IAAI,CACR,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAmF/B;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAUtC;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAYtC;;;;;;;;;OASG;IACG,MAAM,CACV,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,GAAG,WAAW,EACzB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IActC;;;;;;;;OAQG;IACG,GAAG,CACP,OAAO,EAAE,OAAO,EAChB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAatC;;;;;;;;OAQG;IACG,QAAQ,CACZ,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAUhC;;;;;;;;OAQG;IACG,UAAU,CACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,GACZ,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAUtC;;;;;;;;OAQG;IACG,YAAY,CAChB,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAatC;;;;;;;;OAQG;IACG,UAAU,CACd,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAoBtC;;;;;;;;OAQG;IACG,UAAU,CACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,GACZ,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAatC;;;;;;;;OAQG;IACG,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAqBtC;;;;;;OAMG;IACG,eAAe,CACnB,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,aAAa,CAAC;CAc1B"}
1
+ {"version":3,"file":"de-action.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/de-action.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,aAAa,EAGd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAKpD;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,MAAM;IAChC,MAAM,EAAE,YAAY,CAAC;IAE7B;;;;;;;;OAQG;IACH,SAAS,KAAK,WAAW,IAAI,OAAO,CAEnC;IAED;;;;;;;OAOG;IACG,WAAW,CACf,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,GACpB,OAAO,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC;IAOrB,IAAI,CACR,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,EACtB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAmF/B;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,EACtB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAatC;;;;;;;;OAQG;IACG,MAAM,CACV,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAYtC;;;;;;;;;OASG;IACG,MAAM,CACV,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,EACtB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAiBtC;;;;;;;;OAQG;IACG,GAAG,CACP,OAAO,EAAE,OAAO,EAChB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAatC;;;;;;;;OAQG;IACG,QAAQ,CACZ,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAUhC;;;;;;;;OAQG;IACG,UAAU,CACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,GACtB,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAkBtC;;;;;;;;OAQG;IACG,YAAY,CAChB,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAatC;;;;;;;;OAQG;IACG,UAAU,CACd,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAoBtC;;;;;;;;OAQG;IACG,UAAU,CACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE,GACtB,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAqBtC;;;;;;;;OAQG;IACG,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAqBtC;;;;;;OAMG;IACG,eAAe,CACnB,QAAQ,EAAE,OAAO,EACjB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,aAAa,CAAC;CAc1B"}
@@ -1,5 +1,5 @@
1
- import { HttpResponse, RuntimeModelError, } from '@ibiz-template/core';
2
- import { clone } from 'ramda';
1
+ import { HttpResponse, RuntimeError, RuntimeModelError, } from '@ibiz-template/core';
2
+ import { isArray, isNil } from 'lodash-es';
3
3
  import { Method } from './method';
4
4
  import { findDELogic } from '../../../../model';
5
5
  import { execDELogicAction, execFieldLogics } from '../../../../de-logic';
@@ -26,6 +26,20 @@ export class DEActionMethod extends Method {
26
26
  get isLocalMode() {
27
27
  return isLocalMode(this.method);
28
28
  }
29
+ /**
30
+ * 处理请求发送参数
31
+ * @author lxm
32
+ * @date 2023-10-19 02:50:36
33
+ * @param {IParams} context 上下文
34
+ * @param {(IData | IData[])} data 数据对象
35
+ * @return {*} {(Promise<IData | IData[]>)}
36
+ */
37
+ async inputHandle(context, data) {
38
+ if (isArray(data)) {
39
+ return Promise.all(data.map(item => this.input.handle(context, item)));
40
+ }
41
+ return this.input.handle(context, data);
42
+ }
29
43
  async exec(context, data, params) {
30
44
  // 实体逻辑处理
31
45
  if (this.method.actionType === 'DELOGIC') {
@@ -33,14 +47,14 @@ export class DEActionMethod extends Method {
33
47
  if (!deLogic) {
34
48
  throw new RuntimeModelError(this.method, '缺少实体处理逻辑');
35
49
  }
36
- return execDELogicAction(deLogic, clone(context), data ? clone(data) : {}, params ? clone(params) : {});
50
+ return execDELogicAction(deLogic, context, data, params);
37
51
  }
38
52
  if (data && !this.isLocalMode) {
39
- data = await this.input.handle(context, data);
53
+ data = await this.inputHandle(context, data);
40
54
  }
41
55
  // 执行变更属性逻辑
42
56
  if (data && !['READ', 'GETDRAFT'].includes(this.method.actionMode)) {
43
- await execFieldLogics(this.entity, 'change', context, data, params || {});
57
+ await execFieldLogics(this.entity, 'change', context, data, params);
44
58
  }
45
59
  let result;
46
60
  switch (this.method.codeName) {
@@ -77,8 +91,13 @@ export class DEActionMethod extends Method {
77
91
  default: {
78
92
  let path = this.calcPath(context);
79
93
  if (this.method.needResourceKey) {
80
- path = `${path}/${context[this.entity.codeName.toLowerCase()] ||
81
- (data === null || data === void 0 ? void 0 : data[this.entity.keyAppDEFieldId])}`;
94
+ let srfkey = context[this.entity.codeName.toLowerCase()];
95
+ if (isNil(srfkey)) {
96
+ srfkey = isArray(data)
97
+ ? null
98
+ : data === null || data === void 0 ? void 0 : data[this.entity.keyAppDEFieldId];
99
+ }
100
+ path = `${path}/${srfkey}`;
82
101
  }
83
102
  const res = await this.request(path, context, data, params);
84
103
  res.data = await this.result.handle(context, res.data);
@@ -86,7 +105,9 @@ export class DEActionMethod extends Method {
86
105
  }
87
106
  }
88
107
  // 计算属性逻辑
89
- await execFieldLogics(this.entity, 'compute', context, result.data, params || {});
108
+ if (result.data) {
109
+ await execFieldLogics(this.entity, 'compute', context, result.data, params);
110
+ }
90
111
  return result;
91
112
  }
92
113
  /**
@@ -99,6 +120,9 @@ export class DEActionMethod extends Method {
99
120
  * @return {*} {Promise<IHttpResponse<IData>>}
100
121
  */
101
122
  async create(context, data, params) {
123
+ if (!data) {
124
+ throw new RuntimeError('create行为没有传data');
125
+ }
102
126
  if (this.isLocalMode) {
103
127
  return this.createTemp(context, this.createEntity(data));
104
128
  }
@@ -134,7 +158,10 @@ export class DEActionMethod extends Method {
134
158
  * @param {IParams} [params={}]
135
159
  * @return {*} {Promise<IHttpResponse<IDataEntity>>}
136
160
  */
137
- async update(context, data, params = {}) {
161
+ async update(context, data, params) {
162
+ if (!data) {
163
+ throw new RuntimeError('update行为没有传data');
164
+ }
138
165
  if (this.isLocalMode) {
139
166
  return this.updateTemp(context, this.createEntity(data));
140
167
  }
@@ -191,8 +218,15 @@ export class DEActionMethod extends Method {
191
218
  async createTemp(context, entity) {
192
219
  try {
193
220
  const s = await this.getService();
194
- const data = await s.local.add(context, this.createEntity(entity));
195
- return new HttpResponse(data);
221
+ const addData = this.createEntity(entity);
222
+ let resultData;
223
+ if (isArray(addData)) {
224
+ resultData = await Promise.all(addData.map(item => s.local.add(context, item)));
225
+ }
226
+ else {
227
+ resultData = await s.local.add(context, addData);
228
+ }
229
+ return new HttpResponse(resultData);
196
230
  }
197
231
  catch (err) {
198
232
  return new HttpResponse(err, 500);
@@ -261,11 +295,18 @@ export class DEActionMethod extends Method {
261
295
  async updateTemp(context, entity) {
262
296
  try {
263
297
  const s = await this.getService();
264
- const data = s.local.update(context, this.createEntity(entity));
265
- if (data) {
266
- return new HttpResponse(data);
298
+ const updateData = this.createEntity(entity);
299
+ let resultData;
300
+ if (isArray(updateData)) {
301
+ resultData = await Promise.all(updateData.map(item => s.local.update(context, item)));
267
302
  }
268
- return new HttpResponse(data, 500);
303
+ else {
304
+ resultData = await s.local.update(context, updateData);
305
+ }
306
+ if (resultData) {
307
+ return new HttpResponse(resultData);
308
+ }
309
+ return new HttpResponse(resultData, 500);
269
310
  }
270
311
  catch (err) {
271
312
  return new HttpResponse(err, 500);
@@ -15,7 +15,7 @@ import { IDataEntity } from '../../../../interface';
15
15
  export declare class FetchMethod extends Method {
16
16
  method: IAppDEDataSet;
17
17
  protected get isLocalMode(): boolean;
18
- exec(context: IParams, data: IData, params: IParams): Promise<HttpResponse<IDataEntity[]>>;
18
+ exec(context: IParams, params?: IData | IData[], params2?: IParams): Promise<HttpResponse<IDataEntity[]>>;
19
19
  /**
20
20
  * 查询本地数据,根据属性
21
21
  *
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGb,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,MAAM;IAC7B,MAAM,EAAE,aAAa,CAAC;IAE9B,SAAS,KAAK,WAAW,IAAI,OAAO,CAEnC;IAEK,IAAI,CACR,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IA8CvC;;;;;;OAMG;cACa,WAAW,CACzB,OAAO,EAAE,OAAO,EAChB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,WAAW,EAAE,CAAC;IA8DzB;;;;;;;;OAQG;cACa,WAAW,CACzB,IAAI,EAAE,gBAAgB,GAAG,IAAI,EAC7B,MAAM,EAAE,YAAY,EACpB,cAAc,GAAE,MAAM,EAA0C,GAC/D,OAAO,CAAC,WAAW,EAAE,CAAC;IA6CzB;;;;;;;OAOG;cACa,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;CAkBlC"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAGb,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,MAAM;IAC7B,MAAM,EAAE,aAAa,CAAC;IAE9B,SAAS,KAAK,WAAW,IAAI,OAAO,CAEnC;IAEK,IAAI,CACR,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,EACxB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC;IA8CvC;;;;;;OAMG;cACa,WAAW,CACzB,OAAO,EAAE,OAAO,EAChB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,WAAW,EAAE,CAAC;IA8DzB;;;;;;;;OAQG;cACa,WAAW,CACzB,IAAI,EAAE,gBAAgB,GAAG,IAAI,EAC7B,MAAM,EAAE,YAAY,EACpB,cAAc,GAAE,MAAM,EAA0C,GAC/D,OAAO,CAAC,WAAW,EAAE,CAAC;IA6CzB;;;;;;;OAOG;cACa,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;CAkBlC"}
@@ -1,6 +1,7 @@
1
1
  import { HttpResponse, ModelError, RuntimeModelError, } from '@ibiz-template/core';
2
2
  import { ascSort, descSort } from 'qx-util';
3
3
  import { clone, equals, isEmpty, isNil, where } from 'ramda';
4
+ import { isArray } from 'lodash-es';
4
5
  import { SearchFilter } from '../../../utils';
5
6
  import { Method } from './method';
6
7
  import { execFieldLogics } from '../../../../de-logic';
@@ -18,10 +19,12 @@ export class FetchMethod extends Method {
18
19
  get isLocalMode() {
19
20
  return isLocalMode(this.method);
20
21
  }
21
- async exec(context, data, params) {
22
+ async exec(context, params, params2) {
23
+ // 过滤参数,必须是对象
24
+ const searchParams = params && isArray(params) ? params : params2 || {};
22
25
  if (this.isLocalMode) {
23
26
  // 临时数据
24
- const items = await this.searchLocal(null, new SearchFilter(context, data));
27
+ const items = await this.searchLocal(null, new SearchFilter(context, searchParams));
25
28
  return new HttpResponse(items, 200);
26
29
  }
27
30
  // 根据数据集合来源查询数据
@@ -30,12 +33,12 @@ export class FetchMethod extends Method {
30
33
  case 'INDEXDE':
31
34
  case 'CODELIST':
32
35
  case 'MULTIFORM':
33
- res = await this.fetchCodeListSet(context, params);
36
+ res = await this.fetchCodeListSet(context, searchParams);
34
37
  break;
35
38
  case 'REMOTE':
36
39
  {
37
40
  const path = this.calcPath(context);
38
- res = await this.request(path, context, data, params);
41
+ res = await this.request(path, context, params, params2);
39
42
  }
40
43
  break;
41
44
  default:
@@ -45,8 +48,8 @@ export class FetchMethod extends Method {
45
48
  const items = res.data || [];
46
49
  res.data = items.map(item => this.createEntity(item));
47
50
  // 计算属性逻辑,每条数据走一遍
48
- if (res.data.length) {
49
- await Promise.all(res.data.map((item) => execFieldLogics(this.entity, 'compute', context, item, params)));
51
+ if (res.data) {
52
+ execFieldLogics(this.entity, 'compute', context, res.data, searchParams);
50
53
  }
51
54
  return res;
52
55
  }
@@ -56,14 +56,15 @@ export declare abstract class Method {
56
56
  /**
57
57
  * 执行行为
58
58
  *
59
- * @author chitanda
60
- * @date 2022-10-10 14:10:42
61
- * @param {IParams} context
62
- * @param {IData} [params={}]
63
- * @param {IParams} [params2={}]
59
+ * @author lxm
60
+ * @date 2023-10-19 02:42:49
61
+ * @abstract
62
+ * @param {IParams} context 上下文
63
+ * @param {(IData | IData[])} [params] 请求参数
64
+ * @param {IParams} [params2] 查询参数
64
65
  * @return {*} {Promise<HttpResponse>}
65
66
  */
66
- abstract exec(context: IParams, params?: IData, params2?: IParams): Promise<HttpResponse>;
67
+ abstract exec(context: IParams, params?: IData | IData[], params2?: IParams): Promise<HttpResponse>;
67
68
  /**
68
69
  * 发送请求
69
70
  *
@@ -76,7 +77,7 @@ export declare abstract class Method {
76
77
  * @param {IParams} params
77
78
  * @return {*} {Promise<HttpResponse<any>>}
78
79
  */
79
- protected request(path: string, context: IParams, data?: IData, params?: IParams): Promise<HttpResponse<any>>;
80
+ protected request(path: string, context: IParams, data?: IData | IData[], params?: IParams): Promise<HttpResponse<any>>;
80
81
  protected mergeRequestPath(path: string, methodName: string): string;
81
82
  /**
82
83
  * 根据上下文计算当前请求路径
@@ -99,13 +100,12 @@ export declare abstract class Method {
99
100
  protected getService(): Promise<IAppDEService>;
100
101
  /**
101
102
  * 创建实体
102
- *
103
- * @author chitanda
104
- * @date 2022-10-11 22:10:05
103
+ * @author lxm
104
+ * @date 2023-10-19 03:22:00
105
105
  * @protected
106
- * @param {(IData | IDataEntity)} data
107
- * @return {*} {IDataEntity}
106
+ * @param {(IData[] | IDataEntity[] | IData | IDataEntity)} data
107
+ * @return {*} {(IDataEntity | IDataEntity[])}
108
108
  */
109
- protected createEntity(data: IData | IDataEntity): IDataEntity;
109
+ protected createEntity(data: IData[] | IDataEntity[] | IData | IDataEntity): IDataEntity | IDataEntity[];
110
110
  }
111
111
  //# sourceMappingURL=method.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/method.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAqB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEnE;;;;;;;GAOG;AACH,8BAAsB,MAAM;IA2CxB,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,MAAM,EAAE,YAAY;IA3ChC,SAAS,CAAC,GAAG,EAAG,WAAW,CAAC;IAE5B;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAG,WAAW,CAAC;IAE9B;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAG,YAAY,CAAC;IAEhC;;;;;;;OAOG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IAElC;;;;;;;;OAQG;gBAES,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,YAAY;IAOhC;;;;;;;;;OASG;IACH,QAAQ,CAAC,IAAI,CACX,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,KAAK,EACd,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,YAAY,CAAC;IAExB;;;;;;;;;;;OAWG;cACa,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,OAAO,GAEf,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IA8C7B,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAIpE;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAM5C;;;;;;;OAOG;cACa,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IAOpD;;;;;;;;OAQG;IACH,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW;CAM/D"}
1
+ {"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/method.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAqB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEnE;;;;;;;GAOG;AACH,8BAAsB,MAAM;IA2CxB,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,MAAM,EAAE,YAAY;IA3ChC,SAAS,CAAC,GAAG,EAAG,WAAW,CAAC;IAE5B;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAG,WAAW,CAAC;IAE9B;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAG,YAAY,CAAC;IAEhC;;;;;;;OAOG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IAElC;;;;;;;;OAQG;gBAES,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,YAAY;IAOhC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,IAAI,CACX,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,EACxB,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,YAAY,CAAC;IAExB;;;;;;;;;;;OAWG;cACa,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,EACtB,MAAM,CAAC,EAAE,OAAO,GAEf,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IA8C7B,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAIpE;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAM5C;;;;;;;OAOG;cACa,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IAOpD;;;;;;;OAOG;IACH,SAAS,CAAC,YAAY,CACpB,IAAI,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,GAAG,KAAK,GAAG,WAAW,GAClD,WAAW,GAAG,WAAW,EAAE;CAa/B"}
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable @typescript-eslint/no-unused-vars */
2
2
  import { RuntimeModelError } from '@ibiz-template/core';
3
- import { notNilEmpty } from 'qx-util';
3
+ import { isArray } from 'lodash-es';
4
4
  import { AppDataEntity } from '../../../app-data-entity/app-data-entity';
5
5
  import { calcResPath } from '../../../utils';
6
6
  import { MethodInput } from './method-input';
@@ -49,13 +49,13 @@ export class Method {
49
49
  let res = null;
50
50
  switch (requestMethod) {
51
51
  case 'POST':
52
- res = await this.app.net.post(this.mergeRequestPath(path, methodName), notNilEmpty(data) ? data : params || {});
52
+ res = await this.app.net.post(this.mergeRequestPath(path, methodName), data || params || {});
53
53
  break;
54
54
  case 'GET':
55
55
  res = await this.app.net.get(this.mergeRequestPath(path, methodName), data || params);
56
56
  break;
57
57
  case 'PUT': {
58
- res = await this.app.net.put(this.mergeRequestPath(path, methodName), notNilEmpty(data) ? data : params || {});
58
+ res = await this.app.net.put(this.mergeRequestPath(path, methodName), data || params || {});
59
59
  break;
60
60
  }
61
61
  case 'DELETE':
@@ -106,17 +106,22 @@ export class Method {
106
106
  }
107
107
  /**
108
108
  * 创建实体
109
- *
110
- * @author chitanda
111
- * @date 2022-10-11 22:10:05
109
+ * @author lxm
110
+ * @date 2023-10-19 03:22:00
112
111
  * @protected
113
- * @param {(IData | IDataEntity)} data
114
- * @return {*} {IDataEntity}
112
+ * @param {(IData[] | IDataEntity[] | IData | IDataEntity)} data
113
+ * @return {*} {(IDataEntity | IDataEntity[])}
115
114
  */
116
115
  createEntity(data) {
117
- if (data instanceof AppDataEntity) {
118
- return data.clone();
116
+ const toEntity = (single) => {
117
+ if (single instanceof AppDataEntity) {
118
+ return single.clone();
119
+ }
120
+ return new AppDataEntity(this.entity, single);
121
+ };
122
+ if (isArray(data)) {
123
+ return data.map(item => toEntity(item));
119
124
  }
120
- return new AppDataEntity(this.entity, data);
125
+ return toEntity(data);
121
126
  }
122
127
  }
@@ -95,7 +95,7 @@ export declare class DynamicCodeListCache {
95
95
  * @param {IData} data
96
96
  * @returns {*}
97
97
  */
98
- protected convertData(data: IData): Readonly<IData>;
98
+ protected convertData(data: IData): CodeListItem;
99
99
  /**
100
100
  * 加载服务获取数据,返回代码项
101
101
  *
@@ -107,6 +107,12 @@ export declare class DynamicCodeListCache {
107
107
  * @returns {*} {Promise<CodeListItem[]>}
108
108
  */
109
109
  protected load(context?: IParams, params?: IParams): Promise<CodeListItem[]>;
110
+ /**
111
+ * 组装树形代码表数据
112
+ *
113
+ * @return {codeListItem[] | undefined}
114
+ */
115
+ protected prepareTreeData(items: IData[], pValue?: string | number): CodeListItem[] | undefined;
110
116
  /**
111
117
  * 获取动态的代码项
112
118
  *
@@ -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;AAElD;;;;;;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,QAAQ,CAAC,KAAK,CAAC;IAanD;;;;;;;;;OASG;cACa,IAAI,CAClB,OAAO,GAAE,OAAY,EACrB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC;IAyC1B;;;;;;;;OAQG;IACG,GAAG,CACP,OAAO,GAAE,OAAY,EACrB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC;CAyC3B"}
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;AAGlD;;;;;;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;IAuDhD;;;;;;;;;OASG;cACa,IAAI,CAClB,OAAO,GAAE,OAAY,EACrB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC;IAuE1B;;;;OAIG;IACH,SAAS,CAAC,eAAe,CACvB,KAAK,EAAE,KAAK,EAAE,EACd,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GACvB,YAAY,EAAE,GAAG,SAAS;IAwB7B;;;;;;;;OAQG;IACG,GAAG,CACP,OAAO,GAAE,OAAY,EACrB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC;CAyC3B"}
@@ -1,5 +1,6 @@
1
1
  import { ModelError, RuntimeModelError } from '@ibiz-template/core';
2
2
  import { isNil } from 'ramda';
3
+ import { convertNavData, ScriptFactory } from '../../../utils';
3
4
  /**
4
5
  * 动态代码表缓存对象
5
6
  *
@@ -61,16 +62,45 @@ export class DynamicCodeListCache {
61
62
  * @returns {*}
62
63
  */
63
64
  convertData(data) {
64
- // todo 根据模型转换
65
65
  const result = {};
66
+ const { valueAppDEFieldId, textAppDEFieldId, iconClsAppDEFieldId, iconClsXAppDEFieldId, iconPathAppDEFieldId, iconPathXAppDEFieldId, disableAppDEFieldId, dataAppDEFieldId, } = this.codeList;
66
67
  // 值属性
67
- const { valueAppDEFieldId, textAppDEFieldId } = this.codeList;
68
68
  const value = valueAppDEFieldId ? data[valueAppDEFieldId] : data.srfkey;
69
69
  result.id = value;
70
70
  result.value = value;
71
71
  // 文本属性
72
72
  result.text = textAppDEFieldId ? data[textAppDEFieldId] : data.srfmajortext;
73
- return Object.freeze(result);
73
+ if (iconClsAppDEFieldId ||
74
+ iconClsXAppDEFieldId ||
75
+ iconPathAppDEFieldId ||
76
+ iconPathXAppDEFieldId) {
77
+ result.sysImage = {};
78
+ // 图标样式属性
79
+ if (iconClsAppDEFieldId) {
80
+ result.sysImage.cssClass = data[iconClsAppDEFieldId];
81
+ }
82
+ // 图标样式(倍数)属性
83
+ if (iconClsXAppDEFieldId) {
84
+ result.sysImage.cssClassX = data[iconClsXAppDEFieldId];
85
+ }
86
+ // 图标路径属性
87
+ if (iconPathAppDEFieldId) {
88
+ result.sysImage.imagePath = data[iconPathAppDEFieldId];
89
+ }
90
+ // 图标路径(倍数)属性
91
+ if (iconPathXAppDEFieldId) {
92
+ result.sysImage.imagePathX = data[iconPathXAppDEFieldId];
93
+ }
94
+ }
95
+ // 禁止选择属性
96
+ if (disableAppDEFieldId) {
97
+ result.disableSelect = data[disableAppDEFieldId];
98
+ }
99
+ // 数据属性
100
+ if (dataAppDEFieldId && data[dataAppDEFieldId]) {
101
+ result.data = ScriptFactory.execSingleLine(data[dataAppDEFieldId]);
102
+ }
103
+ return result;
74
104
  }
75
105
  /**
76
106
  * 加载服务获取数据,返回代码项
@@ -84,32 +114,78 @@ export class DynamicCodeListCache {
84
114
  */
85
115
  async load(context = {}, params = {}) {
86
116
  const app = ibiz.hub.getApp(context.srfappid);
87
- // *预定义加载
117
+ const { appDataEntityId, appDEDataSetId, minorSortAppDEFieldId, minorSortDir, pvalueAppDEFieldId, customCond, } = this.codeList;
118
+ // *处理查询参数
119
+ const tempParams = Object.assign({}, params);
120
+ // 排序
121
+ if (minorSortAppDEFieldId && minorSortDir) {
122
+ Object.assign(tempParams, {
123
+ sort: `${minorSortAppDEFieldId.toLowerCase()},${minorSortDir.toLowerCase()}`,
124
+ });
125
+ }
126
+ // 自定义查询
127
+ if (customCond) {
128
+ const navParams = ScriptFactory.execSingleLine(customCond);
129
+ const addParams = convertNavData(navParams, tempParams, context);
130
+ Object.assign(tempParams, addParams);
131
+ }
88
132
  // 特殊处理,避免预置代码表加载不全
89
- if (!params.size) {
90
- params = Object.assign(Object.assign({}, params), { size: 10000 });
133
+ if (!tempParams.size) {
134
+ tempParams.size = 10000;
91
135
  }
136
+ // *预定义加载
92
137
  if (this.isPredefined) {
93
- const res = await app.net.get(`/dictionaries/codelist/${this.codeList.codeName}`, params);
138
+ const res = await app.net.get(`/dictionaries/codelist/${this.codeList.codeName}`, tempParams);
94
139
  return Object.freeze(res.data.items);
95
140
  }
96
141
  // *加载实体服务数据
97
- const { appDataEntityId, appDEDataSetId } = this.codeList;
98
142
  if (!appDataEntityId) {
99
143
  throw new RuntimeModelError(this.codeList, '未配置应用实体');
100
144
  }
101
145
  if (!appDEDataSetId) {
102
146
  throw new RuntimeModelError(this.codeList, '未配置数据集');
103
147
  }
104
- const res = await app.deService.exec(appDataEntityId, appDEDataSetId, context, {}, params);
148
+ const res = await app.deService.exec(appDataEntityId, appDEDataSetId, context, undefined, tempParams);
105
149
  let resultItems = [];
106
150
  if (res.data.length) {
107
- resultItems = res.data.map((item) => {
108
- return this.convertData(item);
151
+ res.data.forEach((item) => {
152
+ if (pvalueAppDEFieldId) {
153
+ const tempItems = this.prepareTreeData(res.data);
154
+ if (tempItems) {
155
+ resultItems = tempItems;
156
+ }
157
+ }
158
+ else {
159
+ resultItems.push(this.convertData(item));
160
+ }
109
161
  });
110
- // todo 动态树形代码表
111
162
  }
112
- return resultItems;
163
+ return Object.freeze(resultItems);
164
+ }
165
+ /**
166
+ * 组装树形代码表数据
167
+ *
168
+ * @return {codeListItem[] | undefined}
169
+ */
170
+ prepareTreeData(items, pValue) {
171
+ const { pvalueAppDEFieldId } = this.codeList;
172
+ let filteredData = [];
173
+ filteredData = items.filter(item => {
174
+ if (pValue) {
175
+ // 有传父value去后台数据里找出来子项pValue等于父value的
176
+ return item[pvalueAppDEFieldId] === pValue;
177
+ }
178
+ // 没有传父value,只需要找出来没有父值属性的
179
+ return !item[pvalueAppDEFieldId];
180
+ });
181
+ if (filteredData.length === 0) {
182
+ return;
183
+ }
184
+ return filteredData.map(data => {
185
+ const tempCodeListItem = this.convertData(data);
186
+ tempCodeListItem.children = this.prepareTreeData(items, tempCodeListItem.value);
187
+ return tempCodeListItem;
188
+ });
113
189
  }
114
190
  /**
115
191
  * 获取动态的代码项
@@ -54,13 +54,13 @@ export class UIActionUtil {
54
54
  else if (result.refresh) {
55
55
  switch (result.refreshMode) {
56
56
  case 1:
57
- await params.view.callUIAction(SysUIActionTag.REFRESH);
57
+ params.view.callUIAction(SysUIActionTag.REFRESH);
58
58
  break;
59
59
  case 2:
60
- await ((_a = params.view.parentView) === null || _a === void 0 ? void 0 : _a.callUIAction(SysUIActionTag.REFRESH));
60
+ (_a = params.view.parentView) === null || _a === void 0 ? void 0 : _a.callUIAction(SysUIActionTag.REFRESH);
61
61
  break;
62
62
  case 3:
63
- await ((_b = params.view.getTopView()) === null || _b === void 0 ? void 0 : _b.callUIAction(SysUIActionTag.REFRESH));
63
+ (_b = params.view.getTopView()) === null || _b === void 0 ? void 0 : _b.callUIAction(SysUIActionTag.REFRESH);
64
64
  break;
65
65
  default:
66
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ui-logic-param.d.ts","sourceRoot":"","sources":["../../../src/ui-logic/ui-logic-param/ui-logic-param.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;;;;GAOG;AACH,qBAAa,YAAY;IAQJ,KAAK,EAAE,eAAe;IAPzC;;;;;;OAMG;gBACgB,KAAK,EAAE,eAAe;IAEzC;;;;;;OAMG;IACH,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI;IAsE/B;;;;;OAKG;IACH,KAAK,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI;CAWjC"}
1
+ {"version":3,"file":"ui-logic-param.d.ts","sourceRoot":"","sources":["../../../src/ui-logic/ui-logic-param/ui-logic-param.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;;;;;;GAOG;AACH,qBAAa,YAAY;IAQJ,KAAK,EAAE,eAAe;IAPzC;;;;;;OAMG;gBACgB,KAAK,EAAE,eAAe;IAEzC;;;;;;OAMG;IACH,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI;IA2E/B;;;;;OAKG;IACH,KAAK,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI;CAWjC"}
@@ -37,7 +37,13 @@ export class UILogicParam {
37
37
  return;
38
38
  }
39
39
  if (m.default) {
40
- ctx.params[tag] = data && data.length > 0 ? data[0] : {};
40
+ // 配置了数据对象列表的,default给数组格式的数据
41
+ if (m.entityListParam) {
42
+ ctx.params[tag] = data || [];
43
+ }
44
+ else {
45
+ ctx.params[tag] = data && data.length > 0 ? data[0] : {};
46
+ }
41
47
  }
42
48
  else if (m.activeContainerParam) {
43
49
  ctx.params[tag] = parameters.ctrl || parameters.view;
@@ -22,5 +22,15 @@ export declare class ScriptFactory {
22
22
  * @return {*}
23
23
  */
24
24
  static execScriptFn(args: IParams, scriptCode: string, options?: IScriptFunctionOpts): unknown;
25
+ /**
26
+ * 执行单行脚本
27
+ * @author lxm
28
+ * @date 2023-10-20 03:20:56
29
+ * @static
30
+ * @param {string} scriptCode 脚本字符串
31
+ * @param {IParams} [args={}] 作用域变量参数对象
32
+ * @return {*} {unknown}
33
+ */
34
+ static execSingleLine(scriptCode: string, args?: IParams): unknown;
25
35
  }
26
36
  //# sourceMappingURL=script-factory.d.ts.map