@ebuilding/runtime 2.7.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 (162) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +3 -0
  3. package/comm/default/index.d.ts +1 -0
  4. package/comm/default/src/default/index.d.ts +54 -0
  5. package/comm/default/src/default-list/index.d.ts +17 -0
  6. package/comm/default/src/default-report/index.d.ts +17 -0
  7. package/comm/default/src/default-single/index.d.ts +17 -0
  8. package/comm/default/src/default-tab/index.d.ts +17 -0
  9. package/comm/default/src/index.module.d.ts +13 -0
  10. package/comm/default/src/layout/index.d.ts +25 -0
  11. package/comm/default/src/layout-comm/index.d.ts +19 -0
  12. package/comm/default/src/public_api.d.ts +8 -0
  13. package/comm/form/index.d.ts +1 -0
  14. package/comm/form/src/components/children/index.component.d.ts +30 -0
  15. package/comm/form/src/components/multiple/index.component.d.ts +28 -0
  16. package/comm/form/src/components/single/index.component.d.ts +37 -0
  17. package/comm/form/src/default/index.component.d.ts +47 -0
  18. package/comm/form/src/empinfo/index.component.d.ts +51 -0
  19. package/comm/form/src/index.module.d.ts +13 -0
  20. package/comm/form/src/onlyone/index.component.d.ts +32 -0
  21. package/comm/form/src/public_api.d.ts +8 -0
  22. package/comm/form/src/service/defaultService.d.ts +96 -0
  23. package/comm/form/src/service/empCommService.d.ts +14 -0
  24. package/comm/form/src/service/empGroupService.d.ts +68 -0
  25. package/comm/form/src/service/onlyOneService.d.ts +52 -0
  26. package/comm/form/src/step/index.component.d.ts +46 -0
  27. package/comm/index.d.ts +5 -0
  28. package/comm/list/index.d.ts +1 -0
  29. package/comm/list/src/default/index.component.d.ts +69 -0
  30. package/comm/list/src/index.module.d.ts +7 -0
  31. package/comm/list/src/public_api.d.ts +2 -0
  32. package/comm/list/src/service/listService.d.ts +39 -0
  33. package/comm/page/index.d.ts +1 -0
  34. package/comm/page/src/default/index.component.d.ts +50 -0
  35. package/comm/page/src/index.module.d.ts +9 -0
  36. package/comm/page/src/page-layout/index.component.d.ts +55 -0
  37. package/comm/page/src/page-layout-detail/index.component.d.ts +55 -0
  38. package/comm/page/src/public_api.d.ts +4 -0
  39. package/comm/tree/index.d.ts +1 -0
  40. package/comm/tree/src/components/form-left/index.component.d.ts +21 -0
  41. package/comm/tree/src/components/form-right/index.component.d.ts +43 -0
  42. package/comm/tree/src/components/list-left/index.component.d.ts +21 -0
  43. package/comm/tree/src/components/list-right/index.component.d.ts +36 -0
  44. package/comm/tree/src/index.module.d.ts +12 -0
  45. package/comm/tree/src/public_api.d.ts +7 -0
  46. package/comm/tree/src/service/treeFormService.d.ts +57 -0
  47. package/comm/tree/src/service/treeListService.d.ts +56 -0
  48. package/comm/tree/src/treeForm/index.component.d.ts +25 -0
  49. package/comm/tree/src/treeList/index.component.d.ts +38 -0
  50. package/dynamic/dynamic.module.d.ts +7 -0
  51. package/dynamic/dynamic.view.module.d.ts +7 -0
  52. package/dynamic/index.d.ts +2 -0
  53. package/e-web/deep.module.d.ts +7 -0
  54. package/e-web/extend/index-routing.module.d.ts +7 -0
  55. package/e-web/extend/index.module.d.ts +9 -0
  56. package/e-web/extend/report/index.component.d.ts +16 -0
  57. package/e-web/extend/single/index.component.d.ts +22 -0
  58. package/e-web/form/deep/index.module.d.ts +7 -0
  59. package/e-web/form/deep/main/index.d.ts +34 -0
  60. package/e-web/form/default/index.module.d.ts +7 -0
  61. package/e-web/form/default/main/index.d.ts +32 -0
  62. package/e-web/form/index.module.d.ts +7 -0
  63. package/e-web/index.d.ts +1 -0
  64. package/e-web/index.module.d.ts +7 -0
  65. package/e-web/list/deep/index.module.d.ts +7 -0
  66. package/e-web/list/deep/main/index.d.ts +18 -0
  67. package/e-web/list/default/index.module.d.ts +7 -0
  68. package/e-web/list/default/main/index.d.ts +31 -0
  69. package/e-web/list/index.module.d.ts +7 -0
  70. package/e-web/list/new/index.module.d.ts +7 -0
  71. package/e-web/list/new/main/index.d.ts +16 -0
  72. package/e-web/report/deep/index.module.d.ts +7 -0
  73. package/e-web/report/deep/main/index.d.ts +18 -0
  74. package/e-web/report/default/index.module.d.ts +7 -0
  75. package/e-web/report/default/main/index.d.ts +17 -0
  76. package/e-web/report/index.module.d.ts +7 -0
  77. package/e-web/report/new/index.module.d.ts +7 -0
  78. package/e-web/report/new/main/index.d.ts +16 -0
  79. package/e-web/single/deep/index.module.d.ts +7 -0
  80. package/e-web/single/deep/main/index.d.ts +18 -0
  81. package/e-web/single/default/index.module.d.ts +7 -0
  82. package/e-web/single/default/main/index.d.ts +16 -0
  83. package/e-web/single/index.module.d.ts +7 -0
  84. package/e-web/single/new/index.module.d.ts +7 -0
  85. package/e-web/single/new/main/index.d.ts +16 -0
  86. package/e-web/tab/detail/index.component.d.ts +32 -0
  87. package/e-web/tab/index-routing.module.d.ts +7 -0
  88. package/e-web/tab/index.module.d.ts +9 -0
  89. package/e-web/tab/main/index.component.d.ts +34 -0
  90. package/e-web/tree/index-routing.module.d.ts +7 -0
  91. package/e-web/tree/index.module.d.ts +9 -0
  92. package/e-web/tree/tree-form/index.component.d.ts +31 -0
  93. package/e-web/tree/tree-list/index.component.d.ts +31 -0
  94. package/external/external-routing.module.d.ts +7 -0
  95. package/external/external.module.d.ts +8 -0
  96. package/external/index.d.ts +4 -0
  97. package/external/main/index.d.ts +12 -0
  98. package/external/safeUrl.d.ts +10 -0
  99. package/fesm2022/comm.default.mjs +487 -0
  100. package/fesm2022/comm.default.mjs.map +1 -0
  101. package/fesm2022/comm.form.mjs +1685 -0
  102. package/fesm2022/comm.form.mjs.map +1 -0
  103. package/fesm2022/comm.list.mjs +605 -0
  104. package/fesm2022/comm.list.mjs.map +1 -0
  105. package/fesm2022/comm.mjs +10 -0
  106. package/fesm2022/comm.mjs.map +1 -0
  107. package/fesm2022/comm.page.mjs +354 -0
  108. package/fesm2022/comm.page.mjs.map +1 -0
  109. package/fesm2022/comm.tree.mjs +841 -0
  110. package/fesm2022/comm.tree.mjs.map +1 -0
  111. package/fesm2022/dynamic.mjs +49 -0
  112. package/fesm2022/dynamic.mjs.map +1 -0
  113. package/fesm2022/e-web-deep.module-CbGhHXVH.mjs +34 -0
  114. package/fesm2022/e-web-deep.module-CbGhHXVH.mjs.map +1 -0
  115. package/fesm2022/e-web-index.module-B_Jd2-0M.mjs +30 -0
  116. package/fesm2022/e-web-index.module-B_Jd2-0M.mjs.map +1 -0
  117. package/fesm2022/e-web-index.module-Bfxv6KPY.mjs +263 -0
  118. package/fesm2022/e-web-index.module-Bfxv6KPY.mjs.map +1 -0
  119. package/fesm2022/e-web-index.module-C0vAaHfh.mjs +84 -0
  120. package/fesm2022/e-web-index.module-C0vAaHfh.mjs.map +1 -0
  121. package/fesm2022/e-web-index.module-C7-Zm8xS.mjs +94 -0
  122. package/fesm2022/e-web-index.module-C7-Zm8xS.mjs.map +1 -0
  123. package/fesm2022/e-web-index.module-CYZiqC3a.mjs +110 -0
  124. package/fesm2022/e-web-index.module-CYZiqC3a.mjs.map +1 -0
  125. package/fesm2022/e-web-index.module-CfC5tqAw.mjs +85 -0
  126. package/fesm2022/e-web-index.module-CfC5tqAw.mjs.map +1 -0
  127. package/fesm2022/e-web-index.module-CjF6piLu.mjs +81 -0
  128. package/fesm2022/e-web-index.module-CjF6piLu.mjs.map +1 -0
  129. package/fesm2022/e-web-index.module-CuEiH_fT.mjs +180 -0
  130. package/fesm2022/e-web-index.module-CuEiH_fT.mjs.map +1 -0
  131. package/fesm2022/e-web-index.module-D43xvefy.mjs +101 -0
  132. package/fesm2022/e-web-index.module-D43xvefy.mjs.map +1 -0
  133. package/fesm2022/e-web-index.module-DQmv68kB.mjs +84 -0
  134. package/fesm2022/e-web-index.module-DQmv68kB.mjs.map +1 -0
  135. package/fesm2022/e-web-index.module-DVJ8MkSd.mjs +86 -0
  136. package/fesm2022/e-web-index.module-DVJ8MkSd.mjs.map +1 -0
  137. package/fesm2022/e-web-index.module-DqW1Wt0J.mjs +157 -0
  138. package/fesm2022/e-web-index.module-DqW1Wt0J.mjs.map +1 -0
  139. package/fesm2022/e-web-index.module-Ds5GBsXm.mjs +106 -0
  140. package/fesm2022/e-web-index.module-Ds5GBsXm.mjs.map +1 -0
  141. package/fesm2022/e-web-index.module-H56VTQVA.mjs +46 -0
  142. package/fesm2022/e-web-index.module-H56VTQVA.mjs.map +1 -0
  143. package/fesm2022/e-web-index.module-cGZ2yMVA.mjs +93 -0
  144. package/fesm2022/e-web-index.module-cGZ2yMVA.mjs.map +1 -0
  145. package/fesm2022/e-web-index.module-cKHBIc7d.mjs +30 -0
  146. package/fesm2022/e-web-index.module-cKHBIc7d.mjs.map +1 -0
  147. package/fesm2022/e-web-index.module-mKAgb87G.mjs +104 -0
  148. package/fesm2022/e-web-index.module-mKAgb87G.mjs.map +1 -0
  149. package/fesm2022/e-web-index.module-qHmobPhQ.mjs +30 -0
  150. package/fesm2022/e-web-index.module-qHmobPhQ.mjs.map +1 -0
  151. package/fesm2022/e-web.mjs +54 -0
  152. package/fesm2022/e-web.mjs.map +1 -0
  153. package/fesm2022/ebuilding-runtime.mjs +8 -0
  154. package/fesm2022/ebuilding-runtime.mjs.map +1 -0
  155. package/fesm2022/external.mjs +86 -0
  156. package/fesm2022/external.mjs.map +1 -0
  157. package/fesm2022/shared-imports.mjs +358 -0
  158. package/fesm2022/shared-imports.mjs.map +1 -0
  159. package/index.d.ts +1 -0
  160. package/package.json +64 -0
  161. package/shared-imports/form-submit-touch.directive.d.ts +9 -0
  162. package/shared-imports/index.d.ts +63 -0
