@ibiz-template/runtime 0.4.11 → 0.4.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/dist/index.esm.js +1190 -282
  2. package/dist/index.system.min.js +2 -2
  3. package/out/config/global-config.d.ts.map +1 -1
  4. package/out/config/global-config.js +1 -0
  5. package/out/controller/common/base.controller.d.ts +7 -0
  6. package/out/controller/common/base.controller.d.ts.map +1 -1
  7. package/out/controller/common/base.controller.js +10 -0
  8. package/out/controller/common/control/control.controller.d.ts +14 -0
  9. package/out/controller/common/control/control.controller.d.ts.map +1 -1
  10. package/out/controller/common/control/control.controller.js +21 -0
  11. package/out/controller/common/control/md-control.controller.d.ts +9 -0
  12. package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
  13. package/out/controller/common/control/md-control.controller.js +20 -0
  14. package/out/controller/common/view/view.controller.d.ts +15 -1
  15. package/out/controller/common/view/view.controller.d.ts.map +1 -1
  16. package/out/controller/common/view/view.controller.js +23 -4
  17. package/out/controller/control/app-menu/app-menu.controller.d.ts +7 -0
  18. package/out/controller/control/app-menu/app-menu.controller.d.ts.map +1 -1
  19. package/out/controller/control/app-menu/app-menu.controller.js +22 -0
  20. package/out/controller/control/caption-bar/caption-bar.controller.d.ts.map +1 -1
  21. package/out/controller/control/caption-bar/caption-bar.controller.js +1 -6
  22. package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
  23. package/out/controller/control/form/edit-form/edit-form.controller.js +9 -22
  24. package/out/controller/control/form/edit-form/edit-form.service.d.ts +3 -2
  25. package/out/controller/control/form/edit-form/edit-form.service.d.ts.map +1 -1
  26. package/out/controller/control/form/edit-form/edit-form.service.js +11 -2
  27. package/out/controller/control/form/form/form.controller.d.ts +0 -7
  28. package/out/controller/control/form/form/form.controller.d.ts.map +1 -1
  29. package/out/controller/control/form/form/form.controller.js +0 -11
  30. package/out/controller/control/form/form/form.service.d.ts +24 -0
  31. package/out/controller/control/form/form/form.service.d.ts.map +1 -0
  32. package/out/controller/control/form/form/form.service.js +45 -0
  33. package/out/controller/control/form/form-detail/form-detail/form-detail.controller.d.ts.map +1 -1
  34. package/out/controller/control/form/form-detail/form-detail/form-detail.controller.js +5 -1
  35. package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts.map +1 -1
  36. package/out/controller/control/form/form-detail/form-item/form-item.controller.js +0 -5
  37. package/out/controller/control/form/search-form/search-form.controller.d.ts.map +1 -1
  38. package/out/controller/control/form/search-form/search-form.controller.js +1 -5
  39. package/out/controller/control/form/search-form/search-form.service.d.ts +4 -3
  40. package/out/controller/control/form/search-form/search-form.service.d.ts.map +1 -1
  41. package/out/controller/control/form/search-form/search-form.service.js +8 -3
  42. package/out/controller/control/gantt/gantt.controller.d.ts +146 -2
  43. package/out/controller/control/gantt/gantt.controller.d.ts.map +1 -1
  44. package/out/controller/control/gantt/gantt.controller.js +270 -0
  45. package/out/controller/control/grid/grid/grid-row.state.d.ts +11 -0
  46. package/out/controller/control/grid/grid/grid-row.state.d.ts.map +1 -1
  47. package/out/controller/control/grid/grid/grid-row.state.js +13 -0
  48. package/out/controller/control/grid/grid/grid.controller.d.ts +7 -0
  49. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  50. package/out/controller/control/grid/grid/grid.controller.js +27 -0
  51. package/out/controller/control/grid/grid/grid.service.d.ts.map +1 -1
  52. package/out/controller/control/grid/grid/grid.service.js +30 -20
  53. package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.d.ts +21 -1
  54. package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.d.ts.map +1 -1
  55. package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.js +44 -1
  56. package/out/controller/control/kanban/kanban.controller.d.ts +13 -0
  57. package/out/controller/control/kanban/kanban.controller.d.ts.map +1 -1
  58. package/out/controller/control/kanban/kanban.controller.js +72 -0
  59. package/out/controller/control/report-panel/generator/user-generator.js +1 -1
  60. package/out/controller/control/search-bar/search-bar.controller.d.ts.map +1 -1
  61. package/out/controller/control/search-bar/search-bar.controller.js +11 -6
  62. package/out/controller/control/toolbar/toolbar.controllerr.d.ts +7 -0
  63. package/out/controller/control/toolbar/toolbar.controllerr.d.ts.map +1 -1
  64. package/out/controller/control/toolbar/toolbar.controllerr.js +22 -0
  65. package/out/controller/control/tree/tree.controller.d.ts +75 -0
  66. package/out/controller/control/tree/tree.controller.d.ts.map +1 -1
  67. package/out/controller/control/tree/tree.controller.js +264 -1
  68. package/out/interface/common/i-global-config/i-global-view-config.d.ts +7 -0
  69. package/out/interface/common/i-global-config/i-global-view-config.d.ts.map +1 -1
  70. package/out/interface/controller/controller/control/i-control.controller.d.ts +14 -0
  71. package/out/interface/controller/controller/control/i-control.controller.d.ts.map +1 -1
  72. package/out/interface/controller/controller/view/i-view.controller.d.ts +14 -0
  73. package/out/interface/controller/controller/view/i-view.controller.d.ts.map +1 -1
  74. package/out/interface/controller/event/control/i-gantt.event.d.ts +42 -0
  75. package/out/interface/controller/event/control/i-gantt.event.d.ts.map +1 -1
  76. package/out/interface/controller/event/control/i-tree.event.d.ts +17 -0
  77. package/out/interface/controller/event/control/i-tree.event.d.ts.map +1 -1
  78. package/out/interface/controller/state/control/i-control.state.d.ts +8 -0
  79. package/out/interface/controller/state/control/i-control.state.d.ts.map +1 -1
  80. package/out/interface/controller/state/control/i-gantt.state.d.ts +22 -0
  81. package/out/interface/controller/state/control/i-gantt.state.d.ts.map +1 -1
  82. package/out/interface/controller/state/control/i-grid.state.d.ts +11 -0
  83. package/out/interface/controller/state/control/i-grid.state.d.ts.map +1 -1
  84. package/out/interface/controller/state/control/i-kanban.state.d.ts +24 -0
  85. package/out/interface/controller/state/control/i-kanban.state.d.ts.map +1 -1
  86. package/out/interface/controller/state/control/i-tree.state.d.ts +7 -0
  87. package/out/interface/controller/state/control/i-tree.state.d.ts.map +1 -1
  88. package/out/interface/controller/state/view/i-view.state.d.ts +8 -0
  89. package/out/interface/controller/state/view/i-view.state.d.ts.map +1 -1
  90. package/out/interface/provider/i-grid-column.provider.d.ts +2 -2
  91. package/out/interface/provider/i-grid-column.provider.d.ts.map +1 -1
  92. package/out/interface/service/i-data-entity/i-data-entity.d.ts +8 -0
  93. package/out/interface/service/i-data-entity/i-data-entity.d.ts.map +1 -1
  94. package/out/interface/service/service/i-app-de.service.d.ts +11 -0
  95. package/out/interface/service/service/i-app-de.service.d.ts.map +1 -1
  96. package/out/interface/service/service/i-auth.service.d.ts +3 -2
  97. package/out/interface/service/service/i-auth.service.d.ts.map +1 -1
  98. package/out/logic-scheduler/executor/app-ui-logic-executor.d.ts.map +1 -1
  99. package/out/logic-scheduler/executor/app-ui-logic-executor.js +4 -2
  100. package/out/register/helper/grid-column-register.d.ts +2 -2
  101. package/out/register/helper/grid-column-register.d.ts.map +1 -1
  102. package/out/register/helper/grid-column-register.js +14 -0
  103. package/out/service/dto/method.dto.d.ts.map +1 -1
  104. package/out/service/dto/method.dto.js +8 -1
  105. package/out/service/service/auth/v7-auth.service.d.ts +1 -1
  106. package/out/service/service/auth/v7-auth.service.d.ts.map +1 -1
  107. package/out/service/service/auth/v7-auth.service.js +12 -7
  108. package/out/service/service/entity/de.service.d.ts +9 -1
  109. package/out/service/service/entity/de.service.d.ts.map +1 -1
  110. package/out/service/service/entity/de.service.js +69 -0
  111. package/out/service/service/entity/method/fetch.d.ts +5 -12
  112. package/out/service/service/entity/method/fetch.d.ts.map +1 -1
  113. package/out/service/service/entity/method/fetch.js +7 -74
  114. package/out/service/utils/de-cache/de-cache.js +2 -2
  115. package/out/service/vo/gantt-node-data/gantt-code-list-node-data.d.ts +1 -0
  116. package/out/service/vo/gantt-node-data/gantt-code-list-node-data.d.ts.map +1 -1
  117. package/out/service/vo/gantt-node-data/gantt-data-set-node-data.d.ts +2 -0
  118. package/out/service/vo/gantt-node-data/gantt-data-set-node-data.d.ts.map +1 -1
  119. package/out/service/vo/gantt-node-data/gantt-data-set-node-data.js +2 -1
  120. package/out/service/vo/gantt-node-data/gantt-node-data-util.d.ts +7 -0
  121. package/out/service/vo/gantt-node-data/gantt-node-data-util.d.ts.map +1 -1
  122. package/out/service/vo/gantt-node-data/gantt-node-data-util.js +18 -0
  123. package/out/service/vo/gantt-node-data/gantt-static-node-data.d.ts +1 -0
  124. package/out/service/vo/gantt-node-data/gantt-static-node-data.d.ts.map +1 -1
  125. package/out/service/vo/tree-node-data/tree-code-list-node-data.d.ts.map +1 -1
  126. package/out/service/vo/tree-node-data/tree-code-list-node-data.js +8 -4
  127. package/out/service/vo/tree-node-data/tree-data-set-node-data.d.ts.map +1 -1
  128. package/out/service/vo/tree-node-data/tree-data-set-node-data.js +8 -4
  129. package/out/service/vo/tree-node-data/tree-node-data.d.ts +1 -0
  130. package/out/service/vo/tree-node-data/tree-node-data.d.ts.map +1 -1
  131. package/out/service/vo/tree-node-data/tree-node-data.js +2 -0
  132. package/out/service/vo/tree-node-data/tree-static-node-data.d.ts.map +1 -1
  133. package/out/service/vo/tree-node-data/tree-static-node-data.js +8 -2
  134. package/out/utils/layout-panel-util/layout-panel-util.d.ts.map +1 -1
  135. package/out/utils/layout-panel-util/layout-panel-util.js +16 -2
  136. package/package.json +3 -3
  137. package/src/config/global-config.ts +1 -0
  138. package/src/controller/common/base.controller.ts +11 -0
  139. package/src/controller/common/control/control.controller.ts +23 -0
  140. package/src/controller/common/control/md-control.controller.ts +21 -0
  141. package/src/controller/common/view/view.controller.ts +27 -5
  142. package/src/controller/control/app-menu/app-menu.controller.ts +25 -0
  143. package/src/controller/control/caption-bar/caption-bar.controller.ts +1 -8
  144. package/src/controller/control/form/edit-form/edit-form.controller.ts +11 -26
  145. package/src/controller/control/form/edit-form/edit-form.service.ts +11 -2
  146. package/src/controller/control/form/form/form.controller.ts +0 -14
  147. package/src/controller/control/form/form/form.service.ts +63 -0
  148. package/src/controller/control/form/form-detail/form-detail/form-detail.controller.ts +9 -1
  149. package/src/controller/control/form/form-detail/form-item/form-item.controller.ts +0 -5
  150. package/src/controller/control/form/search-form/search-form.controller.ts +1 -5
  151. package/src/controller/control/form/search-form/search-form.service.ts +8 -3
  152. package/src/controller/control/gantt/gantt.controller.ts +331 -1
  153. package/src/controller/control/grid/grid/grid-row.state.ts +15 -0
  154. package/src/controller/control/grid/grid/grid.controller.ts +34 -0
  155. package/src/controller/control/grid/grid/grid.service.ts +34 -21
  156. package/src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts +67 -2
  157. package/src/controller/control/kanban/kanban.controller.ts +81 -0
  158. package/src/controller/control/report-panel/generator/user-generator.ts +1 -1
  159. package/src/controller/control/search-bar/search-bar.controller.ts +12 -8
  160. package/src/controller/control/toolbar/toolbar.controllerr.ts +29 -0
  161. package/src/controller/control/tree/tree.controller.ts +327 -2
  162. package/src/interface/common/i-global-config/i-global-view-config.ts +8 -0
  163. package/src/interface/controller/controller/control/i-control.controller.ts +16 -0
  164. package/src/interface/controller/controller/view/i-view.controller.ts +16 -0
  165. package/src/interface/controller/event/control/i-gantt.event.ts +37 -1
  166. package/src/interface/controller/event/control/i-tree.event.ts +14 -0
  167. package/src/interface/controller/state/control/i-control.state.ts +9 -0
  168. package/src/interface/controller/state/control/i-gantt.state.ts +25 -0
  169. package/src/interface/controller/state/control/i-grid.state.ts +10 -0
  170. package/src/interface/controller/state/control/i-kanban.state.ts +26 -0
  171. package/src/interface/controller/state/control/i-tree.state.ts +8 -0
  172. package/src/interface/controller/state/view/i-view.state.ts +9 -0
  173. package/src/interface/provider/i-grid-column.provider.ts +2 -2
  174. package/src/interface/service/i-data-entity/i-data-entity.ts +9 -0
  175. package/src/interface/service/service/i-app-de.service.ts +12 -0
  176. package/src/interface/service/service/i-auth.service.ts +3 -2
  177. package/src/logic-scheduler/executor/app-ui-logic-executor.ts +8 -2
  178. package/src/register/helper/grid-column-register.ts +17 -2
  179. package/src/service/dto/method.dto.ts +8 -1
  180. package/src/service/service/auth/v7-auth.service.ts +18 -8
  181. package/src/service/service/entity/de.service.ts +74 -1
  182. package/src/service/service/entity/method/fetch.ts +8 -79
  183. package/src/service/utils/de-cache/de-cache.ts +2 -2
  184. package/src/service/vo/gantt-node-data/gantt-code-list-node-data.ts +2 -0
  185. package/src/service/vo/gantt-node-data/gantt-data-set-node-data.ts +6 -1
  186. package/src/service/vo/gantt-node-data/gantt-node-data-util.ts +21 -0
  187. package/src/service/vo/gantt-node-data/gantt-static-node-data.ts +2 -0
  188. package/src/service/vo/tree-node-data/tree-code-list-node-data.ts +10 -5
  189. package/src/service/vo/tree-node-data/tree-data-set-node-data.ts +10 -5
  190. package/src/service/vo/tree-node-data/tree-node-data.ts +3 -0
  191. package/src/service/vo/tree-node-data/tree-static-node-data.ts +10 -3
  192. package/src/utils/layout-panel-util/layout-panel-util.ts +17 -2
