@ebuilding/biz-comm 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.
- package/LICENSE +0 -0
- package/README.md +0 -0
- package/components/filter/index.d.ts +1 -0
- package/components/filter/src/compare-filter/index.d.ts +44 -0
- package/components/filter/src/default/index.d.ts +41 -0
- package/components/filter/src/index.module.d.ts +8 -0
- package/components/filter/src/public_api.d.ts +3 -0
- package/components/lookup/index.d.ts +1 -0
- package/components/lookup/src/default/index.d.ts +28 -0
- package/components/lookup/src/index.module.d.ts +8 -0
- package/components/lookup/src/public_api.d.ts +2 -0
- package/fesm2022/components.filter.mjs +411 -0
- package/fesm2022/components.filter.mjs.map +1 -0
- package/fesm2022/components.lookup.mjs +161 -0
- package/fesm2022/components.lookup.mjs.map +1 -0
- package/fesm2022/ebuilding-biz-comm.mjs +7 -0
- package/fesm2022/ebuilding-biz-comm.mjs.map +1 -0
- package/fesm2022/other.card.mjs +419 -0
- package/fesm2022/other.card.mjs.map +1 -0
- package/fesm2022/other.control.mjs +176 -0
- package/fesm2022/other.control.mjs.map +1 -0
- package/fesm2022/other.dict.mjs +1181 -0
- package/fesm2022/other.dict.mjs.map +1 -0
- package/fesm2022/other.formula.mjs +558 -0
- package/fesm2022/other.formula.mjs.map +1 -0
- package/fesm2022/other.rule.mjs +735 -0
- package/fesm2022/other.rule.mjs.map +1 -0
- package/fesm2022/other.source.args.mjs +290 -0
- package/fesm2022/other.source.args.mjs.map +1 -0
- package/fesm2022/other.source.field-map.mjs +245 -0
- package/fesm2022/other.source.field-map.mjs.map +1 -0
- package/fesm2022/other.source.filter.mjs +295 -0
- package/fesm2022/other.source.filter.mjs.map +1 -0
- package/fesm2022/other.source.group.mjs +219 -0
- package/fesm2022/other.source.group.mjs.map +1 -0
- package/fesm2022/other.source.mjs +1485 -0
- package/fesm2022/other.source.mjs.map +1 -0
- package/fesm2022/other.source.order.mjs +243 -0
- package/fesm2022/other.source.order.mjs.map +1 -0
- package/fesm2022/other.source.table.mjs +326 -0
- package/fesm2022/other.source.table.mjs.map +1 -0
- package/fesm2022/other.tree.mjs +441 -0
- package/fesm2022/other.tree.mjs.map +1 -0
- package/fesm2022/type.formula.mjs +133 -0
- package/fesm2022/type.formula.mjs.map +1 -0
- package/fesm2022/type.lookup.mjs +256 -0
- package/fesm2022/type.lookup.mjs.map +1 -0
- package/fesm2022/type.mjs +674 -0
- package/fesm2022/type.mjs.map +1 -0
- package/fesm2022/type.tree.mjs +225 -0
- package/fesm2022/type.tree.mjs.map +1 -0
- package/index.d.ts +2 -0
- package/other/card/index.d.ts +1 -0
- package/other/card/src/card-user/index.d.ts +31 -0
- package/other/card/src/card.service.d.ts +28 -0
- package/other/card/src/components/emp/index.d.ts +13 -0
- package/other/card/src/default/index.d.ts +48 -0
- package/other/card/src/index.module.d.ts +9 -0
- package/other/card/src/public_api.d.ts +3 -0
- package/other/control/index.d.ts +1 -0
- package/other/control/src/dict/index.d.ts +26 -0
- package/other/control/src/index.module.d.ts +7 -0
- package/other/control/src/public_api.d.ts +2 -0
- package/other/dict/index.d.ts +1 -0
- package/other/dict/src/field/index.d.ts +45 -0
- package/other/dict/src/field-info/index.d.ts +38 -0
- package/other/dict/src/field-read/index.d.ts +26 -0
- package/other/dict/src/index.module.d.ts +9 -0
- package/other/dict/src/public_api.d.ts +4 -0
- package/other/formula/index.d.ts +1 -0
- package/other/formula/src/default/index.d.ts +33 -0
- package/other/formula/src/form-item/index.d.ts +32 -0
- package/other/formula/src/form-setting/index.d.ts +32 -0
- package/other/formula/src/formula.service.d.ts +20 -0
- package/other/formula/src/index.module.d.ts +10 -0
- package/other/formula/src/public_api.d.ts +5 -0
- package/other/formula/src/rule-event/index.d.ts +23 -0
- package/other/rule/index.d.ts +1 -0
- package/other/rule/src/index.module.d.ts +16 -0
- package/other/rule/src/main/index.component.d.ts +34 -0
- package/other/rule/src/public_api.d.ts +2 -0
- package/other/rule/src/rule-change/index.component.d.ts +9 -0
- package/other/rule/src/rule-change-boolean/index.component.d.ts +13 -0
- package/other/rule/src/rule-change-date/index.component.d.ts +13 -0
- package/other/rule/src/rule-change-item/index.component.d.ts +13 -0
- package/other/rule/src/rule-change-number/index.component.d.ts +13 -0
- package/other/rule/src/rule-change-ref/index.component.d.ts +19 -0
- package/other/rule/src/rule-change-text/index.component.d.ts +13 -0
- package/other/rule/src/rule-change-upload/index.component.d.ts +11 -0
- package/other/rule/src/rule-fixed/index.component.d.ts +13 -0
- package/other/rule/src/service/config.service.d.ts +43 -0
- package/other/rule/src/service/rule.service.d.ts +11 -0
- package/other/source/args/index.d.ts +1 -0
- package/other/source/args/src/basic.d.ts +49 -0
- package/other/source/args/src/default/index.d.ts +24 -0
- package/other/source/args/src/index.module.d.ts +7 -0
- package/other/source/args/src/public_api.d.ts +2 -0
- package/other/source/field-map/index.d.ts +1 -0
- package/other/source/field-map/src/basic.d.ts +39 -0
- package/other/source/field-map/src/default/index.d.ts +26 -0
- package/other/source/field-map/src/index.module.d.ts +7 -0
- package/other/source/field-map/src/public_api.d.ts +2 -0
- package/other/source/filter/index.d.ts +1 -0
- package/other/source/filter/src/basic.d.ts +45 -0
- package/other/source/filter/src/default/index.d.ts +26 -0
- package/other/source/filter/src/index.module.d.ts +8 -0
- package/other/source/filter/src/public_api.d.ts +3 -0
- package/other/source/filter/src/second/index.d.ts +30 -0
- package/other/source/group/index.d.ts +1 -0
- package/other/source/group/src/basic.d.ts +32 -0
- package/other/source/group/src/default/index.d.ts +26 -0
- package/other/source/group/src/index.module.d.ts +7 -0
- package/other/source/group/src/public_api.d.ts +2 -0
- package/other/source/index.d.ts +6 -0
- package/other/source/order/index.d.ts +1 -0
- package/other/source/order/src/basic.d.ts +39 -0
- package/other/source/order/src/default/index.d.ts +26 -0
- package/other/source/order/src/index.module.d.ts +7 -0
- package/other/source/order/src/public_api.d.ts +2 -0
- package/other/source/table/index.d.ts +1 -0
- package/other/source/table/src/basic.d.ts +62 -0
- package/other/source/table/src/default/index.d.ts +26 -0
- package/other/source/table/src/index.module.d.ts +7 -0
- package/other/source/table/src/public_api.d.ts +2 -0
- package/other/tree/index.d.ts +1 -0
- package/other/tree/src/components/form/index.d.ts +17 -0
- package/other/tree/src/components/tree/index.d.ts +19 -0
- package/other/tree/src/default/index.d.ts +18 -0
- package/other/tree/src/index.module.d.ts +9 -0
- package/other/tree/src/public_api.d.ts +4 -0
- package/other/tree/src/treeService.d.ts +59 -0
- package/package.json +96 -0
- package/type/formula/index.d.ts +1 -0
- package/type/formula/src/default/index.d.ts +19 -0
- package/type/formula/src/index.module.d.ts +8 -0
- package/type/formula/src/public_api.d.ts +2 -0
- package/type/index.d.ts +1 -0
- package/type/index.module.d.ts +11 -0
- package/type/lookup/index.d.ts +1 -0
- package/type/lookup/src/default/index.d.ts +31 -0
- package/type/lookup/src/index.module.d.ts +8 -0
- package/type/lookup/src/public_api.d.ts +2 -0
- package/type/tree/index.d.ts +1 -0
- package/type/tree/src/default/index.d.ts +31 -0
- package/type/tree/src/index.module.d.ts +8 -0
- package/type/tree/src/public_api.d.ts +2 -0
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable, Component, Input, NgModule } from '@angular/core';
|
|
3
|
+
import * as i3$1 from '@angular/common';
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
5
|
+
import * as i5 from '@angular/forms';
|
|
6
|
+
import { FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
7
|
+
import * as i4 from 'ng-zorro-antd/spin';
|
|
8
|
+
import { NzSpinModule } from 'ng-zorro-antd/spin';
|
|
9
|
+
import * as i6 from '@kre-form/core';
|
|
10
|
+
import { FormlyModule } from '@kre-form/core';
|
|
11
|
+
import * as i7 from 'ng-zorro-antd/button';
|
|
12
|
+
import { NzButtonModule } from 'ng-zorro-antd/button';
|
|
13
|
+
import * as i10 from 'ng-zorro-antd/empty';
|
|
14
|
+
import { NzEmptyModule } from 'ng-zorro-antd/empty';
|
|
15
|
+
import * as i11 from 'ng-zorro-antd/icon';
|
|
16
|
+
import { NzIconModule } from 'ng-zorro-antd/icon';
|
|
17
|
+
import * as i1$1 from '@delon/theme';
|
|
18
|
+
import * as i2 from 'ng-zorro-antd/message';
|
|
19
|
+
import _ from 'lodash';
|
|
20
|
+
import { zip, of } from 'rxjs';
|
|
21
|
+
import * as i1 from '@angular/router';
|
|
22
|
+
import * as i3 from 'ng-zorro-antd/modal';
|
|
23
|
+
import * as i8 from 'ng-zorro-antd/core/transition-patch';
|
|
24
|
+
import * as i9 from 'ng-zorro-antd/core/wave';
|
|
25
|
+
import * as i5$1 from 'ng-zorro-antd/input';
|
|
26
|
+
import { NzInputModule } from 'ng-zorro-antd/input';
|
|
27
|
+
import * as i10$1 from 'ng-zorro-antd/tree';
|
|
28
|
+
import { NzTreeModule } from 'ng-zorro-antd/tree';
|
|
29
|
+
import * as i12 from 'ng-zorro-antd/dropdown';
|
|
30
|
+
import { NzDropDownModule } from 'ng-zorro-antd/dropdown';
|
|
31
|
+
import * as i13 from '@ebuilding/abc/empty';
|
|
32
|
+
import { GramDeonEmptyModule } from '@ebuilding/abc/empty';
|
|
33
|
+
import * as i11$1 from 'ng-zorro-antd/menu';
|
|
34
|
+
|
|
35
|
+
class TreeService {
|
|
36
|
+
router;
|
|
37
|
+
http;
|
|
38
|
+
modal;
|
|
39
|
+
msg;
|
|
40
|
+
loading = false;
|
|
41
|
+
nzExpandAll = true;
|
|
42
|
+
data = [];
|
|
43
|
+
defaultApi = null;
|
|
44
|
+
defaultPara = null;
|
|
45
|
+
defaultForm = null;
|
|
46
|
+
defaultModel = null;
|
|
47
|
+
defaultSearch = null;
|
|
48
|
+
searchPara = null;
|
|
49
|
+
selectedKey = null;
|
|
50
|
+
selectedKeys = [];
|
|
51
|
+
expandedKeys = [];
|
|
52
|
+
selectedItem = null;
|
|
53
|
+
form = new FormGroup({});
|
|
54
|
+
model = {};
|
|
55
|
+
options = {};
|
|
56
|
+
fields = [];
|
|
57
|
+
editor = true;
|
|
58
|
+
keyword = null;
|
|
59
|
+
type = null; //'tree' || 'list';
|
|
60
|
+
constructor(router, http, modal, msg) {
|
|
61
|
+
this.router = router;
|
|
62
|
+
this.http = http;
|
|
63
|
+
this.modal = modal;
|
|
64
|
+
this.msg = msg;
|
|
65
|
+
}
|
|
66
|
+
init(config) {
|
|
67
|
+
if (config) {
|
|
68
|
+
this.defaultApi = config.defaultApi;
|
|
69
|
+
if (config.defaultPara) {
|
|
70
|
+
this.defaultPara = config.defaultPara;
|
|
71
|
+
}
|
|
72
|
+
if (config.defaultModel) {
|
|
73
|
+
this.defaultModel = config.defaultModel;
|
|
74
|
+
}
|
|
75
|
+
if (config.defaultForm) {
|
|
76
|
+
this.defaultForm = config.defaultForm;
|
|
77
|
+
}
|
|
78
|
+
if (config.defaultSearch) {
|
|
79
|
+
this.defaultSearch = config.defaultSearch;
|
|
80
|
+
}
|
|
81
|
+
if (config.searchPara) {
|
|
82
|
+
this.searchPara = config.searchPara;
|
|
83
|
+
}
|
|
84
|
+
this.editor = true;
|
|
85
|
+
this.type = 'tree';
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
btnReload() {
|
|
89
|
+
if (JSON.stringify(this.model) !== '{"disFlag":false}') {
|
|
90
|
+
this.options?.resetModel();
|
|
91
|
+
}
|
|
92
|
+
this.model = { type: 'SINGLE', refType: 'EMP', master: true };
|
|
93
|
+
this.form = new FormGroup({});
|
|
94
|
+
this.selectedKey = null;
|
|
95
|
+
this.selectedKeys = [];
|
|
96
|
+
this.expandedKeys = [];
|
|
97
|
+
this.selectedItem = null;
|
|
98
|
+
this.editor = true;
|
|
99
|
+
this.keyword = null;
|
|
100
|
+
this.type = 'tree';
|
|
101
|
+
this.getDataTree();
|
|
102
|
+
}
|
|
103
|
+
btnSave() {
|
|
104
|
+
if (!this.form.valid) {
|
|
105
|
+
this.msg.warning('请检查必填项!');
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
this.loading = true;
|
|
109
|
+
let postData = _.cloneDeep(this.model);
|
|
110
|
+
if (this.defaultModel) {
|
|
111
|
+
postData = Object.assign(postData, this.defaultModel);
|
|
112
|
+
}
|
|
113
|
+
this.http.post(this.defaultForm, postData).subscribe((res) => {
|
|
114
|
+
this.loading = false;
|
|
115
|
+
if (res && res.success == true) {
|
|
116
|
+
this.msg.success('保存成功!');
|
|
117
|
+
}
|
|
118
|
+
this.form = new FormGroup({});
|
|
119
|
+
this.options?.resetModel();
|
|
120
|
+
this.selectedItem = _.cloneDeep(res.result);
|
|
121
|
+
this.btnSearch();
|
|
122
|
+
}, () => {
|
|
123
|
+
this.loading = false;
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
btnSearch() {
|
|
127
|
+
if (this.keyword) {
|
|
128
|
+
this.getDataList();
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
this.getDataTree();
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
itemClick(e) {
|
|
135
|
+
this.selectedItem = e;
|
|
136
|
+
this.getConfig();
|
|
137
|
+
}
|
|
138
|
+
getDataList() {
|
|
139
|
+
this.type = 'list';
|
|
140
|
+
this.loading = true;
|
|
141
|
+
let postData = { title: this.keyword };
|
|
142
|
+
if (this.searchPara) {
|
|
143
|
+
postData = Object.assign(postData, this.searchPara);
|
|
144
|
+
}
|
|
145
|
+
this.http.post(this.defaultSearch, postData).subscribe((res) => {
|
|
146
|
+
if (res && res.success == true) {
|
|
147
|
+
if (res.result && res.result.length > 0) {
|
|
148
|
+
this.data = [...res.result];
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
{
|
|
152
|
+
this.data = [];
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
this.getConfig();
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* 获取树数据
|
|
161
|
+
*/
|
|
162
|
+
getDataTree() {
|
|
163
|
+
this.type = 'tree';
|
|
164
|
+
this.loading = true;
|
|
165
|
+
this.http.post(this.defaultApi, this.defaultPara).subscribe((res) => {
|
|
166
|
+
if (res && res.success == true) {
|
|
167
|
+
if (res.result && res.result.length > 0) {
|
|
168
|
+
this.data = [...res.result];
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
{
|
|
172
|
+
this.data = [];
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
this.expandedKeys = [...this.expandedKeys];
|
|
176
|
+
this.selectedKeys = [...this.selectedKeys];
|
|
177
|
+
}
|
|
178
|
+
this.getConfig();
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
getConfig() {
|
|
182
|
+
new Promise((resolve) => {
|
|
183
|
+
zip(this.getFormData(), this.getFormConfig()).subscribe(([data, config]) => {
|
|
184
|
+
this.model = data;
|
|
185
|
+
this.fields = config;
|
|
186
|
+
this.loading = false;
|
|
187
|
+
}, () => { }, () => {
|
|
188
|
+
resolve();
|
|
189
|
+
});
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* 获取Form 数据
|
|
194
|
+
* @returns
|
|
195
|
+
*/
|
|
196
|
+
getFormData() {
|
|
197
|
+
if (this.selectedItem) {
|
|
198
|
+
let data = _.cloneDeep(this.selectedItem);
|
|
199
|
+
return of(data);
|
|
200
|
+
}
|
|
201
|
+
return of({});
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* 获取Form 配置
|
|
205
|
+
* @returns
|
|
206
|
+
*/
|
|
207
|
+
getFormConfig() {
|
|
208
|
+
let config = [
|
|
209
|
+
{
|
|
210
|
+
type: 'grid',
|
|
211
|
+
fieldGroup: [
|
|
212
|
+
{
|
|
213
|
+
type: 'list',
|
|
214
|
+
props: {
|
|
215
|
+
cols: 8,
|
|
216
|
+
},
|
|
217
|
+
fieldGroup: [
|
|
218
|
+
{
|
|
219
|
+
type: 'text',
|
|
220
|
+
key: 'code',
|
|
221
|
+
props: { label: '编码', required: true, maxLength: 50, placeholder: '请输入编码', layout: 'upDown' },
|
|
222
|
+
editor: this.editor,
|
|
223
|
+
},
|
|
224
|
+
],
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
type: 'list',
|
|
228
|
+
props: {
|
|
229
|
+
cols: 8,
|
|
230
|
+
},
|
|
231
|
+
fieldGroup: [
|
|
232
|
+
{
|
|
233
|
+
type: 'text',
|
|
234
|
+
key: 'title',
|
|
235
|
+
props: { label: '名称', required: true, maxLength: 50, placeholder: '请输入名称', layout: 'upDown' },
|
|
236
|
+
},
|
|
237
|
+
],
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
type: 'list',
|
|
241
|
+
props: {
|
|
242
|
+
cols: 8,
|
|
243
|
+
},
|
|
244
|
+
fieldGroup: [
|
|
245
|
+
{
|
|
246
|
+
type: 'checkbox',
|
|
247
|
+
key: 'disFlag',
|
|
248
|
+
props: {
|
|
249
|
+
label: '是否禁用',
|
|
250
|
+
layout: 'upDown',
|
|
251
|
+
hideLabel: true,
|
|
252
|
+
labelPosition: 'right',
|
|
253
|
+
},
|
|
254
|
+
defaultValue: false,
|
|
255
|
+
},
|
|
256
|
+
],
|
|
257
|
+
},
|
|
258
|
+
],
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
type: 'panel',
|
|
262
|
+
props: {
|
|
263
|
+
label: '下级参数',
|
|
264
|
+
},
|
|
265
|
+
fieldGroup: [
|
|
266
|
+
{
|
|
267
|
+
type: 'repeat',
|
|
268
|
+
key: 'children',
|
|
269
|
+
fieldArray: {
|
|
270
|
+
fieldGroup: [
|
|
271
|
+
{
|
|
272
|
+
type: 'text',
|
|
273
|
+
key: 'code',
|
|
274
|
+
props: { label: '编码', required: true, maxLength: 50, placeholder: '请输入编码', cols: 12 },
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
type: 'text',
|
|
278
|
+
key: 'title',
|
|
279
|
+
props: { label: '名称', required: true, maxLength: 50, placeholder: '请输入名称', cols: 12 },
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
type: 'checkbox',
|
|
283
|
+
key: 'disFlag',
|
|
284
|
+
props: {
|
|
285
|
+
label: '是否禁用',
|
|
286
|
+
},
|
|
287
|
+
defaultValue: false,
|
|
288
|
+
},
|
|
289
|
+
],
|
|
290
|
+
},
|
|
291
|
+
},
|
|
292
|
+
],
|
|
293
|
+
},
|
|
294
|
+
];
|
|
295
|
+
return of(_.cloneDeep(config));
|
|
296
|
+
}
|
|
297
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeService, deps: [{ token: i1.Router }, { token: i1$1._HttpClient }, { token: i3.NzModalService }, { token: i2.NzMessageService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
298
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeService });
|
|
299
|
+
}
|
|
300
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeService, decorators: [{
|
|
301
|
+
type: Injectable
|
|
302
|
+
}], ctorParameters: () => [{ type: i1.Router }, { type: i1$1._HttpClient }, { type: i3.NzModalService }, { type: i2.NzMessageService }] });
|
|
303
|
+
|
|
304
|
+
class TreeFormComponent {
|
|
305
|
+
http;
|
|
306
|
+
msg;
|
|
307
|
+
treeSrv;
|
|
308
|
+
// loading: boolean = true;
|
|
309
|
+
// form = new FormGroup({});
|
|
310
|
+
// model: any = {};
|
|
311
|
+
// options: DeonFormOptions = {};
|
|
312
|
+
// fields:FormlyFieldConfig[] = [];
|
|
313
|
+
// @Input() treeId: any = null;
|
|
314
|
+
// @Input() node: any = null;
|
|
315
|
+
// @Output() saveData: EventEmitter<any> = new EventEmitter();
|
|
316
|
+
// @Output() clearData: EventEmitter<any> = new EventEmitter();
|
|
317
|
+
// get editor() {
|
|
318
|
+
// return this.node!! ? false : true;
|
|
319
|
+
// }
|
|
320
|
+
constructor(http, msg, treeSrv) {
|
|
321
|
+
this.http = http;
|
|
322
|
+
this.msg = msg;
|
|
323
|
+
this.treeSrv = treeSrv;
|
|
324
|
+
}
|
|
325
|
+
ngOnInit() { }
|
|
326
|
+
ngAfterViewInit() { }
|
|
327
|
+
ngOnChanges(changes) { }
|
|
328
|
+
ngOnDestroy() { }
|
|
329
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeFormComponent, deps: [{ token: i1$1._HttpClient }, { token: i2.NzMessageService }, { token: TreeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
330
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TreeFormComponent, isStandalone: true, selector: "tree-form", usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"treeSrv.form\" (ngSubmit)=\"treeSrv.btnSave()\">\r\n <div class=\"deon-head\">\r\n <div class=\"left\">\r\n <ul>\r\n <li *ngIf=\"treeSrv.selectedItem == null\">\u9009\u4E2D\u9879\uFF1A---</li>\r\n <li *ngIf=\"treeSrv.selectedItem!!\">\u9009\u4E2D\u9879\uFF1A{{ treeSrv.selectedItem?.title }}</li>\r\n </ul>\r\n </div>\r\n <div class=\"right\">\r\n <button nz-button nzType=\"default\" (click)=\"treeSrv.btnReload()\" type=\"button\"><i nz-icon\r\n nzType=\"reload\"></i>\u6E05\u9664\u9009\u9879</button>\r\n <button nz-button nzType=\"primary\"><i nz-icon nzType=\"save\"></i>\u4FDD\u5B58</button>\r\n </div>\r\n </div>\r\n <div class=\"deon-from\">\r\n <ng-container *ngIf=\"treeSrv.fields && treeSrv.fields.length > 0; else emptyPage\">\r\n <formly-form [model]=\"treeSrv.model\" [fields]=\"treeSrv.fields\" [options]=\"treeSrv.options\" [form]=\"treeSrv.form\">\r\n </formly-form>\r\n </ng-container>\r\n <ng-template #emptyPage>\r\n <nz-empty *ngIf=\"treeSrv.loading !== true\"></nz-empty>\r\n </ng-template>\r\n </div>\r\n</form>", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%;padding:0}: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 .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}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { 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: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i6.FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }, { kind: "ngmodule", type: NzButtonModule }, { kind: "component", type: i7.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i8.ɵ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: i9.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "ngmodule", type: NzEmptyModule }, { kind: "component", type: i10.NzEmptyComponent, selector: "nz-empty", inputs: ["nzNotFoundImage", "nzNotFoundContent", "nzNotFoundFooter"], exportAs: ["nzEmpty"] }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i11.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }] });
|
|
331
|
+
}
|
|
332
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeFormComponent, decorators: [{
|
|
333
|
+
type: Component,
|
|
334
|
+
args: [{ selector: 'tree-form', imports: [
|
|
335
|
+
CommonModule,
|
|
336
|
+
FormsModule,
|
|
337
|
+
ReactiveFormsModule,
|
|
338
|
+
FormlyModule,
|
|
339
|
+
NzButtonModule,
|
|
340
|
+
NzEmptyModule,
|
|
341
|
+
NzIconModule
|
|
342
|
+
], template: "<form [formGroup]=\"treeSrv.form\" (ngSubmit)=\"treeSrv.btnSave()\">\r\n <div class=\"deon-head\">\r\n <div class=\"left\">\r\n <ul>\r\n <li *ngIf=\"treeSrv.selectedItem == null\">\u9009\u4E2D\u9879\uFF1A---</li>\r\n <li *ngIf=\"treeSrv.selectedItem!!\">\u9009\u4E2D\u9879\uFF1A{{ treeSrv.selectedItem?.title }}</li>\r\n </ul>\r\n </div>\r\n <div class=\"right\">\r\n <button nz-button nzType=\"default\" (click)=\"treeSrv.btnReload()\" type=\"button\"><i nz-icon\r\n nzType=\"reload\"></i>\u6E05\u9664\u9009\u9879</button>\r\n <button nz-button nzType=\"primary\"><i nz-icon nzType=\"save\"></i>\u4FDD\u5B58</button>\r\n </div>\r\n </div>\r\n <div class=\"deon-from\">\r\n <ng-container *ngIf=\"treeSrv.fields && treeSrv.fields.length > 0; else emptyPage\">\r\n <formly-form [model]=\"treeSrv.model\" [fields]=\"treeSrv.fields\" [options]=\"treeSrv.options\" [form]=\"treeSrv.form\">\r\n </formly-form>\r\n </ng-container>\r\n <ng-template #emptyPage>\r\n <nz-empty *ngIf=\"treeSrv.loading !== true\"></nz-empty>\r\n </ng-template>\r\n </div>\r\n</form>", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%;padding:0}: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 .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}\n"] }]
|
|
343
|
+
}], ctorParameters: () => [{ type: i1$1._HttpClient }, { type: i2.NzMessageService }, { type: TreeService }] });
|
|
344
|
+
|
|
345
|
+
class TreeInfoComponent {
|
|
346
|
+
msgSrv;
|
|
347
|
+
treeSrv;
|
|
348
|
+
constructor(msgSrv, treeSrv) {
|
|
349
|
+
this.msgSrv = msgSrv;
|
|
350
|
+
this.treeSrv = treeSrv;
|
|
351
|
+
}
|
|
352
|
+
keyword = null;
|
|
353
|
+
ngOnInit() { }
|
|
354
|
+
ngOnDestroy() { }
|
|
355
|
+
/**
|
|
356
|
+
* 点击树
|
|
357
|
+
* @param event
|
|
358
|
+
*/
|
|
359
|
+
treeClick(event) {
|
|
360
|
+
event.node.isExpanded = !event.node.isExpanded;
|
|
361
|
+
this.treeSrv.selectedItem = event.node.origin;
|
|
362
|
+
this.treeSrv.selectedKey = event.node.key;
|
|
363
|
+
this.treeSrv.selectedKeys = [...[event.node.key]];
|
|
364
|
+
this.treeSrv.editor = false;
|
|
365
|
+
this.treeSrv.getConfig();
|
|
366
|
+
}
|
|
367
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeInfoComponent, deps: [{ token: i2.NzMessageService }, { token: TreeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
368
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TreeInfoComponent, isStandalone: true, selector: "tree-info", ngImport: i0, template: "<div class=\"tree-query\">\r\n <nz-input-group nzSearch [nzAddOnAfter]=\"suffixButton\">\r\n <input type=\"text\" nz-input placeholder=\"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u67E5\u8BE2\" [(ngModel)]=\"treeSrv.keyword\" />\r\n </nz-input-group>\r\n <ng-template #suffixButton>\r\n <button nz-button nzType=\"primary\" type=\"button\" nzSearch (click)=\"treeSrv.btnSearch()\"><i nz-icon nzType=\"search\"></i>\u67E5\u8BE2</button>\r\n </ng-template>\r\n</div>\r\n<div class=\"tree-content\">\r\n <ng-container *ngIf=\"treeSrv.data!! && treeSrv.data.length > 0; else tmpEmpty\">\r\n <ng-container *ngIf=\"treeSrv.type == 'tree'; else tmpList\">\r\n <nz-tree\r\n [nzData]=\"treeSrv.data\"\r\n [nzExpandAll]=\"treeSrv.nzExpandAll\"\r\n [nzExpandedKeys]=\"treeSrv.expandedKeys\"\r\n [nzSelectedKeys]=\"treeSrv.selectedKeys\"\r\n (nzClick)=\"treeClick($event)\"\r\n [nzTreeTemplate]=\"nzTreeTemplate\"\r\n >\r\n </nz-tree>\r\n <ng-template #nzTreeTemplate let-node let-origin=\"origin\">\r\n <span class=\"custom-node\">\r\n <span class=\"folder-name\">{{ node.title }}</span>\r\n <span class=\"folder-operation\" nz-dropdown [nzDropdownMenu]=\"menu\">\r\n <i nz-icon nzType=\"more\"></i>\r\n </span>\r\n\r\n <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n <ul nz-menu nzSelectable>\r\n <li nz-menu-item nzDisabled>\u6811\u5F62\u53C2\u6570ID\uFF1A{{ node.id }}</li>\r\n </ul>\r\n </nz-dropdown-menu>\r\n </span>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-template #tmpList>\r\n <ul class=\"list-content\">\r\n <ng-container *ngFor=\"let item of treeSrv.data\">\r\n <li\r\n (click)=\"treeSrv.itemClick(item)\"\r\n [ngClass]=\"{ 'item-selected': treeSrv.selectedItem!! && item.id == treeSrv.selectedItem.id}\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </ng-template>\r\n </ng-container>\r\n</div>\r\n<ng-template #tmpEmpty>\r\n <div class=\"tree-empty\">\r\n <gram-empty state=\"empty9\"></gram-empty>\r\n </div>\r\n</ng-template>\r\n", 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::-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: CommonModule }, { kind: "directive", type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { 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: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: NzInputModule }, { kind: "directive", type: i5$1.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: i5$1.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch", "nzCompact"], exportAs: ["nzInputGroup"] }, { kind: "ngmodule", type: NzButtonModule }, { kind: "component", type: i7.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i8.ɵ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: i9.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "ngmodule", type: NzEmptyModule }, { kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i11.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "ngmodule", type: NzTreeModule }, { kind: "component", type: i10$1.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: NzDropDownModule }, { kind: "directive", type: i11$1.NzMenuDirective, selector: "[nz-menu]", inputs: ["nzInlineIndent", "nzTheme", "nzMode", "nzInlineCollapsed", "nzSelectable"], outputs: ["nzClick"], exportAs: ["nzMenu"] }, { kind: "component", type: i11$1.NzMenuItemComponent, selector: "[nz-menu-item]", inputs: ["nzPaddingLeft", "nzDisabled", "nzSelected", "nzDanger", "nzMatchRouterExact", "nzMatchRouter"], exportAs: ["nzMenuItem"] }, { kind: "directive", type: i12.NzDropDownDirective, selector: "[nz-dropdown]", inputs: ["nzDropdownMenu", "nzTrigger", "nzMatchWidthElement", "nzBackdrop", "nzClickHide", "nzDisabled", "nzVisible", "nzOverlayClassName", "nzOverlayStyle", "nzPlacement"], outputs: ["nzVisibleChange"], exportAs: ["nzDropdown"] }, { kind: "component", type: i12.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "ngmodule", type: GramDeonEmptyModule }, { kind: "component", type: i13.GramDeonEmptyComponent, selector: "gram-empty", inputs: ["desc", "state"], outputs: ["emptyClick"] }] });
|
|
369
|
+
}
|
|
370
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TreeInfoComponent, decorators: [{
|
|
371
|
+
type: Component,
|
|
372
|
+
args: [{ selector: 'tree-info', imports: [
|
|
373
|
+
CommonModule,
|
|
374
|
+
FormsModule,
|
|
375
|
+
ReactiveFormsModule,
|
|
376
|
+
NzInputModule,
|
|
377
|
+
NzButtonModule,
|
|
378
|
+
NzEmptyModule,
|
|
379
|
+
NzIconModule,
|
|
380
|
+
NzTreeModule,
|
|
381
|
+
NzDropDownModule,
|
|
382
|
+
GramDeonEmptyModule
|
|
383
|
+
], template: "<div class=\"tree-query\">\r\n <nz-input-group nzSearch [nzAddOnAfter]=\"suffixButton\">\r\n <input type=\"text\" nz-input placeholder=\"\u8BF7\u8F93\u5165\u5173\u952E\u5B57\u67E5\u8BE2\" [(ngModel)]=\"treeSrv.keyword\" />\r\n </nz-input-group>\r\n <ng-template #suffixButton>\r\n <button nz-button nzType=\"primary\" type=\"button\" nzSearch (click)=\"treeSrv.btnSearch()\"><i nz-icon nzType=\"search\"></i>\u67E5\u8BE2</button>\r\n </ng-template>\r\n</div>\r\n<div class=\"tree-content\">\r\n <ng-container *ngIf=\"treeSrv.data!! && treeSrv.data.length > 0; else tmpEmpty\">\r\n <ng-container *ngIf=\"treeSrv.type == 'tree'; else tmpList\">\r\n <nz-tree\r\n [nzData]=\"treeSrv.data\"\r\n [nzExpandAll]=\"treeSrv.nzExpandAll\"\r\n [nzExpandedKeys]=\"treeSrv.expandedKeys\"\r\n [nzSelectedKeys]=\"treeSrv.selectedKeys\"\r\n (nzClick)=\"treeClick($event)\"\r\n [nzTreeTemplate]=\"nzTreeTemplate\"\r\n >\r\n </nz-tree>\r\n <ng-template #nzTreeTemplate let-node let-origin=\"origin\">\r\n <span class=\"custom-node\">\r\n <span class=\"folder-name\">{{ node.title }}</span>\r\n <span class=\"folder-operation\" nz-dropdown [nzDropdownMenu]=\"menu\">\r\n <i nz-icon nzType=\"more\"></i>\r\n </span>\r\n\r\n <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n <ul nz-menu nzSelectable>\r\n <li nz-menu-item nzDisabled>\u6811\u5F62\u53C2\u6570ID\uFF1A{{ node.id }}</li>\r\n </ul>\r\n </nz-dropdown-menu>\r\n </span>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-template #tmpList>\r\n <ul class=\"list-content\">\r\n <ng-container *ngFor=\"let item of treeSrv.data\">\r\n <li\r\n (click)=\"treeSrv.itemClick(item)\"\r\n [ngClass]=\"{ 'item-selected': treeSrv.selectedItem!! && item.id == treeSrv.selectedItem.id}\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </ng-template>\r\n </ng-container>\r\n</div>\r\n<ng-template #tmpEmpty>\r\n <div class=\"tree-empty\">\r\n <gram-empty state=\"empty9\"></gram-empty>\r\n </div>\r\n</ng-template>\r\n", 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::-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"] }]
|
|
384
|
+
}], ctorParameters: () => [{ type: i2.NzMessageService }, { type: TreeService }] });
|
|
385
|
+
|
|
386
|
+
class GramTreeMainComponent {
|
|
387
|
+
http;
|
|
388
|
+
msgSrv;
|
|
389
|
+
treeSrv;
|
|
390
|
+
config = null;
|
|
391
|
+
keyword = null;
|
|
392
|
+
constructor(http, msgSrv, treeSrv) {
|
|
393
|
+
this.http = http;
|
|
394
|
+
this.msgSrv = msgSrv;
|
|
395
|
+
this.treeSrv = treeSrv;
|
|
396
|
+
}
|
|
397
|
+
ngOnInit() { }
|
|
398
|
+
ngOnChanges(changes) {
|
|
399
|
+
if (changes['config']) {
|
|
400
|
+
this.treeSrv.init(this.config);
|
|
401
|
+
this.treeSrv.getDataTree();
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
ngOnDestroy() { }
|
|
405
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramTreeMainComponent, deps: [{ token: i1$1._HttpClient }, { token: i2.NzMessageService }, { token: TreeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
406
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: GramTreeMainComponent, isStandalone: true, selector: "gram-tree", inputs: { config: "config" }, providers: [TreeService], usesOnChanges: true, ngImport: i0, template: "<nz-spin [nzSpinning]=\"treeSrv.loading\" nzTip=\"\u62FC\u547D\u52A0\u8F7D\u4E2D...\" class=\"deon-list-spin\">\r\n <div class=\"body-content\">\r\n <div class=\"body-left\"><tree-info></tree-info></div>\r\n <div class=\"body-right\"><tree-form></tree-form></div>\r\n </div>\r\n</nz-spin>\r\n", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%;flex-direction:row}:host ::ng-deep .body-content{display:flex;flex:1}:host ::ng-deep .box-list{flex:1;padding:0 0 0 15px}:host ::ng-deep .box-list .tr-sel td,:host ::ng-deep .box-list .tr-sel :hover td{color:#fff!important;background:#1177fb!important}:host ::ng-deep .box-list .tr-sel td a,:host ::ng-deep .box-list .tr-sel :hover td a{color:#fff!important}:host ::ng-deep .box-list tr:hover{cursor:move}:host ::ng-deep .box-field{display:flex;flex-direction:column;width:350px;border-top:1px solid #f5f7fa}:host ::ng-deep .box-field .field-title{display:flex;width:100%;padding:8px 0 0 15px;font-size:16px}:host ::ng-deep .box-field .field-title a{position:relative}:host ::ng-deep .box-field .field-title a span{margin-right:5px}:host ::ng-deep .box-field .field-title a:after{position:absolute;bottom:-5px;left:0;width:100%;border-bottom:1px solid #1177fb;content:\"\"}:host ::ng-deep .box-field .field-content{flex:1;overflow:hidden}:host ::ng-deep .box-field .field-content .deon-from{padding:25px 10px 15px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: NzSpinModule }, { kind: "component", type: i4.NzSpinComponent, selector: "nz-spin", inputs: ["nzIndicator", "nzSize", "nzTip", "nzDelay", "nzSimple", "nzSpinning"], exportAs: ["nzSpin"] }, { kind: "component", type: TreeFormComponent, selector: "tree-form" }, { kind: "component", type: TreeInfoComponent, selector: "tree-info" }] });
|
|
407
|
+
}
|
|
408
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramTreeMainComponent, decorators: [{
|
|
409
|
+
type: Component,
|
|
410
|
+
args: [{ selector: 'gram-tree', providers: [TreeService], imports: [
|
|
411
|
+
CommonModule,
|
|
412
|
+
FormsModule,
|
|
413
|
+
ReactiveFormsModule,
|
|
414
|
+
NzSpinModule,
|
|
415
|
+
TreeFormComponent,
|
|
416
|
+
TreeInfoComponent
|
|
417
|
+
], template: "<nz-spin [nzSpinning]=\"treeSrv.loading\" nzTip=\"\u62FC\u547D\u52A0\u8F7D\u4E2D...\" class=\"deon-list-spin\">\r\n <div class=\"body-content\">\r\n <div class=\"body-left\"><tree-info></tree-info></div>\r\n <div class=\"body-right\"><tree-form></tree-form></div>\r\n </div>\r\n</nz-spin>\r\n", styles: [":host ::ng-deep{display:flex;flex:1;flex-direction:column;width:100%;height:100%;flex-direction:row}:host ::ng-deep .body-content{display:flex;flex:1}:host ::ng-deep .box-list{flex:1;padding:0 0 0 15px}:host ::ng-deep .box-list .tr-sel td,:host ::ng-deep .box-list .tr-sel :hover td{color:#fff!important;background:#1177fb!important}:host ::ng-deep .box-list .tr-sel td a,:host ::ng-deep .box-list .tr-sel :hover td a{color:#fff!important}:host ::ng-deep .box-list tr:hover{cursor:move}:host ::ng-deep .box-field{display:flex;flex-direction:column;width:350px;border-top:1px solid #f5f7fa}:host ::ng-deep .box-field .field-title{display:flex;width:100%;padding:8px 0 0 15px;font-size:16px}:host ::ng-deep .box-field .field-title a{position:relative}:host ::ng-deep .box-field .field-title a span{margin-right:5px}:host ::ng-deep .box-field .field-title a:after{position:absolute;bottom:-5px;left:0;width:100%;border-bottom:1px solid #1177fb;content:\"\"}:host ::ng-deep .box-field .field-content{flex:1;overflow:hidden}:host ::ng-deep .box-field .field-content .deon-from{padding:25px 10px 15px}\n"] }]
|
|
418
|
+
}], ctorParameters: () => [{ type: i1$1._HttpClient }, { type: i2.NzMessageService }, { type: TreeService }], propDecorators: { config: [{
|
|
419
|
+
type: Input
|
|
420
|
+
}] } });
|
|
421
|
+
|
|
422
|
+
const components = [GramTreeMainComponent, TreeInfoComponent, TreeFormComponent];
|
|
423
|
+
class GramTreeModule {
|
|
424
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
425
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: GramTreeModule, imports: [GramTreeMainComponent, TreeInfoComponent, TreeFormComponent], exports: [GramTreeMainComponent, TreeInfoComponent, TreeFormComponent] });
|
|
426
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramTreeModule, imports: [components] });
|
|
427
|
+
}
|
|
428
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramTreeModule, decorators: [{
|
|
429
|
+
type: NgModule,
|
|
430
|
+
args: [{
|
|
431
|
+
imports: [...components],
|
|
432
|
+
exports: [...components],
|
|
433
|
+
}]
|
|
434
|
+
}] });
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* Generated bundle index. Do not edit.
|
|
438
|
+
*/
|
|
439
|
+
|
|
440
|
+
export { GramTreeMainComponent, GramTreeModule, TreeFormComponent, TreeInfoComponent };
|
|
441
|
+
//# sourceMappingURL=other.tree.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"other.tree.mjs","sources":["../../../../packages/biz-comm/other/tree/src/treeService.ts","../../../../packages/biz-comm/other/tree/src/components/form/index.ts","../../../../packages/biz-comm/other/tree/src/components/form/index.html","../../../../packages/biz-comm/other/tree/src/components/tree/index.ts","../../../../packages/biz-comm/other/tree/src/components/tree/index.html","../../../../packages/biz-comm/other/tree/src/default/index.ts","../../../../packages/biz-comm/other/tree/src/default/index.html","../../../../packages/biz-comm/other/tree/src/index.module.ts","../../../../packages/biz-comm/other/tree/other.tree.ts"],"sourcesContent":["import { Injectable, ChangeDetectorRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { NzMessageService } from 'ng-zorro-antd/message';\r\nimport { NzModalService } from 'ng-zorro-antd/modal';\r\nimport { _HttpClient } from '@delon/theme';\r\n\r\nimport { FormlyFormOptions, FormlyFieldConfig } from '@kre-form/core';\r\nimport _ from 'lodash';\r\nimport { of, zip } from 'rxjs';\r\n@Injectable()\r\nexport class TreeService {\r\n loading: boolean = false;\r\n nzExpandAll: boolean = true;\r\n data: any[] = [];\r\n\r\n defaultApi: any = null;\r\n defaultPara: any = null;\r\n defaultForm: any = null;\r\n defaultModel: any = null;\r\n defaultSearch: any = null;\r\n searchPara: any = null;\r\n\r\n selectedKey: any = null;\r\n selectedKeys: any[] = [];\r\n expandedKeys: any[] = [];\r\n\r\n selectedItem: any = null;\r\n\r\n form = new FormGroup({});\r\n model: any = {};\r\n options: FormlyFormOptions = {};\r\n fields: FormlyFieldConfig[] = [];\r\n editor: boolean = true;\r\n\r\n keyword: any = null;\r\n type: any = null;//'tree' || 'list';\r\n constructor(public router: Router, public http: _HttpClient, public modal: NzModalService, public msg: NzMessageService) { }\r\n\r\n init(config?: any) {\r\n if (config!!) {\r\n this.defaultApi = config.defaultApi;\r\n if (config.defaultPara!!) {\r\n this.defaultPara = config.defaultPara;\r\n }\r\n if (config.defaultModel!!) {\r\n this.defaultModel = config.defaultModel;\r\n }\r\n if (config.defaultForm!!) {\r\n this.defaultForm = config.defaultForm;\r\n }\r\n if (config.defaultSearch!!) {\r\n this.defaultSearch = config.defaultSearch;\r\n }\r\n if (config.searchPara!!) {\r\n this.searchPara = config.searchPara;\r\n }\r\n this.editor = true;\r\n this.type = 'tree';\r\n }\r\n }\r\n\r\n btnReload() {\r\n if (JSON.stringify(this.model) !== '{\"disFlag\":false}') {\r\n this.options?.resetModel();\r\n }\r\n this.model = { type: 'SINGLE', refType: 'EMP', master: true };\r\n this.form = new FormGroup({});\r\n this.selectedKey = null;\r\n this.selectedKeys = [];\r\n this.expandedKeys = [];\r\n this.selectedItem = null;\r\n this.editor = true;\r\n this.keyword = null;\r\n this.type = 'tree';\r\n this.getDataTree();\r\n }\r\n\r\n btnSave() {\r\n if (!this.form.valid) {\r\n this.msg.warning('请检查必填项!');\r\n return;\r\n }\r\n this.loading = true;\r\n let postData: any = _.cloneDeep(this.model);\r\n if (this.defaultModel!!) {\r\n postData = Object.assign(postData, this.defaultModel);\r\n }\r\n this.http.post(this.defaultForm, postData).subscribe(\r\n (res: any) => {\r\n this.loading = false;\r\n if (res && res.success == true) {\r\n this.msg.success('保存成功!');\r\n }\r\n this.form = new FormGroup({});\r\n this.options?.resetModel();\r\n this.selectedItem = _.cloneDeep(res.result);\r\n this.btnSearch();\r\n },\r\n () => {\r\n this.loading = false;\r\n },\r\n );\r\n }\r\n\r\n btnSearch() {\r\n if (this.keyword!!) {\r\n this.getDataList();\r\n } else {\r\n this.getDataTree();\r\n }\r\n }\r\n\r\n itemClick(e: any) {\r\n this.selectedItem = e;\r\n this.getConfig();\r\n }\r\n\r\n getDataList() {\r\n this.type = 'list';\r\n this.loading = true;\r\n let postData: any = { title: this.keyword };\r\n if (this.searchPara!!) {\r\n postData = Object.assign(postData, this.searchPara);\r\n }\r\n this.http.post(this.defaultSearch, postData).subscribe((res: any) => {\r\n if (res!! && res.success == true) {\r\n if (res.result!! && res.result.length > 0) {\r\n this.data = [...res.result];\r\n } else {\r\n {\r\n this.data = [];\r\n }\r\n }\r\n }\r\n this.getConfig();\r\n });\r\n }\r\n\r\n /**\r\n * 获取树数据\r\n */\r\n getDataTree() {\r\n this.type = 'tree';\r\n this.loading = true;\r\n this.http.post(this.defaultApi, this.defaultPara).subscribe((res: any) => {\r\n if (res!! && res.success == true) {\r\n if (res.result!! && res.result.length > 0) {\r\n this.data = [...res.result];\r\n } else {\r\n {\r\n this.data = [];\r\n }\r\n }\r\n this.expandedKeys = [...this.expandedKeys];\r\n this.selectedKeys = [...this.selectedKeys];\r\n }\r\n this.getConfig();\r\n });\r\n }\r\n\r\n getConfig() {\r\n new Promise((resolve: any) => {\r\n zip(this.getFormData(), this.getFormConfig()).subscribe(\r\n ([data, config]) => {\r\n this.model = data;\r\n this.fields = config;\r\n this.loading = false;\r\n },\r\n () => { },\r\n () => {\r\n resolve();\r\n },\r\n );\r\n });\r\n }\r\n\r\n /**\r\n * 获取Form 数据\r\n * @returns\r\n */\r\n getFormData() {\r\n if (this.selectedItem!!) {\r\n let data: any = _.cloneDeep(this.selectedItem);\r\n return of(data);\r\n }\r\n return of({});\r\n }\r\n\r\n /**\r\n * 获取Form 配置\r\n * @returns\r\n */\r\n getFormConfig() {\r\n let config: FormlyFieldConfig[] = [\r\n {\r\n type: 'grid',\r\n fieldGroup: [\r\n {\r\n type: 'list',\r\n props: {\r\n cols: 8,\r\n },\r\n fieldGroup: [\r\n {\r\n type: 'text',\r\n key: 'code',\r\n props: { label: '编码', required: true, maxLength: 50, placeholder: '请输入编码', layout: 'upDown' },\r\n editor: this.editor,\r\n },\r\n ],\r\n },\r\n {\r\n type: 'list',\r\n props: {\r\n cols: 8,\r\n },\r\n fieldGroup: [\r\n {\r\n type: 'text',\r\n key: 'title',\r\n props: { label: '名称', required: true, maxLength: 50, placeholder: '请输入名称', layout: 'upDown' },\r\n },\r\n ],\r\n },\r\n {\r\n type: 'list',\r\n props: {\r\n cols: 8,\r\n },\r\n fieldGroup: [\r\n {\r\n type: 'checkbox',\r\n key: 'disFlag',\r\n props: {\r\n label: '是否禁用',\r\n layout: 'upDown',\r\n hideLabel: true,\r\n labelPosition: 'right',\r\n },\r\n defaultValue: false,\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n type: 'panel',\r\n props: {\r\n label: '下级参数',\r\n },\r\n fieldGroup: [\r\n {\r\n type: 'repeat',\r\n key: 'children',\r\n fieldArray: {\r\n fieldGroup: [\r\n {\r\n type: 'text',\r\n key: 'code',\r\n props: { label: '编码', required: true, maxLength: 50, placeholder: '请输入编码', cols: 12 },\r\n },\r\n {\r\n type: 'text',\r\n key: 'title',\r\n props: { label: '名称', required: true, maxLength: 50, placeholder: '请输入名称', cols: 12 },\r\n },\r\n {\r\n type: 'checkbox',\r\n key: 'disFlag',\r\n props: {\r\n label: '是否禁用',\r\n },\r\n defaultValue: false,\r\n },\r\n ],\r\n },\r\n },\r\n ],\r\n },\r\n ];\r\n\r\n return of(_.cloneDeep(config));\r\n }\r\n}\r\n","import { Component, OnInit, AfterViewInit, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { _HttpClient } from '@delon/theme';\r\nimport { FormlyModule } from '@kre-form/core';\r\nimport { NzButtonModule } from 'ng-zorro-antd/button';\r\nimport { NzEmptyModule } from 'ng-zorro-antd/empty';\r\nimport { NzIconModule } from 'ng-zorro-antd/icon';\r\nimport { NzMessageService } from 'ng-zorro-antd/message';\r\n\r\nimport { TreeService } from '../../treeService';\r\n\r\n@Component({\r\n selector: 'tree-form',\r\n templateUrl: './index.html',\r\n styleUrls: ['./index.less'],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n FormlyModule,\r\n NzButtonModule,\r\n NzEmptyModule,\r\n NzIconModule\r\n ]\r\n})\r\nexport class TreeFormComponent implements OnInit {\r\n // loading: boolean = true;\r\n // form = new FormGroup({});\r\n // model: any = {};\r\n // options: DeonFormOptions = {};\r\n // fields:FormlyFieldConfig[] = [];\r\n // @Input() treeId: any = null;\r\n // @Input() node: any = null;\r\n // @Output() saveData: EventEmitter<any> = new EventEmitter();\r\n // @Output() clearData: EventEmitter<any> = new EventEmitter();\r\n\r\n // get editor() {\r\n // return this.node!! ? false : true;\r\n // }\r\n\r\n constructor(public http: _HttpClient, public msg: NzMessageService, public treeSrv: TreeService) { }\r\n\r\n ngOnInit(): void { }\r\n\r\n ngAfterViewInit(): void { }\r\n\r\n ngOnChanges(changes: SimpleChanges): void { }\r\n\r\n ngOnDestroy() { }\r\n}\r\n","<form [formGroup]=\"treeSrv.form\" (ngSubmit)=\"treeSrv.btnSave()\">\r\n <div class=\"deon-head\">\r\n <div class=\"left\">\r\n <ul>\r\n <li *ngIf=\"treeSrv.selectedItem == null\">选中项:---</li>\r\n <li *ngIf=\"treeSrv.selectedItem!!\">选中项:{{ treeSrv.selectedItem?.title }}</li>\r\n </ul>\r\n </div>\r\n <div class=\"right\">\r\n <button nz-button nzType=\"default\" (click)=\"treeSrv.btnReload()\" type=\"button\"><i nz-icon\r\n nzType=\"reload\"></i>清除选项</button>\r\n <button nz-button nzType=\"primary\"><i nz-icon nzType=\"save\"></i>保存</button>\r\n </div>\r\n </div>\r\n <div class=\"deon-from\">\r\n <ng-container *ngIf=\"treeSrv.fields && treeSrv.fields.length > 0; else emptyPage\">\r\n <formly-form [model]=\"treeSrv.model\" [fields]=\"treeSrv.fields\" [options]=\"treeSrv.options\" [form]=\"treeSrv.form\">\r\n </formly-form>\r\n </ng-container>\r\n <ng-template #emptyPage>\r\n <nz-empty *ngIf=\"treeSrv.loading !== true\"></nz-empty>\r\n </ng-template>\r\n </div>\r\n</form>","import { Component, OnInit, Input } from '@angular/core';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { _HttpClient } from '@delon/theme';\r\nimport { NzInputModule } from 'ng-zorro-antd/input';\r\nimport { NzButtonModule } from 'ng-zorro-antd/button';\r\nimport { NzEmptyModule } from 'ng-zorro-antd/empty';\r\nimport { NzIconModule } from 'ng-zorro-antd/icon';\r\nimport { NzTreeModule } from 'ng-zorro-antd/tree';\r\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\r\nimport { NzMessageService } from 'ng-zorro-antd/message';\r\n\r\nimport { GramDeonEmptyModule } from '@ebuilding/abc/empty';\r\nimport { TreeService } from '../../treeService';\r\n\r\n\r\n@Component({\r\n selector: 'tree-info',\r\n templateUrl: './index.html',\r\n styleUrls: ['./index.less'],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NzInputModule,\r\n NzButtonModule,\r\n NzEmptyModule,\r\n NzIconModule,\r\n NzTreeModule,\r\n NzDropDownModule,\r\n GramDeonEmptyModule\r\n ]\r\n})\r\nexport class TreeInfoComponent implements OnInit {\r\n constructor(public msgSrv: NzMessageService, public treeSrv: TreeService) { }\r\n keyword: any = null;\r\n ngOnInit(): void { }\r\n\r\n ngOnDestroy() { }\r\n\r\n /**\r\n * 点击树\r\n * @param event\r\n */\r\n treeClick(event: any) {\r\n event.node.isExpanded = !event.node.isExpanded;\r\n this.treeSrv.selectedItem = event.node.origin;\r\n this.treeSrv.selectedKey = event.node.key;\r\n this.treeSrv.selectedKeys = [...[event.node.key]];\r\n this.treeSrv.editor = false;\r\n this.treeSrv.getConfig();\r\n }\r\n}\r\n","<div class=\"tree-query\">\r\n <nz-input-group nzSearch [nzAddOnAfter]=\"suffixButton\">\r\n <input type=\"text\" nz-input placeholder=\"请输入关键字查询\" [(ngModel)]=\"treeSrv.keyword\" />\r\n </nz-input-group>\r\n <ng-template #suffixButton>\r\n <button nz-button nzType=\"primary\" type=\"button\" nzSearch (click)=\"treeSrv.btnSearch()\"><i nz-icon nzType=\"search\"></i>查询</button>\r\n </ng-template>\r\n</div>\r\n<div class=\"tree-content\">\r\n <ng-container *ngIf=\"treeSrv.data!! && treeSrv.data.length > 0; else tmpEmpty\">\r\n <ng-container *ngIf=\"treeSrv.type == 'tree'; else tmpList\">\r\n <nz-tree\r\n [nzData]=\"treeSrv.data\"\r\n [nzExpandAll]=\"treeSrv.nzExpandAll\"\r\n [nzExpandedKeys]=\"treeSrv.expandedKeys\"\r\n [nzSelectedKeys]=\"treeSrv.selectedKeys\"\r\n (nzClick)=\"treeClick($event)\"\r\n [nzTreeTemplate]=\"nzTreeTemplate\"\r\n >\r\n </nz-tree>\r\n <ng-template #nzTreeTemplate let-node let-origin=\"origin\">\r\n <span class=\"custom-node\">\r\n <span class=\"folder-name\">{{ node.title }}</span>\r\n <span class=\"folder-operation\" nz-dropdown [nzDropdownMenu]=\"menu\">\r\n <i nz-icon nzType=\"more\"></i>\r\n </span>\r\n\r\n <nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n <ul nz-menu nzSelectable>\r\n <li nz-menu-item nzDisabled>树形参数ID:{{ node.id }}</li>\r\n </ul>\r\n </nz-dropdown-menu>\r\n </span>\r\n </ng-template>\r\n </ng-container>\r\n\r\n <ng-template #tmpList>\r\n <ul class=\"list-content\">\r\n <ng-container *ngFor=\"let item of treeSrv.data\">\r\n <li\r\n (click)=\"treeSrv.itemClick(item)\"\r\n [ngClass]=\"{ 'item-selected': treeSrv.selectedItem!! && item.id == treeSrv.selectedItem.id}\"\r\n >\r\n {{ item.title }}\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </ng-template>\r\n </ng-container>\r\n</div>\r\n<ng-template #tmpEmpty>\r\n <div class=\"tree-empty\">\r\n <gram-empty state=\"empty9\"></gram-empty>\r\n </div>\r\n</ng-template>\r\n","import { Component, OnInit, Input, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { _HttpClient } from '@delon/theme';\r\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\r\nimport { NzMessageService } from 'ng-zorro-antd/message';\r\n\r\nimport { TreeFormComponent } from \"../components/form\";\r\nimport { TreeInfoComponent } from \"../components/tree\";\r\nimport { TreeService } from '../treeService';\r\n\r\n@Component({\r\n selector: 'gram-tree',\r\n templateUrl: './index.html',\r\n styleUrls: ['./index.less'],\r\n providers: [TreeService],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NzSpinModule,\r\n TreeFormComponent,\r\n TreeInfoComponent\r\n ]\r\n})\r\nexport class GramTreeMainComponent implements OnInit, OnChanges {\r\n @Input() config: any = null;\r\n keyword: any = null;\r\n constructor(public http: _HttpClient, public msgSrv: NzMessageService, public treeSrv: TreeService) { }\r\n\r\n ngOnInit(): void { }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['config']) {\r\n this.treeSrv.init(this.config);\r\n this.treeSrv.getDataTree();\r\n }\r\n }\r\n\r\n ngOnDestroy() { }\r\n}\r\n","<nz-spin [nzSpinning]=\"treeSrv.loading\" nzTip=\"拼命加载中...\" class=\"deon-list-spin\">\r\n <div class=\"body-content\">\r\n <div class=\"body-left\"><tree-info></tree-info></div>\r\n <div class=\"body-right\"><tree-form></tree-form></div>\r\n </div>\r\n</nz-spin>\r\n","import { NgModule } from '@angular/core';\r\nimport { GramTreeMainComponent } from './default/index';\r\nimport { TreeInfoComponent } from './components/tree/index';\r\nimport { TreeFormComponent } from './components/form/index';\r\n\r\nconst components: any[] = [GramTreeMainComponent, TreeInfoComponent, TreeFormComponent];\r\n\r\n@NgModule({\r\n imports: [...components],\r\n exports: [...components],\r\n})\r\nexport class GramTreeModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i4","i1","i3.TreeService","i2.TreeService","i6","i7","i8","i10","i11"],"mappings":"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"}
|