|
@@ -722,13 +722,15 @@ let rptControlObj = {
|
|
|
}
|
|
|
},
|
|
|
|
|
|
- downloadExcelReport: async function(pageDataArr, pageSize, rpt_names) {
|
|
|
+ downloadExcelReport: async function(pageDataArr, pageSize, rpt_names, signatureRelArr) {
|
|
|
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);
|
|
|
+ let role_rel_list = signatureRelArr[currentIndex];
|
|
|
+ // await excelExportUtil.exportExcel(pageDataArr[currentIndex], pageSize, rptName, singlePage, null, null, ROLE_REL_LIST, null);
|
|
|
+ await excelExportUtil.exportExcel(pageDataArr[currentIndex], pageSize, rptName, singlePage, null, null, role_rel_list, null);
|
|
|
}
|
|
|
};
|
|
|
for (let idx = 0; idx < pageDataArr.length; idx++) {
|
|
@@ -736,8 +738,63 @@ let rptControlObj = {
|
|
|
}
|
|
|
},
|
|
|
|
|
|
- downloadExcelReportInOneBook: async function(pageDataArr, pageSize, signatureRelArr, signatureRelInfo, refRptTplIds, rpt_names) {
|
|
|
- //
|
|
|
+ downloadExcelReportInOneBook: async function(pageDataArr, pageSize, signatureRelArr, rpt_names) {
|
|
|
+ let rptRoleRelArr = [];
|
|
|
+ let ttlRoleAmt = 0;
|
|
|
+ const reAssignSignatureName = function(pageData, roleRel, rpt_name_key) {
|
|
|
+ const keyMap = {};
|
|
|
+ for (const pageItem of pageData.items) {
|
|
|
+ for (const signCell of pageItem[JV.PROP_SIGNATURE_CELLS]) {
|
|
|
+ if (!keyMap.hasOwnProperty(signCell.signature_name)) {
|
|
|
+ keyMap[signCell.signature_name] = rpt_name_key + '_' + signCell.signature_name;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //水印也要reAssign
|
|
|
+ for (const watermarkCell of pageItem[JV.PROP_WATERMARK_CELLS]) {
|
|
|
+ if (!keyMap.hasOwnProperty(watermarkCell.signature_name)) {
|
|
|
+ keyMap[watermarkCell.signature_name] = rpt_name_key + '_' + watermarkCell.signature_name;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (const pageItem of pageData.items) {
|
|
|
+ for (const signCell of pageItem[JV.PROP_SIGNATURE_CELLS]) {
|
|
|
+ if (keyMap.hasOwnProperty(signCell.signature_name)) {
|
|
|
+ signCell.signature_name = keyMap[signCell.signature_name];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (const watermarkCell of pageItem[JV.PROP_WATERMARK_CELLS]) {
|
|
|
+ if (keyMap.hasOwnProperty(watermarkCell.signature_name)) {
|
|
|
+ watermarkCell.signature_name = keyMap[watermarkCell.signature_name];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ for (const roleSign of roleRel) {
|
|
|
+ if (keyMap.hasOwnProperty(roleSign.signature_name)) {
|
|
|
+ roleSign.signature_name = keyMap[roleSign.signature_name];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ };
|
|
|
+ for (let idx = 0; idx < pageDataArr.length; idx++) {
|
|
|
+ let roleRel = signatureRelArr[idx];
|
|
|
+ ttlRoleAmt += roleRel.length;
|
|
|
+ pageDataArr[idx][JV.NODE_PAGE_INFO][JV.NODE_MAIN_INFO_RPT_NAME] = rpt_names[idx];
|
|
|
+
|
|
|
+ // 这里要做些电子签名的signature_name转换,以防重名
|
|
|
+ if (roleRel.length > 0) {
|
|
|
+ reAssignSignatureName(pageDataArr[idx], roleRel, rpt_names[idx]);
|
|
|
+ rptRoleRelArr = rptRoleRelArr.concat(roleRel);
|
|
|
+ }
|
|
|
+
|
|
|
+ let hasWaterMark = false;
|
|
|
+ if (pageDataArr[idx].items[0][JV.PROP_WATERMARK_CELLS] && pageDataArr[idx].items[0][JV.PROP_WATERMARK_CELLS].length > 0) {
|
|
|
+ hasWaterMark = true;
|
|
|
+ }
|
|
|
+ if (ttlRoleAmt < 1 && hasWaterMark) {
|
|
|
+ reAssignSignatureName(pageDataArr[idx], [], rpt_names[idx]);
|
|
|
+ rptRoleRelArr = rptRoleRelArr.concat([pageDataArr[idx].items[0][JV.PROP_WATERMARK_CELLS][0].signature_name]);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ excelExportUtil.exportExcelInOneBook(pageDataArr, pageSize, TENDER_NAME, rptRoleRelArr, null);
|
|
|
},
|
|
|
|
|
|
getExcel_New: async function (isOneBook) {
|
|
@@ -773,22 +830,21 @@ let rptControlObj = {
|
|
|
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));
|
|
|
+ for (let pageObj of pageDataArr) {
|
|
|
+ let tmpRel = [];
|
|
|
+ for (const signatureRel of signatureRelInfo) {
|
|
|
+ if (signatureRel.rpt_id === pageObj.id) {
|
|
|
+ tmpRel = JSON.parse(signatureRel.rel_content);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
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;
|
|
|
- }
|
|
|
- }
|
|
|
+ for (let idx = 0; idx < pageDataArr.length; idx++) {
|
|
|
+ const pageObj = pageDataArr[idx];
|
|
|
+ let singleSignatureRelArr = signatureRelArr[idx];
|
|
|
rptSignatureHelper.mergeSignDate(pageObj, singleSignatureRelArr, false);
|
|
|
// rptSignatureHelper.mergeSignature(pageObj, signatureRelArr); // 这里merge的意义不大
|
|
|
rptSignatureHelper.mergeSignAudit(pageObj, singleSignatureRelArr, STAGE_AUDIT);
|
|
@@ -796,10 +852,9 @@ let rptControlObj = {
|
|
|
}
|
|
|
|
|
|
if (isOneBook) {
|
|
|
- me.downloadExcelReportInOneBook(pageDataArr, pageSize, signatureRelArr, signatureRelInfo, refRptTplIds, rpt_names);
|
|
|
+ me.downloadExcelReportInOneBook(pageDataArr, pageSize, signatureRelArr, rpt_names);
|
|
|
} else {
|
|
|
- // 本地处理
|
|
|
- me.downloadExcelReport(pageDataArr, pageSize, rpt_names);
|
|
|
+ me.downloadExcelReport(pageDataArr, pageSize, rpt_names, signatureRelArr);
|
|
|
}
|
|
|
},
|
|
|
function(failRst){
|
|
@@ -818,23 +873,12 @@ let rptControlObj = {
|
|
|
}
|
|
|
},
|
|
|
|
|
|
- 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 () {
|
|
|
if (zTreeOprObj.treeObj) {
|
|
|
let chkNodes = zTreeOprObj.treeObj.getCheckedNodes(true);
|
|
|
if (chkNodes.length > 0) {
|
|
|
$("#show_excel_output_cfg").trigger("click");
|
|
|
} else {
|
|
|
- // rptControlObj.getAllIndividualExcelBook();
|
|
|
- // rptControlObj.getExcel_SingleSelected();
|
|
|
rptControlObj.getExcel_New(false);
|
|
|
}
|
|
|
}
|
|
@@ -842,9 +886,11 @@ let rptControlObj = {
|
|
|
getExcel: function () {
|
|
|
let me = rptControlObj;
|
|
|
if ($("#excelExportType_AllInOneBook")[0].checked) {
|
|
|
- me.getAllInOneBook();
|
|
|
+ // me.getAllInOneBook();
|
|
|
+ rptControlObj.getExcel_New(true);
|
|
|
} else if ($("#excelExportType_IndividualBook")[0].checked) {
|
|
|
- me.getAllIndividualExcelBook();
|
|
|
+ // me.getAllIndividualExcelBook();
|
|
|
+ rptControlObj.getExcel_New(false);
|
|
|
}
|
|
|
},
|
|
|
getPdfFontCallbackLight: function(fontProperty) {
|
|
@@ -923,27 +969,6 @@ let rptControlObj = {
|
|
|
await rptSignatureHelper.resetDummySignature(pageData, null); //
|
|
|
}
|
|
|
downloadPDFReport(result.data, pageSize, rpt_names, signatureRelArr, result.signatureRelInfo, refRptTplIds, STAGE_AUDIT);
|
|
|
- /*
|
|
|
- for (let idx = 0; idx < result.data.length; idx++) {
|
|
|
- let pageData = result.data[idx];
|
|
|
- // if (current_stage_status === 3) {
|
|
|
- // rptSignatureHelper.mergeSignDate(pageData);
|
|
|
- // rptSignatureHelper.mergeSignature(pageData);
|
|
|
- // rptSignatureHelper.mergeSignAudit(pageRst, ROLE_REL_LIST, STAGE_AUDIT);
|
|
|
- // }
|
|
|
- // 备注:因多表的原因,无需merge电子签名,在下面处理
|
|
|
- let singleSignatureRelArr = [];
|
|
|
- for (let rIdx = 0; rIdx < result.signatureRelInfo.length; rIdx++) {
|
|
|
- if (result.signatureRelInfo[rIdx].rpt_id === refRptTplIds[idx]) {
|
|
|
- // singleSignatureRelArr.push(signatureRelArr[rIdx]);
|
|
|
- singleSignatureRelArr = signatureRelArr[rIdx]; // 有些报表可能没有签名
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- // JpcJsPDFHelper.outputAsPdf(pageData, pageSize, rpt_names[idx], signatureRelArr);
|
|
|
- JpcJsPDFHelper.outputAsPdf(pageData, pageSize, rpt_names[idx], singleSignatureRelArr, STAGE_AUDIT); // 精确控制签名
|
|
|
- }
|
|
|
- //*/
|
|
|
},
|
|
|
function(failRst){
|
|
|
// closeWaitingView();
|