@ibiz-template/runtime 0.4.11 → 0.4.12

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 (73) hide show
  1. package/dist/index.esm.js +182 -89
  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/control/control.controller.d.ts +14 -0
  6. package/out/controller/common/control/control.controller.d.ts.map +1 -1
  7. package/out/controller/common/control/control.controller.js +21 -0
  8. package/out/controller/common/control/md-control.controller.d.ts +9 -0
  9. package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
  10. package/out/controller/common/control/md-control.controller.js +20 -0
  11. package/out/controller/common/view/view.controller.d.ts +8 -1
  12. package/out/controller/common/view/view.controller.d.ts.map +1 -1
  13. package/out/controller/common/view/view.controller.js +12 -4
  14. package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
  15. package/out/controller/control/form/edit-form/edit-form.controller.js +9 -22
  16. package/out/controller/control/form/edit-form/edit-form.service.d.ts +3 -2
  17. package/out/controller/control/form/edit-form/edit-form.service.d.ts.map +1 -1
  18. package/out/controller/control/form/edit-form/edit-form.service.js +11 -2
  19. package/out/controller/control/form/form/form.controller.d.ts +0 -7
  20. package/out/controller/control/form/form/form.controller.d.ts.map +1 -1
  21. package/out/controller/control/form/form/form.controller.js +0 -11
  22. package/out/controller/control/form/form/form.service.d.ts +24 -0
  23. package/out/controller/control/form/form/form.service.d.ts.map +1 -0
  24. package/out/controller/control/form/form/form.service.js +45 -0
  25. package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts.map +1 -1
  26. package/out/controller/control/form/form-detail/form-item/form-item.controller.js +0 -5
  27. package/out/controller/control/form/search-form/search-form.controller.d.ts.map +1 -1
  28. package/out/controller/control/form/search-form/search-form.controller.js +1 -5
  29. package/out/controller/control/form/search-form/search-form.service.d.ts +4 -3
  30. package/out/controller/control/form/search-form/search-form.service.d.ts.map +1 -1
  31. package/out/controller/control/form/search-form/search-form.service.js +8 -3
  32. package/out/controller/control/search-bar/search-bar.controller.d.ts.map +1 -1
  33. package/out/controller/control/search-bar/search-bar.controller.js +10 -6
  34. package/out/interface/common/i-global-config/i-global-view-config.d.ts +7 -0
  35. package/out/interface/common/i-global-config/i-global-view-config.d.ts.map +1 -1
  36. package/out/interface/controller/controller/control/i-control.controller.d.ts +14 -0
  37. package/out/interface/controller/controller/control/i-control.controller.d.ts.map +1 -1
  38. package/out/interface/controller/controller/view/i-view.controller.d.ts +14 -0
  39. package/out/interface/controller/controller/view/i-view.controller.d.ts.map +1 -1
  40. package/out/interface/controller/state/control/i-control.state.d.ts +8 -0
  41. package/out/interface/controller/state/control/i-control.state.d.ts.map +1 -1
  42. package/out/interface/controller/state/view/i-view.state.d.ts +8 -0
  43. package/out/interface/controller/state/view/i-view.state.d.ts.map +1 -1
  44. package/out/interface/service/service/i-auth.service.d.ts +3 -2
  45. package/out/interface/service/service/i-auth.service.d.ts.map +1 -1
  46. package/out/service/service/auth/v7-auth.service.d.ts +1 -1
  47. package/out/service/service/auth/v7-auth.service.d.ts.map +1 -1
  48. package/out/service/service/auth/v7-auth.service.js +12 -7
  49. package/out/service/utils/de-cache/de-cache.js +2 -2
  50. package/out/utils/layout-panel-util/layout-panel-util.d.ts.map +1 -1
  51. package/out/utils/layout-panel-util/layout-panel-util.js +16 -2
  52. package/package.json +3 -3
  53. package/src/config/global-config.ts +1 -0
  54. package/src/controller/common/control/control.controller.ts +23 -0
  55. package/src/controller/common/control/md-control.controller.ts +21 -0
  56. package/src/controller/common/view/view.controller.ts +12 -5
  57. package/src/controller/control/form/edit-form/edit-form.controller.ts +11 -26
  58. package/src/controller/control/form/edit-form/edit-form.service.ts +11 -2
  59. package/src/controller/control/form/form/form.controller.ts +0 -14
  60. package/src/controller/control/form/form/form.service.ts +63 -0
  61. package/src/controller/control/form/form-detail/form-item/form-item.controller.ts +0 -5
  62. package/src/controller/control/form/search-form/search-form.controller.ts +1 -5
  63. package/src/controller/control/form/search-form/search-form.service.ts +8 -3
  64. package/src/controller/control/search-bar/search-bar.controller.ts +11 -8
  65. package/src/interface/common/i-global-config/i-global-view-config.ts +8 -0
  66. package/src/interface/controller/controller/control/i-control.controller.ts +16 -0
  67. package/src/interface/controller/controller/view/i-view.controller.ts +16 -0
  68. package/src/interface/controller/state/control/i-control.state.ts +9 -0
  69. package/src/interface/controller/state/view/i-view.state.ts +9 -0
  70. package/src/interface/service/service/i-auth.service.ts +3 -2
  71. package/src/service/service/auth/v7-auth.service.ts +18 -8
  72. package/src/service/utils/de-cache/de-cache.ts +2 -2
  73. package/src/utils/layout-panel-util/layout-panel-util.ts +17 -2
