fantasy-ngzorro 2.2.13 → 2.2.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -13
- package/bundles/fantasy-ngzorro.umd.js +699 -45
- package/bundles/fantasy-ngzorro.umd.js.map +1 -1
- package/bundles/fantasy-ngzorro.umd.min.js +1 -1
- package/bundles/fantasy-ngzorro.umd.min.js.map +1 -1
- package/esm2015/fantasy-ngzorro.js +2 -2
- package/esm2015/hd-detail-lines/hd-detail-lines.service.js +5 -2
- package/esm2015/hd-table/hd-table.component.js +536 -27
- package/esm2015/hd-table/hd-table.service.js +1 -11
- package/esm2015/index.js +2 -2
- package/esm2015/public-api.js +2 -2
- package/esm2015/utils/hd-table-scroll.util.js +26 -3
- package/esm5/fantasy-ngzorro.js +2 -2
- package/esm5/hd-detail-lines/hd-detail-lines.service.js +5 -2
- package/esm5/hd-table/hd-table.component.js +672 -31
- package/esm5/hd-table/hd-table.service.js +1 -15
- package/esm5/index.js +2 -2
- package/esm5/public-api.js +2 -2
- package/esm5/utils/hd-table-scroll.util.js +27 -3
- package/fantasy-ngzorro.metadata.json +1 -1
- package/fesm2015/fantasy-ngzorro.js +563 -38
- package/fesm2015/fantasy-ngzorro.js.map +1 -1
- package/fesm5/fantasy-ngzorro.js +700 -45
- package/fesm5/fantasy-ngzorro.js.map +1 -1
- package/hd-detail-lines/hd-detail-lines.service.d.ts +2 -1
- package/hd-table/hd-table.component.d.ts +78 -8
- package/hd-table/hd-table.service.d.ts +0 -5
- package/package.json +2 -2
- package/utils/hd-table-scroll.util.d.ts +6 -0
|
@@ -1103,6 +1103,28 @@ function measureTableColWidth(nzTable) {
|
|
|
1103
1103
|
}
|
|
1104
1104
|
return max;
|
|
1105
1105
|
}
|
|
1106
|
+
/**
|
|
1107
|
+
* 用于判断是否需要 scroll.x 的视口宽。
|
|
1108
|
+
* 有纵向滚动条时 clientWidth 会少一截,若直接拿去比列宽,会「竖滚条导致误开横滚」;
|
|
1109
|
+
* 这里用 offsetWidth(含滚动条槽)作为屏幕可展示宽度。
|
|
1110
|
+
* @param {?} nzTable
|
|
1111
|
+
* @param {?=} hostClass
|
|
1112
|
+
* @return {?}
|
|
1113
|
+
*/
|
|
1114
|
+
function getTableScrollXViewportWidth(nzTable, hostClass = "hd-table-container") {
|
|
1115
|
+
if (!nzTable || !nzTable.tableMainElement) {
|
|
1116
|
+
return 0;
|
|
1117
|
+
}
|
|
1118
|
+
/** @type {?} */
|
|
1119
|
+
const tableMain = (/** @type {?} */ (nzTable.tableMainElement.nativeElement));
|
|
1120
|
+
/** @type {?} */
|
|
1121
|
+
const scrollBody = ((/** @type {?} */ (tableMain.querySelector("cdk-virtual-scroll-viewport.ant-table-body")))) ||
|
|
1122
|
+
((/** @type {?} */ (tableMain.querySelector(".ant-table-body"))));
|
|
1123
|
+
if (scrollBody && scrollBody.offsetWidth > 0) {
|
|
1124
|
+
return scrollBody.offsetWidth;
|
|
1125
|
+
}
|
|
1126
|
+
return getTableViewportWidth(nzTable, hostClass);
|
|
1127
|
+
}
|
|
1106
1128
|
/**
|
|
1107
1129
|
* 无数据或列宽未超出容器时不启用横向 scroll
|
|
1108
1130
|
* @param {?} nzTable
|
|
@@ -1122,9 +1144,10 @@ function resolveAutoTableScroll(nzTable, hasData, colWidth) {
|
|
|
1122
1144
|
return null;
|
|
1123
1145
|
}
|
|
1124
1146
|
/** @type {?} */
|
|
1125
|
-
const viewportWidth =
|
|
1147
|
+
const viewportWidth = getTableScrollXViewportWidth(nzTable);
|
|
1126
1148
|
if (viewportWidth > 0) {
|
|
1127
|
-
|
|
1149
|
+
// 允许 1px 误差,避免亚像素导致误开横滚
|
|
1150
|
+
return width > viewportWidth + 1 ? { x: `${Math.ceil(width)}px` } : null;
|
|
1128
1151
|
}
|
|
1129
1152
|
if (typeof window !== "undefined" && width > window.innerWidth - 32) {
|
|
1130
1153
|
return { x: `${Math.ceil(width)}px` };
|
|
@@ -8778,16 +8801,6 @@ if (false) {
|
|
|
8778
8801
|
/** @type {?} */
|
|
8779
8802
|
OperateBtn.prototype.permission;
|
|
8780
8803
|
}
|
|
8781
|
-
class HdTableTotalOption {
|
|
8782
|
-
}
|
|
8783
|
-
if (false) {
|
|
8784
|
-
/** @type {?} */
|
|
8785
|
-
HdTableTotalOption.prototype.columnNumber;
|
|
8786
|
-
/** @type {?} */
|
|
8787
|
-
HdTableTotalOption.prototype.insertIndex;
|
|
8788
|
-
/** @type {?} */
|
|
8789
|
-
HdTableTotalOption.prototype.insertName;
|
|
8790
|
-
}
|
|
8791
8804
|
class TableCacheOption {
|
|
8792
8805
|
constructor() {
|
|
8793
8806
|
this.colWidths = new Map(); // name -> width
|
|
@@ -8836,10 +8849,12 @@ if (false) {
|
|
|
8836
8849
|
*/
|
|
8837
8850
|
class HdTableComponent {
|
|
8838
8851
|
/**
|
|
8852
|
+
* @param {?} hostEl
|
|
8839
8853
|
* @param {?} cdr
|
|
8840
8854
|
* @param {?} commonSessionService
|
|
8841
8855
|
*/
|
|
8842
|
-
constructor(cdr, commonSessionService) {
|
|
8856
|
+
constructor(hostEl, cdr, commonSessionService) {
|
|
8857
|
+
this.hostEl = hostEl;
|
|
8843
8858
|
this.cdr = cdr;
|
|
8844
8859
|
this.commonSessionService = commonSessionService;
|
|
8845
8860
|
this.tableCols = [];
|
|
@@ -8847,7 +8862,7 @@ class HdTableComponent {
|
|
|
8847
8862
|
this.showOperateColWarpButton = false;
|
|
8848
8863
|
this.virtualScroll = true;
|
|
8849
8864
|
this.selectField = "billNumber";
|
|
8850
|
-
//
|
|
8865
|
+
// 合计区域(类型与 hd-detail-lines 的 TotalOption 一致)
|
|
8851
8866
|
this.showTableTotal = false;
|
|
8852
8867
|
this.sortEvent = new EventEmitter();
|
|
8853
8868
|
this.selectEvent = new EventEmitter();
|
|
@@ -8912,8 +8927,9 @@ class HdTableComponent {
|
|
|
8912
8927
|
* 记录当前是否处于虚拟滚动模式,用于切换 pageSize 时重建表格
|
|
8913
8928
|
*/
|
|
8914
8929
|
this.virtualScrollActive = null;
|
|
8930
|
+
/** 可见列总宽,用于判断是否需要横向滚动 */
|
|
8915
8931
|
/**
|
|
8916
|
-
*
|
|
8932
|
+
* 列宽合计(含勾选/序号),footer 表宽与横向 scroll 共用
|
|
8917
8933
|
*/
|
|
8918
8934
|
this.tableColWidthTotal = 0;
|
|
8919
8935
|
/**
|
|
@@ -8925,6 +8941,24 @@ class HdTableComponent {
|
|
|
8925
8941
|
*/
|
|
8926
8942
|
this.currentSortKey = null;
|
|
8927
8943
|
this.currentSortValue = null;
|
|
8944
|
+
this.totalFooterScrollBoundBody = null;
|
|
8945
|
+
this.totalFooterScrollHandler = null;
|
|
8946
|
+
this.totalFooterSyncRetry = 0;
|
|
8947
|
+
/**
|
|
8948
|
+
* 表体有竖滚条时合计 footer 才预留右侧滚动条槽
|
|
8949
|
+
*/
|
|
8950
|
+
this.totalFooterNeedYGutter = false;
|
|
8951
|
+
/**
|
|
8952
|
+
* 视口/容器尺寸变化时重算 scroll.x 与合计对齐
|
|
8953
|
+
*/
|
|
8954
|
+
this.viewportResizeTimer = null;
|
|
8955
|
+
this.boundOnViewportResize = null;
|
|
8956
|
+
this.hostResizeObserver = null;
|
|
8957
|
+
/**
|
|
8958
|
+
* 序号列固定宽(含 padding,可容纳 6 位如 199995)。
|
|
8959
|
+
* 不锁死时表体会随位数变宽(1→~64px,199995→~67px),合计行对不齐。
|
|
8960
|
+
*/
|
|
8961
|
+
this.lineNumberColWidth = 72;
|
|
8928
8962
|
this.trackByRow = (/**
|
|
8929
8963
|
* @param {?} index
|
|
8930
8964
|
* @param {?} data
|
|
@@ -9004,6 +9038,13 @@ class HdTableComponent {
|
|
|
9004
9038
|
storeName: "hd-fscm-store",
|
|
9005
9039
|
});
|
|
9006
9040
|
}
|
|
9041
|
+
/**
|
|
9042
|
+
* @return {?}
|
|
9043
|
+
*/
|
|
9044
|
+
ngOnDestroy() {
|
|
9045
|
+
this.unbindTotalFooterScrollSync();
|
|
9046
|
+
this.unbindViewportResizeSync();
|
|
9047
|
+
}
|
|
9007
9048
|
/**
|
|
9008
9049
|
* @return {?}
|
|
9009
9050
|
*/
|
|
@@ -9025,6 +9066,7 @@ class HdTableComponent {
|
|
|
9025
9066
|
userCode: "dev",
|
|
9026
9067
|
};
|
|
9027
9068
|
}
|
|
9069
|
+
this.bindViewportResizeSync();
|
|
9028
9070
|
this.deleteHideItem();
|
|
9029
9071
|
if (!this.tableCols || this.tableCols.length === 0) {
|
|
9030
9072
|
return;
|
|
@@ -9051,6 +9093,13 @@ class HdTableComponent {
|
|
|
9051
9093
|
* @return {?}
|
|
9052
9094
|
*/
|
|
9053
9095
|
ngOnChanges(changes) {
|
|
9096
|
+
if (changes["tableData"] ||
|
|
9097
|
+
changes["tableTotalOption"] ||
|
|
9098
|
+
changes["showTableTotal"] ||
|
|
9099
|
+
changes["columnsNumber"] ||
|
|
9100
|
+
changes["tableCols"]) {
|
|
9101
|
+
this.calculateTableTotal();
|
|
9102
|
+
}
|
|
9054
9103
|
if (changes &&
|
|
9055
9104
|
changes["tableData"] &&
|
|
9056
9105
|
changes["tableData"]["currentValue"] &&
|
|
@@ -9255,6 +9304,55 @@ class HdTableComponent {
|
|
|
9255
9304
|
getLeftSticky(col) {
|
|
9256
9305
|
return col.fixed === "left" ? `${col.fixedWidth || 0}px` : null;
|
|
9257
9306
|
}
|
|
9307
|
+
/**
|
|
9308
|
+
* 开启合计时序号列的 left(勾选列占 40px)
|
|
9309
|
+
* @return {?}
|
|
9310
|
+
*/
|
|
9311
|
+
get lineNumberLeft() {
|
|
9312
|
+
return this.showSelected ? "40px" : "0px";
|
|
9313
|
+
}
|
|
9314
|
+
/**
|
|
9315
|
+
* @return {?}
|
|
9316
|
+
*/
|
|
9317
|
+
get lineNumberColWidthPx() {
|
|
9318
|
+
return this.lineNumberColWidth + "px";
|
|
9319
|
+
}
|
|
9320
|
+
/**
|
|
9321
|
+
* 列总宽未超出容器:无横向 scroll,表体列会被撑满,合计走 fluid(width:100%)。
|
|
9322
|
+
* 列总宽超出:有 scroll.x,合计走固定表宽 + 横滚同步。
|
|
9323
|
+
* @return {?}
|
|
9324
|
+
*/
|
|
9325
|
+
get isTotalFooterFluid() {
|
|
9326
|
+
return !(this.scroll && this.scroll.x);
|
|
9327
|
+
}
|
|
9328
|
+
/**
|
|
9329
|
+
* fluid → 100%;固定 → scroll.x(与表体同一套横向宽度)
|
|
9330
|
+
* @return {?}
|
|
9331
|
+
*/
|
|
9332
|
+
get totalFooterTableWidth() {
|
|
9333
|
+
if (this.isTotalFooterFluid) {
|
|
9334
|
+
return "100%";
|
|
9335
|
+
}
|
|
9336
|
+
return this.scroll && this.scroll.x
|
|
9337
|
+
? String(this.scroll.x)
|
|
9338
|
+
: this.tableColWidthTotal > 0
|
|
9339
|
+
? this.tableColWidthTotal + "px"
|
|
9340
|
+
: "100%";
|
|
9341
|
+
}
|
|
9342
|
+
/**
|
|
9343
|
+
* 当前页行号(跨页连续,从 1 开始)
|
|
9344
|
+
* @param {?} index
|
|
9345
|
+
* @return {?}
|
|
9346
|
+
*/
|
|
9347
|
+
getLineNumber(index) {
|
|
9348
|
+
/** @type {?} */
|
|
9349
|
+
const page = Number(this.tablePageIndex) > 0 ? Number(this.tablePageIndex) : 1;
|
|
9350
|
+
/** @type {?} */
|
|
9351
|
+
const size = Number(this.tablePageSize) > 0 ? Number(this.tablePageSize) : 0;
|
|
9352
|
+
/** @type {?} */
|
|
9353
|
+
const rowIndex = Number(index) >= 0 ? Number(index) : 0;
|
|
9354
|
+
return (page - 1) * size + rowIndex + 1;
|
|
9355
|
+
}
|
|
9258
9356
|
/**
|
|
9259
9357
|
* @return {?}
|
|
9260
9358
|
*/
|
|
@@ -10005,6 +10103,10 @@ class HdTableComponent {
|
|
|
10005
10103
|
(e) => e.title === col.title ? Object.assign({}, e, { width: tempWidth }) : e));
|
|
10006
10104
|
this.dealScroll();
|
|
10007
10105
|
this.cdr.markForCheck();
|
|
10106
|
+
setTimeout((/**
|
|
10107
|
+
* @return {?}
|
|
10108
|
+
*/
|
|
10109
|
+
() => this.syncTotalFooterWithBody()));
|
|
10008
10110
|
}
|
|
10009
10111
|
/**
|
|
10010
10112
|
* @return {?}
|
|
@@ -10108,23 +10210,15 @@ class HdTableComponent {
|
|
|
10108
10210
|
this.tableData.content.length);
|
|
10109
10211
|
}
|
|
10110
10212
|
/**
|
|
10111
|
-
* 列总宽超出外层容器才启用横向 scroll
|
|
10213
|
+
* 列总宽超出外层容器才启用横向 scroll。
|
|
10214
|
+
* 以 dealScroll 累计的声明列宽为准,不用 DOM 自然测宽(内容不截断会偏大,导致列能放下也开横滚)。
|
|
10112
10215
|
* @private
|
|
10113
10216
|
* @param {?} colWidth
|
|
10114
10217
|
* @return {?}
|
|
10115
10218
|
*/
|
|
10116
10219
|
resolveScrollX(colWidth) {
|
|
10117
10220
|
/** @type {?} */
|
|
10118
|
-
|
|
10119
|
-
if (this.nzTableComponent) {
|
|
10120
|
-
/** @type {?} */
|
|
10121
|
-
const measured = measureTableColWidth(this.nzTableComponent);
|
|
10122
|
-
if (measured > width) {
|
|
10123
|
-
width = measured;
|
|
10124
|
-
}
|
|
10125
|
-
}
|
|
10126
|
-
/** @type {?} */
|
|
10127
|
-
const autoScroll = resolveAutoTableScroll(this.nzTableComponent, this.hasTableData(), width);
|
|
10221
|
+
const autoScroll = resolveAutoTableScroll(this.nzTableComponent, this.hasTableData(), colWidth);
|
|
10128
10222
|
return autoScroll ? autoScroll.x : null;
|
|
10129
10223
|
}
|
|
10130
10224
|
/**
|
|
@@ -10140,6 +10234,10 @@ class HdTableComponent {
|
|
|
10140
10234
|
if (this.scroll &&
|
|
10141
10235
|
this.scroll.x === scrollX &&
|
|
10142
10236
|
this.scroll.y === currentY) {
|
|
10237
|
+
setTimeout((/**
|
|
10238
|
+
* @return {?}
|
|
10239
|
+
*/
|
|
10240
|
+
() => this.syncTotalFooterWithBody()));
|
|
10143
10241
|
return;
|
|
10144
10242
|
}
|
|
10145
10243
|
// 保持 y 不变,防止运行中拆/合 header 导致横向同步失效
|
|
@@ -10151,25 +10249,234 @@ class HdTableComponent {
|
|
|
10151
10249
|
() => this.syncHeaderBodyScrollLeft()));
|
|
10152
10250
|
}
|
|
10153
10251
|
/**
|
|
10154
|
-
*
|
|
10252
|
+
* 手动把表体横向滚动同步到表头 / 合计 footer(兜底 ng-zorro 监听丢失的情况)
|
|
10155
10253
|
* @private
|
|
10156
10254
|
* @return {?}
|
|
10157
10255
|
*/
|
|
10158
10256
|
syncHeaderBodyScrollLeft() {
|
|
10159
|
-
if (!this.nzTableComponent
|
|
10257
|
+
if (!this.nzTableComponent) {
|
|
10160
10258
|
return;
|
|
10161
10259
|
}
|
|
10162
10260
|
/** @type {?} */
|
|
10163
10261
|
const header = (/** @type {?} */ (((/** @type {?} */ (this.nzTableComponent))).tableHeaderNativeElement));
|
|
10164
10262
|
/** @type {?} */
|
|
10165
|
-
const body =
|
|
10166
|
-
if (
|
|
10263
|
+
const body = this.getTableBodyScrollEl();
|
|
10264
|
+
if (this.scroll && this.scroll.x && header && body) {
|
|
10265
|
+
if (header.scrollLeft !== body.scrollLeft) {
|
|
10266
|
+
header.scrollLeft = body.scrollLeft;
|
|
10267
|
+
}
|
|
10268
|
+
}
|
|
10269
|
+
this.syncTotalFooterWithBody();
|
|
10270
|
+
}
|
|
10271
|
+
/**
|
|
10272
|
+
* 取表体横向滚动容器(虚拟滚动优先 viewport)
|
|
10273
|
+
* @private
|
|
10274
|
+
* @return {?}
|
|
10275
|
+
*/
|
|
10276
|
+
getTableBodyScrollEl() {
|
|
10277
|
+
if (!this.nzTableComponent) {
|
|
10278
|
+
return null;
|
|
10279
|
+
}
|
|
10280
|
+
/** @type {?} */
|
|
10281
|
+
const mix = (/** @type {?} */ (((/** @type {?} */ (this.nzTableComponent))).mixTableBodyNativeElement));
|
|
10282
|
+
if (mix) {
|
|
10283
|
+
return mix;
|
|
10284
|
+
}
|
|
10285
|
+
/** @type {?} */
|
|
10286
|
+
const host = this.hostEl && ((/** @type {?} */ (this.hostEl.nativeElement)));
|
|
10287
|
+
if (!host) {
|
|
10288
|
+
return null;
|
|
10289
|
+
}
|
|
10290
|
+
return (((/** @type {?} */ (host.querySelector("cdk-virtual-scroll-viewport.ant-table-body")))) ||
|
|
10291
|
+
((/** @type {?} */ (host.querySelector(".ant-table-body")))) ||
|
|
10292
|
+
null);
|
|
10293
|
+
}
|
|
10294
|
+
/**
|
|
10295
|
+
* @private
|
|
10296
|
+
* @return {?}
|
|
10297
|
+
*/
|
|
10298
|
+
getTotalFooterScrollEl() {
|
|
10299
|
+
/** @type {?} */
|
|
10300
|
+
const host = this.hostEl && ((/** @type {?} */ (this.hostEl.nativeElement)));
|
|
10301
|
+
return host
|
|
10302
|
+
? ((/** @type {?} */ (host.querySelector(".hd-table-total-footer"))))
|
|
10303
|
+
: null;
|
|
10304
|
+
}
|
|
10305
|
+
/**
|
|
10306
|
+
* 表体是否出现纵向滚动条(含滚动条槽宽)
|
|
10307
|
+
* @private
|
|
10308
|
+
* @param {?} body
|
|
10309
|
+
* @return {?}
|
|
10310
|
+
*/
|
|
10311
|
+
bodyHasVerticalScrollbar(body) {
|
|
10312
|
+
if (!body) {
|
|
10313
|
+
return false;
|
|
10314
|
+
}
|
|
10315
|
+
return (body.scrollHeight > body.clientHeight + 1 ||
|
|
10316
|
+
body.offsetWidth - body.clientWidth > 1);
|
|
10317
|
+
}
|
|
10318
|
+
/**
|
|
10319
|
+
* 合计 footer 与表体联动:
|
|
10320
|
+
* - fluid(列未撑满):不横滚、不测宽,表宽 100% 与表体同比例拉伸;
|
|
10321
|
+
* - fixed(有 scroll.x):同步 scrollLeft;
|
|
10322
|
+
* - 仅当表体有竖滚条时预留右侧槽,行少无竖滚时不占位。
|
|
10323
|
+
* @private
|
|
10324
|
+
* @return {?}
|
|
10325
|
+
*/
|
|
10326
|
+
syncTotalFooterWithBody() {
|
|
10327
|
+
if (!this.showTableTotal) {
|
|
10328
|
+
this.unbindTotalFooterScrollSync();
|
|
10329
|
+
if (this.totalFooterNeedYGutter) {
|
|
10330
|
+
this.totalFooterNeedYGutter = false;
|
|
10331
|
+
this.cdr.markForCheck();
|
|
10332
|
+
}
|
|
10167
10333
|
return;
|
|
10168
10334
|
}
|
|
10169
|
-
|
|
10170
|
-
|
|
10335
|
+
/** @type {?} */
|
|
10336
|
+
const footer = this.getTotalFooterScrollEl();
|
|
10337
|
+
/** @type {?} */
|
|
10338
|
+
const body = this.getTableBodyScrollEl();
|
|
10339
|
+
if (!footer) {
|
|
10340
|
+
if (this.totalFooterSyncRetry < 10) {
|
|
10341
|
+
this.totalFooterSyncRetry++;
|
|
10342
|
+
setTimeout((/**
|
|
10343
|
+
* @return {?}
|
|
10344
|
+
*/
|
|
10345
|
+
() => this.syncTotalFooterWithBody()), 50);
|
|
10346
|
+
}
|
|
10347
|
+
return;
|
|
10348
|
+
}
|
|
10349
|
+
this.totalFooterSyncRetry = 0;
|
|
10350
|
+
/** @type {?} */
|
|
10351
|
+
const needYGutter = !!(body && this.bodyHasVerticalScrollbar(body));
|
|
10352
|
+
if (this.totalFooterNeedYGutter !== needYGutter) {
|
|
10353
|
+
this.totalFooterNeedYGutter = needYGutter;
|
|
10354
|
+
this.cdr.markForCheck();
|
|
10355
|
+
}
|
|
10356
|
+
if (this.isTotalFooterFluid) {
|
|
10357
|
+
this.unbindTotalFooterScrollSync();
|
|
10358
|
+
footer.scrollLeft = 0;
|
|
10359
|
+
return;
|
|
10360
|
+
}
|
|
10361
|
+
if (body) {
|
|
10362
|
+
this.syncTotalFooterScrollLeft(body.scrollLeft);
|
|
10363
|
+
this.bindTotalFooterScrollSync(body);
|
|
10364
|
+
}
|
|
10365
|
+
}
|
|
10366
|
+
/**
|
|
10367
|
+
* @private
|
|
10368
|
+
* @param {?} scrollLeft
|
|
10369
|
+
* @return {?}
|
|
10370
|
+
*/
|
|
10371
|
+
syncTotalFooterScrollLeft(scrollLeft) {
|
|
10372
|
+
/** @type {?} */
|
|
10373
|
+
const footer = this.getTotalFooterScrollEl();
|
|
10374
|
+
if (footer && footer.scrollLeft !== scrollLeft) {
|
|
10375
|
+
footer.scrollLeft = scrollLeft;
|
|
10171
10376
|
}
|
|
10172
10377
|
}
|
|
10378
|
+
/**
|
|
10379
|
+
* @private
|
|
10380
|
+
* @param {?} body
|
|
10381
|
+
* @return {?}
|
|
10382
|
+
*/
|
|
10383
|
+
bindTotalFooterScrollSync(body) {
|
|
10384
|
+
if (!this.showTableTotal || !body || this.isTotalFooterFluid) {
|
|
10385
|
+
return;
|
|
10386
|
+
}
|
|
10387
|
+
if (this.totalFooterScrollBoundBody === body &&
|
|
10388
|
+
this.totalFooterScrollHandler) {
|
|
10389
|
+
return;
|
|
10390
|
+
}
|
|
10391
|
+
this.unbindTotalFooterScrollSync();
|
|
10392
|
+
this.totalFooterScrollBoundBody = body;
|
|
10393
|
+
this.totalFooterScrollHandler = (/**
|
|
10394
|
+
* @return {?}
|
|
10395
|
+
*/
|
|
10396
|
+
() => {
|
|
10397
|
+
this.syncTotalFooterScrollLeft(body.scrollLeft);
|
|
10398
|
+
});
|
|
10399
|
+
body.addEventListener("scroll", this.totalFooterScrollHandler, (/** @type {?} */ ({
|
|
10400
|
+
passive: true,
|
|
10401
|
+
})));
|
|
10402
|
+
}
|
|
10403
|
+
/**
|
|
10404
|
+
* @private
|
|
10405
|
+
* @return {?}
|
|
10406
|
+
*/
|
|
10407
|
+
unbindTotalFooterScrollSync() {
|
|
10408
|
+
if (this.totalFooterScrollBoundBody && this.totalFooterScrollHandler) {
|
|
10409
|
+
this.totalFooterScrollBoundBody.removeEventListener("scroll", this.totalFooterScrollHandler);
|
|
10410
|
+
}
|
|
10411
|
+
this.totalFooterScrollBoundBody = null;
|
|
10412
|
+
this.totalFooterScrollHandler = null;
|
|
10413
|
+
}
|
|
10414
|
+
/**
|
|
10415
|
+
* 监听窗口 / 容器宽度变化:重新判定 scroll.x(fluid↔fixed)与合计右侧竖滚槽,
|
|
10416
|
+
* 避免拉宽/缩窄屏幕后合计行宽与表体错位。
|
|
10417
|
+
* @private
|
|
10418
|
+
* @return {?}
|
|
10419
|
+
*/
|
|
10420
|
+
bindViewportResizeSync() {
|
|
10421
|
+
this.boundOnViewportResize = (/**
|
|
10422
|
+
* @return {?}
|
|
10423
|
+
*/
|
|
10424
|
+
() => this.scheduleViewportScrollSync());
|
|
10425
|
+
if (typeof window !== "undefined") {
|
|
10426
|
+
window.addEventListener("resize", this.boundOnViewportResize);
|
|
10427
|
+
}
|
|
10428
|
+
/** @type {?} */
|
|
10429
|
+
const RO = typeof window !== "undefined" ? ((/** @type {?} */ (window))).ResizeObserver : null;
|
|
10430
|
+
if (RO && this.hostEl && this.hostEl.nativeElement) {
|
|
10431
|
+
this.hostResizeObserver = new RO((/**
|
|
10432
|
+
* @return {?}
|
|
10433
|
+
*/
|
|
10434
|
+
() => this.scheduleViewportScrollSync()));
|
|
10435
|
+
this.hostResizeObserver.observe(this.hostEl.nativeElement);
|
|
10436
|
+
}
|
|
10437
|
+
}
|
|
10438
|
+
/**
|
|
10439
|
+
* @private
|
|
10440
|
+
* @return {?}
|
|
10441
|
+
*/
|
|
10442
|
+
unbindViewportResizeSync() {
|
|
10443
|
+
if (this.boundOnViewportResize && typeof window !== "undefined") {
|
|
10444
|
+
window.removeEventListener("resize", this.boundOnViewportResize);
|
|
10445
|
+
}
|
|
10446
|
+
this.boundOnViewportResize = null;
|
|
10447
|
+
if (this.hostResizeObserver) {
|
|
10448
|
+
this.hostResizeObserver.disconnect();
|
|
10449
|
+
this.hostResizeObserver = null;
|
|
10450
|
+
}
|
|
10451
|
+
if (this.viewportResizeTimer != null) {
|
|
10452
|
+
clearTimeout(this.viewportResizeTimer);
|
|
10453
|
+
this.viewportResizeTimer = null;
|
|
10454
|
+
}
|
|
10455
|
+
}
|
|
10456
|
+
/**
|
|
10457
|
+
* @private
|
|
10458
|
+
* @return {?}
|
|
10459
|
+
*/
|
|
10460
|
+
scheduleViewportScrollSync() {
|
|
10461
|
+
if (this.viewportResizeTimer != null) {
|
|
10462
|
+
clearTimeout(this.viewportResizeTimer);
|
|
10463
|
+
}
|
|
10464
|
+
this.viewportResizeTimer = setTimeout((/**
|
|
10465
|
+
* @return {?}
|
|
10466
|
+
*/
|
|
10467
|
+
() => {
|
|
10468
|
+
this.viewportResizeTimer = null;
|
|
10469
|
+
if (!this.tableCols || !this.tableCols.length) {
|
|
10470
|
+
return;
|
|
10471
|
+
}
|
|
10472
|
+
this.syncHorizontalScroll();
|
|
10473
|
+
// 等表体布局稳定后再校合计竖滚槽 / 横滚同步
|
|
10474
|
+
setTimeout((/**
|
|
10475
|
+
* @return {?}
|
|
10476
|
+
*/
|
|
10477
|
+
() => this.syncTotalFooterWithBody()), 50);
|
|
10478
|
+
}), 100);
|
|
10479
|
+
}
|
|
10173
10480
|
/**
|
|
10174
10481
|
* @return {?}
|
|
10175
10482
|
*/
|
|
@@ -10179,6 +10486,9 @@ class HdTableComponent {
|
|
|
10179
10486
|
if (this.showSelected) {
|
|
10180
10487
|
colWidth += 40;
|
|
10181
10488
|
}
|
|
10489
|
+
if (this.showTableTotal) {
|
|
10490
|
+
colWidth += this.lineNumberColWidth; // 序号列(固定宽,不随位数变化)
|
|
10491
|
+
}
|
|
10182
10492
|
this.tableCols.forEach((/**
|
|
10183
10493
|
* @param {?} item
|
|
10184
10494
|
* @return {?}
|
|
@@ -10286,6 +10596,164 @@ class HdTableComponent {
|
|
|
10286
10596
|
this.tableSearchEvent.emit(reset);
|
|
10287
10597
|
}
|
|
10288
10598
|
}
|
|
10599
|
+
/**
|
|
10600
|
+
* 底部合计:与 hd-detail-lines 相同,使用 TotalOption(insertIndex / insertValue)。
|
|
10601
|
+
* 开启后强制展示序号列,「合计」落在序号列下;
|
|
10602
|
+
* insertIndex 从 1 起对应可见数据列;未传 insertValue 时按该列 name 对 content 求和。
|
|
10603
|
+
* @return {?}
|
|
10604
|
+
*/
|
|
10605
|
+
calculateTableTotal() {
|
|
10606
|
+
if (!this.showTableTotal ||
|
|
10607
|
+
!this.tableTotalOption ||
|
|
10608
|
+
!this.tableTotalOption.length) {
|
|
10609
|
+
this.tableTotalOptionList = [];
|
|
10610
|
+
return;
|
|
10611
|
+
}
|
|
10612
|
+
/** @type {?} */
|
|
10613
|
+
const visibleCols = (this.tableCols || []).filter((/**
|
|
10614
|
+
* @param {?} c
|
|
10615
|
+
* @return {?}
|
|
10616
|
+
*/
|
|
10617
|
+
(c) => c && c.isShow !== false));
|
|
10618
|
+
// columnsNumber 含序号列(与 detail-lines 一致),数据槽位数 = columnsNumber - 1
|
|
10619
|
+
/** @type {?} */
|
|
10620
|
+
const configured = Number(this.columnsNumber);
|
|
10621
|
+
/** @type {?} */
|
|
10622
|
+
const columnNumber = configured > 1
|
|
10623
|
+
? configured - 1
|
|
10624
|
+
: configured === 1
|
|
10625
|
+
? 1
|
|
10626
|
+
: visibleCols.length;
|
|
10627
|
+
if (!columnNumber || columnNumber < 1) {
|
|
10628
|
+
this.tableTotalOptionList = [];
|
|
10629
|
+
return;
|
|
10630
|
+
}
|
|
10631
|
+
this.tableTotalOptionList = new Array(columnNumber).fill("");
|
|
10632
|
+
/** @type {?} */
|
|
10633
|
+
const content = this.tableData && this.tableData.content ? this.tableData.content : [];
|
|
10634
|
+
this.tableTotalOption.forEach((/**
|
|
10635
|
+
* @param {?} item
|
|
10636
|
+
* @return {?}
|
|
10637
|
+
*/
|
|
10638
|
+
(item) => {
|
|
10639
|
+
if (item == null || !item.insertIndex || item.insertIndex < 1) {
|
|
10640
|
+
return;
|
|
10641
|
+
}
|
|
10642
|
+
/** @type {?} */
|
|
10643
|
+
let value = item.insertValue;
|
|
10644
|
+
// 未传 insertValue 时:按 insertIndex 对应可见列 name 自动求和
|
|
10645
|
+
if (value == null || value === "") {
|
|
10646
|
+
/** @type {?} */
|
|
10647
|
+
const col = visibleCols[item.insertIndex - 1];
|
|
10648
|
+
/** @type {?} */
|
|
10649
|
+
const field = col && typeof col.name === "string" ? col.name : null;
|
|
10650
|
+
if (!field) {
|
|
10651
|
+
return;
|
|
10652
|
+
}
|
|
10653
|
+
/** @type {?} */
|
|
10654
|
+
let sum = 0;
|
|
10655
|
+
/** @type {?} */
|
|
10656
|
+
let hasValue = false;
|
|
10657
|
+
content.forEach((/**
|
|
10658
|
+
* @param {?} row
|
|
10659
|
+
* @return {?}
|
|
10660
|
+
*/
|
|
10661
|
+
(row) => {
|
|
10662
|
+
/** @type {?} */
|
|
10663
|
+
const raw = row ? row[field] : null;
|
|
10664
|
+
if (raw == null || raw === "") {
|
|
10665
|
+
return;
|
|
10666
|
+
}
|
|
10667
|
+
/** @type {?} */
|
|
10668
|
+
const num = Number(raw);
|
|
10669
|
+
if (!isNaN(num)) {
|
|
10670
|
+
sum += num;
|
|
10671
|
+
hasValue = true;
|
|
10672
|
+
}
|
|
10673
|
+
}));
|
|
10674
|
+
if (!hasValue) {
|
|
10675
|
+
return;
|
|
10676
|
+
}
|
|
10677
|
+
value = sum;
|
|
10678
|
+
}
|
|
10679
|
+
/** @type {?} */
|
|
10680
|
+
const colAtIndex = visibleCols[item.insertIndex - 1];
|
|
10681
|
+
this.tableTotalOptionList[item.insertIndex - 1] = {
|
|
10682
|
+
value,
|
|
10683
|
+
align: item.align || (colAtIndex && colAtIndex.align) || "left",
|
|
10684
|
+
showDecimal: item.showDecimal || false,
|
|
10685
|
+
preserveNumber: item.preserveNumber != null ? item.preserveNumber : 2,
|
|
10686
|
+
isHide: item.isHide || false,
|
|
10687
|
+
};
|
|
10688
|
+
}));
|
|
10689
|
+
}
|
|
10690
|
+
/**
|
|
10691
|
+
* @private
|
|
10692
|
+
* @param {?} col
|
|
10693
|
+
* @param {?} colIndex
|
|
10694
|
+
* @return {?}
|
|
10695
|
+
*/
|
|
10696
|
+
getTableTotalCellMeta(col, colIndex) {
|
|
10697
|
+
if (!col || !this.tableTotalOptionList || !this.tableTotalOptionList.length) {
|
|
10698
|
+
return null;
|
|
10699
|
+
}
|
|
10700
|
+
/** @type {?} */
|
|
10701
|
+
let visibleIndex = -1;
|
|
10702
|
+
for (let i = 0; i <= colIndex; i++) {
|
|
10703
|
+
/** @type {?} */
|
|
10704
|
+
const c = this.tableCols[i];
|
|
10705
|
+
if (c && c.isShow !== false) {
|
|
10706
|
+
visibleIndex++;
|
|
10707
|
+
}
|
|
10708
|
+
}
|
|
10709
|
+
if (visibleIndex < 0 || visibleIndex >= this.tableTotalOptionList.length) {
|
|
10710
|
+
return null;
|
|
10711
|
+
}
|
|
10712
|
+
/** @type {?} */
|
|
10713
|
+
const meta = this.tableTotalOptionList[visibleIndex];
|
|
10714
|
+
return meta && typeof meta === "object" ? meta : null;
|
|
10715
|
+
}
|
|
10716
|
+
/**
|
|
10717
|
+
* 合计单元格展示文案(对齐 detail-lines 小数规则)
|
|
10718
|
+
* @param {?} col
|
|
10719
|
+
* @param {?} colIndex
|
|
10720
|
+
* @return {?}
|
|
10721
|
+
*/
|
|
10722
|
+
getTableTotalCellValue(col, colIndex) {
|
|
10723
|
+
/** @type {?} */
|
|
10724
|
+
const meta = this.getTableTotalCellMeta(col, colIndex);
|
|
10725
|
+
if (!meta || meta.isHide) {
|
|
10726
|
+
return "";
|
|
10727
|
+
}
|
|
10728
|
+
/** @type {?} */
|
|
10729
|
+
const value = meta.value;
|
|
10730
|
+
if (!(value || value === 0)) {
|
|
10731
|
+
return "";
|
|
10732
|
+
}
|
|
10733
|
+
/** @type {?} */
|
|
10734
|
+
const preserve = meta.preserveNumber != null ? Number(meta.preserveNumber) : 2;
|
|
10735
|
+
if (value % 1 === 0 && !meta.showDecimal) {
|
|
10736
|
+
return value;
|
|
10737
|
+
}
|
|
10738
|
+
/** @type {?} */
|
|
10739
|
+
const factor = Math.pow(10, preserve);
|
|
10740
|
+
return (Math.round(Number(value) * factor) / factor).toFixed(preserve);
|
|
10741
|
+
}
|
|
10742
|
+
/**
|
|
10743
|
+
* @param {?} col
|
|
10744
|
+
* @param {?} colIndex
|
|
10745
|
+
* @return {?}
|
|
10746
|
+
*/
|
|
10747
|
+
getTableTotalCellAlign(col, colIndex) {
|
|
10748
|
+
/** @type {?} */
|
|
10749
|
+
const meta = this.getTableTotalCellMeta(col, colIndex);
|
|
10750
|
+
/** @type {?} */
|
|
10751
|
+
const align = (meta && meta.align) || (col && col.align) || "left";
|
|
10752
|
+
if (align === "right" || align === "center" || align === "left") {
|
|
10753
|
+
return align;
|
|
10754
|
+
}
|
|
10755
|
+
return "left";
|
|
10756
|
+
}
|
|
10289
10757
|
/**
|
|
10290
10758
|
* 底部「共 n 条」:非分页/前端分页用 content.length,服务端分页用 totalElements
|
|
10291
10759
|
* @return {?}
|
|
@@ -10750,13 +11218,14 @@ class HdTableComponent {
|
|
|
10750
11218
|
HdTableComponent.decorators = [
|
|
10751
11219
|
{ type: Component, args: [{
|
|
10752
11220
|
selector: "hd-table",
|
|
10753
|
-
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",
|
|
11221
|
+
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\"\n [class.hd-table-total-footer--fluid]=\"isTotalFooterFluid\"\n [class.hd-table-total-footer--y-gutter]=\"totalFooterNeedYGutter\">\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;\"> </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",
|
|
10754
11222
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
10755
|
-
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}"]
|
|
11223
|
+
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:hidden;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--y-gutter{overflow-y:scroll}.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}"]
|
|
10756
11224
|
}] }
|
|
10757
11225
|
];
|
|
10758
11226
|
/** @nocollapse */
|
|
10759
11227
|
HdTableComponent.ctorParameters = () => [
|
|
11228
|
+
{ type: ElementRef },
|
|
10760
11229
|
{ type: ChangeDetectorRef },
|
|
10761
11230
|
{ type: CommonSessionService }
|
|
10762
11231
|
];
|
|
@@ -10773,6 +11242,7 @@ HdTableComponent.propDecorators = {
|
|
|
10773
11242
|
rowInvalidField: [{ type: Input }],
|
|
10774
11243
|
showTableTotal: [{ type: Input }],
|
|
10775
11244
|
tableTotalOption: [{ type: Input }],
|
|
11245
|
+
columnsNumber: [{ type: Input }],
|
|
10776
11246
|
sortEvent: [{ type: Output }],
|
|
10777
11247
|
selectEvent: [{ type: Output }],
|
|
10778
11248
|
tableSearchEvent: [{ type: Output }],
|
|
@@ -10852,6 +11322,12 @@ if (false) {
|
|
|
10852
11322
|
HdTableComponent.prototype.showTableTotal;
|
|
10853
11323
|
/** @type {?} */
|
|
10854
11324
|
HdTableComponent.prototype.tableTotalOption;
|
|
11325
|
+
/**
|
|
11326
|
+
* 合计列总数(含序号列,与 hd-detail-lines 一致);
|
|
11327
|
+
* 不传则按当前可见数据列数 + 1(序号)推算。
|
|
11328
|
+
* @type {?}
|
|
11329
|
+
*/
|
|
11330
|
+
HdTableComponent.prototype.columnsNumber;
|
|
10855
11331
|
/** @type {?} */
|
|
10856
11332
|
HdTableComponent.prototype.sortEvent;
|
|
10857
11333
|
/** @type {?} */
|
|
@@ -10962,9 +11438,8 @@ if (false) {
|
|
|
10962
11438
|
*/
|
|
10963
11439
|
HdTableComponent.prototype.virtualScrollActive;
|
|
10964
11440
|
/**
|
|
10965
|
-
*
|
|
11441
|
+
* 列宽合计(含勾选/序号),footer 表宽与横向 scroll 共用
|
|
10966
11442
|
* @type {?}
|
|
10967
|
-
* @private
|
|
10968
11443
|
*/
|
|
10969
11444
|
HdTableComponent.prototype.tableColWidthTotal;
|
|
10970
11445
|
/**
|
|
@@ -10986,6 +11461,48 @@ if (false) {
|
|
|
10986
11461
|
HdTableComponent.prototype.currentSortValue;
|
|
10987
11462
|
/** @type {?} */
|
|
10988
11463
|
HdTableComponent.prototype.nzTableComponent;
|
|
11464
|
+
/**
|
|
11465
|
+
* @type {?}
|
|
11466
|
+
* @private
|
|
11467
|
+
*/
|
|
11468
|
+
HdTableComponent.prototype.totalFooterScrollBoundBody;
|
|
11469
|
+
/**
|
|
11470
|
+
* @type {?}
|
|
11471
|
+
* @private
|
|
11472
|
+
*/
|
|
11473
|
+
HdTableComponent.prototype.totalFooterScrollHandler;
|
|
11474
|
+
/**
|
|
11475
|
+
* @type {?}
|
|
11476
|
+
* @private
|
|
11477
|
+
*/
|
|
11478
|
+
HdTableComponent.prototype.totalFooterSyncRetry;
|
|
11479
|
+
/**
|
|
11480
|
+
* 表体有竖滚条时合计 footer 才预留右侧滚动条槽
|
|
11481
|
+
* @type {?}
|
|
11482
|
+
*/
|
|
11483
|
+
HdTableComponent.prototype.totalFooterNeedYGutter;
|
|
11484
|
+
/**
|
|
11485
|
+
* 视口/容器尺寸变化时重算 scroll.x 与合计对齐
|
|
11486
|
+
* @type {?}
|
|
11487
|
+
* @private
|
|
11488
|
+
*/
|
|
11489
|
+
HdTableComponent.prototype.viewportResizeTimer;
|
|
11490
|
+
/**
|
|
11491
|
+
* @type {?}
|
|
11492
|
+
* @private
|
|
11493
|
+
*/
|
|
11494
|
+
HdTableComponent.prototype.boundOnViewportResize;
|
|
11495
|
+
/**
|
|
11496
|
+
* @type {?}
|
|
11497
|
+
* @private
|
|
11498
|
+
*/
|
|
11499
|
+
HdTableComponent.prototype.hostResizeObserver;
|
|
11500
|
+
/**
|
|
11501
|
+
* 序号列固定宽(含 padding,可容纳 6 位如 199995)。
|
|
11502
|
+
* 不锁死时表体会随位数变宽(1→~64px,199995→~67px),合计行对不齐。
|
|
11503
|
+
* @type {?}
|
|
11504
|
+
*/
|
|
11505
|
+
HdTableComponent.prototype.lineNumberColWidth;
|
|
10989
11506
|
/** @type {?} */
|
|
10990
11507
|
HdTableComponent.prototype.trackByRow;
|
|
10991
11508
|
/**
|
|
@@ -10997,6 +11514,11 @@ if (false) {
|
|
|
10997
11514
|
HdTableComponent.prototype.trackByCol;
|
|
10998
11515
|
/** @type {?} */
|
|
10999
11516
|
HdTableComponent.prototype.beforeDrop;
|
|
11517
|
+
/**
|
|
11518
|
+
* @type {?}
|
|
11519
|
+
* @private
|
|
11520
|
+
*/
|
|
11521
|
+
HdTableComponent.prototype.hostEl;
|
|
11000
11522
|
/**
|
|
11001
11523
|
* @type {?}
|
|
11002
11524
|
* @private
|
|
@@ -11581,7 +12103,10 @@ class TotalOption {
|
|
|
11581
12103
|
if (false) {
|
|
11582
12104
|
/** @type {?} */
|
|
11583
12105
|
TotalOption.prototype.insertIndex;
|
|
11584
|
-
/**
|
|
12106
|
+
/**
|
|
12107
|
+
* 合计值;hd-table 可不传,按 insertIndex 对应列对 content 自动求和
|
|
12108
|
+
* @type {?}
|
|
12109
|
+
*/
|
|
11585
12110
|
TotalOption.prototype.insertValue;
|
|
11586
12111
|
/** @type {?} */
|
|
11587
12112
|
TotalOption.prototype.align;
|
|
@@ -11836,5 +12361,5 @@ const Utils = {
|
|
|
11836
12361
|
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
11837
12362
|
*/
|
|
11838
12363
|
|
|
11839
|
-
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,
|
|
12364
|
+
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 };
|
|
11840
12365
|
//# sourceMappingURL=fantasy-ngzorro.js.map
|