@ibiz-template/runtime 0.4.11 → 0.4.13

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 (192) hide show
  1. package/dist/index.esm.js +1190 -282
  2. package/dist/index.system.min.js +2 -2
  3. package/out/config/global-config.d.ts.map +1 -1
  4. package/out/config/global-config.js +1 -0
  5. package/out/controller/common/base.controller.d.ts +7 -0
  6. package/out/controller/common/base.controller.d.ts.map +1 -1
  7. package/out/controller/common/base.controller.js +10 -0
  8. package/out/controller/common/control/control.controller.d.ts +14 -0
  9. package/out/controller/common/control/control.controller.d.ts.map +1 -1
  10. package/out/controller/common/control/control.controller.js +21 -0
  11. package/out/controller/common/control/md-control.controller.d.ts +9 -0
  12. package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
  13. package/out/controller/common/control/md-control.controller.js +20 -0
  14. package/out/controller/common/view/view.controller.d.ts +15 -1
  15. package/out/controller/common/view/view.controller.d.ts.map +1 -1
  16. package/out/controller/common/view/view.controller.js +23 -4
  17. package/out/controller/control/app-menu/app-menu.controller.d.ts +7 -0
  18. package/out/controller/control/app-menu/app-menu.controller.d.ts.map +1 -1
  19. package/out/controller/control/app-menu/app-menu.controller.js +22 -0
  20. package/out/controller/control/caption-bar/caption-bar.controller.d.ts.map +1 -1
  21. package/out/controller/control/caption-bar/caption-bar.controller.js +1 -6
  22. package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
  23. package/out/controller/control/form/edit-form/edit-form.controller.js +9 -22
  24. package/out/controller/control/form/edit-form/edit-form.service.d.ts +3 -2
  25. package/out/controller/control/form/edit-form/edit-form.service.d.ts.map +1 -1
  26. package/out/controller/control/form/edit-form/edit-form.service.js +11 -2
  27. package/out/controller/control/form/form/form.controller.d.ts +0 -7
  28. package/out/controller/control/form/form/form.controller.d.ts.map +1 -1
  29. package/out/controller/control/form/form/form.controller.js +0 -11
  30. package/out/controller/control/form/form/form.service.d.ts +24 -0
  31. package/out/controller/control/form/form/form.service.d.ts.map +1 -0
  32. package/out/controller/control/form/form/form.service.js +45 -0
  33. package/out/controller/control/form/form-detail/form-detail/form-detail.controller.d.ts.map +1 -1
  34. package/out/controller/control/form/form-detail/form-detail/form-detail.controller.js +5 -1
  35. package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts.map +1 -1
  36. package/out/controller/control/form/form-detail/form-item/form-item.controller.js +0 -5
  37. package/out/controller/control/form/search-form/search-form.controller.d.ts.map +1 -1
  38. package/out/controller/control/form/search-form/search-form.controller.js +1 -5
  39. package/out/controller/control/form/search-form/search-form.service.d.ts +4 -3
  40. package/out/controller/control/form/search-form/search-form.service.d.ts.map +1 -1
  41. package/out/controller/control/form/search-form/search-form.service.js +8 -3
  42. package/out/controller/control/gantt/gantt.controller.d.ts +146 -2
  43. package/out/controller/control/gantt/gantt.controller.d.ts.map +1 -1
  44. package/out/controller/control/gantt/gantt.controller.js +270 -0
  45. package/out/controller/control/grid/grid/grid-row.state.d.ts +11 -0
  46. package/out/controller/control/grid/grid/grid-row.state.d.ts.map +1 -1
  47. package/out/controller/control/grid/grid/grid-row.state.js +13 -0
  48. package/out/controller/control/grid/grid/grid.controller.d.ts +7 -0
  49. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  50. package/out/controller/control/grid/grid/grid.controller.js +27 -0
  51. package/out/controller/control/grid/grid/grid.service.d.ts.map +1 -1
  52. package/out/controller/control/grid/grid/grid.service.js +30 -20
  53. package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.d.ts +21 -1
  54. package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.d.ts.map +1 -1
  55. package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.js +44 -1
  56. package/out/controller/control/kanban/kanban.controller.d.ts +13 -0
  57. package/out/controller/control/kanban/kanban.controller.d.ts.map +1 -1
  58. package/out/controller/control/kanban/kanban.controller.js +72 -0
  59. package/out/controller/control/report-panel/generator/user-generator.js +1 -1
  60. package/out/controller/control/search-bar/search-bar.controller.d.ts.map +1 -1
  61. package/out/controller/control/search-bar/search-bar.controller.js +11 -6
  62. package/out/controller/control/toolbar/toolbar.controllerr.d.ts +7 -0
  63. package/out/controller/control/toolbar/toolbar.controllerr.d.ts.map +1 -1
  64. package/out/controller/control/toolbar/toolbar.controllerr.js +22 -0
  65. package/out/controller/control/tree/tree.controller.d.ts +75 -0
  66. package/out/controller/control/tree/tree.controller.d.ts.map +1 -1
  67. package/out/controller/control/tree/tree.controller.js +264 -1
  68. package/out/interface/common/i-global-config/i-global-view-config.d.ts +7 -0
  69. package/out/interface/common/i-global-config/i-global-view-config.d.ts.map +1 -1
  70. package/out/interface/controller/controller/control/i-control.controller.d.ts +14 -0
  71. package/out/interface/controller/controller/control/i-control.controller.d.ts.map +1 -1
  72. package/out/interface/controller/controller/view/i-view.controller.d.ts +14 -0
  73. package/out/interface/controller/controller/view/i-view.controller.d.ts.map +1 -1
  74. package/out/interface/controller/event/control/i-gantt.event.d.ts +42 -0
  75. package/out/interface/controller/event/control/i-gantt.event.d.ts.map +1 -1
  76. package/out/interface/controller/event/control/i-tree.event.d.ts +17 -0
  77. package/out/interface/controller/event/control/i-tree.event.d.ts.map +1 -1
  78. package/out/interface/controller/state/control/i-control.state.d.ts +8 -0
  79. package/out/interface/controller/state/control/i-control.state.d.ts.map +1 -1
  80. package/out/interface/controller/state/control/i-gantt.state.d.ts +22 -0
  81. package/out/interface/controller/state/control/i-gantt.state.d.ts.map +1 -1
  82. package/out/interface/controller/state/control/i-grid.state.d.ts +11 -0
  83. package/out/interface/controller/state/control/i-grid.state.d.ts.map +1 -1
  84. package/out/interface/controller/state/control/i-kanban.state.d.ts +24 -0
  85. package/out/interface/controller/state/control/i-kanban.state.d.ts.map +1 -1
  86. package/out/interface/controller/state/control/i-tree.state.d.ts +7 -0
  87. package/out/interface/controller/state/control/i-tree.state.d.ts.map +1 -1
  88. package/out/interface/controller/state/view/i-view.state.d.ts +8 -0
  89. package/out/interface/controller/state/view/i-view.state.d.ts.map +1 -1
  90. package/out/interface/provider/i-grid-column.provider.d.ts +2 -2
  91. package/out/interface/provider/i-grid-column.provider.d.ts.map +1 -1
  92. package/out/interface/service/i-data-entity/i-data-entity.d.ts +8 -0
  93. package/out/interface/service/i-data-entity/i-data-entity.d.ts.map +1 -1
  94. package/out/interface/service/service/i-app-de.service.d.ts +11 -0
  95. package/out/interface/service/service/i-app-de.service.d.ts.map +1 -1
  96. package/out/interface/service/service/i-auth.service.d.ts +3 -2
  97. package/out/interface/service/service/i-auth.service.d.ts.map +1 -1
  98. package/out/logic-scheduler/executor/app-ui-logic-executor.d.ts.map +1 -1
  99. package/out/logic-scheduler/executor/app-ui-logic-executor.js +4 -2
  100. package/out/register/helper/grid-column-register.d.ts +2 -2
  101. package/out/register/helper/grid-column-register.d.ts.map +1 -1
  102. package/out/register/helper/grid-column-register.js +14 -0
  103. package/out/service/dto/method.dto.d.ts.map +1 -1
  104. package/out/service/dto/method.dto.js +8 -1
  105. package/out/service/service/auth/v7-auth.service.d.ts +1 -1
  106. package/out/service/service/auth/v7-auth.service.d.ts.map +1 -1
  107. package/out/service/service/auth/v7-auth.service.js +12 -7
  108. package/out/service/service/entity/de.service.d.ts +9 -1
  109. package/out/service/service/entity/de.service.d.ts.map +1 -1
  110. package/out/service/service/entity/de.service.js +69 -0
  111. package/out/service/service/entity/method/fetch.d.ts +5 -12
  112. package/out/service/service/entity/method/fetch.d.ts.map +1 -1
  113. package/out/service/service/entity/method/fetch.js +7 -74
  114. package/out/service/utils/de-cache/de-cache.js +2 -2
  115. package/out/service/vo/gantt-node-data/gantt-code-list-node-data.d.ts +1 -0
  116. package/out/service/vo/gantt-node-data/gantt-code-list-node-data.d.ts.map +1 -1
  117. package/out/service/vo/gantt-node-data/gantt-data-set-node-data.d.ts +2 -0
  118. package/out/service/vo/gantt-node-data/gantt-data-set-node-data.d.ts.map +1 -1
  119. package/out/service/vo/gantt-node-data/gantt-data-set-node-data.js +2 -1
  120. package/out/service/vo/gantt-node-data/gantt-node-data-util.d.ts +7 -0
  121. package/out/service/vo/gantt-node-data/gantt-node-data-util.d.ts.map +1 -1
  122. package/out/service/vo/gantt-node-data/gantt-node-data-util.js +18 -0
  123. package/out/service/vo/gantt-node-data/gantt-static-node-data.d.ts +1 -0
  124. package/out/service/vo/gantt-node-data/gantt-static-node-data.d.ts.map +1 -1
  125. package/out/service/vo/tree-node-data/tree-code-list-node-data.d.ts.map +1 -1
  126. package/out/service/vo/tree-node-data/tree-code-list-node-data.js +8 -4
  127. package/out/service/vo/tree-node-data/tree-data-set-node-data.d.ts.map +1 -1
  128. package/out/service/vo/tree-node-data/tree-data-set-node-data.js +8 -4
  129. package/out/service/vo/tree-node-data/tree-node-data.d.ts +1 -0
  130. package/out/service/vo/tree-node-data/tree-node-data.d.ts.map +1 -1
  131. package/out/service/vo/tree-node-data/tree-node-data.js +2 -0
  132. package/out/service/vo/tree-node-data/tree-static-node-data.d.ts.map +1 -1
  133. package/out/service/vo/tree-node-data/tree-static-node-data.js +8 -2
  134. package/out/utils/layout-panel-util/layout-panel-util.d.ts.map +1 -1
  135. package/out/utils/layout-panel-util/layout-panel-util.js +16 -2
  136. package/package.json +3 -3
  137. package/src/config/global-config.ts +1 -0
  138. package/src/controller/common/base.controller.ts +11 -0
  139. package/src/controller/common/control/control.controller.ts +23 -0
  140. package/src/controller/common/control/md-control.controller.ts +21 -0
  141. package/src/controller/common/view/view.controller.ts +27 -5
  142. package/src/controller/control/app-menu/app-menu.controller.ts +25 -0
  143. package/src/controller/control/caption-bar/caption-bar.controller.ts +1 -8
  144. package/src/controller/control/form/edit-form/edit-form.controller.ts +11 -26
  145. package/src/controller/control/form/edit-form/edit-form.service.ts +11 -2
  146. package/src/controller/control/form/form/form.controller.ts +0 -14
  147. package/src/controller/control/form/form/form.service.ts +63 -0
  148. package/src/controller/control/form/form-detail/form-detail/form-detail.controller.ts +9 -1
  149. package/src/controller/control/form/form-detail/form-item/form-item.controller.ts +0 -5
  150. package/src/controller/control/form/search-form/search-form.controller.ts +1 -5
  151. package/src/controller/control/form/search-form/search-form.service.ts +8 -3
  152. package/src/controller/control/gantt/gantt.controller.ts +331 -1
  153. package/src/controller/control/grid/grid/grid-row.state.ts +15 -0
  154. package/src/controller/control/grid/grid/grid.controller.ts +34 -0
  155. package/src/controller/control/grid/grid/grid.service.ts +34 -21
  156. package/src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts +67 -2
  157. package/src/controller/control/kanban/kanban.controller.ts +81 -0
  158. package/src/controller/control/report-panel/generator/user-generator.ts +1 -1
  159. package/src/controller/control/search-bar/search-bar.controller.ts +12 -8
  160. package/src/controller/control/toolbar/toolbar.controllerr.ts +29 -0
  161. package/src/controller/control/tree/tree.controller.ts +327 -2
  162. package/src/interface/common/i-global-config/i-global-view-config.ts +8 -0
  163. package/src/interface/controller/controller/control/i-control.controller.ts +16 -0
  164. package/src/interface/controller/controller/view/i-view.controller.ts +16 -0
  165. package/src/interface/controller/event/control/i-gantt.event.ts +37 -1
  166. package/src/interface/controller/event/control/i-tree.event.ts +14 -0
  167. package/src/interface/controller/state/control/i-control.state.ts +9 -0
  168. package/src/interface/controller/state/control/i-gantt.state.ts +25 -0
  169. package/src/interface/controller/state/control/i-grid.state.ts +10 -0
  170. package/src/interface/controller/state/control/i-kanban.state.ts +26 -0
  171. package/src/interface/controller/state/control/i-tree.state.ts +8 -0
  172. package/src/interface/controller/state/view/i-view.state.ts +9 -0
  173. package/src/interface/provider/i-grid-column.provider.ts +2 -2
  174. package/src/interface/service/i-data-entity/i-data-entity.ts +9 -0
  175. package/src/interface/service/service/i-app-de.service.ts +12 -0
  176. package/src/interface/service/service/i-auth.service.ts +3 -2
  177. package/src/logic-scheduler/executor/app-ui-logic-executor.ts +8 -2
  178. package/src/register/helper/grid-column-register.ts +17 -2
  179. package/src/service/dto/method.dto.ts +8 -1
  180. package/src/service/service/auth/v7-auth.service.ts +18 -8
  181. package/src/service/service/entity/de.service.ts +74 -1
  182. package/src/service/service/entity/method/fetch.ts +8 -79
  183. package/src/service/utils/de-cache/de-cache.ts +2 -2
  184. package/src/service/vo/gantt-node-data/gantt-code-list-node-data.ts +2 -0
  185. package/src/service/vo/gantt-node-data/gantt-data-set-node-data.ts +6 -1
  186. package/src/service/vo/gantt-node-data/gantt-node-data-util.ts +21 -0
  187. package/src/service/vo/gantt-node-data/gantt-static-node-data.ts +2 -0
  188. package/src/service/vo/tree-node-data/tree-code-list-node-data.ts +10 -5
  189. package/src/service/vo/tree-node-data/tree-data-set-node-data.ts +10 -5
  190. package/src/service/vo/tree-node-data/tree-node-data.ts +3 -0
  191. package/src/service/vo/tree-node-data/tree-static-node-data.ts +10 -3
  192. package/src/utils/layout-panel-util/layout-panel-util.ts +17 -2
