import _ from "lodash"; //分摊费用额 export function shareAmountFees(num, num2, num3) { const val = Number(num ? num : 0) const val2 = Number(num2 ? num2 : 0) const val3 = Number(num3 ? num3 : 0) const sum = _.multiply(_.add(val, val2), val3) return Number(sum).toFixed(2) } //计算费用 export function calculationFees(num, num2, num3) { const val = Number(num ? num : 0) const val2 = Number(num2 ? num2 : 0) const val3 = Number(num3 ? num3 : 0) const sum = _.multiply(_.add(val, val2), val3) return Number(sum).toFixed(2) } //配件总价 export function partSum(num, num2, num3, num4, num5, num6, num7) { const val = Number(num ? num : 0) const val2 = Number(num2 ? num2 : 0) const val3 = Number(num3 ? num3 : 0) const val4 = Number(num4 ? num4 : 0) const val5 = Number(num5 ? num5 : 0) const val6 = Number(num6 ? num6 : 0) const val7 = Number(num7 ? num7 : 0) const sum = _.add(val, _.add(val2, _.add(val3, _.add(val4, _.add(val5, _.add(val6, val7)))))) return Number(sum).toFixed(2) } //总价 export function sum(num, num2) { //最新价格 const val = Number(num ? num : 0) const val2 = Number(num2 ? num2 : 0) const sum = _.add(val, val2) return Number(sum).toFixed(2) } //金额相除 export function divide(num, num2,num3) { //最新价格 const val = Number(num ? num : 0) const val2 = Number(num2 ? num2 : 0) const val3 = Number(num3 ? num3 : 2) const divide = _.divide(val, val2) return Number(divide).toFixed(val3) } //金额相乘 export function multiply(num, num2,num3) { //最新价格 const val = Number(num ? num : 0) const val2 = Number(num2 ? num2 : 0) const val3 = Number(num3 ? num3 : 2) const multiply = _.multiply(val, val2) return Number(multiply).toFixed(val3) } //两数相减 export function subtract(num, num2,num3) { //最新价格 const val = Number(num ? num : 0) const val2 = Number(num2 ? num2 : 0) const val3 = Number(num3 ? num3 : 2) const subtract = _.subtract(val, val2) return Number(subtract).toFixed(val3) } //原始成本=最新价格/(1+税率/100) export function costCal(num, num2) { //最新价格 const price = Number(num ? num : 0) //税率 const rate = Number(num2 ? num2 : 0) const sum = _.divide(price, _.add(1, _.divide(rate, 100))) return Number(sum).toFixed(2) } //采购价格加配件价计算出产品价格 export function productCal(num, num2, num3) { //采购价格 const price = Number(num ? num : 0) //配件价 const fitting = Number(num2 ? num2 : 0) //fob const fob = Number(num3 ? num3 : 0) const sum = _.multiply(_.add(price, fitting), _.add(1, _.divide(fob, 100))) return Number(sum).toFixed(2) } export function costsCal(num, num2, num3) { //数字1 const price1 = Number(num ? num : 0) //数字2 const price2 = Number(num2 ? num2 : 0) //数量 const Num = Number(num3 ? num3 : 0) const sum = _.add(price1, _.multiply(price2, Num)) return Number(sum).toFixed(2) } //产品价格/汇率 计算出出厂价格 export function sellingCal(num, num2) { //产品价格 const product = Number(num ? num : 0) //汇率 const exchangeRate = Number(Number(num2) ? num2 : 1) const sum = _.divide(product, exchangeRate) return Number(sum).toFixed(2) } //出厂价格乘以数量加运费加保险乘以(折扣除以10) 计算出金额 export function amountCal(num, num2, num3, num4, num5) { //销售价 const sell = Number(num ? num : 0) //数量 const quantity = Number(num2 ? num2 : 0) //运费 const freight = Number(num3 ? num3 : 0) //保险 const insurance = Number(num4 ? num4 : 0) //折扣 const discount = Number(num5 || num5 === 0 ? num5 : 10) const sum = _.multiply(_.add(_.multiply(sell, quantity), _.add(freight, insurance)), _.divide(discount, 10)) return Number(sum).toFixed(2) } //保险、运费转换汇率 export function transformCal(num, num2, num3) { //采购价格 const cost = Number(num ? num : 0) //旧汇率 const oldExchangeRate = Number(Number(num2) ? num2 : 1) //汇率 const exchangeRate = Number(Number(num3) ? num3 : 1) const sum = _.divide(_.multiply(cost, oldExchangeRate), exchangeRate) return Number(sum).toFixed(2) } // 采购报价=单价 / (1+税率/100) *(1+FOB系数/100) export function purchaseCal(num, num2, num3) { const price = Number(num ? num : 0) const taxRate = Number(num2 ? num2 : 0) const fob = Number(num3 ? num3 : 0) const sum = _.multiply(_.divide(price, _.add(1, _.divide(taxRate, 100))), _.add(1, _.divide(fob, 100))) return Number(sum).toFixed(2) } // 单品毛利率:( 销售价*汇率 -(采购价格+配件价格))/销售价*汇率 export function grossProfitCal(num, num2, num3, num4) { const purchase = Number(num ? num : 0) const fitting = Number(num2 ? num2 : 0) const price = Number(num3 ? num3 : 0) const exchangeRate = Number(Number(num4) ? num4 : 1) const sum = _.multiply(_.divide(_.subtract(_.multiply(price, exchangeRate), _.add(purchase, fitting)), _.multiply(price, exchangeRate)), 100) return sum ? Number(sum).toFixed(2) : '0.00' } //单票毛利: (金额*汇率+费用应收合计)-(成本*数量+费用应付合计) export function STGPCal(num, num2, num3, num4) { const amountSum = Number(num ? num : 0) const reSum = Number(num2 ? num2 : 0) const costSum = Number(num3 ? num3 : 0) const paySum = Number(num4 ? num4 : 0) const sum = _.subtract(_.add(amountSum, reSum), _.add(costSum, paySum)) return Number(sum).toFixed(2) } //校验值是否合法 export function numCal(num) { if (isNaN(Number(num))) { return Number(0) } else { return Number(num ? num : 0) } } //工资拨付标准+职级工资 export function addAllsalary(num, num2, num3) { const Sum1 = Number(num ? num : 0) const Sum2 = Number(num2 ? num2 : 0) const Sum3 = Number(num3 ? num3 : 0) const sum = _.add(_.add(Sum1, Sum2), Sum3) return Number(sum) } // export function addAllsalary2(num, num2, num3, num4) { const Sum1 = Number(num ? num : 0) const Sum2 = Number(num2 ? num2 : 0) const Sum3 = Number(num3 ? num3 : 0) const Sum4 = Number(num4 ? num4 : 0) const sum = _.add(_.add(Sum1, Sum2), _.add(Sum3, Sum4)) return Number(sum) } //销售=出厂价+分摊价格 export function addPrice(num, num2, num3) { const Sum1 = Number(num ? num : 0) const Sum2 = Number(num2 ? num2 : 0) const Sum3 = Number(num3 ? num3 : 0) const sum = _.add(_.add(Sum1, Sum2), Sum3) return Number(sum).toFixed(2) }