@ibiz-template/runtime 0.1.6 → 0.1.8

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 (179) hide show
  1. package/dist/index.esm.js +401 -161
  2. package/dist/index.system.min.js +1 -1
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/command/app/open-app-view/open-app-view.d.ts +3 -3
  5. package/out/command/app/open-app-view/open-app-view.d.ts.map +1 -1
  6. package/out/command/app/open-app-view/open-app-view.js +4 -1
  7. package/out/constant/sys-uiaction-tag.d.ts +8 -0
  8. package/out/constant/sys-uiaction-tag.d.ts.map +1 -1
  9. package/out/constant/sys-uiaction-tag.js +8 -0
  10. package/out/controller/common/base.controller.js +1 -1
  11. package/out/controller/common/control/md-control.controller.d.ts +3 -1
  12. package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
  13. package/out/controller/common/control/md-control.controller.js +31 -13
  14. package/out/controller/common/view/view.controller.d.ts.map +1 -1
  15. package/out/controller/common/view/view.controller.js +13 -3
  16. package/out/controller/ctx/ctx.d.ts.map +1 -1
  17. package/out/controller/ctx/ctx.js +1 -1
  18. package/out/engine/md-view.engine.d.ts.map +1 -1
  19. package/out/engine/md-view.engine.js +10 -4
  20. package/out/install.js +2 -2
  21. package/out/interface/common/i-open-view-options/i-open-view-options.d.ts +38 -0
  22. package/out/interface/common/i-open-view-options/i-open-view-options.d.ts.map +1 -0
  23. package/out/interface/common/i-open-view-options/i-open-view-options.js +1 -0
  24. package/out/interface/common/index.d.ts +1 -0
  25. package/out/interface/common/index.d.ts.map +1 -1
  26. package/out/interface/controller/common/i-icon/i-icon.d.ts +7 -0
  27. package/out/interface/controller/common/i-icon/i-icon.d.ts.map +1 -1
  28. package/out/interface/controller/controller/control/i-grid.controller.d.ts +11 -4
  29. package/out/interface/controller/controller/control/i-grid.controller.d.ts.map +1 -1
  30. package/out/interface/controller/controller/control/i-md-control.controller.d.ts +7 -0
  31. package/out/interface/controller/controller/control/i-md-control.controller.d.ts.map +1 -1
  32. package/out/interface/controller/controller/control/i-tree.controller.d.ts +7 -0
  33. package/out/interface/controller/controller/control/i-tree.controller.d.ts.map +1 -1
  34. package/out/interface/controller/event/argument/index.d.ts +1 -0
  35. package/out/interface/controller/event/argument/index.d.ts.map +1 -1
  36. package/out/interface/controller/event/argument/row-edit-change.event.d.ts +20 -0
  37. package/out/interface/controller/event/argument/row-edit-change.event.d.ts.map +1 -0
  38. package/out/interface/controller/event/argument/row-edit-change.event.js +1 -0
  39. package/out/interface/controller/event/control/i-grid.event.d.ts +13 -1
  40. package/out/interface/controller/event/control/i-grid.event.d.ts.map +1 -1
  41. package/out/interface/controller/event/control/i-tree.event.d.ts +19 -0
  42. package/out/interface/controller/event/control/i-tree.event.d.ts.map +1 -1
  43. package/out/interface/controller/state/control/i-grid.state.d.ts +8 -0
  44. package/out/interface/controller/state/control/i-grid.state.d.ts.map +1 -1
  45. package/out/interface/controller/state/control/i-tree.state.d.ts +16 -1
  46. package/out/interface/controller/state/control/i-tree.state.d.ts.map +1 -1
  47. package/out/interface/controller/work-flow/wf-link.d.ts +9 -0
  48. package/out/interface/controller/work-flow/wf-link.d.ts.map +1 -1
  49. package/out/interface/logic-scheduler/i-scheduler-logic.d.ts +5 -3
  50. package/out/interface/logic-scheduler/i-scheduler-logic.d.ts.map +1 -1
  51. package/out/interface/logic-scheduler/i-trigger-match-params.d.ts +5 -0
  52. package/out/interface/logic-scheduler/i-trigger-match-params.d.ts.map +1 -1
  53. package/out/interface/service/service/i-auth.service.d.ts +29 -0
  54. package/out/interface/service/service/i-auth.service.d.ts.map +1 -0
  55. package/out/interface/service/service/i-auth.service.js +1 -0
  56. package/out/interface/service/service/index.d.ts +5 -4
  57. package/out/interface/service/service/index.d.ts.map +1 -1
  58. package/out/interface/service/service/index.js +1 -4
  59. package/out/interface/util/i-confirm-util/i-confirm-util.d.ts +82 -0
  60. package/out/interface/util/i-confirm-util/i-confirm-util.d.ts.map +1 -0
  61. package/out/interface/util/i-confirm-util/i-confirm-util.js +1 -0
  62. package/out/interface/util/i-modal-util/i-modal-util.d.ts +8 -0
  63. package/out/interface/util/i-modal-util/i-modal-util.d.ts.map +1 -1
  64. package/out/interface/util/i-open-view-util/i-open-view-util.d.ts +9 -0
  65. package/out/interface/util/i-open-view-util/i-open-view-util.d.ts.map +1 -1
  66. package/out/interface/util/index.d.ts +1 -0
  67. package/out/interface/util/index.d.ts.map +1 -1
  68. package/out/logic-scheduler/index.d.ts.map +1 -1
  69. package/out/logic-scheduler/index.js +2 -0
  70. package/out/logic-scheduler/scheduler/logic-scheduler.d.ts +24 -1
  71. package/out/logic-scheduler/scheduler/logic-scheduler.d.ts.map +1 -1
  72. package/out/logic-scheduler/scheduler/logic-scheduler.js +39 -0
  73. package/out/logic-scheduler/trigger/control-event-trigger.d.ts +27 -0
  74. package/out/logic-scheduler/trigger/control-event-trigger.d.ts.map +1 -0
  75. package/out/logic-scheduler/trigger/control-event-trigger.js +33 -0
  76. package/out/logic-scheduler/trigger/view-event-trigger.d.ts +8 -0
  77. package/out/logic-scheduler/trigger/view-event-trigger.d.ts.map +1 -1
  78. package/out/logic-scheduler/trigger/view-event-trigger.js +8 -0
  79. package/out/register/helper/editor-register.d.ts.map +1 -1
  80. package/out/register/helper/editor-register.js +12 -1
  81. package/out/service/dto/method.dto.d.ts.map +1 -1
  82. package/out/service/dto/method.dto.js +9 -15
  83. package/out/service/service/auth/v7-auth.service.d.ts +14 -0
  84. package/out/service/service/auth/v7-auth.service.d.ts.map +1 -0
  85. package/out/service/service/auth/v7-auth.service.js +47 -0
  86. package/out/service/service/code-list/code-list.service.d.ts.map +1 -1
  87. package/out/service/service/code-list/code-list.service.js +5 -1
  88. package/out/service/service/index.d.ts +1 -1
  89. package/out/service/service/index.d.ts.map +1 -1
  90. package/out/service/service/index.js +1 -1
  91. package/out/service/vo/control.vo.d.ts +8 -0
  92. package/out/service/vo/control.vo.d.ts.map +1 -1
  93. package/out/service/vo/control.vo.js +16 -1
  94. package/out/service/vo/tree-node-data/tree-code-list-node-data.d.ts.map +1 -1
  95. package/out/service/vo/tree-node-data/tree-code-list-node-data.js +1 -0
  96. package/out/service/vo/tree-node-data/tree-data-set-node-data.d.ts +21 -2
  97. package/out/service/vo/tree-node-data/tree-data-set-node-data.d.ts.map +1 -1
  98. package/out/service/vo/tree-node-data/tree-data-set-node-data.js +48 -0
  99. package/out/service/vo/tree-node-data/tree-node-data.d.ts +12 -1
  100. package/out/service/vo/tree-node-data/tree-node-data.d.ts.map +1 -1
  101. package/out/service/vo/tree-node-data/tree-node-data.js +21 -2
  102. package/out/service/vo/tree-node-data/tree-static-node-data.d.ts.map +1 -1
  103. package/out/service/vo/tree-node-data/tree-static-node-data.js +1 -0
  104. package/out/types.d.ts +21 -4
  105. package/out/types.d.ts.map +1 -1
  106. package/out/ui-logic/ui-logic-node/bind-param-node/bind-param-node.d.ts +17 -0
  107. package/out/ui-logic/ui-logic-node/bind-param-node/bind-param-node.d.ts.map +1 -0
  108. package/out/ui-logic/ui-logic-node/bind-param-node/bind-param-node.js +22 -0
  109. package/out/ui-logic/ui-logic-node/index.d.ts +1 -0
  110. package/out/ui-logic/ui-logic-node/index.d.ts.map +1 -1
  111. package/out/ui-logic/ui-logic-node/index.js +1 -0
  112. package/out/ui-logic/ui-logic-param/ui-logic-param.d.ts.map +1 -1
  113. package/out/ui-logic/ui-logic-param/ui-logic-param.js +2 -2
  114. package/out/ui-logic/ui-logic.d.ts.map +1 -1
  115. package/out/ui-logic/ui-logic.js +5 -3
  116. package/out/ui-logic/utils/handle-src-val.d.ts.map +1 -1
  117. package/out/ui-logic/utils/handle-src-val.js +2 -4
  118. package/out/utils/open-redirect-view/open-redirect-view.d.ts +4 -4
  119. package/out/utils/open-redirect-view/open-redirect-view.d.ts.map +1 -1
  120. package/out/utils/open-redirect-view/open-redirect-view.js +27 -26
  121. package/out/utils/script/script-function.d.ts.map +1 -1
  122. package/out/utils/script/script-function.js +4 -1
  123. package/package.json +3 -3
  124. package/src/command/app/open-app-view/open-app-view.ts +8 -5
  125. package/src/constant/sys-uiaction-tag.ts +8 -0
  126. package/src/controller/common/base.controller.ts +1 -1
  127. package/src/controller/common/control/md-control.controller.ts +37 -14
  128. package/src/controller/common/view/view.controller.ts +16 -3
  129. package/src/controller/ctx/ctx.ts +1 -1
  130. package/src/engine/md-view.engine.ts +13 -4
  131. package/src/install.ts +2 -2
  132. package/src/interface/common/i-open-view-options/i-open-view-options.ts +40 -0
  133. package/src/interface/common/index.ts +1 -0
  134. package/src/interface/controller/common/i-icon/i-icon.ts +8 -0
  135. package/src/interface/controller/controller/control/i-grid.controller.ts +12 -4
  136. package/src/interface/controller/controller/control/i-md-control.controller.ts +9 -1
  137. package/src/interface/controller/controller/control/i-tree.controller.ts +8 -0
  138. package/src/interface/controller/event/argument/index.ts +1 -0
  139. package/src/interface/controller/event/argument/row-edit-change.event.ts +20 -0
  140. package/src/interface/controller/event/control/i-grid.event.ts +14 -1
  141. package/src/interface/controller/event/control/i-tree.event.ts +14 -0
  142. package/src/interface/controller/state/control/i-grid.state.ts +9 -0
  143. package/src/interface/controller/state/control/i-tree.state.ts +19 -1
  144. package/src/interface/controller/work-flow/wf-link.ts +10 -0
  145. package/src/interface/logic-scheduler/i-scheduler-logic.ts +6 -3
  146. package/src/interface/logic-scheduler/i-trigger-match-params.ts +6 -0
  147. package/src/interface/service/service/i-auth.service.ts +29 -0
  148. package/src/interface/service/service/index.ts +5 -4
  149. package/src/interface/util/i-confirm-util/i-confirm-util.ts +82 -0
  150. package/src/interface/util/i-modal-util/i-modal-util.ts +8 -0
  151. package/src/interface/util/i-open-view-util/i-open-view-util.ts +10 -0
  152. package/src/interface/util/index.ts +1 -0
  153. package/src/logic-scheduler/index.ts +5 -0
  154. package/src/logic-scheduler/scheduler/logic-scheduler.ts +43 -0
  155. package/src/logic-scheduler/trigger/control-event-trigger.ts +45 -0
  156. package/src/logic-scheduler/trigger/view-event-trigger.ts +8 -0
  157. package/src/register/helper/editor-register.ts +17 -1
  158. package/src/service/dto/method.dto.ts +9 -13
  159. package/src/service/service/auth/v7-auth.service.ts +49 -0
  160. package/src/service/service/code-list/code-list.service.ts +8 -1
  161. package/src/service/service/index.ts +1 -1
  162. package/src/service/vo/control.vo.ts +17 -1
  163. package/src/service/vo/tree-node-data/tree-code-list-node-data.ts +2 -0
  164. package/src/service/vo/tree-node-data/tree-data-set-node-data.ts +60 -2
  165. package/src/service/vo/tree-node-data/tree-node-data.ts +27 -3
  166. package/src/service/vo/tree-node-data/tree-static-node-data.ts +2 -0
  167. package/src/types.ts +24 -3
  168. package/src/ui-action/provider/front-ui-action-provider.ts +1 -1
  169. package/src/ui-logic/ui-logic-node/bind-param-node/bind-param-node.ts +30 -0
  170. package/src/ui-logic/ui-logic-node/index.ts +1 -0
  171. package/src/ui-logic/ui-logic-param/ui-logic-param.ts +5 -2
  172. package/src/ui-logic/ui-logic.ts +5 -2
  173. package/src/ui-logic/utils/handle-src-val.ts +3 -6
  174. package/src/utils/open-redirect-view/open-redirect-view.ts +30 -27
  175. package/src/utils/script/script-function.ts +4 -1
  176. package/out/service/service/auth/auth.service.d.ts +0 -30
  177. package/out/service/service/auth/auth.service.d.ts.map +0 -1
  178. package/out/service/service/auth/auth.service.js +0 -37
  179. package/src/service/service/auth/auth.service.ts +0 -44