@@ -94,10 +94,16 @@ export class ViewController<
94
94
  return this.ctx.parent?.view;
95
95
  }
96
96
 
97
- protected _isActive = true;
98
-
97
+ /**
98
+ * 当前是否为激活状态(缓存下的激活状态,一般与框架的生命周期相同)
99
+ *
100
+ * @author chitanda
101
+ * @date 2023-12-13 11:12:48
102
+ * @readonly
103
+ * @type {boolean}
104
+ */
99
105
  get isActive(): boolean {
100
- return this._isActive;
106
+ return this.state.activated;
101
107
  }
102
108
 
103
109
  /**
@@ -148,7 +154,7 @@ export class ViewController<
148
154
  * @date 2023-07-12 17:07:55
149
155
  */
150
156
  onActivated(): void {
151
- this._isActive = true;
157
+ this.state.activated = true;
152
158
  ibiz.log.debug(`视图[${this.model.name}](${this.model.id})激活`);
153
159
  }
154
160
 
@@ -159,7 +165,7 @@ export class ViewController<
159
165
  * @date 2023-07-12 17:07:06
160
166
  */
161
167
  onDeactivated(): void {
162
- this._isActive = false;
168
+ this.state.activated = false;
163
169
  ibiz.log.debug(`视图[${this.model.name}](${this.model.id})暂停`);
164
170
  }
