原创文章:使用Vuejs实现个人所得税功能,以及5000起点和3500起点之间的缴费变化兼容移动端

   html和Vue 部分代码:

<link rel="stylesheet" href="https://www.denglu.net/css/grsds.css">
    <script src="https://www.denglu.net/js/vue.min.js"></script>
<div id="saper-container">
    <div class='header'>
        <span style="font-size:20px;display:inline-block;color: #458B74;">最新版个税计算器(起征点5000)</span>
    </div>
    <div id="saper-bd">
        <div class="subfiled">
            <h3>税前工资信息录入</h3>
        </div>
        <div class="subfiled-content">
                <div class="kv-item">
                    <label>税前工资:</label>
                    <div class="kv-item-content">
                        <input type="text" placeholder="税前工资" v-model="gongz">
                    </div>
                </div>
                <div class="kv-item">
                    <label>五险一金:</label>
                    <div class="kv-item-content">
                        <input type="text" placeholder="五险一金" v-model="wuxianyijin">
                    </div>
                </div>

        </div>
        <div id='gsqd'>
            <div class='gswq' >
                    <h3>个税5000计算结果</h3>
                <div>
       
                        <div class="kv-item">
                            <label>应纳税所得额:</label>
                            <div class="kv-item-content">
                                <input type="text" placeholder="应纳税所得额" v-model="gongz1">
                            </div>
                        </div>
                        <div class="kv-item">
                            <label>应纳税额:</label>
                            <div class="kv-item-content">
                                <input type="text" placeholder="应纳税额" v-model="jishuiCalc1">
                            </div>
                        </div>
                        <div class="kv-item">
                            <label>税后工资:</label>
                            <div class="kv-item-content">
                                <input type="text" placeholder="税后工资" v-model="gongz2" >
                            </div>
                        </div>
                  
                </div>
            </div>
            <div class='gssqw'>
                <div class="subfiled ">
                    <h3>个税3500计算结果</h3>
                </div>
                <div class="subfiled-content" >
                        <div class="kv-item">
                            <label>应纳税所得额:</label>
                            <div class="kv-item-content">
                                <input type="text" placeholder="应纳税所得额" v-model="gongz11" >
                            </div>
                        </div>
                        <div class="kv-item">
                            <label>应纳税额:</label>
                            <div class="kv-item-content">
                                <input type="text" placeholder="应纳税额" v-model="jishuiCalc11">
                            </div>
                        </div>
                        <div class="kv-item">
                            <label>税后工资:</label>
                            <div class="kv-item-content">
                                <input type="text" placeholder="税后工资" v-model="gongz22" >
                            </div>
                        </div>
                    
                </div>
            </div>
        </div>
        <div class='jieguo'>
            <h1 style='color:#f5302e;font-size: 18px;font-weight:700;'>新个税执行:每个月个税少交:{{(gongz2-gongz22).toFixed(2)}}元,一年下来可以节省{{((gongz2-gongz22)*12).toFixed(2)}}元!</h1>
        </div>


      
    </div>

  
</div>


