|
@@ -14,6 +14,7 @@ let fontSuffixMapObj = {"表标题": "title", "列标题": "column", "正文内
|
|
|
|
|
|
|
|
let rptTplObj = {
|
|
let rptTplObj = {
|
|
|
hasInitialized: false,
|
|
hasInitialized: false,
|
|
|
|
|
+ pdfFont: {'SmartSimsun': [], 'simhei': [], 'simkai': []},
|
|
|
iniPage: function() {
|
|
iniPage: function() {
|
|
|
let me = this;
|
|
let me = this;
|
|
|
if (!me.hasInitialized) {
|
|
if (!me.hasInitialized) {
|
|
@@ -24,7 +25,24 @@ let rptTplObj = {
|
|
|
let canvas = document.getElementById("rptCanvas");
|
|
let canvas = document.getElementById("rptCanvas");
|
|
|
canvas.onclick = canvasOprObj.canvasOnClick;
|
|
canvas.onclick = canvasOprObj.canvasOnClick;
|
|
|
canvas.onmousemove = canvasOprObj.canvasOnMouseMove;
|
|
canvas.onmousemove = canvasOprObj.canvasOnMouseMove;
|
|
|
|
|
+ if (JpcJsPDFHelper.doc === null) {
|
|
|
|
|
+ JpcJsPDFHelper.initialize('p', 'pt', 'a4');
|
|
|
|
|
+ }
|
|
|
|
|
+ dynamicLoadJs('/lib/jspdf/SmartSimsun-normal.js');
|
|
|
|
|
+ dynamicLoadJs('/lib/jspdf/SmartSimsun-bold.js', me.pdfFontSimsunCallBack);
|
|
|
}
|
|
}
|
|
|
|
|
+ },
|
|
|
|
|
+ pdfFontSimsunCallBack: function() {
|
|
|
|
|
+ rptTplObj.pdfFont['SmartSimsun'].push('normal');
|
|
|
|
|
+ rptTplObj.pdfFont['SmartSimsun'].push('bold');
|
|
|
|
|
+ },
|
|
|
|
|
+ pdfFontSimkaiCallBack: function() {
|
|
|
|
|
+ rptTplObj.pdfFont['simkai'].push('normal');
|
|
|
|
|
+ rptTplObj.pdfFont['simkai'].push('bold');
|
|
|
|
|
+ },
|
|
|
|
|
+ pdfFontSimheiCallBack: function() {
|
|
|
|
|
+ rptTplObj.pdfFont['simhei'].push('normal');
|
|
|
|
|
+ rptTplObj.pdfFont['simhei'].push('bold');
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -981,15 +999,6 @@ let rptControlObj = {
|
|
|
let pageData = result[idx];
|
|
let pageData = result[idx];
|
|
|
JpcJsPDFHelper.outputAsPdf(pageData, pageSize, rpt_names[idx]);
|
|
JpcJsPDFHelper.outputAsPdf(pageData, pageSize, rpt_names[idx]);
|
|
|
}
|
|
}
|
|
|
- // sessionStorage.multiRptsData = JSON.stringify(result);
|
|
|
|
|
- // sessionStorage.pageSize = rptControlObj.getCurrentPageSize();
|
|
|
|
|
- // sessionStorage.orientation = rptControlObj.getCurrentOrientation();
|
|
|
|
|
- // sessionStorage.scaleFactor = 1;
|
|
|
|
|
- // if (sessionStorage.pageSize === 'A3') {
|
|
|
|
|
- // window.open('/rpt_printA3');
|
|
|
|
|
- // } else {
|
|
|
|
|
- // window.open('/rpt_print');
|
|
|
|
|
- // }
|
|
|
|
|
},
|
|
},
|
|
|
function(failRst){
|
|
function(failRst){
|
|
|
console.log(failRst);
|
|
console.log(failRst);
|
|
@@ -999,56 +1008,14 @@ let rptControlObj = {
|
|
|
}
|
|
}
|
|
|
);
|
|
);
|
|
|
} else {
|
|
} else {
|
|
|
|
|
+ //这个分支是为了减少请求,用户已经点过的表,又没有勾选,那么就直接导出成PDF
|
|
|
let pageSize = rptControlObj.getCurrentPageSize();
|
|
let pageSize = rptControlObj.getCurrentPageSize();
|
|
|
let pageData = zTreeOprObj.currentRptPageRst;
|
|
let pageData = zTreeOprObj.currentRptPageRst;
|
|
|
JpcJsPDFHelper.outputAsPdf(pageData, pageSize, rpt_names[0]);
|
|
JpcJsPDFHelper.outputAsPdf(pageData, pageSize, rpt_names[0]);
|
|
|
}
|
|
}
|
|
|
- //me.currentRptPageRst
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- /*
|
|
|
|
|
- if (zTreeOprObj.checkedRptTplNodes && zTreeOprObj.checkedRptTplNodes.length > 0) {
|
|
|
|
|
- let rptIds = [], rpt_names = [];
|
|
|
|
|
- let params = {};
|
|
|
|
|
- params.pageSize = rptControlObj.getCurrentPageSize();
|
|
|
|
|
- params.orientation = ((zTreeOprObj.checkedRptTplNodes.length > 1)?null:rptControlObj.getCurrentOrientation());
|
|
|
|
|
- params.custCfg = zTreeOprObj.reportPageCfg;
|
|
|
|
|
- params.prj_id = projectObj.project.projectInfo.ID;
|
|
|
|
|
- for (let tplNode of zTreeOprObj.checkedRptTplNodes) {
|
|
|
|
|
- rptIds.push(tplNode.refId);
|
|
|
|
|
- rpt_names.push(tplNode.name);
|
|
|
|
|
- }
|
|
|
|
|
- params.rpt_ids = rptIds.join(",");
|
|
|
|
|
- CommonAjax.postEx("report_api/getMultiReports", params, 30000, true,
|
|
|
|
|
- function(result){
|
|
|
|
|
- // sessionStorage.multiRptsData = JSON.stringify(result);
|
|
|
|
|
- // sessionStorage.pageSize = rptControlObj.getCurrentPageSize();
|
|
|
|
|
- // sessionStorage.orientation = rptControlObj.getCurrentOrientation();
|
|
|
|
|
- // sessionStorage.scaleFactor = 1;
|
|
|
|
|
- // window.open('/rpt_print');
|
|
|
|
|
- // console.log(result);
|
|
|
|
|
- let pageSize = rptControlObj.getCurrentPageSize();
|
|
|
|
|
- for (let idx = 0; idx < result.length; idx++) {
|
|
|
|
|
- let pageData = result[idx];
|
|
|
|
|
- // let orientation = (pageData[JV.NODE_PAGE_INFO][JV.NODE_PAGE_SIZE][0] < pageData[JV.NODE_PAGE_INFO][JV.NODE_PAGE_SIZE][1])?"portrait":"landscape";
|
|
|
|
|
- // showPreviewData(svgArr, actArea, scaleFactor, sessionStorage.pageSize, orientation, orgPixelSize);
|
|
|
|
|
- JpcJsPDFHelper.outputAsPdf(pageData, pageSize, rpt_names[idx]);
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
- function(failRst){
|
|
|
|
|
- sessionStorage.currentPageData = null;
|
|
|
|
|
- console.log(failRst);
|
|
|
|
|
- },
|
|
|
|
|
- function(exceptionRst){
|
|
|
|
|
- sessionStorage.currentPageData = null;
|
|
|
|
|
- console.log(exceptionRst);
|
|
|
|
|
- }
|
|
|
|
|
- );
|
|
|
|
|
- } else {
|
|
|
|
|
- //不可能的branch
|
|
|
|
|
- }
|
|
|
|
|
- //*/
|
|
|
|
|
},
|
|
},
|
|
|
firstPage: function(dom) {
|
|
firstPage: function(dom) {
|
|
|
let canvas = document.getElementById("rptCanvas");
|
|
let canvas = document.getElementById("rptCanvas");
|
|
@@ -1163,3 +1130,28 @@ function downloadReport(urls) {
|
|
|
}
|
|
}
|
|
|
private_download();
|
|
private_download();
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+function dynamicLoadJs(url, callback) {
|
|
|
|
|
+ let head = document.getElementsByTagName('head')[0];
|
|
|
|
|
+ let script = document.createElement('script');
|
|
|
|
|
+ script.type = 'text/javascript';
|
|
|
|
|
+ script.src = url;
|
|
|
|
|
+ if(callback) {
|
|
|
|
|
+ script.onload = script.onreadystatechange = function () {
|
|
|
|
|
+ if (!this.readyState || this.readyState === "loaded" || this.readyState === "complete"){
|
|
|
|
|
+ callback();
|
|
|
|
|
+ script.onload = script.onreadystatechange = null;
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+ }
|
|
|
|
|
+ head.appendChild(script);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+function dynamicLoadCss(url) {
|
|
|
|
|
+ let head = document.getElementsByTagName('head')[0];
|
|
|
|
|
+ let link = document.createElement('link');
|
|
|
|
|
+ link.type='text/css';
|
|
|
|
|
+ link.rel = 'stylesheet';
|
|
|
|
|
+ link.href = url;
|
|
|
|
|
+ head.appendChild(link);
|
|
|
|
|
+}
|