@@ -1,5 +1,6 @@
1
1
  import { recursiveIterate } from '@ibiz-template/core';
2
- import { ControlService, UIMapField } from '../../../../service';
2
+ import { UIMapField } from '../../../../service';
3
+ import { FormService } from '../form/form.service';
3
4
  /**
4
5
  * 搜索表单服务
5
6
  *
@@ -10,7 +11,7 @@ import { ControlService, UIMapField } from '../../../../service';
10
11
  * @extends {ControlService<T>}
11
12
  * @template T
12
13
  */
13
- export class SearchFormService extends ControlService {
14
+ export class SearchFormService extends FormService {
14
15
  /**
15
16
  * 执行获取草稿方法
16
17
  *
@@ -20,10 +21,14 @@ export class SearchFormService extends ControlService {
20
21
  * @param {IParams} [params={}] 视图参数
21
22
  * @returns {*} {Promise<IHttpResponse>}
22
23
  */
23
- async getDraft(_context, params = {}) {
24
+ async getDraft(context, params = {}) {
24
25
  const tempData = this.getFilteredData(Object.assign({}, params));
25
26
  let res = { ok: true, status: 200, data: tempData };
26
27
  res = this.handleResponse(res);
28
+ // 设置默认值
29
+ if (res.ok && res.data) {
30
+ this.setDefault(res.data, context, params, 'create');
31
+ }
27
32
  return res;
28
33
  }
29
34
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"search-bar.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/search-bar.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;;;;;;;GAQG;AACH,qBAAa,mBACX,SAAQ,iBAAiB,CAAC,UAAU,EAAE,eAAe,EAAE,eAAe,CACtE,YAAW,oBAAoB;IAE/B;;;;;OAKG;IACH,WAAW,SAAM;IAEjB;;;;;OAKG;IACH,iBAAiB,EAAE,yBAAyB,EAAE,CAAM;IAEpD;;;;;OAKG;IACH,aAAa,EAAG,cAAc,CAAC;IAE/B,SAAS,CAAC,SAAS,IAAI,IAAI;cAcX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAc1C;;;;;;OAMG;IACH,SAAS,CAAC,0BAA0B,IAAI,IAAI;IA2B5C;;;;;;OAMG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI9B;;;;;OAKG;IACH,QAAQ,IAAI,IAAI;IAIhB;;;;;OAKG;IACH,eAAe,IAAI,OAAO;IAwB1B;;;;OAIG;IACH,WAAW,IAAI,IAAI;IAUnB;;;;;;OAMG;cACa,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrD;;;;;OAKG;IACH,WAAW,IAAI,KAAK,GAAG,SAAS;IAsBhC;;;;;;OAMG;IACH,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,KAAK;CAcxC"}
1
+ {"version":3,"file":"search-bar.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/search-bar/search-bar.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9D,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAE3E;;;;;;;;GAQG;AACH,qBAAa,mBACX,SAAQ,iBAAiB,CAAC,UAAU,EAAE,eAAe,EAAE,eAAe,CACtE,YAAW,oBAAoB;IAE/B;;;;;OAKG;IACH,WAAW,SAAM;IAEjB;;;;;OAKG;IACH,iBAAiB,EAAE,yBAAyB,EAAE,CAAM;IAEpD;;;;;OAKG;IACH,aAAa,EAAG,cAAc,CAAC;IAE/B,SAAS,CAAC,SAAS,IAAI,IAAI;cAcX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAc1C;;;;;;OAMG;IACH,SAAS,CAAC,0BAA0B,IAAI,IAAI;IA2B5C;;;;;;OAMG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI9B;;;;;OAKG;IACH,QAAQ,IAAI,IAAI;IAIhB;;;;;OAKG;IACH,eAAe,IAAI,OAAO;IAwB1B;;;;OAIG;IACH,WAAW,IAAI,IAAI;IAUnB;;;;;;OAMG;cACa,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrD;;;;;OAKG;IACH,WAAW,IAAI,KAAK,GAAG,SAAS;IAsBhC;;;;;;OAMG;IACH,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,KAAK;CAiBxC"}
@@ -120,7 +120,7 @@ export class SearchBarController extends ControlController {
120
120
  // 搜索过滤器
121
121
  const filters = this.calcFilters();
122
122
  if (filters) {
123
- params.filters = filters;
123
+ params.searchconds = filters;
124
124
  }
125
125
  return params;
126
126
  }
@@ -179,7 +179,7 @@ export class SearchBarController extends ControlController {
179
179
  }
180
180
  });
