|
@@ -260,7 +260,7 @@ let zTreeOprObj = {
|
|
zTreeOprObj.treeObj.expandNode(treeNode, true, true, false);
|
|
zTreeOprObj.treeObj.expandNode(treeNode, true, true, false);
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- onClick: function(event,treeId,treeNode) {
|
|
|
|
|
|
+ onClick: async function(event,treeId,treeNode) {
|
|
let me = zTreeOprObj;
|
|
let me = zTreeOprObj;
|
|
if (treeNode && treeNode.nodeType === TPL_TYPE_TEMPLATE && treeNode.refId > 0) {
|
|
if (treeNode && treeNode.nodeType === TPL_TYPE_TEMPLATE && treeNode.refId > 0) {
|
|
window.history.pushState({},0, window.location.pathname + `?rpt_id=${treeNode.refId}`);
|
|
window.history.pushState({},0, window.location.pathname + `?rpt_id=${treeNode.refId}`);
|
|
@@ -314,7 +314,7 @@ let zTreeOprObj = {
|
|
}
|
|
}
|
|
|
|
|
|
rptArchiveObj.toggleBtn(true);
|
|
rptArchiveObj.toggleBtn(true);
|
|
- me.requestNormalReport(params);
|
|
|
|
|
|
+ await me.requestNormalReport(params);
|
|
me.countChkedRptTpl();
|
|
me.countChkedRptTpl();
|
|
rptCustomObj.showMaterialSelect();
|
|
rptCustomObj.showMaterialSelect();
|
|
}
|
|
}
|
|
@@ -336,7 +336,7 @@ let zTreeOprObj = {
|
|
dom.innerHTML = tmpStr;
|
|
dom.innerHTML = tmpStr;
|
|
me.changeCfg();
|
|
me.changeCfg();
|
|
},
|
|
},
|
|
- changeCfg: function() {
|
|
|
|
|
|
+ changeCfg: async function() {
|
|
let me = zTreeOprObj;
|
|
let me = zTreeOprObj;
|
|
if (me.currentNode) {
|
|
if (me.currentNode) {
|
|
CUST_CFG_ORG = JSON.parse(JSON.stringify(CUST_CFG));
|
|
CUST_CFG_ORG = JSON.parse(JSON.stringify(CUST_CFG));
|
|
@@ -389,7 +389,7 @@ let zTreeOprObj = {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
- me.requestNormalReport(params);
|
|
|
|
|
|
+ await me.requestNormalReport(params);
|
|
me.countChkedRptTpl();
|
|
me.countChkedRptTpl();
|
|
rptCustomObj.showMaterialSelect();
|
|
rptCustomObj.showMaterialSelect();
|
|
|
|
|
|
@@ -417,7 +417,7 @@ let zTreeOprObj = {
|
|
_setupArchive: function() {
|
|
_setupArchive: function() {
|
|
//
|
|
//
|
|
},
|
|
},
|
|
- requestNormalReport: function (params) {
|
|
|
|
|
|
+ requestNormalReport: async function (params) {
|
|
let me = zTreeOprObj;
|
|
let me = zTreeOprObj;
|
|
if (COMMON_WATER_MARK_PIC_DATA === null || COMMON_WATER_MARK_PIC_DATA === '') {
|
|
if (COMMON_WATER_MARK_PIC_DATA === null || COMMON_WATER_MARK_PIC_DATA === '') {
|
|
params.needWaterMark = true;
|
|
params.needWaterMark = true;
|
|
@@ -426,7 +426,7 @@ let zTreeOprObj = {
|
|
}
|
|
}
|
|
$.bootstrapLoading.start();
|
|
$.bootstrapLoading.start();
|
|
CommonAjax.postXsrfEx("/tender/report_api/getReport", params, 300000, true, getCookie('csrfToken_j'),
|
|
CommonAjax.postXsrfEx("/tender/report_api/getReport", params, 300000, true, getCookie('csrfToken_j'),
|
|
- function(result){
|
|
|
|
|
|
+ async function(result){
|
|
$.bootstrapLoading.end();
|
|
$.bootstrapLoading.end();
|
|
let pageRst = result.data;
|
|
let pageRst = result.data;
|
|
if (params.needWaterMark) COMMON_WATER_MARK_PIC_DATA = result.waterMarkStr;
|
|
if (params.needWaterMark) COMMON_WATER_MARK_PIC_DATA = result.waterMarkStr;
|
|
@@ -441,6 +441,7 @@ let zTreeOprObj = {
|
|
if (current_stage_status === 3) {
|
|
if (current_stage_status === 3) {
|
|
rptSignatureHelper.mergeSignDate(pageRst, ROLE_REL_LIST, true);
|
|
rptSignatureHelper.mergeSignDate(pageRst, ROLE_REL_LIST, true);
|
|
rptSignatureHelper.mergeSignature(pageRst, ROLE_REL_LIST);
|
|
rptSignatureHelper.mergeSignature(pageRst, ROLE_REL_LIST);
|
|
|
|
+ await rptSignatureHelper.resetDummySignature(pageRst, ROLE_REL_LIST); // 这里重新整理签章坐标信息(因签章大小在后台暂时获取不到,挪到前端处理)
|
|
rptSignatureHelper.mergeSignAudit(pageRst, ROLE_REL_LIST, STAGE_AUDIT);
|
|
rptSignatureHelper.mergeSignAudit(pageRst, ROLE_REL_LIST, STAGE_AUDIT);
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
@@ -521,6 +522,7 @@ let zTreeOprObj = {
|
|
me.currentPage = pageNum;
|
|
me.currentPage = pageNum;
|
|
JpcCanvasOutput.cleanCanvas(canvas);
|
|
JpcCanvasOutput.cleanCanvas(canvas);
|
|
JpcCanvasOutput.drawPageBorder(me.currentRptPageRst, canvas, getScreenDPI());
|
|
JpcCanvasOutput.drawPageBorder(me.currentRptPageRst, canvas, getScreenDPI());
|
|
|
|
+ // JpcCanvasOutput.highlightConflictArea(me.currentRptPageRst, pageNum);
|
|
JpcCanvasOutput.drawToCanvas(me.currentRptPageRst, canvas, me.currentPage);
|
|
JpcCanvasOutput.drawToCanvas(me.currentRptPageRst, canvas, me.currentPage);
|
|
}
|
|
}
|
|
me.displayPageValue();
|
|
me.displayPageValue();
|
|
@@ -719,13 +721,121 @@ let rptControlObj = {
|
|
);
|
|
);
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+
|
|
|
|
+ downloadExcelReport: async function(pageDataArr, pageSize, rpt_names) {
|
|
|
|
+ const private_download = async function(currentIndex) {
|
|
|
|
+ if (currentIndex < pageDataArr.length) {
|
|
|
|
+ //这里的数据应该在调用前己处理
|
|
|
|
+ const rptName = rpt_names[currentIndex];
|
|
|
|
+ const singlePage = true;
|
|
|
|
+ await excelExportUtil.exportExcel(pageDataArr[currentIndex], pageSize, rptName, singlePage, null, null, ROLE_REL_LIST, null);
|
|
|
|
+ }
|
|
|
|
+ };
|
|
|
|
+ for (let idx = 0; idx < pageDataArr.length; idx++) {
|
|
|
|
+ await private_download(idx);
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ downloadExcelReportInOneBook: async function(pageDataArr, pageSize, signatureRelArr, signatureRelInfo, refRptTplIds, rpt_names) {
|
|
|
|
+ //
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ getExcel_New: async function (isOneBook) {
|
|
|
|
+ let me = rptControlObj;
|
|
|
|
+ if (zTreeOprObj.checkedRptTplNodes && zTreeOprObj.checkedRptTplNodes.length > 0 && PAGE_SHOW['closeExportExcel'] !== 1) {
|
|
|
|
+ let refRptTplIds = [];
|
|
|
|
+ let rpt_names = [];
|
|
|
|
+ rptControlObj.getTplIdsCommon(refRptTplIds, rpt_names);
|
|
|
|
+ const signatureRelArr = [];
|
|
|
|
+ if (refRptTplIds.length === 0) {
|
|
|
|
+ if (zTreeOprObj.currentNode) {
|
|
|
|
+ //在复杂情况下会影响到原有数据(文本签名 + 签章),为减少麻烦,还是当勾选处理
|
|
|
|
+ refRptTplIds.push(zTreeOprObj.currentNode.refId);
|
|
|
|
+ rpt_names.push(zTreeOprObj.currentNode.name);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (refRptTplIds.length > 0) {
|
|
|
|
+ let params = rptControlObj.creatCommonExportParam(refRptTplIds);
|
|
|
|
+ // params.getPicFlag = true; //专门针对草图项,只有此项为true,才需要把草图信息带过来,预览及打印动态加载草图 // 纠结:但这样还是解决不了效率问题,得另外想交互方式
|
|
|
|
+ await rptCustomObj.getCustomSelect(params);
|
|
|
|
+ delete params.orientation; // 打印时有勾选的话,不需要提供方向
|
|
|
|
+ $.bootstrapLoading.start();
|
|
|
|
+ if (COMMON_WATER_MARK_PIC_DATA === null || COMMON_WATER_MARK_PIC_DATA === '') {
|
|
|
|
+ params.needWaterMark = true;
|
|
|
|
+ } else {
|
|
|
|
+ params.needWaterMark = false;
|
|
|
|
+ }
|
|
|
|
+ CommonAjax.postXsrfEx("/tender/report_api/getMultiReports", params, WAIT_TIME_EXPORT, true, getCookie('csrfToken_j'),
|
|
|
|
+ function(result){
|
|
|
|
+ $.bootstrapLoading.end();
|
|
|
|
+ if (params.needWaterMark) COMMON_WATER_MARK_PIC_DATA = result.waterMarkStr;
|
|
|
|
+ STAGE_AUDIT = result.stageAudit;
|
|
|
|
+ let pageSize = rptControlObj.getCurrentPageSize();
|
|
|
|
+ let pageDataArr = result.data;
|
|
|
|
+ let signatureRelInfo = result.signatureRelInfo;
|
|
|
|
+ for (const signatureRel of signatureRelInfo) {
|
|
|
|
+ const tmpRel = [];
|
|
|
|
+ tmpRel.push(JSON.parse(signatureRel.rel_content));
|
|
|
|
+ signatureRelArr.push(tmpRel);
|
|
|
|
+ }
|
|
|
|
+ if (current_stage_status === 3) {
|
|
|
|
+ // 统一安排merge(除草图外)
|
|
|
|
+ for (let pageObj of pageDataArr) {
|
|
|
|
+ let singleSignatureRelArr = [];
|
|
|
|
+ for (let rIdx = 0; rIdx < signatureRelInfo.length; rIdx++) {
|
|
|
|
+ let rptId = refRptTplIds[rptControlObj.currentDownloadIdx];
|
|
|
|
+ if (signatureRelInfo[rIdx].rpt_id === rptId) {
|
|
|
|
+ singleSignatureRelArr = signatureRelArr[rIdx]; // 有些报表可能没有签名
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ rptSignatureHelper.mergeSignDate(pageObj, singleSignatureRelArr, false);
|
|
|
|
+ // rptSignatureHelper.mergeSignature(pageObj, signatureRelArr); // 这里merge的意义不大
|
|
|
|
+ rptSignatureHelper.mergeSignAudit(pageObj, singleSignatureRelArr, STAGE_AUDIT);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (isOneBook) {
|
|
|
|
+ me.downloadExcelReportInOneBook(pageDataArr, pageSize, signatureRelArr, signatureRelInfo, refRptTplIds, rpt_names);
|
|
|
|
+ } else {
|
|
|
|
+ // 本地处理
|
|
|
|
+ me.downloadExcelReport(pageDataArr, pageSize, rpt_names);
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ function(failRst){
|
|
|
|
+ $.bootstrapLoading.end();
|
|
|
|
+ console.log(failRst);
|
|
|
|
+ },
|
|
|
|
+ function(exceptionRst){
|
|
|
|
+ $.bootstrapLoading.end();
|
|
|
|
+ console.log(exceptionRst);
|
|
|
|
+ }
|
|
|
|
+ );
|
|
|
|
+ } else {
|
|
|
|
+ // 这个分支本来是为了减少请求,用户已经点过的表,又没有勾选,那么就直接导出EXCEL
|
|
|
|
+ // 但:发现在复杂情况下会影响到原有数据(文本签名 + 签章),为减少麻烦,在前面处理,保证不会走到这分支!
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ getExcel_SingleSelected: async function() {
|
|
|
|
+ if (zTreeOprObj.currentRptPageRst) {
|
|
|
|
+ // 新处理(前端生成excel报表)
|
|
|
|
+ const pageSize = rptControlObj.getCurrentPageSize();
|
|
|
|
+ const rptName = zTreeOprObj.currentNode.name;
|
|
|
|
+ const singlePage = true;
|
|
|
|
+ excelExportUtil.exportExcel(zTreeOprObj.currentRptPageRst, pageSize, rptName, singlePage, null, null, ROLE_REL_LIST, null);
|
|
|
|
+ }
|
|
|
|
+ },
|
|
checkAndGetExcel: function () {
|
|
checkAndGetExcel: function () {
|
|
if (zTreeOprObj.treeObj) {
|
|
if (zTreeOprObj.treeObj) {
|
|
let chkNodes = zTreeOprObj.treeObj.getCheckedNodes(true);
|
|
let chkNodes = zTreeOprObj.treeObj.getCheckedNodes(true);
|
|
if (chkNodes.length > 0) {
|
|
if (chkNodes.length > 0) {
|
|
$("#show_excel_output_cfg").trigger("click");
|
|
$("#show_excel_output_cfg").trigger("click");
|
|
} else {
|
|
} else {
|
|
- rptControlObj.getAllIndividualExcelBook();
|
|
|
|
|
|
+ // rptControlObj.getAllIndividualExcelBook();
|
|
|
|
+ // rptControlObj.getExcel_SingleSelected();
|
|
|
|
+ rptControlObj.getExcel_New(false);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
@@ -800,7 +910,7 @@ let rptControlObj = {
|
|
params.needWaterMark = false;
|
|
params.needWaterMark = false;
|
|
}
|
|
}
|
|
CommonAjax.postXsrfEx("/tender/report_api/getMultiReports", params, WAIT_TIME_EXPORT, true, getCookie('csrfToken_j'),
|
|
CommonAjax.postXsrfEx("/tender/report_api/getMultiReports", params, WAIT_TIME_EXPORT, true, getCookie('csrfToken_j'),
|
|
- function(result){
|
|
|
|
|
|
+ async function(result){
|
|
// closeWaitingView();
|
|
// closeWaitingView();
|
|
$.bootstrapLoading.end();
|
|
$.bootstrapLoading.end();
|
|
if (params.needWaterMark) COMMON_WATER_MARK_PIC_DATA = result.waterMarkStr;
|
|
if (params.needWaterMark) COMMON_WATER_MARK_PIC_DATA = result.waterMarkStr;
|
|
@@ -809,6 +919,9 @@ let rptControlObj = {
|
|
for (const signatureRel of result.signatureRelInfo) {
|
|
for (const signatureRel of result.signatureRelInfo) {
|
|
signatureRelArr.push(JSON.parse(signatureRel.rel_content));
|
|
signatureRelArr.push(JSON.parse(signatureRel.rel_content));
|
|
}
|
|
}
|
|
|
|
+ for (const pageData of result.data) {
|
|
|
|
+ await rptSignatureHelper.resetDummySignature(pageData, null); //
|
|
|
|
+ }
|
|
downloadPDFReport(result.data, pageSize, rpt_names, signatureRelArr, result.signatureRelInfo, refRptTplIds, STAGE_AUDIT);
|
|
downloadPDFReport(result.data, pageSize, rpt_names, signatureRelArr, result.signatureRelInfo, refRptTplIds, STAGE_AUDIT);
|
|
/*
|
|
/*
|
|
for (let idx = 0; idx < result.data.length; idx++) {
|
|
for (let idx = 0; idx < result.data.length; idx++) {
|
|
@@ -1059,7 +1172,7 @@ function downloadPDFReport(pageDataArr, pageSize, rpt_names, signatureRelArr, si
|
|
for (let pageData of pageDataArr) {
|
|
for (let pageData of pageDataArr) {
|
|
for (let page of pageData.items) {
|
|
for (let page of pageData.items) {
|
|
for (let dCell of page.signature_cells) {
|
|
for (let dCell of page.signature_cells) {
|
|
- if (dCell.signature_name === 'dummy_pic') {
|
|
|
|
|
|
+ if (dCell.signature_name.indexOf('dummy_pic') >= 0) {
|
|
let picIdx = picPaths.indexOf(dCell.path);
|
|
let picIdx = picPaths.indexOf(dCell.path);
|
|
if (picIdx < 0) {
|
|
if (picIdx < 0) {
|
|
picPaths.push(dCell.path);
|
|
picPaths.push(dCell.path);
|