| 
					
				 | 
			
			
				@@ -19,12 +19,14 @@ projectGljObject={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             {headerName: "是否暂估", headerWidth: 60, dataCode: "is_evaluate", hAlign: "center", dataType: "String",cellType:'checkBox'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             {headerName: "供货方式", headerWidth: 80, dataCode: "supply", hAlign: "center", dataType: "String",cellType:'comboBox',editorValueType:true,options:supplyComboMap}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             {headerName: "甲供数量", headerWidth: 100, dataCode: "supply_quantity", hAlign: "right", dataType: "Number",validator:"number"}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName: "三材类别", headerWidth: 80, dataCode: "materialType", hAlign: "center", dataType: "String",cellType:'comboBox',editorValueType:true,options:materialComboMap}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName: "三材系数", headerWidth: 100, dataCode: "materialCoe", hAlign: "right", dataType: "Number",decimalField:'material'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             {headerName: "交货方式", headerWidth: 90, dataCode: "delivery", hAlign: "left", dataType: "String"}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             {headerName: "送达地点", headerWidth: 100, dataCode: "delivery_address", hAlign: "left", dataType: "String"}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             {headerName: "不调价", headerWidth: 55, dataCode: "is_adjust_price", dataType: "String",cellType: "checkBox"} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         view: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            lockColumns: [0,1,2,3,4,5,7,12,13] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            lockColumns: [0,1,2,3,4,5,7] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     projectGljSpread:null, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -98,8 +100,9 @@ projectGljObject={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             me.mixRatioSheet.setValue(0, consumptionCol, '消耗量', GC.Spread.Sheets.SheetArea.colHeader); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let sel = me.projectGljSheet.getSelections()[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(me.projectGljSheetData.length>sel.row){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            gljId = me.projectGljSheetData[sel.row].id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let srow = sel.row == -1?0:sel.row; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(me.projectGljSheetData.length>srow){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            gljId = me.projectGljSheetData[srow].id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         projectObj.project.projectGLJ.getRatioData(gljId,function (data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let rationList =[]; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -138,10 +141,16 @@ projectGljObject={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             args.cancel = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    projectGljEditChecking:function (row,col) {//return false表示不能编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    projectGljEditChecking:function (row,col) {//return false表示不能编辑 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let me = projectGljObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let data = me.projectGljSheetData[row]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let dataCode = me.projectGljSetting.header[col].dataCode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let lockColumns = me.projectGljSetting.view.lockColumns; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(lockColumns.indexOf(col)!= -1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(dataCode=='is_adjust_price'||dataCode=='is_evaluate'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -170,6 +179,14 @@ projectGljObject={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let me = projectGljObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let changeInfo=[]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let canChange = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(me.projectGljEditChecking(info.row,info.col) == false){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            canChange = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else if (info.action == GC.Spread.Sheets.RangeChangedAction.clear) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            info.newValue = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            me.onProjectGLJValueChange(sender,info); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for(let c of info.changedCells){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let value=  info.sheet.getCell(c.row, c.col).text(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             changeInfo.push({row:c.row,col:c.col,value:value}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -182,7 +199,6 @@ projectGljObject={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(canChange == false){//恢复原来的值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            console.log('1'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             me.showProjectGljData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              me.batchUpdatePrice(changeInfo); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -200,6 +216,7 @@ projectGljObject={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     showProjectGljData:function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let sel = this.projectGljSheet.getSelections()[0]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let projectGljSheetData = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let gljList = projectObj.project.projectGLJ.datas.gljList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         gljList = this.filterProjectGLJ(gljList); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -211,6 +228,7 @@ projectGljObject={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.projectGljSheet.setRowCount(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sheetCommonObj.showData(this.projectGljSheet, this.projectGljSetting,this.projectGljSheetData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.projectGljSheet.setRowCount(this.projectGljSheetData.length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.projectGljSheet.setSelection(sel.row,sel.col,sel.rowCount,sel.colCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     filterProjectGLJ:function (gljList) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let me = projectGljObject; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -245,6 +263,8 @@ projectGljObject={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             quantity:glj.quantity, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             supply:glj.supply, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             supply_quantity:glj.supply_quantity, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            materialType:glj.materialType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            materialCoe:glj.materialCoe, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             delivery:glj.delivery, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             delivery_address:glj.delivery_address, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             is_adjust_price:glj.is_adjust_price, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -312,16 +332,16 @@ projectGljObject={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let updateData ={id: recode.mix_ratio_id, field: 'mix_ratio.' + dataCode, value: value, market_price: parentMarketPrice, base_price: parentBasePrice}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let prow= projectGljObject.projectGljSheet.getActiveRowIndex();//取父机械或组成物的下标 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let prowData = projectGljObject.projectGljSheetData[prow]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        composition.updateConsumption(updateData,recode,prowData.id,function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-           me.refreshParentData(prow,prowData.id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        composition.updateConsumption(updateData,recode,prowData.id,function (sid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           me.refreshParentData(prow,prowData.id,sid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    refreshParentData:function (row,pid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    refreshParentData:function (row,pid,sid) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let me = this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         me.refreshProjectGljRow(row); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 更新组成物缓存 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         projectObj.project.composition.loadData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //选查找使用了父项目工料机的定额工料机 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //先查找使用了父项目工料机的定额工料机 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let updateNodes=[]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let ration_gljs = _.filter(projectObj.project.ration_glj.datas,{'projectGLJID':pid}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for(let rg of ration_gljs){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -339,8 +359,14 @@ projectGljObject={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 updateNodes.push(r_node); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(sid){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            let subRations = calcTools.getRationsByProjectGLJ(sid); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            updateNodes = updateNodes.concat(subRations); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(updateNodes.length>0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            projectObj.project.calcProgram.calcRationsAndSave(updateNodes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            projectObj.project.calcProgram.calcRationsAndSave(updateNodes,function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                projectObj.mainController.refreshTreeNode(projectObj.project.mainTree.roots); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         gljOprObj.refreshView(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -377,7 +403,7 @@ projectGljObject={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         parentBasePrice = parentBasePrice.toDecimal(getDecimal("glj.unitPrice")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return [parentMarketPrice, parentBasePrice]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    onProjectGLJValueChange:function (e,info) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    onProjectGLJValueChange:function (e,info) {//me.projectGljSetting 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let projectGLJ = projectObj.project.projectGLJ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let me = projectGljObject,row = info.row, col = info.col; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let dataCode = me.projectGljSetting.header[col].dataCode; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -400,7 +426,6 @@ projectGljObject={ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             info.sheet.resumeEvent(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             info.sheet.resumePaint(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (dataCode === 'supply' || dataCode === 'supply_quantity'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 let rations = calcTools.getRationsByProjectGLJ(recode.id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 projectObj.project.calcProgram.calcRationsAndSave(rations, function () { 
			 |