181
181
  if (hasFilter && !hasError) {
182
- const filter = this.formatFilters(this.state.filterNodes[0]);
182
+ const filter = [this.formatFilters(this.state.filterNodes[0])];
183
183
  return filter;
184
184
  }
185
185
  }
@@ -193,13 +193,17 @@ export class SearchBarController extends ControlController {
193
193
  formatFilters(node) {
194
194
  if (!node.leaf) {
195
195
  return {
196
- [`$${node.logicType.toLowerCase()}`]: node.children.map(item => this.formatFilters(item)),
196
+ condtype: 'GROUP',
197
+ condop: node.logicType,
198
+ bnotmode: false,
199
+ searchcondlist: node.children.map(item => this.formatFilters(item)),
197
200
  };
198
201
  }
199
202
  return {
200
- [`${node.field}`]: {
201
- [`$${node.valueOP.toLowerCase()}`]: node.value,
202
- },
203
+ condtype: 'DEFIELD',
204
+ fieldname: node.field,
205
+ condop: node.valueOP,
206
+ value: node.value,
203
207
  };
204
208
  }
205
209
  }
@@ -28,5 +28,12 @@ export interface IGlobalViewConfig {
28
28
  * @type {string}
29
29
  */
30
30
  expCacheMode: string;
31
+ /**
32
+ * 首页是否不采用分页导航模式
33
+ * @return {*}
34
+ * @author: zhujiamin
35
+ * @Date: 2023-12-12 17:40:44
36
+ */
37
+ noNavTabs: boolean;
31
38
  }
32
39
  //# sourceMappingURL=i-global-view-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i-global-view-config.d.ts","sourceRoot":"","sources":["../../../../src/interface/common/i-global-config/i-global-view-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;;OASG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B;;;;;;;;OAQG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB"}
