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.
@@ -14,6 +14,7 @@ import { NzDropDownModule } from 'ng-zorro-antd/dropdown';
14
14
  import { NzIconModule } from 'ng-zorro-antd/icon';
15
15
  import { NzPopconfirmModule } from 'ng-zorro-antd/popconfirm';
16
16
  import { NzResizableModule } from 'ng-zorro-antd/resizable';
17
+ import { NzToolTipModule } from 'ng-zorro-antd/tooltip';
17
18
  import { NzTreeModule } from 'ng-zorro-antd/tree';
18
19
  import { createInstance, INDEXEDDB } from 'localforage';
19
20
  import { NavigationStart, Router } from '@angular/router';
@@ -6541,6 +6542,43 @@ var CommonSessionService = /** @class */ (function () {
6541
6542
  return CommonSessionService;
6542
6543
  }());
6543
6544
 
6545
+ /**
6546
+ * @fileoverview added by tsickle
6547
+ * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6548
+ */
6549
+ /** @type {?} */
6550
+ var ColWidth = {
6551
+ tableImageColWidth: 25,
6552
+ // 表格小图标宽度
6553
+ tableTwoImageColWidth: 40,
6554
+ // 表格小图标宽度
6555
+ billNumberColWidth: 150,
6556
+ // 单据单号列宽度
6557
+ nameColWidth: 150,
6558
+ // 基本资料名称列宽度
6559
+ codeColWidth: 100,
6560
+ // 基本资料代码列宽度
6561
+ codeNameColWidth: 200,
6562
+ // 用于门店、货主、供应商以“[code]name“格式展示时固定宽度
6563
+ enumColWidth: 100,
6564
+ // 枚举列宽度
6565
+ dateColWidth: 100,
6566
+ // 单个日期
6567
+ dateTimeColWidth: 150,
6568
+ // 单个日期带时间
6569
+ dateRangeWidth: 200,
6570
+ // 日期范围
6571
+ operateColWidth: 150,
6572
+ // 操作列宽度
6573
+ numberColWidth: 100,
6574
+ // 数字列
6575
+ remarkColWidth: 250,
6576
+ // 备注列
6577
+ fixColWidth: 150,
6578
+ // 不属于以上内容的列统一使用该宽度,增加超长省略
6579
+ maxColWidth: 350 // 用于展示订单内容,需要缩略、展开显示的列
6580
+ };
6581
+
6544
6582
  /**
6545
6583
  * @fileoverview added by tsickle
6546
6584
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -6556,6 +6594,8 @@ if (false) {
6556
6594
  HdTableCellView.prototype.title;
6557
6595
  /** @type {?} */
6558
6596
  HdTableCellView.prototype.isEmpty;
6597
+ /** @type {?} */
6598
+ HdTableCellView.prototype.overflow;
6559
6599
  }
