@ebuilding/dialog 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 (103) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +0 -0
  3. package/basic/index.d.ts +1 -0
  4. package/basic/src/default/index.d.ts +42 -0
  5. package/basic/src/epage/index.d.ts +52 -0
  6. package/basic/src/index.module.d.ts +8 -0
  7. package/basic/src/public_api.d.ts +3 -0
  8. package/common/list/index.d.ts +1 -0
  9. package/common/list/src/component/card/index.d.ts +18 -0
  10. package/common/list/src/component/table/index.d.ts +18 -0
  11. package/common/list/src/component/table-tree/index.d.ts +16 -0
  12. package/common/list/src/default/index.d.ts +30 -0
  13. package/common/list/src/index.module.d.ts +10 -0
  14. package/common/list/src/public_api.d.ts +2 -0
  15. package/common/list/src/service/list.service.d.ts +38 -0
  16. package/common/list-tree/index.d.ts +1 -0
  17. package/common/list-tree/src/component/list/index.d.ts +16 -0
  18. package/common/list-tree/src/component/tree/index.d.ts +15 -0
  19. package/common/list-tree/src/default/index.d.ts +26 -0
  20. package/common/list-tree/src/index.module.d.ts +10 -0
  21. package/common/list-tree/src/main/index.d.ts +16 -0
  22. package/common/list-tree/src/public_api.d.ts +3 -0
  23. package/common/list-tree/src/service/tree.service.d.ts +61 -0
  24. package/common/page.service/index.d.ts +127 -0
  25. package/default/index.d.ts +1 -0
  26. package/default/src/index.module.d.ts +8 -0
  27. package/default/src/main/index.d.ts +18 -0
  28. package/default/src/public_api.d.ts +2 -0
  29. package/default/src/service/dialog.service.d.ts +14 -0
  30. package/default/src/tag/index.d.ts +14 -0
  31. package/dict/index.d.ts +1 -0
  32. package/dict/src/components/etable/index.d.ts +20 -0
  33. package/dict/src/components/eview/index.d.ts +20 -0
  34. package/dict/src/default/index.d.ts +21 -0
  35. package/dict/src/index.module.d.ts +9 -0
  36. package/dict/src/public_api.d.ts +2 -0
  37. package/emp/index.d.ts +1 -0
  38. package/emp/src/default/index.d.ts +16 -0
  39. package/emp/src/index.module.d.ts +9 -0
  40. package/emp/src/list/index.d.ts +22 -0
  41. package/emp/src/org/index.d.ts +45 -0
  42. package/emp/src/public_api.d.ts +2 -0
  43. package/epage/index.d.ts +1 -0
  44. package/epage/src/default/index.d.ts +61 -0
  45. package/epage/src/index.module.d.ts +7 -0
  46. package/epage/src/public_api.d.ts +2 -0
  47. package/fesm2022/basic.mjs +407 -0
  48. package/fesm2022/basic.mjs.map +1 -0
  49. package/fesm2022/common.list-tree.mjs +475 -0
  50. package/fesm2022/common.list-tree.mjs.map +1 -0
  51. package/fesm2022/common.list.mjs +315 -0
  52. package/fesm2022/common.list.mjs.map +1 -0
  53. package/fesm2022/default.mjs +168 -0
  54. package/fesm2022/default.mjs.map +1 -0
  55. package/fesm2022/dict.mjs +203 -0
  56. package/fesm2022/dict.mjs.map +1 -0
  57. package/fesm2022/ebuilding-dialog.mjs +6 -0
  58. package/fesm2022/ebuilding-dialog.mjs.map +1 -0
  59. package/fesm2022/emp.mjs +240 -0
  60. package/fesm2022/emp.mjs.map +1 -0
  61. package/fesm2022/epage.mjs +320 -0
  62. package/fesm2022/epage.mjs.map +1 -0
  63. package/fesm2022/list.mjs +150 -0
  64. package/fesm2022/list.mjs.map +1 -0
  65. package/fesm2022/org.mjs +139 -0
  66. package/fesm2022/org.mjs.map +1 -0
  67. package/fesm2022/page.service.mjs +701 -0
  68. package/fesm2022/page.service.mjs.map +1 -0
  69. package/fesm2022/position.mjs +316 -0
  70. package/fesm2022/position.mjs.map +1 -0
  71. package/fesm2022/ref.mjs +319 -0
  72. package/fesm2022/ref.mjs.map +1 -0
  73. package/fesm2022/tree.mjs +165 -0
  74. package/fesm2022/tree.mjs.map +1 -0
  75. package/index.d.ts +1 -0
  76. package/list/index.d.ts +1 -0
  77. package/list/src/default/index.d.ts +26 -0
  78. package/list/src/index.module.d.ts +7 -0
  79. package/list/src/public_api.d.ts +2 -0
  80. package/org/index.d.ts +1 -0
  81. package/org/src/default/index.d.ts +19 -0
  82. package/org/src/index.module.d.ts +8 -0
  83. package/org/src/info/index.d.ts +21 -0
  84. package/org/src/public_api.d.ts +2 -0
  85. package/package.json +72 -0
  86. package/position/index.d.ts +1 -0
  87. package/position/src/default/index.d.ts +18 -0
  88. package/position/src/index.module.d.ts +10 -0
  89. package/position/src/list/index.d.ts +22 -0
  90. package/position/src/org/index.d.ts +45 -0
  91. package/position/src/public_api.d.ts +2 -0
  92. package/position/src/service.d.ts +5 -0
  93. package/position/src/tree/index.d.ts +26 -0
  94. package/ref/index.d.ts +1 -0
  95. package/ref/src/default/index.d.ts +38 -0
  96. package/ref/src/index.module.d.ts +8 -0
  97. package/ref/src/main/index.d.ts +37 -0
  98. package/ref/src/public_api.d.ts +3 -0
  99. package/tree/index.d.ts +1 -0
  100. package/tree/src/default/index.d.ts +23 -0
  101. package/tree/src/index.module.d.ts +8 -0
  102. package/tree/src/page-tree/index.d.ts +29 -0
  103. package/tree/src/public_api.d.ts +3 -0
