/**
* Created by Tony on 2021/4/2.
*/
let rptArchiveObj = {
treeObj: null,
currentNode: null,
currentArchiveUuid: null,
currentChildArchiveUuids: null,
currentArchiveDateStr: null,
currentEncryptionList: null,
currentArchivePdfPath: null,
iniPage: function() {
//初始化页面的归档信息
let me = rptArchiveObj;
me.currentNode = null;
me.currentArchiveUuid = null;
me.currentChildArchiveUuids = null;
me.currentArchiveDateStr = null;
me.currentEncryptionList = null;
me.currentArchivePdfPath = null;
const archivedRptIds = [];
for (let aItem of ARCHIVE_LIST) {
archivedRptIds.push(parseInt(aItem.rpt_id));
}
let private_remove_hide_item = function (items, nlv) {
if (items && items.length > 0) {
for (let i = items.length - 1; i >= 0; i--) {
if (!(items[i].released) && items[i].nodeType === 2) {
items.splice(i, 1);
} else {
if (items[i].items && items[i].items.length > 0) {
private_remove_hide_item(items[i].items, nlv + 1);
if (items[i].items.length === 0 && nlv > 0) {
items.splice(i, 1);
}
}
}
}
}
};
const private_remove_un_archive_item = function(items, nlv) {
if (items && items.length > 0) {
for (let i = items.length - 1; i >= 0; i--) {
if (items[i].nodeType === 2) {
if (archivedRptIds.indexOf(items[i].refId) < 0) {
items.splice(i, 1);
}
} else {
if (items[i].items && items[i].items.length > 0) {
private_remove_un_archive_item(items[i].items, nlv + 1);
if (items[i].items.length === 0 && nlv > 0) {
items.splice(i, 1);
}
} else {
//items[i]是目录,但又没有items子项,
items.splice(i, 1);
}
}
}
}
};
let nodeLv = 0;
private_remove_hide_item(TOP_TREE_NODES, nodeLv);
private_remove_un_archive_item(TOP_TREE_NODES, nodeLv);
zTreeHelper.createTreeDirectly(TOP_TREE_NODES, rpt_prj_folder_setting, "rptTplTree", me);
me.treeObj.expandAll(true);
me.refreshNodes();
rptArchiveObj._countChkedRptTpl();
rptArchiveObj._buildeArchiveDateSelect();
rptArchiveObj._iniArchiveItemForDeleteShow();
rptArchiveObj._iniArchiveItemForDeleteShow();
},
toggleBtn: function (enabled) {
if (current_stage_status === 3 && enabled) {
$('#btnArchiveRpt').removeAttr('disabled');
$('#btnArchiveList').removeAttr('disabled');
$('#btnBatchArchiveRpt').removeAttr('disabled');
} else {
$('#btnArchiveRpt').attr('disabled', '');
$('#btnArchiveList').attr('disabled', '');
$('#btnBatchArchiveRpt').attr('disabled', '');
}
},
refreshNodes: function() {
let me = this;
let private_setupIsParent = function(node){
node.isParent = (node.nodeType === RT.NodeType.NODE || node.level === 0);
if (node.items && node.items.length) {
for (let i = 0; i < node.items.length; i++) {
private_setupIsParent(node.items[i]);
}
}
};
let topNodes = me.treeObj.getNodes();
for (let i = 0; i < topNodes.length; i++) {
private_setupIsParent(topNodes[i]);
}
me.treeObj.refresh();
},
onCheck: function(event, treeId, treeNode) {
rptArchiveObj._countChkedRptTpl();
if (treeNode.isParent) {
rptArchiveObj.treeObj.expandNode(treeNode, true, true, false);
}
},
onClick: function(event,treeId,treeNode) {
let me = rptArchiveObj;
if (treeNode && treeNode.nodeType === TPL_TYPE_TEMPLATE && treeNode.refId > 0) {
me.currentNode = treeNode;
for (let aItem of ARCHIVE_LIST) {
if (treeNode.refId === parseInt(aItem.rpt_id)) {
me.currentArchiveUuid = null;
me.currentArchiveDateStr = null;
me.currentArchivePdfPath = null;
if (aItem.items && aItem.items.length > 0) {
// me.currentArchiveUuid = aItem.items[0].uuid;
// me.currentArchiveDateStr = aItem.items[0].updateDate_time;
const newItems = _.orderBy(aItem.items, ['updateDate_time'], ['desc']);
me.currentArchiveUuid = newItems[0].uuid;
me.currentChildArchiveUuids = newItems[0].childUuids;
me.currentArchiveDateStr = '#' + (_.findIndex(aItem.items, { updateDate_time: newItems[0].updateDate_time})+1) + ' ' + newItems[0].updateDate_time;
if (can_netcasign) {
for (const [i,item] of aItem.items.entries()) {
if (_.find(signLogList, { uuid: item.uuid })) {
me.currentArchiveUuid = item.uuid;
me.currentChildArchiveUuids = item.childUuids;
me.currentArchiveDateStr = '#' + (i+1) + ' ' + item.updateDate_time;
break;
}
}
}
}
break;
}
}
me._countChkedRptTpl();
me._buildeArchiveDateSelect();
me._requestArchiveReport();
rptArchiveObj._iniArchiveItemForDeleteShow();
}
},
batchArchive: function() {
if (zTreeOprObj.checkedRptTplNodes && zTreeOprObj.checkedRptTplNodes.length > 0) {
if (zTreeOprObj.checkedRptTplNodes.length <= 10) {
indexDbOprObj.storeReportRequest(current_stage_id, zTreeOprObj.checkedRptTplNodes, indexDbOprObj.startRequestReport);
} else {
alert('批量归档上限为10,请勾选10张以内');
}
}
},
_requestArchiveReport: function () {
let me = rptArchiveObj;
if (me.currentNode && me.currentArchiveUuid) {
try {
if (can_netcasign) {
let msgSign = _.find(ARCHIVE_ENCRYPTION_LIST, {rpt_id: me.currentNode.ID, uuid: me.currentArchiveUuid});
if (!msgSign) {
msgSign = _.find(ARCHIVE_ENCRYPTION_LIST, {rpt_id: me.currentNode.ID});
}
console.log(current_stage_id, msgSign, me.currentArchiveUuid);
me.currentEncryptionList = msgSign;
const uSignLogList = _.filter(signLogList, { uuid: me.currentArchiveUuid });
let html = '';
let pagetr = '';
if (msgSign) {
const rows = 12/msgSign.encryption.length < 3 ? 'col-3' : 'col-' + 12/msgSign.encryption.length;
for (const [index,role] of msgSign.encryption.entries()) {
const disablehtml = _.find(uSignLogList, { role: role.name }) ? ' disabled' : '';
html += '
\n' +
'
\n' +
' \n' +
' \n' +
'
\n' +
'
';
}
let uhtml = '';
for (const us of uSignLogList) {
uhtml += ' '+ us.role +'('+ us.name +')';
}
for (let i = 1; i <= msgSign.total_page; i++) {
pagetr += '
页'+ i +'
'+ me.currentNode.name +'
'+ uhtml +'
';
}
}
$('#dateStr').html(me.currentArchiveDateStr);
$('#role-list').html(html);
$('#page-list').html(pagetr);
$('#sign_num').text(uSignLogList.length);
const uHadSign = _.filter(uSignLogList, { uid: USER_ID});
// 是否显示撤销按钮
if(uHadSign && uHadSign.length > 0) {
$('#show-removesign-modal-btn').show();
} else {
$('#show-removesign-modal-btn').hide();
}
postData('/tender/'+ TENDER_ID +'/signReport/post', {type: 'pdfIsExist', uuid: me.currentArchiveUuid}, function (result) {
me.currentArchivePdfPath = result ? oss_path + '/sign/'+ me.currentArchiveUuid +'.PDF' + (uSignLogList.length !== 0 ? '?' + uSignLogList[uSignLogList.length-1].versionid : '') : oss_path + '/'+ me.currentArchiveUuid +'.PDF?' + new Date(me.currentArchiveDateStr.slice(3).replace(/-/g, '/')).getTime();
$('#iframe_made').html('');
}, function () {
me.currentArchivePdfPath = oss_path + '/'+ me.currentArchiveUuid +'.PDF?' + new Date(me.currentArchiveDateStr.slice(3).replace(/-/g, '/')).getTime();
$('#iframe_made').html('');
})
} else {
me.currentArchivePdfPath = oss_path + '/'+ me.currentArchiveUuid +'.PDF?' + new Date(me.currentArchiveDateStr.slice(3).replace(/-/g, '/')).getTime();
$('#iframe_made').html('');
console.log(me.currentArchivePdfPath);
}
// let uuIdUrl = "/getArchivedFileByUUID/" + me.currentArchiveUuid + "/" + stringUtil.replaceAll(me.currentNode.name, "#", "_");
// console.log(uuIdUrl);
// $('#iframe_made').html('');
// NetcaPDFSeal.openPDFWithUrl(window.location.href);
// window.location = uuIdUrl;
} catch (ex) {
console.log(ex.toString());
}
}
},
_setChildUuidsByCurUuid: () => {
let me = rptArchiveObj;
me.currentChildArchiveUuids = null;
if (me.currentNode && me.currentArchiveUuid) {
for (let aItem of ARCHIVE_LIST) {
if (me.currentNode.refId === parseInt(aItem.rpt_id)) {
for (let [index,item] of aItem.items.entries()) {
if (item.uuid === me.currentArchiveUuid) {
me.currentChildArchiveUuids = item.childUuids;
break;
}
}
break;
}
}
}
},
_changeArchiveDateSelect: function (dom, archiveIdx) {
let me = rptArchiveObj;
// me.currentArchiveUuid = dom.uuid; //在dom的onclick时已经设置过了
me.currentArchiveDateStr = dom.innerHTML;
me._setChildUuidsByCurUuid();
if(can_netcasign) {
postData('/tender/'+ TENDER_ID +'/signReport/post', {type: 'pdfIsExist', uuid: me.currentArchiveUuid}, function (result) {
const uSignLogList = _.filter(signLogList, { uuid: me.currentArchiveUuid });
me.currentArchivePdfPath = result ? oss_path + '/sign/'+ me.currentArchiveUuid +'.PDF' + (uSignLogList.length !== 0 ? '?' + uSignLogList[uSignLogList.length-1].versionid : '') : oss_path + '/'+ me.currentArchiveUuid +'.PDF?' + new Date(me.currentArchiveDateStr.slice(3).replace(/-/g, '/')).getTime();
$('#iframe_made').html('');
me._buildeArchiveDateSelect();
}, function () {
me.currentArchivePdfPath = oss_path + '/'+ me.currentArchiveUuid +'.PDF?' + new Date(me.currentArchiveDateStr.slice(3).replace(/-/g, '/')).getTime();
$('#iframe_made').html('');
me._buildeArchiveDateSelect();
});
// me._updateSignHtmlAndFrame();
me._requestArchiveReport();
me._iniArchiveItemForDeleteShow();
} else {
me.currentArchivePdfPath = oss_path + '/'+ me.currentArchiveUuid +'.PDF?' + new Date(me.currentArchiveDateStr.slice(3).replace(/-/g, '/')).getTime();
$('#iframe_made').html('');
me._buildeArchiveDateSelect();
me._iniArchiveItemForDeleteShow();
}
},
_buildeArchiveDateSelect: function () {
let me = rptArchiveObj;
let targetDom = document.getElementById("currentDrpArchiveSelect");
targetDom.innerHTML = me.currentArchiveDateStr;
let drpDom = $("#drpArchiveSelect");
drpDom.empty();
if (me.currentNode && me.currentArchiveUuid && me.currentArchiveDateStr) {
for (let aItem of ARCHIVE_LIST) {
if (me.currentNode.refId === parseInt(aItem.rpt_id)) {
for (let [index,item] of aItem.items.entries()) {
if (item.uuid !== me.currentArchiveUuid) {
const str = `#${index+1} ${item.updateDate_time}`
drpDom.append(str);
}
}
}
}
}
},
_updateSignHtmlAndFrame: function (needFrame = false) {
const me = rptArchiveObj;
const uSignLogList = _.filter(signLogList, { uuid: me.currentArchiveUuid });
for (let i = 0; i < $('#role-list div').length; i++) {
if (_.find(uSignLogList, { role: $('#role-list div').eq(i).find('label').text() })) {
$('#role-list div').eq(i).find('input').attr('disabled', true);
} else {
$('#role-list div').eq(i).find('input').removeAttr('disabled');
}
$('#role-list div').eq(i).find('input').prop('checked', false);
}
let uhtml = '';
let pagetr = '';
let msgSign = _.find(ARCHIVE_ENCRYPTION_LIST, {rpt_id: me.currentNode.ID, uuid: me.currentArchiveUuid});
if (!msgSign) {
msgSign = _.find(ARCHIVE_ENCRYPTION_LIST, {rpt_id: me.currentNode.ID});
}
for (const us of uSignLogList) {
uhtml += ' '+ us.role +'('+ us.name +')';
}
for (let i = 1; i <= msgSign.total_page; i++) {
pagetr += '
页'+ i +'
'+ me.currentNode.name +'
'+ uhtml +'
';
}
$('#page-list').html(pagetr);
if (needFrame) {
me.currentArchivePdfPath = uSignLogList.length > 0 ? oss_path + '/sign/'+ me.currentArchiveUuid +'.PDF' : oss_path + '/'+ me.currentArchiveUuid +'.PDF?' + new Date(me.currentArchiveDateStr.slice(3).replace(/-/g, '/')).getTime();
$('#iframe_made').html('');
}
$('#dateStr').html(me.currentArchiveDateStr);
$('#sign_num').text(uSignLogList.length);
const uHadSign = _.filter(uSignLogList, { uid: USER_ID});
// 是否显示撤销按钮
if(uHadSign && uHadSign.length > 0) {
$('#show-removesign-modal-btn').show();
} else {
$('#show-removesign-modal-btn').hide();
}
},
_countChkedRptTpl: function () {
let me = rptArchiveObj;
$('#delete_archive_btn').attr('disabled', '');
if (me.treeObj) {
me.checkedRptTplNodes = [];
let chkNodes = me.treeObj.getCheckedNodes(true), cnt = 0, hasCurrentNode = false;
for (let node of chkNodes) {
if (node.nodeType === TPL_TYPE_TEMPLATE) {
cnt++;
me.checkedRptTplNodes.push(node);
if (me.currentNode === node) hasCurrentNode = true;
}
}
if (!hasCurrentNode && cnt === 0 && me.currentNode !== null) {
//这里根据实际需求再做处理
cnt++;
me.checkedRptTplNodes.push(me.currentNode);
}
$("#print_div").find("span").each(function(cIdx,elementSpan){
elementSpan.innerText = cnt;
});
$("#export_div").find("span").each(function(cIdx,elementSpan){
elementSpan.innerText = cnt;
});
if (cnt) {
$('#delete_archive_btn').removeAttr('disabled');
}
}
},
_iniArchiveItemForDeleteShow: function() {
let me = rptArchiveObj;
const dispArchInfoBody = $('#disp_archive_info_body');
dispArchInfoBody.empty();
let targetDom = document.getElementById("currentDrpArchiveSelect");
let firstStr = `
确认删除本张【${targetDom.innerText}】归档报表?
`;
let secondStr = `
删除后,数据无法恢复,请谨慎操作。
`;
dispArchInfoBody.append(firstStr);
dispArchInfoBody.append(secondStr);
},
showArchivedItem: function(currentNode) {
//初始化当前报表已经归档的信息
//ARCHIVE_LIST结构:[{rpt_id, items: [{uuid, update_time, is_common}...最多3个]}...] (当前项目、当前期的所有报表归档信息)
if (currentNode) {
//1. cardArchiveInfo
let cardArchiveInfo = $('#cardArchiveInfo');
cardArchiveInfo.empty();
let auditDate = null;
let achivedAmt = 0;
let achivedItem = null;
for (let item of ARCHIVE_LIST) {
if (parseInt(item.rpt_id) === currentNode.refId) {
if (LAST_AUDITOR.end_time) {
auditDate = new Date(LAST_AUDITOR.end_time);
} else {
auditDate = new Date(LAST_AUDITOR.begin_time);
}
achivedAmt = item.items?item.items.length:0;
achivedItem = item;
break;
}
}
if (auditDate) {
cardArchiveInfo.append('