@ibiz-template/runtime 0.1.37 → 0.1.38

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 +12603 -539
  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 +76 -8
  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 +103 -10
  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
@@ -3,6 +3,7 @@ import { ModelError, RuntimeModelError } from '@ibiz-template/core';
3
3
  import { isNil } from 'ramda';
4
4
  import { Application } from '../../../application';
5
5
  import { CodeListItem } from '../../../interface';
6
+ import { ScriptFactory } from '../../../utils';
6
7
 
7
8
  /**
8
9
  * 实际缓存对象
@@ -129,17 +130,59 @@ export class DynamicCodeListCache {
129
130
  * @param {IData} data
130
131
  * @returns {*}
131
132
  */
132
- protected convertData(data: IData): Readonly<IData> {
133
- // todo 根据模型转换
134
- const result: IData = {};
133
+ protected convertData(data: IData): CodeListItem {
134
+ const result = {} as CodeListItem;
135
+ const {
136
+ valueAppDEFieldId,
137
+ textAppDEFieldId,
138
+ iconClsAppDEFieldId,
139
+ iconClsXAppDEFieldId,
140
+ iconPathAppDEFieldId,
141
+ iconPathXAppDEFieldId,
142
+ disableAppDEFieldId,
143
+ dataAppDEFieldId,
144
+ } = this.codeList;
135
145
  // 值属性
136
- const { valueAppDEFieldId, textAppDEFieldId } = this.codeList;
137
146
  const value = valueAppDEFieldId ? data[valueAppDEFieldId] : data.srfkey;
138
147
  result.id = value;
139
148
  result.value = value;
140
149
  // 文本属性
141
150
  result.text = textAppDEFieldId ? data[textAppDEFieldId] : data.srfmajortext;
142
- return Object.freeze(result);
151
+ if (
152
+ iconClsAppDEFieldId ||
153
+ iconClsXAppDEFieldId ||
154
+ iconPathAppDEFieldId ||
155
+ iconPathXAppDEFieldId
156
+ ) {
157
+ result.sysImage = {};
158
+ // 图标样式属性
159
+ if (iconClsAppDEFieldId) {
160
+ result.sysImage.cssClass = data[iconClsAppDEFieldId];
161
+ }
162
+ // 图标样式(倍数)属性
163
+ if (iconClsXAppDEFieldId) {
164
+ result.sysImage.cssClassX = data[iconClsXAppDEFieldId];
165
+ }
166
+ // 图标路径属性
167
+ if (iconPathAppDEFieldId) {
168
+ result.sysImage.imagePath = data[iconPathAppDEFieldId];
169
+ }
170
+ // 图标路径(倍数)属性
171
+ if (iconPathXAppDEFieldId) {
172
+ result.sysImage.imagePathX = data[iconPathXAppDEFieldId];
173
+ }
174
+ }
175
+ // 禁止选择属性
176
+ if (disableAppDEFieldId) {
177
+ result.disableSelect = data[disableAppDEFieldId];
178
+ }
179
+ // 数据属性
180
+ if (dataAppDEFieldId && data[dataAppDEFieldId]) {
181
+ result.data = ScriptFactory.execSingleLine(
182
+ data[dataAppDEFieldId],
183
+ ) as IData;
184
+ }
185
+ return result;
143
186
  }
144
187
 
145
188
  /**
@@ -157,11 +200,24 @@ export class DynamicCodeListCache {
157
200
  params: IParams = {},
158
201
  ): Promise<CodeListItem[]> {
159
202
  const app = ibiz.hub.getApp(context.srfappid);
203
+ const {
204
+ appDataEntityId,
205
+ appDEDataSetId,
206
+ minorSortAppDEFieldId,
207
+ minorSortDir,
208
+ pvalueAppDEFieldId,
209
+ } = this.codeList;
160
210
  // *预定义加载
161
211
  // 特殊处理,避免预置代码表加载不全
162
212
  if (!params.size) {
163
213
  params = { ...params, size: 10000 };
164
214
  }
215
+ // 排序
216
+ if (minorSortAppDEFieldId && minorSortDir) {
217
+ Object.assign(params, {
218
+ sort: `${minorSortAppDEFieldId.toLowerCase()},${minorSortDir.toLowerCase()}`,
219
+ });
220
+ }
165
221
  if (this.isPredefined) {
166
222
  const res = await app.net.get(
167
223
  `/dictionaries/codelist/${this.codeList.codeName}`,
@@ -171,7 +227,6 @@ export class DynamicCodeListCache {
171
227
  }
172
228
 
173
229
  // *加载实体服务数据
174
- const { appDataEntityId, appDEDataSetId } = this.codeList;
175
230
  if (!appDataEntityId) {
176
231
  throw new RuntimeModelError(this.codeList, '未配置应用实体');
177
232
  }
@@ -188,12 +243,50 @@ export class DynamicCodeListCache {
188
243
  );
189
244
  let resultItems: CodeListItem[] = [];
190
245
  if (res.data.length) {
191
- resultItems = res.data.map((item: IData) => {
192
- return this.convertData(item);
246
+ res.data.forEach((item: IData) => {
247
+ if (pvalueAppDEFieldId) {
248
+ const tempItems = this.prepareTreeData(res.data as IData[]);
249
+ if (tempItems) {
250
+ resultItems = tempItems;
251
+ }
252
+ } else {
253
+ resultItems.push(this.convertData(item));
254
+ }
193
255
  });
194
- // todo 动态树形代码表
195
256
  }
196
- return resultItems;
257
+ return Object.freeze(resultItems) as CodeListItem[];
258
+ }
259
+
260
+ /**
261
+ * 组装树形代码表数据
262
+ *
263
+ * @return {codeListItem[] | undefined}
264
+ */
265
+ protected prepareTreeData(
266
+ items: IData[],
267
+ pValue?: string | number,
268
+ ): CodeListItem[] | undefined {
269
+ const { pvalueAppDEFieldId } = this.codeList;
270
+ let filteredData: IData[] = [];
271
+ filteredData = items.filter(item => {
272
+ if (pValue) {
273
+ // 有传父value去后台数据里找出来子项pValue等于父value的
274
+ return item[pvalueAppDEFieldId!] === pValue;
275
+ }
276
+ // 没有传父value,只需要找出来没有父值属性的
277
+ return !item[pvalueAppDEFieldId!];
278
+ });
279
+ if (filteredData.length === 0) {
280
+ return;
281
+ }
282
+ return filteredData.map(data => {
283
+ const tempCodeListItem = this.convertData(data);
284
+ tempCodeListItem.children = this.prepareTreeData(
285
+ items,
286
+ tempCodeListItem.value,
287
+ );
288
+ return tempCodeListItem;
289
+ });
197
290
  }
198
291
 
199
292
  /**
@@ -61,13 +61,13 @@ export class UIActionUtil {
61
61
  } else if (result.refresh) {
62
62
  switch (result.refreshMode) {
63
63
  case 1:
64
- await params.view.callUIAction(SysUIActionTag.REFRESH);
64
+ params.view.callUIAction(SysUIActionTag.REFRESH);
65
65
  break;
66
66
  case 2:
67
- await params.view.parentView?.callUIAction(SysUIActionTag.REFRESH);
67
+ params.view.parentView?.callUIAction(SysUIActionTag.REFRESH);
68
68
  break;
69
69
  case 3:
70
- await params.view.getTopView()?.callUIAction(SysUIActionTag.REFRESH);
70
+ params.view.getTopView()?.callUIAction(SysUIActionTag.REFRESH);
71
71
  break;
72
72
  default:
73
73
  }
@@ -41,7 +41,12 @@ export class UILogicParam {
41
41
  }
42
42
 
43
43
  if (m.default) {
44
- ctx.params[tag] = data && data.length > 0 ? data[0] : {};
44
+ // 配置了数据对象列表的,default给数组格式的数据
45
+ if (m.entityListParam) {
46
+ ctx.params[tag] = data || [];
47
+ } else {
48
+ ctx.params[tag] = data && data.length > 0 ? data[0] : {};
49
+ }
45
50
  } else if (m.activeContainerParam) {
46
51
  ctx.params[tag] = parameters.ctrl || parameters.view;
47
52
  } else if (m.activeCtrlParam) {
@@ -38,4 +38,20 @@ export class ScriptFactory {
38
38
  args,
39
39
  );
40
40
  }
41
+
42
+ /**
43
+ * 执行单行脚本
44
+ * @author lxm
45
+ * @date 2023-10-20 03:20:56
46
+ * @static
47
+ * @param {string} scriptCode 脚本字符串
48
+ * @param {IParams} [args={}] 作用域变量参数对象
49
+ * @return {*} {unknown}
50
+ */
51
+ static execSingleLine(scriptCode: string, args: IParams = {}): unknown {
52
+ return this.execScriptFn(args, scriptCode, {
53
+ singleRowReturn: true,
54
+ isAsync: false,
55
+ });
56
+ }
41
57
  }