|
@@ -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;
|