完善销售单
This commit is contained in:
@@ -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 = ''
|
||||
|
||||
Reference in New Issue
Block a user