fantasy-ngzorro 2.2.13 → 2.2.14

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.
@@ -10341,19 +10341,6 @@ if (false) {
10341
10341
  /** @type {?} */
10342
10342
  OperateBtn.prototype.permission;
10343
10343
  }
10344
- var HdTableTotalOption = /** @class */ (function () {
10345
- function HdTableTotalOption() {
10346
- }
10347
- return HdTableTotalOption;
10348
- }());
10349
- if (false) {
10350
- /** @type {?} */
10351
- HdTableTotalOption.prototype.columnNumber;
10352
- /** @type {?} */
10353
- HdTableTotalOption.prototype.insertIndex;
10354
- /** @type {?} */
10355
- HdTableTotalOption.prototype.insertName;
10356
- }
10357
10344
  var TableCacheOption = /** @class */ (function () {
10358
10345
  function TableCacheOption() {
10359
10346
  this.colWidths = new Map(); // name -> width
@@ -10405,8 +10392,9 @@ if (false) {
10405
10392
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10406
10393
  */
10407
10394
  var HdTableComponent = /** @class */ (function () {
10408
- function HdTableComponent(cdr, commonSessionService) {
10395
+ function HdTableComponent(hostEl, cdr, commonSessionService) {
10409
10396
  var _this = this;
10397
+ this.hostEl = hostEl;
10410
10398
  this.cdr = cdr;
10411
10399
  this.commonSessionService = commonSessionService;
10412
10400
  this.tableCols = [];
@@ -10414,7 +10402,7 @@ var HdTableComponent = /** @class */ (function () {
10414
10402
  this.showOperateColWarpButton = false;
10415
10403
  this.virtualScroll = true;
10416
10404
  this.selectField = "billNumber";
10417
- // 合计区域
10405
+ // 合计区域(类型与 hd-detail-lines 的 TotalOption 一致)
10418
10406
  this.showTableTotal = false;
10419
10407
  this.sortEvent = new EventEmitter();
10420
10408
  this.selectEvent = new EventEmitter();
@@ -10479,8 +10467,9 @@ var HdTableComponent = /** @class */ (function () {
10479
10467
  * 记录当前是否处于虚拟滚动模式,用于切换 pageSize 时重建表格
10480
10468
  */
10481
10469
  this.virtualScrollActive = null;
10470
+ /** 可见列总宽,用于判断是否需要横向滚动 */
10482
10471
  /**
10483
- * 可见列总宽,用于判断是否需要横向滚动
10472
+ * 列宽合计(含勾选/序号),footer 表宽与横向 scroll 共用
10484
10473
  */
10485
10474
  this.tableColWidthTotal = 0;
10486
10475
  /**
@@ -10492,6 +10481,14 @@ var HdTableComponent = /** @class */ (function () {
10492
10481
  */
10493
10482
  this.currentSortKey = null;
10494
10483
  this.currentSortValue = null;
10484
+ this.totalFooterScrollBoundBody = null;
10485
+ this.totalFooterScrollHandler = null;
10486
+ this.totalFooterSyncRetry = 0;
10487
+ /**
10488
+ * 序号列固定宽(含 padding,可容纳 6 位如 199995)。
10489
+ * 不锁死时表体会随位数变宽(1→~64px,199995→~67px),合计行对不齐。
10490
+ */
10491
+ this.lineNumberColWidth = 72;
10495
10492
  this.trackByRow = (/**
10496
10493
  * @param {?} index
10497
10494
  * @param {?} data
@@ -10571,6 +10568,15 @@ var HdTableComponent = /** @class */ (function () {
10571
10568
  storeName: "hd-fscm-store",
10572
10569
  });
10573
10570
  }
10571
+ /**
10572
+ * @return {?}
10573
+ */
10574
+ HdTableComponent.prototype.ngOnDestroy = /**
10575
+ * @return {?}
10576
+ */
10577
+ function () {
10578
+ this.unbindTotalFooterScrollSync();
10579
+ };
10574
10580
  /**
10575
10581
  * @return {?}
10576
10582
  */
@@ -10627,6 +10633,13 @@ var HdTableComponent = /** @class */ (function () {
10627
10633
  */
10628
10634
  function (changes) {
10629
10635
  var _this = this;
10636
+ if (changes["tableData"] ||
10637
+ changes["tableTotalOption"] ||
10638
+ changes["showTableTotal"] ||
10639
+ changes["columnsNumber"] ||
10640
+ changes["tableCols"]) {
10641
+ this.calculateTableTotal();
10642
+ }
10630
10643
  if (changes &&
10631
10644
  changes["tableData"] &&
10632
10645
  changes["tableData"]["currentValue"] &&
@@ -10892,6 +10905,83 @@ var HdTableComponent = /** @class */ (function () {
10892
10905
  function (col) {
10893
10906
  return col.fixed === "left" ? (col.fixedWidth || 0) + "px" : null;
10894
10907
  };
10908
+ Object.defineProperty(HdTableComponent.prototype, "lineNumberLeft", {
10909
+ /** 开启合计时序号列的 left(勾选列占 40px) */
10910
+ get: /**
10911
+ * 开启合计时序号列的 left(勾选列占 40px)
10912
+ * @return {?}
10913
+ */
10914
+ function () {
10915
+ return this.showSelected ? "40px" : "0px";
10916
+ },
10917
+ enumerable: true,
10918
+ configurable: true
10919
+ });
10920
+ Object.defineProperty(HdTableComponent.prototype, "lineNumberColWidthPx", {
10921
+ get: /**
10922
+ * @return {?}
10923
+ */
10924
+ function () {
10925
+ return this.lineNumberColWidth + "px";
10926
+ },
10927
+ enumerable: true,
10928
+ configurable: true
10929
+ });
10930
+ Object.defineProperty(HdTableComponent.prototype, "isTotalFooterFluid", {
10931
+ /**
10932
+ * 列总宽未超出容器:无横向 scroll,表体列会被撑满,合计走 fluid(width:100%)。
10933
+ * 列总宽超出:有 scroll.x,合计走固定表宽 + 横滚同步。
10934
+ */
10935
+ get: /**
10936
+ * 列总宽未超出容器:无横向 scroll,表体列会被撑满,合计走 fluid(width:100%)。
10937
+ * 列总宽超出:有 scroll.x,合计走固定表宽 + 横滚同步。
10938
+ * @return {?}
10939
+ */
10940
+ function () {
10941
+ return !(this.scroll && this.scroll.x);
10942
+ },
10943
+ enumerable: true,
10944
+ configurable: true
10945
+ });
10946
+ Object.defineProperty(HdTableComponent.prototype, "totalFooterTableWidth", {
10947
+ /** fluid → 100%;固定 → scroll.x(与表体同一套横向宽度) */
10948
+ get: /**
10949
+ * fluid → 100%;固定 → scroll.x(与表体同一套横向宽度)
10950
+ * @return {?}
10951
+ */
10952
+ function () {
10953
+ if (this.isTotalFooterFluid) {
10954
+ return "100%";
10955
+ }
10956
+ return this.scroll && this.scroll.x
10957
+ ? String(this.scroll.x)
10958
+ : this.tableColWidthTotal > 0
10959
+ ? this.tableColWidthTotal + "px"
10960
+ : "100%";
10961
+ },
10962
+ enumerable: true,
10963
+ configurable: true
10964
+ });
10965
+ /** 当前页行号(跨页连续,从 1 开始) */
10966
+ /**
10967
+ * 当前页行号(跨页连续,从 1 开始)
10968
+ * @param {?} index
10969
+ * @return {?}
10970
+ */
10971
+ HdTableComponent.prototype.getLineNumber = /**
10972
+ * 当前页行号(跨页连续,从 1 开始)
10973
+ * @param {?} index
10974
+ * @return {?}
10975
+ */
10976
+ function (index) {
10977
+ /** @type {?} */
10978
+ var page = Number(this.tablePageIndex) > 0 ? Number(this.tablePageIndex) : 1;
10979
+ /** @type {?} */
10980
+ var size = Number(this.tablePageSize) > 0 ? Number(this.tablePageSize) : 0;
10981
+ /** @type {?} */
10982
+ var rowIndex = Number(index) >= 0 ? Number(index) : 0;
10983
+ return (page - 1) * size + rowIndex + 1;
10984
+ };
10895
10985
  /**
10896
10986
  * @return {?}
10897
10987
  */
@@ -11752,6 +11842,7 @@ var HdTableComponent = /** @class */ (function () {
11752
11842
  * @return {?}
11753
11843
  */
11754
11844
  function (_a, col) {
11845
+ var _this = this;
11755
11846
  var width = _a.width;
11756
11847
  this.normalizeTableCacheOption();
11757
11848
  /** @type {?} */
@@ -11773,6 +11864,10 @@ var HdTableComponent = /** @class */ (function () {
11773
11864
  }));
11774
11865
  this.dealScroll();
11775
11866
  this.cdr.markForCheck();
11867
+ setTimeout((/**
11868
+ * @return {?}
11869
+ */
11870
+ function () { return _this.syncTotalFooterWithBody(); }));
11776
11871
  };
11777
11872
  /**
11778
11873
  * @return {?}
@@ -11956,6 +12051,10 @@ var HdTableComponent = /** @class */ (function () {
11956
12051
  if (this.scroll &&
11957
12052
  this.scroll.x === scrollX &&
11958
12053
  this.scroll.y === currentY) {
12054
+ setTimeout((/**
12055
+ * @return {?}
12056
+ */
12057
+ function () { return _this.syncTotalFooterWithBody(); }));
11959
12058
  return;
11960
12059
  }
11961
12060
  // 保持 y 不变,防止运行中拆/合 header 导致横向同步失效
@@ -11966,31 +12065,188 @@ var HdTableComponent = /** @class */ (function () {
11966
12065
  */
11967
12066
  function () { return _this.syncHeaderBodyScrollLeft(); }));
11968
12067
  };
11969
- /** 手动把表体横向滚动同步到表头(兜底 ng-zorro 监听丢失的情况) */
12068
+ /** 手动把表体横向滚动同步到表头 / 合计 footer(兜底 ng-zorro 监听丢失的情况) */
11970
12069
  /**
11971
- * 手动把表体横向滚动同步到表头(兜底 ng-zorro 监听丢失的情况)
12070
+ * 手动把表体横向滚动同步到表头 / 合计 footer(兜底 ng-zorro 监听丢失的情况)
11972
12071
  * @private
11973
12072
  * @return {?}
11974
12073
  */
11975
12074
  HdTableComponent.prototype.syncHeaderBodyScrollLeft = /**
11976
- * 手动把表体横向滚动同步到表头(兜底 ng-zorro 监听丢失的情况)
12075
+ * 手动把表体横向滚动同步到表头 / 合计 footer(兜底 ng-zorro 监听丢失的情况)
11977
12076
  * @private
11978
12077
  * @return {?}
11979
12078
  */
11980
12079
  function () {
11981
- if (!this.nzTableComponent || !this.scroll || !this.scroll.x) {
12080
+ if (!this.nzTableComponent) {
11982
12081
  return;
11983
12082
  }
11984
12083
  /** @type {?} */
11985
12084
  var header = (/** @type {?} */ (((/** @type {?} */ (this.nzTableComponent))).tableHeaderNativeElement));
11986
12085
  /** @type {?} */
11987
- var body = (/** @type {?} */ (((/** @type {?} */ (this.nzTableComponent))).mixTableBodyNativeElement));
11988
- if (!header || !body) {
12086
+ var body = this.getTableBodyScrollEl();
12087
+ if (this.scroll && this.scroll.x && header && body) {
12088
+ if (header.scrollLeft !== body.scrollLeft) {
12089
+ header.scrollLeft = body.scrollLeft;
12090
+ }
12091
+ }
12092
+ this.syncTotalFooterWithBody();
12093
+ };
12094
+ /** 取表体横向滚动容器(虚拟滚动优先 viewport) */
12095
+ /**
12096
+ * 取表体横向滚动容器(虚拟滚动优先 viewport)
12097
+ * @private
12098
+ * @return {?}
12099
+ */
12100
+ HdTableComponent.prototype.getTableBodyScrollEl = /**
12101
+ * 取表体横向滚动容器(虚拟滚动优先 viewport)
12102
+ * @private
12103
+ * @return {?}
12104
+ */
12105
+ function () {
12106
+ if (!this.nzTableComponent) {
12107
+ return null;
12108
+ }
12109
+ /** @type {?} */
12110
+ var mix = (/** @type {?} */ (((/** @type {?} */ (this.nzTableComponent))).mixTableBodyNativeElement));
12111
+ if (mix) {
12112
+ return mix;
12113
+ }
12114
+ /** @type {?} */
12115
+ var host = this.hostEl && ((/** @type {?} */ (this.hostEl.nativeElement)));
12116
+ if (!host) {
12117
+ return null;
12118
+ }
12119
+ return (((/** @type {?} */ (host.querySelector("cdk-virtual-scroll-viewport.ant-table-body")))) ||
12120
+ ((/** @type {?} */ (host.querySelector(".ant-table-body")))) ||
12121
+ null);
12122
+ };
12123
+ /**
12124
+ * @private
12125
+ * @return {?}
12126
+ */
12127
+ HdTableComponent.prototype.getTotalFooterScrollEl = /**
12128
+ * @private
12129
+ * @return {?}
12130
+ */
12131
+ function () {
12132
+ /** @type {?} */
12133
+ var host = this.hostEl && ((/** @type {?} */ (this.hostEl.nativeElement)));
12134
+ return host
12135
+ ? ((/** @type {?} */ (host.querySelector(".hd-table-total-footer"))))
12136
+ : null;
12137
+ };
12138
+ /**
12139
+ * 合计 footer 与表体联动:
12140
+ * - fluid(列未撑满):不横滚、不测宽,表宽 100% 与表体同比例拉伸;
12141
+ * - fixed(有 scroll.x):同步 scrollLeft。
12142
+ */
12143
+ /**
12144
+ * 合计 footer 与表体联动:
12145
+ * - fluid(列未撑满):不横滚、不测宽,表宽 100% 与表体同比例拉伸;
12146
+ * - fixed(有 scroll.x):同步 scrollLeft。
12147
+ * @private
12148
+ * @return {?}
12149
+ */
12150
+ HdTableComponent.prototype.syncTotalFooterWithBody = /**
12151
+ * 合计 footer 与表体联动:
12152
+ * - fluid(列未撑满):不横滚、不测宽,表宽 100% 与表体同比例拉伸;
12153
+ * - fixed(有 scroll.x):同步 scrollLeft。
12154
+ * @private
12155
+ * @return {?}
12156
+ */
12157
+ function () {
12158
+ var _this = this;
12159
+ if (!this.showTableTotal) {
12160
+ this.unbindTotalFooterScrollSync();
12161
+ return;
12162
+ }
12163
+ /** @type {?} */
12164
+ var footer = this.getTotalFooterScrollEl();
12165
+ /** @type {?} */
12166
+ var body = this.getTableBodyScrollEl();
12167
+ if (!footer) {
12168
+ if (this.totalFooterSyncRetry < 10) {
12169
+ this.totalFooterSyncRetry++;
12170
+ setTimeout((/**
12171
+ * @return {?}
12172
+ */
12173
+ function () { return _this.syncTotalFooterWithBody(); }), 50);
12174
+ }
11989
12175
  return;
11990
12176
  }
11991
- if (header.scrollLeft !== body.scrollLeft) {
11992
- header.scrollLeft = body.scrollLeft;
12177
+ this.totalFooterSyncRetry = 0;
12178
+ if (this.isTotalFooterFluid) {
12179
+ this.unbindTotalFooterScrollSync();
12180
+ footer.scrollLeft = 0;
12181
+ return;
12182
+ }
12183
+ if (body) {
12184
+ this.syncTotalFooterScrollLeft(body.scrollLeft);
12185
+ this.bindTotalFooterScrollSync(body);
12186
+ }
12187
+ };
12188
+ /**
12189
+ * @private
12190
+ * @param {?} scrollLeft
12191
+ * @return {?}
12192
+ */
12193
+ HdTableComponent.prototype.syncTotalFooterScrollLeft = /**
12194
+ * @private
12195
+ * @param {?} scrollLeft
12196
+ * @return {?}
12197
+ */
12198
+ function (scrollLeft) {
12199
+ /** @type {?} */
12200
+ var footer = this.getTotalFooterScrollEl();
12201
+ if (footer && footer.scrollLeft !== scrollLeft) {
12202
+ footer.scrollLeft = scrollLeft;
12203
+ }
12204
+ };
12205
+ /**
12206
+ * @private
12207
+ * @param {?} body
12208
+ * @return {?}
12209
+ */
12210
+ HdTableComponent.prototype.bindTotalFooterScrollSync = /**
12211
+ * @private
12212
+ * @param {?} body
12213
+ * @return {?}
12214
+ */
12215
+ function (body) {
12216
+ var _this = this;
12217
+ if (!this.showTableTotal || !body || this.isTotalFooterFluid) {
12218
+ return;
12219
+ }
12220
+ if (this.totalFooterScrollBoundBody === body &&
12221
+ this.totalFooterScrollHandler) {
12222
+ return;
11993
12223
  }
12224
+ this.unbindTotalFooterScrollSync();
12225
+ this.totalFooterScrollBoundBody = body;
12226
+ this.totalFooterScrollHandler = (/**
12227
+ * @return {?}
12228
+ */
12229
+ function () {
12230
+ _this.syncTotalFooterScrollLeft(body.scrollLeft);
12231
+ });
12232
+ body.addEventListener("scroll", this.totalFooterScrollHandler, (/** @type {?} */ ({
12233
+ passive: true,
12234
+ })));
12235
+ };
12236
+ /**
12237
+ * @private
12238
+ * @return {?}
12239
+ */
12240
+ HdTableComponent.prototype.unbindTotalFooterScrollSync = /**
12241
+ * @private
12242
+ * @return {?}
12243
+ */
12244
+ function () {
12245
+ if (this.totalFooterScrollBoundBody && this.totalFooterScrollHandler) {
12246
+ this.totalFooterScrollBoundBody.removeEventListener("scroll", this.totalFooterScrollHandler);
12247
+ }
12248
+ this.totalFooterScrollBoundBody = null;
12249
+ this.totalFooterScrollHandler = null;
11994
12250
  };
11995
12251
  /**
11996
12252
  * @return {?}
@@ -12004,6 +12260,9 @@ var HdTableComponent = /** @class */ (function () {
12004
12260
  if (this.showSelected) {
12005
12261
  colWidth += 40;
12006
12262
  }
12263
+ if (this.showTableTotal) {
12264
+ colWidth += this.lineNumberColWidth; // 序号列(固定宽,不随位数变化)
12265
+ }
12007
12266
  this.tableCols.forEach((/**
12008
12267
  * @param {?} item
12009
12268
  * @return {?}
@@ -12122,6 +12381,194 @@ var HdTableComponent = /** @class */ (function () {
12122
12381
  this.tableSearchEvent.emit(reset);
12123
12382
  }
12124
12383
  };
12384
+ /**
12385
+ * 底部合计:与 hd-detail-lines 相同,使用 TotalOption(insertIndex / insertValue)。
12386
+ * 开启后强制展示序号列,「合计」落在序号列下;
12387
+ * insertIndex 从 1 起对应可见数据列;未传 insertValue 时按该列 name 对 content 求和。
12388
+ */
12389
+ /**
12390
+ * 底部合计:与 hd-detail-lines 相同,使用 TotalOption(insertIndex / insertValue)。
12391
+ * 开启后强制展示序号列,「合计」落在序号列下;
12392
+ * insertIndex 从 1 起对应可见数据列;未传 insertValue 时按该列 name 对 content 求和。
12393
+ * @return {?}
12394
+ */
12395
+ HdTableComponent.prototype.calculateTableTotal = /**
12396
+ * 底部合计:与 hd-detail-lines 相同,使用 TotalOption(insertIndex / insertValue)。
12397
+ * 开启后强制展示序号列,「合计」落在序号列下;
12398
+ * insertIndex 从 1 起对应可见数据列;未传 insertValue 时按该列 name 对 content 求和。
12399
+ * @return {?}
12400
+ */
12401
+ function () {
12402
+ var _this = this;
12403
+ if (!this.showTableTotal ||
12404
+ !this.tableTotalOption ||
12405
+ !this.tableTotalOption.length) {
12406
+ this.tableTotalOptionList = [];
12407
+ return;
12408
+ }
12409
+ /** @type {?} */
12410
+ var visibleCols = (this.tableCols || []).filter((/**
12411
+ * @param {?} c
12412
+ * @return {?}
12413
+ */
12414
+ function (c) { return c && c.isShow !== false; }));
12415
+ // columnsNumber 含序号列(与 detail-lines 一致),数据槽位数 = columnsNumber - 1
12416
+ /** @type {?} */
12417
+ var configured = Number(this.columnsNumber);
12418
+ /** @type {?} */
12419
+ var columnNumber = configured > 1
12420
+ ? configured - 1
12421
+ : configured === 1
12422
+ ? 1
12423
+ : visibleCols.length;
12424
+ if (!columnNumber || columnNumber < 1) {
12425
+ this.tableTotalOptionList = [];
12426
+ return;
12427
+ }
12428
+ this.tableTotalOptionList = new Array(columnNumber).fill("");
12429
+ /** @type {?} */
12430
+ var content = this.tableData && this.tableData.content ? this.tableData.content : [];
12431
+ this.tableTotalOption.forEach((/**
12432
+ * @param {?} item
12433
+ * @return {?}
12434
+ */
12435
+ function (item) {
12436
+ if (item == null || !item.insertIndex || item.insertIndex < 1) {
12437
+ return;
12438
+ }
12439
+ /** @type {?} */
12440
+ var value = item.insertValue;
12441
+ // 未传 insertValue 时:按 insertIndex 对应可见列 name 自动求和
12442
+ if (value == null || value === "") {
12443
+ /** @type {?} */
12444
+ var col = visibleCols[item.insertIndex - 1];
12445
+ /** @type {?} */
12446
+ var field_1 = col && typeof col.name === "string" ? col.name : null;
12447
+ if (!field_1) {
12448
+ return;
12449
+ }
12450
+ /** @type {?} */
12451
+ var sum_1 = 0;
12452
+ /** @type {?} */
12453
+ var hasValue_1 = false;
12454
+ content.forEach((/**
12455
+ * @param {?} row
12456
+ * @return {?}
12457
+ */
12458
+ function (row) {
12459
+ /** @type {?} */
12460
+ var raw = row ? row[field_1] : null;
12461
+ if (raw == null || raw === "") {
12462
+ return;
12463
+ }
12464
+ /** @type {?} */
12465
+ var num = Number(raw);
12466
+ if (!isNaN(num)) {
12467
+ sum_1 += num;
12468
+ hasValue_1 = true;
12469
+ }
12470
+ }));
12471
+ if (!hasValue_1) {
12472
+ return;
12473
+ }
12474
+ value = sum_1;
12475
+ }
12476
+ /** @type {?} */
12477
+ var colAtIndex = visibleCols[item.insertIndex - 1];
12478
+ _this.tableTotalOptionList[item.insertIndex - 1] = {
12479
+ value: value,
12480
+ align: item.align || (colAtIndex && colAtIndex.align) || "left",
12481
+ showDecimal: item.showDecimal || false,
12482
+ preserveNumber: item.preserveNumber != null ? item.preserveNumber : 2,
12483
+ isHide: item.isHide || false,
12484
+ };
12485
+ }));
12486
+ };
12487
+ /**
12488
+ * @private
12489
+ * @param {?} col
12490
+ * @param {?} colIndex
12491
+ * @return {?}
12492
+ */
12493
+ HdTableComponent.prototype.getTableTotalCellMeta = /**
12494
+ * @private
12495
+ * @param {?} col
12496
+ * @param {?} colIndex
12497
+ * @return {?}
12498
+ */
12499
+ function (col, colIndex) {
12500
+ if (!col || !this.tableTotalOptionList || !this.tableTotalOptionList.length) {
12501
+ return null;
12502
+ }
12503
+ /** @type {?} */
12504
+ var visibleIndex = -1;
12505
+ for (var i = 0; i <= colIndex; i++) {
12506
+ /** @type {?} */
12507
+ var c = this.tableCols[i];
12508
+ if (c && c.isShow !== false) {
12509
+ visibleIndex++;
12510
+ }
12511
+ }
12512
+ if (visibleIndex < 0 || visibleIndex >= this.tableTotalOptionList.length) {
12513
+ return null;
12514
+ }
12515
+ /** @type {?} */
12516
+ var meta = this.tableTotalOptionList[visibleIndex];
12517
+ return meta && typeof meta === "object" ? meta : null;
12518
+ };
12519
+ /** 合计单元格展示文案(对齐 detail-lines 小数规则) */
12520
+ /**
12521
+ * 合计单元格展示文案(对齐 detail-lines 小数规则)
12522
+ * @param {?} col
12523
+ * @param {?} colIndex
12524
+ * @return {?}
12525
+ */
12526
+ HdTableComponent.prototype.getTableTotalCellValue = /**
12527
+ * 合计单元格展示文案(对齐 detail-lines 小数规则)
12528
+ * @param {?} col
12529
+ * @param {?} colIndex
12530
+ * @return {?}
12531
+ */
12532
+ function (col, colIndex) {
12533
+ /** @type {?} */
12534
+ var meta = this.getTableTotalCellMeta(col, colIndex);
12535
+ if (!meta || meta.isHide) {
12536
+ return "";
12537
+ }
12538
+ /** @type {?} */
12539
+ var value = meta.value;
12540
+ if (!(value || value === 0)) {
12541
+ return "";
12542
+ }
12543
+ /** @type {?} */
12544
+ var preserve = meta.preserveNumber != null ? Number(meta.preserveNumber) : 2;
12545
+ if (value % 1 === 0 && !meta.showDecimal) {
12546
+ return value;
12547
+ }
12548
+ /** @type {?} */
12549
+ var factor = Math.pow(10, preserve);
12550
+ return (Math.round(Number(value) * factor) / factor).toFixed(preserve);
12551
+ };
12552
+ /**
12553
+ * @param {?} col
12554
+ * @param {?} colIndex
12555
+ * @return {?}
12556
+ */
12557
+ HdTableComponent.prototype.getTableTotalCellAlign = /**
12558
+ * @param {?} col
12559
+ * @param {?} colIndex
12560
+ * @return {?}
12561
+ */
12562
+ function (col, colIndex) {
12563
+ /** @type {?} */
12564
+ var meta = this.getTableTotalCellMeta(col, colIndex);
12565
+ /** @type {?} */
12566
+ var align = (meta && meta.align) || (col && col.align) || "left";
12567
+ if (align === "right" || align === "center" || align === "left") {
12568
+ return align;
12569
+ }
12570
+ return "left";
12571
+ };
12125
12572
  /** 底部「共 n 条」:非分页/前端分页用 content.length,服务端分页用 totalElements */
12126
12573
  /**
12127
12574
  * 底部「共 n 条」:非分页/前端分页用 content.length,服务端分页用 totalElements
@@ -12731,13 +13178,14 @@ var HdTableComponent = /** @class */ (function () {
12731
13178
  HdTableComponent.decorators = [
12732
13179
  { type: Component, args: [{
12733
13180
  selector: "hd-table",
12734
- 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 <span class=\"hd-table-col-settings\" nz-dropdown nzTrigger=\"click\" [nzDropdownMenu]=\"menu\"\n [nzVisible]=\"isDropdownVisible\" (click)=\"confirmDropdown()\" title=\"\u5217\u8BBE\u7F6E\">\n <svg class=\"hd-table-col-settings-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M4.92031 1.80756C5.02551 1.42884 5.37033 1.16675 5.76339 1.16675H8.23667C8.62973 1.16675 8.97455 1.42884 9.07975 1.80756L9.37802 2.88133L10.4571 2.60273C10.8377 2.50448 11.2371 2.67206 11.4336 3.01245L12.6703 5.15438C12.8668 5.49478 12.8122 5.92445 12.5369 6.20491L11.7561 7.00008L12.5369 7.79525C12.8122 8.07572 12.8668 8.50539 12.6703 8.84579L11.4336 10.9877C11.2371 11.3281 10.8377 11.4957 10.4571 11.3974L9.37802 11.1188L9.07975 12.1926C8.97455 12.5713 8.62973 12.8334 8.23667 12.8334H5.76339C5.37033 12.8334 5.02551 12.5713 4.92031 12.1926L4.62206 11.1189L3.54315 11.3974C3.16258 11.4957 2.76318 11.3281 2.56666 10.9877L1.33001 8.84579C1.13349 8.50539 1.18806 8.07572 1.46343 7.79525L2.24419 7.00008L1.46344 6.20491C1.18806 5.92445 1.13349 5.49478 1.33002 5.15438L2.56666 3.01245C2.76319 2.67206 3.16258 2.50448 3.54316 2.60273L4.62206 2.88127L4.92031 1.80756ZM4.54541 10.843L4.54552 10.8433L4.54541 10.843ZM5.98508 2.33341L5.66952 3.46945C5.54185 3.92906 5.06958 4.20173 4.60771 4.08249L3.46618 3.78778L2.45122 5.54572L3.2773 6.38705C3.6115 6.72742 3.6115 7.27275 3.2773 7.61312L2.45122 8.45444L3.46617 10.2124L4.60771 9.91768C5.06958 9.79844 5.54185 10.0711 5.66952 10.5307L5.98508 11.6667H8.01498L8.33056 10.5307C8.45823 10.071 8.9305 9.79838 9.39237 9.91762L10.5341 10.2124L11.5491 8.45444L10.723 7.61312C10.3888 7.27275 10.3888 6.72742 10.723 6.38705L11.5491 5.54572L10.5341 3.78778L9.39237 4.08254C8.9305 4.20178 8.45823 3.92912 8.33056 3.46951L8.01498 2.33341H5.98508ZM7.00003 5.83342C6.3557 5.83342 5.83337 6.35575 5.83337 7.00008C5.83337 7.64441 6.3557 8.16675 7.00003 8.16675C7.64436 8.16675 8.1667 7.64441 8.1667 7.00008C8.1667 6.35575 7.64436 5.83342 7.00003 5.83342ZM4.6667 7.00008C4.6667 5.71142 5.71137 4.66675 7.00003 4.66675C8.2887 4.66675 9.33337 5.71142 9.33337 7.00008C9.33337 8.28875 8.2887 9.33342 7.00003 9.33342C5.71137 9.33342 4.6667 8.28875 4.6667 7.00008Z\"\n fill=\"currentColor\" />\n </svg>\n </span>\n <nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <div class=\"hd-table-col-settings-dropdown\">\n <div class=\"hd-table-col-settings-list\">\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 class=\"hd-table-col-settings-footer\">\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 </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\"\n [class.hd-table--scroll-y]=\"!!(scroll && scroll.y)\" [class.hd-table--scroll-x]=\"!!(scroll && scroll.x)\"\n [nzScroll]=\"scroll\"\n [nzShowPagination]=\"pagination\" [nzShowSizeChanger]=\"pagination\" [nzShowQuickJumper]=\"pagination\"\n [nzFrontPagination]=\"useFrontPagination\" nzSize=\"middle\" [nzData]=\"tableData.content\"\n [nzTotal]=\"getTableTotalCount()\" [(nzPageIndex)]=\"tablePageIndex\" [nzLoading]=\"tableLoading\"\n [nzPageSizeOptions]=\"[ 10, 50, 100, 200, 500, 1000 ]\" [(nzPageSize)]=\"tablePageSize\"\n (nzPageSizeChange)=\"pagination ? search(true) : null\"\n (nzPageIndexChange)=\"pagination ? search(false) : null\"\n (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]=\"getLeftSticky(col)\"\n [nzRight]=\"getRightSticky(col)\" nz-resizable nzBounds=\"window\" nzPreview\n (nzResizeEnd)=\"onResize($event, col)\" [nzShowSort]=\"col.canSort\" [nzSortKey]=\"col.name\"\n [nzSort]=\"getColSort(col)\">\n <ng-container *ngIf=\"getTitleParts(col) as titleParts; else plainTitle\">\n <span class=\"hd-table-title-with-bar\">{{ titleParts[0] }}<i class=\"hd-table-row-no-bar\"></i>{{ titleParts[1] }}</span>\n </ng-container>\n <ng-template #plainTitle>{{ col.title }}</ng-template>\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\" [class.hd-table-row-invalid]=\"isInvalidRow(data)\">\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 [class.hd-table-row-invalid]=\"isInvalidRow(data)\">\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 {{ getTableTotalCount() }} \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 [nzDisabled]=\"isSelectDisabled(data)\" (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]=\"getLeftSticky(col)\"\n [nzRight]=\"getRightSticky(col)\"\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]=\"isDangerBtn(btn, data) ? 'common-danger-btn': ''\"\n (click)=\"triggerEvent(btn.click || null, data)\">{{ getBtnName(btn, data) }}</a>\n </ng-container>\n <ng-template #showConfirmTemplate>\n <a *ngIf=\"btn.permission ? btn.permission(data) : true\"\n [class]=\"isDangerBtn(btn, data) ? 'common-danger-btn': ''\" nz-popconfirm\n [nzPopconfirmTitle]=\"'\u786E\u8BA4\u8981' + getBtnName(btn, data) + '\u5417?'\"\n (nzOnConfirm)=\"triggerEvent(btn.click || null, data)\">{{\n getBtnName(btn, data) }}</a>\n </ng-template>\n </ng-container>\n </div>\n </ng-container>\n <ng-template #notOperateTemplate>\n <ng-container *ngIf=\"hasInlineEdit(col); else displayCellTpl\">\n <div class=\"hd-table-cell-edit\">\n <ng-container [ngSwitch]=\"col.editType\">\n <input *ngSwitchCase=\"'input'\" nz-input class=\"hd-table-cell-edit-control\"\n [placeholder]=\"col.placeholder || ''\"\n [disabled]=\"isEditDisabled(col, data)\"\n [ngModel]=\"data[col.name]\"\n (ngModelChange)=\"onCellChange(col, data, $event)\" />\n <nz-input-number *ngSwitchCase=\"'inputNumber'\" class=\"hd-table-cell-edit-control\"\n [nzPlaceHolder]=\"col.placeholder || ''\"\n [nzDisabled]=\"isEditDisabled(col, data)\"\n [nzMin]=\"getInputNumberProp(col, 'min', 0)\"\n [nzMax]=\"getInputNumberProp(col, 'max', 99999999)\"\n [nzStep]=\"getInputNumberProp(col, 'step', 1)\"\n [nzPrecision]=\"getInputNumberProp(col, 'precision', 4)\"\n [ngModel]=\"data[col.name]\"\n (ngModelChange)=\"onCellChange(col, data, $event)\">\n </nz-input-number>\n <nz-select *ngSwitchCase=\"'select'\" class=\"hd-table-cell-edit-control\"\n [nzPlaceHolder]=\"col.placeholder || '\u8BF7\u9009\u62E9'\"\n [nzDisabled]=\"isEditDisabled(col, data)\"\n [nzAllowClear]=\"col.selectOption && col.selectOption.hdAllowClear !== false\"\n [nzShowSearch]=\"!col.selectOption || col.selectOption.hdShowSearch !== false\"\n [ngModel]=\"data[col.name]\"\n (ngModelChange)=\"onSelectChange(col, data, $event)\">\n <nz-option *ngFor=\"let selectItem of getSelectList(col, data)\"\n [nzValue]=\"selectItem[col.selectOption.value]\"\n [nzLabel]=\"getSelectOptionLabel(col, selectItem)\">\n </nz-option>\n </nz-select>\n </ng-container>\n </div>\n </ng-container>\n <ng-template #displayCellTpl>\n <div [class.hd-table-cell-with-actions]=\"col.btnList && col.btnList.length\">\n <div class=\"hd-table-cell-value\"\n [class.hd-table-cell-value--rowno]=\"hasRowNo(col)\"\n [class.hd-table-cell-value--edit]=\"isEditable(col, data)\">\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)\" class=\"hd-table-cell-ellipsis\" nz-tooltip\n [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 && (!col.canClick || col.canClick(data));else noClickTemplate\">\n <ng-container *ngIf=\"(data | hdTableCell:col) as cell\">\n <a *ngIf=\"cell.overflow && !(col.canWarp && showDetail)\" class=\"hd-table-cell-ellipsis\" nz-tooltip\n [nzTooltipTitle]=\"cell.title\"\n [ngStyle]=\"{'color': getLinkCellColor(col, data, cell.isEmpty)}\"\n (click)=\"triggerEvent(col.click || null, data)\">{{ cell.display }}</a>\n <a *ngIf=\"!cell.overflow || (col.canWarp && showDetail)\"\n [ngStyle]=\"{'color': getLinkCellColor(col, data, cell.isEmpty)}\"\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)\" class=\"hd-table-cell-ellipsis\" nz-tooltip\n [nzTooltipTitle]=\"cell.title\"\n [ngStyle]=\"{'color': getPlainCellColor(col, data)}\">{{ cell.display }}</span>\n <span *ngIf=\"!cell.overflow || (col.canWarp && showDetail)\"\n [ngStyle]=\"{'color': getPlainCellColor(col, data)}\">{{ cell.display }}</span>\n </ng-container>\n </ng-template>\n </ng-template>\n <span class=\"hd-table-row-no\" *ngIf=\"hasRowNo(col) && getRowNoText(col, data, index)\">\n <i class=\"hd-table-row-no-bar\"></i>{{ getRowNoText(col, data, index) }}\n </span>\n <a *ngIf=\"isEditable(col, data)\" class=\"hd-table-edit-icon\" href=\"javascript:;\" title=\"\u7F16\u8F91\"\n (click)=\"onEditClick($event, col, data)\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M8.10797 1.42626C8.44968 1.08456 9.0037 1.08456 9.34541 1.42626L10.9746 3.05542C11.3163 3.39713 11.3163 3.95115 10.9746 4.29286L5.01002 10.2574C4.87077 10.3967 4.68863 10.4849 4.49305 10.5078L2.72936 10.7142C2.18281 10.7782 1.71357 10.3278 1.7551 9.77914L1.89441 7.93871C1.9102 7.73007 2.00024 7.53399 2.14819 7.38604L8.10797 1.42626ZM7.67304 3.51111L8.88972 4.72779L9.94337 3.67414L8.72669 2.45746L7.67304 3.51111ZM8.06477 5.55274L6.84808 4.33606L3.04959 8.13456L2.94515 9.51434L4.25672 9.36079L8.06477 5.55274ZM12.25 12.8333L1.75 12.8333V11.6666L12.25 11.6666V12.8333Z\"\n fill=\"currentColor\" />\n </svg>\n </a>\n </div>\n <div class=\"common-btn-group hd-table-cell-actions\" *ngIf=\"col.btnList && col.btnList.length\">\n <ng-container *ngFor=\"let btn of col.btnList\">\n <ng-container *ngIf=\"!needShowConfirm(btn, data);else cellActionConfirmTpl\">\n <a *ngIf=\"btn.permission ? btn.permission(data) : true\"\n [class]=\"isDangerBtn(btn, data) ? 'common-danger-btn': ''\"\n (click)=\"triggerEvent(btn.click || null, data)\">{{ getBtnName(btn, data) }}</a>\n </ng-container>\n <ng-template #cellActionConfirmTpl>\n <a *ngIf=\"btn.permission ? btn.permission(data) : true\"\n [class]=\"isDangerBtn(btn, data) ? 'common-danger-btn': ''\" nz-popconfirm\n [nzPopconfirmTitle]=\"'\u786E\u8BA4\u8981' + getBtnName(btn, data) + '\u5417?'\"\n (nzOnConfirm)=\"triggerEvent(btn.click || null, data)\">{{\n getBtnName(btn, data) }}</a>\n </ng-template>\n </ng-container>\n </div>\n </div>\n </ng-template>\n </ng-template>\n </td>\n </ng-container>\n</ng-template>\n",
13181
+ 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 <span class=\"hd-table-col-settings\" nz-dropdown nzTrigger=\"click\" [nzDropdownMenu]=\"menu\"\n [nzVisible]=\"isDropdownVisible\" (click)=\"confirmDropdown()\" title=\"\u5217\u8BBE\u7F6E\">\n <svg class=\"hd-table-col-settings-icon\" width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\" aria-hidden=\"true\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M4.92031 1.80756C5.02551 1.42884 5.37033 1.16675 5.76339 1.16675H8.23667C8.62973 1.16675 8.97455 1.42884 9.07975 1.80756L9.37802 2.88133L10.4571 2.60273C10.8377 2.50448 11.2371 2.67206 11.4336 3.01245L12.6703 5.15438C12.8668 5.49478 12.8122 5.92445 12.5369 6.20491L11.7561 7.00008L12.5369 7.79525C12.8122 8.07572 12.8668 8.50539 12.6703 8.84579L11.4336 10.9877C11.2371 11.3281 10.8377 11.4957 10.4571 11.3974L9.37802 11.1188L9.07975 12.1926C8.97455 12.5713 8.62973 12.8334 8.23667 12.8334H5.76339C5.37033 12.8334 5.02551 12.5713 4.92031 12.1926L4.62206 11.1189L3.54315 11.3974C3.16258 11.4957 2.76318 11.3281 2.56666 10.9877L1.33001 8.84579C1.13349 8.50539 1.18806 8.07572 1.46343 7.79525L2.24419 7.00008L1.46344 6.20491C1.18806 5.92445 1.13349 5.49478 1.33002 5.15438L2.56666 3.01245C2.76319 2.67206 3.16258 2.50448 3.54316 2.60273L4.62206 2.88127L4.92031 1.80756ZM4.54541 10.843L4.54552 10.8433L4.54541 10.843ZM5.98508 2.33341L5.66952 3.46945C5.54185 3.92906 5.06958 4.20173 4.60771 4.08249L3.46618 3.78778L2.45122 5.54572L3.2773 6.38705C3.6115 6.72742 3.6115 7.27275 3.2773 7.61312L2.45122 8.45444L3.46617 10.2124L4.60771 9.91768C5.06958 9.79844 5.54185 10.0711 5.66952 10.5307L5.98508 11.6667H8.01498L8.33056 10.5307C8.45823 10.071 8.9305 9.79838 9.39237 9.91762L10.5341 10.2124L11.5491 8.45444L10.723 7.61312C10.3888 7.27275 10.3888 6.72742 10.723 6.38705L11.5491 5.54572L10.5341 3.78778L9.39237 4.08254C8.9305 4.20178 8.45823 3.92912 8.33056 3.46951L8.01498 2.33341H5.98508ZM7.00003 5.83342C6.3557 5.83342 5.83337 6.35575 5.83337 7.00008C5.83337 7.64441 6.3557 8.16675 7.00003 8.16675C7.64436 8.16675 8.1667 7.64441 8.1667 7.00008C8.1667 6.35575 7.64436 5.83342 7.00003 5.83342ZM4.6667 7.00008C4.6667 5.71142 5.71137 4.66675 7.00003 4.66675C8.2887 4.66675 9.33337 5.71142 9.33337 7.00008C9.33337 8.28875 8.2887 9.33342 7.00003 9.33342C5.71137 9.33342 4.6667 8.28875 4.6667 7.00008Z\"\n fill=\"currentColor\" />\n </svg>\n </span>\n <nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <div class=\"hd-table-col-settings-dropdown\">\n <div class=\"hd-table-col-settings-list\">\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 class=\"hd-table-col-settings-footer\">\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 </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\"\n [class.hd-table--scroll-y]=\"!!(scroll && scroll.y)\" [class.hd-table--scroll-x]=\"!!(scroll && scroll.x)\"\n [class.hd-table--has-total]=\"showTableTotal\"\n [nzScroll]=\"scroll\"\n [nzShowPagination]=\"pagination\" [nzShowSizeChanger]=\"pagination\" [nzShowQuickJumper]=\"pagination\"\n [nzFrontPagination]=\"useFrontPagination\" nzSize=\"middle\" [nzData]=\"tableData.content\"\n [nzTotal]=\"getTableTotalCount()\" [(nzPageIndex)]=\"tablePageIndex\" [nzLoading]=\"tableLoading\"\n [nzPageSizeOptions]=\"[ 10, 50, 100, 200, 500, 1000 ]\" [(nzPageSize)]=\"tablePageSize\"\n (nzPageSizeChange)=\"pagination ? search(true) : null\"\n (nzPageIndexChange)=\"pagination ? search(false) : null\"\n (nzCurrentPageDataChange)=\"showSelected ? currentPageDataChange($event) : null\"\n [nzShowTotal]=\"tableTotalTemplate\" [nzFooter]=\"showTableTotal ? tableTotalFooter : null\"\n [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 <th class=\"hd-table-line-no-col\" [nzWidth]=\"lineNumberColWidthPx\" [nzLeft]=\"lineNumberLeft\"\n *ngIf=\"showTableTotal\">\u5E8F\u53F7</th>\n <ng-container *ngFor=\"let col of tableCols\">\n <th *ngIf=\"col.isShow\" [nzWidth]=\"col.width + 'px'\" [nzAlign]=\"col.align\"\n [nzLeft]=\"getLeftSticky(col)\"\n [nzRight]=\"getRightSticky(col)\" nz-resizable nzBounds=\"window\" nzPreview\n (nzResizeEnd)=\"onResize($event, col)\" [nzShowSort]=\"col.canSort\" [nzSortKey]=\"col.name\"\n [nzSort]=\"getColSort(col)\">\n <ng-container *ngIf=\"getTitleParts(col) as titleParts; else plainTitle\">\n <span class=\"hd-table-title-with-bar\">{{ titleParts[0] }}<i class=\"hd-table-row-no-bar\"></i>{{ titleParts[1] }}</span>\n </ng-container>\n <ng-template #plainTitle>{{ col.title }}</ng-template>\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\" [class.hd-table-row-invalid]=\"isInvalidRow(data)\">\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 [class.hd-table-row-invalid]=\"isInvalidRow(data)\">\n <ng-container *ngTemplateOutlet=\"tableCells; context: { $implicit: data, index: i }\"></ng-container>\n </tr>\n </ng-container>\n </tbody>\n <ng-template #tableTotalTemplate>\n \u5171 {{ getTableTotalCount() }} \u6761\u6570\u636E\n </ng-template>\n <ng-template #tableTotalFooter>\n <!--\n \u5217\u603B\u5BBD < \u5BB9\u5668\uFF1Afluid\uFF0C\u8868\u5BBD 100%\uFF0C\u4E0E\u8868\u4F53\u540C\u6BD4\u4F8B\u88AB\u6491\u5F00\uFF0C\u4E0D\u518D\u6309\u58F0\u660E px \u9501\u6B7B\uFF1B\n \u5217\u603B\u5BBD > \u5BB9\u5668\uFF1Afixed\uFF0C\u8868\u5BBD = scroll.x\uFF0C\u6A2A\u6EDA\u4E0E\u8868\u4F53\u540C\u6B65\u3002\n -->\n <div class=\"hd-table-total-footer\" [class.hd-table-total-footer--fluid]=\"isTotalFooterFluid\">\n <table class=\"hd-table-total-footer-table\" [style.width]=\"totalFooterTableWidth\">\n <colgroup>\n <!-- \u52FE\u9009/\u5E8F\u53F7\u9501\u5BBD\uFF0C\u4E0D\u53C2\u4E0E\u5747\u644A -->\n <col *ngIf=\"showSelected\" style=\"width: 40px; min-width: 40px; max-width: 40px;\" />\n <col *ngIf=\"showTableTotal\"\n [style.width.px]=\"lineNumberColWidth\"\n [style.min-width.px]=\"lineNumberColWidth\"\n [style.max-width.px]=\"lineNumberColWidth\" />\n <ng-container *ngFor=\"let col of tableCols; trackBy: trackByCol\">\n <col *ngIf=\"col.isShow\" [style.width.px]=\"col.width\" />\n </ng-container>\n </colgroup>\n <tr class=\"hd-table-total\">\n <td *ngIf=\"showSelected\" class=\"hd-table-total-footer-cell hd-table-total-footer-select\"\n [class.hd-table-total-footer-sticky-left]=\"!isTotalFooterFluid\"\n style=\"left: 0;\">&nbsp;</td>\n <td class=\"hd-table-total-footer-cell hd-table-total-footer-line-no\"\n [class.hd-table-total-footer-sticky-left]=\"!isTotalFooterFluid\"\n [style.left]=\"!isTotalFooterFluid ? lineNumberLeft : null\">\u5408\u8BA1</td>\n <ng-container *ngFor=\"let col of tableCols; let colIndex = index; trackBy: trackByCol\">\n <td *ngIf=\"col.isShow\" class=\"hd-table-total-footer-cell\"\n [class.hd-table-total-footer-sticky-left]=\"!isTotalFooterFluid && col.fixed === 'left'\"\n [class.hd-table-total-footer-sticky-right]=\"!isTotalFooterFluid && col.fixed === 'right'\"\n [class.hd-table-total-align-left]=\"getTableTotalCellAlign(col, colIndex) === 'left'\"\n [class.hd-table-total-align-center]=\"getTableTotalCellAlign(col, colIndex) === 'center'\"\n [class.hd-table-total-align-right]=\"getTableTotalCellAlign(col, colIndex) === 'right'\"\n [style.left]=\"!isTotalFooterFluid && col.fixed === 'left' ? (col.fixedWidth || 0) + 'px' : null\"\n [style.right]=\"!isTotalFooterFluid && col.fixed === 'right' ? (col.fixedRightWidth || 0) + 'px' : null\"\n [ngStyle]=\"{'text-align': getTableTotalCellAlign(col, colIndex)}\">\n {{ getTableTotalCellValue(col, colIndex) }}\n </td>\n </ng-container>\n </tr>\n </table>\n </div>\n </ng-template>\n </nz-table>\n</ng-container>\n\n<ng-template #tableCells let-data let-index=\"index\">\n <td nzWidth=\"40px\" nzLeft=\"0px\" *ngIf=\"showSelected\" nzShowCheckbox [nzChecked]=\"mapOfCheckedId[data[selectField]]\"\n [nzDisabled]=\"isSelectDisabled(data)\" (nzCheckedChange)=\"refreshStatus($event, data)\"></td>\n <td class=\"hd-table-line-no-col\" [nzWidth]=\"lineNumberColWidthPx\" [nzLeft]=\"lineNumberLeft\"\n *ngIf=\"showTableTotal\">{{ getLineNumber(index) }}</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]=\"getLeftSticky(col)\"\n [nzRight]=\"getRightSticky(col)\"\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]=\"isDangerBtn(btn, data) ? 'common-danger-btn': ''\"\n (click)=\"triggerEvent(btn.click || null, data)\">{{ getBtnName(btn, data) }}</a>\n </ng-container>\n <ng-template #showConfirmTemplate>\n <a *ngIf=\"btn.permission ? btn.permission(data) : true\"\n [class]=\"isDangerBtn(btn, data) ? 'common-danger-btn': ''\" nz-popconfirm\n [nzPopconfirmTitle]=\"'\u786E\u8BA4\u8981' + getBtnName(btn, data) + '\u5417?'\"\n (nzOnConfirm)=\"triggerEvent(btn.click || null, data)\">{{\n getBtnName(btn, data) }}</a>\n </ng-template>\n </ng-container>\n </div>\n </ng-container>\n <ng-template #notOperateTemplate>\n <ng-container *ngIf=\"hasInlineEdit(col); else displayCellTpl\">\n <div class=\"hd-table-cell-edit\">\n <ng-container [ngSwitch]=\"col.editType\">\n <input *ngSwitchCase=\"'input'\" nz-input class=\"hd-table-cell-edit-control\"\n [placeholder]=\"col.placeholder || ''\"\n [disabled]=\"isEditDisabled(col, data)\"\n [ngModel]=\"data[col.name]\"\n (ngModelChange)=\"onCellChange(col, data, $event)\" />\n <nz-input-number *ngSwitchCase=\"'inputNumber'\" class=\"hd-table-cell-edit-control\"\n [nzPlaceHolder]=\"col.placeholder || ''\"\n [nzDisabled]=\"isEditDisabled(col, data)\"\n [nzMin]=\"getInputNumberProp(col, 'min', 0)\"\n [nzMax]=\"getInputNumberProp(col, 'max', 99999999)\"\n [nzStep]=\"getInputNumberProp(col, 'step', 1)\"\n [nzPrecision]=\"getInputNumberProp(col, 'precision', 4)\"\n [ngModel]=\"data[col.name]\"\n (ngModelChange)=\"onCellChange(col, data, $event)\">\n </nz-input-number>\n <nz-select *ngSwitchCase=\"'select'\" class=\"hd-table-cell-edit-control\"\n [nzPlaceHolder]=\"col.placeholder || '\u8BF7\u9009\u62E9'\"\n [nzDisabled]=\"isEditDisabled(col, data)\"\n [nzAllowClear]=\"col.selectOption && col.selectOption.hdAllowClear !== false\"\n [nzShowSearch]=\"!col.selectOption || col.selectOption.hdShowSearch !== false\"\n [ngModel]=\"data[col.name]\"\n (ngModelChange)=\"onSelectChange(col, data, $event)\">\n <nz-option *ngFor=\"let selectItem of getSelectList(col, data)\"\n [nzValue]=\"selectItem[col.selectOption.value]\"\n [nzLabel]=\"getSelectOptionLabel(col, selectItem)\">\n </nz-option>\n </nz-select>\n </ng-container>\n </div>\n </ng-container>\n <ng-template #displayCellTpl>\n <div [class.hd-table-cell-with-actions]=\"col.btnList && col.btnList.length\">\n <div class=\"hd-table-cell-value\"\n [class.hd-table-cell-value--rowno]=\"hasRowNo(col)\"\n [class.hd-table-cell-value--edit]=\"isEditable(col, data)\">\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)\" class=\"hd-table-cell-ellipsis\" nz-tooltip\n [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 && (!col.canClick || col.canClick(data));else noClickTemplate\">\n <ng-container *ngIf=\"(data | hdTableCell:col) as cell\">\n <a *ngIf=\"cell.overflow && !(col.canWarp && showDetail)\" class=\"hd-table-cell-ellipsis\" nz-tooltip\n [nzTooltipTitle]=\"cell.title\"\n [ngStyle]=\"{'color': getLinkCellColor(col, data, cell.isEmpty)}\"\n (click)=\"triggerEvent(col.click || null, data)\">{{ cell.display }}</a>\n <a *ngIf=\"!cell.overflow || (col.canWarp && showDetail)\"\n [ngStyle]=\"{'color': getLinkCellColor(col, data, cell.isEmpty)}\"\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)\" class=\"hd-table-cell-ellipsis\" nz-tooltip\n [nzTooltipTitle]=\"cell.title\"\n [ngStyle]=\"{'color': getPlainCellColor(col, data)}\">{{ cell.display }}</span>\n <span *ngIf=\"!cell.overflow || (col.canWarp && showDetail)\"\n [ngStyle]=\"{'color': getPlainCellColor(col, data)}\">{{ cell.display }}</span>\n </ng-container>\n </ng-template>\n </ng-template>\n <span class=\"hd-table-row-no\" *ngIf=\"hasRowNo(col) && getRowNoText(col, data, index)\">\n <i class=\"hd-table-row-no-bar\"></i>{{ getRowNoText(col, data, index) }}\n </span>\n <a *ngIf=\"isEditable(col, data)\" class=\"hd-table-edit-icon\" href=\"javascript:;\" title=\"\u7F16\u8F91\"\n (click)=\"onEditClick($event, col, data)\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\">\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n d=\"M8.10797 1.42626C8.44968 1.08456 9.0037 1.08456 9.34541 1.42626L10.9746 3.05542C11.3163 3.39713 11.3163 3.95115 10.9746 4.29286L5.01002 10.2574C4.87077 10.3967 4.68863 10.4849 4.49305 10.5078L2.72936 10.7142C2.18281 10.7782 1.71357 10.3278 1.7551 9.77914L1.89441 7.93871C1.9102 7.73007 2.00024 7.53399 2.14819 7.38604L8.10797 1.42626ZM7.67304 3.51111L8.88972 4.72779L9.94337 3.67414L8.72669 2.45746L7.67304 3.51111ZM8.06477 5.55274L6.84808 4.33606L3.04959 8.13456L2.94515 9.51434L4.25672 9.36079L8.06477 5.55274ZM12.25 12.8333L1.75 12.8333V11.6666L12.25 11.6666V12.8333Z\"\n fill=\"currentColor\" />\n </svg>\n </a>\n </div>\n <div class=\"common-btn-group hd-table-cell-actions\" *ngIf=\"col.btnList && col.btnList.length\">\n <ng-container *ngFor=\"let btn of col.btnList\">\n <ng-container *ngIf=\"!needShowConfirm(btn, data);else cellActionConfirmTpl\">\n <a *ngIf=\"btn.permission ? btn.permission(data) : true\"\n [class]=\"isDangerBtn(btn, data) ? 'common-danger-btn': ''\"\n (click)=\"triggerEvent(btn.click || null, data)\">{{ getBtnName(btn, data) }}</a>\n </ng-container>\n <ng-template #cellActionConfirmTpl>\n <a *ngIf=\"btn.permission ? btn.permission(data) : true\"\n [class]=\"isDangerBtn(btn, data) ? 'common-danger-btn': ''\" nz-popconfirm\n [nzPopconfirmTitle]=\"'\u786E\u8BA4\u8981' + getBtnName(btn, data) + '\u5417?'\"\n (nzOnConfirm)=\"triggerEvent(btn.click || null, data)\">{{\n getBtnName(btn, data) }}</a>\n </ng-template>\n </ng-container>\n </div>\n </div>\n </ng-template>\n </ng-template>\n </td>\n </ng-container>\n</ng-template>\n",
12735
13182
  changeDetection: ChangeDetectionStrategy.OnPush,
12736
- 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}::ng-deep .hd-table-container .ant-table-td-left-sticky,::ng-deep .hd-table-container .ant-table-td-right-sticky,::ng-deep .hd-table-container .ant-table-th-left-sticky,::ng-deep .hd-table-container .ant-table-th-right-sticky{z-index:2;transform:translateZ(0)}::ng-deep .hd-table-container .ant-table-thead>tr>th.ant-table-th-left-sticky,::ng-deep .hd-table-container .ant-table-thead>tr>th.ant-table-th-right-sticky{background:#f5f8f6!important}::ng-deep .hd-table-container .ant-table-tbody>tr>td.ant-table-td-left-sticky,::ng-deep .hd-table-container .ant-table-tbody>tr>td.ant-table-td-right-sticky{background:#fff}::ng-deep .hd-table-container .ant-table-tbody>tr.ant-table-row-hover>td.ant-table-td-left-sticky,::ng-deep .hd-table-container .ant-table-tbody>tr.ant-table-row-hover>td.ant-table-td-right-sticky,::ng-deep .hd-table-container .ant-table-tbody>tr:hover>td.ant-table-td-left-sticky,::ng-deep .hd-table-container .ant-table-tbody>tr:hover>td.ant-table-td-right-sticky{background:#ecf8f1!important}::ng-deep .hd-table-container .ant-table-scroll-position-left .ant-table-td-right-sticky,::ng-deep .hd-table-container .ant-table-scroll-position-left .ant-table-th-right-sticky,::ng-deep .hd-table-container .ant-table-scroll-position-middle .ant-table-td-right-sticky,::ng-deep .hd-table-container .ant-table-scroll-position-middle .ant-table-th-right-sticky,::ng-deep .hd-table-container .ant-table-scroll-position-right .ant-table-td-right-sticky,::ng-deep .hd-table-container .ant-table-scroll-position-right .ant-table-th-right-sticky{box-shadow:none!important}::ng-deep .hd-table-container .ant-table-fixed-right{right:0!important}: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-pagination-options .ant-select,::ng-deep .ant-pagination-options .ant-select-selection--single{min-width:100px}::ng-deep .ant-pagination-options-size-changer.ant-select{min-width:100px}::ng-deep .ant-time-picker{width:100%}::ng-deep .cdk-overlay-pane .hd-cascader-menus.ant-cascader-menus>.ant-cascader-menu:only-child{width:-webkit-max-content!important;width:-moz-max-content!important;width:max-content!important;min-width:var(--hd-cascader-menu-min-width,auto);max-width:560px}::ng-deep .cdk-overlay-pane .hd-cascader-menus.ant-cascader-menus>.ant-cascader-menu:only-child .ant-cascader-menu-item{white-space:nowrap}.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-col-settings{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:32px;height:32px;padding:0;margin-left:12px;cursor:pointer;color:#2a3634;background:0 0;border:1px solid #e5e6eb;border-radius:4px;vertical-align:middle;flex-shrink:0}.hd-table-col-settings:hover{color:#20b95d;background:#f5f8f6;border-color:#20b95d}.hd-table-col-settings .hd-table-col-settings-icon{display:block;width:14px;height:14px;flex-shrink:0}.hd-table-cell-with-actions{display:inline-flex;flex-wrap:wrap;align-items:center;-moz-column-gap:12px;column-gap:12px;row-gap:6px;max-width:100%}.hd-table-cell-with-actions .hd-table-cell-value{min-width:0}.hd-table-cell-with-actions .hd-table-cell-actions{flex-shrink:0}.hd-table-col-settings-dropdown{background:#fff;border:1px solid #e5e6eb;border-radius:4px;box-shadow:0 6px 16px rgba(0,0,0,.08),0 3px 6px rgba(0,0,0,.06);overflow:hidden}.hd-table-col-settings-list{max-height:400px;overflow-y:auto}.hd-table-col-settings-footer{text-align:right;background:#fff;padding:4px;border-top:1px solid #f0f0f0}.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 .hd-table-cell-value--edit,.hd-table-container .hd-table-cell-value--rowno{display:inline-flex;align-items:center;min-width:0}.hd-table-container .hd-table-cell-value--edit>a:not(.hd-table-edit-icon),.hd-table-container .hd-table-cell-value--edit>hd-status,.hd-table-container .hd-table-cell-value--edit>span:not(.hd-table-row-no),.hd-table-container .hd-table-cell-value--rowno>a:not(.hd-table-edit-icon),.hd-table-container .hd-table-cell-value--rowno>hd-status,.hd-table-container .hd-table-cell-value--rowno>span:not(.hd-table-row-no){min-width:0}.hd-table-container .hd-table-row-no{display:inline-flex;flex-shrink:0;align-items:center;margin-left:4px;color:#1d1f29;font-size:14px;line-height:22px}.hd-table-container .hd-table-row-no-bar{display:inline-block;flex:0 0 auto;align-self:center;width:1px;height:14px;margin-right:4px;background:#1d1f29;vertical-align:middle}.hd-table-container .hd-table-edit-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;margin-left:2px;width:14px;height:14px;color:#20b95d;line-height:1;cursor:pointer}.hd-table-container .hd-table-edit-icon:hover{color:#20bd62}.hd-table-container .hd-table-edit-icon svg{display:block;width:14px;height:14px}.hd-table-container .hd-table-title-with-bar{display:inline-flex;align-items:center}.hd-table-container .hd-table-title-with-bar .hd-table-row-no-bar{width:1px;height:14px;margin:0 4px;align-self:center}.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid.ant-table-row-hover>td,.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid.ant-table-row-hover>td.ant-table-td-left-sticky,.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid.ant-table-row-hover>td.ant-table-td-right-sticky,.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid:hover>td,.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid:hover>td.ant-table-td-left-sticky,.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid:hover>td.ant-table-td-right-sticky,.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid>td,.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid>td.ant-table-td-left-sticky,.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid>td.ant-table-td-right-sticky{background:#f7f8fa!important;color:#868a9c!important}.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid .common-btn-group>a{color:#20b95d!important}.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid .common-btn-group>a:hover{color:#20bd62!important}.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid .common-btn-group .common-danger-btn:hover{color:#f05b24!important}.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid .hd-table-cell-value>a{color:#20b95d}.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid .common-billNumber>a{color:#3b77e3}.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid .hd-status-text{color:#868a9c!important}.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.hd-table--scroll-x ::ng-deep .ant-table-body>table,.hd-table-container.hd-table--scroll-x ::ng-deep .ant-table-header>table,.hd-table-container.hd-table--scroll-x ::ng-deep .cdk-virtual-scroll-content-wrapper>table{table-layout:fixed}.hd-table-container:not(.hd-table--scroll-y):not(.hd-table--scroll-x) ::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}.hd-table-cell-ellipsis{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.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}::ng-deep .ant-table-th-right-sticky .nz-resizable-handle-right{right:0}.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}.hd-table-cell-edit{width:100%;min-width:0}.hd-table-cell-edit-control{width:100%!important}::ng-deep .hd-table-cell-edit .ant-input,::ng-deep .hd-table-cell-edit .ant-input-number,::ng-deep .hd-table-cell-edit .ant-select{width:100%}::ng-deep .hd-table-cell-edit .ant-input,::ng-deep .hd-table-cell-edit .ant-input-number,::ng-deep .hd-table-cell-edit .ant-select-selection{height:32px}::ng-deep .hd-table-cell-edit .ant-input-number-input{height:30px}::ng-deep .hd-table-cell-edit .ant-select-selection__rendered{line-height:30px}"]
13183
+ 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}::ng-deep .hd-table-container .ant-table-td-left-sticky,::ng-deep .hd-table-container .ant-table-td-right-sticky,::ng-deep .hd-table-container .ant-table-th-left-sticky,::ng-deep .hd-table-container .ant-table-th-right-sticky{z-index:2;transform:translateZ(0)}::ng-deep .hd-table-container .ant-table-thead>tr>th.ant-table-th-left-sticky,::ng-deep .hd-table-container .ant-table-thead>tr>th.ant-table-th-right-sticky{background:#f5f8f6!important}::ng-deep .hd-table-container .ant-table-tbody>tr>td.ant-table-td-left-sticky,::ng-deep .hd-table-container .ant-table-tbody>tr>td.ant-table-td-right-sticky{background:#fff}::ng-deep .hd-table-container .ant-table-tbody>tr.ant-table-row-hover>td.ant-table-td-left-sticky,::ng-deep .hd-table-container .ant-table-tbody>tr.ant-table-row-hover>td.ant-table-td-right-sticky,::ng-deep .hd-table-container .ant-table-tbody>tr:hover>td.ant-table-td-left-sticky,::ng-deep .hd-table-container .ant-table-tbody>tr:hover>td.ant-table-td-right-sticky{background:#ecf8f1!important}::ng-deep .hd-table-container .ant-table-scroll-position-left .ant-table-td-right-sticky,::ng-deep .hd-table-container .ant-table-scroll-position-left .ant-table-th-right-sticky,::ng-deep .hd-table-container .ant-table-scroll-position-middle .ant-table-td-right-sticky,::ng-deep .hd-table-container .ant-table-scroll-position-middle .ant-table-th-right-sticky,::ng-deep .hd-table-container .ant-table-scroll-position-right .ant-table-td-right-sticky,::ng-deep .hd-table-container .ant-table-scroll-position-right .ant-table-th-right-sticky{box-shadow:none!important}::ng-deep .hd-table-container .ant-table-fixed-right{right:0!important}: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-pagination-options .ant-select,::ng-deep .ant-pagination-options .ant-select-selection--single{min-width:100px}::ng-deep .ant-pagination-options-size-changer.ant-select{min-width:100px}::ng-deep .ant-time-picker{width:100%}::ng-deep .cdk-overlay-pane .hd-cascader-menus.ant-cascader-menus>.ant-cascader-menu:only-child{width:-webkit-max-content!important;width:-moz-max-content!important;width:max-content!important;min-width:var(--hd-cascader-menu-min-width,auto);max-width:560px}::ng-deep .cdk-overlay-pane .hd-cascader-menus.ant-cascader-menus>.ant-cascader-menu:only-child .ant-cascader-menu-item{white-space:nowrap}.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-col-settings{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:32px;height:32px;padding:0;margin-left:12px;cursor:pointer;color:#2a3634;background:0 0;border:1px solid #e5e6eb;border-radius:4px;vertical-align:middle;flex-shrink:0}.hd-table-col-settings:hover{color:#20b95d;background:#f5f8f6;border-color:#20b95d}.hd-table-col-settings .hd-table-col-settings-icon{display:block;width:14px;height:14px;flex-shrink:0}.hd-table-cell-with-actions{display:inline-flex;flex-wrap:wrap;align-items:center;-moz-column-gap:12px;column-gap:12px;row-gap:6px;max-width:100%}.hd-table-cell-with-actions .hd-table-cell-value{min-width:0}.hd-table-cell-with-actions .hd-table-cell-actions{flex-shrink:0}.hd-table-col-settings-dropdown{background:#fff;border:1px solid #e5e6eb;border-radius:4px;box-shadow:0 6px 16px rgba(0,0,0,.08),0 3px 6px rgba(0,0,0,.06);overflow:hidden}.hd-table-col-settings-list{max-height:400px;overflow-y:auto}.hd-table-col-settings-footer{text-align:right;background:#fff;padding:4px;border-top:1px solid #f0f0f0}.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 .ant-table-tbody>tr>td.hd-table-line-no-col,.hd-table-container ::ng-deep .ant-table-thead>tr>th.hd-table-line-no-col{width:72px!important;min-width:72px!important;max-width:72px!important;box-sizing:border-box}.hd-table-container .hd-table-cell-value--edit,.hd-table-container .hd-table-cell-value--rowno{display:inline-flex;align-items:center;min-width:0}.hd-table-container .hd-table-cell-value--edit>a:not(.hd-table-edit-icon),.hd-table-container .hd-table-cell-value--edit>hd-status,.hd-table-container .hd-table-cell-value--edit>span:not(.hd-table-row-no),.hd-table-container .hd-table-cell-value--rowno>a:not(.hd-table-edit-icon),.hd-table-container .hd-table-cell-value--rowno>hd-status,.hd-table-container .hd-table-cell-value--rowno>span:not(.hd-table-row-no){min-width:0}.hd-table-container .hd-table-row-no{display:inline-flex;flex-shrink:0;align-items:center;margin-left:4px;color:#1d1f29;font-size:14px;line-height:22px}.hd-table-container .hd-table-row-no-bar{display:inline-block;flex:0 0 auto;align-self:center;width:1px;height:14px;margin-right:4px;background:#1d1f29;vertical-align:middle}.hd-table-container .hd-table-edit-icon{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;margin-left:2px;width:14px;height:14px;color:#20b95d;line-height:1;cursor:pointer}.hd-table-container .hd-table-edit-icon:hover{color:#20bd62}.hd-table-container .hd-table-edit-icon svg{display:block;width:14px;height:14px}.hd-table-container .hd-table-title-with-bar{display:inline-flex;align-items:center}.hd-table-container .hd-table-title-with-bar .hd-table-row-no-bar{width:1px;height:14px;margin:0 4px;align-self:center}.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid.ant-table-row-hover>td,.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid.ant-table-row-hover>td.ant-table-td-left-sticky,.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid.ant-table-row-hover>td.ant-table-td-right-sticky,.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid:hover>td,.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid:hover>td.ant-table-td-left-sticky,.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid:hover>td.ant-table-td-right-sticky,.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid>td,.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid>td.ant-table-td-left-sticky,.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid>td.ant-table-td-right-sticky{background:#f7f8fa!important;color:#868a9c!important}.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid .common-btn-group>a{color:#20b95d!important}.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid .common-btn-group>a:hover{color:#20bd62!important}.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid .common-btn-group .common-danger-btn:hover{color:#f05b24!important}.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid .hd-table-cell-value>a{color:#20b95d}.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid .common-billNumber>a{color:#3b77e3}.hd-table-container ::ng-deep .ant-table-tbody>tr.hd-table-row-invalid .hd-status-text{color:#868a9c!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.hd-table--scroll-x ::ng-deep .ant-table-body>table,.hd-table-container.hd-table--scroll-x ::ng-deep .ant-table-header>table,.hd-table-container.hd-table--scroll-x ::ng-deep .cdk-virtual-scroll-content-wrapper>table{table-layout:fixed}.hd-table-container:not(.hd-table--scroll-y):not(.hd-table--scroll-x) ::ng-deep .ant-table-body{max-height:none!important;overflow-y:visible!important}.hd-table-container.hd-table--has-total ::ng-deep .ant-table-footer{padding:0;overflow:hidden;background:#fafafa;border-top:1px solid #e8e8e8}.hd-table-total-footer{width:100%;box-sizing:border-box;overflow-x:auto;overflow-y:scroll;background:#fafafa;scrollbar-width:thin;scrollbar-color:transparent transparent}.hd-table-total-footer::-webkit-scrollbar{width:12px;height:0}.hd-table-total-footer::-webkit-scrollbar-track{background:0 0}.hd-table-total-footer::-webkit-scrollbar-thumb{background:padding-box;border:4px solid transparent}.hd-table-total-footer::-webkit-scrollbar-corner{background:0 0}.hd-table-total-footer.hd-table-total-footer--fluid{overflow-x:hidden}.hd-table-total-footer-table{table-layout:fixed;border-collapse:separate;border-spacing:0}.hd-table-total-footer-cell{padding:12px 8px;font-weight:500;background:#fafafa;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:0}.hd-table-total-footer-cell.hd-table-total-align-left{text-align:left!important}.hd-table-total-footer-cell.hd-table-total-align-center{text-align:center!important}.hd-table-total-footer-cell.hd-table-total-align-right{text-align:right!important}.hd-table-total-footer-select{width:40px;min-width:40px;max-width:40px;padding-left:8px;padding-right:8px;text-align:center}.hd-table-total-footer-line-no{width:72px;min-width:72px;max-width:72px}.hd-table-total-footer-sticky-left,.hd-table-total-footer-sticky-right{position:-webkit-sticky;position:sticky;z-index:2;background:#fafafa}::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}.hd-table-cell-ellipsis{display:block;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.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}::ng-deep .ant-table-th-right-sticky .nz-resizable-handle-right{right:0}.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}.hd-table-cell-edit{width:100%;min-width:0}.hd-table-cell-edit-control{width:100%!important}::ng-deep .hd-table-cell-edit .ant-input,::ng-deep .hd-table-cell-edit .ant-input-number,::ng-deep .hd-table-cell-edit .ant-select{width:100%}::ng-deep .hd-table-cell-edit .ant-input,::ng-deep .hd-table-cell-edit .ant-input-number,::ng-deep .hd-table-cell-edit .ant-select-selection{height:32px}::ng-deep .hd-table-cell-edit .ant-input-number-input{height:30px}::ng-deep .hd-table-cell-edit .ant-select-selection__rendered{line-height:30px}"]
12737
13184
  }] }
12738
13185
  ];
12739
13186
  /** @nocollapse */
12740
13187
  HdTableComponent.ctorParameters = function () { return [
13188
+ { type: ElementRef },
12741
13189
  { type: ChangeDetectorRef },
12742
13190
  { type: CommonSessionService }
12743
13191
  ]; };
@@ -12754,6 +13202,7 @@ var HdTableComponent = /** @class */ (function () {
12754
13202
  rowInvalidField: [{ type: Input }],
12755
13203
  showTableTotal: [{ type: Input }],
12756
13204
  tableTotalOption: [{ type: Input }],
13205
+ columnsNumber: [{ type: Input }],
12757
13206
  sortEvent: [{ type: Output }],
12758
13207
  selectEvent: [{ type: Output }],
12759
13208
  tableSearchEvent: [{ type: Output }],
@@ -12835,6 +13284,12 @@ if (false) {
12835
13284
  HdTableComponent.prototype.showTableTotal;
12836
13285
  /** @type {?} */
12837
13286
  HdTableComponent.prototype.tableTotalOption;
13287
+ /**
13288
+ * 合计列总数(含序号列,与 hd-detail-lines 一致);
13289
+ * 不传则按当前可见数据列数 + 1(序号)推算。
13290
+ * @type {?}
13291
+ */
13292
+ HdTableComponent.prototype.columnsNumber;
12838
13293
  /** @type {?} */
12839
13294
  HdTableComponent.prototype.sortEvent;
12840
13295
  /** @type {?} */
@@ -12945,9 +13400,8 @@ if (false) {
12945
13400
  */
12946
13401
  HdTableComponent.prototype.virtualScrollActive;
12947
13402
  /**
12948
- * 可见列总宽,用于判断是否需要横向滚动
13403
+ * 列宽合计(含勾选/序号),footer 表宽与横向 scroll 共用
12949
13404
  * @type {?}
12950
- * @private
12951
13405
  */
12952
13406
  HdTableComponent.prototype.tableColWidthTotal;
12953
13407
  /**
@@ -12969,6 +13423,27 @@ if (false) {
12969
13423
  HdTableComponent.prototype.currentSortValue;
12970
13424
  /** @type {?} */
12971
13425
  HdTableComponent.prototype.nzTableComponent;
13426
+ /**
13427
+ * @type {?}
13428
+ * @private
13429
+ */
13430
+ HdTableComponent.prototype.totalFooterScrollBoundBody;
13431
+ /**
13432
+ * @type {?}
13433
+ * @private
13434
+ */
13435
+ HdTableComponent.prototype.totalFooterScrollHandler;
13436
+ /**
13437
+ * @type {?}
13438
+ * @private
13439
+ */
13440
+ HdTableComponent.prototype.totalFooterSyncRetry;
13441
+ /**
13442
+ * 序号列固定宽(含 padding,可容纳 6 位如 199995)。
13443
+ * 不锁死时表体会随位数变宽(1→~64px,199995→~67px),合计行对不齐。
13444
+ * @type {?}
13445
+ */
13446
+ HdTableComponent.prototype.lineNumberColWidth;
12972
13447
  /** @type {?} */
12973
13448
  HdTableComponent.prototype.trackByRow;
12974
13449
  /**
@@ -12980,6 +13455,11 @@ if (false) {
12980
13455
  HdTableComponent.prototype.trackByCol;
12981
13456
  /** @type {?} */
12982
13457
  HdTableComponent.prototype.beforeDrop;
13458
+ /**
13459
+ * @type {?}
13460
+ * @private
13461
+ */
13462
+ HdTableComponent.prototype.hostEl;
12983
13463
  /**
12984
13464
  * @type {?}
12985
13465
  * @private
@@ -13649,7 +14129,10 @@ var TotalOption = /** @class */ (function () {
13649
14129
  if (false) {
13650
14130
  /** @type {?} */
13651
14131
  TotalOption.prototype.insertIndex;
13652
- /** @type {?} */
14132
+ /**
14133
+ * 合计值;hd-table 可不传,按 insertIndex 对应列对 content 自动求和
14134
+ * @type {?}
14135
+ */
13653
14136
  TotalOption.prototype.insertValue;
13654
14137
  /** @type {?} */
13655
14138
  TotalOption.prototype.align;
@@ -13989,5 +14472,5 @@ var Utils = {
13989
14472
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
13990
14473
  */
13991
14474
 
13992
- export { ButtonSize, ButtonType, CascaderOption, CheckboxOption, ColWidth, ColorOption, ExplainOption, FantasyNgzorroModule, Filter, FilterListType, FormItem, FormLine, FormLineType, FormLinesCacheOption, FormListType, HD_CASCADER_MENU_CLASS, HD_FILTER_DEFAULT_SCHEME_NAME, HD_FILTER_SCHEME_STORE, HdAccessoryFile, HdAccessoryGroup, HdAccessoryListComponent, HdButtonService, HdCurrentTableComponent, HdDetailFormFieldType, HdDetailFormService, HdFilterScheme, HdFilterSchemeStore, HdFilterService, HdFormLinesService, HdFormService, HdLogComponent, HdLogService, HdOption, HdOverlayCleanupService, HdTableCellChange, HdTableColumn, HdTableTotalOption, InputNumber, OperateBtn, Page, RadioOption, SelectOption, SelectOptionTableColumn, SelectOptionTableColumnIcon, StaticConst, TableCacheOption, TableColumn, TableTotalOption, TotalOption, TreeGrid, Utils, ValidatorKey, cascaderPinyinFilter, getCascaderMenuClassName, getCascaderMenuStyle, getCascaderShowSearch, HdComponentModule as ɵa, HdButtonModule as ɵb, HdTableComponent as ɵba, HdTableCellPipe as ɵbb, HdTipModule as ɵbc, HdTipComponent as ɵbd, HdAccessoryListModule as ɵbe, HdPopconfirmModule as ɵbf, HdPopconfirmComponent as ɵbg, HdLogModule as ɵbh, HdButtonComponent as ɵc, HdButtonGroupModule as ɵd, HdButtonGroupComponent as ɵe, HdDetailFormModule as ɵf, HdDetailFormComponent as ɵg, HdDetailLinesModule as ɵh, HdSpaceModule as ɵi, HdSpaceComponent as ɵj, HdDetailLinesComponent as ɵk, HdDetailLinesPageModule as ɵl, HdDetailLinesPageComponent as ɵm, HdDetailTipModule as ɵn, HdDetailTipComponent as ɵo, HdFilterModule as ɵp, HdFormModule as ɵq, HdFormComponent as ɵr, HdFilterComponent as ɵs, HdFormLinesModule as ɵt, HdFormLinesComponent as ɵu, CommonSessionService as ɵv, HdStatusModule as ɵw, HdStatusComponent as ɵx, HdCurrentTableModule as ɵy, HdTableModule as ɵz };
14475
+ export { ButtonSize, ButtonType, CascaderOption, CheckboxOption, ColWidth, ColorOption, ExplainOption, FantasyNgzorroModule, Filter, FilterListType, FormItem, FormLine, FormLineType, FormLinesCacheOption, FormListType, HD_CASCADER_MENU_CLASS, HD_FILTER_DEFAULT_SCHEME_NAME, HD_FILTER_SCHEME_STORE, HdAccessoryFile, HdAccessoryGroup, HdAccessoryListComponent, HdButtonService, HdCurrentTableComponent, HdDetailFormFieldType, HdDetailFormService, HdFilterScheme, HdFilterSchemeStore, HdFilterService, HdFormLinesService, HdFormService, HdLogComponent, HdLogService, HdOption, HdOverlayCleanupService, HdTableCellChange, HdTableColumn, InputNumber, OperateBtn, Page, RadioOption, SelectOption, SelectOptionTableColumn, SelectOptionTableColumnIcon, StaticConst, TableCacheOption, TableColumn, TableTotalOption, TotalOption, TreeGrid, Utils, ValidatorKey, cascaderPinyinFilter, getCascaderMenuClassName, getCascaderMenuStyle, getCascaderShowSearch, HdComponentModule as ɵa, HdButtonModule as ɵb, HdTableComponent as ɵba, HdTableCellPipe as ɵbb, HdTipModule as ɵbc, HdTipComponent as ɵbd, HdAccessoryListModule as ɵbe, HdPopconfirmModule as ɵbf, HdPopconfirmComponent as ɵbg, HdLogModule as ɵbh, HdButtonComponent as ɵc, HdButtonGroupModule as ɵd, HdButtonGroupComponent as ɵe, HdDetailFormModule as ɵf, HdDetailFormComponent as ɵg, HdDetailLinesModule as ɵh, HdSpaceModule as ɵi, HdSpaceComponent as ɵj, HdDetailLinesComponent as ɵk, HdDetailLinesPageModule as ɵl, HdDetailLinesPageComponent as ɵm, HdDetailTipModule as ɵn, HdDetailTipComponent as ɵo, HdFilterModule as ɵp, HdFormModule as ɵq, HdFormComponent as ɵr, HdFilterComponent as ɵs, HdFormLinesModule as ɵt, HdFormLinesComponent as ɵu, CommonSessionService as ɵv, HdStatusModule as ɵw, HdStatusComponent as ɵx, HdCurrentTableModule as ɵy, HdTableModule as ɵz };
13993
14476
  //# sourceMappingURL=fantasy-ngzorro.js.map