zmdms-webui 3.3.6 → 3.3.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.
- package/dist/es/table/useSummary.js +28 -17
- package/package.json +1 -1
|
@@ -145,27 +145,17 @@ function getSubtotalObj(fields, dataSource) {
|
|
|
145
145
|
}
|
|
146
146
|
var summaryTotalObj = {};
|
|
147
147
|
var summaryTotalConfigObj = {};
|
|
148
|
-
//
|
|
148
|
+
// 过滤掉按维度合计行
|
|
149
149
|
dataSource
|
|
150
|
-
.filter(function (item) {
|
|
151
|
-
// 排除维度合计行
|
|
152
|
-
if (item[IS_SUMMARY])
|
|
153
|
-
return false;
|
|
154
|
-
// 排除被合并的行(MERGE_ROW_SPANS 中所有合并字段都为0的行)
|
|
155
|
-
var mergeSpans = item[MERGE_ROW_SPANS];
|
|
156
|
-
if (mergeSpans && typeof mergeSpans === "object") {
|
|
157
|
-
// 检查是否存在任何合并字段的 rowSpan > 0
|
|
158
|
-
var spanValues = Object.values(mergeSpans);
|
|
159
|
-
// 如果所有值都是 0 或 undefined,说明是被完全合并的行
|
|
160
|
-
var hasValidSpan = spanValues.some(function (span) { return span && span > 0; });
|
|
161
|
-
if (!hasValidSpan && spanValues.length > 0)
|
|
162
|
-
return false;
|
|
163
|
-
}
|
|
164
|
-
return true;
|
|
165
|
-
})
|
|
150
|
+
.filter(function (item) { return !item[IS_SUMMARY]; })
|
|
166
151
|
.forEach(function (item, index) {
|
|
167
152
|
fields.forEach(function (field) {
|
|
168
153
|
if (typeof field === "string") {
|
|
154
|
+
// 检查该字段是否被合并(rowSpan为0)
|
|
155
|
+
var mergeSpans = item[MERGE_ROW_SPANS];
|
|
156
|
+
var fieldRowSpan = mergeSpans === null || mergeSpans === void 0 ? void 0 : mergeSpans[field];
|
|
157
|
+
if (fieldRowSpan === 0)
|
|
158
|
+
return; // 该字段被合并,跳过统计
|
|
169
159
|
var dataItem = Number(item === null || item === void 0 ? void 0 : item[field]);
|
|
170
160
|
dataItem = isNaN(dataItem) ? 0 : dataItem;
|
|
171
161
|
var summaryItem = (summaryTotalObj === null || summaryTotalObj === void 0 ? void 0 : summaryTotalObj[field]) || 0;
|
|
@@ -175,6 +165,27 @@ function getSubtotalObj(fields, dataSource) {
|
|
|
175
165
|
}
|
|
176
166
|
else {
|
|
177
167
|
var key = field.key, showKey = field.showKey, toFixedNum_1 = field.toFixedNum, value = field.value, callback = field.callback;
|
|
168
|
+
// 检查数据源字段是否被合并
|
|
169
|
+
var mergeSpans_1 = item[MERGE_ROW_SPANS];
|
|
170
|
+
if (showKey) {
|
|
171
|
+
if (typeof showKey === "string") {
|
|
172
|
+
var fieldRowSpan = mergeSpans_1 === null || mergeSpans_1 === void 0 ? void 0 : mergeSpans_1[showKey];
|
|
173
|
+
if (fieldRowSpan === 0)
|
|
174
|
+
return; // 该字段被合并,跳过统计
|
|
175
|
+
}
|
|
176
|
+
else if (Array.isArray(showKey)) {
|
|
177
|
+
// 如果 showKey 是数组,检查是否所有字段都被合并
|
|
178
|
+
var allMerged = showKey.every(function (sk) { return (mergeSpans_1 === null || mergeSpans_1 === void 0 ? void 0 : mergeSpans_1[sk]) === 0; });
|
|
179
|
+
if (allMerged)
|
|
180
|
+
return; // 所有字段都被合并,跳过统计
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
// 如果没有 showKey,检查 key 字段
|
|
185
|
+
var fieldRowSpan = mergeSpans_1 === null || mergeSpans_1 === void 0 ? void 0 : mergeSpans_1[key];
|
|
186
|
+
if (fieldRowSpan === 0)
|
|
187
|
+
return; // 该字段被合并,跳过统计
|
|
188
|
+
}
|
|
178
189
|
var dataItem = Number(item === null || item === void 0 ? void 0 : item[key]);
|
|
179
190
|
dataItem = isNaN(dataItem) ? 0 : dataItem;
|
|
180
191
|
var summaryItem_1 = (summaryTotalObj === null || summaryTotalObj === void 0 ? void 0 : summaryTotalObj[key]) || 0;
|