|
@@ -2,8 +2,9 @@
|
|
|
|
|
|
let rptTplObj = {
|
|
|
iniPage: function() {
|
|
|
- //zTreeOprObj.getReportTemplateTree(RT.GrpType.CONSTRUCT);
|
|
|
- zTreeOprObj.getReportTemplateTree("598d239605cdd825682925d1", [1,2]);
|
|
|
+ zTreeOprObj.iniEngineerIdList();
|
|
|
+ zTreeOprObj.getCompilationList();
|
|
|
+ // zTreeOprObj.getReportTemplateTree(RT.GrpType.CONSTRUCT);
|
|
|
bandTreeOprObj.getReportTplCfg();
|
|
|
selectableFiledTreeOprObj.iniTree();
|
|
|
preview_util.drawBorder($("#tplCanvas")[0]);
|
|
@@ -13,35 +14,28 @@ let rptTplObj = {
|
|
|
let zTreeOprObj = {
|
|
|
treeObj: null,
|
|
|
currentNode: null,
|
|
|
+ iniEngineerIdList: function() {
|
|
|
+ for (let item of engineeringList) {
|
|
|
+ $("#engineerIds").append("<option value='" + item.value + "'>" + item.name + "</option>");
|
|
|
+ }
|
|
|
+ },
|
|
|
getCompilationList: function(){
|
|
|
- //
|
|
|
- },
|
|
|
- // 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
|
|
|
- // );
|
|
|
- // },
|
|
|
- getReportTemplateTree: function(compilationId, engineerId) {
|
|
|
let me = zTreeOprObj, params = {};
|
|
|
- params.compilationId = compilationId;
|
|
|
- params.userId = (userAccount === 'admin')?(parseInt(-100)):parseInt(userID);
|
|
|
- params.engineerId = engineerId;
|
|
|
- CommonAjax.postEx("report_tpl_api/getRptTplTree", params, 20000, true, function(result){
|
|
|
- zTreeHelper.createTreeDirectly(result, setting, "rptTplTree", me);
|
|
|
- me.refreshNodes();
|
|
|
+ CommonAjax.postEx("report_tpl_api/getCompilationList", params, 20000, true, function(result){
|
|
|
+ //console.log(result);
|
|
|
+ for (let item of result) {
|
|
|
+ if (item.is_release) {
|
|
|
+ $("#compilations").append("<option value='" + item._id + "'>" + item.name + "</option>");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ me.getReportTemplateTree($("#compilations").get(0));
|
|
|
}, null, null
|
|
|
);
|
|
|
},
|
|
|
refreshNodes: function() {
|
|
|
let me = this;
|
|
|
let private_setupIsParent = function(node){
|
|
|
- if (node.nodeType == RT.NodeType.NODE) {
|
|
|
+ if (node.nodeType === RT.NodeType.NODE || node.level === 0) {
|
|
|
node.isParent = true;
|
|
|
} else {
|
|
|
node.isParent = false;
|
|
@@ -58,6 +52,364 @@ let zTreeOprObj = {
|
|
|
}
|
|
|
me.treeObj.refresh();
|
|
|
},
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ removeTreeRootNode: function(rawNode, isSync, callback, failCallback) {
|
|
|
+ let params = {};
|
|
|
+ params.compilationId = rawNode.compilationId;
|
|
|
+ params.engineerId = rawNode.engineerId;
|
|
|
+ params.userId = rawNode.userId;
|
|
|
+ params.isPhysically = true;
|
|
|
+ CommonAjax.postEx("report_tpl_api/removeTreeRootNode", params, 5000, isSync, callback, failCallback, null);
|
|
|
+ },
|
|
|
+ updateTreeRootNode: function(rawNode, isSync, callback, failCallback) {
|
|
|
+ let params = {};
|
|
|
+ params.doc = rawNode;
|
|
|
+ CommonAjax.postEx("report_tpl_api/updateTreeRootNode", params, 5000, isSync, callback, failCallback, null);
|
|
|
+ },
|
|
|
+ createIniNode: function() {
|
|
|
+ let rst = {
|
|
|
+ nodeType: RT.NodeType.TEMPLATE,
|
|
|
+ refId: -1,
|
|
|
+ name: "",
|
|
|
+ items: null
|
|
|
+ };
|
|
|
+ return rst;
|
|
|
+ },
|
|
|
+ buildRootNodeDoc: function(topNode, excludeNode) {
|
|
|
+ let me = this, rst = null;
|
|
|
+ let private_build_items = function (items) {
|
|
|
+ let itemRst = null;
|
|
|
+ if (items && items.length > 0) {
|
|
|
+ itemRst = [];
|
|
|
+ for (let item of items) {
|
|
|
+ if (item !== excludeNode) {
|
|
|
+ let ir = {};
|
|
|
+ ir.nodeType = item.nodeType;
|
|
|
+ ir.refId = item.refId;
|
|
|
+ ir.name = item.name;
|
|
|
+ ir.items = private_build_items(item.items);
|
|
|
+ itemRst.push(ir);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return itemRst;
|
|
|
+ }
|
|
|
+ if (topNode) {
|
|
|
+ rst = {
|
|
|
+ compilationId: topNode.compilationId,
|
|
|
+ engineerId: topNode.engineerId,
|
|
|
+ userId: topNode.userId,
|
|
|
+ properties: topNode.properties,
|
|
|
+ released: topNode.released,
|
|
|
+ isDeleted: topNode.isDeleted,
|
|
|
+ items: private_build_items(topNode.items),
|
|
|
+ name: topNode.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.createIniNode();
|
|
|
+ rawNode.nodeType = RT.NodeType.NODE;
|
|
|
+ rawNode.name = "新增子节点";
|
|
|
+ let newNodes = [], isSilent = false;
|
|
|
+ newNodes.push(rawNode);
|
|
|
+ if (me.treeObj) {
|
|
|
+ let insertIdx = -1;
|
|
|
+ if (treeNode.items.length > 0) {
|
|
|
+ for (let i = treeNode.items.length - 1; i >= 0; i--) {
|
|
|
+ if (treeNode.items[i].nodeType === RT.NodeType.NODE) {
|
|
|
+ insertIdx = i + 1;
|
|
|
+ break;
|
|
|
+ } else {
|
|
|
+ insertIdx = i;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ me.treeObj.addNodes(treeNode, insertIdx, newNodes, isSilent);
|
|
|
+ let tn = me.getTopNodeByCurrentNode(treeNode);
|
|
|
+ let newTopNode = me.buildRootNodeDoc(tn);
|
|
|
+ me.updateTreeRootNode(newTopNode, true, function(rst){
|
|
|
+ if (rst) {
|
|
|
+ //
|
|
|
+ } else {
|
|
|
+ alert("新增节点失败!");
|
|
|
+ }
|
|
|
+ me.refreshNodes();
|
|
|
+ }, null);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ removeHoverDom: function(treeId, treeNode) {
|
|
|
+ $("#addBtn_"+treeNode.tId).unbind().remove();
|
|
|
+ },
|
|
|
+ addNewNodeEx: function(rawNode, callback, failCallback) {
|
|
|
+ let params = {};
|
|
|
+ params.doc = rawNode;
|
|
|
+ CommonAjax.postEx("report_tpl_api/createTreeRootNode", params, 5000, true, callback, failCallback, null);
|
|
|
+ },
|
|
|
+ moveUpNode: function() {
|
|
|
+ let me = this;
|
|
|
+ if (me.currentNode && me.currentNode.getPreNode() && me.currentNode.level > 0) {
|
|
|
+ let preNode = me.currentNode.getPreNode();
|
|
|
+ if (preNode.nodeType === me.currentNode.nodeType) {
|
|
|
+ me.treeObj.moveNode(preNode, me.currentNode, "prev", true);
|
|
|
+ //then update the db
|
|
|
+ let topPNode = me.getTopNodeByCurrentNode(preNode);
|
|
|
+ me.updateTreeRootNode(topPNode, true, function(rst){
|
|
|
+ if (!(rst)) {
|
|
|
+ alert("移动请求失败!");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ moveDownNode: function() {
|
|
|
+ let me = this;
|
|
|
+ if (me.currentNode && me.currentNode.getNextNode() && me.currentNode.level > 0) {
|
|
|
+ let nextNode = me.currentNode.getNextNode();
|
|
|
+ if (nextNode.nodeType === me.currentNode.nodeType) {
|
|
|
+ me.treeObj.moveNode(nextNode, me.currentNode, "next", true);
|
|
|
+ //then update the db
|
|
|
+ let topPNode = me.getTopNodeByCurrentNode(nextNode);
|
|
|
+ me.updateTreeRootNode(topPNode, true, function(rst){
|
|
|
+ if (!(rst)) {
|
|
|
+ alert("移动请求失败!");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getReportTemplateTree: function(compilationSelect) {
|
|
|
+ let me = zTreeOprObj, params = {};
|
|
|
+ params.compilationId = compilationSelect.value;
|
|
|
+ params.userId = (userAccount === 'admin')?(parseInt(-100)):parseInt(userID);
|
|
|
+ let allEngIds = [];
|
|
|
+ for (let item of engineeringList) {
|
|
|
+ allEngIds.push(item.value);
|
|
|
+ }
|
|
|
+ params.engineerId = allEngIds;
|
|
|
+ CommonAjax.postEx("report_tpl_api/getRptTplTree", params, 20000, true, function(result){
|
|
|
+ result.sort(function(item1, item2){
|
|
|
+ let rst = 0;
|
|
|
+ if (item1.userId < item2.userId) {
|
|
|
+ rst = 1
|
|
|
+ } else if (item1.userId > item2.userId) {
|
|
|
+ rst = -1;
|
|
|
+ } else {
|
|
|
+ rst = (item1.engineerId > item2.engineerId)?1:((item1.engineerId < item2.engineerId)?-1:0);
|
|
|
+ }
|
|
|
+ return rst;
|
|
|
+ });
|
|
|
+ zTreeHelper.createTreeDirectly(result, setting, "rptTplTree", me);
|
|
|
+ me.refreshNodes();
|
|
|
+ }, null, null);
|
|
|
+ },
|
|
|
+ addTplNode: function (){
|
|
|
+ let me = this;
|
|
|
+ if (me.currentNode && me.currentNode.nodeType === RT.NodeType.NODE || me.currentNode.level === 0) {
|
|
|
+ let rawNode = me.createIniNode();
|
|
|
+ rawNode.nodeType = RT.NodeType.TEMPLATE;
|
|
|
+ rawNode.name = "新增报表模板";
|
|
|
+ let newNodes = [], isSilent = false;
|
|
|
+ newNodes.push(rawNode);
|
|
|
+ if (me.treeObj) {
|
|
|
+ me.treeObj.addNodes(me.currentNode, -1, newNodes, isSilent);
|
|
|
+ let rawNode = me.buildRootNodeDoc(me.currentNode);
|
|
|
+ me.updateTreeRootNode(rawNode, true, function(rst){
|
|
|
+ if (rst) {
|
|
|
+ //
|
|
|
+ } else {
|
|
|
+ //
|
|
|
+ }
|
|
|
+ me.refreshNodes();
|
|
|
+ }, null);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ addRootNode: function() {
|
|
|
+ let me = this, rawNode = me.createIniRootNode();
|
|
|
+ if (!me.chkIfDupRootNode(rawNode)) {
|
|
|
+ me.addNewNodeEx(rawNode, function(rst){
|
|
|
+ if (rst) {
|
|
|
+ let newNodes = [], isSilent = false;
|
|
|
+ rawNode.isParent = true;
|
|
|
+ newNodes.push(rawNode);
|
|
|
+ if (me.treeObj) {
|
|
|
+ let insertIdx = -1;
|
|
|
+ let nodes = me.treeObj.getNodes();
|
|
|
+ for (let i = 0; i < nodes.length; i++) {
|
|
|
+ if (nodes[i].compilationId === rawNode.compilationId) {
|
|
|
+ if (nodes[i].engineerId > rawNode.engineerId) {
|
|
|
+ insertIdx = i;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ me.treeObj.addNodes(null, insertIdx, newNodes, isSilent);
|
|
|
+ } else {
|
|
|
+ me.treeObj = $.fn.zTree.init($("#rptTplTree"), setting, newNodes);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ alert("创建失败,请确认是否有重复类型跟节点!")
|
|
|
+ }
|
|
|
+ }, null);
|
|
|
+ } else {
|
|
|
+ alert("有重复编办及工程类型!");
|
|
|
+ }
|
|
|
+ },
|
|
|
+ chkIfDupRootNode: function (rawNode) {
|
|
|
+ let me = this, rst = false;
|
|
|
+ if (me.treeObj) {
|
|
|
+ let nodes = me.treeObj.getNodes();
|
|
|
+ for (let node of nodes) {
|
|
|
+ if (node.compilationId === rawNode.compilationId && node.engineerId === rawNode.engineerId && node.userId === rawNode.userId) {
|
|
|
+ rst = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return rst;
|
|
|
+ },
|
|
|
+ createIniRootNode: function() {
|
|
|
+ let rst = {
|
|
|
+ compilationId: $("#compilations").get(0).selectedOptions[0].value,
|
|
|
+ engineerId: parseInt($("#engineerIds").get(0).selectedOptions[0].value),
|
|
|
+ userId: (userAccount === 'admin')?(-100):userID,
|
|
|
+ properties: [],
|
|
|
+ released: true,
|
|
|
+ isDeleted: false,
|
|
|
+ items: [],
|
|
|
+ name: $("#compilations").get(0).selectedOptions[0].innerText + $("#engineerIds").get(0).selectedOptions[0].innerText
|
|
|
+ };
|
|
|
+ return rst;
|
|
|
+ },
|
|
|
+ onBeforeRemove: function(treeId, treeNode){
|
|
|
+ let canRemove = false;
|
|
|
+ if (!(treeNode.items) || treeNode.items.length < 1) {
|
|
|
+ canRemove = true;
|
|
|
+ } else {
|
|
|
+ alert("含有子项,不能删除!");
|
|
|
+ }
|
|
|
+ return canRemove;
|
|
|
+ },
|
|
|
+ onRemove: function(e, treeId, treeNode){
|
|
|
+ let me = zTreeOprObj, topPNode = me.getTopNodeByCurrentNode(treeNode);
|
|
|
+ let rawNode = me.buildRootNodeDoc(topPNode, treeNode);
|
|
|
+ if (treeNode.level === 0) rawNode.isDeleted = true;
|
|
|
+ me.removeTreeRootNode(rawNode, true, function(rst){
|
|
|
+ if (!(rst)) {
|
|
|
+ alert("删除请求失败!");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ me.refreshNodes();
|
|
|
+ },
|
|
|
+ beforeRename: function(treeId, treeNode, newName, isCancel) {
|
|
|
+ if (newName.length === 0) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ },
|
|
|
+ onRename : function(e, treeId, treeNode, isCancel) {
|
|
|
+ if (!isCancel) {
|
|
|
+ let me = zTreeOprObj, topPNode = me.getTopNodeByCurrentNode(treeNode);
|
|
|
+ let rawNode = me.buildRootNodeDoc(topPNode);
|
|
|
+ me.updateTreeRootNode(rawNode, true, function(rst){
|
|
|
+ if (rst) {
|
|
|
+ //
|
|
|
+ } else {
|
|
|
+ alert('修改名称请求失败!');
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /*/
|
|
|
+ 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();
|
|
|
+ },
|
|
|
+
|
|
|
+ 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);
|
|
|
+ },
|
|
|
moveUpNode: function() {
|
|
|
let me = this, nodes = [];
|
|
|
if (me.currentNode && me.currentNode.getPreNode()) {
|
|
@@ -92,42 +444,16 @@ let zTreeOprObj = {
|
|
|
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);
|
|
|
- }
|
|
|
+ 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
|
|
|
+ );
|
|
|
},
|
|
|
addTplNode: function (){
|
|
|
let me = this;
|
|
@@ -160,85 +486,48 @@ let zTreeOprObj = {
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- 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;
|
|
|
- }
|
|
|
- }
|
|
|
+
|
|
|
+ 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];
|
|
|
}
|
|
|
- zTreeOprObj.addNewNode(rawNode, lastNodeId, function(rst){
|
|
|
+ me.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);
|
|
|
+ me.treeObj.addNodes(null, -1, newNodes, isSilent);
|
|
|
} else {
|
|
|
me.treeObj = $.fn.zTree.init($("#rptTplTree"), setting, newNodes);
|
|
|
}
|
|
|
}, null);
|
|
|
- });
|
|
|
+ }
|
|
|
},
|
|
|
- removeHoverDom: function(treeId, treeNode) {
|
|
|
- $("#addBtn_"+treeNode.tId).unbind().remove();
|
|
|
+
|
|
|
+ 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;
|
|
|
},
|
|
|
+
|
|
|
onBeforeRemove: function(treeId, treeNode){
|
|
|
let nodeIds = [], preNode = treeNode.getPreNode(), preNodeId = -1, canRemove = false, params = {};
|
|
|
if (preNode) {
|
|
@@ -266,14 +555,14 @@ let zTreeOprObj = {
|
|
|
},
|
|
|
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
|
|
|
+ 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) {
|
|
|
+ if (newName.length === 0) {
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
@@ -282,8 +571,8 @@ let zTreeOprObj = {
|
|
|
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) {
|
|
|
+ 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 {
|
|
@@ -291,13 +580,14 @@ let zTreeOprObj = {
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
+ //*/
|
|
|
onClick: function(event,treeId,treeNode) {
|
|
|
let me = zTreeOprObj;
|
|
|
me.currentNode = treeNode;
|
|
|
bandTreeOprObj.currentNode = null;
|
|
|
- if (treeNode.nodeType == RT.NodeType.NODE) {
|
|
|
+ if (treeNode.nodeType === RT.NodeType.NODE) {
|
|
|
$("#rpt_tpl_display_label")[0].innerText = "...";
|
|
|
- } else if (treeNode.nodeType == RT.NodeType.TEMPLATE) {
|
|
|
+ } else if (treeNode.nodeType === RT.NodeType.TEMPLATE) {
|
|
|
let showText = treeNode.name, parentNode = treeNode.getParentNode();
|
|
|
while (parentNode !== null) {
|
|
|
showText = parentNode.name + ' > ' + showText;
|
|
@@ -315,12 +605,12 @@ let zTreeOprObj = {
|
|
|
},
|
|
|
createNewTpl: function () {
|
|
|
let me = zTreeOprObj, params = {};
|
|
|
- if (me.currentNode && me.currentNode.nodeType == RT.NodeType.TEMPLATE) {
|
|
|
+ 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
|
|
|
+ params.rptDftTplId = rptTypeId;
|
|
|
CommonAjax.postEx("report_tpl_api/createDftRptTpl", params, 20000, true, function(result){
|
|
|
me.currentNode.rptTpl = result;
|
|
|
}, null, null
|
|
@@ -329,7 +619,7 @@ let zTreeOprObj = {
|
|
|
},
|
|
|
chkAndRreshRefTpl: function() {
|
|
|
let me = zTreeOprObj, params = {};
|
|
|
- if (me.currentNode && me.currentNode.nodeType == RT.NodeType.TEMPLATE && me.currentNode.refId > 0) {
|
|
|
+ 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){
|
|
@@ -346,7 +636,7 @@ let zTreeOprObj = {
|
|
|
},
|
|
|
getRefTpl: function() {
|
|
|
let me = zTreeOprObj, rst = null;
|
|
|
- if (me.currentNode && me.currentNode.nodeType == RT.NodeType.TEMPLATE && me.currentNode.refId > 0) {
|
|
|
+ if (me.currentNode && me.currentNode.nodeType === RT.NodeType.TEMPLATE && me.currentNode.refId > 0) {
|
|
|
rst = me.currentNode.rptTpl
|
|
|
}
|
|
|
return rst;
|
|
@@ -355,7 +645,7 @@ let zTreeOprObj = {
|
|
|
//模板信息
|
|
|
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) {
|
|
|
+ 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;
|
|
@@ -367,5 +657,13 @@ let zTreeOprObj = {
|
|
|
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;
|
|
|
+ },
|
|
|
+ getTopNodeByCurrentNode: function (currentNode) {
|
|
|
+ let topPNode = currentNode, pNode = currentNode.getParentNode();
|
|
|
+ while (pNode !== null) {
|
|
|
+ topPNode = pNode;
|
|
|
+ pNode = pNode.getParentNode();
|
|
|
+ }
|
|
|
+ return topPNode;
|
|
|
}
|
|
|
};
|