@ebuilding/biz-list 2.0.0

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 (131) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +0 -0
  3. package/fesm2022/ebuilding-biz-list.mjs +6 -0
  4. package/fesm2022/ebuilding-biz-list.mjs.map +1 -0
  5. package/fesm2022/list.mjs +315 -0
  6. package/fesm2022/list.mjs.map +1 -0
  7. package/fesm2022/list.tree.mjs +475 -0
  8. package/fesm2022/list.tree.mjs.map +1 -0
  9. package/fesm2022/page-comm.single.mjs +283 -0
  10. package/fesm2022/page-comm.single.mjs.map +1 -0
  11. package/fesm2022/page.mjs +832 -0
  12. package/fesm2022/page.mjs.map +1 -0
  13. package/fesm2022/pre-control.mjs +347 -0
  14. package/fesm2022/pre-control.mjs.map +1 -0
  15. package/fesm2022/pre-control.pre-card.mjs +420 -0
  16. package/fesm2022/pre-control.pre-card.mjs.map +1 -0
  17. package/fesm2022/pre-control.pre-compare.mjs +136 -0
  18. package/fesm2022/pre-control.pre-compare.mjs.map +1 -0
  19. package/fesm2022/pre-control.pre-page-ref.mjs +304 -0
  20. package/fesm2022/pre-control.pre-page-ref.mjs.map +1 -0
  21. package/fesm2022/pre-control.pre-page.mjs +347 -0
  22. package/fesm2022/pre-control.pre-page.mjs.map +1 -0
  23. package/fesm2022/pre-control.pre-report.mjs +206 -0
  24. package/fesm2022/pre-control.pre-report.mjs.map +1 -0
  25. package/fesm2022/pre-control.pre-tree.mjs +925 -0
  26. package/fesm2022/pre-control.pre-tree.mjs.map +1 -0
  27. package/fesm2022/pre-control.single.mjs +347 -0
  28. package/fesm2022/pre-control.single.mjs.map +1 -0
  29. package/fesm2022/pre-dialog.mjs +120 -0
  30. package/fesm2022/pre-dialog.mjs.map +1 -0
  31. package/fesm2022/srv.basic.mjs +561 -0
  32. package/fesm2022/srv.basic.mjs.map +1 -0
  33. package/fesm2022/srv.commEvent.service.mjs +199 -0
  34. package/fesm2022/srv.commEvent.service.mjs.map +1 -0
  35. package/fesm2022/srv.commHeader.service.mjs +91 -0
  36. package/fesm2022/srv.commHeader.service.mjs.map +1 -0
  37. package/fesm2022/srv.commList.service.mjs +92 -0
  38. package/fesm2022/srv.commList.service.mjs.map +1 -0
  39. package/fesm2022/srv.commPage.service.mjs +399 -0
  40. package/fesm2022/srv.commPage.service.mjs.map +1 -0
  41. package/fesm2022/srv.page.service.mjs +701 -0
  42. package/fesm2022/srv.page.service.mjs.map +1 -0
  43. package/index.d.ts +1 -0
  44. package/list/index.d.ts +1 -0
  45. package/list/src/component/card/index.d.ts +18 -0
  46. package/list/src/component/table/index.d.ts +18 -0
  47. package/list/src/component/table-tree/index.d.ts +16 -0
  48. package/list/src/default/index.d.ts +30 -0
  49. package/list/src/index.module.d.ts +10 -0
  50. package/list/src/public_api.d.ts +2 -0
  51. package/list/src/service/list.service.d.ts +38 -0
  52. package/list-tree/index.d.ts +1 -0
  53. package/list-tree/src/component/list/index.d.ts +16 -0
  54. package/list-tree/src/component/tree/index.d.ts +15 -0
  55. package/list-tree/src/default/index.d.ts +26 -0
  56. package/list-tree/src/index.module.d.ts +10 -0
  57. package/list-tree/src/main/index.d.ts +16 -0
  58. package/list-tree/src/public_api.d.ts +3 -0
  59. package/list-tree/src/service/tree.service.d.ts +61 -0
  60. package/package.json +96 -0
  61. package/page/index.d.ts +1 -0
  62. package/page/src/components/import/index.d.ts +41 -0
  63. package/page/src/components/result/index.d.ts +17 -0
  64. package/page/src/default/index.d.ts +101 -0
  65. package/page/src/dialog/index.d.ts +38 -0
  66. package/page/src/index.module.d.ts +10 -0
  67. package/page/src/public_api.d.ts +5 -0
  68. package/page-comm/single/index.d.ts +1 -0
  69. package/page-comm/single/src/components/import/index.d.ts +41 -0
  70. package/page-comm/single/src/components/result/index.d.ts +17 -0
  71. package/page-comm/single/src/default/index.d.ts +21 -0
  72. package/page-comm/single/src/index.module.d.ts +9 -0
  73. package/page-comm/single/src/public_api.d.ts +4 -0
  74. package/pre-control/index.d.ts +1 -0
  75. package/pre-control/pre-card/index.d.ts +1 -0
  76. package/pre-control/pre-card/src/card.service.d.ts +29 -0
  77. package/pre-control/pre-card/src/components/card-other/index.d.ts +18 -0
  78. package/pre-control/pre-card/src/components/card-user/index.d.ts +44 -0
  79. package/pre-control/pre-card/src/data/index.d.ts +32 -0
  80. package/pre-control/pre-card/src/default/index.d.ts +21 -0
  81. package/pre-control/pre-card/src/index.module.d.ts +10 -0
  82. package/pre-control/pre-card/src/public_api.d.ts +3 -0
  83. package/pre-control/pre-compare/index.d.ts +1 -0
  84. package/pre-control/pre-compare/src/default/index.d.ts +20 -0
  85. package/pre-control/pre-compare/src/index.module.d.ts +7 -0
  86. package/pre-control/pre-compare/src/public_api.d.ts +2 -0
  87. package/pre-control/pre-page/index.d.ts +1 -0
  88. package/pre-control/pre-page/src/default/index.d.ts +71 -0
  89. package/pre-control/pre-page/src/index.module.d.ts +7 -0
  90. package/pre-control/pre-page/src/public_api.d.ts +2 -0
  91. package/pre-control/pre-page-ref/index.d.ts +1 -0
  92. package/pre-control/pre-page-ref/src/default/index.d.ts +68 -0
  93. package/pre-control/pre-page-ref/src/index.module.d.ts +8 -0
  94. package/pre-control/pre-page-ref/src/public_api.d.ts +2 -0
  95. package/pre-control/pre-report/index.d.ts +1 -0
  96. package/pre-control/pre-report/src/chart/index.d.ts +16 -0
  97. package/pre-control/pre-report/src/index.module.d.ts +9 -0
  98. package/pre-control/pre-report/src/page/index.d.ts +23 -0
  99. package/pre-control/pre-report/src/page-item/index.d.ts +14 -0
  100. package/pre-control/pre-report/src/public_api.d.ts +3 -0
  101. package/pre-control/pre-tree/index.d.ts +1 -0
  102. package/pre-control/pre-tree/src/components/form-left/index.component.d.ts +22 -0
  103. package/pre-control/pre-tree/src/components/form-right/index.component.d.ts +43 -0
  104. package/pre-control/pre-tree/src/components/list-left/index.component.d.ts +22 -0
  105. package/pre-control/pre-tree/src/components/list-right/index.component.d.ts +37 -0
  106. package/pre-control/pre-tree/src/default/index.d.ts +25 -0
  107. package/pre-control/pre-tree/src/form/index.d.ts +19 -0
  108. package/pre-control/pre-tree/src/index.module.d.ts +14 -0
  109. package/pre-control/pre-tree/src/list/index.d.ts +33 -0
  110. package/pre-control/pre-tree/src/public_api.d.ts +4 -0
  111. package/pre-control/pre-tree/src/service/treeFormService.d.ts +57 -0
  112. package/pre-control/pre-tree/src/service/treeListService.d.ts +56 -0
  113. package/pre-control/single/index.d.ts +1 -0
  114. package/pre-control/single/src/basic.service.d.ts +9 -0
  115. package/pre-control/single/src/components/box/index.d.ts +13 -0
  116. package/pre-control/single/src/components/expand/index.d.ts +13 -0
  117. package/pre-control/single/src/components/item/index.d.ts +17 -0
  118. package/pre-control/single/src/components/tabs/index.d.ts +13 -0
  119. package/pre-control/single/src/index.module.d.ts +7 -0
  120. package/pre-control/single/src/main/index.d.ts +25 -0
  121. package/pre-control/single/src/public_api.d.ts +2 -0
  122. package/pre-dialog/index.d.ts +1 -0
  123. package/pre-dialog/src/index.module.d.ts +7 -0
  124. package/pre-dialog/src/main/index.d.ts +23 -0
  125. package/pre-dialog/src/public_api.d.ts +2 -0
  126. package/service/basic/index.d.ts +118 -0
  127. package/service/commEvent.service/index.d.ts +48 -0
  128. package/service/commHeader.service/index.d.ts +26 -0
  129. package/service/commList.service/index.d.ts +26 -0
  130. package/service/commPage.service/index.d.ts +44 -0
  131. package/service/page.service/index.d.ts +127 -0