@@ -0,0 +1,701 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable } from '@angular/core';
3
+ import { Header_Config } from '@ebuilding/base/shared.config/list/header';
4
+ import { ModuleAPI } from '@ebuilding/base/shared.var/shared.constant';
5
+ import { getGramAppType } from '@ebuilding/base/shared.util/tool';
6
+ import * as _ from 'lodash';
7
+ import * as i1 from '@angular/router';
8
+ import * as i2 from '@delon/theme';
9
+ import * as i3 from 'ng-zorro-antd/modal';
10
+ import * as i4 from 'ng-zorro-antd/message';
11
+ import * as i5 from '@ebuilding/base/shared.srv/base-dialog.service';
12
+
13
+ class BasePageService {
14
+ router;
15
+ activatedRoute;
16
+ http;
17
+ modal;
18
+ msg;
19
+ dialogSrv;
20
+ cdr;
21
+ /*
22
+ 页面加载状态
23
+ */
24
+ loading = true;
25
+ /**
26
+ * 汇总统计状态
27
+ */
28
+ collectLoading = true;
29
+ showCheckbox = false;
30
+ keyWord = '';
31
+ pageIndex = 1;
32
+ listTotal = 0;
33
+ listBody = [];
34
+ listHeader = [];
35
+ listTemplate = [];
36
+ cardConfig = null;
37
+ selectData = [];
38
+ pageConfig = {};
39
+ orderData = [];
40
+ height = null;
41
+ listCollect = [];
42
+ advancedPara = null;
43
+ constructor(router, activatedRoute, http, modal, msg, dialogSrv) {
44
+ this.router = router;
45
+ this.activatedRoute = activatedRoute;
46
+ this.http = http;
47
+ this.modal = modal;
48
+ this.msg = msg;
49
+ this.dialogSrv = dialogSrv;
50
+ }
51
+ pageInit() {
52
+ this.loading = true;
53
+ this.showCheckbox = false;
54
+ this.keyWord = '';
55
+ this.pageIndex = 1;
56
+ this.listTotal = 0;
57
+ this.listBody = [];
58
+ this.listHeader = [];
59
+ this.selectData = [];
60
+ this.pageConfig = {};
61
+ this.orderData = [];
62
+ this.listTemplate = [];
63
+ this.listCollect = [];
64
+ this.cardConfig = null;
65
+ if (this.activatedRoute.snapshot.queryParams) {
66
+ if (this.activatedRoute.snapshot.queryParams["pageIndex"] && this.activatedRoute.snapshot.queryParams["pageSize"]) {
67
+ this.pageIndex = this.activatedRoute.snapshot.queryParams["pageIndex"];
68
+ _.set(this.pageConfig, "pagination.pageSize", this.activatedRoute.snapshot.queryParams["pageSize"]);
69
+ }
70
+ if (this.activatedRoute.snapshot.queryParams["keyWord"]) {
71
+ this.keyWord = this.activatedRoute.snapshot.queryParams["keyWord"];
72
+ }
73
+ }
74
+ }
75
+ getPageData(caller = null, callback = null) {
76
+ if (this.pageConfig?.parameter == undefined || this.pageConfig?.parameter == null) {
77
+ this.pageConfig.parameter = {};
78
+ }
79
+ if (this.pageConfig?.args && this.pageConfig?.args.length > 0) {
80
+ this.pageConfig.args.forEach((item) => {
81
+ switch (item.argUseTo) {
82
+ case 'LIST':
83
+ if (item?.argFieldCode) {
84
+ if (this.pageConfig?.parameterArg) {
85
+ let argValue = _.get(this.pageConfig, `parameterArg.${item.argName}`);
86
+ if (argValue) {
87
+ this.pageConfig.parameter[item.argTableCode + '.' + item.argFieldCode] = argValue;
88
+ }
89
+ }
90
+ }
91
+ break;
92
+ default:
93
+ break;
94
+ }
95
+ });
96
+ }
97
+ if (this.pageConfig && this.pageConfig?.quick && this.pageConfig?.quick?.show == true && this.pageConfig?.quick?.data) {
98
+ Object.keys(this.pageConfig.quick.data).forEach((e) => {
99
+ let obj = this.pageConfig.quick.data[e];
100
+ if (obj?.selected) {
101
+ let para = {};
102
+ para[e] = obj.selected;
103
+ this.pageConfig.parameter = Object.assign(this.pageConfig.parameter, para);
104
+ }
105
+ });
106
+ }
107
+ if (this.pageConfig && this.pageConfig?.headers && this.pageConfig?.headers.length > 0) {
108
+ this.listHeader = _.cloneDeep(this.pageConfig.headers);
109
+ }
110
+ if (this.pageConfig && this.pageConfig?.layout && this.pageConfig?.layout.length > 0) {
111
+ this.listTemplate = _.cloneDeep(this.pageConfig.layout);
112
+ }
113
+ if (this.pageConfig && this.pageConfig?.cardConfig) {
114
+ this.cardConfig = _.cloneDeep(this.pageConfig.cardConfig);
115
+ }
116
+ this.getCollectList();
117
+ this.getPageDataList(caller, callback);
118
+ }
119
+ /**
120
+ * 提交前事件
121
+ * @param data
122
+ * @param caller
123
+ * @param callback
124
+ */
125
+ runPreEvent(data, caller = null, callback = null) {
126
+ let rowData = null;
127
+ if (data?.rowData) {
128
+ rowData = _.cloneDeep(data.rowData);
129
+ if (rowData?.operation) {
130
+ delete rowData.operation;
131
+ }
132
+ }
133
+ this.loading = true;
134
+ this.http
135
+ .post(`${ModuleAPI.rule}/rule/run/eventFormRule`, {
136
+ buttonId: data?.buttonId,
137
+ dataId: data?.id,
138
+ formId: data?.pageId,
139
+ sourceId: data?.pageId,
140
+ sourceType: 'PAGE_BUTTON',
141
+ requestJson: rowData
142
+ })
143
+ .subscribe((res) => {
144
+ this.loading = false;
145
+ if (res?.result) {
146
+ switch (res?.result?.eventResult) {
147
+ case 'NONE':
148
+ if (callback != undefined && callback != null && callback != '') {
149
+ callback.call(caller);
150
+ }
151
+ break;
152
+ case 'TIPS':
153
+ this.msg.error(res?.result?.tips);
154
+ break;
155
+ case 'CONFIRM':
156
+ this.modal.confirm({
157
+ nzTitle: '提示',
158
+ nzContent: `${res?.result?.tips}`,
159
+ nzOnOk: () => {
160
+ if (callback != undefined && callback != null && callback != '') {
161
+ callback.call(caller);
162
+ }
163
+ },
164
+ });
165
+ break;
166
+ }
167
+ }
168
+ else {
169
+ if (callback != undefined && callback != null && callback != '') {
170
+ callback.call(caller);
171
+ }
172
+ }
173
+ });
174
+ }
175
+ rowChange(e) { }
176
+ selectChange(e) { }
177
+ /**
178
+ * 模糊搜索
179
+ */
180
+ pageQueryClick() {
181
+ this.getCollectList();
182
+ this.getPageDataList();
183
+ }
184
+ /**
185
+ * 高级搜索
186
+ * @param e
187
+ */
188
+ pageAdvancedClick(e) {
189
+ this.advancedPara = e;
190
+ this.pageIndex = 1;
191
+ this.getCollectList();
192
+ this.getPageDataList();
193
+ }
194
+ /**
195
+ * 快捷搜索
196
+ * @param e
197
+ */
198
+ pageQuickClick(e) {
199
+ if (e) {
200
+ if (this.pageConfig?.parameter == undefined || this.pageConfig?.parameter == null) {
201
+ this.pageConfig.parameter = {};
202
+ }
203
+ this.pageConfig.parameter = Object.assign(this.pageConfig.parameter, e);
204
+ }
205
+ this.getCollectList();
206
+ this.getPageDataList();
207
+ }
208
+ /**
209
+ * 列表 - 翻页事件
210
+ * @param e
211
+ */
212
+ listPageIndexChange(e) {
213
+ if (e > 0) {
214
+ this.pageIndex = e;
215
+ }
216
+ if (this.pageIndex === undefined) {
217
+ this.pageIndex = 1;
218
+ }
219
+ this.getPageDataList();
220
+ }
221
+ /**
222
+ * 列表 - 页条数发生变化事件
223
+ * @param e
224
+ */
225
+ listPageSizeChange(e) {
226
+ if (e > 0) {
227
+ this.pageConfig.pagination.pageSize = e;
228
+ }
229
+ this.getPageDataList();
230
+ }
231
+ /**
232
+ * 列表 - 排序
233
+ * @param e
234
+ */
235
+ listSortChange(e) {
236
+ this.orderData = [];
237
+ if (e) {
238
+ if (e.sortOrder == 'ascend') {
239
+ this.orderData = [{ column: e.field, asc: true }];
240
+ }
241
+ else if (e.sortOrder == 'descend') {
242
+ this.orderData = [{ column: e.field, asc: false }];
243
+ }
244
+ }
245
+ this.getPageDataList();
246
+ }
247
+ /**
248
+ * 汇总统计数据
249
+ */
250
+ getCollectList() {
251
+ if (this.pageConfig && this.pageConfig?.collect && this.pageConfig?.collect?.show == true) {
252
+ /**
253
+ * 进行查询
254
+ */
255
+ if (this.pageConfig && this.pageConfig?.api?.collectAPI) {
256
+ this.collectLoading = true;
257
+ /**
258
+ * 查询参数
259
+ */
260
+ let apiUrl = this.pageConfig?.api?.collectAPI;
261
+ let postParameter = this.getQueryParameter(apiUrl);
262
+ //this.pageConfig.parameter = postParameter.parameter;
263
+ this.http.post(`${apiUrl}`, postParameter).subscribe((res) => {
264
+ this.listCollect = [];
265
+ if (res && res?.success && res?.result && Array.isArray(res.result)) {
266
+ this.listCollect = res.result;
267
+ }
268
+ this.collectLoading = false;
269
+ this.cdr.detectChanges();
270
+ }, (res) => {
271
+ this.collectLoading = false;
272
+ this.listCollect = [];
273
+ this.cdr.detectChanges();
274
+ });
275
+ }
276
+ else {
277
+ this.collectLoading = false;
278
+ this.listCollect = [];
279
+ this.cdr.detectChanges();
280
+ }
281
+ }
282
+ else {
283
+ this.collectLoading = false;
284
+ }
285
+ }
286
+ /*
287
+ 获取列表数据
288
+ */
289
+ getPageDataList(caller = null, callback = null) {
290
+ /**
291
+ * 进行查询
292
+ */
293
+ if (this.pageConfig && this.pageConfig?.api?.listAPI) {
294
+ this.loading = true;
295
+ /**
296
+ * 查询参数
297
+ */
298
+ let apiUrl = this.pageConfig?.api?.listAPI;
299
+ let postParameter = this.getQueryParameter(apiUrl);
300
+ //this.pageConfig.parameter = postParameter.parameter;
301
+ this.http.post(`${apiUrl}`, postParameter).subscribe((res) => {
302
+ if (getGramAppType(apiUrl) == "FLY") {
303
+ res = res.data;
304
+ }
305
+ else {
306
+ res = res.result;
307
+ }
308
+ let arr = [];
309
+ if (res != undefined && res != null) {
310
+ this.listTotal = res?.total;
311
+ if (res?.list) {
312
+ arr = res?.list;
313
+ }
314
+ else {
315
+ arr = res;
316
+ }
317
+ this.getInnerButton(arr);
318
+ this.listBody = arr;
319
+ if (this.listHeader == undefined || this.listHeader == null || this.listHeader.length == 0) {
320
+ this.listHeader = Header_Config[this.pageConfig.list.headerCode];
321
+ }
322
+ }
323
+ else {
324
+ if (this.listHeader == undefined || this.listHeader == null || this.listHeader.length == 0) {
325
+ this.listHeader = Header_Config[this.pageConfig.list.headerCode];
326
+ }
327
+ }
328
+ this.loading = false;
329
+ this.cdr.detectChanges();
330
+ if (callback != undefined && callback != null && callback != '') {
331
+ callback.call(caller);
332
+ }
333
+ }, (res) => {
334
+ this.loading = false;
335
+ this.cdr.detectChanges();
336
+ });
337
+ }
338
+ }
339
+ getInnerButton(data) {
340
+ if (this.pageConfig?.list?.buttons?.operation) {
341
+ let operation = this.pageConfig?.list?.buttons?.operation;
342
+ if (data && Array.isArray(data) && data.length > 0) {
343
+ for (const key in operation) {
344
+ if (operation.hasOwnProperty(key)) {
345
+ const button = operation[key];
346
+ if (button?.izBuilt == true && button?.izRole == false) {
347
+ data.forEach((item) => {
348
+ if (item?.operation == undefined || item?.operation == null) {
349
+ item["operation"] = [];
350
+ }
351
+ let isExsits = false;
352
+ if (item.operation.length > 0) {
353
+ isExsits = item["operation"].some((op) => { return op?.code == key; });
354
+ }
355
+ if (isExsits == false) {
356
+ item.operation.push({
357
+ code: key,
358
+ name: button?.name,
359
+ type: button?.type,
360
+ izRole: false
361
+ });
362
+ }
363
+ });
364
+ }
365
+ }
366
+ }
367
+ }
368
+ }
369
+ }
370
+ /**
371
+ * 查询参数
372
+ * @param url
373
+ * @returns
374
+ */
375
+ getQueryParameter(url) {
376
+ let pageSize = 20;
377
+ if (this.pageConfig?.pagination?.pageSize) {
378
+ pageSize = this.pageConfig?.pagination?.pageSize;
379
+ }
380
+ if (this.pageConfig?.pagination && this.pageConfig?.pagination?.show == false) {
381
+ pageSize = 999999999;
382
+ }
383
+ let postParameter = {
384
+ pageIndex: this.pageIndex,
385
+ pageSize: pageSize,
386
+ orders: this.orderData,
387
+ pageId: this.pageConfig?.id,
388
+ subId: this.pageConfig?.subId ? this.pageConfig?.subId : null,
389
+ parameter: {
390
+ keyWord: null,
391
+ },
392
+ };
393
+ if (getGramAppType(url) == "FLY") {
394
+ postParameter["pageNum"] = this.pageIndex;
395
+ }
396
+ if (this.pageConfig?.parameter) {
397
+ postParameter.parameter = Object.assign(postParameter.parameter, this.pageConfig.parameter);
398
+ }
399
+ if (this.pageConfig?.list?.paramsInfo) {
400
+ postParameter.parameter = Object.assign(postParameter.parameter, this.pageConfig?.list?.paramsInfo);
401
+ }
402
+ if (this.pageConfig?.parentPrimary) {
403
+ let p = {};
404
+ p[this.pageConfig.parentPrimary.key] = this.pageConfig.parentPrimary.value;
405
+ postParameter.parameter = Object.assign(postParameter.parameter, p);
406
+ }
407
+ if (this.pageConfig?.queryParameter) {
408
+ postParameter = Object.assign(postParameter, this.pageConfig.queryParameter);
409
+ }
410
+ if (this.advancedPara && Object.keys(this.advancedPara).length > 0) {
411
+ postParameter.parameter = Object.assign(postParameter.parameter, this.advancedPara);
412
+ }
413
+ /**
414
+ * 关键字
415
+ */
416
+ postParameter.parameter.keyWord = this.keyWord;
417
+ return postParameter;
418
+ }
419
+ /*
420
+ 导出列表数据
421
+ */
422
+ exportPageDataList() {
423
+ this.loading = true;
424
+ let pageSize = 20;
425
+ if (this.pageConfig?.pagination?.pageSize) {
426
+ pageSize = this.pageConfig?.pagination?.pageSize;
427
+ }
428
+ if (this.pageConfig?.pagination && this.pageConfig?.pagination?.show == false) {
429
+ pageSize = 999999999;
430
+ }
431
+ let postParameter = {
432
+ pageIndex: this.pageIndex,
433
+ pageSize: pageSize,
434
+ orders: this.orderData,
435
+ pageId: this.pageConfig?.id,
436
+ subId: this.pageConfig?.subId ? this.pageConfig?.subId : null,
437
+ parameter: {
438
+ keyWord: null,
439
+ },
440
+ };
441
+ if (this.pageConfig?.parameter) {
442
+ postParameter.parameter = Object.assign(postParameter.parameter, this.pageConfig.parameter);
443
+ }
444
+ if (this.pageConfig?.list?.paramsInfo) {
445
+ postParameter.parameter = Object.assign(postParameter.parameter, this.pageConfig?.list?.paramsInfo);
446
+ }
447
+ if (this.pageConfig?.parentPrimary) {
448
+ let p = {};
449
+ p[this.pageConfig.parentPrimary.key] = this.pageConfig.parentPrimary.value;
450
+ postParameter.parameter = Object.assign(postParameter.parameter, p);
451
+ }
452
+ if (this.pageConfig?.queryParameter) {
453
+ postParameter = Object.assign(postParameter, this.pageConfig.queryParameter);
454
+ }
455
+ /**
456
+ * 关键字
457
+ */
458
+ postParameter.parameter.keyWord = this.keyWord;
459
+ let apiUrl = this.pageConfig?.api?.exportAPI;
460
+ if (apiUrl == undefined || apiUrl == null) {
461
+ apiUrl = `${ModuleAPI.user}/user/excel/export`;
462
+ }
463
+ if (this.pageConfig) {
464
+ this.pageConfig.parameter = postParameter?.parameter;
465
+ this.http.post(`${apiUrl}`, postParameter).subscribe((res) => {
466
+ res = res.result;
467
+ this.loading = false;
468
+ }, (res) => {
469
+ this.loading = false;
470
+ });
471
+ }
472
+ }
473
+ /**
474
+ * 撤销
475
+ * @param e
476
+ * @param caller
477
+ * @param callback
478
+ */
479
+ pageDataCancel(e, caller = null, callback = null) {
480
+ this.modal.confirm({
481
+ nzTitle: '提示',
482
+ nzContent: e?.tips ? e?.tips : '您确定需要撤销该项吗?',
483
+ nzOnOk: () => {
484
+ this.loading = true;
485
+ if (this.pageConfig?.api && this.pageConfig?.api?.cancelAPI) {
486
+ const url = `${this.pageConfig.api.cancelAPI}`;
487
+ this.http.post(url, { pageId: this.pageConfig.id, id: e.dataId }).subscribe((res) => {
488
+ if (res.success) {
489
+ this.msg.success('操作成功!');
490
+ this.getPageDataList();
491
+ if (callback != undefined && callback != null && callback != '') {
492
+ callback.call(caller);
493
+ }
494
+ }
495
+ else {
496
+ this.loading = false;
497
+ }
498
+ });
499
+ }
500
+ else {
501
+ this.loading = false;
502
+ }
503
+ },
504
+ });
505
+ }
506
+ /**
507
+ * 删除一条数据
508
+ * @param e
509
+ */
510
+ pageDataDelete(e, caller = null, callback = null) {
511
+ this.modal.confirm({
512
+ nzTitle: '提示',
513
+ nzContent: e?.tips ? e?.tips : '您确定需要删除该项吗?',
514
+ nzOnOk: () => {
515
+ this.loading = true;
516
+ if (this.pageConfig?.api && this.pageConfig?.api?.deleteAPI) {
517
+ const url = `${this.pageConfig.api.deleteAPI}`;
518
+ this.http.post(url, { pageId: this.pageConfig.id, id: e.dataId }).subscribe((res) => {
519
+ if (res.success) {
520
+ this.msg.success('操作成功!');
521
+ this.getPageDataList();
522
+ if (callback != undefined && callback != null && callback != '') {
523
+ callback.call(caller);
524
+ }
525
+ }
526
+ else {
527
+ this.loading = false;
528
+ }
529
+ });
530
+ }
531
+ else {
532
+ this.loading = false;
533
+ }
534
+ },
535
+ });
536
+ }
537
+ /**
538
+ * 拷贝一条数据
539
+ * @param e
540
+ */
541
+ pageDataCopy(e, caller = null, callback = null) {
542
+ this.modal.confirm({
543
+ nzTitle: '提示',
544
+ nzContent: e?.tips ? e?.tips : '您确定需要拷贝该项吗?',
545
+ nzOnOk: () => {
546
+ this.loading = true;
547
+ if (e?.api && e.api?.copyAPI) {
548
+ this.http.post(e.api.copyAPI, { pageId: this.pageConfig?.id, id: e?.dataId }).subscribe((res) => {
549
+ if (res.success) {
550
+ this.msg.success('操作成功!');
551
+ this.getPageDataList();
552
+ if (callback != undefined && callback != null && callback != '') {
553
+ callback.call(caller);
554
+ }
555
+ }
556
+ else {
557
+ this.loading = false;
558
+ }
559
+ });
560
+ }
561
+ else {
562
+ this.loading = false;
563
+ }
564
+ },
565
+ });
566
+ }
567
+ /**
568
+ * 禁用、启用单条数据
569
+ * @param e
570
+ * @param caller
571
+ * @param callback
572
+ */
573
+ updateDisable(e, caller = null, callback = null) {
574
+ let tips = e?.tips ? e?.tips : e?.buttonType == 'DISABLED' ? '您确定需要禁用该项吗?' : '您确定需要启用该项吗?';
575
+ let state = e?.buttonType == 'DISABLED' ? true : false;
576
+ this.modal.confirm({
577
+ nzTitle: '提示',
578
+ nzContent: tips,
579
+ nzOnOk: () => {
580
+ this.loading = true;
581
+ if (this.pageConfig?.api && this.pageConfig?.api?.disableAPI) {
582
+ const url = `${this.pageConfig.api.disableAPI}`;
583
+ this.http.post(url, { pageId: this.pageConfig.id, id: e.dataId, state: state }).subscribe((res) => {
584
+ if (res.success) {
585
+ this.msg.success(e.buttonType == 'DISABLED' ? '操作成功!' : '操作成功!');
586
+ this.getPageDataList();
587
+ if (callback != undefined && callback != null && callback != '') {
588
+ callback.call(caller);
589
+ }
590
+ }
591
+ else {
592
+ this.loading = false;
593
+ }
594
+ });
595
+ }
596
+ else {
597
+ this.loading = false;
598
+ }
599
+ },
600
+ });
601
+ }
602
+ /**
603
+ * 禁用、启用多条数据
604
+ * @param e
605
+ * @param caller
606
+ * @param callback
607
+ */
608
+ updateDisables(e, caller = null, callback = null) {
609
+ if (this.selectData == undefined || this.selectData == null || this.selectData.length == 0) {
610
+ this.msg.warning(e.buttonType == 'DISABLED' ? '请选择禁用的数据' : '请选择启用的数据');
611
+ return;
612
+ }
613
+ let tips = e?.tips ? e?.tips : e?.buttonType == 'DISABLED' ? '您确定需要禁用选中项吗?' : '您确定需要启用选中项吗?';
614
+ tips = `${tips}【选中${this.selectData.length}条数据】`;
615
+ let state = e?.buttonType == 'DISABLED' ? true : false;
616
+ this.modal.confirm({
617
+ nzTitle: '提示',
618
+ nzContent: tips,
619
+ nzOnOk: () => {
620
+ this.loading = true;
621
+ if (this.pageConfig?.api && this.pageConfig?.api?.disablesAPI) {
622
+ const url = `${this.pageConfig.api.disablesAPI}`;
623
+ let data = this.selectData.map((item) => {
624
+ return item[this.pageConfig.list.primary.key];
625
+ });
626
+ this.http.post(url, { pageId: this.pageConfig.id, idList: data, state: state }).subscribe((res) => {
627
+ if (res.success) {
628
+ this.msg.success(e.buttonType == 'DISABLED' ? '操作成功!' : '操作成功!');
629
+ this.getPageDataList();
630
+ if (callback != undefined && callback != null && callback != '') {
631
+ callback.call(caller);
632
+ }
633
+ }
634
+ else {
635
+ this.loading = false;
636
+ }
637
+ });
638
+ }
639
+ else {
640
+ this.loading = false;
641
+ }
642
+ },
643
+ });
644
+ }
645
+ /**
646
+ * 删除多条条数据
647
+ * @param e
648
+ */
649
+ pageDataDeletes(e, caller = null, callback = null) {
650
+ if (this.selectData == undefined || this.selectData == null || this.selectData.length == 0) {
651
+ this.msg.warning('请选择要删除的数据');
652
+ return;
653
+ }
654
+ this.modal.confirm({
655
+ nzTitle: '提示',
656
+ nzContent: e?.tips
657
+ ? `${e?.tips}【选中${this.selectData.length}条数据】`
658
+ : `您确定需要删除选中项吗?【选中${this.selectData.length}条数据】`,
659
+ nzOnOk: () => {
660
+ this.loading = true;
661
+ if (this.pageConfig?.api && this.pageConfig?.api?.deletesAPI) {
662
+ const url = `${this.pageConfig.api.deletesAPI}`;
663
+ let data = this.selectData.map((item) => {
664
+ return item[this.pageConfig.list.primary.key];
665
+ });
666
+ this.http.post(url, { pageId: this.pageConfig.id, idList: data }).subscribe((res) => {
667
+ if (res.success) {
668
+ this.msg.success('操作成功!');
669
+ this.selectData = [];
670
+ this.getPageDataList();
671
+ if (callback != undefined && callback != null && callback != '') {
672
+ callback.call(caller);
673
+ }
674
+ }
675
+ else {
676
+ this.loading = false;
677
+ }
678
+ });
679
+ }
680
+ else {
681
+ this.loading = false;
682
+ }
683
+ },
684
+ });
685
+ }
686
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasePageService, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2._HttpClient }, { token: i3.NzModalService }, { token: i4.NzMessageService }, { token: i5.GramBaseDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
687
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasePageService, providedIn: 'root' });
688
+ }
689
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BasePageService, decorators: [{
690
+ type: Injectable,
691
+ args: [{
692
+ providedIn: 'root',
693
+ }]
694
+ }], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2._HttpClient }, { type: i3.NzModalService }, { type: i4.NzMessageService }, { type: i5.GramBaseDialogService }] });
695
+
696
+ /**
697
+ * Generated bundle index. Do not edit.
698
+ */
699
+
700
+ export { BasePageService };
701
+ //# sourceMappingURL=page.service.mjs.map