|
|
@ -156,7 +156,7 @@ |
|
|
|
<el-table-column prop="unit" label="单位" align="center" width="100" /> |
|
|
|
<el-table-column prop="count" label="数量" align="center" min-width="150"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-input @input="dueAmountInput(scope.row)" @keyup.native="scope.row.count = getNumber(scope.row.count, 0)" v-model="scope.row.count" clearable placeholder="" /> |
|
|
|
<el-input @input="dueAmountInput(scope.row)" @keyup.native="scope.row.count = getNumber(scope.row.count, 4)" v-model="scope.row.count" clearable placeholder="" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="batchNumber" label="批次号" align="center" min-width="150" /> |
|
|
@ -170,7 +170,7 @@ |
|
|
|
<el-table-column prop="dueAmount" label="应收款" align="center" min-width="150" /> |
|
|
|
<el-table-column prop="cost" label="商品成本" align="center" min-width="150"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-input @keyup.native="scope.row.cost = getNumber(scope.row.cost, 2)" v-model="scope.row.cost" clearable placeholder="" /> |
|
|
|
<el-input @keyup.native="scope.row.cost = getNumber(scope.row.cost, 4)" v-model="scope.row.cost" clearable placeholder="" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="备注" align="center" min-width="300"> |
|
|
@ -186,10 +186,14 @@ |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="辅单位数量" align="center" min-width="150"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-input @keyup.native="scope.row.auxiliaryUnit = getNumber(scope.row.auxiliaryUnit, 2)" v-model="scope.row.auxiliaryUnit" clearable placeholder="" /> |
|
|
|
<el-input @keyup.native="scope.row.auxiliaryUnit = getNumber(scope.row.auxiliaryUnit, 4)" v-model="scope.row.auxiliaryUnit" clearable placeholder="" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column label="折后单价" align="center" min-width="150"> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<el-input @input="dueAmountInput(scope.row)" @keyup.native="scope.row.discountPrice = getNumber(scope.row.discountPrice, 4)" v-model="scope.row.discountPrice" clearable placeholder="" /> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column prop="discountPrice" label="折后单价" align="center" min-width="150" /> |
|
|
|
<el-table-column prop="discountAmount" label="分摊优惠" align="center" min-width="150" /> |
|
|
|
<el-table-column prop="amount" label="惠后金额" align="center" min-width="150" /> |
|
|
|
<el-table-column prop="weight" label="重量" align="center" min-width="150" /> |
|
|
@ -203,7 +207,7 @@ |
|
|
|
</el-col> |
|
|
|
<el-col :span="4"> |
|
|
|
<div class="span-sty">优惠金额:</div> |
|
|
|
<el-form-item><el-input class="addinputInfo addinputw" @input="discountAmountInput()" @keyup.native="formobj.discountAmount = getNumber(formobj.discountAmount , 2)" v-model="formobj.discountAmount" clearable placeholder="" /></el-form-item> |
|
|
|
<el-form-item><el-input class="addinputInfo addinputw" @input="discountAmountInput()" @keyup.native="formobj.discountAmount = getNumber(formobj.discountAmount , 4)" v-model="formobj.discountAmount" clearable placeholder="" /></el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="4"> |
|
|
|
<div class="span-sty">优惠后金额:</div> |
|
|
@ -215,13 +219,13 @@ |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty">运费:</div> |
|
|
|
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="formobj.freight = getNumber(formobj.freight , 2)" v-model="formobj.freight" clearable placeholder="" /></el-form-item> |
|
|
|
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="formobj.freight = getNumber(formobj.freight , 4)" v-model="formobj.freight" clearable placeholder="" /></el-form-item> |
|
|
|
</el-col> |
|
|
|
</el-row> |
|
|
|
<el-row class="rowStyle"> |
|
|
|
<el-col :span="4"> |
|
|
|
<div class="span-sty">本次收款</div> |
|
|
|
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="formobj.thisPay = getNumber(formobj.thisPay , 2)" v-model="formobj.thisPay" clearable placeholder="" /></el-form-item> |
|
|
|
<el-form-item><el-input class="addinputInfo addinputw" @keyup.native="formobj.thisPay = getNumber(formobj.thisPay , 4)" v-model="formobj.thisPay" clearable placeholder="" /></el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="4"> |
|
|
|
<div class="span-sty">本次欠款</div> |
|
|
@ -229,11 +233,11 @@ |
|
|
|
</el-col> |
|
|
|
<el-col :span="4"> |
|
|
|
<div class="span-sty">总欠款</div> |
|
|
|
<el-form-item><el-input class="addinputInfo addinputw" disabled @keyup.native="formobj.totalDebt = getNumber(formobj.totalDebt , 2)" v-model="formobj.totalDebt" clearable placeholder="" /></el-form-item> |
|
|
|
<el-form-item><el-input class="addinputInfo addinputw" disabled @keyup.native="formobj.totalDebt = getNumber(formobj.totalDebt , 4)" v-model="formobj.totalDebt" clearable placeholder="" /></el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="4"> |
|
|
|
<div class="span-sty">预收款余额</div> |
|
|
|
<el-form-item><el-input class="addinputInfo addinputw" disabled @keyup.native="formobj.advanceBalance = getNumber(formobj.advanceBalance , 2)" v-model="formobj.advanceBalance" clearable placeholder="" /></el-form-item> |
|
|
|
<el-form-item><el-input class="addinputInfo addinputw" disabled @keyup.native="formobj.advanceBalance = getNumber(formobj.advanceBalance , 4)" v-model="formobj.advanceBalance" clearable placeholder="" /></el-form-item> |
|
|
|
</el-col> |
|
|
|
<el-col :span="8"> |
|
|
|
<div class="span-sty">结算账户</div> |
|
|
@ -489,17 +493,17 @@ export default { |
|
|
|
if (this.formobj.goodsList.length > 0) { |
|
|
|
this.formobj.goodsList.forEach((e) => { |
|
|
|
if (e.goodsSpuName !== '') { |
|
|
|
yhh = parseFloat(yhh) + parseFloat(e.dueAmount !== '' ? e.dueAmount : '0') |
|
|
|
yhh = Math.round((parseFloat(yhh) + parseFloat(e.dueAmount !== '' ? e.dueAmount : '0')) * 10000) / 10000 |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
yhh = Math.round((parseFloat(yhh) - parseFloat(this.formobj.discountAmount !== '' ? this.formobj.discountAmount : '0')) * 100) / 100 |
|
|
|
yhh = Math.round((parseFloat(yhh) - parseFloat(this.formobj.discountAmount !== '' ? this.formobj.discountAmount : '0')) * 10000) / 10000 |
|
|
|
return yhh |
|
|
|
}, |
|
|
|
// 计算本次欠款 = 应收合计(优惠后金额) + 运费 - 本次收款 |
|
|
|
bcqkCompute() { |
|
|
|
let bcqk = '0' |
|
|
|
bcqk = Math.round((parseFloat(this.yhhCompute) + parseFloat(this.formobj.freight !== '' ? this.formobj.freight : '0') - parseFloat(this.formobj.thisPay !== '' ? this.formobj.thisPay : '0')) * 100) / 100 |
|
|
|
bcqk = Math.round((parseFloat(this.yhhCompute) + parseFloat(this.formobj.freight !== '' ? this.formobj.freight : '0') - parseFloat(this.formobj.thisPay !== '' ? this.formobj.thisPay : '0')) * 10000) / 10000 |
|
|
|
return bcqk |
|
|
|
} |
|
|
|
}, |
|
|
@ -858,13 +862,13 @@ export default { |
|
|
|
discountRateInput() { |
|
|
|
if (this.formobj.goodsList.length > 0) { |
|
|
|
// 重新计算底部的优惠金额 = 总应收合计 * (1 - 折扣率) |
|
|
|
this.formobj.discountAmount = Math.round((parseFloat(this.totalReceivables !== '' ? this.totalReceivables : '0') * (parseFloat(1) - parseFloat(this.formobj.discountRate !== '' ? this.formobj.discountRate : '0') / 100)) * 100) / 100 |
|
|
|
this.formobj.discountAmount = Math.round((parseFloat(this.totalReceivables !== '' ? this.totalReceivables : '0') * (parseFloat(1) - parseFloat(this.formobj.discountRate !== '' ? this.formobj.discountRate : '0') / 100)) * 10000) / 10000 |
|
|
|
// 需计算商品列表中各商品的分摊优惠、惠后金额 |
|
|
|
this.formobj.goodsList.forEach((e) => { |
|
|
|
// 分摊优惠 = 底部优惠金额 * 对应的应收 / 总应收合计 |
|
|
|
e.discountAmount = Math.round((parseFloat(this.formobj.discountAmount) * parseFloat(e.dueAmount !== '' ? e.dueAmount : '0') / parseFloat(this.totalReceivables !== '' ? this.totalReceivables : '0')) * 100) / 100 |
|
|
|
e.discountAmount = Math.round((parseFloat(this.formobj.discountAmount) * parseFloat(e.dueAmount !== '' ? e.dueAmount : '0') / parseFloat(this.totalReceivables !== '' ? this.totalReceivables : '0')) * 10000) / 10000 |
|
|
|
// 惠后金额 = 对应的应收 - 对应的分摊优惠 |
|
|
|
e.amount = Math.round((parseFloat(e.dueAmount !== '' ? e.dueAmount : '0') - parseFloat(e.discountAmount !== '' ? e.discountAmount : '0')) * 100) / 100 |
|
|
|
e.amount = Math.round((parseFloat(e.dueAmount !== '' ? e.dueAmount : '0') - parseFloat(e.discountAmount !== '' ? e.discountAmount : '0')) * 10000) / 10000 |
|
|
|
}) |
|
|
|
} |
|
|
|
}, |
|
|
@ -872,39 +876,39 @@ export default { |
|
|
|
discountAmountInput() { |
|
|
|
if (this.formobj.goodsList.length > 0) { |
|
|
|
// 重新计算折扣率 = (总应收合计 - 优惠金额) / 总应收合计 |
|
|
|
this.formobj.discountRate = Math.round((((parseFloat(this.totalReceivables !== '' ? this.totalReceivables : '0') - parseFloat(this.formobj.discountAmount !== '' ? this.formobj.discountAmount : '0')) / parseFloat(this.totalReceivables !== '' ? this.totalReceivables : '0')) * 100).toFixed(2) * 100) / 100 |
|
|
|
this.formobj.discountRate = Math.round((((parseFloat(this.totalReceivables !== '' ? this.totalReceivables : '0') - parseFloat(this.formobj.discountAmount !== '' ? this.formobj.discountAmount : '0')) / parseFloat(this.totalReceivables !== '' ? this.totalReceivables : '0')) * 100).toFixed(2) * 10000) / 10000 |
|
|
|
// 需计算商品列表中各商品的分摊优惠、惠后金额 |
|
|
|
this.formobj.goodsList.forEach((e) => { |
|
|
|
// 分摊优惠 = 底部优惠金额 * 对应的应收 / 总应收合计 |
|
|
|
e.discountAmount = Math.round((parseFloat(this.formobj.discountAmount) * parseFloat(e.dueAmount !== '' ? e.dueAmount : '0') / parseFloat(this.totalReceivables !== '' ? this.totalReceivables : '0')) * 100) / 100 |
|
|
|
e.discountAmount = Math.round((parseFloat(this.formobj.discountAmount) * parseFloat(e.dueAmount !== '' ? e.dueAmount : '0') / parseFloat(this.totalReceivables !== '' ? this.totalReceivables : '0')) * 10000) / 10000 |
|
|
|
// 惠后金额 = 对应的应收 - 对应的分摊优惠 |
|
|
|
e.amount = Math.round((parseFloat(e.dueAmount !== '' ? e.dueAmount : '0') - parseFloat(e.discountAmount !== '' ? e.discountAmount : '0')) * 100) / 100 |
|
|
|
e.amount = Math.round((parseFloat(e.dueAmount !== '' ? e.dueAmount : '0') - parseFloat(e.discountAmount !== '' ? e.discountAmount : '0')) * 10000) / 10000 |
|
|
|
}) |
|
|
|
} |
|
|
|
}, |
|
|
|
// 计算折后单价 = 单价 * 折扣率 |
|
|
|
discountPriceInput(row) { |
|
|
|
row.discountPrice = Math.round((parseFloat(row.price !== '' ? row.price : '0') * parseFloat(row.discountRtate !== '' ? row.discountRtate : '0') / 100) * 100) / 100 |
|
|
|
row.discountPrice = Math.round((parseFloat(row.price !== '' ? row.price : '0') * parseFloat(row.discountRtate !== '' ? row.discountRtate : '0') / 100) * 10000) / 10000 |
|
|
|
// 折扣单价改变,重新计算应收款、惠后金额等 |
|
|
|
this.dueAmountInput(row) |
|
|
|
}, |
|
|
|
// 计算应收款, 同时计算惠后金额 |
|
|
|
dueAmountInput(row) { |
|
|
|
// 应收款 = 折后单价 * 数量 |
|
|
|
row.dueAmount = Math.round((parseFloat(row.discountPrice !== '' ? row.discountPrice : '0') * parseFloat(row.count !== '' ? row.count : '0')) * 100) / 100 |
|
|
|
row.dueAmount = Math.round((parseFloat(row.discountPrice !== '' ? row.discountPrice : '0') * parseFloat(row.count !== '' ? row.count : '0')) * 10000) / 10000 |
|
|
|
// 惠后金额 = 应收款 - 分摊金额 |
|
|
|
row.amount = Math.round((parseFloat(row.dueAmount) - parseFloat(row.discountAmount)) * 100) / 100 |
|
|
|
row.amount = Math.round((parseFloat(row.dueAmount) - parseFloat(row.discountAmount)) * 10000) / 10000 |
|
|
|
// 重新计算税额等 |
|
|
|
this.taxAmountInput(row) |
|
|
|
}, |
|
|
|
// 计算税额。同时计算未含税价及未含税总额 |
|
|
|
taxAmountInput(row) { |
|
|
|
// 计算单个商品税额 = 单价 - (单价 / (1 + 税率)) |
|
|
|
row.taxAmount = Math.round((parseFloat(row.price) - (parseFloat(row.price) / (parseFloat(1) + parseFloat(row.taxRate !== '' ? row.taxRate : '0') / 100))) * 100) / 100 |
|
|
|
row.taxAmount = Math.round((parseFloat(row.price) - (parseFloat(row.price) / (parseFloat(1) + parseFloat(row.taxRate !== '' ? row.taxRate : '0') / 100))) * 10000) / 10000 |
|
|
|
// 计算未含税价 = 单价 - 税额 |
|
|
|
row.unTaxPrice = Math.round((parseFloat(row.price) - parseFloat(row.taxAmount)) * 100) / 100 |
|
|
|
row.unTaxPrice = Math.round((parseFloat(row.price) - parseFloat(row.taxAmount)) * 10000) / 10000 |
|
|
|
// 计算未含税总额 = 未含税价 * 数量 |
|
|
|
row.taxTotalAmount = Math.round((parseFloat(row.unTaxPrice) * parseFloat(row.count !== '' ? row.count : '0')) * 100) / 100 |
|
|
|
row.taxTotalAmount = Math.round((parseFloat(row.unTaxPrice) * parseFloat(row.count !== '' ? row.count : '0')) * 10000) / 10000 |
|
|
|
}, |
|
|
|
handleAccount() { |
|
|
|
this.formobj.bankAccount = '' |
|
|
|