@@ -0,0 +1,561 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, Output, Input, Directive } from '@angular/core';
3
+ import { FormRuleComponent } from '@ebuilding/biz-form/rule';
4
+ import { FormHistoryComponent } from '@ebuilding/biz-form/history';
5
+ import { FormAdvancedMainComponent } from '@ebuilding/biz-form/advanced';
6
+ import _ from 'lodash';
7
+ import * as i1 from 'ng-zorro-antd/modal';
8
+ import * as i2 from '@ebuilding/biz-list/service/page.service';
9
+ import * as i3 from '@ebuilding/biz-list/service/commList.service';
10
+ import * as i4 from '@ebuilding/biz-list/service/commHeader.service';
11
+ import * as i5 from '@ebuilding/biz-list/service/commPage.service';
12
+ import * as i6 from '@ebuilding/base/shared.srv/base-dialog.service';
13
+
14
+ class BasicService {
15
+ cdr;
16
+ modal;
17
+ basePageSrv;
18
+ commListSrv;
19
+ commHeaderSrv;
20
+ commPageSrv;
21
+ dialogSrv;
22
+ keyWord = null;
23
+ importContent = null;
24
+ advancedInfo = null;
25
+ config = null;
26
+ random = null;
27
+ parameter = null;
28
+ selectData = [];
29
+ /**
30
+ * 按钮操作事件
31
+ */
32
+ buttonEvent = new EventEmitter();
33
+ /**
34
+ * 高级搜索事件
35
+ */
36
+ advancedEvent = new EventEmitter();
37
+ /**
38
+ * 行 - 选中事件
39
+ */
40
+ selectEvent = new EventEmitter();
41
+ /**
42
+ * 行 - 普通列点击事件
43
+ */
44
+ componentEvent = new EventEmitter();
45
+ /**
46
+ * 行 - 操作列点击事件
47
+ */
48
+ operationEvent = new EventEmitter();
49
+ /**
50
+ * 按钮操作后调用事件
51
+ */
52
+ buttonAfterEvent = new EventEmitter();
53
+ /**
54
+ * 页面数据读取后调用事件
55
+ */
56
+ pageLoadAfterEvent = new EventEmitter();
57
+ constructor(cdr, modal, basePageSrv, commListSrv, commHeaderSrv, commPageSrv, dialogSrv) {
58
+ this.cdr = cdr;
59
+ this.modal = modal;
60
+ this.basePageSrv = basePageSrv;
61
+ this.commListSrv = commListSrv;
62
+ this.commHeaderSrv = commHeaderSrv;
63
+ this.commPageSrv = commPageSrv;
64
+ this.dialogSrv = dialogSrv;
65
+ this.basePageSrv.cdr = this.cdr;
66
+ this.advancedInfo = null;
67
+ }
68
+ ngOnChanges(changes) {
69
+ if (changes['config']) {
70
+ this.getPageConfig();
71
+ }
72
+ else if (changes['random']) {
73
+ if (this.random) {
74
+ this.getPageData();
75
+ }
76
+ }
77
+ else if (changes['selectData']) {
78
+ this.basePageSrv.selectData = this.selectData;
79
+ }
80
+ }
81
+ ngOnInit() { }
82
+ getPageConfig() {
83
+ this.advancedInfo = null;
84
+ this.basePageSrv.pageInit();
85
+ this.basePageSrv.pageConfig = _.cloneDeep(this.config);
86
+ this.getPageData();
87
+ }
88
+ getPageData() {
89
+ this.basePageSrv.getPageData(this, () => {
90
+ this.pageLoadAfterEvent.emit(this.basePageSrv.listBody);
91
+ });
92
+ }
93
+ selectDataChange(e) {
94
+ this.basePageSrv.selectData = e;
95
+ this.selectEvent.emit(e);
96
+ }
97
+ /**
98
+ * 操作按钮(新增、删除、导入、导出等)
99
+ * @param e
100
+ */
101
+ buttonClick(e) {
102
+ let buttons = _.get(this.config, `buttons.data`);
103
+ if (buttons && Array.isArray(buttons)) {
104
+ let button = null;
105
+ buttons.filter((v) => {
106
+ if (v.buttonType == e.buttonType && v.code == e.code) {
107
+ button = v;
108
+ }
109
+ });
110
+ if (button) {
111
+ if (this.config?.formModel) {
112
+ button['defaultModel'] = this.config?.formModel;
113
+ }
114
+ button['static'] = false;
115
+ if (this.basePageSrv.pageConfig?.static == true) {
116
+ button['static'] = true;
117
+ }
118
+ this.getOuterButtonArg(button);
119
+ if (button.throw) {
120
+ this.buttonEvent.emit(button);
121
+ }
122
+ else {
123
+ if (button?.isPreEventRule == true) {
124
+ let prePara = {
125
+ buttonId: button.id,
126
+ dataId: null,
127
+ pageId: this.basePageSrv.pageConfig.id,
128
+ sourceId: this.basePageSrv.pageConfig.id,
129
+ };
130
+ this.basePageSrv.runPreEvent(prePara, this, () => {
131
+ this.buttonClickAfter(button);
132
+ });
133
+ }
134
+ else {
135
+ this.buttonClickAfter(button);
136
+ }
137
+ }
138
+ }
139
+ }
140
+ }
141
+ buttonClickAfter(button) {
142
+ switch (button.buttonType) {
143
+ case 'EXPORT':
144
+ this.pageDataExport(button, this, (res) => {
145
+ this.buttonAfterEvent.emit();
146
+ });
147
+ break;
148
+ case 'IMPORTS':
149
+ this.pageDataImports(button, this, (res) => {
150
+ this.buttonAfterEvent.emit();
151
+ });
152
+ break;
153
+ case 'DELETE':
154
+ this.basePageSrv.pageDataDeletes(button, this, (res) => {
155
+ this.buttonAfterEvent.emit();
156
+ });
157
+ break;
158
+ case 'ENABLE':
159
+ this.basePageSrv.updateDisables(button, this, (res) => {
160
+ this.buttonAfterEvent.emit();
161
+ });
162
+ break;
163
+ case 'DISABLED':
164
+ this.basePageSrv.updateDisables(button, this, (res) => {
165
+ this.buttonAfterEvent.emit();
166
+ });
167
+ break;
168
+ default:
169
+ this.commPageSrv.event(button, this.getParaDataInfo(), this, (res) => {
170
+ this.getPageData();
171
+ this.buttonAfterEvent.emit();
172
+ });
173
+ break;
174
+ }
175
+ }
176
+ /**
177
+ * 列表 - 某一行某一列点击事件
178
+ * @param e
179
+ */
180
+ componentClick(e) {
181
+ let button = _.get(this.config, `list.buttons.component.${e.key}`);
182
+ if (button) {
183
+ button['dataId'] = e.dataId;
184
+ button['dataItem'] = e.dataItem;
185
+ button['static'] = false;
186
+ button['module'] = { pageIndex: this.basePageSrv.pageIndex, keyWord: this.basePageSrv.keyWord };
187
+ if (this.basePageSrv.pageConfig?.static == true) {
188
+ button['static'] = true;
189
+ }
190
+ this.getComponentArg(button);
191
+ if (button.responseType == 'LIST') {
192
+ button['isTag'] = false;
193
+ }
194
+ if (button.throw) {
195
+ this.componentEvent.emit(button);
196
+ }
197
+ else {
198
+ this.commPageSrv.event(button, this.getParaDataInfo(), this, (res) => {
199
+ this.getPageData();
200
+ });
201
+ }
202
+ }
203
+ }
204
+ /**
205
+ * 列表 - 某一行的操作列点击事件
206
+ * @param e
207
+ */
208
+ operationClick(e) {
209
+ let button = _.get(this.config, `list.buttons.operation.${e.key}`);
210
+ if (button) {
211
+ button['dataId'] = e.dataId;
212
+ button['dataItem'] = e.dataItem;
213
+ button['static'] = false;
214
+ if (this.basePageSrv.pageConfig?.static == true) {
215
+ button['static'] = true;
216
+ }
217
+ this.getInnerButtonArg(button);
218
+ if (button.throw) {
219
+ this.operationEvent.emit(button);
220
+ }
221
+ else {
222
+ if (button?.isPreEventRule == true) {
223
+ let prePara = {
224
+ buttonId: button.id,
225
+ dataId: null,
226
+ pageId: this.basePageSrv?.pageConfig?.id,
227
+ sourceId: this.basePageSrv?.pageConfig?.id,
228
+ rowData: e?.dataItem
229
+ };
230
+ this.basePageSrv.runPreEvent(prePara, this, () => {
231
+ this.operationClickAfter(button);
232
+ });
233
+ }
234
+ else {
235
+ this.operationClickAfter(button);
236
+ }
237
+ }
238
+ }
239
+ }
240
+ operationClickAfter(button) {
241
+ switch (button.buttonType) {
242
+ case 'CANCEL':
243
+ this.basePageSrv.pageDataCancel(button, this, (res) => {
244
+ this.buttonAfterEvent.emit();
245
+ });
246
+ break;
247
+ case 'DELETE':
248
+ this.basePageSrv.pageDataDelete(button, this, (res) => {
249
+ this.buttonAfterEvent.emit();
250
+ });
251
+ break;
252
+ case 'ENABLE':
253
+ this.basePageSrv.updateDisable(button, this, (res) => {
254
+ this.buttonAfterEvent.emit();
255
+ });
256
+ break;
257
+ case 'DISABLED':
258
+ this.basePageSrv.updateDisable(button, this, (res) => {
259
+ this.buttonAfterEvent.emit();
260
+ });
261
+ break;
262
+ case 'COPY':
263
+ this.basePageSrv.pageDataCopy(button, this, (res) => {
264
+ this.buttonAfterEvent.emit();
265
+ });
266
+ break;
267
+ case 'HISTORY':
268
+ this.historyClick(button);
269
+ break;
270
+ default:
271
+ this.commPageSrv.event(button, this.getParaDataInfo(), this, (res) => {
272
+ this.getPageData();
273
+ this.buttonAfterEvent.emit();
274
+ });
275
+ break;
276
+ }
277
+ }
278
+ rowRuleClick(e) {
279
+ let modalOptions = {
280
+ nzTitle: '配置适用人员',
281
+ size: 'upload',
282
+ nzContent: FormRuleComponent,
283
+ };
284
+ this.commPageSrv.dialogService.CreateDrawerDialog(modalOptions, {
285
+ config: {
286
+ pageId: this.basePageSrv.pageConfig.id,
287
+ dataId: e.dataId,
288
+ api: this.basePageSrv.pageConfig?.api,
289
+ },
290
+ }, (instance) => {
291
+ if (instance && instance.type && instance.type == 'save') {
292
+ }
293
+ });
294
+ }
295
+ historyClick(e) {
296
+ let modalOptions = {
297
+ nzTitle: '查看历史记录',
298
+ nzContent: FormHistoryComponent,
299
+ };
300
+ this.commPageSrv.dialogService.CreateDrawerDialog(modalOptions, {
301
+ config: {
302
+ pageId: this.basePageSrv.pageConfig.id,
303
+ dataId: e.dataId,
304
+ },
305
+ }, (instance) => {
306
+ if (instance && instance.type && instance.type == 'save') {
307
+ }
308
+ });
309
+ }
310
+ /**
311
+ * 高级搜索
312
+ */
313
+ advancedQueryClick() {
314
+ if (this.config?.advanced && this.config?.advanced?.isAdvanced && this.config?.advanced?.advancedForm) {
315
+ if (this.config?.advanced?.throw == true) {
316
+ this.advancedEvent.emit();
317
+ }
318
+ else {
319
+ let modalOptions = {
320
+ nzTitle: "高级搜索",
321
+ size: this.config?.advanced?.advancedSize ? this.config?.advanced?.advancedSize : "medium",
322
+ nzContent: FormAdvancedMainComponent,
323
+ nzClosable: true,
324
+ };
325
+ let config = {
326
+ type: "ADD",
327
+ buttonCode: null,
328
+ id: null,
329
+ formId: this.config?.advanced?.advancedForm,
330
+ moduleCode: null,
331
+ api: null,
332
+ argInfo: null,
333
+ model: this.advancedInfo
334
+ };
335
+ this.dialogSrv.CreateModelDialog(modalOptions, {
336
+ config: config,
337
+ }, (type, instance, modal) => {
338
+ let res = instance.getModelData();
339
+ modal.destroy();
340
+ if (res) {
341
+ this.advancedInfo = instance.model;
342
+ this.basePageSrv.pageAdvancedClick(res);
343
+ }
344
+ else {
345
+ this.advancedInfo = null;
346
+ this.basePageSrv.pageAdvancedClick(null);
347
+ }
348
+ });
349
+ }
350
+ }
351
+ }
352
+ /**
353
+ * 删除高级搜索
354
+ */
355
+ advancedDelClick() {
356
+ this.advancedInfo = null;
357
+ this.basePageSrv.pageAdvancedClick(null);
358
+ }
359
+ /**
360
+ * 按钮外部点击事件
361
+ * @param e
362
+ */
363
+ getOuterButtonArg(e) {
364
+ if (e?.arg && Array.isArray(e?.arg)) {
365
+ e.arg.forEach((item) => {
366
+ switch (item.argFromTo) {
367
+ case 'FIXED':
368
+ item.argValue = item.argValue;
369
+ break;
370
+ case 'PAGE_PROCESS':
371
+ if (item?.argVar) {
372
+ if (this.config?.parameterArg && this.config?.parameterArg[item.argVar]) {
373
+ item.argValue = this.config.parameterArg[item.argVar];
374
+ }
375
+ }
376
+ break;
377
+ default:
378
+ break;
379
+ }
380
+ });
381
+ }
382
+ /**
383
+ * 内置时:复制配置中的API
384
+ */
385
+ if (e?.static == true) {
386
+ if (this.basePageSrv?.pageConfig?.api) {
387
+ e.api = this.basePageSrv.pageConfig.api;
388
+ }
389
+ }
390
+ }
391
+ /**
392
+ * 操作列点击事件
393
+ * @param e
394
+ */
395
+ getInnerButtonArg(e) {
396
+ if (e?.arg && Array.isArray(e?.arg)) {
397
+ e.arg.forEach((item) => {
398
+ if (item.argFromTo == 'PAGE' || item.argFromTo == 'PAGE_LIST' || item.argFromTo == 'PAGE_OBJECT') {
399
+ let value = null;
400
+ let isStatic = e?.static;
401
+ let type = this.getHeaderType(item.argFieldId, isStatic);
402
+ switch (type) {
403
+ case 'ref':
404
+ value = _.get(e, e?.static == true ? `dataItem.${item.argFieldId}.id` : `dataItem.f_${item.argFieldId}.id`);
405
+ break;
406
+ case 'special':
407
+ value = _.get(e, `dataItem.${item.argFieldId}`);
408
+ break;
409
+ default:
410
+ value = _.get(e, e?.static == true ? `dataItem.${item.argFieldId}` : `dataItem.f_${item.argFieldId}`);
411
+ break;
412
+ }
413
+ if (item.argFromTo == 'PAGE_OBJECT') {
414
+ let valueName = _.get(e, e?.static == true ? `dataItem.${item.argFieldNameId}` : `dataItem.f_${item.argFieldNameId}`);
415
+ item.argValue = {
416
+ id: value,
417
+ name: valueName,
418
+ };
419
+ }
420
+ else {
421
+ item.argValue = value ? value : null;
422
+ }
423
+ }
424
+ });
425
+ }
426
+ /**
427
+ * 内置时:复制配置中的API
428
+ */
429
+ if (e?.static == true) {
430
+ if (this.basePageSrv?.pageConfig?.api) {
431
+ e.api = this.basePageSrv.pageConfig.api;
432
+ }
433
+ }
434
+ }
435
+ /**
436
+ * 内容列点击事件
437
+ * @param e
438
+ */
439
+ getComponentArg(e) {
440
+ if (e?.arg && Array.isArray(e?.arg)) {
441
+ e.arg.forEach((item) => {
442
+ if (item.argFromTo == 'PAGE' || item.argFromTo == 'PAGE_LIST') {
443
+ let value = null;
444
+ let isStatic = e?.static;
445
+ let type = this.getHeaderType(item.argFieldId, isStatic);
446
+ switch (type) {
447
+ case 'ref':
448
+ value = _.get(e, e?.static == true ? `dataItem.${item.argFieldId}.id` : `dataItem.f_${item.argFieldId}.id`);
449
+ break;
450
+ case 'special':
451
+ value = _.get(e, `dataItem.${item.argFieldId}`);
452
+ break;
453
+ default:
454
+ value = _.get(e, e?.static == true ? `dataItem.${item.argFieldId}` : `dataItem.f_${item.argFieldId}`);
455
+ break;
456
+ }
457
+ item.argValue = value ? value : null;
458
+ }
459
+ });
460
+ }
461
+ }
462
+ getHeaderType(fieldId, isStatic) {
463
+ let header = null;
464
+ if (Array.isArray(this.basePageSrv.listHeader)) {
465
+ this.basePageSrv.listHeader.filter((item) => {
466
+ if (isStatic == true) {
467
+ if (item.key == fieldId) {
468
+ header = item;
469
+ }
470
+ }
471
+ else {
472
+ if (item.key == 'f_' + fieldId) {
473
+ header = item;
474
+ }
475
+ }
476
+ });
477
+ }
478
+ return _.get(header, `explain.type`);
479
+ }
480
+ /**
481
+ * 导出数据
482
+ * @param e
483
+ */
484
+ pageDataExport(e, caller = null, callback = null) {
485
+ this.modal.confirm({
486
+ nzTitle: '提示',
487
+ nzContent: e?.tips ? e?.tips : '您确定需要导出数据吗?',
488
+ nzOnOk: () => {
489
+ this.basePageSrv.exportPageDataList();
490
+ },
491
+ });
492
+ }
493
+ /**
494
+ * 导入数据
495
+ * @param e
496
+ */
497
+ pageDataImports(e, caller = null, callback = null) {
498
+ let modalOptions = {
499
+ nzTitle: '选择导入的数据',
500
+ size: 'upload',
501
+ nzContent: this.importContent,
502
+ };
503
+ this.commPageSrv.dialogService.CreateModelDialog(modalOptions, {
504
+ type: 'upload',
505
+ config: {
506
+ buttonId: e.id,
507
+ pageConfig: this.basePageSrv.pageConfig,
508
+ },
509
+ }, (instance) => {
510
+ if (instance && instance.type && instance.type == 'save') {
511
+ this.getPageData();
512
+ }
513
+ });
514
+ }
515
+ /**
516
+ * 获取当前页面的参数
517
+ * @returns
518
+ */
519
+ getParaDataInfo() {
520
+ let paraData = {
521
+ keyWord: this.basePageSrv.keyWord,
522
+ pageIndex: this.basePageSrv.pageIndex,
523
+ pageSize: this.config.pagination.pageSize
524
+ };
525
+ return paraData;
526
+ }
527
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicService, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.NzModalService }, { token: i2.BasePageService }, { token: i3.BaseCommListService }, { token: i4.BaseCommHeaderService }, { token: i5.BaseCommPageService }, { token: i6.GramBaseDialogService }], target: i0.ɵɵFactoryTarget.Directive });
528
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: BasicService, isStandalone: true, inputs: { config: "config", random: "random", parameter: "parameter", selectData: "selectData" }, outputs: { buttonEvent: "buttonEvent", advancedEvent: "advancedEvent", selectEvent: "selectEvent", componentEvent: "componentEvent", operationEvent: "operationEvent", buttonAfterEvent: "buttonAfterEvent", pageLoadAfterEvent: "pageLoadAfterEvent" }, usesOnChanges: true, ngImport: i0 });
529
+ }
530
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasicService, decorators: [{
531
+ type: Directive
532
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.NzModalService }, { type: i2.BasePageService }, { type: i3.BaseCommListService }, { type: i4.BaseCommHeaderService }, { type: i5.BaseCommPageService }, { type: i6.GramBaseDialogService }], propDecorators: { config: [{
533
+ type: Input
534
+ }], random: [{
535
+ type: Input
536
+ }], parameter: [{
537
+ type: Input
538
+ }], selectData: [{
539
+ type: Input
540
+ }], buttonEvent: [{
541
+ type: Output
542
+ }], advancedEvent: [{
543
+ type: Output
544
+ }], selectEvent: [{
545
+ type: Output
546
+ }], componentEvent: [{
547
+ type: Output
548
+ }], operationEvent: [{
549
+ type: Output
550
+ }], buttonAfterEvent: [{
551
+ type: Output
552
+ }], pageLoadAfterEvent: [{
553
+ type: Output
554
+ }] } });
555
+
556
+ /**
557
+ * Generated bundle index. Do not edit.
558
+ */
559
+
560
+ export { BasicService };
561
+ //# sourceMappingURL=srv.basic.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"srv.basic.mjs","sources":["../../../../packages/biz-list/service/basic/index.ts","../../../../packages/biz-list/service/basic/srv.basic.ts"],"sourcesContent":["import { Directive, Input, OnInit, Output, EventEmitter, OnChanges, ChangeDetectorRef } from '@angular/core';\r\nimport { NzModalService } from 'ng-zorro-antd/modal';\r\n\r\nimport { GramBaseDialogService } from '@ebuilding/base/shared.srv/base-dialog.service';\r\n\r\nimport { FormRuleComponent } from '@ebuilding/biz-form/rule';\r\nimport { FormHistoryComponent } from '@ebuilding/biz-form/history';\r\nimport { FormAdvancedMainComponent } from '@ebuilding/biz-form/advanced';\r\n\r\nimport { BasePageService } from '@ebuilding/biz-list/service/page.service';\r\nimport { BaseCommListService } from '@ebuilding/biz-list/service/commList.service';\r\nimport { BaseCommHeaderService } from '@ebuilding/biz-list/service/commHeader.service';\r\nimport { BaseCommPageService } from '@ebuilding/biz-list/service/commPage.service';\r\n\r\nimport _ from 'lodash';\r\n\r\n@Directive()\r\nexport abstract class BasicService implements OnInit, OnChanges {\r\n keyWord: any = null;\r\n importContent: any = null;\r\n advancedInfo: any = null;\r\n\r\n @Input() config: any = null;\r\n @Input() random: any = null;\r\n @Input() parameter: any = null;\r\n @Input() selectData: any[] = [];\r\n\r\n /**\r\n * 按钮操作事件\r\n */\r\n @Output() buttonEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n /**\r\n * 高级搜索事件\r\n */\r\n @Output() advancedEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n /**\r\n * 行 - 选中事件\r\n */\r\n @Output() selectEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n /**\r\n * 行 - 普通列点击事件\r\n */\r\n @Output() componentEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n /**\r\n * 行 - 操作列点击事件\r\n */\r\n @Output() operationEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n /**\r\n * 按钮操作后调用事件\r\n */\r\n @Output() buttonAfterEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n /**\r\n * 页面数据读取后调用事件\r\n */\r\n @Output() pageLoadAfterEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor(\r\n public cdr: ChangeDetectorRef,\r\n public modal: NzModalService,\r\n public basePageSrv: BasePageService,\r\n public commListSrv: BaseCommListService,\r\n public commHeaderSrv: BaseCommHeaderService,\r\n public commPageSrv: BaseCommPageService,\r\n public dialogSrv: GramBaseDialogService\r\n ) {\r\n this.basePageSrv.cdr = this.cdr;\r\n this.advancedInfo = null;\r\n }\r\n\r\n ngOnChanges(changes: any) {\r\n if (changes['config']) {\r\n this.getPageConfig();\r\n } else if (changes['random']) {\r\n if (this.random) {\r\n this.getPageData();\r\n }\r\n } else if (changes['selectData']) {\r\n this.basePageSrv.selectData = this.selectData;\r\n }\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n getPageConfig() {\r\n this.advancedInfo = null;\r\n this.basePageSrv.pageInit();\r\n this.basePageSrv.pageConfig = _.cloneDeep(this.config);\r\n this.getPageData();\r\n }\r\n\r\n getPageData() {\r\n this.basePageSrv.getPageData(this, () => {\r\n this.pageLoadAfterEvent.emit(this.basePageSrv.listBody);\r\n });\r\n }\r\n\r\n selectDataChange(e: any) {\r\n this.basePageSrv.selectData = e;\r\n this.selectEvent.emit(e);\r\n }\r\n\r\n /**\r\n * 操作按钮(新增、删除、导入、导出等)\r\n * @param e\r\n */\r\n buttonClick(e: any) {\r\n let buttons: any = _.get(this.config, `buttons.data`);\r\n if (buttons && Array.isArray(buttons)) {\r\n let button: any = null;\r\n buttons.filter((v: any) => {\r\n if (v.buttonType == e.buttonType && v.code == e.code) {\r\n button = v;\r\n }\r\n });\r\n if (button) {\r\n if (this.config?.formModel) {\r\n button['defaultModel'] = this.config?.formModel;\r\n }\r\n button['static'] = false;\r\n if (this.basePageSrv.pageConfig?.static == true) {\r\n button['static'] = true;\r\n }\r\n this.getOuterButtonArg(button);\r\n if (button.throw) {\r\n this.buttonEvent.emit(button);\r\n } else {\r\n if (button?.isPreEventRule == true) {\r\n let prePara: any = {\r\n buttonId: button.id,\r\n dataId: null,\r\n pageId: this.basePageSrv.pageConfig.id,\r\n sourceId: this.basePageSrv.pageConfig.id,\r\n };\r\n\r\n this.basePageSrv.runPreEvent(prePara, this, () => {\r\n this.buttonClickAfter(button)\r\n });\r\n } else {\r\n this.buttonClickAfter(button);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n buttonClickAfter(button: any) {\r\n switch (button.buttonType) {\r\n case 'EXPORT':\r\n this.pageDataExport(button, this, (res: any) => {\r\n this.buttonAfterEvent.emit();\r\n });\r\n break;\r\n case 'IMPORTS':\r\n this.pageDataImports(button, this, (res: any) => {\r\n this.buttonAfterEvent.emit();\r\n });\r\n break;\r\n case 'DELETE':\r\n this.basePageSrv.pageDataDeletes(button, this, (res: any) => {\r\n this.buttonAfterEvent.emit();\r\n });\r\n break;\r\n case 'ENABLE':\r\n this.basePageSrv.updateDisables(button, this, (res: any) => {\r\n this.buttonAfterEvent.emit();\r\n });\r\n break;\r\n case 'DISABLED':\r\n this.basePageSrv.updateDisables(button, this, (res: any) => {\r\n this.buttonAfterEvent.emit();\r\n });\r\n break;\r\n default:\r\n this.commPageSrv.event(button, this.getParaDataInfo(), this, (res: any) => {\r\n this.getPageData();\r\n this.buttonAfterEvent.emit();\r\n });\r\n break;\r\n }\r\n }\r\n\r\n /**\r\n * 列表 - 某一行某一列点击事件\r\n * @param e\r\n */\r\n componentClick(e: any) {\r\n let button: any = _.get(this.config, `list.buttons.component.${e.key}`);\r\n if (button) {\r\n button['dataId'] = e.dataId;\r\n button['dataItem'] = e.dataItem;\r\n button['static'] = false;\r\n button['module'] = { pageIndex: this.basePageSrv.pageIndex, keyWord: this.basePageSrv.keyWord };\r\n if (this.basePageSrv.pageConfig?.static == true) {\r\n button['static'] = true;\r\n }\r\n this.getComponentArg(button);\r\n if (button.responseType == 'LIST') {\r\n button['isTag'] = false;\r\n }\r\n if (button.throw) {\r\n this.componentEvent.emit(button);\r\n } else {\r\n this.commPageSrv.event(button, this.getParaDataInfo(), this, (res: any) => {\r\n this.getPageData();\r\n });\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 列表 - 某一行的操作列点击事件\r\n * @param e\r\n */\r\n operationClick(e: any) {\r\n let button: any = _.get(this.config, `list.buttons.operation.${e.key}`);\r\n if (button) {\r\n button['dataId'] = e.dataId;\r\n button['dataItem'] = e.dataItem;\r\n button['static'] = false;\r\n if (this.basePageSrv.pageConfig?.static == true) {\r\n button['static'] = true;\r\n }\r\n\r\n this.getInnerButtonArg(button);\r\n if (button.throw) {\r\n this.operationEvent.emit(button);\r\n } else {\r\n if (button?.isPreEventRule == true) {\r\n let prePara: any = {\r\n buttonId: button.id,\r\n dataId: null,\r\n pageId: this.basePageSrv?.pageConfig?.id,\r\n sourceId: this.basePageSrv?.pageConfig?.id,\r\n rowData: e?.dataItem\r\n };\r\n\r\n this.basePageSrv.runPreEvent(prePara, this, () => {\r\n this.operationClickAfter(button)\r\n });\r\n } else {\r\n this.operationClickAfter(button);\r\n }\r\n }\r\n }\r\n }\r\n\r\n operationClickAfter(button: any) {\r\n switch (button.buttonType) {\r\n case 'CANCEL':\r\n this.basePageSrv.pageDataCancel(button, this, (res: any) => {\r\n this.buttonAfterEvent.emit();\r\n });\r\n break;\r\n case 'DELETE':\r\n this.basePageSrv.pageDataDelete(button, this, (res: any) => {\r\n this.buttonAfterEvent.emit();\r\n });\r\n break;\r\n case 'ENABLE':\r\n this.basePageSrv.updateDisable(button, this, (res: any) => {\r\n this.buttonAfterEvent.emit();\r\n });\r\n break;\r\n case 'DISABLED':\r\n this.basePageSrv.updateDisable(button, this, (res: any) => {\r\n this.buttonAfterEvent.emit();\r\n });\r\n break;\r\n case 'COPY':\r\n this.basePageSrv.pageDataCopy(button, this, (res: any) => {\r\n this.buttonAfterEvent.emit();\r\n });\r\n break;\r\n case 'HISTORY':\r\n this.historyClick(button);\r\n break;\r\n default:\r\n this.commPageSrv.event(button, this.getParaDataInfo(), this, (res: any) => {\r\n this.getPageData();\r\n this.buttonAfterEvent.emit();\r\n });\r\n break;\r\n }\r\n }\r\n\r\n rowRuleClick(e: any) {\r\n let modalOptions: any = {\r\n nzTitle: '配置适用人员',\r\n size: 'upload',\r\n nzContent: FormRuleComponent,\r\n };\r\n\r\n this.commPageSrv.dialogService.CreateDrawerDialog(\r\n modalOptions,\r\n {\r\n config: {\r\n pageId: this.basePageSrv.pageConfig.id,\r\n dataId: e.dataId,\r\n api: this.basePageSrv.pageConfig?.api,\r\n },\r\n },\r\n (instance: any) => {\r\n if (instance && instance.type && instance.type == 'save') {\r\n }\r\n },\r\n );\r\n }\r\n\r\n historyClick(e: any) {\r\n let modalOptions: any = {\r\n nzTitle: '查看历史记录',\r\n nzContent: FormHistoryComponent,\r\n };\r\n\r\n this.commPageSrv.dialogService.CreateDrawerDialog(\r\n modalOptions,\r\n {\r\n config: {\r\n pageId: this.basePageSrv.pageConfig.id,\r\n dataId: e.dataId,\r\n },\r\n },\r\n (instance: any) => {\r\n if (instance && instance.type && instance.type == 'save') {\r\n }\r\n },\r\n );\r\n }\r\n\r\n /**\r\n * 高级搜索\r\n */\r\n advancedQueryClick() {\r\n if (this.config?.advanced && this.config?.advanced?.isAdvanced && this.config?.advanced?.advancedForm) {\r\n if (this.config?.advanced?.throw == true) {\r\n this.advancedEvent.emit();\r\n } else {\r\n let modalOptions: any = {\r\n nzTitle: \"高级搜索\",\r\n size: this.config?.advanced?.advancedSize ? this.config?.advanced?.advancedSize : \"medium\",\r\n nzContent: FormAdvancedMainComponent,\r\n nzClosable: true,\r\n };\r\n\r\n let config: any = {\r\n type: \"ADD\",\r\n buttonCode: null,\r\n id: null,\r\n formId: this.config?.advanced?.advancedForm,\r\n moduleCode: null,\r\n api: null,\r\n argInfo: null,\r\n model: this.advancedInfo\r\n };\r\n this.dialogSrv.CreateModelDialog(\r\n modalOptions,\r\n {\r\n config: config,\r\n },\r\n (type: any, instance: any, modal: any) => {\r\n let res: any = instance.getModelData();\r\n modal.destroy();\r\n if (res) {\r\n this.advancedInfo = instance.model;\r\n this.basePageSrv.pageAdvancedClick(res);\r\n } else {\r\n this.advancedInfo = null;\r\n this.basePageSrv.pageAdvancedClick(null);\r\n }\r\n },\r\n );\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 删除高级搜索\r\n */\r\n advancedDelClick() {\r\n this.advancedInfo = null;\r\n this.basePageSrv.pageAdvancedClick(null);\r\n }\r\n\r\n /**\r\n * 按钮外部点击事件\r\n * @param e\r\n */\r\n private getOuterButtonArg(e: any) {\r\n if (e?.arg && Array.isArray(e?.arg)) {\r\n e.arg.forEach((item: any) => {\r\n switch (item.argFromTo) {\r\n case 'FIXED':\r\n item.argValue = item.argValue;\r\n break;\r\n case 'PAGE_PROCESS':\r\n if (item?.argVar) {\r\n if (this.config?.parameterArg && this.config?.parameterArg[item.argVar]) {\r\n item.argValue = this.config.parameterArg[item.argVar];\r\n }\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * 内置时:复制配置中的API\r\n */\r\n if (e?.static == true) {\r\n if (this.basePageSrv?.pageConfig?.api) {\r\n e.api = this.basePageSrv.pageConfig.api;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 操作列点击事件\r\n * @param e\r\n */\r\n private getInnerButtonArg(e: any) {\r\n if (e?.arg && Array.isArray(e?.arg)) {\r\n e.arg.forEach((item: any) => {\r\n if (item.argFromTo == 'PAGE' || item.argFromTo == 'PAGE_LIST' || item.argFromTo == 'PAGE_OBJECT') {\r\n let value: any = null;\r\n let isStatic: boolean = e?.static;\r\n let type: any = this.getHeaderType(item.argFieldId, isStatic);\r\n switch (type) {\r\n case 'ref':\r\n value = _.get(e, e?.static == true ? `dataItem.${item.argFieldId}.id` : `dataItem.f_${item.argFieldId}.id`);\r\n break;\r\n case 'special':\r\n value = _.get(e, `dataItem.${item.argFieldId}`);\r\n break;\r\n default:\r\n value = _.get(e, e?.static == true ? `dataItem.${item.argFieldId}` : `dataItem.f_${item.argFieldId}`);\r\n break;\r\n }\r\n if (item.argFromTo == 'PAGE_OBJECT') {\r\n let valueName: any = _.get(e, e?.static == true ? `dataItem.${item.argFieldNameId}` : `dataItem.f_${item.argFieldNameId}`);\r\n item.argValue = {\r\n id: value,\r\n name: valueName,\r\n };\r\n } else {\r\n item.argValue = value ? value : null;\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * 内置时:复制配置中的API\r\n */\r\n if (e?.static == true) {\r\n if (this.basePageSrv?.pageConfig?.api) {\r\n e.api = this.basePageSrv.pageConfig.api;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * 内容列点击事件\r\n * @param e\r\n */\r\n private getComponentArg(e: any) {\r\n if (e?.arg && Array.isArray(e?.arg)) {\r\n e.arg.forEach((item: any) => {\r\n if (item.argFromTo == 'PAGE' || item.argFromTo == 'PAGE_LIST') {\r\n let value: any = null;\r\n let isStatic: boolean = e?.static;\r\n let type: any = this.getHeaderType(item.argFieldId, isStatic);\r\n switch (type) {\r\n case 'ref':\r\n value = _.get(e, e?.static == true ? `dataItem.${item.argFieldId}.id` : `dataItem.f_${item.argFieldId}.id`);\r\n break;\r\n case 'special':\r\n value = _.get(e, `dataItem.${item.argFieldId}`);\r\n break;\r\n default:\r\n value = _.get(e, e?.static == true ? `dataItem.${item.argFieldId}` : `dataItem.f_${item.argFieldId}`);\r\n break;\r\n }\r\n item.argValue = value ? value : null;\r\n }\r\n });\r\n }\r\n }\r\n\r\n private getHeaderType(fieldId: any, isStatic: boolean) {\r\n let header: any = null;\r\n if (Array.isArray(this.basePageSrv.listHeader)) {\r\n this.basePageSrv.listHeader.filter((item: any) => {\r\n if (isStatic == true) {\r\n if (item.key == fieldId) {\r\n header = item;\r\n }\r\n } else {\r\n if (item.key == 'f_' + fieldId) {\r\n header = item;\r\n }\r\n }\r\n });\r\n }\r\n return _.get(header, `explain.type`);\r\n }\r\n\r\n /**\r\n * 导出数据\r\n * @param e\r\n */\r\n private pageDataExport(e: any, caller: any = null, callback: any = null) {\r\n this.modal.confirm({\r\n nzTitle: '提示',\r\n nzContent: e?.tips ? e?.tips : '您确定需要导出数据吗?',\r\n nzOnOk: () => {\r\n this.basePageSrv.exportPageDataList();\r\n },\r\n });\r\n }\r\n\r\n /**\r\n * 导入数据\r\n * @param e\r\n */\r\n private pageDataImports(e: any, caller: any = null, callback: any = null) {\r\n let modalOptions: any = {\r\n nzTitle: '选择导入的数据',\r\n size: 'upload',\r\n nzContent: this.importContent,\r\n };\r\n\r\n this.commPageSrv.dialogService.CreateModelDialog(\r\n modalOptions,\r\n {\r\n type: 'upload',\r\n config: {\r\n buttonId: e.id,\r\n pageConfig: this.basePageSrv.pageConfig,\r\n },\r\n },\r\n (instance: any) => {\r\n if (instance && instance.type && instance.type == 'save') {\r\n this.getPageData();\r\n }\r\n },\r\n );\r\n }\r\n\r\n /**\r\n * 获取当前页面的参数\r\n * @returns \r\n */\r\n private getParaDataInfo() {\r\n let paraData: any = {\r\n keyWord: this.basePageSrv.keyWord,\r\n pageIndex: this.basePageSrv.pageIndex,\r\n pageSize: this.config.pagination.pageSize\r\n };\r\n return paraData;\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}