6560
6600
  var HdTableCellPipe = /** @class */ (function () {
6561
6601
  function HdTableCellPipe() {
@@ -6572,7 +6612,7 @@ var HdTableCellPipe = /** @class */ (function () {
6572
6612
  */
6573
6613
  function (data, col) {
6574
6614
  if (!data || !col) {
6575
- return { display: "<空>", title: null, isEmpty: true };
6615
+ return { display: "<空>", title: null, isEmpty: true, overflow: false };
6576
6616
  }
6577
6617
  /** @type {?} */
6578
6618
  var raw = getHdTableCellRaw(data, col);
@@ -6581,21 +6621,39 @@ var HdTableCellPipe = /** @class */ (function () {
6581
6621
  /** @type {?} */
6582
6622
  var display = isEmpty ? "<空>" : raw;
6583
6623
  /** @type {?} */
6624
+ var maxWidth = col.width || ColWidth.fixColWidth;
6625
+ /** @type {?} */
6626
+ var overflow = false;
6627
+ /** @type {?} */
6584
6628
  var title = null;
6585
- if (!isEmpty && col.width) {
6629
+ if (!isEmpty) {
6586
6630
  /** @type {?} */
6587
6631
  var str = String(raw);
6588
- if (str.length * 8 + 15 >= col.width) {
6632
+ overflow = estimateTextWidth(str) >= maxWidth;
6633
+ if (overflow) {
6589
6634
  title = str;
6590
6635
  }
6591
6636
  }
6592
- return { display: display, title: title, isEmpty: isEmpty };
6637
+ return { display: display, title: title, isEmpty: isEmpty, overflow: overflow };
6593
6638
  };
6594
6639
  HdTableCellPipe.decorators = [
6595
6640
  { type: Pipe, args: [{ name: "hdTableCell", pure: true },] }
6596
6641
  ];
6597
6642
  return HdTableCellPipe;
6598
6643
  }());
6644
+ /**
6645
+ * 估算文本像素宽度(中文约 14px,英文约 8px)
6646
+ * @param {?} str
6647
+ * @return {?}
6648
+ */
6649
+ function estimateTextWidth(str) {
6650
+ /** @type {?} */
6651
+ var width = 15;
6652
+ for (var i = 0; i < str.length; i++) {
6653
+ width += str.charCodeAt(i) > 255 ? 14 : 8;
6654
+ }
6655
+ return width;
6656
+ }
6599
6657
  /**
6600
6658
  * @param {?} data
6601
6659
  * @param {?} col
@@ -6616,43 +6674,6 @@ function getHdTableCellRaw(data, col) {
6616
6674
  return undefined;
6617
6675
  }
6618
6676
 
6619
- /**
6620
- * @fileoverview added by tsickle
6621
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
6622
- */
6623
- /** @type {?} */
6624
- var ColWidth = {
6625
- tableImageColWidth: 25,
6626
- // 表格小图标宽度
6627
- tableTwoImageColWidth: 40,
6628
- // 表格小图标宽度
6629
- billNumberColWidth: 150,
6630
- // 单据单号列宽度
6631
- nameColWidth: 150,
6632
- // 基本资料名称列宽度
6633
- codeColWidth: 100,
6634
- // 基本资料代码列宽度
6635
- codeNameColWidth: 200,
6636
- // 用于门店、货主、供应商以“[code]name“格式展示时固定宽度
6637
- enumColWidth: 100,
6638
- // 枚举列宽度
6639
- dateColWidth: 100,
6640
- // 单个日期
6641
- dateTimeColWidth: 150,
6642
- // 单个日期带时间
6643
- dateRangeWidth: 200,
6644
- // 日期范围
6645
- operateColWidth: 150,
6646
- // 操作列宽度
6647
- numberColWidth: 100,
6648
- // 数字列
6649
- remarkColWidth: 250,
6650
- // 备注列
6651
- fixColWidth: 150,
6652
- // 不属于以上内容的列统一使用该宽度,增加超长省略
6653
- maxColWidth: 350 // 用于展示订单内容,需要缩略、展开显示的列
6654
- };
6655
-
6656
6677
  /**
6657
6678
  * @fileoverview added by tsickle
6658
6679
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
@@ -6848,6 +6869,14 @@ var HdTableComponent = /** @class */ (function () {
6848
6869
  * 自动测量前的兜底行高,测量完成后会更新
6849
6870
  */
6850
6871
  this.measuredVirtualItemSize = 47;
6872
+ /**
6873
+ * 记录当前是否处于虚拟滚动模式,用于切换 pageSize 时重建表格
6874
+ */
6875
+ this.virtualScrollActive = null;
6876
+ /**
6877
+ * 可见列总宽,用于判断是否需要横向滚动
6878
+ */
6879
+ this.tableColWidthTotal = 0;
6851
6880
  this.trackByRow = (/**
6852
6881
  * @param {?} index
6853
6882
  * @param {?} data
@@ -6992,8 +7021,7 @@ var HdTableComponent = /** @class */ (function () {
6992
7021
  changes["tableData"]["currentValue"]["pageNumber"] !==
6993
7022
  changes["tableData"]["previousValue"]["pageNumber"]) {
6994
7023
  if (this.virtualScroll) {
6995
- this.dealScroll();
6996
- this.refreshVirtualScrollViewport(true);
7024
+ this.applyTableScrollMode(true);
6997
7025
  }
6998
7026
  return;
6999
7027
  }
@@ -7002,8 +7030,7 @@ var HdTableComponent = /** @class */ (function () {
7002
7030
  }
7003
7031
  }
7004
7032
  if (changes["tableData"] && this.virtualScroll) {
7005
- this.dealScroll();
7006
- this.refreshVirtualScrollViewport(true);
7033
+ this.applyTableScrollMode(true);
7007
7034
  }
7008
7035
  if (changes["tableCols"] &&
7009
7036
  JSON.stringify(changes["tableCols"].currentValue) !==
@@ -7182,11 +7209,73 @@ var HdTableComponent = /** @class */ (function () {
7182
7209
  if (this.judgeRepeatCols()) {
7183
7210
  this.dealCols();
7184
7211
  this.setCols();
7185
- this.dealScroll();
7186
7212
  this.dealOperateBtn();
7187
- this.showTable = true;
7213
+ this.virtualScrollActive = null;
7214
+ this.applyTableScrollMode(true);
7215
+ }
7216
+ };
7217
+ /** 虚拟/普通模式切换时重建表格,避免残留滚动容器 */
7218
+ /**
7219
+ * 虚拟/普通模式切换时重建表格,避免残留滚动容器
7220
+ * @param {?=} forceRemount
7221
+ * @return {?}
7222
+ */
7223
+ HdTableComponent.prototype.applyTableScrollMode = /**
7224
+ * 虚拟/普通模式切换时重建表格,避免残留滚动容器
7225
+ * @param {?=} forceRemount
7226
+ * @return {?}
7227
+ */
7228
+ function (forceRemount) {
7229
+ var _this = this;
7230
+ if (forceRemount === void 0) { forceRemount = false; }
7231
+ /** @type {?} */
7232
+ var useVirtual = this.useVirtualScroll;
7233
+ /** @type {?} */
7234
+ var modeChanged = this.virtualScrollActive !== null &&
7235
+ this.virtualScrollActive !== useVirtual;
7236
+ this.virtualScrollActive = useVirtual;
7237
+ if (forceRemount || modeChanged) {
7238
+ this.showTable = false;
7188
7239
  this.cdr.markForCheck();
7240
+ setTimeout((/**
7241
+ * @return {?}
7242
+ */
7243
+ function () {
7244
+ _this.showTable = true;
7245
+ _this.cdr.markForCheck();
7246
+ setTimeout((/**
7247
+ * @return {?}
7248
+ */
7249
+ function () {
7250
+ _this.dealScroll();
7251
+ _this.cdr.markForCheck();
7252
+ _this.afterTableRender(useVirtual);
7253
+ }));
7254
+ }));
7255
+ return;
7256
+ }
7257
+ this.dealScroll();
7258
+ this.cdr.markForCheck();
7259
+ this.afterTableRender(useVirtual);
7260
+ };
7261
+ /**
7262
+ * @private
7263
+ * @param {?} useVirtual
7264
+ * @return {?}
7265
+ */
7266
+ HdTableComponent.prototype.afterTableRender = /**
7267
+ * @private
7268
+ * @param {?} useVirtual
7269
+ * @return {?}
7270
+ */
7271
+ function (useVirtual) {
7272
+ if (useVirtual) {
7189
7273
  this.refreshVirtualScrollViewport(true);
7274
+ return;
7275
+ }
7276
+ if (this.virtualScroll) {
7277
+ this.measureVirtualItemSize(true);
7278
+ this.syncHorizontalScroll();
7190
7279
  }
7191
7280
  };
7192
7281
  /**
@@ -7839,6 +7928,88 @@ var HdTableComponent = /** @class */ (function () {
7839
7928
  function (maxOffset) {
7840
7929
  return "calc(100vh - " + maxOffset + "px)";
7841
7930
  };
7931
+ /**
7932
+ * @private
7933
+ * @return {?}
7934
+ */
7935
+ HdTableComponent.prototype.getTableViewportWidth = /**
7936
+ * @private
7937
+ * @return {?}
7938
+ */
7939
+ function () {
7940
+ if (!this.nzTableComponent || !this.nzTableComponent.tableMainElement) {
7941
+ return 0;
7942
+ }
7943
+ /** @type {?} */
7944
+ var tableMain = (/** @type {?} */ (this.nzTableComponent.tableMainElement
7945
+ .nativeElement));
7946
+ /** @type {?} */
7947
+ var wrapper = (/** @type {?} */ (tableMain.closest(".ant-table-wrapper")));
7948
+ if (wrapper && wrapper.clientWidth > 0) {
7949
+ return wrapper.clientWidth;
7950
+ }
7951
+ /** @type {?} */
7952
+ var host = (/** @type {?} */ (tableMain.closest(".hd-table-container")));
7953
+ if (host && host.clientWidth > 0) {
7954
+ return host.clientWidth;
7955
+ }
7956
+ return 0;
7957
+ };
7958
+ /** 列总宽超出外层容器才启用横向 scroll(不能用 table 自身宽度,会被 scroll.x 撑宽) */
7959
+ /**
7960
+ * 列总宽超出外层容器才启用横向 scroll(不能用 table 自身宽度,会被 scroll.x 撑宽)
7961
+ * @private
7962
+ * @param {?} colWidth
7963
+ * @param {?} useVirtual
7964
+ * @return {?}
7965
+ */
7966
+ HdTableComponent.prototype.resolveScrollX = /**
7967
+ * 列总宽超出外层容器才启用横向 scroll(不能用 table 自身宽度,会被 scroll.x 撑宽)
7968
+ * @private
7969
+ * @param {?} colWidth
7970
+ * @param {?} useVirtual
7971
+ * @return {?}
7972
+ */
7973
+ function (colWidth, useVirtual) {
7974
+ if (colWidth <= 0) {
7975
+ return useVirtual ? "1px" : null;
7976
+ }
7977
+ if (useVirtual) {
7978
+ return colWidth + "px";
7979
+ }
7980
+ /** @type {?} */
7981
+ var viewportWidth = this.getTableViewportWidth();
7982
+ if (viewportWidth > 0) {
7983
+ return colWidth > viewportWidth ? colWidth + "px" : null;
7984
+ }
7985
+ if (typeof window !== "undefined" && colWidth > window.innerWidth - 32) {
7986
+ return colWidth + "px";
7987
+ }
7988
+ return null;
7989
+ };
7990
+ /** 表格渲染后按实际容器宽度校正横向 scroll */
7991
+ /**
7992
+ * 表格渲染后按实际容器宽度校正横向 scroll
7993
+ * @private
7994
+ * @return {?}
7995
+ */
7996
+ HdTableComponent.prototype.syncHorizontalScroll = /**
7997
+ * 表格渲染后按实际容器宽度校正横向 scroll
7998
+ * @private
7999
+ * @return {?}
8000
+ */
8001
+ function () {
8002
+ if (!this.virtualScroll || this.useVirtualScroll) {
8003
+ return;
8004
+ }
8005
+ /** @type {?} */
8006
+ var scrollX = this.resolveScrollX(this.tableColWidthTotal, false);
8007
+ if (this.scroll && this.scroll.x === scrollX && this.scroll.y === null) {
8008
+ return;
8009
+ }
8010
+ this.scroll = { x: scrollX, y: null };
8011
+ this.cdr.markForCheck();
8012
+ };
7842
8013
  /**
7843
8014
  * @return {?}
7844
8015
  */
@@ -7864,26 +8035,28 @@ var HdTableComponent = /** @class */ (function () {
7864
8035
  colWidth += item.width;
7865
8036
  }
7866
8037
  }));
8038
+ this.tableColWidthTotal = colWidth;
7867
8039
  /** @type {?} */
7868
8040
  var maxOffset = this.tableTotal ? 180 : 140;
7869
8041
  /** @type {?} */
7870
8042
  var useVirtual = this.useVirtualScroll;
7871
- /** @type {?} */
7872
- var scrollY;
7873
- if (!this.virtualScroll) {
7874
- scrollY = "calc(100vh - " + maxOffset + "px)";
7875
- }
7876
- else if (useVirtual) {
7877
- scrollY = this.getVirtualScrollY(maxOffset);
8043
+ if (this.virtualScroll && !useVirtual) {
8044
+ this.scroll = {
8045
+ x: this.resolveScrollX(colWidth, false),
8046
+ y: null,
8047
+ };
8048
+ return;
7878
8049
  }
7879
- else {
7880
- scrollY = null;
8050
+ if (!this.virtualScroll) {
8051
+ this.scroll = {
8052
+ x: "1px",
8053
+ y: "calc(100vh - " + maxOffset + "px)",
8054
+ };
8055
+ return;
7881
8056
  }
7882
- /** @type {?} */
7883
- var scrollX = useVirtual && colWidth > 0 ? colWidth + "px" : "1px";
7884
8057
  this.scroll = {
7885
- x: scrollX,
7886
- y: scrollY,
8058
+ x: this.resolveScrollX(colWidth, true),
8059
+ y: this.getVirtualScrollY(maxOffset),
7887
8060
  };
7888
8061
  };
7889
8062
  // 表格勾选逻辑
@@ -8047,9 +8220,9 @@ var HdTableComponent = /** @class */ (function () {
8047
8220
  HdTableComponent.decorators = [
8048
8221
  { type: Component, args: [{
8049
8222
  selector: "hd-table",
8050
- 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",
8223
+ 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",
8051
8224
  changeDetection: ChangeDetectionStrategy.OnPush,
8052
- 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}"]
8225
+ 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}"]
8053
8226
  }] }
8054
8227
  ];
8055
8228
  /** @nocollapse */
@@ -8211,6 +8384,18 @@ if (false) {
8211
8384
  * @type {?}
8212
8385
  */
8213
8386
  HdTableComponent.prototype.measuredVirtualItemSize;
8387
+ /**
8388
+ * 记录当前是否处于虚拟滚动模式,用于切换 pageSize 时重建表格
8389
+ * @type {?}
8390
+ * @private
8391
+ */
8392
+ HdTableComponent.prototype.virtualScrollActive;
8393
+ /**
8394
+ * 可见列总宽,用于判断是否需要横向滚动
8395
+ * @type {?}
8396
+ * @private
8397
+ */
8398
+ HdTableComponent.prototype.tableColWidthTotal;
8214
8399
  /** @type {?} */
8215
8400
  HdTableComponent.prototype.nzTableComponent;
8216
8401
  /** @type {?} */
@@ -8252,6 +8437,7 @@ var HdTableModule = /** @class */ (function () {
8252
8437
  HdStatusModule,
8253
8438
  HdButtonModule,
8254
8439
  HdButtonGroupModule,
8440
+ NzToolTipModule,
8255
8441
  NzPopconfirmModule,
8256
8442
  NzResizableModule,
8257
8443
  NzDropDownModule,