2 lines
965 B
JavaScript
2 lines
965 B
JavaScript
"use strict";exports.calculateRing=function(e){!function(e){const t=[["goldWeight","金重"],["mainStoneWeight","主石重"],["sideStoneWeight","副石重"],["lossRate","损耗"],["moldGoldPrice","倒模金价"],["mainStoneUnitPrice","主石单价"],["sideStoneUnitPrice","副石单价"],["sideStoneCount","副石粒数"],["microSettingFee","微镶费"],["mainStoneSettingFee","主石镶费"],["threeDFee","3D起板费"],["basicLaborCost","基本工费"],["otherCost","其他费用"]];for(const[o,i]of t)if(e[o]<0)throw new Error(`${i}不能为负数`)}(e);const t=e.goldWeight-.2*e.mainStoneWeight-.2*e.sideStoneWeight,o=t*e.lossRate,i=o*e.moldGoldPrice,n=e.mainStoneWeight*e.mainStoneUnitPrice,s=e.sideStoneWeight*e.sideStoneUnitPrice,r=e.sideStoneCount*e.microSettingFee;return{netGoldWeight:t,weightWithLoss:o,goldValue:i,mainStoneTotal:n,sideStoneTotal:s,microSettingTotal:r,totalPrice:i+n+s+e.mainStoneSettingFee+r+e.threeDFee+e.basicLaborCost+e.otherCost}};
|