@@ -21,4 +21,18 @@ export interface ITreeEvent extends IMDControlEvent {
21
21
  event: EventBase & { nodeData: ITreeNodeData };
22
22
  emitArgs: { data: IData[]; nodeData: ITreeNodeData };
23
23
  };
24
+
25
+ /**
26
+ * 父节点刷新结束之后事件
27
+ * @author lxm
28
+ * @date 2023-08-18 02:18:24
29
+ * @type {({
30
+ * event: EventBase & { children: ITreeNodeData[] };
31
+ * emitArgs: { children: ITreeNodeData[] };
32
+ * })}
33
+ */
34
+ onAfterRefreshParent: {
35
+ event: EventBase & { parentNode: ITreeNodeData; children: ITreeNodeData[] };
36
+ emitArgs: { parentNode: ITreeNodeData; children: ITreeNodeData[] };
37
+ };
24
38
  }
@@ -36,6 +36,14 @@ export interface IGridState extends IMDControlState {
36
36
  * @type {IData}
37
37
  */
38
38
  remoteAggResult?: IData;
39
+
40
+ /**
41
+ * 开启表格行编辑
42
+ * @author lxm
43
+ * @date 2023-08-17 02:38:18
44
+ * @type {boolean}
45
+ */
46
+ rowEditOpen: boolean;
39
47
  }
