/** * Created by Tony on 2021/4/2. */ let rptArchiveObj = { treeObj: null, currentNode: null, currentArchiveUuid: null, currentArchiveDateStr: null, iniPage: function() { //初始化页面的归档信息 let me = rptArchiveObj; me.currentNode = null; me.currentArchiveUuid = null; me.currentArchiveDateStr = 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(); }, toggleBtn: function (enabled) { if (current_stage_status === 3 && enabled) { $('#btnArchiveRpt').removeAttr('disabled'); $('#btnArchiveList').removeAttr('disabled'); } else { $('#btnArchiveRpt').attr('disabled', ''); $('#btnArchiveList').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; if (aItem.items && aItem.items.length > 0) { // me.currentArchiveUuid = aItem.items[0].uuid; me.currentArchiveUuid = aItem.items[aItem.items.length - 1].uuid; // me.currentArchiveDateStr = aItem.items[0].updateDate_time; me.currentArchiveDateStr = '#' + (aItem.items.length) + ' ' + aItem.items[aItem.items.length - 1].updateDate_time; } break; } } me._countChkedRptTpl(); me._buildeArchiveDateSelect(); me._requestArchiveReport(); } }, _requestArchiveReport: function () { let me = rptArchiveObj; if (me.currentNode && me.currentArchiveUuid) { try { // 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()); } } }, _changeArchiveDateSelect: function (dom) { let me = rptArchiveObj; // me.currentArchiveUuid = dom.uuid; //在dom的onclick时已经设置过了 me.currentArchiveDateStr = dom.innerHTML; $('#iframe_made').html(''); me._buildeArchiveDateSelect(); }, _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); } } } } } }, _countChkedRptTpl: function () { let me = rptArchiveObj; 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; }); } }, 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) { auditDate = new Date(LAST_AUDITOR.begin_time); achivedAmt = item.items?item.items.length:0; achivedItem = item; break; } } if (auditDate) { cardArchiveInfo.append('