123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243 |
- 'use strict'
- let rptTplObj = {
- iniPage: function() {
- let me = this
- zTreeOprObj.getReportTemplateTree(RT.GrpType.CONSTRUCT);
- }
- }
- let zTreeOprObj = {
- treeObj: null,
- currentNode: null,
- getReportTemplateTree: function(grpType) {
- let me = zTreeOprObj, params = {};
- params.grpType = grpType;
- params.userId = 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();
- },
- 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/updateTptTplNodes", params, 5000, true, null, null, null);
- }
- },
- addTplNode: function (){
- let me = this;
- if (me.currentNode) {
- 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: 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/deleteTptTplNodes", 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);
- },
- onClick: function(event,treeId,treeNode) {
- let me = zTreeOprObj;
- if (treeNode.nodeType == RT.NodeType.NODE) {
- me.currentNode = treeNode;
- } else if (treeNode.nodeType == RT.NodeType.TEMPLATE) {
- me.currentNode = null;
- }
- }
- }
|