atr-components 3.1.10 → 3.1.12

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.
@@ -1,9 +1,9 @@
1
1
  import { animation, style, animate, trigger, state, transition, keyframes } from '@angular/animations';
2
2
  import * as i0 from '@angular/core';
3
- import { Injectable, EventEmitter, NgModule, Pipe, Input, Directive, HostListener, Output, forwardRef, Component, ChangeDetectionStrategy, LOCALE_ID, ViewChild, Inject } from '@angular/core';
3
+ import { Injectable, EventEmitter, NgModule, Pipe, Input, Directive, HostListener, Output, forwardRef, Component, ChangeDetectionStrategy, LOCALE_ID, ViewChild, Inject, SecurityContext } from '@angular/core';
4
4
  import * as i2 from '@angular/common/http';
5
5
  import { HttpHeaders, HttpRequest, HttpEventType, HttpErrorResponse, HttpResponse, HttpResponseBase } from '@angular/common/http';
6
- import { Observable, throwError, of, debounceTime } from 'rxjs';
6
+ import { Observable, throwError, of, debounceTime, Subject, firstValueFrom, take, timeout, takeUntil, defer, throwIfEmpty, finalize } from 'rxjs';
7
7
  import { mergeMap, catchError } from 'rxjs/operators';
8
8
  import * as i1$1 from '@angular/router';
9
9
  import { Router, RouterModule } from '@angular/router';
@@ -21,14 +21,14 @@ import { NzAvatarModule } from 'ng-zorro-antd/avatar';
21
21
  import { NzBackTopModule } from 'ng-zorro-antd/back-top';
22
22
  import { NzBadgeModule } from 'ng-zorro-antd/badge';
23
23
  import { NzBreadCrumbModule } from 'ng-zorro-antd/breadcrumb';
24
- import * as i3$1 from 'ng-zorro-antd/button';
24
+ import * as i3 from 'ng-zorro-antd/button';
25
25
  import { NzButtonModule } from 'ng-zorro-antd/button';
26
26
  import { NzCalendarModule } from 'ng-zorro-antd/calendar';
27
27
  import { NzCardModule } from 'ng-zorro-antd/card';
28
28
  import { NzCarouselModule } from 'ng-zorro-antd/carousel';
29
- import * as i4 from 'ng-zorro-antd/cascader';
29
+ import * as i5 from 'ng-zorro-antd/cascader';
30
30
  import { NzCascaderModule } from 'ng-zorro-antd/cascader';
31
- import * as i6$1 from 'ng-zorro-antd/checkbox';
31
+ import * as i6 from 'ng-zorro-antd/checkbox';
32
32
  import { NzCheckboxModule } from 'ng-zorro-antd/checkbox';
33
33
  import { NzCollapseModule } from 'ng-zorro-antd/collapse';
34
34
  import { NzCommentModule } from 'ng-zorro-antd/comment';
@@ -36,14 +36,14 @@ import { NzNoAnimationModule } from 'ng-zorro-antd/core/no-animation';
36
36
  import { NzTransButtonModule } from 'ng-zorro-antd/core/trans-button';
37
37
  import * as i5$1 from 'ng-zorro-antd/core/wave';
38
38
  import { NzWaveModule } from 'ng-zorro-antd/core/wave';
39
- import * as i5 from 'ng-zorro-antd/date-picker';
39
+ import * as i7 from 'ng-zorro-antd/date-picker';
40
40
  import { NzDatePickerModule } from 'ng-zorro-antd/date-picker';
41
41
  import * as i4$1 from 'ng-zorro-antd/descriptions';
42
42
  import { NzDescriptionsModule } from 'ng-zorro-antd/descriptions';
43
43
  import { NzDividerModule } from 'ng-zorro-antd/divider';
44
44
  import * as i1$5 from 'ng-zorro-antd/drawer';
45
45
  import { NzDrawerModule } from 'ng-zorro-antd/drawer';
46
- import * as i7 from 'ng-zorro-antd/dropdown';
46
+ import * as i7$1 from 'ng-zorro-antd/dropdown';
47
47
  import { NzDropDownModule, NzContextMenuService } from 'ng-zorro-antd/dropdown';
48
48
  import { NzEmptyModule } from 'ng-zorro-antd/empty';
49
49
  import * as i14 from 'ng-zorro-antd/form';
@@ -51,11 +51,11 @@ import { NzFormModule } from 'ng-zorro-antd/form';
51
51
  import * as i8 from 'ng-zorro-antd/grid';
52
52
  import { NzGridModule } from 'ng-zorro-antd/grid';
53
53
  import { NzI18nModule } from 'ng-zorro-antd/i18n';
54
- import * as i8$1 from 'ng-zorro-antd/icon';
54
+ import * as i10 from 'ng-zorro-antd/icon';
55
55
  import { NzIconModule } from 'ng-zorro-antd/icon';
56
- import * as i9 from 'ng-zorro-antd/input';
56
+ import * as i11 from 'ng-zorro-antd/input';
57
57
  import { NzInputModule } from 'ng-zorro-antd/input';
58
- import * as i16 from 'ng-zorro-antd/input-number-legacy';
58
+ import * as i12 from 'ng-zorro-antd/input-number-legacy';
59
59
  import { NzInputNumberLegacyModule } from 'ng-zorro-antd/input-number-legacy';
60
60
  import { NzLayoutModule } from 'ng-zorro-antd/layout';
61
61
  import { NzListModule } from 'ng-zorro-antd/list';
@@ -64,7 +64,7 @@ import { NzMenuModule } from 'ng-zorro-antd/menu';
64
64
  import { NzPageHeaderModule } from 'ng-zorro-antd/page-header';
65
65
  import * as i11$1 from 'ng-zorro-antd/pagination';
66
66
  import { NzPaginationModule } from 'ng-zorro-antd/pagination';
67
- import * as i9$1 from 'ng-zorro-antd/popover';
67
+ import * as i9 from 'ng-zorro-antd/popover';
68
68
  import { NzPopoverModule } from 'ng-zorro-antd/popover';
69
69
  import { NzProgressModule } from 'ng-zorro-antd/progress';
70
70
  import * as i17 from 'ng-zorro-antd/radio';
@@ -72,7 +72,7 @@ import { NzRadioModule } from 'ng-zorro-antd/radio';
72
72
  import * as i5$2 from 'ng-zorro-antd/rate';
73
73
  import { NzRateModule } from 'ng-zorro-antd/rate';
74
74
  import { NzResultModule } from 'ng-zorro-antd/result';
75
- import * as i10 from 'ng-zorro-antd/select';
75
+ import * as i13 from 'ng-zorro-antd/select';
76
76
  import { NzSelectModule } from 'ng-zorro-antd/select';
77
77
  import { NzSkeletonModule } from 'ng-zorro-antd/skeleton';
78
78
  import { NzSliderModule } from 'ng-zorro-antd/slider';
@@ -81,7 +81,7 @@ import { NzStatisticModule } from 'ng-zorro-antd/statistic';
81
81
  import { NzStepsModule } from 'ng-zorro-antd/steps';
82
82
  import * as i10$1 from 'ng-zorro-antd/switch';
83
83
  import { NzSwitchModule } from 'ng-zorro-antd/switch';
84
- import * as i12 from 'ng-zorro-antd/table';
84
+ import * as i12$1 from 'ng-zorro-antd/table';
85
85
  import { NzTableModule } from 'ng-zorro-antd/table';
86
86
  import { NzTabsModule } from 'ng-zorro-antd/tabs';
87
87
  import { NzTagModule } from 'ng-zorro-antd/tag';
@@ -90,24 +90,25 @@ import { NzTimelineModule } from 'ng-zorro-antd/timeline';
90
90
  import { NzTooltipModule } from 'ng-zorro-antd/tooltip';
91
91
  import { NzTransferModule } from 'ng-zorro-antd/transfer';
92
92
  import { NzTreeModule } from 'ng-zorro-antd/tree';
93
- import * as i11 from 'ng-zorro-antd/tree-select';
93
+ import * as i14$1 from 'ng-zorro-antd/tree-select';
94
94
  import { NzTreeSelectModule } from 'ng-zorro-antd/tree-select';
95
95
  import { NzTypographyModule } from 'ng-zorro-antd/typography';
96
- import * as i6 from 'ng-zorro-antd/upload';
96
+ import * as i6$1 from 'ng-zorro-antd/upload';
97
97
  import { NzUploadModule } from 'ng-zorro-antd/upload';
98
- import * as i13 from 'ng-zorro-antd/resizable';
98
+ import * as i13$1 from 'ng-zorro-antd/resizable';
99
99
  import { NzResizableModule } from 'ng-zorro-antd/resizable';
100
100
  import * as i2$1 from '@angular/common';
101
101
  import { CommonModule, formatDate, DatePipe, registerLocaleData } from '@angular/common';
102
102
  import { NzSpaceModule } from 'ng-zorro-antd/space';
103
103
  import * as i1$3 from 'ng-zorro-antd/image';
104
104
  import { NzImageModule } from 'ng-zorro-antd/image';
105
- import * as i3$3 from '@tinymce/tinymce-angular';
105
+ import * as i3$2 from '@tinymce/tinymce-angular';
106
106
  import { EditorModule } from '@tinymce/tinymce-angular';
107
107
  import * as i1 from '@angular/platform-browser';
108
+ import { DomSanitizer } from '@angular/platform-browser';
108
109
  import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
109
- import * as i3 from 'ng-zorro-antd/core/transition-patch';
110
- import * as i3$2 from 'ng-zorro-antd/modal';
110
+ import * as i4 from 'ng-zorro-antd/core/transition-patch';
111
+ import * as i3$1 from 'ng-zorro-antd/modal';
111
112
  import { NzModalModule } from 'ng-zorro-antd/modal';
112
113
  import * as i1$4 from '@videogular/ngx-videogular/core';
113
114
  import { VgCoreModule } from '@videogular/ngx-videogular/core';
@@ -119,7 +120,8 @@ import zh from '@angular/common/locales/zh';
119
120
  import * as echarts from 'echarts';
120
121
  import { VgOverlayPlayModule } from '@videogular/ngx-videogular/overlay-play';
121
122
  import { VgBufferingModule } from '@videogular/ngx-videogular/buffering';
122
- import * as i14$1 from 'ag-grid-angular';
123
+ import { ModuleRegistry, AllCommunityModule } from 'ag-grid-community';
124
+ import * as i14$2 from 'ag-grid-angular';
123
125
  import { AgGridAngular } from 'ag-grid-angular';
124
126
 
125
127
  const transAnimation = animation([
@@ -136,6 +138,8 @@ const atr_static_datas = {
136
138
  * oss地址前缀
137
139
  */
138
140
  OSS_URL: '',
141
+ /** 图片加载失败时使用的静态资源地址;宿主可覆盖。 */
142
+ errImg: 'assets/atr-components/assets/no-image-placeholder.png',
139
143
  /**
140
144
  * 静态地址
141
145
  */
@@ -1389,10 +1393,10 @@ class HttpService {
1389
1393
  }, error => {
1390
1394
  });
1391
1395
  }
1392
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HttpService, deps: [{ token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
1393
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HttpService }); }
1396
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: HttpService, deps: [{ token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
1397
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: HttpService }); }
1394
1398
  }
1395
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HttpService, decorators: [{
1399
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: HttpService, decorators: [{
1396
1400
  type: Injectable
1397
1401
  }], ctorParameters: () => [{ type: i2.HttpClient }] });
1398
1402
 
@@ -1529,10 +1533,10 @@ class MenuService {
1529
1533
  this.isLoadMenu = 'unload';
1530
1534
  this.data = [];
1531
1535
  }
1532
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MenuService, deps: [{ token: HttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1533
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MenuService, providedIn: 'root' }); }
1536
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MenuService, deps: [{ token: HttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1537
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MenuService, providedIn: 'root' }); }
1534
1538
  }
1535
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: MenuService, decorators: [{
1539
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: MenuService, decorators: [{
1536
1540
  type: Injectable,
1537
1541
  args: [{ providedIn: 'root' }]
1538
1542
  }], ctorParameters: () => [{ type: HttpService }] });
@@ -1686,16 +1690,16 @@ class BaseInterceptor {
1686
1690
  return of(event);
1687
1691
  }), catchError((err) => this.handleData(err, noTip == "1")));
1688
1692
  }
1689
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: BaseInterceptor, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
1690
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: BaseInterceptor }); }
1693
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BaseInterceptor, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
1694
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BaseInterceptor }); }
1691
1695
  }
1692
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: BaseInterceptor, decorators: [{
1696
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BaseInterceptor, decorators: [{
1693
1697
  type: Injectable
1694
1698
  }], ctorParameters: () => [{ type: i0.Injector }] });
1695
1699
 
1696
1700
  class CusNgZorroAntdModule {
1697
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CusNgZorroAntdModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1698
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: CusNgZorroAntdModule, exports: [CommonModule,
1701
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CusNgZorroAntdModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1702
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: CusNgZorroAntdModule, exports: [CommonModule,
1699
1703
  NzSpaceModule,
1700
1704
  NzAffixModule,
1701
1705
  NzAlertModule,
@@ -1761,7 +1765,7 @@ class CusNgZorroAntdModule {
1761
1765
  FormsModule,
1762
1766
  ReactiveFormsModule,
1763
1767
  NzImageModule] }); }
1764
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CusNgZorroAntdModule, imports: [CommonModule,
1768
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CusNgZorroAntdModule, imports: [CommonModule,
1765
1769
  NzSpaceModule,
1766
1770
  NzAffixModule,
1767
1771
  NzAlertModule,
@@ -1828,7 +1832,7 @@ class CusNgZorroAntdModule {
1828
1832
  ReactiveFormsModule,
1829
1833
  NzImageModule] }); }
1830
1834
  }
1831
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CusNgZorroAntdModule, decorators: [{
1835
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CusNgZorroAntdModule, decorators: [{
1832
1836
  type: NgModule,
1833
1837
  args: [{
1834
1838
  exports: [
@@ -1949,10 +1953,10 @@ class IsEmptyPipe {
1949
1953
  }
1950
1954
  return ToolsUtil.isNull(value);
1951
1955
  }
1952
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: IsEmptyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1953
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: IsEmptyPipe, isStandalone: true, name: "isEmpty" }); }
1956
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: IsEmptyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1957
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: IsEmptyPipe, isStandalone: true, name: "isEmpty" }); }
1954
1958
  }
1955
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: IsEmptyPipe, decorators: [{
1959
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: IsEmptyPipe, decorators: [{
1956
1960
  type: Pipe,
1957
1961
  args: [{
1958
1962
  name: 'isEmpty'
@@ -2095,10 +2099,10 @@ class DictService {
2095
2099
  reset() {
2096
2100
  SessionStorageUtil.resetDict();
2097
2101
  }
2098
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DictService, deps: [{ token: HttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2099
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DictService, providedIn: 'root' }); }
2102
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DictService, deps: [{ token: HttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2103
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DictService, providedIn: 'root' }); }
2100
2104
  }
2101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DictService, decorators: [{
2105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DictService, decorators: [{
2102
2106
  type: Injectable,
2103
2107
  args: [{
2104
2108
  providedIn: 'root'
@@ -2119,10 +2123,10 @@ class DictsPipe {
2119
2123
  });
2120
2124
  // return "测试1"
2121
2125
  }
2122
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DictsPipe, deps: [{ token: DictService }], target: i0.ɵɵFactoryTarget.Pipe }); }
2123
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: DictsPipe, isStandalone: true, name: "dicts" }); }
2126
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DictsPipe, deps: [{ token: DictService }], target: i0.ɵɵFactoryTarget.Pipe }); }
2127
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: DictsPipe, isStandalone: true, name: "dicts" }); }
2124
2128
  }
2125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DictsPipe, decorators: [{
2129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DictsPipe, decorators: [{
2126
2130
  type: Pipe,
2127
2131
  args: [{
2128
2132
  name: 'dicts'
@@ -2139,10 +2143,10 @@ class DefaultValPipe {
2139
2143
  }
2140
2144
  return value;
2141
2145
  }
2142
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DefaultValPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2143
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: DefaultValPipe, isStandalone: true, name: "defVal" }); }
2146
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DefaultValPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2147
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: DefaultValPipe, isStandalone: true, name: "defVal" }); }
2144
2148
  }
2145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DefaultValPipe, decorators: [{
2149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DefaultValPipe, decorators: [{
2146
2150
  type: Pipe,
2147
2151
  args: [{
2148
2152
  name: 'defVal'
@@ -2159,12 +2163,12 @@ class DayPipe {
2159
2163
  if (typeof value !== 'number') {
2160
2164
  throw new Error('Invalid pipe argument for WelcomePipe');
2161
2165
  }
2162
- return parseInt(value / this.TIME_OF_DAY + "");
2166
+ return Math.trunc(value / this.TIME_OF_DAY);
2163
2167
  }
2164
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2165
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: DayPipe, isStandalone: true, name: "day" }); }
2168
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2169
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: DayPipe, isStandalone: true, name: "day" }); }
2166
2170
  }
2167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DayPipe, decorators: [{
2171
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DayPipe, decorators: [{
2168
2172
  type: Pipe,
2169
2173
  args: [{
2170
2174
  name: 'day'
@@ -2181,10 +2185,10 @@ class SafeComputePipe {
2181
2185
  let result = isE.transform(first, 0) / second + "";
2182
2186
  return isParseInt ? parseInt(result) : result;
2183
2187
  }
2184
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SafeComputePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2185
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: SafeComputePipe, isStandalone: true, name: "safeCompute" }); }
2188
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SafeComputePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2189
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: SafeComputePipe, isStandalone: true, name: "safeCompute" }); }
2186
2190
  }
2187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SafeComputePipe, decorators: [{
2191
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SafeComputePipe, decorators: [{
2188
2192
  type: Pipe,
2189
2193
  args: [{
2190
2194
  name: 'safeCompute'
@@ -2195,10 +2199,10 @@ class IsNotEmptyPipe {
2195
2199
  transform(value) {
2196
2200
  return !ToolsUtil.isNull(value);
2197
2201
  }
2198
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: IsNotEmptyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2199
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: IsNotEmptyPipe, isStandalone: true, name: "isNotEmpty" }); }
2202
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: IsNotEmptyPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2203
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: IsNotEmptyPipe, isStandalone: true, name: "isNotEmpty" }); }
2200
2204
  }
2201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: IsNotEmptyPipe, decorators: [{
2205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: IsNotEmptyPipe, decorators: [{
2202
2206
  type: Pipe,
2203
2207
  args: [{
2204
2208
  name: 'isNotEmpty'
@@ -2211,10 +2215,10 @@ class OssImgPipe {
2211
2215
  transform(value, param = { isVideoCover: false, needTime: false }) {
2212
2216
  return param.isVideoCover ? ToolsUtil.getVideoCover(value) : ToolsUtil.getOssUrl(value, param.needTime);
2213
2217
  }
2214
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: OssImgPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2215
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: OssImgPipe, isStandalone: true, name: "ossImg" }); }
2218
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: OssImgPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2219
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: OssImgPipe, isStandalone: true, name: "ossImg" }); }
2216
2220
  }
2217
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: OssImgPipe, decorators: [{
2221
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: OssImgPipe, decorators: [{
2218
2222
  type: Pipe,
2219
2223
  args: [{ name: 'ossImg' }]
2220
2224
  }], ctorParameters: () => [] });
@@ -2226,10 +2230,10 @@ class SafeHtmlPipe {
2226
2230
  transform(html) {
2227
2231
  return this.sanitizer.bypassSecurityTrustHtml(html);
2228
2232
  }
2229
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
2230
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: SafeHtmlPipe, isStandalone: true, name: "safeHtml" }); }
2233
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
2234
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: SafeHtmlPipe, isStandalone: true, name: "safeHtml" }); }
2231
2235
  }
2232
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SafeHtmlPipe, decorators: [{
2236
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SafeHtmlPipe, decorators: [{
2233
2237
  type: Pipe,
2234
2238
  args: [{
2235
2239
  name: 'safeHtml'
@@ -2260,10 +2264,10 @@ class ChinaNumPipe {
2260
2264
  }
2261
2265
  return "";
2262
2266
  }
2263
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ChinaNumPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2264
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: ChinaNumPipe, isStandalone: true, name: "chinaNum" }); }
2267
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ChinaNumPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2268
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: ChinaNumPipe, isStandalone: true, name: "chinaNum" }); }
2265
2269
  }
2266
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ChinaNumPipe, decorators: [{
2270
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ChinaNumPipe, decorators: [{
2267
2271
  type: Pipe,
2268
2272
  args: [{
2269
2273
  name: 'chinaNum'
@@ -2283,7 +2287,7 @@ class CountPipe {
2283
2287
  lefts = Math.floor(value / 1000 % 60); //计算秒数
2284
2288
  let returnStr = "";
2285
2289
  if (leftd > 0) {
2286
- returnStr = leftd < 10 ? "0" : "" + leftd + "天";
2290
+ returnStr = (leftd < 10 ? "0" : "") + leftd + "天";
2287
2291
  }
2288
2292
  // if(lefth > 0){
2289
2293
  returnStr += (lefth < 10 ? "0" : "") + lefth + "小时";
@@ -2292,10 +2296,10 @@ class CountPipe {
2292
2296
  // }
2293
2297
  return returnStr;
2294
2298
  }
2295
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CountPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2296
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: CountPipe, isStandalone: true, name: "count" }); }
2299
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CountPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2300
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: CountPipe, isStandalone: true, name: "count" }); }
2297
2301
  }
2298
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: CountPipe, decorators: [{
2302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CountPipe, decorators: [{
2299
2303
  type: Pipe,
2300
2304
  args: [{
2301
2305
  name: 'count'
@@ -2306,10 +2310,10 @@ class OssPipe {
2306
2310
  transform(value, defaultVal, needTime = false) {
2307
2311
  return ToolsUtil.getOssUrl(value, needTime);
2308
2312
  }
2309
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: OssPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2310
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: OssPipe, isStandalone: true, name: "oss" }); }
2313
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: OssPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2314
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: OssPipe, isStandalone: true, name: "oss" }); }
2311
2315
  }
2312
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: OssPipe, decorators: [{
2316
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: OssPipe, decorators: [{
2313
2317
  type: Pipe,
2314
2318
  args: [{
2315
2319
  name: 'oss'
@@ -2320,10 +2324,10 @@ class OssStaticPipe {
2320
2324
  transform(value, defaultVal) {
2321
2325
  return ToolsUtil.getStaticOssUrl(value);
2322
2326
  }
2323
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: OssStaticPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2324
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: OssStaticPipe, isStandalone: true, name: "ossStatic" }); }
2327
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: OssStaticPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2328
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: OssStaticPipe, isStandalone: true, name: "ossStatic" }); }
2325
2329
  }
2326
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: OssStaticPipe, decorators: [{
2330
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: OssStaticPipe, decorators: [{
2327
2331
  type: Pipe,
2328
2332
  args: [{
2329
2333
  name: 'ossStatic'
@@ -2337,10 +2341,10 @@ class RemoveHtmlPipe {
2337
2341
  transform(value, ...args) {
2338
2342
  return ToolsUtil.removeHtml(value);
2339
2343
  }
2340
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: RemoveHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
2341
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: RemoveHtmlPipe, isStandalone: true, name: "removeHtml" }); }
2344
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: RemoveHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
2345
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: RemoveHtmlPipe, isStandalone: true, name: "removeHtml" }); }
2342
2346
  }
2343
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: RemoveHtmlPipe, decorators: [{
2347
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: RemoveHtmlPipe, decorators: [{
2344
2348
  type: Pipe,
2345
2349
  args: [{
2346
2350
  name: 'removeHtml'
@@ -2354,10 +2358,10 @@ class SafeUrlPipe {
2354
2358
  transform(value, ...args) {
2355
2359
  return this.sanitized.bypassSecurityTrustResourceUrl(value);
2356
2360
  }
2357
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SafeUrlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
2358
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: SafeUrlPipe, isStandalone: true, name: "safeUrl" }); }
2361
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SafeUrlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
2362
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: SafeUrlPipe, isStandalone: true, name: "safeUrl" }); }
2359
2363
  }
2360
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SafeUrlPipe, decorators: [{
2364
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SafeUrlPipe, decorators: [{
2361
2365
  type: Pipe,
2362
2366
  args: [{
2363
2367
  name: 'safeUrl'
@@ -2382,8 +2386,8 @@ const PIPES = [
2382
2386
  SafeUrlPipe // 暂时注释
2383
2387
  ];
2384
2388
  class PipeModuleModule {
2385
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PipeModuleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2386
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: PipeModuleModule, imports: [CommonModule, IsNotEmptyPipe,
2389
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PipeModuleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2390
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: PipeModuleModule, imports: [CommonModule, IsNotEmptyPipe,
2387
2391
  DefaultValPipe,
2388
2392
  DictsPipe, // 暂时注释
2389
2393
  DayPipe,
@@ -2412,9 +2416,9 @@ class PipeModuleModule {
2412
2416
  RemoveHtmlPipe, // 暂时注释
2413
2417
  SafeUrlPipe // 暂时注释
2414
2418
  ] }); }
2415
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PipeModuleModule, imports: [CommonModule] }); }
2419
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PipeModuleModule, imports: [CommonModule] }); }
2416
2420
  }
2417
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: PipeModuleModule, decorators: [{
2421
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PipeModuleModule, decorators: [{
2418
2422
  type: NgModule,
2419
2423
  args: [{
2420
2424
  imports: [
@@ -2485,24 +2489,24 @@ class UploadOssService {
2485
2489
  });
2486
2490
  };
2487
2491
  }
2488
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: UploadOssService, deps: [{ token: HttpService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
2489
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: UploadOssService }); }
2492
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: UploadOssService, deps: [{ token: HttpService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
2493
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: UploadOssService }); }
2490
2494
  }
2491
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: UploadOssService, decorators: [{
2495
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: UploadOssService, decorators: [{
2492
2496
  type: Injectable
2493
2497
  }], ctorParameters: () => [{ type: HttpService }, { type: i2.HttpClient }] });
2494
2498
 
2495
2499
  const COMMON_COMPONENT = [];
2496
2500
  class AtrComponentsModule {
2497
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AtrComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2498
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: AtrComponentsModule, imports: [EditorModule,
2501
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AtrComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2502
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: AtrComponentsModule, imports: [EditorModule,
2499
2503
  CommonModule,
2500
2504
  PipeModuleModule], exports: [PipeModuleModule] }); }
2501
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AtrComponentsModule, providers: [HttpService, MenuService, UploadOssService], imports: [EditorModule,
2505
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AtrComponentsModule, providers: [HttpService, MenuService, UploadOssService], imports: [EditorModule,
2502
2506
  CommonModule,
2503
2507
  PipeModuleModule, PipeModuleModule] }); }
2504
2508
  }
2505
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AtrComponentsModule, decorators: [{
2509
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AtrComponentsModule, decorators: [{
2506
2510
  type: NgModule,
2507
2511
  args: [{
2508
2512
  declarations: [...COMMON_COMPONENT],
@@ -2537,10 +2541,10 @@ class AuthGuard {
2537
2541
  setTimeout(() => AtrReuseStrategy.deleteAll(), 50);
2538
2542
  return false;
2539
2543
  }
2540
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AuthGuard, deps: [{ token: i1$1.Router }, { token: HttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2541
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AuthGuard, providedIn: 'root' }); }
2544
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AuthGuard, deps: [{ token: i1$1.Router }, { token: HttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2545
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AuthGuard, providedIn: 'root' }); }
2542
2546
  }
2543
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AuthGuard, decorators: [{
2547
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AuthGuard, decorators: [{
2544
2548
  type: Injectable,
2545
2549
  args: [{
2546
2550
  providedIn: 'root'
@@ -2598,10 +2602,10 @@ class AtrRoleDirective {
2598
2602
  getRouterUrl() {
2599
2603
  return this.injector.get(Router).url;
2600
2604
  }
2601
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AtrRoleDirective, deps: [{ token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2602
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: AtrRoleDirective, isStandalone: true, selector: "[atrRole]", inputs: { atrRole: "atrRole" }, ngImport: i0 }); }
2605
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AtrRoleDirective, deps: [{ token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2606
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: AtrRoleDirective, isStandalone: true, selector: "[atrRole]", inputs: { atrRole: "atrRole" }, ngImport: i0 }); }
2603
2607
  }
2604
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AtrRoleDirective, decorators: [{
2608
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AtrRoleDirective, decorators: [{
2605
2609
  type: Directive,
2606
2610
  args: [{
2607
2611
  selector: '[atrRole]'
@@ -2616,18 +2620,20 @@ class AtrErrorImgDirective {
2616
2620
  this.elementRef = elementRef;
2617
2621
  this.errorImagSrc = "";
2618
2622
  }
2619
- ImageError(event) {
2620
- if (this.errorImagSrc) {
2621
- event.src = this.errorImagSrc;
2622
- }
2623
- else {
2624
- event.src = 'https://atr-demo.oss-cn-hangzhou.aliyuncs.com/common/null.png';
2625
- }
2623
+ ImageError(image) {
2624
+ const fallback = this.errorImagSrc || atr_static_datas.errImg;
2625
+ if (!image || !fallback)
2626
+ return;
2627
+ // A failed fallback must not keep assigning itself and firing error again.
2628
+ // getAttribute preserves relative URLs while image.src resolves them.
2629
+ if (image.getAttribute('src') === fallback || image.src === fallback)
2630
+ return;
2631
+ image.src = fallback;
2626
2632
  }
2627
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AtrErrorImgDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2628
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: AtrErrorImgDirective, isStandalone: true, selector: "[atrErrorImg]", inputs: { errorImagSrc: ["atrErrorImg", "errorImagSrc"] }, host: { listeners: { "error": "ImageError($event.target)" } }, ngImport: i0 }); }
2633
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AtrErrorImgDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2634
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: AtrErrorImgDirective, isStandalone: true, selector: "[atrErrorImg]", inputs: { errorImagSrc: ["atrErrorImg", "errorImagSrc"] }, host: { listeners: { "error": "ImageError($event.target)" } }, ngImport: i0 }); }
2629
2635
  }
2630
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AtrErrorImgDirective, decorators: [{
2636
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AtrErrorImgDirective, decorators: [{
2631
2637
  type: Directive,
2632
2638
  args: [{
2633
2639
  selector: '[atrErrorImg]'
@@ -2672,10 +2678,10 @@ class HqSpinDirective {
2672
2678
  }
2673
2679
  }
2674
2680
  }
2675
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HqSpinDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
2676
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: HqSpinDirective, isStandalone: true, selector: "[HqSpin]", inputs: { spinLoading: "spinLoading", text: "text" }, usesOnChanges: true, ngImport: i0 }); }
2681
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: HqSpinDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
2682
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: HqSpinDirective, isStandalone: true, selector: "[HqSpin]", inputs: { spinLoading: "spinLoading", text: "text" }, usesOnChanges: true, ngImport: i0 }); }
2677
2683
  }
2678
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: HqSpinDirective, decorators: [{
2684
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: HqSpinDirective, decorators: [{
2679
2685
  type: Directive,
2680
2686
  args: [{
2681
2687
  selector: '[HqSpin]'
@@ -2708,10 +2714,10 @@ class InfiniteScrollDirective {
2708
2714
  this.appInfiniteScroll.emit(); // 触发事件
2709
2715
  }
2710
2716
  }
2711
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: InfiniteScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2712
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: InfiniteScrollDirective, isStandalone: true, selector: "[appInfiniteScroll]", outputs: { appInfiniteScroll: "appInfiniteScroll" }, ngImport: i0 }); }
2717
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: InfiniteScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
2718
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: InfiniteScrollDirective, isStandalone: true, selector: "[appInfiniteScroll]", outputs: { appInfiniteScroll: "appInfiniteScroll" }, ngImport: i0 }); }
2713
2719
  }
2714
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: InfiniteScrollDirective, decorators: [{
2720
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: InfiniteScrollDirective, decorators: [{
2715
2721
  type: Directive,
2716
2722
  args: [{
2717
2723
  selector: '[appInfiniteScroll]'
@@ -2741,10 +2747,10 @@ class DebounceClickDirective {
2741
2747
  event.stopPropagation();
2742
2748
  this.click$.emit(event);
2743
2749
  }
2744
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DebounceClickDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2745
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.15", type: DebounceClickDirective, isStandalone: true, selector: "[debounceClick]", inputs: { time: "time" }, outputs: { debounceClick: "debounceClick" }, host: { listeners: { "click": "clickEvent($event)" } }, ngImport: i0 }); }
2750
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DebounceClickDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
2751
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: DebounceClickDirective, isStandalone: true, selector: "[debounceClick]", inputs: { time: "time" }, outputs: { debounceClick: "debounceClick" }, host: { listeners: { "click": "clickEvent($event)" } }, ngImport: i0 }); }
2746
2752
  }
2747
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DebounceClickDirective, decorators: [{
2753
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DebounceClickDirective, decorators: [{
2748
2754
  type: Directive,
2749
2755
  args: [{
2750
2756
  selector: '[debounceClick]'
@@ -2760,75 +2766,127 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
2760
2766
 
2761
2767
  class TableFormItemComponent {
2762
2768
  constructor() {
2769
+ this.header = { name: '', key: '', type: 'text' };
2770
+ this.value = null;
2763
2771
  this.dictList = [];
2764
2772
  this.headerAction = new EventEmitter();
2765
- this.isNull = ToolsUtil.isNull;
2766
- }
2767
- ngOnInit() {
2773
+ this.disabled = false;
2774
+ this.modelOptions = { standalone: true };
2775
+ this.onChangeListener = () => { };
2776
+ this.onTouchedListener = () => { };
2777
+ }
2778
+ get options() {
2779
+ return Array.isArray(this.header?.dictList) ? this.header.dictList
2780
+ : Array.isArray(this.dictList) ? this.dictList : [];
2781
+ }
2782
+ get checkboxOptions() {
2783
+ return this.options.map(option => ({
2784
+ label: this.optionLabel(option), value: this.optionValue(option), disabled: option?.disabled
2785
+ }));
2786
+ }
2787
+ get isMultiple() {
2788
+ return !!this.header?.selectUrl?.isMultiple || this.header?.nzMode === 'multiple' || this.header?.nzMode === 'tags';
2789
+ }
2790
+ get hasValue() {
2791
+ return this.value !== null && this.value !== undefined && this.value !== ''
2792
+ && (!Array.isArray(this.value) || this.value.length > 0);
2793
+ }
2794
+ get showTime() {
2795
+ const config = this.header?.nzShowTime;
2796
+ if (typeof config === 'boolean')
2797
+ return config;
2798
+ return config && config.isShowTime !== false
2799
+ ? { nzFormat: this.getTimeFormat(config.nzFormat || 'HH:mm:ss') } : false;
2800
+ }
2801
+ get dateFormat() {
2802
+ if (this.header?.dateMode === 'year')
2803
+ return 'yyyy';
2804
+ if (this.header?.dateMode === 'month')
2805
+ return 'yyyy-MM';
2806
+ if (this.header?.dateMode === 'week')
2807
+ return 'yyyy-ww';
2808
+ if (!this.showTime)
2809
+ return 'yyyy-MM-dd';
2810
+ const config = this.header?.nzShowTime;
2811
+ const format = typeof config?.nzFormat === 'string' ? config.nzFormat.trim() : '';
2812
+ // Existing query headers use both a complete date format and a time-only format.
2813
+ if (format && /[yYMdDwWQqLEecG]/.test(format.replace(/'[^']*(?:''[^']*)*'/g, '')))
2814
+ return format;
2815
+ return 'yyyy-MM-dd ' + (format || 'HH:mm:ss');
2816
+ }
2817
+ getTimeFormat(format) {
2818
+ const parts = format.match(/'[^']*(?:''[^']*)*'|([a-zA-Z])\1*|./g) || [];
2819
+ const isTimeToken = (part) => /^[HhmsSaAbBzZO]+$/.test(part);
2820
+ const first = parts.findIndex(isTimeToken);
2821
+ if (first < 0)
2822
+ return 'HH:mm:ss';
2823
+ let last = parts.length - 1;
2824
+ while (!isTimeToken(parts[last]))
2825
+ last--;
2826
+ return parts.slice(first, last + 1).join('');
2827
+ }
2828
+ optionLabel(option) {
2829
+ return String(option?.typeName ?? option?.label ?? option?.title ?? option?.name ?? this.optionValue(option) ?? '');
2830
+ }
2831
+ optionValue(option) {
2832
+ return option !== null && typeof option === 'object' ? option.id ?? option.value ?? option.key : option;
2768
2833
  }
2769
2834
  writeValue(value) {
2770
2835
  this.value = value;
2771
2836
  }
2772
2837
  registerOnChange(fn) {
2773
- console.log('registerOnChange');
2774
2838
  this.onChangeListener = fn;
2775
2839
  }
2776
2840
  registerOnTouched(fn) {
2777
- console.log('registerOnTouched');
2778
2841
  this.onTouchedListener = fn;
2779
2842
  }
2780
2843
  setDisabledState(isDisabled) {
2844
+ this.disabled = isDisabled;
2781
2845
  }
2782
- onChange(e) {
2783
- console.log('form change', this.value);
2784
- console.log('form change e', e);
2785
- if (this.onChangeListener) {
2786
- this.onChangeListener(e); // 告诉form,你的表单值改变成了payload
2787
- }
2788
- if (this.onTouchedListener) {
2789
- this.onTouchedListener(); // 告诉form,你的表单有交互发生
2790
- }
2846
+ markTouched() {
2847
+ if (!this.disabled)
2848
+ this.onTouchedListener();
2849
+ }
2850
+ onChange(value = this.value) {
2851
+ if (this.disabled)
2852
+ return;
2853
+ this.value = value;
2854
+ this.onChangeListener(value);
2855
+ this.markTouched();
2856
+ }
2857
+ clearValue(event) {
2858
+ event?.preventDefault();
2859
+ event?.stopPropagation();
2860
+ if (this.disabled || this.header?.disableClear)
2861
+ return;
2862
+ this.onChange(null);
2791
2863
  }
2792
2864
  selectChange(value, item) {
2793
- //console.log(value);
2794
- let action = {
2795
- name: item.label,
2796
- code: item.key,
2797
- data: item,
2798
- value: value,
2799
- };
2800
- this.headerAction.emit(action);
2865
+ if (this.disabled)
2866
+ return;
2867
+ this.headerAction.emit({ name: item.name ?? item.label, code: item.key, data: item, value });
2801
2868
  }
2802
- clickIcon(value, item, $event) {
2803
- $event.stopPropagation();
2804
- //console.log(value,item);
2805
- let action = {
2806
- name: item.name,
2807
- code: item.icon?.code ? item.icon?.code : "",
2808
- data: item,
2809
- value: value,
2810
- };
2811
- this.headerAction.emit(action);
2869
+ clickIcon(value, item, event) {
2870
+ event.stopPropagation();
2871
+ if (this.disabled)
2872
+ return;
2873
+ this.headerAction.emit({ name: item.name, code: item.icon?.code || '', data: item, value });
2812
2874
  }
2813
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TableFormItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2814
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: TableFormItemComponent, isStandalone: false, selector: "app-table-form-item", inputs: { header: "header", value: "value", dictList: "dictList" }, outputs: { headerAction: "headerAction" }, providers: [
2815
- {
2875
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TableFormItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2876
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: TableFormItemComponent, isStandalone: false, selector: "app-table-form-item", inputs: { header: "header", value: "value", dictList: "dictList" }, outputs: { headerAction: "headerAction" }, host: { listeners: { "focusout": "markTouched()" } }, providers: [{
2816
2877
  provide: NG_VALUE_ACCESSOR,
2817
2878
  useExisting: forwardRef(() => TableFormItemComponent),
2818
2879
  multi: true
2819
- }
2820
- ], ngImport: i0, template: "<nz-form-item style=\"position: relative\" title=\"{{header.name}}\" nzFlex>\r\n <nz-form-control [nzSpan]=\"header.cspan || 24\" [ngSwitch]=\"header.type\">\r\n <nz-input-group [nzSuffix]=\"inputClearTpl\" *ngSwitchCase=\"'text'\">\r\n <input\r\n nz-input\r\n placeholder=\"{{header.name}}\"\r\n [attr.id]=\"header.key\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n />\r\n\r\n </nz-input-group>\r\n\r\n <nz-select *ngSwitchCase=\"'select'\"\r\n [nzAllowClear]=\"!header.disableClear\"\r\n [nzMaxTagCount]=\"header.maxTagCount ||3\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n nzAllowClear=\"true\"\r\n [nzMode]=\"header.nzMode || 'default'\"\r\n nzServerSearch\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n >\r\n <nz-option *ngFor=\"let o of dictList\" [nzLabel]=\"o.typeName\"\r\n [nzValue]=\"o.id\"></nz-option>\r\n </nz-select>\r\n <nz-select *ngSwitchCase=\"'selectCus'\"\r\n [nzMode]=\"header.nzMode || 'default'\"\r\n [nzAllowClear]=\"!header.disableClear\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n nzAllowClear=\"true\"\r\n [nzShowSearch]=\"true\"\r\n [(ngModel)]=\"value\"\r\n [nzMaxTagCount]=\"header.maxTagCount ||3\"\r\n (ngModelChange)=\"onChange($event)\"\r\n >\r\n <nz-option *ngFor=\"let o of header.dictList\" nzCustomContent [nzLabel]=\"o.label\"\r\n [nzValue]=\"o.value\">\r\n <i class=\"select-icon\" *ngIf=\"header.icon?.isShow\" nz-icon [nzType]=\"header.icon.icon\"\r\n nzTheme=\"outline\" style=\"margin-right: 1rem;\"\r\n (click)=\"clickIcon(o.value,header,$event)\"></i>\r\n {{o.label}}\r\n </nz-option>\r\n\r\n </nz-select>\r\n <nz-cascader\r\n *ngSwitchCase=\"'cascader'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n style=\"flex: 1\" [nzAllowClear]=\"!header.disableClear\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n [nzShowSearch]=\"true\"\r\n [nzOptions]=\"header.dictList\"\r\n [(ngModel)]=\"value\"\r\n ></nz-cascader>\r\n <ng-container *ngSwitchCase=\"'treeSelect'\">\r\n <nz-tree-select *ngIf=\"header.treeList\"\r\n [nzDefaultExpandAll]=\"header.expandAll\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [nzAllowClear]=\"!header.disableClear\"\r\n [nzNodes]=\"header.treeList\"\r\n nzHideUnMatched=\"true\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n [nzShowSearch]=\"true\"\r\n [(ngModel)]=\"value\"\r\n [nzMultiple]=\"header.selectUrl.isMultiple\"\r\n [nzMaxTagCount]=\"header.maxTagCount || 3\"\r\n nzVirtualHeight=\"330px\"\r\n >\r\n </nz-tree-select>\r\n </ng-container>\r\n\r\n <nz-range-picker *ngSwitchCase=\"'dayRange'\" [(ngModel)]=\"value\" (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n style=\"width: 100%;\"\r\n nzAllowClear=\"true\"\r\n [nzPlaceHolder]=\"[header.name+'\u5F00\u59CB\u65F6\u95F4','\u7ED3\u675F\u65F6\u95F4']\"\r\n [nzDefaultPickerValue]=\"header.defaultVal\"\r\n ></nz-range-picker>\r\n <nz-range-picker\r\n *ngSwitchCase=\"'dateRange'\"\r\n [nzShowTime]=\"header.nzShowTime?.isShowTime || false\"\r\n (ngModelChange)=\"onChange($event)\"\r\n\r\n [nzFormat]=\"header.nzShowTime?.nzFormat || 'yyyy-MM-dd'\"\r\n\r\n [nzShowNow]=\"header.nzShowTime && header.nzShowNow \"\r\n [(ngModel)]=\"value\"\r\n style=\"width: 100%;\"\r\n nzAllowClear=\"true\"\r\n [nzPlaceHolder]=\"[header.name+'\u5F00\u59CB\u65F6\u95F4','\u7ED3\u675F\u65F6\u95F4']\"\r\n [nzDefaultPickerValue]=\"header.defaultVal\"></nz-range-picker>\r\n <ng-container *ngSwitchCase=\"'sdate'\">\r\n <nz-date-picker style=\"width: 100%\" [nzFormat]=\"'yyyy-MM-dd'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n *ngIf=\"!header.dateMode\"\r\n nzAllowClear=\"true\"></nz-date-picker>\r\n <nz-date-picker style=\"width: 100%\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n *ngIf=\"header.dateMode\"\r\n [nzMode]=\"header.dateMode\"\r\n nzAllowClear=\"true\"></nz-date-picker>\r\n </ng-container>\r\n <nz-month-picker\r\n *ngSwitchCase=\"'smonth'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [nzFormat]=\"'yyyy-MM'\"\r\n [nzPlaceHolder]=\"[header.name]\"\r\n nzAllowClear=\"true\"></nz-month-picker>\r\n <span class=\"label-title\">{{header.name}}</span>\r\n </nz-form-control>\r\n</nz-form-item>\r\n\r\n<ng-template #inputClearTpl>\r\n <i nz-icon class=\"ant-input-clear-icon\" nzTheme=\"fill\" nzType=\"close-circle\"\r\n *ngIf=\"!header.disableClear && value|isNotEmpty\" (click)=\"value = null;onChange()\"></i>\r\n</ng-template>\r\n", styles: [":host{margin-bottom:5px}:host .label-title{z-index:80}\n", ":host{height:100%;width:100%;background:#fff}:host ::ng-deep .ant-table-title{padding:0}:host ::ng-deep .ant-modal{top:50px;padding:0}:host .ant-advanced-search-form{padding:10px 6px 6px;background:#fbfbfb;border:1px solid #d9d9d9;border-radius:6px;margin-bottom:5px}:host .select-icon:hover{color:#1890ff}:host ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:5px}:host ::ng-deep .ant-table-column-title{font-size:.65rem}:host ::ng-deep .ant-table-tbody>tr.ant-table-row:hover>td{background:#d0eeea}:host ::ng-deep .ant-modal-header,:host ::ng-deep .ant-modal-content{border-radius:4px}:host ::ng-deep .ant-table-tbody>tr.selected:hover>td{background-color:#cfe1d0!important}:host ::ng-deep .ant-table{height:100%}:host ::ng-deep nz-pagination{bottom:0;right:0}:host .search-result-list{padding:1px;border:1px dashed #e9e9e9;border-radius:6px;background-color:#fff;flex:1;text-align:center;position:relative}:host [nz-form-label]{overflow:visible}:host button{margin:2px 4px}:host .collapse{margin-left:6px;font-size:12px}:host .action-area{text-align:left}:host .search-area{text-align:right}:host ::ng-deep .ant-table-pagination.ant-pagination{margin:0}:host ::ng-deep .ant-table-footer{padding:5px 0 0}:host ::ng-deep .main-table{position:absolute;inset:0}:host ::ng-deep .table-content .ant-spin-nested-loading{height:100%}:host ::ng-deep .table-content .ant-spin-container{height:100%}:host ::ng-deep .table-content .ant-table-wrapper{width:100%;height:100%}:host ::ng-deep .table-content .ant-table-footer{position:absolute;bottom:0;width:100%}:host ::ng-deep .ant-table-tbody>tr.selected>td{background-color:#cfe1d0}:host ::ng-deep .ant-table-tbody>tr>td>img{display:block;width:40%;margin:0 auto}:host ::ng-deep .ant-table-body{-ms-overflow-style:none;overflow:-moz-scrollbars-none}:host ::ng-deep .ant-table-body::-webkit-scrollbar,:host ::ng-deep .ant-table-header::-webkit-scrollbar{width:6px!important;height:6px!important}:host ::ng-deep .ant-table-body::-webkit-scrollbar-track,:host ::ng-deep .ant-table-header::-webkit-scrollbar-track{width:6px!important;cursor:pointer}:host ::ng-deep .ant-table-body::-webkit-scrollbar-thumb,:host ::ng-deep .ant-table-header::-webkit-scrollbar-thumb{background:#1890ff;border-radius:3px;cursor:pointer}:host ::ng-deep .ant-table-bordered .ant-table-thead>tr>th{border-right:1px solid #ddd}:host ::ng-deep .ant-table-header{-ms-overflow-style:none;overflow:-moz-scrollbars-none;margin-bottom:-5px!important}:host ::ng-deep .ant-table-placeholder{border-bottom:none!important;border-top:none!important}:host .tabel-colunmn{display:block;width:160px;height:300px;border:1px solid #ddd;padding:10px;border-radius:5px;overflow-x:hidden;overflow-y:auto;position:relative}:host .tabel-colunmn-header{position:fixed;top:0;left:0;right:0;height:30px;z-index:999;line-height:30px;border-bottom:1px solid #ddd;text-align:left;font-size:13px;padding-left:10px}:host .t-tr{background:#fff}:host .t-tr:nth-child(odd){background:#f8f9fa}:host ::ng-deep .ant-table-thead>tr>th{background:#e7ebef!important;border-radius:0;word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-tbody>tr>td{word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-header{background:#e7ebef!important}:host td{font-size:.65rem}:host .resize-trigger{height:100%}:host .nz-resizable-preview{border-width:0;border-right-width:1px}:host ::ng-deep .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){position:unset}:host ::ng-deep .ant-table-tbody>tr>td{padding:5px}:host ::ng-deep .ant-table{line-height:15px}:host ::ng-deep .ant-table-middle .ant-table-footer,:host .ant-table-middle .ant-table-tbody>tr>td,:host .ant-table-middle .ant-table-thead>tr>th,:host .ant-table-middle .ant-table-title{padding:5px}:host ::ng-deep .ant-table-tbody>tr>td>img{width:35px}:host ::ng-deep .ant-modal-body{padding:10px}:host ::ng-deep .ant-table.ant-table-bordered tbody>tr>td{font-size:13px}:host ::ng-deep th{z-index:80!important}:host .left-zindex-header{z-index:90!important}:host .left-zindex{z-index:80!important}:host ::ng-deep input,:host ::ng-deep .ant-select-single:not(.ant-select-customize-input) .ant-select-selector,:host ::ng-deep .ant-picker{border-radius:5px}:host ::ng-deep .ant-table-content{overflow-x:auto}:host .border-text{width:100%;height:36px;line-height:36px;display:flex}:host .border-text .border-text-line{display:inline-block;border-top:1px solid #cccccc;margin-top:18px}:host .border-text .border-text-line-left{width:10px;border-left:1px solid #cccccc}:host .border-text .border-text-line-right{flex:1;border-right:1px solid #cccccc}:host .border-text .border-text-span{margin-left:5px;margin-right:5px}:host ::ng-deep .tabel-colunmn-header{position:absolute!important;top:0!important}:host ::ng-deep .ant-table-cell-fix-left,:host .ant-table-cell-fix-right{position:-webkit-sticky!important;position:sticky!important}:host :host ::ng-deep .ant-table{min-width:100%;height:100%}:host :host ::ng-deep .ant-table-container{min-width:100%;height:100%}:host app-table-td{background:#fff0!important}.label-title{position:absolute;display:block;top:-7px;left:10px;background-color:#fff;color:#000;font-weight:600;font-size:12px;line-height:12px}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$2.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: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "component", type: i4.NzCascaderComponent, selector: "nz-cascader, [nz-cascader]", inputs: ["nzOpen", "nzOptions", "nzOptionRender", "nzShowInput", "nzShowArrow", "nzAllowClear", "nzAutoFocus", "nzChangeOnSelect", "nzDisabled", "nzColumnClassName", "nzExpandTrigger", "nzValueProperty", "nzLabelProperty", "nzLabelRender", "nzVariant", "nzNotFoundContent", "nzSize", "nzBackdrop", "nzShowSearch", "nzPlaceHolder", "nzMenuClassName", "nzMenuStyle", "nzMouseLeaveDelay", "nzMouseEnterDelay", "nzStatus", "nzMultiple", "nzMaxTagCount", "nzPlacement", "nzTriggerAction", "nzChangeOn", "nzLoadData", "nzDisplayWith", "nzPrefix", "nzSuffixIcon", "nzExpandIcon"], outputs: ["nzVisibleChange", "nzSelectionChange", "nzRemoved", "nzClear"], exportAs: ["nzCascader"] }, { kind: "component", type: i5.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-quarter-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzOpen", "nzDisabledDate", "nzLocale", "nzPlaceHolder", "nzPopupStyle", "nzDropdownClassName", "nzSize", "nzStatus", "nzFormat", "nzVariant", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzShowToday", "nzMode", "nzShowNow", "nzRanges", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzPlacement", "nzShowWeekNumber", "nzShowTime"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }, { kind: "directive", type: i5.NzRangePickerComponent, selector: "nz-range-picker", exportAs: ["nzRangePicker"] }, { kind: "directive", type: i5.NzMonthPickerComponent, selector: "nz-month-picker", exportAs: ["nzMonthPicker"] }, { kind: "directive", type: i8.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i8.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "component", type: i14.NzFormItemComponent, selector: "nz-form-item", exportAs: ["nzFormItem"] }, { kind: "component", type: i14.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }, { kind: "directive", type: i8$1.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i9.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzVariant", "nzSize", "nzStepperless", "nzStatus", "disabled", "readonly"], exportAs: ["nzInput"] }, { kind: "component", type: i9.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch"], exportAs: ["nzInputGroup"] }, { kind: "directive", type: i9.NzInputGroupWhitSuffixOrPrefixDirective, selector: "nz-input-group[nzSuffix], nz-input-group[nzPrefix]" }, { kind: "component", type: i10.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i10.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzVariant", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzPrefix", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus", "nzOnClear"], exportAs: ["nzSelect"] }, { kind: "component", type: i11.NzTreeSelectComponent, selector: "nz-tree-select", inputs: ["nzId", "nzAllowClear", "nzShowExpand", "nzShowLine", "nzDropdownMatchSelectWidth", "nzCheckable", "nzHideUnMatched", "nzShowIcon", "nzShowSearch", "nzDisabled", "nzAsyncData", "nzMultiple", "nzDefaultExpandAll", "nzCheckStrictly", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualHeight", "nzExpandedIcon", "nzNotFoundContent", "nzNodes", "nzOpen", "nzSize", "nzVariant", "nzPlaceHolder", "nzDropdownStyle", "nzDropdownClassName", "nzBackdrop", "nzStatus", "nzPlacement", "nzExpandedKeys", "nzPrefix", "nzSuffixIcon", "nzDisplayWith", "nzMaxTagCount", "nzMaxTagPlaceholder", "nzTreeTemplate"], outputs: ["nzOpenChange", "nzCleared", "nzRemoved", "nzExpandChange", "nzTreeClick", "nzTreeCheckboxChange"], exportAs: ["nzTreeSelect"] }, { kind: "pipe", type: IsNotEmptyPipe, name: "isNotEmpty" }] }); }
2880
+ }], ngImport: i0, template: "<nz-form-item style=\"position: relative\" [title]=\"header.name\" nzFlex>\n <nz-form-control [nzSpan]=\"header.cspan || 24\" [ngSwitch]=\"header.type\">\n <nz-input-group [nzSuffix]=\"inputClearTpl\" *ngSwitchCase=\"'text'\">\n <input nz-input [placeholder]=\"header.placeholder || header.name\" [attr.id]=\"header.key\"\n [disabled]=\"disabled\" [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\"\n (ngModelChange)=\"onChange($event)\" />\n </nz-input-group>\n\n <nz-input-number *ngSwitchCase=\"'number'\" style=\"width: 100%\" [nzId]=\"header.key\"\n [nzPlaceHolder]=\"header.placeholder || header.name\" [nzDisabled]=\"disabled\"\n [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\"\n (ngModelChange)=\"onChange($event)\"></nz-input-number>\n\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div class=\"checkbox-control\">\n <nz-checkbox-group *ngIf=\"options.length; else booleanCheckbox\" [nzOptions]=\"checkboxOptions\"\n [nzDisabled]=\"disabled\" [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\"\n (ngModelChange)=\"onChange($event)\"></nz-checkbox-group>\n <ng-template #booleanCheckbox>\n <label nz-checkbox [nzDisabled]=\"disabled\" [nzIndeterminate]=\"value == null\"\n [ngModel]=\"value === true\" [ngModelOptions]=\"modelOptions\"\n (ngModelChange)=\"onChange($event)\">{{value == null ? '\u4E0D\u9650' : value ? '\u662F' : '\u5426'}}</label>\n </ng-template>\n <button *ngIf=\"hasValue && !header.disableClear\" type=\"button\" nz-button nzType=\"text\" nzSize=\"small\"\n [disabled]=\"disabled\" [attr.aria-label]=\"'\u6E05\u7A7A' + header.name\" (click)=\"clearValue($event)\">\u6E05\u7A7A</button>\n </div>\n </ng-container>\n\n <nz-select *ngSwitchCase=\"'select'\" [nzAllowClear]=\"!header.disableClear\" [nzDisabled]=\"disabled\"\n [nzMaxTagCount]=\"header.maxTagCount ?? 3\" [nzPlaceHolder]=\"header.placeholder || header.name\"\n [nzMode]=\"header.nzMode || 'default'\" [nzShowSearch]=\"true\"\n [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\" (ngModelChange)=\"onChange($event)\">\n <nz-option *ngFor=\"let option of options\" [nzLabel]=\"optionLabel(option)\" [nzValue]=\"optionValue(option)\"\n [nzDisabled]=\"!!option.disabled\"></nz-option>\n </nz-select>\n\n <nz-select *ngSwitchCase=\"'selectCus'\" [nzAllowClear]=\"!header.disableClear\" [nzDisabled]=\"disabled\"\n [nzMaxTagCount]=\"header.maxTagCount ?? 3\" [nzPlaceHolder]=\"header.placeholder || header.name\"\n [nzMode]=\"header.nzMode || 'default'\" [nzShowSearch]=\"true\"\n [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\" (ngModelChange)=\"onChange($event)\">\n <nz-option *ngFor=\"let option of options\" nzCustomContent [nzLabel]=\"optionLabel(option)\"\n [nzValue]=\"optionValue(option)\" [nzDisabled]=\"!!option.disabled\">\n <i class=\"select-icon\" *ngIf=\"header.icon?.isShow\" nz-icon [nzType]=\"header.icon.icon\"\n nzTheme=\"outline\" style=\"margin-right: 1rem\" (click)=\"clickIcon(optionValue(option), header, $event)\"></i>\n {{optionLabel(option)}}\n </nz-option>\n </nz-select>\n\n <nz-cascader *ngSwitchCase=\"'cascader'\" [nzDisabled]=\"disabled\" [nzAllowClear]=\"!header.disableClear\"\n [nzPlaceHolder]=\"header.placeholder || header.name\" [nzShowSearch]=\"true\" [nzOptions]=\"options\"\n [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\" (ngModelChange)=\"onChange($event)\"></nz-cascader>\n\n <nz-tree-select *ngSwitchCase=\"'treeSelect'\" [nzDisabled]=\"disabled\" [nzDefaultExpandAll]=\"!!header.expandAll\"\n [nzAllowClear]=\"!header.disableClear\" [nzNodes]=\"header.treeList || []\" [nzHideUnMatched]=\"true\"\n [nzPlaceHolder]=\"header.placeholder || header.name\" [nzShowSearch]=\"true\" [nzMultiple]=\"isMultiple\"\n [nzMaxTagCount]=\"header.maxTagCount ?? 3\" nzVirtualHeight=\"330px\"\n [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\" (ngModelChange)=\"onChange($event)\"></nz-tree-select>\n\n <nz-range-picker *ngSwitchCase=\"'dayRange'\" style=\"width: 100%\" [nzDisabled]=\"disabled\"\n [nzAllowClear]=\"!header.disableClear\" nzFormat=\"yyyy-MM-dd\"\n [nzPlaceHolder]=\"[header.name + '\u5F00\u59CB\u65F6\u95F4', '\u7ED3\u675F\u65F6\u95F4']\"\n [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\" (ngModelChange)=\"onChange($event)\"></nz-range-picker>\n\n <nz-range-picker *ngSwitchCase=\"'dateRange'\" style=\"width: 100%\" [nzDisabled]=\"disabled\"\n [nzAllowClear]=\"!header.disableClear\" [nzShowTime]=\"showTime\" [nzFormat]=\"dateFormat\"\n [nzShowNow]=\"!!showTime && !!header.nzShowNow\"\n [nzPlaceHolder]=\"[header.name + '\u5F00\u59CB\u65F6\u95F4', '\u7ED3\u675F\u65F6\u95F4']\"\n [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\" (ngModelChange)=\"onChange($event)\"></nz-range-picker>\n\n <ng-container *ngSwitchCase=\"'sdate'\"><ng-container *ngTemplateOutlet=\"singleDateTpl\"></ng-container></ng-container>\n <ng-container *ngSwitchCase=\"'datepicker'\"><ng-container *ngTemplateOutlet=\"singleDateTpl\"></ng-container></ng-container>\n <nz-date-picker *ngSwitchCase=\"'smonth'\" style=\"width: 100%\" nzMode=\"month\" nzFormat=\"yyyy-MM\"\n [nzDisabled]=\"disabled\" [nzAllowClear]=\"!header.disableClear\"\n [nzPlaceHolder]=\"header.placeholder || header.name\"\n [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\" (ngModelChange)=\"onChange($event)\"></nz-date-picker>\n <span class=\"label-title\">{{header.name}}</span>\n </nz-form-control>\n</nz-form-item>\n\n<ng-template #singleDateTpl>\n <nz-date-picker style=\"width: 100%\" [nzMode]=\"header.dateMode || 'date'\" [nzFormat]=\"dateFormat\"\n [nzDisabled]=\"disabled\" [nzAllowClear]=\"!header.disableClear\"\n [nzShowTime]=\"header.dateMode ? false : showTime\" [nzShowNow]=\"!!showTime && !!header.nzShowNow\"\n [nzPlaceHolder]=\"header.placeholder || header.name\"\n [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\" (ngModelChange)=\"onChange($event)\"></nz-date-picker>\n</ng-template>\n\n<ng-template #inputClearTpl>\n <button *ngIf=\"!header.disableClear && hasValue\" type=\"button\" class=\"ant-input-clear-icon clear-button\"\n [disabled]=\"disabled\" [attr.aria-label]=\"'\u6E05\u7A7A' + header.name\" (click)=\"clearValue($event)\">\n <i nz-icon nzTheme=\"fill\" nzType=\"close-circle\"></i>\n </button>\n</ng-template>\r\n", styles: [":host{margin-bottom:5px}:host .label-title{z-index:80}:host .checkbox-control{display:flex;align-items:center;flex-wrap:wrap;min-height:32px;gap:8px}:host .clear-button{padding:0;border:0;background:transparent;line-height:1;cursor:pointer}:host .clear-button:disabled{cursor:not-allowed;opacity:.45}\n", ":host{height:100%;width:100%;background:#fff}:host ::ng-deep .ant-table-title{padding:0}:host ::ng-deep .ant-modal{top:50px;padding:0}:host .ant-advanced-search-form{padding:10px 6px 6px;background:#fbfbfb;border:1px solid #d9d9d9;border-radius:6px;margin-bottom:5px}:host .select-icon:hover{color:#1890ff}:host ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:5px}:host ::ng-deep .ant-table-column-title{font-size:.65rem}:host ::ng-deep .ant-table-tbody>tr.ant-table-row:hover>td{background:#d0eeea}:host ::ng-deep .ant-modal-header,:host ::ng-deep .ant-modal-content{border-radius:4px}:host ::ng-deep .ant-table-tbody>tr.selected:hover>td{background-color:#cfe1d0!important}:host ::ng-deep .ant-table{height:100%}:host ::ng-deep nz-pagination{bottom:0;right:0}:host .search-result-list{padding:1px;border:1px dashed #e9e9e9;border-radius:6px;background-color:#fff;flex:1;text-align:center;position:relative}:host [nz-form-label]{overflow:visible}:host button{margin:2px 4px}:host .collapse{margin-left:6px;font-size:12px}:host .action-area{text-align:left}:host .search-area{text-align:right}:host ::ng-deep .ant-table-pagination.ant-pagination{margin:0}:host ::ng-deep .ant-table-footer{padding:5px 0 0}:host ::ng-deep .main-table{position:absolute;inset:0}:host ::ng-deep .table-content .ant-spin-nested-loading{height:100%}:host ::ng-deep .table-content .ant-spin-container{height:100%}:host ::ng-deep .table-content .ant-table-wrapper{width:100%;height:100%}:host ::ng-deep .table-content .ant-table-footer{position:absolute;bottom:0;width:100%}:host ::ng-deep .ant-table-tbody>tr.selected>td{background-color:#cfe1d0}:host ::ng-deep .ant-table-tbody>tr>td>img{display:block;width:40%;margin:0 auto}:host ::ng-deep .ant-table-body{-ms-overflow-style:none;overflow:-moz-scrollbars-none}:host ::ng-deep .ant-table-body::-webkit-scrollbar,:host ::ng-deep .ant-table-header::-webkit-scrollbar{width:6px!important;height:6px!important}:host ::ng-deep .ant-table-body::-webkit-scrollbar-track,:host ::ng-deep .ant-table-header::-webkit-scrollbar-track{width:6px!important;cursor:pointer}:host ::ng-deep .ant-table-body::-webkit-scrollbar-thumb,:host ::ng-deep .ant-table-header::-webkit-scrollbar-thumb{background:#1890ff;border-radius:3px;cursor:pointer}:host ::ng-deep .ant-table-bordered .ant-table-thead>tr>th{border-right:1px solid #ddd}:host ::ng-deep .ant-table-header{-ms-overflow-style:none;overflow:-moz-scrollbars-none;margin-bottom:-5px!important}:host ::ng-deep .ant-table-placeholder{border-bottom:none!important;border-top:none!important}:host .tabel-colunmn{display:block;width:160px;height:300px;border:1px solid #ddd;padding:10px;border-radius:5px;overflow-x:hidden;overflow-y:auto;position:relative}:host .tabel-colunmn-header{position:fixed;top:0;left:0;right:0;height:30px;z-index:999;line-height:30px;border-bottom:1px solid #ddd;text-align:left;font-size:13px;padding-left:10px}:host .t-tr{background:#fff}:host .t-tr:nth-child(odd){background:#f8f9fa}:host ::ng-deep .ant-table-thead>tr>th{background:#e7ebef!important;border-radius:0;word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-tbody>tr>td{word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-header{background:#e7ebef!important}:host td{font-size:.65rem}:host .resize-trigger{height:100%}:host .nz-resizable-preview{border-width:0;border-right-width:1px}:host ::ng-deep .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){position:unset}:host ::ng-deep .ant-table-tbody>tr>td{padding:5px}:host ::ng-deep .ant-table{line-height:15px}:host ::ng-deep .ant-table-middle .ant-table-footer,:host .ant-table-middle .ant-table-tbody>tr>td,:host .ant-table-middle .ant-table-thead>tr>th,:host .ant-table-middle .ant-table-title{padding:5px}:host ::ng-deep .ant-table-tbody>tr>td>img{width:35px}:host ::ng-deep .ant-modal-body{padding:10px}:host ::ng-deep .ant-table.ant-table-bordered tbody>tr>td{font-size:13px}:host ::ng-deep th{z-index:80!important}:host .left-zindex-header{z-index:90!important}:host .left-zindex{z-index:80!important}:host ::ng-deep input,:host ::ng-deep .ant-select-single:not(.ant-select-customize-input) .ant-select-selector,:host ::ng-deep .ant-picker{border-radius:5px}:host ::ng-deep .ant-table-content{overflow-x:auto}:host .border-text{width:100%;height:36px;line-height:36px;display:flex}:host .border-text .border-text-line{display:inline-block;border-top:1px solid #cccccc;margin-top:18px}:host .border-text .border-text-line-left{width:10px;border-left:1px solid #cccccc}:host .border-text .border-text-line-right{flex:1;border-right:1px solid #cccccc}:host .border-text .border-text-span{margin-left:5px;margin-right:5px}:host ::ng-deep .tabel-colunmn-header{position:absolute!important;top:0!important}:host ::ng-deep .ant-table-cell-fix-left,:host .ant-table-cell-fix-right{position:-webkit-sticky!important;position:sticky!important}:host :host ::ng-deep .ant-table{min-width:100%;height:100%}:host :host ::ng-deep .ant-table-container{min-width:100%;height:100%}:host app-table-td{background:#fff0!important}.label-title{position:absolute;display:block;top:-7px;left:10px;background-color:#fff;color:#000;font-weight:600;font-size:12px;line-height:12px}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$2.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: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i4.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "component", type: i5.NzCascaderComponent, selector: "nz-cascader, [nz-cascader]", inputs: ["nzOpen", "nzOptions", "nzOptionRender", "nzShowInput", "nzShowArrow", "nzAllowClear", "nzAutoFocus", "nzChangeOnSelect", "nzDisabled", "nzColumnClassName", "nzExpandTrigger", "nzValueProperty", "nzLabelProperty", "nzLabelRender", "nzVariant", "nzNotFoundContent", "nzSize", "nzBackdrop", "nzShowSearch", "nzPlaceHolder", "nzMenuClassName", "nzMenuStyle", "nzMouseLeaveDelay", "nzMouseEnterDelay", "nzStatus", "nzMultiple", "nzMaxTagCount", "nzPlacement", "nzTriggerAction", "nzChangeOn", "nzLoadData", "nzDisplayWith", "nzPrefix", "nzSuffixIcon", "nzExpandIcon"], outputs: ["nzVisibleChange", "nzSelectionChange", "nzRemoved", "nzClear"], exportAs: ["nzCascader"] }, { kind: "component", type: i6.NzCheckboxComponent, selector: "[nz-checkbox]", inputs: ["nzValue", "nzAutoFocus", "nzDisabled", "nzIndeterminate", "nzChecked", "nzId", "nzName"], outputs: ["nzCheckedChange"], exportAs: ["nzCheckbox"] }, { kind: "component", type: i6.NzCheckboxGroupComponent, selector: "nz-checkbox-group", inputs: ["nzName", "nzDisabled", "nzOptions"], exportAs: ["nzCheckboxGroup"] }, { kind: "component", type: i7.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-quarter-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzOpen", "nzDisabledDate", "nzLocale", "nzPlaceHolder", "nzPopupStyle", "nzDropdownClassName", "nzSize", "nzStatus", "nzFormat", "nzVariant", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzShowToday", "nzMode", "nzShowNow", "nzRanges", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzPlacement", "nzShowWeekNumber", "nzShowTime"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }, { kind: "directive", type: i7.NzRangePickerComponent, selector: "nz-range-picker", exportAs: ["nzRangePicker"] }, { kind: "directive", type: i8.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i8.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "component", type: i14.NzFormItemComponent, selector: "nz-form-item", exportAs: ["nzFormItem"] }, { kind: "component", type: i14.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }, { kind: "directive", type: i10.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i11.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzVariant", "nzSize", "nzStepperless", "nzStatus", "disabled", "readonly"], exportAs: ["nzInput"] }, { kind: "component", type: i11.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch"], exportAs: ["nzInputGroup"] }, { kind: "directive", type: i11.NzInputGroupWhitSuffixOrPrefixDirective, selector: "nz-input-group[nzSuffix], nz-input-group[nzPrefix]" }, { kind: "component", type: i12.NzInputNumberLegacyComponent, selector: "nz-input-number", inputs: ["nzSize", "nzMin", "nzMax", "nzParser", "nzPrecision", "nzPrecisionMode", "nzPlaceHolder", "nzStatus", "nzStep", "nzInputMode", "nzId", "nzDisabled", "nzReadOnly", "nzAutoFocus", "nzBorderless", "nzFormatter"], outputs: ["nzBlur", "nzFocus"], exportAs: ["nzInputNumber"] }, { kind: "component", type: i13.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i13.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzVariant", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzPrefix", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus", "nzOnClear"], exportAs: ["nzSelect"] }, { kind: "component", type: i14$1.NzTreeSelectComponent, selector: "nz-tree-select", inputs: ["nzId", "nzAllowClear", "nzShowExpand", "nzShowLine", "nzDropdownMatchSelectWidth", "nzCheckable", "nzHideUnMatched", "nzShowIcon", "nzShowSearch", "nzDisabled", "nzAsyncData", "nzMultiple", "nzDefaultExpandAll", "nzCheckStrictly", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualHeight", "nzExpandedIcon", "nzNotFoundContent", "nzNodes", "nzOpen", "nzSize", "nzVariant", "nzPlaceHolder", "nzDropdownStyle", "nzDropdownClassName", "nzBackdrop", "nzStatus", "nzPlacement", "nzExpandedKeys", "nzPrefix", "nzSuffixIcon", "nzDisplayWith", "nzMaxTagCount", "nzMaxTagPlaceholder", "nzTreeTemplate"], outputs: ["nzOpenChange", "nzCleared", "nzRemoved", "nzExpandChange", "nzTreeClick", "nzTreeCheckboxChange"], exportAs: ["nzTreeSelect"] }] }); }
2821
2881
  }
2822
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TableFormItemComponent, decorators: [{
2882
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TableFormItemComponent, decorators: [{
2823
2883
  type: Component,
2824
- args: [{ standalone: false, selector: 'app-table-form-item', providers: [
2825
- {
2884
+ args: [{ standalone: false, selector: 'app-table-form-item', providers: [{
2826
2885
  provide: NG_VALUE_ACCESSOR,
2827
2886
  useExisting: forwardRef(() => TableFormItemComponent),
2828
2887
  multi: true
2829
- }
2830
- ], template: "<nz-form-item style=\"position: relative\" title=\"{{header.name}}\" nzFlex>\r\n <nz-form-control [nzSpan]=\"header.cspan || 24\" [ngSwitch]=\"header.type\">\r\n <nz-input-group [nzSuffix]=\"inputClearTpl\" *ngSwitchCase=\"'text'\">\r\n <input\r\n nz-input\r\n placeholder=\"{{header.name}}\"\r\n [attr.id]=\"header.key\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n />\r\n\r\n </nz-input-group>\r\n\r\n <nz-select *ngSwitchCase=\"'select'\"\r\n [nzAllowClear]=\"!header.disableClear\"\r\n [nzMaxTagCount]=\"header.maxTagCount ||3\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n nzAllowClear=\"true\"\r\n [nzMode]=\"header.nzMode || 'default'\"\r\n nzServerSearch\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n >\r\n <nz-option *ngFor=\"let o of dictList\" [nzLabel]=\"o.typeName\"\r\n [nzValue]=\"o.id\"></nz-option>\r\n </nz-select>\r\n <nz-select *ngSwitchCase=\"'selectCus'\"\r\n [nzMode]=\"header.nzMode || 'default'\"\r\n [nzAllowClear]=\"!header.disableClear\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n nzAllowClear=\"true\"\r\n [nzShowSearch]=\"true\"\r\n [(ngModel)]=\"value\"\r\n [nzMaxTagCount]=\"header.maxTagCount ||3\"\r\n (ngModelChange)=\"onChange($event)\"\r\n >\r\n <nz-option *ngFor=\"let o of header.dictList\" nzCustomContent [nzLabel]=\"o.label\"\r\n [nzValue]=\"o.value\">\r\n <i class=\"select-icon\" *ngIf=\"header.icon?.isShow\" nz-icon [nzType]=\"header.icon.icon\"\r\n nzTheme=\"outline\" style=\"margin-right: 1rem;\"\r\n (click)=\"clickIcon(o.value,header,$event)\"></i>\r\n {{o.label}}\r\n </nz-option>\r\n\r\n </nz-select>\r\n <nz-cascader\r\n *ngSwitchCase=\"'cascader'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n style=\"flex: 1\" [nzAllowClear]=\"!header.disableClear\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n [nzShowSearch]=\"true\"\r\n [nzOptions]=\"header.dictList\"\r\n [(ngModel)]=\"value\"\r\n ></nz-cascader>\r\n <ng-container *ngSwitchCase=\"'treeSelect'\">\r\n <nz-tree-select *ngIf=\"header.treeList\"\r\n [nzDefaultExpandAll]=\"header.expandAll\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [nzAllowClear]=\"!header.disableClear\"\r\n [nzNodes]=\"header.treeList\"\r\n nzHideUnMatched=\"true\"\r\n nzPlaceHolder=\"{{header.placeholder||header.name}}\"\r\n [nzShowSearch]=\"true\"\r\n [(ngModel)]=\"value\"\r\n [nzMultiple]=\"header.selectUrl.isMultiple\"\r\n [nzMaxTagCount]=\"header.maxTagCount || 3\"\r\n nzVirtualHeight=\"330px\"\r\n >\r\n </nz-tree-select>\r\n </ng-container>\r\n\r\n <nz-range-picker *ngSwitchCase=\"'dayRange'\" [(ngModel)]=\"value\" (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n style=\"width: 100%;\"\r\n nzAllowClear=\"true\"\r\n [nzPlaceHolder]=\"[header.name+'\u5F00\u59CB\u65F6\u95F4','\u7ED3\u675F\u65F6\u95F4']\"\r\n [nzDefaultPickerValue]=\"header.defaultVal\"\r\n ></nz-range-picker>\r\n <nz-range-picker\r\n *ngSwitchCase=\"'dateRange'\"\r\n [nzShowTime]=\"header.nzShowTime?.isShowTime || false\"\r\n (ngModelChange)=\"onChange($event)\"\r\n\r\n [nzFormat]=\"header.nzShowTime?.nzFormat || 'yyyy-MM-dd'\"\r\n\r\n [nzShowNow]=\"header.nzShowTime && header.nzShowNow \"\r\n [(ngModel)]=\"value\"\r\n style=\"width: 100%;\"\r\n nzAllowClear=\"true\"\r\n [nzPlaceHolder]=\"[header.name+'\u5F00\u59CB\u65F6\u95F4','\u7ED3\u675F\u65F6\u95F4']\"\r\n [nzDefaultPickerValue]=\"header.defaultVal\"></nz-range-picker>\r\n <ng-container *ngSwitchCase=\"'sdate'\">\r\n <nz-date-picker style=\"width: 100%\" [nzFormat]=\"'yyyy-MM-dd'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n *ngIf=\"!header.dateMode\"\r\n nzAllowClear=\"true\"></nz-date-picker>\r\n <nz-date-picker style=\"width: 100%\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n *ngIf=\"header.dateMode\"\r\n [nzMode]=\"header.dateMode\"\r\n nzAllowClear=\"true\"></nz-date-picker>\r\n </ng-container>\r\n <nz-month-picker\r\n *ngSwitchCase=\"'smonth'\"\r\n (ngModelChange)=\"onChange($event)\"\r\n [(ngModel)]=\"value\"\r\n [nzFormat]=\"'yyyy-MM'\"\r\n [nzPlaceHolder]=\"[header.name]\"\r\n nzAllowClear=\"true\"></nz-month-picker>\r\n <span class=\"label-title\">{{header.name}}</span>\r\n </nz-form-control>\r\n</nz-form-item>\r\n\r\n<ng-template #inputClearTpl>\r\n <i nz-icon class=\"ant-input-clear-icon\" nzTheme=\"fill\" nzType=\"close-circle\"\r\n *ngIf=\"!header.disableClear && value|isNotEmpty\" (click)=\"value = null;onChange()\"></i>\r\n</ng-template>\r\n", styles: [":host{margin-bottom:5px}:host .label-title{z-index:80}\n", ":host{height:100%;width:100%;background:#fff}:host ::ng-deep .ant-table-title{padding:0}:host ::ng-deep .ant-modal{top:50px;padding:0}:host .ant-advanced-search-form{padding:10px 6px 6px;background:#fbfbfb;border:1px solid #d9d9d9;border-radius:6px;margin-bottom:5px}:host .select-icon:hover{color:#1890ff}:host ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:5px}:host ::ng-deep .ant-table-column-title{font-size:.65rem}:host ::ng-deep .ant-table-tbody>tr.ant-table-row:hover>td{background:#d0eeea}:host ::ng-deep .ant-modal-header,:host ::ng-deep .ant-modal-content{border-radius:4px}:host ::ng-deep .ant-table-tbody>tr.selected:hover>td{background-color:#cfe1d0!important}:host ::ng-deep .ant-table{height:100%}:host ::ng-deep nz-pagination{bottom:0;right:0}:host .search-result-list{padding:1px;border:1px dashed #e9e9e9;border-radius:6px;background-color:#fff;flex:1;text-align:center;position:relative}:host [nz-form-label]{overflow:visible}:host button{margin:2px 4px}:host .collapse{margin-left:6px;font-size:12px}:host .action-area{text-align:left}:host .search-area{text-align:right}:host ::ng-deep .ant-table-pagination.ant-pagination{margin:0}:host ::ng-deep .ant-table-footer{padding:5px 0 0}:host ::ng-deep .main-table{position:absolute;inset:0}:host ::ng-deep .table-content .ant-spin-nested-loading{height:100%}:host ::ng-deep .table-content .ant-spin-container{height:100%}:host ::ng-deep .table-content .ant-table-wrapper{width:100%;height:100%}:host ::ng-deep .table-content .ant-table-footer{position:absolute;bottom:0;width:100%}:host ::ng-deep .ant-table-tbody>tr.selected>td{background-color:#cfe1d0}:host ::ng-deep .ant-table-tbody>tr>td>img{display:block;width:40%;margin:0 auto}:host ::ng-deep .ant-table-body{-ms-overflow-style:none;overflow:-moz-scrollbars-none}:host ::ng-deep .ant-table-body::-webkit-scrollbar,:host ::ng-deep .ant-table-header::-webkit-scrollbar{width:6px!important;height:6px!important}:host ::ng-deep .ant-table-body::-webkit-scrollbar-track,:host ::ng-deep .ant-table-header::-webkit-scrollbar-track{width:6px!important;cursor:pointer}:host ::ng-deep .ant-table-body::-webkit-scrollbar-thumb,:host ::ng-deep .ant-table-header::-webkit-scrollbar-thumb{background:#1890ff;border-radius:3px;cursor:pointer}:host ::ng-deep .ant-table-bordered .ant-table-thead>tr>th{border-right:1px solid #ddd}:host ::ng-deep .ant-table-header{-ms-overflow-style:none;overflow:-moz-scrollbars-none;margin-bottom:-5px!important}:host ::ng-deep .ant-table-placeholder{border-bottom:none!important;border-top:none!important}:host .tabel-colunmn{display:block;width:160px;height:300px;border:1px solid #ddd;padding:10px;border-radius:5px;overflow-x:hidden;overflow-y:auto;position:relative}:host .tabel-colunmn-header{position:fixed;top:0;left:0;right:0;height:30px;z-index:999;line-height:30px;border-bottom:1px solid #ddd;text-align:left;font-size:13px;padding-left:10px}:host .t-tr{background:#fff}:host .t-tr:nth-child(odd){background:#f8f9fa}:host ::ng-deep .ant-table-thead>tr>th{background:#e7ebef!important;border-radius:0;word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-tbody>tr>td{word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-header{background:#e7ebef!important}:host td{font-size:.65rem}:host .resize-trigger{height:100%}:host .nz-resizable-preview{border-width:0;border-right-width:1px}:host ::ng-deep .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){position:unset}:host ::ng-deep .ant-table-tbody>tr>td{padding:5px}:host ::ng-deep .ant-table{line-height:15px}:host ::ng-deep .ant-table-middle .ant-table-footer,:host .ant-table-middle .ant-table-tbody>tr>td,:host .ant-table-middle .ant-table-thead>tr>th,:host .ant-table-middle .ant-table-title{padding:5px}:host ::ng-deep .ant-table-tbody>tr>td>img{width:35px}:host ::ng-deep .ant-modal-body{padding:10px}:host ::ng-deep .ant-table.ant-table-bordered tbody>tr>td{font-size:13px}:host ::ng-deep th{z-index:80!important}:host .left-zindex-header{z-index:90!important}:host .left-zindex{z-index:80!important}:host ::ng-deep input,:host ::ng-deep .ant-select-single:not(.ant-select-customize-input) .ant-select-selector,:host ::ng-deep .ant-picker{border-radius:5px}:host ::ng-deep .ant-table-content{overflow-x:auto}:host .border-text{width:100%;height:36px;line-height:36px;display:flex}:host .border-text .border-text-line{display:inline-block;border-top:1px solid #cccccc;margin-top:18px}:host .border-text .border-text-line-left{width:10px;border-left:1px solid #cccccc}:host .border-text .border-text-line-right{flex:1;border-right:1px solid #cccccc}:host .border-text .border-text-span{margin-left:5px;margin-right:5px}:host ::ng-deep .tabel-colunmn-header{position:absolute!important;top:0!important}:host ::ng-deep .ant-table-cell-fix-left,:host .ant-table-cell-fix-right{position:-webkit-sticky!important;position:sticky!important}:host :host ::ng-deep .ant-table{min-width:100%;height:100%}:host :host ::ng-deep .ant-table-container{min-width:100%;height:100%}:host app-table-td{background:#fff0!important}.label-title{position:absolute;display:block;top:-7px;left:10px;background-color:#fff;color:#000;font-weight:600;font-size:12px;line-height:12px}\n"] }]
2831
- }], ctorParameters: () => [], propDecorators: { header: [{
2888
+ }], template: "<nz-form-item style=\"position: relative\" [title]=\"header.name\" nzFlex>\n <nz-form-control [nzSpan]=\"header.cspan || 24\" [ngSwitch]=\"header.type\">\n <nz-input-group [nzSuffix]=\"inputClearTpl\" *ngSwitchCase=\"'text'\">\n <input nz-input [placeholder]=\"header.placeholder || header.name\" [attr.id]=\"header.key\"\n [disabled]=\"disabled\" [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\"\n (ngModelChange)=\"onChange($event)\" />\n </nz-input-group>\n\n <nz-input-number *ngSwitchCase=\"'number'\" style=\"width: 100%\" [nzId]=\"header.key\"\n [nzPlaceHolder]=\"header.placeholder || header.name\" [nzDisabled]=\"disabled\"\n [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\"\n (ngModelChange)=\"onChange($event)\"></nz-input-number>\n\n <ng-container *ngSwitchCase=\"'checkbox'\">\n <div class=\"checkbox-control\">\n <nz-checkbox-group *ngIf=\"options.length; else booleanCheckbox\" [nzOptions]=\"checkboxOptions\"\n [nzDisabled]=\"disabled\" [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\"\n (ngModelChange)=\"onChange($event)\"></nz-checkbox-group>\n <ng-template #booleanCheckbox>\n <label nz-checkbox [nzDisabled]=\"disabled\" [nzIndeterminate]=\"value == null\"\n [ngModel]=\"value === true\" [ngModelOptions]=\"modelOptions\"\n (ngModelChange)=\"onChange($event)\">{{value == null ? '\u4E0D\u9650' : value ? '\u662F' : '\u5426'}}</label>\n </ng-template>\n <button *ngIf=\"hasValue && !header.disableClear\" type=\"button\" nz-button nzType=\"text\" nzSize=\"small\"\n [disabled]=\"disabled\" [attr.aria-label]=\"'\u6E05\u7A7A' + header.name\" (click)=\"clearValue($event)\">\u6E05\u7A7A</button>\n </div>\n </ng-container>\n\n <nz-select *ngSwitchCase=\"'select'\" [nzAllowClear]=\"!header.disableClear\" [nzDisabled]=\"disabled\"\n [nzMaxTagCount]=\"header.maxTagCount ?? 3\" [nzPlaceHolder]=\"header.placeholder || header.name\"\n [nzMode]=\"header.nzMode || 'default'\" [nzShowSearch]=\"true\"\n [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\" (ngModelChange)=\"onChange($event)\">\n <nz-option *ngFor=\"let option of options\" [nzLabel]=\"optionLabel(option)\" [nzValue]=\"optionValue(option)\"\n [nzDisabled]=\"!!option.disabled\"></nz-option>\n </nz-select>\n\n <nz-select *ngSwitchCase=\"'selectCus'\" [nzAllowClear]=\"!header.disableClear\" [nzDisabled]=\"disabled\"\n [nzMaxTagCount]=\"header.maxTagCount ?? 3\" [nzPlaceHolder]=\"header.placeholder || header.name\"\n [nzMode]=\"header.nzMode || 'default'\" [nzShowSearch]=\"true\"\n [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\" (ngModelChange)=\"onChange($event)\">\n <nz-option *ngFor=\"let option of options\" nzCustomContent [nzLabel]=\"optionLabel(option)\"\n [nzValue]=\"optionValue(option)\" [nzDisabled]=\"!!option.disabled\">\n <i class=\"select-icon\" *ngIf=\"header.icon?.isShow\" nz-icon [nzType]=\"header.icon.icon\"\n nzTheme=\"outline\" style=\"margin-right: 1rem\" (click)=\"clickIcon(optionValue(option), header, $event)\"></i>\n {{optionLabel(option)}}\n </nz-option>\n </nz-select>\n\n <nz-cascader *ngSwitchCase=\"'cascader'\" [nzDisabled]=\"disabled\" [nzAllowClear]=\"!header.disableClear\"\n [nzPlaceHolder]=\"header.placeholder || header.name\" [nzShowSearch]=\"true\" [nzOptions]=\"options\"\n [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\" (ngModelChange)=\"onChange($event)\"></nz-cascader>\n\n <nz-tree-select *ngSwitchCase=\"'treeSelect'\" [nzDisabled]=\"disabled\" [nzDefaultExpandAll]=\"!!header.expandAll\"\n [nzAllowClear]=\"!header.disableClear\" [nzNodes]=\"header.treeList || []\" [nzHideUnMatched]=\"true\"\n [nzPlaceHolder]=\"header.placeholder || header.name\" [nzShowSearch]=\"true\" [nzMultiple]=\"isMultiple\"\n [nzMaxTagCount]=\"header.maxTagCount ?? 3\" nzVirtualHeight=\"330px\"\n [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\" (ngModelChange)=\"onChange($event)\"></nz-tree-select>\n\n <nz-range-picker *ngSwitchCase=\"'dayRange'\" style=\"width: 100%\" [nzDisabled]=\"disabled\"\n [nzAllowClear]=\"!header.disableClear\" nzFormat=\"yyyy-MM-dd\"\n [nzPlaceHolder]=\"[header.name + '\u5F00\u59CB\u65F6\u95F4', '\u7ED3\u675F\u65F6\u95F4']\"\n [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\" (ngModelChange)=\"onChange($event)\"></nz-range-picker>\n\n <nz-range-picker *ngSwitchCase=\"'dateRange'\" style=\"width: 100%\" [nzDisabled]=\"disabled\"\n [nzAllowClear]=\"!header.disableClear\" [nzShowTime]=\"showTime\" [nzFormat]=\"dateFormat\"\n [nzShowNow]=\"!!showTime && !!header.nzShowNow\"\n [nzPlaceHolder]=\"[header.name + '\u5F00\u59CB\u65F6\u95F4', '\u7ED3\u675F\u65F6\u95F4']\"\n [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\" (ngModelChange)=\"onChange($event)\"></nz-range-picker>\n\n <ng-container *ngSwitchCase=\"'sdate'\"><ng-container *ngTemplateOutlet=\"singleDateTpl\"></ng-container></ng-container>\n <ng-container *ngSwitchCase=\"'datepicker'\"><ng-container *ngTemplateOutlet=\"singleDateTpl\"></ng-container></ng-container>\n <nz-date-picker *ngSwitchCase=\"'smonth'\" style=\"width: 100%\" nzMode=\"month\" nzFormat=\"yyyy-MM\"\n [nzDisabled]=\"disabled\" [nzAllowClear]=\"!header.disableClear\"\n [nzPlaceHolder]=\"header.placeholder || header.name\"\n [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\" (ngModelChange)=\"onChange($event)\"></nz-date-picker>\n <span class=\"label-title\">{{header.name}}</span>\n </nz-form-control>\n</nz-form-item>\n\n<ng-template #singleDateTpl>\n <nz-date-picker style=\"width: 100%\" [nzMode]=\"header.dateMode || 'date'\" [nzFormat]=\"dateFormat\"\n [nzDisabled]=\"disabled\" [nzAllowClear]=\"!header.disableClear\"\n [nzShowTime]=\"header.dateMode ? false : showTime\" [nzShowNow]=\"!!showTime && !!header.nzShowNow\"\n [nzPlaceHolder]=\"header.placeholder || header.name\"\n [ngModel]=\"value\" [ngModelOptions]=\"modelOptions\" (ngModelChange)=\"onChange($event)\"></nz-date-picker>\n</ng-template>\n\n<ng-template #inputClearTpl>\n <button *ngIf=\"!header.disableClear && hasValue\" type=\"button\" class=\"ant-input-clear-icon clear-button\"\n [disabled]=\"disabled\" [attr.aria-label]=\"'\u6E05\u7A7A' + header.name\" (click)=\"clearValue($event)\">\n <i nz-icon nzTheme=\"fill\" nzType=\"close-circle\"></i>\n </button>\n</ng-template>\r\n", styles: [":host{margin-bottom:5px}:host .label-title{z-index:80}:host .checkbox-control{display:flex;align-items:center;flex-wrap:wrap;min-height:32px;gap:8px}:host .clear-button{padding:0;border:0;background:transparent;line-height:1;cursor:pointer}:host .clear-button:disabled{cursor:not-allowed;opacity:.45}\n", ":host{height:100%;width:100%;background:#fff}:host ::ng-deep .ant-table-title{padding:0}:host ::ng-deep .ant-modal{top:50px;padding:0}:host .ant-advanced-search-form{padding:10px 6px 6px;background:#fbfbfb;border:1px solid #d9d9d9;border-radius:6px;margin-bottom:5px}:host .select-icon:hover{color:#1890ff}:host ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:5px}:host ::ng-deep .ant-table-column-title{font-size:.65rem}:host ::ng-deep .ant-table-tbody>tr.ant-table-row:hover>td{background:#d0eeea}:host ::ng-deep .ant-modal-header,:host ::ng-deep .ant-modal-content{border-radius:4px}:host ::ng-deep .ant-table-tbody>tr.selected:hover>td{background-color:#cfe1d0!important}:host ::ng-deep .ant-table{height:100%}:host ::ng-deep nz-pagination{bottom:0;right:0}:host .search-result-list{padding:1px;border:1px dashed #e9e9e9;border-radius:6px;background-color:#fff;flex:1;text-align:center;position:relative}:host [nz-form-label]{overflow:visible}:host button{margin:2px 4px}:host .collapse{margin-left:6px;font-size:12px}:host .action-area{text-align:left}:host .search-area{text-align:right}:host ::ng-deep .ant-table-pagination.ant-pagination{margin:0}:host ::ng-deep .ant-table-footer{padding:5px 0 0}:host ::ng-deep .main-table{position:absolute;inset:0}:host ::ng-deep .table-content .ant-spin-nested-loading{height:100%}:host ::ng-deep .table-content .ant-spin-container{height:100%}:host ::ng-deep .table-content .ant-table-wrapper{width:100%;height:100%}:host ::ng-deep .table-content .ant-table-footer{position:absolute;bottom:0;width:100%}:host ::ng-deep .ant-table-tbody>tr.selected>td{background-color:#cfe1d0}:host ::ng-deep .ant-table-tbody>tr>td>img{display:block;width:40%;margin:0 auto}:host ::ng-deep .ant-table-body{-ms-overflow-style:none;overflow:-moz-scrollbars-none}:host ::ng-deep .ant-table-body::-webkit-scrollbar,:host ::ng-deep .ant-table-header::-webkit-scrollbar{width:6px!important;height:6px!important}:host ::ng-deep .ant-table-body::-webkit-scrollbar-track,:host ::ng-deep .ant-table-header::-webkit-scrollbar-track{width:6px!important;cursor:pointer}:host ::ng-deep .ant-table-body::-webkit-scrollbar-thumb,:host ::ng-deep .ant-table-header::-webkit-scrollbar-thumb{background:#1890ff;border-radius:3px;cursor:pointer}:host ::ng-deep .ant-table-bordered .ant-table-thead>tr>th{border-right:1px solid #ddd}:host ::ng-deep .ant-table-header{-ms-overflow-style:none;overflow:-moz-scrollbars-none;margin-bottom:-5px!important}:host ::ng-deep .ant-table-placeholder{border-bottom:none!important;border-top:none!important}:host .tabel-colunmn{display:block;width:160px;height:300px;border:1px solid #ddd;padding:10px;border-radius:5px;overflow-x:hidden;overflow-y:auto;position:relative}:host .tabel-colunmn-header{position:fixed;top:0;left:0;right:0;height:30px;z-index:999;line-height:30px;border-bottom:1px solid #ddd;text-align:left;font-size:13px;padding-left:10px}:host .t-tr{background:#fff}:host .t-tr:nth-child(odd){background:#f8f9fa}:host ::ng-deep .ant-table-thead>tr>th{background:#e7ebef!important;border-radius:0;word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-tbody>tr>td{word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-header{background:#e7ebef!important}:host td{font-size:.65rem}:host .resize-trigger{height:100%}:host .nz-resizable-preview{border-width:0;border-right-width:1px}:host ::ng-deep .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){position:unset}:host ::ng-deep .ant-table-tbody>tr>td{padding:5px}:host ::ng-deep .ant-table{line-height:15px}:host ::ng-deep .ant-table-middle .ant-table-footer,:host .ant-table-middle .ant-table-tbody>tr>td,:host .ant-table-middle .ant-table-thead>tr>th,:host .ant-table-middle .ant-table-title{padding:5px}:host ::ng-deep .ant-table-tbody>tr>td>img{width:35px}:host ::ng-deep .ant-modal-body{padding:10px}:host ::ng-deep .ant-table.ant-table-bordered tbody>tr>td{font-size:13px}:host ::ng-deep th{z-index:80!important}:host .left-zindex-header{z-index:90!important}:host .left-zindex{z-index:80!important}:host ::ng-deep input,:host ::ng-deep .ant-select-single:not(.ant-select-customize-input) .ant-select-selector,:host ::ng-deep .ant-picker{border-radius:5px}:host ::ng-deep .ant-table-content{overflow-x:auto}:host .border-text{width:100%;height:36px;line-height:36px;display:flex}:host .border-text .border-text-line{display:inline-block;border-top:1px solid #cccccc;margin-top:18px}:host .border-text .border-text-line-left{width:10px;border-left:1px solid #cccccc}:host .border-text .border-text-line-right{flex:1;border-right:1px solid #cccccc}:host .border-text .border-text-span{margin-left:5px;margin-right:5px}:host ::ng-deep .tabel-colunmn-header{position:absolute!important;top:0!important}:host ::ng-deep .ant-table-cell-fix-left,:host .ant-table-cell-fix-right{position:-webkit-sticky!important;position:sticky!important}:host :host ::ng-deep .ant-table{min-width:100%;height:100%}:host :host ::ng-deep .ant-table-container{min-width:100%;height:100%}:host app-table-td{background:#fff0!important}.label-title{position:absolute;display:block;top:-7px;left:10px;background-color:#fff;color:#000;font-weight:600;font-size:12px;line-height:12px}\n"] }]
2889
+ }], propDecorators: { header: [{
2832
2890
  type: Input
2833
2891
  }], value: [{
2834
2892
  type: Input
@@ -2836,6 +2894,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
2836
2894
  type: Input
2837
2895
  }], headerAction: [{
2838
2896
  type: Output
2897
+ }], markTouched: [{
2898
+ type: HostListener,
2899
+ args: ['focusout']
2839
2900
  }] } });
2840
2901
 
2841
2902
  class TableTdComponent {
@@ -3019,10 +3080,10 @@ class TableTdComponent {
3019
3080
  }
3020
3081
  return isRight;
3021
3082
  }
3022
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TableTdComponent, deps: [{ token: DictService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
3023
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: TableTdComponent, isStandalone: false, selector: "app-table-td", inputs: { data: "data", item: "item", i: "i" }, outputs: { doActionByRowAction: "doActionByRowAction" }, usesOnChanges: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"item.type\">\r\n <ng-container *ngSwitchCase=\"'tempRef'\">\r\n <ng-container *ngTemplateOutlet=\"item.tempRef; context: {data: result,item:item,value:value}\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'innerHtml'\">\r\n <div [ngStyle]=\"cellStyle\" [innerHTML]=\"innerHtmlValue | safeHtml\"></div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'textcolor'\">\r\n <div [innerHTML]=\"value | defVal:item.defaultVal\" [ngStyle]=\"{'color':item.color}\"\r\n *ngIf=\"item.colorShow == value\"></div>\r\n <div [innerHTML]=\"value | defVal:item.defaultVal\" *ngIf=\"item.colorShow != value\"></div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <span nz-popover (mouseenter)=\"enter($event)\"\r\n [nzPopoverTrigger]=\"popoverTrigger\"\r\n [ngStyle]=\"cellStyle\"\r\n [nzPopoverContent]=\"value | date:'yyyy-MM-dd' | defVal:item.defaultVal\"\r\n class=\"view-text\">{{ value | date:'yyyy-MM-dd' | defVal:item.defaultVal}}</span>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dateTime'\">\r\n <span nz-popover (mouseenter)=\"enter($event)\"\r\n [nzPopoverTrigger]=\"popoverTrigger\"\r\n [ngStyle]=\"cellStyle\"\r\n [nzPopoverContent]=\"value | date:'yyyy-MM-dd HH:mm:ss' | defVal:item.defaultVal\"\r\n class=\"view-text\"> {{ value | date:'yyyy-MM-dd HH:mm:ss' | defVal:item.defaultVal}}</span>\r\n </ng-container>\r\n <nz-switch *ngSwitchCase=\"'switch'\" [(ngModel)]=\"value\" [nzDisabled]=\"item.disabled\"\r\n [ngStyle]=\"cellStyle\"\r\n (ngModelChange)=\"doActionSwitch(result,item.key)\" nzCheckedChildren=\"\u662F\" nzUnCheckedChildren=\"\u5426\">\r\n </nz-switch>\r\n <ng-container *ngSwitchCase=\"'sDateTime'\">\r\n <span nz-popover (mouseenter)=\"enter($event)\"\r\n [nzPopoverTrigger]=\"popoverTrigger\" [ngStyle]=\"cellStyle\"\r\n [nzPopoverContent]=\"value | date:'MM-dd HH:mm' | defVal:item.defaultVal\"\r\n class=\"view-text\"> {{ value | date:'MM-dd HH:mm' | defVal:item.defaultVal}}</span>\r\n </ng-container>\r\n <div *ngSwitchCase=\"'fixedText'\" [ngStyle]=\"cellStyle\" [innerHTML]=\"item.key\"></div>\r\n\r\n <img *ngSwitchCase=\"'image'\" [ngStyle]=\"cellStyle\" width=\"35px\" nzSrc=\"{{(value | defVal:item.defaultVal) | ossImg}}\"\r\n nz-image atrErrorImg/>\r\n <img *ngSwitchCase=\"'image64'\" [ngStyle]=\"cellStyle\" width=\"35px\" nzSrc=\"{{(value | defVal:item.defaultVal)}}\"\r\n nz-image atrErrorImg/>\r\n <div nz-row *ngSwitchCase=\"'action'\">\r\n <div class=\"action-area\" nz-col [nzSpan]=\"24\">\r\n <ng-container *ngFor=\"let action of visibleActions\">\r\n <ng-container *ngIf=\"!action.withoutRole\">\r\n <button nz-button [ngClass]=\"action.className || ''\"\r\n [nzType]=\"action.buttonType&&action.buttonType != 'danger'? action.buttonType : 'primary'\"\r\n [nzDanger]=\"action.buttonType == 'danger'\"\r\n nzSize=\"small\" *atrRole=\"action.code\"\r\n (click)=\"doActionByRow(result,action.code,$event,i)\">\r\n <i nz-icon *ngIf=\"action.icon\" [nzType]=\"action.icon\"></i>\r\n {{action.name}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"action.withoutRole\">\r\n <button nz-button [ngClass]=\"action.className || ''\"\r\n [nzType]=\"action.buttonType&&action.buttonType != 'danger'? action.buttonType : 'primary'\"\r\n [nzDanger]=\"action.buttonType == 'danger'\"\r\n nzSize=\"small\" (click)=\"doActionByRow(result,action.code,$event,i)\">\r\n <i nz-icon *ngIf=\"action.icon\" [nzType]=\"action.icon\"></i>\r\n {{action.name}}</button>\r\n </ng-container>\r\n <!-- <button nz-button [nzType]=\"'primary'\" nzSize=\"small\" *atrRole=\"action.code\" (click)=\"doActionByRow(result,action.code,$event)\">{{action.name\r\n }}</button> -->\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div [ngStyle]=\"cellStyle\" *ngSwitchCase=\"'dict'\" [innerHTML]=\"displayValue | defVal:item.defaultVal\"></div>\r\n <div [ngStyle]=\"cellStyle\" nz-popover (mouseenter)=\"enter($event)\"\r\n [nzPopoverTrigger]=\"popoverTrigger\" [nzPopoverContent]='value | defVal:item.defaultVal'\r\n class=\"view-text\" *ngSwitchDefault [innerHTML]=\"value | defVal:item.defaultVal\"></div>\r\n</ng-container>\r\n\r\n", styles: [":host{cursor:default}:host .view-text{display:inline-block;white-space:nowrap;width:100%;overflow:hidden;text-overflow:ellipsis}\n", ":host{height:100%;width:100%;background:#fff}:host ::ng-deep .ant-table-title{padding:0}:host ::ng-deep .ant-modal{top:50px;padding:0}:host .ant-advanced-search-form{padding:10px 6px 6px;background:#fbfbfb;border:1px solid #d9d9d9;border-radius:6px;margin-bottom:5px}:host .select-icon:hover{color:#1890ff}:host ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:5px}:host ::ng-deep .ant-table-column-title{font-size:.65rem}:host ::ng-deep .ant-table-tbody>tr.ant-table-row:hover>td{background:#d0eeea}:host ::ng-deep .ant-modal-header,:host ::ng-deep .ant-modal-content{border-radius:4px}:host ::ng-deep .ant-table-tbody>tr.selected:hover>td{background-color:#cfe1d0!important}:host ::ng-deep .ant-table{height:100%}:host ::ng-deep nz-pagination{bottom:0;right:0}:host .search-result-list{padding:1px;border:1px dashed #e9e9e9;border-radius:6px;background-color:#fff;flex:1;text-align:center;position:relative}:host [nz-form-label]{overflow:visible}:host button{margin:2px 4px}:host .collapse{margin-left:6px;font-size:12px}:host .action-area{text-align:left}:host .search-area{text-align:right}:host ::ng-deep .ant-table-pagination.ant-pagination{margin:0}:host ::ng-deep .ant-table-footer{padding:5px 0 0}:host ::ng-deep .main-table{position:absolute;inset:0}:host ::ng-deep .table-content .ant-spin-nested-loading{height:100%}:host ::ng-deep .table-content .ant-spin-container{height:100%}:host ::ng-deep .table-content .ant-table-wrapper{width:100%;height:100%}:host ::ng-deep .table-content .ant-table-footer{position:absolute;bottom:0;width:100%}:host ::ng-deep .ant-table-tbody>tr.selected>td{background-color:#cfe1d0}:host ::ng-deep .ant-table-tbody>tr>td>img{display:block;width:40%;margin:0 auto}:host ::ng-deep .ant-table-body{-ms-overflow-style:none;overflow:-moz-scrollbars-none}:host ::ng-deep .ant-table-body::-webkit-scrollbar,:host ::ng-deep .ant-table-header::-webkit-scrollbar{width:6px!important;height:6px!important}:host ::ng-deep .ant-table-body::-webkit-scrollbar-track,:host ::ng-deep .ant-table-header::-webkit-scrollbar-track{width:6px!important;cursor:pointer}:host ::ng-deep .ant-table-body::-webkit-scrollbar-thumb,:host ::ng-deep .ant-table-header::-webkit-scrollbar-thumb{background:#1890ff;border-radius:3px;cursor:pointer}:host ::ng-deep .ant-table-bordered .ant-table-thead>tr>th{border-right:1px solid #ddd}:host ::ng-deep .ant-table-header{-ms-overflow-style:none;overflow:-moz-scrollbars-none;margin-bottom:-5px!important}:host ::ng-deep .ant-table-placeholder{border-bottom:none!important;border-top:none!important}:host .tabel-colunmn{display:block;width:160px;height:300px;border:1px solid #ddd;padding:10px;border-radius:5px;overflow-x:hidden;overflow-y:auto;position:relative}:host .tabel-colunmn-header{position:fixed;top:0;left:0;right:0;height:30px;z-index:999;line-height:30px;border-bottom:1px solid #ddd;text-align:left;font-size:13px;padding-left:10px}:host .t-tr{background:#fff}:host .t-tr:nth-child(odd){background:#f8f9fa}:host ::ng-deep .ant-table-thead>tr>th{background:#e7ebef!important;border-radius:0;word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-tbody>tr>td{word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-header{background:#e7ebef!important}:host td{font-size:.65rem}:host .resize-trigger{height:100%}:host .nz-resizable-preview{border-width:0;border-right-width:1px}:host ::ng-deep .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){position:unset}:host ::ng-deep .ant-table-tbody>tr>td{padding:5px}:host ::ng-deep .ant-table{line-height:15px}:host ::ng-deep .ant-table-middle .ant-table-footer,:host .ant-table-middle .ant-table-tbody>tr>td,:host .ant-table-middle .ant-table-thead>tr>th,:host .ant-table-middle .ant-table-title{padding:5px}:host ::ng-deep .ant-table-tbody>tr>td>img{width:35px}:host ::ng-deep .ant-modal-body{padding:10px}:host ::ng-deep .ant-table.ant-table-bordered tbody>tr>td{font-size:13px}:host ::ng-deep th{z-index:80!important}:host .left-zindex-header{z-index:90!important}:host .left-zindex{z-index:80!important}:host ::ng-deep input,:host ::ng-deep .ant-select-single:not(.ant-select-customize-input) .ant-select-selector,:host ::ng-deep .ant-picker{border-radius:5px}:host ::ng-deep .ant-table-content{overflow-x:auto}:host .border-text{width:100%;height:36px;line-height:36px;display:flex}:host .border-text .border-text-line{display:inline-block;border-top:1px solid #cccccc;margin-top:18px}:host .border-text .border-text-line-left{width:10px;border-left:1px solid #cccccc}:host .border-text .border-text-line-right{flex:1;border-right:1px solid #cccccc}:host .border-text .border-text-span{margin-left:5px;margin-right:5px}:host ::ng-deep .tabel-colunmn-header{position:absolute!important;top:0!important}:host ::ng-deep .ant-table-cell-fix-left,:host .ant-table-cell-fix-right{position:-webkit-sticky!important;position:sticky!important}:host :host ::ng-deep .ant-table{min-width:100%;height:100%}:host :host ::ng-deep .ant-table-container{min-width:100%;height:100%}:host app-table-td{background:#fff0!important}.label-title{position:absolute;display:block;top:-7px;left:10px;background-color:#fff;color:#000;font-weight:600;font-size:12px;line-height:12px}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i3.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i5$1.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "directive", type: i8.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i8.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i8$1.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i9$1.NzPopoverDirective, selector: "[nz-popover]", inputs: ["nzPopoverArrowPointAtCenter", "nzPopoverTitle", "nzPopoverTitleContext", "nzPopoverContent", "nzPopoverContentContext", "nz-popover", "nzPopoverTrigger", "nzPopoverPlacement", "nzPopoverOrigin", "nzPopoverVisible", "nzPopoverMouseEnterDelay", "nzPopoverMouseLeaveDelay", "nzPopoverOverlayClassName", "nzPopoverOverlayStyle", "nzPopoverOverlayClickable", "nzPopoverBackdrop"], outputs: ["nzPopoverVisibleChange"], exportAs: ["nzPopover"] }, { kind: "component", type: i10$1.NzSwitchComponent, selector: "nz-switch", inputs: ["nzLoading", "nzDisabled", "nzControl", "nzCheckedChildren", "nzUnCheckedChildren", "nzSize", "nzId"], exportAs: ["nzSwitch"] }, { kind: "directive", type: i1$3.NzImageDirective, selector: "img[nz-image]", inputs: ["nzSrc", "nzSrcset", "nzDisablePreview", "nzFallback", "nzPlaceholder", "nzScaleStep"], exportAs: ["nzImage"] }, { kind: "directive", type: AtrRoleDirective, selector: "[atrRole]", inputs: ["atrRole"] }, { kind: "directive", type: AtrErrorImgDirective, selector: "[atrErrorImg]", inputs: ["atrErrorImg"] }, { kind: "pipe", type: DefaultValPipe, name: "defVal" }, { kind: "pipe", type: OssImgPipe, name: "ossImg" }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }, { kind: "pipe", type: i2$1.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3083
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TableTdComponent, deps: [{ token: DictService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
3084
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: TableTdComponent, isStandalone: false, selector: "app-table-td", inputs: { data: "data", item: "item", i: "i" }, outputs: { doActionByRowAction: "doActionByRowAction" }, usesOnChanges: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"item.type\">\r\n <ng-container *ngSwitchCase=\"'tempRef'\">\r\n <ng-container *ngTemplateOutlet=\"item.tempRef; context: {data: result,item:item,value:value}\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'innerHtml'\">\r\n <div [ngStyle]=\"cellStyle\" [innerHTML]=\"innerHtmlValue | safeHtml\"></div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'textcolor'\">\r\n <div [innerHTML]=\"value | defVal:item.defaultVal\" [ngStyle]=\"{'color':item.color}\"\r\n *ngIf=\"item.colorShow == value\"></div>\r\n <div [innerHTML]=\"value | defVal:item.defaultVal\" *ngIf=\"item.colorShow != value\"></div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <span nz-popover (mouseenter)=\"enter($event)\"\r\n [nzPopoverTrigger]=\"popoverTrigger\"\r\n [ngStyle]=\"cellStyle\"\r\n [nzPopoverContent]=\"value | date:'yyyy-MM-dd' | defVal:item.defaultVal\"\r\n class=\"view-text\">{{ value | date:'yyyy-MM-dd' | defVal:item.defaultVal}}</span>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dateTime'\">\r\n <span nz-popover (mouseenter)=\"enter($event)\"\r\n [nzPopoverTrigger]=\"popoverTrigger\"\r\n [ngStyle]=\"cellStyle\"\r\n [nzPopoverContent]=\"value | date:'yyyy-MM-dd HH:mm:ss' | defVal:item.defaultVal\"\r\n class=\"view-text\"> {{ value | date:'yyyy-MM-dd HH:mm:ss' | defVal:item.defaultVal}}</span>\r\n </ng-container>\r\n <nz-switch *ngSwitchCase=\"'switch'\" [(ngModel)]=\"value\" [nzDisabled]=\"item.disabled\"\r\n [ngStyle]=\"cellStyle\"\r\n (ngModelChange)=\"doActionSwitch(result,item.key)\" nzCheckedChildren=\"\u662F\" nzUnCheckedChildren=\"\u5426\">\r\n </nz-switch>\r\n <ng-container *ngSwitchCase=\"'sDateTime'\">\r\n <span nz-popover (mouseenter)=\"enter($event)\"\r\n [nzPopoverTrigger]=\"popoverTrigger\" [ngStyle]=\"cellStyle\"\r\n [nzPopoverContent]=\"value | date:'MM-dd HH:mm' | defVal:item.defaultVal\"\r\n class=\"view-text\"> {{ value | date:'MM-dd HH:mm' | defVal:item.defaultVal}}</span>\r\n </ng-container>\r\n <div *ngSwitchCase=\"'fixedText'\" [ngStyle]=\"cellStyle\" [innerHTML]=\"item.key\"></div>\r\n\r\n <img *ngSwitchCase=\"'image'\" [ngStyle]=\"cellStyle\" width=\"35px\" nzSrc=\"{{(value | defVal:item.defaultVal) | ossImg}}\"\r\n nz-image atrErrorImg/>\r\n <img *ngSwitchCase=\"'image64'\" [ngStyle]=\"cellStyle\" width=\"35px\" nzSrc=\"{{(value | defVal:item.defaultVal)}}\"\r\n nz-image atrErrorImg/>\r\n <div nz-row *ngSwitchCase=\"'action'\">\r\n <div class=\"action-area\" nz-col [nzSpan]=\"24\">\r\n <ng-container *ngFor=\"let action of visibleActions\">\r\n <ng-container *ngIf=\"!action.withoutRole\">\r\n <button nz-button [ngClass]=\"action.className || ''\"\r\n [nzType]=\"action.buttonType&&action.buttonType != 'danger'? action.buttonType : 'primary'\"\r\n [nzDanger]=\"action.buttonType == 'danger'\"\r\n nzSize=\"small\" *atrRole=\"action.code\"\r\n (click)=\"doActionByRow(result,action.code,$event,i)\">\r\n <i nz-icon *ngIf=\"action.icon\" [nzType]=\"action.icon\"></i>\r\n {{action.name}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"action.withoutRole\">\r\n <button nz-button [ngClass]=\"action.className || ''\"\r\n [nzType]=\"action.buttonType&&action.buttonType != 'danger'? action.buttonType : 'primary'\"\r\n [nzDanger]=\"action.buttonType == 'danger'\"\r\n nzSize=\"small\" (click)=\"doActionByRow(result,action.code,$event,i)\">\r\n <i nz-icon *ngIf=\"action.icon\" [nzType]=\"action.icon\"></i>\r\n {{action.name}}</button>\r\n </ng-container>\r\n <!-- <button nz-button [nzType]=\"'primary'\" nzSize=\"small\" *atrRole=\"action.code\" (click)=\"doActionByRow(result,action.code,$event)\">{{action.name\r\n }}</button> -->\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div [ngStyle]=\"cellStyle\" *ngSwitchCase=\"'dict'\" [innerHTML]=\"displayValue | defVal:item.defaultVal\"></div>\r\n <div [ngStyle]=\"cellStyle\" nz-popover (mouseenter)=\"enter($event)\"\r\n [nzPopoverTrigger]=\"popoverTrigger\" [nzPopoverContent]='value | defVal:item.defaultVal'\r\n class=\"view-text\" *ngSwitchDefault [innerHTML]=\"value | defVal:item.defaultVal\"></div>\r\n</ng-container>\r\n\r\n", styles: [":host{cursor:default}:host .view-text{display:inline-block;white-space:nowrap;width:100%;overflow:hidden;text-overflow:ellipsis}\n", ":host{height:100%;width:100%;background:#fff}:host ::ng-deep .ant-table-title{padding:0}:host ::ng-deep .ant-modal{top:50px;padding:0}:host .ant-advanced-search-form{padding:10px 6px 6px;background:#fbfbfb;border:1px solid #d9d9d9;border-radius:6px;margin-bottom:5px}:host .select-icon:hover{color:#1890ff}:host ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:5px}:host ::ng-deep .ant-table-column-title{font-size:.65rem}:host ::ng-deep .ant-table-tbody>tr.ant-table-row:hover>td{background:#d0eeea}:host ::ng-deep .ant-modal-header,:host ::ng-deep .ant-modal-content{border-radius:4px}:host ::ng-deep .ant-table-tbody>tr.selected:hover>td{background-color:#cfe1d0!important}:host ::ng-deep .ant-table{height:100%}:host ::ng-deep nz-pagination{bottom:0;right:0}:host .search-result-list{padding:1px;border:1px dashed #e9e9e9;border-radius:6px;background-color:#fff;flex:1;text-align:center;position:relative}:host [nz-form-label]{overflow:visible}:host button{margin:2px 4px}:host .collapse{margin-left:6px;font-size:12px}:host .action-area{text-align:left}:host .search-area{text-align:right}:host ::ng-deep .ant-table-pagination.ant-pagination{margin:0}:host ::ng-deep .ant-table-footer{padding:5px 0 0}:host ::ng-deep .main-table{position:absolute;inset:0}:host ::ng-deep .table-content .ant-spin-nested-loading{height:100%}:host ::ng-deep .table-content .ant-spin-container{height:100%}:host ::ng-deep .table-content .ant-table-wrapper{width:100%;height:100%}:host ::ng-deep .table-content .ant-table-footer{position:absolute;bottom:0;width:100%}:host ::ng-deep .ant-table-tbody>tr.selected>td{background-color:#cfe1d0}:host ::ng-deep .ant-table-tbody>tr>td>img{display:block;width:40%;margin:0 auto}:host ::ng-deep .ant-table-body{-ms-overflow-style:none;overflow:-moz-scrollbars-none}:host ::ng-deep .ant-table-body::-webkit-scrollbar,:host ::ng-deep .ant-table-header::-webkit-scrollbar{width:6px!important;height:6px!important}:host ::ng-deep .ant-table-body::-webkit-scrollbar-track,:host ::ng-deep .ant-table-header::-webkit-scrollbar-track{width:6px!important;cursor:pointer}:host ::ng-deep .ant-table-body::-webkit-scrollbar-thumb,:host ::ng-deep .ant-table-header::-webkit-scrollbar-thumb{background:#1890ff;border-radius:3px;cursor:pointer}:host ::ng-deep .ant-table-bordered .ant-table-thead>tr>th{border-right:1px solid #ddd}:host ::ng-deep .ant-table-header{-ms-overflow-style:none;overflow:-moz-scrollbars-none;margin-bottom:-5px!important}:host ::ng-deep .ant-table-placeholder{border-bottom:none!important;border-top:none!important}:host .tabel-colunmn{display:block;width:160px;height:300px;border:1px solid #ddd;padding:10px;border-radius:5px;overflow-x:hidden;overflow-y:auto;position:relative}:host .tabel-colunmn-header{position:fixed;top:0;left:0;right:0;height:30px;z-index:999;line-height:30px;border-bottom:1px solid #ddd;text-align:left;font-size:13px;padding-left:10px}:host .t-tr{background:#fff}:host .t-tr:nth-child(odd){background:#f8f9fa}:host ::ng-deep .ant-table-thead>tr>th{background:#e7ebef!important;border-radius:0;word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-tbody>tr>td{word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-header{background:#e7ebef!important}:host td{font-size:.65rem}:host .resize-trigger{height:100%}:host .nz-resizable-preview{border-width:0;border-right-width:1px}:host ::ng-deep .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){position:unset}:host ::ng-deep .ant-table-tbody>tr>td{padding:5px}:host ::ng-deep .ant-table{line-height:15px}:host ::ng-deep .ant-table-middle .ant-table-footer,:host .ant-table-middle .ant-table-tbody>tr>td,:host .ant-table-middle .ant-table-thead>tr>th,:host .ant-table-middle .ant-table-title{padding:5px}:host ::ng-deep .ant-table-tbody>tr>td>img{width:35px}:host ::ng-deep .ant-modal-body{padding:10px}:host ::ng-deep .ant-table.ant-table-bordered tbody>tr>td{font-size:13px}:host ::ng-deep th{z-index:80!important}:host .left-zindex-header{z-index:90!important}:host .left-zindex{z-index:80!important}:host ::ng-deep input,:host ::ng-deep .ant-select-single:not(.ant-select-customize-input) .ant-select-selector,:host ::ng-deep .ant-picker{border-radius:5px}:host ::ng-deep .ant-table-content{overflow-x:auto}:host .border-text{width:100%;height:36px;line-height:36px;display:flex}:host .border-text .border-text-line{display:inline-block;border-top:1px solid #cccccc;margin-top:18px}:host .border-text .border-text-line-left{width:10px;border-left:1px solid #cccccc}:host .border-text .border-text-line-right{flex:1;border-right:1px solid #cccccc}:host .border-text .border-text-span{margin-left:5px;margin-right:5px}:host ::ng-deep .tabel-colunmn-header{position:absolute!important;top:0!important}:host ::ng-deep .ant-table-cell-fix-left,:host .ant-table-cell-fix-right{position:-webkit-sticky!important;position:sticky!important}:host :host ::ng-deep .ant-table{min-width:100%;height:100%}:host :host ::ng-deep .ant-table-container{min-width:100%;height:100%}:host app-table-td{background:#fff0!important}.label-title{position:absolute;display:block;top:-7px;left:10px;background-color:#fff;color:#000;font-weight:600;font-size:12px;line-height:12px}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i4.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i5$1.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "directive", type: i8.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i8.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i10.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i9.NzPopoverDirective, selector: "[nz-popover]", inputs: ["nzPopoverArrowPointAtCenter", "nzPopoverTitle", "nzPopoverTitleContext", "nzPopoverContent", "nzPopoverContentContext", "nz-popover", "nzPopoverTrigger", "nzPopoverPlacement", "nzPopoverOrigin", "nzPopoverVisible", "nzPopoverMouseEnterDelay", "nzPopoverMouseLeaveDelay", "nzPopoverOverlayClassName", "nzPopoverOverlayStyle", "nzPopoverOverlayClickable", "nzPopoverBackdrop"], outputs: ["nzPopoverVisibleChange"], exportAs: ["nzPopover"] }, { kind: "component", type: i10$1.NzSwitchComponent, selector: "nz-switch", inputs: ["nzLoading", "nzDisabled", "nzControl", "nzCheckedChildren", "nzUnCheckedChildren", "nzSize", "nzId"], exportAs: ["nzSwitch"] }, { kind: "directive", type: i1$3.NzImageDirective, selector: "img[nz-image]", inputs: ["nzSrc", "nzSrcset", "nzDisablePreview", "nzFallback", "nzPlaceholder", "nzScaleStep"], exportAs: ["nzImage"] }, { kind: "directive", type: AtrRoleDirective, selector: "[atrRole]", inputs: ["atrRole"] }, { kind: "directive", type: AtrErrorImgDirective, selector: "[atrErrorImg]", inputs: ["atrErrorImg"] }, { kind: "pipe", type: DefaultValPipe, name: "defVal" }, { kind: "pipe", type: OssImgPipe, name: "ossImg" }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }, { kind: "pipe", type: i2$1.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3024
3085
  }
3025
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: TableTdComponent, decorators: [{
3086
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TableTdComponent, decorators: [{
3026
3087
  type: Component,
3027
3088
  args: [{ standalone: false, selector: 'app-table-td', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"item.type\">\r\n <ng-container *ngSwitchCase=\"'tempRef'\">\r\n <ng-container *ngTemplateOutlet=\"item.tempRef; context: {data: result,item:item,value:value}\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'innerHtml'\">\r\n <div [ngStyle]=\"cellStyle\" [innerHTML]=\"innerHtmlValue | safeHtml\"></div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'textcolor'\">\r\n <div [innerHTML]=\"value | defVal:item.defaultVal\" [ngStyle]=\"{'color':item.color}\"\r\n *ngIf=\"item.colorShow == value\"></div>\r\n <div [innerHTML]=\"value | defVal:item.defaultVal\" *ngIf=\"item.colorShow != value\"></div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <span nz-popover (mouseenter)=\"enter($event)\"\r\n [nzPopoverTrigger]=\"popoverTrigger\"\r\n [ngStyle]=\"cellStyle\"\r\n [nzPopoverContent]=\"value | date:'yyyy-MM-dd' | defVal:item.defaultVal\"\r\n class=\"view-text\">{{ value | date:'yyyy-MM-dd' | defVal:item.defaultVal}}</span>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dateTime'\">\r\n <span nz-popover (mouseenter)=\"enter($event)\"\r\n [nzPopoverTrigger]=\"popoverTrigger\"\r\n [ngStyle]=\"cellStyle\"\r\n [nzPopoverContent]=\"value | date:'yyyy-MM-dd HH:mm:ss' | defVal:item.defaultVal\"\r\n class=\"view-text\"> {{ value | date:'yyyy-MM-dd HH:mm:ss' | defVal:item.defaultVal}}</span>\r\n </ng-container>\r\n <nz-switch *ngSwitchCase=\"'switch'\" [(ngModel)]=\"value\" [nzDisabled]=\"item.disabled\"\r\n [ngStyle]=\"cellStyle\"\r\n (ngModelChange)=\"doActionSwitch(result,item.key)\" nzCheckedChildren=\"\u662F\" nzUnCheckedChildren=\"\u5426\">\r\n </nz-switch>\r\n <ng-container *ngSwitchCase=\"'sDateTime'\">\r\n <span nz-popover (mouseenter)=\"enter($event)\"\r\n [nzPopoverTrigger]=\"popoverTrigger\" [ngStyle]=\"cellStyle\"\r\n [nzPopoverContent]=\"value | date:'MM-dd HH:mm' | defVal:item.defaultVal\"\r\n class=\"view-text\"> {{ value | date:'MM-dd HH:mm' | defVal:item.defaultVal}}</span>\r\n </ng-container>\r\n <div *ngSwitchCase=\"'fixedText'\" [ngStyle]=\"cellStyle\" [innerHTML]=\"item.key\"></div>\r\n\r\n <img *ngSwitchCase=\"'image'\" [ngStyle]=\"cellStyle\" width=\"35px\" nzSrc=\"{{(value | defVal:item.defaultVal) | ossImg}}\"\r\n nz-image atrErrorImg/>\r\n <img *ngSwitchCase=\"'image64'\" [ngStyle]=\"cellStyle\" width=\"35px\" nzSrc=\"{{(value | defVal:item.defaultVal)}}\"\r\n nz-image atrErrorImg/>\r\n <div nz-row *ngSwitchCase=\"'action'\">\r\n <div class=\"action-area\" nz-col [nzSpan]=\"24\">\r\n <ng-container *ngFor=\"let action of visibleActions\">\r\n <ng-container *ngIf=\"!action.withoutRole\">\r\n <button nz-button [ngClass]=\"action.className || ''\"\r\n [nzType]=\"action.buttonType&&action.buttonType != 'danger'? action.buttonType : 'primary'\"\r\n [nzDanger]=\"action.buttonType == 'danger'\"\r\n nzSize=\"small\" *atrRole=\"action.code\"\r\n (click)=\"doActionByRow(result,action.code,$event,i)\">\r\n <i nz-icon *ngIf=\"action.icon\" [nzType]=\"action.icon\"></i>\r\n {{action.name}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"action.withoutRole\">\r\n <button nz-button [ngClass]=\"action.className || ''\"\r\n [nzType]=\"action.buttonType&&action.buttonType != 'danger'? action.buttonType : 'primary'\"\r\n [nzDanger]=\"action.buttonType == 'danger'\"\r\n nzSize=\"small\" (click)=\"doActionByRow(result,action.code,$event,i)\">\r\n <i nz-icon *ngIf=\"action.icon\" [nzType]=\"action.icon\"></i>\r\n {{action.name}}</button>\r\n </ng-container>\r\n <!-- <button nz-button [nzType]=\"'primary'\" nzSize=\"small\" *atrRole=\"action.code\" (click)=\"doActionByRow(result,action.code,$event)\">{{action.name\r\n }}</button> -->\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div [ngStyle]=\"cellStyle\" *ngSwitchCase=\"'dict'\" [innerHTML]=\"displayValue | defVal:item.defaultVal\"></div>\r\n <div [ngStyle]=\"cellStyle\" nz-popover (mouseenter)=\"enter($event)\"\r\n [nzPopoverTrigger]=\"popoverTrigger\" [nzPopoverContent]='value | defVal:item.defaultVal'\r\n class=\"view-text\" *ngSwitchDefault [innerHTML]=\"value | defVal:item.defaultVal\"></div>\r\n</ng-container>\r\n\r\n", styles: [":host{cursor:default}:host .view-text{display:inline-block;white-space:nowrap;width:100%;overflow:hidden;text-overflow:ellipsis}\n", ":host{height:100%;width:100%;background:#fff}:host ::ng-deep .ant-table-title{padding:0}:host ::ng-deep .ant-modal{top:50px;padding:0}:host .ant-advanced-search-form{padding:10px 6px 6px;background:#fbfbfb;border:1px solid #d9d9d9;border-radius:6px;margin-bottom:5px}:host .select-icon:hover{color:#1890ff}:host ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:5px}:host ::ng-deep .ant-table-column-title{font-size:.65rem}:host ::ng-deep .ant-table-tbody>tr.ant-table-row:hover>td{background:#d0eeea}:host ::ng-deep .ant-modal-header,:host ::ng-deep .ant-modal-content{border-radius:4px}:host ::ng-deep .ant-table-tbody>tr.selected:hover>td{background-color:#cfe1d0!important}:host ::ng-deep .ant-table{height:100%}:host ::ng-deep nz-pagination{bottom:0;right:0}:host .search-result-list{padding:1px;border:1px dashed #e9e9e9;border-radius:6px;background-color:#fff;flex:1;text-align:center;position:relative}:host [nz-form-label]{overflow:visible}:host button{margin:2px 4px}:host .collapse{margin-left:6px;font-size:12px}:host .action-area{text-align:left}:host .search-area{text-align:right}:host ::ng-deep .ant-table-pagination.ant-pagination{margin:0}:host ::ng-deep .ant-table-footer{padding:5px 0 0}:host ::ng-deep .main-table{position:absolute;inset:0}:host ::ng-deep .table-content .ant-spin-nested-loading{height:100%}:host ::ng-deep .table-content .ant-spin-container{height:100%}:host ::ng-deep .table-content .ant-table-wrapper{width:100%;height:100%}:host ::ng-deep .table-content .ant-table-footer{position:absolute;bottom:0;width:100%}:host ::ng-deep .ant-table-tbody>tr.selected>td{background-color:#cfe1d0}:host ::ng-deep .ant-table-tbody>tr>td>img{display:block;width:40%;margin:0 auto}:host ::ng-deep .ant-table-body{-ms-overflow-style:none;overflow:-moz-scrollbars-none}:host ::ng-deep .ant-table-body::-webkit-scrollbar,:host ::ng-deep .ant-table-header::-webkit-scrollbar{width:6px!important;height:6px!important}:host ::ng-deep .ant-table-body::-webkit-scrollbar-track,:host ::ng-deep .ant-table-header::-webkit-scrollbar-track{width:6px!important;cursor:pointer}:host ::ng-deep .ant-table-body::-webkit-scrollbar-thumb,:host ::ng-deep .ant-table-header::-webkit-scrollbar-thumb{background:#1890ff;border-radius:3px;cursor:pointer}:host ::ng-deep .ant-table-bordered .ant-table-thead>tr>th{border-right:1px solid #ddd}:host ::ng-deep .ant-table-header{-ms-overflow-style:none;overflow:-moz-scrollbars-none;margin-bottom:-5px!important}:host ::ng-deep .ant-table-placeholder{border-bottom:none!important;border-top:none!important}:host .tabel-colunmn{display:block;width:160px;height:300px;border:1px solid #ddd;padding:10px;border-radius:5px;overflow-x:hidden;overflow-y:auto;position:relative}:host .tabel-colunmn-header{position:fixed;top:0;left:0;right:0;height:30px;z-index:999;line-height:30px;border-bottom:1px solid #ddd;text-align:left;font-size:13px;padding-left:10px}:host .t-tr{background:#fff}:host .t-tr:nth-child(odd){background:#f8f9fa}:host ::ng-deep .ant-table-thead>tr>th{background:#e7ebef!important;border-radius:0;word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-tbody>tr>td{word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-header{background:#e7ebef!important}:host td{font-size:.65rem}:host .resize-trigger{height:100%}:host .nz-resizable-preview{border-width:0;border-right-width:1px}:host ::ng-deep .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){position:unset}:host ::ng-deep .ant-table-tbody>tr>td{padding:5px}:host ::ng-deep .ant-table{line-height:15px}:host ::ng-deep .ant-table-middle .ant-table-footer,:host .ant-table-middle .ant-table-tbody>tr>td,:host .ant-table-middle .ant-table-thead>tr>th,:host .ant-table-middle .ant-table-title{padding:5px}:host ::ng-deep .ant-table-tbody>tr>td>img{width:35px}:host ::ng-deep .ant-modal-body{padding:10px}:host ::ng-deep .ant-table.ant-table-bordered tbody>tr>td{font-size:13px}:host ::ng-deep th{z-index:80!important}:host .left-zindex-header{z-index:90!important}:host .left-zindex{z-index:80!important}:host ::ng-deep input,:host ::ng-deep .ant-select-single:not(.ant-select-customize-input) .ant-select-selector,:host ::ng-deep .ant-picker{border-radius:5px}:host ::ng-deep .ant-table-content{overflow-x:auto}:host .border-text{width:100%;height:36px;line-height:36px;display:flex}:host .border-text .border-text-line{display:inline-block;border-top:1px solid #cccccc;margin-top:18px}:host .border-text .border-text-line-left{width:10px;border-left:1px solid #cccccc}:host .border-text .border-text-line-right{flex:1;border-right:1px solid #cccccc}:host .border-text .border-text-span{margin-left:5px;margin-right:5px}:host ::ng-deep .tabel-colunmn-header{position:absolute!important;top:0!important}:host ::ng-deep .ant-table-cell-fix-left,:host .ant-table-cell-fix-right{position:-webkit-sticky!important;position:sticky!important}:host :host ::ng-deep .ant-table{min-width:100%;height:100%}:host :host ::ng-deep .ant-table-container{min-width:100%;height:100%}:host app-table-td{background:#fff0!important}.label-title{position:absolute;display:block;top:-7px;left:10px;background-color:#fff;color:#000;font-weight:600;font-size:12px;line-height:12px}\n"] }]
3028
3089
  }], ctorParameters: () => [{ type: DictService }, { type: i0.ChangeDetectorRef }], propDecorators: { data: [{
@@ -3078,10 +3139,10 @@ class LocalUploadComponent {
3078
3139
  this.afterChange.emit(params);
3079
3140
  }
3080
3141
  }
3081
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: LocalUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3082
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: LocalUploadComponent, isStandalone: false, selector: "atr-local-upload", inputs: { beforeUpload: "beforeUpload", url: "url", nzAccept: "nzAccept", name: "name", code: "code", withoutRole: "withoutRole", uploadType: "uploadType" }, outputs: { afterChange: "afterChange" }, ngImport: i0, template: "<ng-container *ngIf=\"!withoutRole\">\r\n <nz-upload [nzAction]=\"url\" [nzAccept]=\"nzAccept\"\r\n [nzHeaders]=\"header\" [nzShowUploadList]=\"showList\"\r\n nzListType=\"picture-card\"\r\n [nzBeforeUpload]=\"beforeUpload\"\r\n (nzChange)=\"onChange($event)\"\r\n *atrRole=\"code\" [nzLimit]='1'>\r\n <button nz-button nzSize=\"small\"><i nz-icon nzType=\"upload\"></i><span> {{name}}</span></button>\r\n </nz-upload>\r\n</ng-container>\r\n<ng-container *ngIf=\"withoutRole\">\r\n <nz-upload [nzAction]=\"url\" [nzAccept]=\"nzAccept\" [nzHeaders]=\"header\" [nzShowUploadList]=\"showList\"\r\n [nzBeforeUpload]=\"beforeUpload\"\r\n (nzChange)=\"onChange($event)\"\r\n [nzFileList]=\"fileList\"\r\n [nzLimit]='1'\r\n *ngIf=\"uploadType != 'drag'\"\r\n >\r\n <button nz-button nzSize=\"small\"><i nz-icon nzType=\"upload\"></i><span> {{name}}</span></button>\r\n </nz-upload>\r\n <nz-upload *ngIf=\"uploadType == 'drag'\"\r\n nzType=\"drag\"\r\n [nzAction]=\"url\" [nzAccept]=\"nzAccept\" [nzHeaders]=\"header\"\r\n [nzBeforeUpload]=\"beforeUpload\"\r\n [nzFileList]=\"fileList\"\r\n (nzChange)=\"onChange($event)\"\r\n [nzLimit]='1'>\r\n <p class=\"ant-upload-drag-icon\">\r\n <nz-icon nzType=\"inbox\" />\r\n </p>\r\n <p class=\"ant-upload-text\">\u5355\u51FB\u6216\u62D6\u52A8\u6587\u4EF6\u5230\u6B64\u533A\u57DF\u4EE5\u4E0A\u4F20\u6587\u4EF6</p>\r\n <p class=\"ant-upload-hint\">\r\n </p>\r\n </nz-upload>\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i3.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i5$1.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "directive", type: i8$1.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: i6.NzUploadComponent, selector: "nz-upload", inputs: ["nzType", "nzLimit", "nzSize", "nzFileType", "nzAccept", "nzAction", "nzDirectory", "nzOpenFileDialogOnClick", "nzBeforeUpload", "nzCustomRequest", "nzData", "nzFilter", "nzFileList", "nzDisabled", "nzHeaders", "nzListType", "nzMultiple", "nzName", "nzShowUploadList", "nzShowButton", "nzWithCredentials", "nzRemove", "nzPreview", "nzPreviewFile", "nzPreviewIsImage", "nzTransformFile", "nzDownload", "nzIconRender", "nzFileListRender"], outputs: ["nzChange", "nzFileListChange"], exportAs: ["nzUpload"] }, { kind: "directive", type: AtrRoleDirective, selector: "[atrRole]", inputs: ["atrRole"] }] }); }
3142
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LocalUploadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3143
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: LocalUploadComponent, isStandalone: false, selector: "atr-local-upload", inputs: { beforeUpload: "beforeUpload", url: "url", nzAccept: "nzAccept", name: "name", code: "code", withoutRole: "withoutRole", uploadType: "uploadType" }, outputs: { afterChange: "afterChange" }, ngImport: i0, template: "<ng-container *ngIf=\"!withoutRole\">\r\n <nz-upload [nzAction]=\"url\" [nzAccept]=\"nzAccept\"\r\n [nzHeaders]=\"header\" [nzShowUploadList]=\"showList\"\r\n nzListType=\"picture-card\"\r\n [nzBeforeUpload]=\"beforeUpload\"\r\n (nzChange)=\"onChange($event)\"\r\n *atrRole=\"code\" [nzLimit]='1'>\r\n <button nz-button nzSize=\"small\"><i nz-icon nzType=\"upload\"></i><span> {{name}}</span></button>\r\n </nz-upload>\r\n</ng-container>\r\n<ng-container *ngIf=\"withoutRole\">\r\n <nz-upload [nzAction]=\"url\" [nzAccept]=\"nzAccept\" [nzHeaders]=\"header\" [nzShowUploadList]=\"showList\"\r\n [nzBeforeUpload]=\"beforeUpload\"\r\n (nzChange)=\"onChange($event)\"\r\n [nzFileList]=\"fileList\"\r\n [nzLimit]='1'\r\n *ngIf=\"uploadType != 'drag'\"\r\n >\r\n <button nz-button nzSize=\"small\"><i nz-icon nzType=\"upload\"></i><span> {{name}}</span></button>\r\n </nz-upload>\r\n <nz-upload *ngIf=\"uploadType == 'drag'\"\r\n nzType=\"drag\"\r\n [nzAction]=\"url\" [nzAccept]=\"nzAccept\" [nzHeaders]=\"header\"\r\n [nzBeforeUpload]=\"beforeUpload\"\r\n [nzFileList]=\"fileList\"\r\n (nzChange)=\"onChange($event)\"\r\n [nzLimit]='1'>\r\n <p class=\"ant-upload-drag-icon\">\r\n <nz-icon nzType=\"inbox\" />\r\n </p>\r\n <p class=\"ant-upload-text\">\u5355\u51FB\u6216\u62D6\u52A8\u6587\u4EF6\u5230\u6B64\u533A\u57DF\u4EE5\u4E0A\u4F20\u6587\u4EF6</p>\r\n <p class=\"ant-upload-hint\">\r\n </p>\r\n </nz-upload>\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i4.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i5$1.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "directive", type: i10.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: i6$1.NzUploadComponent, selector: "nz-upload", inputs: ["nzType", "nzLimit", "nzSize", "nzFileType", "nzAccept", "nzAction", "nzDirectory", "nzOpenFileDialogOnClick", "nzBeforeUpload", "nzCustomRequest", "nzData", "nzFilter", "nzFileList", "nzDisabled", "nzHeaders", "nzListType", "nzMultiple", "nzName", "nzShowUploadList", "nzShowButton", "nzWithCredentials", "nzRemove", "nzPreview", "nzPreviewFile", "nzPreviewIsImage", "nzTransformFile", "nzDownload", "nzIconRender", "nzFileListRender"], outputs: ["nzChange", "nzFileListChange"], exportAs: ["nzUpload"] }, { kind: "directive", type: AtrRoleDirective, selector: "[atrRole]", inputs: ["atrRole"] }] }); }
3083
3144
  }
3084
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: LocalUploadComponent, decorators: [{
3145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LocalUploadComponent, decorators: [{
3085
3146
  type: Component,
3086
3147
  args: [{ standalone: false, selector: 'atr-local-upload', template: "<ng-container *ngIf=\"!withoutRole\">\r\n <nz-upload [nzAction]=\"url\" [nzAccept]=\"nzAccept\"\r\n [nzHeaders]=\"header\" [nzShowUploadList]=\"showList\"\r\n nzListType=\"picture-card\"\r\n [nzBeforeUpload]=\"beforeUpload\"\r\n (nzChange)=\"onChange($event)\"\r\n *atrRole=\"code\" [nzLimit]='1'>\r\n <button nz-button nzSize=\"small\"><i nz-icon nzType=\"upload\"></i><span> {{name}}</span></button>\r\n </nz-upload>\r\n</ng-container>\r\n<ng-container *ngIf=\"withoutRole\">\r\n <nz-upload [nzAction]=\"url\" [nzAccept]=\"nzAccept\" [nzHeaders]=\"header\" [nzShowUploadList]=\"showList\"\r\n [nzBeforeUpload]=\"beforeUpload\"\r\n (nzChange)=\"onChange($event)\"\r\n [nzFileList]=\"fileList\"\r\n [nzLimit]='1'\r\n *ngIf=\"uploadType != 'drag'\"\r\n >\r\n <button nz-button nzSize=\"small\"><i nz-icon nzType=\"upload\"></i><span> {{name}}</span></button>\r\n </nz-upload>\r\n <nz-upload *ngIf=\"uploadType == 'drag'\"\r\n nzType=\"drag\"\r\n [nzAction]=\"url\" [nzAccept]=\"nzAccept\" [nzHeaders]=\"header\"\r\n [nzBeforeUpload]=\"beforeUpload\"\r\n [nzFileList]=\"fileList\"\r\n (nzChange)=\"onChange($event)\"\r\n [nzLimit]='1'>\r\n <p class=\"ant-upload-drag-icon\">\r\n <nz-icon nzType=\"inbox\" />\r\n </p>\r\n <p class=\"ant-upload-text\">\u5355\u51FB\u6216\u62D6\u52A8\u6587\u4EF6\u5230\u6B64\u533A\u57DF\u4EE5\u4E0A\u4F20\u6587\u4EF6</p>\r\n <p class=\"ant-upload-hint\">\r\n </p>\r\n </nz-upload>\r\n</ng-container>\r\n" }]
3087
3148
  }], ctorParameters: () => [], propDecorators: { beforeUpload: [{
@@ -3118,7 +3179,7 @@ class AtrTableComponent {
3118
3179
  this.atrForm = null;
3119
3180
  this.dicts = {};
3120
3181
  this.pageIndex = 1;
3121
- this.total = 1;
3182
+ this.total = 0;
3122
3183
  this.pageSize = 10;
3123
3184
  this.pageSizeOptions = [10, 20, 30, 40, 50];
3124
3185
  this.loading = true;
@@ -3892,10 +3953,10 @@ class AtrTableComponent {
3892
3953
  action.numberOfChecked = 1;
3893
3954
  this.tableAction.emit(action);
3894
3955
  }
3895
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AtrTableComponent, deps: [{ token: i1$2.UntypedFormBuilder }, { token: i0.Injector }, { token: LOCALE_ID }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
3896
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AtrTableComponent, isStandalone: false, selector: "atr-table", inputs: { pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", loading: "loading", allowDrag: "allowDrag", showQueryTime: "showQueryTime", isHideTable: "isHideTable", sortKey: "sortKey", queryOpts: "queryOpts", showPagination: "showPagination", title: "title", queryHeaders: "queryHeaders" }, outputs: { tableAction: "tableAction", queryBack: "queryBack", headerAction: "headerAction" }, viewQueries: [{ propertyName: "tableHeader", first: true, predicate: ["formContent"], descendants: true, static: true }, { propertyName: "pageFooter", first: true, predicate: ["pageContent"], descendants: true, static: true }, { propertyName: "tableContent", first: true, predicate: ["tableContent"], descendants: true, static: true }, { propertyName: "basicTable", first: true, predicate: ["basicTable"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"full-screen table-content \" #tableContent [spinLoading]=\"!viewInitOver\" HqSpin>\r\n <nz-table #basicTable [nzData]=\"renderRows\" nzBordered\r\n nzSize=\"middle\"\r\n [ngStyle]=\"{visibility: viewInitOver ? '':'hidden',width: tableWidth + 'px' }\"\r\n [nzTitle]=\"tableHeader\"\r\n [nzFooter]=\" showPagination ? pageFooter : null\"\r\n [nzFrontPagination]=\"false\"\r\n [nzScroll]=\"{x:scrollSize.x,y:scrollSize.y}\"\r\n >\r\n <thead>\r\n <tr (contextmenu)=\"contextMenu($event,menu)\">\r\n <th [nzBreakWord]=\"true\" *ngIf=\"queryOpts.checkBox?.isShowCheckbox\"\r\n [nzLeft]=\"true\"\r\n class=\"left-zindex-header\"\r\n nzShowCheckbox\r\n style=\"z-index: 90!important;\"\r\n nzWidth=\"30px\"\r\n nzAlign=\"center\"\r\n [(nzChecked)]=\"isAllDisplayDataChecked\"\r\n [nzIndeterminate]=\"isIndeterminate\"\r\n (nzCheckedChange)=\"checkAll($event)\"\r\n ></th>\r\n <th [nzBreakWord]=\"true\" [nzLeft]=\"true\" class=\"left-zindex-header\" *ngIf=\"queryOpts.isIndex\"\r\n nzWidth=\"30px\" nzAlign=\"center\">#\r\n </th>\r\n <th [nzBreakWord]=\"true\" [nzLeft]=\"true\" class=\"left-zindex-header\" *ngIf=\"queryOpts.checkBox?.isRadio\"\r\n nzWidth=\"30px\"\r\n nzAlign=\"center\">#\r\n </th>\r\n <ng-container *ngFor=\"let item of visibleTables; trackBy: trackByTableKey\">\r\n <th\r\n nz-resizable\r\n [nzMinWidth]=\"60\"\r\n [nzWidth]=\"item.width + 'px'\"\r\n [nzRight]=\"item.isRight ? true : false\"\r\n [nzLeft]=\"item.isLeft ? true : false\"\r\n (nzResize)=\"onResize($event,item)\"\r\n >{{item.name}}\r\n <nz-resize-handle nzDirection=\"right\" *ngIf=\"!item.forbidResize\">\r\n <div class=\"resize-trigger\"></div>\r\n </nz-resize-handle>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (row of renderRows; track row.trackId) {\r\n <tr class=\"t-tr\"\r\n [style.color]=\"row.color\" (click)=\"selectRow(row.data,row.index)\"\r\n [ngClass]=\"{'selected': row.index == curChecked}\" (dblclick)=\"dbclickData(row.data,row.index)\" >\r\n @if (queryOpts.checkBox?.isShowCheckbox) {\r\n <td [nzBreakWord]=\"true\" [nzLeft]=\"true\"\r\n class=\"left-zindex\"\r\n nzShowCheckbox\r\n [(nzChecked)]=\"mapOfCheckedId[row.data.id]\"\r\n (nzCheckedChange)=\"refreshStatus()\"\r\n ></td>\r\n }\r\n @if (queryOpts.checkBox?.isRadio) {\r\n <td [nzBreakWord]=\"true\" [nzLeft]=\"true\"\r\n class=\"left-zindex\" nzShowCheckbox (nzCheckedChange)=\"selectRow(row.data,row.index)\"\r\n [(nzChecked)]=\"mapOfCheckedId[row.data.id]\"></td>\r\n }\r\n @if (queryOpts.isIndex) {\r\n <td [nzBreakWord]=\"true\" [nzLeft]=\"true\" nzAlign=\"center\" style=\"padding:12px 0;\"\r\n nzBreakWord>{{row.index + 1}}</td>\r\n }\r\n @for (cell of row.cells; track cell.trackKey) {\r\n <td [nzBreakWord]=\"true\" [nzLeft]=\"cell.item.isLeft ? true : false\"\r\n [ngClass]=\"{'left-zindex':cell.item.isLeft ? true : false}\"\r\n [nzRight]=\"cell.item.isRight ? true : false\"\r\n nzBreakWord\r\n [rowSpan]=\"cell.rowSpan\"\r\n *ngIf=\"cell.show\">\r\n <app-table-td [data]=\"row.data\"\r\n [item]=\"cell.item\"\r\n [i]=\"row.index\"\r\n (doActionByRowAction)=\"doActionByRow2($event)\"\r\n ></app-table-td>\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </nz-table>\r\n</div>\r\n\r\n\r\n<ng-template #tableHeader>\r\n <form nz-form [formGroup]=\"atrForm\" class=\"ant-advanced-search-form\" [style]=\"{width: tableWidth-15+'px'}\"\r\n *ngIf=\"queryOpts.headers.length >0 || queryOpts.actions.length >0\" #formContent>\r\n <div nz-row [nzGutter]=\"24\" [hidden]=\"!isCollapse\">\r\n <ng-content select=\"[header-left-slot]\"></ng-content>\r\n <div nz-col [hidden]=\"!header.isShow \" *ngFor=\"let header of queryOpts.headers\"\r\n [nzSpan]=\"header.span\">\r\n <app-table-form-item\r\n [header]=\"header\"\r\n [ngModel]=\"header.defaultVal\"\r\n [dictList]=\"dicts[header.dictCode]\"\r\n [formControlName]=\"header.key\"\r\n (headerAction)=\"headerAction.emit($event)\"></app-table-form-item>\r\n </div>\r\n <ng-content select=\"[header-right-slot]\"></ng-content>\r\n </div>\r\n <div nz-row nzType=\"flex\">\r\n <div class=\"action-area\" nz-col [nzSpan]=\"16\">\r\n <ng-content select=\"[button-left-slot]\"></ng-content>\r\n <ng-container *ngFor=\"let action of queryOpts.actions\">\r\n <atr-local-upload *ngIf=\"action.gType == 'upload'\" [code]=\"action.code\" [url]=\"action.url\"\r\n [name]=\"action.name\" (afterChange)=\"uploadAction($event,action)\"\r\n [withoutRole]=\"action.withoutRole\"\r\n style=\" display: inline-block;\"></atr-local-upload>\r\n <ng-container *ngIf=\"!action.gType\">\r\n <button nz-button [nzType]=\"'primary'\" nzSize=\"small\" (click)=\"doAction(action.code)\"\r\n *atrRole=\"action.withoutRole ? null:action.code\"\r\n [disabled]=\"isEnable(action.operator)\">{{action.name}} </button>\r\n </ng-container>\r\n </ng-container>\r\n <ng-content select=\"[button-right-slot]\"></ng-content>\r\n </div>\r\n <div nz-col [nzSpan]=\"8\" class=\"search-area\" *ngIf=\"queryOpts.headers.length >0 && !queryOpts.isHideQuery\">\r\n <span *ngIf=\"showQueryTime&&queryTime\">\u6570\u636E\u67E5\u8BE2\u65F6\u95F4\uFF1A{{queryTime}}</span>\r\n <button nz-button nzSize=\"small\" [nzType]=\"'primary'\" (click)=\"query(true)\">\u67E5\u8BE2</button>\r\n <button nz-button nzSize=\"small\" (click)=\"resetForm()\">\u91CD\u7F6E</button>\r\n <a class=\"collapse\" (click)=\"toggleCollapse()\" *ngIf=\"queryOpts.headers.length > 0 \">\r\n {{isCollapse ? '\u6536\u8D77' : '\u5C55\u5F00'}}\r\n <i nz-icon [nzType]=\"isCollapse ? 'up' : 'down'\"></i>\r\n </a>\r\n </div>\r\n </div>\r\n <div *ngIf=\"title\" class=\"title\">{{title}}</div>\r\n </form>\r\n</ng-template>\r\n<ng-template #pageFooter>\r\n <div class=\"flex\" style=\"justify-content: flex-end;\" #pageContent>\r\n <div class=\"flex \" style=\"align-items: center\">\r\n \u5171 {{ total }} \u6761\u8BB0\u5F55\r\n </div>\r\n\r\n <nz-pagination [nzPageIndex]=\"pageIndex\" [nzTotal]=\"total\" nzShowSizeChanger [nzPageSize]=\"pageSize\"\r\n [nzSize]=\"'small'\"\r\n [nzPageSizeOptions]=\"pageSizeOptions\"\r\n (nzPageIndexChange)=\"PageIndexChange($event)\"\r\n (nzPageSizeChange)=\"PageSizeChange($event)\"\r\n ></nz-pagination>\r\n </div>\r\n\r\n</ng-template>\r\n<nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n <div class=\"tabel-colunmn white-bg\" style=\"width: 150px;\">\r\n <nz-checkbox-wrapper style=\"width: 100%;margin-top: 30px;\" (nzOnChange)=\"log($event)\">\r\n <div nz-row>\r\n <div nz-col nzSpan=\"24\" *ngFor=\"let item of queryOpts.tables\">\r\n <label nz-checkbox nzValue=\"{{item.key}}\" [ngModel]=\"item.isShow\">{{item.name}}</label>\r\n </div>\r\n </div>\r\n </nz-checkbox-wrapper>\r\n <div class=\"tabel-colunmn-header\">\u8BF7\u9009\u62E9\u5217\u8868\u663E\u793A\u5185\u5BB9</div>\r\n </div>\r\n</nz-dropdown-menu>\r\n", styles: [":host{height:100%;width:100%;background:#fff}:host ::ng-deep .ant-table-title{padding:0}:host ::ng-deep .ant-modal{top:50px;padding:0}:host .ant-advanced-search-form{padding:10px 6px 6px;background:#fbfbfb;border:1px solid #d9d9d9;border-radius:6px;margin-bottom:5px}:host .select-icon:hover{color:#1890ff}:host ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:5px}:host ::ng-deep .ant-table-column-title{font-size:.65rem}:host ::ng-deep .ant-table-tbody>tr.ant-table-row:hover>td{background:#d0eeea}:host ::ng-deep .ant-modal-header,:host ::ng-deep .ant-modal-content{border-radius:4px}:host ::ng-deep .ant-table-tbody>tr.selected:hover>td{background-color:#cfe1d0!important}:host ::ng-deep .ant-table{height:100%}:host ::ng-deep nz-pagination{bottom:0;right:0}:host .search-result-list{padding:1px;border:1px dashed #e9e9e9;border-radius:6px;background-color:#fff;flex:1;text-align:center;position:relative}:host [nz-form-label]{overflow:visible}:host button{margin:2px 4px}:host .collapse{margin-left:6px;font-size:12px}:host .action-area{text-align:left}:host .search-area{text-align:right}:host ::ng-deep .ant-table-pagination.ant-pagination{margin:0}:host ::ng-deep .ant-table-footer{padding:5px 0 0}:host ::ng-deep .main-table{position:absolute;inset:0}:host ::ng-deep .table-content .ant-spin-nested-loading{height:100%}:host ::ng-deep .table-content .ant-spin-container{height:100%}:host ::ng-deep .table-content .ant-table-wrapper{width:100%;height:100%}:host ::ng-deep .table-content .ant-table-footer{position:absolute;bottom:0;width:100%}:host ::ng-deep .ant-table-tbody>tr.selected>td{background-color:#cfe1d0}:host ::ng-deep .ant-table-tbody>tr>td>img{display:block;width:40%;margin:0 auto}:host ::ng-deep .ant-table-body{-ms-overflow-style:none;overflow:-moz-scrollbars-none}:host ::ng-deep .ant-table-body::-webkit-scrollbar,:host ::ng-deep .ant-table-header::-webkit-scrollbar{width:6px!important;height:6px!important}:host ::ng-deep .ant-table-body::-webkit-scrollbar-track,:host ::ng-deep .ant-table-header::-webkit-scrollbar-track{width:6px!important;cursor:pointer}:host ::ng-deep .ant-table-body::-webkit-scrollbar-thumb,:host ::ng-deep .ant-table-header::-webkit-scrollbar-thumb{background:#1890ff;border-radius:3px;cursor:pointer}:host ::ng-deep .ant-table-bordered .ant-table-thead>tr>th{border-right:1px solid #ddd}:host ::ng-deep .ant-table-header{-ms-overflow-style:none;overflow:-moz-scrollbars-none;margin-bottom:-5px!important}:host ::ng-deep .ant-table-placeholder{border-bottom:none!important;border-top:none!important}:host .tabel-colunmn{display:block;width:160px;height:300px;border:1px solid #ddd;padding:10px;border-radius:5px;overflow-x:hidden;overflow-y:auto;position:relative}:host .tabel-colunmn-header{position:fixed;top:0;left:0;right:0;height:30px;z-index:999;line-height:30px;border-bottom:1px solid #ddd;text-align:left;font-size:13px;padding-left:10px}:host .t-tr{background:#fff}:host .t-tr:nth-child(odd){background:#f8f9fa}:host ::ng-deep .ant-table-thead>tr>th{background:#e7ebef!important;border-radius:0;word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-tbody>tr>td{word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-header{background:#e7ebef!important}:host td{font-size:.65rem}:host .resize-trigger{height:100%}:host .nz-resizable-preview{border-width:0;border-right-width:1px}:host ::ng-deep .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){position:unset}:host ::ng-deep .ant-table-tbody>tr>td{padding:5px}:host ::ng-deep .ant-table{line-height:15px}:host ::ng-deep .ant-table-middle .ant-table-footer,:host .ant-table-middle .ant-table-tbody>tr>td,:host .ant-table-middle .ant-table-thead>tr>th,:host .ant-table-middle .ant-table-title{padding:5px}:host ::ng-deep .ant-table-tbody>tr>td>img{width:35px}:host ::ng-deep .ant-modal-body{padding:10px}:host ::ng-deep .ant-table.ant-table-bordered tbody>tr>td{font-size:13px}:host ::ng-deep th{z-index:80!important}:host .left-zindex-header{z-index:90!important}:host .left-zindex{z-index:80!important}:host ::ng-deep input,:host ::ng-deep .ant-select-single:not(.ant-select-customize-input) .ant-select-selector,:host ::ng-deep .ant-picker{border-radius:5px}:host ::ng-deep .ant-table-content{overflow-x:auto}:host .border-text{width:100%;height:36px;line-height:36px;display:flex}:host .border-text .border-text-line{display:inline-block;border-top:1px solid #cccccc;margin-top:18px}:host .border-text .border-text-line-left{width:10px;border-left:1px solid #cccccc}:host .border-text .border-text-line-right{flex:1;border-right:1px solid #cccccc}:host .border-text .border-text-span{margin-left:5px;margin-right:5px}:host ::ng-deep .tabel-colunmn-header{position:absolute!important;top:0!important}:host ::ng-deep .ant-table-cell-fix-left,:host .ant-table-cell-fix-right{position:-webkit-sticky!important;position:sticky!important}:host :host ::ng-deep .ant-table{min-width:100%;height:100%}:host :host ::ng-deep .ant-table-container{min-width:100%;height:100%}:host app-table-td{background:#fff0!important}.label-title{position:absolute;display:block;top:-7px;left:10px;background-color:#fff;color:#000;font-weight:600;font-size:12px;line-height:12px}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3$1.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i3.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i5$1.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "component", type: i6$1.NzCheckboxComponent, selector: "[nz-checkbox]", inputs: ["nzValue", "nzAutoFocus", "nzDisabled", "nzIndeterminate", "nzChecked", "nzId", "nzName"], outputs: ["nzCheckedChange"], exportAs: ["nzCheckbox"] }, { kind: "component", type: i6$1.NzCheckboxWrapperComponent, selector: "nz-checkbox-wrapper", outputs: ["nzOnChange"], exportAs: ["nzCheckboxWrapper"] }, { kind: "component", type: i7.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "directive", type: i8.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i8.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i14.NzFormDirective, selector: "[nz-form]", inputs: ["nzLayout", "nzNoColon", "nzAutoTips", "nzDisableAutoTips", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap", "nzRequiredMark"], exportAs: ["nzForm"] }, { kind: "directive", type: i8$1.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: i11$1.NzPaginationComponent, selector: "nz-pagination", inputs: ["nzShowTotal", "nzItemRender", "nzSize", "nzPageSizeOptions", "nzShowSizeChanger", "nzShowQuickJumper", "nzSimple", "nzDisabled", "nzResponsive", "nzHideOnSinglePage", "nzTotal", "nzPageIndex", "nzPageSize", "nzAlign"], outputs: ["nzPageSizeChange", "nzPageIndexChange"], exportAs: ["nzPagination"] }, { kind: "component", type: i12.NzTableComponent, selector: "nz-table", inputs: ["nzTableLayout", "nzShowTotal", "nzItemRender", "nzTitle", "nzFooter", "nzNoResult", "nzPageSizeOptions", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualForTrackBy", "nzLoadingDelay", "nzPageIndex", "nzPageSize", "nzTotal", "nzWidthConfig", "nzData", "nzCustomColumn", "nzPaginationPosition", "nzScroll", "noDataVirtualHeight", "nzPaginationType", "nzFrontPagination", "nzTemplateMode", "nzShowPagination", "nzLoading", "nzOuterBordered", "nzLoadingIndicator", "nzBordered", "nzSize", "nzShowSizeChanger", "nzHideOnSinglePage", "nzShowQuickJumper", "nzSimple"], outputs: ["nzPageSizeChange", "nzPageIndexChange", "nzQueryParams", "nzCurrentPageDataChange", "nzCustomColumnChange"], exportAs: ["nzTable"] }, { kind: "directive", type: i12.NzTableCellDirective, selector: "th:not(.nz-disable-th), td:not(.nz-disable-td)" }, { kind: "directive", type: i12.NzThMeasureDirective, selector: "th", inputs: ["nzWidth", "colspan", "colSpan", "rowspan", "rowSpan"] }, { kind: "component", type: i12.NzTdAddOnComponent, selector: "td[nzChecked], td[nzDisabled], td[nzIndeterminate], td[nzIndentSize], td[nzExpand], td[nzShowExpand], td[nzShowCheckbox]", inputs: ["nzChecked", "nzDisabled", "nzIndeterminate", "nzLabel", "nzIndentSize", "nzShowExpand", "nzShowCheckbox", "nzExpand", "nzExpandIcon"], outputs: ["nzCheckedChange", "nzExpandChange"] }, { kind: "component", type: i12.NzTheadComponent, selector: "thead:not(.ant-table-thead)", outputs: ["nzSortOrderChange"] }, { kind: "component", type: i12.NzTbodyComponent, selector: "tbody" }, { kind: "directive", type: i12.NzTrDirective, selector: "tr:not([nz-table-measure-row]):not([nzExpand]):not([nz-table-fixed-row])" }, { kind: "directive", type: i12.NzCellFixedDirective, selector: "td[nzRight],th[nzRight],td[nzLeft],th[nzLeft]", inputs: ["nzRight", "nzLeft", "colspan", "colSpan"] }, { kind: "directive", type: i12.NzCellBreakWordDirective, selector: "th[nzBreakWord],td[nzBreakWord]", inputs: ["nzBreakWord"] }, { kind: "directive", type: i12.NzCellAlignDirective, selector: "th[nzAlign],td[nzAlign]", inputs: ["nzAlign"] }, { kind: "component", type: i12.NzThSelectionComponent, selector: "th[nzSelections],th[nzChecked],th[nzShowCheckbox],th[nzShowRowSelection]", inputs: ["nzSelections", "nzChecked", "nzDisabled", "nzIndeterminate", "nzLabel", "nzShowCheckbox", "nzShowRowSelection"], outputs: ["nzCheckedChange"] }, { kind: "directive", type: i13.NzResizableDirective, selector: "[nz-resizable]", inputs: ["nzBounds", "nzMaxHeight", "nzMaxWidth", "nzMinHeight", "nzMinWidth", "nzGridColumnCount", "nzMaxColumn", "nzMinColumn", "nzLockAspectRatio", "nzPreview", "nzDisabled"], outputs: ["nzResize", "nzResizeEnd", "nzResizeStart"], exportAs: ["nzResizable"] }, { kind: "component", type: i13.NzResizeHandleComponent, selector: "nz-resize-handle, [nz-resize-handle]", inputs: ["nzDirection", "nzCursorType"], outputs: ["nzMouseDown"], exportAs: ["nzResizeHandle"] }, { kind: "directive", type: AtrRoleDirective, selector: "[atrRole]", inputs: ["atrRole"] }, { kind: "directive", type: HqSpinDirective, selector: "[HqSpin]", inputs: ["spinLoading", "text"] }, { kind: "component", type: TableFormItemComponent, selector: "app-table-form-item", inputs: ["header", "value", "dictList"], outputs: ["headerAction"] }, { kind: "component", type: TableTdComponent, selector: "app-table-td", inputs: ["data", "item", "i"], outputs: ["doActionByRowAction"] }, { kind: "component", type: LocalUploadComponent, selector: "atr-local-upload", inputs: ["beforeUpload", "url", "nzAccept", "name", "code", "withoutRole", "uploadType"], outputs: ["afterChange"] }] }); }
3956
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AtrTableComponent, deps: [{ token: i1$2.UntypedFormBuilder }, { token: i0.Injector }, { token: LOCALE_ID }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
3957
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: AtrTableComponent, isStandalone: false, selector: "atr-table", inputs: { pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", loading: "loading", allowDrag: "allowDrag", showQueryTime: "showQueryTime", isHideTable: "isHideTable", sortKey: "sortKey", queryOpts: "queryOpts", showPagination: "showPagination", title: "title", queryHeaders: "queryHeaders" }, outputs: { tableAction: "tableAction", queryBack: "queryBack", headerAction: "headerAction" }, viewQueries: [{ propertyName: "tableHeader", first: true, predicate: ["formContent"], descendants: true, static: true }, { propertyName: "pageFooter", first: true, predicate: ["pageContent"], descendants: true, static: true }, { propertyName: "tableContent", first: true, predicate: ["tableContent"], descendants: true, static: true }, { propertyName: "basicTable", first: true, predicate: ["basicTable"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"full-screen table-content \" #tableContent [spinLoading]=\"!viewInitOver\" HqSpin>\r\n <nz-table #basicTable [nzData]=\"renderRows\" nzBordered\r\n nzSize=\"middle\"\r\n [ngStyle]=\"{visibility: viewInitOver ? '':'hidden',width: tableWidth + 'px' }\"\r\n [nzTitle]=\"tableHeader\"\r\n [nzFooter]=\" showPagination ? pageFooter : null\"\r\n [nzFrontPagination]=\"false\"\r\n [nzScroll]=\"{x:scrollSize.x,y:scrollSize.y}\"\r\n >\r\n <thead>\r\n <tr (contextmenu)=\"contextMenu($event,menu)\">\r\n <th [nzBreakWord]=\"true\" *ngIf=\"queryOpts.checkBox?.isShowCheckbox\"\r\n [nzLeft]=\"true\"\r\n class=\"left-zindex-header\"\r\n nzShowCheckbox\r\n style=\"z-index: 90!important;\"\r\n nzWidth=\"30px\"\r\n nzAlign=\"center\"\r\n [(nzChecked)]=\"isAllDisplayDataChecked\"\r\n [nzIndeterminate]=\"isIndeterminate\"\r\n (nzCheckedChange)=\"checkAll($event)\"\r\n ></th>\r\n <th [nzBreakWord]=\"true\" [nzLeft]=\"true\" class=\"left-zindex-header\" *ngIf=\"queryOpts.isIndex\"\r\n nzWidth=\"30px\" nzAlign=\"center\">#\r\n </th>\r\n <th [nzBreakWord]=\"true\" [nzLeft]=\"true\" class=\"left-zindex-header\" *ngIf=\"queryOpts.checkBox?.isRadio\"\r\n nzWidth=\"30px\"\r\n nzAlign=\"center\">#\r\n </th>\r\n <ng-container *ngFor=\"let item of visibleTables; trackBy: trackByTableKey\">\r\n <th\r\n nz-resizable\r\n [nzMinWidth]=\"60\"\r\n [nzWidth]=\"item.width + 'px'\"\r\n [nzRight]=\"item.isRight ? true : false\"\r\n [nzLeft]=\"item.isLeft ? true : false\"\r\n (nzResize)=\"onResize($event,item)\"\r\n >{{item.name}}\r\n <nz-resize-handle nzDirection=\"right\" *ngIf=\"!item.forbidResize\">\r\n <div class=\"resize-trigger\"></div>\r\n </nz-resize-handle>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (row of renderRows; track row.trackId) {\r\n <tr class=\"t-tr\"\r\n [style.color]=\"row.color\" (click)=\"selectRow(row.data,row.index)\"\r\n [ngClass]=\"{'selected': row.index == curChecked}\" (dblclick)=\"dbclickData(row.data,row.index)\" >\r\n @if (queryOpts.checkBox?.isShowCheckbox) {\r\n <td [nzBreakWord]=\"true\" [nzLeft]=\"true\"\r\n class=\"left-zindex\"\r\n nzShowCheckbox\r\n [(nzChecked)]=\"mapOfCheckedId[row.data.id]\"\r\n (nzCheckedChange)=\"refreshStatus()\"\r\n ></td>\r\n }\r\n @if (queryOpts.checkBox?.isRadio) {\r\n <td [nzBreakWord]=\"true\" [nzLeft]=\"true\"\r\n class=\"left-zindex\" nzShowCheckbox (nzCheckedChange)=\"selectRow(row.data,row.index)\"\r\n [(nzChecked)]=\"mapOfCheckedId[row.data.id]\"></td>\r\n }\r\n @if (queryOpts.isIndex) {\r\n <td [nzBreakWord]=\"true\" [nzLeft]=\"true\" nzAlign=\"center\" style=\"padding:12px 0;\"\r\n nzBreakWord>{{row.index + 1}}</td>\r\n }\r\n @for (cell of row.cells; track cell.trackKey) {\r\n <td [nzBreakWord]=\"true\" [nzLeft]=\"cell.item.isLeft ? true : false\"\r\n [ngClass]=\"{'left-zindex':cell.item.isLeft ? true : false}\"\r\n [nzRight]=\"cell.item.isRight ? true : false\"\r\n nzBreakWord\r\n [rowSpan]=\"cell.rowSpan\"\r\n *ngIf=\"cell.show\">\r\n <app-table-td [data]=\"row.data\"\r\n [item]=\"cell.item\"\r\n [i]=\"row.index\"\r\n (doActionByRowAction)=\"doActionByRow2($event)\"\r\n ></app-table-td>\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </nz-table>\r\n</div>\r\n\r\n\r\n<ng-template #tableHeader>\r\n <form nz-form [formGroup]=\"atrForm\" class=\"ant-advanced-search-form\" [style]=\"{width: tableWidth-15+'px'}\"\r\n *ngIf=\"queryOpts.headers.length >0 || queryOpts.actions.length >0\" #formContent>\r\n <div nz-row [nzGutter]=\"24\" [hidden]=\"!isCollapse\">\r\n <ng-content select=\"[header-left-slot]\"></ng-content>\r\n <div nz-col [hidden]=\"!header.isShow \" *ngFor=\"let header of queryOpts.headers\"\r\n [nzSpan]=\"header.span\">\r\n <app-table-form-item\r\n [header]=\"header\"\r\n [ngModel]=\"header.defaultVal\"\r\n [dictList]=\"dicts[header.dictCode]\"\r\n [formControlName]=\"header.key\"\r\n (headerAction)=\"headerAction.emit($event)\"></app-table-form-item>\r\n </div>\r\n <ng-content select=\"[header-right-slot]\"></ng-content>\r\n </div>\r\n <div nz-row nzType=\"flex\">\r\n <div class=\"action-area\" nz-col [nzSpan]=\"16\">\r\n <ng-content select=\"[button-left-slot]\"></ng-content>\r\n <ng-container *ngFor=\"let action of queryOpts.actions\">\r\n <atr-local-upload *ngIf=\"action.gType == 'upload'\" [code]=\"action.code\" [url]=\"action.url\"\r\n [name]=\"action.name\" (afterChange)=\"uploadAction($event,action)\"\r\n [withoutRole]=\"action.withoutRole\"\r\n style=\" display: inline-block;\"></atr-local-upload>\r\n <ng-container *ngIf=\"!action.gType\">\r\n <button nz-button [nzType]=\"'primary'\" nzSize=\"small\" (click)=\"doAction(action.code)\"\r\n *atrRole=\"action.withoutRole ? null:action.code\"\r\n [disabled]=\"isEnable(action.operator)\">{{action.name}} </button>\r\n </ng-container>\r\n </ng-container>\r\n <ng-content select=\"[button-right-slot]\"></ng-content>\r\n </div>\r\n <div nz-col [nzSpan]=\"8\" class=\"search-area\" *ngIf=\"queryOpts.headers.length >0 && !queryOpts.isHideQuery\">\r\n <span *ngIf=\"showQueryTime&&queryTime\">\u6570\u636E\u67E5\u8BE2\u65F6\u95F4\uFF1A{{queryTime}}</span>\r\n <button nz-button nzSize=\"small\" [nzType]=\"'primary'\" (click)=\"query(true)\">\u67E5\u8BE2</button>\r\n <button nz-button nzSize=\"small\" (click)=\"resetForm()\">\u91CD\u7F6E</button>\r\n <a class=\"collapse\" (click)=\"toggleCollapse()\" *ngIf=\"queryOpts.headers.length > 0 \">\r\n {{isCollapse ? '\u6536\u8D77' : '\u5C55\u5F00'}}\r\n <i nz-icon [nzType]=\"isCollapse ? 'up' : 'down'\"></i>\r\n </a>\r\n </div>\r\n </div>\r\n <div *ngIf=\"title\" class=\"title\">{{title}}</div>\r\n </form>\r\n</ng-template>\r\n<ng-template #pageFooter>\r\n <div class=\"flex\" style=\"justify-content: flex-end;\" #pageContent>\r\n <div class=\"flex \" style=\"align-items: center\">\r\n \u5171 {{ total }} \u6761\u8BB0\u5F55\r\n </div>\r\n\r\n <nz-pagination [nzPageIndex]=\"pageIndex\" [nzTotal]=\"total\" nzShowSizeChanger [nzPageSize]=\"pageSize\"\r\n [nzSize]=\"'small'\"\r\n [nzPageSizeOptions]=\"pageSizeOptions\"\r\n (nzPageIndexChange)=\"PageIndexChange($event)\"\r\n (nzPageSizeChange)=\"PageSizeChange($event)\"\r\n ></nz-pagination>\r\n </div>\r\n\r\n</ng-template>\r\n<nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n <div class=\"tabel-colunmn white-bg\" style=\"width: 150px;\">\r\n <nz-checkbox-wrapper style=\"width: 100%;margin-top: 30px;\" (nzOnChange)=\"log($event)\">\r\n <div nz-row>\r\n <div nz-col nzSpan=\"24\" *ngFor=\"let item of queryOpts.tables\">\r\n <label nz-checkbox nzValue=\"{{item.key}}\" [ngModel]=\"item.isShow\">{{item.name}}</label>\r\n </div>\r\n </div>\r\n </nz-checkbox-wrapper>\r\n <div class=\"tabel-colunmn-header\">\u8BF7\u9009\u62E9\u5217\u8868\u663E\u793A\u5185\u5BB9</div>\r\n </div>\r\n</nz-dropdown-menu>\r\n", styles: [":host{height:100%;width:100%;background:#fff}:host ::ng-deep .ant-table-title{padding:0}:host ::ng-deep .ant-modal{top:50px;padding:0}:host .ant-advanced-search-form{padding:10px 6px 6px;background:#fbfbfb;border:1px solid #d9d9d9;border-radius:6px;margin-bottom:5px}:host .select-icon:hover{color:#1890ff}:host ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:5px}:host ::ng-deep .ant-table-column-title{font-size:.65rem}:host ::ng-deep .ant-table-tbody>tr.ant-table-row:hover>td{background:#d0eeea}:host ::ng-deep .ant-modal-header,:host ::ng-deep .ant-modal-content{border-radius:4px}:host ::ng-deep .ant-table-tbody>tr.selected:hover>td{background-color:#cfe1d0!important}:host ::ng-deep .ant-table{height:100%}:host ::ng-deep nz-pagination{bottom:0;right:0}:host .search-result-list{padding:1px;border:1px dashed #e9e9e9;border-radius:6px;background-color:#fff;flex:1;text-align:center;position:relative}:host [nz-form-label]{overflow:visible}:host button{margin:2px 4px}:host .collapse{margin-left:6px;font-size:12px}:host .action-area{text-align:left}:host .search-area{text-align:right}:host ::ng-deep .ant-table-pagination.ant-pagination{margin:0}:host ::ng-deep .ant-table-footer{padding:5px 0 0}:host ::ng-deep .main-table{position:absolute;inset:0}:host ::ng-deep .table-content .ant-spin-nested-loading{height:100%}:host ::ng-deep .table-content .ant-spin-container{height:100%}:host ::ng-deep .table-content .ant-table-wrapper{width:100%;height:100%}:host ::ng-deep .table-content .ant-table-footer{position:absolute;bottom:0;width:100%}:host ::ng-deep .ant-table-tbody>tr.selected>td{background-color:#cfe1d0}:host ::ng-deep .ant-table-tbody>tr>td>img{display:block;width:40%;margin:0 auto}:host ::ng-deep .ant-table-body{-ms-overflow-style:none;overflow:-moz-scrollbars-none}:host ::ng-deep .ant-table-body::-webkit-scrollbar,:host ::ng-deep .ant-table-header::-webkit-scrollbar{width:6px!important;height:6px!important}:host ::ng-deep .ant-table-body::-webkit-scrollbar-track,:host ::ng-deep .ant-table-header::-webkit-scrollbar-track{width:6px!important;cursor:pointer}:host ::ng-deep .ant-table-body::-webkit-scrollbar-thumb,:host ::ng-deep .ant-table-header::-webkit-scrollbar-thumb{background:#1890ff;border-radius:3px;cursor:pointer}:host ::ng-deep .ant-table-bordered .ant-table-thead>tr>th{border-right:1px solid #ddd}:host ::ng-deep .ant-table-header{-ms-overflow-style:none;overflow:-moz-scrollbars-none;margin-bottom:-5px!important}:host ::ng-deep .ant-table-placeholder{border-bottom:none!important;border-top:none!important}:host .tabel-colunmn{display:block;width:160px;height:300px;border:1px solid #ddd;padding:10px;border-radius:5px;overflow-x:hidden;overflow-y:auto;position:relative}:host .tabel-colunmn-header{position:fixed;top:0;left:0;right:0;height:30px;z-index:999;line-height:30px;border-bottom:1px solid #ddd;text-align:left;font-size:13px;padding-left:10px}:host .t-tr{background:#fff}:host .t-tr:nth-child(odd){background:#f8f9fa}:host ::ng-deep .ant-table-thead>tr>th{background:#e7ebef!important;border-radius:0;word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-tbody>tr>td{word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-header{background:#e7ebef!important}:host td{font-size:.65rem}:host .resize-trigger{height:100%}:host .nz-resizable-preview{border-width:0;border-right-width:1px}:host ::ng-deep .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){position:unset}:host ::ng-deep .ant-table-tbody>tr>td{padding:5px}:host ::ng-deep .ant-table{line-height:15px}:host ::ng-deep .ant-table-middle .ant-table-footer,:host .ant-table-middle .ant-table-tbody>tr>td,:host .ant-table-middle .ant-table-thead>tr>th,:host .ant-table-middle .ant-table-title{padding:5px}:host ::ng-deep .ant-table-tbody>tr>td>img{width:35px}:host ::ng-deep .ant-modal-body{padding:10px}:host ::ng-deep .ant-table.ant-table-bordered tbody>tr>td{font-size:13px}:host ::ng-deep th{z-index:80!important}:host .left-zindex-header{z-index:90!important}:host .left-zindex{z-index:80!important}:host ::ng-deep input,:host ::ng-deep .ant-select-single:not(.ant-select-customize-input) .ant-select-selector,:host ::ng-deep .ant-picker{border-radius:5px}:host ::ng-deep .ant-table-content{overflow-x:auto}:host .border-text{width:100%;height:36px;line-height:36px;display:flex}:host .border-text .border-text-line{display:inline-block;border-top:1px solid #cccccc;margin-top:18px}:host .border-text .border-text-line-left{width:10px;border-left:1px solid #cccccc}:host .border-text .border-text-line-right{flex:1;border-right:1px solid #cccccc}:host .border-text .border-text-span{margin-left:5px;margin-right:5px}:host ::ng-deep .tabel-colunmn-header{position:absolute!important;top:0!important}:host ::ng-deep .ant-table-cell-fix-left,:host .ant-table-cell-fix-right{position:-webkit-sticky!important;position:sticky!important}:host :host ::ng-deep .ant-table{min-width:100%;height:100%}:host :host ::ng-deep .ant-table-container{min-width:100%;height:100%}:host app-table-td{background:#fff0!important}.label-title{position:absolute;display:block;top:-7px;left:10px;background-color:#fff;color:#000;font-weight:600;font-size:12px;line-height:12px}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i4.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i5$1.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "component", type: i6.NzCheckboxComponent, selector: "[nz-checkbox]", inputs: ["nzValue", "nzAutoFocus", "nzDisabled", "nzIndeterminate", "nzChecked", "nzId", "nzName"], outputs: ["nzCheckedChange"], exportAs: ["nzCheckbox"] }, { kind: "component", type: i6.NzCheckboxWrapperComponent, selector: "nz-checkbox-wrapper", outputs: ["nzOnChange"], exportAs: ["nzCheckboxWrapper"] }, { kind: "component", type: i7$1.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "directive", type: i8.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i8.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i14.NzFormDirective, selector: "[nz-form]", inputs: ["nzLayout", "nzNoColon", "nzAutoTips", "nzDisableAutoTips", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap", "nzRequiredMark"], exportAs: ["nzForm"] }, { kind: "directive", type: i10.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: i11$1.NzPaginationComponent, selector: "nz-pagination", inputs: ["nzShowTotal", "nzItemRender", "nzSize", "nzPageSizeOptions", "nzShowSizeChanger", "nzShowQuickJumper", "nzSimple", "nzDisabled", "nzResponsive", "nzHideOnSinglePage", "nzTotal", "nzPageIndex", "nzPageSize", "nzAlign"], outputs: ["nzPageSizeChange", "nzPageIndexChange"], exportAs: ["nzPagination"] }, { kind: "component", type: i12$1.NzTableComponent, selector: "nz-table", inputs: ["nzTableLayout", "nzShowTotal", "nzItemRender", "nzTitle", "nzFooter", "nzNoResult", "nzPageSizeOptions", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualForTrackBy", "nzLoadingDelay", "nzPageIndex", "nzPageSize", "nzTotal", "nzWidthConfig", "nzData", "nzCustomColumn", "nzPaginationPosition", "nzScroll", "noDataVirtualHeight", "nzPaginationType", "nzFrontPagination", "nzTemplateMode", "nzShowPagination", "nzLoading", "nzOuterBordered", "nzLoadingIndicator", "nzBordered", "nzSize", "nzShowSizeChanger", "nzHideOnSinglePage", "nzShowQuickJumper", "nzSimple"], outputs: ["nzPageSizeChange", "nzPageIndexChange", "nzQueryParams", "nzCurrentPageDataChange", "nzCustomColumnChange"], exportAs: ["nzTable"] }, { kind: "directive", type: i12$1.NzTableCellDirective, selector: "th:not(.nz-disable-th), td:not(.nz-disable-td)" }, { kind: "directive", type: i12$1.NzThMeasureDirective, selector: "th", inputs: ["nzWidth", "colspan", "colSpan", "rowspan", "rowSpan"] }, { kind: "component", type: i12$1.NzTdAddOnComponent, selector: "td[nzChecked], td[nzDisabled], td[nzIndeterminate], td[nzIndentSize], td[nzExpand], td[nzShowExpand], td[nzShowCheckbox]", inputs: ["nzChecked", "nzDisabled", "nzIndeterminate", "nzLabel", "nzIndentSize", "nzShowExpand", "nzShowCheckbox", "nzExpand", "nzExpandIcon"], outputs: ["nzCheckedChange", "nzExpandChange"] }, { kind: "component", type: i12$1.NzTheadComponent, selector: "thead:not(.ant-table-thead)", outputs: ["nzSortOrderChange"] }, { kind: "component", type: i12$1.NzTbodyComponent, selector: "tbody" }, { kind: "directive", type: i12$1.NzTrDirective, selector: "tr:not([nz-table-measure-row]):not([nzExpand]):not([nz-table-fixed-row])" }, { kind: "directive", type: i12$1.NzCellFixedDirective, selector: "td[nzRight],th[nzRight],td[nzLeft],th[nzLeft]", inputs: ["nzRight", "nzLeft", "colspan", "colSpan"] }, { kind: "directive", type: i12$1.NzCellBreakWordDirective, selector: "th[nzBreakWord],td[nzBreakWord]", inputs: ["nzBreakWord"] }, { kind: "directive", type: i12$1.NzCellAlignDirective, selector: "th[nzAlign],td[nzAlign]", inputs: ["nzAlign"] }, { kind: "component", type: i12$1.NzThSelectionComponent, selector: "th[nzSelections],th[nzChecked],th[nzShowCheckbox],th[nzShowRowSelection]", inputs: ["nzSelections", "nzChecked", "nzDisabled", "nzIndeterminate", "nzLabel", "nzShowCheckbox", "nzShowRowSelection"], outputs: ["nzCheckedChange"] }, { kind: "directive", type: i13$1.NzResizableDirective, selector: "[nz-resizable]", inputs: ["nzBounds", "nzMaxHeight", "nzMaxWidth", "nzMinHeight", "nzMinWidth", "nzGridColumnCount", "nzMaxColumn", "nzMinColumn", "nzLockAspectRatio", "nzPreview", "nzDisabled"], outputs: ["nzResize", "nzResizeEnd", "nzResizeStart"], exportAs: ["nzResizable"] }, { kind: "component", type: i13$1.NzResizeHandleComponent, selector: "nz-resize-handle, [nz-resize-handle]", inputs: ["nzDirection", "nzCursorType"], outputs: ["nzMouseDown"], exportAs: ["nzResizeHandle"] }, { kind: "directive", type: AtrRoleDirective, selector: "[atrRole]", inputs: ["atrRole"] }, { kind: "directive", type: HqSpinDirective, selector: "[HqSpin]", inputs: ["spinLoading", "text"] }, { kind: "component", type: TableFormItemComponent, selector: "app-table-form-item", inputs: ["header", "value", "dictList"], outputs: ["headerAction"] }, { kind: "component", type: TableTdComponent, selector: "app-table-td", inputs: ["data", "item", "i"], outputs: ["doActionByRowAction"] }, { kind: "component", type: LocalUploadComponent, selector: "atr-local-upload", inputs: ["beforeUpload", "url", "nzAccept", "name", "code", "withoutRole", "uploadType"], outputs: ["afterChange"] }] }); }
3897
3958
  }
3898
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AtrTableComponent, decorators: [{
3959
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AtrTableComponent, decorators: [{
3899
3960
  type: Component,
3900
3961
  args: [{ standalone: false, selector: 'atr-table', template: "<div class=\"full-screen table-content \" #tableContent [spinLoading]=\"!viewInitOver\" HqSpin>\r\n <nz-table #basicTable [nzData]=\"renderRows\" nzBordered\r\n nzSize=\"middle\"\r\n [ngStyle]=\"{visibility: viewInitOver ? '':'hidden',width: tableWidth + 'px' }\"\r\n [nzTitle]=\"tableHeader\"\r\n [nzFooter]=\" showPagination ? pageFooter : null\"\r\n [nzFrontPagination]=\"false\"\r\n [nzScroll]=\"{x:scrollSize.x,y:scrollSize.y}\"\r\n >\r\n <thead>\r\n <tr (contextmenu)=\"contextMenu($event,menu)\">\r\n <th [nzBreakWord]=\"true\" *ngIf=\"queryOpts.checkBox?.isShowCheckbox\"\r\n [nzLeft]=\"true\"\r\n class=\"left-zindex-header\"\r\n nzShowCheckbox\r\n style=\"z-index: 90!important;\"\r\n nzWidth=\"30px\"\r\n nzAlign=\"center\"\r\n [(nzChecked)]=\"isAllDisplayDataChecked\"\r\n [nzIndeterminate]=\"isIndeterminate\"\r\n (nzCheckedChange)=\"checkAll($event)\"\r\n ></th>\r\n <th [nzBreakWord]=\"true\" [nzLeft]=\"true\" class=\"left-zindex-header\" *ngIf=\"queryOpts.isIndex\"\r\n nzWidth=\"30px\" nzAlign=\"center\">#\r\n </th>\r\n <th [nzBreakWord]=\"true\" [nzLeft]=\"true\" class=\"left-zindex-header\" *ngIf=\"queryOpts.checkBox?.isRadio\"\r\n nzWidth=\"30px\"\r\n nzAlign=\"center\">#\r\n </th>\r\n <ng-container *ngFor=\"let item of visibleTables; trackBy: trackByTableKey\">\r\n <th\r\n nz-resizable\r\n [nzMinWidth]=\"60\"\r\n [nzWidth]=\"item.width + 'px'\"\r\n [nzRight]=\"item.isRight ? true : false\"\r\n [nzLeft]=\"item.isLeft ? true : false\"\r\n (nzResize)=\"onResize($event,item)\"\r\n >{{item.name}}\r\n <nz-resize-handle nzDirection=\"right\" *ngIf=\"!item.forbidResize\">\r\n <div class=\"resize-trigger\"></div>\r\n </nz-resize-handle>\r\n </th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n @for (row of renderRows; track row.trackId) {\r\n <tr class=\"t-tr\"\r\n [style.color]=\"row.color\" (click)=\"selectRow(row.data,row.index)\"\r\n [ngClass]=\"{'selected': row.index == curChecked}\" (dblclick)=\"dbclickData(row.data,row.index)\" >\r\n @if (queryOpts.checkBox?.isShowCheckbox) {\r\n <td [nzBreakWord]=\"true\" [nzLeft]=\"true\"\r\n class=\"left-zindex\"\r\n nzShowCheckbox\r\n [(nzChecked)]=\"mapOfCheckedId[row.data.id]\"\r\n (nzCheckedChange)=\"refreshStatus()\"\r\n ></td>\r\n }\r\n @if (queryOpts.checkBox?.isRadio) {\r\n <td [nzBreakWord]=\"true\" [nzLeft]=\"true\"\r\n class=\"left-zindex\" nzShowCheckbox (nzCheckedChange)=\"selectRow(row.data,row.index)\"\r\n [(nzChecked)]=\"mapOfCheckedId[row.data.id]\"></td>\r\n }\r\n @if (queryOpts.isIndex) {\r\n <td [nzBreakWord]=\"true\" [nzLeft]=\"true\" nzAlign=\"center\" style=\"padding:12px 0;\"\r\n nzBreakWord>{{row.index + 1}}</td>\r\n }\r\n @for (cell of row.cells; track cell.trackKey) {\r\n <td [nzBreakWord]=\"true\" [nzLeft]=\"cell.item.isLeft ? true : false\"\r\n [ngClass]=\"{'left-zindex':cell.item.isLeft ? true : false}\"\r\n [nzRight]=\"cell.item.isRight ? true : false\"\r\n nzBreakWord\r\n [rowSpan]=\"cell.rowSpan\"\r\n *ngIf=\"cell.show\">\r\n <app-table-td [data]=\"row.data\"\r\n [item]=\"cell.item\"\r\n [i]=\"row.index\"\r\n (doActionByRowAction)=\"doActionByRow2($event)\"\r\n ></app-table-td>\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </nz-table>\r\n</div>\r\n\r\n\r\n<ng-template #tableHeader>\r\n <form nz-form [formGroup]=\"atrForm\" class=\"ant-advanced-search-form\" [style]=\"{width: tableWidth-15+'px'}\"\r\n *ngIf=\"queryOpts.headers.length >0 || queryOpts.actions.length >0\" #formContent>\r\n <div nz-row [nzGutter]=\"24\" [hidden]=\"!isCollapse\">\r\n <ng-content select=\"[header-left-slot]\"></ng-content>\r\n <div nz-col [hidden]=\"!header.isShow \" *ngFor=\"let header of queryOpts.headers\"\r\n [nzSpan]=\"header.span\">\r\n <app-table-form-item\r\n [header]=\"header\"\r\n [ngModel]=\"header.defaultVal\"\r\n [dictList]=\"dicts[header.dictCode]\"\r\n [formControlName]=\"header.key\"\r\n (headerAction)=\"headerAction.emit($event)\"></app-table-form-item>\r\n </div>\r\n <ng-content select=\"[header-right-slot]\"></ng-content>\r\n </div>\r\n <div nz-row nzType=\"flex\">\r\n <div class=\"action-area\" nz-col [nzSpan]=\"16\">\r\n <ng-content select=\"[button-left-slot]\"></ng-content>\r\n <ng-container *ngFor=\"let action of queryOpts.actions\">\r\n <atr-local-upload *ngIf=\"action.gType == 'upload'\" [code]=\"action.code\" [url]=\"action.url\"\r\n [name]=\"action.name\" (afterChange)=\"uploadAction($event,action)\"\r\n [withoutRole]=\"action.withoutRole\"\r\n style=\" display: inline-block;\"></atr-local-upload>\r\n <ng-container *ngIf=\"!action.gType\">\r\n <button nz-button [nzType]=\"'primary'\" nzSize=\"small\" (click)=\"doAction(action.code)\"\r\n *atrRole=\"action.withoutRole ? null:action.code\"\r\n [disabled]=\"isEnable(action.operator)\">{{action.name}} </button>\r\n </ng-container>\r\n </ng-container>\r\n <ng-content select=\"[button-right-slot]\"></ng-content>\r\n </div>\r\n <div nz-col [nzSpan]=\"8\" class=\"search-area\" *ngIf=\"queryOpts.headers.length >0 && !queryOpts.isHideQuery\">\r\n <span *ngIf=\"showQueryTime&&queryTime\">\u6570\u636E\u67E5\u8BE2\u65F6\u95F4\uFF1A{{queryTime}}</span>\r\n <button nz-button nzSize=\"small\" [nzType]=\"'primary'\" (click)=\"query(true)\">\u67E5\u8BE2</button>\r\n <button nz-button nzSize=\"small\" (click)=\"resetForm()\">\u91CD\u7F6E</button>\r\n <a class=\"collapse\" (click)=\"toggleCollapse()\" *ngIf=\"queryOpts.headers.length > 0 \">\r\n {{isCollapse ? '\u6536\u8D77' : '\u5C55\u5F00'}}\r\n <i nz-icon [nzType]=\"isCollapse ? 'up' : 'down'\"></i>\r\n </a>\r\n </div>\r\n </div>\r\n <div *ngIf=\"title\" class=\"title\">{{title}}</div>\r\n </form>\r\n</ng-template>\r\n<ng-template #pageFooter>\r\n <div class=\"flex\" style=\"justify-content: flex-end;\" #pageContent>\r\n <div class=\"flex \" style=\"align-items: center\">\r\n \u5171 {{ total }} \u6761\u8BB0\u5F55\r\n </div>\r\n\r\n <nz-pagination [nzPageIndex]=\"pageIndex\" [nzTotal]=\"total\" nzShowSizeChanger [nzPageSize]=\"pageSize\"\r\n [nzSize]=\"'small'\"\r\n [nzPageSizeOptions]=\"pageSizeOptions\"\r\n (nzPageIndexChange)=\"PageIndexChange($event)\"\r\n (nzPageSizeChange)=\"PageSizeChange($event)\"\r\n ></nz-pagination>\r\n </div>\r\n\r\n</ng-template>\r\n<nz-dropdown-menu #menu=\"nzDropdownMenu\">\r\n <div class=\"tabel-colunmn white-bg\" style=\"width: 150px;\">\r\n <nz-checkbox-wrapper style=\"width: 100%;margin-top: 30px;\" (nzOnChange)=\"log($event)\">\r\n <div nz-row>\r\n <div nz-col nzSpan=\"24\" *ngFor=\"let item of queryOpts.tables\">\r\n <label nz-checkbox nzValue=\"{{item.key}}\" [ngModel]=\"item.isShow\">{{item.name}}</label>\r\n </div>\r\n </div>\r\n </nz-checkbox-wrapper>\r\n <div class=\"tabel-colunmn-header\">\u8BF7\u9009\u62E9\u5217\u8868\u663E\u793A\u5185\u5BB9</div>\r\n </div>\r\n</nz-dropdown-menu>\r\n", styles: [":host{height:100%;width:100%;background:#fff}:host ::ng-deep .ant-table-title{padding:0}:host ::ng-deep .ant-modal{top:50px;padding:0}:host .ant-advanced-search-form{padding:10px 6px 6px;background:#fbfbfb;border:1px solid #d9d9d9;border-radius:6px;margin-bottom:5px}:host .select-icon:hover{color:#1890ff}:host ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:5px}:host ::ng-deep .ant-table-column-title{font-size:.65rem}:host ::ng-deep .ant-table-tbody>tr.ant-table-row:hover>td{background:#d0eeea}:host ::ng-deep .ant-modal-header,:host ::ng-deep .ant-modal-content{border-radius:4px}:host ::ng-deep .ant-table-tbody>tr.selected:hover>td{background-color:#cfe1d0!important}:host ::ng-deep .ant-table{height:100%}:host ::ng-deep nz-pagination{bottom:0;right:0}:host .search-result-list{padding:1px;border:1px dashed #e9e9e9;border-radius:6px;background-color:#fff;flex:1;text-align:center;position:relative}:host [nz-form-label]{overflow:visible}:host button{margin:2px 4px}:host .collapse{margin-left:6px;font-size:12px}:host .action-area{text-align:left}:host .search-area{text-align:right}:host ::ng-deep .ant-table-pagination.ant-pagination{margin:0}:host ::ng-deep .ant-table-footer{padding:5px 0 0}:host ::ng-deep .main-table{position:absolute;inset:0}:host ::ng-deep .table-content .ant-spin-nested-loading{height:100%}:host ::ng-deep .table-content .ant-spin-container{height:100%}:host ::ng-deep .table-content .ant-table-wrapper{width:100%;height:100%}:host ::ng-deep .table-content .ant-table-footer{position:absolute;bottom:0;width:100%}:host ::ng-deep .ant-table-tbody>tr.selected>td{background-color:#cfe1d0}:host ::ng-deep .ant-table-tbody>tr>td>img{display:block;width:40%;margin:0 auto}:host ::ng-deep .ant-table-body{-ms-overflow-style:none;overflow:-moz-scrollbars-none}:host ::ng-deep .ant-table-body::-webkit-scrollbar,:host ::ng-deep .ant-table-header::-webkit-scrollbar{width:6px!important;height:6px!important}:host ::ng-deep .ant-table-body::-webkit-scrollbar-track,:host ::ng-deep .ant-table-header::-webkit-scrollbar-track{width:6px!important;cursor:pointer}:host ::ng-deep .ant-table-body::-webkit-scrollbar-thumb,:host ::ng-deep .ant-table-header::-webkit-scrollbar-thumb{background:#1890ff;border-radius:3px;cursor:pointer}:host ::ng-deep .ant-table-bordered .ant-table-thead>tr>th{border-right:1px solid #ddd}:host ::ng-deep .ant-table-header{-ms-overflow-style:none;overflow:-moz-scrollbars-none;margin-bottom:-5px!important}:host ::ng-deep .ant-table-placeholder{border-bottom:none!important;border-top:none!important}:host .tabel-colunmn{display:block;width:160px;height:300px;border:1px solid #ddd;padding:10px;border-radius:5px;overflow-x:hidden;overflow-y:auto;position:relative}:host .tabel-colunmn-header{position:fixed;top:0;left:0;right:0;height:30px;z-index:999;line-height:30px;border-bottom:1px solid #ddd;text-align:left;font-size:13px;padding-left:10px}:host .t-tr{background:#fff}:host .t-tr:nth-child(odd){background:#f8f9fa}:host ::ng-deep .ant-table-thead>tr>th{background:#e7ebef!important;border-radius:0;word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-tbody>tr>td{word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-header{background:#e7ebef!important}:host td{font-size:.65rem}:host .resize-trigger{height:100%}:host .nz-resizable-preview{border-width:0;border-right-width:1px}:host ::ng-deep .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){position:unset}:host ::ng-deep .ant-table-tbody>tr>td{padding:5px}:host ::ng-deep .ant-table{line-height:15px}:host ::ng-deep .ant-table-middle .ant-table-footer,:host .ant-table-middle .ant-table-tbody>tr>td,:host .ant-table-middle .ant-table-thead>tr>th,:host .ant-table-middle .ant-table-title{padding:5px}:host ::ng-deep .ant-table-tbody>tr>td>img{width:35px}:host ::ng-deep .ant-modal-body{padding:10px}:host ::ng-deep .ant-table.ant-table-bordered tbody>tr>td{font-size:13px}:host ::ng-deep th{z-index:80!important}:host .left-zindex-header{z-index:90!important}:host .left-zindex{z-index:80!important}:host ::ng-deep input,:host ::ng-deep .ant-select-single:not(.ant-select-customize-input) .ant-select-selector,:host ::ng-deep .ant-picker{border-radius:5px}:host ::ng-deep .ant-table-content{overflow-x:auto}:host .border-text{width:100%;height:36px;line-height:36px;display:flex}:host .border-text .border-text-line{display:inline-block;border-top:1px solid #cccccc;margin-top:18px}:host .border-text .border-text-line-left{width:10px;border-left:1px solid #cccccc}:host .border-text .border-text-line-right{flex:1;border-right:1px solid #cccccc}:host .border-text .border-text-span{margin-left:5px;margin-right:5px}:host ::ng-deep .tabel-colunmn-header{position:absolute!important;top:0!important}:host ::ng-deep .ant-table-cell-fix-left,:host .ant-table-cell-fix-right{position:-webkit-sticky!important;position:sticky!important}:host :host ::ng-deep .ant-table{min-width:100%;height:100%}:host :host ::ng-deep .ant-table-container{min-width:100%;height:100%}:host app-table-td{background:#fff0!important}.label-title{position:absolute;display:block;top:-7px;left:10px;background-color:#fff;color:#000;font-weight:600;font-size:12px;line-height:12px}\n"] }]
3901
3962
  }], ctorParameters: () => [{ type: i1$2.UntypedFormBuilder }, { type: i0.Injector }, { type: undefined, decorators: [{
@@ -3945,10 +4006,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
3945
4006
 
3946
4007
  class VideoComponent {
3947
4008
  constructor() { }
3948
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: VideoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3949
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: VideoComponent, isStandalone: false, selector: "app-video", inputs: { url: "url" }, ngImport: i0, template: "<vg-player>\r\n <vg-controls vgFor=\"__VG__VIDEO__\" >\r\n <vg-play-pause></vg-play-pause>\r\n <vg-scrub-bar>\r\n <vg-scrub-bar-current-time></vg-scrub-bar-current-time>\r\n <vg-scrub-bar-buffering-time></vg-scrub-bar-buffering-time>\r\n </vg-scrub-bar>\r\n <vg-time-display vgProperty=\"left\" vgFormat=\"mm:ss\"></vg-time-display>\r\n\r\n <!-- <vg-volume></vg-volume> -->\r\n <vg-mute></vg-mute>\r\n\r\n <vg-fullscreen></vg-fullscreen>\r\n </vg-controls>\r\n\r\n <video\r\n id=\"__VG__VIDEO__\"\r\n #media\r\n [vgMedia]=\"$any(media)\"\r\n preload=\"auto\"\r\n style=\"width: 100%;\"\r\n >\r\n <source [src]=\"url\" type=\"video/mp4\">\r\n </video>\r\n</vg-player>\r\n", styles: [":host{width:100%}\n"], dependencies: [{ kind: "directive", type: i1$4.VgMediaDirective, selector: "[vgMedia]", inputs: ["vgMedia", "vgMaster"] }, { kind: "component", type: i1$4.VgPlayerComponent, selector: "vg-player", outputs: ["onPlayerReady", "onMediaReady"] }, { kind: "component", type: i2$2.VgControlsComponent, selector: "vg-controls", inputs: ["vgFor", "vgAutohide", "vgAutohideTime"] }, { kind: "component", type: i2$2.VgTimeDisplayComponent, selector: "vg-time-display", inputs: ["vgFor", "vgProperty", "vgFormat"] }, { kind: "component", type: i2$2.VgScrubBarComponent, selector: "vg-scrub-bar", inputs: ["vgFor", "vgSlider"] }, { kind: "component", type: i2$2.VgPlayPauseComponent, selector: "vg-play-pause", inputs: ["vgFor"] }, { kind: "component", type: i2$2.VgMuteComponent, selector: "vg-mute", inputs: ["vgFor"] }, { kind: "component", type: i2$2.VgFullscreenComponent, selector: "vg-fullscreen" }, { kind: "component", type: i2$2.VgScrubBarBufferingTimeComponent, selector: "vg-scrub-bar-buffering-time", inputs: ["vgFor"] }, { kind: "component", type: i2$2.VgScrubBarCurrentTimeComponent, selector: "vg-scrub-bar-current-time", inputs: ["vgFor", "vgSlider"] }] }); }
4009
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: VideoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4010
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: VideoComponent, isStandalone: false, selector: "app-video", inputs: { url: "url" }, ngImport: i0, template: "<vg-player>\r\n <vg-controls vgFor=\"__VG__VIDEO__\" >\r\n <vg-play-pause></vg-play-pause>\r\n <vg-scrub-bar>\r\n <vg-scrub-bar-current-time></vg-scrub-bar-current-time>\r\n <vg-scrub-bar-buffering-time></vg-scrub-bar-buffering-time>\r\n </vg-scrub-bar>\r\n <vg-time-display vgProperty=\"left\" vgFormat=\"mm:ss\"></vg-time-display>\r\n\r\n <!-- <vg-volume></vg-volume> -->\r\n <vg-mute></vg-mute>\r\n\r\n <vg-fullscreen></vg-fullscreen>\r\n </vg-controls>\r\n\r\n <video\r\n id=\"__VG__VIDEO__\"\r\n #media\r\n [vgMedia]=\"$any(media)\"\r\n preload=\"auto\"\r\n style=\"width: 100%;\"\r\n >\r\n <source [src]=\"url\" type=\"video/mp4\">\r\n </video>\r\n</vg-player>\r\n", styles: [":host{width:100%}\n"], dependencies: [{ kind: "directive", type: i1$4.VgMediaDirective, selector: "[vgMedia]", inputs: ["vgMedia", "vgMaster"] }, { kind: "component", type: i1$4.VgPlayerComponent, selector: "vg-player", outputs: ["onPlayerReady", "onMediaReady"] }, { kind: "component", type: i2$2.VgControlsComponent, selector: "vg-controls", inputs: ["vgFor", "vgAutohide", "vgAutohideTime"] }, { kind: "component", type: i2$2.VgTimeDisplayComponent, selector: "vg-time-display", inputs: ["vgFor", "vgProperty", "vgFormat"] }, { kind: "component", type: i2$2.VgScrubBarComponent, selector: "vg-scrub-bar", inputs: ["vgFor", "vgSlider"] }, { kind: "component", type: i2$2.VgPlayPauseComponent, selector: "vg-play-pause", inputs: ["vgFor"] }, { kind: "component", type: i2$2.VgMuteComponent, selector: "vg-mute", inputs: ["vgFor"] }, { kind: "component", type: i2$2.VgFullscreenComponent, selector: "vg-fullscreen" }, { kind: "component", type: i2$2.VgScrubBarBufferingTimeComponent, selector: "vg-scrub-bar-buffering-time", inputs: ["vgFor"] }, { kind: "component", type: i2$2.VgScrubBarCurrentTimeComponent, selector: "vg-scrub-bar-current-time", inputs: ["vgFor", "vgSlider"] }] }); }
3950
4011
  }
3951
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: VideoComponent, decorators: [{
4012
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: VideoComponent, decorators: [{
3952
4013
  type: Component,
3953
4014
  args: [{ standalone: false, selector: 'app-video', template: "<vg-player>\r\n <vg-controls vgFor=\"__VG__VIDEO__\" >\r\n <vg-play-pause></vg-play-pause>\r\n <vg-scrub-bar>\r\n <vg-scrub-bar-current-time></vg-scrub-bar-current-time>\r\n <vg-scrub-bar-buffering-time></vg-scrub-bar-buffering-time>\r\n </vg-scrub-bar>\r\n <vg-time-display vgProperty=\"left\" vgFormat=\"mm:ss\"></vg-time-display>\r\n\r\n <!-- <vg-volume></vg-volume> -->\r\n <vg-mute></vg-mute>\r\n\r\n <vg-fullscreen></vg-fullscreen>\r\n </vg-controls>\r\n\r\n <video\r\n id=\"__VG__VIDEO__\"\r\n #media\r\n [vgMedia]=\"$any(media)\"\r\n preload=\"auto\"\r\n style=\"width: 100%;\"\r\n >\r\n <source [src]=\"url\" type=\"video/mp4\">\r\n </video>\r\n</vg-player>\r\n", styles: [":host{width:100%}\n"] }]
3954
4015
  }], ctorParameters: () => [], propDecorators: { url: [{
@@ -4180,13 +4241,13 @@ class UploadComponent {
4180
4241
  }
4181
4242
  return (img.url || img.thumbUrl);
4182
4243
  }
4183
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: UploadComponent, deps: [{ token: i0.Injector }, { token: i1$3.NzImageService }, { token: i2.HttpClient }, { token: i3$2.NzModalService }], target: i0.ɵɵFactoryTarget.Component }); }
4184
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: UploadComponent, isStandalone: false, selector: "atr-img-upload", inputs: { opts: "opts", isEdit: "isEdit", allowChangSeq: "allowChangSeq", showUploadList: "showUploadList" }, outputs: { afterChange: "afterChange", optsChange: "optsChange", onBeforeUpload: "onBeforeUpload" }, ngImport: i0, template: "<div class=\"clearfix\">\r\n <nz-upload\r\n *ngIf=\"opts && opts?.uploadType == 'drag'\"\r\n nzType=\"drag\"\r\n [nzAction]=\"\"\r\n [nzBeforeUpload]=\"opts.beforeUpload || beforeUpload\"\r\n [nzRemove]=\"remove\"\r\n [nzSize]=\"opts.nzSize || 0\"\r\n [nzCustomRequest]=\"opts.customReq || customReq\"\r\n (nzChange)=\"onChange($event)\"\r\n [nzType]=\"opts?.uploadType\"\r\n [nzAccept]=\"opts.nzFileType\"\r\n [nzLimit]=\"'1'\"\r\n >\r\n <p class=\"ant-upload-drag-icon\">\r\n <i nz-icon nzType=\"inbox\"></i>\r\n </p>\r\n <p class=\"ant-upload-text\">\u5355\u51FB\u6216\u62D6\u52A8\u6587\u4EF6\u5230\u6B64\u533A\u57DF\u4E0A\u4F20</p>\r\n </nz-upload>\r\n <nz-upload\r\n *ngIf=\"opts && opts?.uploadType == 'button'\"\r\n nzType=\"drag\"\r\n nzAction=\"\"\r\n [nzSize]=\"opts.nzSize || 0\"\r\n [nzShowUploadList]=\"showUploadList\"\r\n [nzBeforeUpload]=\"opts.beforeUpload || beforeUpload\"\r\n [nzRemove]=\"remove\"\r\n [nzCustomRequest]=\"opts.customReq || customReq\"\r\n (nzChange)=\"onChange($event)\"\r\n [nzType]=\"opts?.uploadType\"\r\n [nzAccept]=\"opts.nzFileType\"\r\n [nzLimit]=\"'1'\"\r\n >\r\n <button nz-button nzSize=\"small\"><i nz-icon nzType=\"upload\" style=\"font-size: 16px\"></i><span> {{opts.btnName}}</span></button>\r\n </nz-upload>\r\n <nz-upload\r\n *ngIf=\"opts && !opts?.uploadType \"\r\n nzAction=\"\"\r\n nzListType=\"picture-card\"\r\n [nzSize]=\"opts.nzSize || 0\"\r\n [(nzFileList)]=\"opts.imageList\"\r\n [nzShowButton]=\"opts.imageList.length < opts.limit\"\r\n [nzShowUploadList]=\"showUploadList\"\r\n [nzPreview]=\"handlePreview\"\r\n [nzRemove]=\"remove\"\r\n [nzBeforeUpload]=\"opts.beforeUpload || beforeUpload\"\r\n [nzCustomRequest]=\"opts.customReq || customReq\"\r\n (nzChange)=\"onChange($event)\"\r\n [nzType]=\"opts?.uploadType\"\r\n [nzAccept]=\"opts.nzFileType\"\r\n [nzDisabled]=\"!isEdit\"\r\n [nzLimit]=\"'1'\"\r\n [nzFileListRender]=\"opts && isEdit && allowChangSeq && opts.imageList.length > 0 ? fileListTmp : null\"\r\n >\r\n <i nz-icon nzType=\"plus\"></i>\r\n <div class=\"ant-upload-text\">{{opts.btnName?opts.btnName:'\u4E0A\u4F20\u56FE\u7247'}}</div>\r\n </nz-upload>\r\n <!-- <a *ngIf=\"allowChangSeq && isEdit && opts.imageList.length > 1\" (click)=\"openBannerSeq(imgsContent, tplFooter)\"\r\n style=\"margin-left: 10px; \"\r\n ><i nz-icon nzType=\"plus\" nzTheme=\"outline\" style=\"color: #1890ff; font-size: 15px\"></i>\u8C03\u6574\u56FE\u7247\u987A\u5E8F</a>-->\r\n <nz-modal\r\n [nzVisible]=\"previewVisible\"\r\n [nzContent]=\"modalContent\"\r\n [nzFooter]=\"null\"\r\n (nzOnCancel)=\"previewVisible = false\"\r\n >\r\n <ng-template #modalContent>\r\n <img *ngIf=\"!previewImage.endsWith('.mp4')\" [src]=\"previewImage\" [ngStyle]=\"{ width: '100%' }\"/>\r\n <div style=\"width: 100%;margin-top: 15px\">\r\n <app-video *ngIf=\"previewImage.endsWith('.mp4')\" [url]=\"previewImage\"></app-video>\r\n </div>\r\n </ng-template>\r\n </nz-modal>\r\n <ng-template #imgsContent>\r\n <ng-container *ngIf=\"opts && opts.imageList\">\r\n <ng-container *ngFor=\"let imgs of opts.imageList;let i = index\">\r\n <div class=\"img-div\">\r\n <img [src]=\"imgs.url || imgs.thumbUrl\" [ngStyle]=\"{ width: '100px',display: 'inline-block', margin:'10px' }\"/>\r\n <div style=\"margin-right: 20px\">\r\n <a title=\"\u4E0A\u79FB\" *ngIf=\" i > 0\" style=\"display: block;\" (click)=\"arrowUp(i)\"><i nz-icon nzType=\"arrow-up\"\r\n nzTheme=\"outline\"\r\n style=\"color: #1890ff; font-size: 15px;\"></i>\r\n \u4E0A\u79FB</a>\r\n <a title=\"\u4E0B\u79FB\" *ngIf=\" i < opts.imageList.length - 1\" (click)=\"arrowDown(i)\"><i nz-icon nzType=\"arrow-down\"\r\n nzTheme=\"outline\"\r\n style=\"color: #1890ff; font-size: 15px\"></i>\r\n \u4E0B\u79FB</a>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </ng-template>\r\n <!-- </nz-modal>-->\r\n</div>\r\n<ng-template #fileListTmp>\r\n <div >\r\n <ng-container *ngFor=\"let imgs of opts.imageList;let i = index\">\r\n <div class=\"img-div img-pre\" style=\"\">\r\n <img [src]=\"getImgUrl(imgs) |ossImg\" [ngStyle]=\"{ width: '100px',display: 'inline-block', margin:'10px' }\"/>\r\n <div>\r\n <span (click)=\"priviewImg(imgs)\" nz-icon nzType=\"eye\" nzTheme=\"outline\"></span>\r\n <span (click)=\"delImg(i)\" nz-icon nzType=\"delete\" nzTheme=\"outline\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n</ng-template>\r\n<ng-template #tplFooter>\r\n <button nz-button nzType=\"default\" (click)=\"destroyTplModal()\">\r\n \u53D6\u6D88\r\n </button>\r\n <button nz-button nzType=\"primary\" (click)=\"saveSeq()\">\r\n \u4FDD\u5B58\u987A\u5E8F\r\n </button>\r\n</ng-template>\r\n\r\n\r\n", styles: ["i[nz-icon]{font-size:32px;color:#999}.ant-upload-text{margin-top:8px;color:#666}.img-div{padding:8px;border:1px solid #d9d9d9;border-radius:4px;margin-top:20px;display:flex;align-items:center;justify-content:space-between}:host .img-pre{display:inline-block;position:relative;margin-left:10px}:host .img-pre div{display:none;position:absolute;width:100%;height:100%;top:0;left:0;background:#0000006b;z-index:200;color:#fff;align-items:center;justify-content:center;font-size:16px}:host .img-pre div span{margin:10px;cursor:pointer}:host .img-pre:hover div{display:flex}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3$1.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i3.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i5$1.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "directive", type: i8$1.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: i6.NzUploadComponent, selector: "nz-upload", inputs: ["nzType", "nzLimit", "nzSize", "nzFileType", "nzAccept", "nzAction", "nzDirectory", "nzOpenFileDialogOnClick", "nzBeforeUpload", "nzCustomRequest", "nzData", "nzFilter", "nzFileList", "nzDisabled", "nzHeaders", "nzListType", "nzMultiple", "nzName", "nzShowUploadList", "nzShowButton", "nzWithCredentials", "nzRemove", "nzPreview", "nzPreviewFile", "nzPreviewIsImage", "nzTransformFile", "nzDownload", "nzIconRender", "nzFileListRender"], outputs: ["nzChange", "nzFileListChange"], exportAs: ["nzUpload"] }, { kind: "component", type: i3$2.NzModalComponent, selector: "nz-modal", inputs: ["nzMask", "nzMaskClosable", "nzCloseOnNavigation", "nzVisible", "nzClosable", "nzOkLoading", "nzOkDisabled", "nzCancelDisabled", "nzCancelLoading", "nzKeyboard", "nzNoAnimation", "nzCentered", "nzDraggable", "nzContent", "nzFooter", "nzZIndex", "nzWidth", "nzWrapClassName", "nzClassName", "nzStyle", "nzTitle", "nzCloseIcon", "nzMaskStyle", "nzBodyStyle", "nzOkText", "nzCancelText", "nzOkType", "nzOkDanger", "nzIconType", "nzModalType", "nzAutofocus", "nzOnOk", "nzOnCancel"], outputs: ["nzOnOk", "nzOnCancel", "nzAfterOpen", "nzAfterClose", "nzVisibleChange"], exportAs: ["nzModal"] }, { kind: "component", type: VideoComponent, selector: "app-video", inputs: ["url"] }, { kind: "pipe", type: OssImgPipe, name: "ossImg" }] }); }
4244
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: UploadComponent, deps: [{ token: i0.Injector }, { token: i1$3.NzImageService }, { token: i2.HttpClient }, { token: i3$1.NzModalService }], target: i0.ɵɵFactoryTarget.Component }); }
4245
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: UploadComponent, isStandalone: false, selector: "atr-img-upload", inputs: { opts: "opts", isEdit: "isEdit", allowChangSeq: "allowChangSeq", showUploadList: "showUploadList" }, outputs: { afterChange: "afterChange", optsChange: "optsChange", onBeforeUpload: "onBeforeUpload" }, ngImport: i0, template: "<div class=\"clearfix\">\r\n <nz-upload\r\n *ngIf=\"opts && opts?.uploadType == 'drag'\"\r\n nzType=\"drag\"\r\n [nzAction]=\"\"\r\n [nzBeforeUpload]=\"opts.beforeUpload || beforeUpload\"\r\n [nzRemove]=\"remove\"\r\n [nzSize]=\"opts.nzSize || 0\"\r\n [nzCustomRequest]=\"opts.customReq || customReq\"\r\n (nzChange)=\"onChange($event)\"\r\n [nzType]=\"opts?.uploadType\"\r\n [nzAccept]=\"opts.nzFileType\"\r\n [nzLimit]=\"'1'\"\r\n >\r\n <p class=\"ant-upload-drag-icon\">\r\n <i nz-icon nzType=\"inbox\"></i>\r\n </p>\r\n <p class=\"ant-upload-text\">\u5355\u51FB\u6216\u62D6\u52A8\u6587\u4EF6\u5230\u6B64\u533A\u57DF\u4E0A\u4F20</p>\r\n </nz-upload>\r\n <nz-upload\r\n *ngIf=\"opts && opts?.uploadType == 'button'\"\r\n nzType=\"drag\"\r\n nzAction=\"\"\r\n [nzSize]=\"opts.nzSize || 0\"\r\n [nzShowUploadList]=\"showUploadList\"\r\n [nzBeforeUpload]=\"opts.beforeUpload || beforeUpload\"\r\n [nzRemove]=\"remove\"\r\n [nzCustomRequest]=\"opts.customReq || customReq\"\r\n (nzChange)=\"onChange($event)\"\r\n [nzType]=\"opts?.uploadType\"\r\n [nzAccept]=\"opts.nzFileType\"\r\n [nzLimit]=\"'1'\"\r\n >\r\n <button nz-button nzSize=\"small\"><i nz-icon nzType=\"upload\" style=\"font-size: 16px\"></i><span> {{opts.btnName}}</span></button>\r\n </nz-upload>\r\n <nz-upload\r\n *ngIf=\"opts && !opts?.uploadType \"\r\n nzAction=\"\"\r\n nzListType=\"picture-card\"\r\n [nzSize]=\"opts.nzSize || 0\"\r\n [(nzFileList)]=\"opts.imageList\"\r\n [nzShowButton]=\"opts.imageList.length < opts.limit\"\r\n [nzShowUploadList]=\"showUploadList\"\r\n [nzPreview]=\"handlePreview\"\r\n [nzRemove]=\"remove\"\r\n [nzBeforeUpload]=\"opts.beforeUpload || beforeUpload\"\r\n [nzCustomRequest]=\"opts.customReq || customReq\"\r\n (nzChange)=\"onChange($event)\"\r\n [nzType]=\"opts?.uploadType\"\r\n [nzAccept]=\"opts.nzFileType\"\r\n [nzDisabled]=\"!isEdit\"\r\n [nzLimit]=\"'1'\"\r\n [nzFileListRender]=\"opts && isEdit && allowChangSeq && opts.imageList.length > 0 ? fileListTmp : null\"\r\n >\r\n <i nz-icon nzType=\"plus\"></i>\r\n <div class=\"ant-upload-text\">{{opts.btnName?opts.btnName:'\u4E0A\u4F20\u56FE\u7247'}}</div>\r\n </nz-upload>\r\n <!-- <a *ngIf=\"allowChangSeq && isEdit && opts.imageList.length > 1\" (click)=\"openBannerSeq(imgsContent, tplFooter)\"\r\n style=\"margin-left: 10px; \"\r\n ><i nz-icon nzType=\"plus\" nzTheme=\"outline\" style=\"color: #1890ff; font-size: 15px\"></i>\u8C03\u6574\u56FE\u7247\u987A\u5E8F</a>-->\r\n <nz-modal\r\n [nzVisible]=\"previewVisible\"\r\n [nzContent]=\"modalContent\"\r\n [nzFooter]=\"null\"\r\n (nzOnCancel)=\"previewVisible = false\"\r\n >\r\n <ng-template #modalContent>\r\n <img *ngIf=\"!previewImage.endsWith('.mp4')\" [src]=\"previewImage\" [ngStyle]=\"{ width: '100%' }\"/>\r\n <div style=\"width: 100%;margin-top: 15px\">\r\n <app-video *ngIf=\"previewImage.endsWith('.mp4')\" [url]=\"previewImage\"></app-video>\r\n </div>\r\n </ng-template>\r\n </nz-modal>\r\n <ng-template #imgsContent>\r\n <ng-container *ngIf=\"opts && opts.imageList\">\r\n <ng-container *ngFor=\"let imgs of opts.imageList;let i = index\">\r\n <div class=\"img-div\">\r\n <img [src]=\"imgs.url || imgs.thumbUrl\" [ngStyle]=\"{ width: '100px',display: 'inline-block', margin:'10px' }\"/>\r\n <div style=\"margin-right: 20px\">\r\n <a title=\"\u4E0A\u79FB\" *ngIf=\" i > 0\" style=\"display: block;\" (click)=\"arrowUp(i)\"><i nz-icon nzType=\"arrow-up\"\r\n nzTheme=\"outline\"\r\n style=\"color: #1890ff; font-size: 15px;\"></i>\r\n \u4E0A\u79FB</a>\r\n <a title=\"\u4E0B\u79FB\" *ngIf=\" i < opts.imageList.length - 1\" (click)=\"arrowDown(i)\"><i nz-icon nzType=\"arrow-down\"\r\n nzTheme=\"outline\"\r\n style=\"color: #1890ff; font-size: 15px\"></i>\r\n \u4E0B\u79FB</a>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </ng-template>\r\n <!-- </nz-modal>-->\r\n</div>\r\n<ng-template #fileListTmp>\r\n <div >\r\n <ng-container *ngFor=\"let imgs of opts.imageList;let i = index\">\r\n <div class=\"img-div img-pre\" style=\"\">\r\n <img [src]=\"getImgUrl(imgs) |ossImg\" [ngStyle]=\"{ width: '100px',display: 'inline-block', margin:'10px' }\"/>\r\n <div>\r\n <span (click)=\"priviewImg(imgs)\" nz-icon nzType=\"eye\" nzTheme=\"outline\"></span>\r\n <span (click)=\"delImg(i)\" nz-icon nzType=\"delete\" nzTheme=\"outline\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n</ng-template>\r\n<ng-template #tplFooter>\r\n <button nz-button nzType=\"default\" (click)=\"destroyTplModal()\">\r\n \u53D6\u6D88\r\n </button>\r\n <button nz-button nzType=\"primary\" (click)=\"saveSeq()\">\r\n \u4FDD\u5B58\u987A\u5E8F\r\n </button>\r\n</ng-template>\r\n\r\n\r\n", styles: ["i[nz-icon]{font-size:32px;color:#999}.ant-upload-text{margin-top:8px;color:#666}.img-div{padding:8px;border:1px solid #d9d9d9;border-radius:4px;margin-top:20px;display:flex;align-items:center;justify-content:space-between}:host .img-pre{display:inline-block;position:relative;margin-left:10px}:host .img-pre div{display:none;position:absolute;width:100%;height:100%;top:0;left:0;background:#0000006b;z-index:200;color:#fff;align-items:center;justify-content:center;font-size:16px}:host .img-pre div span{margin:10px;cursor:pointer}:host .img-pre:hover div{display:flex}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i4.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i5$1.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "directive", type: i10.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: i6$1.NzUploadComponent, selector: "nz-upload", inputs: ["nzType", "nzLimit", "nzSize", "nzFileType", "nzAccept", "nzAction", "nzDirectory", "nzOpenFileDialogOnClick", "nzBeforeUpload", "nzCustomRequest", "nzData", "nzFilter", "nzFileList", "nzDisabled", "nzHeaders", "nzListType", "nzMultiple", "nzName", "nzShowUploadList", "nzShowButton", "nzWithCredentials", "nzRemove", "nzPreview", "nzPreviewFile", "nzPreviewIsImage", "nzTransformFile", "nzDownload", "nzIconRender", "nzFileListRender"], outputs: ["nzChange", "nzFileListChange"], exportAs: ["nzUpload"] }, { kind: "component", type: i3$1.NzModalComponent, selector: "nz-modal", inputs: ["nzMask", "nzMaskClosable", "nzCloseOnNavigation", "nzVisible", "nzClosable", "nzOkLoading", "nzOkDisabled", "nzCancelDisabled", "nzCancelLoading", "nzKeyboard", "nzNoAnimation", "nzCentered", "nzDraggable", "nzContent", "nzFooter", "nzZIndex", "nzWidth", "nzWrapClassName", "nzClassName", "nzStyle", "nzTitle", "nzCloseIcon", "nzMaskStyle", "nzBodyStyle", "nzOkText", "nzCancelText", "nzOkType", "nzOkDanger", "nzIconType", "nzModalType", "nzAutofocus", "nzOnOk", "nzOnCancel"], outputs: ["nzOnOk", "nzOnCancel", "nzAfterOpen", "nzAfterClose", "nzVisibleChange"], exportAs: ["nzModal"] }, { kind: "component", type: VideoComponent, selector: "app-video", inputs: ["url"] }, { kind: "pipe", type: OssImgPipe, name: "ossImg" }] }); }
4185
4246
  }
4186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: UploadComponent, decorators: [{
4247
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: UploadComponent, decorators: [{
4187
4248
  type: Component,
4188
4249
  args: [{ standalone: false, selector: 'atr-img-upload', template: "<div class=\"clearfix\">\r\n <nz-upload\r\n *ngIf=\"opts && opts?.uploadType == 'drag'\"\r\n nzType=\"drag\"\r\n [nzAction]=\"\"\r\n [nzBeforeUpload]=\"opts.beforeUpload || beforeUpload\"\r\n [nzRemove]=\"remove\"\r\n [nzSize]=\"opts.nzSize || 0\"\r\n [nzCustomRequest]=\"opts.customReq || customReq\"\r\n (nzChange)=\"onChange($event)\"\r\n [nzType]=\"opts?.uploadType\"\r\n [nzAccept]=\"opts.nzFileType\"\r\n [nzLimit]=\"'1'\"\r\n >\r\n <p class=\"ant-upload-drag-icon\">\r\n <i nz-icon nzType=\"inbox\"></i>\r\n </p>\r\n <p class=\"ant-upload-text\">\u5355\u51FB\u6216\u62D6\u52A8\u6587\u4EF6\u5230\u6B64\u533A\u57DF\u4E0A\u4F20</p>\r\n </nz-upload>\r\n <nz-upload\r\n *ngIf=\"opts && opts?.uploadType == 'button'\"\r\n nzType=\"drag\"\r\n nzAction=\"\"\r\n [nzSize]=\"opts.nzSize || 0\"\r\n [nzShowUploadList]=\"showUploadList\"\r\n [nzBeforeUpload]=\"opts.beforeUpload || beforeUpload\"\r\n [nzRemove]=\"remove\"\r\n [nzCustomRequest]=\"opts.customReq || customReq\"\r\n (nzChange)=\"onChange($event)\"\r\n [nzType]=\"opts?.uploadType\"\r\n [nzAccept]=\"opts.nzFileType\"\r\n [nzLimit]=\"'1'\"\r\n >\r\n <button nz-button nzSize=\"small\"><i nz-icon nzType=\"upload\" style=\"font-size: 16px\"></i><span> {{opts.btnName}}</span></button>\r\n </nz-upload>\r\n <nz-upload\r\n *ngIf=\"opts && !opts?.uploadType \"\r\n nzAction=\"\"\r\n nzListType=\"picture-card\"\r\n [nzSize]=\"opts.nzSize || 0\"\r\n [(nzFileList)]=\"opts.imageList\"\r\n [nzShowButton]=\"opts.imageList.length < opts.limit\"\r\n [nzShowUploadList]=\"showUploadList\"\r\n [nzPreview]=\"handlePreview\"\r\n [nzRemove]=\"remove\"\r\n [nzBeforeUpload]=\"opts.beforeUpload || beforeUpload\"\r\n [nzCustomRequest]=\"opts.customReq || customReq\"\r\n (nzChange)=\"onChange($event)\"\r\n [nzType]=\"opts?.uploadType\"\r\n [nzAccept]=\"opts.nzFileType\"\r\n [nzDisabled]=\"!isEdit\"\r\n [nzLimit]=\"'1'\"\r\n [nzFileListRender]=\"opts && isEdit && allowChangSeq && opts.imageList.length > 0 ? fileListTmp : null\"\r\n >\r\n <i nz-icon nzType=\"plus\"></i>\r\n <div class=\"ant-upload-text\">{{opts.btnName?opts.btnName:'\u4E0A\u4F20\u56FE\u7247'}}</div>\r\n </nz-upload>\r\n <!-- <a *ngIf=\"allowChangSeq && isEdit && opts.imageList.length > 1\" (click)=\"openBannerSeq(imgsContent, tplFooter)\"\r\n style=\"margin-left: 10px; \"\r\n ><i nz-icon nzType=\"plus\" nzTheme=\"outline\" style=\"color: #1890ff; font-size: 15px\"></i>\u8C03\u6574\u56FE\u7247\u987A\u5E8F</a>-->\r\n <nz-modal\r\n [nzVisible]=\"previewVisible\"\r\n [nzContent]=\"modalContent\"\r\n [nzFooter]=\"null\"\r\n (nzOnCancel)=\"previewVisible = false\"\r\n >\r\n <ng-template #modalContent>\r\n <img *ngIf=\"!previewImage.endsWith('.mp4')\" [src]=\"previewImage\" [ngStyle]=\"{ width: '100%' }\"/>\r\n <div style=\"width: 100%;margin-top: 15px\">\r\n <app-video *ngIf=\"previewImage.endsWith('.mp4')\" [url]=\"previewImage\"></app-video>\r\n </div>\r\n </ng-template>\r\n </nz-modal>\r\n <ng-template #imgsContent>\r\n <ng-container *ngIf=\"opts && opts.imageList\">\r\n <ng-container *ngFor=\"let imgs of opts.imageList;let i = index\">\r\n <div class=\"img-div\">\r\n <img [src]=\"imgs.url || imgs.thumbUrl\" [ngStyle]=\"{ width: '100px',display: 'inline-block', margin:'10px' }\"/>\r\n <div style=\"margin-right: 20px\">\r\n <a title=\"\u4E0A\u79FB\" *ngIf=\" i > 0\" style=\"display: block;\" (click)=\"arrowUp(i)\"><i nz-icon nzType=\"arrow-up\"\r\n nzTheme=\"outline\"\r\n style=\"color: #1890ff; font-size: 15px;\"></i>\r\n \u4E0A\u79FB</a>\r\n <a title=\"\u4E0B\u79FB\" *ngIf=\" i < opts.imageList.length - 1\" (click)=\"arrowDown(i)\"><i nz-icon nzType=\"arrow-down\"\r\n nzTheme=\"outline\"\r\n style=\"color: #1890ff; font-size: 15px\"></i>\r\n \u4E0B\u79FB</a>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n\r\n </ng-template>\r\n <!-- </nz-modal>-->\r\n</div>\r\n<ng-template #fileListTmp>\r\n <div >\r\n <ng-container *ngFor=\"let imgs of opts.imageList;let i = index\">\r\n <div class=\"img-div img-pre\" style=\"\">\r\n <img [src]=\"getImgUrl(imgs) |ossImg\" [ngStyle]=\"{ width: '100px',display: 'inline-block', margin:'10px' }\"/>\r\n <div>\r\n <span (click)=\"priviewImg(imgs)\" nz-icon nzType=\"eye\" nzTheme=\"outline\"></span>\r\n <span (click)=\"delImg(i)\" nz-icon nzType=\"delete\" nzTheme=\"outline\"></span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n</ng-template>\r\n<ng-template #tplFooter>\r\n <button nz-button nzType=\"default\" (click)=\"destroyTplModal()\">\r\n \u53D6\u6D88\r\n </button>\r\n <button nz-button nzType=\"primary\" (click)=\"saveSeq()\">\r\n \u4FDD\u5B58\u987A\u5E8F\r\n </button>\r\n</ng-template>\r\n\r\n\r\n", styles: ["i[nz-icon]{font-size:32px;color:#999}.ant-upload-text{margin-top:8px;color:#666}.img-div{padding:8px;border:1px solid #d9d9d9;border-radius:4px;margin-top:20px;display:flex;align-items:center;justify-content:space-between}:host .img-pre{display:inline-block;position:relative;margin-left:10px}:host .img-pre div{display:none;position:absolute;width:100%;height:100%;top:0;left:0;background:#0000006b;z-index:200;color:#fff;align-items:center;justify-content:center;font-size:16px}:host .img-pre div span{margin:10px;cursor:pointer}:host .img-pre:hover div{display:flex}\n"] }]
4189
- }], ctorParameters: () => [{ type: i0.Injector }, { type: i1$3.NzImageService }, { type: i2.HttpClient }, { type: i3$2.NzModalService }], propDecorators: { opts: [{
4250
+ }], ctorParameters: () => [{ type: i0.Injector }, { type: i1$3.NzImageService }, { type: i2.HttpClient }, { type: i3$1.NzModalService }], propDecorators: { opts: [{
4190
4251
  type: Input
4191
4252
  }], isEdit: [{
4192
4253
  type: Input
@@ -4301,10 +4362,10 @@ class ShareService {
4301
4362
  }
4302
4363
  });
4303
4364
  }
4304
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ShareService, deps: [{ token: i1$5.NzDrawerService }, { token: HttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4305
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ShareService, providedIn: 'root' }); }
4365
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ShareService, deps: [{ token: i1$5.NzDrawerService }, { token: HttpService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4366
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ShareService, providedIn: 'root' }); }
4306
4367
  }
4307
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ShareService, decorators: [{
4368
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ShareService, decorators: [{
4308
4369
  type: Injectable,
4309
4370
  args: [{
4310
4371
  providedIn: 'root'
@@ -4362,17 +4423,17 @@ class SelectIconsComponent {
4362
4423
  writeValue(value) {
4363
4424
  this.value = value;
4364
4425
  }
4365
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SelectIconsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4366
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: SelectIconsComponent, isStandalone: false, selector: "app-select-icons", inputs: { readonly: "readonly", placeholder: "placeholder" }, providers: [
4426
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SelectIconsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
4427
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: SelectIconsComponent, isStandalone: false, selector: "app-select-icons", inputs: { readonly: "readonly", placeholder: "placeholder" }, providers: [
4367
4428
  UploadOssService,
4368
4429
  {
4369
4430
  provide: NG_VALUE_ACCESSOR,
4370
4431
  useExisting: forwardRef(() => SelectIconsComponent),
4371
4432
  multi: true
4372
4433
  }
4373
- ], ngImport: i0, template: "<div style=\"display:flex;\">\n <input [(ngModel)]=\"value\"\n (ngModelChange)=\"valueChange($event)\"\n nz-input\n nzType=\"primary\" nzPopoverPlacement=\"bottom\"\n [placeholder]=\"placeholder\"\n [readOnly]=\"readonly\"/>\n <button nz-button nz-popover nzType=\"primary\"\n [(nzPopoverVisible)]=\"showProp\" nzPopoverTrigger=\"click\"\n (nzPopoverVisibleChange)=\"change($event)\"\n [nzPopoverContent]=\"contentTemplate\">\u9009\u62E9\u56FE\u6807</button>\n</div>\n<ng-template #contentTemplate>\n <div style=\"width: 100%;height: 300px;overflow-y: auto\">\n <span (click)=\"selectIcon(item)\" class=\"i-child\" *ngFor=\"let item of icons\">\n <i nz-icon [nzType]=\"item\" nzTheme=\"outline\"></i>\n </span>\n\n </div>\n</ng-template>\n", styles: [".i-child{font-size:1.2rem;margin:.5rem;cursor:pointer;padding:.5rem}.i-child:hover{color:#fff;background-color:#1890ff}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.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: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$1.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i3.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i5$1.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "directive", type: i8$1.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i9.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzVariant", "nzSize", "nzStepperless", "nzStatus", "disabled", "readonly"], exportAs: ["nzInput"] }, { kind: "directive", type: i9$1.NzPopoverDirective, selector: "[nz-popover]", inputs: ["nzPopoverArrowPointAtCenter", "nzPopoverTitle", "nzPopoverTitleContext", "nzPopoverContent", "nzPopoverContentContext", "nz-popover", "nzPopoverTrigger", "nzPopoverPlacement", "nzPopoverOrigin", "nzPopoverVisible", "nzPopoverMouseEnterDelay", "nzPopoverMouseLeaveDelay", "nzPopoverOverlayClassName", "nzPopoverOverlayStyle", "nzPopoverOverlayClickable", "nzPopoverBackdrop"], outputs: ["nzPopoverVisibleChange"], exportAs: ["nzPopover"] }] }); }
4434
+ ], ngImport: i0, template: "<div style=\"display:flex;\">\r\n <input [(ngModel)]=\"value\"\r\n (ngModelChange)=\"valueChange($event)\"\r\n nz-input\r\n nzType=\"primary\" nzPopoverPlacement=\"bottom\"\r\n [placeholder]=\"placeholder\"\r\n [readOnly]=\"readonly\"/>\r\n <button nz-button nz-popover nzType=\"primary\"\r\n [(nzPopoverVisible)]=\"showProp\" nzPopoverTrigger=\"click\"\r\n (nzPopoverVisibleChange)=\"change($event)\"\r\n [nzPopoverContent]=\"contentTemplate\">\u9009\u62E9\u56FE\u6807</button>\r\n</div>\r\n<ng-template #contentTemplate>\r\n <div style=\"width: 100%;height: 300px;overflow-y: auto\">\r\n <span (click)=\"selectIcon(item)\" class=\"i-child\" *ngFor=\"let item of icons\">\r\n <i nz-icon [nzType]=\"item\" nzTheme=\"outline\"></i>\r\n </span>\r\n\r\n </div>\r\n</ng-template>\r\n", styles: [".i-child{font-size:1.2rem;margin:.5rem;cursor:pointer;padding:.5rem}.i-child:hover{color:#fff;background-color:#1890ff}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.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: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i4.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i5$1.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "directive", type: i10.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i11.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzVariant", "nzSize", "nzStepperless", "nzStatus", "disabled", "readonly"], exportAs: ["nzInput"] }, { kind: "directive", type: i9.NzPopoverDirective, selector: "[nz-popover]", inputs: ["nzPopoverArrowPointAtCenter", "nzPopoverTitle", "nzPopoverTitleContext", "nzPopoverContent", "nzPopoverContentContext", "nz-popover", "nzPopoverTrigger", "nzPopoverPlacement", "nzPopoverOrigin", "nzPopoverVisible", "nzPopoverMouseEnterDelay", "nzPopoverMouseLeaveDelay", "nzPopoverOverlayClassName", "nzPopoverOverlayStyle", "nzPopoverOverlayClickable", "nzPopoverBackdrop"], outputs: ["nzPopoverVisibleChange"], exportAs: ["nzPopover"] }] }); }
4374
4435
  }
4375
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SelectIconsComponent, decorators: [{
4436
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SelectIconsComponent, decorators: [{
4376
4437
  type: Component,
4377
4438
  args: [{ standalone: false, selector: 'app-select-icons', providers: [
4378
4439
  UploadOssService,
@@ -4381,7 +4442,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
4381
4442
  useExisting: forwardRef(() => SelectIconsComponent),
4382
4443
  multi: true
4383
4444
  }
4384
- ], template: "<div style=\"display:flex;\">\n <input [(ngModel)]=\"value\"\n (ngModelChange)=\"valueChange($event)\"\n nz-input\n nzType=\"primary\" nzPopoverPlacement=\"bottom\"\n [placeholder]=\"placeholder\"\n [readOnly]=\"readonly\"/>\n <button nz-button nz-popover nzType=\"primary\"\n [(nzPopoverVisible)]=\"showProp\" nzPopoverTrigger=\"click\"\n (nzPopoverVisibleChange)=\"change($event)\"\n [nzPopoverContent]=\"contentTemplate\">\u9009\u62E9\u56FE\u6807</button>\n</div>\n<ng-template #contentTemplate>\n <div style=\"width: 100%;height: 300px;overflow-y: auto\">\n <span (click)=\"selectIcon(item)\" class=\"i-child\" *ngFor=\"let item of icons\">\n <i nz-icon [nzType]=\"item\" nzTheme=\"outline\"></i>\n </span>\n\n </div>\n</ng-template>\n", styles: [".i-child{font-size:1.2rem;margin:.5rem;cursor:pointer;padding:.5rem}.i-child:hover{color:#fff;background-color:#1890ff}\n"] }]
4445
+ ], template: "<div style=\"display:flex;\">\r\n <input [(ngModel)]=\"value\"\r\n (ngModelChange)=\"valueChange($event)\"\r\n nz-input\r\n nzType=\"primary\" nzPopoverPlacement=\"bottom\"\r\n [placeholder]=\"placeholder\"\r\n [readOnly]=\"readonly\"/>\r\n <button nz-button nz-popover nzType=\"primary\"\r\n [(nzPopoverVisible)]=\"showProp\" nzPopoverTrigger=\"click\"\r\n (nzPopoverVisibleChange)=\"change($event)\"\r\n [nzPopoverContent]=\"contentTemplate\">\u9009\u62E9\u56FE\u6807</button>\r\n</div>\r\n<ng-template #contentTemplate>\r\n <div style=\"width: 100%;height: 300px;overflow-y: auto\">\r\n <span (click)=\"selectIcon(item)\" class=\"i-child\" *ngFor=\"let item of icons\">\r\n <i nz-icon [nzType]=\"item\" nzTheme=\"outline\"></i>\r\n </span>\r\n\r\n </div>\r\n</ng-template>\r\n", styles: [".i-child{font-size:1.2rem;margin:.5rem;cursor:pointer;padding:.5rem}.i-child:hover{color:#fff;background-color:#1890ff}\n"] }]
4385
4446
  }], ctorParameters: () => [], propDecorators: { readonly: [{
4386
4447
  type: Input
4387
4448
  }], placeholder: [{
@@ -4540,10 +4601,10 @@ class ViewFormComponent {
4540
4601
  }
4541
4602
  return imgs.split(',');
4542
4603
  }
4543
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ViewFormComponent, deps: [{ token: i0.Injector }, { token: LOCALE_ID }, { token: HttpService }], target: i0.ɵɵFactoryTarget.Component }); }
4544
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: ViewFormComponent, isStandalone: false, selector: "atr-view-form", inputs: { formOpts: "formOpts", atrForm: "atrForm", dicts: "dicts", title: "title", size: "size", items: "items" }, ngImport: i0, template: "<nz-descriptions nzBordered [nzColon]=\"true\" [nzColumn]=\"24\" [nzTitle]=\"title\" [nzSize]=\"size\">\r\n <ng-container *ngFor=\"let item of formOpts.items\">\r\n <ng-container *ngIf=\"!item.isHidden\">\r\n <div class=\"form-title\" *ngIf=\"item.type == 'title'\">\r\n {{item.label}}\r\n </div>\r\n <nz-descriptions-item [nzTitle]=\"item.label\" [ngSwitch]=\"item.type\"\r\n *ngIf=\"isShow(item.isHidden,item.operator)\"\r\n [nzSpan]=\"item.span || 6\">\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <ng-container *ngFor=\"let o of item.dictList\">\r\n <label *ngIf=\"o.value == atrForm.value[item.key]\">{{o.label}}</label>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'treeSelect'\">\r\n <nz-tree-select\r\n [nzNodes]=\"item.treeList\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n [(ngModel)]=\"atrForm.value[item.key]\"\r\n [nzDisabled]=\"true\"\r\n >\r\n </nz-tree-select>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'select'\">\r\n {{getSelectLabel(atrForm.value[item.key],dicts[item.dictCode])}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'selectCus'\">\r\n {{getSelectLabel(atrForm.value[item.key],item.dictList)}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'selectc'\">\r\n {{getSelectCLabel(atrForm.value[item.key],item.dictList,'value','label')}}\r\n<!-- <nz-select-->\r\n<!-- [nzDisabled]=\"true\"-->\r\n<!-- [(ngModel)]=\"atrForm.value[item.key]\"-->\r\n<!-- >-->\r\n<!-- <nz-option *ngFor=\"let o of item.dictList\" [nzLabel]=\"o.label\"-->\r\n<!-- [nzValue]=\"o.value\"></nz-option>-->\r\n<!-- </nz-select>-->\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'sceneUser'\">\r\n <nz-select\r\n [nzDisabled]=\"true\"\r\n [(ngModel)]=\"atrForm.value[item.key]\"\r\n >\r\n <nz-option *ngFor=\"let o of item.dictList\" [nzLabel]=\"o.title\"\r\n [nzValue]=\"o.key\"></nz-option>\r\n </nz-select>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n {{atrForm.value[item.key]}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n {{atrForm.value[item.key] | date:(item.dateFormat || 'yyyy-MM-dd')}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dateTime'\">\r\n {{atrForm.value[item.key] | date:(item.dateFormat || 'yyyy-MM-dd 00:00:00')}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'cascader'\">\r\n <ng-container *ngFor=\"let data of atrForm.value[item.key] ;let i = index\">\r\n {{i>0?\"/\":\"\"}}{{data.lable}}\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'tags'\">\r\n {{getTagLabel(atrForm.value[item.key], 'name')}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <ng-container *ngFor=\"let img of getImgs(atrForm.value[item.key])\">\r\n <div>\r\n <img *ngIf=\"!img.endsWith('.mp4')\" nz-image style=\"max-width: 200px;max-height: 200px\" [nzSrc]=\"img | ossImg\">\r\n <app-video *ngIf=\"img.endsWith('.mp4')\" style=\"max-width: 200px;max-height: 200px\" [url]=\"img | ossImg\"></app-video>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'rate'\">\r\n <nz-rate [nzDisabled]=\"true\"\r\n [(ngModel)]=\"atrForm.value[item.key]\"></nz-rate>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'editor'\">\r\n <div>\r\n\u5BCC\u6587\u672C\u6682\u4E0D\u652F\u6301\r\n </div>\r\n </ng-container>\r\n\r\n </nz-descriptions-item>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n</nz-descriptions>\r\n", styles: [":host img{max-width:200px;max-height:200px}:host .form-title{height:50px;line-height:50px;font-weight:500;font-size:20px;border-bottom:1px solid #e8e8e8;border-radius:4px 4px 0 0;margin-bottom:14px;margin-top:11px}:host ::ng-deep .ant-descriptions-header{display:flex;align-items:center;margin-bottom:0;line-height:50px;height:50px;padding-left:10px}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$1.NzDescriptionsComponent, selector: "nz-descriptions", inputs: ["nzBordered", "nzLayout", "nzColumn", "nzSize", "nzTitle", "nzExtra", "nzColon"], exportAs: ["nzDescriptions"] }, { kind: "component", type: i4$1.NzDescriptionsItemComponent, selector: "nz-descriptions-item", inputs: ["nzSpan", "nzTitle"], exportAs: ["nzDescriptionsItem"] }, { kind: "component", type: i5$2.NzRateComponent, selector: "nz-rate", inputs: ["nzAllowClear", "nzAllowHalf", "nzDisabled", "nzAutoFocus", "nzCharacter", "nzCount", "nzTooltips"], outputs: ["nzOnBlur", "nzOnFocus", "nzOnHoverChange", "nzOnKeyDown"], exportAs: ["nzRate"] }, { kind: "component", type: i10.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i10.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzVariant", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzPrefix", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus", "nzOnClear"], exportAs: ["nzSelect"] }, { kind: "component", type: i11.NzTreeSelectComponent, selector: "nz-tree-select", inputs: ["nzId", "nzAllowClear", "nzShowExpand", "nzShowLine", "nzDropdownMatchSelectWidth", "nzCheckable", "nzHideUnMatched", "nzShowIcon", "nzShowSearch", "nzDisabled", "nzAsyncData", "nzMultiple", "nzDefaultExpandAll", "nzCheckStrictly", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualHeight", "nzExpandedIcon", "nzNotFoundContent", "nzNodes", "nzOpen", "nzSize", "nzVariant", "nzPlaceHolder", "nzDropdownStyle", "nzDropdownClassName", "nzBackdrop", "nzStatus", "nzPlacement", "nzExpandedKeys", "nzPrefix", "nzSuffixIcon", "nzDisplayWith", "nzMaxTagCount", "nzMaxTagPlaceholder", "nzTreeTemplate"], outputs: ["nzOpenChange", "nzCleared", "nzRemoved", "nzExpandChange", "nzTreeClick", "nzTreeCheckboxChange"], exportAs: ["nzTreeSelect"] }, { kind: "directive", type: i1$3.NzImageDirective, selector: "img[nz-image]", inputs: ["nzSrc", "nzSrcset", "nzDisablePreview", "nzFallback", "nzPlaceholder", "nzScaleStep"], exportAs: ["nzImage"] }, { kind: "component", type: VideoComponent, selector: "app-video", inputs: ["url"] }, { kind: "pipe", type: OssImgPipe, name: "ossImg" }, { kind: "pipe", type: i2$1.DatePipe, name: "date" }] }); }
4604
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ViewFormComponent, deps: [{ token: i0.Injector }, { token: LOCALE_ID }, { token: HttpService }], target: i0.ɵɵFactoryTarget.Component }); }
4605
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: ViewFormComponent, isStandalone: false, selector: "atr-view-form", inputs: { formOpts: "formOpts", atrForm: "atrForm", dicts: "dicts", title: "title", size: "size", items: "items" }, ngImport: i0, template: "<nz-descriptions nzBordered [nzColon]=\"true\" [nzColumn]=\"24\" [nzTitle]=\"title\" [nzSize]=\"size\">\r\n <ng-container *ngFor=\"let item of formOpts.items\">\r\n <ng-container *ngIf=\"!item.isHidden\">\r\n <div class=\"form-title\" *ngIf=\"item.type == 'title'\">\r\n {{item.label}}\r\n </div>\r\n <nz-descriptions-item [nzTitle]=\"item.label\" [ngSwitch]=\"item.type\"\r\n *ngIf=\"isShow(item.isHidden,item.operator)\"\r\n [nzSpan]=\"item.span || 6\">\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <ng-container *ngFor=\"let o of item.dictList\">\r\n <label *ngIf=\"o.value == atrForm.value[item.key]\">{{o.label}}</label>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'treeSelect'\">\r\n <nz-tree-select\r\n [nzNodes]=\"item.treeList\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n [(ngModel)]=\"atrForm.value[item.key]\"\r\n [nzDisabled]=\"true\"\r\n >\r\n </nz-tree-select>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'select'\">\r\n {{getSelectLabel(atrForm.value[item.key],dicts[item.dictCode])}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'selectCus'\">\r\n {{getSelectLabel(atrForm.value[item.key],item.dictList)}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'selectc'\">\r\n {{getSelectCLabel(atrForm.value[item.key],item.dictList,'value','label')}}\r\n<!-- <nz-select-->\r\n<!-- [nzDisabled]=\"true\"-->\r\n<!-- [(ngModel)]=\"atrForm.value[item.key]\"-->\r\n<!-- >-->\r\n<!-- <nz-option *ngFor=\"let o of item.dictList\" [nzLabel]=\"o.label\"-->\r\n<!-- [nzValue]=\"o.value\"></nz-option>-->\r\n<!-- </nz-select>-->\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'sceneUser'\">\r\n <nz-select\r\n [nzDisabled]=\"true\"\r\n [(ngModel)]=\"atrForm.value[item.key]\"\r\n >\r\n <nz-option *ngFor=\"let o of item.dictList\" [nzLabel]=\"o.title\"\r\n [nzValue]=\"o.key\"></nz-option>\r\n </nz-select>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n {{atrForm.value[item.key]}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n {{atrForm.value[item.key] | date:(item.dateFormat || 'yyyy-MM-dd')}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dateTime'\">\r\n {{atrForm.value[item.key] | date:(item.dateFormat || 'yyyy-MM-dd 00:00:00')}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'cascader'\">\r\n <ng-container *ngFor=\"let data of atrForm.value[item.key] ;let i = index\">\r\n {{i>0?\"/\":\"\"}}{{data.lable}}\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'tags'\">\r\n {{getTagLabel(atrForm.value[item.key], 'name')}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <ng-container *ngFor=\"let img of getImgs(atrForm.value[item.key])\">\r\n <div>\r\n <img *ngIf=\"!img.endsWith('.mp4')\" nz-image style=\"max-width: 200px;max-height: 200px\" [nzSrc]=\"img | ossImg\">\r\n <app-video *ngIf=\"img.endsWith('.mp4')\" style=\"max-width: 200px;max-height: 200px\" [url]=\"img | ossImg\"></app-video>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'rate'\">\r\n <nz-rate [nzDisabled]=\"true\"\r\n [(ngModel)]=\"atrForm.value[item.key]\"></nz-rate>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'editor'\">\r\n <div>\r\n\u5BCC\u6587\u672C\u6682\u4E0D\u652F\u6301\r\n </div>\r\n </ng-container>\r\n\r\n </nz-descriptions-item>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n</nz-descriptions>\r\n", styles: [":host img{max-width:200px;max-height:200px}:host .form-title{height:50px;line-height:50px;font-weight:500;font-size:20px;border-bottom:1px solid #e8e8e8;border-radius:4px 4px 0 0;margin-bottom:14px;margin-top:11px}:host ::ng-deep .ant-descriptions-header{display:flex;align-items:center;margin-bottom:0;line-height:50px;height:50px;padding-left:10px}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$1.NzDescriptionsComponent, selector: "nz-descriptions", inputs: ["nzBordered", "nzLayout", "nzColumn", "nzSize", "nzTitle", "nzExtra", "nzColon"], exportAs: ["nzDescriptions"] }, { kind: "component", type: i4$1.NzDescriptionsItemComponent, selector: "nz-descriptions-item", inputs: ["nzSpan", "nzTitle"], exportAs: ["nzDescriptionsItem"] }, { kind: "component", type: i5$2.NzRateComponent, selector: "nz-rate", inputs: ["nzAllowClear", "nzAllowHalf", "nzDisabled", "nzAutoFocus", "nzCharacter", "nzCount", "nzTooltips"], outputs: ["nzOnBlur", "nzOnFocus", "nzOnHoverChange", "nzOnKeyDown"], exportAs: ["nzRate"] }, { kind: "component", type: i13.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i13.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzVariant", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzPrefix", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus", "nzOnClear"], exportAs: ["nzSelect"] }, { kind: "component", type: i14$1.NzTreeSelectComponent, selector: "nz-tree-select", inputs: ["nzId", "nzAllowClear", "nzShowExpand", "nzShowLine", "nzDropdownMatchSelectWidth", "nzCheckable", "nzHideUnMatched", "nzShowIcon", "nzShowSearch", "nzDisabled", "nzAsyncData", "nzMultiple", "nzDefaultExpandAll", "nzCheckStrictly", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualHeight", "nzExpandedIcon", "nzNotFoundContent", "nzNodes", "nzOpen", "nzSize", "nzVariant", "nzPlaceHolder", "nzDropdownStyle", "nzDropdownClassName", "nzBackdrop", "nzStatus", "nzPlacement", "nzExpandedKeys", "nzPrefix", "nzSuffixIcon", "nzDisplayWith", "nzMaxTagCount", "nzMaxTagPlaceholder", "nzTreeTemplate"], outputs: ["nzOpenChange", "nzCleared", "nzRemoved", "nzExpandChange", "nzTreeClick", "nzTreeCheckboxChange"], exportAs: ["nzTreeSelect"] }, { kind: "directive", type: i1$3.NzImageDirective, selector: "img[nz-image]", inputs: ["nzSrc", "nzSrcset", "nzDisablePreview", "nzFallback", "nzPlaceholder", "nzScaleStep"], exportAs: ["nzImage"] }, { kind: "component", type: VideoComponent, selector: "app-video", inputs: ["url"] }, { kind: "pipe", type: OssImgPipe, name: "ossImg" }, { kind: "pipe", type: i2$1.DatePipe, name: "date" }] }); }
4545
4606
  }
4546
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ViewFormComponent, decorators: [{
4607
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ViewFormComponent, decorators: [{
4547
4608
  type: Component,
4548
4609
  args: [{ standalone: false, selector: 'atr-view-form', template: "<nz-descriptions nzBordered [nzColon]=\"true\" [nzColumn]=\"24\" [nzTitle]=\"title\" [nzSize]=\"size\">\r\n <ng-container *ngFor=\"let item of formOpts.items\">\r\n <ng-container *ngIf=\"!item.isHidden\">\r\n <div class=\"form-title\" *ngIf=\"item.type == 'title'\">\r\n {{item.label}}\r\n </div>\r\n <nz-descriptions-item [nzTitle]=\"item.label\" [ngSwitch]=\"item.type\"\r\n *ngIf=\"isShow(item.isHidden,item.operator)\"\r\n [nzSpan]=\"item.span || 6\">\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <ng-container *ngFor=\"let o of item.dictList\">\r\n <label *ngIf=\"o.value == atrForm.value[item.key]\">{{o.label}}</label>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'treeSelect'\">\r\n <nz-tree-select\r\n [nzNodes]=\"item.treeList\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n [(ngModel)]=\"atrForm.value[item.key]\"\r\n [nzDisabled]=\"true\"\r\n >\r\n </nz-tree-select>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'select'\">\r\n {{getSelectLabel(atrForm.value[item.key],dicts[item.dictCode])}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'selectCus'\">\r\n {{getSelectLabel(atrForm.value[item.key],item.dictList)}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'selectc'\">\r\n {{getSelectCLabel(atrForm.value[item.key],item.dictList,'value','label')}}\r\n<!-- <nz-select-->\r\n<!-- [nzDisabled]=\"true\"-->\r\n<!-- [(ngModel)]=\"atrForm.value[item.key]\"-->\r\n<!-- >-->\r\n<!-- <nz-option *ngFor=\"let o of item.dictList\" [nzLabel]=\"o.label\"-->\r\n<!-- [nzValue]=\"o.value\"></nz-option>-->\r\n<!-- </nz-select>-->\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'sceneUser'\">\r\n <nz-select\r\n [nzDisabled]=\"true\"\r\n [(ngModel)]=\"atrForm.value[item.key]\"\r\n >\r\n <nz-option *ngFor=\"let o of item.dictList\" [nzLabel]=\"o.title\"\r\n [nzValue]=\"o.key\"></nz-option>\r\n </nz-select>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n {{atrForm.value[item.key]}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n {{atrForm.value[item.key] | date:(item.dateFormat || 'yyyy-MM-dd')}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'dateTime'\">\r\n {{atrForm.value[item.key] | date:(item.dateFormat || 'yyyy-MM-dd 00:00:00')}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'cascader'\">\r\n <ng-container *ngFor=\"let data of atrForm.value[item.key] ;let i = index\">\r\n {{i>0?\"/\":\"\"}}{{data.lable}}\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'tags'\">\r\n {{getTagLabel(atrForm.value[item.key], 'name')}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <ng-container *ngFor=\"let img of getImgs(atrForm.value[item.key])\">\r\n <div>\r\n <img *ngIf=\"!img.endsWith('.mp4')\" nz-image style=\"max-width: 200px;max-height: 200px\" [nzSrc]=\"img | ossImg\">\r\n <app-video *ngIf=\"img.endsWith('.mp4')\" style=\"max-width: 200px;max-height: 200px\" [url]=\"img | ossImg\"></app-video>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'rate'\">\r\n <nz-rate [nzDisabled]=\"true\"\r\n [(ngModel)]=\"atrForm.value[item.key]\"></nz-rate>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'editor'\">\r\n <div>\r\n\u5BCC\u6587\u672C\u6682\u4E0D\u652F\u6301\r\n </div>\r\n </ng-container>\r\n\r\n </nz-descriptions-item>\r\n </ng-container>\r\n\r\n </ng-container>\r\n\r\n</nz-descriptions>\r\n", styles: [":host img{max-width:200px;max-height:200px}:host .form-title{height:50px;line-height:50px;font-weight:500;font-size:20px;border-bottom:1px solid #e8e8e8;border-radius:4px 4px 0 0;margin-bottom:14px;margin-top:11px}:host ::ng-deep .ant-descriptions-header{display:flex;align-items:center;margin-bottom:0;line-height:50px;height:50px;padding-left:10px}\n"] }]
4549
4610
  }], ctorParameters: () => [{ type: i0.Injector }, { type: undefined, decorators: [{
@@ -4658,6 +4719,21 @@ class EditorComponent {
4658
4719
  },
4659
4720
  ...this.editorConfig
4660
4721
  };
4722
+ this.defaultEditorConfig = this.editorConfig;
4723
+ }
4724
+ ngOnInit() {
4725
+ const customConfig = this.editorConfig || {};
4726
+ const defaultSetup = this.defaultEditorConfig.setup;
4727
+ const customSetup = customConfig.setup;
4728
+ this.editorConfig = {
4729
+ ...this.defaultEditorConfig,
4730
+ ...customConfig,
4731
+ setup: (editor) => {
4732
+ defaultSetup(editor);
4733
+ if (customSetup && customSetup !== defaultSetup)
4734
+ customSetup(editor);
4735
+ }
4736
+ };
4661
4737
  }
4662
4738
  ngAfterViewInit() {
4663
4739
  // 确保 TinyMCE 已加载
@@ -4726,7 +4802,7 @@ class EditorComponent {
4726
4802
  }
4727
4803
  setDisabledState(isDisabled) {
4728
4804
  if (this.editor) {
4729
- this.editor.setMode(isDisabled ? 'readonly' : 'design');
4805
+ this.editor.mode.set(isDisabled ? 'readonly' : 'design');
4730
4806
  }
4731
4807
  }
4732
4808
  // 编辑器内容变化时的处理
@@ -4747,16 +4823,16 @@ class EditorComponent {
4747
4823
  this.editor = null;
4748
4824
  }
4749
4825
  }
4750
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: EditorComponent, deps: [{ token: UploadOssService }], target: i0.ɵɵFactoryTarget.Component }); }
4751
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: EditorComponent, isStandalone: false, selector: "app-editor", inputs: { value: "value", editorConfig: "editorConfig", imgDir: "imgDir" }, providers: [
4826
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EditorComponent, deps: [{ token: UploadOssService }], target: i0.ɵɵFactoryTarget.Component }); }
4827
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: EditorComponent, isStandalone: false, selector: "app-editor", inputs: { value: "value", editorConfig: "editorConfig", imgDir: "imgDir" }, providers: [
4752
4828
  {
4753
4829
  provide: NG_VALUE_ACCESSOR,
4754
4830
  useExisting: forwardRef(() => EditorComponent),
4755
4831
  multi: true
4756
4832
  }
4757
- ], ngImport: i0, template: "<editor\r\n [init]=\"editorConfig\"\r\n [(ngModel)]=\"value\"\r\n [apiKey]=\"apiKey_editor\"\r\n name=\"editor\"\r\n (onChange)=\"onEditorChange($event)\"\r\n></editor>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$3.EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "licenseKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "readonly", "disabled"] }] }); }
4833
+ ], ngImport: i0, template: "<editor\r\n [init]=\"editorConfig\"\r\n [(ngModel)]=\"value\"\r\n [apiKey]=\"apiKey_editor\"\r\n [licenseKey]=\"editorConfig?.license_key\"\r\n name=\"editor\"\r\n (ngModelChange)=\"onEditorChange($event)\"\r\n></editor>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3$2.EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "licenseKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "readonly", "disabled"] }] }); }
4758
4834
  }
4759
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: EditorComponent, decorators: [{
4835
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EditorComponent, decorators: [{
4760
4836
  type: Component,
4761
4837
  args: [{ selector: 'app-editor', standalone: false, providers: [
4762
4838
  {
@@ -4764,7 +4840,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
4764
4840
  useExisting: forwardRef(() => EditorComponent),
4765
4841
  multi: true
4766
4842
  }
4767
- ], template: "<editor\r\n [init]=\"editorConfig\"\r\n [(ngModel)]=\"value\"\r\n [apiKey]=\"apiKey_editor\"\r\n name=\"editor\"\r\n (onChange)=\"onEditorChange($event)\"\r\n></editor>\r\n" }]
4843
+ ], template: "<editor\r\n [init]=\"editorConfig\"\r\n [(ngModel)]=\"value\"\r\n [apiKey]=\"apiKey_editor\"\r\n [licenseKey]=\"editorConfig?.license_key\"\r\n name=\"editor\"\r\n (ngModelChange)=\"onEditorChange($event)\"\r\n></editor>\r\n" }]
4768
4844
  }], ctorParameters: () => [{ type: UploadOssService }], propDecorators: { value: [{
4769
4845
  type: Input
4770
4846
  }], editorConfig: [{
@@ -5354,12 +5430,12 @@ class AtrFormComponent {
5354
5430
  }
5355
5431
  return false;
5356
5432
  }
5357
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AtrFormComponent, deps: [{ token: ShareService }, { token: HttpService }, { token: i1$2.UntypedFormBuilder }, { token: DictService }, { token: i0.Injector }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Component }); }
5358
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: AtrFormComponent, isStandalone: false, selector: "atr-form", inputs: { formOpts: "formOpts", viewTitle: "viewTitle", viewSize: "viewSize" }, outputs: { formAction: "formAction", uploadAction: "uploadAction" }, ngImport: i0, template: "<atr-view-form *ngIf=\"formOpts.type == 'view'\" [dicts]=\"dicts\" [atrForm]=\"atrForm\" [title]=\"viewTitle\"\r\n [formOpts]=\"formOpts\" [size]=\"viewSize\"></atr-view-form>\r\n\r\n<form nz-form [formGroup]=\"atrForm\" *ngIf=\"formOpts.type != 'view'\">\r\n <div nz-row nzGutter=\"8\" nzType=\"flex\" nzAlign=\"top\">\r\n <ng-container *ngFor=\"let item of formOpts.items\">\r\n <div nz-col nzSpan=\"24\" class=\"form-title\" *ngIf=\"item.type == 'title'\">\r\n {{item.label}}\r\n </div>\r\n <div nz-col [nzSpan]=\"item.span\" *ngIf=\"isShow(item.isHidden,item.operator)\">\r\n <ng-content *ngTemplateOutlet=\"item.firstTemp\"></ng-content>\r\n <nz-form-item *ngIf=\"item.type != 'title'\">\r\n <nz-form-label [nzSm]=\"item.lspan\" [nzXs]=\"24\" [nzRequired]=\"isRequired(item)\">{{item.label}}</nz-form-label>\r\n <nz-form-control [nzSm]=\"item.cspan\" [nzXs]=\"24\">\r\n <div style=\"display: flex;width: 100%\">\r\n <nz-tree-select *ngIf=\"item.type == 'treeSelect' && item.treeList\"\r\n [nzNodes]=\"item.treeList\"\r\n [nzDefaultExpandAll]=\"item.expandAll\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n [nzShowSearch]=\"true\"\r\n [formControlName]=\"item.key\"\r\n [nzAllowClear]=\"!item.notNull\"\r\n [nzMultiple]=\"item.selectUrl.isMultiple\"\r\n [nzDisabled]=\"item.readonly\"\r\n (ngModelChange)=\"formChange($event,item)\"\r\n nzVirtualHeight=\"330px\"\r\n style=\"flex: 1\"\r\n >\r\n </nz-tree-select>\r\n <nz-color-picker *ngIf=\"item.type == 'color'\" [formControlName]=\"item.key\"\r\n (ngModelChange)=\"formChange($event,item)\"\r\n [nzDisabled]=\"item.readonly\"></nz-color-picker>\r\n <!-- <nz-tree-select *ngIf=\"item.type == 'treeSelect'\"\r\n [nzAllowClear]=\"!item.notNull\"\r\n [nzNodes]=\"item.treeList\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n [nzShowSearch]=\"true\"\r\n [formControlName]=\"item.key\"\r\n [nzMultiple]=\"item.selectUrl.isMultiple\"\r\n [nzDisabled]=\"item.readonly\" style=\"flex: 1\"\r\n >\r\n </nz-tree-select> -->\r\n <app-select-icons *ngIf=\"item.type == 'selectIcon'\" nz-input placeholder=\"{{item.placeholder}}\"\r\n [readonly]=\"item.readonly \"\r\n style=\"flex: 1\"\r\n [formControlName]=\"item.key\">\r\n </app-select-icons>\r\n <input *ngIf=\"item.type == 'text'\" nz-input placeholder=\"{{item.placeholder}}\"\r\n (ngModelChange)=\"formChange($event,item)\"\r\n [readonly]=\"item.readonly || formOpts.type == 'view'\"\r\n [formControlName]=\"item.key\"/>\r\n <nz-switch *ngIf=\"item.type == 'switch'\" [formControlName]=\"item.key\"\r\n [nzDisabled]=\"item.readonly || formOpts.type == 'view'\"\r\n (ngModelChange)=\"formChange($event,item)\" [nzCheckedChildren]=\"item.nzCheckedChildren\"\r\n [nzUnCheckedChildren]=\"item.nzUnCheckedChildren\"></nz-switch>\r\n\r\n <textarea *ngIf=\"item.type == 'textarea'\" nz-input [rows]=\"item.rows\" placeholder=\"{{item.placeholder}}\"\r\n [formControlName]=\"item.key\" [readonly]=\"item.readonly|| formOpts.type == 'view'\"></textarea>\r\n <nz-input-number *ngIf=\"item.type == 'number'\" nzPlaceHolder=\"{{item.placeholder}}\"\r\n (ngModelChange)=\"formChange($event,item)\"\r\n [nzFormatter]=\"item.dateFormat || defNumFormat\"\r\n [nzStep]=\"item.nzStep || 1\" [nzPrecision]=\"item.nzPrecision || 0\"\r\n [nzMin]=\"item.minNumber\" [nzMax]=\"item.maxNumber\"\r\n [formControlName]=\"item.key\"></nz-input-number>\r\n <nz-radio-group *ngIf=\"item.type == 'radio'\" [formControlName]=\"item.key\">\r\n <label nz-radio *ngFor=\"let o of item.dictList\" [nzValue]=\"o.value\">{{o.label}}</label>\r\n </nz-radio-group>\r\n <nz-checkbox-wrapper *ngIf=\"item.type == 'checkbox'\" [formControlName]=\"item.key\">\r\n <div nz-row>\r\n <div *ngFor=\"let o of item.dictList\" nz-col>\r\n <label nz-checkbox [nzValue]=\"o.value\">{{o.label}}</label></div>\r\n </div>\r\n </nz-checkbox-wrapper>\r\n <nz-select\r\n [nzShowSearch]=\"true\"\r\n *ngIf=\"item.type == 'select'\"\r\n (ngModelChange)=\"formChange($event,item)\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n nzAllowClear=\"true\"\r\n [formControlName]=\"item.key\"\r\n nzServerSearch\r\n [nzMode]=\"item.nzMode || 'default'\"\r\n nzDisabled=\"{{item.readonly|| formOpts.type == 'view'}}\"\r\n >\r\n <nz-option *ngFor=\"let o of dicts[item.dictCode]\" [nzLabel]=\"o.typeName\" [nzValue]=\"o.id\"></nz-option>\r\n </nz-select>\r\n <nz-select\r\n [nzShowSearch]=\"true\"\r\n *ngIf=\"item.type == 'selectc'\"\r\n nzShowSearch\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n nzAllowClear=\"true\"\r\n [formControlName]=\"item.key\"\r\n [nzMode]=\"item.nzMode || 'default'\"\r\n [nzDisabled]=\"item.readonly|| formOpts.type == 'view'\"\r\n (ngModelChange)=\"selectChange($event,item)\"\r\n >\r\n <nz-option *ngFor=\"let o of item.dictList\" [nzLabel]=\"o.label\" [nzValue]=\"o.value\"></nz-option>\r\n </nz-select>\r\n <nz-cascader [nzDisabled]=\"item.readonly\" style=\"flex: 1\" [nzAllowClear]=\"!item.notNull\"\r\n [nzValueProperty]=\"item.valueProperty\"\r\n [nzShowSearch]=\"true\" *ngIf=\"item.type == 'cascader'\"\r\n [nzChangeOnSelect]=\"item.allowSelectNode\"\r\n [nzOptions]=\"item.dictList\" [formControlName]=\"item.key\"></nz-cascader>\r\n <ng-container *ngIf=\"item.type == 'date'\">\r\n <nz-date-picker *ngIf=\"!item.dateMode\" [nzFormat]=\"item.dateFormat ? item.dateFormat : 'yyyy-MM-dd'\"\r\n [nzShowTime]=\"showTime(item)\" style=\"flex: 1\"\r\n [nzDisabled]=\"formOpts.type == 'view' || item.readonly \"\r\n [formControlName]=\"item.key\"></nz-date-picker>\r\n <nz-date-picker *ngIf=\"item.dateMode\"\r\n style=\"flex: 1\"\r\n [nzMode]=\"item.dateMode\"\r\n [nzDisabled]=\"formOpts.type == 'view' || item.readonly \"\r\n [formControlName]=\"item.key\"></nz-date-picker>\r\n </ng-container>\r\n\r\n <nz-range-picker *ngIf=\"item.type == 'dateRange'\" style=\"flex: 1\"\r\n [nzShowTime]=\"item.nzShowTime? item.nzShowTime : false\"\r\n [formControlName]=\"item.key\"\r\n [nzFormat]=\"item.nzShowTime && item.nzShowTime.nzFormat ? ('yyyy-MM-dd '+ item.nzShowTime.nzFormat) : 'yyyy-MM-dd'\"\r\n [nzPlaceHolder]=\"['\u5F00\u59CB\u65F6\u95F4', '\u7ED3\u675F\u65F6\u95F4']\"></nz-range-picker>\r\n\r\n <input *ngIf=\"item.type == 'image'\" nz-input [formControlName]=\"item.key\" [hidden]=\"true\"/>\r\n <atr-img-upload *ngIf=\"item.type == 'image'\" [(opts)]=\"item.imageOpts\"\r\n (onBeforeUpload)=\"onBeforeUpload($event,item)\"\r\n (afterChange)=\"imageUploadChange($event)\"></atr-img-upload>\r\n <div *ngIf=\"item.type == 'editor'\">\r\n <app-editor style=\"flex: 1\" [formControlName]=\"item.key\"></app-editor>\r\n\r\n </div>\r\n\r\n <div *ngIf=\"item.type == 'word'\" [innerHTML]=\"item.value |defVal:item.defaultValue |safeHtml\">\r\n </div>\r\n <div *ngIf=\"item.type == 'buttons'\">\r\n <ng-container *ngFor=\"let btn of item.buttons\">\r\n <button nz-button type=\"button\" [nzType]=\"btn.btnType |defVal: 'default'\"\r\n class=\"ant-btn ant-btn-primary\"\r\n style=\"margin-right: 5px\" *ngIf=\"btn.isShow || isShow(false,btn.operator)\"\r\n (click)=\"doAction(btn,$event)\">\r\n <span>{{btn.name}}</span></button>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngFor=\"let valid of item.validators\">\r\n <ng-container *ngIf=\"atrForm.get(item.key).hasError(valid.type) && (atrForm.get(item.key).dirty )\">\r\n <div style=\"color:red; height: 15px;margin: 0;line-height: 15px;\">{{valid.errorLabel}}</div>\r\n </ng-container>\r\n </ng-container>\r\n <button nz-button nzType=\"default\" style=\"cursor: default;background-color: #fafafa;color: black\"\r\n *ngIf=\"item.ends\" disabled>\r\n {{item.ends}}\r\n </button>\r\n <button *ngIf=\"item.button?.isShow\" type=\"button\" class=\"ant-btn ant-btn-primary\"\r\n (click)=\"doAction(item.button,$event)\">\r\n <span>{{item.button.name}}</span></button>\r\n </div>\r\n <div *ngIf=\"item.proposal\" style=\"color: red;width: 100%\">{{item.proposal}}</div>\r\n </nz-form-control>\r\n </nz-form-item>\r\n <ng-content *ngTemplateOutlet=\"item.temp\"></ng-content>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n</form>\r\n", styles: [":host ::ng-deep .ant-form-item{margin:0 0 10px}:host ::ng-deep .ant-form-item-label{text-align:left}:host ::ng-deep nz-input-number{width:100%}:host .form-title{height:50px;line-height:50px;font-weight:500;font-size:20px;border-bottom:1px solid #e8e8e8;border-radius:4px 4px 0 0;margin-bottom:14px;margin-top:11px}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.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: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6$2.NzColorPickerComponent, selector: "nz-color-picker", inputs: ["nzFormat", "nzValue", "nzSize", "nzDefaultValue", "nzTrigger", "nzTitle", "nzFlipFlop", "nzShowText", "nzOpen", "nzAllowClear", "nzDisabled", "nzDisabledAlpha"], outputs: ["nzOnChange", "nzOnFormatChange", "nzOnClear", "nzOnOpenChange"], exportAs: ["nzColorPicker"] }, { kind: "component", type: i3$1.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i3.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i5$1.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "component", type: i4.NzCascaderComponent, selector: "nz-cascader, [nz-cascader]", inputs: ["nzOpen", "nzOptions", "nzOptionRender", "nzShowInput", "nzShowArrow", "nzAllowClear", "nzAutoFocus", "nzChangeOnSelect", "nzDisabled", "nzColumnClassName", "nzExpandTrigger", "nzValueProperty", "nzLabelProperty", "nzLabelRender", "nzVariant", "nzNotFoundContent", "nzSize", "nzBackdrop", "nzShowSearch", "nzPlaceHolder", "nzMenuClassName", "nzMenuStyle", "nzMouseLeaveDelay", "nzMouseEnterDelay", "nzStatus", "nzMultiple", "nzMaxTagCount", "nzPlacement", "nzTriggerAction", "nzChangeOn", "nzLoadData", "nzDisplayWith", "nzPrefix", "nzSuffixIcon", "nzExpandIcon"], outputs: ["nzVisibleChange", "nzSelectionChange", "nzRemoved", "nzClear"], exportAs: ["nzCascader"] }, { kind: "component", type: i6$1.NzCheckboxComponent, selector: "[nz-checkbox]", inputs: ["nzValue", "nzAutoFocus", "nzDisabled", "nzIndeterminate", "nzChecked", "nzId", "nzName"], outputs: ["nzCheckedChange"], exportAs: ["nzCheckbox"] }, { kind: "component", type: i6$1.NzCheckboxWrapperComponent, selector: "nz-checkbox-wrapper", outputs: ["nzOnChange"], exportAs: ["nzCheckboxWrapper"] }, { kind: "component", type: i5.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-quarter-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzOpen", "nzDisabledDate", "nzLocale", "nzPlaceHolder", "nzPopupStyle", "nzDropdownClassName", "nzSize", "nzStatus", "nzFormat", "nzVariant", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzShowToday", "nzMode", "nzShowNow", "nzRanges", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzPlacement", "nzShowWeekNumber", "nzShowTime"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }, { kind: "directive", type: i5.NzRangePickerComponent, selector: "nz-range-picker", exportAs: ["nzRangePicker"] }, { kind: "directive", type: i8.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i8.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i14.NzFormDirective, selector: "[nz-form]", inputs: ["nzLayout", "nzNoColon", "nzAutoTips", "nzDisableAutoTips", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap", "nzRequiredMark"], exportAs: ["nzForm"] }, { kind: "component", type: i14.NzFormItemComponent, selector: "nz-form-item", exportAs: ["nzFormItem"] }, { kind: "component", type: i14.NzFormLabelComponent, selector: "nz-form-label", inputs: ["nzFor", "nzRequired", "nzNoColon", "nzTooltipTitle", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzFormLabel"] }, { kind: "component", type: i14.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }, { kind: "directive", type: i9.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzVariant", "nzSize", "nzStepperless", "nzStatus", "disabled", "readonly"], exportAs: ["nzInput"] }, { kind: "component", type: i16.NzInputNumberLegacyComponent, selector: "nz-input-number", inputs: ["nzSize", "nzMin", "nzMax", "nzParser", "nzPrecision", "nzPrecisionMode", "nzPlaceHolder", "nzStatus", "nzStep", "nzInputMode", "nzId", "nzDisabled", "nzReadOnly", "nzAutoFocus", "nzBorderless", "nzFormatter"], outputs: ["nzBlur", "nzFocus"], exportAs: ["nzInputNumber"] }, { kind: "component", type: i17.NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus", "nz-radio-button"], exportAs: ["nzRadio"] }, { kind: "component", type: i17.NzRadioGroupComponent, selector: "nz-radio-group", inputs: ["nzDisabled", "nzButtonStyle", "nzSize", "nzName"], exportAs: ["nzRadioGroup"] }, { kind: "component", type: i10.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i10.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzVariant", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzPrefix", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus", "nzOnClear"], exportAs: ["nzSelect"] }, { kind: "component", type: i10$1.NzSwitchComponent, selector: "nz-switch", inputs: ["nzLoading", "nzDisabled", "nzControl", "nzCheckedChildren", "nzUnCheckedChildren", "nzSize", "nzId"], exportAs: ["nzSwitch"] }, { kind: "component", type: i11.NzTreeSelectComponent, selector: "nz-tree-select", inputs: ["nzId", "nzAllowClear", "nzShowExpand", "nzShowLine", "nzDropdownMatchSelectWidth", "nzCheckable", "nzHideUnMatched", "nzShowIcon", "nzShowSearch", "nzDisabled", "nzAsyncData", "nzMultiple", "nzDefaultExpandAll", "nzCheckStrictly", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualHeight", "nzExpandedIcon", "nzNotFoundContent", "nzNodes", "nzOpen", "nzSize", "nzVariant", "nzPlaceHolder", "nzDropdownStyle", "nzDropdownClassName", "nzBackdrop", "nzStatus", "nzPlacement", "nzExpandedKeys", "nzPrefix", "nzSuffixIcon", "nzDisplayWith", "nzMaxTagCount", "nzMaxTagPlaceholder", "nzTreeTemplate"], outputs: ["nzOpenChange", "nzCleared", "nzRemoved", "nzExpandChange", "nzTreeClick", "nzTreeCheckboxChange"], exportAs: ["nzTreeSelect"] }, { kind: "component", type: UploadComponent, selector: "atr-img-upload", inputs: ["opts", "isEdit", "allowChangSeq", "showUploadList"], outputs: ["afterChange", "optsChange", "onBeforeUpload"] }, { kind: "component", type: SelectIconsComponent, selector: "app-select-icons", inputs: ["readonly", "placeholder"] }, { kind: "component", type: ViewFormComponent, selector: "atr-view-form", inputs: ["formOpts", "atrForm", "dicts", "title", "size", "items"] }, { kind: "component", type: EditorComponent, selector: "app-editor", inputs: ["value", "editorConfig", "imgDir"] }, { kind: "pipe", type: DefaultValPipe, name: "defVal" }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }] }); }
5433
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AtrFormComponent, deps: [{ token: ShareService }, { token: HttpService }, { token: i1$2.UntypedFormBuilder }, { token: DictService }, { token: i0.Injector }, { token: LOCALE_ID }], target: i0.ɵɵFactoryTarget.Component }); }
5434
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: AtrFormComponent, isStandalone: false, selector: "atr-form", inputs: { formOpts: "formOpts", viewTitle: "viewTitle", viewSize: "viewSize" }, outputs: { formAction: "formAction", uploadAction: "uploadAction" }, ngImport: i0, template: "<atr-view-form *ngIf=\"formOpts.type == 'view'\" [dicts]=\"dicts\" [atrForm]=\"atrForm\" [title]=\"viewTitle\"\r\n [formOpts]=\"formOpts\" [size]=\"viewSize\"></atr-view-form>\r\n\r\n<form nz-form [formGroup]=\"atrForm\" *ngIf=\"formOpts.type != 'view'\">\r\n <div nz-row nzGutter=\"8\" nzType=\"flex\" nzAlign=\"top\">\r\n <ng-container *ngFor=\"let item of formOpts.items\">\r\n <div nz-col nzSpan=\"24\" class=\"form-title\" *ngIf=\"item.type == 'title'\">\r\n {{item.label}}\r\n </div>\r\n <div nz-col [nzSpan]=\"item.span\" *ngIf=\"isShow(item.isHidden,item.operator)\">\r\n <ng-content *ngTemplateOutlet=\"item.firstTemp\"></ng-content>\r\n <nz-form-item *ngIf=\"item.type != 'title'\">\r\n <nz-form-label [nzSm]=\"item.lspan\" [nzXs]=\"24\" [nzRequired]=\"isRequired(item)\">{{item.label}}</nz-form-label>\r\n <nz-form-control [nzSm]=\"item.cspan\" [nzXs]=\"24\">\r\n <div *ngIf=\"item.type == 'editor'\" style=\"width: 100%\">\r\n <app-editor style=\"flex: 1\" [formControlName]=\"item.key\"></app-editor>\r\n </div>\r\n <div style=\"display: flex;width: 100%\">\r\n <nz-tree-select *ngIf=\"item.type == 'treeSelect' && item.treeList\"\r\n [nzNodes]=\"item.treeList\"\r\n [nzDefaultExpandAll]=\"item.expandAll\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n [nzShowSearch]=\"true\"\r\n [formControlName]=\"item.key\"\r\n [nzAllowClear]=\"!item.notNull\"\r\n [nzMultiple]=\"item.selectUrl.isMultiple\"\r\n [nzDisabled]=\"item.readonly\"\r\n (ngModelChange)=\"formChange($event,item)\"\r\n nzVirtualHeight=\"330px\"\r\n style=\"flex: 1\"\r\n >\r\n </nz-tree-select>\r\n <nz-color-picker *ngIf=\"item.type == 'color'\" [formControlName]=\"item.key\"\r\n (ngModelChange)=\"formChange($event,item)\"\r\n [nzDisabled]=\"item.readonly\"></nz-color-picker>\r\n <!-- <nz-tree-select *ngIf=\"item.type == 'treeSelect'\"\r\n [nzAllowClear]=\"!item.notNull\"\r\n [nzNodes]=\"item.treeList\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n [nzShowSearch]=\"true\"\r\n [formControlName]=\"item.key\"\r\n [nzMultiple]=\"item.selectUrl.isMultiple\"\r\n [nzDisabled]=\"item.readonly\" style=\"flex: 1\"\r\n >\r\n </nz-tree-select> -->\r\n <app-select-icons *ngIf=\"item.type == 'selectIcon'\" nz-input placeholder=\"{{item.placeholder}}\"\r\n [readonly]=\"item.readonly \"\r\n style=\"flex: 1\"\r\n [formControlName]=\"item.key\">\r\n </app-select-icons>\r\n <input *ngIf=\"item.type == 'text'\" nz-input placeholder=\"{{item.placeholder}}\"\r\n (ngModelChange)=\"formChange($event,item)\"\r\n [readonly]=\"item.readonly || formOpts.type == 'view'\"\r\n [formControlName]=\"item.key\"/>\r\n <nz-switch *ngIf=\"item.type == 'switch'\" [formControlName]=\"item.key\"\r\n [nzDisabled]=\"item.readonly || formOpts.type == 'view'\"\r\n (ngModelChange)=\"formChange($event,item)\" [nzCheckedChildren]=\"item.nzCheckedChildren\"\r\n [nzUnCheckedChildren]=\"item.nzUnCheckedChildren\"></nz-switch>\r\n\r\n <textarea *ngIf=\"item.type == 'textarea'\" nz-input [rows]=\"item.rows\" placeholder=\"{{item.placeholder}}\"\r\n [formControlName]=\"item.key\" [readonly]=\"item.readonly|| formOpts.type == 'view'\"></textarea>\r\n <nz-input-number *ngIf=\"item.type == 'number'\" nzPlaceHolder=\"{{item.placeholder}}\"\r\n (ngModelChange)=\"formChange($event,item)\"\r\n [nzFormatter]=\"item.dateFormat || defNumFormat\"\r\n [nzStep]=\"item.nzStep || 1\" [nzPrecision]=\"item.nzPrecision || 0\"\r\n [nzMin]=\"item.minNumber\" [nzMax]=\"item.maxNumber\"\r\n [formControlName]=\"item.key\"></nz-input-number>\r\n <nz-radio-group *ngIf=\"item.type == 'radio'\" [formControlName]=\"item.key\">\r\n <label nz-radio *ngFor=\"let o of item.dictList\" [nzValue]=\"o.value\">{{o.label}}</label>\r\n </nz-radio-group>\r\n <nz-checkbox-group *ngIf=\"item.type == 'checkbox'\" [formControlName]=\"item.key\"\r\n [nzOptions]=\"item.dictList || []\"></nz-checkbox-group>\r\n <nz-select\r\n [nzShowSearch]=\"true\"\r\n *ngIf=\"item.type == 'select'\"\r\n (ngModelChange)=\"formChange($event,item)\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n nzAllowClear=\"true\"\r\n [formControlName]=\"item.key\"\r\n nzServerSearch\r\n [nzMode]=\"item.nzMode || 'default'\"\r\n nzDisabled=\"{{item.readonly|| formOpts.type == 'view'}}\"\r\n >\r\n <nz-option *ngFor=\"let o of dicts[item.dictCode]\" [nzLabel]=\"o.typeName\" [nzValue]=\"o.id\"></nz-option>\r\n </nz-select>\r\n <nz-select\r\n [nzShowSearch]=\"true\"\r\n *ngIf=\"item.type == 'selectc'\"\r\n nzShowSearch\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n nzAllowClear=\"true\"\r\n [formControlName]=\"item.key\"\r\n [nzMode]=\"item.nzMode || 'default'\"\r\n [nzDisabled]=\"item.readonly|| formOpts.type == 'view'\"\r\n (ngModelChange)=\"selectChange($event,item)\"\r\n >\r\n <nz-option *ngFor=\"let o of item.dictList\" [nzLabel]=\"o.label\" [nzValue]=\"o.value\"></nz-option>\r\n </nz-select>\r\n <nz-cascader [nzDisabled]=\"item.readonly\" style=\"flex: 1\" [nzAllowClear]=\"!item.notNull\"\r\n [nzValueProperty]=\"item.valueProperty\"\r\n [nzShowSearch]=\"true\" *ngIf=\"item.type == 'cascader'\"\r\n [nzChangeOnSelect]=\"item.allowSelectNode\"\r\n [nzOptions]=\"item.dictList\" [formControlName]=\"item.key\"></nz-cascader>\r\n <ng-container *ngIf=\"item.type == 'date'\">\r\n <nz-date-picker *ngIf=\"!item.dateMode\" [nzFormat]=\"item.dateFormat ? item.dateFormat : 'yyyy-MM-dd'\"\r\n [nzShowTime]=\"showTime(item)\" style=\"flex: 1\"\r\n [nzDisabled]=\"formOpts.type == 'view' || item.readonly \"\r\n [formControlName]=\"item.key\"></nz-date-picker>\r\n <nz-date-picker *ngIf=\"item.dateMode\"\r\n style=\"flex: 1\"\r\n [nzMode]=\"item.dateMode\"\r\n [nzDisabled]=\"formOpts.type == 'view' || item.readonly \"\r\n [formControlName]=\"item.key\"></nz-date-picker>\r\n </ng-container>\r\n\r\n <nz-range-picker *ngIf=\"item.type == 'dateRange'\" style=\"flex: 1\"\r\n [nzShowTime]=\"item.nzShowTime? item.nzShowTime : false\"\r\n [formControlName]=\"item.key\"\r\n [nzFormat]=\"item.nzShowTime && item.nzShowTime.nzFormat ? ('yyyy-MM-dd '+ item.nzShowTime.nzFormat) : 'yyyy-MM-dd'\"\r\n [nzPlaceHolder]=\"['\u5F00\u59CB\u65F6\u95F4', '\u7ED3\u675F\u65F6\u95F4']\"></nz-range-picker>\r\n\r\n <input *ngIf=\"item.type == 'image'\" nz-input [formControlName]=\"item.key\" [hidden]=\"true\"/>\r\n <atr-img-upload *ngIf=\"item.type == 'image'\" [(opts)]=\"item.imageOpts\"\r\n (onBeforeUpload)=\"onBeforeUpload($event,item)\"\r\n (afterChange)=\"imageUploadChange($event)\"></atr-img-upload>\r\n\r\n <div *ngIf=\"item.type == 'word'\" [innerHTML]=\"item.value |defVal:item.defaultValue |safeHtml\">\r\n </div>\r\n <div *ngIf=\"item.type == 'buttons'\">\r\n <ng-container *ngFor=\"let btn of item.buttons\">\r\n <button nz-button type=\"button\" [nzType]=\"btn.btnType |defVal: 'default'\"\r\n class=\"ant-btn ant-btn-primary\"\r\n style=\"margin-right: 5px\" *ngIf=\"btn.isShow || isShow(false,btn.operator)\"\r\n (click)=\"doAction(btn,$event)\">\r\n <span>{{btn.name}}</span></button>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngFor=\"let valid of item.validators\">\r\n <ng-container *ngIf=\"atrForm.get(item.key).hasError(valid.type) && (atrForm.get(item.key).dirty )\">\r\n <div style=\"color:red; height: 15px;margin: 0;line-height: 15px;\">{{valid.errorLabel}}</div>\r\n </ng-container>\r\n </ng-container>\r\n <button nz-button nzType=\"default\" style=\"cursor: default;background-color: #fafafa;color: black\"\r\n *ngIf=\"item.ends\" disabled>\r\n {{item.ends}}\r\n </button>\r\n <button *ngIf=\"item.button?.isShow\" type=\"button\" class=\"ant-btn ant-btn-primary\"\r\n (click)=\"doAction(item.button,$event)\">\r\n <span>{{item.button.name}}</span></button>\r\n </div>\r\n <div *ngIf=\"item.proposal\" style=\"color: red;width: 100%\">{{item.proposal}}</div>\r\n </nz-form-control>\r\n </nz-form-item>\r\n <ng-content *ngTemplateOutlet=\"item.temp\"></ng-content>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n</form>\r\n", styles: [":host ::ng-deep .ant-form-item{margin:0 0 10px}:host ::ng-deep .ant-form-item-label{text-align:left}:host ::ng-deep nz-input-number{width:100%}:host .form-title{height:50px;line-height:50px;font-weight:500;font-size:20px;border-bottom:1px solid #e8e8e8;border-radius:4px 4px 0 0;margin-bottom:14px;margin-top:11px}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.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: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6$2.NzColorPickerComponent, selector: "nz-color-picker", inputs: ["nzFormat", "nzValue", "nzSize", "nzDefaultValue", "nzTrigger", "nzTitle", "nzFlipFlop", "nzShowText", "nzOpen", "nzAllowClear", "nzDisabled", "nzDisabledAlpha"], outputs: ["nzOnChange", "nzOnFormatChange", "nzOnClear", "nzOnOpenChange"], exportAs: ["nzColorPicker"] }, { kind: "component", type: i3.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i4.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i5$1.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "component", type: i5.NzCascaderComponent, selector: "nz-cascader, [nz-cascader]", inputs: ["nzOpen", "nzOptions", "nzOptionRender", "nzShowInput", "nzShowArrow", "nzAllowClear", "nzAutoFocus", "nzChangeOnSelect", "nzDisabled", "nzColumnClassName", "nzExpandTrigger", "nzValueProperty", "nzLabelProperty", "nzLabelRender", "nzVariant", "nzNotFoundContent", "nzSize", "nzBackdrop", "nzShowSearch", "nzPlaceHolder", "nzMenuClassName", "nzMenuStyle", "nzMouseLeaveDelay", "nzMouseEnterDelay", "nzStatus", "nzMultiple", "nzMaxTagCount", "nzPlacement", "nzTriggerAction", "nzChangeOn", "nzLoadData", "nzDisplayWith", "nzPrefix", "nzSuffixIcon", "nzExpandIcon"], outputs: ["nzVisibleChange", "nzSelectionChange", "nzRemoved", "nzClear"], exportAs: ["nzCascader"] }, { kind: "component", type: i6.NzCheckboxGroupComponent, selector: "nz-checkbox-group", inputs: ["nzName", "nzDisabled", "nzOptions"], exportAs: ["nzCheckboxGroup"] }, { kind: "component", type: i7.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-quarter-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzOpen", "nzDisabledDate", "nzLocale", "nzPlaceHolder", "nzPopupStyle", "nzDropdownClassName", "nzSize", "nzStatus", "nzFormat", "nzVariant", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzShowToday", "nzMode", "nzShowNow", "nzRanges", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzPlacement", "nzShowWeekNumber", "nzShowTime"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }, { kind: "directive", type: i7.NzRangePickerComponent, selector: "nz-range-picker", exportAs: ["nzRangePicker"] }, { kind: "directive", type: i8.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i8.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i14.NzFormDirective, selector: "[nz-form]", inputs: ["nzLayout", "nzNoColon", "nzAutoTips", "nzDisableAutoTips", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap", "nzRequiredMark"], exportAs: ["nzForm"] }, { kind: "component", type: i14.NzFormItemComponent, selector: "nz-form-item", exportAs: ["nzFormItem"] }, { kind: "component", type: i14.NzFormLabelComponent, selector: "nz-form-label", inputs: ["nzFor", "nzRequired", "nzNoColon", "nzTooltipTitle", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap"], exportAs: ["nzFormLabel"] }, { kind: "component", type: i14.NzFormControlComponent, selector: "nz-form-control", inputs: ["nzSuccessTip", "nzWarningTip", "nzErrorTip", "nzValidatingTip", "nzExtra", "nzAutoTips", "nzDisableAutoTips", "nzHasFeedback", "nzValidateStatus"], exportAs: ["nzFormControl"] }, { kind: "directive", type: i11.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzVariant", "nzSize", "nzStepperless", "nzStatus", "disabled", "readonly"], exportAs: ["nzInput"] }, { kind: "component", type: i12.NzInputNumberLegacyComponent, selector: "nz-input-number", inputs: ["nzSize", "nzMin", "nzMax", "nzParser", "nzPrecision", "nzPrecisionMode", "nzPlaceHolder", "nzStatus", "nzStep", "nzInputMode", "nzId", "nzDisabled", "nzReadOnly", "nzAutoFocus", "nzBorderless", "nzFormatter"], outputs: ["nzBlur", "nzFocus"], exportAs: ["nzInputNumber"] }, { kind: "component", type: i17.NzRadioComponent, selector: "[nz-radio],[nz-radio-button]", inputs: ["nzValue", "nzDisabled", "nzAutoFocus", "nz-radio-button"], exportAs: ["nzRadio"] }, { kind: "component", type: i17.NzRadioGroupComponent, selector: "nz-radio-group", inputs: ["nzDisabled", "nzButtonStyle", "nzSize", "nzName"], exportAs: ["nzRadioGroup"] }, { kind: "component", type: i13.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i13.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzVariant", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzPrefix", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus", "nzOnClear"], exportAs: ["nzSelect"] }, { kind: "component", type: i10$1.NzSwitchComponent, selector: "nz-switch", inputs: ["nzLoading", "nzDisabled", "nzControl", "nzCheckedChildren", "nzUnCheckedChildren", "nzSize", "nzId"], exportAs: ["nzSwitch"] }, { kind: "component", type: i14$1.NzTreeSelectComponent, selector: "nz-tree-select", inputs: ["nzId", "nzAllowClear", "nzShowExpand", "nzShowLine", "nzDropdownMatchSelectWidth", "nzCheckable", "nzHideUnMatched", "nzShowIcon", "nzShowSearch", "nzDisabled", "nzAsyncData", "nzMultiple", "nzDefaultExpandAll", "nzCheckStrictly", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualHeight", "nzExpandedIcon", "nzNotFoundContent", "nzNodes", "nzOpen", "nzSize", "nzVariant", "nzPlaceHolder", "nzDropdownStyle", "nzDropdownClassName", "nzBackdrop", "nzStatus", "nzPlacement", "nzExpandedKeys", "nzPrefix", "nzSuffixIcon", "nzDisplayWith", "nzMaxTagCount", "nzMaxTagPlaceholder", "nzTreeTemplate"], outputs: ["nzOpenChange", "nzCleared", "nzRemoved", "nzExpandChange", "nzTreeClick", "nzTreeCheckboxChange"], exportAs: ["nzTreeSelect"] }, { kind: "component", type: UploadComponent, selector: "atr-img-upload", inputs: ["opts", "isEdit", "allowChangSeq", "showUploadList"], outputs: ["afterChange", "optsChange", "onBeforeUpload"] }, { kind: "component", type: SelectIconsComponent, selector: "app-select-icons", inputs: ["readonly", "placeholder"] }, { kind: "component", type: ViewFormComponent, selector: "atr-view-form", inputs: ["formOpts", "atrForm", "dicts", "title", "size", "items"] }, { kind: "component", type: EditorComponent, selector: "app-editor", inputs: ["value", "editorConfig", "imgDir"] }, { kind: "pipe", type: DefaultValPipe, name: "defVal" }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }] }); }
5359
5435
  }
5360
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AtrFormComponent, decorators: [{
5436
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AtrFormComponent, decorators: [{
5361
5437
  type: Component,
5362
- args: [{ standalone: false, selector: 'atr-form', template: "<atr-view-form *ngIf=\"formOpts.type == 'view'\" [dicts]=\"dicts\" [atrForm]=\"atrForm\" [title]=\"viewTitle\"\r\n [formOpts]=\"formOpts\" [size]=\"viewSize\"></atr-view-form>\r\n\r\n<form nz-form [formGroup]=\"atrForm\" *ngIf=\"formOpts.type != 'view'\">\r\n <div nz-row nzGutter=\"8\" nzType=\"flex\" nzAlign=\"top\">\r\n <ng-container *ngFor=\"let item of formOpts.items\">\r\n <div nz-col nzSpan=\"24\" class=\"form-title\" *ngIf=\"item.type == 'title'\">\r\n {{item.label}}\r\n </div>\r\n <div nz-col [nzSpan]=\"item.span\" *ngIf=\"isShow(item.isHidden,item.operator)\">\r\n <ng-content *ngTemplateOutlet=\"item.firstTemp\"></ng-content>\r\n <nz-form-item *ngIf=\"item.type != 'title'\">\r\n <nz-form-label [nzSm]=\"item.lspan\" [nzXs]=\"24\" [nzRequired]=\"isRequired(item)\">{{item.label}}</nz-form-label>\r\n <nz-form-control [nzSm]=\"item.cspan\" [nzXs]=\"24\">\r\n <div style=\"display: flex;width: 100%\">\r\n <nz-tree-select *ngIf=\"item.type == 'treeSelect' && item.treeList\"\r\n [nzNodes]=\"item.treeList\"\r\n [nzDefaultExpandAll]=\"item.expandAll\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n [nzShowSearch]=\"true\"\r\n [formControlName]=\"item.key\"\r\n [nzAllowClear]=\"!item.notNull\"\r\n [nzMultiple]=\"item.selectUrl.isMultiple\"\r\n [nzDisabled]=\"item.readonly\"\r\n (ngModelChange)=\"formChange($event,item)\"\r\n nzVirtualHeight=\"330px\"\r\n style=\"flex: 1\"\r\n >\r\n </nz-tree-select>\r\n <nz-color-picker *ngIf=\"item.type == 'color'\" [formControlName]=\"item.key\"\r\n (ngModelChange)=\"formChange($event,item)\"\r\n [nzDisabled]=\"item.readonly\"></nz-color-picker>\r\n <!-- <nz-tree-select *ngIf=\"item.type == 'treeSelect'\"\r\n [nzAllowClear]=\"!item.notNull\"\r\n [nzNodes]=\"item.treeList\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n [nzShowSearch]=\"true\"\r\n [formControlName]=\"item.key\"\r\n [nzMultiple]=\"item.selectUrl.isMultiple\"\r\n [nzDisabled]=\"item.readonly\" style=\"flex: 1\"\r\n >\r\n </nz-tree-select> -->\r\n <app-select-icons *ngIf=\"item.type == 'selectIcon'\" nz-input placeholder=\"{{item.placeholder}}\"\r\n [readonly]=\"item.readonly \"\r\n style=\"flex: 1\"\r\n [formControlName]=\"item.key\">\r\n </app-select-icons>\r\n <input *ngIf=\"item.type == 'text'\" nz-input placeholder=\"{{item.placeholder}}\"\r\n (ngModelChange)=\"formChange($event,item)\"\r\n [readonly]=\"item.readonly || formOpts.type == 'view'\"\r\n [formControlName]=\"item.key\"/>\r\n <nz-switch *ngIf=\"item.type == 'switch'\" [formControlName]=\"item.key\"\r\n [nzDisabled]=\"item.readonly || formOpts.type == 'view'\"\r\n (ngModelChange)=\"formChange($event,item)\" [nzCheckedChildren]=\"item.nzCheckedChildren\"\r\n [nzUnCheckedChildren]=\"item.nzUnCheckedChildren\"></nz-switch>\r\n\r\n <textarea *ngIf=\"item.type == 'textarea'\" nz-input [rows]=\"item.rows\" placeholder=\"{{item.placeholder}}\"\r\n [formControlName]=\"item.key\" [readonly]=\"item.readonly|| formOpts.type == 'view'\"></textarea>\r\n <nz-input-number *ngIf=\"item.type == 'number'\" nzPlaceHolder=\"{{item.placeholder}}\"\r\n (ngModelChange)=\"formChange($event,item)\"\r\n [nzFormatter]=\"item.dateFormat || defNumFormat\"\r\n [nzStep]=\"item.nzStep || 1\" [nzPrecision]=\"item.nzPrecision || 0\"\r\n [nzMin]=\"item.minNumber\" [nzMax]=\"item.maxNumber\"\r\n [formControlName]=\"item.key\"></nz-input-number>\r\n <nz-radio-group *ngIf=\"item.type == 'radio'\" [formControlName]=\"item.key\">\r\n <label nz-radio *ngFor=\"let o of item.dictList\" [nzValue]=\"o.value\">{{o.label}}</label>\r\n </nz-radio-group>\r\n <nz-checkbox-wrapper *ngIf=\"item.type == 'checkbox'\" [formControlName]=\"item.key\">\r\n <div nz-row>\r\n <div *ngFor=\"let o of item.dictList\" nz-col>\r\n <label nz-checkbox [nzValue]=\"o.value\">{{o.label}}</label></div>\r\n </div>\r\n </nz-checkbox-wrapper>\r\n <nz-select\r\n [nzShowSearch]=\"true\"\r\n *ngIf=\"item.type == 'select'\"\r\n (ngModelChange)=\"formChange($event,item)\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n nzAllowClear=\"true\"\r\n [formControlName]=\"item.key\"\r\n nzServerSearch\r\n [nzMode]=\"item.nzMode || 'default'\"\r\n nzDisabled=\"{{item.readonly|| formOpts.type == 'view'}}\"\r\n >\r\n <nz-option *ngFor=\"let o of dicts[item.dictCode]\" [nzLabel]=\"o.typeName\" [nzValue]=\"o.id\"></nz-option>\r\n </nz-select>\r\n <nz-select\r\n [nzShowSearch]=\"true\"\r\n *ngIf=\"item.type == 'selectc'\"\r\n nzShowSearch\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n nzAllowClear=\"true\"\r\n [formControlName]=\"item.key\"\r\n [nzMode]=\"item.nzMode || 'default'\"\r\n [nzDisabled]=\"item.readonly|| formOpts.type == 'view'\"\r\n (ngModelChange)=\"selectChange($event,item)\"\r\n >\r\n <nz-option *ngFor=\"let o of item.dictList\" [nzLabel]=\"o.label\" [nzValue]=\"o.value\"></nz-option>\r\n </nz-select>\r\n <nz-cascader [nzDisabled]=\"item.readonly\" style=\"flex: 1\" [nzAllowClear]=\"!item.notNull\"\r\n [nzValueProperty]=\"item.valueProperty\"\r\n [nzShowSearch]=\"true\" *ngIf=\"item.type == 'cascader'\"\r\n [nzChangeOnSelect]=\"item.allowSelectNode\"\r\n [nzOptions]=\"item.dictList\" [formControlName]=\"item.key\"></nz-cascader>\r\n <ng-container *ngIf=\"item.type == 'date'\">\r\n <nz-date-picker *ngIf=\"!item.dateMode\" [nzFormat]=\"item.dateFormat ? item.dateFormat : 'yyyy-MM-dd'\"\r\n [nzShowTime]=\"showTime(item)\" style=\"flex: 1\"\r\n [nzDisabled]=\"formOpts.type == 'view' || item.readonly \"\r\n [formControlName]=\"item.key\"></nz-date-picker>\r\n <nz-date-picker *ngIf=\"item.dateMode\"\r\n style=\"flex: 1\"\r\n [nzMode]=\"item.dateMode\"\r\n [nzDisabled]=\"formOpts.type == 'view' || item.readonly \"\r\n [formControlName]=\"item.key\"></nz-date-picker>\r\n </ng-container>\r\n\r\n <nz-range-picker *ngIf=\"item.type == 'dateRange'\" style=\"flex: 1\"\r\n [nzShowTime]=\"item.nzShowTime? item.nzShowTime : false\"\r\n [formControlName]=\"item.key\"\r\n [nzFormat]=\"item.nzShowTime && item.nzShowTime.nzFormat ? ('yyyy-MM-dd '+ item.nzShowTime.nzFormat) : 'yyyy-MM-dd'\"\r\n [nzPlaceHolder]=\"['\u5F00\u59CB\u65F6\u95F4', '\u7ED3\u675F\u65F6\u95F4']\"></nz-range-picker>\r\n\r\n <input *ngIf=\"item.type == 'image'\" nz-input [formControlName]=\"item.key\" [hidden]=\"true\"/>\r\n <atr-img-upload *ngIf=\"item.type == 'image'\" [(opts)]=\"item.imageOpts\"\r\n (onBeforeUpload)=\"onBeforeUpload($event,item)\"\r\n (afterChange)=\"imageUploadChange($event)\"></atr-img-upload>\r\n <div *ngIf=\"item.type == 'editor'\">\r\n <app-editor style=\"flex: 1\" [formControlName]=\"item.key\"></app-editor>\r\n\r\n </div>\r\n\r\n <div *ngIf=\"item.type == 'word'\" [innerHTML]=\"item.value |defVal:item.defaultValue |safeHtml\">\r\n </div>\r\n <div *ngIf=\"item.type == 'buttons'\">\r\n <ng-container *ngFor=\"let btn of item.buttons\">\r\n <button nz-button type=\"button\" [nzType]=\"btn.btnType |defVal: 'default'\"\r\n class=\"ant-btn ant-btn-primary\"\r\n style=\"margin-right: 5px\" *ngIf=\"btn.isShow || isShow(false,btn.operator)\"\r\n (click)=\"doAction(btn,$event)\">\r\n <span>{{btn.name}}</span></button>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngFor=\"let valid of item.validators\">\r\n <ng-container *ngIf=\"atrForm.get(item.key).hasError(valid.type) && (atrForm.get(item.key).dirty )\">\r\n <div style=\"color:red; height: 15px;margin: 0;line-height: 15px;\">{{valid.errorLabel}}</div>\r\n </ng-container>\r\n </ng-container>\r\n <button nz-button nzType=\"default\" style=\"cursor: default;background-color: #fafafa;color: black\"\r\n *ngIf=\"item.ends\" disabled>\r\n {{item.ends}}\r\n </button>\r\n <button *ngIf=\"item.button?.isShow\" type=\"button\" class=\"ant-btn ant-btn-primary\"\r\n (click)=\"doAction(item.button,$event)\">\r\n <span>{{item.button.name}}</span></button>\r\n </div>\r\n <div *ngIf=\"item.proposal\" style=\"color: red;width: 100%\">{{item.proposal}}</div>\r\n </nz-form-control>\r\n </nz-form-item>\r\n <ng-content *ngTemplateOutlet=\"item.temp\"></ng-content>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n</form>\r\n", styles: [":host ::ng-deep .ant-form-item{margin:0 0 10px}:host ::ng-deep .ant-form-item-label{text-align:left}:host ::ng-deep nz-input-number{width:100%}:host .form-title{height:50px;line-height:50px;font-weight:500;font-size:20px;border-bottom:1px solid #e8e8e8;border-radius:4px 4px 0 0;margin-bottom:14px;margin-top:11px}\n"] }]
5438
+ args: [{ standalone: false, selector: 'atr-form', template: "<atr-view-form *ngIf=\"formOpts.type == 'view'\" [dicts]=\"dicts\" [atrForm]=\"atrForm\" [title]=\"viewTitle\"\r\n [formOpts]=\"formOpts\" [size]=\"viewSize\"></atr-view-form>\r\n\r\n<form nz-form [formGroup]=\"atrForm\" *ngIf=\"formOpts.type != 'view'\">\r\n <div nz-row nzGutter=\"8\" nzType=\"flex\" nzAlign=\"top\">\r\n <ng-container *ngFor=\"let item of formOpts.items\">\r\n <div nz-col nzSpan=\"24\" class=\"form-title\" *ngIf=\"item.type == 'title'\">\r\n {{item.label}}\r\n </div>\r\n <div nz-col [nzSpan]=\"item.span\" *ngIf=\"isShow(item.isHidden,item.operator)\">\r\n <ng-content *ngTemplateOutlet=\"item.firstTemp\"></ng-content>\r\n <nz-form-item *ngIf=\"item.type != 'title'\">\r\n <nz-form-label [nzSm]=\"item.lspan\" [nzXs]=\"24\" [nzRequired]=\"isRequired(item)\">{{item.label}}</nz-form-label>\r\n <nz-form-control [nzSm]=\"item.cspan\" [nzXs]=\"24\">\r\n <div *ngIf=\"item.type == 'editor'\" style=\"width: 100%\">\r\n <app-editor style=\"flex: 1\" [formControlName]=\"item.key\"></app-editor>\r\n </div>\r\n <div style=\"display: flex;width: 100%\">\r\n <nz-tree-select *ngIf=\"item.type == 'treeSelect' && item.treeList\"\r\n [nzNodes]=\"item.treeList\"\r\n [nzDefaultExpandAll]=\"item.expandAll\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n [nzShowSearch]=\"true\"\r\n [formControlName]=\"item.key\"\r\n [nzAllowClear]=\"!item.notNull\"\r\n [nzMultiple]=\"item.selectUrl.isMultiple\"\r\n [nzDisabled]=\"item.readonly\"\r\n (ngModelChange)=\"formChange($event,item)\"\r\n nzVirtualHeight=\"330px\"\r\n style=\"flex: 1\"\r\n >\r\n </nz-tree-select>\r\n <nz-color-picker *ngIf=\"item.type == 'color'\" [formControlName]=\"item.key\"\r\n (ngModelChange)=\"formChange($event,item)\"\r\n [nzDisabled]=\"item.readonly\"></nz-color-picker>\r\n <!-- <nz-tree-select *ngIf=\"item.type == 'treeSelect'\"\r\n [nzAllowClear]=\"!item.notNull\"\r\n [nzNodes]=\"item.treeList\"\r\n nzShowSearch=\"true\"\r\n nzHideUnMatched=\"true\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n [nzShowSearch]=\"true\"\r\n [formControlName]=\"item.key\"\r\n [nzMultiple]=\"item.selectUrl.isMultiple\"\r\n [nzDisabled]=\"item.readonly\" style=\"flex: 1\"\r\n >\r\n </nz-tree-select> -->\r\n <app-select-icons *ngIf=\"item.type == 'selectIcon'\" nz-input placeholder=\"{{item.placeholder}}\"\r\n [readonly]=\"item.readonly \"\r\n style=\"flex: 1\"\r\n [formControlName]=\"item.key\">\r\n </app-select-icons>\r\n <input *ngIf=\"item.type == 'text'\" nz-input placeholder=\"{{item.placeholder}}\"\r\n (ngModelChange)=\"formChange($event,item)\"\r\n [readonly]=\"item.readonly || formOpts.type == 'view'\"\r\n [formControlName]=\"item.key\"/>\r\n <nz-switch *ngIf=\"item.type == 'switch'\" [formControlName]=\"item.key\"\r\n [nzDisabled]=\"item.readonly || formOpts.type == 'view'\"\r\n (ngModelChange)=\"formChange($event,item)\" [nzCheckedChildren]=\"item.nzCheckedChildren\"\r\n [nzUnCheckedChildren]=\"item.nzUnCheckedChildren\"></nz-switch>\r\n\r\n <textarea *ngIf=\"item.type == 'textarea'\" nz-input [rows]=\"item.rows\" placeholder=\"{{item.placeholder}}\"\r\n [formControlName]=\"item.key\" [readonly]=\"item.readonly|| formOpts.type == 'view'\"></textarea>\r\n <nz-input-number *ngIf=\"item.type == 'number'\" nzPlaceHolder=\"{{item.placeholder}}\"\r\n (ngModelChange)=\"formChange($event,item)\"\r\n [nzFormatter]=\"item.dateFormat || defNumFormat\"\r\n [nzStep]=\"item.nzStep || 1\" [nzPrecision]=\"item.nzPrecision || 0\"\r\n [nzMin]=\"item.minNumber\" [nzMax]=\"item.maxNumber\"\r\n [formControlName]=\"item.key\"></nz-input-number>\r\n <nz-radio-group *ngIf=\"item.type == 'radio'\" [formControlName]=\"item.key\">\r\n <label nz-radio *ngFor=\"let o of item.dictList\" [nzValue]=\"o.value\">{{o.label}}</label>\r\n </nz-radio-group>\r\n <nz-checkbox-group *ngIf=\"item.type == 'checkbox'\" [formControlName]=\"item.key\"\r\n [nzOptions]=\"item.dictList || []\"></nz-checkbox-group>\r\n <nz-select\r\n [nzShowSearch]=\"true\"\r\n *ngIf=\"item.type == 'select'\"\r\n (ngModelChange)=\"formChange($event,item)\"\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n nzAllowClear=\"true\"\r\n [formControlName]=\"item.key\"\r\n nzServerSearch\r\n [nzMode]=\"item.nzMode || 'default'\"\r\n nzDisabled=\"{{item.readonly|| formOpts.type == 'view'}}\"\r\n >\r\n <nz-option *ngFor=\"let o of dicts[item.dictCode]\" [nzLabel]=\"o.typeName\" [nzValue]=\"o.id\"></nz-option>\r\n </nz-select>\r\n <nz-select\r\n [nzShowSearch]=\"true\"\r\n *ngIf=\"item.type == 'selectc'\"\r\n nzShowSearch\r\n nzPlaceHolder=\"{{item.placeholder}}\"\r\n nzAllowClear=\"true\"\r\n [formControlName]=\"item.key\"\r\n [nzMode]=\"item.nzMode || 'default'\"\r\n [nzDisabled]=\"item.readonly|| formOpts.type == 'view'\"\r\n (ngModelChange)=\"selectChange($event,item)\"\r\n >\r\n <nz-option *ngFor=\"let o of item.dictList\" [nzLabel]=\"o.label\" [nzValue]=\"o.value\"></nz-option>\r\n </nz-select>\r\n <nz-cascader [nzDisabled]=\"item.readonly\" style=\"flex: 1\" [nzAllowClear]=\"!item.notNull\"\r\n [nzValueProperty]=\"item.valueProperty\"\r\n [nzShowSearch]=\"true\" *ngIf=\"item.type == 'cascader'\"\r\n [nzChangeOnSelect]=\"item.allowSelectNode\"\r\n [nzOptions]=\"item.dictList\" [formControlName]=\"item.key\"></nz-cascader>\r\n <ng-container *ngIf=\"item.type == 'date'\">\r\n <nz-date-picker *ngIf=\"!item.dateMode\" [nzFormat]=\"item.dateFormat ? item.dateFormat : 'yyyy-MM-dd'\"\r\n [nzShowTime]=\"showTime(item)\" style=\"flex: 1\"\r\n [nzDisabled]=\"formOpts.type == 'view' || item.readonly \"\r\n [formControlName]=\"item.key\"></nz-date-picker>\r\n <nz-date-picker *ngIf=\"item.dateMode\"\r\n style=\"flex: 1\"\r\n [nzMode]=\"item.dateMode\"\r\n [nzDisabled]=\"formOpts.type == 'view' || item.readonly \"\r\n [formControlName]=\"item.key\"></nz-date-picker>\r\n </ng-container>\r\n\r\n <nz-range-picker *ngIf=\"item.type == 'dateRange'\" style=\"flex: 1\"\r\n [nzShowTime]=\"item.nzShowTime? item.nzShowTime : false\"\r\n [formControlName]=\"item.key\"\r\n [nzFormat]=\"item.nzShowTime && item.nzShowTime.nzFormat ? ('yyyy-MM-dd '+ item.nzShowTime.nzFormat) : 'yyyy-MM-dd'\"\r\n [nzPlaceHolder]=\"['\u5F00\u59CB\u65F6\u95F4', '\u7ED3\u675F\u65F6\u95F4']\"></nz-range-picker>\r\n\r\n <input *ngIf=\"item.type == 'image'\" nz-input [formControlName]=\"item.key\" [hidden]=\"true\"/>\r\n <atr-img-upload *ngIf=\"item.type == 'image'\" [(opts)]=\"item.imageOpts\"\r\n (onBeforeUpload)=\"onBeforeUpload($event,item)\"\r\n (afterChange)=\"imageUploadChange($event)\"></atr-img-upload>\r\n\r\n <div *ngIf=\"item.type == 'word'\" [innerHTML]=\"item.value |defVal:item.defaultValue |safeHtml\">\r\n </div>\r\n <div *ngIf=\"item.type == 'buttons'\">\r\n <ng-container *ngFor=\"let btn of item.buttons\">\r\n <button nz-button type=\"button\" [nzType]=\"btn.btnType |defVal: 'default'\"\r\n class=\"ant-btn ant-btn-primary\"\r\n style=\"margin-right: 5px\" *ngIf=\"btn.isShow || isShow(false,btn.operator)\"\r\n (click)=\"doAction(btn,$event)\">\r\n <span>{{btn.name}}</span></button>\r\n </ng-container>\r\n </div>\r\n <ng-container *ngFor=\"let valid of item.validators\">\r\n <ng-container *ngIf=\"atrForm.get(item.key).hasError(valid.type) && (atrForm.get(item.key).dirty )\">\r\n <div style=\"color:red; height: 15px;margin: 0;line-height: 15px;\">{{valid.errorLabel}}</div>\r\n </ng-container>\r\n </ng-container>\r\n <button nz-button nzType=\"default\" style=\"cursor: default;background-color: #fafafa;color: black\"\r\n *ngIf=\"item.ends\" disabled>\r\n {{item.ends}}\r\n </button>\r\n <button *ngIf=\"item.button?.isShow\" type=\"button\" class=\"ant-btn ant-btn-primary\"\r\n (click)=\"doAction(item.button,$event)\">\r\n <span>{{item.button.name}}</span></button>\r\n </div>\r\n <div *ngIf=\"item.proposal\" style=\"color: red;width: 100%\">{{item.proposal}}</div>\r\n </nz-form-control>\r\n </nz-form-item>\r\n <ng-content *ngTemplateOutlet=\"item.temp\"></ng-content>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n</form>\r\n", styles: [":host ::ng-deep .ant-form-item{margin:0 0 10px}:host ::ng-deep .ant-form-item-label{text-align:left}:host ::ng-deep nz-input-number{width:100%}:host .form-title{height:50px;line-height:50px;font-weight:500;font-size:20px;border-bottom:1px solid #e8e8e8;border-radius:4px 4px 0 0;margin-bottom:14px;margin-top:11px}\n"] }]
5363
5439
  }], ctorParameters: () => [{ type: ShareService }, { type: HttpService }, { type: i1$2.UntypedFormBuilder }, { type: DictService }, { type: i0.Injector }, { type: undefined, decorators: [{
5364
5440
  type: Inject,
5365
5441
  args: [LOCALE_ID]
@@ -5410,10 +5486,10 @@ class SelectTreeComponent {
5410
5486
  data: this.selectValue
5411
5487
  });
5412
5488
  }
5413
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SelectTreeComponent, deps: [{ token: DictService }], target: i0.ɵɵFactoryTarget.Component }); }
5414
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: SelectTreeComponent, isStandalone: false, selector: "app-select-tree", inputs: { opt: "opt", isDisable: "isDisable" }, outputs: { action: "action" }, ngImport: i0, template: "<nz-select\r\n nzAllowClear=\"false\"\r\n [nzDropdownMatchSelectWidth]=\"false\"\r\n nzServerSearch\r\n [(ngModel)]=\"selectValue\"\r\n style=\"width: 100px\"\r\n (ngModelChange)=\"changeValue()\"\r\n [nzDisabled]=\"isDisable\"\r\n>\r\n <nz-option *ngFor=\"let o of dicts[opt.dictCode]\" [nzLabel]=\"o.typeName\" [nzValue]=\"o\" > </nz-option>\r\n</nz-select>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i10.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i10.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzVariant", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzPrefix", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus", "nzOnClear"], exportAs: ["nzSelect"] }] }); }
5489
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SelectTreeComponent, deps: [{ token: DictService }], target: i0.ɵɵFactoryTarget.Component }); }
5490
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: SelectTreeComponent, isStandalone: false, selector: "app-select-tree", inputs: { opt: "opt", isDisable: "isDisable" }, outputs: { action: "action" }, ngImport: i0, template: "<nz-select\r\n nzAllowClear=\"false\"\r\n [nzDropdownMatchSelectWidth]=\"false\"\r\n nzServerSearch\r\n [(ngModel)]=\"selectValue\"\r\n style=\"width: 100px\"\r\n (ngModelChange)=\"changeValue()\"\r\n [nzDisabled]=\"isDisable\"\r\n>\r\n <nz-option *ngFor=\"let o of dicts[opt.dictCode]\" [nzLabel]=\"o.typeName\" [nzValue]=\"o\" > </nz-option>\r\n</nz-select>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i13.NzOptionComponent, selector: "nz-option", inputs: ["nzTitle", "nzLabel", "nzValue", "nzKey", "nzDisabled", "nzHide", "nzCustomContent"], exportAs: ["nzOption"] }, { kind: "component", type: i13.NzSelectComponent, selector: "nz-select", inputs: ["nzId", "nzSize", "nzStatus", "nzVariant", "nzOptionHeightPx", "nzOptionOverflowSize", "nzDropdownClassName", "nzDropdownMatchSelectWidth", "nzDropdownStyle", "nzNotFoundContent", "nzPlaceHolder", "nzPlacement", "nzMaxTagCount", "nzDropdownRender", "nzCustomTemplate", "nzPrefix", "nzSuffixIcon", "nzClearIcon", "nzRemoveIcon", "nzMenuItemSelectedIcon", "nzTokenSeparators", "nzMaxTagPlaceholder", "nzMaxMultipleCount", "nzMode", "nzFilterOption", "compareWith", "nzAllowClear", "nzBorderless", "nzShowSearch", "nzLoading", "nzAutoFocus", "nzAutoClearSearchValue", "nzServerSearch", "nzDisabled", "nzOpen", "nzSelectOnTab", "nzBackdrop", "nzOptions", "nzShowArrow"], outputs: ["nzOnSearch", "nzScrollToBottom", "nzOpenChange", "nzBlur", "nzFocus", "nzOnClear"], exportAs: ["nzSelect"] }] }); }
5415
5491
  }
5416
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: SelectTreeComponent, decorators: [{
5492
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SelectTreeComponent, decorators: [{
5417
5493
  type: Component,
5418
5494
  args: [{ standalone: false, selector: 'app-select-tree', template: "<nz-select\r\n nzAllowClear=\"false\"\r\n [nzDropdownMatchSelectWidth]=\"false\"\r\n nzServerSearch\r\n [(ngModel)]=\"selectValue\"\r\n style=\"width: 100px\"\r\n (ngModelChange)=\"changeValue()\"\r\n [nzDisabled]=\"isDisable\"\r\n>\r\n <nz-option *ngFor=\"let o of dicts[opt.dictCode]\" [nzLabel]=\"o.typeName\" [nzValue]=\"o\" > </nz-option>\r\n</nz-select>\r\n" }]
5419
5495
  }], ctorParameters: () => [{ type: DictService }], propDecorators: { opt: [{
@@ -5480,10 +5556,10 @@ class EchartsComponent {
5480
5556
  this.myEchart = echarts.init(this.echart.nativeElement);
5481
5557
  this.myEchart.setOption(this.option);
5482
5558
  }
5483
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: EchartsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5484
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: EchartsComponent, isStandalone: false, selector: "app-echarts", inputs: { userOption: "userOption", width: "width", height: "height" }, viewQueries: [{ propertyName: "echart", first: true, predicate: ["echart"], descendants: true }], ngImport: i0, template: "<div [ngStyle]=\"{width:width,height:height}\" #echart></div>", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
5559
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EchartsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5560
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: EchartsComponent, isStandalone: false, selector: "app-echarts", inputs: { userOption: "userOption", width: "width", height: "height" }, viewQueries: [{ propertyName: "echart", first: true, predicate: ["echart"], descendants: true }], ngImport: i0, template: "<div [ngStyle]=\"{width:width,height:height}\" #echart></div>", styles: [""], dependencies: [{ kind: "directive", type: i2$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
5485
5561
  }
5486
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: EchartsComponent, decorators: [{
5562
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EchartsComponent, decorators: [{
5487
5563
  type: Component,
5488
5564
  args: [{ standalone: false, selector: 'app-echarts', template: "<div [ngStyle]=\"{width:width,height:height}\" #echart></div>" }]
5489
5565
  }], ctorParameters: () => [], propDecorators: { echart: [{
@@ -5604,12 +5680,12 @@ class ImgCanvasComponent {
5604
5680
  this.initImg();
5605
5681
  }, 300);
5606
5682
  }
5607
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ImgCanvasComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
5608
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: ImgCanvasComponent, isStandalone: false, selector: "app-img", inputs: { needTime: "needTime", url: "url", clipArr: "clipArr", rotateNum: "rotateNum", needContextmenu: "needContextmenu" }, outputs: { loadOver: "loadOver" }, viewQueries: [{ propertyName: "canvas1", first: true, predicate: ["canvas1"], descendants: true }], ngImport: i0, template: "<canvas #canvas1 style=\"width: 100%;height: 100%;\" oncontextmenu=\"return needContextmenu\">\n \u60A8\u7684\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u753B\u5E03\uFF01\n</canvas>\n<ng-content></ng-content>\n", styles: [""] }); }
5683
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ImgCanvasComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
5684
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: ImgCanvasComponent, isStandalone: false, selector: "app-img", inputs: { needTime: "needTime", url: "url", clipArr: "clipArr", rotateNum: "rotateNum", needContextmenu: "needContextmenu" }, outputs: { loadOver: "loadOver" }, viewQueries: [{ propertyName: "canvas1", first: true, predicate: ["canvas1"], descendants: true }], ngImport: i0, template: "<canvas #canvas1 style=\"width: 100%;height: 100%;\" (contextmenu)=\"needContextmenu || $event.preventDefault()\">\r\n \u60A8\u7684\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u753B\u5E03\uFF01\r\n</canvas>\r\n<ng-content></ng-content>\r\n", styles: [""] }); }
5609
5685
  }
5610
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ImgCanvasComponent, decorators: [{
5686
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ImgCanvasComponent, decorators: [{
5611
5687
  type: Component,
5612
- args: [{ standalone: false, selector: 'app-img', template: "<canvas #canvas1 style=\"width: 100%;height: 100%;\" oncontextmenu=\"return needContextmenu\">\n \u60A8\u7684\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u753B\u5E03\uFF01\n</canvas>\n<ng-content></ng-content>\n" }]
5688
+ args: [{ standalone: false, selector: 'app-img', template: "<canvas #canvas1 style=\"width: 100%;height: 100%;\" (contextmenu)=\"needContextmenu || $event.preventDefault()\">\r\n \u60A8\u7684\u6D4F\u89C8\u5668\u4E0D\u652F\u6301\u753B\u5E03\uFF01\r\n</canvas>\r\n<ng-content></ng-content>\r\n" }]
5613
5689
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { needTime: [{
5614
5690
  type: Input
5615
5691
  }], url: [{
@@ -5627,51 +5703,92 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
5627
5703
  type: Input
5628
5704
  }] } });
5629
5705
 
5630
- class ImgTdComponent {
5631
- constructor(ossImgPipe, defaultValPipe) {
5632
- this.ossImgPipe = ossImgPipe;
5633
- this.defaultValPipe = defaultValPipe;
5634
- this.imageUrl = '';
5635
- this.defaultVal = '';
5636
- }
5637
- agInit(params) {
5638
- this.imageUrl = this.getRealImgUrl(params.value);
5639
- }
5640
- getRealImgUrl(value) {
5641
- return this.ossImgPipe.transform(value);
5642
- }
5643
- refresh(params) {
5644
- this.imageUrl = this.getRealImgUrl(params.value);
5706
+ /** Resolve a row field without treating valid zero/false values as missing. */
5707
+ function getTableValue(data, key) {
5708
+ if (!key)
5709
+ return undefined;
5710
+ return key.split('.').reduce((value, part) => value == null ? undefined : value[part], data);
5711
+ }
5712
+ function isEmptyTableValue(value) {
5713
+ return value == null || value === '' || (Array.isArray(value) && value.length === 0);
5714
+ }
5715
+ function conditionLiteral(value) {
5716
+ if (typeof value !== 'string')
5717
+ return value;
5718
+ const literal = value.trim();
5719
+ if (literal === 'true')
5645
5720
  return true;
5721
+ if (literal === 'false')
5722
+ return false;
5723
+ if (literal === 'null')
5724
+ return null;
5725
+ if (literal === 'undefined')
5726
+ return undefined;
5727
+ if (/^(['"]).*\1$/.test(literal))
5728
+ return literal.slice(1, -1);
5729
+ return literal;
5730
+ }
5731
+ /** Existing condition operators retain loose numeric/string equality for API codes. */
5732
+ function compareTableValue(value, operator, target) {
5733
+ const expected = conditionLiteral(target);
5734
+ switch (typeof operator === 'string' ? operator.trim() : '') {
5735
+ case 'eq': return value == expected;
5736
+ case 'ne': return value != expected;
5737
+ case 'empty': return isEmptyTableValue(value);
5738
+ case 'notEmpty': return !isEmptyTableValue(value);
5739
+ case 'gh':
5740
+ case 'ge':
5741
+ case 'gte': return value != null && expected != null && value >= expected;
5742
+ case 'gt': return value != null && expected != null && value > expected;
5743
+ case 'lh':
5744
+ case 'le':
5745
+ case 'lte': return value != null && expected != null && value <= expected;
5746
+ case 'lt': return value != null && expected != null && value < expected;
5747
+ case 'in': return String(expected ?? '').split(',').some(item => value == conditionLiteral(item));
5748
+ case 'notIn': return !String(expected ?? '').split(',').some(item => value == conditionLiteral(item));
5749
+ case 'contains': return value != null && String(value).includes(String(expected ?? ''));
5750
+ default: return false;
5646
5751
  }
5647
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ImgTdComponent, deps: [{ token: OssImgPipe }, { token: DefaultValPipe }], target: i0.ɵɵFactoryTarget.Component }); }
5648
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: ImgTdComponent, isStandalone: true, selector: "app-img-td", providers: [OssImgPipe, DefaultValPipe], ngImport: i0, template: "<img width=\"35px\" nzSrc=\"{{(imageUrl | defVal:defaultVal) | ossImg}}\"\r\n nz-image atrErrorImg/>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: NzImageModule }, { kind: "directive", type: i1$3.NzImageDirective, selector: "img[nz-image]", inputs: ["nzSrc", "nzSrcset", "nzDisablePreview", "nzFallback", "nzPlaceholder", "nzScaleStep"], exportAs: ["nzImage"] }, { kind: "directive", type: AtrErrorImgDirective, selector: "[atrErrorImg]", inputs: ["atrErrorImg"] }, { kind: "pipe", type: DefaultValPipe, name: "defVal" }, { kind: "pipe", type: OssImgPipe, name: "ossImg" }] }); }
5649
5752
  }
5650
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: ImgTdComponent, decorators: [{
5651
- type: Component,
5652
- args: [{ selector: 'app-img-td', standalone: true, imports: [NzImageModule, AtrErrorImgDirective, DefaultValPipe, OssImgPipe], providers: [OssImgPipe, DefaultValPipe], template: "<img width=\"35px\" nzSrc=\"{{(imageUrl | defVal:defaultVal) | ossImg}}\"\r\n nz-image atrErrorImg/>\r\n" }]
5653
- }], ctorParameters: () => [{ type: OssImgPipe }, { type: DefaultValPipe }] });
5753
+ /** Parse field|operator|value conditions, with AND taking precedence over OR. */
5754
+ function matchesTableCondition(data, condition) {
5755
+ if (condition == null || condition === '')
5756
+ return true;
5757
+ if (typeof condition !== 'string')
5758
+ return false;
5759
+ if (!condition.trim())
5760
+ return true;
5761
+ return condition.split('||').some(group => group.split('&&').every(expression => {
5762
+ const [field, operator, ...target] = expression.trim().split('|');
5763
+ return !!field?.trim() && !!operator?.trim()
5764
+ && compareTableValue(getTableValue(data, field.trim()), operator.trim(), target.join('|'));
5765
+ }));
5766
+ }
5654
5767
 
5655
5768
  class BtnTdComponent {
5656
5769
  constructor() {
5657
5770
  this.buttons = [];
5658
5771
  }
5659
5772
  agInit(params) {
5660
- console.log('操作', params.buttons, this.buttons);
5661
- this.buttons = params.buttons || [];
5662
- this.params = params;
5773
+ this.refresh(params);
5663
5774
  }
5664
5775
  refresh(params) {
5665
- this.buttons = params.buttons || [];
5666
5776
  this.params = params;
5777
+ this.buttons = (params.buttons || []).filter(action => matchesTableCondition(params.data, action.operator));
5667
5778
  return true;
5668
5779
  }
5669
5780
  doActionByRow(code, event) {
5781
+ event.preventDefault();
5782
+ event.stopPropagation();
5783
+ const button = this.buttons.find(action => action.code === code);
5784
+ if (!button || !matchesTableCondition(this.params.data, button.operator))
5785
+ return;
5670
5786
  if (this.params.callback) {
5671
5787
  const data = this.params.data;
5672
5788
  const rowIndex = this.params.node?.rowIndex ?? -1;
5673
5789
  let action = {
5674
- name: code,
5790
+ ...button,
5791
+ name: button.name,
5675
5792
  code: code,
5676
5793
  type: "row"
5677
5794
  };
@@ -5681,14 +5798,271 @@ class BtnTdComponent {
5681
5798
  this.params.callback({ data: action, event: event });
5682
5799
  }
5683
5800
  }
5684
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: BtnTdComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5685
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: BtnTdComponent, isStandalone: false, selector: "app-btn-td", ngImport: i0, template: "<div class=\"btn-td-content\" *ngIf=\"buttons.length > 0\">\r\n <ng-container *ngFor=\"let action of buttons\">\r\n <ng-container *ngIf=\"!action.withoutRole\">\r\n <button nz-button [ngClass]=\"action.className || ''\"\r\n [nzType]=\"action.buttonType&&action.buttonType != 'danger'? action.buttonType : 'primary'\"\r\n [nzDanger]=\"action.buttonType == 'danger'\"\r\n nzSize=\"small\" *atrRole=\"action.code\"\r\n (click)=\"doActionByRow(action.code,$event)\">\r\n <i nz-icon *ngIf=\"action.icon\" [nzType]=\"action.icon\"></i>\r\n {{action.name}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"action.withoutRole\">\r\n <button nz-button [ngClass]=\"action.className || ''\"\r\n [nzType]=\"action.buttonType&&action.buttonType != 'danger'? action.buttonType : 'primary'\"\r\n [nzDanger]=\"action.buttonType == 'danger'\"\r\n nzSize=\"small\" (click)=\"doActionByRow(action.code,$event)\">\r\n <i nz-icon *ngIf=\"action.icon\" [nzType]=\"action.icon\"></i>\r\n {{action.name}}</button>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n", styles: [":host{display:flex;align-items:center;height:100%;width:100%}:host .btn-td-content{display:flex;align-items:center;width:100%;height:100%}:host button{margin-right:5px}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i3.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i5$1.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "directive", type: i8$1.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: AtrRoleDirective, selector: "[atrRole]", inputs: ["atrRole"] }] }); }
5801
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BtnTdComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5802
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: BtnTdComponent, isStandalone: false, selector: "app-btn-td", ngImport: i0, template: "<div class=\"btn-td-content\" *ngIf=\"buttons.length > 0\">\r\n <ng-container *ngFor=\"let action of buttons\">\r\n <ng-container *ngIf=\"!action.withoutRole\">\r\n <button type=\"button\" nz-button [ngClass]=\"action.className || ''\"\r\n [nzType]=\"action.buttonType&&action.buttonType != 'danger'? action.buttonType : 'primary'\"\r\n [nzDanger]=\"action.buttonType == 'danger'\"\r\n nzSize=\"small\" *atrRole=\"action.code\"\r\n (mousedown)=\"$event.stopPropagation()\" (click)=\"doActionByRow(action.code,$event)\">\r\n <i nz-icon *ngIf=\"action.icon\" [nzType]=\"action.icon\"></i>\r\n {{action.name}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"action.withoutRole\">\r\n <button type=\"button\" nz-button [ngClass]=\"action.className || ''\"\r\n [nzType]=\"action.buttonType&&action.buttonType != 'danger'? action.buttonType : 'primary'\"\r\n [nzDanger]=\"action.buttonType == 'danger'\"\r\n nzSize=\"small\" (mousedown)=\"$event.stopPropagation()\" (click)=\"doActionByRow(action.code,$event)\">\r\n <i nz-icon *ngIf=\"action.icon\" [nzType]=\"action.icon\"></i>\r\n {{action.name}}</button>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n", styles: [":host{display:flex;align-items:center;height:100%;width:100%}:host .btn-td-content{display:flex;align-items:center;width:100%;height:100%}:host button{margin-right:5px}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i4.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i5$1.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "directive", type: i10.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: AtrRoleDirective, selector: "[atrRole]", inputs: ["atrRole"] }] }); }
5686
5803
  }
5687
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: BtnTdComponent, decorators: [{
5804
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BtnTdComponent, decorators: [{
5688
5805
  type: Component,
5689
- args: [{ selector: 'app-btn-td', standalone: false, template: "<div class=\"btn-td-content\" *ngIf=\"buttons.length > 0\">\r\n <ng-container *ngFor=\"let action of buttons\">\r\n <ng-container *ngIf=\"!action.withoutRole\">\r\n <button nz-button [ngClass]=\"action.className || ''\"\r\n [nzType]=\"action.buttonType&&action.buttonType != 'danger'? action.buttonType : 'primary'\"\r\n [nzDanger]=\"action.buttonType == 'danger'\"\r\n nzSize=\"small\" *atrRole=\"action.code\"\r\n (click)=\"doActionByRow(action.code,$event)\">\r\n <i nz-icon *ngIf=\"action.icon\" [nzType]=\"action.icon\"></i>\r\n {{action.name}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"action.withoutRole\">\r\n <button nz-button [ngClass]=\"action.className || ''\"\r\n [nzType]=\"action.buttonType&&action.buttonType != 'danger'? action.buttonType : 'primary'\"\r\n [nzDanger]=\"action.buttonType == 'danger'\"\r\n nzSize=\"small\" (click)=\"doActionByRow(action.code,$event)\">\r\n <i nz-icon *ngIf=\"action.icon\" [nzType]=\"action.icon\"></i>\r\n {{action.name}}</button>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n", styles: [":host{display:flex;align-items:center;height:100%;width:100%}:host .btn-td-content{display:flex;align-items:center;width:100%;height:100%}:host button{margin-right:5px}\n"] }]
5806
+ args: [{ selector: 'app-btn-td', standalone: false, template: "<div class=\"btn-td-content\" *ngIf=\"buttons.length > 0\">\r\n <ng-container *ngFor=\"let action of buttons\">\r\n <ng-container *ngIf=\"!action.withoutRole\">\r\n <button type=\"button\" nz-button [ngClass]=\"action.className || ''\"\r\n [nzType]=\"action.buttonType&&action.buttonType != 'danger'? action.buttonType : 'primary'\"\r\n [nzDanger]=\"action.buttonType == 'danger'\"\r\n nzSize=\"small\" *atrRole=\"action.code\"\r\n (mousedown)=\"$event.stopPropagation()\" (click)=\"doActionByRow(action.code,$event)\">\r\n <i nz-icon *ngIf=\"action.icon\" [nzType]=\"action.icon\"></i>\r\n {{action.name}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"action.withoutRole\">\r\n <button type=\"button\" nz-button [ngClass]=\"action.className || ''\"\r\n [nzType]=\"action.buttonType&&action.buttonType != 'danger'? action.buttonType : 'primary'\"\r\n [nzDanger]=\"action.buttonType == 'danger'\"\r\n nzSize=\"small\" (mousedown)=\"$event.stopPropagation()\" (click)=\"doActionByRow(action.code,$event)\">\r\n <i nz-icon *ngIf=\"action.icon\" [nzType]=\"action.icon\"></i>\r\n {{action.name}}</button>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n", styles: [":host{display:flex;align-items:center;height:100%;width:100%}:host .btn-td-content{display:flex;align-items:center;width:100%;height:100%}:host button{margin-right:5px}\n"] }]
5690
5807
  }], ctorParameters: () => [] });
5691
5808
 
5809
+ /** A data URI contains a comma itself, so it must never be split as a URL list. */
5810
+ function splitGridImages(value, defaultValue) {
5811
+ const input = value == null ? defaultValue : value;
5812
+ const values = Array.isArray(input) ? input : [input];
5813
+ return values.flatMap(item => {
5814
+ if (item == null || item === '')
5815
+ return [];
5816
+ const text = String(item).trim();
5817
+ return /^data:/i.test(text) ? [text] : text.split(',').map(url => url.trim()).filter(Boolean);
5818
+ });
5819
+ }
5820
+ function resolveGridImageUrl(value, prefix = '', direct = false) {
5821
+ if (!value)
5822
+ return '';
5823
+ if (/^(?:https?:|blob:|data:image\/|\/\/)/i.test(value))
5824
+ return value;
5825
+ if (/^[a-z][a-z\d+.-]*:/i.test(value))
5826
+ return '';
5827
+ const base = prefix.replace(/\/+$/, '');
5828
+ if (direct || !base || value === base || value.startsWith(base + '/'))
5829
+ return value;
5830
+ return `${base}/${value.replace(/^\/+/, '')}`;
5831
+ }
5832
+
5833
+ class ImgTdComponent {
5834
+ constructor(ossImgPipe, defaultValPipe) {
5835
+ this.ossImgPipe = ossImgPipe;
5836
+ this.defaultValPipe = defaultValPipe;
5837
+ this.imageUrl = '';
5838
+ this.defaultVal = '';
5839
+ this.imageUrls = [];
5840
+ this.imagePrefix = atr_static_datas.OSS_URL;
5841
+ this.direct = false;
5842
+ }
5843
+ agInit(params) {
5844
+ this.refresh(params);
5845
+ }
5846
+ getRealImgUrl(value) {
5847
+ return resolveGridImageUrl(String(value ?? ''), this.imagePrefix, this.direct);
5848
+ }
5849
+ refresh(params) {
5850
+ const options = params;
5851
+ this.defaultVal = options.defaultVal ?? '';
5852
+ this.imagePrefix = options.imagePrefix ?? atr_static_datas.OSS_URL;
5853
+ this.direct = !!options.image64;
5854
+ this.imageUrls = splitGridImages(params.value, this.defaultVal)
5855
+ .map(value => this.getRealImgUrl(value)).filter(Boolean);
5856
+ this.imageUrl = this.imageUrls[0] || '';
5857
+ return true;
5858
+ }
5859
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ImgTdComponent, deps: [{ token: OssImgPipe }, { token: DefaultValPipe }], target: i0.ɵɵFactoryTarget.Component }); }
5860
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: ImgTdComponent, isStandalone: true, selector: "app-img-td", providers: [OssImgPipe, DefaultValPipe], ngImport: i0, template: "<nz-image-group *ngIf=\"imageUrls.length\">\r\n <img *ngFor=\"let image of imageUrls\" width=\"35\" height=\"35\" [nzSrc]=\"image\"\r\n nz-image atrErrorImg alt=\"\u8868\u683C\u56FE\u7247\" (mousedown)=\"$event.stopPropagation()\" (click)=\"$event.stopPropagation()\"/>\r\n</nz-image-group>\r\n", styles: [":host{display:flex;align-items:center;height:100%}nz-image-group{display:flex;align-items:center;gap:4px}img{object-fit:cover;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: NzImageModule }, { kind: "directive", type: i1$3.NzImageDirective, selector: "img[nz-image]", inputs: ["nzSrc", "nzSrcset", "nzDisablePreview", "nzFallback", "nzPlaceholder", "nzScaleStep"], exportAs: ["nzImage"] }, { kind: "component", type: i1$3.NzImageGroupComponent, selector: "nz-image-group", inputs: ["nzScaleStep"], exportAs: ["nzImageGroup"] }, { kind: "directive", type: AtrErrorImgDirective, selector: "[atrErrorImg]", inputs: ["atrErrorImg"] }] }); }
5861
+ }
5862
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ImgTdComponent, decorators: [{
5863
+ type: Component,
5864
+ args: [{ selector: 'app-img-td', standalone: true, imports: [CommonModule, NzImageModule, AtrErrorImgDirective], providers: [OssImgPipe, DefaultValPipe], template: "<nz-image-group *ngIf=\"imageUrls.length\">\r\n <img *ngFor=\"let image of imageUrls\" width=\"35\" height=\"35\" [nzSrc]=\"image\"\r\n nz-image atrErrorImg alt=\"\u8868\u683C\u56FE\u7247\" (mousedown)=\"$event.stopPropagation()\" (click)=\"$event.stopPropagation()\"/>\r\n</nz-image-group>\r\n", styles: [":host{display:flex;align-items:center;height:100%}nz-image-group{display:flex;align-items:center;gap:4px}img{object-fit:cover;cursor:pointer}\n"] }]
5865
+ }], ctorParameters: () => [{ type: OssImgPipe }, { type: DefaultValPipe }] });
5866
+
5867
+ function defaultValue(value, table) {
5868
+ return value == null ? (table.defaultVal ?? '-') : value;
5869
+ }
5870
+ function displayText(value) {
5871
+ return value == null ? '' : String(value);
5872
+ }
5873
+ function columnStyle(table, params) {
5874
+ const styles = typeof table.styleCallBack === 'function'
5875
+ ? table.styleCallBack(params) : table.styleCallBack;
5876
+ const result = { ...(styles || {}) };
5877
+ if (table.type === 'link' && result['color'] == null)
5878
+ result['color'] = '#1677ff';
5879
+ const color = table.color;
5880
+ if (!color)
5881
+ return result;
5882
+ // AG Grid merges refreshed cellStyle objects; explicitly clear a previous match.
5883
+ if (result['color'] == null)
5884
+ result['color'] = 'inherit';
5885
+ const matchesValue = table.type !== 'textcolor' || table.colorShow == null
5886
+ || compareTableValue(params.value, 'eq', table.colorShow);
5887
+ if (!matchesValue)
5888
+ return result;
5889
+ if (typeof color === 'string')
5890
+ result['color'] = color;
5891
+ else if (matchesTableCondition(params.data, color.operator))
5892
+ result['color'] = color.color;
5893
+ return result;
5894
+ }
5895
+ function templateRenderer(template, table, context) {
5896
+ return class {
5897
+ constructor() {
5898
+ this.element = document.createElement('span');
5899
+ this.view = null;
5900
+ }
5901
+ init(params) {
5902
+ this.element.style.display = 'block';
5903
+ this.view = context.viewContainerRef.createEmbeddedView(template, this.templateContext(params));
5904
+ this.view.detectChanges();
5905
+ this.view.rootNodes.forEach(node => this.element.appendChild(node));
5906
+ }
5907
+ getGui() { return this.element; }
5908
+ refresh(params) {
5909
+ if (!this.view || this.view.destroyed)
5910
+ return false;
5911
+ Object.assign(this.view.context, this.templateContext(params));
5912
+ this.view.detectChanges();
5913
+ return true;
5914
+ }
5915
+ destroy() {
5916
+ this.view?.destroy();
5917
+ this.view = null;
5918
+ this.element.replaceChildren();
5919
+ }
5920
+ templateContext(params) {
5921
+ return { $implicit: params, params, data: params.data, item: table, value: params.value,
5922
+ defaultVal: table.defaultVal, images: splitGridImages(params.value, table.defaultVal) };
5923
+ }
5924
+ };
5925
+ }
5926
+ function linkRenderer(table, context) {
5927
+ return class {
5928
+ constructor() {
5929
+ this.element = document.createElement('button');
5930
+ this.onMouseDown = (event) => event.stopPropagation();
5931
+ this.onClick = (event) => {
5932
+ event.preventDefault();
5933
+ event.stopPropagation();
5934
+ const action = { name: table.name, code: table.key || 'link', type: 'row',
5935
+ data: this.params.data, firstData: this.params.data, value: this.params.value,
5936
+ numberOfChecked: this.params.node?.rowIndex ?? -1 };
5937
+ context.onAction({ data: action, event });
5938
+ };
5939
+ }
5940
+ init(params) {
5941
+ this.element.type = 'button';
5942
+ this.element.className = 'atr-grid-link';
5943
+ Object.assign(this.element.style, { border: '0', background: 'transparent', padding: '0',
5944
+ color: 'inherit', textDecoration: 'underline', cursor: 'pointer', font: 'inherit' });
5945
+ this.element.addEventListener('mousedown', this.onMouseDown);
5946
+ this.element.addEventListener('click', this.onClick);
5947
+ this.refresh(params);
5948
+ }
5949
+ getGui() { return this.element; }
5950
+ refresh(params) {
5951
+ this.params = params;
5952
+ this.element.textContent = displayText(params.valueFormatted ?? defaultValue(params.value, table));
5953
+ return true;
5954
+ }
5955
+ destroy() {
5956
+ this.element.removeEventListener('mousedown', this.onMouseDown);
5957
+ this.element.removeEventListener('click', this.onClick);
5958
+ }
5959
+ };
5960
+ }
5961
+ function htmlRenderer(table, context) {
5962
+ return class {
5963
+ constructor() {
5964
+ this.element = document.createElement('span');
5965
+ }
5966
+ init(params) { this.refresh(params); }
5967
+ getGui() { return this.element; }
5968
+ refresh(params) {
5969
+ const value = defaultValue(params.value, table);
5970
+ const html = table.innerHtmlBack ? table.innerHtmlBack(value, params.data) : value;
5971
+ this.element.innerHTML = context.sanitizer.sanitize(SecurityContext.HTML, displayText(html)) || '';
5972
+ return true;
5973
+ }
5974
+ destroy() { this.element.replaceChildren(); }
5975
+ };
5976
+ }
5977
+ /** Translate the public ATR column schema without mutating the supplied configuration. */
5978
+ function createGridColumn(table, context) {
5979
+ const width = Number(table.width);
5980
+ const column = {
5981
+ headerName: table.name,
5982
+ colId: table.key || table.name,
5983
+ field: table.type === 'fixedText' ? undefined : table.key,
5984
+ width: Number.isFinite(width) && width > 0 ? Math.max(40, width) : 150,
5985
+ sortable: table.sortable ?? (table.sortKey ? true : undefined),
5986
+ hide: table.isShow === false,
5987
+ pinned: table.isLeft ? 'left' : table.isRight ? 'right' : undefined,
5988
+ resizable: table.forbidResize == null ? undefined : !table.forbidResize,
5989
+ spanRows: !!table.isRowSpan,
5990
+ cellStyle: table.styleCallBack || table.color || table.type === 'link'
5991
+ ? params => columnStyle(table, params) : undefined,
5992
+ valueFormatter: params => displayText(defaultValue(params.value, table))
5993
+ };
5994
+ switch (table.type) {
5995
+ case 'fixedText':
5996
+ column.valueGetter = () => table.key ?? table.defaultVal ?? '';
5997
+ break;
5998
+ case 'date':
5999
+ case 'dateTime':
6000
+ case 'sDateTime': {
6001
+ const format = table.dateFormat || (table.type === 'date' ? 'yyyy-MM-dd'
6002
+ : table.type === 'sDateTime' ? 'MM-dd HH:mm' : 'yyyy-MM-dd HH:mm:ss');
6003
+ column.valueFormatter = params => {
6004
+ if (params.value == null || params.value === '')
6005
+ return displayText(defaultValue(params.value, table));
6006
+ try {
6007
+ return context.datePipe.transform(params.value, format) ?? displayText(defaultValue(null, table));
6008
+ }
6009
+ catch {
6010
+ return displayText(params.value);
6011
+ }
6012
+ };
6013
+ break;
6014
+ }
6015
+ case 'dict':
6016
+ column.valueFormatter = params => {
6017
+ if (params.value == null)
6018
+ return displayText(defaultValue(params.value, table));
6019
+ const labels = table.dictCode ? context.dictMap[table.dictCode] || {} : {};
6020
+ const values = Array.isArray(params.value) ? params.value : String(params.value).split(',');
6021
+ return values.map(value => labels[String(value).trim()] ?? value).join(',');
6022
+ };
6023
+ break;
6024
+ case 'action':
6025
+ column.cellRenderer = BtnTdComponent;
6026
+ column.cellClass = 'atr-action-cell';
6027
+ column.cellRendererParams = { buttons: table.actions || [], callback: context.onAction,
6028
+ suppressMouseEventHandling: () => true };
6029
+ break;
6030
+ case 'image':
6031
+ case 'image64':
6032
+ column.cellRenderer = ImgTdComponent;
6033
+ column.cellRendererParams = { defaultVal: table.defaultVal, imagePrefix: context.imagePrefix,
6034
+ image64: table.type === 'image64', suppressMouseEventHandling: () => true };
6035
+ break;
6036
+ case 'link':
6037
+ column.cellRenderer = linkRenderer(table, context);
6038
+ column.cellRendererParams = { suppressMouseEventHandling: () => true };
6039
+ break;
6040
+ case 'innerHtml':
6041
+ column.cellRenderer = htmlRenderer(table, context);
6042
+ break;
6043
+ case 'tempRef':
6044
+ if (table.tempRef)
6045
+ column.cellRenderer = templateRenderer(table.tempRef, table, context);
6046
+ break;
6047
+ case 'text':
6048
+ case 'textcolor':
6049
+ break;
6050
+ }
6051
+ if (table.valueFormatter != null)
6052
+ column.valueFormatter = table.valueFormatter;
6053
+ if (table.cellRenderer != null)
6054
+ column.cellRenderer = table.cellRenderer;
6055
+ const customParams = table.cellRendererParams;
6056
+ if (customParams != null) {
6057
+ const builtInParams = column.cellRendererParams;
6058
+ column.cellRendererParams = typeof customParams === 'function'
6059
+ ? params => ({ ...builtInParams, ...(customParams(params) || {}) })
6060
+ : { ...builtInParams, ...customParams };
6061
+ }
6062
+ return column;
6063
+ }
6064
+
6065
+ ModuleRegistry.registerModules([AllCommunityModule]);
5692
6066
  class AtrGridTableComponent {
5693
6067
  constructor(fb, ossImgPipe, defaultValPipe, datePipe, viewContainerRef, injector, locale, cd) {
5694
6068
  this.fb = fb;
@@ -5699,903 +6073,758 @@ class AtrGridTableComponent {
5699
6073
  this.injector = injector;
5700
6074
  this.locale = locale;
5701
6075
  this.cd = cd;
5702
- this.columnDefs = [];
5703
- this.dictMap = {};
5704
- this.rowSelection = { enableSelectionWithoutKeys: true };
5705
- this.gridApi = null;
5706
- /*
5707
- * {
5708
- mode: 'singleRow',
5709
- };
5710
- * */
5711
- // {
5712
- // headerName: '日期',
5713
- // field: 'date',
5714
- // pinned: 'left',
5715
- // width: 150
5716
- // },
5717
- this.viewInitOver = false;
5718
- this.tableWidth = 0;
5719
- this.tableHeight = '100%';
5720
- this.scrollX = 0;
5721
- this.id = -1;
5722
- this.scrollSize = { x: "", y: "" };
5723
- this.isCollapse = true;
5724
- this.atrForm = null;
5725
- this.dicts = {};
5726
- this.pageIndex = 1;
5727
- this.total = 1;
5728
6076
  this.pageSize = 20;
5729
6077
  this.pageSizeOptions = [20, 30, 40, 50, 60];
5730
6078
  this.loading = true;
5731
- this.allowDrag = false; //允许拖拽换位
6079
+ this.allowDrag = false;
5732
6080
  this.showQueryTime = false;
5733
- this.tableDatas = [];
5734
- this.visibleTables = [];
5735
- //表格checkbox 配置
5736
- this.isAllDisplayDataChecked = false;
5737
- this.isIndeterminate = false;
5738
- this.numberOfChecked = 0;
5739
- this.mapOfCheckedId = {};
5740
- this.curChecked = -1;
5741
- this.imagePrefix = atr_static_datas.OSS_URL;
5742
- this.defaultParams = {};
5743
6081
  this.isHideTable = false;
5744
- this.isAllLoad = false;
5745
- this.sortMap = {};
5746
- this.rowSpanMap = {}; //key:{德科牧场:{num:1}}
5747
- this.headerDefaultVal = {};
5748
6082
  this.sortKey = 'sortBy';
6083
+ this.queryOpts = { url: '', tables: [] };
5749
6084
  this.showPagination = true;
5750
- this.title = "";
6085
+ this.title = '';
5751
6086
  this.queryHeaders = null;
6087
+ this.rowKey = 'id';
6088
+ this.gridOptions = {};
5752
6089
  this.tableAction = new EventEmitter();
5753
6090
  this.queryBack = new EventEmitter();
5754
6091
  this.headerAction = new EventEmitter();
6092
+ this.columnDefs = [];
6093
+ this.defaultColDef = { resizable: true, minWidth: 60, sortable: false };
6094
+ this.resolvedGridOptions = {};
6095
+ this.cellSpanEnabled = false;
6096
+ this.rowSelection = { mode: 'singleRow', checkboxes: false, enableClickSelection: true };
6097
+ this.gridApi = null;
6098
+ this.dictMap = {};
6099
+ this.dicts = {};
6100
+ this.searchHeaders = [];
6101
+ this.headerDefaultVal = {};
6102
+ this.defaultParams = {};
6103
+ this.tableDatas = [];
6104
+ this.visibleTables = [];
6105
+ this.sortMap = {};
6106
+ this.rowSpanMap = {};
6107
+ this.mapOfCheckedId = {};
6108
+ this.numberOfChecked = 0;
6109
+ this.isAllDisplayDataChecked = false;
6110
+ this.isIndeterminate = false;
6111
+ this.curChecked = -1;
6112
+ this.pageIndex = 1;
6113
+ this.total = 0;
6114
+ this.isCollapse = true;
6115
+ this.isAllLoad = false;
6116
+ this.viewInitOver = false;
6117
+ this.tableWidth = 0;
6118
+ this.tableHeight = '100%';
6119
+ this.queryTime = '';
6120
+ this.queryError = '';
6121
+ this.imagePrefix = atr_static_datas.OSS_URL;
6122
+ this.scrollX = 0;
6123
+ this.scrollSize = { x: '', y: '' };
5755
6124
  this.resizeDirection = null;
5756
- this.queryTime = "";
6125
+ this.id = -1;
6126
+ this.initialized = false;
6127
+ this.viewReady = false;
6128
+ this.destroyed = false;
6129
+ this.configRevision = 0;
6130
+ this.columnRevision = 0;
6131
+ this.requestRevision = 0;
6132
+ this.destroy$ = new Subject();
6133
+ this.pendingDictionaries = new Map();
6134
+ this.loadedDictionaries = new Set();
6135
+ this.fallbackRowIds = new WeakMap();
6136
+ this.nextRowId = 0;
6137
+ this.suppressSelectionEvents = false;
6138
+ this.columnTables = new Map();
6139
+ this.getRowId = (params) => this.getDataId(params.data);
6140
+ this.getRowStyle = params => {
6141
+ const custom = this.gridOptions?.getRowStyle?.(params) || {};
6142
+ const color = this.isShowColor(params.data);
6143
+ return this.queryOpts?.color ? { ...custom, color: color || custom['color'] || 'inherit' } : custom;
6144
+ };
6145
+ this.atrForm = this.fb.group({});
5757
6146
  }
5758
- //新版table
5759
- async initTableHeader() {
5760
- this.columnDefs = [];
5761
- this.tableWidth = this.tableContent.nativeElement.offsetWidth;
5762
- let currentWidth = this.tableWidth - 250;
5763
- if (this.queryOpts.isIndex) {
5764
- this.columnDefs.push({
5765
- headerName: '#',
5766
- colId: '__index__',
5767
- valueGetter: params => {
5768
- const rowIndex = params.node?.rowIndex ?? 0;
5769
- return (this.pageIndex - 1) * this.pageSize + rowIndex + 1;
5770
- },
5771
- width: 60,
5772
- minWidth: 60,
5773
- maxWidth: 80,
5774
- pinned: 'left',
5775
- sortable: false,
5776
- resizable: false,
5777
- suppressMovable: true,
5778
- cellStyle: {
5779
- textAlign: 'center'
5780
- }
5781
- });
6147
+ get actions() { return this.queryOpts?.actions || []; }
6148
+ get tables() { return this.queryOpts?.tables || []; }
6149
+ get visibleHeaderCount() { return Math.max(0, this.queryOpts?.showNum ?? this.searchHeaders.length); }
6150
+ get hasMoreHeaders() { return this.searchHeaders.filter(item => item.isShow !== false).length > this.visibleHeaderCount; }
6151
+ isHeaderVisible(header, index) {
6152
+ return header.isShow !== false && (!this.isCollapse
6153
+ || this.searchHeaders.slice(0, index).filter(item => item.isShow !== false).length < this.visibleHeaderCount);
6154
+ }
6155
+ get enableCellSpan() { return this.tables.some(item => item.isShow !== false && !!item.isRowSpan); }
6156
+ ngOnInit() {
6157
+ this.initialized = true;
6158
+ this.defaultParams = { ...this.queryOpts?.defaultParams };
6159
+ this.sortMap = this.parseSort(this.queryOpts?.sort || this.queryOpts?.sortBy);
6160
+ this.normalizePagination();
6161
+ }
6162
+ ngOnChanges(changes) {
6163
+ if (!this.initialized)
6164
+ return;
6165
+ if (changes['queryOpts']) {
6166
+ this.defaultParams = { ...this.queryOpts?.defaultParams };
6167
+ this.sortMap = this.parseSort(this.queryOpts?.sort || this.queryOpts?.sortBy);
6168
+ this.pageIndex = 1;
6169
+ this.cancelQuery();
6170
+ if (this.viewReady)
6171
+ void this.initializeGrid();
5782
6172
  }
5783
- for (let i = 0; i < this.queryOpts.tables.length; i++) {
5784
- let item = this.queryOpts.tables[i];
5785
- if (item.isShow) {
5786
- if (i == this.queryOpts.tables.length - 1) {
5787
- item.width = currentWidth;
5788
- }
5789
- else {
5790
- currentWidth -= item.width;
5791
- }
5792
- }
5793
- this.columnDefs.push(await this.transColumnDefs(item));
6173
+ else if (this.viewReady && (changes['gridOptions'] || changes['rowKey'])) {
6174
+ this.cancelQuery();
6175
+ void this.initializeGrid(false);
5794
6176
  }
5795
- if (this.queryOpts.checkBox?.isShowCheckbox) {
5796
- console.log('this.rowSelection', this.queryOpts.checkBox.isRadio);
5797
- if (this.queryOpts.checkBox.isRadio) {
5798
- this.rowSelection['mode'] = 'singleRow';
5799
- }
5800
- else {
5801
- this.rowSelection['mode'] = 'multiRow';
5802
- }
5803
- console.log('this.rowSelection', this.rowSelection);
6177
+ else if (this.viewReady && changes['allowDrag']) {
6178
+ this.configureGrid();
6179
+ void this.refreshColumns();
6180
+ }
6181
+ if (changes['pageSize']) {
6182
+ this.normalizePagination();
6183
+ if (!changes['queryOpts'] && this.isAllLoad)
6184
+ this.query(true);
6185
+ }
6186
+ }
6187
+ ngAfterViewInit() {
6188
+ this.viewReady = true;
6189
+ if (typeof ResizeObserver !== 'undefined') {
6190
+ this.resizeObserver = new ResizeObserver(() => this.updateTableHeight());
6191
+ this.resizeObserver.observe(this.tableContent.nativeElement);
5804
6192
  }
6193
+ void this.initializeGrid();
6194
+ }
6195
+ async initializeGrid(autoQuery = true) {
6196
+ const revision = ++this.configRevision;
6197
+ this.viewInitOver = false;
6198
+ this.isAllLoad = false;
6199
+ this.gridApi = null;
6200
+ this.syncSelection([]);
6201
+ // Some native options are initial-only. Destroy the previous grid before rebuilding it.
6202
+ await Promise.resolve();
6203
+ if (this.destroyed || revision !== this.configRevision)
6204
+ return;
6205
+ this.cd.detectChanges();
6206
+ this.configureGrid();
6207
+ await this.initHeader();
6208
+ if (this.destroyed || revision !== this.configRevision)
6209
+ return;
6210
+ await this.initTableHeader();
6211
+ if (this.destroyed || revision !== this.configRevision)
6212
+ return;
6213
+ this.cellSpanEnabled = this.enableCellSpan;
6214
+ this.isAllLoad = true;
6215
+ this.viewInitOver = true;
6216
+ this.loading = false;
6217
+ this.cd.detectChanges();
5805
6218
  this.updateTableHeight();
6219
+ // Historical contract: true skips the initial automatic request.
6220
+ if (autoQuery && !this.queryOpts?.isAutoQuery)
6221
+ this.query();
5806
6222
  }
5807
- updateTableHeight() {
5808
- const headerEl = this.tableHeader?.nativeElement;
5809
- if (!headerEl) {
5810
- this.tableHeight = '100%';
6223
+ configureGrid() {
6224
+ this.defaultColDef = { resizable: true, minWidth: 60, sortable: false, ...this.gridOptions?.defaultColDef };
6225
+ this.resolvedGridOptions = { ...this.gridOptions, rowModelType: 'clientSide' };
6226
+ const check = this.queryOpts?.checkBox || {};
6227
+ const common = {
6228
+ checkboxes: !!check.isShowCheckbox, enableClickSelection: !check.isForbid,
6229
+ enableSelectionWithoutKeys: true,
6230
+ isRowSelectable: (node) => !!node.data && (!check.isRowSelectable || !!check.isRowSelectable(node))
6231
+ };
6232
+ this.rowSelection = check.isShowCheckbox && !check.isRadio
6233
+ ? { ...common, mode: 'multiRow', headerCheckbox: true, selectAll: 'filtered' }
6234
+ : { ...common, mode: 'singleRow' };
6235
+ }
6236
+ async initTableHeader() {
6237
+ const revision = ++this.columnRevision;
6238
+ const tables = this.tables.slice();
6239
+ await Promise.all(tables.filter(item => item.type === 'dict' && item.dictCode)
6240
+ .map(item => this.loadDictionary(item.dictCode)));
6241
+ if (this.destroyed || revision !== this.columnRevision)
5811
6242
  return;
6243
+ const definitions = [];
6244
+ const columnTables = new Map();
6245
+ if (this.allowDrag || this.queryOpts?.isIndex) {
6246
+ definitions.push({
6247
+ headerName: this.queryOpts?.isIndex ? '#' : '', colId: '__index__', width: this.allowDrag ? 85 : 65,
6248
+ minWidth: this.allowDrag ? 85 : 65, maxWidth: this.allowDrag ? 100 : 80,
6249
+ pinned: 'left', sortable: false, filter: false, editable: false, resizable: false,
6250
+ suppressMovable: true, rowDrag: this.allowDrag ? () => this.canDragRows() : false,
6251
+ valueGetter: params => this.queryOpts?.isIndex
6252
+ ? (this.pageIndex - 1) * this.pageSize + (params.node?.rowIndex ?? 0) + 1 : '',
6253
+ cellStyle: { textAlign: 'center' }
6254
+ });
5812
6255
  }
5813
- const headerStyle = window.getComputedStyle(headerEl);
5814
- const marginBottom = parseFloat(headerStyle.marginBottom || '0') || 0;
5815
- const headerHeight = headerEl.getBoundingClientRect().height + marginBottom + 30;
5816
- this.tableHeight = `calc(100% - ${headerHeight}px)`;
6256
+ for (const [index, table] of tables.entries()) {
6257
+ const definition = await this.transColumnDefs(table);
6258
+ const base = table.key || `__column_${index}`;
6259
+ let colId = base;
6260
+ for (let suffix = 1; columnTables.has(colId) || colId === '__index__'; suffix++)
6261
+ colId = `${base}_${suffix}`;
6262
+ definition.colId = colId;
6263
+ const sortName = table.sortKey || table.key || colId;
6264
+ definition.sort = this.sortMap[sortName] || null;
6265
+ definition.sortIndex = Object.keys(this.sortMap).indexOf(sortName);
6266
+ columnTables.set(colId, table);
6267
+ definitions.push(definition);
6268
+ }
6269
+ if (this.destroyed || revision !== this.columnRevision)
6270
+ return;
6271
+ this.columnTables = columnTables;
6272
+ this.columnDefs = definitions;
6273
+ this.refreshVisibleTables();
6274
+ this.getRowSpan();
6275
+ this.updateTableHeight();
6276
+ this.cd.markForCheck();
5817
6277
  }
5818
- onSortChanged(event) {
5819
- const sortColumns = event.api
5820
- .getColumnState()
5821
- .filter(col => col.sort)
5822
- .sort((a, b) => {
5823
- return (a.sortIndex ?? 0) - (b.sortIndex ?? 0);
6278
+ async refreshColumns() {
6279
+ if (this.isAllLoad && this.cellSpanEnabled !== this.enableCellSpan)
6280
+ await this.initializeGrid(false);
6281
+ else
6282
+ await this.initTableHeader();
6283
+ }
6284
+ async transColumnDefs(tableItem) {
6285
+ return createGridColumn(tableItem, {
6286
+ datePipe: this.datePipe, sanitizer: this.injector.get(DomSanitizer),
6287
+ viewContainerRef: this.viewContainerRef, dictMap: this.dictMap, imagePrefix: this.imagePrefix,
6288
+ onAction: params => {
6289
+ params.event?.stopPropagation();
6290
+ this.curChecked = params.data.numberOfChecked ?? -1;
6291
+ this.tableAction.emit(params.data);
6292
+ }
5824
6293
  });
5825
- this.sortMap = sortColumns.reduce((map, item) => {
5826
- map[item.colId] = item.sort;
5827
- return map;
5828
- }, {});
5829
- this.query(true);
6294
+ }
6295
+ createTemplateCellRenderer(template, tableItem) {
6296
+ return createGridColumn({ ...tableItem, type: 'tempRef', tempRef: template }, {
6297
+ datePipe: this.datePipe, sanitizer: this.injector.get(DomSanitizer), viewContainerRef: this.viewContainerRef,
6298
+ dictMap: this.dictMap, imagePrefix: this.imagePrefix, onAction: params => this.tableAction.emit(params.data)
6299
+ }).cellRenderer;
6300
+ }
6301
+ updateTableHeight() {
6302
+ const element = this.tableContent?.nativeElement;
6303
+ if (element)
6304
+ this.tableWidth = element.clientWidth;
6305
+ // Flex layout reserves the actual header, error and pagination heights.
6306
+ this.tableHeight = '100%';
6307
+ }
6308
+ getDataId(data) {
6309
+ const key = getTableValue(data, this.rowKey);
6310
+ if (key !== undefined && key !== null)
6311
+ return String(key);
6312
+ if (data && typeof data === 'object') {
6313
+ if (!this.fallbackRowIds.has(data))
6314
+ this.fallbackRowIds.set(data, `__atr_row_${++this.nextRowId}`);
6315
+ return this.fallbackRowIds.get(data);
6316
+ }
6317
+ return String(data);
5830
6318
  }
5831
6319
  onGridReady(event) {
5832
6320
  this.gridApi = event.api;
5833
- this.tableAction.emit({
5834
- code: 'gridApi',
5835
- name: 'gridApi',
5836
- type: 'row',
5837
- data: this.gridApi,
5838
- });
6321
+ this.tableAction.emit({ code: 'gridApi', name: 'gridApi', type: 'row', data: event.api });
6322
+ }
6323
+ onSortChanged(event) {
6324
+ const sorts = event.api.getColumnState().filter(column => !!column.sort)
6325
+ .sort((a, b) => (a.sortIndex ?? 0) - (b.sortIndex ?? 0));
6326
+ const next = {};
6327
+ for (const column of sorts) {
6328
+ const table = this.columnTables.get(column.colId);
6329
+ if (table)
6330
+ next[table.sortKey || table.key || column.colId] = column.sort;
6331
+ }
6332
+ if (JSON.stringify(next) === JSON.stringify(this.sortMap))
6333
+ return;
6334
+ this.sortMap = next;
6335
+ if (this.viewInitOver)
6336
+ this.query(true);
5839
6337
  }
5840
6338
  onSelectionChanged(event) {
5841
- const selectedRows = event.api.getSelectedRows();
5842
- this.numberOfChecked = selectedRows.length;
5843
- this.tableAction.emit({
5844
- code: 'select',
5845
- name: 'select',
5846
- type: 'row',
5847
- data: selectedRows,
5848
- datas: selectedRows,
5849
- firstData: selectedRows[0],
5850
- numberOfChecked: selectedRows.length
5851
- });
6339
+ if (!this.suppressSelectionEvents)
6340
+ this.syncSelection(event.api.getSelectedRows());
6341
+ }
6342
+ syncSelection(rows, code = 'select') {
6343
+ this.mapOfCheckedId = Object.fromEntries(rows.map(row => [this.getDataId(row), true]));
6344
+ this.numberOfChecked = rows.length;
6345
+ const selectable = this.tableDatas.filter(row => this.isSelectable(row));
6346
+ this.isAllDisplayDataChecked = selectable.length > 0 && selectable.every(row => this.mapOfCheckedId[this.getDataId(row)]);
6347
+ this.isIndeterminate = rows.length > 0 && !this.isAllDisplayDataChecked;
6348
+ this.tableAction.emit({ code, name: 'select', type: 'row', data: rows, datas: rows,
6349
+ firstData: rows[0], numberOfChecked: rows.length });
5852
6350
  }
5853
6351
  getSelectedRows() {
5854
- return this.gridApi ? this.gridApi.getSelectedRows() : [];
6352
+ return this.gridApi ? this.gridApi.getSelectedRows()
6353
+ : this.tableDatas.filter(row => this.mapOfCheckedId[this.getDataId(row)]);
5855
6354
  }
5856
- async transColumnDefs(tableItem) {
5857
- let style = tableItem.styleCallBack, valueFormatter = tableItem.valueFormatter;
5858
- let colDef = {
5859
- headerName: tableItem.name,
5860
- field: tableItem.key,
5861
- width: tableItem.width,
5862
- sortable: tableItem.sortable || false,
5863
- hide: !tableItem.isShow,
5864
- valueFormatter: params => {
5865
- let value = params.value;
5866
- let defVal = ToolsUtil.isEmpty(tableItem.defaultVal) ? '-' : tableItem.defaultVal;
5867
- return ToolsUtil.isNull(value) ? defVal : value;
5868
- },
5869
- cellStyle: style
5870
- };
5871
- switch (tableItem.type) {
5872
- case 'textcolor':
5873
- break;
5874
- case 'fixedText':
5875
- break;
5876
- case 'text':
5877
- break;
5878
- case 'link':
5879
- break;
5880
- case 'action':
5881
- colDef.cellRenderer = BtnTdComponent;
5882
- colDef.cellRendererParams = {
5883
- buttons: tableItem.actions,
5884
- callback: (params) => {
5885
- this.curChecked = params.data.numberOfChecked;
5886
- console.log('操作', params.data);
5887
- this.tableAction.emit(params.data);
5888
- }
5889
- };
5890
- colDef.cellClass = 'atr-action-cell';
5891
- break;
5892
- case 'image':
5893
- colDef.cellRenderer = ImgTdComponent;
5894
- break;
5895
- case 'date':
5896
- case 'dateTime':
5897
- case 'sDateTime':
5898
- colDef.valueFormatter = params => {
5899
- let value = params.value;
5900
- if (value) {
5901
- value = this.datePipe.transform(value, tableItem.dateFormat || 'yyyy-MM-dd HH:mm:ss');
5902
- }
5903
- let defVal = ToolsUtil.isEmpty(tableItem.defaultVal) ? '-' : tableItem.defaultVal;
5904
- return ToolsUtil.isNull(value) ? defVal : value;
5905
- };
5906
- break;
5907
- case 'dict':
5908
- if (tableItem.dictCode) {
5909
- let dict = this.dictMap[tableItem.dictCode];
5910
- if (!dict) {
5911
- dict = await this.dictService.getCodeNamePromise(tableItem.dictCode) || {};
5912
- if (dict.dicts) {
5913
- this.dictMap[tableItem.dictCode] = dict.dicts.reduce((map, item) => {
5914
- map[item.id] = item.typeName;
5915
- return map;
5916
- }, {});
6355
+ getAllCheckDatas() { return this.getSelectedRows(); }
6356
+ getAllCheckInfo() { return this.getSelectedRows().map(row => this.getDataId(row)); }
6357
+ checkAll(value) {
6358
+ if (this.gridApi) {
6359
+ this.suppressSelectionEvents = true;
6360
+ try {
6361
+ if (!value)
6362
+ this.gridApi.deselectAll();
6363
+ else if (this.rowSelection.mode === 'multiRow')
6364
+ this.gridApi.selectAll('filtered');
6365
+ else {
6366
+ let selected = false;
6367
+ this.gridApi.forEachNodeAfterFilter(node => {
6368
+ if (!selected && node.selectable && node.data) {
6369
+ node.setSelected(true, true);
6370
+ selected = true;
5917
6371
  }
5918
- dict = this.dictMap[tableItem.dictCode];
5919
- }
5920
- colDef.cellRenderer = params => {
5921
- // put the value in bold
5922
- return dict[params.value] ?? params.value;
5923
- };
5924
- }
5925
- break;
5926
- case 'innerHtml':
5927
- break;
5928
- case 'image64':
5929
- break;
5930
- case 'tempRef':
5931
- break;
5932
- }
5933
- console.log('colDef', colDef);
5934
- if (valueFormatter) {
5935
- colDef.valueFormatter = valueFormatter;
5936
- }
5937
- return colDef;
5938
- }
5939
- createTemplateCellRenderer(template, tableItem) {
5940
- const viewContainerRef = this.viewContainerRef;
5941
- const getImageList = this.getImageList.bind(this);
5942
- return class {
5943
- constructor() {
5944
- this.eGui = document.createElement('span');
5945
- this.viewRef = null;
5946
- }
5947
- init(params) {
5948
- this.render(params);
5949
- }
5950
- getGui() {
5951
- return this.eGui;
5952
- }
5953
- refresh(params) {
5954
- this.destroy();
5955
- this.render(params);
5956
- return true;
5957
- }
5958
- destroy() {
5959
- if (this.viewRef) {
5960
- this.viewRef.destroy();
5961
- this.viewRef = null;
6372
+ });
5962
6373
  }
5963
- this.eGui.replaceChildren();
5964
6374
  }
5965
- render(params) {
5966
- this.eGui.replaceChildren();
5967
- this.viewRef = viewContainerRef.createEmbeddedView(template, {
5968
- $implicit: params,
5969
- params: params,
5970
- data: params.data,
5971
- item: tableItem,
5972
- value: params.value,
5973
- defaultVal: tableItem.defaultVal,
5974
- images: getImageList(params.value, tableItem.defaultVal)
5975
- });
5976
- this.viewRef.detectChanges();
5977
- this.viewRef.rootNodes.forEach(node => this.eGui.appendChild(node));
6375
+ finally {
6376
+ this.suppressSelectionEvents = false;
5978
6377
  }
5979
- };
5980
- }
5981
- getImageList(value, defaultVal) {
5982
- const realValue = ToolsUtil.isNull(value) ? defaultVal : value;
5983
- if (ToolsUtil.isNull(realValue)) {
5984
- return [];
5985
- }
5986
- return realValue.toString().split(',').filter(item => !ToolsUtil.isNull(item));
5987
- }
5988
- //
5989
- onResize({ width, height, direction }, item) {
5990
- cancelAnimationFrame(this.id);
5991
- this.id = requestAnimationFrame(() => {
5992
- if (width) {
5993
- this.scrollX += (width - item.width);
5994
- this.scrollSize.x = this.scrollX + "px";
5995
- item.width = width;
5996
- this.resizeDirection = direction;
5997
- }
5998
- });
5999
- }
6000
- ngAfterViewInit() {
6001
- this.initTableHeader();
6002
- setTimeout(() => {
6003
- this.viewInitOver = true;
6004
- this.isAllLoad = true;
6005
- // this.cd.detectChanges();
6006
- }, 100);
6007
- }
6008
- ngOnInit() {
6009
- // this.initTableHeader();
6010
- if (this.queryOpts && this.queryOpts.headers.length > 0) {
6011
- this.atrForm = this.fb.group({});
6012
- }
6013
- this.initHeader();
6014
- // if (this.queryOpts && this.queryOpts.tables) {
6015
- // for (let table of this.queryOpts.tables) {
6016
- // if (table.type == 'dict') {
6017
- // this.getDictValue(table.dictCode);
6018
- // }
6019
- // // if (table.sortKey) {
6020
- // // table.sortable = true;
6021
- // // this.sortMap[table.sortKey] = null;
6022
- // // } else
6023
- // // table.sortable = false;
6024
- // }
6025
- // }
6026
- // this.refreshVisibleTables();
6027
- // if (this.queryOpts && this.queryOpts.defaultParams) {
6028
- // this.defaultParams = this.queryOpts.defaultParams
6029
- // }
6030
- if (!this.queryOpts.isAutoQuery) {
6031
- this.query();
6378
+ this.syncSelection(this.gridApi.getSelectedRows());
6032
6379
  }
6033
6380
  else {
6034
- this.loading = false;
6035
- // this.cd.detectChanges();
6036
- }
6037
- }
6038
- isShowColor(data) {
6039
- if (this.queryOpts.color && this.queryOpts.color.operator && this.isShowBtn(data, this.queryOpts.color.operator)) {
6040
- return this.queryOpts.color.color;
6381
+ let rows = value ? this.tableDatas.filter(row => this.isSelectable(row)) : [];
6382
+ if (this.rowSelection.mode === 'singleRow')
6383
+ rows = rows.slice(0, 1);
6384
+ this.syncSelection(rows);
6041
6385
  }
6042
- return '';
6043
- }
6044
- dbclickData(data, rowNo) {
6045
- let action = {
6046
- name: 'dbclickData',
6047
- code: 'dbclickData',
6048
- type: "row"
6049
- };
6050
- action.data = data;
6051
- action.firstData = data;
6052
- this.tableAction.emit(action);
6053
6386
  }
6054
- doActionByRow2(e) {
6055
- let { data, code, event: MouseEvent, index } = e;
6056
- if (event) {
6057
- event.preventDefault();
6058
- if (event.stopPropagation) {
6059
- event.stopPropagation();
6060
- }
6061
- }
6062
- let action = {
6063
- name: code,
6064
- code: code,
6065
- type: "row"
6066
- };
6067
- action.data = data;
6068
- action.firstData = data;
6069
- action.numberOfChecked = index;
6070
- this.curChecked = index;
6071
- this.tableAction.emit(action);
6072
- }
6073
- get httpService() {
6074
- return this.injector.get(HttpService);
6075
- }
6076
- get nzContextMenuService() {
6077
- return this.injector.get(NzContextMenuService);
6078
- }
6079
- setTableLoadding(loadding) {
6080
- this.loading = loadding;
6081
- }
6082
- isEnable(operator) {
6083
- let isEnable = true;
6084
- if (!operator || operator == undefined || operator == "")
6085
- isEnable = false;
6086
- else {
6087
- let op = operator.split("|");
6088
- if (op.length > 2) {
6089
- let key = op[0];
6090
- if (!key) {
6091
- isEnable = false;
6092
- }
6093
- else {
6094
- isEnable = !this.compare(this.numberOfChecked, op[1], op[2]);
6095
- }
6096
- }
6097
- else
6098
- isEnable = false;
6099
- }
6100
- return isEnable;
6101
- }
6102
- isShowBtn(data, operator, action) {
6103
- let isShow = false;
6104
- if (!operator || operator == null || operator == "") {
6105
- isShow = true;
6387
+ refreshStatus() {
6388
+ if (!this.tableDatas.length) {
6389
+ this.syncSelection([], 'refreshStatus');
6390
+ return;
6106
6391
  }
6107
- else if (operator.indexOf('&&') > 0) {
6108
- // a|eq|b &&c|eq|d
6109
- const ops = operator.split('&&');
6110
- if (ops.length > 1) {
6111
- // tslint:disable-next-line:prefer-for-of
6112
- for (let i = 0; i < ops.length; i++) {
6113
- isShow = true;
6114
- if (!this.checkIsShowBase(ops[i].split('|'), data)) {
6115
- isShow = false;
6116
- break;
6117
- }
6118
- }
6392
+ if (this.gridApi) {
6393
+ this.suppressSelectionEvents = true;
6394
+ let selected = false;
6395
+ try {
6396
+ this.gridApi.forEachNode(node => {
6397
+ const wanted = !!node.data && !!this.mapOfCheckedId[this.getDataId(node.data)] && !!node.selectable;
6398
+ const allowed = wanted && (this.rowSelection.mode === 'multiRow' || !selected);
6399
+ if (allowed)
6400
+ selected = true;
6401
+ node.setSelected(allowed);
6402
+ });
6119
6403
  }
6120
- }
6121
- else if (operator.indexOf('||') > 0) {
6122
- // a|eq|b||c|eq|d
6123
- const ops = operator.split('&&');
6124
- if (ops.length > 1) {
6125
- for (let i = 0; i < ops.length; i++) {
6126
- isShow = false;
6127
- if (this.checkIsShowBase(ops[i].split('|'), data)) {
6128
- isShow = true;
6129
- break;
6130
- }
6131
- }
6404
+ finally {
6405
+ this.suppressSelectionEvents = false;
6132
6406
  }
6133
6407
  }
6134
- else {
6135
- let op = operator.split("|");
6136
- isShow = this.checkIsShowBase(op, data);
6137
- }
6138
- return isShow;
6408
+ this.syncSelection(this.getSelectedRows(), 'refreshStatus');
6139
6409
  }
6140
- checkIsShowBase(op, data) {
6141
- let isShow = false;
6142
- if (op.length > 1) {
6143
- let value = data[op[0]];
6144
- if (!value) {
6145
- isShow = false;
6146
- }
6147
- else {
6148
- isShow = this.compare(value, op[1], op[2]);
6149
- }
6150
- }
6151
- else
6152
- isShow = false;
6153
- return isShow;
6410
+ isSelectable(data) {
6411
+ const predicate = this.queryOpts?.checkBox?.isRowSelectable;
6412
+ const node = this.gridApi?.getRowNode(this.getDataId(data));
6413
+ return !predicate || !!predicate(node || { data, id: this.getDataId(data) });
6154
6414
  }
6155
- compare(value, operator, target) {
6156
- let isRight = false;
6157
- switch (operator) {
6158
- case 'eq':
6159
- if (value == target) {
6160
- isRight = true;
6161
- }
6162
- break;
6163
- case 'gh':
6164
- if (value >= target) {
6165
- isRight = true;
6166
- }
6167
- break;
6168
- case 'notEmpty':
6169
- isRight = false;
6170
- if (value) {
6171
- isRight = true;
6172
- }
6173
- break;
6174
- case 'empty':
6175
- isRight = false;
6176
- if (!value) {
6177
- isRight = true;
6178
- }
6179
- break;
6180
- default:
6181
- isRight = false;
6182
- break;
6415
+ selectRow(data, rowNo) {
6416
+ this.curChecked = rowNo;
6417
+ if (this.queryOpts?.checkBox?.isForbid || !this.isSelectable(data))
6418
+ return;
6419
+ const node = this.gridApi?.getRowNode(this.getDataId(data));
6420
+ if (node)
6421
+ node.setSelected(!node.isSelected(), this.rowSelection.mode === 'singleRow');
6422
+ else {
6423
+ const key = this.getDataId(data);
6424
+ const selected = !this.mapOfCheckedId[key];
6425
+ if (this.rowSelection.mode === 'singleRow')
6426
+ this.mapOfCheckedId = {};
6427
+ this.mapOfCheckedId[key] = selected;
6428
+ this.syncSelection(this.getSelectedRows());
6183
6429
  }
6184
- return isRight;
6185
- }
6186
- pushTableDatas(tableDatas) {
6187
- this.tableDatas = this.tableDatas.concat(tableDatas);
6188
- this.getRowSpan();
6189
- }
6190
- removeDatas(key, value) {
6191
- this.tableDatas.forEach((item, index) => {
6192
- if (item[key] === value) {
6193
- this.tableDatas.splice(index, 1);
6194
- }
6195
- });
6196
- this.getRowSpan();
6197
- }
6198
- uploadAction(e, action) {
6199
- this.headerAction.emit({
6200
- name: action.code,
6201
- code: action.code,
6202
- data: e
6203
- });
6204
6430
  }
6205
6431
  doAction(code) {
6206
- let action = {
6207
- name: code,
6208
- code: code,
6209
- type: "rows"
6210
- };
6211
- let selectDatas = [];
6212
- if (this.tableDatas && this.tableDatas.length > 0) {
6213
- this.tableDatas.forEach((item) => {
6214
- if (this.mapOfCheckedId[item.id])
6215
- selectDatas.push(item);
6216
- });
6217
- }
6218
- action.datas = selectDatas;
6219
- if (selectDatas && selectDatas.length > 0) {
6220
- action.firstData = selectDatas[0];
6221
- }
6222
- action.numberOfChecked = selectDatas.length;
6223
- this.tableAction.emit(action);
6432
+ const rows = this.getSelectedRows();
6433
+ this.tableAction.emit({ name: code, code, type: 'rows', datas: rows,
6434
+ firstData: rows[0], numberOfChecked: rows.length });
6224
6435
  }
6225
6436
  doActionByRow(data, code, event) {
6226
- event.preventDefault();
6227
- if (event.stopPropagation) {
6228
- event.stopPropagation();
6229
- }
6230
- let action = {
6231
- name: code,
6232
- code: code,
6233
- type: "row"
6234
- };
6235
- action.data = data;
6236
- action.firstData = data;
6237
- action.numberOfChecked = 1;
6238
- this.tableAction.emit(action);
6239
- }
6240
- getAllCheckInfo() {
6241
- let ids = [];
6242
- for (const key of Object.keys(this.mapOfCheckedId)) {
6243
- if (this.mapOfCheckedId.hasOwnProperty(key) && this.mapOfCheckedId[key]) {
6244
- ids.push(key);
6245
- }
6246
- }
6247
- return ids;
6248
- }
6249
- getAllCheckDatas() {
6250
- let selectDatas = [];
6251
- this.tableDatas.forEach((item) => {
6252
- if (this.mapOfCheckedId[item.id])
6253
- selectDatas.push(item);
6254
- });
6255
- return selectDatas;
6437
+ event?.preventDefault();
6438
+ event?.stopPropagation();
6439
+ this.tableAction.emit({ name: code, code, type: 'row', data, firstData: data, numberOfChecked: 1 });
6256
6440
  }
6257
- checkAll(value) {
6258
- this.tableDatas.forEach((item) => (this.mapOfCheckedId[item.id] = value));
6259
- this.refreshStatus();
6260
- }
6261
- refreshStatus() {
6262
- if (!this.tableDatas || this.tableDatas.length <= 0) {
6263
- return;
6264
- }
6265
- this.isAllDisplayDataChecked = this.tableDatas.every((item) => this.mapOfCheckedId[item.id]);
6266
- this.isIndeterminate =
6267
- this.tableDatas.some((item) => this.mapOfCheckedId[item.id]) &&
6268
- !this.isAllDisplayDataChecked;
6269
- this.numberOfChecked = this.tableDatas.filter((item) => this.mapOfCheckedId[item.id]).length;
6270
- this.tableAction.emit({
6271
- code: 'refreshStatus', name: 'select',
6272
- type: "row", data: this.getAllCheckDatas()
6273
- });
6441
+ doActionByRow2(e) {
6442
+ const { data, code, event, index } = e;
6443
+ event?.preventDefault();
6444
+ event?.stopPropagation();
6445
+ this.curChecked = index ?? -1;
6446
+ this.tableAction.emit({ name: code, code, type: 'row', data, firstData: data, numberOfChecked: index });
6274
6447
  }
6275
- selectRow(data, rowNo) {
6276
- // this.tableDatas.forEach(item => (this.mapOfCheckedId[data.id] = value));
6448
+ dbclickData(data, rowNo) {
6277
6449
  this.curChecked = rowNo;
6278
- if (!this.queryOpts.checkBox?.isForbid) {
6279
- if (this.queryOpts.checkBox?.isShowCheckbox) {
6280
- this.mapOfCheckedId[data.id] = !this.mapOfCheckedId[data.id];
6281
- }
6282
- else {
6283
- this.mapOfCheckedId = {};
6284
- this.mapOfCheckedId[data.id] = true;
6285
- }
6286
- }
6287
- let action = {
6288
- name: 'select',
6289
- code: 'select',
6290
- type: "row"
6291
- };
6292
- action.data = data;
6293
- action.firstData = data;
6294
- action.numberOfChecked = 1;
6295
- this.tableAction.emit(action);
6296
- this.refreshStatus();
6297
- }
6298
- initHeader() {
6299
- this.headerDefaultVal = {};
6300
- if (this.queryOpts && this.queryOpts.headers && this.queryOpts.headers.length > 0) {
6301
- this.queryOpts.headers.forEach((item, i) => {
6302
- item.span = item.span || 8;
6303
- if (!ToolsUtil.isNull(item.defaultVal)) {
6304
- this.headerDefaultVal[item.key] = item.defaultVal;
6305
- }
6306
- if (item.isShow != false) {
6307
- item.isShow = i < this.queryOpts.showNum;
6308
- }
6309
- this.atrForm.addControl(item.key, new UntypedFormControl());
6310
- let type = item.type;
6311
- switch (type) {
6312
- case "select":
6313
- this.getDictValue(item.dictCode);
6314
- break;
6315
- case "treeSelect":
6316
- case "cascader":
6317
- case "selectCus":
6318
- if (item.selectUrl && item.selectUrl.url) {
6319
- this.getDicList(item);
6320
- }
6321
- break;
6322
- }
6323
- });
6324
- }
6325
- }
6326
- getDicList(item) {
6327
- if (!item.selectUrl || !item.selectUrl.url) {
6328
- return;
6329
- }
6330
- let keys = item.selectUrl.convert.split(',');
6331
- this.httpService.post(item.selectUrl.url, {}, ToolsUtil.getHttpOptions()).subscribe(res => {
6332
- if (item.type == 'treeSelect') {
6333
- item.treeList = res.data.filter((child) => {
6334
- keys.forEach((v) => {
6335
- let vs = v.split("|");
6336
- child[vs[0]] = child[vs[1]];
6337
- });
6338
- // child.key = child.id;
6339
- // child.title = child.realName;
6340
- return true;
6341
- });
6342
- }
6343
- else if (item.type == 'selectCus') {
6344
- item.dictList = res.data.filter((child) => {
6345
- keys.forEach((v) => {
6346
- let vs = v.split("|");
6347
- child[vs[0]] = child[vs[1]];
6348
- });
6349
- // child.value = child.id;
6350
- // child.label = child.name;
6351
- return true;
6352
- });
6353
- }
6354
- });
6450
+ this.tableAction.emit({ name: 'dbclickData', code: 'dbclickData', type: 'row', data, firstData: data, numberOfChecked: 1 });
6355
6451
  }
6356
- sort(sortName, value) {
6357
- for (const key in this.sortMap) {
6358
- this.sortMap[key] = key === sortName ? value : null;
6359
- }
6360
- // this.search(this.listOfSearchName, this.listOfSearchAddress);
6361
- console.log(this.sortMap);
6362
- this.query(true);
6452
+ onCellValueChanged(event) {
6453
+ this.getRowSpan();
6454
+ event.api.refreshCells({ rowNodes: [event.node], force: true });
6455
+ this.tableAction.emit({ name: '单元格修改', code: 'cellValueChanged', type: 'row', data: event.data,
6456
+ firstData: event.data, value: event.newValue, numberOfChecked: 1,
6457
+ oldValue: event.oldValue, columnKey: event.colDef.field, rowIndex: event.rowIndex });
6363
6458
  }
6364
- get dictService() {
6365
- return this.injector.get(DictService);
6459
+ isShowColor(data) {
6460
+ const color = this.queryOpts?.color;
6461
+ return color?.color && matchesTableCondition(data, color.operator) ? color.color : '';
6366
6462
  }
6367
- getDictValue(code) {
6368
- console.log("pppp");
6369
- this.dictService.getDictBycode(code).subscribe(result => {
6370
- if (result && result != null)
6371
- this.dicts[code] = result.dicts;
6372
- console.log(this.dicts);
6373
- }, error => {
6374
- this.dicts[code] = [];
6375
- });
6463
+ isShowBtn(data, operator, action) { return matchesTableCondition(data, operator); }
6464
+ checkIsShowBase(op, data) { return matchesTableCondition(data, op.join('|')); }
6465
+ compare(value, operator, target) { return compareTableValue(value, operator, target); }
6466
+ isEnable(operator) {
6467
+ if (!operator)
6468
+ return false;
6469
+ const state = { count: this.numberOfChecked, numberOfChecked: this.numberOfChecked };
6470
+ for (const clause of operator.split(/&&|\|\|/))
6471
+ state[clause.trim().split('|')[0]] = this.numberOfChecked;
6472
+ return !matchesTableCondition(state, operator);
6376
6473
  }
6377
- toggleCollapse() {
6378
- this.isCollapse = !this.isCollapse;
6379
- // this.queryOpts.headers.forEach((c: any, index: any) => {
6380
- // c.isShow = this.isCollapse ? index < this.queryOpts.showNum : true;
6381
- // });
6382
- let action = {
6383
- name: '收起/展开',
6384
- code: 'collapse',
6385
- data: this.isCollapse,
6386
- value: this.isCollapse,
6387
- };
6388
- this.headerAction.emit(action);
6389
- setTimeout(() => this.updateTableHeight());
6474
+ async initHeader() {
6475
+ const currentValues = this.atrForm.getRawValue();
6476
+ this.headerDefaultVal = {};
6477
+ this.searchHeaders = (this.queryOpts?.headers || []).map((header) => ({ ...header, span: header.span ?? 8 }));
6478
+ const controls = {};
6479
+ for (const item of this.searchHeaders) {
6480
+ this.headerDefaultVal[item.key] = item.defaultVal ?? null;
6481
+ controls[item.key] = new UntypedFormControl(Object.prototype.hasOwnProperty.call(currentValues, item.key)
6482
+ ? currentValues[item.key] : item.defaultVal ?? null);
6483
+ }
6484
+ this.atrForm = this.fb.group(controls);
6485
+ await Promise.all(this.searchHeaders.map(async (item) => {
6486
+ if (item.type === 'select' && item.dictCode)
6487
+ await this.getDictValue(item.dictCode);
6488
+ else if (item.selectUrl?.url)
6489
+ await this.getDicList(item);
6490
+ }));
6491
+ }
6492
+ loadDictionary(code) {
6493
+ if (!code)
6494
+ return Promise.resolve([]);
6495
+ if (this.loadedDictionaries.has(code))
6496
+ return Promise.resolve(this.dicts[code] || []);
6497
+ const pending = this.pendingDictionaries.get(code);
6498
+ if (pending)
6499
+ return pending;
6500
+ const request = firstValueFrom(this.dictService.getDictBycode(code)
6501
+ .pipe(take(1), timeout(15000), takeUntil(this.destroy$)))
6502
+ .then(group => {
6503
+ const list = Array.isArray(group?.dicts) ? group.dicts : [];
6504
+ if (!this.destroyed) {
6505
+ this.dicts[code] = list;
6506
+ this.dictMap[code] = Object.fromEntries(list.map(item => [String(item.id), item.typeName]));
6507
+ if (Array.isArray(group?.dicts))
6508
+ this.loadedDictionaries.add(code);
6509
+ }
6510
+ return list;
6511
+ }).catch(() => {
6512
+ if (!this.destroyed) {
6513
+ this.dicts[code] = [];
6514
+ this.dictMap[code] = {};
6515
+ }
6516
+ return [];
6517
+ }).finally(() => this.pendingDictionaries.delete(code));
6518
+ this.pendingDictionaries.set(code, request);
6519
+ return request;
6390
6520
  }
6391
- setFormValue(key, value) {
6392
- if (this.atrForm) {
6393
- this.atrForm.get(key)?.setValue(value);
6521
+ getDictValue(code) { return this.loadDictionary(code); }
6522
+ async getDicList(item) {
6523
+ if (!item.selectUrl?.url)
6524
+ return;
6525
+ try {
6526
+ const response = await firstValueFrom(this.httpService.post(item.selectUrl.url, {}, ToolsUtil.getHttpOptions())
6527
+ .pipe(take(1), timeout(15000), takeUntil(this.destroy$)));
6528
+ if (this.destroyed || !Array.isArray(response?.data))
6529
+ return;
6530
+ const keys = (item.selectUrl.convert || '').split(',').filter(Boolean).map(pair => pair.split('|'));
6531
+ const convert = (rows) => rows.map(row => {
6532
+ const value = { ...row };
6533
+ for (const [target, source] of keys)
6534
+ if (target && source)
6535
+ value[target] = row[source];
6536
+ if (Array.isArray(row.children))
6537
+ value.children = convert(row.children);
6538
+ else if (item.type === 'cascader')
6539
+ value.isLeaf = row.isLeaf ?? true;
6540
+ return value;
6541
+ });
6542
+ const rows = convert(response.data);
6543
+ if (item.type === 'treeSelect')
6544
+ item.treeList = rows;
6545
+ else
6546
+ item.dictList = rows;
6547
+ this.cd.markForCheck();
6548
+ }
6549
+ catch {
6550
+ if (item.type === 'treeSelect')
6551
+ item.treeList = [];
6552
+ else
6553
+ item.dictList = [];
6394
6554
  }
6395
- this.query(true);
6396
6555
  }
6556
+ setFormValue(key, value) { this.atrForm.get(key)?.setValue(value); this.query(true); }
6397
6557
  resetForm() {
6398
- if (this.atrForm) {
6399
- this.atrForm.reset();
6400
- for (const key in this.headerDefaultVal) {
6401
- this.atrForm.get(key)?.setValue(this.headerDefaultVal[key]);
6402
- }
6403
- }
6404
- this.headerAction.emit({
6405
- name: '重置',
6406
- code: 'resetForm',
6407
- });
6558
+ this.atrForm.reset({ ...this.headerDefaultVal });
6559
+ this.headerAction.emit({ name: '重置', code: 'resetForm' });
6560
+ }
6561
+ toggleCollapse() {
6562
+ this.isCollapse = !this.isCollapse;
6563
+ this.headerAction.emit({ name: '收起/展开', code: 'collapse', data: this.isCollapse, value: this.isCollapse });
6408
6564
  }
6409
6565
  selectChange(value, item) {
6410
- console.log(value);
6411
- let action = {
6412
- name: item.label,
6413
- code: item.key,
6414
- data: item,
6415
- value: value,
6416
- };
6417
- this.headerAction.emit(action);
6566
+ this.headerAction.emit({ name: item.name || item.label, code: item.key, data: item, value });
6418
6567
  }
6419
- clickIcon(value, item, $event) {
6420
- $event.stopPropagation();
6421
- console.log(value, item);
6422
- let action = {
6423
- name: item.name,
6424
- code: item.icon?.code ? item.icon?.code : "",
6425
- data: item,
6426
- value: value,
6427
- };
6428
- this.headerAction.emit(action);
6568
+ clickIcon(value, item, event) {
6569
+ event?.stopPropagation();
6570
+ this.headerAction.emit({ name: item.name, code: item.icon?.code || '', data: item, value });
6429
6571
  }
6430
- getQueryParams(reset) {
6431
- if (reset) {
6572
+ uploadAction(event, action) {
6573
+ this.headerAction.emit({ name: action.code, code: action.code, data: event });
6574
+ }
6575
+ getQueryParams(reset = false) {
6576
+ if (reset)
6432
6577
  this.pageIndex = 1;
6433
- }
6434
- console.log(this.pageIndex);
6435
- let params = {
6436
- page: this.pageIndex,
6437
- limit: this.pageSize,
6438
- };
6439
- let sorts = this.getSortInfo();
6440
- if (!ToolsUtil.isEmpty(sorts)) {
6441
- params[this.sortKey] = sorts;
6442
- }
6443
- params[this.sortKey] = this.getSortInfo();
6444
- params = Object.assign(params, this.defaultParams);
6445
- if (!this.atrForm) {
6446
- return params;
6447
- }
6448
- for (const key in this.atrForm.value) {
6449
- if (this.atrForm.value[key] && this.atrForm.value[key] != null && this.atrForm.value[key] != "") {
6450
- if (this.getHederType(key) == "dateRange") {
6451
- let begin = key + "Begin";
6452
- let end = key + "End";
6453
- let formate = 'yyyy-MM-dd 00:00:00';
6454
- let nzShowTime = this.getHederType(key, 'nzShowTime');
6455
- if (nzShowTime) {
6456
- formate = 'yyyy-MM-dd HH:mm:ss';
6457
- if (nzShowTime.nzFormat) {
6458
- formate = nzShowTime.nzFormat;
6459
- }
6460
- }
6461
- params[begin] = formatDate(this.atrForm.value[key][0], formate, this.locale);
6462
- params[end] = formatDate(this.atrForm.value[key][1], formate, this.locale);
6463
- }
6464
- else if (this.getHederType(key) == "dayRange") {
6465
- let begin = key + "Begin";
6466
- let end = key + "End";
6467
- params[begin] = formatDate(this.atrForm.value[key][0], 'yyyy-MM-dd 00:00:00', this.locale);
6468
- params[end] = formatDate(this.atrForm.value[key][1], 'yyyy-MM-dd 23:59:59', this.locale);
6469
- }
6470
- else if (this.getHederType(key) == "sdate") {
6471
- params[key] = formatDate(this.atrForm.value[key], 'yyyy-MM-dd 00:00:00', this.locale);
6472
- }
6473
- else if (this.getHederType(key) == "treeSelect") {
6474
- let value = this.atrForm.value[key];
6475
- if (typeof value == 'string') {
6476
- params[key] = this.atrForm.value[key];
6477
- }
6478
- else {
6479
- params[key] = this.atrForm.value[key].join();
6480
- }
6481
- }
6482
- else if (this.getHederType(key) == "cascader" || this.getHederType(key, 'nzMode') == 'multiple') {
6483
- params[key] = this.atrForm.value[key].join();
6484
- }
6485
- else {
6486
- params[key] = this.atrForm.value[key];
6487
- }
6578
+ const params = { ...this.queryHeaders, ...this.defaultParams, page: this.pageIndex, limit: this.pageSize };
6579
+ const sort = this.getSortInfo();
6580
+ if (sort)
6581
+ params[this.sortKey] = sort;
6582
+ else
6583
+ delete params[this.sortKey];
6584
+ for (const header of this.searchHeaders) {
6585
+ const value = this.atrForm.get(header.key)?.value;
6586
+ if (isEmptyTableValue(value))
6587
+ continue;
6588
+ const key = header.key;
6589
+ if (header.type === 'dateRange' || header.type === 'dayRange') {
6590
+ if (!Array.isArray(value) || value.length !== 2 || value.some(isEmptyTableValue))
6591
+ continue;
6592
+ const showTime = header.nzShowTime;
6593
+ const timeEnabled = !!showTime && (typeof showTime !== 'object' || showTime.isShowTime !== false);
6594
+ const timeFormat = timeEnabled && typeof showTime === 'object' ? showTime.nzFormat : '';
6595
+ const format = timeFormat ? (/[yMd]/.test(timeFormat) ? timeFormat : `yyyy-MM-dd ${timeFormat}`)
6596
+ : timeEnabled ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd 00:00:00';
6597
+ params[`${key}Begin`] = formatDate(value[0], header.type === 'dayRange' ? 'yyyy-MM-dd 00:00:00' : format, this.locale);
6598
+ params[`${key}End`] = formatDate(value[1], header.type === 'dayRange' ? 'yyyy-MM-dd 23:59:59' : format, this.locale);
6599
+ }
6600
+ else if (header.type === 'sdate' || header.type === 'datepicker') {
6601
+ const showTime = header.nzShowTime;
6602
+ const timeEnabled = !!showTime && (typeof showTime !== 'object' || showTime.isShowTime !== false);
6603
+ const timeFormat = timeEnabled && typeof showTime === 'object' ? showTime.nzFormat : '';
6604
+ const format = timeFormat ? (/[yMd]/.test(timeFormat) ? timeFormat : `yyyy-MM-dd ${timeFormat}`)
6605
+ : timeEnabled ? 'yyyy-MM-dd HH:mm:ss' : 'yyyy-MM-dd 00:00:00';
6606
+ params[key] = formatDate(value, format, this.locale);
6488
6607
  }
6608
+ else
6609
+ params[key] = Array.isArray(value) ? value.join(',') : value;
6489
6610
  }
6490
- console.log(params);
6491
6611
  return params;
6492
6612
  }
6493
- getHederType(cusKey, typeKey) {
6494
- let type = null;
6495
- for (let header of this.queryOpts.headers) {
6496
- if (cusKey == header.key) {
6497
- type = header[typeKey || 'type'];
6498
- break;
6499
- }
6500
- }
6501
- return type;
6502
- }
6503
- setDefaultParams(params, reset = true) {
6504
- this.defaultParams = params;
6505
- this.query(reset);
6506
- }
6613
+ getHederType(key, typeKey = 'type') { return this.searchHeaders.find(header => header.key === key)?.[typeKey]; }
6614
+ setDefaultParams(params, reset = true) { this.defaultParams = { ...params }; this.query(reset); }
6507
6615
  getSortInfo() {
6508
- let orderby = [];
6509
- for (const key in this.sortMap) {
6510
- orderby.push(key + "|" + this.sortMap[key]);
6511
- }
6512
- let order = "";
6513
- if (orderby.length < 1 && this.queryOpts.sortBy) {
6514
- order = this.queryOpts.sortBy;
6616
+ return Object.entries(this.sortMap).filter(([, value]) => value === 'asc' || value === 'desc')
6617
+ .map(([key, value]) => `${key}|${value}`).join(',');
6618
+ }
6619
+ parseSort(sort) {
6620
+ const result = {};
6621
+ for (const item of (sort || '').split(',')) {
6622
+ const [key, value] = item.trim().split('|');
6623
+ if (key && (value === 'asc' || value === 'desc'))
6624
+ result[key] = value;
6515
6625
  }
6516
- else
6517
- order = orderby.join(",");
6518
- return order;
6626
+ return result;
6519
6627
  }
6520
- PageSizeChange(e) {
6521
- console.log(e);
6522
- this.pageSize = e;
6628
+ sort(sortName, value) {
6629
+ const normalized = value === 'ascend' ? 'asc' : value === 'descend' ? 'desc' : value;
6630
+ this.sortMap = normalized === 'asc' || normalized === 'desc' ? { [sortName]: normalized } : {};
6631
+ if (this.gridApi)
6632
+ this.gridApi.applyColumnState({ state: [...this.columnTables].map(([colId, table]) => ({
6633
+ colId, sort: table.sortKey === sortName || table.key === sortName ? normalized || null : null
6634
+ })), defaultState: { sort: null } });
6523
6635
  this.query(true);
6524
6636
  }
6525
- PageIndexChange(e) {
6526
- console.log(e);
6527
- this.pageIndex = e;
6637
+ PageSizeChange(size) { this.pageSize = size; this.normalizePagination(); this.query(true); }
6638
+ PageIndexChange(page) {
6639
+ this.pageIndex = Number.isFinite(Number(page)) ? Math.max(1, Math.floor(Number(page))) : 1;
6528
6640
  this.query();
6529
6641
  }
6530
- getRowSpan() {
6531
- }
6532
- setDates(res) {
6533
- this.tableDatas = res.data;
6534
- this.total = res?.page?.totalResult;
6642
+ normalizePagination() {
6643
+ const size = Math.floor(Number(this.pageSize));
6644
+ this.pageSize = Number.isFinite(size) && size >= 1 ? size : 20;
6645
+ this.pageSizeOptions = [...new Set((this.pageSizeOptions || []).map(value => Math.floor(Number(value)))
6646
+ .filter(value => Number.isFinite(value) && value >= 1))];
6647
+ if (!this.pageSizeOptions.includes(this.pageSize))
6648
+ this.pageSizeOptions = [...this.pageSizeOptions, this.pageSize].sort((a, b) => a - b);
6649
+ }
6650
+ setDates(response) { this.cancelQuery(); this.applyData(response); }
6651
+ applyData(response) {
6652
+ this.tableDatas = Array.isArray(response) ? response.slice() : Array.isArray(response?.data) ? response.data.slice() : [];
6653
+ const total = Number(response?.page?.totalResult ?? this.tableDatas.length);
6654
+ this.total = Number.isFinite(total) && total >= 0 ? total : this.tableDatas.length;
6655
+ const currentPage = Number(response?.page?.currentPage);
6656
+ if (Number.isFinite(currentPage) && currentPage > 0)
6657
+ this.pageIndex = currentPage;
6535
6658
  this.loading = false;
6659
+ this.queryError = '';
6660
+ this.curChecked = -1;
6661
+ this.suppressSelectionEvents = true;
6662
+ try {
6663
+ this.gridApi?.deselectAll();
6664
+ }
6665
+ finally {
6666
+ this.suppressSelectionEvents = false;
6667
+ }
6668
+ this.syncSelection([]);
6536
6669
  this.getRowSpan();
6537
6670
  this.refreshVisibleTables();
6538
- this.mapOfCheckedId = {};
6539
- this.curChecked = -1;
6540
- this.refreshStatus();
6671
+ this.cd.markForCheck();
6541
6672
  }
6542
6673
  query(reset = false) {
6543
- let params = this.getQueryParams(reset);
6544
- console.log('查询条件', params, this);
6545
- if (this.queryHeaders) {
6546
- params = Object.assign({}, this.queryHeaders, params);
6674
+ if (this.destroyed)
6675
+ return;
6676
+ this.cancelQuery();
6677
+ const revision = this.requestRevision;
6678
+ const params = this.getQueryParams(reset);
6679
+ this.queryError = '';
6680
+ if (!this.queryOpts?.url) {
6681
+ this.loading = false;
6682
+ this.queryBack.emit({ name: '', code: 'query', data: params, params });
6683
+ return;
6547
6684
  }
6548
- if (this.queryOpts.url) {
6549
- this.loading = true;
6550
- this.queryTime = formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss', this.locale);
6551
- this.httpService.post(this.queryOpts.url, params, ToolsUtil.getHttpOptions()).subscribe(result => {
6685
+ this.loading = true;
6686
+ this.queryTime = formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss', this.locale);
6687
+ this.querySubscription = defer(() => this.httpService.post(this.queryOpts.url, { ...params }, ToolsUtil.getHttpOptions()))
6688
+ .pipe(take(1), timeout(30000), throwIfEmpty(() => new Error('查询未返回数据,请重试')), takeUntil(this.destroy$), finalize(() => {
6689
+ if (!this.destroyed && revision === this.requestRevision) {
6552
6690
  this.loading = false;
6553
- if (result.status == 200) {
6554
- let action = {};
6555
- action["result"] = result;
6556
- action["params"] = params;
6557
- this.queryBack.emit(action);
6558
- this.setDates(result);
6691
+ this.cd.markForCheck();
6692
+ }
6693
+ })).subscribe({
6694
+ next: result => {
6695
+ if (this.destroyed || revision !== this.requestRevision)
6696
+ return;
6697
+ if (Number(result?.status) !== 200 || !Array.isArray(result?.data)) {
6698
+ this.handleQueryError(result?.message || '查询响应格式不正确', params, revision);
6699
+ return;
6559
6700
  }
6560
- }, error => {
6561
- this.loading = false;
6562
- });
6563
- }
6564
- else {
6565
- this.queryBack.emit({ name: '', code: 'query', data: params });
6566
- }
6701
+ this.queryBack.emit({ name: '查询', code: 'query', result, params });
6702
+ if (revision === this.requestRevision)
6703
+ this.applyData(result);
6704
+ },
6705
+ error: error => this.handleQueryError(error, params, revision)
6706
+ });
6567
6707
  }
6568
- contextMenu($event, menu) {
6569
- console.log($event);
6570
- this.nzContextMenuService.create($event, menu);
6708
+ handleQueryError(error, params, revision) {
6709
+ if (this.destroyed || revision !== this.requestRevision)
6710
+ return;
6711
+ this.loading = false;
6712
+ this.queryError = typeof error === 'string' ? error : error?.name === 'TimeoutError'
6713
+ ? '查询超时,请重试' : error?.error?.message || error?.message || '查询失败,请重试';
6714
+ this.queryBack.emit({ name: '查询失败', code: 'queryError', error, params });
6715
+ this.cd.markForCheck();
6716
+ }
6717
+ cancelQuery() { ++this.requestRevision; this.querySubscription?.unsubscribe(); this.querySubscription = undefined; }
6718
+ setTableLoadding(loading) { this.loading = loading; }
6719
+ pushTableDatas(rows) {
6720
+ if (!Array.isArray(rows))
6721
+ return;
6722
+ this.tableDatas = [...this.tableDatas, ...rows];
6723
+ this.total += rows.length;
6724
+ this.getRowSpan();
6571
6725
  }
6572
- refreshVisibleTables() {
6573
- this.visibleTables = this.queryOpts && this.queryOpts.tables
6574
- ? this.queryOpts.tables.filter((item) => item.isShow)
6575
- : [];
6726
+ removeDatas(key, value) {
6727
+ const remaining = this.tableDatas.filter(row => getTableValue(row, key) !== value);
6728
+ this.total = Math.max(0, this.total - (this.tableDatas.length - remaining.length));
6729
+ this.tableDatas = remaining;
6730
+ this.gridApi?.forEachNode(node => { if (node.data && getTableValue(node.data, key) === value)
6731
+ node.setSelected(false); });
6732
+ this.syncSelection(this.getSelectedRows().filter(row => getTableValue(row, key) !== value));
6733
+ this.getRowSpan();
6576
6734
  }
6577
- checkShowTd(item, index) {
6578
- if (!item.isShow) {
6579
- return false;
6580
- }
6581
- if (item.isRowSpan) {
6582
- // 合并行,返回值与上一行相同则隐藏这一行;
6583
- if (index == 0) {
6584
- return true;
6735
+ getImageList(value, defaultVal) {
6736
+ const real = isEmptyTableValue(value) ? defaultVal : value;
6737
+ if (isEmptyTableValue(real))
6738
+ return [];
6739
+ return Array.isArray(real) ? real : String(real).startsWith('data:') ? [real] : String(real).split(',').filter(Boolean);
6740
+ }
6741
+ refreshVisibleTables() { this.visibleTables = this.tables.filter(item => item.isShow !== false); }
6742
+ setColumnVisible(key, visible) {
6743
+ const ids = [...this.columnTables].filter(([id, table]) => id === key || table.key === key).map(([id]) => id);
6744
+ for (const id of ids) {
6745
+ const definition = this.columnDefs.find(column => column.colId === id);
6746
+ if (definition)
6747
+ definition.hide = !visible;
6748
+ }
6749
+ this.gridApi?.setColumnsVisible(ids, visible);
6750
+ this.cd.markForCheck();
6751
+ }
6752
+ exportCsv(fileName = 'table.csv') {
6753
+ this.gridApi?.exportDataAsCsv({ fileName, skipColumnGroupHeaders: true,
6754
+ processCellCallback: params => {
6755
+ const value = params.formatValue(params.value) ?? params.value ?? '';
6756
+ return typeof value === 'string' && /^[=+\-@\t\r]/.test(value) ? `'${value}` : value;
6757
+ },
6758
+ columnKeys: this.gridApi.getAllDisplayedColumns()
6759
+ .map(column => column.getColId()).filter(id => id !== '__index__' && this.columnTables.get(id)?.type !== 'action') });
6760
+ }
6761
+ getRowSpan() {
6762
+ this.rowSpanMap = {};
6763
+ for (const table of this.tables.filter(item => item.isRowSpan)) {
6764
+ const key = table.key || '';
6765
+ const spans = {};
6766
+ for (let start = 0; start < this.tableDatas.length;) {
6767
+ let end = start + 1;
6768
+ while (end < this.tableDatas.length && getTableValue(this.tableDatas[start], key) === getTableValue(this.tableDatas[end], key))
6769
+ end++;
6770
+ spans[start] = { num: end - start };
6771
+ for (let index = start + 1; index < end; index++)
6772
+ spans[index] = { num: 0 };
6773
+ start = end;
6585
6774
  }
6586
- const key = item.key ? item.key : "";
6587
- const cur = this.tableDatas[index][key];
6588
- const pre = this.tableDatas[index - 1][key];
6589
- return !(cur == pre);
6775
+ this.rowSpanMap[key] = spans;
6590
6776
  }
6591
- return item.isShow;
6592
6777
  }
6593
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AtrGridTableComponent, deps: [{ token: i1$2.UntypedFormBuilder }, { token: OssImgPipe }, { token: DefaultValPipe }, { token: i2$1.DatePipe }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: LOCALE_ID }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
6594
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.15", type: AtrGridTableComponent, isStandalone: false, selector: "atr-grid-table", inputs: { pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", loading: "loading", allowDrag: "allowDrag", showQueryTime: "showQueryTime", isHideTable: "isHideTable", sortKey: "sortKey", queryOpts: "queryOpts", showPagination: "showPagination", title: "title", queryHeaders: "queryHeaders" }, outputs: { tableAction: "tableAction", queryBack: "queryBack", headerAction: "headerAction" }, providers: [DictService, OssImgPipe, DefaultValPipe, DatePipe], viewQueries: [{ propertyName: "tableHeader", first: true, predicate: ["formContent"], descendants: true }, { propertyName: "tableContent", first: true, predicate: ["tableContent"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"full-screen table-content \" #tableContent [spinLoading]=\"!viewInitOver\" HqSpin>\r\n <form nz-form [formGroup]=\"atrForm\" class=\"ant-advanced-search-form\" [style]=\"{width: tableWidth-15+'px'}\"\r\n *ngIf=\"queryOpts.headers.length >0 || queryOpts.actions.length >0\" #formContent>\r\n <div nz-row [nzGutter]=\"24\" [hidden]=\"!isCollapse\">\r\n <ng-content select=\"[header-left-slot]\"></ng-content>\r\n <div nz-col [hidden]=\"!header.isShow \" *ngFor=\"let header of queryOpts.headers\"\r\n [nzSpan]=\"header.span\">\r\n <app-table-form-item\r\n [header]=\"header\"\r\n [ngModel]=\"header.defaultVal\"\r\n [dictList]=\"dicts[header.dictCode]\"\r\n [formControlName]=\"header.key\"\r\n (headerAction)=\"headerAction.emit($event)\"></app-table-form-item>\r\n </div>\r\n <ng-content select=\"[header-right-slot]\"></ng-content>\r\n </div>\r\n <div nz-row nzType=\"flex\">\r\n <div class=\"action-area\" nz-col [nzSpan]=\"16\">\r\n <ng-content select=\"[button-left-slot]\"></ng-content>\r\n <ng-container *ngFor=\"let action of queryOpts.actions\">\r\n <atr-local-upload *ngIf=\"action.gType == 'upload'\" [code]=\"action.code\" [url]=\"action.url\"\r\n [name]=\"action.name\" (afterChange)=\"uploadAction($event,action)\"\r\n [withoutRole]=\"action.withoutRole\"\r\n style=\" display: inline-block;\"></atr-local-upload>\r\n <ng-container *ngIf=\"!action.gType\">\r\n <button nz-button [nzType]=\"'primary'\" nzSize=\"small\" (click)=\"doAction(action.code)\"\r\n *atrRole=\"action.withoutRole ? null:action.code\"\r\n [disabled]=\"isEnable(action.operator)\">{{action.name}} </button>\r\n </ng-container>\r\n </ng-container>\r\n <ng-content select=\"[button-right-slot]\"></ng-content>\r\n </div>\r\n <div nz-col [nzSpan]=\"8\" class=\"search-area\" *ngIf=\"queryOpts.headers.length >0 && !queryOpts.isHideQuery\">\r\n <span *ngIf=\"showQueryTime&&queryTime\">\u6570\u636E\u67E5\u8BE2\u65F6\u95F4\uFF1A{{queryTime}}</span>\r\n <button nz-button nzSize=\"small\" [nzType]=\"'primary'\" (click)=\"query(true)\">\u67E5\u8BE2</button>\r\n <button nz-button nzSize=\"small\" (click)=\"resetForm()\">\u91CD\u7F6E</button>\r\n <a class=\"collapse\" (click)=\"toggleCollapse()\" *ngIf=\"queryOpts.headers.length > 0 \">\r\n {{isCollapse ? '\u6536\u8D77' : '\u5C55\u5F00'}}\r\n <i nz-icon [nzType]=\"isCollapse ? 'up' : 'down'\"></i>\r\n </a>\r\n </div>\r\n </div>\r\n <div *ngIf=\"title\" class=\"title\">{{title}}</div>\r\n </form>\r\n <ag-grid-angular *ngIf=\"isAllLoad\"\r\n class=\"full-screen\"\r\n [rowSelection]=\"rowSelection\"\r\n [ngStyle]=\"{height: tableHeight}\"\r\n [rowData]=\"tableDatas\"\r\n [loading]=\"loading\"\r\n [alwaysMultiSort]=\"true\"\r\n [enableCellTextSelection]=\"true\"\r\n (gridReady)=\"onGridReady($event)\"\r\n (selectionChanged)=\"onSelectionChanged($event)\"\r\n (sortChanged)=\"onSortChanged($event)\"\r\n [pagination]=\"true\"\r\n [paginationPageSize]=\"pageSize\"\r\n [suppressPaginationPanel]=\"true\"\r\n [columnDefs]=\"columnDefs\"/>\r\n <div class=\"flex\" style=\"justify-content: flex-end;background: white\">\r\n <div class=\"flex \" style=\"align-items: center\">\r\n \u5171 {{ total }} \u6761\u8BB0\u5F55\r\n </div>\r\n\r\n <nz-pagination [nzPageIndex]=\"pageIndex\" [nzTotal]=\"total\" nzShowSizeChanger [nzPageSize]=\"pageSize\"\r\n [nzSize]=\"'small'\"\r\n [nzPageSizeOptions]=\"pageSizeOptions\"\r\n (nzPageIndexChange)=\"PageIndexChange($event)\"\r\n (nzPageSizeChange)=\"PageSizeChange($event)\"\r\n ></nz-pagination>\r\n </div>\r\n</div>\r\n", styles: [":host{height:100%;width:100%;background:#fff}:host ::ng-deep .ant-table-title{padding:0}:host ::ng-deep .ant-modal{top:50px;padding:0}:host .ant-advanced-search-form{padding:10px 6px 6px;background:#fbfbfb;border:1px solid #d9d9d9;border-radius:6px;margin-bottom:5px}:host .select-icon:hover{color:#1890ff}:host ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:5px}:host ::ng-deep .ant-table-column-title{font-size:.65rem}:host ::ng-deep .ant-table-tbody>tr.ant-table-row:hover>td{background:#d0eeea}:host ::ng-deep .ant-modal-header,:host ::ng-deep .ant-modal-content{border-radius:4px}:host ::ng-deep .ant-table-tbody>tr.selected:hover>td{background-color:#cfe1d0!important}:host ::ng-deep .ant-table{height:100%}:host ::ng-deep nz-pagination{bottom:0;right:0}:host .search-result-list{padding:1px;border:1px dashed #e9e9e9;border-radius:6px;background-color:#fff;flex:1;text-align:center;position:relative}:host [nz-form-label]{overflow:visible}:host button{margin:2px 4px}:host .collapse{margin-left:6px;font-size:12px}:host .action-area{text-align:left}:host .search-area{text-align:right}:host ::ng-deep .ant-table-pagination.ant-pagination{margin:0}:host ::ng-deep .ant-table-footer{padding:5px 0 0}:host ::ng-deep .main-table{position:absolute;inset:0}:host ::ng-deep .table-content .ant-spin-nested-loading{height:100%}:host ::ng-deep .table-content .ant-spin-container{height:100%}:host ::ng-deep .table-content .ant-table-wrapper{width:100%;height:100%}:host ::ng-deep .table-content .ant-table-footer{position:absolute;bottom:0;width:100%}:host ::ng-deep .ant-table-tbody>tr.selected>td{background-color:#cfe1d0}:host ::ng-deep .ant-table-tbody>tr>td>img{display:block;width:40%;margin:0 auto}:host ::ng-deep .ant-table-body{-ms-overflow-style:none;overflow:-moz-scrollbars-none}:host ::ng-deep .ant-table-body::-webkit-scrollbar,:host ::ng-deep .ant-table-header::-webkit-scrollbar{width:6px!important;height:6px!important}:host ::ng-deep .ant-table-body::-webkit-scrollbar-track,:host ::ng-deep .ant-table-header::-webkit-scrollbar-track{width:6px!important;cursor:pointer}:host ::ng-deep .ant-table-body::-webkit-scrollbar-thumb,:host ::ng-deep .ant-table-header::-webkit-scrollbar-thumb{background:#1890ff;border-radius:3px;cursor:pointer}:host ::ng-deep .ant-table-bordered .ant-table-thead>tr>th{border-right:1px solid #ddd}:host ::ng-deep .ant-table-header{-ms-overflow-style:none;overflow:-moz-scrollbars-none;margin-bottom:-5px!important}:host ::ng-deep .ant-table-placeholder{border-bottom:none!important;border-top:none!important}:host .tabel-colunmn{display:block;width:160px;height:300px;border:1px solid #ddd;padding:10px;border-radius:5px;overflow-x:hidden;overflow-y:auto;position:relative}:host .tabel-colunmn-header{position:fixed;top:0;left:0;right:0;height:30px;z-index:999;line-height:30px;border-bottom:1px solid #ddd;text-align:left;font-size:13px;padding-left:10px}:host .t-tr{background:#fff}:host .t-tr:nth-child(odd){background:#f8f9fa}:host ::ng-deep .ant-table-thead>tr>th{background:#e7ebef!important;border-radius:0;word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-tbody>tr>td{word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-header{background:#e7ebef!important}:host td{font-size:.65rem}:host .resize-trigger{height:100%}:host .nz-resizable-preview{border-width:0;border-right-width:1px}:host ::ng-deep .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){position:unset}:host ::ng-deep .ant-table-tbody>tr>td{padding:5px}:host ::ng-deep .ant-table{line-height:15px}:host ::ng-deep .ant-table-middle .ant-table-footer,:host .ant-table-middle .ant-table-tbody>tr>td,:host .ant-table-middle .ant-table-thead>tr>th,:host .ant-table-middle .ant-table-title{padding:5px}:host ::ng-deep .ant-table-tbody>tr>td>img{width:35px}:host ::ng-deep .ant-modal-body{padding:10px}:host ::ng-deep .ant-table.ant-table-bordered tbody>tr>td{font-size:13px}:host ::ng-deep th{z-index:80!important}:host .left-zindex-header{z-index:90!important}:host .left-zindex{z-index:80!important}:host ::ng-deep input,:host ::ng-deep .ant-select-single:not(.ant-select-customize-input) .ant-select-selector,:host ::ng-deep .ant-picker{border-radius:5px}:host ::ng-deep .ant-table-content{overflow-x:auto}:host .border-text{width:100%;height:36px;line-height:36px;display:flex}:host .border-text .border-text-line{display:inline-block;border-top:1px solid #cccccc;margin-top:18px}:host .border-text .border-text-line-left{width:10px;border-left:1px solid #cccccc}:host .border-text .border-text-line-right{flex:1;border-right:1px solid #cccccc}:host .border-text .border-text-span{margin-left:5px;margin-right:5px}:host ::ng-deep .tabel-colunmn-header{position:absolute!important;top:0!important}:host ::ng-deep .ant-table-cell-fix-left,:host .ant-table-cell-fix-right{position:-webkit-sticky!important;position:sticky!important}:host :host ::ng-deep .ant-table{min-width:100%;height:100%}:host :host ::ng-deep .ant-table-container{min-width:100%;height:100%}:host app-table-td{background:#fff0!important}:host ::ng-deep .atr-action-cell,:host ::ng-deep .atr-action-cell .ag-cell-wrapper,:host ::ng-deep .atr-action-cell .ag-cell-value{display:flex;align-items:center}.label-title{position:absolute;display:block;top:-7px;left:10px;background-color:#fff;color:#000;font-weight:600;font-size:12px;line-height:12px}\n"], dependencies: [{ kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3$1.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i3.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i5$1.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "directive", type: i8.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i8.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i14.NzFormDirective, selector: "[nz-form]", inputs: ["nzLayout", "nzNoColon", "nzAutoTips", "nzDisableAutoTips", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap", "nzRequiredMark"], exportAs: ["nzForm"] }, { kind: "directive", type: i8$1.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: i11$1.NzPaginationComponent, selector: "nz-pagination", inputs: ["nzShowTotal", "nzItemRender", "nzSize", "nzPageSizeOptions", "nzShowSizeChanger", "nzShowQuickJumper", "nzSimple", "nzDisabled", "nzResponsive", "nzHideOnSinglePage", "nzTotal", "nzPageIndex", "nzPageSize", "nzAlign"], outputs: ["nzPageSizeChange", "nzPageIndexChange"], exportAs: ["nzPagination"] }, { kind: "directive", type: AtrRoleDirective, selector: "[atrRole]", inputs: ["atrRole"] }, { kind: "directive", type: HqSpinDirective, selector: "[HqSpin]", inputs: ["spinLoading", "text"] }, { kind: "component", type: i14$1.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "toolbar", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipSwitchShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "enableStrictPivotColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "hidePaddedHeaderRows", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressMoveWhenColumnDragging", "suppressDragLeaveHidesColumns", "suppressGroupChangesColumnVisibility", "suppressMakeColumnVisibleAfterUnGroup", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "animateColumnResizing", "components", "editType", "suppressStartEditOnTab", "getFullRowEditValidationErrors", "invalidEditValueMode", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "findSearchValue", "findOptions", "quickFilterText", "cacheQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "alwaysPassFilter", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "advancedFilterParams", "suppressAdvancedFilterEval", "suppressSetFilterByDefault", "enableFilterHandlers", "filterHandlers", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressTouch", "suppressFocusAfterRefresh", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "loading", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "suppressOverlays", "overlayComponent", "overlayComponentParams", "overlayComponentSelector", "activeOverlay", "activeOverlayParams", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "paginationPanels", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "formulaDataSource", "notesDataSource", "noteTrigger", "noteShowDelay", "noteHideDelay", "formulaFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "cellFlashDuration", "cellFadeDuration", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableCellSpan", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "refreshAfterGroupEdit", "rowDragInsertDelay", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "dragAndDropImageComponent", "dragAndDropImageComponentParams", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupHideParentOfSingleChild", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupHideColumnsUntilExpanded", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "treeData", "treeDataChildrenField", "treeDataParentIdField", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "groupHierarchyConfig", "pinnedTopRowData", "pinnedBottomRowData", "enableRowPinning", "isRowPinnable", "isRowPinned", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "cellSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "selectionColumnDef", "rowNumbers", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "suppressContentVisibilityAuto", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "enableGroupEdit", "initialState", "theme", "loadThemeGoogleFonts", "themeCssLayer", "styleNonce", "themeStyleContainer", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "focusGridInnerElement", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "tabToNextGridContainer", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "ssrmExpandAllAffectsAllRows", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow", "isRowValidDropPosition"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnsReset", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "bulkEditingStarted", "bulkEditingStopped", "batchEditingStarted", "batchEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "cellSelectionDeleteStart", "cellSelectionDeleteEnd", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "filterUiChanged", "floatingFilterUiChanged", "advancedFilterBuilderVisibleChanged", "findChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "dragCancelled", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "rowDragCancel", "rowResizeStarted", "rowResizeEnded", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "pinnedRowsChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "headerFocused", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "cellSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged"] }, { kind: "component", type: TableFormItemComponent, selector: "app-table-form-item", inputs: ["header", "value", "dictList"], outputs: ["headerAction"] }, { kind: "component", type: LocalUploadComponent, selector: "atr-local-upload", inputs: ["beforeUpload", "url", "nzAccept", "name", "code", "withoutRole", "uploadType"], outputs: ["afterChange"] }] }); }
6778
+ checkShowTd(item, index) {
6779
+ return item.isShow !== false && (!item.isRowSpan || (this.rowSpanMap[item.key || '']?.[index]?.num ?? 1) > 0);
6780
+ }
6781
+ canDragRows() { return this.allowDrag && !this.getSortInfo() && !this.gridApi?.isAnyFilterPresent(); }
6782
+ onRowDragEnd(event) {
6783
+ if (!this.canDragRows() || !event.overNode?.data)
6784
+ return;
6785
+ this.reorderRows(this.tableDatas.indexOf(event.node.data), this.tableDatas.indexOf(event.overNode.data));
6786
+ }
6787
+ drop(event) { if (this.canDragRows())
6788
+ this.reorderRows(event.previousIndex, event.currentIndex); }
6789
+ reorderRows(from, to) {
6790
+ if (from < 0 || to < 0 || from === to || from >= this.tableDatas.length || to >= this.tableDatas.length)
6791
+ return;
6792
+ const rows = this.tableDatas.slice();
6793
+ moveItemInArray(rows, from, to);
6794
+ this.tableDatas = rows;
6795
+ this.getRowSpan();
6796
+ this.tableAction.emit({ name: 'drag', code: 'drag', type: 'rows', data: rows[to], datas: rows, value: { previousIndex: from, currentIndex: to } });
6797
+ this.cd.markForCheck();
6798
+ }
6799
+ onResize(event, item) {
6800
+ if (event.width) {
6801
+ item.width = event.width;
6802
+ this.resizeDirection = event.direction || null;
6803
+ if (this.gridApi && item.key)
6804
+ this.gridApi.setColumnWidths([{ key: item.key, newWidth: event.width }]);
6805
+ }
6806
+ }
6807
+ contextMenu(event, menu) { this.injector.get(NzContextMenuService).create(event, menu); }
6808
+ get httpService() { return this.injector.get(HttpService); }
6809
+ get dictService() { return this.injector.get(DictService); }
6810
+ ngOnDestroy() {
6811
+ this.destroyed = true;
6812
+ ++this.configRevision;
6813
+ ++this.columnRevision;
6814
+ this.cancelQuery();
6815
+ this.destroy$.next();
6816
+ this.destroy$.complete();
6817
+ this.resizeObserver?.disconnect();
6818
+ if (this.widthId)
6819
+ clearTimeout(this.widthId);
6820
+ this.gridApi = null;
6821
+ }
6822
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AtrGridTableComponent, deps: [{ token: i1$2.UntypedFormBuilder }, { token: OssImgPipe }, { token: DefaultValPipe }, { token: i2$1.DatePipe }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: LOCALE_ID }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
6823
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: AtrGridTableComponent, isStandalone: false, selector: "atr-grid-table", inputs: { pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", loading: "loading", allowDrag: "allowDrag", showQueryTime: "showQueryTime", isHideTable: "isHideTable", sortKey: "sortKey", queryOpts: "queryOpts", showPagination: "showPagination", title: "title", queryHeaders: "queryHeaders", rowKey: "rowKey", gridOptions: "gridOptions" }, outputs: { tableAction: "tableAction", queryBack: "queryBack", headerAction: "headerAction" }, providers: [DictService, OssImgPipe, DefaultValPipe, DatePipe], viewQueries: [{ propertyName: "tableHeader", first: true, predicate: ["formContent"], descendants: true }, { propertyName: "tableContent", first: true, predicate: ["tableContent"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"table-content\" #tableContent [spinLoading]=\"!viewInitOver\" HqSpin>\n <form nz-form [formGroup]=\"atrForm\" class=\"ant-advanced-search-form\"\n *ngIf=\"searchHeaders.length || actions.length || title\" #formContent (ngSubmit)=\"query(true)\">\n <div nz-row [nzGutter]=\"16\">\n <ng-content select=\"[header-left-slot]\"></ng-content>\n <ng-container *ngFor=\"let header of searchHeaders; let index = index\">\n <div nz-col [hidden]=\"!isHeaderVisible(header, index)\" [nzSpan]=\"header.span || 8\">\n <app-table-form-item [header]=\"header\" [dictList]=\"dicts[header.dictCode || ''] || header.dictList || []\"\n [formControlName]=\"header.key\" (headerAction)=\"headerAction.emit($event)\"></app-table-form-item>\n </div>\n </ng-container>\n <ng-content select=\"[header-right-slot]\"></ng-content>\n </div>\n <div class=\"table-toolbar\">\n <div class=\"action-area\">\n <ng-content select=\"[button-left-slot]\"></ng-content>\n <ng-container *ngFor=\"let action of actions\">\n <atr-local-upload *ngIf=\"action.gType === 'upload'\" [code]=\"action.code\" [url]=\"action.url\"\n [name]=\"action.name\" [withoutRole]=\"action.withoutRole\" (afterChange)=\"uploadAction($event, action)\"></atr-local-upload>\n <ng-container *ngIf=\"!action.gType || action.gType === 'normal'\">\n <button type=\"button\" nz-button nzSize=\"small\"\n [nzType]=\"action.buttonType && action.buttonType !== 'danger' ? action.buttonType : 'primary'\"\n [nzDanger]=\"action.buttonType === 'danger'\" [ngClass]=\"action.className || ''\"\n *atrRole=\"action.withoutRole ? 'any' : action.code\" [disabled]=\"isEnable(action.operator)\"\n (click)=\"doAction(action.code)\"><i *ngIf=\"action.icon\" nz-icon [nzType]=\"action.icon\"></i>{{action.name}}</button>\n </ng-container>\n </ng-container>\n <ng-content select=\"[button-right-slot]\"></ng-content>\n </div>\n <div class=\"search-area\" *ngIf=\"searchHeaders.length && !queryOpts?.isHideQuery\">\n <span *ngIf=\"showQueryTime && queryTime\" class=\"query-time\">\u6570\u636E\u67E5\u8BE2\u65F6\u95F4\uFF1A{{queryTime}}</span>\n <button type=\"submit\" nz-button nzSize=\"small\" nzType=\"primary\" [nzLoading]=\"loading\">\u67E5\u8BE2</button>\n <button type=\"button\" nz-button nzSize=\"small\" (click)=\"resetForm()\">\u91CD\u7F6E</button>\n <button type=\"button\" nz-button nzType=\"link\" nzSize=\"small\" *ngIf=\"hasMoreHeaders\" (click)=\"toggleCollapse()\">\n {{isCollapse ? '\u5C55\u5F00' : '\u6536\u8D77'}}<i nz-icon [nzType]=\"isCollapse ? 'down' : 'up'\"></i>\n </button>\n </div>\n </div>\n <div *ngIf=\"title\" class=\"title\">{{title}}</div>\n </form>\n <div *ngIf=\"queryError\" class=\"query-error\" role=\"alert\"><span>{{queryError}}</span>\n <button type=\"button\" nz-button nzSize=\"small\" (click)=\"query()\" [disabled]=\"loading\">\u91CD\u8BD5</button>\n </div>\n <div class=\"grid-area\" [hidden]=\"isHideTable\">\n <ag-grid-angular *ngIf=\"isAllLoad\" class=\"full-screen\"\n [gridOptions]=\"resolvedGridOptions\" [defaultColDef]=\"defaultColDef\"\n [rowSelection]=\"rowSelection\" [rowData]=\"tableDatas\" [loading]=\"loading\"\n [getRowId]=\"getRowId\" [getRowStyle]=\"getRowStyle\" [enableCellSpan]=\"cellSpanEnabled\"\n [rowDragManaged]=\"false\" [alwaysMultiSort]=\"true\" [enableCellTextSelection]=\"true\"\n [pagination]=\"false\" [columnDefs]=\"columnDefs\"\n (gridReady)=\"onGridReady($event)\" (selectionChanged)=\"onSelectionChanged($event)\"\n (sortChanged)=\"onSortChanged($event)\" (cellValueChanged)=\"onCellValueChanged($event)\"\n (rowDoubleClicked)=\"dbclickData($event.data, $event.rowIndex ?? -1)\"\n (rowDragEnd)=\"onRowDragEnd($event)\"></ag-grid-angular>\n </div>\n <div class=\"table-pagination\" *ngIf=\"showPagination && !isHideTable\">\n <span>\u5171 {{total}} \u6761\u8BB0\u5F55<span *ngIf=\"numberOfChecked\">\uFF0C\u5DF2\u9009 {{numberOfChecked}} \u6761</span></span>\n <nz-pagination [nzPageIndex]=\"pageIndex\" [nzTotal]=\"total\" nzShowSizeChanger [nzPageSize]=\"pageSize\"\n nzSize=\"small\" [nzPageSizeOptions]=\"pageSizeOptions\" (nzPageIndexChange)=\"PageIndexChange($event)\"\n (nzPageSizeChange)=\"PageSizeChange($event)\"></nz-pagination>\n </div>\n</div>\r\n", styles: [":host{display:block;height:100%;width:100%;min-width:0;background:#fff}.table-content{display:flex;flex-direction:column;width:100%;height:100%;min-height:0}.ant-advanced-search-form{flex:0 0 auto;padding:12px;margin-bottom:8px;background:#fafafa;border:1px solid #e8e8e8;border-radius:6px}.table-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.action-area,.search-area{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.search-area{margin-left:auto}.query-time{color:#8c8c8c;font-size:12px}.title{padding-top:8px;font-size:16px;font-weight:500}.grid-area{flex:1 1 auto;min-height:120px;min-width:0}.grid-area[hidden]{display:none}ag-grid-angular{display:block;width:100%;height:100%}.table-pagination{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 0 2px}.table-pagination>span{font-size:13px;color:#595959}.query-error{flex:0 0 auto;display:flex;gap:12px;align-items:center;padding:8px 12px;margin-bottom:8px;color:#a8071a;background:#fff1f0;border:1px solid #ffa39e;border-radius:4px}:host ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:10px}:host ::ng-deep .atr-action-cell{display:flex;align-items:center}:host ::ng-deep .atr-grid-link{padding:0;color:#1677ff;background:transparent;border:0;cursor:pointer}:host ::ng-deep .atr-grid-template-cell{display:flex;align-items:center;height:100%}@media(max-width:640px){.search-area{margin-left:0}.query-time{width:100%}}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i4.ɵNzTransitionPatchDirective, selector: "[nz-button], [nz-icon], nz-icon, [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i5$1.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "directive", type: i8.NzColDirective, selector: "[nz-col],nz-col,nz-form-control,nz-form-label", inputs: ["nzFlex", "nzSpan", "nzOrder", "nzOffset", "nzPush", "nzPull", "nzXs", "nzSm", "nzMd", "nzLg", "nzXl", "nzXXl"], exportAs: ["nzCol"] }, { kind: "directive", type: i8.NzRowDirective, selector: "[nz-row],nz-row,nz-form-item", inputs: ["nzAlign", "nzJustify", "nzGutter"], exportAs: ["nzRow"] }, { kind: "directive", type: i14.NzFormDirective, selector: "[nz-form]", inputs: ["nzLayout", "nzNoColon", "nzAutoTips", "nzDisableAutoTips", "nzTooltipIcon", "nzLabelAlign", "nzLabelWrap", "nzRequiredMark"], exportAs: ["nzForm"] }, { kind: "directive", type: i10.NzIconDirective, selector: "nz-icon,[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: i11$1.NzPaginationComponent, selector: "nz-pagination", inputs: ["nzShowTotal", "nzItemRender", "nzSize", "nzPageSizeOptions", "nzShowSizeChanger", "nzShowQuickJumper", "nzSimple", "nzDisabled", "nzResponsive", "nzHideOnSinglePage", "nzTotal", "nzPageIndex", "nzPageSize", "nzAlign"], outputs: ["nzPageSizeChange", "nzPageIndexChange"], exportAs: ["nzPagination"] }, { kind: "directive", type: AtrRoleDirective, selector: "[atrRole]", inputs: ["atrRole"] }, { kind: "directive", type: HqSpinDirective, selector: "[HqSpin]", inputs: ["spinLoading", "text"] }, { kind: "component", type: i14$2.AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "toolbar", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipSwitchShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "enableStrictPivotColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "hidePaddedHeaderRows", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressMoveWhenColumnDragging", "suppressDragLeaveHidesColumns", "suppressGroupChangesColumnVisibility", "suppressMakeColumnVisibleAfterUnGroup", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "animateColumnResizing", "components", "editType", "suppressStartEditOnTab", "getFullRowEditValidationErrors", "invalidEditValueMode", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "findSearchValue", "findOptions", "quickFilterText", "cacheQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "alwaysPassFilter", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "advancedFilterParams", "suppressAdvancedFilterEval", "suppressSetFilterByDefault", "enableFilterHandlers", "filterHandlers", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressTouch", "suppressFocusAfterRefresh", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "loading", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "suppressOverlays", "overlayComponent", "overlayComponentParams", "overlayComponentSelector", "activeOverlay", "activeOverlayParams", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "paginationPanels", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "formulaDataSource", "notesDataSource", "noteTrigger", "noteShowDelay", "noteHideDelay", "formulaFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "cellFlashDuration", "cellFadeDuration", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableCellSpan", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "refreshAfterGroupEdit", "rowDragInsertDelay", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "dragAndDropImageComponent", "dragAndDropImageComponentParams", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupHideParentOfSingleChild", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupHideColumnsUntilExpanded", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "treeData", "treeDataChildrenField", "treeDataParentIdField", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "groupHierarchyConfig", "pinnedTopRowData", "pinnedBottomRowData", "enableRowPinning", "isRowPinnable", "isRowPinned", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "cellSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "selectionColumnDef", "rowNumbers", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "suppressContentVisibilityAuto", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "enableGroupEdit", "initialState", "theme", "loadThemeGoogleFonts", "themeCssLayer", "styleNonce", "themeStyleContainer", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "focusGridInnerElement", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "tabToNextGridContainer", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "ssrmExpandAllAffectsAllRows", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow", "isRowValidDropPosition"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnsReset", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "bulkEditingStarted", "bulkEditingStopped", "batchEditingStarted", "batchEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "cellSelectionDeleteStart", "cellSelectionDeleteEnd", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "filterUiChanged", "floatingFilterUiChanged", "advancedFilterBuilderVisibleChanged", "findChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "dragCancelled", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "rowDragCancel", "rowResizeStarted", "rowResizeEnded", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "pinnedRowsChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "headerFocused", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "cellSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged"] }, { kind: "component", type: TableFormItemComponent, selector: "app-table-form-item", inputs: ["header", "value", "dictList"], outputs: ["headerAction"] }, { kind: "component", type: LocalUploadComponent, selector: "atr-local-upload", inputs: ["beforeUpload", "url", "nzAccept", "name", "code", "withoutRole", "uploadType"], outputs: ["afterChange"] }] }); }
6595
6824
  }
6596
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AtrGridTableComponent, decorators: [{
6825
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AtrGridTableComponent, decorators: [{
6597
6826
  type: Component,
6598
- args: [{ standalone: false, selector: 'atr-grid-table', providers: [DictService, OssImgPipe, DefaultValPipe, DatePipe], template: "<div class=\"full-screen table-content \" #tableContent [spinLoading]=\"!viewInitOver\" HqSpin>\r\n <form nz-form [formGroup]=\"atrForm\" class=\"ant-advanced-search-form\" [style]=\"{width: tableWidth-15+'px'}\"\r\n *ngIf=\"queryOpts.headers.length >0 || queryOpts.actions.length >0\" #formContent>\r\n <div nz-row [nzGutter]=\"24\" [hidden]=\"!isCollapse\">\r\n <ng-content select=\"[header-left-slot]\"></ng-content>\r\n <div nz-col [hidden]=\"!header.isShow \" *ngFor=\"let header of queryOpts.headers\"\r\n [nzSpan]=\"header.span\">\r\n <app-table-form-item\r\n [header]=\"header\"\r\n [ngModel]=\"header.defaultVal\"\r\n [dictList]=\"dicts[header.dictCode]\"\r\n [formControlName]=\"header.key\"\r\n (headerAction)=\"headerAction.emit($event)\"></app-table-form-item>\r\n </div>\r\n <ng-content select=\"[header-right-slot]\"></ng-content>\r\n </div>\r\n <div nz-row nzType=\"flex\">\r\n <div class=\"action-area\" nz-col [nzSpan]=\"16\">\r\n <ng-content select=\"[button-left-slot]\"></ng-content>\r\n <ng-container *ngFor=\"let action of queryOpts.actions\">\r\n <atr-local-upload *ngIf=\"action.gType == 'upload'\" [code]=\"action.code\" [url]=\"action.url\"\r\n [name]=\"action.name\" (afterChange)=\"uploadAction($event,action)\"\r\n [withoutRole]=\"action.withoutRole\"\r\n style=\" display: inline-block;\"></atr-local-upload>\r\n <ng-container *ngIf=\"!action.gType\">\r\n <button nz-button [nzType]=\"'primary'\" nzSize=\"small\" (click)=\"doAction(action.code)\"\r\n *atrRole=\"action.withoutRole ? null:action.code\"\r\n [disabled]=\"isEnable(action.operator)\">{{action.name}} </button>\r\n </ng-container>\r\n </ng-container>\r\n <ng-content select=\"[button-right-slot]\"></ng-content>\r\n </div>\r\n <div nz-col [nzSpan]=\"8\" class=\"search-area\" *ngIf=\"queryOpts.headers.length >0 && !queryOpts.isHideQuery\">\r\n <span *ngIf=\"showQueryTime&&queryTime\">\u6570\u636E\u67E5\u8BE2\u65F6\u95F4\uFF1A{{queryTime}}</span>\r\n <button nz-button nzSize=\"small\" [nzType]=\"'primary'\" (click)=\"query(true)\">\u67E5\u8BE2</button>\r\n <button nz-button nzSize=\"small\" (click)=\"resetForm()\">\u91CD\u7F6E</button>\r\n <a class=\"collapse\" (click)=\"toggleCollapse()\" *ngIf=\"queryOpts.headers.length > 0 \">\r\n {{isCollapse ? '\u6536\u8D77' : '\u5C55\u5F00'}}\r\n <i nz-icon [nzType]=\"isCollapse ? 'up' : 'down'\"></i>\r\n </a>\r\n </div>\r\n </div>\r\n <div *ngIf=\"title\" class=\"title\">{{title}}</div>\r\n </form>\r\n <ag-grid-angular *ngIf=\"isAllLoad\"\r\n class=\"full-screen\"\r\n [rowSelection]=\"rowSelection\"\r\n [ngStyle]=\"{height: tableHeight}\"\r\n [rowData]=\"tableDatas\"\r\n [loading]=\"loading\"\r\n [alwaysMultiSort]=\"true\"\r\n [enableCellTextSelection]=\"true\"\r\n (gridReady)=\"onGridReady($event)\"\r\n (selectionChanged)=\"onSelectionChanged($event)\"\r\n (sortChanged)=\"onSortChanged($event)\"\r\n [pagination]=\"true\"\r\n [paginationPageSize]=\"pageSize\"\r\n [suppressPaginationPanel]=\"true\"\r\n [columnDefs]=\"columnDefs\"/>\r\n <div class=\"flex\" style=\"justify-content: flex-end;background: white\">\r\n <div class=\"flex \" style=\"align-items: center\">\r\n \u5171 {{ total }} \u6761\u8BB0\u5F55\r\n </div>\r\n\r\n <nz-pagination [nzPageIndex]=\"pageIndex\" [nzTotal]=\"total\" nzShowSizeChanger [nzPageSize]=\"pageSize\"\r\n [nzSize]=\"'small'\"\r\n [nzPageSizeOptions]=\"pageSizeOptions\"\r\n (nzPageIndexChange)=\"PageIndexChange($event)\"\r\n (nzPageSizeChange)=\"PageSizeChange($event)\"\r\n ></nz-pagination>\r\n </div>\r\n</div>\r\n", styles: [":host{height:100%;width:100%;background:#fff}:host ::ng-deep .ant-table-title{padding:0}:host ::ng-deep .ant-modal{top:50px;padding:0}:host .ant-advanced-search-form{padding:10px 6px 6px;background:#fbfbfb;border:1px solid #d9d9d9;border-radius:6px;margin-bottom:5px}:host .select-icon:hover{color:#1890ff}:host ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:5px}:host ::ng-deep .ant-table-column-title{font-size:.65rem}:host ::ng-deep .ant-table-tbody>tr.ant-table-row:hover>td{background:#d0eeea}:host ::ng-deep .ant-modal-header,:host ::ng-deep .ant-modal-content{border-radius:4px}:host ::ng-deep .ant-table-tbody>tr.selected:hover>td{background-color:#cfe1d0!important}:host ::ng-deep .ant-table{height:100%}:host ::ng-deep nz-pagination{bottom:0;right:0}:host .search-result-list{padding:1px;border:1px dashed #e9e9e9;border-radius:6px;background-color:#fff;flex:1;text-align:center;position:relative}:host [nz-form-label]{overflow:visible}:host button{margin:2px 4px}:host .collapse{margin-left:6px;font-size:12px}:host .action-area{text-align:left}:host .search-area{text-align:right}:host ::ng-deep .ant-table-pagination.ant-pagination{margin:0}:host ::ng-deep .ant-table-footer{padding:5px 0 0}:host ::ng-deep .main-table{position:absolute;inset:0}:host ::ng-deep .table-content .ant-spin-nested-loading{height:100%}:host ::ng-deep .table-content .ant-spin-container{height:100%}:host ::ng-deep .table-content .ant-table-wrapper{width:100%;height:100%}:host ::ng-deep .table-content .ant-table-footer{position:absolute;bottom:0;width:100%}:host ::ng-deep .ant-table-tbody>tr.selected>td{background-color:#cfe1d0}:host ::ng-deep .ant-table-tbody>tr>td>img{display:block;width:40%;margin:0 auto}:host ::ng-deep .ant-table-body{-ms-overflow-style:none;overflow:-moz-scrollbars-none}:host ::ng-deep .ant-table-body::-webkit-scrollbar,:host ::ng-deep .ant-table-header::-webkit-scrollbar{width:6px!important;height:6px!important}:host ::ng-deep .ant-table-body::-webkit-scrollbar-track,:host ::ng-deep .ant-table-header::-webkit-scrollbar-track{width:6px!important;cursor:pointer}:host ::ng-deep .ant-table-body::-webkit-scrollbar-thumb,:host ::ng-deep .ant-table-header::-webkit-scrollbar-thumb{background:#1890ff;border-radius:3px;cursor:pointer}:host ::ng-deep .ant-table-bordered .ant-table-thead>tr>th{border-right:1px solid #ddd}:host ::ng-deep .ant-table-header{-ms-overflow-style:none;overflow:-moz-scrollbars-none;margin-bottom:-5px!important}:host ::ng-deep .ant-table-placeholder{border-bottom:none!important;border-top:none!important}:host .tabel-colunmn{display:block;width:160px;height:300px;border:1px solid #ddd;padding:10px;border-radius:5px;overflow-x:hidden;overflow-y:auto;position:relative}:host .tabel-colunmn-header{position:fixed;top:0;left:0;right:0;height:30px;z-index:999;line-height:30px;border-bottom:1px solid #ddd;text-align:left;font-size:13px;padding-left:10px}:host .t-tr{background:#fff}:host .t-tr:nth-child(odd){background:#f8f9fa}:host ::ng-deep .ant-table-thead>tr>th{background:#e7ebef!important;border-radius:0;word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-tbody>tr>td{word-break:break-all;white-space:pre-wrap}:host ::ng-deep .ant-table-header{background:#e7ebef!important}:host td{font-size:.65rem}:host .resize-trigger{height:100%}:host .nz-resizable-preview{border-width:0;border-right-width:1px}:host ::ng-deep .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){position:unset}:host ::ng-deep .ant-table-tbody>tr>td{padding:5px}:host ::ng-deep .ant-table{line-height:15px}:host ::ng-deep .ant-table-middle .ant-table-footer,:host .ant-table-middle .ant-table-tbody>tr>td,:host .ant-table-middle .ant-table-thead>tr>th,:host .ant-table-middle .ant-table-title{padding:5px}:host ::ng-deep .ant-table-tbody>tr>td>img{width:35px}:host ::ng-deep .ant-modal-body{padding:10px}:host ::ng-deep .ant-table.ant-table-bordered tbody>tr>td{font-size:13px}:host ::ng-deep th{z-index:80!important}:host .left-zindex-header{z-index:90!important}:host .left-zindex{z-index:80!important}:host ::ng-deep input,:host ::ng-deep .ant-select-single:not(.ant-select-customize-input) .ant-select-selector,:host ::ng-deep .ant-picker{border-radius:5px}:host ::ng-deep .ant-table-content{overflow-x:auto}:host .border-text{width:100%;height:36px;line-height:36px;display:flex}:host .border-text .border-text-line{display:inline-block;border-top:1px solid #cccccc;margin-top:18px}:host .border-text .border-text-line-left{width:10px;border-left:1px solid #cccccc}:host .border-text .border-text-line-right{flex:1;border-right:1px solid #cccccc}:host .border-text .border-text-span{margin-left:5px;margin-right:5px}:host ::ng-deep .tabel-colunmn-header{position:absolute!important;top:0!important}:host ::ng-deep .ant-table-cell-fix-left,:host .ant-table-cell-fix-right{position:-webkit-sticky!important;position:sticky!important}:host :host ::ng-deep .ant-table{min-width:100%;height:100%}:host :host ::ng-deep .ant-table-container{min-width:100%;height:100%}:host app-table-td{background:#fff0!important}:host ::ng-deep .atr-action-cell,:host ::ng-deep .atr-action-cell .ag-cell-wrapper,:host ::ng-deep .atr-action-cell .ag-cell-value{display:flex;align-items:center}.label-title{position:absolute;display:block;top:-7px;left:10px;background-color:#fff;color:#000;font-weight:600;font-size:12px;line-height:12px}\n"] }]
6827
+ args: [{ standalone: false, selector: 'atr-grid-table', providers: [DictService, OssImgPipe, DefaultValPipe, DatePipe], template: "<div class=\"table-content\" #tableContent [spinLoading]=\"!viewInitOver\" HqSpin>\n <form nz-form [formGroup]=\"atrForm\" class=\"ant-advanced-search-form\"\n *ngIf=\"searchHeaders.length || actions.length || title\" #formContent (ngSubmit)=\"query(true)\">\n <div nz-row [nzGutter]=\"16\">\n <ng-content select=\"[header-left-slot]\"></ng-content>\n <ng-container *ngFor=\"let header of searchHeaders; let index = index\">\n <div nz-col [hidden]=\"!isHeaderVisible(header, index)\" [nzSpan]=\"header.span || 8\">\n <app-table-form-item [header]=\"header\" [dictList]=\"dicts[header.dictCode || ''] || header.dictList || []\"\n [formControlName]=\"header.key\" (headerAction)=\"headerAction.emit($event)\"></app-table-form-item>\n </div>\n </ng-container>\n <ng-content select=\"[header-right-slot]\"></ng-content>\n </div>\n <div class=\"table-toolbar\">\n <div class=\"action-area\">\n <ng-content select=\"[button-left-slot]\"></ng-content>\n <ng-container *ngFor=\"let action of actions\">\n <atr-local-upload *ngIf=\"action.gType === 'upload'\" [code]=\"action.code\" [url]=\"action.url\"\n [name]=\"action.name\" [withoutRole]=\"action.withoutRole\" (afterChange)=\"uploadAction($event, action)\"></atr-local-upload>\n <ng-container *ngIf=\"!action.gType || action.gType === 'normal'\">\n <button type=\"button\" nz-button nzSize=\"small\"\n [nzType]=\"action.buttonType && action.buttonType !== 'danger' ? action.buttonType : 'primary'\"\n [nzDanger]=\"action.buttonType === 'danger'\" [ngClass]=\"action.className || ''\"\n *atrRole=\"action.withoutRole ? 'any' : action.code\" [disabled]=\"isEnable(action.operator)\"\n (click)=\"doAction(action.code)\"><i *ngIf=\"action.icon\" nz-icon [nzType]=\"action.icon\"></i>{{action.name}}</button>\n </ng-container>\n </ng-container>\n <ng-content select=\"[button-right-slot]\"></ng-content>\n </div>\n <div class=\"search-area\" *ngIf=\"searchHeaders.length && !queryOpts?.isHideQuery\">\n <span *ngIf=\"showQueryTime && queryTime\" class=\"query-time\">\u6570\u636E\u67E5\u8BE2\u65F6\u95F4\uFF1A{{queryTime}}</span>\n <button type=\"submit\" nz-button nzSize=\"small\" nzType=\"primary\" [nzLoading]=\"loading\">\u67E5\u8BE2</button>\n <button type=\"button\" nz-button nzSize=\"small\" (click)=\"resetForm()\">\u91CD\u7F6E</button>\n <button type=\"button\" nz-button nzType=\"link\" nzSize=\"small\" *ngIf=\"hasMoreHeaders\" (click)=\"toggleCollapse()\">\n {{isCollapse ? '\u5C55\u5F00' : '\u6536\u8D77'}}<i nz-icon [nzType]=\"isCollapse ? 'down' : 'up'\"></i>\n </button>\n </div>\n </div>\n <div *ngIf=\"title\" class=\"title\">{{title}}</div>\n </form>\n <div *ngIf=\"queryError\" class=\"query-error\" role=\"alert\"><span>{{queryError}}</span>\n <button type=\"button\" nz-button nzSize=\"small\" (click)=\"query()\" [disabled]=\"loading\">\u91CD\u8BD5</button>\n </div>\n <div class=\"grid-area\" [hidden]=\"isHideTable\">\n <ag-grid-angular *ngIf=\"isAllLoad\" class=\"full-screen\"\n [gridOptions]=\"resolvedGridOptions\" [defaultColDef]=\"defaultColDef\"\n [rowSelection]=\"rowSelection\" [rowData]=\"tableDatas\" [loading]=\"loading\"\n [getRowId]=\"getRowId\" [getRowStyle]=\"getRowStyle\" [enableCellSpan]=\"cellSpanEnabled\"\n [rowDragManaged]=\"false\" [alwaysMultiSort]=\"true\" [enableCellTextSelection]=\"true\"\n [pagination]=\"false\" [columnDefs]=\"columnDefs\"\n (gridReady)=\"onGridReady($event)\" (selectionChanged)=\"onSelectionChanged($event)\"\n (sortChanged)=\"onSortChanged($event)\" (cellValueChanged)=\"onCellValueChanged($event)\"\n (rowDoubleClicked)=\"dbclickData($event.data, $event.rowIndex ?? -1)\"\n (rowDragEnd)=\"onRowDragEnd($event)\"></ag-grid-angular>\n </div>\n <div class=\"table-pagination\" *ngIf=\"showPagination && !isHideTable\">\n <span>\u5171 {{total}} \u6761\u8BB0\u5F55<span *ngIf=\"numberOfChecked\">\uFF0C\u5DF2\u9009 {{numberOfChecked}} \u6761</span></span>\n <nz-pagination [nzPageIndex]=\"pageIndex\" [nzTotal]=\"total\" nzShowSizeChanger [nzPageSize]=\"pageSize\"\n nzSize=\"small\" [nzPageSizeOptions]=\"pageSizeOptions\" (nzPageIndexChange)=\"PageIndexChange($event)\"\n (nzPageSizeChange)=\"PageSizeChange($event)\"></nz-pagination>\n </div>\n</div>\r\n", styles: [":host{display:block;height:100%;width:100%;min-width:0;background:#fff}.table-content{display:flex;flex-direction:column;width:100%;height:100%;min-height:0}.ant-advanced-search-form{flex:0 0 auto;padding:12px;margin-bottom:8px;background:#fafafa;border:1px solid #e8e8e8;border-radius:6px}.table-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.action-area,.search-area{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.search-area{margin-left:auto}.query-time{color:#8c8c8c;font-size:12px}.title{padding-top:8px;font-size:16px;font-weight:500}.grid-area{flex:1 1 auto;min-height:120px;min-width:0}.grid-area[hidden]{display:none}ag-grid-angular{display:block;width:100%;height:100%}.table-pagination{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 0 2px}.table-pagination>span{font-size:13px;color:#595959}.query-error{flex:0 0 auto;display:flex;gap:12px;align-items:center;padding:8px 12px;margin-bottom:8px;color:#a8071a;background:#fff1f0;border:1px solid #ffa39e;border-radius:4px}:host ::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:10px}:host ::ng-deep .atr-action-cell{display:flex;align-items:center}:host ::ng-deep .atr-grid-link{padding:0;color:#1677ff;background:transparent;border:0;cursor:pointer}:host ::ng-deep .atr-grid-template-cell{display:flex;align-items:center;height:100%}@media(max-width:640px){.search-area{margin-left:0}.query-time{width:100%}}\n"] }]
6599
6828
  }], ctorParameters: () => [{ type: i1$2.UntypedFormBuilder }, { type: OssImgPipe }, { type: DefaultValPipe }, { type: i2$1.DatePipe }, { type: i0.ViewContainerRef }, { type: i0.Injector }, { type: undefined, decorators: [{
6600
6829
  type: Inject,
6601
6830
  args: [LOCALE_ID]
@@ -6621,6 +6850,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
6621
6850
  type: Input
6622
6851
  }], queryHeaders: [{
6623
6852
  type: Input
6853
+ }], rowKey: [{
6854
+ type: Input
6855
+ }], gridOptions: [{
6856
+ type: Input
6624
6857
  }], tableAction: [{
6625
6858
  type: Output
6626
6859
  }], queryBack: [{
@@ -6629,7 +6862,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImpo
6629
6862
  type: Output
6630
6863
  }], tableHeader: [{
6631
6864
  type: ViewChild,
6632
- args: ['formContent', { static: false }]
6865
+ args: ['formContent']
6633
6866
  }], tableContent: [{
6634
6867
  type: ViewChild,
6635
6868
  args: ['tableContent', { static: true }]
@@ -6653,8 +6886,8 @@ const DIRECTIVES = [AtrRoleDirective, AtrErrorImgDirective, HqSpinDirective, Deb
6653
6886
  // 应 导出所有包含的模块。
6654
6887
  // 不应 有 providers 属性。
6655
6888
  class AtrSharedModule {
6656
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AtrSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6657
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.15", ngImport: i0, type: AtrSharedModule, declarations: [ImgCanvasComponent, TableFormItemComponent, TableTdComponent, AtrTableComponent, UploadComponent, AtrFormComponent, LocalUploadComponent,
6889
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AtrSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6890
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: AtrSharedModule, declarations: [ImgCanvasComponent, TableFormItemComponent, TableTdComponent, AtrTableComponent, UploadComponent, AtrFormComponent, LocalUploadComponent,
6658
6891
  SelectTreeComponent, VideoComponent, SelectIconsComponent, EchartsComponent, ViewFormComponent, EditorComponent, AtrGridTableComponent, BtnTdComponent], imports: [PipeModuleModule,
6659
6892
  CommonModule,
6660
6893
  FormsModule,
@@ -6676,7 +6909,7 @@ class AtrSharedModule {
6676
6909
  NzColorPickerModule, CusNgZorroAntdModule,
6677
6910
  NzResizableModule, ImgCanvasComponent, TableFormItemComponent, TableTdComponent, AtrTableComponent, UploadComponent, AtrFormComponent, LocalUploadComponent,
6678
6911
  SelectTreeComponent, VideoComponent, SelectIconsComponent, EchartsComponent, ViewFormComponent, EditorComponent, AtrGridTableComponent, BtnTdComponent, PipeModuleModule, AtrRoleDirective, AtrErrorImgDirective, HqSpinDirective, DebounceClickDirective, InfiniteScrollDirective] }); }
6679
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AtrSharedModule, providers: SERVICE_PROVIDES, imports: [PipeModuleModule,
6912
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AtrSharedModule, providers: SERVICE_PROVIDES, imports: [PipeModuleModule,
6680
6913
  CommonModule,
6681
6914
  FormsModule,
6682
6915
  ReactiveFormsModule,
@@ -6697,7 +6930,7 @@ class AtrSharedModule {
6697
6930
  NzColorPickerModule, CusNgZorroAntdModule,
6698
6931
  NzResizableModule, PipeModuleModule] }); }
6699
6932
  }
6700
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AtrSharedModule, decorators: [{
6933
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AtrSharedModule, decorators: [{
6701
6934
  type: NgModule,
6702
6935
  args: [{
6703
6936
  imports: [
@@ -6788,15 +7021,15 @@ class BusiService {
6788
7021
  });
6789
7022
  return result;
6790
7023
  }
6791
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: BusiService, deps: [{ token: i1$5.NzDrawerService }, { token: HttpService }, { token: i3$2.NzModalService }, { token: LOCALE_ID }, { token: i4$2.NzMessageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
6792
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: BusiService, providedIn: 'root' }); }
7024
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BusiService, deps: [{ token: i1$5.NzDrawerService }, { token: HttpService }, { token: i3$1.NzModalService }, { token: LOCALE_ID }, { token: i4$2.NzMessageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
7025
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BusiService, providedIn: 'root' }); }
6793
7026
  }
6794
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: BusiService, decorators: [{
7027
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: BusiService, decorators: [{
6795
7028
  type: Injectable,
6796
7029
  args: [{
6797
7030
  providedIn: 'root'
6798
7031
  }]
6799
- }], ctorParameters: () => [{ type: i1$5.NzDrawerService }, { type: HttpService }, { type: i3$2.NzModalService }, { type: undefined, decorators: [{
7032
+ }], ctorParameters: () => [{ type: i1$5.NzDrawerService }, { type: HttpService }, { type: i3$1.NzModalService }, { type: undefined, decorators: [{
6800
7033
  type: Inject,
6801
7034
  args: [LOCALE_ID]
6802
7035
  }] }, { type: i4$2.NzMessageService }] });