165
171
 
@@ -224,6 +230,7 @@ export class ViewController<
224
230
 
225
231
  protected initState(): void {
226
232
  super.initState();
233
+ this.state.activated = true;
227
234
  this.state.isLoading = false;
228
235
  this.state.caption = this.model.caption!;
229
236
  this.state.srfactiveviewdata = null;
@@ -485,4 +492,19 @@ export class ViewController<
485
492
  this.alertViewMessage(rest);
486
493
  }
487
494
  }
495
+
496
+ /**
497
+ * 转换各类多语言
498
+ *
499
+ * @date 2023-05-18 02:57:00
500
+ * @protected
501
+ */
502
+ protected convertMultipleLanguages(): void {
503
+ if (this.model.capLanguageRes && this.model.capLanguageRes.lanResTag) {
504
+ this.model.caption = ibiz.i18n.t(
505
+ this.model.capLanguageRes.lanResTag,
506
+ this.model.caption,
507
+ );
508
+ }
509
+ }
488
510
  }
@@ -170,4 +170,29 @@ export class AppMenuController
170
170
  }
171
171
  return null;
172
172
  }
173
+
174
+ /**
175
+ * 转换各类多语言
176
+ *
177
+ * @date 2023-05-18 02:57:00
178
+ * @protected
179
+ */
180
+ protected convertMultipleLanguages(): void {
181
+ const convertItemCaption = (menuItems: IAppMenuItem[]): void => {
182
+ menuItems.forEach((item: IAppMenuItem) => {
183
+ if (item.capLanguageRes && item.capLanguageRes.lanResTag) {
184
+ item.caption = ibiz.i18n.t(
185
+ item.capLanguageRes.lanResTag,
186
+ item.caption,
187
+ );
188
+ }
189
+ if (item.appMenuItems?.length) {
190
+ convertItemCaption(item.appMenuItems);
191
+ }
192
+ });
193
+ };
194
+ if (this.model.appMenuItems && this.model.appMenuItems.length > 0) {
195
+ convertItemCaption(this.model.appMenuItems);
196
+ }
197
+ }
173
198
  }
