/** * 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(){ initParam(); mkRationItemSpread(); }); function initParam(){ var rationLibName = getQueryString("repository");//获取定额库参数 if(rationLibName) { params.realLibName = LibName; getRationTree(); } else{ params = JSON.parse(getQueryString("params")); getRationTree(); } } //---------------------------------------------------初始化章节树界面 function getRationTree(){ $.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) createRationTree(result.data);//根据返回的全部定额章节对象,构架树。 else{ treeObj = $.fn.zTree.init($("#treeDemo"), setting, zNodes); saveTempTree(); } }, error:function(err){ alert(err.responseText.error) } }) } //根据返回的节点集合构建树节点 function createRationTree(obj){ var treeArr; treeArr = makeNodes(obj); var maxIDNode = obj.reduce(function(a,b){ return (a.id> b.id)?a:b; }); newCount = maxIDNode.id; treeObj = $.fn.zTree.init($("#treeDemo"), setting, treeArr); } function makeNodes(obj){ var arr=[]; arr = obj.filter(function(x){ return x.parentId==0 }) arr.forEach(function(x){ x.id = x.sectionId; x.pId = x.parentId; x.nId = x.nextSiblingId; x.name = x.name; x.isParent = true x.lev = 0 }); arr = sortArray(arr); for(var i=0;i0||(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:"请输入章节名称",children:[]}); } 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 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().children; for(var i=0;i