| 
					
				 | 
			
			
				@@ -856,7 +856,7 @@ var gljOprObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             me.gljLibSheetData=me[val]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if($('#actionType').val()!='add'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if($('#actionType').val()=='replace'||$('#actionType').val()=='m_replace'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             me.filterLibGLJByType(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(me.gljCurTypeId==undefined){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -878,29 +878,37 @@ var gljOprObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     addGLJsSelection:function (args,newVal) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         var con_key = this.getIndex(this.gljLibSheetData[args.row],['code','name','specs','unit','gljType']) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(newVal==1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            this.GLJSelection.push(this.gljLibSheetData[args.row].code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.GLJSelection.push(con_key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.gljLibSheetData[args.row].select=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }else if(newVal==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            _.pull(this.GLJSelection,this.gljLibSheetData[args.row].code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            _.pull(this.GLJSelection,con_key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.gljLibSheetData[args.row].select=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     replaceGLJSelection:function (args,newVal) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var me =this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         var oldSelection=this.GLJSelection[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(newVal==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             args.sheet.getCell(args.row, args.col).value(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        this.GLJSelection=[this.gljLibSheetData[args.row].code]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.GLJSelection=[me.getIndex(this.gljLibSheetData[args.row],['code','name','specs','unit','gljType'])]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.gljLibSheetData[args.row].select=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var oindex = _.findIndex(this.gljLibSheetData,{'code':oldSelection}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var oindex = _.findIndex(this.gljLibSheetData,function (item) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var i_key = me.getIndex(item,['code','name','specs','unit','gljType']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return oldSelection==i_key; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(oindex!=-1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             args.sheet.getCell(oindex, args.col).value(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.gljLibSheetData[oindex].select=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var oldData = _.find(gljOprObj.AllRecode,{'code':oldSelection}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            oldData.select=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var oldData = _.find(gljOprObj.AllRecode,function (item) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                var i_key = me.getIndex(item,['code','name','specs','unit','gljType']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return oldSelection==i_key; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            oldData?oldData.select=0:""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     filterLibGLJByType:function () { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -941,11 +949,20 @@ var gljOprObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return distTypeTree; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    doInsertGLJ:function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var selected = projectObj.project.mainTree.selected; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        var project= projectObj.project; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log(gljOprObj.GLJSelection); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     doAddGLJ:function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         var selected = projectObj.project.mainTree.selected; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         var project= projectObj.project; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         gljOprObj.GLJSelection= _.filter(gljOprObj.GLJSelection,function (n) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            return _.find(gljOprObj.sheetData,{'code':n})?false:true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var rg = _.find(gljOprObj.sheetData,function (item) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                var i_key = gljOprObj.getIndex(item,['code','name','specs','unit','type']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                 return n==i_key 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return rg?false:true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(gljOprObj.GLJSelection.length>0&&selected&&selected.sourceType==ModuleNames.ration){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $("#glj_tree_div").modal('hide'); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -979,11 +996,22 @@ var gljOprObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //result.adjustState; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 var data =result.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 var index = _.findIndex(gljOprObj.sheetData,{'ID':data.ID}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                var nodes = [selected]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 gljOprObj.sheetData[index]=data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 gljOprObj.showRationGLJSheetData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(project.ration_glj.needShowToTree(data)){//当替换的是主材或设备时,刷新对应的树节点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    var  node =  project.ration_glj.findTreeNodeByID(data.ID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(node){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        project.ration_glj.transferToNodeData(data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        node.source = data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        node.data = data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    node?nodes.push(node):""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //project.ration_glj.addToMainTree(data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 project.projectGLJ.loadData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 selected.data.adjustState=result.adjustState; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                projectObj.mainController.refreshTreeNode([selected]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                projectObj.mainController.refreshTreeNode(nodes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $.bootstrapLoading.end(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -998,15 +1026,21 @@ var gljOprObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var data=result.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var stateList= result.stateList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var n_index = me.getIndex(data.query,['code','name','specs','unit','type']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var nodes=[]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             _.forEach(project.ration_glj.datas,function (t) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 var t_index =me.getIndex(t,['code','name','specs','unit','type']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if(n_index==t_index){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     me.updateProperty(t,data.doc); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(project.ration_glj.needShowToTree(t)){//如果是造价书中的树节点,则也须刷新 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        project.ration_glj.transferToNodeData(t); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        var node = project.ration_glj.findTreeNodeByID(t.ID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        nodes.push(node); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             me.showRationGLJSheetData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             project.projectGLJ.loadData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            me.refreshStateAfterMreplace(stateList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.refreshStateAfterMreplace(stateList,nodes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             $.bootstrapLoading.end(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1015,7 +1049,7 @@ var gljOprObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             obj[key] = n; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    refreshStateAfterMreplace:function (stateList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    refreshStateAfterMreplace:function (stateList,gljNodes) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         var nodes=[]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         _.forEach(stateList,function (s) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           var node = _.find(projectObj.project.mainTree.items,function (n) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1026,6 +1060,7 @@ var gljOprObj = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               nodes.push(node); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        gljNodes.length>0?nodes = nodes.concat(gljNodes):""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         projectObj.mainController.refreshTreeNode(nodes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     refreshView:function () { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1180,16 +1215,21 @@ $(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         gljOprObj.gljLibSheetData =gljOprObj.AllRecode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         var selected=null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if($('#actionType').val()=='add',$('#actionType').val()=='insert'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if($('#actionType').val()=='add'||$('#actionType').val()=='insert'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             gljOprObj.GLJSelection=[]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              selected=gljOprObj.sheetData[gljContextMenu.selectedRow]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            gljOprObj.GLJSelection=[selected.code]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             var connect_key = gljOprObj.getIndex(selected,['code','name','specs','unit','type']) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            gljOprObj.GLJSelection=[connect_key]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             gljOprObj.filterLibGLJByType(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(selected!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var r = _.find(gljOprObj.gljLibSheetData,{'code':selected.code}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var s_key = gljOprObj.getIndex(selected,['code','name','specs','unit','gljType']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            var r = _.find(gljOprObj.gljLibSheetData,function (item) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                var item_key = gljOprObj.getIndex(item,['code','name','specs','unit','type']); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return s_key == item_key; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             r?r.select=1:""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         gljOprObj.showLibGLJSheetData(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1211,11 +1251,13 @@ $(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(gljOprObj.GLJSelection.length<1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if($('#actionType').val()=='add'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if($('#actionType').val()=='insert'){  //造价书页面中插入定额类型的工料机 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            gljOprObj.doInsertGLJ(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else if($('#actionType').val()=='add'){ //添加工料机 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             gljOprObj.doAddGLJ(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }else if($('#actionType').val()=='replace'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else if($('#actionType').val()=='replace'){//替换工料机 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             gljOprObj.doReplaceGLJ(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }else if($('#actionType').val()=='m_replace'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else if($('#actionType').val()=='m_replace'){//批量替换工料机 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             gljOprObj.doMReplaceGLJ(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 |