@@ -88,6 +88,78 @@ export class KanbanController extends DataViewControlController {
88
88
  }
89
89
  return super.handleDataGroup();
90
90
  }
91
+ /**
92
+ * 处理自动分组
93
+ *
94
+ * @memberof KanbanController
95
+ */
96
+ handleAutoGroup() {
97
+ const { groupAppDEFieldId } = this.model;
98
+ if (groupAppDEFieldId) {
99
+ const { items } = this.state;
100
+ const groupMap = new Map();
101
+ items.forEach((item) => {
102
+ const groupVal = item[groupAppDEFieldId];
103
+ if (isNil(groupVal)) {
104
+ // 分组无值的不显示
105
+ return;
106
+ }
107
+ if (!groupMap.has(groupVal)) {
108
+ groupMap.set(groupVal, []);
109
+ }
110
+ groupMap.get(groupVal).push(item);
111
+ });
112
+ const groups = [];
113
+ groupMap.forEach((value, key) => {
114
+ // 标题
115
+ const codeListItem = this.groupCodeListItems.find(item => item.value === key);
116
+ groups.push({
117
+ caption: codeListItem.text,
118
+ color: codeListItem.color,
119
+ key: codeListItem.value,
120
+ children: [...value],
121
+ });
122
+ });
123
+ this.state.groups = groups;
124
+ }
125
+ }
126
+ /**
127
+ * 处理代码表分组
128
+ *
129
+ * @return {*} {Promise<void>}
130
+ * @memberof KanbanController
131
+ */
132
+ async handleCodeListGroup() {
133
+ const { groupAppDEFieldId, groupCodeListId } = this.model;
134
+ if (!groupCodeListId) {
135
+ throw new RuntimeModelError(this.model, '分组代码表没有配置');
136
+ }
137
+ const { items } = this.state;
138
+ const groupMap = new Map();
139
+ this.groupCodeListItems.forEach(item => {
140
+ groupMap.set(item.value, []);
141
+ });
142
+ items.forEach((item) => {
143
+ const groupVal = item[groupAppDEFieldId];
144
+ const groupArr = groupMap.get(groupVal);
145
+ if (groupArr) {
146
+ groupArr.push(item);
147
+ }
148
+ // 不在代码表里数据忽略
149
+ });
150
+ const groups = [];
151
+ groupMap.forEach((arr, key) => {
152
+ // 标题
153
+ const codeListItem = this.groupCodeListItems.find(item => item.value === key);
154
+ groups.push({
155
+ caption: codeListItem.text,
156
+ color: codeListItem.color,
157
+ key: codeListItem.value,
158
+ children: arr,
159
+ });
160
+ });
161
+ this.state.groups = groups;
162
+ }
91
163
  /**
92
164
  * 拖拽变更事件处理回调
93
165
  * @author lxm
@@ -46,7 +46,7 @@ export class UserReportPanelGenerator extends ReportPanelBaseGenerator {
46
46
  callBack: '{{ const nodes = data.controller.graph.getNodes(); if (nodes.length < 25) { data.controller.graph.zoomTo(1); data.controller.graph.fitCenter() } }}',
47
47
  },
48
48
  ],
49
- nodeDataHook: "{{ data.forEach(node => { const type = node.data.source_lables || node.data.target_lables; Object.assign(node, { label: node.data.name, size: 66, style: { fill: node.color },donutAttrs: { prop1: 10000, prop2: 10 },donutColorMap: { prop1: node.color, prop2: node.color },icon: {show: true,img: type === 'NEO4J_ZT' ? resource.dir('/assets/images/user-avatar.png') : resource.dir('/assets/images/phone.png'),width: 40,height: 40}})})}}",
49
+ nodeDataHook: "{{ data.forEach(node => { const type = node.data.source_lables || node.data.target_lables; Object.assign(node, { label: node.data.name, size: 66, style: { fill: node.color },donutAttrs: { prop1: 10000, prop2: 10 },donutColorMap: { prop1: node.color, prop2: node.color },icon: {show: true,img: type === 'NEO4J_ZT' ? resource.dir('assets/images/user-avatar.png') : resource.dir('assets/images/phone.png'),width: 40,height: 40}})})}}",
50
50
  edgeDataHook: '{{ data.forEach(edge => {Object.assign(edge, { label: edge.name })}) }}',
51
51
  },
52
52
  };
@@ -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;IAWnB;;;;;;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
  }
@@ -137,6 +137,7 @@ export class SearchBarController extends ControlController {
137
137
  children: [{ leaf: true, field: null, valueOP: null, value: null }],
138
138
  },
139
139
  ];
140
+ this.evt.emit('onSearch', undefined);
140
141
  }
141
142
  /**
142
143
  * 初始化过滤项控制器
@@ -179,7 +180,7 @@ export class SearchBarController extends ControlController {
179
180
  }
180
181
  });
181
182
  if (hasFilter && !hasError) {
182
- const filter = this.formatFilters(this.state.filterNodes[0]);
183
+ const filter = [this.formatFilters(this.state.filterNodes[0])];
183
184
  return filter;
184
185
  }
185
186
  }
@@ -193,13 +194,17 @@ export class SearchBarController extends ControlController {
193
194
  formatFilters(node) {
194
195
  if (!node.leaf) {
195
196
  return {
196
- [`$${node.logicType.toLowerCase()}`]: node.children.map(item => this.formatFilters(item)),
197
+ condtype: 'GROUP',
198
+ condop: node.logicType,
199
+ bnotmode: false,
200
+ searchconds: node.children.map(item => this.formatFilters(item)),
197
201
  };
198
202
  }
199
203
  return {
200
- [`${node.field}`]: {
201
- [`$${node.valueOP.toLowerCase()}`]: node.value,
202
- },
204
+ condtype: 'DEFIELD',
205
+ fieldname: node.field,
206
+ condop: node.valueOP,
207
+ value: node.value,
203
208
  };
204
209
  }
205
210
  }
@@ -43,5 +43,12 @@ export declare class ToolbarController<T extends IDEToolbar = IDEToolbar, S exte
43
43
  setExtraButtons(position: 'before' | 'after' | number, buttons: IExtraButton[]): void;
44
44
  clearExtraButtons(position?: 'before' | 'after' | number): void;
45
45
  protected initControlScheduler(logics?: IControlLogic[]): void;
46
+ /**
47
+ * 转换各类多语言
48
+ *
49
+ * @date 2023-05-18 02:57:00
50
+ * @protected
51
+ */
52
+ protected convertMultipleLanguages(): void;
46
53
  }
