123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338 |
- /**
- * Created by Tony on 2017/4/27.
- */
- var pageOprObj = {
- rationLibName : null,
- rationLibId : null,
- initPage : function() {
- var me = this, rationLibId = getQueryString("repository"),//获取定额库参数
- rationLibName = storageUtil.getSessionCache("RationGrp","repositoryID_" + rationLibId);
- if (rationLibName) {
- var html = $("#rationname")[0].outerHTML;
- html = html.replace("XXX定额库", rationLibName);
- $("#rationname")[0].outerHTML = html;
- me.rationLibName = rationLibName;
- me.rationLibId = rationLibId;
- zTreeOprObj.getRationTree(rationLibId);
- }
- }
- }
- var zTreeOprObj = {
- treeObj: null,
- getRationTree: function(rationLibId){
- var me = this;
- $.ajax({
- type:"POST",
- url:"api/getRationTree",
- data:{"rationLibId": rationLibId},
- dataType:"json",
- cache:false,
- timeout:20000,
- success:function(result,textStatus,status){
- if(status.status == 200) {
- if (result.data.length > 0) {
- storageUtil.setSessionCache("RationGrp","repositoryID",result.data[0].rationRepId);
- }
- zTreeHelper.createTree(result.data, setting, "rationChapterTree", me);
- }
- },
- error:function(err){
- alert(err.responseJSON.error);
- }
- })
- },
- addRootNode: function() {
- $('#addRootA').css("opacity", "0.2");
- $('#addRootA').addClass("disabled");
- var me = zTreeOprObj, rawNode = {ParentID: -1, NextSiblingID: -1, name: "新增节点"}, lastNodeId = -1;
- if (me.treeObj) {
- var rootNodes = me.treeObj.getNodes();
- if (rootNodes.length > 0) {
- lastNodeId = rootNodes[rootNodes.length - 1].ID;
- }
- }
- me.addNewNode(rawNode, lastNodeId, function(err, rst){
- if (!(err)) {
- if(rootNodes.length > 0){
- rootNodes[rootNodes.length - 1].NextSiblingID = rst.data.ID;
- }
- var newNodes = [], isSilent = false;
- newNodes.push({ rationRepId: rst.data.rationRepId, Previous_ID: lastNodeId, ID: rst.data.ID, ParentID:-1, NextSiblingID:-1, name:"新增节点",isParent:false, items:[]});
- if (me.treeObj) {
- me.treeObj.addNodes(null, -1, newNodes, isSilent);
- } else {
- me.treeObj = $.fn.zTree.init($("#rationChapterTree"), setting, newNodes);
- }
- $('#addRootA').css("opacity", "");
- $('#addRootA').removeClass("disabled");
- }
- });
- },
- addNewNode : function(rawNode, lastNodeId, callback){
- $.ajax({
- type:"POST",
- url:"api/createNewNode",
- data:{"rationLibId":pageOprObj.rationLibId,"lastNodeId": lastNodeId, "lastOpr": userAccount, "rawNodeData": JSON.stringify(rawNode)},
- dataType:"json",
- cache:false,
- timeout:1000,
- success: function(result,textStatus,status){
- callback(false, result);
- },
- error:function(err){
- callback(err);
- }
- })
- },
- beforeRename: function(treeId, treeNode, newName, isCancel) {
- if (newName.length == 0) {
- return false;
- }
- return true;
- },
- onRename : function(e, treeId, treeNode, isCancel) {
- var nodes = [];
- nodes.push(treeNode);
- zTreeOprObj.updateNodes(nodes);
- },
- onBeforeRemove: function(treeId, treeNode){
- var nodeIds = [], preNode = treeNode.getPreNode(), preNodeId = -1;
- if (preNode) {
- preNodeId = preNode.ID;
- }
- private_fetchAllSubItems = function(pItem){
- nodeIds.push(pItem.ID);
- if (pItem.items && pItem.items.length > 0) {
- for (var i = 0; i < pItem.items.length; i++) {
- private_fetchAllSubItems(pItem.items[i]);
- }
- }
- };
- nodeIds.push(treeNode.ID);
- for (var i = 0; i < treeNode.items.length; i++) {
- private_fetchAllSubItems(treeNode.items[i]);
- }
- $.ajax({
- type:"POST",
- url:"api/deleteNodes",
- data:{"repId": pageOprObj.rationLibId, "lastOpr": userAccount, "nodes": JSON.stringify(nodeIds), "preNodeId": preNodeId, "preNodeNextId": treeNode.NextSiblingID},
- dataType:"json",
- cache:false,
- timeout:5000,
- success:function(result,textStatus,status){
- var pNode = treeNode.getParentNode();
- if (pNode && pNode.items && pNode.items.length == 1) {
- pNode.isParent = false;
- }
- },
- error:function(){
- }
- });
- return true;
- },
- onRemove: function(e, treeId, treeNode){
- var me = zTreeOprObj, pNode = me.treeObj.getNodeByTId(treeNode.parentTId);
- if (pNode && pNode.items && pNode.items.length == 0) {
- pNode.isParent = false;
- me.treeObj.refresh();
- //me.treeObj.updateNode(pNode, false); //这方法有后遗症,多次操作后会造成节点新增子节点时,父节点icon显示不正确
- }
- },
- beforeDrop: function (treeId, treeNodes, targetNode, moveType) {
- let me = zTreeOprObj;
- if(moveType){
- me.treeObj.setting.edit.enable = false;
- let treeNode = treeNodes[0], updateNodes = [];
- //升级
- if(treeNode.level !== targetNode.level && moveType === 'prev'){
- if(treeNode.Previous_ID !== -1){
- treeNode.getPreNode().NextSiblingID = treeNode.NextSiblingID;
- updateNodes.push(treeNode.getPreNode());
- }
- if(treeNode.NextSiblingID !== -1){
- treeNode.getNextNode().Previous_ID = treeNode.Previous_ID;
- }
- if(targetNode.Previous_ID !== -1){
- targetNode.getPreNode().NextSiblingID = treeNode.ID;
- updateNodes.push(targetNode.getPreNode());
- }
- treeNode.ParentID = targetNode.getParentNode() ? targetNode.getParentNode().ID : -1;
- treeNode.NextSiblingID = targetNode.ID;
- treeNode.Previous_ID = targetNode.Previous_ID;
- targetNode.Previous_ID = treeNode.ID;
- updateNodes.push(treeNode);
- //updateNodes.push(targetNode);
- }
- //升级
- else if(treeNode.level !== targetNode.level && moveType === 'next'){
- if(treeNode.Previous_ID !== -1){
- treeNode.getPreNode().NextSiblingID = treeNode.NextSiblingID;
- updateNodes.push(treeNode.getPreNode());
- }
- if(treeNode.NextSiblingID !== -1){
- treeNode.getNextNode().Previous_ID = treeNode.Previous_ID;
- }
- if(targetNode.NextSiblingID !== -1){
- targetNode.getNextNode().Previous_ID = treeNode.ID;
- }
- treeNode.NextSiblingID = targetNode.NextSiblingID;
- treeNode.Previous_ID = targetNode.ID;
- treeNode.ParentID = targetNode.getParentNode() ? targetNode.getParentNode().ID : -1;
- targetNode.NextSiblingID = treeNode.ID;
- updateNodes.push(treeNode);
- updateNodes.push(targetNode);
- }
- //上移
- else if(treeNode.level === targetNode.level && moveType === 'prev'){
- console.log(1);
- if(targetNode.Previous_ID !== -1){
- let targetPrev = me.treeObj.getNodeByParam('ID', targetNode.Previous_ID, null);
- targetPrev.NextSiblingID = treeNode.ID;
- updateNodes.push(targetPrev);
- }
- targetNode.NextSiblingID = treeNode.NextSiblingID;
- treeNode.NextSiblingID = targetNode.ID;
- treeNode.Previous_ID = targetNode.Previous_ID;
- targetNode.Previous_ID = treeNode.ID;
- updateNodes.push(treeNode);
- updateNodes.push(targetNode);
- }
- //下移
- else if(treeNode.level === targetNode.level && moveType === 'next'){
- if(treeNode.Previous_ID !== -1){
- let treeNodePrev = me.treeObj.getNodeByParam('ID', treeNode.Previous_ID, null);
- treeNodePrev.NextSiblingID = targetNode.ID;
- updateNodes.push(treeNodePrev);
- }
- treeNode.Previous_ID = targetNode.ID;
- treeNode.NextSiblingID = targetNode.NextSiblingID;
- targetNode.Previous_ID = treeNode.Previous_ID;
- targetNode.NextSiblingID = treeNode.ID;
- updateNodes.push(treeNode);
- updateNodes.push(targetNode);
- }
- //
- else if(moveType === 'inner'){
- if( treeNode.Previous_ID !== -1){
- treeNode.getPreNode().NextSiblingID = treeNode.NextSiblingID;
- updateNodes.push(treeNode.getPreNode());
- }
- if(treeNode.NextSiblingID !== -1){
- treeNode.getNextNode().Previous_ID = treeNode.Previous_ID;
- }
- if(targetNode.items.length > 0){
- targetNode.items[targetNode.items.length -1].NextSiblingID = treeNode.ID;
- treeNode.Previous_ID = targetNode.items[targetNode.items.length -1].ID;
- updateNodes.push(targetNode.items[targetNode.items.length -1]);
- }
- else{
- treeNode.Previous_ID = -1;
- }
- treeNode.ParentID = targetNode.ID;
- treeNode.NextSiblingID = -1;
- updateNodes.push(treeNode);
- }
- if(updateNodes.length > 0){
- me.updateNodes(updateNodes, function () {
- me.treeObj.setting.edit.enable= true;
- });
- }
- }
- },
- onDrop: function (event, treeId, treeNodes, targetNode, moveType) {
- },
- updateNodes: function(nodes, callback){
- if (nodes && nodes.length > 0) {
- var reqData = []
- for (var i = 0; i < nodes.length; i++) {
- var node = {};
- node.rationRepId = nodes[i].rationRepId;
- node.ID = nodes[i].ID;
- node.ParentID = nodes[i].ParentID;
- node.NextSiblingID = nodes[i].NextSiblingID;
- node.name = nodes[i].name;
- if (nodes[i].__v != null) node.__v = nodes[i].__v + 1
- else node.__v = 0;
- reqData.push(node);
- }
- console.log(reqData);
- $.ajax({
- type:"POST",
- url:"api/updateNodes",
- data:{"repId": pageOprObj.rationLibId,"lastOpr": userAccount, "nodes": JSON.stringify(reqData)},
- dataType:"json",
- cache:false,
- timeout:5000,
- success:function(result,textStatus,status){
- if(callback){
- callback();
- }
- console.log(status + ' : ' + result);
- },
- error:function(){
- }
- })
- }
- },
- addHoverDom: function(treeId, treeNode) {
- if(typeof treeNode.doing !== 'undefined' && treeNode.doing){
- return false;
- }
- hoverOpr();
- function hoverOpr(){
- var me = zTreeOprObj, sObj = $("#" + treeNode.tId + "_span");
- if (treeNode.editNameFlag || $("#addBtn_"+treeNode.tId).length>0) return;
- var addStr = "<span class='button add' id='addBtn_" + treeNode.tId + "' title='新增子节点' onfocus='this.blur();'></span>";
- sObj.after(addStr);
- var btn = $("#addBtn_"+treeNode.tId);
- if (btn) btn.bind("click", function(){
- treeNode.doing = true;
- var rawNode = {ParentID: treeNode.ID, NextSiblingID: -1, name: "新增子节点"}, lastNodeId = -1, lastNode = null;
- if (treeNode.items.length > 0) {
- lastNodeId = treeNode.items[treeNode.items.length - 1].ID;
- lastNode = treeNode.items[treeNode.items.length - 1];
- }
- zTreeOprObj.addNewNode(rawNode, lastNodeId, function(err, rst){
- if (!(err)) {
- var newNodes = [], isSilent = false;
- if (lastNode) {
- lastNode.NextSiblingID = rst.ID;
- }
- newNodes.push({ rationRepId: rst.data.rationRepId, ID: rst.data.ID, Previous_ID: lastNodeId, ParentID: rst.data.ParentID, NextSiblingID:-1, name:"新增子节点",isParent:false, items:[]});
- treeNode.isParent = true;
- console.log(newNodes);
- if (me.treeObj) {
- me.treeObj.addNodes(treeNode, -1, newNodes, isSilent);
- } else {
- me.treeObj = $.fn.zTree.init($("#rationChapterTree"), setting, newNodes);
- }
- }
- treeNode.doing = false;
- hoverOpr();
- });
- });
- }
- },
- removeHoverDom: function(treeId, treeNode) {
- $("#addBtn_"+treeNode.tId).unbind().remove();
- },
- onClick: function(event,treeId,treeNode) {
- console.log(`treeNode`);
- console.log(treeNode);
- var sectionID = treeNode.ID;
- if (!(treeNode.items) || treeNode.items.length == 0) {
- rationOprObj.getRationItems(sectionID);
- } else {
- sheetCommonObj.cleanSheet(rationOprObj.workBook.getSheet(0), rationOprObj.setting, -1);
- sheetCommonObj.shieldAllCells(rationOprObj.workBook.getSheet(0));
- }
- sheetCommonObj.cleanSheet(rationGLJOprObj.sheet, rationGLJOprObj.setting, -1);
- sheetCommonObj.shieldAllCells(rationGLJOprObj.sheet);
- }
- };
|