@@ -21,14 +21,7 @@ export class CaptionBarController
21
21
  {
22
22
  protected initState(): void {
23
23
  super.initState();
24
- if (this.view.model.capLanguageRes) {
25
- this.state.caption = ibiz.i18n.t(
26
- this.view.model.capLanguageRes.lanResTag!,
27
- this.view.model.caption,
28
- );
29
- } else {
30
- this.state.caption = this.view.model.caption!;
31
- }
24
+ this.state.caption = this.view.model.caption!;
32
25
  }
33
26
 
34
27
  protected async onCreated(): Promise<void> {
@@ -3,7 +3,6 @@ import {
3
3
  IHttpResponse,
4
4
  mergeInLeft,
5
5
  RuntimeError,
6
- mergeDefaultInLeft,
7
6
  } from '@ibiz-template/core';
8
7
  import { IAppDEEditView, IDEEditForm } from '@ibiz/model-core';
9
8
  import { debounce } from 'lodash-es';
@@ -92,9 +91,6 @@ export class EditFormController
92
91
  */
93
92
  async loadDraft(args?: IDataAbilityParams): Promise<IData> {
94
93
  const { context, params: queryParams } = this.handlerAbilityParams(args);
95
- // 新建默认值给到graft接口,接口会回来
96
- const params = await this.getDraftParams(); // 新建默认值
97
- Object.assign(queryParams, params);
98
94
 
99
95
  let res;
100
96
  try {
@@ -112,9 +108,6 @@ export class EditFormController
112
108
  }
113
109
 
114
110
  this.state.data = res.data;
115
- // 处理后台导致的新建默认值丢失
116
- mergeDefaultInLeft(this.data, params);
117
-
118
111
  this.formStateNotify(FormNotifyState.DRAFT);
119
112
 
120
113
  await this.evt.emit('onLoadDraftSuccess', undefined);
@@ -293,12 +286,10 @@ export class EditFormController
293
286
  default: `${this.data.srfmajortext || ''}保存成功`,
294
287
  });
295
288
  }