@@ -0,0 +1,841 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Inject, Injectable, Component, Input, EventEmitter, Output, NgModule } from '@angular/core';
3
+ import * as i3$1 from '@ebuilding/base/shared.srv/global.event';
4
+ import { GramGlobalService } from '@ebuilding/base/shared.srv/global.event';
5
+ import * as i4$1 from '@ebuilding/base/shared.srv/commApi.service';
6
+ import { CommAPIService } from '@ebuilding/base/shared.srv/commApi.service';
7
+ import * as i2 from '@angular/router';
8
+ import * as i1 from '@delon/theme';
9
+ import * as i3 from 'ng-zorro-antd/modal';
10
+ import * as i4 from 'ng-zorro-antd/message';
11
+ import * as i9$1 from '@ebuilding/runtime/shared-imports';
12
+ import { RuntimeSharedImportsModule } from '@ebuilding/runtime/shared-imports';
13
+ import * as i12 from '@ebuilding/abc/empty';
14
+ import { GramDeonEmptyModule } from '@ebuilding/abc/empty';
15
+ import * as i4$2 from '@angular/common';
16
+ import * as i5 from '@angular/forms';
17
+ import { FormGroup } from '@angular/forms';
18
+ import * as i6 from 'ng-zorro-antd/button';
19
+ import * as i7 from 'ng-zorro-antd/core/transition-patch';
20
+ import * as i8 from 'ng-zorro-antd/core/wave';
21
+ import * as i9 from 'ng-zorro-antd/icon';
22
+ import * as i10 from 'ng-zorro-antd/input';
23
+ import * as i11 from 'ng-zorro-antd/tree';
24
+ import * as i15 from '@ebuilding-form/core';
25
+ import { FormlyModule } from '@ebuilding-form/core';
26
+ import { GramDeonAntdModule } from '@ebuilding/biz-comm/type';
27
+ import { of, zip } from 'rxjs';
28
+ import * as _ from 'lodash';
29
+ import * as i3$2 from '@ebuilding/base/shared.srv/deon.util';
30
+ import * as i14 from 'ng-zorro-antd/empty';
31
+ import * as i5$1 from 'ng-zorro-antd/spin';
32
+ import * as i9$2 from 'ng-zorro-antd/tooltip';
33
+ import * as i8$1 from '@ebuilding/biz-list/pre-control/pre-page';
34
+ import { PrePageModule } from '@ebuilding/biz-list/pre-control/pre-page';
35
+
36
+ class TreeFormService {
37
+ router;
38
+ http;
39
+ modal;
40
+ msg;
41
+ commApiSrv;
42
+ id = null;
43
+ loading = true;
44
+ pageInfo = null;
45
+ treeId = null;
46
+ formId = null;
47
+ treeAPI = null;
48
+ treeListAPI = null;
49
+ treeKeyWord = null;
50
+ treeShowType = 'tree';
51
+ moduleCode = 'personnel';
52
+ /**
53
+ * Tree 节点全部展开
54
+ */
55
+ treeExpandAll = true;
56
+ /**
57
+ * Tree 数据集合
58
+ */
59
+ treeData = [];
60
+ /**
61
+ * 选中的节点
62
+ */
63
+ selectedNode = null;
64
+ selectedLevel = null;
65
+ formType = 'ADD';
66
+ /**
67
+ * 监听常量
68
+ */
69
+ globalConstant = 'reload-tree-form';
70
+ selectedKey = null;
71
+ selectedKeys = [];
72
+ expandedKeys = [];
73
+ constructor(router, http, modal, msg, commApiSrv) {
74
+ this.router = router;
75
+ this.http = http;
76
+ this.modal = modal;
77
+ this.msg = msg;
78
+ this.commApiSrv = commApiSrv;
79
+ }
80
+ initPageData() {
81
+ this.treeAPI = this.commApiSrv.getPageTree(this.moduleCode);
82
+ this.treeListAPI = this.commApiSrv.getPageTreeList(this.moduleCode);
83
+ this.treeKeyWord = null;
84
+ this.treeShowType = 'tree';
85
+ this.formType = 'ADD';
86
+ //this.loading = true;
87
+ }
88
+ /**
89
+ * 获取 Tree 集合
90
+ */
91
+ getPageTreeData() {
92
+ if (this.treeId) {
93
+ this.loading = true;
94
+ this.treeData = [];
95
+ this.treeShowType = 'tree';
96
+ this.treeExpandAll = true;
97
+ this.http.post(`${this.treeAPI}/${this.treeId}`).subscribe((res) => {
98
+ if (res && res.success == true) {
99
+ let result = res.result;
100
+ if (result && result.basic) {
101
+ this.pageInfo = result.basic;
102
+ }
103
+ if (result && result.treeData && result.treeData.length > 0) {
104
+ this.treeData = [...result.treeData];
105
+ }
106
+ else {
107
+ {
108
+ this.treeData = [];
109
+ }
110
+ }
111
+ }
112
+ this.loading = false;
113
+ });
114
+ }
115
+ }
116
+ /**
117
+ * 获取 Tree 集合
118
+ */
119
+ getPageTreeListData() {
120
+ if (this.treeId) {
121
+ this.loading = true;
122
+ this.treeData = [];
123
+ this.treeShowType = 'list';
124
+ let postData = { pageId: this.treeId, keyword: this.treeKeyWord };
125
+ this.http.post(this.treeListAPI, postData).subscribe((res) => {
126
+ if (res && res.success == true) {
127
+ let result = res.result;
128
+ if (result && result.basic) {
129
+ this.pageInfo = result.basic;
130
+ }
131
+ if (result && result.treeData && result.treeData.length > 0) {
132
+ this.treeData = [...result.treeData];
133
+ }
134
+ else {
135
+ {
136
+ this.treeData = [];
137
+ }
138
+ }
139
+ }
140
+ this.loading = false;
141
+ });
142
+ }
143
+ }
144
+ treeFormReload() {
145
+ this.formType = 'ADD';
146
+ this.selectedKey = null;
147
+ this.selectedKeys = [];
148
+ this.selectedNode = null;
149
+ this.selectedLevel = null;
150
+ }
151
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeFormService, deps: [{ token: i2.Router }, { token: i1._HttpClient }, { token: i3.NzModalService }, { token: i4.NzMessageService }, { token: CommAPIService }], target: i0.ɵɵFactoryTarget.Injectable });
152
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeFormService });
153
+ }
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeFormService, decorators: [{
155
+ type: Injectable
156
+ }], ctorParameters: () => [{ type: i2.Router }, { type: i1._HttpClient }, { type: i3.NzModalService }, { type: i4.NzMessageService }, { type: i4$1.CommAPIService, decorators: [{
157
+ type: Inject,
158
+ args: [CommAPIService]
159
+ }] }] });
160
+
161
+ class TreeFormLeftComponent {
162
+ http;
163
+ cdr;
164
+ treeSrv;
165
+ globalSrv;
166
+ constructor(http, cdr, treeSrv, globalSrv) {
167
+ this.http = http;
168
+ this.cdr = cdr;
169
+ this.treeSrv = treeSrv;
170
+ this.globalSrv = globalSrv;
171
+ this.treeSrv.getPageTreeData();
172
+ }
173
+ ngOnInit() { }
174
+ btnTreeSearch() {
175
+ if (this.treeSrv.treeKeyWord) {
176
+ this.treeSrv.getPageTreeListData();
177
+ }
178
+ else {
179
+ this.treeSrv.getPageTreeData();
180
+ }
181
+ }
182
+ /**
183
+ * 点击�? * @param event
184
+ */
185
+ treeClick(event) {
186
+ this.treeSrv.loading = true;
187
+ this.treeSrv.selectedLevel = event.node.level;
188
+ //event.node.isExpanded = !event.node.isExpanded;
189
+ event.node.isExpanded = true;
190
+ this.treeSrv.selectedNode = event.node.origin;
191
+ this.treeSrv.selectedKey = event.node.key;
192
+ this.treeSrv.selectedKeys = [...[event.node.key]];
193
+ this.treeSrv.formType = 'EDIT';
194
+ this.treeSrv.id = this.treeSrv.selectedNode?.id;
195
+ this.globalSrv.notifyDataChanged(this.treeSrv.globalConstant, { rd: Math.random() });
196
+ }
197
+ itemClick(e) {
198
+ this.treeSrv.loading = true;
199
+ this.treeSrv.selectedLevel = 0;
200
+ this.treeSrv.selectedNode = e;
201
+ this.treeSrv.selectedKey = e.key;
202
+ this.treeSrv.selectedKeys = [...[e.key]];
203
+ this.treeSrv.formType = 'EDIT';
204
+ this.treeSrv.id = this.treeSrv.selectedNode?.id;
205
+ this.globalSrv.notifyDataChanged(this.treeSrv.globalConstant, { rd: Math.random() });
206
+ }
207
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeFormLeftComponent, deps: [{ token: i1._HttpClient }, { token: i0.ChangeDetectorRef }, { token: TreeFormService }, { token: i3$1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
208
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TreeFormLeftComponent, isStandalone: true, selector: "tree-form-left", ngImport: i0, template: "<div class=\"tree-query\">\n <nz-input-group nzSearch [nzAddOnAfter]=\"suffixButton\">\n <input type=\"text\" nz-input placeholder=\"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u67E5\u8BE2\" [(ngModel)]=\"treeSrv.treeKeyWord\" />\n </nz-input-group>\n <ng-template #suffixButton>\n <button nz-button nzType=\"primary\" type=\"button\" nzSearch (click)=\"btnTreeSearch()\"><i nz-icon\n nzType=\"search\"></i>\u67E5\u8BE2</button>\n </ng-template>\n</div>\n<div class=\"tree-content\">\n <ng-container *ngIf=\"treeSrv.treeData!! && treeSrv.treeData.length > 0; else tmpEmpty\">\n <ng-container *ngIf=\"treeSrv.treeShowType == 'tree'; else tmpList\">\n <nz-tree [nzData]=\"treeSrv.treeData\" [nzExpandAll]=\"treeSrv.treeExpandAll\" [nzExpandedKeys]=\"treeSrv.expandedKeys\"\n [nzSelectedKeys]=\"treeSrv.selectedKeys\" (nzClick)=\"treeClick($event)\" [nzTreeTemplate]=\"nzTreeTemplate\">\n </nz-tree>\n <ng-template #nzTreeTemplate let-node let-origin=\"origin\">\n <span class=\"custom-node\">\n <span class=\"folder-name\">{{ node.title }}</span>\n </span>\n </ng-template>\n </ng-container>\n\n <ng-template #tmpList>\n <ul class=\"list-content\">\n <ng-container *ngFor=\"let item of treeSrv.treeData\">\n <li (click)=\"itemClick(item)\"\n [ngClass]=\"{ 'item-selected': treeSrv?.['selectedItem'] && item.id == treeSrv?.['selectedItem']?.['id'] }\">\n {{ item.title }}\n </li>\n </ng-container>\n </ul>\n </ng-template>\n </ng-container>\n</div>\n<ng-template #tmpEmpty>\n <div class=\"tree-empty\" *ngIf=\"treeSrv.loading == false\">\n <gram-empty state=\"empty9\"></gram-empty>\n </div>\n</ng-template>", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%;padding:0}:host ::ng-deep .item-selected{color:#fff;background-color:#1177fb}:host ::ng-deep .tree-query{display:flex;width:100%;padding:8px 12px;border-bottom:1px solid #eaeaea}:host ::ng-deep .tree-query nz-input-group{width:100%}:host ::ng-deep .list-content{width:100%;margin:0;padding:0}:host ::ng-deep .list-content li{min-height:24px;margin:0 0 4px;padding:6px 10px}:host ::ng-deep .list-content li:hover{background:#d6e9ff;cursor:pointer}:host ::ng-deep .tree-content{flex:1;width:100%;padding:10px 12px;overflow-x:overlay;overflow-y:overlay}:host ::ng-deep .tree-content .ant-tree{width:100%}:host ::ng-deep .tree-content::-webkit-scrollbar{width:8px}:host ::ng-deep .tree-content::-webkit-scrollbar-thumb{background-color:#94949475;border-radius:7px}:host ::ng-deep .tree-content::-webkit-scrollbar-track{background-color:#fff}:host ::ng-deep .tree-content .custom-node{display:flex;width:100%;cursor:pointer}:host ::ng-deep .tree-content .custom-node .folder-name{flex:1}:host ::ng-deep .tree-content .custom-node .folder-operation{display:none;cursor:pointer}:host ::ng-deep .tree-content nz-tree-node-switcher{width:10px!important}:host ::ng-deep .tree-content .ant-tree-indent-unit{width:10px!important}:host ::ng-deep .tree-content .ant-tree-treenode{padding:4px 0}:host ::ng-deep .tree-content .ant-tree-treenode-selected{color:#fff!important;background:#1177fb!important}:host ::ng-deep .tree-content .ant-tree-treenode-selected .custom-node .folder-operation{display:block!important;color:#fff!important}:host ::ng-deep .tree-content .ant-tree-treenode-selected nz-tree-node-title{background:none;transition:none}:host ::ng-deep .tree-content nz-tree-node:hover{background:#d6e9ff}:host ::ng-deep .tree-content nz-tree-node:hover nz-tree-node-title{background:none;transition:none}:host ::ng-deep .tree-content nz-tree-node:hover .custom-node .folder-operation{display:block;color:#1177fb}:host ::ng-deep nz-tree-node-title{width:100%;cursor:pointer}:host ::ng-deep .tree-empty{display:flex;width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: RuntimeSharedImportsModule }, { kind: "directive", type: i4$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i7.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i8.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "directive", type: i9.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i10.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: i10.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch", "nzCompact"], exportAs: ["nzInputGroup"] }, { kind: "component", type: i11.NzTreeComponent, selector: "nz-tree", inputs: ["nzShowIcon", "nzHideUnMatched", "nzBlockNode", "nzExpandAll", "nzSelectMode", "nzCheckStrictly", "nzShowExpand", "nzShowLine", "nzCheckable", "nzAsyncData", "nzDraggable", "nzMultiple", "nzExpandedIcon", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualHeight", "nzTreeTemplate", "nzBeforeDrop", "nzData", "nzExpandedKeys", "nzSelectedKeys", "nzCheckedKeys", "nzSearchValue", "nzSearchFunc"], outputs: ["nzExpandedKeysChange", "nzSelectedKeysChange", "nzCheckedKeysChange", "nzSearchValueChange", "nzClick", "nzDblClick", "nzContextMenu", "nzCheckboxChange", "nzExpandChange", "nzOnDragStart", "nzOnDragEnter", "nzOnDragOver", "nzOnDragLeave", "nzOnDrop", "nzOnDragEnd"], exportAs: ["nzTree"] }, { kind: "ngmodule", type: GramDeonEmptyModule }, { kind: "component", type: i12.GramDeonEmptyComponent, selector: "gram-empty", inputs: ["desc", "state"], outputs: ["emptyClick"] }] });
209
+ }
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeFormLeftComponent, decorators: [{
211
+ type: Component,
212
+ args: [{ selector: 'tree-form-left', imports: [
213
+ RuntimeSharedImportsModule,
214
+ GramDeonEmptyModule
215
+ ], template: "<div class=\"tree-query\">\n <nz-input-group nzSearch [nzAddOnAfter]=\"suffixButton\">\n <input type=\"text\" nz-input placeholder=\"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u67E5\u8BE2\" [(ngModel)]=\"treeSrv.treeKeyWord\" />\n </nz-input-group>\n <ng-template #suffixButton>\n <button nz-button nzType=\"primary\" type=\"button\" nzSearch (click)=\"btnTreeSearch()\"><i nz-icon\n nzType=\"search\"></i>\u67E5\u8BE2</button>\n </ng-template>\n</div>\n<div class=\"tree-content\">\n <ng-container *ngIf=\"treeSrv.treeData!! && treeSrv.treeData.length > 0; else tmpEmpty\">\n <ng-container *ngIf=\"treeSrv.treeShowType == 'tree'; else tmpList\">\n <nz-tree [nzData]=\"treeSrv.treeData\" [nzExpandAll]=\"treeSrv.treeExpandAll\" [nzExpandedKeys]=\"treeSrv.expandedKeys\"\n [nzSelectedKeys]=\"treeSrv.selectedKeys\" (nzClick)=\"treeClick($event)\" [nzTreeTemplate]=\"nzTreeTemplate\">\n </nz-tree>\n <ng-template #nzTreeTemplate let-node let-origin=\"origin\">\n <span class=\"custom-node\">\n <span class=\"folder-name\">{{ node.title }}</span>\n </span>\n </ng-template>\n </ng-container>\n\n <ng-template #tmpList>\n <ul class=\"list-content\">\n <ng-container *ngFor=\"let item of treeSrv.treeData\">\n <li (click)=\"itemClick(item)\"\n [ngClass]=\"{ 'item-selected': treeSrv?.['selectedItem'] && item.id == treeSrv?.['selectedItem']?.['id'] }\">\n {{ item.title }}\n </li>\n </ng-container>\n </ul>\n </ng-template>\n </ng-container>\n</div>\n<ng-template #tmpEmpty>\n <div class=\"tree-empty\" *ngIf=\"treeSrv.loading == false\">\n <gram-empty state=\"empty9\"></gram-empty>\n </div>\n</ng-template>", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%;padding:0}:host ::ng-deep .item-selected{color:#fff;background-color:#1177fb}:host ::ng-deep .tree-query{display:flex;width:100%;padding:8px 12px;border-bottom:1px solid #eaeaea}:host ::ng-deep .tree-query nz-input-group{width:100%}:host ::ng-deep .list-content{width:100%;margin:0;padding:0}:host ::ng-deep .list-content li{min-height:24px;margin:0 0 4px;padding:6px 10px}:host ::ng-deep .list-content li:hover{background:#d6e9ff;cursor:pointer}:host ::ng-deep .tree-content{flex:1;width:100%;padding:10px 12px;overflow-x:overlay;overflow-y:overlay}:host ::ng-deep .tree-content .ant-tree{width:100%}:host ::ng-deep .tree-content::-webkit-scrollbar{width:8px}:host ::ng-deep .tree-content::-webkit-scrollbar-thumb{background-color:#94949475;border-radius:7px}:host ::ng-deep .tree-content::-webkit-scrollbar-track{background-color:#fff}:host ::ng-deep .tree-content .custom-node{display:flex;width:100%;cursor:pointer}:host ::ng-deep .tree-content .custom-node .folder-name{flex:1}:host ::ng-deep .tree-content .custom-node .folder-operation{display:none;cursor:pointer}:host ::ng-deep .tree-content nz-tree-node-switcher{width:10px!important}:host ::ng-deep .tree-content .ant-tree-indent-unit{width:10px!important}:host ::ng-deep .tree-content .ant-tree-treenode{padding:4px 0}:host ::ng-deep .tree-content .ant-tree-treenode-selected{color:#fff!important;background:#1177fb!important}:host ::ng-deep .tree-content .ant-tree-treenode-selected .custom-node .folder-operation{display:block!important;color:#fff!important}:host ::ng-deep .tree-content .ant-tree-treenode-selected nz-tree-node-title{background:none;transition:none}:host ::ng-deep .tree-content nz-tree-node:hover{background:#d6e9ff}:host ::ng-deep .tree-content nz-tree-node:hover nz-tree-node-title{background:none;transition:none}:host ::ng-deep .tree-content nz-tree-node:hover .custom-node .folder-operation{display:block;color:#1177fb}:host ::ng-deep nz-tree-node-title{width:100%;cursor:pointer}:host ::ng-deep .tree-empty{display:flex;width:100%;height:100%}\n"] }]
216
+ }], ctorParameters: () => [{ type: i1._HttpClient }, { type: i0.ChangeDetectorRef }, { type: TreeFormService }, { type: i3$1.GramGlobalService }] });
217
+
218
+ class TreeFormRightComponent {
219
+ http;
220
+ msg;
221
+ utilService;
222
+ commAPISrv;
223
+ globalSrv;
224
+ treeSrv;
225
+ form = new FormGroup({});
226
+ model = {};
227
+ options = {};
228
+ fields = [];
229
+ get isAdd() {
230
+ let result = true;
231
+ if (this.treeSrv.pageInfo?.maxLevel &&
232
+ this.treeSrv.selectedLevel &&
233
+ _.isNumber(this.treeSrv.pageInfo?.maxLevel) &&
234
+ this.treeSrv.pageInfo?.maxLevel <= this.treeSrv.selectedLevel) {
235
+ result = false;
236
+ }
237
+ return result;
238
+ }
239
+ constructor(http, msg, utilService, commAPISrv, globalSrv, treeSrv) {
240
+ this.http = http;
241
+ this.msg = msg;
242
+ this.utilService = utilService;
243
+ this.commAPISrv = commAPISrv;
244
+ this.globalSrv = globalSrv;
245
+ this.treeSrv = treeSrv;
246
+ this.globalSrv.subscribe(this.treeSrv.globalConstant, (res) => {
247
+ this.resetForm();
248
+ this.getPageConfig();
249
+ });
250
+ this.getPageConfig();
251
+ }
252
+ ngOnInit() { }
253
+ ngOnDestroy() {
254
+ this.resetForm();
255
+ this.globalSrv.removeSubscribe(this.treeSrv.globalConstant);
256
+ }
257
+ resetForm() {
258
+ this.form = new FormGroup({});
259
+ this.model = {};
260
+ this.options = {};
261
+ this.fields = [];
262
+ }
263
+ /**
264
+ * 重新加载
265
+ */
266
+ btnReload() {
267
+ this.treeSrv.treeFormReload();
268
+ // this.options?.resetModel();
269
+ // this.model = {};
270
+ // this.form = new FormGroup({});
271
+ this.resetForm();
272
+ this.getPageConfig();
273
+ }
274
+ btnSave() {
275
+ if (this.treeSrv.formId) {
276
+ if (!this.form.valid) {
277
+ return;
278
+ }
279
+ this.treeSrv.loading = true;
280
+ let apiName = null;
281
+ if (this.treeSrv.formType == 'ADD') {
282
+ apiName = this.commAPISrv.getFormAdd(this.treeSrv.moduleCode);
283
+ }
284
+ else if (this.treeSrv.formType == 'EDIT') {
285
+ apiName = this.commAPISrv.getFormUpdate(this.treeSrv.moduleCode);
286
+ }
287
+ this.http
288
+ .post(`${apiName}`, {
289
+ id: this.treeSrv.id,
290
+ formId: this.treeSrv.formId,
291
+ modelJson: this.model,
292
+ })
293
+ .subscribe((res) => {
294
+ this.treeSrv.loading = false;
295
+ if (res && res.success == true) {
296
+ this.msg.success('保存成功!');
297
+ if (this.treeSrv.treeKeyWord) {
298
+ this.treeSrv.getPageTreeListData();
299
+ }
300
+ else {
301
+ this.treeSrv.getPageTreeData();
302
+ }
303
+ this.form = new FormGroup({});
304
+ this.model = {};
305
+ this.options = {};
306
+ this.fields = [];
307
+ this.getPageConfig();
308
+ }
309
+ }, () => {
310
+ this.treeSrv.loading = false;
311
+ });
312
+ }
313
+ }
314
+ /*
315
+ 获取设计
316
+ */
317
+ getDesign() {
318
+ if (this.treeSrv.formId) {
319
+ let apiName = this.commAPISrv.getFormDesign(this.treeSrv.moduleCode, this.treeSrv.formId);
320
+ return this.http.post(`${apiName}`);
321
+ }
322
+ else {
323
+ return of(null);
324
+ }
325
+ }
326
+ /*
327
+ 获取角色
328
+ */
329
+ getRole() {
330
+ let params = {
331
+ formId: this.treeSrv.formId,
332
+ type: this.treeSrv.formType,
333
+ };
334
+ let apiName = this.commAPISrv.getFormRole(this.treeSrv.moduleCode);
335
+ return this.http.post(`${apiName}`, params);
336
+ }
337
+ /*
338
+ 获取配置-下拉选项
339
+ */
340
+ getDropDown() {
341
+ let apiName = this.commAPISrv.getFormDropDown(this.treeSrv.moduleCode, this.treeSrv.formId);
342
+ return this.http.post(`${apiName}`);
343
+ }
344
+ /*
345
+ 获取配置-表单数据
346
+ */
347
+ getFromModel() {
348
+ let params = {
349
+ formId: this.treeSrv.formId,
350
+ id: this.treeSrv.id,
351
+ };
352
+ if (this.treeSrv.formType != 'ADD' && this.treeSrv.id) {
353
+ let apiName = this.commAPISrv.getFormModel(this.treeSrv.moduleCode);
354
+ return this.http.post(`${apiName}`, params);
355
+ }
356
+ else {
357
+ return of(null);
358
+ }
359
+ }
360
+ /*
361
+ 获取配置-表单默认�? */
362
+ getFromDefaultModel() {
363
+ if (this.treeSrv.formType == 'ADD' && this.treeSrv.formId) {
364
+ let apiName = this.commAPISrv.getFormDefaultModel(this.treeSrv.moduleCode);
365
+ return this.http.post(`${apiName}/${this.treeSrv.formId}`);
366
+ }
367
+ else {
368
+ return of(null);
369
+ }
370
+ }
371
+ /**
372
+ * 组装配置
373
+ */
374
+ getPageConfig() {
375
+ if (this.treeSrv.formId) {
376
+ new Promise((resolve) => {
377
+ zip(this.getDesign(), this.getRole(), this.getDropDown(), this.getFromModel(), this.getFromDefaultModel()).subscribe(([design, role, drop, d, m]) => {
378
+ if (design.success == true && _.get(design, 'result.basic.json')) {
379
+ let fieldConfigs = JSON.parse(_.get(design, 'result.basic.json'));
380
+ let fieldRole = {};
381
+ let fieldOptions = {};
382
+ //字段权限
383
+ if (role?.success == true && role?.result) {
384
+ fieldRole = role.result;
385
+ }
386
+ //字段Options
387
+ if (drop.success == true && drop.result) {
388
+ fieldOptions = drop.result;
389
+ }
390
+ // Default values
391
+ if (d && d.success == true && d.result) {
392
+ this.model = Object.assign(this.model, d.result);
393
+ }
394
+ // Loaded form values
395
+ if (m && m.success == true && m.result) {
396
+ this.model = Object.assign(this.model, m.result);
397
+ }
398
+ // this.utilService.initFormFieldConfig(fieldConfigs, fieldRole, fieldOptions, this.model, this, (e: any, field: any) => { });
399
+ this.fields = fieldConfigs;
400
+ setTimeout(() => {
401
+ if (this.options != undefined && this.options != null && this.options?.resetModel) {
402
+ this.options?.resetModel();
403
+ }
404
+ }, 0);
405
+ }
406
+ this.treeSrv.loading = false;
407
+ }, () => {
408
+ this.treeSrv.loading = false;
409
+ }, () => {
410
+ this.treeSrv.loading = false;
411
+ resolve();
412
+ });
413
+ });
414
+ }
415
+ }
416
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeFormRightComponent, deps: [{ token: i1._HttpClient }, { token: i4.NzMessageService }, { token: i3$2.DeonFormUtilService }, { token: i4$1.CommAPIService }, { token: i3$1.GramGlobalService }, { token: TreeFormService }], target: i0.ɵɵFactoryTarget.Component });
417
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TreeFormRightComponent, isStandalone: true, selector: "tree-form-right", ngImport: i0, template: "<form [formGroup]=\"form\" (ngSubmit)=\"btnSave()\">\n <div class=\"deon-head\">\n <div class=\"left\">\n <ul>\n <li>\u64CD\u4F5C\u7C7B\u578B\uFF1A{{ treeSrv.formType == 'ADD' ? '\u65B0\u589E' : '\u7F16\u8F91' }}</li>\n <li *ngIf=\"treeSrv.selectedNode!!\">\u9009\u4E2D\u9879\uFF1A{{ treeSrv.selectedNode?.title }}</li>\n <li *ngIf=\"treeSrv.selectedNode!!\">\u9009\u4E2D\u5C42\u7EA7\uFF1A{{ treeSrv.selectedLevel + 1 }}</li>\n </ul>\n </div>\n <div class=\"right\">\n <button nz-button nzType=\"default\" (click)=\"btnReload()\" type=\"button\"><i nz-icon\n nzType=\"reload\"></i>\u6E05\u9664\u9009\u9879</button>\n <ng-container *ngIf=\"isAdd == true\">\n <button nz-button nzType=\"primary\"><i nz-icon nzType=\"save\"></i>\u4FDD\u5B58</button>\n </ng-container>\n </div>\n </div>\n <div class=\"deon-from\">\n <ng-container *ngIf=\"fields && fields.length > 0; else emptyPage\">\n <formly-form [model]=\"model\" [fields]=\"fields\" [options]=\"options\" [form]=\"form\"> </formly-form>\n </ng-container>\n <ng-template #emptyPage>\n <nz-empty *ngIf=\"treeSrv.loading !== true\"></nz-empty>\n </ng-template>\n </div>\n</form>", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%;padding:0}:host ::ng-deep form{display:inline-flex;flex-direction:column;overflow:hidden}:host ::ng-deep .deon-head{display:flex;height:auto;padding:8px 12px;border-bottom:1px solid #eaeaea}:host ::ng-deep .deon-head .left{flex:1}:host ::ng-deep .deon-head .left ul{display:flex;align-items:center;height:100%;margin:0;padding:0;list-style:none}:host ::ng-deep .deon-head .left ul li{padding:0 25px 0 0}:host ::ng-deep .repeat-table{border:0!important}:host ::ng-deep .field-panel-box{padding:0!important}:host ::ng-deep deon-nz-field-repeat{margin-bottom:0!important}:host ::ng-deep .fieldbox-children{margin-top:3px;border:1px solid #eaeaea}:host ::ng-deep .fieldbox-children .repeat-label{padding:0 5px;border-bottom:1px solid #eaeaea}\n"], dependencies: [{ kind: "ngmodule", type: RuntimeSharedImportsModule }, { kind: "directive", type: i4$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i9$1.FormSubmitTouchDirective, selector: "form[formGroup]" }, { kind: "component", type: i6.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i7.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i8.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "directive", type: i9.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: i14.NzEmptyComponent, selector: "nz-empty", inputs: ["nzNotFoundImage", "nzNotFoundContent", "nzNotFoundFooter"], exportAs: ["nzEmpty"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i15.LegacyFormlyForm, selector: "formly-form" }, { kind: "ngmodule", type: GramDeonAntdModule }] });
418
+ }
419
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeFormRightComponent, decorators: [{
420
+ type: Component,
421
+ args: [{ selector: 'tree-form-right', imports: [
422
+ RuntimeSharedImportsModule,
423
+ FormlyModule,
424
+ GramDeonAntdModule
425
+ ], template: "<form [formGroup]=\"form\" (ngSubmit)=\"btnSave()\">\n <div class=\"deon-head\">\n <div class=\"left\">\n <ul>\n <li>\u64CD\u4F5C\u7C7B\u578B\uFF1A{{ treeSrv.formType == 'ADD' ? '\u65B0\u589E' : '\u7F16\u8F91' }}</li>\n <li *ngIf=\"treeSrv.selectedNode!!\">\u9009\u4E2D\u9879\uFF1A{{ treeSrv.selectedNode?.title }}</li>\n <li *ngIf=\"treeSrv.selectedNode!!\">\u9009\u4E2D\u5C42\u7EA7\uFF1A{{ treeSrv.selectedLevel + 1 }}</li>\n </ul>\n </div>\n <div class=\"right\">\n <button nz-button nzType=\"default\" (click)=\"btnReload()\" type=\"button\"><i nz-icon\n nzType=\"reload\"></i>\u6E05\u9664\u9009\u9879</button>\n <ng-container *ngIf=\"isAdd == true\">\n <button nz-button nzType=\"primary\"><i nz-icon nzType=\"save\"></i>\u4FDD\u5B58</button>\n </ng-container>\n </div>\n </div>\n <div class=\"deon-from\">\n <ng-container *ngIf=\"fields && fields.length > 0; else emptyPage\">\n <formly-form [model]=\"model\" [fields]=\"fields\" [options]=\"options\" [form]=\"form\"> </formly-form>\n </ng-container>\n <ng-template #emptyPage>\n <nz-empty *ngIf=\"treeSrv.loading !== true\"></nz-empty>\n </ng-template>\n </div>\n</form>", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%;padding:0}:host ::ng-deep form{display:inline-flex;flex-direction:column;overflow:hidden}:host ::ng-deep .deon-head{display:flex;height:auto;padding:8px 12px;border-bottom:1px solid #eaeaea}:host ::ng-deep .deon-head .left{flex:1}:host ::ng-deep .deon-head .left ul{display:flex;align-items:center;height:100%;margin:0;padding:0;list-style:none}:host ::ng-deep .deon-head .left ul li{padding:0 25px 0 0}:host ::ng-deep .repeat-table{border:0!important}:host ::ng-deep .field-panel-box{padding:0!important}:host ::ng-deep deon-nz-field-repeat{margin-bottom:0!important}:host ::ng-deep .fieldbox-children{margin-top:3px;border:1px solid #eaeaea}:host ::ng-deep .fieldbox-children .repeat-label{padding:0 5px;border-bottom:1px solid #eaeaea}\n"] }]
426
+ }], ctorParameters: () => [{ type: i1._HttpClient }, { type: i4.NzMessageService }, { type: i3$2.DeonFormUtilService }, { type: i4$1.CommAPIService }, { type: i3$1.GramGlobalService }, { type: TreeFormService }] });
427
+
428
+ class CommTreeFormComponent {
429
+ http;
430
+ router;
431
+ activatedRoute;
432
+ treeSrv;
433
+ _data = null;
434
+ layoutData = null;
435
+ /**
436
+ * moduleCode
437
+ * layoutData
438
+ */
439
+ data = null;
440
+ constructor(http, router, activatedRoute, treeSrv) {
441
+ this.http = http;
442
+ this.router = router;
443
+ this.activatedRoute = activatedRoute;
444
+ this.treeSrv = treeSrv;
445
+ }
446
+ ngOnInit() { }
447
+ ngOnChanges(changes) {
448
+ if (changes && changes["data"] && this.data) {
449
+ this.treeSrv.moduleCode = this.data?.moduleCode == undefined ? 'personal' : this.data?.moduleCode;
450
+ /**
451
+ * 初始�? */
452
+ this.treeSrv.initPageData();
453
+ /**
454
+ */
455
+ this.getPageData();
456
+ }
457
+ }
458
+ ngOnDestroy() { }
459
+ getPageData() {
460
+ this.layoutData = this.data.layoutData;
461
+ this.treeSrv.treeId = this.layoutData?.treeId;
462
+ this.treeSrv.formId = this.layoutData?.formId;
463
+ setTimeout(() => {
464
+ this.treeSrv.loading = false;
465
+ }, 0);
466
+ }
467
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: CommTreeFormComponent, deps: [{ token: i1._HttpClient }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: TreeFormService }], target: i0.ɵɵFactoryTarget.Component });
468
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: CommTreeFormComponent, isStandalone: true, selector: "comm-tree-form", inputs: { data: "data" }, providers: [GramGlobalService, TreeFormService], usesOnChanges: true, ngImport: i0, template: "<nz-spin [nzSpinning]=\"treeSrv.loading\" nzTip=\"\u62FC\u547D\u52A0\u8F7D\u4E2D...\" class=\"deon-list-spin\">\n <div class=\"tree-content\" *ngIf=\"layoutData != undefined && layoutData != null\">\n <div class=\"tree-left\"><tree-form-left></tree-form-left></div>\n <div class=\"tree-right\"><tree-form-right></tree-form-right></div>\n </div>\n</nz-spin>\n", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%}:host ::ng-deep .work-content{padding:0}:host ::ng-deep .tree-content{display:flex;flex-direction:row;width:100%;height:100%;padding:0}:host ::ng-deep .tree-content .tree-left{display:flex;flex-direction:column;width:300px;height:100%;border-right:1px solid #eaeaea}:host ::ng-deep .tree-content .tree-left .tree-content{width:300px;padding:10px 12px}:host ::ng-deep .tree-content .tree-right{display:flex;flex:1;height:100%;overflow:auto}\n"], dependencies: [{ kind: "ngmodule", type: RuntimeSharedImportsModule }, { kind: "directive", type: i4$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5$1.NzSpinComponent, selector: "nz-spin", inputs: ["nzIndicator", "nzSize", "nzTip", "nzDelay", "nzSimple", "nzSpinning"], exportAs: ["nzSpin"] }, { kind: "component", type: TreeFormLeftComponent, selector: "tree-form-left" }, { kind: "component", type: TreeFormRightComponent, selector: "tree-form-right" }] });
469
+ }
470
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: CommTreeFormComponent, decorators: [{
471
+ type: Component,
472
+ args: [{ selector: 'comm-tree-form', providers: [GramGlobalService, TreeFormService], imports: [
473
+ RuntimeSharedImportsModule,
474
+ TreeFormLeftComponent,
475
+ TreeFormRightComponent
476
+ ], template: "<nz-spin [nzSpinning]=\"treeSrv.loading\" nzTip=\"\u62FC\u547D\u52A0\u8F7D\u4E2D...\" class=\"deon-list-spin\">\n <div class=\"tree-content\" *ngIf=\"layoutData != undefined && layoutData != null\">\n <div class=\"tree-left\"><tree-form-left></tree-form-left></div>\n <div class=\"tree-right\"><tree-form-right></tree-form-right></div>\n </div>\n</nz-spin>\n", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%}:host ::ng-deep .work-content{padding:0}:host ::ng-deep .tree-content{display:flex;flex-direction:row;width:100%;height:100%;padding:0}:host ::ng-deep .tree-content .tree-left{display:flex;flex-direction:column;width:300px;height:100%;border-right:1px solid #eaeaea}:host ::ng-deep .tree-content .tree-left .tree-content{width:300px;padding:10px 12px}:host ::ng-deep .tree-content .tree-right{display:flex;flex:1;height:100%;overflow:auto}\n"] }]
477
+ }], ctorParameters: () => [{ type: i1._HttpClient }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: TreeFormService }], propDecorators: { data: [{
478
+ type: Input
479
+ }] } });
480
+
481
+ class TreeListService {
482
+ router;
483
+ http;
484
+ modal;
485
+ msg;
486
+ commApiSrv;
487
+ loading = false;
488
+ pageInfo = null;
489
+ treeId = null;
490
+ pageId = null;
491
+ treeAPI = null;
492
+ treeListAPI = null;
493
+ treeKeyWord = null;
494
+ treeShowType = 'tree';
495
+ moduleCode = null;
496
+ /**
497
+ * Tree 节点全部展开
498
+ */
499
+ treeExpandAll = true;
500
+ /**
501
+ * Tree 数据集合
502
+ */
503
+ treeData = [];
504
+ /**
505
+ * 选中的节点
506
+ */
507
+ selectedNode = null;
508
+ selectedLevel = null;
509
+ /**
510
+ * 监听常量
511
+ */
512
+ globalConstant = 'reload-tree-list';
513
+ selectedKey = null;
514
+ selectedKeys = [];
515
+ expandedKeys = [];
516
+ sourceData = null;
517
+ constructor(router, http, modal, msg, commApiSrv) {
518
+ this.router = router;
519
+ this.http = http;
520
+ this.modal = modal;
521
+ this.msg = msg;
522
+ this.commApiSrv = commApiSrv;
523
+ }
524
+ initPageData() {
525
+ this.treeAPI = this.commApiSrv.getPageTree(this.moduleCode);
526
+ this.treeListAPI = this.commApiSrv.getPageTreeList(this.moduleCode);
527
+ this.treeKeyWord = null;
528
+ this.treeShowType = 'tree';
529
+ this.loading = false;
530
+ }
531
+ /**
532
+ * 获取 Tree 集合
533
+ */
534
+ getPageTreeData() {
535
+ if (this.treeId) {
536
+ this.loading = true;
537
+ this.treeData = [];
538
+ this.treeShowType = 'tree';
539
+ this.treeExpandAll = true;
540
+ this.http.post(`${this.treeAPI}/${this.treeId}`).subscribe((res) => {
541
+ if (res && res.success == true) {
542
+ let result = res.result;
543
+ if (result && result.basic) {
544
+ this.pageInfo = result.basic;
545
+ }
546
+ if (result && result.treeData && result.treeData.length > 0) {
547
+ this.treeData = [...result.treeData];
548
+ }
549
+ else {
550
+ {
551
+ this.treeData = [];
552
+ }
553
+ }
554
+ }
555
+ this.loading = false;
556
+ });
557
+ }
558
+ }
559
+ /**
560
+ * 获取 Tree 集合
561
+ */
562
+ getPageTreeListData() {
563
+ if (this.treeId) {
564
+ this.loading = true;
565
+ this.treeData = [];
566
+ this.treeShowType = 'list';
567
+ let postData = { pageId: this.treeId, keyword: this.treeKeyWord };
568
+ this.http.post(this.treeListAPI, postData).subscribe((res) => {
569
+ if (res && res.success == true) {
570
+ let result = res.result;
571
+ if (result && result.basic) {
572
+ this.pageInfo = result.basic;
573
+ }
574
+ if (result && result.treeData && result.treeData.length > 0) {
575
+ this.treeData = [...result.treeData];
576
+ }
577
+ else {
578
+ {
579
+ this.treeData = [];
580
+ }
581
+ }
582
+ }
583
+ this.loading = false;
584
+ });
585
+ }
586
+ }
587
+ pageChangeEvent(e) {
588
+ if (this.treeKeyWord) {
589
+ this.getPageTreeListData();
590
+ }
591
+ else {
592
+ this.getPageTreeData();
593
+ }
594
+ }
595
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeListService, deps: [{ token: i2.Router }, { token: i1._HttpClient }, { token: i3.NzModalService }, { token: i4.NzMessageService }, { token: CommAPIService }], target: i0.ɵɵFactoryTarget.Injectable });
596
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeListService });
597
+ }
598
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeListService, decorators: [{
599
+ type: Injectable
600
+ }], ctorParameters: () => [{ type: i2.Router }, { type: i1._HttpClient }, { type: i3.NzModalService }, { type: i4.NzMessageService }, { type: i4$1.CommAPIService, decorators: [{
601
+ type: Inject,
602
+ args: [CommAPIService]
603
+ }] }] });
604
+
605
+ class TreeListLeftComponent {
606
+ http;
607
+ cdr;
608
+ treeSrv;
609
+ globalSrv;
610
+ constructor(http, cdr, treeSrv, globalSrv) {
611
+ this.http = http;
612
+ this.cdr = cdr;
613
+ this.treeSrv = treeSrv;
614
+ this.globalSrv = globalSrv;
615
+ this.treeSrv.getPageTreeData();
616
+ }
617
+ ngOnInit() { }
618
+ btnTreeSearch() {
619
+ if (this.treeSrv.treeKeyWord) {
620
+ this.treeSrv.getPageTreeListData();
621
+ }
622
+ else {
623
+ this.treeSrv.getPageTreeData();
624
+ }
625
+ }
626
+ /**
627
+ * 点击�? * @param event
628
+ */
629
+ treeClick(event) {
630
+ this.treeSrv.loading = true;
631
+ this.treeSrv.selectedLevel = event.node.level;
632
+ //event.node.isExpanded = !event.node.isExpanded;
633
+ event.node.isExpanded = true;
634
+ this.treeSrv.selectedNode = event.node.origin;
635
+ this.treeSrv.selectedKey = event.node.key;
636
+ this.treeSrv.selectedKeys = [...[event.node.key]];
637
+ this.globalSrv.notifyDataChanged(this.treeSrv.globalConstant, { rd: Math.random() });
638
+ }
639
+ itemClick(event) {
640
+ this.treeSrv.loading = true;
641
+ this.treeSrv.selectedLevel = 0;
642
+ this.treeSrv.selectedNode = { id: event.id, title: event.title };
643
+ this.treeSrv.selectedKey = event.key;
644
+ this.treeSrv.selectedKeys = [...[event.key]];
645
+ this.globalSrv.notifyDataChanged(this.treeSrv.globalConstant, { rd: Math.random() });
646
+ }
647
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeListLeftComponent, deps: [{ token: i1._HttpClient }, { token: i0.ChangeDetectorRef }, { token: TreeListService }, { token: i3$1.GramGlobalService }], target: i0.ɵɵFactoryTarget.Component });
648
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TreeListLeftComponent, isStandalone: true, selector: "tree-list-left", ngImport: i0, template: "<div class=\"tree-query\">\n <nz-input-group nzSearch [nzAddOnAfter]=\"suffixButton\">\n <input type=\"text\" nz-input placeholder=\"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u67E5\u8BE2\" [(ngModel)]=\"treeSrv.treeKeyWord\" />\n </nz-input-group>\n <ng-template #suffixButton>\n <button nz-button nzType=\"primary\" type=\"button\" nzSearch (click)=\"btnTreeSearch()\"><i nz-icon\n nzType=\"search\"></i>\u67E5\u8BE2</button>\n </ng-template>\n</div>\n<div class=\"tree-content\">\n <ng-container *ngIf=\"treeSrv.treeData!! && treeSrv.treeData.length > 0; else tmpEmpty\">\n <ng-container *ngIf=\"treeSrv.treeShowType == 'tree'; else tmpList\">\n <nz-tree [nzData]=\"treeSrv.treeData\" [nzExpandAll]=\"treeSrv.treeExpandAll\" [nzExpandedKeys]=\"treeSrv.expandedKeys\"\n [nzSelectedKeys]=\"treeSrv.selectedKeys\" (nzClick)=\"treeClick($event)\" [nzTreeTemplate]=\"nzTreeTemplate\">\n </nz-tree>\n <ng-template #nzTreeTemplate let-node let-origin=\"origin\">\n <span class=\"custom-node\">\n <span class=\"folder-name\">{{ node.title }}</span>\n\n <!-- \u7981\u7528 -->\n <ng-container *ngIf=\"origin.disFlag!=null && origin.disFlag==true\">\n <span class=\"tree-node-stop\">\n <span nz-icon nzType=\"stop\" nz-tooltip nzTooltipTitle=\"\u5DF2\u7981\u7528\"></span>\n </span>\n </ng-container>\n\n <!-- \u5F85\u751F\u6548 -->\n <ng-container *ngIf=\"origin.effectStatus!! && origin.effectStatus=='WAITING'\">\n <span class=\"tree-node-waiting\">\n <span nz-icon nzType=\"warning\" nz-tooltip nzTooltipTitle=\"\u5F85\u751F\u6548\"></span>\n </span>\n </ng-container>\n </span>\n </ng-template>\n </ng-container>\n\n <ng-template #tmpList>\n <ul class=\"list-content\">\n <ng-container *ngFor=\"let item of treeSrv.treeData\">\n <li (click)=\"itemClick(item)\"\n [ngClass]=\"{ 'item-selected': treeSrv.selectedKey!! && item.id == treeSrv.selectedKey }\">\n {{ item.title }}\n </li>\n </ng-container>\n </ul>\n </ng-template>\n </ng-container>\n</div>\n<ng-template #tmpEmpty>\n <div class=\"tree-empty\" *ngIf=\"treeSrv.loading == false\">\n <gram-empty state=\"empty9\"></gram-empty>\n </div>\n</ng-template>", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%;padding:0}:host ::ng-deep .item-selected{color:#fff;background-color:#1177fb}:host ::ng-deep .tree-query{display:flex;width:100%;padding:8px 12px 8px 0;border-bottom:1px solid #eaeaea}:host ::ng-deep .tree-query nz-input-group{width:100%}:host ::ng-deep .list-content{width:100%;margin:0;padding:0}:host ::ng-deep .list-content li{min-height:24px;margin:0 0 4px;padding:6px 10px}:host ::ng-deep .list-content li:hover{background:#d6e9ff;cursor:pointer}:host ::ng-deep .tree-content{flex:1;width:100%;padding:10px 12px;overflow-x:overlay;overflow-y:overlay}:host ::ng-deep .tree-content .ant-tree{width:100%}:host ::ng-deep .tree-content::-webkit-scrollbar{width:8px}:host ::ng-deep .tree-content::-webkit-scrollbar-thumb{background-color:#94949475;border-radius:7px}:host ::ng-deep .tree-content::-webkit-scrollbar-track{background-color:#fff}:host ::ng-deep .tree-content .custom-node{display:flex;width:100%;cursor:pointer}:host ::ng-deep .tree-content .custom-node .folder-operation{display:none;cursor:pointer}:host ::ng-deep .tree-content nz-tree-node-switcher{width:10px!important}:host ::ng-deep .tree-content .ant-tree-indent-unit{width:10px!important}:host ::ng-deep .tree-content .ant-tree-treenode{padding:4px 0}:host ::ng-deep .tree-content .ant-tree-treenode-selected{color:#fff!important;background:#1177fb!important}:host ::ng-deep .tree-content .ant-tree-treenode-selected .custom-node .folder-operation{display:block!important;color:#fff!important}:host ::ng-deep .tree-content .ant-tree-treenode-selected nz-tree-node-title{background:none;transition:none}:host ::ng-deep .tree-content nz-tree-node:hover{background:#d6e9ff}:host ::ng-deep .tree-content nz-tree-node:hover nz-tree-node-title{background:none;transition:none}:host ::ng-deep .tree-content nz-tree-node:hover .custom-node .folder-operation{display:block;color:#1177fb}:host ::ng-deep nz-tree-node-title{width:100%;cursor:pointer}:host ::ng-deep .tree-empty{display:flex;width:100%;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: RuntimeSharedImportsModule }, { kind: "directive", type: i4$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i6.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i7.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i8.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "directive", type: i9$2.NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "cdkConnectedOverlayPush", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }, { kind: "directive", type: i9.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i10.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: i10.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch", "nzCompact"], exportAs: ["nzInputGroup"] }, { kind: "component", type: i11.NzTreeComponent, selector: "nz-tree", inputs: ["nzShowIcon", "nzHideUnMatched", "nzBlockNode", "nzExpandAll", "nzSelectMode", "nzCheckStrictly", "nzShowExpand", "nzShowLine", "nzCheckable", "nzAsyncData", "nzDraggable", "nzMultiple", "nzExpandedIcon", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualHeight", "nzTreeTemplate", "nzBeforeDrop", "nzData", "nzExpandedKeys", "nzSelectedKeys", "nzCheckedKeys", "nzSearchValue", "nzSearchFunc"], outputs: ["nzExpandedKeysChange", "nzSelectedKeysChange", "nzCheckedKeysChange", "nzSearchValueChange", "nzClick", "nzDblClick", "nzContextMenu", "nzCheckboxChange", "nzExpandChange", "nzOnDragStart", "nzOnDragEnter", "nzOnDragOver", "nzOnDragLeave", "nzOnDrop", "nzOnDragEnd"], exportAs: ["nzTree"] }, { kind: "ngmodule", type: GramDeonEmptyModule }, { kind: "component", type: i12.GramDeonEmptyComponent, selector: "gram-empty", inputs: ["desc", "state"], outputs: ["emptyClick"] }] });
649
+ }
650
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeListLeftComponent, decorators: [{
651
+ type: Component,
652
+ args: [{ selector: 'tree-list-left', imports: [
653
+ RuntimeSharedImportsModule,
654
+ GramDeonEmptyModule
655
+ ], template: "<div class=\"tree-query\">\n <nz-input-group nzSearch [nzAddOnAfter]=\"suffixButton\">\n <input type=\"text\" nz-input placeholder=\"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u67E5\u8BE2\" [(ngModel)]=\"treeSrv.treeKeyWord\" />\n </nz-input-group>\n <ng-template #suffixButton>\n <button nz-button nzType=\"primary\" type=\"button\" nzSearch (click)=\"btnTreeSearch()\"><i nz-icon\n nzType=\"search\"></i>\u67E5\u8BE2</button>\n </ng-template>\n</div>\n<div class=\"tree-content\">\n <ng-container *ngIf=\"treeSrv.treeData!! && treeSrv.treeData.length > 0; else tmpEmpty\">\n <ng-container *ngIf=\"treeSrv.treeShowType == 'tree'; else tmpList\">\n <nz-tree [nzData]=\"treeSrv.treeData\" [nzExpandAll]=\"treeSrv.treeExpandAll\" [nzExpandedKeys]=\"treeSrv.expandedKeys\"\n [nzSelectedKeys]=\"treeSrv.selectedKeys\" (nzClick)=\"treeClick($event)\" [nzTreeTemplate]=\"nzTreeTemplate\">\n </nz-tree>\n <ng-template #nzTreeTemplate let-node let-origin=\"origin\">\n <span class=\"custom-node\">\n <span class=\"folder-name\">{{ node.title }}</span>\n\n <!-- \u7981\u7528 -->\n <ng-container *ngIf=\"origin.disFlag!=null && origin.disFlag==true\">\n <span class=\"tree-node-stop\">\n <span nz-icon nzType=\"stop\" nz-tooltip nzTooltipTitle=\"\u5DF2\u7981\u7528\"></span>\n </span>\n </ng-container>\n\n <!-- \u5F85\u751F\u6548 -->\n <ng-container *ngIf=\"origin.effectStatus!! && origin.effectStatus=='WAITING'\">\n <span class=\"tree-node-waiting\">\n <span nz-icon nzType=\"warning\" nz-tooltip nzTooltipTitle=\"\u5F85\u751F\u6548\"></span>\n </span>\n </ng-container>\n </span>\n </ng-template>\n </ng-container>\n\n <ng-template #tmpList>\n <ul class=\"list-content\">\n <ng-container *ngFor=\"let item of treeSrv.treeData\">\n <li (click)=\"itemClick(item)\"\n [ngClass]=\"{ 'item-selected': treeSrv.selectedKey!! && item.id == treeSrv.selectedKey }\">\n {{ item.title }}\n </li>\n </ng-container>\n </ul>\n </ng-template>\n </ng-container>\n</div>\n<ng-template #tmpEmpty>\n <div class=\"tree-empty\" *ngIf=\"treeSrv.loading == false\">\n <gram-empty state=\"empty9\"></gram-empty>\n </div>\n</ng-template>", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%;padding:0}:host ::ng-deep .item-selected{color:#fff;background-color:#1177fb}:host ::ng-deep .tree-query{display:flex;width:100%;padding:8px 12px 8px 0;border-bottom:1px solid #eaeaea}:host ::ng-deep .tree-query nz-input-group{width:100%}:host ::ng-deep .list-content{width:100%;margin:0;padding:0}:host ::ng-deep .list-content li{min-height:24px;margin:0 0 4px;padding:6px 10px}:host ::ng-deep .list-content li:hover{background:#d6e9ff;cursor:pointer}:host ::ng-deep .tree-content{flex:1;width:100%;padding:10px 12px;overflow-x:overlay;overflow-y:overlay}:host ::ng-deep .tree-content .ant-tree{width:100%}:host ::ng-deep .tree-content::-webkit-scrollbar{width:8px}:host ::ng-deep .tree-content::-webkit-scrollbar-thumb{background-color:#94949475;border-radius:7px}:host ::ng-deep .tree-content::-webkit-scrollbar-track{background-color:#fff}:host ::ng-deep .tree-content .custom-node{display:flex;width:100%;cursor:pointer}:host ::ng-deep .tree-content .custom-node .folder-operation{display:none;cursor:pointer}:host ::ng-deep .tree-content nz-tree-node-switcher{width:10px!important}:host ::ng-deep .tree-content .ant-tree-indent-unit{width:10px!important}:host ::ng-deep .tree-content .ant-tree-treenode{padding:4px 0}:host ::ng-deep .tree-content .ant-tree-treenode-selected{color:#fff!important;background:#1177fb!important}:host ::ng-deep .tree-content .ant-tree-treenode-selected .custom-node .folder-operation{display:block!important;color:#fff!important}:host ::ng-deep .tree-content .ant-tree-treenode-selected nz-tree-node-title{background:none;transition:none}:host ::ng-deep .tree-content nz-tree-node:hover{background:#d6e9ff}:host ::ng-deep .tree-content nz-tree-node:hover nz-tree-node-title{background:none;transition:none}:host ::ng-deep .tree-content nz-tree-node:hover .custom-node .folder-operation{display:block;color:#1177fb}:host ::ng-deep nz-tree-node-title{width:100%;cursor:pointer}:host ::ng-deep .tree-empty{display:flex;width:100%;height:100%}\n"] }]
656
+ }], ctorParameters: () => [{ type: i1._HttpClient }, { type: i0.ChangeDetectorRef }, { type: TreeListService }, { type: i3$1.GramGlobalService }] });
657
+
658
+ class TreeListRightComponent {
659
+ http;
660
+ msg;
661
+ utilService;
662
+ commAPISrv;
663
+ globalSrv;
664
+ treeSrv;
665
+ pageConfig = null;
666
+ buttonEvent = new EventEmitter();
667
+ operationEvent = new EventEmitter();
668
+ componentEvent = new EventEmitter();
669
+ constructor(http, msg, utilService, commAPISrv, globalSrv, treeSrv) {
670
+ this.http = http;
671
+ this.msg = msg;
672
+ this.utilService = utilService;
673
+ this.commAPISrv = commAPISrv;
674
+ this.globalSrv = globalSrv;
675
+ this.treeSrv = treeSrv;
676
+ this.globalSrv.subscribe(this.treeSrv.globalConstant, (res) => {
677
+ this.getPageConfig();
678
+ });
679
+ this.getPageConfig();
680
+ }
681
+ ngOnInit() { }
682
+ ngOnDestroy() {
683
+ this.globalSrv.removeSubscribe(this.treeSrv.globalConstant);
684
+ }
685
+ getPageConfig() {
686
+ let nodeId = null;
687
+ let nodeInfo = null;
688
+ if (this.treeSrv.selectedNode?.id) {
689
+ nodeId = this.treeSrv.selectedNode?.id;
690
+ nodeInfo = {
691
+ id: nodeId,
692
+ name: this.treeSrv.selectedNode?.title,
693
+ };
694
+ }
695
+ let arg = {
696
+ ID: nodeId,
697
+ VAR1: nodeInfo,
698
+ };
699
+ if (this.treeSrv.sourceData && this.treeSrv.sourceData.listParameterArg) {
700
+ arg = Object.assign(arg, this.treeSrv.sourceData.listParameterArg);
701
+ }
702
+ this.pageConfig = {
703
+ pageId: this.treeSrv.pageId,
704
+ parameterArg: arg,
705
+ rd: Math.random(),
706
+ };
707
+ this.treeSrv.loading = false;
708
+ }
709
+ /**
710
+ * 页面按钮点击事件
711
+ * @param e
712
+ */
713
+ buttonClick(e) {
714
+ this.buttonEvent.emit(e);
715
+ }
716
+ /**
717
+ * 页面列表-操作列点击事�? * @param e
718
+ */
719
+ operationClick(e) {
720
+ this.operationEvent.emit(e);
721
+ }
722
+ componentClick(e) {
723
+ this.componentEvent.emit(e);
724
+ }
725
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeListRightComponent, deps: [{ token: i1._HttpClient }, { token: i4.NzMessageService }, { token: i3$2.DeonFormUtilService }, { token: i4$1.CommAPIService }, { token: i3$1.GramGlobalService }, { token: TreeListService }], target: i0.ɵɵFactoryTarget.Component });
726
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TreeListRightComponent, isStandalone: true, selector: "tree-list-right", outputs: { buttonEvent: "buttonEvent", operationEvent: "operationEvent", componentEvent: "componentEvent" }, ngImport: i0, template: "<ng-container *ngIf=\"pageConfig!!\">\n <pre-page [pageConfig]=\"pageConfig\" (buttonEvent)=\"buttonClick($event)\" (operationEvent)=\"operationClick($event)\"\n (componentEvent)=\"componentClick($event)\" (pageChangeEvent)=\"treeSrv.pageChangeEvent($event)\"></pre-page>\n</ng-container>", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%;padding:8px 15px}:host ::ng-deep form{overflow:hidden}:host ::ng-deep .deon-head{display:flex;height:auto;padding:8px 12px;border-bottom:1px solid #eaeaea}:host ::ng-deep .deon-head .left{flex:1}:host ::ng-deep .deon-head .left ul{display:flex;align-items:center;height:100%;margin:0;padding:0;list-style:none}:host ::ng-deep .deon-head .left ul li{padding:0 25px 0 0}:host ::ng-deep .repeat-table{border:0!important}:host ::ng-deep .field-panel-box{padding:0!important}:host ::ng-deep deon-nz-field-repeat{margin-bottom:0!important}:host ::ng-deep .fieldbox-children{margin-top:3px;border:1px solid #eaeaea}:host ::ng-deep .fieldbox-children .repeat-label{padding:0 5px;border-bottom:1px solid #eaeaea}\n"], dependencies: [{ kind: "ngmodule", type: RuntimeSharedImportsModule }, { kind: "directive", type: i4$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: PrePageModule }, { kind: "component", type: i8$1.PrePageComponent, selector: "pre-page", inputs: ["pageId", "pageCode", "pageConfig", "layoutData", "rd", "parameterArg"], outputs: ["advancedEvent", "buttonEvent", "buttonAfterEvent", "selectEvent", "operationEvent", "componentEvent", "pageLoadAfterEvent", "pageLoadConfigEvent"] }] });
727
+ }
728
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeListRightComponent, decorators: [{
729
+ type: Component,
730
+ args: [{ selector: 'tree-list-right', imports: [
731
+ RuntimeSharedImportsModule,
732
+ PrePageModule
733
+ ], template: "<ng-container *ngIf=\"pageConfig!!\">\n <pre-page [pageConfig]=\"pageConfig\" (buttonEvent)=\"buttonClick($event)\" (operationEvent)=\"operationClick($event)\"\n (componentEvent)=\"componentClick($event)\" (pageChangeEvent)=\"treeSrv.pageChangeEvent($event)\"></pre-page>\n</ng-container>", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%;padding:8px 15px}:host ::ng-deep form{overflow:hidden}:host ::ng-deep .deon-head{display:flex;height:auto;padding:8px 12px;border-bottom:1px solid #eaeaea}:host ::ng-deep .deon-head .left{flex:1}:host ::ng-deep .deon-head .left ul{display:flex;align-items:center;height:100%;margin:0;padding:0;list-style:none}:host ::ng-deep .deon-head .left ul li{padding:0 25px 0 0}:host ::ng-deep .repeat-table{border:0!important}:host ::ng-deep .field-panel-box{padding:0!important}:host ::ng-deep deon-nz-field-repeat{margin-bottom:0!important}:host ::ng-deep .fieldbox-children{margin-top:3px;border:1px solid #eaeaea}:host ::ng-deep .fieldbox-children .repeat-label{padding:0 5px;border-bottom:1px solid #eaeaea}\n"] }]
734
+ }], ctorParameters: () => [{ type: i1._HttpClient }, { type: i4.NzMessageService }, { type: i3$2.DeonFormUtilService }, { type: i4$1.CommAPIService }, { type: i3$1.GramGlobalService }, { type: TreeListService }], propDecorators: { buttonEvent: [{
735
+ type: Output
736
+ }], operationEvent: [{
737
+ type: Output
738
+ }], componentEvent: [{
739
+ type: Output
740
+ }] } });
741
+
742
+ class CommTreeListComponent {
743
+ http;
744
+ router;
745
+ activatedRoute;
746
+ treeSrv;
747
+ _data = null;
748
+ layoutData = null;
749
+ /**
750
+ * moduleCode
751
+ * layoutData
752
+ */
753
+ set data(value) {
754
+ this._data = value;
755
+ this.treeSrv.sourceData = _.cloneDeep(value);
756
+ this.treeSrv.moduleCode = value.moduleCode;
757
+ /**
758
+ * 初始�? */
759
+ this.treeSrv.initPageData();
760
+ /**
761
+ * 获取数据结构
762
+ */
763
+ this.getPageData();
764
+ }
765
+ get data() {
766
+ return this._data;
767
+ }
768
+ buttonEvent = new EventEmitter();
769
+ operationEvent = new EventEmitter();
770
+ componentEvent = new EventEmitter();
771
+ constructor(http, router, activatedRoute, treeSrv) {
772
+ this.http = http;
773
+ this.router = router;
774
+ this.activatedRoute = activatedRoute;
775
+ this.treeSrv = treeSrv;
776
+ }
777
+ ngOnInit() { }
778
+ ngOnDestroy() { }
779
+ getPageData() {
780
+ this.layoutData = this.data.layoutData;
781
+ this.treeSrv.treeId = this.layoutData?.treeId;
782
+ this.treeSrv.pageId = this.layoutData?.pageId;
783
+ this.treeSrv.loading = false;
784
+ }
785
+ /**
786
+ * 页面按钮点击事件
787
+ * @param e
788
+ */
789
+ buttonClick(e) {
790
+ this.buttonEvent.emit(e);
791
+ }
792
+ /**
793
+ * 页面列表-操作列点击事�? * @param e
794
+ */
795
+ operationClick(e) {
796
+ this.operationEvent.emit(e);
797
+ }
798
+ componentClick(e) {
799
+ this.componentEvent.emit(e);
800
+ }
801
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: CommTreeListComponent, deps: [{ token: i1._HttpClient }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: TreeListService }], target: i0.ɵɵFactoryTarget.Component });
802
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: CommTreeListComponent, isStandalone: true, selector: "comm-tree-list", inputs: { data: "data" }, outputs: { buttonEvent: "buttonEvent", operationEvent: "operationEvent", componentEvent: "componentEvent" }, providers: [GramGlobalService, TreeListService], ngImport: i0, template: "<nz-spin [nzSpinning]=\"treeSrv.loading\" nzTip=\"\u62FC\u547D\u52A0\u8F7D\u4E2D...\" class=\"deon-list-spin\">\n <div class=\"tree-content\" *ngIf=\"layoutData!!\">\n <div class=\"tree-left\"><tree-list-left></tree-list-left></div>\n <div class=\"tree-right\"><tree-list-right (buttonEvent)=\"buttonClick($event)\"\n (operationEvent)=\"operationClick($event)\" (componentEvent)=\"componentClick($event)\"></tree-list-right></div>\n </div>\n</nz-spin>", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%;overflow:auto}:host ::ng-deep .tree-content{display:flex;flex-direction:row;width:100%;height:100%;padding:0;overflow:auto}:host ::ng-deep .tree-content .tree-left{display:flex;flex-direction:column;width:300px;height:100%;border-right:1px solid #eaeaea}:host ::ng-deep .tree-content .tree-left .tree-query{padding:8px 12px}:host ::ng-deep .tree-content .tree-left .tree-content{width:300px;padding:10px 12px}:host ::ng-deep .tree-content .tree-right{flex:1;overflow:auto}:host ::ng-deep .tree-content .tree-right tree-list-right pre-page{padding:0}:host ::ng-deep .tree-content .tree-right tree-list-right page-info-single{padding:0}:host ::ng-deep .tree-content .tree-right tree-list-right .page-info-header{margin-left:0}\n"], dependencies: [{ kind: "ngmodule", type: RuntimeSharedImportsModule }, { kind: "directive", type: i4$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5$1.NzSpinComponent, selector: "nz-spin", inputs: ["nzIndicator", "nzSize", "nzTip", "nzDelay", "nzSimple", "nzSpinning"], exportAs: ["nzSpin"] }, { kind: "component", type: TreeListLeftComponent, selector: "tree-list-left" }, { kind: "component", type: TreeListRightComponent, selector: "tree-list-right", outputs: ["buttonEvent", "operationEvent", "componentEvent"] }] });
803
+ }
804
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: CommTreeListComponent, decorators: [{
805
+ type: Component,
806
+ args: [{ selector: 'comm-tree-list', providers: [GramGlobalService, TreeListService], imports: [
807
+ RuntimeSharedImportsModule,
808
+ TreeListLeftComponent,
809
+ TreeListRightComponent
810
+ ], template: "<nz-spin [nzSpinning]=\"treeSrv.loading\" nzTip=\"\u62FC\u547D\u52A0\u8F7D\u4E2D...\" class=\"deon-list-spin\">\n <div class=\"tree-content\" *ngIf=\"layoutData!!\">\n <div class=\"tree-left\"><tree-list-left></tree-list-left></div>\n <div class=\"tree-right\"><tree-list-right (buttonEvent)=\"buttonClick($event)\"\n (operationEvent)=\"operationClick($event)\" (componentEvent)=\"componentClick($event)\"></tree-list-right></div>\n </div>\n</nz-spin>", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%;overflow:auto}:host ::ng-deep .tree-content{display:flex;flex-direction:row;width:100%;height:100%;padding:0;overflow:auto}:host ::ng-deep .tree-content .tree-left{display:flex;flex-direction:column;width:300px;height:100%;border-right:1px solid #eaeaea}:host ::ng-deep .tree-content .tree-left .tree-query{padding:8px 12px}:host ::ng-deep .tree-content .tree-left .tree-content{width:300px;padding:10px 12px}:host ::ng-deep .tree-content .tree-right{flex:1;overflow:auto}:host ::ng-deep .tree-content .tree-right tree-list-right pre-page{padding:0}:host ::ng-deep .tree-content .tree-right tree-list-right page-info-single{padding:0}:host ::ng-deep .tree-content .tree-right tree-list-right .page-info-header{margin-left:0}\n"] }]
811
+ }], ctorParameters: () => [{ type: i1._HttpClient }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: TreeListService }], propDecorators: { data: [{
812
+ type: Input
813
+ }], buttonEvent: [{
814
+ type: Output
815
+ }], operationEvent: [{
816
+ type: Output
817
+ }], componentEvent: [{
818
+ type: Output
819
+ }] } });
820
+
821
+ const COMPONENTS = [CommTreeFormComponent, CommTreeListComponent, TreeListLeftComponent, TreeListRightComponent, TreeFormLeftComponent, TreeFormRightComponent];
822
+ const COMPONENTS_NOROUNT = [];
823
+ class CommTreeModule {
824
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: CommTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
825
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: CommTreeModule, imports: [CommTreeFormComponent, CommTreeListComponent, TreeListLeftComponent, TreeListRightComponent, TreeFormLeftComponent, TreeFormRightComponent], exports: [CommTreeFormComponent, CommTreeListComponent, TreeListLeftComponent, TreeListRightComponent, TreeFormLeftComponent, TreeFormRightComponent] });
826
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: CommTreeModule, imports: [COMPONENTS] });
827
+ }
828
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: CommTreeModule, decorators: [{
829
+ type: NgModule,
830
+ args: [{
831
+ imports: [...COMPONENTS],
832
+ exports: [...COMPONENTS],
833
+ }]
834
+ }] });
835
+
836
+ /**
837
+ * Generated bundle index. Do not edit.
838
+ */
839
+
840
+ export { CommTreeFormComponent, CommTreeListComponent, CommTreeModule, TreeFormLeftComponent, TreeFormRightComponent, TreeListLeftComponent, TreeListRightComponent };
841
+ //# sourceMappingURL=comm.tree.mjs.map