|  | @@ -26,8 +26,9 @@ var pageOprObj = {
 | 
	
		
			
				|  |  |              repositoryGljObj.getRationGljIds(rationLibId);
 | 
	
		
			
				|  |  |              repositoryGljObj.getGljDistType(function () {
 | 
	
		
			
				|  |  |                  repositoryGljObj.currentRepositoryId = parseInt(rationLibId);
 | 
	
		
			
				|  |  | -                repositoryGljObj.getGljTree(rationLibId);
 | 
	
		
			
				|  |  | -                repositoryGljObj.getGljItems(rationLibId);
 | 
	
		
			
				|  |  | +                repositoryGljObj.getGljTree(rationLibId, function () {
 | 
	
		
			
				|  |  | +                    repositoryGljObj.getGljItems(rationLibId);
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  |                  sheetCommonObj.shieldAllCells(repositoryGljObj.workBook.getSheet(0), repositoryGljObj.setting);
 | 
	
		
			
				|  |  |              });
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -115,7 +116,7 @@ var pageOprObj = {
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          })
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | -    getGljTree: function(rationLibId) {
 | 
	
		
			
				|  |  | +    getGljTree: function(rationLibId, callback) {
 | 
	
		
			
				|  |  |          var me = this;
 | 
	
		
			
				|  |  |          $.ajax({
 | 
	
		
			
				|  |  |              type:"POST",
 | 
	
	
		
			
				|  | @@ -132,6 +133,7 @@ var pageOprObj = {
 | 
	
		
			
				|  |  |                      } else {
 | 
	
		
			
				|  |  |                          gljTypeTreeOprObj.addRootNode();
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  | +                    callback();
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              },
 | 
	
		
			
				|  |  |              error:function(err){
 | 
	
	
		
			
				|  | @@ -153,7 +155,12 @@ var pageOprObj = {
 | 
	
		
			
				|  |  |                      me.gljList = result.data;
 | 
	
		
			
				|  |  |                      me.workBook.getSheet(0).setRowCount(result.data.length);
 | 
	
		
			
				|  |  |                      me.sortGlj();
 | 
	
		
			
				|  |  | -                    me.showGljItems(result.data, me.gljCurTypeId);
 | 
	
		
			
				|  |  | +                    let rootNode = me.treeObj.getNodes()[0];
 | 
	
		
			
				|  |  | +                    if(rootNode && rootNode.isParent && rootNode.isFirstNode){
 | 
	
		
			
				|  |  | +                        me.treeObj.selectNode(rootNode);
 | 
	
		
			
				|  |  | +                        gljTypeTreeOprObj.onClick(null, 'repositoryTree', rootNode);
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                    //me.showGljItems(result.data, me.gljCurTypeId);
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              },
 | 
	
		
			
				|  |  |              error:function(err){
 | 
	
	
		
			
				|  | @@ -176,17 +183,19 @@ var pageOprObj = {
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |              sheetCommonObj.cleanSheet(me.workBook.getSheet(0), me.setting, -1);
 | 
	
		
			
				|  |  |              sheetCommonObj.showData(me.workBook.getSheet(0), me.setting, cacheSection, me.distTypeTree);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |              cacheSection = null;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      buildSheet: function(container) {
 | 
	
		
			
				|  |  |          var me = repositoryGljObj;
 | 
	
		
			
				|  |  |          me.workBook = sheetCommonObj.buildSheet(container, me.setting, 30, me);
 | 
	
		
			
				|  |  | +        me.repositoryGljDelOpr();
 | 
	
		
			
				|  |  |          me.workBook.bind(GC.Spread.Sheets.Events.ClipboardPasting, me.onClipboardPasting);
 | 
	
		
			
				|  |  |          me.workBook.bind(GC.Spread.Sheets.Events.ClipboardPasted, me.onClipboardPasted);
 | 
	
		
			
				|  |  |          me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.EditStarting, me.onCellEditStart);
 | 
	
		
			
				|  |  |          me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.EditEnded, me.onCellEditEnd);
 | 
	
		
			
				|  |  | -        me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.RangeChanged, me.onRangeChanged);
 | 
	
		
			
				|  |  | +        //me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.RangeChanged, me.onRangeChanged);
 | 
	
		
			
				|  |  |          me.workBook.getSheet(0).bind(GC.Spread.Sheets.Events.EnterCell, me.onEnterCell);
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |       onEnterCell: function (sender, args) {
 | 
	
	
		
			
				|  | @@ -228,17 +237,24 @@ var pageOprObj = {
 | 
	
		
			
				|  |  |                   }
 | 
	
		
			
				|  |  |                   else {
 | 
	
		
			
				|  |  |                      $('#gljAlertBtn').click();
 | 
	
		
			
				|  |  | -                     me.workBook.getSheet(0).options.isProtected = true;
 | 
	
		
			
				|  |  | +                     //me.workBook.getSheet(0).options.isProtected = true;
 | 
	
		
			
				|  |  | +                     sheetCommonObj.lockAllCells(args.sheet);
 | 
	
		
			
				|  |  |                       $('#aleCanceBtn').click(function () {
 | 
	
		
			
				|  |  | -                         me.workBook.getSheet(0).options.isProtected = false;
 | 
	
		
			
				|  |  | +                        // me.workBook.getSheet(0).options.isProtected = false;
 | 
	
		
			
				|  |  | +                         sheetCommonObj.unLockAllCells(args.sheet);
 | 
	
		
			
				|  |  | +                         sheetCommonObj.reLockSomeCodes(args.sheet, 0, repositoryGljObj.currentCache.length);
 | 
	
		
			
				|  |  |                           me.workBook.getSheet(0).setActiveCell(me.editingRowIdx, focusToCol);
 | 
	
		
			
				|  |  |                       });
 | 
	
		
			
				|  |  |                       $('#gljAleClose').click(function () {
 | 
	
		
			
				|  |  | -                         me.workBook.getSheet(0).options.isProtected = false;
 | 
	
		
			
				|  |  | +                        // me.workBook.getSheet(0).options.isProtected = false;
 | 
	
		
			
				|  |  | +                         sheetCommonObj.unLockAllCells(args.sheet);
 | 
	
		
			
				|  |  | +                         sheetCommonObj.reLockSomeCodes(args.sheet, 0, repositoryGljObj.currentCache.length);
 | 
	
		
			
				|  |  |                           me.workBook.getSheet(0).setActiveCell(me.editingRowIdx, focusToCol);
 | 
	
		
			
				|  |  |                       });
 | 
	
		
			
				|  |  |                       $('#aleConfBtn').click(function () {
 | 
	
		
			
				|  |  | -                         me.workBook.getSheet(0).options.isProtected = false;
 | 
	
		
			
				|  |  | +                        // me.workBook.getSheet(0).options.isProtected = false;
 | 
	
		
			
				|  |  | +                         sheetCommonObj.unLockAllCells(args.sheet);
 | 
	
		
			
				|  |  | +                         sheetCommonObj.reLockSomeCodes(args.sheet, 0, repositoryGljObj.currentCache.length);
 | 
	
		
			
				|  |  |                           me.addGljObj = null;
 | 
	
		
			
				|  |  |                           for(let col=0; col<me.setting.header.length; col++){
 | 
	
		
			
				|  |  |                               let field = me.setting.header[col].dataCode;
 | 
	
	
		
			
				|  | @@ -277,8 +293,6 @@ var pageOprObj = {
 | 
	
		
			
				|  |  |              updateArr = [], addArr = [], updateBasePrcArr = [];
 | 
	
		
			
				|  |  |          me.editingRowIdx = args.row;
 | 
	
		
			
				|  |  |          rObj.basePrice = rObj.basePrice ? rObj.basePrice : 0;
 | 
	
		
			
				|  |  | -        console.log(`rObj`);
 | 
	
		
			
				|  |  | -        console.log(rObj);
 | 
	
		
			
				|  |  |          if (me.currentEditingGlj["ID"]) {
 | 
	
		
			
				|  |  |              rObj["ID"] = me.currentEditingGlj["ID"];
 | 
	
		
			
				|  |  |              rObj.gljClass = me.currentEditingGlj.gljClass;
 | 
	
	
		
			
				|  | @@ -334,13 +348,125 @@ var pageOprObj = {
 | 
	
		
			
				|  |  |              me.mixUpdateRequest(updateArr, addArr, []);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | +     repositoryGljDelOpr: function () {
 | 
	
		
			
				|  |  | +        let me = repositoryGljObj;
 | 
	
		
			
				|  |  | +         me.workBook.commandManager().register('repositoryGljDel', function () {
 | 
	
		
			
				|  |  | +             let sheet = me.workBook.getSheet(0),
 | 
	
		
			
				|  |  | +                 updateArr = [], removeArr = [],
 | 
	
		
			
				|  |  | +                 tempRemoveArr= [],
 | 
	
		
			
				|  |  | +                 refGljCodes = [], //已被引用的工料机
 | 
	
		
			
				|  |  | +                 updateBasePrcArr = [],//删除基价单位后重新计算
 | 
	
		
			
				|  |  | +                 sels = sheet.getSelections(),
 | 
	
		
			
				|  |  | +                 cacheSection = me.currentCache;
 | 
	
		
			
				|  |  | +             if(sels.length > 0 && cacheSection.length > 0){
 | 
	
		
			
				|  |  | +                 for(let i = 0; i < sels.length; i++){
 | 
	
		
			
				|  |  | +                     if(sels[i].colCount === me.setting.header.length){
 | 
	
		
			
				|  |  | +                         for(let j = 0; j < sels[i].rowCount; j++){
 | 
	
		
			
				|  |  | +                             if(sels[i].row + j < cacheSection.length){
 | 
	
		
			
				|  |  | +                                 tempRemoveArr.push({ID: cacheSection[sels[i].row + j].ID, code: cacheSection[sels[i].row + j].code});
 | 
	
		
			
				|  |  | +                             }
 | 
	
		
			
				|  |  | +                         }
 | 
	
		
			
				|  |  | +                     }
 | 
	
		
			
				|  |  | +                     else{
 | 
	
		
			
				|  |  | +                         let maxCol = sels[i].col + sels[i].colCount - 1;
 | 
	
		
			
				|  |  | +                         if(sels[i].col >= 2 && maxCol <= 4){
 | 
	
		
			
				|  |  | +                             for(let j = 0; j < sels[i].rowCount; j++){
 | 
	
		
			
				|  |  | +                                 if(sels[i].row + j < cacheSection.length){
 | 
	
		
			
				|  |  | +                                     let updateObj = cacheSection[sels[i].row + j];
 | 
	
		
			
				|  |  | +                                     for(let col = sels[i].col; col <= maxCol; col++){
 | 
	
		
			
				|  |  | +                                         if(me.setting.header[col].dataCode === 'basePrice'){
 | 
	
		
			
				|  |  | +                                             updateObj[me.setting.header[col].dataCode] = 0;
 | 
	
		
			
				|  |  | +                                             updateBasePrcArr.push({gljId: updateObj.ID, gljType: updateObj.gljType, basePrice: 0});
 | 
	
		
			
				|  |  | +                                         }
 | 
	
		
			
				|  |  | +                                         else{
 | 
	
		
			
				|  |  | +                                             updateObj[me.setting.header[col].dataCode] = '';
 | 
	
		
			
				|  |  | +                                         }
 | 
	
		
			
				|  |  | +                                     }
 | 
	
		
			
				|  |  | +                                     updateArr.push(updateObj);
 | 
	
		
			
				|  |  | +                                 }
 | 
	
		
			
				|  |  | +                             }
 | 
	
		
			
				|  |  | +                         }
 | 
	
		
			
				|  |  | +                         //编号、名称、类型不可为空
 | 
	
		
			
				|  |  | +                         else{
 | 
	
		
			
				|  |  | +                             if(sels[i].row < cacheSection.length){
 | 
	
		
			
				|  |  | +                                 let text = '', cantNullStr =['编码', '名称', '类型'];
 | 
	
		
			
				|  |  | +                                 for(let col = sels[i].col; col <= sels[i].col + sels[i].colCount -1; col++){
 | 
	
		
			
				|  |  | +                                     if(cantNullStr.indexOf(me.setting.header[col].headerName) !== -1){
 | 
	
		
			
				|  |  | +                                         text += me.setting.header[col].headerName + " ";
 | 
	
		
			
				|  |  | +                                     }
 | 
	
		
			
				|  |  | +                                 }
 | 
	
		
			
				|  |  | +                                 $('#alertText').text(text + "不可为空!");
 | 
	
		
			
				|  |  | +                                 $('#codeAlertBtn').click();
 | 
	
		
			
				|  |  | +                                 sheet.options.isProtected = true;
 | 
	
		
			
				|  |  | +                                 $('#codAleConfBtn').click(function () {
 | 
	
		
			
				|  |  | +                                     sheetCommonObj.lockSomeCodes(sheet, 0, cacheSection.length);
 | 
	
		
			
				|  |  | +                                 });
 | 
	
		
			
				|  |  | +                                 $('#codAleClose').click(function () {
 | 
	
		
			
				|  |  | +                                     sheetCommonObj.lockSomeCodes(sheet, 0, cacheSection.length);
 | 
	
		
			
				|  |  | +                                 });
 | 
	
		
			
				|  |  | +                             }
 | 
	
		
			
				|  |  | +                         }
 | 
	
		
			
				|  |  | +                     }
 | 
	
		
			
				|  |  | +                 }
 | 
	
		
			
				|  |  | +                 //提取已被引用工料机
 | 
	
		
			
				|  |  | +                 if(tempRemoveArr.length > 0){
 | 
	
		
			
				|  |  | +                     for(let i = 0; i < tempRemoveArr.length; i++){
 | 
	
		
			
				|  |  | +                         if(me.rationGljIds.indexOf(tempRemoveArr[i].ID) !== -1){
 | 
	
		
			
				|  |  | +                             refGljCodes.push(tempRemoveArr[i].code);
 | 
	
		
			
				|  |  | +                             tempRemoveArr.splice(i--, 1);
 | 
	
		
			
				|  |  | +                         }
 | 
	
		
			
				|  |  | +                         else{
 | 
	
		
			
				|  |  | +                             removeArr.push(tempRemoveArr[i].ID);
 | 
	
		
			
				|  |  | +                         }
 | 
	
		
			
				|  |  | +                     }
 | 
	
		
			
				|  |  | +                 }
 | 
	
		
			
				|  |  | +                 //提示
 | 
	
		
			
				|  |  | +                 if(refGljCodes.length > 0){
 | 
	
		
			
				|  |  | +                     let alertText;
 | 
	
		
			
				|  |  | +                     if(refGljCodes.length > 3){
 | 
	
		
			
				|  |  | +                         alertText = "编号: " + refGljCodes[0]+" 、" + refGljCodes[1] + " 、" + refGljCodes[2] + "...等工料机已有定额引用,删除失败!";
 | 
	
		
			
				|  |  | +                     }
 | 
	
		
			
				|  |  | +                     else {
 | 
	
		
			
				|  |  | +                         let alertCode = " ";
 | 
	
		
			
				|  |  | +                         for(let i=0; i< refGljCodes.length; i++){
 | 
	
		
			
				|  |  | +                             alertCode += refGljCodes[i] + " 、";
 | 
	
		
			
				|  |  | +                         }
 | 
	
		
			
				|  |  | +                         alertText = "编号:" + alertCode + "工料机已有定额引用,删除失败!"
 | 
	
		
			
				|  |  | +                     }
 | 
	
		
			
				|  |  | +                     $('#alertText').text(alertText);
 | 
	
		
			
				|  |  | +                     $('#codeAlertBtn').click();
 | 
	
		
			
				|  |  | +                     sheet.options.isProtected = true;
 | 
	
		
			
				|  |  | +                     $('#codAleConfBtn').click(function () {
 | 
	
		
			
				|  |  | +                         sheetCommonObj.lockSomeCodes(sheet, 0, cacheSection.length);
 | 
	
		
			
				|  |  | +                         if(removeArr.length > 0){
 | 
	
		
			
				|  |  | +                             me.mixUpdateRequest(updateArr, [], removeArr);
 | 
	
		
			
				|  |  | +                         }
 | 
	
		
			
				|  |  | +                     });
 | 
	
		
			
				|  |  | +                     $('#codAleClose').click(function () {
 | 
	
		
			
				|  |  | +                         sheetCommonObj.lockSomeCodes(sheet, 0, cacheSection.length);
 | 
	
		
			
				|  |  | +                         me.mixUpdateRequest(updateArr, [], removeArr);
 | 
	
		
			
				|  |  | +                     });
 | 
	
		
			
				|  |  | +                 }
 | 
	
		
			
				|  |  | +                 else if(removeArr.length > 0 || updateArr.length > 0){
 | 
	
		
			
				|  |  | +                     me.mixUpdateRequest(updateArr, [], removeArr);
 | 
	
		
			
				|  |  | +                     if(updateBasePrcArr.length > 0){
 | 
	
		
			
				|  |  | +                         me.updateRationBasePrcRq(updateBasePrcArr);
 | 
	
		
			
				|  |  | +                     }
 | 
	
		
			
				|  |  | +                 }
 | 
	
		
			
				|  |  | +             }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +         });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        me.workBook.commandManager().setShortcutKey(null, GC.Spread.Commands.Key.del, false, false, false, false);
 | 
	
		
			
				|  |  | +        me.workBook.commandManager().setShortcutKey('repositoryGljDel', GC.Spread.Commands.Key.del, false, false, false, false);
 | 
	
		
			
				|  |  | +     },
 | 
	
		
			
				|  |  |       onRangeChanged: function(sender, args) {
 | 
	
		
			
				|  |  |           if (args.action == GC.Spread.Sheets.RangeChangedAction.clear) {
 | 
	
		
			
				|  |  |               var me = repositoryGljObj, updateArr = [], removeArr = [], cancelArr = [], isMisCode = true;
 | 
	
		
			
				|  |  |               var cacheSection = me.currentCache;
 | 
	
		
			
				|  |  |               if (cacheSection) {
 | 
	
		
			
				|  |  |                   for (var i = 0; i < args.rowCount; i++) {
 | 
	
		
			
				|  |  | -                     var hasUpdate = false, rObj = sheetCommonObj.combineRowData(me.workBook.getSheet(0), me.setting, args.row + i),
 | 
	
		
			
				|  |  | +                     let rObj = sheetCommonObj.combineRowData(me.workBook.getSheet(0), me.setting, args.row + i),
 | 
	
		
			
				|  |  |                           isEmpty = sheetCommonObj.chkIfEmpty(rObj, me.setting);
 | 
	
		
			
				|  |  |                       if(isEmpty){
 | 
	
		
			
				|  |  |                           if(args.row + i < cacheSection.length){
 | 
	
	
		
			
				|  | @@ -710,6 +836,9 @@ var pageOprObj = {
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      else{
 | 
	
		
			
				|  |  |                          me.currentCache = me.getCache();
 | 
	
		
			
				|  |  | +                        //sheetCommonObj.unLockAllCells(me.workBook.getSheet(0));
 | 
	
		
			
				|  |  | +                        sheetCommonObj.reLockSomeCodes(me.workBook.getSheet(0), 0, me.currentCache.length);
 | 
	
		
			
				|  |  | +                        //sheetCommonObj.lockSomeCodes(me.workBook.getSheet(0), 0, me.currentCache.length);
 | 
	
		
			
				|  |  |                      }
 | 
	
		
			
				|  |  |                      me.showGljItems(me.gljList, me.gljCurTypeId);
 | 
	
		
			
				|  |  |                  }
 | 
	
	
		
			
				|  | @@ -796,17 +925,22 @@ var gljTypeTreeOprObj = {
 | 
	
		
			
				|  |  |              gljTypeId = treeNode.ID;
 | 
	
		
			
				|  |  |          me.gljCurTypeId = treeNode.ID;
 | 
	
		
			
				|  |  |          //me.currentCache = me.getCache();
 | 
	
		
			
				|  |  | -        me.showGljItems(me.gljList, gljTypeId);
 | 
	
		
			
				|  |  |          if (me.parentNodeIds["_pNodeId_" + treeNode.ID]) {
 | 
	
		
			
				|  |  |              me.currentOprParent = 1;
 | 
	
		
			
				|  |  |              me.currentCache = me.getParentCache(me.parentNodeIds["_pNodeId_" + treeNode.ID]);
 | 
	
		
			
				|  |  | -            sheetCommonObj.lockCodeCells(me.workBook.getSheet(0), me.gljList.length);
 | 
	
		
			
				|  |  | +            sheetCommonObj.lockCodeCells(me.workBook.getSheet(0), me.currentCache.length);
 | 
	
		
			
				|  |  | +            me.workBook.getSheet(0).setRowCount(me.currentCache.length);
 | 
	
		
			
				|  |  |              //sheetCommonObj.shieldAllCells(me.workBook.getSheet(0), me.setting);
 | 
	
		
			
				|  |  |          } else {
 | 
	
		
			
				|  |  |              me.currentOprParent = 0;
 | 
	
		
			
				|  |  |              me.currentCache = me.getCache();
 | 
	
		
			
				|  |  | -            sheetCommonObj.unShieldAllCells(me.workBook.getSheet(0));
 | 
	
		
			
				|  |  | +            //sheetCommonObj.unShieldAllCells(me.workBook.getSheet(0));
 | 
	
		
			
				|  |  | +            /*sheetCommonObj.unLockAllCells(me.workBook.getSheet(0));
 | 
	
		
			
				|  |  | +            sheetCommonObj.lockSomeCodes(me.workBook.getSheet(0), 0, me.currentCache.length);*/
 | 
	
		
			
				|  |  | +            sheetCommonObj.unLockAllCells(me.workBook.getSheet(0));
 | 
	
		
			
				|  |  | +            sheetCommonObj.reLockSomeCodes(me.workBook.getSheet(0), 0, me.currentCache.length);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        me.showGljItems(me.gljList, gljTypeId);
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      beforeRename: function(treeId, treeNode, newName, isCancel) {
 | 
	
		
			
				|  |  |          if (newName.length == 0) {
 | 
	
	
		
			
				|  | @@ -820,6 +954,7 @@ var gljTypeTreeOprObj = {
 | 
	
		
			
				|  |  |          gljTypeTreeOprObj.updateNodes(nodes);
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      onBeforeRemove: function(treeId, treeNode){
 | 
	
		
			
				|  |  | +        let me = this;
 | 
	
		
			
				|  |  |          if (treeNode.ParentID == -1 && treeNode.isFirstNode) {
 | 
	
		
			
				|  |  |              alert("不允许删除全部!");
 | 
	
		
			
				|  |  |              return false;
 | 
	
	
		
			
				|  | @@ -929,29 +1064,42 @@ var gljTypeTreeOprObj = {
 | 
	
		
			
				|  |  |          })
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      addHoverDom: function(treeId, treeNode) {
 | 
	
		
			
				|  |  | -        var me = repositoryGljObj, 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(){
 | 
	
		
			
				|  |  | -            var rawNode = {ParentID: treeNode.ID, NextSiblingID: -1, Name: "新增子节点"}, lastNodeId = -1;
 | 
	
		
			
				|  |  | -            if (treeNode.items.length > 0) {
 | 
	
		
			
				|  |  | -                lastNodeId = treeNode.items[treeNode.items.length - 1].ID;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            gljTypeTreeOprObj.addNewNode(rawNode, lastNodeId, function(err, rst){
 | 
	
		
			
				|  |  | -                if (!(err)) {
 | 
	
		
			
				|  |  | -                    var newNodes = [], isSilent = false;
 | 
	
		
			
				|  |  | -                    newNodes.push({ repositoryId: rst.data.repositoryId, ID: rst.data.ID, ParentID: rst.data.ParentID, NextSiblingID:-1, Name:"新增子节点",isParent:false, items:[]});
 | 
	
		
			
				|  |  | -                    treeNode.isParent = true;
 | 
	
		
			
				|  |  | -                    if (me.treeObj) {
 | 
	
		
			
				|  |  | -                        me.treeObj.addNodes(treeNode, -1, newNodes, isSilent);
 | 
	
		
			
				|  |  | -                    } else {
 | 
	
		
			
				|  |  | -                        me.treeObj = $.fn.zTree.init($("#rationChapterTree"), gljSetting, newNodes);
 | 
	
		
			
				|  |  | -                    }
 | 
	
		
			
				|  |  | +        if(typeof treeNode.doing !== 'undefined' && treeNode.doing){
 | 
	
		
			
				|  |  | +            return false;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        hoverOpr();
 | 
	
		
			
				|  |  | +        function hoverOpr(){
 | 
	
		
			
				|  |  | +            //console.log(treeNode);
 | 
	
		
			
				|  |  | +            var me = repositoryGljObj, 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;
 | 
	
		
			
				|  |  | +                if (treeNode.items.length > 0) {
 | 
	
		
			
				|  |  | +                    lastNodeId = treeNode.items[treeNode.items.length - 1].ID;
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  | +                gljTypeTreeOprObj.addNewNode(rawNode, lastNodeId, function(err, rst){
 | 
	
		
			
				|  |  | +                    if (!(err)) {
 | 
	
		
			
				|  |  | +                        var newNodes = [], isSilent = false;
 | 
	
		
			
				|  |  | +                        if(treeNode.items.length > 0){
 | 
	
		
			
				|  |  | +                            treeNode.items[treeNode.items.length - 1].NextSiblingID = rst.data.ID;
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        newNodes.push({ repositoryId: rst.data.repositoryId, ID: rst.data.ID, ParentID: rst.data.ParentID, NextSiblingID:-1, Name:"新增子节点",isParent:false, items:[]});
 | 
	
		
			
				|  |  | +                        treeNode.isParent = true;
 | 
	
		
			
				|  |  | +                        if (me.treeObj) {
 | 
	
		
			
				|  |  | +                            me.treeObj.addNodes(treeNode, -1, newNodes, isSilent);
 | 
	
		
			
				|  |  | +                        } else {
 | 
	
		
			
				|  |  | +                            me.treeObj = $.fn.zTree.init($("#rationChapterTree"), gljSetting, newNodes);
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        treeNode.doing = false;
 | 
	
		
			
				|  |  | +                        hoverOpr();
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                });
 | 
	
		
			
				|  |  |              });
 | 
	
		
			
				|  |  | -        });
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      removeHoverDom: function(treeId, treeNode) {
 | 
	
		
			
				|  |  |          $("#addBtn_"+treeNode.tId).unbind().remove();
 |