|
|
@ -234,23 +234,25 @@ export default { |
|
|
let value = 0; |
|
|
let value = 0; |
|
|
// 公式包含Tool +测试+其他+包装+运输 |
|
|
// 公式包含Tool +测试+其他+包装+运输 |
|
|
let otherCost = this.quoteDetail.toolCost + this.quoteDetail.testCost + this.quoteDetail.elseCost + this.quoteDetail.packCost + this.quoteDetail.shippingCost |
|
|
let otherCost = this.quoteDetail.toolCost + this.quoteDetail.testCost + this.quoteDetail.elseCost + this.quoteDetail.packCost + this.quoteDetail.shippingCost |
|
|
|
|
|
// 其他成本 + 材料成本 + 机器成本 + 人工成本 |
|
|
let ttlCost = otherCost + this.quoteDetail.adjustPartCost + this.quoteDetail.adjustMachineCost + this.quoteDetail.adjustLabourCost; |
|
|
let ttlCost = otherCost + this.quoteDetail.adjustPartCost + this.quoteDetail.adjustMachineCost + this.quoteDetail.adjustLabourCost; |
|
|
switch (type){ |
|
|
switch (type){ |
|
|
case 'va': |
|
|
case 'va': |
|
|
value = this.quoteDetail.quoteProfitRate/100 |
|
|
value = this.quoteDetail.quoteProfitRate/100 |
|
|
//price = (物料成本+工具成本+运输成本+包装成本)/(1-value)+其他额外成本 |
|
|
//price = (物料成本+工具成本+运输成本+包装成本)/(1-value)+其他额外成本 |
|
|
this.quoteDetail.quoteTaxTotalPrice = (this.quoteDetail.adjustPartCost + this.totalPartCost)/(1-value)+this.totalElseCost |
|
|
|
|
|
|
|
|
this.quoteDetail.quoteTaxTotalPrice = (this.quoteDetail.adjustPartCost + otherCost)/(1-value)+this.totalElseCost |
|
|
// contribution = 1-(物料成本+人工成本+工具成本+运输成本+包装成本)/(price-额外其他成本) |
|
|
// contribution = 1-(物料成本+人工成本+工具成本+运输成本+包装成本)/(price-额外其他成本) |
|
|
this.quoteDetail.quoteProfitAmount = (1-(this.quoteDetail.adjustPartCost + this.quoteDetail.adjustLabourCost + this.totalPartCost)/(this.quoteDetail.quoteTaxTotalPrice-this.totalElseCost))*100 |
|
|
|
|
|
|
|
|
this.quoteDetail.quoteProfitAmount = (1-(this.quoteDetail.adjustPartCost + this.quoteDetail.adjustLabourCost + otherCost)/(this.quoteDetail.quoteTaxTotalPrice-this.totalElseCost))*100 |
|
|
// margin = (price-额外其他成本-总成本)/(price-额外其他成本) |
|
|
// margin = (price-额外其他成本-总成本)/(price-额外其他成本) |
|
|
this.quoteDetail.quoteTaxRate = ((this.quoteDetail.quoteTaxTotalPrice - this.totalElseCost - ttlCost)/(this.quoteDetail.quoteTaxTotalPrice - this.totalElseCost))*100 |
|
|
this.quoteDetail.quoteTaxRate = ((this.quoteDetail.quoteTaxTotalPrice - this.totalElseCost - ttlCost)/(this.quoteDetail.quoteTaxTotalPrice - this.totalElseCost))*100 |
|
|
break; |
|
|
break; |
|
|
case 'contribution': |
|
|
case 'contribution': |
|
|
value = this.quoteDetail.quoteProfitAmount/100 |
|
|
value = this.quoteDetail.quoteProfitAmount/100 |
|
|
//price = (物料成本+工具成本+运输成本+包装成本+人工成本)/(1-value)+其他额外成本 |
|
|
//price = (物料成本+工具成本+运输成本+包装成本+人工成本)/(1-value)+其他额外成本 |
|
|
this.quoteDetail.quoteTaxTotalPrice = (this.quoteDetail.adjustPartCost + this.quoteDetail.adjustLabourCost + this.totalPartCost)/(1-value)+this.totalElseCost |
|
|
|
|
|
|
|
|
this.quoteDetail.quoteTaxTotalPrice = (this.quoteDetail.adjustPartCost + this.quoteDetail.adjustLabourCost + otherCost)/(1-value)+this.totalElseCost |
|
|
|
|
|
console.log(this.quoteDetail.adjustPartCost + this.quoteDetail.adjustLabourCost + otherCost) |
|
|
// va = 1-(物料成本+工具成本+运输成本+包装成本)/(price-额外其他成本) |
|
|
// va = 1-(物料成本+工具成本+运输成本+包装成本)/(price-额外其他成本) |
|
|
this.quoteDetail.quoteProfitRate = (1-(this.quoteDetail.adjustPartCost + this.totalPartCost)/(this.quoteDetail.quoteTaxTotalPrice-this.totalElseCost))*100 |
|
|
|
|
|
|
|
|
this.quoteDetail.quoteProfitRate = (1-(this.quoteDetail.adjustPartCost + otherCost)/(this.quoteDetail.quoteTaxTotalPrice-this.totalElseCost))*100 |
|
|
// margin = (price-额外其他成本-总成本)/(price-额外其他成本) |
|
|
// margin = (price-额外其他成本-总成本)/(price-额外其他成本) |
|
|
this.quoteDetail.quoteTaxRate=((this.quoteDetail.quoteTaxTotalPrice - this.totalElseCost - ttlCost)/(this.quoteDetail.quoteTaxTotalPrice - this.totalElseCost))*100 |
|
|
this.quoteDetail.quoteTaxRate=((this.quoteDetail.quoteTaxTotalPrice - this.totalElseCost - ttlCost)/(this.quoteDetail.quoteTaxTotalPrice - this.totalElseCost))*100 |
|
|
break; |
|
|
break; |
|
|
@ -259,16 +261,16 @@ export default { |
|
|
// price = 总成本/(1-value)+其他额外成本 |
|
|
// price = 总成本/(1-value)+其他额外成本 |
|
|
this.quoteDetail.quoteTaxTotalPrice = ttlCost/(1-value)+this.totalElseCost |
|
|
this.quoteDetail.quoteTaxTotalPrice = ttlCost/(1-value)+this.totalElseCost |
|
|
// va = 1-(物料成本+工具成本+运输成本+包装成本)/(price-额外其他成本) |
|
|
// va = 1-(物料成本+工具成本+运输成本+包装成本)/(price-额外其他成本) |
|
|
this.quoteDetail.quoteProfitRate = (1-(this.quoteDetail.adjustPartCost + this.totalPartCost)/(this.quoteDetail.quoteTaxTotalPrice-this.totalElseCost))*100 |
|
|
|
|
|
|
|
|
this.quoteDetail.quoteProfitRate = (1-(this.quoteDetail.adjustPartCost + otherCost)/(this.quoteDetail.quoteTaxTotalPrice-this.totalElseCost))*100 |
|
|
// contribution = 1-(物料成本+人工成本+工具成本+运输成本+包装成本)/(price-额外其他成本) |
|
|
// contribution = 1-(物料成本+人工成本+工具成本+运输成本+包装成本)/(price-额外其他成本) |
|
|
this.quoteDetail.quoteProfitAmount = (1-(this.quoteDetail.adjustPartCost + this.quoteDetail.adjustLabourCost + this.totalPartCost)/(this.quoteDetail.quoteTaxTotalPrice-this.totalElseCost))*100 |
|
|
|
|
|
|
|
|
this.quoteDetail.quoteProfitAmount = (1-(this.quoteDetail.adjustPartCost + this.quoteDetail.adjustLabourCost + otherCost)/(this.quoteDetail.quoteTaxTotalPrice-this.totalElseCost))*100 |
|
|
break; |
|
|
break; |
|
|
case 'price': |
|
|
case 'price': |
|
|
value = this.quoteDetail.quoteTaxTotalPrice |
|
|
value = this.quoteDetail.quoteTaxTotalPrice |
|
|
// va = 1-(物料成本+工具成本+运输成本+包装成本)/(value-额外其他成本) |
|
|
// va = 1-(物料成本+工具成本+运输成本+包装成本)/(value-额外其他成本) |
|
|
this.quoteDetail.quoteProfitRate = (1-(this.quoteDetail.adjustPartCost + this.totalPartCost)/(this.quoteDetail.quoteTaxTotalPrice-this.totalElseCost))*100 |
|
|
|
|
|
|
|
|
this.quoteDetail.quoteProfitRate = (1-(this.quoteDetail.adjustPartCost + otherCost)/(this.quoteDetail.quoteTaxTotalPrice-this.totalElseCost))*100 |
|
|
// contribution = 1-(物料成本+人工成本+工具成本+运输成本+包装成本)/(value-额外其他成本) |
|
|
// contribution = 1-(物料成本+人工成本+工具成本+运输成本+包装成本)/(value-额外其他成本) |
|
|
this.quoteDetail.quoteProfitAmount = (1-(this.quoteDetail.adjustPartCost + this.quoteDetail.adjustLabourCost + this.totalPartCost)/(this.quoteDetail.quoteTaxTotalPrice-this.totalElseCost))*100 |
|
|
|
|
|
|
|
|
this.quoteDetail.quoteProfitAmount = (1-(this.quoteDetail.adjustPartCost + this.quoteDetail.adjustLabourCost + otherCost)/(this.quoteDetail.quoteTaxTotalPrice-this.totalElseCost))*100 |
|
|
// margin = (value-额外其他成本-总成本)/(value-额外其他成本) |
|
|
// margin = (value-额外其他成本-总成本)/(value-额外其他成本) |
|
|
this.quoteDetail.quoteTaxRate=((this.quoteDetail.quoteTaxTotalPrice - this.totalElseCost - ttlCost)/(this.quoteDetail.quoteTaxTotalPrice - this.totalElseCost))*100 |
|
|
this.quoteDetail.quoteTaxRate=((this.quoteDetail.quoteTaxTotalPrice - this.totalElseCost - ttlCost)/(this.quoteDetail.quoteTaxTotalPrice - this.totalElseCost))*100 |
|
|
break; |
|
|
break; |
|
|
|