47
54
  //# sourceMappingURL=toolbar.controllerr.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toolbar.controllerr.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/toolbar/toolbar.controllerr.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,cAAc,EAEd,aAAa,EACd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,YAAY,EAEb,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,eAAe,EAGhB,MAAM,aAAa,CAAC;AAErB;;;;;;;GAOG;AACH,qBAAa,iBAAiB,CAC1B,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,CAAC,SAAS,aAAa,GAAG,aAAa,EACvC,CAAC,SAAS,aAAa,GAAG,aAAa,CAEzC,SAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACjC,YAAW,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEtC,SAAS,KAAK,IAAI,IAAI,eAAe,CAAC,aAAa,CAAC,CAEnD;IAED,SAAS,CAAC,SAAS,IAAI,IAAI;IAO3B;;;;;;;;;;;OAWG;cACa,UAAU,CACxB,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,UAAU,EACjB,KAAK,GAAE,KAAU,GAChB,OAAO,CAAC,IAAI,CAAC;cAwCA,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB1C;;;;;;;;;;OAUG;IACG,WAAW,CACf,IAAI,EAAE,cAAc,GAAG,YAAY,EACnC,KAAK,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,KAAK,GACb,OAAO,CAAC,IAAI,CAAC;IAcV,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDpE,eAAe,CACb,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,EACrC,OAAO,EAAE,YAAY,EAAE,GACtB,IAAI;IAOP,iBAAiB,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI;IAS/D,SAAS,CAAC,oBAAoB,CAAC,MAAM,GAAE,aAAa,EAAO,GAAG,IAAI;CAcnE"}
