fantasy-ngzorro 2.1.19 → 2.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -342,7 +342,7 @@ tableCols: HdTableColumn[] = [{
342
342
  | showSelected | boolean | false | 勾选列 |
343
343
  | selectField | string | billNumber | 勾选主键字段 |
344
344
  | showOperateColWarpButton | boolean | false | 展开/缩略显示换行列 |
345
- | virtualScroll | boolean | true | 大数据量自动启用虚拟滚动;当前页能完整展示时用普通渲染,无多余滚动条 |
345
+ | virtualScroll | boolean | true | 行数多自动虚拟滚动;横向滚动条按**列总宽是否超出容器**决定 |
346
346
  | virtualItemSize | number | — | 虚拟滚动行高(px);**不传则首屏自动测量** |
347
347
  | showTableTotal | boolean | false | 底部合计行 |
348
348
  | tableTotalOption | HdTableTotalOption[] | — | 合计配置 |
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('ng-zorro-antd'), require('@angular/cdk/drag-drop'), require('ng-zorro-antd/table'), require('lodash'), require('ng-zorro-antd/core'), require('rxjs'), require('rxjs/operators'), require('ng-zorro-antd/modal'), require('ng-zorro-antd/dropdown'), require('ng-zorro-antd/icon'), require('ng-zorro-antd/popconfirm'), require('ng-zorro-antd/resizable'), require('ng-zorro-antd/tree'), require('localforage'), require('@angular/router')) :
3
- typeof define === 'function' && define.amd ? define('fantasy-ngzorro', ['exports', '@angular/core', '@angular/common', '@angular/forms', 'ng-zorro-antd', '@angular/cdk/drag-drop', 'ng-zorro-antd/table', 'lodash', 'ng-zorro-antd/core', 'rxjs', 'rxjs/operators', 'ng-zorro-antd/modal', 'ng-zorro-antd/dropdown', 'ng-zorro-antd/icon', 'ng-zorro-antd/popconfirm', 'ng-zorro-antd/resizable', 'ng-zorro-antd/tree', 'localforage', '@angular/router'], factory) :
4
- (global = global || self, factory(global['fantasy-ngzorro'] = {}, global.ng.core, global.ng.common, global.ng.forms, global.ngZorroAntd, global.ng.cdk['drag-drop'], global.table, global.lodash, global.core$1, global.rxjs, global.rxjs.operators, global.modal, global.dropdown, global.icon, global.popconfirm, global.resizable, global.tree, global.localforage, global.ng.router));
5
- }(this, (function (exports, core, common, forms, ngZorroAntd, dragDrop, table, lodash, core$1, rxjs, operators, modal, dropdown, icon, popconfirm, resizable, tree, localforage, router) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common'), require('@angular/forms'), require('ng-zorro-antd'), require('@angular/cdk/drag-drop'), require('ng-zorro-antd/table'), require('lodash'), require('ng-zorro-antd/core'), require('rxjs'), require('rxjs/operators'), require('ng-zorro-antd/modal'), require('ng-zorro-antd/dropdown'), require('ng-zorro-antd/icon'), require('ng-zorro-antd/popconfirm'), require('ng-zorro-antd/resizable'), require('ng-zorro-antd/tooltip'), require('ng-zorro-antd/tree'), require('localforage'), require('@angular/router')) :
3
+ typeof define === 'function' && define.amd ? define('fantasy-ngzorro', ['exports', '@angular/core', '@angular/common', '@angular/forms', 'ng-zorro-antd', '@angular/cdk/drag-drop', 'ng-zorro-antd/table', 'lodash', 'ng-zorro-antd/core', 'rxjs', 'rxjs/operators', 'ng-zorro-antd/modal', 'ng-zorro-antd/dropdown', 'ng-zorro-antd/icon', 'ng-zorro-antd/popconfirm', 'ng-zorro-antd/resizable', 'ng-zorro-antd/tooltip', 'ng-zorro-antd/tree', 'localforage', '@angular/router'], factory) :
4
+ (global = global || self, factory(global['fantasy-ngzorro'] = {}, global.ng.core, global.ng.common, global.ng.forms, global.ngZorroAntd, global.ng.cdk['drag-drop'], global.table, global.lodash, global.core$1, global.rxjs, global.rxjs.operators, global.modal, global.dropdown, global.icon, global.popconfirm, global.resizable, global.tooltip, global.tree, global.localforage, global.ng.router));
5
+ }(this, (function (exports, core, common, forms, ngZorroAntd, dragDrop, table, lodash, core$1, rxjs, operators, modal, dropdown, icon, popconfirm, resizable, tooltip, tree, localforage, router) { 'use strict';
6
6
 
7
7
  /*! *****************************************************************************
8
8
  Copyright (c) Microsoft Corporation.
@@ -6746,6 +6746,43 @@
6746
6746
  return CommonSessionService;
6747
6747
  }());
6748
6748
 
6749
+ /**
6750
+ * @fileoverview added by tsickle
6751
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6752
+ */
6753
+ /** @type {?} */
6754
+ var ColWidth = {
6755
+ tableImageColWidth: 25,
6756
+ // 表格小图标宽度
6757
+ tableTwoImageColWidth: 40,
6758
+ // 表格小图标宽度
6759
+ billNumberColWidth: 150,
6760
+ // 单据单号列宽度
6761
+ nameColWidth: 150,
6762
+ // 基本资料名称列宽度
6763
+ codeColWidth: 100,
6764
+ // 基本资料代码列宽度
6765
+ codeNameColWidth: 200,
6766
+ // 用于门店、货主、供应商以“[code]name“格式展示时固定宽度
6767
+ enumColWidth: 100,
6768
+ // 枚举列宽度
6769
+ dateColWidth: 100,
6770
+ // 单个日期
6771
+ dateTimeColWidth: 150,
6772
+ // 单个日期带时间
6773
+ dateRangeWidth: 200,
6774
+ // 日期范围
6775
+ operateColWidth: 150,
6776
+ // 操作列宽度
6777
+ numberColWidth: 100,
6778
+ // 数字列
6779
+ remarkColWidth: 250,
6780
+ // 备注列
6781
+ fixColWidth: 150,
6782
+ // 不属于以上内容的列统一使用该宽度,增加超长省略
6783
+ maxColWidth: 350 // 用于展示订单内容,需要缩略、展开显示的列
6784
+ };
6785
+
6749
6786
  /**
6750
6787
  * @fileoverview added by tsickle
6751
6788
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -6761,6 +6798,8 @@
6761
6798
  HdTableCellView.prototype.title;
6762
6799
  /** @type {?} */
6763
6800
  HdTableCellView.prototype.isEmpty;
6801
+ /** @type {?} */
6802
+ HdTableCellView.prototype.overflow;
6764
6803
  }
6765
6804
  var HdTableCellPipe = /** @class */ (function () {
6766
6805
  function HdTableCellPipe() {
@@ -6777,7 +6816,7 @@
6777
6816
  */
6778
6817
  function (data, col) {
6779
6818
  if (!data || !col) {
6780
- return { display: "<空>", title: null, isEmpty: true };
6819
+ return { display: "<空>", title: null, isEmpty: true, overflow: false };
6781
6820
  }
6782
6821
  /** @type {?} */
6783
6822
  var raw = getHdTableCellRaw(data, col);
@@ -6786,21 +6825,39 @@
6786
6825
  /** @type {?} */
6787
6826
  var display = isEmpty ? "<空>" : raw;
6788
6827
  /** @type {?} */
6828
+ var maxWidth = col.width || ColWidth.fixColWidth;
6829
+ /** @type {?} */
6830
+ var overflow = false;
6831
+ /** @type {?} */
6789
6832
  var title = null;
6790
- if (!isEmpty && col.width) {
6833
+ if (!isEmpty) {
6791
6834
  /** @type {?} */
6792
6835
  var str = String(raw);
6793
- if (str.length * 8 + 15 >= col.width) {
6836
+ overflow = estimateTextWidth(str) >= maxWidth;
6837
+ if (overflow) {
6794
6838
  title = str;
6795
6839
  }
6796
6840
  }
6797
- return { display: display, title: title, isEmpty: isEmpty };
6841
+ return { display: display, title: title, isEmpty: isEmpty, overflow: overflow };
6798
6842
  };
6799
6843
  HdTableCellPipe.decorators = [
6800
6844
  { type: core.Pipe, args: [{ name: "hdTableCell", pure: true },] }
6801
6845
  ];
6802
6846
  return HdTableCellPipe;
6803
6847
  }());
6848
+ /**
6849
+ * 估算文本像素宽度(中文约 14px,英文约 8px)
6850
+ * @param {?} str
6851
+ * @return {?}
6852
+ */
6853
+ function estimateTextWidth(str) {
6854
+ /** @type {?} */
6855
+ var width = 15;
6856
+ for (var i = 0; i < str.length; i++) {
6857
+ width += str.charCodeAt(i) > 255 ? 14 : 8;
6858
+ }
6859
+ return width;
6860
+ }
6804
6861
  /**
6805
6862
  * @param {?} data
6806
6863
  * @param {?} col
@@ -6821,43 +6878,6 @@
6821
6878
  return undefined;
6822
6879
  }
6823
6880
 
6824
- /**
6825
- * @fileoverview added by tsickle
6826
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6827
- */
6828
- /** @type {?} */
6829
- var ColWidth = {
6830
- tableImageColWidth: 25,
6831
- // 表格小图标宽度
6832
- tableTwoImageColWidth: 40,
6833
- // 表格小图标宽度
6834
- billNumberColWidth: 150,
6835
- // 单据单号列宽度
6836
- nameColWidth: 150,
6837
- // 基本资料名称列宽度
6838
- codeColWidth: 100,
6839
- // 基本资料代码列宽度
6840
- codeNameColWidth: 200,
6841
- // 用于门店、货主、供应商以“[code]name“格式展示时固定宽度
6842
- enumColWidth: 100,
6843
- // 枚举列宽度
6844
- dateColWidth: 100,
6845
- // 单个日期
6846
- dateTimeColWidth: 150,
6847
- // 单个日期带时间
6848
- dateRangeWidth: 200,
6849
- // 日期范围
6850
- operateColWidth: 150,
6851
- // 操作列宽度
6852
- numberColWidth: 100,
6853
- // 数字列
6854
- remarkColWidth: 250,
6855
- // 备注列
6856
- fixColWidth: 150,
6857
- // 不属于以上内容的列统一使用该宽度,增加超长省略
6858
- maxColWidth: 350 // 用于展示订单内容,需要缩略、展开显示的列
6859
- };
6860
-
6861
6881
  /**
6862
6882
  * @fileoverview added by tsickle
6863
6883
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -7053,6 +7073,14 @@
7053
7073
  * 自动测量前的兜底行高,测量完成后会更新
7054
7074
  */
7055
7075
  this.measuredVirtualItemSize = 47;
7076
+ /**
7077
+ * 记录当前是否处于虚拟滚动模式,用于切换 pageSize 时重建表格
7078
+ */
7079
+ this.virtualScrollActive = null;
7080
+ /**
7081
+ * 可见列总宽,用于判断是否需要横向滚动
7082
+ */
7083
+ this.tableColWidthTotal = 0;
7056
7084
  this.trackByRow = (/**
7057
7085
  * @param {?} index
7058
7086
  * @param {?} data
@@ -7197,8 +7225,7 @@
7197
7225
  changes["tableData"]["currentValue"]["pageNumber"] !==
7198
7226
  changes["tableData"]["previousValue"]["pageNumber"]) {
7199
7227
  if (this.virtualScroll) {
7200
- this.dealScroll();
7201
- this.refreshVirtualScrollViewport(true);
7228
+ this.applyTableScrollMode(true);
7202
7229
  }
7203
7230
  return;
7204
7231
  }
@@ -7207,8 +7234,7 @@
7207
7234
  }
7208
7235
  }
7209
7236
  if (changes["tableData"] && this.virtualScroll) {
7210
- this.dealScroll();
7211
- this.refreshVirtualScrollViewport(true);
7237
+ this.applyTableScrollMode(true);
7212
7238
  }
7213
7239
  if (changes["tableCols"] &&
7214
7240
  JSON.stringify(changes["tableCols"].currentValue) !==
@@ -7387,11 +7413,73 @@
7387
7413
  if (this.judgeRepeatCols()) {
7388
7414
  this.dealCols();
7389
7415
  this.setCols();
7390
- this.dealScroll();
7391
7416
  this.dealOperateBtn();
7392
- this.showTable = true;
7417
+ this.virtualScrollActive = null;
7418
+ this.applyTableScrollMode(true);
7419
+ }
7420
+ };
7421
+ /** 虚拟/普通模式切换时重建表格,避免残留滚动容器 */
7422
+ /**
7423
+ * 虚拟/普通模式切换时重建表格,避免残留滚动容器
7424
+ * @param {?=} forceRemount
7425
+ * @return {?}
7426
+ */
7427
+ HdTableComponent.prototype.applyTableScrollMode = /**
7428
+ * 虚拟/普通模式切换时重建表格,避免残留滚动容器
7429
+ * @param {?=} forceRemount
7430
+ * @return {?}
7431
+ */
7432
+ function (forceRemount) {
7433
+ var _this = this;
7434
+ if (forceRemount === void 0) { forceRemount = false; }
7435
+ /** @type {?} */
7436
+ var useVirtual = this.useVirtualScroll;
7437
+ /** @type {?} */
7438
+ var modeChanged = this.virtualScrollActive !== null &&
7439
+ this.virtualScrollActive !== useVirtual;
7440
+ this.virtualScrollActive = useVirtual;
7441
+ if (forceRemount || modeChanged) {
7442
+ this.showTable = false;
7393
7443
  this.cdr.markForCheck();
7444
+ setTimeout((/**
7445
+ * @return {?}
7446
+ */
7447
+ function () {
7448
+ _this.showTable = true;
7449
+ _this.cdr.markForCheck();
7450
+ setTimeout((/**
7451
+ * @return {?}
7452
+ */
7453
+ function () {
7454
+ _this.dealScroll();
7455
+ _this.cdr.markForCheck();
7456
+ _this.afterTableRender(useVirtual);
7457
+ }));
7458
+ }));
7459
+ return;
7460
+ }
7461
+ this.dealScroll();
7462
+ this.cdr.markForCheck();
7463
+ this.afterTableRender(useVirtual);
7464
+ };
7465
+ /**
7466
+ * @private
7467
+ * @param {?} useVirtual
7468
+ * @return {?}
7469
+ */
7470
+ HdTableComponent.prototype.afterTableRender = /**
7471
+ * @private
7472
+ * @param {?} useVirtual
7473
+ * @return {?}
7474
+ */
7475
+ function (useVirtual) {
7476
+ if (useVirtual) {
7394
7477
  this.refreshVirtualScrollViewport(true);
7478
+ return;
7479
+ }
7480
+ if (this.virtualScroll) {
7481
+ this.measureVirtualItemSize(true);
7482
+ this.syncHorizontalScroll();
7395
7483
  }
7396
7484
  };
7397
7485
  /**
@@ -8044,6 +8132,88 @@
8044
8132
  function (maxOffset) {
8045
8133
  return "calc(100vh - " + maxOffset + "px)";
8046
8134
  };
8135
+ /**
8136
+ * @private
8137
+ * @return {?}
8138
+ */
8139
+ HdTableComponent.prototype.getTableViewportWidth = /**
8140
+ * @private
8141
+ * @return {?}
8142
+ */
8143
+ function () {
8144
+ if (!this.nzTableComponent || !this.nzTableComponent.tableMainElement) {
8145
+ return 0;
8146
+ }
8147
+ /** @type {?} */
8148
+ var tableMain = (/** @type {?} */ (this.nzTableComponent.tableMainElement
8149
+ .nativeElement));
8150
+ /** @type {?} */
8151
+ var wrapper = (/** @type {?} */ (tableMain.closest(".ant-table-wrapper")));
8152
+ if (wrapper && wrapper.clientWidth > 0) {
8153
+ return wrapper.clientWidth;
8154
+ }
8155
+ /** @type {?} */
8156
+ var host = (/** @type {?} */ (tableMain.closest(".hd-table-container")));
8157
+ if (host && host.clientWidth > 0) {
8158
+ return host.clientWidth;
8159
+ }
8160
+ return 0;
8161
+ };
8162
+ /** 列总宽超出外层容器才启用横向 scroll(不能用 table 自身宽度,会被 scroll.x 撑宽) */
8163
+ /**
8164
+ * 列总宽超出外层容器才启用横向 scroll(不能用 table 自身宽度,会被 scroll.x 撑宽)
8165
+ * @private
8166
+ * @param {?} colWidth
8167
+ * @param {?} useVirtual
8168
+ * @return {?}
8169
+ */
8170
+ HdTableComponent.prototype.resolveScrollX = /**
8171
+ * 列总宽超出外层容器才启用横向 scroll(不能用 table 自身宽度,会被 scroll.x 撑宽)
8172
+ * @private
8173
+ * @param {?} colWidth
8174
+ * @param {?} useVirtual
8175
+ * @return {?}
8176
+ */
8177
+ function (colWidth, useVirtual) {
8178
+ if (colWidth <= 0) {
8179
+ return useVirtual ? "1px" : null;
8180
+ }
8181
+ if (useVirtual) {
8182
+ return colWidth + "px";
8183
+ }
8184
+ /** @type {?} */
8185
+ var viewportWidth = this.getTableViewportWidth();
8186
+ if (viewportWidth > 0) {
8187
+ return colWidth > viewportWidth ? colWidth + "px" : null;
8188
+ }
8189
+ if (typeof window !== "undefined" && colWidth > window.innerWidth - 32) {
8190
+ return colWidth + "px";
8191
+ }
8192
+ return null;
8193
+ };
8194
+ /** 表格渲染后按实际容器宽度校正横向 scroll */
8195
+ /**
8196
+ * 表格渲染后按实际容器宽度校正横向 scroll
8197
+ * @private
8198
+ * @return {?}
8199
+ */
8200
+ HdTableComponent.prototype.syncHorizontalScroll = /**
8201
+ * 表格渲染后按实际容器宽度校正横向 scroll
8202
+ * @private
8203
+ * @return {?}
8204
+ */
8205
+ function () {
8206
+ if (!this.virtualScroll || this.useVirtualScroll) {
8207
+ return;
8208
+ }
8209
+ /** @type {?} */
8210
+ var scrollX = this.resolveScrollX(this.tableColWidthTotal, false);
8211
+ if (this.scroll && this.scroll.x === scrollX && this.scroll.y === null) {
8212
+ return;
8213
+ }
8214
+ this.scroll = { x: scrollX, y: null };
8215
+ this.cdr.markForCheck();
8216
+ };
8047
8217
  /**
8048
8218
  * @return {?}
8049
8219
  */
@@ -8069,26 +8239,28 @@
8069
8239
  colWidth += item.width;
8070
8240
  }
8071
8241
  }));
8242
+ this.tableColWidthTotal = colWidth;
8072
8243
  /** @type {?} */
8073
8244
  var maxOffset = this.tableTotal ? 180 : 140;
8074
8245
  /** @type {?} */
8075
8246
  var useVirtual = this.useVirtualScroll;
8076
- /** @type {?} */
8077
- var scrollY;
8078
- if (!this.virtualScroll) {
8079
- scrollY = "calc(100vh - " + maxOffset + "px)";
8080
- }
8081
- else if (useVirtual) {
8082
- scrollY = this.getVirtualScrollY(maxOffset);
8247
+ if (this.virtualScroll && !useVirtual) {
8248
+ this.scroll = {
8249
+ x: this.resolveScrollX(colWidth, false),
8250
+ y: null,
8251
+ };
8252
+ return;
8083
8253
  }
8084
- else {
8085
- scrollY = null;
8254
+ if (!this.virtualScroll) {
8255
+ this.scroll = {
8256
+ x: "1px",
8257
+ y: "calc(100vh - " + maxOffset + "px)",
8258
+ };
8259
+ return;
8086
8260
  }
8087
- /** @type {?} */
8088
- var scrollX = useVirtual && colWidth > 0 ? colWidth + "px" : "1px";
8089
8261
  this.scroll = {
8090
- x: scrollX,
8091
- y: scrollY,
8262
+ x: this.resolveScrollX(colWidth, true),
8263
+ y: this.getVirtualScrollY(maxOffset),
8092
8264
  };
8093
8265
  };
8094
8266
  // 表格勾选逻辑
@@ -8252,9 +8424,9 @@
8252
8424
  HdTableComponent.decorators = [
8253
8425
  { type: core.Component, args: [{
8254
8426
  selector: "hd-table",
8255
- template: "<ng-container>\n <hd-button-group>\n <ng-template #buttonGroupLeft>\n <ng-container *ngTemplateOutlet=\"tableLeftButton\"></ng-container>\n <hd-button *ngIf=\"showOperateColWarpButton\" type=\"default\" (click)=\"toggleShowDetail()\">{{showDetail ?\n '\u7F29\u7565\u663E\u793A': '\u5C55\u5F00\u663E\u793A'}}</hd-button>\n </ng-template>\n <ng-template #buttonGroupRight>\n <ng-container *ngTemplateOutlet=\"tableRightButton\"></ng-container>\n <hd-button type=\"primary\" nz-dropdown nzTrigger=\"click\" [nzDropdownMenu]=\"menu\" (clickAction)=\"confirmDropdown()\"\n [nzVisible]=\"isDropdownVisible\">\u8BBE\u7F6E\u5217</hd-button>\n <nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <div style=\"max-height: 400px;overflow-y: scroll;\">\n <div *ngIf=\"showListNodes && nowListNodes.length > 0\" nz-menu style=\"padding: 5px 10px;\">\n <nz-tree *ngIf=\"showListNodes\" [nzData]=\"nowListNodes\" nzCheckable nzDraggable nzBlockNode\n nzShowExpand=\"false\" (nzCheckBoxChange)=\"checkAction($event)\" [nzBeforeDrop]=\"beforeDrop\"\n [nzTreeTemplate]=\"nzTreeTemplate\">\n </nz-tree>\n <ng-template #nzTreeTemplate let-node>\n <span\n class=\"ng-tns-c31-110 draggable ng-star-inserted ant-tree-node-content-wrapper ant-tree-node-content-wrapper-close\"\n [title]=\"node.key\" draggable=\"true\" aria-grabbed=\"true\">\n <span class=\"ant-tree-title\">\n <div class=\"hd-table-tree-node\">\n <span>{{node.key}}</span>\n <div *ngIf=\"!node.origin.disabled\" class=\"hd-table-tree-node-img\">\n <i nz-icon nzType=\"caret-up\" nzTheme=\"outline\"></i>\n <i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i>\n </div>\n </div>\n </span>\n </span>\n </ng-template>\n </div>\n <div *ngIf=\"showListNodes && hideListNodes.length > 0\" nz-menu style=\"padding: 5px 10px;\">\n <nz-tree *ngIf=\"showListNodes\" [nzData]=\"hideListNodes\" nzCheckable nzShowExpand=\"false\"\n (nzCheckBoxChange)=\"checkAction($event)\">\n </nz-tree>\n </div>\n </div>\n <div style=\"text-align: right;background: #fff;padding: 4px;\">\n <hd-button style=\"margin-right: 4px;\" type=\"default\" size=\"small\" (clickAction)=\"cancelDropdown()\">\u53D6\u6D88\n </hd-button>\n <hd-button type=\"primary\" size=\"small\" (clickAction)=\"submitGrids()\">\u5B8C\u6210</hd-button>\n </div>\n </nz-dropdown-menu>\n </ng-template>\n </hd-button-group>\n <hd-space type=\"row\" size=\"12\"></hd-space>\n <ng-container *ngTemplateOutlet=\"tableTotal\"></ng-container>\n <hd-space *ngIf=\"tableTotal\" type=\"row\" size=\"12\"></hd-space>\n <nz-table *ngIf=\"showTable\" #hdTable class=\"hd-table-container\" [nzScroll]=\"scroll\" nzShowSizeChanger\n nzShowSizeChanger nzShowQuickJumper nzFrontPagination=\"false\" nzSize=\"middle\" [nzData]=\"tableData.content\"\n [nzTotal]=\"tableData.totalElements\" [(nzPageIndex)]=\"tablePageIndex\" [nzLoading]=\"tableLoading\"\n [nzPageSizeOptions]=\"[ 10, 50, 100, 200, 500, 1000 ]\" [(nzPageSize)]=\"tablePageSize\" (nzPageSizeChange)=\"search(true)\"\n (nzPageIndexChange)=\"search(false)\" (nzCurrentPageDataChange)=\"showSelected ? currentPageDataChange($event) : null\"\n [nzShowTotal]=\"tableTotalTemplate\" [nzVirtualScroll]=\"useVirtualScroll\" [nzVirtualItemSize]=\"useVirtualScroll ? effectiveVirtualItemSize : 0\"\n [nzVirtualForTrackBy]=\"virtualTrackByRow\">\n <thead (nzSortChange)=\"sort($event)\" nzSingleSort>\n <tr>\n <th nzWidth=\"40px\" nzLeft=\"0px\" *ngIf=\"showSelected\" nzShowCheckbox [(nzChecked)]=\"isAllDisplayDataChecked\"\n [nzIndeterminate]=\"isIndeterminate\" (nzCheckedChange)=\"checkAll($event)\"></th>\n <ng-container *ngFor=\"let col of tableCols\">\n <th *ngIf=\"col.isShow\" [nzWidth]=\"col.width + 'px'\" [nzAlign]=\"col.align\"\n [nzLeft]=\"col.fixed === 'left' ? col.fixedWidth + 'px' : null\"\n [nzRight]=\"col.fixed === 'right' ? 0 + 'px' : null\" nz-resizable nzBounds=\"window\" nzPreview\n (nzResizeEnd)=\"onResize($event, col)\" [nzShowSort]=\"col.canSort\" [nzSortKey]=\"col.name\">\n {{ col.title }}\n <nz-resize-handle nzDirection=\"right\">\n <div class=\"resize-trigger\"></div>\n </nz-resize-handle>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-template *ngIf=\"useVirtualScroll\" nz-virtual-scroll let-data let-index=\"index\">\n <tr class=\"hd-table-virtual-row\">\n <ng-container *ngTemplateOutlet=\"tableCells; context: { $implicit: data, index: index }\"></ng-container>\n </tr>\n </ng-template>\n <ng-container *ngIf=\"!useVirtualScroll\">\n <tr *ngFor=\"let data of hdTable.data; trackBy: trackByRow; index as i\">\n <ng-container *ngTemplateOutlet=\"tableCells; context: { $implicit: data, index: i }\"></ng-container>\n </tr>\n </ng-container>\n </tbody>\n <tfoot *ngIf=\"showTableTotal\">\n <tr class=\"hd-table-total\">\n <td>\u5408\u8BA1</td>\n <ng-container *ngFor=\"let tableTotalOption of tableTotalOptionList\">\n <td>{{ tableTotalOption }}</td>\n </ng-container>\n </tr>\n </tfoot>\n <ng-template #tableTotalTemplate>\n \u5171 {{tableData.totalElements}} \u6761\u6570\u636E\n </ng-template>\n </nz-table>\n</ng-container>\n\n<ng-template #tableCells let-data let-index=\"index\">\n <td nzLeft=\"0px\" *ngIf=\"showSelected\" nzShowCheckbox [nzChecked]=\"mapOfCheckedId[data[selectField]]\"\n (nzCheckedChange)=\"refreshStatus($event, data)\"></td>\n <ng-container *ngFor=\"let col of tableCols; trackBy: trackByCol\">\n <td *ngIf=\"col.isShow\" [ngStyle]=\"{'max-width': col.width + 'px'}\" [nzAlign]=\"col.align\"\n [nzLeft]=\"col.fixed === 'left' ? col.fixedWidth + 'px' : null\"\n [nzRight]=\"col.fixed === 'right' ? 0 + 'px' : null\"\n [ngClass]=\"(col.canWarp && showDetail) ? 'common-td-wrap' : ''\">\n <ng-container *ngIf=\"col.title === '\u64CD\u4F5C';else notOperateTemplate\">\n <div class=\"common-btn-group\">\n <ng-container *ngFor=\"let btn of col.btnList\">\n <ng-container *ngIf=\"!needShowConfirm(btn, data);else showConfirmTemplate\">\n <a *ngIf=\"btn.permission ? btn.permission(data) : true\"\n [class]=\"btn.name === '\u5220\u9664' ? 'common-danger-btn': ''\"\n (click)=\"triggerEvent(btn.click || null, data)\">{{ btn.name }}</a>\n </ng-container>\n <ng-template #showConfirmTemplate>\n <a *ngIf=\"btn.permission ? btn.permission(data) : true\"\n [class]=\"btn.name === '\u5220\u9664' ? 'common-danger-btn': ''\" nz-popconfirm\n [nzPopconfirmTitle]=\"'\u786E\u8BA4\u8981' + btn.name + '\u5417?'\"\n (nzOnConfirm)=\"triggerEvent(btn.click || null, data)\">{{\n btn.name }}</a>\n </ng-template>\n </ng-container>\n </div>\n </ng-container>\n <ng-template #notOperateTemplate>\n <ng-container *ngIf=\"col.name === 'state' || col.isState;else otherTemplate\">\n <hd-status [status]=\"data[getStateField(col)]\">\n <ng-container *ngIf=\"(data | hdTableCell:col) as cell\">{{ cell.display }}</ng-container>\n </hd-status>\n </ng-container>\n <ng-template #otherTemplate>\n <ng-container *ngIf=\"col.click;else noClickTemplate\">\n <ng-container *ngIf=\"(data | hdTableCell:col) as cell\">\n <a [attr.title]=\"cell.title\"\n [ngStyle]=\"{'color': cell.isEmpty ? '#2A3634' : (col?.color ? col.color : null)}\"\n (click)=\"triggerEvent(col.click || null, data)\">{{ cell.display }}</a>\n </ng-container>\n </ng-container>\n <ng-template #noClickTemplate>\n <ng-container *ngIf=\"(data | hdTableCell:col) as cell\">\n <span [attr.title]=\"cell.title\" [ngStyle]=\"{'color': col?.color ? col.color : null}\">{{ cell.display }}</span>\n </ng-container>\n </ng-template>\n </ng-template>\n </ng-template>\n </td>\n </ng-container>\n</ng-template>\n",
8427
+ template: "<ng-container>\n <hd-button-group>\n <ng-template #buttonGroupLeft>\n <ng-container *ngTemplateOutlet=\"tableLeftButton\"></ng-container>\n <hd-button *ngIf=\"showOperateColWarpButton\" type=\"default\" (click)=\"toggleShowDetail()\">{{showDetail ?\n '\u7F29\u7565\u663E\u793A': '\u5C55\u5F00\u663E\u793A'}}</hd-button>\n </ng-template>\n <ng-template #buttonGroupRight>\n <ng-container *ngTemplateOutlet=\"tableRightButton\"></ng-container>\n <hd-button type=\"primary\" nz-dropdown nzTrigger=\"click\" [nzDropdownMenu]=\"menu\" (clickAction)=\"confirmDropdown()\"\n [nzVisible]=\"isDropdownVisible\">\u8BBE\u7F6E\u5217</hd-button>\n <nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <div style=\"max-height: 400px;overflow-y: scroll;\">\n <div *ngIf=\"showListNodes && nowListNodes.length > 0\" nz-menu style=\"padding: 5px 10px;\">\n <nz-tree *ngIf=\"showListNodes\" [nzData]=\"nowListNodes\" nzCheckable nzDraggable nzBlockNode\n nzShowExpand=\"false\" (nzCheckBoxChange)=\"checkAction($event)\" [nzBeforeDrop]=\"beforeDrop\"\n [nzTreeTemplate]=\"nzTreeTemplate\">\n </nz-tree>\n <ng-template #nzTreeTemplate let-node>\n <span\n class=\"ng-tns-c31-110 draggable ng-star-inserted ant-tree-node-content-wrapper ant-tree-node-content-wrapper-close\"\n [title]=\"node.key\" draggable=\"true\" aria-grabbed=\"true\">\n <span class=\"ant-tree-title\">\n <div class=\"hd-table-tree-node\">\n <span>{{node.key}}</span>\n <div *ngIf=\"!node.origin.disabled\" class=\"hd-table-tree-node-img\">\n <i nz-icon nzType=\"caret-up\" nzTheme=\"outline\"></i>\n <i nz-icon nzType=\"caret-down\" nzTheme=\"outline\"></i>\n </div>\n </div>\n </span>\n </span>\n </ng-template>\n </div>\n <div *ngIf=\"showListNodes && hideListNodes.length > 0\" nz-menu style=\"padding: 5px 10px;\">\n <nz-tree *ngIf=\"showListNodes\" [nzData]=\"hideListNodes\" nzCheckable nzShowExpand=\"false\"\n (nzCheckBoxChange)=\"checkAction($event)\">\n </nz-tree>\n </div>\n </div>\n <div style=\"text-align: right;background: #fff;padding: 4px;\">\n <hd-button style=\"margin-right: 4px;\" type=\"default\" size=\"small\" (clickAction)=\"cancelDropdown()\">\u53D6\u6D88\n </hd-button>\n <hd-button type=\"primary\" size=\"small\" (clickAction)=\"submitGrids()\">\u5B8C\u6210</hd-button>\n </div>\n </nz-dropdown-menu>\n </ng-template>\n </hd-button-group>\n <hd-space type=\"row\" size=\"12\"></hd-space>\n <ng-container *ngTemplateOutlet=\"tableTotal\"></ng-container>\n <hd-space *ngIf=\"tableTotal\" type=\"row\" size=\"12\"></hd-space>\n <nz-table *ngIf=\"showTable\" #hdTable class=\"hd-table-container\" [class.hd-table--virtual]=\"useVirtualScroll\" [nzScroll]=\"scroll\"\n nzShowSizeChanger nzShowQuickJumper nzFrontPagination=\"false\" nzSize=\"middle\" [nzData]=\"tableData.content\"\n [nzTotal]=\"tableData.totalElements\" [(nzPageIndex)]=\"tablePageIndex\" [nzLoading]=\"tableLoading\"\n [nzPageSizeOptions]=\"[ 10, 50, 100, 200, 500, 1000 ]\" [(nzPageSize)]=\"tablePageSize\" (nzPageSizeChange)=\"search(true)\"\n (nzPageIndexChange)=\"search(false)\" (nzCurrentPageDataChange)=\"showSelected ? currentPageDataChange($event) : null\"\n [nzShowTotal]=\"tableTotalTemplate\" [nzVirtualScroll]=\"useVirtualScroll\" [nzVirtualItemSize]=\"useVirtualScroll ? effectiveVirtualItemSize : 0\"\n [nzVirtualForTrackBy]=\"virtualTrackByRow\">\n <thead (nzSortChange)=\"sort($event)\" nzSingleSort>\n <tr>\n <th nzWidth=\"40px\" nzLeft=\"0px\" *ngIf=\"showSelected\" nzShowCheckbox [(nzChecked)]=\"isAllDisplayDataChecked\"\n [nzIndeterminate]=\"isIndeterminate\" (nzCheckedChange)=\"checkAll($event)\"></th>\n <ng-container *ngFor=\"let col of tableCols\">\n <th *ngIf=\"col.isShow\" [nzWidth]=\"col.width + 'px'\" [nzAlign]=\"col.align\"\n [nzLeft]=\"col.fixed === 'left' ? col.fixedWidth + 'px' : null\"\n [nzRight]=\"col.fixed === 'right' ? 0 + 'px' : null\" nz-resizable nzBounds=\"window\" nzPreview\n (nzResizeEnd)=\"onResize($event, col)\" [nzShowSort]=\"col.canSort\" [nzSortKey]=\"col.name\">\n {{ col.title }}\n <nz-resize-handle nzDirection=\"right\">\n <div class=\"resize-trigger\"></div>\n </nz-resize-handle>\n </th>\n </ng-container>\n </tr>\n </thead>\n <tbody>\n <ng-template *ngIf=\"useVirtualScroll\" nz-virtual-scroll let-data let-index=\"index\">\n <tr class=\"hd-table-virtual-row\">\n <ng-container *ngTemplateOutlet=\"tableCells; context: { $implicit: data, index: index }\"></ng-container>\n </tr>\n </ng-template>\n <ng-container *ngIf=\"!useVirtualScroll\">\n <tr *ngFor=\"let data of hdTable.data; trackBy: trackByRow; index as i\">\n <ng-container *ngTemplateOutlet=\"tableCells; context: { $implicit: data, index: i }\"></ng-container>\n </tr>\n </ng-container>\n </tbody>\n <tfoot *ngIf=\"showTableTotal\">\n <tr class=\"hd-table-total\">\n <td>\u5408\u8BA1</td>\n <ng-container *ngFor=\"let tableTotalOption of tableTotalOptionList\">\n <td>{{ tableTotalOption }}</td>\n </ng-container>\n </tr>\n </tfoot>\n <ng-template #tableTotalTemplate>\n \u5171 {{tableData.totalElements}} \u6761\u6570\u636E\n </ng-template>\n </nz-table>\n</ng-container>\n\n<ng-template #tableCells let-data let-index=\"index\">\n <td nzLeft=\"0px\" *ngIf=\"showSelected\" nzShowCheckbox [nzChecked]=\"mapOfCheckedId[data[selectField]]\"\n (nzCheckedChange)=\"refreshStatus($event, data)\"></td>\n <ng-container *ngFor=\"let col of tableCols; trackBy: trackByCol\">\n <td *ngIf=\"col.isShow\" [ngStyle]=\"{'max-width': col.width + 'px'}\" [nzAlign]=\"col.align\"\n [nzLeft]=\"col.fixed === 'left' ? col.fixedWidth + 'px' : null\"\n [nzRight]=\"col.fixed === 'right' ? 0 + 'px' : null\"\n [ngClass]=\"(col.canWarp && showDetail) ? 'common-td-wrap' : ''\">\n <ng-container *ngIf=\"col.title === '\u64CD\u4F5C';else notOperateTemplate\">\n <div class=\"common-btn-group\">\n <ng-container *ngFor=\"let btn of col.btnList\">\n <ng-container *ngIf=\"!needShowConfirm(btn, data);else showConfirmTemplate\">\n <a *ngIf=\"btn.permission ? btn.permission(data) : true\"\n [class]=\"btn.name === '\u5220\u9664' ? 'common-danger-btn': ''\"\n (click)=\"triggerEvent(btn.click || null, data)\">{{ btn.name }}</a>\n </ng-container>\n <ng-template #showConfirmTemplate>\n <a *ngIf=\"btn.permission ? btn.permission(data) : true\"\n [class]=\"btn.name === '\u5220\u9664' ? 'common-danger-btn': ''\" nz-popconfirm\n [nzPopconfirmTitle]=\"'\u786E\u8BA4\u8981' + btn.name + '\u5417?'\"\n (nzOnConfirm)=\"triggerEvent(btn.click || null, data)\">{{\n btn.name }}</a>\n </ng-template>\n </ng-container>\n </div>\n </ng-container>\n <ng-template #notOperateTemplate>\n <ng-container *ngIf=\"col.name === 'state' || col.isState;else otherTemplate\">\n <hd-status [status]=\"data[getStateField(col)]\">\n <ng-container *ngIf=\"(data | hdTableCell:col) as cell\">\n <span *ngIf=\"cell.overflow && !(col.canWarp && showDetail)\" nz-tooltip [nzTooltipTitle]=\"cell.title\">{{ cell.display }}</span>\n <span *ngIf=\"!cell.overflow || (col.canWarp && showDetail)\">{{ cell.display }}</span>\n </ng-container>\n </hd-status>\n </ng-container>\n <ng-template #otherTemplate>\n <ng-container *ngIf=\"col.click;else noClickTemplate\">\n <ng-container *ngIf=\"(data | hdTableCell:col) as cell\">\n <a *ngIf=\"cell.overflow && !(col.canWarp && showDetail)\" nz-tooltip [nzTooltipTitle]=\"cell.title\"\n [ngStyle]=\"{'color': cell.isEmpty ? '#2A3634' : (col?.color ? col.color : null)}\"\n (click)=\"triggerEvent(col.click || null, data)\">{{ cell.display }}</a>\n <a *ngIf=\"!cell.overflow || (col.canWarp && showDetail)\"\n [ngStyle]=\"{'color': cell.isEmpty ? '#2A3634' : (col?.color ? col.color : null)}\"\n (click)=\"triggerEvent(col.click || null, data)\">{{ cell.display }}</a>\n </ng-container>\n </ng-container>\n <ng-template #noClickTemplate>\n <ng-container *ngIf=\"(data | hdTableCell:col) as cell\">\n <span *ngIf=\"cell.overflow && !(col.canWarp && showDetail)\" nz-tooltip [nzTooltipTitle]=\"cell.title\"\n [ngStyle]=\"{'color': col?.color ? col.color : null}\">{{ cell.display }}</span>\n <span *ngIf=\"!cell.overflow || (col.canWarp && showDetail)\"\n [ngStyle]=\"{'color': col?.color ? col.color : null}\">{{ cell.display }}</span>\n </ng-container>\n </ng-template>\n </ng-template>\n </ng-template>\n </td>\n </ng-container>\n</ng-template>\n",
8256
8428
  changeDetection: core.ChangeDetectionStrategy.OnPush,
8257
- styles: ["::ng-deep .common-btn-group>a{font-size:14px;font-weight:400;color:#20b95d!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset;padding:0 6px!important}::ng-deep .ant-form-item-label>label{color:#4b504e;font-size:14px}::ng-deep .ant-input-number-input{height:32px}::ng-deep .ant-input-number{height:32px}textarea.ant-input{height:auto;min-height:32px}::ng-deep .ant-select-selection--multiple{min-height:32px}::ng-deep .ant-select-selection__rendered>ul>li{height:26px!important;margin-top:3px!important;line-height:26px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:32px!important}::ng-deep .ant-input{height:32px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:32px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:14px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.nz-resizable-preview{position:absolute;top:0;left:0;z-index:8;border:1px dashed #d1d1d1}.nz-resizable-handle{position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:9}.nz-resizable-handle-top{width:100%;height:10px;top:-5px;left:0}.nz-resizable-handle-right{height:100%}.nz-resizable-handle-bottom{width:100%;height:10px;bottom:-5px;left:0}.nz-resizable-handle-left{width:10px;height:100%;top:0;left:-5px}.nz-resizable-handle-topRight{width:20px;height:20px;top:-5px;right:-5px;z-index:10}.nz-resizable-handle-bottomRight{width:20px;height:20px;right:-5px;bottom:-5px;z-index:10}.nz-resizable-handle-bottomLeft{width:20px;height:20px;bottom:-5px;left:-5px;z-index:10}.nz-resizable-handle-topLeft{width:20px;height:20px;top:-5px;left:-5px;z-index:10}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottom,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-top{cursor:row-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-left,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-right{cursor:col-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottomRight,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-topLeft{cursor:nwse-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottomLeft,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-topRight{cursor:nesw-resize}.hd-table-container ::ng-deep .ant-pagination-options-quick-jumper input{border-radius:2px;border:1px solid #d9d9d9}.hd-table-container ::ng-deep .ant-pagination-options .ant-select-selection{border-radius:2px}.hd-table-container ::ng-deep .ant-table-thead>tr>th{border-bottom:1px solid #ecf1ed;white-space:nowrap;text-overflow:ellipsis}.hd-table-container ::ng-deep .ant-table-tbody>tr>td{border-bottom:1px solid #ecf1ed;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hd-table-container ::ng-deep .hd-table-total>td{border:0!important}.hd-table-container ::ng-deep cdk-virtual-scroll-viewport.ant-table-body .hd-table-virtual-row>td{box-sizing:border-box}::ng-deep .ant-dropdown-menu{border-radius:0}::ng-deep .ant-dropdown{margin-top:8px!important}.common-td-wrap{white-space:normal!important;word-break:break-all}.nz-resizable-preview{border-width:0 1px 0 0}.resize-trigger{width:10px;height:15px;position:relative;top:calc((100% - 15px)/ 2)}.resize-trigger::after{position:absolute;top:calc((100% - 15px)/ 2);left:0;background:#d5d5d5;content:'';width:1px;height:15px;z-index:1}.nz-resizable-handle-right{position:absolute;width:10px;top:0;right:-5px;z-index:inherit}.hd-table-tree-node{display:inline-flex;align-items:center;padding-right:10px}.hd-table-tree-node .hd-table-tree-node-img{display:flex;flex-direction:column;position:absolute;right:0;margin-top:-2.5px}.hd-table-tree-node .hd-table-tree-node-img i{opacity:.3}.hd-table-tree-node .hd-table-tree-node-img i:last-child{margin-top:-5px}img{width:20px;height:20px}.ant-table-th-left-sticky{z-index:2}::ng-deep .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){position:unset}"]
8429
+ styles: ["::ng-deep .common-btn-group>a{font-size:14px;font-weight:400;color:#20b95d!important;white-space:nowrap}::ng-deep .common-btn-group .common-danger-btn:hover{color:#f05b24!important}::ng-deep .common-btn-group>a:hover{color:#20bd62!important}::ng-deep .common-btn-group>a:not(:last-child)::after{content:'';margin:0 2px}::ng-deep .common-billNumber>a{color:#3b77e3}button{box-shadow:unset;text-shadow:unset;padding:0 6px!important}::ng-deep .ant-form-item-label>label{color:#4b504e;font-size:14px}::ng-deep .ant-input-number-input{height:32px}::ng-deep .ant-input-number{height:32px}textarea.ant-input{height:auto;min-height:32px}::ng-deep .ant-select-selection--multiple{min-height:32px}::ng-deep .ant-select-selection__rendered>ul>li{height:26px!important;margin-top:3px!important;line-height:26px!important}::ng-deep .ant-advanced-search-form .ant-form-item{margin-bottom:0!important}::ng-deep .ant-select-selection--single{height:32px!important}::ng-deep .ant-input{height:32px}::ng-deep .ant-input[disabled]:hover{border-color:#d9d9d9!important}::ng-deep .ant-select-selection__rendered{line-height:32px!important}::ng-deep .ant-calendar-range-picker-input{text-align:left!important}::ng-deep .ant-calendar-picker{width:100%!important}::ng-deep .ant-row{margin-right:0!important;margin-left:0!important}::ng-deep .ant-col-6{padding-left:12px;padding-right:12px}::ng-deep .ant-col-12{padding-left:12px;padding-right:12px}::ng-deep .ant-col-18{padding-left:12px;padding-right:12px}::ng-deep .ant-col-24{padding-left:12px;padding-right:12px}::ng-deep .ant-alert-info{background-color:#f5f8f6;border:1px solid #cfe3d4}:host ::ng-deep th{background:#f5f8f6!important;font-weight:700!important;white-space:nowrap;font-size:14px;font-family:PingFangSC-Medium,PingFang SC;color:#2a3634;padding:8px!important;box-sizing:border-box}:host ::ng-deep td{font-weight:400;font-style:normal;font-size:14px;color:#2a3634;text-align:left;white-space:nowrap;padding:8px!important;box-sizing:border-box}::ng-deep .ant-pagination-options{display:inline-flex;align-items:center}::ng-deep .ant-time-picker{width:100%}.ant-input-number-disabled,.ant-input[disabled],.ant-select-disabled{color:#4b504e}.nz-resizable-preview{position:absolute;top:0;left:0;z-index:8;border:1px dashed #d1d1d1}.nz-resizable-handle{position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:9}.nz-resizable-handle-top{width:100%;height:10px;top:-5px;left:0}.nz-resizable-handle-right{height:100%}.nz-resizable-handle-bottom{width:100%;height:10px;bottom:-5px;left:0}.nz-resizable-handle-left{width:10px;height:100%;top:0;left:-5px}.nz-resizable-handle-topRight{width:20px;height:20px;top:-5px;right:-5px;z-index:10}.nz-resizable-handle-bottomRight{width:20px;height:20px;right:-5px;bottom:-5px;z-index:10}.nz-resizable-handle-bottomLeft{width:20px;height:20px;bottom:-5px;left:-5px;z-index:10}.nz-resizable-handle-topLeft{width:20px;height:20px;top:-5px;left:-5px;z-index:10}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottom,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-top{cursor:row-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-left,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-right{cursor:col-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottomRight,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-topLeft{cursor:nwse-resize}.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-bottomLeft,.nz-resizable:not(.nz-resizable-resizing) .nz-resizable-handle-topRight{cursor:nesw-resize}.hd-table-container ::ng-deep .ant-pagination-options-quick-jumper input{border-radius:2px;border:1px solid #d9d9d9}.hd-table-container ::ng-deep .ant-pagination-options .ant-select-selection{border-radius:2px}.hd-table-container ::ng-deep .ant-table-thead>tr>th{border-bottom:1px solid #ecf1ed;white-space:nowrap;text-overflow:ellipsis}.hd-table-container ::ng-deep .ant-table-tbody>tr>td{border-bottom:1px solid #ecf1ed;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.hd-table-container ::ng-deep .hd-table-total>td{border:0!important}.hd-table-container ::ng-deep cdk-virtual-scroll-viewport.ant-table-body .hd-table-virtual-row>td{box-sizing:border-box}.hd-table-container:not(.hd-table--virtual) ::ng-deep .ant-table-body{max-height:none!important;overflow-y:visible!important}::ng-deep .ant-dropdown-menu{border-radius:0}::ng-deep .ant-dropdown{margin-top:8px!important}.common-td-wrap{white-space:normal!important;word-break:break-all}.nz-resizable-preview{border-width:0 1px 0 0}.resize-trigger{width:10px;height:15px;position:relative;top:calc((100% - 15px)/ 2)}.resize-trigger::after{position:absolute;top:calc((100% - 15px)/ 2);left:0;background:#d5d5d5;content:'';width:1px;height:15px;z-index:1}.nz-resizable-handle-right{position:absolute;width:10px;top:0;right:-5px;z-index:inherit}.hd-table-tree-node{display:inline-flex;align-items:center;padding-right:10px}.hd-table-tree-node .hd-table-tree-node-img{display:flex;flex-direction:column;position:absolute;right:0;margin-top:-2.5px}.hd-table-tree-node .hd-table-tree-node-img i{opacity:.3}.hd-table-tree-node .hd-table-tree-node-img i:last-child{margin-top:-5px}img{width:20px;height:20px}.ant-table-th-left-sticky{z-index:2}::ng-deep .ant-table-thead>tr>th .ant-table-header-column .ant-table-column-sorters>:not(.ant-table-column-sorter){position:unset}"]
8258
8430
  }] }
8259
8431
  ];
8260
8432
  /** @nocollapse */
@@ -8416,6 +8588,18 @@
8416
8588
  * @type {?}
8417
8589
  */
8418
8590
  HdTableComponent.prototype.measuredVirtualItemSize;
8591
+ /**
8592
+ * 记录当前是否处于虚拟滚动模式,用于切换 pageSize 时重建表格
8593
+ * @type {?}
8594
+ * @private
8595
+ */
8596
+ HdTableComponent.prototype.virtualScrollActive;
8597
+ /**
8598
+ * 可见列总宽,用于判断是否需要横向滚动
8599
+ * @type {?}
8600
+ * @private
8601
+ */
8602
+ HdTableComponent.prototype.tableColWidthTotal;
8419
8603
  /** @type {?} */
8420
8604
  HdTableComponent.prototype.nzTableComponent;
8421
8605
  /** @type {?} */
@@ -8457,6 +8641,7 @@
8457
8641
  HdStatusModule,
8458
8642
  HdButtonModule,
8459
8643
  HdButtonGroupModule,
8644
+ tooltip.NzToolTipModule,
8460
8645
  popconfirm.NzPopconfirmModule,
8461
8646
  resizable.NzResizableModule,
8462
8647
  dropdown.NzDropDownModule,