@ibiz-template/runtime 0.1.33 → 0.1.35

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 (139) hide show
  1. package/dist/index.esm.js +404 -218
  2. package/dist/index.system.min.js +1 -1
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/controller/common/control/control.controller.d.ts +1 -0
  5. package/out/controller/common/control/control.controller.d.ts.map +1 -1
  6. package/out/controller/common/control/control.controller.js +21 -1
  7. package/out/controller/common/control/md-control.controller.js +1 -1
  8. package/out/controller/common/editor/editor.controller.d.ts.map +1 -1
  9. package/out/controller/common/editor/editor.controller.js +1 -2
  10. package/out/controller/common/view/view.controller.d.ts.map +1 -1
  11. package/out/controller/common/view/view.controller.js +2 -1
  12. package/out/controller/control/calendar/calendar.controller.js +1 -1
  13. package/out/controller/control/data-view/data-view.controller.js +5 -3
  14. package/out/controller/control/form/edit-form/edit-form.controller.d.ts +7 -7
  15. package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
  16. package/out/controller/control/form/edit-form/edit-form.controller.js +22 -16
  17. package/out/controller/control/grid/grid/grid.controller.js +2 -2
  18. package/out/controller/control/panel/panel/panel-item.controller.d.ts +6 -0
  19. package/out/controller/control/panel/panel/panel-item.controller.d.ts.map +1 -1
  20. package/out/controller/control/panel/panel/panel-item.controller.js +11 -0
  21. package/out/controller/control/panel/panel/panel.controller.d.ts +3 -0
  22. package/out/controller/control/panel/panel/panel.controller.d.ts.map +1 -1
  23. package/out/controller/control/panel/panel/panel.controller.js +13 -0
  24. package/out/controller/control/panel/view-layout-panel/view-layout-panel.controller.d.ts.map +1 -1
  25. package/out/controller/control/panel/view-layout-panel/view-layout-panel.controller.js +7 -0
  26. package/out/de-logic/de-logic-context.d.ts +25 -5
  27. package/out/de-logic/de-logic-context.d.ts.map +1 -1
  28. package/out/de-logic/de-logic-context.js +27 -5
  29. package/out/de-logic/de-logic-node/data-set-node/data-set-node.d.ts.map +1 -1
  30. package/out/de-logic/de-logic-node/data-set-node/data-set-node.js +2 -2
  31. package/out/de-logic/de-logic-node/de-action-node/de-action-node.js +1 -1
  32. package/out/de-logic/de-logic-param/de-logic-param.js +1 -1
  33. package/out/de-logic/utils/handle-src-val.js +2 -2
  34. package/out/interface/common/i-data-ability-params/i-data-ability-params.d.ts +4 -4
  35. package/out/interface/common/i-data-ability-params/i-data-ability-params.d.ts.map +1 -1
  36. package/out/interface/common/i-float-window-options/i-float-window-options.d.ts +75 -0
  37. package/out/interface/common/i-float-window-options/i-float-window-options.d.ts.map +1 -0
  38. package/out/interface/common/i-float-window-options/i-float-window-options.js +1 -0
  39. package/out/interface/common/index.d.ts +1 -0
  40. package/out/interface/common/index.d.ts.map +1 -1
  41. package/out/interface/controller/controller/control/i-control.controller.d.ts +1 -1
  42. package/out/interface/controller/controller/control/i-edit-form.controller.d.ts +6 -5
  43. package/out/interface/controller/controller/control/i-edit-form.controller.d.ts.map +1 -1
  44. package/out/interface/controller/controller/i.controller.d.ts +1 -1
  45. package/out/interface/controller/event/argument/index.d.ts +1 -0
  46. package/out/interface/controller/event/argument/index.d.ts.map +1 -1
  47. package/out/interface/controller/event/argument/panel-item.event.d.ts +26 -0
  48. package/out/interface/controller/event/argument/panel-item.event.d.ts.map +1 -0
  49. package/out/interface/controller/event/argument/panel-item.event.js +1 -0
  50. package/out/interface/controller/event/control/i-panel.event.d.ts +12 -1
  51. package/out/interface/controller/event/control/i-panel.event.d.ts.map +1 -1
  52. package/out/interface/logic-scheduler/i-scheduler-logic.d.ts +7 -0
  53. package/out/interface/logic-scheduler/i-scheduler-logic.d.ts.map +1 -1
  54. package/out/interface/service/service/i-app-de.service.d.ts +25 -1
  55. package/out/interface/service/service/i-app-de.service.d.ts.map +1 -1
  56. package/out/interface/util/i-overlay-controller/i-overlay-controller.d.ts +24 -1
  57. package/out/interface/util/i-overlay-controller/i-overlay-controller.d.ts.map +1 -1
  58. package/out/logic-scheduler/executor/app-ui-action-executor.d.ts +15 -0
  59. package/out/logic-scheduler/executor/app-ui-action-executor.d.ts.map +1 -0
  60. package/out/logic-scheduler/executor/app-ui-action-executor.js +16 -0
  61. package/out/logic-scheduler/index.d.ts.map +1 -1
  62. package/out/logic-scheduler/index.js +6 -0
  63. package/out/logic-scheduler/scheduler/control-logic-scheduler.d.ts.map +1 -1
  64. package/out/logic-scheduler/scheduler/control-logic-scheduler.js +6 -0
  65. package/out/logic-scheduler/scheduler/logic-scheduler.d.ts +2 -2
  66. package/out/logic-scheduler/scheduler/logic-scheduler.d.ts.map +1 -1
  67. package/out/logic-scheduler/scheduler/logic-scheduler.js +3 -3
  68. package/out/logic-scheduler/trigger/control-event-trigger.d.ts.map +1 -1
  69. package/out/logic-scheduler/trigger/control-event-trigger.js +3 -1
  70. package/out/service/service/entity/de.service.d.ts +38 -3
  71. package/out/service/service/entity/de.service.d.ts.map +1 -1
  72. package/out/service/service/entity/de.service.js +84 -8
  73. package/out/service/service/entity/method/ac-fetch.d.ts +14 -0
  74. package/out/service/service/entity/method/ac-fetch.d.ts.map +1 -0
  75. package/out/service/service/entity/method/ac-fetch.js +15 -0
  76. package/out/service/service/entity/method/method.d.ts +1 -0
  77. package/out/service/service/entity/method/method.d.ts.map +1 -1
  78. package/out/service/service/entity/method/method.js +7 -4
  79. package/out/ui-logic/ui-logic-context.d.ts +1 -11
  80. package/out/ui-logic/ui-logic-context.d.ts.map +1 -1
  81. package/out/ui-logic/ui-logic-context.js +7 -11
  82. package/out/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.d.ts.map +1 -1
  83. package/out/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.js +12 -5
  84. package/out/ui-logic/ui-logic-node/data-set-node/data-set-node.d.ts.map +1 -1
  85. package/out/ui-logic/ui-logic-node/data-set-node/data-set-node.js +6 -2
  86. package/out/ui-logic/ui-logic-node/de-action-node/de-action-node.js +1 -1
  87. package/out/ui-logic/ui-logic-node/de-ui-action-node/de-ui-action-node.d.ts.map +1 -1
  88. package/out/ui-logic/ui-logic-node/de-ui-action-node/de-ui-action-node.js +1 -1
  89. package/out/ui-logic/ui-logic-node/execute-de-logic-node/execute-de-logic-node.d.ts.map +1 -1
  90. package/out/ui-logic/ui-logic-node/execute-de-logic-node/execute-de-logic-node.js +1 -2
  91. package/out/ui-logic/ui-logic-param/ui-logic-param.d.ts.map +1 -1
  92. package/out/ui-logic/ui-logic-param/ui-logic-param.js +3 -2
  93. package/out/ui-logic/utils/handle-src-val.d.ts.map +1 -1
  94. package/out/ui-logic/utils/handle-src-val.js +3 -7
  95. package/package.json +3 -3
  96. package/src/controller/common/control/control.controller.ts +25 -1
  97. package/src/controller/common/control/md-control.controller.ts +1 -1
  98. package/src/controller/common/editor/editor.controller.ts +1 -2
  99. package/src/controller/common/view/view.controller.ts +2 -0
  100. package/src/controller/control/calendar/calendar.controller.ts +1 -1
  101. package/src/controller/control/data-view/data-view.controller.ts +3 -3
  102. package/src/controller/control/form/edit-form/edit-form.controller.ts +27 -30
  103. package/src/controller/control/grid/grid/grid.controller.ts +2 -2
  104. package/src/controller/control/panel/panel/panel-item.controller.ts +12 -0
  105. package/src/controller/control/panel/panel/panel.controller.ts +20 -0
  106. package/src/controller/control/panel/view-layout-panel/view-layout-panel.controller.ts +11 -0
  107. package/src/de-logic/de-logic-context.ts +42 -5
  108. package/src/de-logic/de-logic-node/data-set-node/data-set-node.ts +2 -3
  109. package/src/de-logic/de-logic-node/de-action-node/de-action-node.ts +1 -1
  110. package/src/de-logic/de-logic-param/de-logic-param.ts +1 -1
  111. package/src/de-logic/utils/handle-src-val.ts +2 -2
  112. package/src/interface/common/i-data-ability-params/i-data-ability-params.ts +4 -4
  113. package/src/interface/common/i-float-window-options/i-float-window-options.ts +74 -0
  114. package/src/interface/common/index.ts +1 -0
  115. package/src/interface/controller/controller/control/i-control.controller.ts +1 -1
  116. package/src/interface/controller/controller/control/i-edit-form.controller.ts +6 -5
  117. package/src/interface/controller/controller/i.controller.ts +1 -1
  118. package/src/interface/controller/event/argument/index.ts +1 -0
  119. package/src/interface/controller/event/argument/panel-item.event.ts +27 -0
  120. package/src/interface/controller/event/control/i-panel.event.ts +13 -1
  121. package/src/interface/logic-scheduler/i-scheduler-logic.ts +8 -0
  122. package/src/interface/service/service/i-app-de.service.ts +37 -1
  123. package/src/interface/util/i-overlay-controller/i-overlay-controller.ts +39 -1
  124. package/src/logic-scheduler/executor/app-ui-action-executor.ts +20 -0
  125. package/src/logic-scheduler/index.ts +12 -0
  126. package/src/logic-scheduler/scheduler/control-logic-scheduler.ts +6 -0
  127. package/src/logic-scheduler/scheduler/logic-scheduler.ts +7 -4
  128. package/src/logic-scheduler/trigger/control-event-trigger.ts +3 -1
  129. package/src/service/service/entity/de.service.ts +107 -8
  130. package/src/service/service/entity/method/ac-fetch.ts +16 -0
  131. package/src/service/service/entity/method/method.ts +11 -4
  132. package/src/ui-logic/ui-logic-context.ts +7 -11
  133. package/src/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.ts +12 -5
  134. package/src/ui-logic/ui-logic-node/data-set-node/data-set-node.ts +6 -3
  135. package/src/ui-logic/ui-logic-node/de-action-node/de-action-node.ts +1 -1
  136. package/src/ui-logic/ui-logic-node/de-ui-action-node/de-ui-action-node.ts +2 -0
  137. package/src/ui-logic/ui-logic-node/execute-de-logic-node/execute-de-logic-node.ts +3 -4
  138. package/src/ui-logic/ui-logic-param/ui-logic-param.ts +3 -2
  139. package/src/ui-logic/utils/handle-src-val.ts +3 -7