1
+ {"version":3,"file":"i-global-view-config.d.ts","sourceRoot":"","sources":["../../../../src/interface/common/i-global-config/i-global-view-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;;;OASG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B;;;;;;;;OAQG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB"}
@@ -50,6 +50,20 @@ export interface IControlController<T extends IControl = IControl, S extends ICo
50
50
  * @date 2022-09-19 14:09:09
51
51
  */
52
52
  endLoading(): Promise<void>;
53
+ /**
54
+ * 部件激活,主要用于用户可见时设置为激活状态
55
+ *
56
+ * @author chitanda
57
+ * @date 2023-12-13 11:12:04
58
+ */
59
+ onActivated(): void;
60
+ /**
61
+ * 部件暂停激活,主要用于用户不可见时设置为非激活状态
62
+ *
63
+ * @author chitanda
64
+ * @date 2023-12-13 11:12:06
65
+ */
66
+ onDeactivated(): void;
53
67
  /**
54
68
  * 在不改变引用的前提下,更新上下文和导航参数
55
69
  * 并处理如自定义导航参数的后续处理
@@ -1 +1 @@
1
- {"version":3,"file":"i-control.controller.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/controller/control/i-control.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB,CACjC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7B,CAAC,SAAS,aAAa,GAAG,aAAa,EACvC,CAAC,SAAS,aAAa,GAAG,aAAa,CACvC,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5B;;;;;OAKG;IACH,IAAI,EAAE,eAAe,CAAC;IAEtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,0BAA0B,CAAC;IAEzC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAElC;;;;;OAKG;IACH,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B;;;;;OAKG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;;;OAMG;IACH,mBAAmB,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CAC3E"}
1
+ {"version":3,"file":"i-control.controller.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/controller/control/i-control.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB,CACjC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7B,CAAC,SAAS,aAAa,GAAG,aAAa,EACvC,CAAC,SAAS,aAAa,GAAG,aAAa,CACvC,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5B;;;;;OAKG;IACH,IAAI,EAAE,eAAe,CAAC;IAEtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,0BAA0B,CAAC;IAEzC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAElC;;;;;OAKG;IACH,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9B;;;;;OAKG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;;;;OAKG;IACH,WAAW,IAAI,IAAI,CAAC;IAEpB;;;;;OAKG;IACH,aAAa,IAAI,IAAI,CAAC;IAEtB;;;;;;OAMG;IACH,mBAAmB,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,EAAE,QAAQ,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CAC3E"}
@@ -135,5 +135,19 @@ export interface IViewController<T extends IAppView = IAppView, S extends IViewS
135
135
  * @date 2022-09-19 14:09:09
136
136
  */
137
137
  endLoading(): void;
138
+ /**
139
+ * 视图激活,主要用于用户可见时设置为激活状态
140
+ *
141
+ * @author chitanda
142
+ * @date 2023-12-13 11:12:04
143
+ */
144
+ onActivated(): void;
145
+ /**
146
+ * 视图暂停激活,主要用于用户不可见时设置为非激活状态
147
+ *
148
+ * @author chitanda
149
+ * @date 2023-12-13 11:12:06
150
+ */
151
+ onDeactivated(): void;
138
152
  }
139
153
  //# sourceMappingURL=i-view.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i-view.controller.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/controller/view/i-view.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EACL,gBAAgB,EAChB,MAAM,EACN,UAAU,EACV,eAAe,EACf,cAAc,EACd,WAAW,EACX,UAAU,EACV,0BAA0B,EAC3B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe,CAC9B,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7B,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,CAAC,SAAS,UAAU,GAAG,UAAU,CACjC,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5B,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAExB;;;;;;OAMG;IACH,OAAO,EAAE,KAAK,CAAC;IAEf;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;OAMG;IACH,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;KAAE,CAAC;IAEpC;;;;;;OAMG;IACH,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAC;IAE/C;;;;;OAKG;IACH,OAAO,EAAE,WAAW,EAAE,CAAC;IAEvB;;;;;;OAMG;IACH,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAC;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,SAAS,CAAC;IAEjD;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE3B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,0BAA0B,CAAC;IAEzC;;;;;OAKG;IACH,SAAS,CAAC,SAAS,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjD;;;;;;;OAOG;IAEH,IAAI,CAAC,CAAC,SAAS,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAE3D;;;;;;;OAOG;IACH,YAAY,CACV,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAC7B,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAEnC;;;;;OAKG;IACH,mBAAmB,IAAI,IAAI,CAAC;IAE5B;;;;;OAKG;IACH,YAAY,IAAI,IAAI,CAAC;IAErB;;;;;OAKG;IACH,UAAU,IAAI,IAAI,CAAC;CACpB"}
