@ibiz-template/runtime 0.1.36 → 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 (187) hide show
  1. package/dist/index.esm.js +13465 -1025
  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/constant/view-call-tag.d.ts +5 -1
  8. package/out/constant/view-call-tag.d.ts.map +1 -1
  9. package/out/constant/view-call-tag.js +4 -0
  10. package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.d.ts.map +1 -1
  11. package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.js +1 -0
  12. package/out/controller/control/exp-bar/chart-exp-bar.controller.d.ts +24 -0
  13. package/out/controller/control/exp-bar/chart-exp-bar.controller.d.ts.map +1 -0
  14. package/out/controller/control/exp-bar/chart-exp-bar.controller.js +32 -0
  15. package/out/controller/control/exp-bar/index.d.ts +1 -0
  16. package/out/controller/control/exp-bar/index.d.ts.map +1 -1
  17. package/out/controller/control/exp-bar/index.js +1 -0
  18. package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts +3 -3
  19. package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts.map +1 -1
  20. package/out/controller/control/form/form-detail/form-item/form-item.controller.js +13 -8
  21. package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.d.ts +1 -0
  22. package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.d.ts.map +1 -1
  23. package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.js +8 -0
  24. package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.d.ts +3 -3
  25. package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.d.ts.map +1 -1
  26. package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.js +13 -8
  27. package/out/controller/control/index.d.ts +1 -0
  28. package/out/controller/control/index.d.ts.map +1 -1
  29. package/out/controller/control/index.js +1 -0
  30. package/out/controller/control/medit-view-panel/index.d.ts +3 -0
  31. package/out/controller/control/medit-view-panel/index.d.ts.map +1 -0
  32. package/out/controller/control/medit-view-panel/index.js +2 -0
  33. package/out/controller/control/medit-view-panel/medit-view-panel.controller.d.ts +107 -0
  34. package/out/controller/control/medit-view-panel/medit-view-panel.controller.d.ts.map +1 -0
  35. package/out/controller/control/medit-view-panel/medit-view-panel.controller.js +260 -0
  36. package/out/controller/control/medit-view-panel/medit-view-panel.service.d.ts +11 -0
  37. package/out/controller/control/medit-view-panel/medit-view-panel.service.d.ts.map +1 -0
  38. package/out/controller/control/medit-view-panel/medit-view-panel.service.js +9 -0
  39. package/out/controller/control/search-bar/search-bar.controller.d.ts.map +1 -1
  40. package/out/controller/control/search-bar/search-bar.controller.js +3 -3
  41. package/out/controller/utils/value-rule/value-rule.d.ts +10 -1
  42. package/out/controller/utils/value-rule/value-rule.d.ts.map +1 -1
  43. package/out/controller/utils/value-rule/value-rule.js +64 -1
  44. package/out/de-logic/de-logic-context.d.ts +4 -4
  45. package/out/de-logic/de-logic-context.d.ts.map +1 -1
  46. package/out/de-logic/de-logic-context.js +2 -1
  47. package/out/de-logic/de-logic-link/de-logic-link.js +1 -1
  48. package/out/de-logic/de-logic-param/de-logic-param.d.ts.map +1 -1
  49. package/out/de-logic/de-logic-param/de-logic-param.js +7 -1
  50. package/out/de-logic/de-logic.d.ts +1 -1
  51. package/out/de-logic/de-logic.d.ts.map +1 -1
  52. package/out/de-logic/index.d.ts +5 -5
  53. package/out/de-logic/index.d.ts.map +1 -1
  54. package/out/de-logic/index.js +32 -5
  55. package/out/engine/md-view.engine.d.ts +3 -3
  56. package/out/engine/md-view.engine.d.ts.map +1 -1
  57. package/out/engine/md-view.engine.js +14 -12
  58. package/out/hub/config/app-view-config-service.d.ts +3 -1
  59. package/out/hub/config/app-view-config-service.d.ts.map +1 -1
  60. package/out/hub/config/app-view-config-service.js +9 -0
  61. package/out/interface/common/i-app-view-config-service/i-app-view-config-service.d.ts +20 -2
  62. package/out/interface/common/i-app-view-config-service/i-app-view-config-service.d.ts.map +1 -1
  63. package/out/interface/controller/controller/control/i-chart-exp-bar.controller.d.ts +15 -0
  64. package/out/interface/controller/controller/control/i-chart-exp-bar.controller.d.ts.map +1 -0
  65. package/out/interface/controller/controller/control/i-chart-exp-bar.controller.js +1 -0
  66. package/out/interface/controller/controller/control/i-medit-view-panel.controller.d.ts +14 -0
  67. package/out/interface/controller/controller/control/i-medit-view-panel.controller.d.ts.map +1 -0
  68. package/out/interface/controller/controller/control/i-medit-view-panel.controller.js +1 -0
  69. package/out/interface/controller/controller/control/index.d.ts +2 -0
  70. package/out/interface/controller/controller/control/index.d.ts.map +1 -1
  71. package/out/interface/controller/controller/control/index.js +2 -0
  72. package/out/interface/controller/event/control/i-chart-exp-bar.event.d.ts +11 -0
  73. package/out/interface/controller/event/control/i-chart-exp-bar.event.d.ts.map +1 -0
  74. package/out/interface/controller/event/control/i-chart-exp-bar.event.js +1 -0
  75. package/out/interface/controller/event/control/i-medit-view-panel.event.d.ts +9 -0
  76. package/out/interface/controller/event/control/i-medit-view-panel.event.d.ts.map +1 -0
  77. package/out/interface/controller/event/control/i-medit-view-panel.event.js +1 -0
  78. package/out/interface/controller/event/control/index.d.ts +2 -0
  79. package/out/interface/controller/event/control/index.d.ts.map +1 -1
  80. package/out/interface/controller/event/control/index.js +2 -0
  81. package/out/interface/controller/event/view/i-chart-exp-view.event.d.ts +11 -0
  82. package/out/interface/controller/event/view/i-chart-exp-view.event.d.ts.map +1 -0
  83. package/out/interface/controller/event/view/i-chart-exp-view.event.js +1 -0
  84. package/out/interface/controller/event/view/i-medit-view9.event.d.ts +10 -0
  85. package/out/interface/controller/event/view/i-medit-view9.event.d.ts.map +1 -0
  86. package/out/interface/controller/event/view/i-medit-view9.event.js +1 -0
  87. package/out/interface/controller/event/view/index.d.ts +2 -0
  88. package/out/interface/controller/event/view/index.d.ts.map +1 -1
  89. package/out/interface/controller/event/view/index.js +2 -0
  90. package/out/interface/controller/state/control/i-chart-exp-bar.state.d.ts +11 -0
  91. package/out/interface/controller/state/control/i-chart-exp-bar.state.d.ts.map +1 -0
  92. package/out/interface/controller/state/control/i-chart-exp-bar.state.js +1 -0
  93. package/out/interface/controller/state/control/i-medit-view-panel.state.d.ts +29 -0
  94. package/out/interface/controller/state/control/i-medit-view-panel.state.d.ts.map +1 -0
  95. package/out/interface/controller/state/control/i-medit-view-panel.state.js +1 -0
  96. package/out/interface/controller/state/control/index.d.ts +2 -0
  97. package/out/interface/controller/state/control/index.d.ts.map +1 -1
  98. package/out/interface/controller/state/control/index.js +2 -0
  99. package/out/interface/controller/state/view/i-chart-exp-view.state.d.ts +11 -0
  100. package/out/interface/controller/state/view/i-chart-exp-view.state.d.ts.map +1 -0
  101. package/out/interface/controller/state/view/i-chart-exp-view.state.js +1 -0
  102. package/out/interface/controller/state/view/i-medit-view9.state.d.ts +11 -0
  103. package/out/interface/controller/state/view/i-medit-view9.state.d.ts.map +1 -0
  104. package/out/interface/controller/state/view/i-medit-view9.state.js +1 -0
  105. package/out/interface/controller/state/view/index.d.ts +2 -0
  106. package/out/interface/controller/state/view/index.d.ts.map +1 -1
  107. package/out/interface/controller/state/view/index.js +2 -0
  108. package/out/interface/service/code-list-item/code-list-item.d.ts +16 -0
  109. package/out/interface/service/code-list-item/code-list-item.d.ts.map +1 -1
  110. package/out/service/index.d.ts +1 -0
  111. package/out/service/index.d.ts.map +1 -1
  112. package/out/service/index.js +1 -0
  113. package/out/service/mqtt/mqtt.service.d.ts +66 -0
  114. package/out/service/mqtt/mqtt.service.d.ts.map +1 -0
  115. package/out/service/mqtt/mqtt.service.js +95 -0
  116. package/out/service/service/code-list/code-list.service.d.ts.map +1 -1
  117. package/out/service/service/code-list/code-list.service.js +12 -1
  118. package/out/service/service/entity/de.service.d.ts +2 -2
  119. package/out/service/service/entity/de.service.d.ts.map +1 -1
  120. package/out/service/service/entity/method/de-action.d.ts +14 -5
  121. package/out/service/service/entity/method/de-action.d.ts.map +1 -1
  122. package/out/service/service/entity/method/de-action.js +56 -15
  123. package/out/service/service/entity/method/fetch.d.ts +1 -1
  124. package/out/service/service/entity/method/fetch.d.ts.map +1 -1
  125. package/out/service/service/entity/method/fetch.js +9 -6
  126. package/out/service/service/entity/method/method.d.ts +13 -13
  127. package/out/service/service/entity/method/method.d.ts.map +1 -1
  128. package/out/service/service/entity/method/method.js +16 -11
  129. package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts +7 -1
  130. package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts.map +1 -1
  131. package/out/service/utils/dynamic-code-list/dynamic-code-list.js +76 -8
  132. package/out/ui-action/uiaction-util.js +3 -3
  133. package/out/ui-logic/ui-logic-param/ui-logic-param.d.ts.map +1 -1
  134. package/out/ui-logic/ui-logic-param/ui-logic-param.js +7 -1
  135. package/out/utils/script/script-factory.d.ts +10 -0
  136. package/out/utils/script/script-factory.d.ts.map +1 -1
  137. package/out/utils/script/script-factory.js +15 -0
  138. package/package.json +5 -3
  139. package/src/application.ts +22 -1
  140. package/src/constant/view-call-tag.ts +4 -0
  141. package/src/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.ts +2 -0
  142. package/src/controller/control/exp-bar/chart-exp-bar.controller.ts +51 -0
  143. package/src/controller/control/exp-bar/index.ts +1 -0
  144. package/src/controller/control/form/form-detail/form-item/form-item.controller.ts +22 -9
  145. package/src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts +14 -0
  146. package/src/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.ts +18 -13
  147. package/src/controller/control/index.ts +1 -0
  148. package/src/controller/control/medit-view-panel/index.ts +2 -0
  149. package/src/controller/control/medit-view-panel/medit-view-panel.controller.ts +305 -0
  150. package/src/controller/control/medit-view-panel/medit-view-panel.service.ts +10 -0
  151. package/src/controller/control/search-bar/search-bar.controller.ts +6 -5
  152. package/src/controller/utils/value-rule/value-rule.ts +97 -2
  153. package/src/de-logic/de-logic-context.ts +6 -5
  154. package/src/de-logic/de-logic-link/de-logic-link.ts +1 -1
  155. package/src/de-logic/de-logic-param/de-logic-param.ts +6 -1
  156. package/src/de-logic/de-logic.ts +5 -1
  157. package/src/de-logic/index.ts +49 -8
  158. package/src/engine/md-view.engine.ts +16 -13
  159. package/src/hub/config/app-view-config-service.ts +12 -1
  160. package/src/interface/common/i-app-view-config-service/i-app-view-config-service.ts +22 -4
  161. package/src/interface/controller/controller/control/i-chart-exp-bar.controller.ts +19 -0
  162. package/src/interface/controller/controller/control/i-medit-view-panel.controller.ts +17 -0
  163. package/src/interface/controller/controller/control/index.ts +2 -0
  164. package/src/interface/controller/event/control/i-chart-exp-bar.event.ts +10 -0
  165. package/src/interface/controller/event/control/i-medit-view-panel.event.ts +9 -0
  166. package/src/interface/controller/event/control/index.ts +2 -0
  167. package/src/interface/controller/event/view/i-chart-exp-view.event.ts +11 -0
  168. package/src/interface/controller/event/view/i-medit-view9.event.ts +10 -0
  169. package/src/interface/controller/event/view/index.ts +2 -0
  170. package/src/interface/controller/state/control/i-chart-exp-bar.state.ts +10 -0
  171. package/src/interface/controller/state/control/i-medit-view-panel.state.ts +36 -0
  172. package/src/interface/controller/state/control/index.ts +2 -0
  173. package/src/interface/controller/state/view/i-chart-exp-view.state.ts +10 -0
  174. package/src/interface/controller/state/view/i-medit-view9.state.ts +10 -0
  175. package/src/interface/controller/state/view/index.ts +2 -0
  176. package/src/interface/service/code-list-item/code-list-item.ts +20 -0
  177. package/src/service/index.ts +1 -0
  178. package/src/service/mqtt/mqtt.service.ts +117 -0
  179. package/src/service/service/code-list/code-list.service.ts +15 -1
  180. package/src/service/service/entity/de.service.ts +2 -2
  181. package/src/service/service/entity/method/de-action.ts +74 -33
  182. package/src/service/service/entity/method/fetch.ts +12 -11
  183. package/src/service/service/entity/method/method.ts +28 -19
  184. package/src/service/utils/dynamic-code-list/dynamic-code-list.ts +103 -10
  185. package/src/ui-action/uiaction-util.ts +3 -3
  186. package/src/ui-logic/ui-logic-param/ui-logic-param.ts +6 -1
  187. package/src/utils/script/script-factory.ts +16 -0
