zmdms-webui 2.4.6 → 2.4.7
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.
|
@@ -112,7 +112,6 @@ function CanvasTable(props) {
|
|
|
112
112
|
}), finalDataSource = _z.finalDataSource, hasSummaryRow = _z.hasSummaryRow;
|
|
113
113
|
// 自动高度计算(需要在容器尺寸计算之前)
|
|
114
114
|
var autoHeight = useCanvasTableAutoHeight(isAutoScrollY, autoScrollYMarginBottom, canvasTableId);
|
|
115
|
-
console.log("autoHeight", autoHeight);
|
|
116
115
|
// 监听容器尺寸变化(提前计算,用于列宽自适应)
|
|
117
116
|
var containerSize = useContainerSize({
|
|
118
117
|
containerRef: containerRef,
|
|
@@ -789,6 +789,8 @@ var useTableRender = function (params) {
|
|
|
789
789
|
if (onlyFixed === void 0) { onlyFixed = false; }
|
|
790
790
|
ctx.strokeStyle = COLORS.border;
|
|
791
791
|
ctx.lineWidth = 1;
|
|
792
|
+
// 计算实际数据行数(只绘制到有数据的地方)
|
|
793
|
+
var dataRowCount = processedDataSource.length;
|
|
792
794
|
// 绘制表头底部边框(只在非fixed时绘制一次,使用2px更明显)
|
|
793
795
|
if (!onlyFixed) {
|
|
794
796
|
ctx.lineWidth = 1;
|
|
@@ -798,6 +800,8 @@ var useTableRender = function (params) {
|
|
|
798
800
|
ctx.stroke();
|
|
799
801
|
ctx.lineWidth = 1; // 恢复为1px
|
|
800
802
|
}
|
|
803
|
+
// 计算实际数据区域的底部位置
|
|
804
|
+
var dataBottomY = Math.min(headerHeight + dataRowCount * rowHeight - scrollState.scrollTop, displayHeight);
|
|
801
805
|
// 绘制垂直边框(只绘制body部分,从headerHeight开始,表头边框在drawHeaderCell中绘制)
|
|
802
806
|
columnRenderInfos.forEach(function (info, colIndex) {
|
|
803
807
|
var x = info.x, width = info.width, fixed = info.fixed, fixedLeft = info.fixedLeft;
|
|
@@ -814,7 +818,8 @@ var useTableRender = function (params) {
|
|
|
814
818
|
if (drawX >= 0 && drawX <= displayWidth) {
|
|
815
819
|
ctx.beginPath();
|
|
816
820
|
ctx.moveTo(drawX, headerHeight);
|
|
817
|
-
|
|
821
|
+
// 只绘制到数据区域的底部,而不是整个容器高度
|
|
822
|
+
ctx.lineTo(drawX, dataBottomY);
|
|
818
823
|
ctx.stroke();
|
|
819
824
|
}
|
|
820
825
|
});
|
|
@@ -851,8 +856,8 @@ var useTableRender = function (params) {
|
|
|
851
856
|
});
|
|
852
857
|
}
|
|
853
858
|
};
|
|
854
|
-
//
|
|
855
|
-
for (var i = startRow; i <= endRow; i++) {
|
|
859
|
+
// 绘制水平边框(只绘制实际数据行的边框)
|
|
860
|
+
for (var i = startRow; i <= endRow && i <= dataRowCount; i++) {
|
|
856
861
|
_loop_1(i);
|
|
857
862
|
}
|
|
858
863
|
// 为合并单元格绘制底部边框
|
|
@@ -1361,6 +1366,8 @@ var useTableRender = function (params) {
|
|
|
1361
1366
|
hoverRow: state.hoverRowIndex,
|
|
1362
1367
|
selection: state.cellSelection,
|
|
1363
1368
|
resizing: resizeState === null || resizeState === void 0 ? void 0 : resizeState.isResizing,
|
|
1369
|
+
sortOrder: state.sortOrder,
|
|
1370
|
+
sortField: state.sortField,
|
|
1364
1371
|
});
|
|
1365
1372
|
// 如果关键参数没有变化,跳过重绘
|
|
1366
1373
|
if (lastRenderParamsRef.current === renderParamsHash) {
|
package/dist/es/table/utils.js
CHANGED
|
@@ -587,7 +587,7 @@ function sortRecords(_a) {
|
|
|
587
587
|
}
|
|
588
588
|
// 否则保持原样
|
|
589
589
|
else {
|
|
590
|
-
result =
|
|
590
|
+
result = records;
|
|
591
591
|
}
|
|
592
592
|
return result;
|
|
593
593
|
}
|
|
@@ -725,17 +725,6 @@ function sortByDimensions(records, dimensionKeys, order, columns) {
|
|
|
725
725
|
// 如果有明确的排序配置,使用它
|
|
726
726
|
sortConfig = { field: order.field, order: order.order };
|
|
727
727
|
}
|
|
728
|
-
else {
|
|
729
|
-
// 如果没有明确排序,检查维度字段是否有自定义sorter,优先使用第一个有sorter的字段
|
|
730
|
-
for (var _i = 0, dimensionKeys_1 = dimensionKeys; _i < dimensionKeys_1.length; _i++) {
|
|
731
|
-
var dimensionKey = dimensionKeys_1[_i];
|
|
732
|
-
var column = findColumnByKey(dimensionKey);
|
|
733
|
-
if (column && typeof column.sorter === "function") {
|
|
734
|
-
sortConfig = { field: dimensionKey, order: "ascend" };
|
|
735
|
-
break; // 找到第一个有sorter的字段就使用,按维度顺序优先
|
|
736
|
-
}
|
|
737
|
-
}
|
|
738
|
-
}
|
|
739
728
|
return groupByDimensionsHierarchical(records, dimensionKeys, 0, sortConfig);
|
|
740
729
|
}
|
|
741
730
|
/**
|