@@ -1,5 +1,5 @@
1
1
  import { IAppDataEntity } from '@ibiz/model-core';
2
- import { IHttpResponse } from '@ibiz-template/core';
2
+ import { IHttpResponse, IPortalAsyncAction } from '@ibiz-template/core';
3
3
  import { DECache } from '../../utils';
4
4
  import { WorkFlowService } from '../work-flow/work-flow.service';
5
5
  import { Method } from './method/method';
@@ -69,12 +69,13 @@ export declare class DEService implements IAppDEService {
69
69
  * 获取实体服务方法实例
70
70
  *
71
71
  * @author chitanda
72
- * @date 2022-10-10 14:10:53
72
+ * @date 2023-10-12 17:10:10
73
73
  * @protected
74
74
  * @param {string} id
75
+ * @param {boolean} [acMode=false]
75
76
  * @return {*} {Method}
76
77
  */
77
- protected getMethod(id: string): Method;
78
+ protected getMethod(id: string, acMode?: boolean): Method;
78
79
  /**
79
80
  * 执行服务方法
80
81
  *
@@ -87,5 +88,39 @@ export declare class DEService implements IAppDEService {
87
88
  * @return {*} {Promise<IHttpResponse>}
88
89
  */
89
90
  exec(id: string, context: IParams, params?: IData, params2?: IParams): Promise<IHttpResponse>;
91
+ /**
92
+ * 执行服务方法 ac 模式
93
+ *
94
+ * @author chitanda
95
+ * @date 2022-09-13 19:09:55
96
+ * @param {string} id 执行服务方法标识
97
+ * @param {IParams} context
98
+ * @param {IData} [params={}] 请求参数
99
+ * @param {IParams} [params2={}] 查询参数
100
+ * @return {*} {Promise<IHttpResponse>}
101
+ */
102
+ execAc(id: string, context: IParams, params?: IData, params2?: IParams): Promise<IHttpResponse>;
103
+ /**
104
+ * 实体级别 AI 聊天会话
105
+ *
106
+ * @author chitanda
107
+ * @date 2023-10-16 16:10:16
108
+ * @param {(data: IPortalAsyncAction) => void} onmessage
109
+ * @param {IParams} context
110
+ * @param {IParams} [params={}]
111
+ * @param {IData} [data={}]
112
+ * @return {*} {Promise<void>}
113
+ */
114
+ aiChatSse(onmessage: (data: IPortalAsyncAction) => void, context: IParams, params?: IParams, data?: IData): Promise<void>;
115
+ /**
116
+ * 计算请求路径
117
+ *
118
+ * @author chitanda
119
+ * @date 2023-10-12 11:10:56
120
+ * @protected
121
+ * @param {IParams} context
122
+ * @return {*} {string}
123
+ */
124
+ protected calcSsePath(context: IParams): string;
90
125
  }