@@ -1,5 +1,6 @@
1
1
  import { ModelError, RuntimeModelError } from '@ibiz-template/core';
2
2
  import { isNil } from 'ramda';
3
+ import { 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,17 +114,23 @@ export class DynamicCodeListCache {
84
114
  */
85
115
  async load(context = {}, params = {}) {
86
116
  const app = ibiz.hub.getApp(context.srfappid);
117
+ const { appDataEntityId, appDEDataSetId, minorSortAppDEFieldId, minorSortDir, pvalueAppDEFieldId, } = this.codeList;
87
118
  // *预定义加载
88
119
  // 特殊处理,避免预置代码表加载不全
89
120
  if (!params.size) {
90
121
  params = Object.assign(Object.assign({}, params), { size: 10000 });
91
122
  }
123
+ // 排序
124
+ if (minorSortAppDEFieldId && minorSortDir) {
125
+ Object.assign(params, {
126
+ sort: `${minorSortAppDEFieldId.toLowerCase()},${minorSortDir.toLowerCase()}`,
127
+ });
128
+ }
92
129
  if (this.isPredefined) {
93
130
  const res = await app.net.get(`/dictionaries/codelist/${this.codeList.codeName}`, params);
94
131
  return Object.freeze(res.data.items);
95
132
  }
96
133
  // *加载实体服务数据
97
- const { appDataEntityId, appDEDataSetId } = this.codeList;
98
134
  if (!appDataEntityId) {
99
135
  throw new RuntimeModelError(this.codeList, '未配置应用实体');
100
136
  }
@@ -104,12 +140,44 @@ export class DynamicCodeListCache {
104
140
  const res = await app.deService.exec(appDataEntityId, appDEDataSetId, context, {}, params);
105
141
  let resultItems = [];
106
142
  if (res.data.length) {
107
- resultItems = res.data.map((item) => {
108
- return this.convertData(item);
143
+ res.data.forEach((item) => {
144
+ if (pvalueAppDEFieldId) {
145
+ const tempItems = this.prepareTreeData(res.data);
146
+ if (tempItems) {
147
+ resultItems = tempItems;
148
+ }
149
+ }
150
+ else {
151
+ resultItems.push(this.convertData(item));
152
+ }
109
153
  });
110
- // todo 动态树形代码表
111
154
  }
112
- return resultItems;
155
+ return Object.freeze(resultItems);
156
+ }
157
+ /**
158
+ * 组装树形代码表数据
159
+ *
160
+ * @return {codeListItem[] | undefined}
161
+ */
162
+ prepareTreeData(items, pValue) {
163
+ const { pvalueAppDEFieldId } = this.codeList;
164
+ let filteredData = [];
165
+ filteredData = items.filter(item => {
166
+ if (pValue) {
167
+ // 有传父value去后台数据里找出来子项pValue等于父value的
168
+ return item[pvalueAppDEFieldId] === pValue;
169
+ }
170
+ // 没有传父value,只需要找出来没有父值属性的
171
+ return !item[pvalueAppDEFieldId];
172
+ });
173
+ if (filteredData.length === 0) {
174
+ return;
175
+ }
176
+ return filteredData.map(data => {
177
+ const tempCodeListItem = this.convertData(data);
178
+ tempCodeListItem.children = this.prepareTreeData(items, tempCodeListItem.value);
179
+ return tempCodeListItem;
180
+ });
113
181
  }
114
182
  /**
115
183
  * 获取动态的代码项
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"script-factory.d.ts","sourceRoot":"","sources":["../../../src/utils/script/script-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAAa,aAAa;IACxB;;;;;;;;OAQG;IACH,MAAM,CAAC,cAAc,CACnB,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,cAAc;IAIjB;;;;;;;;;OASG;IACH,MAAM,CAAC,YAAY,CACjB,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO;CAKX"}
1
+ {"version":3,"file":"script-factory.d.ts","sourceRoot":"","sources":["../../../src/utils/script/script-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAAa,aAAa;IACxB;;;;;;;;OAQG;IACH,MAAM,CAAC,cAAc,CACnB,OAAO,EAAE,MAAM,EAAE,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,cAAc;IAIjB;;;;;;;;;OASG;IACH,MAAM,CAAC,YAAY,CACjB,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO;IAMV;;;;;;;;OAQG;IACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,OAAY,GAAG,OAAO;CAMvE"}
@@ -25,4 +25,19 @@ export class ScriptFactory {
25
25
  static execScriptFn(args, scriptCode, options) {
26
26
  return this.createScriptFn(Object.keys(args), scriptCode, options).exec(args);
27
27
  }
28
+ /**
29
+ * 执行单行脚本
30
+ * @author lxm
31
+ * @date 2023-10-20 03:20:56
32
+ * @static
33
+ * @param {string} scriptCode 脚本字符串
34
+ * @param {IParams} [args={}] 作用域变量参数对象
35
+ * @return {*} {unknown}
36
+ */
37
+ static execSingleLine(scriptCode, args = {}) {
38
+ return this.execScriptFn(args, scriptCode, {
39
+ singleRowReturn: true,
40
+ isAsync: false,
41
+ });
42
+ }
28
43
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/runtime",
3
- "version": "0.1.36",
3
+ "version": "0.1.38",
4
4
  "description": "控制器包",
5
5
  "type": "module",
6
6
  "main": "out/index.js",
@@ -29,7 +29,7 @@
29
29
  "author": "chitanda",
30
30
  "license": "MIT",
31
31
  "devDependencies": {
32
- "@ibiz-template/core": "^0.1.36",
32
+ "@ibiz-template/core": "^0.1.38",
33
33
  "@ibiz/model-core": "^0.0.19",
34
34
  "@types/path-browserify": "^1.0.0",
35
35
  "@types/qs": "^6.9.8",
@@ -39,6 +39,7 @@
39
39
  "echarts": "^5.4.3",
40
40
  "handlebars": "^4.7.8",
41
41
  "lodash-es": "^4.17.21",
42
+ "mqtt": "2.18.9",
42
43
  "path-browserify": "^1.0.1",
43
44
  "qs": "^6.11.2",
44
45
  "qx-util": "^0.4.8",
@@ -52,10 +53,11 @@
52
53
  "echarts": "^5.4.3",
53
54
  "handlebars": "^4.7.8",
54
55
  "lodash-es": "^4.17.21",
56
+ "mqtt": "2.18.9",
55
57
  "path-browserify": "^1.0.1",
56
58
  "qs": "^6.11.0",
57
59
  "qx-util": "^0.4.8",
58
60
  "ramda": "^0.29.0"
59
61
  },
60
- "gitHead": "d19f35594e34c2e934ae10d094c47c92faa25a8f"
62
+ "gitHead": "34f9f520b9b49b6666e6098d2fd4c3b35654fdb7"
61
63
  }
@@ -1,4 +1,4 @@
1
- import { Net } from '@ibiz-template/core';
1
+ import { Net, getToken } from '@ibiz-template/core';
2
2
  import {
3
3
  IAppDEUIAction,
4
4
  IAppFunc,
@@ -11,6 +11,7 @@ import {
11
11
  CodeListService,
12
12
  ConfigService,
13
13
  DEServiceUtil,
14
+ MqttService,
14
15
  } from './service';
15
16
  import { IAppService } from './interface';
16
17
 
@@ -89,6 +90,15 @@ export class Application implements IAppService {
89
90
  */
90
91
  readonly authority: AuthorityService;
91
92
 
93
+ /**
94
+ * mqtt 服务
95
+ *
96
+ * @author chitanda
97
+ * @date 2023-10-23 15:10:18
98
+ * @type {MqttService}
99
+ */
100
+ mqtt?: MqttService;
101
+
92
102
  /**
93
103
  * Creates an instance of Application.
94
104
  *
@@ -120,6 +130,17 @@ export class Application implements IAppService {
120
130
  async init(): Promise<void> {
121
131
  await this.authority.init();
122
132
  await this.loadAppModelStyle();
133
+ if (ibiz.env.enableMqtt) {
134
+ this.mqtt = new MqttService(
135
+ ibiz.appData!.mqtttopic,
136
+ getToken()!,
137
+ this.model.appId!,
138
+ );
139
+ this.mqtt.evt.on('message', message => {
140
+ ibiz.mc.command.asyncAction.next(message);
141
+ });
142
+ await this.mqtt.connect();
143
+ }
123
144
  }
124
145
 
125
146
  /**
@@ -23,4 +23,8 @@ export enum ViewCallTag {
23
23
  * 校验数据(编辑视图才用)
24
24
  */
25
25
  'VALIDATE' = 'Validate',
26
+ /**
27
+ * 切换折叠(首页视图才用)
28
+ */
29
+ 'TOGGLE_COLLAPSE' = 'ToggleCollapse',
26
30
  }
@@ -117,6 +117,8 @@ export class PortletPartController<T extends IDBPortletPart = IDBPortletPart>
117
117
  }
118
118
 
119
119
  protected async onInit(): Promise<void> {
120
+ this.onDataChange = this.onDataChange.bind(this);
121
+
120
122
  // 初始化布局参数
121
123
  const { layoutPos, sysCss } = this.model;
122
124
 
@@ -0,0 +1,51 @@
1
+ import { IChartExpBar, IDEChart } from '@ibiz/model-core';
2
+ import {
3
+ IChartExpBarState,
4
+ IChartExpBarEvent,
5
+ IChartExpBarController,
6
+ INavViewMsg,
7
+ } from '../../../interface';
8
+ import { ExpBarControlController } from './exp-bar.controller';
9
+
10
+ /**
11
+ * 图表导航栏控制器
12
+ *
13
+ * @export
14
+ * @class ChartExpBarController
15
+ * @extends {ExpBarControlController<IChartExpBar, IChartExpBarState, IChartExpBarEvent>}
16
+ * @implements {IChartExpBarController}
17
+ */
18
+ export class ChartExpBarController
19
+ extends ExpBarControlController<
20
+ IChartExpBar,
21
+ IChartExpBarState,
22
+ IChartExpBarEvent
23
+ >
24
+ implements IChartExpBarController
25
+ {
26
+ /**
27
+ * 获取导航视图
28
+ *
29
+ * @author zk
30
+ * @date 2023-06-29 03:06:41
31
+ * @param {IDETabViewPanel} tabViewPanel
32
+ * @return {*} {Promise<INavViewMsg>}
33
+ * @memberof TabExpPanelController
34
+ */
35
+ public getNavViewMsg(
36
+ data: IData,
37
+ context: IContext,
38
+ params: IParams,
39
+ ): INavViewMsg {
40
+ const viewModelId = (this.XDataModel as IDEChart).dechartSerieses?.[0]
41
+ .navAppViewId;
42
+ const result = this.prepareParams(this.XDataModel!, data, context, params);
43
+ return {
44
+ key: data[this.navKeyName],
45
+ context: result.context,
46
+ params: result.params,
47
+ viewId: viewModelId,
48
+ isCache: this.isCache,
49
+ };
50
+ }
51
+ }
@@ -1,3 +1,4 @@
1
1
  export * from './calendar-exp-bar.controller';
2
2
  export * from './exp-bar.controller';
3
3
  export * from './tree-exp-bar.controller';
4
+ export * from './chart-exp-bar.controller';
@@ -16,7 +16,11 @@ import { getEditorProvider } from '../../../../../register';
16
16
  import { Srfuf } from '../../../../../service';
17
17
  import { filterValueRules } from '../../../../../utils';
18
18
  import { FormNotifyState } from '../../../../constant';
19
- import { generateRules, getDefaultValue } from '../../../../utils';
19
+ import {
20
+ generateEditorRules,
21
+ generateRules,
22
+ getDefaultValue,
23
+ } from '../../../../utils';
20
24
 
21
25
  export class FormItemController
22
26
  extends FormDetailController<IDEFormItem>
@@ -77,10 +81,10 @@ export class FormItemController
77
81
  * 值规则
78
82
  *
79
83
  * @author lxm
80
- * @date 2022-09-01 22:09:49
81
- * @type {IData}
84
+ * @date 2023-10-18 03:39:23
85
+ * @type {IData[]}
82
86
  */
83
- rules: IData = [];
87
+ rules: IData[] = [];
84
88
 
85
89
  /**
86
90
  * 表单项名称
@@ -206,16 +210,25 @@ export class FormItemController
206
210
  * @returns {*}
207
211
  */
208
212
  protected async initRules(): Promise<void> {
213
+ this.rules = [];
209
214
  const formItemsVRs = filterValueRules(
210
215
  this.form.model.deformItemVRs || [],
211
216
  this.name,
212
217
  );
213
- if (!formItemsVRs) {
214
- return;
218
+ if (formItemsVRs) {
219
+ this.rules.push(
220
+ ...generateRules(formItemsVRs, this.name, this.valueItemName),
221
+ );
222
+ }
223
+
224
+ if (this.model.editor) {
225
+ this.rules.push(...generateEditorRules(this.model.editor));
226
+ }
227
+
228
+ if (this.rules.length > 0) {
229
+ // 初始化async-validator实例
230
+ this.validator = new Schema({ [this.name]: this.rules });
215
231
  }
216
- this.rules = generateRules(formItemsVRs, this.name, this.valueItemName);
217
- // 初始化async-validator实例
218
- this.validator = new Schema({ [this.name]: this.rules });
219
232
  }
220
233
 
221
234
  /**
@@ -2,6 +2,7 @@
2
2
  import { DataTypes, ModelError } from '@ibiz-template/core';
3
3
  import { IAppCodeList, IDEGridFieldColumn } from '@ibiz/model-core';
4
4
  import dayjs from 'dayjs';
5
+ import { debounce } from 'lodash-es';
5
6
  import { clone, isNil } from 'ramda';
6
7
  import { OpenAppViewCommand } from '../../../../../command';
7
8
  import { CodeListItem, IModalData } from '../../../../../interface';
@@ -59,6 +60,19 @@ export class GridFieldColumnController extends GridColumnController<IDEGridField
59
60
  return !!this.model.deuiactionId;
60
61
  }
61
62
 
63
+ protected async onInit(): Promise<void> {
64
+ await super.onInit();
65
+
66
+ // 加载代码表防抖
67
+ this.loadCodeList = debounce(
68
+ this.loadCodeList,
69
+ 300,
70
+ ) as typeof this.loadCodeList;
71
+
72
+ // 默认加载一次代码表
73
+ this.loadCodeList();
74
+ }
75
+
62
76
  /**
63
77
  * 行是否可点击(影响列的界面样式)
64
78
  *
@@ -13,7 +13,7 @@ import { getEditorProvider } from '../../../../../register';
13
13
  import { Srfuf } from '../../../../../service';
14
14
  import { filterValueRules } from '../../../../../utils';
15
15
  import { GridNotifyState } from '../../../../constant';
16
- import { generateRules } from '../../../../utils';
16
+ import { generateEditorRules, generateRules } from '../../../../utils';
17
17
  import { GridRowState } from '../../grid/grid-row.state';
18
18
  import { GridFieldColumnController } from '../grid-field-column';
19
19
 
@@ -58,10 +58,10 @@ export class GridFieldEditColumnController
58
58
  * 值规则
59
59
  *
60
60
  * @author lxm
61
- * @date 2022-09-01 22:09:49
62
- * @type {IData}
61
+ * @date 2023-10-18 03:39:40
62
+ * @type {IData[]}
63
63
  */
64
- rules: IData = [];
64
+ rules: IData[] = [];
65
65
 
66
66
  /**
67
67
  * 表格编辑项校验器实例
@@ -159,20 +159,25 @@ export class GridFieldEditColumnController
159
159
  * @returns {*}
160
160
  */
161
161
  protected async initRules(): Promise<void> {
162
+ this.rules = [];
162
163
  const editItemsVRs = filterValueRules(
163
164
  this.grid.model.degridEditItemVRs || [],
164
165
  this.fieldName,
165
166
  );
166
- if (!editItemsVRs) {
167
- return;
167
+ if (editItemsVRs) {
168
+ this.rules.push(
169
+ ...generateRules(editItemsVRs, this.fieldName, this.valueItemName),
170
+ );
171
+ }
172
+
173
+ if (this.editItem.editor) {
174
+ this.rules.push(...generateEditorRules(this.editItem.editor));
175
+ }
176
+
177
+ if (this.rules.length > 0) {
178
+ // 初始化async-validator实例
179
+ this.validator = new Schema({ [this.fieldName]: this.rules });
168
180
  }
169
- this.rules = generateRules(
170
- editItemsVRs,
171
- this.fieldName,
172
- this.valueItemName,
173
- );
174
- // 初始化async-validator实例
175
- this.validator = new Schema({ [this.fieldName]: this.rules });
176
181
  }
177
182
 
178
183
  /**
@@ -21,3 +21,4 @@ export * from './md-ctrl/index';
21
21
  export * from './kanban/index';
22
22
  export * from './tree-grid-ex/index';
23
23
  export * from './tree-grid/index';
24
+ export * from './medit-view-panel/index';
@@ -0,0 +1,2 @@
1
+ export * from './medit-view-panel.controller';
2
+ export * from './medit-view-panel.service';