296
- if (this.view.modal.mode === 'ROUTE') {
297
- ibiz.mc.command.send(
298
- this.data.$origin,
299
- isCreate ? 'OBJECTCREATED' : 'OBJECTUPDATED',
300
- );
301
- }
289
+ ibiz.mc.command.send(
290
+ this.data.$origin,
291
+ isCreate ? 'OBJECTCREATED' : 'OBJECTUPDATED',
292
+ );
302
293
  return this.data;
303
294
  }
304
295
 
@@ -346,9 +337,7 @@ export class EditFormController
346
337
  await this.evt.emit('onRemoveSuccess', undefined);
347
338
  this.actionNotification('REMOVESUCCESS');
348
339
 
349
- if (this.view.modal.mode === 'ROUTE') {
350
- ibiz.mc.command.send(this.data.$origin, 'OBJECTREMOVED');
351
- }
340
+ ibiz.mc.command.send(this.data.$origin, 'OBJECTREMOVED');
352
341
 
353
342
  return ok;
354
343
  }
@@ -463,11 +452,9 @@ export class EditFormController
463
452
  const { context, params } = this.handlerAbilityParams(args);
464
453
  try {
465
454
  await this.service.wfStart(context, params, this.data);
466
- if (this.view.modal.mode === 'ROUTE') {
467
- ibiz.mc.command.send(this.data.$origin, 'OBJECTUPDATED');
468
- // 刷新预定义todo实体数据
469
- ibiz.mc.command.send({ srfdecodename: 'SysTodo' }, 'OBJECTUPDATED');
470
- }
455
+ ibiz.mc.command.send(this.data.$origin, 'OBJECTUPDATED');
456
+ // 刷新预定义todo实体数据
457
+ ibiz.mc.command.send({ srfdecodename: 'SysTodo' }, 'OBJECTUPDATED');
471
458
  } catch (error) {
472
459
  this.actionNotification('WFSTARTERROR', {
473
460
  error: error as Error,
@@ -497,11 +484,9 @@ export class EditFormController
497
484
  const { context, params } = this.handlerAbilityParams(args);
498
485
  try {
499
486
  await this.service.wfSubmit(context, params, this.data);
500
- if (this.view.modal.mode === 'ROUTE') {
501
- ibiz.mc.command.send(this.data.$origin, 'OBJECTUPDATED');
502
- // 刷新预定义todo实体数据
503
- ibiz.mc.command.send({ srfdecodename: 'SysTodo' }, 'OBJECTUPDATED');
504
- }
487
+ ibiz.mc.command.send(this.data.$origin, 'OBJECTUPDATED');
488
+ // 刷新预定义todo实体数据
489
+ ibiz.mc.command.send({ srfdecodename: 'SysTodo' }, 'OBJECTUPDATED');
505
490
  } catch (error) {
506
491
  this.actionNotification('WFSUBMITERROR', {
507
492
  error: error as Error,
@@ -10,11 +10,12 @@ import {
10
10
  IDEWizardEditForm,
11
11
  IWFEditForm,
12
12
  } from '@ibiz/model-core';
13
- import { ControlService, ControlVO, UIMapField } from '../../../../service';
13
+ import { ControlVO, UIMapField } from '../../../../service';
14
+ import { FormService } from '../form/form.service';
14
15
 
15
16
  export class EditFormService<
16
17
  T extends IDEEditForm = IDEEditForm,
17
- > extends ControlService<T> {
18
+ > extends FormService<T> {
18
19
  /**
19
20
  * 执行获取单条数据方法
20
21
  *
@@ -35,6 +36,10 @@ export class EditFormService<
35
36
  params,
36
37
  );
37
38
  res = this.handleResponse(res);
39
+ // 设置默认值
40
+ if (res.ok && res.data) {
41
+ this.setDefault(res.data, context, params, 'update');
42
+ }
38
43
  return res as IHttpResponse<ControlVO>;
39
44
  }
40
45
 
@@ -58,6 +63,10 @@ export class EditFormService<
58
63
  params,
59
64
  );
60
65
  res = this.handleResponse(res);
66
+ // 设置默认值
67
+ if (res.ok && res.data) {
68
+ this.setDefault(res.data, context, params, 'create');
69
+ }
61
70
  return res as IHttpResponse<ControlVO>;
62
71
  }
63
72
 
@@ -158,20 +158,6 @@ export abstract class FormController<
158
158
  });
159
159
  }
160
160
 
161
- /**
162
- * 获取加载草稿额外参数,新建默认值
163
- * @author lxm
164
- * @date 2023-04-27 10:32:06
165
- * @return {*}
166
- */
167
- async getDraftParams(): Promise<IData> {
168
- const result: IData = {};
169
- await Promise.all(
170
- this.formItems.map(item => item.setDefaultValue(true, result)),
171
- );
172
- return result;
173
- }
174
-
175
161
  /**
176
162
  * 初始化表单成员控制器
177
163
  *
@@ -0,0 +1,63 @@
1
+ import { IDEEditFormItem, IDEForm } from '@ibiz/model-core';
2
+ import { recursiveIterate } from '@ibiz-template/core';
3
+ import { ControlService } from '../../../../service';
4
+ import { getDefaultValue } from '../../../utils';
5
+
6
+ /**
7
+ * 表单的部件服务
8
+ * @author lxm
9
+ * @date 2023-12-13 03:04:57
10
+ * @export
11
+ * @class FormService
12
+ * @extends {ControlService<T>}
13
+ * @template T
14
+ */
15
+ export class FormService<
16
+ T extends IDEForm = IDEForm,
17
+ > extends ControlService<T> {
18
+ /**
19
+ * 设置表单项的默认值
20
+ * @author lxm
21
+ * @date 2023-12-13 03:16:19
22
+ * @param {IData} data 表单数据
23
+ * @param {IParams} context 上下文
24
+ * @param {IParams} params 视图参数
25
+ * @param {('create' | 'update')} type 新建还是更新
26
+ */
27
+ setDefault(
28
+ data: IData,
29
+ context: IParams,
30
+ params: IParams,
31
+ type: 'create' | 'update',
32
+ ): void {
33
+ // 递归所有的表单项,设置默认值
34
+ recursiveIterate(
35
+ this.model,
36
+ (item: IDEEditFormItem) => {
37
+ if (item.detailType === 'FORMITEM') {
38
+ const { createDVT, createDV, updateDVT, updateDV, valueFormat } =
39
+ item;
40
+ const valueType = type === 'create' ? createDVT : updateDVT;
41
+ const defaultValue = type === 'create' ? createDV : updateDV;
42
+ const name = item.id!.toLowerCase();
43
+
44
+ const defaultVal = getDefaultValue(
45
+ {
46
+ name,
47
+ valueType,
48
+ defaultValue,
49
+ valueFormat,
50
+ },
51
+ { data, context, params },
52
+ );
53
+ if (defaultVal !== undefined) {
54
+ data[name] = defaultVal;
55
+ }
56
+ }
57
+ },
58
+ {
59
+ childrenFields: ['deformPages', 'deformTabPages', 'deformDetails'],
60
+ },
61
+ );
62
+ }
63
+ }
@@ -154,7 +154,7 @@ export class FormDetailController<T extends IDEFormDetail = IDEFormDetail>
154
154
  this.state.showMoreMode = this.model.showMoreMode!;
155
155
 
156
156
  // 初始化布局参数
157
- const { layoutPos, sysCss, labelSysCss } = this.model;
157
+ const { layoutPos, sysCss, labelSysCss, capLanguageRes } = this.model;
158
158
 
159
159
  // 初始化高宽
160
160
  if (layoutPos) {
@@ -170,6 +170,14 @@ export class FormDetailController<T extends IDEFormDetail = IDEFormDetail>
170
170
  if (labelSysCss?.cssName) {
171
171
  this.state.class.label.push(labelSysCss.cssName);
172
172
  }
173
+
174
+ // 初始化多语言
175
+ if (capLanguageRes && capLanguageRes.lanResTag) {
176
+ this.model.caption = ibiz.i18n.t(
177
+ capLanguageRes.lanResTag,
178
+ this.model.caption,
179
+ );
180
+ }
173
181
  }
174
182
 
175
183
  /**
@@ -283,11 +283,6 @@ export class FormItemController
283
283
 
284
284
  // 计算启用条件
285
285
  this.calcEnableCond();
286
-
287
- // 触发默认值
288
- if (state === FormNotifyState.LOAD) {
289
- this.setDefaultValue(false);
290
- }
291
286
  }
292
287
 
293
288
  protected calcDynamicLogic(names: string[], mustCalc: boolean = false): void {
@@ -1,4 +1,4 @@
1
- import { RuntimeError, mergeDefaultInLeft } from '@ibiz-template/core';
1
+ import { RuntimeError } from '@ibiz-template/core';
2
2
  import { IDESearchForm } from '@ibiz/model-core';
3
3
  import {
4
4
  ISearchFormController,
@@ -77,9 +77,6 @@ export class SearchFormController
77
77
  async load(): Promise<IData> {
78
78
  const queryParams = { ...this.params };
79
79
 
80
- // 新建默认值给到graft接口,接口会回来
81
- const params = await this.getDraftParams();
82
- Object.assign(queryParams, params);
83
80
  await this.evt.emit('onBeforeLoadDraft', { params: queryParams });
84
81
  let res;
85
82
  try {
@@ -91,7 +88,6 @@ export class SearchFormController
91
88
  throw error;
92
89
  }
93
90
  this.state.data = res.data;
94
- mergeDefaultInLeft(this.data, params);
95
91
  this.state.isLoaded = true;
96
92
  this.formStateNotify(FormNotifyState.DRAFT);
97
93
  this.actionNotification('GETDRAFTSUCCESS');
@@ -1,6 +1,7 @@
1
1
  import { IHttpResponse, recursiveIterate } from '@ibiz-template/core';
2
2
  import { IDESearchForm, IDEFormDetail } from '@ibiz/model-core';
3
- import { ControlService, ControlVO, UIMapField } from '../../../../service';
3
+ import { ControlVO, UIMapField } from '../../../../service';
4
+ import { FormService } from '../form/form.service';
4
5
 
5
6
  /**
6
7
  * 搜索表单服务
@@ -14,7 +15,7 @@ import { ControlService, ControlVO, UIMapField } from '../../../../service';
14
15
  */
15
16
  export class SearchFormService<
16
17
  T extends IDESearchForm = IDESearchForm,
17
- > extends ControlService<T> {
18
+ > extends FormService<T> {
18
19
  /**
19
20
  * 执行获取草稿方法
20
21
  *
@@ -25,12 +26,16 @@ export class SearchFormService<
25
26
  * @returns {*} {Promise<IHttpResponse>}
26
27
  */
27
28
  async getDraft(
28
- _context: IParams,
29
+ context: IParams,
29
30
  params: IParams = {},
30
31
  ): Promise<IHttpResponse<ControlVO>> {
31
32
  const tempData = this.getFilteredData({ ...params });
32
33
  let res = { ok: true, status: 200, data: tempData } as IHttpResponse;
33
34
  res = this.handleResponse(res);
35
+ // 设置默认值
36
+ if (res.ok && res.data) {
37
+ this.setDefault(res.data, context, params, 'create');
38
+ }
34
39
  return res as IHttpResponse<ControlVO>;
35
40
  }
36
41