123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356 |
- 'use strict'
- let rptTplObj = {
- iniPage: function() {
- zTreeOprObj.getReportTemplateTree(RT.GrpType.CONSTRUCT);
- bandTreeOprObj.getReportTplCfg();
- selectableFiledTreeOprObj.iniTree();
- preview_util.drawBorder($("#tplCanvas")[0]);
- }
- }
- let zTreeOprObj = {
- treeObj: null,
- currentNode: null,
- getReportTemplateTree: function(grpType) {
- let me = zTreeOprObj, params = {};
- params.grpType = grpType;
- params.userId = (userAccount === 'admin')?('-100'):userID;
- params.tplType = RT.TplType.ALL;
- CommonAjax.postEx("report_tpl_api/getRptTplTree", params, 20000, true, function(result){
- zTreeHelper.createTree(result, setting, "rptTplTree", me);
- me.refreshNodes();
- }, null, null
- );
- },
- refreshNodes: function() {
- let me = this;
- let private_setupIsParent = function(node){
- if (node.nodeType == RT.NodeType.NODE) {
- node.isParent = true;
- } else {
- node.isParent = false;
- }
- 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();
- },
- moveUpNode: function() {
- let me = this, nodes = [];
- if (me.currentNode && me.currentNode.getPreNode()) {
- let preNode = me.currentNode.getPreNode(), pre_preNode = preNode.getPreNode();
- me.treeObj.moveNode(preNode, me.currentNode, "prev", true);
- //then update the db
- if (pre_preNode) {
- pre_preNode.NextSiblingID = me.currentNode.ID;
- nodes.push(me.createNodeFromZTreeNode(pre_preNode));
- }
- preNode.NextSiblingID = me.currentNode.NextSiblingID;
- me.currentNode.NextSiblingID = preNode.ID;
- nodes.push(me.createNodeFromZTreeNode(me.currentNode));
- nodes.push(me.createNodeFromZTreeNode(preNode));
- me.updateNodes(nodes);
- }
- },
- moveDownNode: function() {
- let me = this, nodes = [];
- if (me.currentNode && me.currentNode.getNextNode()) {
- let preNode = me.currentNode.getPreNode(), nextNode = me.currentNode.getNextNode();
- me.treeObj.moveNode(nextNode, me.currentNode, "next", true);
- //then update the db
- if (preNode) {
- preNode.NextSiblingID = nextNode.ID;
- nodes.push(me.createNodeFromZTreeNode(preNode));
- }
- me.currentNode.NextSiblingID = nextNode.NextSiblingID;
- nextNode.NextSiblingID = me.currentNode.ID;
- nodes.push(me.createNodeFromZTreeNode(me.currentNode));
- nodes.push(me.createNodeFromZTreeNode(nextNode));
- me.updateNodes(nodes);
- }
- },
- addRootNode: function() {
- let me = this, rawNode = me.createIniRootNode(), lastNodeId = -1, lastNode = null;
- if (me.treeObj) {
- let rootNodes = me.treeObj.getNodes();
- if (rootNodes.length > 0) {
- lastNodeId = rootNodes[rootNodes.length - 1].ID;
- lastNode = rootNodes[rootNodes.length - 1];
- }
- me.addNewNode(rawNode, lastNodeId, function(rst){
- let newNodes = [], isSilent = false;
- if (lastNode) {
- lastNode.NextSiblingID = rst.ID;
- }
- rawNode.ID = rst.ID;
- rawNode.isParent = true;
- rawNode.items = [];
- newNodes.push(rawNode);
- if (me.treeObj) {
- me.treeObj.addNodes(null, -1, newNodes, isSilent);
- } else {
- me.treeObj = $.fn.zTree.init($("#rptTplTree"), setting, newNodes);
- }
- }, null);
- }
- },
- updateNodes: function(nodes){
- if (nodes && nodes.length > 0) {
- let me = this;
- for (let i = 0; i < nodes.length; i++) {
- if (nodes[i].__v != null) node.__v = nodes[i].__v + 1
- else nodes[i].__v = 0;
- }
- let params = {};
- params.nodes = nodes;
- CommonAjax.postEx("report_tpl_api/updateRptTplNodes", params, 5000, true, null, null, null);
- }
- },
- addTplNode: function (){
- let me = this;
- if (me.currentNode && me.currentNode.nodeType === RT.NodeType.NODE) {
- let rawNode = me.createIniRootNode(), lastNodeId = -1, lastNode = null;
- rawNode.nodeType = RT.NodeType.TEMPLATE;
- rawNode.ParentID = me.currentNode.ID;
- rawNode.name = "新增报表模板";
- if (me.treeObj) {
- let nodes = me.currentNode.items;
- if (nodes.length > 0) {
- lastNodeId = nodes[nodes.length - 1].ID;
- lastNode = nodes[nodes.length - 1];
- }
- me.addNewNode(rawNode, lastNodeId, function(rst){
- let newNodes = [], isSilent = false;
- if (lastNode) {
- lastNode.NextSiblingID = rst.ID;
- }
- rawNode.ID = rst.ID;
- rawNode.isParent = false;
- rawNode.items = [];
- newNodes.push(rawNode);
- if (me.treeObj) {
- me.treeObj.addNodes(me.currentNode, -1, newNodes, isSilent);
- } else {
- me.treeObj = $.fn.zTree.init($("#rptTplTree"), setting, newNodes);
- }
- }, null);
- }
- }
- },
- addNewNode: function(rawNode, lastNodeId, callback, failCallback) {
- let params = {};
- params.lastNodeId = lastNodeId;
- params.rawNodeData = rawNode;
- CommonAjax.postEx("report_tpl_api/createTplTreeNode", params, 5000, true, callback, failCallback, null);
- },
- createIniRootNode: function() {
- let rst = {
- ID: -1,
- ParentID: -1,
- NextSiblingID: -1,
- grpType: RT.GrpType.CONSTRUCT,
- nodeType: RT.NodeType.NODE,
- tplType: RT.TplType.ALL,
- userId: (userAccount === 'admin')?('-100'):userID,
- refId: -1,
- name: '新增节点'
- };
- return rst;
- },
- createNodeFromZTreeNode: function(treeNode) {
- let rst = {};
- rst.ID = treeNode.ID;
- rst.ParentID = treeNode.ParentID;
- rst.NextSiblingID = treeNode.NextSiblingID;
- rst.grpType = treeNode.grpType;
- rst.nodeType = treeNode.nodeType;
- rst.tplType = treeNode.tplType;
- rst.userId = treeNode.userId;
- rst.refId = treeNode.refId;
- rst.name = treeNode.name;
- return rst;
- },
- addHoverDom: function(treeId, treeNode) {
- let me = zTreeOprObj, sObj = $("#" + treeNode.tId + "_span");
- if (treeNode.editNameFlag || $("#addBtn_"+treeNode.tId).length > 0 || treeNode.nodeType == RT.NodeType.TEMPLATE) return;
- let addStr = "<span class='button add' id='addBtn_" + treeNode.tId + "' title='新增子节点' onfocus='this.blur();'></span>";
- sObj.after(addStr);
- let btn = $("#addBtn_"+treeNode.tId);
- if (btn) btn.bind("click", function(){
- let rawNode = me.createIniRootNode(), lastNodeId = -1, insertIdx = -1, lastNode = null;
- rawNode.ParentID = treeNode.ID;
- rawNode.name = "新增子节点";
- if (treeNode.items.length > 0) {
- for (let i = treeNode.items.length - 1; i >= 0; i--) {
- if (treeNode.items[i].nodeType == RT.NodeType.NODE) {
- lastNodeId = treeNode.items[i].ID;
- lastNode = treeNode.items[i];
- rawNode.NextSiblingID = treeNode.items[i].NextSiblingID;
- insertIdx = i + 1;
- break;
- } else {
- rawNode.NextSiblingID = treeNode.items[i].ID;
- insertIdx = i;
- }
- }
- }
- zTreeOprObj.addNewNode(rawNode, lastNodeId, function(rst){
- let newNodes = [], isSilent = false;
- if (lastNode) {
- lastNode.NextSiblingID = rst.ID;
- }
- rawNode.ID = rst.ID;
- rawNode.NextSiblingID = rst.NextSiblingID;
- rawNode.isParent = true;
- rawNode.items = [];
- newNodes.push(rawNode);
- treeNode.isParent = true;
- if (me.treeObj) {
- me.treeObj.addNodes(treeNode, insertIdx, newNodes, isSilent);
- } else {
- me.treeObj = $.fn.zTree.init($("#rptTplTree"), setting, newNodes);
- }
- }, null);
- });
- },
- removeHoverDom: function(treeId, treeNode) {
- $("#addBtn_"+treeNode.tId).unbind().remove();
- },
- onBeforeRemove: function(treeId, treeNode){
- let nodeIds = [], preNode = treeNode.getPreNode(), preNodeId = -1, canRemove = false, params = {};
- if (preNode) {
- preNodeId = preNode.ID;
- }
- let private_fetchAllSubItems = function(pItem){
- nodeIds.push(pItem.ID);
- if (pItem.items && pItem.items.length > 0) {
- for (let i = 0; i < pItem.items.length; i++) {
- private_fetchAllSubItems(pItem.items[i]);
- }
- }
- };
- nodeIds.push(treeNode.ID);
- for (let i = 0; i < treeNode.items.length; i++) {
- private_fetchAllSubItems(treeNode.items[i]);
- }
- params.nodeIds = nodeIds;
- params.preNodeId = preNodeId;
- params.preNodeNextId = treeNode.NextSiblingID;
- CommonAjax.postEx("report_tpl_api/deleteRptTplNodes", params, 5000, false, function(data){
- canRemove = true;
- }, null, null);
- return canRemove;
- },
- onRemove: function(e, treeId, treeNode){
- let me = zTreeOprObj, pNode = me.treeObj.getNodeByTId(treeNode.parentTId);
- if (pNode && pNode.items && pNode.items.length == 0) {
- if (pNode.nodeType == RT.NodeType.NODE) pNode.isParent = true
- else pNode.isParent = false;
- me.treeObj.refresh();
- }
- },
- beforeRename: function(treeId, treeNode, newName, isCancel) {
- if (newName.length == 0) {
- return false;
- }
- return true;
- },
- onRename : function(e, treeId, treeNode, isCancel) {
- let me = zTreeOprObj, nodes = [];
- nodes.push(me.createNodeFromZTreeNode(treeNode));
- me.updateNodes(nodes);
- if (treeNode.nodeType == RT.NodeType.TEMPLATE && treeNode.refId >= 0) {
- if (treeNode.rptTpl != null) {
- treeNode.rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MAIN_INFO_RPT_NAME] = treeNode.name;
- $("#rptTplName")[0].value = treeNode.rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MAIN_INFO_RPT_NAME];
- } else {
- me.onClick(e, treeId, treeNode);
- }
- }
- },
- onClick: function(event,treeId,treeNode) {
- let me = zTreeOprObj;
- me.currentNode = treeNode;
- bandTreeOprObj.currentNode = null;
- if (treeNode.nodeType == RT.NodeType.NODE) {
- $("#rpt_tpl_display_label")[0].innerText = "...";
- } else if (treeNode.nodeType == RT.NodeType.TEMPLATE) {
- let showText = treeNode.name, parentNode = treeNode.getParentNode();
- while (parentNode !== null) {
- showText = parentNode.name + ' > ' + showText;
- parentNode = parentNode.getParentNode();
- }
- $("#rpt_tpl_display_label")[0].innerText = showText;
- if (treeNode.refId < 0) {
- //创建新报表模板
- $('#rptTypeSelectionModal').modal('show');
- } else {
- //显示报表模板
- me.chkAndRreshRefTpl();
- }
- }
- },
- createNewTpl: function () {
- let me = zTreeOprObj, params = {};
- if (me.currentNode && me.currentNode.nodeType == RT.NodeType.TEMPLATE) {
- params.treeNodeId = me.currentNode.ID;
- let rptTypeId = common_rpt_type_ids.flow;
- if ($("#crossTypeOpt")[0].checked) rptTypeId = common_rpt_type_ids.cross;
- if ($("#billTypeOpt")[0].checked) rptTypeId = common_rpt_type_ids.bill;
- params.rptDftTplId = rptTypeId
- CommonAjax.postEx("report_tpl_api/createDftRptTpl", params, 20000, true, function(result){
- me.currentNode.rptTpl = result;
- }, null, null
- );
- }
- },
- chkAndRreshRefTpl: function() {
- let me = zTreeOprObj, params = {};
- if (me.currentNode && me.currentNode.nodeType == RT.NodeType.TEMPLATE && me.currentNode.refId > 0) {
- if (!(me.currentNode.rptTpl)) {
- params.rptTplId = me.currentNode.refId;
- CommonAjax.postEx("report_tpl_api/getRefRptTpl", params, 20000, true, function(result){
- me.currentNode.rptTpl = result;
- me.currentNode.rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MAIN_INFO_RPT_NAME] = me.currentNode.name;
- tplHelper.refreshTplView(me.currentNode.rptTpl);
- }, null, null
- );
- } else {
- me.currentNode.rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MAIN_INFO_RPT_NAME] = me.currentNode.name;
- tplHelper.refreshTplView(me.currentNode.rptTpl);
- }
- }
- },
- getRefTpl: function() {
- let me = zTreeOprObj, rst = null;
- if (me.currentNode && me.currentNode.nodeType == RT.NodeType.TEMPLATE && me.currentNode.refId > 0) {
- rst = me.currentNode.rptTpl
- }
- return rst;
- },
- extractMainInfo: function (rptTpl) {
- //模板信息
- rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MAIN_INFO_RPT_NAME] = $("#rptTplName")[0].value;
- rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_PAGE_SIZE] = JV.PAGES_SIZE_STR[$("#rptTplPageSize")[0].selectedIndex];
- if ($("#rptTplPageOrientation")[0].selectedIndex == 1) {
- rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_ORIENTATION] = JV.ORIENTATION_PORTRAIT;
- } else {
- rptTpl[JV.NODE_MAIN_INFO][JV.NODE_PAGE_INFO][JV.PROP_ORIENTATION] = JV.ORIENTATION_LANDSCAPE;
- }
- if (rptTpl[JV.NODE_FLOW_INFO]) {
- rptTpl[JV.NODE_FLOW_INFO][JV.PROP_MULTI_COLUMN] = parseInt($("#rptTplMultiCols")[0].value);
- }
- rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MARGINS][JV.PROP_LEFT] = $("#rptTplMarginLeft")[0].value;
- rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MARGINS][JV.PROP_RIGHT] = $("#rptTplMarginRight")[0].value;
- rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MARGINS][JV.PROP_TOP] = $("#rptTplMarginTop")[0].value;
- rptTpl[JV.NODE_MAIN_INFO][JV.NODE_MARGINS][JV.PROP_BOTTOM] = $("#rptTplMarginBottom")[0].value;
- }
- };
|