/** * Created by Syusuke on 2017/3/17. */ function getQueryString(key){ var reg = new RegExp("(^|&)"+key+"=([^&]*)(&|$)"); var result = window.location.search.substr(1).match(reg); return result?decodeURIComponent(result[2]):null; } //---------------------------------------------------页面跳转 var params = {} $("#dinge").click(function(){ $(this).attr('href', "/rationLibEditor/rationLib" + "?params=" + JSON.stringify(params)) }) $("#gongliao").click(function(){ $(this).attr('href', "/rationLibEditor/gongliao" + "?params=" + JSON.stringify(params)) }); //----------------------------------------------------页面初始化 $(document).ready(function(){ rationOprObj.initParam(); mkRationItemSpread(); }); var rationOprObj = { initParam : function() { var me = this, rationLibName = getQueryString("repository");//获取定额库参数 if (rationLibName) { params.realLibName = rationLibName; me.getRationTree(); } else{ params = JSON.parse(getQueryString("params")); me.getRationTree(); } }, getRationTree: function(){ var me = this; $.ajax({ type:"POST", url:"api/getRationTree", data:{"rationLibName": params.realLibName}, dataType:"json", cache:false, timeout:20000, success:function(result,textStatus,status){ if(status.status == 200) { me.createRationTree(result.data); } }, error:function(err){ alert(err.responseText.error) } }) }, createRationTree: function(sourceData){ var treeArr = tree_Data_Helper.buildTreeNodeDirectly(sourceData); treeObj = $.fn.zTree.init($("#treeDemo"), setting, treeArr); } } function addRootNode(){ var rawNode = {ParentID: -1, NextSiblingID: -1, name: "新增节点"}; addNewNode(rawNode, function(err, rst){ if (!(err)) { var newNodes = [], isSilent = false; newNodes.push({ rationRepId: rst.data.rationRepId, ID: rst.data.ID, ParentID:-1, NextSiblingID:-1, name:"新增节点",isParent:true, items:[]}); if (treeObj) { treeObj.addNodes(null, -1, newNodes, isSilent); } else { treeObj = $.fn.zTree.init($("#treeDemo"), setting, newNodes); } } }); } //--------------------------------------------------------树处理事件 var newCount = 13; //新增树节点 function addHoverDom(treeId, treeNode) { var sObj = $("#" + treeNode.tId + "_span"); if (treeNode.editNameFlag || $("#addBtn_"+treeNode.tId).length>0||(treeNode.level==2)) return; var addStr = ""; sObj.after(addStr); var btn = $("#addBtn_"+treeNode.tId); if (btn) btn.bind("click", function(){ var zTree = $.fn.zTree.getZTreeObj("treeDemo"); if((treeNode.level==0)){ var newNode = zTree.addNodes(treeNode, {id:(++newCount), pId:treeNode.id,nId:-1,isParent:true, name:"请输入章节名称",items:[]}); } else{ var newNode = zTree.addNodes(treeNode, {id:(++newCount), pId:treeNode.id,nId:-1,isParent:false, name:"请输入章节名称"}); } saveNewSection(newNode[0]); var pnode = newNode[0].getPreNode() if(pnode){ pnode.nId = newNode[0].id; saveNewSection(pnode); } return false; }); }; //增加新节点 function addNewNode(rawNode, callback) { $.ajax({ type:"POST", url:"api/createNewNode", data:{"rationLibName":params.realLibName,"rawNodeData": JSON.stringify(rawNode)}, dataType:"json", cache:false, timeout:1000, success: function(result,textStatus,status){ callback(false, result); }, error:function(err){ callback(err); } }) }; //保存新增的节点 function saveNewSection(n){ var sec={}; sec.sectionId = n.id; sec.parentId = n.pId; sec.nextSiblingId = n.nId; sec.name = n.name; var section = JSON.stringify(sec); $.ajax({ type:"POST", url:"api/addSection", data:{"rationLibName":params.realLibName,"rationSection":section}, dataType:"json", cache:false, timeout:1000, success:function(result,textStatus,status){ }, error:function(){ } }) } //编辑树节点事件(添加节点到数据库) function onRename(e, treeId, treeNode, isCancel) { saveNewSection(treeNode); } function onRemove(e, treeId, treeNode) { var id = treeNode.id; var pNodes = treeNode.getParentNode().items; for(var i=0;i