1
+ {"version":3,"file":"toolbar.controllerr.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/toolbar/toolbar.controllerr.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,cAAc,EAEd,aAAa,EAEd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,YAAY,EAEb,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EACL,eAAe,EAGhB,MAAM,aAAa,CAAC;AAErB;;;;;;;GAOG;AACH,qBAAa,iBAAiB,CAC1B,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,CAAC,SAAS,aAAa,GAAG,aAAa,EACvC,CAAC,SAAS,aAAa,GAAG,aAAa,CAEzC,SAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACjC,YAAW,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEtC,SAAS,KAAK,IAAI,IAAI,eAAe,CAAC,aAAa,CAAC,CAEnD;IAED,SAAS,CAAC,SAAS,IAAI,IAAI;IAO3B;;;;;;;;;;;OAWG;cACa,UAAU,CACxB,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,UAAU,EACjB,KAAK,GAAE,KAAU,GAChB,OAAO,CAAC,IAAI,CAAC;cAwCA,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB1C;;;;;;;;;;OAUG;IACG,WAAW,CACf,IAAI,EAAE,cAAc,GAAG,YAAY,EACnC,KAAK,EAAE,UAAU,EACjB,MAAM,CAAC,EAAE,KAAK,GACb,OAAO,CAAC,IAAI,CAAC;IAcV,eAAe,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDpE,eAAe,CACb,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,EACrC,OAAO,EAAE,YAAY,EAAE,GACtB,IAAI;IAOP,iBAAiB,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI;IAS/D,SAAS,CAAC,oBAAoB,CAAC,MAAM,GAAE,aAAa,EAAO,GAAG,IAAI;IAelE;;;;;OAKG;IACH,SAAS,CAAC,wBAAwB,IAAI,IAAI;CAqB3C"}
@@ -160,4 +160,26 @@ export class ToolbarController extends ControlController {
160
160
  }, { childrenFields: ['detoolbarItems'] });