1
+ {"version":3,"file":"i-view.controller.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/controller/view/i-view.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EACL,gBAAgB,EAChB,MAAM,EACN,UAAU,EACV,eAAe,EACf,cAAc,EACd,WAAW,EACX,UAAU,EACV,0BAA0B,EAC3B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe,CAC9B,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC7B,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,CAAC,SAAS,UAAU,GAAG,UAAU,CACjC,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5B,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAExB;;;;;;OAMG;IACH,OAAO,EAAE,KAAK,CAAC;IAEf;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;OAMG;IACH,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;KAAE,CAAC;IAEpC;;;;;;OAMG;IACH,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAC;IAE/C;;;;;OAKG;IACH,OAAO,EAAE,WAAW,EAAE,CAAC;IAEvB;;;;;;OAMG;IACH,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAC;IAExC;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,SAAS,CAAC;IAEjD;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAE3B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,0BAA0B,CAAC;IAEzC;;;;;OAKG;IACH,SAAS,CAAC,SAAS,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjD;;;;;;;OAOG;IAEH,IAAI,CAAC,CAAC,SAAS,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAE3D;;;;;;;OAOG;IACH,YAAY,CACV,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAC7B,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAEnC;;;;;OAKG;IACH,mBAAmB,IAAI,IAAI,CAAC;IAE5B;;;;;OAKG;IACH,YAAY,IAAI,IAAI,CAAC;IAErB;;;;;OAKG;IACH,UAAU,IAAI,IAAI,CAAC;IAEnB;;;;;OAKG;IACH,WAAW,IAAI,IAAI,CAAC;IAEpB;;;;;OAKG;IACH,aAAa,IAAI,IAAI,CAAC;CACvB"}
@@ -1,5 +1,13 @@
1
1
  import { IControllerState } from '../common/i-controller.state';
