@indfnd/common 1.0.50 → 1.0.51
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/CHANGELOG.md +7 -0
- package/dist/ind-common.es.js +272 -82
- package/dist/ind-common.umd.cjs +84 -84
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [1.0.51](http://git.inspur.com/imp-ec/ind-front/ind-common-front/compare/v1.0.50...v1.0.51) (2024-09-06)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* 表格导出增加预览 ([a4ebae7](http://git.inspur.com/imp-ec/ind-front/ind-common-front/commit/a4ebae7f11249af5c9b6a2072a6ef6d2fb10cfe7))
|
|
11
|
+
|
|
5
12
|
### [1.0.50](http://git.inspur.com/imp-ec/ind-front/ind-common-front/compare/v1.0.49...v1.0.50) (2024-09-05)
|
|
6
13
|
|
|
7
14
|
### [1.0.49](http://git.inspur.com/imp-ec/ind-front/ind-common-front/compare/v1.0.48...v1.0.49) (2024-09-05)
|
package/dist/ind-common.es.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Button as Button$1, ButtonGroup as ButtonGroup$1, Input, Drawer as Drawer$1, Dropdown as Dropdown$1, Modal as Modal$1, Form, FormItem, Select as Select$1, Option, Row, Col, Menu, MenuItem, Badge, DropdownMenu, DropdownItem, Submenu, Tag, Header, Layout, Content, Spin, Poptip as Poptip$1, CheckboxGroup, Checkbox, RadioGroup, Radio, Card, Message, LoadingBar } from "view-design";
|
|
2
|
-
import { isNil, formatDate as formatDate$1, useConfig, getQuarterNum, formatQuarter, str2Date, isDate, isArray, checkIdCard, checkVehicleNo, checkPhone, getDictMapApi, axios, isFunction, isString, uuid, exportJsonToExcel as exportJsonToExcel$1, importJsonFromExcel, on, off, deleteMenuHistoryApi, deleteMenuCollectApi, getMenuHistoryApi, getMenuCollectApi, getPermissionCache, getLocalStorage, getSessionStorage, listItemTreeApi, getPriceInfo, MIME_TYPE, base64ToBlob,
|
|
2
|
+
import { isNil, putOssFileApi, formatDate as formatDate$1, useConfig, getQuarterNum, formatQuarter, str2Date, isDate, isArray, checkIdCard, checkVehicleNo, checkPhone, getDictMapApi, axios, isFunction, isString, uuid, exportJsonToExcel as exportJsonToExcel$1, importJsonFromExcel, on, off, deleteMenuHistoryApi, deleteMenuCollectApi, getMenuHistoryApi, getMenuCollectApi, getPermissionCache, getLocalStorage, getSessionStorage, listItemTreeApi, getPriceInfo, MIME_TYPE, base64ToBlob, isEqual, getCaptchaURL, guid, setLocalStorage, removeLocalStorage, clearSessionStorage, cryptor, getPreviewUrlApi, getToken, putOssFileUrl, getOssFileUrl, responseInterceptors, listComTreeApi, listUserTreeApi, UC_ENUM, config as config$1, setToken, loginApi, clearUserInfoCache, clearPermissionCache, logoutApi, getUserInfoCache, getUserInfoApi, setUserInfoCache, setSessionStorage, getAppListApi, getPermissionApi, setPermissionCache, menuHistoryApi, addMenuCollectApi, removeMenuCollectApi, getIndexDescCache, listIndexDescApi, setIndexDescCache } from "@indfnd/utils";
|
|
3
3
|
import Vue$1 from "vue";
|
|
4
4
|
const name$1 = "@indfnd/common";
|
|
5
|
-
const version = "1.0.
|
|
5
|
+
const version = "1.0.50";
|
|
6
6
|
const author = "huxuetong";
|
|
7
7
|
const publishConfig = {
|
|
8
8
|
registry: "https://registry.npmjs.org/"
|
|
@@ -43160,7 +43160,9 @@ function getAgColumnTitleAndData({ columns, datas }) {
|
|
|
43160
43160
|
}
|
|
43161
43161
|
calcColumns(columnsClo, columnsCalc);
|
|
43162
43162
|
var columnAlign = columnsCalc.map((d) => d.align || "left");
|
|
43163
|
-
var columnType = columnsCalc.map(
|
|
43163
|
+
var columnType = columnsCalc.map(
|
|
43164
|
+
(d) => d.dataType == "percent" ? "p" : d.align == "right" || d.align == "rightNum" ? "n" : "s"
|
|
43165
|
+
);
|
|
43164
43166
|
var columnWidth = columnsCalc.map(
|
|
43165
43167
|
(d) => d.excelWidth ? d.excelWidth : d.width ? Math.floor(d.width / 10) : 10
|
|
43166
43168
|
);
|
|
@@ -43463,6 +43465,124 @@ function exportJsonToExcel(excelData) {
|
|
|
43463
43465
|
});
|
|
43464
43466
|
}).catch((err) => console.log(err));
|
|
43465
43467
|
}
|
|
43468
|
+
function previewJsonToExcel(excelData) {
|
|
43469
|
+
var calcExportDatas = getAgColumnTitleAndData(excelData);
|
|
43470
|
+
var previewUrl = "";
|
|
43471
|
+
console.log("calcExportDatas", calcExportDatas);
|
|
43472
|
+
var title = excelData.title;
|
|
43473
|
+
var titleDeepth = calcExportDatas.deepth;
|
|
43474
|
+
var columnAlign = excelData.columnAlign || calcExportDatas.columnAlign;
|
|
43475
|
+
var columnType = excelData.columnType || calcExportDatas.columnType;
|
|
43476
|
+
var columnTitle = calcExportDatas.columnTitle;
|
|
43477
|
+
var columnWidth = excelData.columnWidth || calcExportDatas.columnWidth;
|
|
43478
|
+
var columnCount = columnAlign.length;
|
|
43479
|
+
var paramLeft = excelData.paramLeft;
|
|
43480
|
+
var paramRight = excelData.paramRight;
|
|
43481
|
+
var jsonData = calcExportDatas.exportData;
|
|
43482
|
+
var numberFormat = excelData.numberFormat || calcExportDatas.numberFormat;
|
|
43483
|
+
XlsxPopulate.fromBlankAsync().then((workbook) => {
|
|
43484
|
+
var sheet = workbook.sheet("Sheet1");
|
|
43485
|
+
for (var i = 0; i < columnCount; i++) {
|
|
43486
|
+
sheet.column(i + 1).width(columnWidth[i] == 0 ? 10 : columnWidth[i]);
|
|
43487
|
+
}
|
|
43488
|
+
var titleRange = sheet.range(1, 1, 1, columnCount);
|
|
43489
|
+
titleRange.merged(true);
|
|
43490
|
+
titleRange.style(titleStyle);
|
|
43491
|
+
titleRange.cell(0, 0).value(title);
|
|
43492
|
+
sheet.row(1).height(titleHeight);
|
|
43493
|
+
var rowsNow = 2;
|
|
43494
|
+
if (!!excelData.paramLeft || !!excelData.paramRight) {
|
|
43495
|
+
var paramLeftRange = sheet.range(2, 1, 2, Math.round(columnCount / 2));
|
|
43496
|
+
paramLeftRange.cell(0, 0).value(paramLeft || "");
|
|
43497
|
+
paramLeftRange.merged(true);
|
|
43498
|
+
paramLeftRange.style(paramLeftStyle);
|
|
43499
|
+
var paramRightRange = sheet.range(2, Math.round(columnCount / 2) + 1, 2, columnCount);
|
|
43500
|
+
paramRightRange.cell(0, 0).value(paramRight || "");
|
|
43501
|
+
paramRightRange.merged(true);
|
|
43502
|
+
paramRightRange.style(paramRightStyle);
|
|
43503
|
+
sheet.row(2).height(paramHeight);
|
|
43504
|
+
rowsNow += 1;
|
|
43505
|
+
}
|
|
43506
|
+
columnTitle.forEach((d) => {
|
|
43507
|
+
var _a;
|
|
43508
|
+
var columnTitleRange = sheet.range(
|
|
43509
|
+
d.srow + rowsNow - 1,
|
|
43510
|
+
d.scol,
|
|
43511
|
+
d.erow + rowsNow - 1,
|
|
43512
|
+
d.ecol
|
|
43513
|
+
);
|
|
43514
|
+
columnTitleRange.merged(true);
|
|
43515
|
+
columnTitleRange.style(columnTitleStyle);
|
|
43516
|
+
columnTitleRange.cell(0, 0).value((_a = d.text) == null ? void 0 : _a.replace(/<br\/>/g, ""));
|
|
43517
|
+
});
|
|
43518
|
+
for (let i2 = 0; i2 < titleDeepth; i2++) {
|
|
43519
|
+
sheet.row(rowsNow + i2).height(columnTitleHeight);
|
|
43520
|
+
}
|
|
43521
|
+
rowsNow += titleDeepth;
|
|
43522
|
+
for (var i = 0; i < jsonData.length; i++) {
|
|
43523
|
+
var lineData = jsonData[i];
|
|
43524
|
+
for (var j = 0; j < lineData.length; j++) {
|
|
43525
|
+
if (columnType[j] === "p" && lineData[j]) {
|
|
43526
|
+
sheet.cell(rowsNow + i, j + 1).value(parseFloat(lineData[j] / 100));
|
|
43527
|
+
dataCellStyle.numberFormat = numberFormat[j];
|
|
43528
|
+
} else if (columnType[j] === "n" && lineData[j]) {
|
|
43529
|
+
sheet.cell(rowsNow + i, j + 1).value(parseFloat(lineData[j]));
|
|
43530
|
+
dataCellStyle.numberFormat = numberFormat[j];
|
|
43531
|
+
} else if (columnType[j] === "s" && lineData[j]) {
|
|
43532
|
+
sheet.cell(rowsNow + i, j + 1).value(lineData[j]);
|
|
43533
|
+
dataCellStyle.numberFormat = "";
|
|
43534
|
+
} else {
|
|
43535
|
+
if (columnType[j] === "p" || columnType[j] === "n") {
|
|
43536
|
+
dataCellStyle.numberFormat = numberFormat[j];
|
|
43537
|
+
} else {
|
|
43538
|
+
sheet.cell(rowsNow + i, j + 1).value("");
|
|
43539
|
+
}
|
|
43540
|
+
}
|
|
43541
|
+
dataCellStyle.horizontalAlignment = columnAlign[j];
|
|
43542
|
+
sheet.cell(rowsNow + i, j + 1).style(dataCellStyle);
|
|
43543
|
+
}
|
|
43544
|
+
if (excelData.rowColor && i % 2 != 0) {
|
|
43545
|
+
var row = sheet.range(rowsNow + i, 1, rowsNow + i, columnCount);
|
|
43546
|
+
row.style({ fill: "f8f8f9" });
|
|
43547
|
+
}
|
|
43548
|
+
sheet.row(rowsNow + i).height(dataRowHeight);
|
|
43549
|
+
}
|
|
43550
|
+
if (!!excelData.rowSpanDefs) {
|
|
43551
|
+
initRowSpanInfosNew({ ...excelData, columns: calcExportDatas.columnsCalc });
|
|
43552
|
+
_.forEach(rowSpanExcelInfos, function(rowSpanInfo) {
|
|
43553
|
+
var columnTitleRange = sheet.range(
|
|
43554
|
+
rowSpanInfo.mergeRowS + rowsNow,
|
|
43555
|
+
rowSpanInfo.megerColS + 1,
|
|
43556
|
+
rowSpanInfo.mergeRowE + rowsNow,
|
|
43557
|
+
rowSpanInfo.megerColE + 1
|
|
43558
|
+
);
|
|
43559
|
+
columnTitleRange.merged(true);
|
|
43560
|
+
});
|
|
43561
|
+
} else if (!!excelData.rowSpanColumns) {
|
|
43562
|
+
initRowSpanInfos({ ...excelData, columns: calcExportDatas.columnsCalc });
|
|
43563
|
+
_.forEach(rowSpanExcelInfos, function(rowSpanInfo) {
|
|
43564
|
+
var columnTitleRange = sheet.range(
|
|
43565
|
+
rowSpanInfo.mergeRowS + rowsNow,
|
|
43566
|
+
rowSpanInfo.megerColS + 1,
|
|
43567
|
+
rowSpanInfo.mergeRowE + rowsNow,
|
|
43568
|
+
rowSpanInfo.megerColE + 1
|
|
43569
|
+
);
|
|
43570
|
+
columnTitleRange.merged(true);
|
|
43571
|
+
});
|
|
43572
|
+
}
|
|
43573
|
+
if (excelData.leftColumns || excelData.topRows) {
|
|
43574
|
+
sheet.freezePanes(excelData.leftColumns || 0, (excelData.topRows || 0) + rowsNow - 1);
|
|
43575
|
+
}
|
|
43576
|
+
workbook.outputAsync().then(async function(blob) {
|
|
43577
|
+
const timestamp = new Date().getTime();
|
|
43578
|
+
const filename = `${timestamp}.xlsx`;
|
|
43579
|
+
const { data } = await putOssFileApi(filename, blob);
|
|
43580
|
+
console.log("data is --111111", data);
|
|
43581
|
+
(data == null ? void 0 : data[0].fileId) || "";
|
|
43582
|
+
});
|
|
43583
|
+
}).catch((err) => console.log(err));
|
|
43584
|
+
return previewUrl;
|
|
43585
|
+
}
|
|
43466
43586
|
var dayjs_min = { exports: {} };
|
|
43467
43587
|
(function(module2, exports2) {
|
|
43468
43588
|
!function(t2, e) {
|
|
@@ -50251,7 +50371,9 @@ var render$14 = function() {
|
|
|
50251
50371
|
var _c = _vm._self._c || _h;
|
|
50252
50372
|
return _c("div", { staticClass: "export-data" }, [_c("Row", [_c("Form", { attrs: { "label-width": 80, "label-colon": "" } }, [_c("FormItem", { attrs: { "label": "\u5BFC\u51FA\u683C\u5F0F" } }, [_vm._v("xlsx")]), _c("FormItem", { attrs: { "label": "\u6587\u4EF6\u540D" } }, [_c("Input", { staticStyle: { "width": "270px" }, attrs: { "maxlength": "30", "icon": "document", "placeholder": "\u8868\u683C\u6570\u636E" }, model: { value: _vm.fileName, callback: function($$v) {
|
|
50253
50373
|
_vm.fileName = typeof $$v === "string" ? $$v.trim() : $$v;
|
|
50254
|
-
}, expression: "fileName" } })], 1), _c("FormItem", [_c("Button", { attrs: { "type": "default", "loading": _vm.exportCurrentLoading }, on: { "click": _vm.exportCurrentPage } }, [_vm._v("\u5BFC\u51FA\u5F53\u524D\u9875")]), _vm._v(" \xA0 "), _c("Button", { attrs: { "type": "default", "loading": _vm.exportAllLoading }, on: { "click": _vm.exportAllData } }, [_vm._v("\u5BFC\u51FA\u5168\u90E8")])], 1)], 1)], 1)
|
|
50374
|
+
}, expression: "fileName" } })], 1), _c("FormItem", [_c("Button", { attrs: { "type": "default", "loading": _vm.exportCurrentLoading }, on: { "click": _vm.exportCurrentPage } }, [_vm._v("\u5BFC\u51FA\u5F53\u524D\u9875")]), _vm._v(" \xA0 "), _c("Button", { attrs: { "type": "default", "loading": _vm.exportAllLoading }, on: { "click": _vm.exportAllData } }, [_vm._v("\u5BFC\u51FA\u5168\u90E8")])], 1)], 1)], 1), _c("Modal", { staticClass: "preview-modal", attrs: { "width": "80" }, on: { "on-cancel": _vm.onCancel }, model: { value: _vm.boxShow, callback: function($$v) {
|
|
50375
|
+
_vm.boxShow = $$v;
|
|
50376
|
+
}, expression: "boxShow" } }, [_c("div", { staticStyle: { "width": "100%", "height": "100%", "display": "flex", "justify-content": "center" } }, [_vm.boxShow ? _c("div", { staticClass: "preview-content", attrs: { "id": _vm.id } }) : _vm._e()]), _c("div", { attrs: { "slot": "footer" }, slot: "footer" })])], 1);
|
|
50255
50377
|
};
|
|
50256
50378
|
var staticRenderFns$14 = [];
|
|
50257
50379
|
const __vue2_script$1h = {
|
|
@@ -50329,6 +50451,8 @@ const __vue2_script$1h = {
|
|
|
50329
50451
|
},
|
|
50330
50452
|
data() {
|
|
50331
50453
|
return {
|
|
50454
|
+
id: "previewModal",
|
|
50455
|
+
boxShow: false,
|
|
50332
50456
|
exportCurrentLoading: false,
|
|
50333
50457
|
exportAllLoading: false,
|
|
50334
50458
|
fileName: "\u8868\u683C\u6570\u636E",
|
|
@@ -50345,6 +50469,33 @@ const __vue2_script$1h = {
|
|
|
50345
50469
|
}
|
|
50346
50470
|
},
|
|
50347
50471
|
methods: {
|
|
50472
|
+
onCancel() {
|
|
50473
|
+
this.boxShow = false;
|
|
50474
|
+
},
|
|
50475
|
+
async openPreview() {
|
|
50476
|
+
const result = await upmsApi.wpsEdit(this.fileId);
|
|
50477
|
+
console.log("wps preview url is", result.data);
|
|
50478
|
+
var tempUrl = "";
|
|
50479
|
+
if (result.code == "1") {
|
|
50480
|
+
tempUrl = result.data;
|
|
50481
|
+
}
|
|
50482
|
+
const token2 = localStorage["v8-token"];
|
|
50483
|
+
console.log("preview token", token2);
|
|
50484
|
+
window["WPS_GetToken"] = () => {
|
|
50485
|
+
return { token: token2 };
|
|
50486
|
+
};
|
|
50487
|
+
console.log("tempUrl is", tempUrl);
|
|
50488
|
+
var instance = this.wps.config({
|
|
50489
|
+
url: tempUrl,
|
|
50490
|
+
mount: document.getElementById(this.id)
|
|
50491
|
+
});
|
|
50492
|
+
console.log("instance-----", instance);
|
|
50493
|
+
instance.setToken({
|
|
50494
|
+
token: token2,
|
|
50495
|
+
timeout: 10 * 60 * 1e3
|
|
50496
|
+
});
|
|
50497
|
+
console.log("wps instance", instance);
|
|
50498
|
+
},
|
|
50348
50499
|
exportCurrentPage() {
|
|
50349
50500
|
this.$emit("doExport");
|
|
50350
50501
|
this.exportCurrentLoading = true;
|
|
@@ -50371,6 +50522,32 @@ const __vue2_script$1h = {
|
|
|
50371
50522
|
this.getDataFromData();
|
|
50372
50523
|
}
|
|
50373
50524
|
},
|
|
50525
|
+
previewCurrentPage() {
|
|
50526
|
+
this.$emit("doPreview");
|
|
50527
|
+
this.exportCurrentLoading = true;
|
|
50528
|
+
let exportParams = Object.assign(
|
|
50529
|
+
{},
|
|
50530
|
+
this.paginationParams,
|
|
50531
|
+
this.sortParams,
|
|
50532
|
+
this.searchParams
|
|
50533
|
+
);
|
|
50534
|
+
if (this.dataApi) {
|
|
50535
|
+
this.getDataFromServerPreview(exportParams);
|
|
50536
|
+
} else {
|
|
50537
|
+
this.getDataFromDataPreview();
|
|
50538
|
+
}
|
|
50539
|
+
},
|
|
50540
|
+
previewAllData() {
|
|
50541
|
+
this.$emit("doPreview");
|
|
50542
|
+
this.exportAllLoading = true;
|
|
50543
|
+
let paginationParams = { offset: 0, limit: 1e5 };
|
|
50544
|
+
let exportParams = Object.assign({}, paginationParams, this.sortParams, this.searchParams);
|
|
50545
|
+
if (this.dataApi) {
|
|
50546
|
+
this.getDataFromServerPreview(exportParams);
|
|
50547
|
+
} else {
|
|
50548
|
+
this.getDataFromDataPreview();
|
|
50549
|
+
}
|
|
50550
|
+
},
|
|
50374
50551
|
toggleUnit(data) {
|
|
50375
50552
|
if (this.unitType != this.defaultUnitType) {
|
|
50376
50553
|
if (this.unitType == "WZ") {
|
|
@@ -50408,6 +50585,24 @@ const __vue2_script$1h = {
|
|
|
50408
50585
|
}
|
|
50409
50586
|
this.exportExcel(this.setExportEnum(resultData));
|
|
50410
50587
|
},
|
|
50588
|
+
getDataFromServerPreview(params) {
|
|
50589
|
+
this.dataApi(params).then((result) => {
|
|
50590
|
+
let resultData = _.cloneDeep(result.data.rows || result.data.records || result.data || []);
|
|
50591
|
+
if (this.showSummary) {
|
|
50592
|
+
let sum = this.summaryData(resultData);
|
|
50593
|
+
resultData.push(sum);
|
|
50594
|
+
}
|
|
50595
|
+
this.toggleUnit(resultData);
|
|
50596
|
+
this.preveiwExcel(this.setExportEnum(resultData));
|
|
50597
|
+
});
|
|
50598
|
+
},
|
|
50599
|
+
getDataFromDataPreview() {
|
|
50600
|
+
const resultData = _.cloneDeep(this.data);
|
|
50601
|
+
if (this.showSummary) {
|
|
50602
|
+
resultData.push(this.summaryData(resultData));
|
|
50603
|
+
}
|
|
50604
|
+
this.preveiwExcel(this.setExportEnum(resultData));
|
|
50605
|
+
},
|
|
50411
50606
|
setExportEnum(resultData) {
|
|
50412
50607
|
let data = _.cloneDeep(resultData);
|
|
50413
50608
|
data.forEach((e) => {
|
|
@@ -50500,6 +50695,34 @@ const __vue2_script$1h = {
|
|
|
50500
50695
|
}
|
|
50501
50696
|
this.exportCurrentLoading = false;
|
|
50502
50697
|
this.exportAllLoading = false;
|
|
50698
|
+
},
|
|
50699
|
+
preveiwExcel(tableDatas) {
|
|
50700
|
+
if (tableDatas.length) {
|
|
50701
|
+
if (this.dataChildren) {
|
|
50702
|
+
tableDatas = data_children_transform(tableDatas);
|
|
50703
|
+
}
|
|
50704
|
+
let data = _.cloneDeep(tableDatas);
|
|
50705
|
+
if (this.pinnedTopRowData) {
|
|
50706
|
+
data = _.concat(this.pinnedTopRowData, data);
|
|
50707
|
+
}
|
|
50708
|
+
const params = {
|
|
50709
|
+
title: (this.fileName || "\u8868\u683C\u6570\u636E") + dayjs().format("YYYYMMDDHHmmss"),
|
|
50710
|
+
columns: this.tableColumns,
|
|
50711
|
+
datas: data,
|
|
50712
|
+
paramLeft: this.paramLeft || "",
|
|
50713
|
+
paramRight: this.paramRight || "",
|
|
50714
|
+
rowSpanColumns: this.rowSpanColumns,
|
|
50715
|
+
rowSpanIndexCol: this.rowSpanIndexCol,
|
|
50716
|
+
topRows: 0,
|
|
50717
|
+
leftColumns: 0,
|
|
50718
|
+
rowSpanDefs: this.rowSpanDefs
|
|
50719
|
+
};
|
|
50720
|
+
previewJsonToExcel(params);
|
|
50721
|
+
} else {
|
|
50722
|
+
this.$Message.info("\u8868\u683C\u6570\u636E\u4E0D\u80FD\u4E3A\u7A7A\uFF01");
|
|
50723
|
+
}
|
|
50724
|
+
this.exportCurrentLoading = false;
|
|
50725
|
+
this.exportAllLoading = false;
|
|
50503
50726
|
}
|
|
50504
50727
|
},
|
|
50505
50728
|
watch: {
|
|
@@ -52989,6 +53212,12 @@ const __vue2_script$11 = {
|
|
|
52989
53212
|
getContextMenuItems: function() {
|
|
52990
53213
|
if (this.rowSelection == "multiple") {
|
|
52991
53214
|
return [
|
|
53215
|
+
{
|
|
53216
|
+
name: "\u9884\u89C8\u5BFC\u51FAExcel",
|
|
53217
|
+
action: () => {
|
|
53218
|
+
this.$refs.exportData.previewCurrentPage();
|
|
53219
|
+
}
|
|
53220
|
+
},
|
|
52992
53221
|
{
|
|
52993
53222
|
name: "\u5BFC\u51FA\u6570\u636E\u5230Excel",
|
|
52994
53223
|
action: () => {
|
|
@@ -53021,6 +53250,12 @@ const __vue2_script$11 = {
|
|
|
53021
53250
|
];
|
|
53022
53251
|
} else {
|
|
53023
53252
|
return [
|
|
53253
|
+
{
|
|
53254
|
+
name: "\u9884\u89C8\u5BFC\u51FAExcel",
|
|
53255
|
+
action: () => {
|
|
53256
|
+
this.$refs.exportData.previewCurrentPage();
|
|
53257
|
+
}
|
|
53258
|
+
},
|
|
53024
53259
|
{
|
|
53025
53260
|
name: "\u5BFC\u51FA\u6570\u636E\u5230Excel",
|
|
53026
53261
|
action: () => {
|
|
@@ -53755,79 +53990,34 @@ const __vue2_script$11 = {
|
|
|
53755
53990
|
this.hackReset = true;
|
|
53756
53991
|
});
|
|
53757
53992
|
},
|
|
53758
|
-
renderSumRow: _.debounce(
|
|
53759
|
-
|
|
53760
|
-
|
|
53761
|
-
|
|
53762
|
-
|
|
53763
|
-
|
|
53764
|
-
let sumCalcCols = _.remove(sumCols, (item2) => isString(item2.isSum));
|
|
53765
|
-
let sumFuncCols = _.remove(sumCols, (item2) => item2.isSum instanceof Function);
|
|
53766
|
-
const sumCalcRuleMap = {};
|
|
53767
|
-
_.forEach(sumCalcCols, (col) => {
|
|
53768
|
-
addCalcRuleMap(sumCalcRuleMap, col.isSum, col.field || col.key);
|
|
53769
|
-
});
|
|
53770
|
-
let sumData = {};
|
|
53771
|
-
for (let i = 0; i < this.flatColumns.length; i++) {
|
|
53772
|
-
if (!["checkbox", "radios", "index"].includes((_a = this.flatColumns[i]) == null ? void 0 : _a.type)) {
|
|
53773
|
-
let colTmp = this.flatColumns[i];
|
|
53774
|
-
sumData[colTmp.field || colTmp.key] = "\u5408\u8BA1";
|
|
53775
|
-
break;
|
|
53776
|
-
}
|
|
53993
|
+
renderSumRow: _.debounce(function() {
|
|
53994
|
+
let sumData = this.flatColumns.reduce((acc, col) => {
|
|
53995
|
+
if (!["checkbox", "radios", "index"].includes(col.type)) {
|
|
53996
|
+
acc[col.field || col.key] = "\u5408\u8BA1";
|
|
53997
|
+
} else if (col.isSum) {
|
|
53998
|
+
acc[col.field || col.key] = 0;
|
|
53777
53999
|
}
|
|
53778
|
-
|
|
53779
|
-
|
|
53780
|
-
|
|
53781
|
-
|
|
53782
|
-
|
|
53783
|
-
|
|
53784
|
-
|
|
53785
|
-
|
|
53786
|
-
|
|
53787
|
-
|
|
53788
|
-
|
|
53789
|
-
|
|
53790
|
-
|
|
53791
|
-
|
|
53792
|
-
|
|
53793
|
-
sumData[field] = _.round(
|
|
53794
|
-
sumData[field] + (!d[field] || isNaN(d[field]) ? 0 : parseFloat(d[field])),
|
|
53795
|
-
6
|
|
53796
|
-
);
|
|
53797
|
-
}
|
|
53798
|
-
});
|
|
53799
|
-
return s;
|
|
53800
|
-
},
|
|
53801
|
-
sumData
|
|
53802
|
-
);
|
|
53803
|
-
_.forEach(sumFuncCols, (d) => {
|
|
53804
|
-
sumData[d.field || d.key] = d.isSum(this.rowDataFiltered, d);
|
|
53805
|
-
});
|
|
53806
|
-
let sumRows = [sumData];
|
|
53807
|
-
let calcRules = {};
|
|
53808
|
-
_.forEach(sumCalcRuleMap, (v, k) => {
|
|
53809
|
-
_.merge(calcRules, v);
|
|
53810
|
-
});
|
|
53811
|
-
let rules = [];
|
|
53812
|
-
_.forEach(calcRules, (v, k) => {
|
|
53813
|
-
var _a2;
|
|
53814
|
-
let column = _.find(sumCalcCols, (d) => {
|
|
53815
|
-
return d.field == k || d.key == k;
|
|
53816
|
-
});
|
|
53817
|
-
rules.push({
|
|
53818
|
-
rltKey: k,
|
|
53819
|
-
ast: v,
|
|
53820
|
-
precision: ((_a2 = column == null ? void 0 : column.cellRendererParams) == null ? void 0 : _a2.scale) || 2,
|
|
53821
|
-
errRtn: 0
|
|
53822
|
-
});
|
|
54000
|
+
return acc;
|
|
54001
|
+
}, {});
|
|
54002
|
+
let rowsToAccumulate = this.rowDataFiltered.map((row, idx) => {
|
|
54003
|
+
return sumCols.reduce((acc, col) => {
|
|
54004
|
+
let field = col.field || col.key;
|
|
54005
|
+
let isMerged = !!this.tableRowSpanMergeIndexMap[field] && this.tableRowSpanMergeIndexMap[field][idx] > 1;
|
|
54006
|
+
acc[field] = isMerged ? null : row[field];
|
|
54007
|
+
return acc;
|
|
54008
|
+
}, {});
|
|
54009
|
+
}).filter((row) => Object.values(row).some((val) => val !== null));
|
|
54010
|
+
sumData = rowsToAccumulate.reduce((acc, row) => {
|
|
54011
|
+
Object.keys(row).forEach((key) => {
|
|
54012
|
+
if (row[key] !== null) {
|
|
54013
|
+
acc[key] = (acc[key] || 0) + parseFloat(row[key] || 0);
|
|
54014
|
+
}
|
|
53823
54015
|
});
|
|
53824
|
-
|
|
53825
|
-
|
|
53826
|
-
|
|
53827
|
-
|
|
53828
|
-
}
|
|
53829
|
-
this.topRows = this.pinnedTopRowDataWithUnit;
|
|
53830
|
-
}
|
|
54016
|
+
return acc;
|
|
54017
|
+
}, sumData);
|
|
54018
|
+
sumFuncCols.forEach((col) => {
|
|
54019
|
+
sumData[col.field || col.key] = col.isSum(this.rowDataFiltered, col);
|
|
54020
|
+
});
|
|
53831
54021
|
}, 5),
|
|
53832
54022
|
async renderTreeData(val) {
|
|
53833
54023
|
this.treeData = _.some(val, (d) => {
|
|
@@ -55453,24 +55643,24 @@ const __vue2_script$10 = {
|
|
|
55453
55643
|
break;
|
|
55454
55644
|
}
|
|
55455
55645
|
}
|
|
55456
|
-
let
|
|
55457
|
-
let sumCalcCols = [],
|
|
55458
|
-
|
|
55646
|
+
let sumCols2 = this.flatColumns.filter((item2) => item2.isSum);
|
|
55647
|
+
let sumCalcCols = [], sumFuncCols2 = [];
|
|
55648
|
+
sumCols2.forEach((col) => {
|
|
55459
55649
|
if (typeof col.isSum === "string")
|
|
55460
55650
|
sumCalcCols.push(col);
|
|
55461
55651
|
else if (col.isSum instanceof Function)
|
|
55462
|
-
|
|
55652
|
+
sumFuncCols2.push(col);
|
|
55463
55653
|
});
|
|
55464
55654
|
const sumCalcRuleMap = {};
|
|
55465
55655
|
sumCalcCols.forEach((col) => {
|
|
55466
55656
|
addCalcRuleMap(sumCalcRuleMap, col.isSum, col.field || col.key);
|
|
55467
55657
|
});
|
|
55468
|
-
|
|
55658
|
+
sumCols2.forEach((col) => {
|
|
55469
55659
|
if (!((col.field || col.key) in sumData))
|
|
55470
55660
|
sumData[col.field || col.key] = 0;
|
|
55471
55661
|
});
|
|
55472
55662
|
this.rowDataFiltered.forEach((d) => {
|
|
55473
|
-
|
|
55663
|
+
sumCols2.forEach((dd) => {
|
|
55474
55664
|
if (typeof dd.isSum === "string")
|
|
55475
55665
|
return;
|
|
55476
55666
|
let field = dd.field || dd.key;
|
|
@@ -55480,7 +55670,7 @@ const __vue2_script$10 = {
|
|
|
55480
55670
|
}
|
|
55481
55671
|
});
|
|
55482
55672
|
});
|
|
55483
|
-
|
|
55673
|
+
sumFuncCols2.forEach((col) => {
|
|
55484
55674
|
sumData[col.field || col.key] = col.isSum(this.rowDataFiltered, col);
|
|
55485
55675
|
});
|
|
55486
55676
|
let sumRows = [sumData];
|