161
161
  super.initControlScheduler(actualLogics);
162
162
  }
163
+ /**
164
+ * 转换各类多语言
165
+ *
166
+ * @date 2023-05-18 02:57:00
167
+ * @protected
168
+ */
169
+ convertMultipleLanguages() {
170
+ const convertItemCaption = (items) => {
171
+ items.forEach(item => {
172
+ if (item.capLanguageRes && item.capLanguageRes.lanResTag) {
173
+ item.caption = ibiz.i18n.t(item.capLanguageRes.lanResTag, item.caption);
174
+ }
175
+ if (item.itemType === 'ITEMS' &&
176
+ item.detoolbarItems) {
177
+ convertItemCaption(item.detoolbarItems);
178
+ }
179
+ });
180
+ };
181
+ if (this.model.detoolbarItems && this.model.detoolbarItems.length > 0) {
182
+ convertItemCaption(this.model.detoolbarItems);
183
+ }
184
+ }
163
185
  }
@@ -3,6 +3,11 @@ import { ITreeState, ITreeEvent, ITreeController, MDCtrlLoadParams, ITreeNodeDat
3
3
  import { MDControlController } from '../../common';
4
4
  import { ContextMenuController } from '../context-menu';
5
5
  import { TreeService } from './tree.service';
6
+ export type DropNodeRS = {
7
+ minorEntityId: string;
8
+ pickupDEFName: string;
9
+ childDETreeNodeId: string;
10
+ };
6
11
  /**
7
12
  * 树部件控制器
8
13
  * @author lxm
@@ -30,8 +35,21 @@ export declare class TreeController extends MDControlController<IDETree, ITreeSt
30
35
  * @type {boolean}
31
36
  */
32
37
  enableQuickSearch: boolean;
38
+ /**
39
+ * 拖入节点关系处理
40
+ * @author lxm
41
+ * @date 2023-12-14 03:05:38
42
+ */
43
+ dropNodeRss: Map<string, DropNodeRS[]>;
33
44
  protected initState(): void;
34
45
  protected onCreated(): Promise<void>;
46
+ /**
47
+ * 初始化节点拖入关系处理
48
+ * @author lxm
49
+ * @date 2023-12-14 03:13:42
50
+ * @protected
51
+ */
52
+ protected initDropNodeRss(): void;
35
53
  /**
36
54
  * 树部件加载,从根节点开始重新加载
37
55
  *
@@ -125,5 +143,62 @@ export declare class TreeController extends MDControlController<IDETree, ITreeSt
125
143
  */
126
144
  refreshNodeChildren(nodeData: ITreeNodeData | IData, refreshParent?: boolean): Promise<void>;
127
145
  expandNodeByKey(expandKeys: string[]): Promise<void>;
146
+ /**
147
+ * 计算是否允许拖动
148
+ * @author lxm
149
+ * @date 2023-12-14 11:28:07
150
+ * @param {ITreeNodeData} draggingNode
151
+ * @return {*} {boolean}
152
+ */
153
+ calcAllowDrag(draggingNode: ITreeNodeData): boolean;
154
+ /**
155
+ * 计算是否允许拖入
156
+ * @author lxm
157
+ * @date 2023-12-14 02:04:15
158
+ * @param {ITreeNodeData} draggingNode
159
+ * @param {ITreeNodeData} dropNode
160
+ * @param {('inner' | 'prev' | 'next')} type
161
+ * @return {*} {boolean}
162
+ */
163
+ calcAllowDrop(draggingNode: ITreeNodeData, dropNode: ITreeNodeData, type: 'inner' | 'prev' | 'next'): boolean;
164
+ /**
165
+ * 找到指定父节点下的节点关系里面
166
+ * 配置的实体关系的子实体是指定实体的
167
+ * @author lxm
168
+ * @date 2023-12-14 01:43:41
169
+ * @protected
170
+ * @param {string} parentId 父节点模型id
171
+ * @param {string} appDataEntityId
172
+ * @return {*} {(IDETreeNodeRS | undefined)}
173
+ */
174
+ protected findDropNodeRS(parentId: string, appDataEntityId: string): DropNodeRS | undefined;
175
+ /**
176
+ * 处理节点拖入事件
177
+ * @author lxm
178
+ * @date 2023-12-15 04:23:29
179
+ * @param {ITreeNodeData} draggingNode
180
+ * @param {ITreeNodeData} dropNode
181
+ * @param {('inner' | 'prev' | 'next')} dropType
182
+ * @return {*} {Promise<void>}
183
+ */
184
+ onNodeDrop(draggingNode: ITreeNodeData, dropNode: ITreeNodeData, dropType: 'inner' | 'prev' | 'next'): Promise<void>;
185
+ /**
186
+ * 更新实体节点数据
187
+ * @author lxm
188
+ * @date 2023-12-15 04:19:36
189
+ * @protected
190
+ * @param {ITreeNodeData[]} nodeDatas 节点数据集合
191
+ * @return {*} {Promise<void>}
192
+ */
193
+ updateDeNodeData(nodeDatas: ITreeNodeData[]): Promise<void>;
194
+ /**
195
+ * 修改节点文本
196
+ * @author lxm
197
+ * @date 2023-12-15 04:32:52
198
+ * @param {ITreeNodeData} nodeData
199
+ * @param {string} text
200
+ * @return {*} {Promise<void>}
201
+ */
202
+ modifyNodeText(nodeData: ITreeNodeData, text: string): Promise<void>;
128
203
  }
