|
@@ -163,7 +163,7 @@ define(['exports', 'axios', 'qs', 'lodash', 'jquery', 'moment', 'recast', 'xlsx'
|
|
|
enableColumnResize: true,
|
|
|
hidden: false,
|
|
|
disabled: false,
|
|
|
- exportExcelPageSize: 100,
|
|
|
+ exportExcelPageSize: 1000,
|
|
|
exportExcelCurrentPage: 1,
|
|
|
exportExcelTotal: 0,
|
|
|
cellTip: false,
|
|
@@ -2033,6 +2033,44 @@ define(['exports', 'axios', 'qs', 'lodash', 'jquery', 'moment', 'recast', 'xlsx'
|
|
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
|
|
|
}
|
|
|
|
|
|
+ function __awaiter(thisArg, _arguments, P, generator) {
|
|
|
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
|
+ return new (P || (P = Promise))(function (resolve, reject) {
|
|
|
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
|
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
|
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
|
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ function __generator(thisArg, body) {
|
|
|
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
|
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
|
+ function verb(n) { return function (v) { return step([n, v]); }; }
|
|
|
+ function step(op) {
|
|
|
+ if (f) throw new TypeError("Generator is already executing.");
|
|
|
+ while (_) try {
|
|
|
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
|
+ if (y = 0, t) op = [op[0] & 2, t.value];
|
|
|
+ switch (op[0]) {
|
|
|
+ case 0: case 1: t = op; break;
|
|
|
+ case 4: _.label++; return { value: op[1], done: false };
|
|
|
+ case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
|
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
|
+ default:
|
|
|
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
|
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
|
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
|
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
|
+ if (t[2]) _.ops.pop();
|
|
|
+ _.trys.pop(); continue;
|
|
|
+ }
|
|
|
+ op = body.call(thisArg, _);
|
|
|
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
|
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
function __values(o) {
|
|
|
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
|
if (m) return m.call(o);
|
|
@@ -17342,6 +17380,7 @@ define(['exports', 'axios', 'qs', 'lodash', 'jquery', 'moment', 'recast', 'xlsx'
|
|
|
});
|
|
|
// 默认支持 gridInvoke
|
|
|
var extraParams = _$2.defaultsDeep({}, reloadParams, params);
|
|
|
+ console.log("extraParams", extraParams);
|
|
|
//@ts-ignore
|
|
|
storeOption = {
|
|
|
fields: fields_1,
|
|
@@ -17415,14 +17454,18 @@ define(['exports', 'axios', 'qs', 'lodash', 'jquery', 'moment', 'recast', 'xlsx'
|
|
|
};
|
|
|
}
|
|
|
else if (exports.apiConvert) {
|
|
|
+ // console.log("apiConvert", apiConvert.gridInvokeBuild)
|
|
|
// 外部扩展的 apiConvert
|
|
|
//@ts-ignore
|
|
|
storeOption = exports.apiConvert.gridInvokeBuild(scope, grid, config, dataSource, params, reloadParams, isExcelExport, excelExportCallBack);
|
|
|
+ console.log("storeOption", storeOption);
|
|
|
}
|
|
|
else {
|
|
|
throw new TypeError("不支持的 API 请求方式");
|
|
|
}
|
|
|
if (isExcelExport) {
|
|
|
+ storeOption.proxy.timeout = 1000 * 60 * 30;
|
|
|
+ console.log("isExcelExport", isExcelExport, storeOption);
|
|
|
var excelStore = new Ext.data.Store(storeOption);
|
|
|
excelStore.load();
|
|
|
}
|
|
@@ -19176,8 +19219,10 @@ define(['exports', 'axios', 'qs', 'lodash', 'jquery', 'moment', 'recast', 'xlsx'
|
|
|
var dataSource = config.dataSource;
|
|
|
var ep = function () {
|
|
|
scope.setLoading(true);
|
|
|
+ console.log("dataSource", dataSource);
|
|
|
gridInvokeBuild(scope, me, config, dataSource, excelExportParams, true, function (responseData) {
|
|
|
var _a, _b, _c, _d;
|
|
|
+ console.log("responseData", responseData);
|
|
|
var page = parseInt((_a = responseData.pagination) === null || _a === void 0 ? void 0 : _a.current) || me.exportExcelCurrentPage || 1;
|
|
|
var size = parseInt((_b = responseData.pagination) === null || _b === void 0 ? void 0 : _b.size) || me.exportExcelPageSize;
|
|
|
var total = parseInt((_c = responseData.pagination) === null || _c === void 0 ? void 0 : _c.total) || ((_d = responseData.data) === null || _d === void 0 ? void 0 : _d.length) || 0;
|
|
@@ -19188,6 +19233,7 @@ define(['exports', 'axios', 'qs', 'lodash', 'jquery', 'moment', 'recast', 'xlsx'
|
|
|
if (excelFileName.endsWith(".xlsx")) {
|
|
|
excelFileName = excelFileName.split(".xlsx")[0];
|
|
|
}
|
|
|
+ console.log("makeExcelData", me.makeExcelData);
|
|
|
var pageExcelData = me.makeExcelData(responseData.data);
|
|
|
excelFileName += "(第" + me.exportExcelCurrentPage + "页,共" + Math.ceil(total / size) + "页、" + total + "条)";
|
|
|
excelFileName += ".xlsx";
|
|
@@ -19205,6 +19251,98 @@ define(['exports', 'axios', 'qs', 'lodash', 'jquery', 'moment', 'recast', 'xlsx'
|
|
|
};
|
|
|
ep();
|
|
|
},
|
|
|
+ exportExcelClick2: function (excelExportParams, isContinue) {
|
|
|
+ return __awaiter(this, void 0, void 0, function () {
|
|
|
+ var currentPage, totalSize, me, config, scope, dataSource, excelData, ep, pageSize, totalPage, sumCount, err, page, progressSize, progress, leftSize, pageData, e_1, excelFileName, pageExcelData;
|
|
|
+ return __generator(this, function (_a) {
|
|
|
+ switch (_a.label) {
|
|
|
+ case 0:
|
|
|
+ currentPage = excelExportParams.exportExcelCurrentPage;
|
|
|
+ totalSize = excelExportParams.exportExcelPageSize;
|
|
|
+ console.log("currentPage", currentPage);
|
|
|
+ console.log("pageSize", totalSize);
|
|
|
+ me = this;
|
|
|
+ config = me.config;
|
|
|
+ excelExportParams.isExcelExport = true;
|
|
|
+ scope = lookupScope(me);
|
|
|
+ dataSource = config.dataSource;
|
|
|
+ excelData = [];
|
|
|
+ ep = function () {
|
|
|
+ return new Promise(function (resolve, reject) {
|
|
|
+ console.log("dataSource", dataSource);
|
|
|
+ try {
|
|
|
+ gridInvokeBuild(scope, me, config, dataSource, excelExportParams, true, function (responseData) {
|
|
|
+ var _a, _b, _c, _d;
|
|
|
+ console.log("responseData", responseData);
|
|
|
+ var page = parseInt((_a = responseData.pagination) === null || _a === void 0 ? void 0 : _a.current) || me.exportExcelCurrentPage || 1;
|
|
|
+ var size = parseInt((_b = responseData.pagination) === null || _b === void 0 ? void 0 : _b.size) || me.exportExcelPageSize;
|
|
|
+ var total = parseInt((_c = responseData.pagination) === null || _c === void 0 ? void 0 : _c.total) || ((_d = responseData.data) === null || _d === void 0 ? void 0 : _d.length) || 0;
|
|
|
+ me.exportExcelCurrentPage = page;
|
|
|
+ me.exportExcelPageSize = size;
|
|
|
+ me.exportExcelTotal = total;
|
|
|
+ resolve(responseData.data);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ catch (e) {
|
|
|
+ reject(e);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ };
|
|
|
+ pageSize = 1000;
|
|
|
+ totalPage = Math.ceil(totalSize / pageSize);
|
|
|
+ sumCount = 0;
|
|
|
+ err = null;
|
|
|
+ page = 1;
|
|
|
+ _a.label = 1;
|
|
|
+ case 1:
|
|
|
+ if (!(page <= totalPage)) return [3 /*break*/, 6];
|
|
|
+ progressSize = (page - 1) * pageSize;
|
|
|
+ progress = progressSize / totalSize;
|
|
|
+ scope.setLoading("\u6570\u636E\u5BFC\u51FA(" + Math.floor(progress * 10000) / 100 + "%)<br/>" + progressSize + "/" + totalSize);
|
|
|
+ leftSize = totalSize - progressSize;
|
|
|
+ excelExportParams.exportExcelCurrentPage = page;
|
|
|
+ excelExportParams.exportExcelPageSize = leftSize < pageSize ? leftSize : pageSize;
|
|
|
+ console.log("Page=", excelExportParams.exportExcelCurrentPage, "Size=", excelExportParams.exportExcelPageSize);
|
|
|
+ _a.label = 2;
|
|
|
+ case 2:
|
|
|
+ _a.trys.push([2, 4, , 5]);
|
|
|
+ return [4 /*yield*/, ep()];
|
|
|
+ case 3:
|
|
|
+ pageData = _a.sent();
|
|
|
+ if (!pageData || pageData.length <= 0) {
|
|
|
+ return [3 /*break*/, 6];
|
|
|
+ }
|
|
|
+ sumCount = sumCount + pageData.length;
|
|
|
+ excelData.push.apply(excelData, __spread(pageData));
|
|
|
+ return [3 /*break*/, 5];
|
|
|
+ case 4:
|
|
|
+ e_1 = _a.sent();
|
|
|
+ err = e_1;
|
|
|
+ return [3 /*break*/, 5];
|
|
|
+ case 5:
|
|
|
+ page++;
|
|
|
+ return [3 /*break*/, 1];
|
|
|
+ case 6:
|
|
|
+ if (!err) {
|
|
|
+ scope.setLoading("\u6570\u636E\u5BFC\u51FA(" + Math.floor(excelData.length / sumCount * 10000) / 100 + "%<br/>" + excelData.length + "/" + sumCount);
|
|
|
+ }
|
|
|
+ excelFileName = config.excelFileName || scope.vjson.title || _$2.uniqueId("excel-");
|
|
|
+ if (!excelFileName.endsWith(".xlsx")) {
|
|
|
+ excelFileName += ".xlsx";
|
|
|
+ }
|
|
|
+ console.log("excelFileName=", excelFileName);
|
|
|
+ pageExcelData = me.makeExcelData(excelData);
|
|
|
+ console.log("pageExcelData", pageExcelData);
|
|
|
+ // resolve(responseData.data);
|
|
|
+ LAY_EXCEL.exportExcel(pageExcelData, excelFileName, 'xlsx');
|
|
|
+ scope.setLoading(false);
|
|
|
+ if (err)
|
|
|
+ throw err;
|
|
|
+ return [2 /*return*/];
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
exportBigExcelClick: function () {
|
|
|
var _a;
|
|
|
var me = this;
|
|
@@ -19593,6 +19731,7 @@ define(['exports', 'axios', 'qs', 'lodash', 'jquery', 'moment', 'recast', 'xlsx'
|
|
|
}
|
|
|
},
|
|
|
exportExcel: function (sender) {
|
|
|
+ var _this = this;
|
|
|
var _a, _b;
|
|
|
var rect = sender.btnEl.dom.getBoundingClientRect();
|
|
|
var scope = lookupScope(this);
|
|
@@ -19667,13 +19806,7 @@ define(['exports', 'axios', 'qs', 'lodash', 'jquery', 'moment', 'recast', 'xlsx'
|
|
|
v = defaultGrid.exportExcelPageSize;
|
|
|
sender.setValue(v);
|
|
|
}
|
|
|
- if (window['__isNNDSL'] === true) {
|
|
|
- if (v > 100000) {
|
|
|
- window['system'].msg("导出页大小不能大于100000");
|
|
|
- v = 100000;
|
|
|
- sender.setValue(v);
|
|
|
- }
|
|
|
- }
|
|
|
+ if (window['__isNNDSL'] === true) ;
|
|
|
else {
|
|
|
if (v > 10000) {
|
|
|
window['system'].msg("导出页大小不能大于10000");
|
|
@@ -19700,9 +19833,16 @@ define(['exports', 'axios', 'qs', 'lodash', 'jquery', 'moment', 'recast', 'xlsx'
|
|
|
iconCls: 'x-fa fa-download',
|
|
|
listeners: {
|
|
|
click: function (sender, value) {
|
|
|
- grid.exportExcelClick({
|
|
|
+ var me = _this;
|
|
|
+ var scope = lookupScope(me);
|
|
|
+ grid.exportExcelClick2({
|
|
|
exportExcelPageSize: grid.exportExcelPageSize,
|
|
|
exportExcelCurrentPage: grid.exportExcelCurrentPage
|
|
|
+ }).catch(function (e) {
|
|
|
+ console.error("导出报错", e);
|
|
|
+ system.msg("导出失败:" + e.message);
|
|
|
+ }).finally(function () {
|
|
|
+ scope.setLoading(false);
|
|
|
});
|
|
|
}
|
|
|
}
|