40
48
 
41
49
  export interface IGridRowState {
@@ -75,6 +83,7 @@ export interface IGridRowState {
75
83
  editColStates: {
76
84
  [p: string]: {
77
85
  disabled: boolean;
86
+ readonly: boolean;
78
87
  editable: boolean;
79
88
  required: boolean;
80
89
  };
@@ -1,4 +1,4 @@
1
- import { IButtonContainerState } from '../../common';
1
+ import { IButtonContainerState, IIcon } from '../../common';
2
2
  import { IMDControlState } from './i-md-control.state';
3
3
 
4
4
  /**
@@ -10,6 +10,8 @@ import { IMDControlState } from './i-md-control.state';
10
10
  * @extends {IMDControlState}
11
11
  */
12
12
  export interface ITreeState extends IMDControlState {
13
+ items: ITreeNodeData[];
14
+
13
15
  /**
14
16
  * 树的根节点
15
17
  *
@@ -152,5 +154,21 @@ export interface ITreeNodeData {
152
154
  */
153
155
  srfmajortext?: string;
154
156
 
157
+ /**
158
+ * 图标
159
+ * @author lxm
160
+ * @date 2023-08-15 02:02:49
161
+ * @type {IIcon}
162
+ */
163
+ icon?: IIcon;
164
+
165
+ /**
166
+ * 节点文本的html显示
167
+ * @author lxm
168
+ * @date 2023-08-15 02:15:09
169
+ * @type {string}
170
+ */
171
+ textHtml?: string;
172
+
155
173
  // todo 其他界面绘制相关属性
156
174
  }
@@ -64,4 +64,14 @@ export interface WFLink {
64
64
  * @type {string}
65
65
  */
66
66
  type?: 'reassign' | 'addstepbefore' | 'sendback' | 'sendcopy' | string;
67
+
68
+ /**
69
+ * link按钮标识
70
+ *
71
+ * @author zk
72
+ * @date 2023-08-17 12:08:32
73
+ * @type {string}
74
+ * @memberof WFLink
75
+ */
76
+ id: string;
67
77
  }
@@ -88,21 +88,24 @@ export interface ISchedulerLogic {
88
88
  /**
89
89
  * 事件名称
90
90
  * @type {string}
91
- * 来源 getEventNames
92
91
  */
93
92
  eventNames?: string;
94
93
 
95
94
  /**
96
95
  * 事件参数
97
96
  * @type {string}
98
- * 来源 getEventArg
99
97
  */
100
98
  eventArg?: string;
101
99
 
102
100
  /**
103
101
  * 事件参数2
104
102
  * @type {string}
105
- * 来源 getEventArg2
106
103
  */
107
104
  eventArg2?: string;
105
+
106
+ /**
107
+ * 部件名称
108
+ * @type {string}
109
+ */
110
+ ctrlName?: string;
108
111
  }
@@ -22,4 +22,10 @@ export interface ITriggerMatchParams {
22
22
  * 来源 getEventNames
23
23
  */
24
24
  eventName?: string;
25
+
26
+ /**
27
+ * 部件名称
28
+ * @type {string}
29
+ */
30
+ ctrlName?: string;
25
31
  }
@@ -0,0 +1,29 @@
1
+ /**
2
+ * 认证服务
3
+ *
4
+ * @author chitanda
5
+ * @date 2023-08-17 16:08:08
6
+ * @export
7
+ * @interface IAuthService
8
+ */
9
+ export interface IAuthService {
10
+ /**
11
+ * 登录
12
+ *
13
+ * @author chitanda
14
+ * @date 2023-08-17 16:08:23
15
+ * @param {string} loginName
16
+ * @param {string} password
17
+ * @return {*} {Promise<boolean>}
18
+ */
19
+ login(loginName: string, password: string): Promise<boolean>;
20
+
21
+ /**
22
+ * 登出
23
+ *
24
+ * @author chitanda
25
+ * @date 2023-08-17 16:08:33
26
+ * @return {*} {Promise<boolean>}
27
+ */
28
+ logout(): Promise<boolean>;
29
+ }
@@ -1,4 +1,5 @@
1
- export * from './i-app-de-authority.service';
2
- export * from './i-app-de.service';
3
- export * from './i-file.service';
4
- export * from './i-wf.service';
1
+ export type { IAppDeAuthorityService } from './i-app-de-authority.service';
2
+ export type { IAppDEService } from './i-app-de.service';
3
+ export type { IAuthService } from './i-auth.service';
4
+ export type { IFileService } from './i-file.service';
5
+ export type { IWorkFlowService } from './i-wf.service';
@@ -0,0 +1,82 @@
1
+ /**
2
+ * 确认框参数
3
+ *
4
+ * @author chitanda
5
+ * @date 2022-08-17 16:08:42
6
+ * @export
7
+ * @interface ConfirmParams
8
+ */
9
+ export interface ConfirmParams {
10
+ /**
11
+ * 标题
12
+ *
13
+ * @author chitanda
14
+ * @date 2022-08-17 16:08:04
15
+ * @type {string}
16
+ */
17
+ title: string;
18
+ /**
19
+ * 描述
20
+ *
21
+ * @author chitanda
22
+ * @date 2022-08-17 16:08:08
23
+ * @type {string}
24
+ */
25
+ desc?: string;
26
+ /**
27
+ * 传递给组件的参数
28
+ *
29
+ * @author chitanda
30
+ * @date 2023-08-14 15:08:07
31
+ * @type {IParams}
32
+ */
33
+ options?: IParams;
34
+ }
35
+
36
+ /**
37
+ * 确认框
38
+ *
39
+ * @description 需要用户确认收到提示消息时使用此工具
40
+ * @author chitanda
41
+ * @date 2022-08-17 16:08:25
42
+ * @export
43
+ * @interface IConfirmUtil
44
+ */
45
+ export interface IConfirmUtil {
46
+ /**
47
+ * 普通信息
48
+ *
49
+ * @author chitanda
50
+ * @date 2022-08-17 16:08:36
51
+ * @param {ConfirmParams} params
52
+ * @return {*} {Promise<boolean>}
53
+ */
54
+ info(params: ConfirmParams): Promise<boolean>;
55
+ /**
56
+ * 成功信息
57
+ *
58
+ * @author chitanda
59
+ * @date 2022-08-17 16:08:47
60
+ * @param {ConfirmParams} params
61
+ * @return {*} {Promise<boolean>}
62
+ */
63
+ success(params: ConfirmParams): Promise<boolean>;
64
+ /**
65
+ * 警告信息
66
+ *
67
+ * @author chitanda
68
+ * @date 2022-08-17 16:08:53
69
+ * @param {ConfirmParams} params
70
+ * @return {*} {Promise<boolean>}
71
+ */
72
+ warning(params: ConfirmParams): Promise<boolean>;
73
+ /**
74
+ * 错误信息
75
+ *
76
+ * @author chitanda
77
+ * @date 2022-08-17 16:08:59
78
+ * @param {ConfirmParams} params
79
+ * @return {*} {Promise<boolean>}
80
+ */
81
+ error(params: ConfirmParams): Promise<boolean>;
82
+ }
@@ -23,6 +23,14 @@ export interface ModalParams {
23
23
  * @type {string}
24
24
  */
25
25
  desc?: string;
26
+ /**
27
+ * 传递给时机组件的参数
28
+ *
29
+ * @author chitanda
30
+ * @date 2023-08-14 15:08:07
31
+ * @type {IParams}
32
+ */
33
+ options?: IParams;
26
34
  }
27
35
 
28
36
  /**
@@ -10,6 +10,16 @@ import { IModalData, IViewConfig } from '../../common';
10
10
  * @interface IOpenViewUtil
11
11
  */
12
12
  export interface IOpenViewUtil {
13
+ /**
14
+ * 直接路径打开视图
15
+ *
16
+ * @author chitanda
17
+ * @date 2023-08-18 11:08:33
18
+ * @param {string} path
19
+ * @return {*} {Promise<IModalData>}
20
+ */
21
+ push(path: string): Promise<IModalData>;
22
+
13
23
  /**
14
24
  * 打开顶级视图(一般为路由打开)
15
25
  *
@@ -1,6 +1,7 @@
1
1
  export { ILoadingUtil } from './i-loading-util/i-loading-util';
2
2
  export { IMessageUtil } from './i-message-util/i-message-util';
3
3
  export { IModalUtil, ModalParams } from './i-modal-util/i-modal-util';
4
+ export { IConfirmUtil, ConfirmParams } from './i-confirm-util/i-confirm-util';
4
5
  export {
5
6
  INotificationUtil,
6
7
  NotificationParams,
@@ -12,6 +12,7 @@ import { LogicTriggerFactory } from './trigger/logic-trigger-factory';
12
12
  import { TimerTrigger } from './trigger/timer-trigger';
13
13
  import { AppUILogicExecutor } from './executor/app-ui-logic-executor';
14
14
  import { ViewEventTrigger } from './trigger/view-event-trigger';
15
+ import { ControlEventTrigger } from './trigger/control-event-trigger';
15
16
 
16
17
  export {
17
18
  LogicSchedulerCenter,
@@ -54,6 +55,10 @@ export function installLogicSchedule(): void {
54
55
  'VIEWEVENT',
55
56
  (logic, scheduler) => new ViewEventTrigger(logic, scheduler),
56
57
  );
58
+ ibiz.scheduler.triggerFactory.register(
59
+ 'CTRLEVENT',
60
+ (logic, scheduler) => new ControlEventTrigger(logic, scheduler),
61
+ );
57
62
 
58
63
  // 执行器
59
64
  ibiz.scheduler.executorFactory.register(
@@ -3,6 +3,7 @@ import type {
3
3
  IUILogicParams,
4
4
  ISchedulerLogic,
5
5
  ITriggerMatchParams,
6
+ EventBase,
6
7
  } from '../../interface';
7
8
  import { LogicExecutor } from '../executor/logic-executor';
8
9
  import { LogicTrigger } from '../trigger/logic-trigger';
@@ -22,6 +23,22 @@ export class LogicScheduler {
22
23
 
23
24
  executors = new Map<string, LogicExecutor>();
24
25
 
26
+ /**
27
+ * 是否有视图事件触发类型逻辑
28
+ * @author lxm
29
+ * @date 2023-08-14 02:19:51
30
+ * @type {boolean}
31
+ */
32
+ hasViewEventTrigger: boolean = false;
33
+
34
+ /**
35
+ * 是否有部件事件触发类型逻辑
36
+ * @author lxm
37
+ * @date 2023-08-14 02:19:51
38
+ * @type {boolean}
39
+ */
40
+ hasControlEventTrigger: boolean = false;
41
+
25
42
  constructor(logics: ISchedulerLogic[]) {
26
43
  this.logics = logics;
27
44
  logics.forEach(logic => {
@@ -78,6 +95,15 @@ export class LogicScheduler {
78
95
  * @return {*} {LogicTrigger}
79
96
  */
80
97
  protected createTrigger(logic: ISchedulerLogic): LogicTrigger {
98
+ switch (logic.triggerType) {
99
+ case 'VIEWEVENT':
100
+ this.hasViewEventTrigger = true;
101
+ break;
102
+ case 'CTRLEVENT':
103
+ this.hasControlEventTrigger = true;
104
+ break;
105
+ default:
106
+ }
81
107
  return ibiz.scheduler.triggerFactory.createTrigger(logic, this);
82
108
  }
83
109
 
@@ -228,4 +254,21 @@ export class LogicScheduler {
228
254
  const params = this.getExecuteParams(executeParams);
229
255
  return trigger.execute(params);
230
256
  }
257
+
258
+ /**
259
+ * 触发部件事件
260
+ * @author lxm
261
+ * @date 2023-06-26 02:26:33
262
+ * @param {string} itemName 子项名称
263
+ * @param {Partial<IUILogicParams>} executeParams 执行参数
264
+ * @return {*} {(boolean | undefined)}
265
+ */
266
+ triggerControlEvent(ctrlName: string, event: EventBase): void {
267
+ const matchParams = {
268
+ ctrlName,
269
+ eventName: event.eventName,
270
+ triggerType: 'CTRLEVENT',
271
+ } as const;
272
+ this.triggerAndExecute(matchParams, event);
273
+ }
231
274
  }
@@ -0,0 +1,45 @@
1
+ import { StudioControlEvents } from '../../constant';
2
+ import type { ISchedulerLogic, ITriggerMatchParams } from '../../interface';
3
+ import { LogicScheduler } from '../scheduler/logic-scheduler';
4
+ import { LogicTrigger } from './logic-trigger';
5
+
6
+ /**
7
+ * 部件事件触发器
8
+ * @author lxm
9
+ * @date 2023-08-14 02:10:46
10
+ * @export
11
+ * @class ControlEventTrigger
12
+ * @extends {LogicTrigger}
13
+ */
14
+ export class ControlEventTrigger extends LogicTrigger {
15
+ declare type: 'CTRLEVENT';
16
+
17
+ /**
18
+ * 监听事件名称集合
19
+ * @author lxm
20
+ * @date 2023-07-26 05:48:30
21
+ * @protected
22
+ * @type {string[]}
23
+ */
24
+ protected listenEventNames: string[] = [];
25
+
26
+ constructor(
27
+ protected logic: ISchedulerLogic,
28
+ protected scheduler: LogicScheduler,
29
+ ) {
30
+ super(logic, scheduler);
31
+ const names = logic.eventNames!.split(',');
32
+ this.listenEventNames = names.map(
33
+ name => StudioControlEvents[name as keyof StudioControlEvents] || name,
34
+ );
35
+ }
36
+
37
+ match(matchParams: ITriggerMatchParams): boolean {
38
+ const superResult = super.match(matchParams);
39
+ return (
40
+ superResult &&
41
+ matchParams.ctrlName === this.logic.ctrlName &&
42
+ this.listenEventNames.includes(matchParams.eventName!)
43
+ );
44
+ }
45
+ }
@@ -3,6 +3,14 @@ import type { ISchedulerLogic, ITriggerMatchParams } from '../../interface';
3
3
  import { LogicScheduler } from '../scheduler/logic-scheduler';
4
4
  import { LogicTrigger } from './logic-trigger';
5
5
 
6
+ /**
7
+ * 视图事件触发器
8
+ * @author lxm
9
+ * @date 2023-08-14 02:12:44
10
+ * @export
11
+ * @class ViewEventTrigger
12
+ * @extends {LogicTrigger}
13
+ */
6
14
  export class ViewEventTrigger extends LogicTrigger {
7
15
  declare type: 'VIEWEVENT';
8
16
 
@@ -37,7 +37,8 @@ export async function getEditorProvider(
37
37
  model: IEditor,
38
38
  ): Promise<IEditorProvider | undefined> {
39
39
  let provider: IEditorProvider | undefined;
40
- const { editorType, editorStyle } = model as Required<IEditor>;
40
+ const { editorType, editorStyle, predefinedType } =
41
+ model as Required<IEditor>;
41
42
 
42
43
  // 再找编辑器类型和编辑器样式
43
44
  if (editorStyle && editorStyle !== 'DEFAULT') {
@@ -51,6 +52,21 @@ export async function getEditorProvider(
51
52
  }
52
53
  }
53
54
 
55
+ // 编辑器预置类型
56
+ if (predefinedType) {
57
+ let key = `${predefinedType}_${editorType}`;
58
+ if (editorStyle && editorStyle !== 'DEFAULT') {
59
+ key += `_${editorStyle}`;
60
+ }
61
+ provider = getProvider(key);
62
+ if (!provider) {
63
+ ibiz.log.error(
64
+ `找不到编辑器类型:[${editorType}]的预置类型:[${predefinedType}]对应的适配器`,
65
+ model,
66
+ );
67
+ }
68
+ }
69
+
54
70
  // 找编辑器类型
55
71
  if (!provider) {
56
72
  provider = getProvider(editorType);
@@ -1,11 +1,9 @@
1
1
  /* eslint-disable no-await-in-loop */
2
- import { clone } from 'ramda';
3
2
  import {
4
3
  IAppDataEntity,
5
4
  IAppDEMethodDTO,
6
5
  IAppDEMethodDTOField,
7
6
  } from '@ibiz/model-core';
8
- import { isNilOrEmpty } from 'qx-util';
9
7
  import { ModelError } from '@ibiz-template/core';
10
8
  import { Application } from '../../application';
11
9
  import { AppDataEntity } from '../app-data-entity/app-data-entity';
@@ -54,23 +52,18 @@ export class MethodDto {
54
52
  async get(context: IParams, data: IData): Promise<IData> {
55
53
  const params: IData = {};
56
54
  // 拷贝数据
57
- const copyData = clone(data);
58
55
  for (let i = 0; i < this.fields.length; i++) {
59
56
  const field = this.fields[i];
60
57
  const key = field.codeName!.toLowerCase();
61
58
  switch (field.type) {
62
59
  case 'SIMPLE': {
63
- const val = copyData[key];
64
- if (isNilOrEmpty(val)) {
65
- params[key] = null;
66
- } else {
67
- params[key] = val;
68
- }
69
- // 取值后删除
70
- delete copyData[key];
71
60
  break;
72
61
  }
73
62
  case 'DTOS': {
63
+ // 没有实体id的不处理
64
+ if (!field.refAppDataEntityId) {
65
+ break;
66
+ }
74
67
  const dto = await this.getFieldDto(field);
75
68
  const service = await this.app!.deService.getService(
76
69
  field.refAppDataEntityId!,
@@ -93,8 +86,7 @@ export class MethodDto {
93
86
  }
94
87
  }
95
88
  // 合并剩余参数
96
- Object.assign(params, copyData);
97
- return params;
89
+ return { ...data, ...params };
98
90
  }
99
91
 
100
92
  /**
@@ -114,6 +106,10 @@ export class MethodDto {
114
106
  const all = this.fields
115
107
  .filter(field => field.type === 'DTOS')
116
108
  .map(async field => {
109
+ // 没有实体id的不处理
110
+ if (!field.refAppDataEntityId) {
111
+ return;
112
+ }
117
113
  const key = field.codeName!.toLowerCase();
118
114
  const dto = await this.getFieldDto(field);
119
115
  const items: IData[] = datum[key];
@@ -0,0 +1,49 @@
1
+ import { CoreConst, HttpError } from '@ibiz-template/core';
2
+ import { clearCookie, setCookie } from 'qx-util';
3
+ import { IAuthService } from '../../../interface';
4
+
5
+ /**
6
+ * 认证服务
7
+ *
8
+ * @author chitanda
9
+ * @date 2022-07-19 18:07:51
10
+ * @export
11
+ * @class AuthService
12
+ */
13
+ export class V7AuthService implements IAuthService {
14
+ async login(loginname: string, password: string): Promise<boolean> {
15
+ // eslint-disable-next-line no-useless-catch
16
+ try {
17
+ const res = await ibiz.net.post('/v7/login', { loginname, password });
18
+ const { data } = res;
19
+ if (data && data.token) {
20
+ setCookie(CoreConst.TOKEN, data.token, 0, true);
21
+ const expiredDate =
22
+ new Date().getTime() + (data.expirein || 7199) * 1000;
23
+ setCookie(CoreConst.TOKEN_EXPIRES, `${expiredDate}`, 0, true);
24
+ }
25
+ return true;
26
+ } catch (err: unknown) {
27
+ ibiz.notification.error({
28
+ title: '登录失败',
29
+ desc: (err as HttpError).message || '',
30
+ });
31
+ }
32
+ return false;
33
+ }
34
+
35
+ async logout(): Promise<boolean> {
36
+ try {
37
+ await ibiz.net.get('/v7/logout');
38
+ clearCookie(CoreConst.TOKEN);
39
+ clearCookie(CoreConst.TOKEN_EXPIRES);
40
+ return true;
41
+ } catch (err: unknown) {
42
+ ibiz.notification.error({
43
+ title: '登出失败',
44
+ desc: (err as HttpError).message || '',
45
+ });
46
+ }
47
+ return false;
48
+ }
49
+ }
@@ -99,8 +99,15 @@ export class CodeListService {
99
99
  ): Readonly<CodeListItem>[] {
100
100
  return codeItems.map(codeItem => {
101
101
  // todo代码项其他属性,表单数据
102
+ let text = codeItem.text!;
103
+ if (codeItem.textLanguageRes) {
104
+ text = ibiz.i18n.t(
105
+ codeItem.textLanguageRes.lanResTag!,
106
+ codeItem.textLanguageRes.defaultContent,
107
+ );
108
+ }
102
109
  const _codeItem: CodeListItem = {
103
- text: codeItem.text!,
110
+ text,
104
111
  value: isValueNumber ? Number(codeItem.value) : codeItem.value!,
105
112
  color: codeItem.color,
106
113
  id: codeItem.codeName!,
@@ -4,4 +4,4 @@ export { DEService } from './entity/de.service';
4
4
  export { WorkFlowService } from './work-flow/work-flow.service';
5
5
  export * from './control';
6
6
  export * from './authority';
7
- export { AuthService } from './auth/auth.service';
7
+ export { V7AuthService } from './auth/v7-auth.service';
@@ -1,4 +1,4 @@
1
- import { isNil } from 'ramda';
1
+ import { clone, isNil } from 'ramda';
2
2
  import { Srfuf } from '../constant';
3
3
  import { UIMapField } from './ui-map-field';
4
4
 
@@ -220,4 +220,20 @@ export class ControlVO {
220
220
  setOrigin(data: IData | ControlVO): void {
221
221
  this.$origin = data instanceof ControlVO ? data.getOrigin() : data;
222
222
  }
223
+
224
+ /**
225
+ * 克隆新的vo数据
226
+ *
227
+ * @author lxm
228
+ * @date 2023-08-16 11:08:29
229
+ * @return {*} {ControlVO}
230
+ */
231
+ clone(): ControlVO {
232
+ const cloneOrigin = clone(this.$origin);
233
+ const newVal = new ControlVO(cloneOrigin, this.$dataUIMap);
234
+ Object.keys(this).forEach(key => {
235
+ newVal[key] = this[key];
236
+ });
237
+ return newVal;
238
+ }
223
239
  }
@@ -54,5 +54,7 @@ export class TreeCodeListNodeData
54
54
 
55
55
  this.srfkey = this.value;
56
56
  this.srfmajortext = this.text;
57
+
58
+ this.icon = this.calcIcon(model);
57
59
  }
58
60
  }