129
204
  //# sourceMappingURL=tree.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/tree/tree.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,UAAU,EACV,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,aAAa,EACd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;;;GAQG;AACH,qBAAa,cACX,SAAQ,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAC3D,YAAW,eAAe;IAElB,OAAO,EAAE,WAAW,CAAC;IAE7B;;;;;OAKG;IACH,YAAY,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAA;KAAE,CAAM;IAE1D;;;;;OAKG;IACH,iBAAiB,EAAE,OAAO,CAAS;IAEnC,SAAS,CAAC,SAAS,IAAI,IAAI;cAUX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAsD1C;;;;;OAKG;IACG,IAAI,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAsB3D,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ7D;;;;;;OAMG;IACG,SAAS,CAAC,UAAU,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAyCrE;;;;;;OAMG;IACG,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC7D;;;;;;OAMG;IACH,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAYhE;;;;;;OAMG;IACG,iBAAiB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/D,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7C,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI;IAWtC;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIjD;;;;;;;;;;OAUG;IACG,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAiChB;;;;;;OAMG;IACH,SAAS,CAAC,iBAAiB,CAAC,QAAQ,EAAE,aAAa,GAAG;QACpD,IAAI,EAAE,KAAK,EAAE,CAAC;QACd,OAAO,EAAE,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;KACjB;IAQD;;;;;;;OAOG;IACH,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE;IAgBlD;;;;;;;OAOG;IACG,mBAAmB,CACvB,QAAQ,EAAE,aAAa,GAAG,KAAK,EAC/B,aAAa,UAAQ,GACpB,OAAO,CAAC,IAAI,CAAC;IAgCV,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CA0B3D"}
1
+ {"version":3,"file":"tree.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/tree/tree.controller.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  /* eslint-disable no-param-reassign */
2
- import { recursiveIterate } from '@ibiz-template/core';
2
+ import { RuntimeError, RuntimeModelError, recursiveIterate, } from '@ibiz-template/core';
3
3
  import { UIActionUtil } from '../../../ui-action';
4
4
  import { MDControlController } from '../../common';
5
5
  import { ContextMenuController } from '../context-menu';
6
6
  import { TreeService } from './tree.service';
7
+ import { calcDeCodeNameById, getChildNodeRSs } from '../../../model';
7
8
  /**
8
9
  * 树部件控制器
9
10
  * @author lxm
@@ -30,6 +31,12 @@ export class TreeController extends MDControlController {
30
31
  * @type {boolean}
31
32
  */
32
33
  this.enableQuickSearch = false;
34
+ /**
35
+ * 拖入节点关系处理
36
+ * @author lxm
37
+ * @date 2023-12-14 03:05:38
38
+ */
39
+ this.dropNodeRss = new Map();
33
40
  }
34
41
  initState() {
35
42
  super.initState();
@@ -66,6 +73,7 @@ export class TreeController extends MDControlController {
66
73
  this.state.placeHolder = placeHolders.join('、');
67
74
  }
68
75
  }
76
+ this.initDropNodeRss();
69
77
  this.service = new TreeService(this.model);
70
78
  await this.service.init(this.context);
71
79
  // 初始化上下文菜单控制器
@@ -78,6 +86,41 @@ export class TreeController extends MDControlController {
78
86
  // 上下文菜单控制器初始化
79
87
  await Promise.all(Object.values(this.contextMenus).map(menu => menu.created()));
80
88
  }