91
126
  //# sourceMappingURL=de.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"de.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/entity/de.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,aAAa,EAA4B,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAInD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD;;;;;;;GAOG;AACH,qBAAa,SAAU,YAAW,aAAa;IAsDjC,SAAS,CAAC,KAAK,EAAE,cAAc;IArD3C;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IAEpC;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC;IAE7B;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAE9D;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAiB;IAExC;;;;;;OAMG;gBACmB,KAAK,EAAE,cAAc;IAU3C;;;;;;;;OAQG;IACH,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAwBvC;;;;;;;;;;OAUG;IACH,IAAI,CACF,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,KAAK,EACd,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,aAAa,CAAC;CAO1B"}
1
+ {"version":3,"file":"de.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/entity/de.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EACL,aAAa,EACb,kBAAkB,EAGnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAe,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAInD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD;;;;;;;GAOG;AACH,qBAAa,SAAU,YAAW,aAAa;IAsDjC,SAAS,CAAC,KAAK,EAAE,cAAc;IArD3C;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;IAEpC;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC;IAE7B;;;;;;OAMG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAE9D;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAiB;IAExC;;;;;;OAMG;gBACmB,KAAK,EAAE,cAAc;IAU3C;;;;;;;;;OASG;IACH,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,OAAe,GAAG,MAAM;IA6BhE;;;;;;;;;;OAUG;IACH,IAAI,CACF,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,KAAK,EACd,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,aAAa,CAAC;IAQzB;;;;;;;;;;OAUG;IACH,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,KAAK,EACd,OAAO,GAAE,OAAY,GACpB,OAAO,CAAC,aAAa,CAAC;IAQzB;;;;;;;;;;OAUG;IACH,SAAS,CACP,SAAS,EAAE,CAAC,IAAI,EAAE,kBAAkB,KAAK,IAAI,EAC7C,OAAO,EAAE,OAAO,EAChB,MAAM,GAAE,OAAY,EACpB,IAAI,GAAE,KAAU,GACf,OAAO,CAAC,IAAI,CAAC;IA6BhB;;;;;;;;OAQG;IACH,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;CAQhD"}
@@ -1,11 +1,12 @@
1
- import { ModelError, RuntimeError } from '@ibiz-template/core';
2
- import { DECache } from '../../utils';
1
+ import { ModelError, RuntimeError, } from '@ibiz-template/core';
2
+ import { DECache, calcResPath } from '../../utils';
3
3
  import { WorkFlowService } from '../work-flow/work-flow.service';
4
4
  import { FileService } from '../file/file.service';
5
5
  import { findModelChild } from '../../../model';
6
6
  import { DEActionMethod } from './method/de-action';
7
7
  import { FetchMethod } from './method/fetch';
8
8
  import { ConfigService } from '../config/config.service';
