Vue.js 表单计算速算扣除数问题解决方法
<template>
<el-form ref="form" :model="form" label-width="120px">
<el-form-item
label="应纳税所得额:"
prop="acTaxPiPersonCalculationSchedule.acTaxableIncome"
style="width: 290px"
>
{{ acTaxableincome }}
</el-form-item>
<el-form-item
label="税率/预扣率:"
prop="acTaxPiPersonCalculationSchedule.taxRate"
style="width: 290px"
>
20%
</el-form-item>
<el-form-item
label="速算扣除数:"
prop="acTaxPiPersonCalculationSchedule.quickCalculationDeduction"
style="width: 290px"
>
{{ form.acTaxPiPersonCalculationSchedule.quickCalculationDeduction }}
</el-form-item>
</el-form>
</template>
<script>
export default {
data() {
return {
form: {
// 其他表单项省略...
acTaxPiPersonCalculationSchedule: {
acTaxableIncome: 0,
quickCalculationDeduction: 0,
},
},
};
},
computed: {
acTaxableincome() {
const { income, cost, subtotal, taxExemptIncome } = this.form;
const taxableAmount = income - cost - subtotal - taxExemptIncome;
return taxableAmount >= 0 ? taxableAmount : 0.0;
},
},
watch: {
'form.acTaxPiPersonCalculationSchedule.acTaxableIncome': function (newVal) {
this.calquickCalculationDeduction(newVal);
},
},
methods: {
calquickCalculationDeduction(acTaxableIncome) {
if (acTaxableIncome <= 36000) {
this.form.acTaxPiPersonCalculationSchedule.quickCalculationDeduction = 3690;
} else if (acTaxableIncome <= 144000) {
this.form.acTaxPiPersonCalculationSchedule.quickCalculationDeduction = 14190;
} else if (acTaxableIncome <= 300000) {
this.form.acTaxPiPersonCalculationSchedule.quickCalculationDeduction = 24190;
} else if (acTaxableIncome <= 420000) {
this.form.acTaxPiPersonCalculationSchedule.quickCalculationDeduction = 44190;
} else if (acTaxableIncome <= 660000) {
this.form.acTaxPiPersonCalculationSchedule.quickCalculationDeduction = 64190;
} else {
this.form.acTaxPiPersonCalculationSchedule.quickCalculationDeduction = 109190;
}
},
},
};
</script>
<p>并没有计算速算扣除数 速算扣除数没有变化固定3690 怎么拿到acTaxableincome计算速算扣除数
解决方法:根据给出的代码,计算速算扣除数的方法是在<code>calquickCalculationDeduction</code>中,根据<code>acTaxableIncome</code>的值来判断应该赋予哪个速算扣除数。</p>
<p>你提到速算扣除数没有变化固定为3690,这可能是因为<code>acTaxableIncome</code>的值没有被正确设置或者传递给<code>calquickCalculationDeduction</code>方法。</p>
<p>首先,检查<code>acTaxableIncome</code>的值是否正确地更新到<code>form.acTaxPiPersonCalculationSchedule.acTaxableIncome</code>。可以通过在<code>acTaxableIncome</code>的计算属性中添加<code>console.log(acTaxableAmount)</code>语句来确认值是否正确。</p>
<p>如果<code>acTaxableIncome</code>的值正确设置,那么问题可能在于<code>watch</code>中的监听方法没有被正确触发。你可以在<code>watch</code>方法中添加<code>console.log(newVal)</code>语句来确认是否被调用。</p>
<p>如果<code>watch</code>方法没有被触发,可能是因为属性路径不正确。确保属性路径<code>'form.acTaxPiPersonCalculationSchedule.acTaxableIncome'</code>与<code>form</code>对象的结构一致。</p>
<p>如果以上方法无法解决问题,你可以尝试在<code>mounted</code>钩子函数中手动调用<code>calquickCalculationDeduction</code>方法,以确保计算速算扣除数的方法被正确调用。</p>
<p>如果以上方法仍然无法解决问题,请提供更多代码或详细说明问题的上下文,以便更准确地帮助你解决问题。</p>
原文地址: https://www.cveoy.top/t/topic/o9Qq 著作权归作者所有。请勿转载和采集!