• 计算税收在线工具


    <!DOCTYPE html>
    <html ng-app="myApp">
    <head>
        <meta charset="UTF-8">
        <title>Angularjs service</title>
        <link rel="stylesheet" href="lib/bootstrap-3.3.7/dist/css/bootstrap.css">
        <style>
            .zh-input {
                 90px;
                display: inline-block;
            }
            .zh-tab {
                margin-bottom: 10px;
            }
            .zh-shou-yi {
                font-size: 29px;
            }
            .mgl10 {
                margin-left: 10px;
            }
            .ftwbold {
                font-weight: bold;
                font-size: 17px;
            }
        </style>
    </head>
    <body style="margin: 20px">
        <div ng-controller="myController">
            <ul class="nav nav-tabs zh-tab">
                <li role="presentation" ng-click="tabChange('singleInvest')" ng-class="{'active': showType === 'singleInvest'}">
                    <a href="#">计算</a>
                </li>
            </ul>
    
            <label class="ftwbold">起征点:</label>
            <input type="text"  class="form-control zh-input" ng-model="qiZhengDian"><br>
            <label class="ftwbold">Tup:</label>{{tup}}<br>
            <label class="ftwbold">年终奖:</label>
            <input type="text"  class="form-control zh-input" ng-model="nianZhongJiang"> <br>
            <label class="ftwbold">年终奖和Tup纳税:</label>{{nianZhongJiangNaShui}}<br>
            <label class="ftwbold">总计扣税:</label>{{totalTax}}<br>
    
            <form ng-show="showType === 'singleInvest'">
                <div class="form-group" ng-repeat="item in money track by $index">
                    <label class="ftwbold">{{$index + 1}}月:</label>
                    <label class="mgl10">gongzi</label>
                    <input type="text"  class="form-control zh-input"  ng-model="item.common">
                    <label class="mgl10">其它</label>
                    <input type="text"  class="form-control zh-input"  ng-model="item.other">
                    <label class="mgl10">WuXianYiJin</label>
                    <input type="text"  class="form-control zh-input"  ng-model="item.wuXianYiJin">
                    <label class="mgl10">本月附加扣除</label>
                    <input type="text"  class="form-control zh-input"  ng-model="item.fuJiaKouChu">
                    <label class="mgl10">benyue jiao shui:</label>{{item.tax}}
                    <label class="mgl10">累计JiaoShui:</label>{{item.leiJiJiaoShui}}
                    <label class="mgl10">累计YingNaShuiEDu:</label>{{item.leiJiYingNaShui}}
                </div>
            </form>
        </div>
    
    </body>
    
    <script type="text/javascript" src="./lib/jquery.js"></script>
    <script type="text/javascript" src="./lib/angular.js"></script>
    <script type="text/javascript" src="./lib/bootstrap-3.3.7/dist/js/bootstrap.js"></script>
    
    <script type="text/javascript">
        var myApp = angular.module("myApp", []);
    
        myApp.controller("myController", ["$scope", "$filter", function ($scope, $filter) {
            $scope.qiZhengDian = 5000;
            $scope.nianZhongJiang = 180000;
            $scope.tup = 63000;
            $scope.nianZhongJiangNaShui = 0;
            $scope.$watch('nianZhongJiang', function (newVal) {
                var shiJiTotal = parseInt($scope.nianZhongJiang, 10) + $scope.tup - $scope.money[4].other;
                $scope.nianZhongJiangNaShui = shiJiTotal * getShuiLv(shiJiTotal) - getJiangJinSuSuanKouChu(shiJiTotal);
                $scope.totalTax = $scope.nianZhongJiangNaShui + $scope.money[11].leiJiJiaoShui;
            });
    
            $scope.money = [];
            var salaryModel;
            for (var i = 0; i < 12; i++) {
                salaryModel = {
                    common : 25300, // 基本工资
                    other: 0, // 其它收入
                    fuJiaKouChu: 4000, // 本月附加扣除数量
                    tax: 0, // 本月缴税数量
                    leiJiJiaoShui: 0, // 本年到当月累计缴税
                    leiJiYingNaShui: 0, // 本年到当月累计应缴税额度
                    wuXianYiJin: 2437, // 本月五险一金
                };
                $scope.money.push(salaryModel);
            }
    
            initMoney();
    
            // 当年有特殊情况的可以在这初始化,避免刷新后要不停的输入
            function initMoney() {
                $scope.money[0].fuJiaKouChu = 3000;
                $scope.money[1].fuJiaKouChu = 3000;
                $scope.money[2].fuJiaKouChu = 3000;
    
                $scope.money[1].other = 21262;  // 上一年月末加班+专项激励3000
                $scope.money[2].other = 500;  // 总裁奖500
            }
    
            $scope.$watch('money', function (newVal) {
                console.log('watch money');
                for (var i = 0; i < 12; i++) {
                    var item = $scope.money[i];
                    item.dangYueYingNaShui = item.common + parseInt(item.other) - item.wuXianYiJin - $scope.qiZhengDian - item.fuJiaKouChu;
    
                    if (i === 0) {
                        item.leiJiYingNaShui = parseInt(item.dangYueYingNaShui, 10);
                        item.tax = parseInt(
                            item.leiJiYingNaShui
                            * getShuiLv(item.leiJiYingNaShui)
                            - getSuSuanKouChu(item.leiJiYingNaShui),
                            10
                        );
                        item.leiJiJiaoShui = item.tax
                    } else {
                        item.leiJiYingNaShui = parseInt(item.dangYueYingNaShui + $scope.money[i - 1].leiJiYingNaShui, 10);
                        item.tax = parseInt(
                            item.leiJiYingNaShui
                            * getShuiLv(item.leiJiYingNaShui)
                            - getSuSuanKouChu(item.leiJiYingNaShui)
                            - $scope.money[i - 1].leiJiJiaoShui,
                            10
                        );
                        item.leiJiJiaoShui = item.tax + $scope.money[i - 1].leiJiJiaoShui;
                    }
                }
    
                var shiJiTotal = parseInt($scope.nianZhongJiang, 10) + $scope.tup - $scope.money[4].other;
                $scope.nianZhongJiangNaShui = shiJiTotal * getShuiLv(shiJiTotal) - getJiangJinSuSuanKouChu(shiJiTotal);
                $scope.totalTax = $scope.nianZhongJiangNaShui + $scope.money[11].leiJiJiaoShui;
    
            }, true);
    
            function getShuiLv(leiJiYingNaShui) {
                if (leiJiYingNaShui <= 36000) {
                    return 0.03;
                } else if (leiJiYingNaShui > 36000 && leiJiYingNaShui <= 144000) {
                    return 0.1;
                } else if (leiJiYingNaShui > 144000 && leiJiYingNaShui <= 300000) {
                    return 0.2;
                } else if (leiJiYingNaShui > 300000 && leiJiYingNaShui <= 420000) {
                    return 0.25;
                } else if (leiJiYingNaShui > 420000 && leiJiYingNaShui <= 660000) {
                    return 0.30;
                } else if (leiJiYingNaShui > 660000 && leiJiYingNaShui <= 960000) {
                    return 0.35;
                } else if (leiJiYingNaShui > 960000 && leiJiYingNaShui) {
                    return 0.45;
                }
            }
    
            function getSuSuanKouChu(leiJiYingNaShui) {
                if (leiJiYingNaShui <= 36000) {
                    return 0;
                } else if (leiJiYingNaShui > 36000 && leiJiYingNaShui <= 144000) {
                    return 2520;
                } else if (leiJiYingNaShui > 144000 && leiJiYingNaShui <= 300000) {
                    return 16920;
                } else if (leiJiYingNaShui > 300000 && leiJiYingNaShui <= 420000) {
                    return 31920;
                } else if (leiJiYingNaShui > 420000 && leiJiYingNaShui <= 660000) {
                    return 52920;
                } else if (leiJiYingNaShui > 660000 && leiJiYingNaShui <= 960000) {
                    return 85920;
                } else if (leiJiYingNaShui > 960000 && leiJiYingNaShui) {
                    return 181920;
                }
            }
    
            function getJiangJinSuSuanKouChu(leiJiYingNaShui) {
                if (leiJiYingNaShui <= 36000) {
                    return 0;
                } else if (leiJiYingNaShui > 36000 && leiJiYingNaShui <= 144000) {
                    return 210;
                } else if (leiJiYingNaShui > 144000 && leiJiYingNaShui <= 300000) {
                    return 1410;
                } else if (leiJiYingNaShui > 300000 && leiJiYingNaShui <= 420000) {
                    return 2660;
                } else if (leiJiYingNaShui > 420000 && leiJiYingNaShui <= 660000) {
                    return 4410;
                } else if (leiJiYingNaShui > 660000 && leiJiYingNaShui <= 960000) {
                    return 7160;
                } else if (leiJiYingNaShui > 960000 && leiJiYingNaShui) {
                    return 15160;
                }
            }
    
    
            $scope.showType = 'singleInvest';
    
            $scope.tabChange = function (type) {
                $scope.showType = type;
            }
        }]);
    </script>
    </html>
    

      

  • 相关阅读:
    ZOJ-2008-Invitation Cards(dijkstra)
    codeforce-191E-Thwarting Demonstrations(树状数组+二分+离散)
    hdu-4612-Warm up(边双连通分量--有重边)
    TypeError: only integer scalar arrays can be converted to a scalar index
    电脑开机黑屏解决方法
    python中list与数组
    cv2.line()函数
    python中的浅拷贝与深拷贝——copy()
    pycharm中使用cv2模块
    numpy.where用法
  • 原文地址:https://www.cnblogs.com/zhaoweikai/p/12554682.html
Copyright © 2020-2023  润新知