|
|
@@ -1,156 +0,0 @@
|
|
|
-$("#download_pdf").click(function() {
|
|
|
- downloadReport("pdf");
|
|
|
-});
|
|
|
-
|
|
|
-$("#download_excel").click(function() {
|
|
|
- downloadReport("xls");
|
|
|
-});
|
|
|
-
|
|
|
-var downloadReport = function(exportFileType) {
|
|
|
- var userName = getParameter("userName");
|
|
|
- var reportName = getParameter("reportName");
|
|
|
- var whereCondition = getParameter("whereCondition");
|
|
|
- var otherParameters = getParameter("otherParameters");
|
|
|
- exportFileType = exportFileType || "pdf";
|
|
|
-
|
|
|
- var downloadUrl = "print/export?";
|
|
|
- if (userName) {
|
|
|
- downloadUrl += "userName=" + userName;
|
|
|
- }
|
|
|
- if (reportName) {
|
|
|
- downloadUrl += "&reportName=" + reportName;
|
|
|
- }
|
|
|
- if (whereCondition) {
|
|
|
- downloadUrl += "&whereCondition=" + whereCondition;
|
|
|
- }
|
|
|
- if (otherParameters) {
|
|
|
- downloadUrl += "&otherParameters=" + otherParameters;
|
|
|
- }
|
|
|
- if (pageIndex) {
|
|
|
- downloadUrl += "&pageIndex=" + pageIndex;
|
|
|
- }
|
|
|
- downloadUrl += "&exportFileType=" + exportFileType;
|
|
|
-
|
|
|
- window.location = downloadUrl;
|
|
|
-}
|
|
|
-
|
|
|
-var PDFData, DEFAULT_URL;
|
|
|
-
|
|
|
-var pageIndex = 1, pageSize = 1;// 当前页码,页码总数
|
|
|
-
|
|
|
-// 获取链接参数
|
|
|
-var getParameter = function(key) {
|
|
|
- var reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)");
|
|
|
- var r = window.location.search.substr(1).match(reg);
|
|
|
- if (r != null)
|
|
|
- return unescape(r[2]);
|
|
|
- return null;
|
|
|
-};
|
|
|
-
|
|
|
-// 获取url
|
|
|
-var getUrl = function(page) {
|
|
|
- var userName = getParameter("userName");
|
|
|
- var reportName = getParameter("reportName");
|
|
|
- var whereCondition = getParameter("whereCondition");
|
|
|
- var otherParameters = getParameter("otherParameters");
|
|
|
- pageIndex = page || getParameter("pageIndex") || 1;
|
|
|
-
|
|
|
- var previewUrl = "print/loadPdfData?";
|
|
|
- if (userName) {
|
|
|
- previewUrl += "userName=" + userName;
|
|
|
- }
|
|
|
- if (reportName) {
|
|
|
- previewUrl += "&reportName=" + reportName;
|
|
|
- }
|
|
|
- if (whereCondition) {
|
|
|
- previewUrl += "&whereCondition=" + whereCondition;
|
|
|
- }
|
|
|
- if (otherParameters) {
|
|
|
- previewUrl += "&otherParameters=" + otherParameters;
|
|
|
- }
|
|
|
- if (pageIndex) {
|
|
|
- previewUrl += "&pageIndex=" + pageIndex;
|
|
|
- }
|
|
|
- return previewUrl;
|
|
|
-}
|
|
|
-
|
|
|
-// 获取数据
|
|
|
-function loadData(page, callback) {
|
|
|
- $.ajax({
|
|
|
- type : "get",
|
|
|
- async : false,
|
|
|
- url : page ? getUrl(page) : getUrl(),
|
|
|
- success : function(data) {
|
|
|
- pageSize = data.pageSize;
|
|
|
- PDFData = base64_decode(data.data);
|
|
|
- var rawLength = PDFData.length;
|
|
|
- // 转换成pdf.js能直接解析的Uint8Array类型,见pdf.js-4068
|
|
|
- var array = new Uint8Array(new ArrayBuffer(rawLength));
|
|
|
- for (var i = 0; i < rawLength; i++) {
|
|
|
- array[i] = PDFData.charCodeAt(i) & 0xff;
|
|
|
- }
|
|
|
- DEFAULT_URL = array;
|
|
|
- callback && callback.call();
|
|
|
- }
|
|
|
- });
|
|
|
-};
|
|
|
-
|
|
|
-loadData();
|
|
|
-
|
|
|
-// base64 解码
|
|
|
-function base64_decode(str) {
|
|
|
- var c1, c2, c3, c4;
|
|
|
- var base64DecodeChars = new Array(-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
|
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
|
|
|
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62,
|
|
|
- -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1,
|
|
|
- -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
|
|
|
- 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1,
|
|
|
- 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
|
|
|
- 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);
|
|
|
- var i = 0, len = str.length, string = '';
|
|
|
-
|
|
|
- while (i < len) {
|
|
|
- do {
|
|
|
- c1 = base64DecodeChars[str.charCodeAt(i++) & 0xff]
|
|
|
- } while (i < len && c1 == -1);
|
|
|
-
|
|
|
- if (c1 == -1)
|
|
|
- break;
|
|
|
-
|
|
|
- do {
|
|
|
- c2 = base64DecodeChars[str.charCodeAt(i++) & 0xff]
|
|
|
- } while (i < len && c2 == -1);
|
|
|
-
|
|
|
- if (c2 == -1)
|
|
|
- break;
|
|
|
-
|
|
|
- string += String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4));
|
|
|
-
|
|
|
- do {
|
|
|
- c3 = str.charCodeAt(i++) & 0xff;
|
|
|
- if (c3 == 61)
|
|
|
- return string;
|
|
|
-
|
|
|
- c3 = base64DecodeChars[c3]
|
|
|
- } while (i < len && c3 == -1);
|
|
|
-
|
|
|
- if (c3 == -1)
|
|
|
- break;
|
|
|
-
|
|
|
- string += String.fromCharCode(((c2 & 0XF) << 4) | ((c3 & 0x3C) >> 2));
|
|
|
-
|
|
|
- do {
|
|
|
- c4 = str.charCodeAt(i++) & 0xff;
|
|
|
- if (c4 == 61)
|
|
|
- return string;
|
|
|
- c4 = base64DecodeChars[c4]
|
|
|
- } while (i < len && c4 == -1);
|
|
|
-
|
|
|
- if (c4 == -1)
|
|
|
- break;
|
|
|
-
|
|
|
- string += String.fromCharCode(((c3 & 0x03) << 6) | c4)
|
|
|
- }
|
|
|
- return string;
|
|
|
-}
|