2
2
  export interface IControlState extends IControllerState {
3
+ /**
4
+ * 当前部件是否为激活状态(缓存下的激活状态,一般与框架的生命周期相同)
5
+ *
6
+ * @author chitanda
7
+ * @date 2023-12-13 11:12:30
8
+ * @type {boolean}
9
+ */
10
+ activated: boolean;
3
11
  /**
4
12
  * 是否是简单模式
5
13
  * @author zjm
@@ -1 +1 @@
1
- {"version":3,"file":"i-control.state.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/state/control/i-control.state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD;;;;;;OAMG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB"}
1
+ {"version":3,"file":"i-control.state.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/state/control/i-control.state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD;;;;;;OAMG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;;;;;OAMG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB"}
@@ -8,6 +8,14 @@ import { IControllerState } from '../common/i-controller.state';
8
8
  * @class ViewState
9
9
  */
10
10
  export interface IViewState extends IControllerState, IViewSession {
11
+ /**
12
+ * 当前视图是否为激活状态(缓存下的激活状态,一般与框架的生命周期相同)
13
+ *
14
+ * @author chitanda
15
+ * @date 2023-12-13 11:12:20
16
+ * @type {boolean}
17
+ */
18
+ activated: boolean;
11
19
  /**
12
20
  * 视图标题
13
21
  *
@@ -1 +1 @@
1
- {"version":3,"file":"i-view.state.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/state/view/i-view.state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,WAAW,UAAW,SAAQ,gBAAgB,EAAE,YAAY;IAChE;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,YAAY,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAAA;KAAE,CAAC;CAC/C"}
1
+ {"version":3,"file":"i-view.state.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/state/view/i-view.state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE;;;;;GAKG;AACH,MAAM,WAAW,UAAW,SAAQ,gBAAgB,EAAE,YAAY;IAChE;;;;;;OAMG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;;;;OAKG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,YAAY,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY,EAAE,CAAA;KAAE,CAAC;CAC/C"}
@@ -11,12 +11,13 @@ export interface IAuthService {
11
11
  * 登录
12
12
  *
13
13
  * @author chitanda
14
- * @date 2023-08-17 16:08:23
14
+ * @date 2023-12-13 15:12:16
15
15
  * @param {string} loginName
16
16
  * @param {string} password
17
+ * @param {boolean} [remember]
17
18
  * @return {*} {Promise<boolean>}
18
19
  */
19
- login(loginName: string, password: string, rememberme?: boolean): Promise<boolean>;
20
+ login(loginName: string, password: string, remember?: boolean): Promise<boolean>;
20
21
  /**
21
22
  * 登出
22
23
  *
@@ -1 +1 @@
1
- {"version":3,"file":"i-auth.service.d.ts","sourceRoot":"","sources":["../../../../src/interface/service/service/i-auth.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;;OAQG;IACH,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;;;;;OAMG;IACH,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3B;;;;;;OAMG;IACH,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B"}
1
+ {"version":3,"file":"i-auth.service.d.ts","sourceRoot":"","sources":["../../../../src/interface/service/service/i-auth.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;OASG;IACH,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;;;;;OAMG;IACH,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3B;;;;;;OAMG;IACH,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B"}
@@ -8,7 +8,7 @@ import { IAuthService } from '../../../interface';
8
8
  * @class AuthService
9
9
  */
10
10
  export declare class V7AuthService implements IAuthService {
11
- login(loginname: string, password: string, rememberme?: boolean): Promise<boolean>;
11
+ login(loginName: string, password: string, remember?: boolean): Promise<boolean>;
12
12
  logout(): Promise<boolean>;
13
13
  extendLogin(): Promise<void>;
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"v7-auth.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/auth/v7-auth.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;;;GAOG;AACH,qBAAa,aAAc,YAAW,YAAY;IAC1C,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,OAAO,CAAC;IA8Bb,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAe1B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CAqBnC"}
1
+ {"version":3,"file":"v7-auth.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/auth/v7-auth.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;;;GAOG;AACH,qBAAa,aAAc,YAAW,YAAY;IAC1C,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,OAAO,GACjB,OAAO,CAAC,OAAO,CAAC;IAiCb,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAgB1B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;CA2BnC"}
@@ -9,19 +9,22 @@ import { clearCookie, getCookie, setCookie } from 'qx-util';
9
9
  * @class AuthService
10
10
  */
11
11
  export class V7AuthService {
12
- async login(loginname, password, rememberme) {
12
+ async login(loginName, password, remember) {
13
13
  // eslint-disable-next-line no-useless-catch
14
14
  try {
15
15
  const res = await ibiz.net.post('/v7/login', {
16
- loginname,
16
+ loginname: loginName,
17
17
  password,
18
- rememberme,
18
+ rememberme: remember,
19
19
  });
20
20
  const { data } = res;
21
21
  if (data && data.token) {
22
- setCookie(CoreConst.TOKEN, data.token, rememberme ? 7 : 0, true);
22
+ if (remember) {
23
+ setCookie(CoreConst.TOKEN_REMEMBER, '1', 7, true);
24
+ }
25
+ setCookie(CoreConst.TOKEN, data.token, remember ? 7 : 0, true);
23
26
  const expiredDate = new Date().getTime() + (data.expirein || 7199) * 1000;
24
- setCookie(CoreConst.TOKEN_EXPIRES, `${expiredDate}`, rememberme ? 7 : 0, true);
27
+ setCookie(CoreConst.TOKEN_EXPIRES, `${expiredDate}`, remember ? 7 : 0, true);
25
28
  }
26
29
  return true;
27
30
  }
@@ -38,6 +41,7 @@ export class V7AuthService {
38
41
  await ibiz.net.get('/v7/logout');
39
42
  clearCookie(CoreConst.TOKEN);
40
43
  clearCookie(CoreConst.TOKEN_EXPIRES);
44
+ clearCookie(CoreConst.TOKEN_REMEMBER);
41
45
  return true;
42
46
  }
43
47
  catch (err) {
@@ -51,6 +55,7 @@ export class V7AuthService {
51
55
  async extendLogin() {
52
56
  const token = getCookie(CoreConst.TOKEN);
53
57
  const expirein = getCookie(CoreConst.TOKEN_EXPIRES);
58
+ const remember = getCookie(CoreConst.TOKEN_REMEMBER);
54
59
  if (token && expirein) {
55
60
  // 计算到过期时间所需的延时毫秒数,预留提前量
56
61
  let wait = Number(expirein) - new Date().getTime();
@@ -59,9 +64,9 @@ export class V7AuthService {
59
64
  setTimeout(async () => {
60
65
  const res = await ibiz.net.get(`/uaa/refreshtoken2`);
61
66
  if (res.ok) {
62
- setCookie(CoreConst.TOKEN, res.data.token, 0, true);
67
+ setCookie(CoreConst.TOKEN, res.data.token, remember ? 7 : 0, true);
63
68
  const expiredDate = new Date().getTime() + (res.data.expirein || 7199) * 1000;
64
- setCookie(CoreConst.TOKEN_EXPIRES, `${expiredDate}`, 0, true);
69
+ setCookie(CoreConst.TOKEN_EXPIRES, `${expiredDate}`, remember ? 7 : 0, true);
65
70
  }
66
71
  // 下一次延时做准备
67
72
  this.extendLogin();
@@ -397,10 +397,10 @@ export class DECache {
397
397
  });
398
398
  const unionValues = unionKeys.map(key => {
399
399
  if (isNil(data[key])) {
400
- throw new RuntimeError(`联合键值计算异常,${key}属性为空值!`);
400
+ return `__empty__`;
401
401
  }
402
402
  return data[key];
403
403
  });
404
- data.srfkey = unionValues.join('');
404
+ data.srfkey = unionValues.join('||');
405
405
  }
406
406
  }
@@ -1 +1 @@
1
- {"version":3,"file":"layout-panel-util.d.ts","sourceRoot":"","sources":["../../../src/utils/layout-panel-util/layout-panel-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAG7E;;;;;;;GAOG;AACH,qBAAa,eAAe;IAC1B;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAa;IAE3D;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAIpD;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAI9C;;;;;;;OAOG;IACH,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ;IAgCnC;;;;;;;;OAQG;IACH,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,GAAG,MAAM;IAUpD;;;;;;;;OAQG;IACH,SAAS,CAAC,sBAAsB,CAAC,SAAS,EAAE,aAAa,GAAG,MAAM;CAcnE"}
1
+ {"version":3,"file":"layout-panel-util.d.ts","sourceRoot":"","sources":["../../../src/utils/layout-panel-util/layout-panel-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAG7E;;;;;;;GAOG;AACH,qBAAa,eAAe;IAC1B;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAa;IAE3D;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAIpD;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAI9C;;;;;;;OAOG;IACH,IAAI,CAAC,SAAS,EAAE,QAAQ,GAAG,QAAQ;IAgCnC;;;;;;;;OAQG;IACH,SAAS,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,GAAG,MAAM;IAUpD;;;;;;;;OAQG;IACH,SAAS,CAAC,sBAAsB,CAAC,SAAS,EAAE,aAAa,GAAG,MAAM;CA6BnE"}
@@ -116,9 +116,23 @@ export class LayoutPanelUtil {
116
116
  else if (mainMenuAlign) {
117
117
  exTag = mainMenuAlign.toUpperCase();
118
118
  }
119
+ // 计算面板标识
120
+ let key = '';
119
121
  if (exTag !== '') {
120
- return `${viewType}_${viewStyle}_${exTag}`;
122
+ key = `${viewType}_${viewStyle}_${exTag}`;
121
123
  }
122
- return `${viewType}_${viewStyle}`;
124
+ else {
125
+ key = `${viewType}_${viewStyle}`;
126
+ }
127
+ // 首页不采用分页导航
128
+ if (ibiz.config.view.noNavTabs &&
129
+ [
130
+ 'APPINDEXVIEW_DEFAULT',
131
+ 'APPINDEXVIEW_DEFAULT_LEFT',
132
+ 'APPINDEXVIEW_DEFAULT_TOP',
133
+ ].includes(key)) {
134
+ key += '_NO_NAV';
135
+ }
136
+ return key;
123
137
  }
124
138
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/runtime",
3
- "version": "0.4.11",
3
+ "version": "0.4.12",
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.4.11",
32
+ "@ibiz-template/core": "^0.4.12",
33
33
  "@ibiz/model-core": "^0.0.27",
34
34
  "@types/path-browserify": "^1.0.2",
35
35
  "@types/qs": "^6.9.10",
@@ -59,5 +59,5 @@
59
59
  "qx-util": "^0.4.8",
60
60
  "ramda": "^0.29.0"
61
61
  },
62
- "gitHead": "b2512a91986d2e5fea22610a8148ab8f405ecb4e"
62
+ "gitHead": "df161fe8da63b34ffccd27b30e6cd51769b0a51d"
63
63
  }
@@ -21,6 +21,7 @@ export class GlobalConfig implements IGlobalConfig {
21
21
  view: IGlobalViewConfig = {
22
22
  enableDataInfoBar: true,
23
23
  expCacheMode: 'TABEXPPANEL:',
24
+ noNavTabs: false,
24
25
  };
25
26
 
26
27
  // 全局表格配置
@@ -149,6 +149,7 @@ export class ControlController<
149
149
 
150
150
  protected initState(): void {
151
151
  super.initState();
152
+ this.state.activated = true;
152
153
  this.state.isLoading = false;
153
154
  }
154
155
 
@@ -269,6 +270,28 @@ export class ControlController<
269
270
  this.ctx.endLoading();
270
271
  }
271
272
 
273
+ /**
274
+ * 部件重新激活
275
+ *
276
+ * @author chitanda
277
+ * @date 2023-07-12 17:07:55
278
+ */
279
+ onActivated(): void {
280
+ this.state.activated = true;
281
+ ibiz.log.debug(`视图[${this.model.name}](${this.model.id})激活`);
282
+ }
283
+
284
+ /**
285
+ * 部件暂时停用
286
+ *
287
+ * @author chitanda
288
+ * @date 2023-07-12 17:07:06
289
+ */
290
+ onDeactivated(): void {
291
+ this.state.activated = false;
292
+ ibiz.log.debug(`视图[${this.model.name}](${this.model.id})暂停`);
293
+ }
294
+
272
295
  /**
273
296
  * 处理数据能力方法通用参数,返回能力执行最终使用的参数
274
297
  * @author lxm
@@ -42,6 +42,15 @@ export class MDControlController<
42
42
  */
43
43
  service!: MDControlService;
44
44
 
45
+ /**
46
+ * 在未激活时记录是否有 command 数据变更事件,有就记录。等待激活时刷新
47
+ *
48
+ * @author chitanda
49
+ * @date 2023-12-13 11:12:19
50
+ * @protected
51
+ */
52
+ protected commandDataChange = false;
53
+
45
54
  protected get _evt(): ControllerEvent<IMDControlEvent> {
46
55
  return this.evt;
47
56
  }
@@ -127,7 +136,19 @@ export class MDControlController<
127
136
  */
128
137
  protected onDataChange(msg: IData): void {
129
138
  if (msg.data && msg.data.srfdecodename === this.dataEntity.codeName) {
139
+ if (this.state.activated) {
140
+ this.refresh();
141
+ } else {
142
+ this.commandDataChange = true;
143
+ }
144
+ }
145
+ }
146
+
147
+ onActivated(): void {
148
+ super.onActivated();
149
+ if (this.commandDataChange) {
130
150
  this.refresh();
151
+ this.commandDataChange = false;
131
152
  }
132
153
  }
133
154
 
@@ -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;
@@ -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
  *