9
+ import { AcFetchMethod } from './method/ac-fetch';
9
10
  /**
10
11
  * 实体服务
11
12
  *
@@ -49,14 +50,16 @@ export class DEService {
49
50
  * 获取实体服务方法实例
50
51
  *
51
52
  * @author chitanda
52
- * @date 2022-10-10 14:10:53
53
+ * @date 2023-10-12 17:10:10
53
54
  * @protected
54
55
  * @param {string} id
56
+ * @param {boolean} [acMode=false]
55
57
  * @return {*} {Method}
56
58
  */
57
- getMethod(id) {
58
- if (this.methodMap.has(id)) {
59
- return this.methodMap.get(id);
59
+ getMethod(id, acMode = false) {
60
+ const cacheId = acMode ? `ac-${id}` : id;
61
+ if (this.methodMap.has(cacheId)) {
62
+ return this.methodMap.get(cacheId);
60
63
  }
61
64
  const model = findModelChild(this.model.appDEMethods, id);
62
65
  let method = null;
@@ -66,12 +69,17 @@ export class DEService {
66
69
  break;
67
70
  case 'FETCH':
68
71
  case 'FETCHTEMP':
69
- method = new FetchMethod(this.model, model);
72
+ if (acMode) {
73
+ method = new AcFetchMethod(this.model, model);
74
+ }
75
+ else {
76
+ method = new FetchMethod(this.model, model);
77
+ }
70
78
  break;
71
79
  default:
72
80
  throw new ModelError(model, `未支持的服务方法类型: ${model.methodType}`);
73
81
  }
74
- this.methodMap.set(id, method);
82
+ this.methodMap.set(cacheId, method);
75
83
  return method;
76
84
  }
77
85
  /**
@@ -92,4 +100,72 @@ export class DEService {
92
100
  }
93
101
  throw new RuntimeError(`${this.model.codeName}未支持「${id}」方法`);
94
102
  }
103
+ /**
104
+ * 执行服务方法 ac 模式
105
+ *
106
+ * @author chitanda
107
+ * @date 2022-09-13 19:09:55
108
+ * @param {string} id 执行服务方法标识
109
+ * @param {IParams} context
110
+ * @param {IData} [params={}] 请求参数
111
+ * @param {IParams} [params2={}] 查询参数
112
+ * @return {*} {Promise<IHttpResponse>}
113
+ */
114
+ execAc(id, context, params, params2 = {}) {
115
+ const method = this.getMethod(id, true);
116
+ if (method) {
117
+ return method.exec(context, params, params2);
118
+ }
119
+ throw new RuntimeError(`${this.model.codeName}未支持「${id}」方法`);
120
+ }
121
+ /**
122
+ * 实体级别 AI 聊天会话
123
+ *
124
+ * @author chitanda
125
+ * @date 2023-10-16 16:10:16
126
+ * @param {(data: IPortalAsyncAction) => void} onmessage
127
+ * @param {IParams} context
128
+ * @param {IParams} [params={}]
129
+ * @param {IData} [data={}]
130
+ * @return {*} {Promise<void>}
131
+ */
132
+ aiChatSse(onmessage, context, params = {}, data = {}) {
133
+ const app = ibiz.hub.getApp(this.model.appId);
134
+ const path = this.calcSsePath(context);
135
+ return new Promise((resolve, reject) => {
136
+ app.net.sse(`/${path}`, Object.assign({ srfactag: 'AIChat' }, params), {
137
+ headers: {
138
+ 'Content-Type': 'application/json',
139
+ },
140
+ body: JSON.stringify(data),
141
+ onmessage: e => {
142
+ if (e.data) {
143
+ const json = JSON.parse(e.data);
144
+ onmessage(json);
145
+ }
146
+ },
147
+ onclose: () => {
148
+ resolve();
149
+ },
150
+ onerror: (e) => {
151
+ reject(e);
152
+ },
153
+ });
154
+ });
155
+ }
156
+ /**
157
+ * 计算请求路径
158
+ *
159
+ * @author chitanda
160
+ * @date 2023-10-12 11:10:56
161
+ * @protected
162
+ * @param {IParams} context
163
+ * @return {*} {string}
164
+ */
165
+ calcSsePath(context) {
166
+ const srfkey = context[this.model.codeName.toLowerCase()];
167
+ const curPath = `/${this.model.codeName2.toLowerCase()}/ssechatcompletion${srfkey ? `/${srfkey}` : ''}`;
168
+ const resPath = calcResPath(context, this.model);
169
+ return resPath + curPath;
170
+ }
95
171
  }
@@ -0,0 +1,14 @@
1
+ import { FetchMethod } from './fetch';
2
+ /**
3
+ * ac 模式下的数据集获取请求
4
+ *
5
+ * @author chitanda
6
+ * @date 2023-10-12 17:10:03
7
+ * @export
8
+ * @class AcFetchMethod
9
+ * @extends {FetchMethod}
10
+ */
11
+ export declare class AcFetchMethod extends FetchMethod {
12
+ protected mergeRequestPath(path: string, methodName: string): string;
13
+ }
14
+ //# sourceMappingURL=ac-fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ac-fetch.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/ac-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC;;;;;;;;GAQG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAC5C,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;CAGrE"}
@@ -0,0 +1,15 @@
1
+ import { FetchMethod } from './fetch';
2
+ /**
3
+ * ac 模式下的数据集获取请求
4
+ *
5
+ * @author chitanda
6
+ * @date 2023-10-12 17:10:03
7
+ * @export
8
+ * @class AcFetchMethod
9
+ * @extends {FetchMethod}
10
+ */
11
+ export class AcFetchMethod extends FetchMethod {
12
+ mergeRequestPath(path, methodName) {
13
+ return `${path}/ac/${methodName}?srfac=ac`;
14
+ }
15
+ }
@@ -77,6 +77,7 @@ export declare abstract class Method {
77
77
  * @return {*} {Promise<HttpResponse<any>>}
78
78
  */
79
79
  protected request(path: string, context: IParams, data?: IData, params?: IParams): Promise<HttpResponse<any>>;
80
+ protected mergeRequestPath(path: string, methodName: string): string;
80
81
  /**
81
82
  * 根据上下文计算当前请求路径
82
83
  *
@@ -1 +1 @@
1
- {"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/method.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAqB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEnE;;;;;;;GAOG;AACH,8BAAsB,MAAM;IA2CxB,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,MAAM,EAAE,YAAY;IA3ChC,SAAS,CAAC,GAAG,EAAG,WAAW,CAAC;IAE5B;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAG,WAAW,CAAC;IAE9B;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAG,YAAY,CAAC;IAEhC;;;;;;;OAOG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IAElC;;;;;;;;OAQG;gBAES,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,YAAY;IAOhC;;;;;;;;;OASG;IACH,QAAQ,CAAC,IAAI,CACX,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,KAAK,EACd,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,YAAY,CAAC;IAExB;;;;;;;;;;;OAWG;cACa,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,OAAO,GAEf,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IA2C7B;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAM5C;;;;;;;OAOG;cACa,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IAOpD;;;;;;;;OAQG;IACH,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW;CAM/D"}
1
+ {"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/method.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAqB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEnE;;;;;;;GAOG;AACH,8BAAsB,MAAM;IA2CxB,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,MAAM,EAAE,YAAY;IA3ChC,SAAS,CAAC,GAAG,EAAG,WAAW,CAAC;IAE5B;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAG,WAAW,CAAC;IAE9B;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAG,YAAY,CAAC;IAEhC;;;;;;;OAOG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IAElC;;;;;;;;OAQG;gBAES,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,YAAY;IAOhC;;;;;;;;;OASG;IACH,QAAQ,CAAC,IAAI,CACX,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,KAAK,EACd,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,YAAY,CAAC;IAExB;;;;;;;;;;;OAWG;cACa,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,OAAO,GAEf,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IA8C7B,SAAS,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAIpE;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAM5C;;;;;;;OAOG;cACa,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IAOpD;;;;;;;;OAQG;IACH,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW;CAM/D"}
@@ -49,17 +49,17 @@ export class Method {
49
49
  let res = null;
50
50
  switch (requestMethod) {
51
51
  case 'POST':
52
- res = await this.app.net.post(`${path}/${methodName}`, notNilEmpty(data) ? data : params);
52
+ res = await this.app.net.post(this.mergeRequestPath(path, methodName), notNilEmpty(data) ? data : params);
53
53
  break;
54
54
  case 'GET':
55
- res = await this.app.net.get(`${path}/${methodName}`, data || params);
55
+ res = await this.app.net.get(this.mergeRequestPath(path, methodName), data || params);
56
56
  break;
57
57
  case 'PUT': {
58
- res = await this.app.net.put(`${path}/${methodName}`, notNilEmpty(data) ? data : params);
58
+ res = await this.app.net.put(this.mergeRequestPath(path, methodName), notNilEmpty(data) ? data : params);
59
59
  break;
60
60
  }
61
61
  case 'DELETE':
62
- res = await this.app.net.delete(`${path}/${methodName}`, data || params);
62
+ res = await this.app.net.delete(this.mergeRequestPath(path, methodName), data || params);
63
63
  break;
64
64
  default:
65
65
  if (requestMethod) {
@@ -73,6 +73,9 @@ export class Method {
73
73
  }
74
74
  throw new RuntimeModelError(this.method, `未支持的行为类型[${actionType}]`);
75
75
  }
76
+ mergeRequestPath(path, methodName) {
77
+ return `${path}/${methodName}`;
78
+ }
76
79
  /**
77
80
  * 根据上下文计算当前请求路径
78
81
  *
@@ -29,17 +29,7 @@ export declare class UILogicContext {
29
29
  /**
30
30
  * 视图参数
31
31
  */
32
- get viewParams(): IParams;
33
- /**
34
- * Creates an instance of DELogicContext.
35
- * @author lxm
36
- * @date 2023-03-24 09:15:14
37
- * @param {Map<string, DELogicParam>} deLogicParams 实体逻辑参数集合
38
- * @param {IParams} context 上下文
39
- * @param {IData} data 数据对象
40
- * @param {IParams} viewParams 视图参数
41
- * @param {IParams} [opt] 额外参数
42
- */
32
+ get viewParam(): IParams;
43
33
  /**
44
34
  * Creates an instance of UILogicContext.
45
35
  * @author lxm
@@ -1 +1 @@
1
- {"version":3,"file":"ui-logic-context.d.ts","sourceRoot":"","sources":["../../src/ui-logic/ui-logic-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D;;;;;;;GAOG;AACH,qBAAa,cAAc;IAgDvB,OAAO,CAAC,aAAa;IACd,UAAU,EAAE,cAAc;IAhDnC;;;;;OAKG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,IAAI,OAAO,IAAI,QAAQ,CAEtB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,KAAK,CAEhB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;;;;;;;OASG;IACH;;;;;;OAMG;gBAEO,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACzC,UAAU,EAAE,cAAc;IAGnC;;;;;;;OAOG;IAEH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IAEjC;;;;;;OAMG;IACH,MAAM,EAAE,OAAO,CAAQ;IAEvB;;;;;;OAMG;IACH,SAAS,EAAE,OAAO,CAAS;IAE3B;;;;;;;OAOG;IACH,gBAAgB,EAAE,MAAM,CAAa;IAErC;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B;;;;;OAKG;IACH,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAInC;;;;;OAKG;IACH,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQtC;;;;;;OAMG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAIxC"}
1
+ {"version":3,"file":"ui-logic-context.d.ts","sourceRoot":"","sources":["../../src/ui-logic/ui-logic-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D;;;;;;;GAOG;AACH,qBAAa,cAAc;IA4CvB,OAAO,CAAC,aAAa;IACd,UAAU,EAAE,cAAc;IA5CnC;;;;;OAKG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,IAAI,OAAO,IAAI,QAAQ,CAKtB;IAED;;OAEG;IACH,IAAI,IAAI,IAAI,KAAK,CAEhB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAKvB;IAED;;;;;;OAMG;gBAEO,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACzC,UAAU,EAAE,cAAc;IAGnC;;;;;;;OAOG;IAEH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;IAEjC;;;;;;OAMG;IACH,MAAM,EAAE,OAAO,CAAQ;IAEvB;;;;;;OAMG;IACH,SAAS,EAAE,OAAO,CAAS;IAE3B;;;;;;;OAOG;IACH,gBAAgB,EAAE,MAAM,CAAa;IAErC;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI9B;;;;;OAKG;IACH,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAInC;;;;;OAKG;IACH,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQtC;;;;;;OAMG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;CAIxC"}
@@ -11,6 +11,9 @@ export class UILogicContext {
11
11
  * 上下文
12
12
  */
13
13
  get context() {
14
+ if (Object.prototype.hasOwnProperty.call(this.params, 'context')) {
15
+ return this.params.context;
16
+ }
14
17
  return this.parameters.context;
15
18
  }
16
19
  /**
@@ -22,19 +25,12 @@ export class UILogicContext {
22
25
  /**
23
26
  * 视图参数
24
27
  */
25
- get viewParams() {
28
+ get viewParam() {
29
+ if (Object.prototype.hasOwnProperty.call(this.params, 'viewParam')) {
30
+ return this.params.viewParam;
31
+ }
26
32
  return this.parameters.params;
27
33
  }
28
- /**
29
- * Creates an instance of DELogicContext.
30
- * @author lxm
31
- * @date 2023-03-24 09:15:14
32
- * @param {Map<string, DELogicParam>} deLogicParams 实体逻辑参数集合
33
- * @param {IParams} context 上下文
34
- * @param {IData} data 数据对象
35
- * @param {IParams} viewParams 视图参数
36
- * @param {IParams} [opt] 额外参数
37
- */
38
34
  /**
39
35
  * Creates an instance of UILogicContext.
40
36
  * @author lxm
@@ -1 +1 @@
1
- {"version":3,"file":"ui-logic-link-single-cond.d.ts","sourceRoot":"","sources":["../../../../src/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAE3E;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;IAmCrC,KAAK,EAAE,sBAAsB;IAlChD;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;gBAEkB,KAAK,EAAE,sBAAsB;IAMhD;;;;;;;;;OASG;IACH,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO;CAgCnE"}
1
+ {"version":3,"file":"ui-logic-link-single-cond.d.ts","sourceRoot":"","sources":["../../../../src/ui-logic/ui-logic-link/ui-logic-link-single-cond/ui-logic-link-single-cond.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAE3E;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,SAAQ,eAAe;IAmCrC,KAAK,EAAE,sBAAsB;IAlChD;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,IAAI,IAAI,MAAM,GAAG,SAAS,CAE7B;IAED,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;gBAEkB,KAAK,EAAE,sBAAsB;IAMhD;;;;;;;;;OASG;IACH,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO;CAsCnE"}
@@ -1,5 +1,6 @@
1
1
  import { ModelError, RuntimeModelError } from '@ibiz-template/core';
2
2
  import { testCond } from '../../../utils';
3
+ import { handleSrcVal } from '../../utils';
3
4
  import { UILogicLinkCond } from '../ui-logic-link-cond/ui-logic-link-cond';
4
5
  /**
5
6
  * 界面逻辑连接条件项
@@ -40,7 +41,10 @@ export class UILogicLinkSingleCond extends UILogicLinkCond {
40
41
  * @return {*} {boolean}
41
42
  */
42
43
  test(ctx, context, data) {
43
- const dst = ctx.params[this.dstParam];
44
+ const dstVal = handleSrcVal(ctx, {
45
+ srcDEUILogicParamId: this.dstParam,
46
+ srcFieldName: this.dstField,
47
+ });
44
48
  switch (this.type) {
45
49
  case 'ENTITYFIELD': {
46
50
  if (!this.value) {
@@ -48,20 +52,23 @@ export class UILogicLinkSingleCond extends UILogicLinkCond {
48
52
  }
49
53
  // 数据对象属性
50
54
  const value = data[this.value] != null ? data[this.value] : context[this.value];
51
- return testCond(dst[this.dstField], this.op, value);
55
+ return testCond(dstVal, this.op, value);
52
56
  }
53
57
  case 'SRCENTITYFIELD': {
54
58
  if (!this.value) {
55
59
  throw new RuntimeModelError(this.model, '当前条件值类型为[源数据对象属性],缺少配置条件值');
56
60
  }
57
61
  // 源数据对象属性
58
- const src = ctx.params[this.srcParam];
59
- return testCond(dst[this.dstField], this.op, src[this.value]);
62
+ const srcVal = handleSrcVal(ctx, {
63
+ srcDEUILogicParamId: this.srcParam,
64
+ srcFieldName: this.value,
65
+ });
66
+ return testCond(dstVal, this.op, srcVal);
60
67
  }
61
68
  case 'CURTIME': // 当前时间
62
69
  throw new ModelError(this.model, `暂未支持条件值类型为[当前时间]`);
63
70
  default: // 直接使用目标对象参数属性和值做对比
64
- return testCond(dst[this.dstField], this.op, this.value);
71
+ return testCond(dstVal, this.op, this.value);
65
72
  }
66
73
  }
67
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"data-set-node.d.ts","sourceRoot":"","sources":["../../../../src/ui-logic/ui-logic-node/data-set-node/data-set-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,WAAW;IAClC,KAAK,EAAE,mBAAmB,CAAC;IAE7B,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAoB/C"}
1
+ {"version":3,"file":"data-set-node.d.ts","sourceRoot":"","sources":["../../../../src/ui-logic/ui-logic-node/data-set-node/data-set-node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;GAQG;AACH,qBAAa,WAAY,SAAQ,WAAW;IAClC,KAAK,EAAE,mBAAmB,CAAC;IAE7B,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAsB/C"}
@@ -1,3 +1,4 @@
1
+ import { RuntimeModelError } from '@ibiz-template/core';
1
2
  import { UILogicNode } from '../ui-logic-node';
2
3
  /**
3
4
  * 数据集合节点
@@ -11,9 +12,12 @@ import { UILogicNode } from '../ui-logic-node';
11
12
  export class DataSetNode extends UILogicNode {
12
13
  async exec(ctx) {
13
14
  const { dstAppDEDataSetId, dstAppDataEntityId, dstDEUILogicParamId, retDEUILogicParamId, } = this.model;
14
- const requestData = ctx.params[dstDEUILogicParamId];
15
+ if (!dstDEUILogicParamId) {
16
+ throw new RuntimeModelError(this.model, '缺少配置过滤参数');
17
+ }
18
+ const queryParams = ctx.params[dstDEUILogicParamId];
15
19
  const app = ibiz.hub.getApp(ctx.context.srfappid);
16
- const res = await app.deService.exec(dstAppDataEntityId, dstAppDEDataSetId, ctx.context, requestData, ctx.viewParams);
20
+ const res = await app.deService.exec(dstAppDataEntityId, dstAppDEDataSetId, ctx.context, queryParams);
17
21
  if (res.ok) {
18
22
  ctx.params[retDEUILogicParamId] = res.data;
19
23
  }
@@ -20,7 +20,7 @@ export class DEActionNode extends UILogicNode {
20
20
  }
21
21
  const requestData = ctx.params[dstDEUILogicParamId];
22
22
  const app = ibiz.hub.getApp(ctx.context.srfappid);
23
- const res = await app.deService.exec(dstAppDataEntityId, dstAppDEActionId, ctx.context, requestData, ctx.viewParams);
23
+ const res = await app.deService.exec(dstAppDataEntityId, dstAppDEActionId, ctx.context, requestData, ctx.viewParam);
24
24
  if (res.ok) {
25
25
  ctx.params[retDEUILogicParamId] = res.data;
26
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"de-ui-action-node.d.ts","sourceRoot":"","sources":["../../../../src/ui-logic/ui-logic-node/de-ui-action-node/de-ui-action-node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,WAAW;IACrC,KAAK,EAAE,gBAAgB,CAAC;IAE1B,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAqB/C"}
1
+ {"version":3,"file":"de-ui-action-node.d.ts","sourceRoot":"","sources":["../../../../src/ui-logic/ui-logic-node/de-ui-action-node/de-ui-action-node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,WAAW;IACrC,KAAK,EAAE,gBAAgB,CAAC;IAE1B,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAuB/C"}
@@ -27,6 +27,6 @@ export class DEUIActionNode extends UILogicNode {
27
27
  actionData = [param];
28
28
  }
29
29
  }
30
- await UIActionUtil.execAndResolved(dstAppDEUIActionId, Object.assign(Object.assign({}, parameters), { data: actionData }));
30
+ await UIActionUtil.execAndResolved(dstAppDEUIActionId, Object.assign(Object.assign({}, parameters), { context: ctx.context, params: ctx.viewParam, data: actionData }));
31
31
  }
32
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"execute-de-logic-node.d.ts","sourceRoot":"","sources":["../../../../src/ui-logic/ui-logic-node/execute-de-logic-node/execute-de-logic-node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;GAQG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;IACzC,KAAK,EAAE,iBAAiB,CAAC;IAE3B,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAsC/C"}
1
+ {"version":3,"file":"execute-de-logic-node.d.ts","sourceRoot":"","sources":["../../../../src/ui-logic/ui-logic-node/execute-de-logic-node/execute-de-logic-node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C;;;;;;;;GAQG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;IACzC,KAAK,EAAE,iBAAiB,CAAC;IAE3B,IAAI,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAqC/C"}
@@ -27,8 +27,7 @@ export class ExecuteDELogicNode extends UILogicNode {
27
27
  if (!dstParam) {
28
28
  throw new RuntimeError(`没有找到传入参数${dstDEUILogicParamId}`);
29
29
  }
30
- // todo 需要传入参数格式约束
31
- const result = await execDELogicById(dstAppDELogicId, dstAppDataEntityId, dstParam.context, dstParam.data, dstParam.params);
30
+ const result = await execDELogicById(dstAppDELogicId, dstAppDataEntityId, ctx.context, dstParam, ctx.params);
32
31
  // 如果有返回值参数返回值填入。
33
32
  if (retDEUILogicParamId) {
34
33
  ctx.params[retDEUILogicParamId] = result;
@@ -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;IAqE/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;IAsE/B;;;;;OAKG;IACH,KAAK,CAAC,GAAG,EAAE,cAAc,GAAG,IAAI;CAWjC"}
@@ -28,7 +28,8 @@ export class UILogicParam {
28
28
  calc(ctx) {
29
29
  const tag = this.model.id;
30
30
  const m = this.model;
31
- const { context, viewParams, data, parameters } = ctx;
31
+ const { parameters } = ctx;
32
+ const { context, params, data } = parameters;
32
33
  const app = ibiz.hub.getApp(context.srfappid);
33
34
  // 特殊变量的特殊处理
34
35
  if (m.codeName === 'layoutPanel') {
@@ -103,7 +104,7 @@ export class UILogicParam {
103
104
  }
104
105
  else if (m.viewNavDataParam) {
105
106
  // 视图导航数据
106
- ctx.params[tag] = viewParams;
107
+ ctx.params[tag] = params;
107
108
  }
108
109
  else if (m.viewSessionParam) {
109
110
  throw new ModelError(m, `未支持的逻辑参数类型: 当前视图会话`);
@@ -1 +1 @@
1
- {"version":3,"file":"handle-src-val.d.ts","sourceRoot":"","sources":["../../../src/ui-logic/utils/handle-src-val.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,KAAK,YAAY,GAAG;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,cAAc,EACnB,YAAY,EAAE,YAAY,GACzB,OAAO,CA6DT"}
1
+ {"version":3,"file":"handle-src-val.d.ts","sourceRoot":"","sources":["../../../src/ui-logic/utils/handle-src-val.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,KAAK,YAAY,GAAG;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,cAAc,EACnB,YAAY,EAAE,YAAY,GACzB,OAAO,CAyDT"}
@@ -15,16 +15,12 @@ export function handleSrcVal(ctx, srcValParams) {
15
15
  // 没有源值类型就是逻辑参数
16
16
  const srcValueType = srcValParams.srcValueType || 'SRCDLPARAM';
17
17
  // 取属性值
18
- let srcField = srcFieldName;
18
+ const srcField = srcFieldName;
19
19
  let value;
20
20
  switch (srcValueType) {
21
21
  // 源逻辑参数
22
22
  case 'SRCDLPARAM':
23
23
  value = ctx.params[srcDEUILogicParamId];
24
- // 如果是实体参数对象则转换成小写。
25
- if (ctx.isEntityParam(srcDEUILogicParamId)) {
26
- srcField = srcField === null || srcField === void 0 ? void 0 : srcField.toLowerCase();
27
- }
28
24
  break;
29
25
  // 空值类型
30
26
  case 'NULLVALUE':
@@ -37,13 +33,13 @@ export function handleSrcVal(ctx, srcValParams) {
37
33
  return ibiz.util.rawValue.format(srcValue);
38
34
  case 'WEBCONTEXT': // 网页请求上下文
39
35
  case 'VIEWPARAM': // 视图参数
40
- value = ctx.viewParams;
36
+ value = ctx.parameters.params;
41
37
  break;
42
38
  case 'APPLICATION': // 系统全局对象
43
39
  case 'SESSION': // 用户全局对象
44
40
  case 'APPDATA': // 应用上下文
45
41
  case 'DATACONTEXT': // 数据上下文
46
- value = ctx.context;
42
+ value = ctx.parameters.context;
47
43
  break;
48
44
  // 当前环境参数
49
45
  case 'ENVPARAM':
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/runtime",
3
- "version": "0.1.33",
3
+ "version": "0.1.35",
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.33",
32
+ "@ibiz-template/core": "^0.1.34",
33
33
  "@ibiz/model-core": "^0.0.19",
34
34
  "@types/path-browserify": "^1.0.0",
35
35
  "@types/qs": "^6.9.8",
@@ -57,5 +57,5 @@
57
57
  "qx-util": "^0.4.8",
58
58
  "ramda": "^0.29.0"
59
59
  },
60
- "gitHead": "769acca4bc7229f5d27f57e803a9f1d3ea7172ac"
60
+ "gitHead": "b2dfac469067544cc9a5e527cc7c4f581d603bc9"
61
61
  }
@@ -147,6 +147,13 @@ export class ControlController<
147
147
  this.initControlScheduler(this.model.controlLogics);
148
148
  }
149
149
 
150
+ protected async onMounted(): Promise<void> {
151
+ await super.onMounted();
152
+
153
+ // 启动定时器触发
154
+ this.scheduler?.startTimerTrigger();
155
+ }
156
+
150
157
  protected async onDestroyed(): Promise<void> {
151
158
  await super.onDestroyed();
152
159
  if (this.scheduler) {
@@ -213,7 +220,21 @@ export class ControlController<
213
220
  } {
214
221
  const context = this.context.clone();
215
222
  const params = { ...this.params };
216
- const data = args?.data || this.getData() || [];
223
+
224
+ let data = this.getData() || [];
225
+ if (args?.data) {
226
+ data = Array.isArray(args.data) ? args.data : [args.data];
227
+ }
228
+
229
+ // 合并附加上下文
230
+ if (args?.context) {
231
+ Object.assign(context, args.context);
232
+ }
233
+
234
+ // 合并附加视图参数
235
+ if (args?.viewParam) {
236
+ Object.assign(params, args.viewParam);
237
+ }
217
238
  return { context, params, data };
218
239
  }
219
240
 
@@ -243,6 +264,9 @@ export class ControlController<
243
264
  * @memberof ControlController
244
265
  */
245
266
  protected handleControlParams(): void {
267
+ if (!this.model.controlParam) {
268
+ return;
269
+ }
246
270
  const { ctrlParams } = this.model.controlParam!;
247
271
  let params = {};
248
272
  if (notNilEmpty(ctrlParams)) {
@@ -198,7 +198,7 @@ export class MDControlController<
198
198
 
199
199
  // *查询参数处理
200
200
  const { context } = this.handlerAbilityParams(args);
201
- const params = await this.getFetchParams(args?.params);
201
+ const params = await this.getFetchParams(args?.viewParam);
202
202
 
203
203
  const res = await this.service.fetch(context, params);
204
204
  // 更新分页数据总条数
@@ -164,8 +164,7 @@ export class EditorController<T extends IEditor = IEditor>
164
164
  if (navigateParams && data) {
165
165
  selfParams = convertNavData(navigateParams!, data, params, context);
166
166
  }
167
- const _params: IParams = { ...params, ...selfParams };
168
- return { context: _context, params: _params };
167
+ return { context: _context, params: selfParams };
169
168
  }
170
169
 
171
170
  /**