89
+ /**
90
+ * 初始化节点拖入关系处理
91
+ * @author lxm
92
+ * @date 2023-12-14 03:13:42
93
+ * @protected
94
+ */
95
+ initDropNodeRss() {
96
+ var _a;
97
+ (_a = this.model.detreeNodes) === null || _a === void 0 ? void 0 : _a.forEach(node => {
98
+ if (!node.allowDrop) {
99
+ return;
100
+ }
101
+ const infos = [];
102
+ const nodeRSs = getChildNodeRSs(this.model, {
103
+ parentId: node.id,
104
+ hasQuery: false,
105
+ });
106
+ nodeRSs.forEach(nodeRS => {
107
+ var _a;
108
+ if ((_a = nodeRS.parentDER1N) === null || _a === void 0 ? void 0 : _a.pickupDEFName) {
109
+ const childNode = this.getNodeModel(nodeRS.childDETreeNodeId);
110
+ if ((childNode === null || childNode === void 0 ? void 0 : childNode.treeNodeType) === 'DE' && childNode.appDataEntityId) {
111
+ infos.push({
112
+ minorEntityId: childNode.appDataEntityId,
113
+ pickupDEFName: nodeRS.parentDER1N.pickupDEFName.toLowerCase(),
114
+ childDETreeNodeId: nodeRS.childDETreeNodeId,
115
+ });
116
+ }
117
+ }
118
+ });
119
+ if (infos.length > 0) {
120
+ this.dropNodeRss.set(node.id, infos);
121
+ }
122
+ });
123
+ }
81
124
  /**
82
125
  * 树部件加载,从根节点开始重新加载
83
126
  *
@@ -361,4 +404,224 @@ export class TreeController extends MDControlController {
361
404
  return this.loadNodes(node);
362
405
  }));
363
406
  }
407
+ /**
408
+ * 计算是否允许拖动
409
+ * @author lxm
410
+ * @date 2023-12-14 11:28:07
411
+ * @param {ITreeNodeData} draggingNode
412
+ * @return {*} {boolean}
413
+ */
414
+ calcAllowDrag(draggingNode) {
415
+ const nodeModel = this.getNodeModel(draggingNode.nodeId);
416
+ return (nodeModel === null || nodeModel === void 0 ? void 0 : nodeModel.allowDrag) === true;
417
+ }
418
+ /**
419
+ * 计算是否允许拖入
420
+ * @author lxm
421
+ * @date 2023-12-14 02:04:15
422
+ * @param {ITreeNodeData} draggingNode
423
+ * @param {ITreeNodeData} dropNode
424
+ * @param {('inner' | 'prev' | 'next')} type
425
+ * @return {*} {boolean}
426
+ */
427
+ calcAllowDrop(draggingNode, dropNode, type) {
428
+ var _a, _b;
429
+ const draggingNodeModel = this.getNodeModel(draggingNode.nodeId);
430
+ // * 移入的情况
431
+ if (type === 'inner') {
432
+ return !!this.findDropNodeRS(dropNode.nodeId, draggingNodeModel.appDataEntityId);
433
+ }
434
+ // * 前后的情况
435
+ if (((_a = draggingNode.parent) === null || _a === void 0 ? void 0 : _a.id) !== ((_b = dropNode.parent) === null || _b === void 0 ? void 0 : _b.id)) {
436
+ // 父不一样的时候需要判断能否移入到对方的父节点内
437
+ return !!this.findDropNodeRS(dropNode.parent.nodeId, draggingNodeModel.appDataEntityId);
438
+ }
439
+ // 父相同的情况下,就是排序,看是否能排序
440
+ const parentNodeModel = this.getNodeModel(dropNode.nodeId);
441
+ return (parentNodeModel === null || parentNodeModel === void 0 ? void 0 : parentNodeModel.allowOrder) === true;
442
+ }
443
+ /**
444
+ * 找到指定父节点下的节点关系里面
445
+ * 配置的实体关系的子实体是指定实体的
446
+ * @author lxm
447
+ * @date 2023-12-14 01:43:41
448
+ * @protected
449
+ * @param {string} parentId 父节点模型id
450
+ * @param {string} appDataEntityId
451
+ * @return {*} {(IDETreeNodeRS | undefined)}
452
+ */
453
+ findDropNodeRS(parentId, appDataEntityId) {
454
+ const nodeRSs = this.dropNodeRss.get(parentId);
455
+ return nodeRSs === null || nodeRSs === void 0 ? void 0 : nodeRSs.find(item => item.minorEntityId === appDataEntityId);
456
+ }
457
+ /**
458
+ * 处理节点拖入事件
459
+ * @author lxm
460
+ * @date 2023-12-15 04:23:29
461
+ * @param {ITreeNodeData} draggingNode
462
+ * @param {ITreeNodeData} dropNode
463
+ * @param {('inner' | 'prev' | 'next')} dropType
464
+ * @return {*} {Promise<void>}
465
+ */
466
+ async onNodeDrop(draggingNode, dropNode, dropType) {
467
+ var _a, _b, _c, _d;
468
+ if (dropType === 'inner' &&
469
+ !dropNode.leaf &&
470
+ dropNode.children === undefined) {
471
+ await this.expandNodeByKey([dropNode.id]);
472
+ }
473
+ /** 修改的树节点数据 */
474
+ const modifiedNodeDatas = [];
475
+ const draggingNodeModel = this.getNodeModel(draggingNode.nodeId);
476
+ const dropInNode = dropType === 'inner' ? dropNode : dropNode.parent;
477
+ const isChangedParent = ((_a = dropNode.parent) === null || _a === void 0 ? void 0 : _a.id) !== ((_b = draggingNode.parent) === null || _b === void 0 ? void 0 : _b.id);
478
+ let orderNodeModel = this.getNodeModel(dropNode.nodeId);
479
+ // * 处理切换父节点
480
+ if (dropType === 'inner' ||
481
+ ((_c = dropNode.parent) === null || _c === void 0 ? void 0 : _c.id) !== ((_d = draggingNode.parent) === null || _d === void 0 ? void 0 : _d.id)) {
482
+ const dropNodeRs = this.findDropNodeRS(dropInNode.nodeId, draggingNodeModel.appDataEntityId);
483
+ if (dropNodeRs) {
484
+ // 修改关系属性的值为父节点的主键和树节点id
485
+ draggingNode.deData[dropNodeRs.pickupDEFName] = dropInNode.value;
486
+ modifiedNodeDatas.push(draggingNode);
487
+ orderNodeModel = this.getNodeModel(dropNodeRs.childDETreeNodeId);
488
+ }
489
+ }
490
+ // *修改节点数据
491
+ // 所有情况都先从原来的父的子集合里删除自己
492
+ const originArr = draggingNode.parent.children;
493
+ originArr.splice(originArr.indexOf(draggingNode), 1);
494
+ if (dropType === 'inner') {
495
+ // 移入时放到最后
496
+ if (!dropNode.children) {
497
+ dropNode.children = [];
498
+ dropNode.leaf = true;
499
+ this.state.expandedKeys.push(dropNode.id);
500
+ }
501
+ dropNode.children.push(draggingNode);
502
+ }
503
+ else {
504
+ // 非插入时,放入指定节点前后
505
+ let insertIndex = dropInNode.children.indexOf(dropNode);
506
+ if (dropType === 'next') {
507
+ insertIndex += 1;
508
+ }
509
+ dropInNode.children.splice(insertIndex, 0, draggingNode);
510
+ }
511
+ //* 变更父节点后的,拖动节点调整
512
+ if (dropType === 'inner' || isChangedParent) {
513
+ // 更改父节点
514
+ draggingNode.parent = dropInNode;
515
+ // 修改指向的节点模型
516
+ draggingNode.nodeId = orderNodeModel.id;
517
+ // 维护拖拽的节点和其子孙的展开,维护拖入节点的展开
518
+ this.state.expandedKeys = this.calcExpandedKeys([dropInNode]);
519
+ }
520
+ // *处理排序
521
+ const { sortAppDEFieldId, sortDir, allowOrder } = orderNodeModel;
522
+ if (allowOrder === true) {
523
+ // 有排序属性才处理排序
524
+ if (!sortAppDEFieldId) {
525
+ throw new RuntimeModelError(orderNodeModel, '缺少配置排序属性');
526
+ }
527
+ const sortField = sortAppDEFieldId.toLowerCase();
528
+ const isAsc = sortDir === 'ASC';
529
+ const changedArr = [...dropInNode.children];
530
+ // 降序把数组反转,保证两个数组都是从小到大排
531
+ if (!isAsc) {
532
+ changedArr.reverse();
533
+ }
534
+ /**
535
+ * 获取下一个100的倍数
536
+ * @author lxm
537
+ * @date 2023-09-11 10:03:46
538
+ * @param {number} num
539
+ * @return {*} {number}
540
+ */
541
+ const getNextSort = (num) => {
542
+ return num + (100 - (num % 100));
543
+ };
544
+ const getSort = (deData) => {
545
+ return deData[sortField] || 0;
546
+ };
547
+ let lastSort;
548
+ changedArr.forEach((item, index) => {
549
+ const deData = item.deData;
550
+ if (lastSort === undefined) {
551
+ // 第一次出现要调整顺序的时候一定是从拖拽节点开始
552
+ if (item === draggingNode) {
553
+ // 如果时第一个,则排序值为100
554
+ if (index === 0) {
555
+ lastSort = 100;
556
+ }
557
+ else {
558
+ // 最后一个时,把前一个的排序值加100
559
+ lastSort = getNextSort(getSort(changedArr[index - 1].deData));
560
+ }
561
+ deData[sortField] = lastSort;
562
+ // 修改父的时候可能已经加入进去了
563
+ if (modifiedNodeDatas.indexOf(item) === -1) {
564
+ modifiedNodeDatas.push(item);
565
+ }
566
+ }
567
+ }
568
+ else {
569
+ if (lastSort >= getSort(deData)) {
570
+ deData[sortField] = getNextSort(lastSort);
571
+ modifiedNodeDatas.push(item);
572
+ }
573
+ // 更新上一个排序值
574
+ lastSort = getSort(deData);
575
+ }
576
+ });
577
+ }
578
+ await this.updateDeNodeData(modifiedNodeDatas);
579
+ // *通知界面修改移入的父节点的子节点数据
580
+ this.evt.emit('onAfterNodeDrop', { isChangedParent });
581
+ }
582
+ /**
583
+ * 更新实体节点数据
584
+ * @author lxm
585
+ * @date 2023-12-15 04:19:36
586
+ * @protected
587
+ * @param {ITreeNodeData[]} nodeDatas 节点数据集合
588
+ * @return {*} {Promise<void>}
589
+ */
590
+ async updateDeNodeData(nodeDatas) {
591
+ const app = ibiz.hub.getApp(this.context.srfappid);
592
+ await Promise.all(nodeDatas.map(async (node) => {
593
+ const model = this.getNodeModel(node.nodeId);
594
+ const deData = node.deData;
595
+ // 往上下文添加主键
596
+ const deName = calcDeCodeNameById(model.appDataEntityId);
597
+ const tempContext = this.context.clone();
598
+ tempContext[deName] = deData.srfkey;
599
+ // 调用接口修改数据
600
+ const res = await app.deService.exec(model.appDataEntityId, 'update', tempContext, deData);
601
+ // 更新完之后更新state里的数据。
602
+ if (res.data) {
603
+ node.deData = res.data;
604
+ }
605
+ }));
606
+ }
607
+ /**
608
+ * 修改节点文本
609
+ * @author lxm
610
+ * @date 2023-12-15 04:32:52
611
+ * @param {ITreeNodeData} nodeData
612
+ * @param {string} text
613
+ * @return {*} {Promise<void>}
614
+ */
615
+ async modifyNodeText(nodeData, text) {
616
+ const model = this.getNodeModel(nodeData.nodeId);
617
+ if (!model.allowEditText) {
618
+ throw new RuntimeModelError(model, '树节点没有配置编辑模式:名称');
619
+ }
620
+ if (!nodeData.deData) {
621
+ throw new RuntimeError('不是实体树节点数据');
622
+ }
623
+ nodeData.text = text;
624
+ nodeData.deData[model.textAppDEFieldId] = text;
625
+ await this.updateDeNodeData([nodeData]);
626
+ }
364
627
  }
@@ -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
+ disableHomeTabs: 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,eAAe,EAAE,OAAO,CAAC;CAC1B"}
@@ -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"}