| 
					
				 | 
			
			
				@@ -6,20 +6,22 @@ let equipmentPurchaseObj  = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     parentMap:{}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     setting:{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         header: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            {headerName: "编号", headerWidth: 160, dataCode: "code", dataType: "String",formatter: "@",spanRows: [2]}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            {headerName: "设备名称", headerWidth: 200, dataCode: "name", dataType: "String",spanRows: [2]}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            {headerName: "单位", headerWidth: 60, dataCode: "unit",  dataType: "String",hAlign: "center",cellType:'comboBox',editable:true,options:unitOptions,spanRows: [2]}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            {headerName: ["设备价格","设备原价"], headerWidth: 160, dataCode: "originalPrice", hAlign: "right", dataType: "Number",validator:'number',spanCols: [4,1]}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            {headerName: ["","设备运杂费"], headerWidth: 160, dataCode: "freight", hAlign: "right", dataType: "Number",validator:'number',spanCols: [0,1]}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            {headerName: ["","备品备件费"], headerWidth: 160, dataCode: "sparePartCost", hAlign: "right", dataType: "Number",validator:'number',spanCols: [0,1]}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            {headerName: ["","单价"], headerWidth: 160, dataCode: "unitPrice", hAlign: "right", dataType: "Number",validator:'number',spanCols: [0,1]}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            {headerName: "数量", headerWidth: 160, dataCode: "quantity", hAlign: "right", dataType: "Number",validator:'number',spanRows: [2]}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            {headerName: "合价", headerWidth: 160, dataCode: "totalPrice", hAlign: "right", dataType: "Number",spanRows: [2]}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName: "编码", headerWidth: 160, dataCode: "code", dataType: "String",formatter: "@"}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName: "设备名称", headerWidth: 200, dataCode: "name", dataType: "String"}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName: "单位", headerWidth: 60, dataCode: "unit",  dataType: "String",hAlign: "center",cellType:'comboBox',editable:true,options:unitOptions}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName: "数量", headerWidth: 100, dataCode: "quantity", hAlign: "right", dataType: "Number",validator:'number'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName: "原价", headerWidth: 100, dataCode: "originalPrice", hAlign: "right", dataType: "Number",validator:'number'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName: "运杂费费率(%)", headerWidth: 100, dataCode: "freightRate", hAlign: "right", dataType: "Number",validator:'number'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName: "运杂费", headerWidth: 100, dataCode: "freight", hAlign: "right", dataType: "Number",validator:'number'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName: "备品备件购置费\n费率(%)", headerWidth: 130, dataCode: "sparePartCostRate", hAlign: "right", dataType: "Number",validator:'number'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName: "备品备件购置费", headerWidth: 100, dataCode: "sparePartCost", hAlign: "right", dataType: "Number",validator:'number'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName: "单价", headerWidth: 100, dataCode: "unitPrice", hAlign: "right", dataType: "Number",validator:'number'}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName: "合价", headerWidth: 100, dataCode: "totalPrice", hAlign: "right", dataType: "Number"}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            {headerName: "备注", headerWidth: 100, dataCode: "remark", dataType: "String"}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        headRows:2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         view: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            lockColumns: ["totalPrice",'unitPrice'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            rowHeaderWidth:40, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            lockColumns: ["totalPrice",'unitPrice','freight','sparePartCost'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            colHeaderHeight:40, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -144,6 +146,7 @@ let equipmentPurchaseObj  = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let treeData = this.getTreeData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.data = treeData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        console.log(data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         sheetCommonObj.showTreeData(this.sheet, this.setting,treeData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         this.checkBtn(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         $('#equipment_total').text(this.sourceData.total); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -178,7 +181,7 @@ let equipmentPurchaseObj  = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return me.showData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let data = {doc:{},ID:equipment.ID}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(dataCode == 'quantity' || dataCode == 'originalPrice'|| dataCode == 'freight'|| dataCode == 'sparePartCost'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(dataCode == 'quantity' || dataCode == 'originalPrice'|| dataCode == 'freightRate'|| dataCode == 'sparePartCostRate'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             value = me.calcTotalPrice(value,dataCode,data.doc,equipment); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(equipment[dataCode] == value) return me.showData(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -205,7 +208,7 @@ let equipmentPurchaseObj  = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let newChildren = temParentMap[d.ID]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if((children&&children.length > 0) || (newChildren && newChildren.length > 0)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               let totalPrice = getTotalPrice(d.ID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              if(d.totalPrice !== totalPrice) updateData.push({ID:d.ID,doc: {totalPrice,unitPrice:'',sparePartCost:'',freight:'',originalPrice:'',quantity:''} })   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if(d.totalPrice !== totalPrice) updateData.push({ID:d.ID,doc: {totalPrice,unitPrice:'',sparePartCost:'',sparePartCostRate:'',freight:'',freightRate:'',originalPrice:'',quantity:''} })   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -249,13 +252,15 @@ let equipmentPurchaseObj  = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     calcTotalPrice:function(newValue = 0,dataCode,doc,equipment){    
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //设备原价 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let originalPrice = equipment.originalPrice?scMathUtil.roundForObj(equipment.originalPrice,getDecimal('glj.unitPrice')):0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //设备运杂费 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let freight = equipment.freight?scMathUtil.roundForObj(equipment.freight,getDecimal('glj.unitPrice')):0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //备品备件费 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let sparePartCost = equipment.sparePartCost?scMathUtil.roundForObj(equipment.sparePartCost,getDecimal('glj.quantity')):0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //设备运杂费费率 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let freightRate = equipment.freightRate?scMathUtil.roundForObj(equipment.freightRate,getDecimal('feeRate')):0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //备品备件费费率 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let sparePartCostRate = equipment.sparePartCostRate?scMathUtil.roundForObj(equipment.sparePartCostRate,getDecimal('feeRate')):0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let quantity = equipment.quantity?scMathUtil.roundForObj(equipment.quantity,getDecimal('glj.quantity')):0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         let unitPrice = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let freight = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let sparePartCost = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(gljUtil.isDef(doc.originalPrice)) originalPrice = doc.originalPrice; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(gljUtil.isDef(doc.freight)) freight = doc.freight; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -269,17 +274,24 @@ let equipmentPurchaseObj  = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             newValue =  scMathUtil.roundForObj(newValue,getDecimal('glj.unitPrice')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             originalPrice = newValue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(dataCode === 'freight') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            newValue =  scMathUtil.roundForObj(newValue,getDecimal('glj.unitPrice')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            freight = newValue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(dataCode === 'freightRate') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            newValue =  scMathUtil.roundForObj(newValue,getDecimal('feeRate')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            freightRate = newValue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(dataCode === 'sparePartCost') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            newValue =  scMathUtil.roundForObj(newValue,getDecimal('glj.unitPrice')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            sparePartCost = newValue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(dataCode === 'sparePartCostRate') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            newValue =  scMathUtil.roundForObj(newValue,getDecimal('feeRate')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            sparePartCostRate = newValue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //运杂费 =  原价*运杂费费率(%)*0.01 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        freight = scMathUtil.roundForObj(originalPrice * freightRate * 0.01,getDecimal('glj.unitPrice')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 备品备件费 = 原价*备品备件购置费费率(%)*0.01 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sparePartCost = scMathUtil.roundForObj(originalPrice * sparePartCostRate * 0.01,getDecimal('glj.unitPrice')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         unitPrice = scMathUtil.roundForObj(originalPrice + freight,getDecimal('process')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         unitPrice = scMathUtil.roundForObj(unitPrice + sparePartCost,getDecimal('glj.unitPrice')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        doc.freight = freight; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        doc.sparePartCost = sparePartCost; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         doc.unitPrice = unitPrice; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         doc.totalPrice = scMathUtil.roundForObj(quantity * unitPrice,getDecimal('glj.unitPrice')); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return newValue; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -317,7 +329,7 @@ let equipmentPurchaseObj  = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 return ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             let tem = updateMap[equipment.ID]?updateMap[equipment.ID]:{}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(dataCode == 'quantity' || dataCode == 'originalPrice'|| dataCode == 'freight'|| dataCode == 'sparePartCost'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(dataCode == 'quantity' || dataCode == 'originalPrice'|| dataCode == 'freightRate'|| dataCode == 'sparePartCostRate'){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 value = me.calcTotalPrice(value,dataCode,tem,equipment); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             tem[dataCode] = value; 
			 |