<script type="text/javascript">
    var vm = new Vue({
        el: '#saper-container',
        data: {
            gongz: 10000, //税前工资(扣社保前) 12000
            wuxianyijin: 0, //五险一金
            gongz1: 0, //应纳税所得额 12000-2000-5000
            gongz2: 0, //实发工资

            gongz11: 0, //应纳税所得额 12000-2000-3500
            gongz22: 0, //实发工资
            isReadOnly : true,
        },
        methods: {},
        computed: {

            jishuiCalc1: function() {
                var jishuied = this.gongz - this.wuxianyijin - 5000;
                jishuied = jishuied > 0 ? jishuied : 0;
                this.gongz1 = jishuied;
                var jishui = this.gongz1;
                var shuilu = 0;
                var xujian = 0;
                //计算交税工资及实发工资。
                if(0 < jishui && jishui <= 2910) {
                    shuilu = 0.03;
                    xujian = 0;
                } else if(2910 < jishui && jishui <= 11010) {
                    shuilu = 0.1;
                    xujian = 210;
                } else if(11010 < jishui && jishui <= 21410) {
                    shuilu = 0.2;
                    xujian = 1410;
                } else if(21410 < jishui && jishui <= 28910) {
                    shuilu = 0.25;
                    xujian = 2660;
                } else if(28910 < jishui && jishui <= 42910) {
                    shuilu = 0.30;
                    xujian = 4410;
                } else if(42910 < jishui && jishui <= 59160) {
                    shuilu = 0.35;
                    xujian = 7160;
                } else if(jishui > 59160) {
                    shuilu = 0.45;
                    xujian = 15160;
                }
                jishuied = (shuilu * jishui - xujian).toFixed(2);
                this.gongz2 = (this.gongz - this.wuxianyijin - jishuied).toFixed(2);
                return jishuied;
            },
            jishuiCalc11: function() {
                var jishuied = this.gongz - this.wuxianyijin - 3500;
                jishuied = jishuied > 0 ? jishuied : 0;
                this.gongz11 = jishuied;
                var jishui = this.gongz11;
                var shuilu = 0;
                var xujian = 0;
                //计算交税工资及实发工资。
                if(0 < jishui && jishui <= 1455) {
                    shuilu = 0.03;
                    xujian = 0;
                } else if(1455 < jishui && jishui <= 4155) {
                    shuilu = 0.1;
                    xujian = 105;
                } else if(4155 < jishui && jishui <= 7755) {
                    shuilu = 0.2;
                    xujian = 555;
                } else if(7755 < jishui && jishui <= 27255) {
                    shuilu = 0.25;
                    xujian = 1005;
                } else if(27255 < jishui && jishui <= 41255) {
                    shuilu = 0.30;
                    xujian = 2755;
                } else if(41255<jishui && jishui <= 57505) {
                    shuilu = 0.35;
                    xujian = 5505;
                } else if(jishui > 57505) {
                    shuilu = 0.45;
                    xujian = 13505;
                }
                jishuied = (shuilu * jishui - xujian).toFixed(2);
                this.gongz22 = (this.gongz - this.wuxianyijin - jishuied).toFixed(2);
                return jishuied;
            }

        }
    });
</script>

css部分

#saper-container {
  width:86%;
  margin:0 auto;
}
#saper-container>.header {
  margin:10px 2%;
}
#saper-bd>.subfiled,#gsqd>.gswq>h3,.gssqw>h3 {
  background:#66CDAA;
}
#saper-bd>.subfiled>h3 {
  height:30px;
  line-height:30px;
  margin-left:20px;
}
#saper-bd>.subfiled-content {
  width:100%;
  height:140px;
}
#saper-bd>.subfiled-content>.kv-item{
  margin-left:20px;
  height:70px;
}
/*个税5000和个税3500对比*/
#gsqd {
 width:100%;
}
#gsqd>.gswq {
  width:50%;
  float:left;
  border: 1px solid #C1D3DE;
  height:240px;
}
#gsqd>.gswq>h3 {
 padding-left:20px;
  height:30px;
  line-height:30px;
}
#gsqd>.gswq>div {
    margin-left:20px;
}
.gssqw {
  width:49%;
  float:left;
  margin-left:3px;
  height:240px;
  border: 1px solid #C1D3DE;
}
.gssqw>.subfiled>h3 {
  background:#66CDAA;
  height:30px;
  line-height:30px;
  padding-left:20px;
}
.gssqw>.subfiled-content {
  margin-left:20px;
}
.jieguo {
  text-align:center;
  margin-top:20px;
}

@media screen and (max-width: 480px) {
   #gsqd>.gswq,#gsqd>.gssqw {
       width:100%;
    }
   #gsqd>.gssqw {
     margin-top:20px;
  }
}

原创文章:原文链接https://www.denglu.net/Tools/grsds/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端教程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值