最新时时彩平台演示 中新时时彩要不要交税 新时时彩三星组六技巧 最新时时彩源码修改 新时时彩遗漏走势图 新时时彩预测方法 新时时彩计算器 新时时彩开奖皇冠网址 新时时彩组三怎么玩 最新时时彩后四稳赚 新时时彩官方开奖网站 新时时彩人工计划 新时时彩开奖漏洞 新时时彩最长遗漏 新时时彩中奖顺序 360新时时彩技巧-轴承资讯 新时时彩停售 最新时时彩杀号高手 新时时彩三星走势图 玩新时时彩有什么技巧 新时时彩3星和尾走势 新时时彩后一公式 重新时时彩网站 新时时彩遗漏统计软件 吉林新时时彩走势图 新时时彩中奖怎么查 新时时彩是什么地方 新时时彩中奖怎么查 新时时彩下载手机版下载 新时时彩贴吧 最新时时彩计划软件 大赢家新时时彩 新时时彩注册送彩金 新时时彩组选投注技巧 新时时彩走势图 新时时彩万能5码 新时时彩模拟 新疆新时时彩往期开奖号码 新时时彩的玩法 新时时彩稳赚计划 最新时时彩70注 新时时彩返奖率 新时时彩杀号定胆360 新时时彩后二杀号 新时时彩振幅走势 最新时时彩教程 新时时彩后台软件 新时时彩几点开始 新时时彩日赚几百 最新时时彩注册送20
用户
 ?#19968;?#23494;码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,登录网站

小程序社区 首页 教程 查看内容

个税计算器 / 微信小程序开发

Rolan 2019-1-2 00:36

019年1月1日即将到来,码农们除了关心自己的技能之外,还有薪资是不是可以多拿点。 每次算的时候 都要百度一下个人所得税,但是很多都是老的税率计算,找一个新的出来还是比?#19979;?#28902;,所以个人开发了一个最新税率的小 ...

019年1月1日即将到来,码农们除了关心自己的技能之外,还有薪资是不是可以多拿点。 每次算的时候 都要百度一下个人所得税,但是很多都是老的税率计算,找一个新的出来还是比?#19979;?#28902;,所以个人开发了一个最新税率的小程序。解决和我有着一样痛苦的码农们的问题。

根据最新税改后计算个人所得税的计算器。目前支持南京,后续开放 杭州 上海 北京等城?#23567;?如果有疑问的可以加最下方 开发者微信。

实例查看二维码:

先使用weui 小程序ui框架就行页面布局

<button block type="dark" bindtap='calculationBindtap'>计算</button>

其次写JS代码(计算按钮逻辑代码)

import data from './data'

const app = getApp;

Page({
    data: {
        options1: data,
        value: '1',
        checked: true,
        standard: 1,
        marking: 5000,
        beforetaxCount: 0,
        specialitemCount: 0
    },
    

    calculationBindtap:function(){
        // 开始计算  计算完成把计算结果放在result对象中
        var beforetaxCount = this.data.beforetaxCount;
        var specialitemCount = this.data.specialitemCount;
        var marking = this.data.marking;
        if (beforetaxCount == null || beforetaxCount == 0 || beforetaxCount == ''){
            wx.showToast({
                title: '输入正确薪资',
                mask: true,
                icon: 'loading'
            })
            return;
        }
        if (specialitemCount == null || specialitemCount == ''){
            specialitemCount = 0;
        }
        // 开始计算

        var oldNum = 0.08;
        var medNum = 0.02;
        var unemNum = 0.005;
        var workNum = 0;
        var giveNum = 0;

        var providentfundNum = 0.08;

        var insuranceBase = 19935;
        var providentfundBase = 25300;

        var oldcount = 0;
        var medcount = 0;
        var unemcount = 0;
        var workcount = 0;
        var givecount = 0;

        var providentfundcount = 0;

        var privateFee = 0;
        var plusFee = 0;

        if(this.data.checked){
            if (parseFloat(beforetaxCount) > parseFloat(insuranceBase)) {
                oldcount = parseFloat(insuranceBase) * parseFloat(oldNum);
                medcount = parseFloat(insuranceBase) * parseFloat(medNum);
                unemcount = parseFloat(insuranceBase) * parseFloat(unemNum);
                workcount = parseFloat(insuranceBase) * parseFloat(workNum);
                givecount = parseFloat(insuranceBase) * parseFloat(giveNum);
            } else {
                oldcount = parseFloat(beforetaxCount) * parseFloat(oldNum);
                medcount = parseFloat(beforetaxCount) * parseFloat(medNum);
                unemcount = parseFloat(beforetaxCount) * parseFloat(unemNum);
                workcount = parseFloat(beforetaxCount) * parseFloat(workNum);
                givecount = parseFloat(beforetaxCount) * parseFloat(giveNum);
            }

            if (parseFloat(beforetaxCount) > parseFloat(providentfundBase)) {
                providentfundcount = parseFloat(providentfundBase) * parseFloat(providentfundNum);
            } else {
                providentfundcount = parseFloat(beforetaxCount) * parseFloat(providentfundNum);
            }
        }

        // 保险总费用
        var totalInsuranceFee = parseFloat(oldcount) + parseFloat(medcount) + parseFloat(unemcount) + parseFloat(workcount) + parseFloat(givecount);
        // 公积金费用 
        var totalProvidentfundFee = providentfundcount;

        // 下面的钱 交税
        console.log(this.data.marking);
        var otherFee = parseFloat(beforetaxCount) - parseFloat(totalInsuranceFee) - parseFloat(totalProvidentfundFee) - parseFloat(this.data.marking) - parseFloat(specialitemCount);
        
        if (parseFloat(otherFee) <= 3000 && parseFloat(otherFee) > 0) {
            privateFee = parseFloat(otherFee) * 0.03;
            plusFee = 0;
        }
        if (parseFloat(otherFee) <= 12000 && parseFloat(otherFee) > 3000) {
            privateFee = parseFloat(otherFee) * 0.1;
            plusFee = 210;
        }
        if (parseFloat(otherFee) <= 25000 && parseFloat(otherFee) > 12000) {
            privateFee = parseFloat(otherFee) * 0.2;
            plusFee = 1410;
        }
        if (parseFloat(otherFee) <= 35000 && parseFloat(otherFee) > 25000) {
            privateFee = parseFloat(otherFee) * 0.25;
            plusFee = 2660;
        }
        if (parseFloat(otherFee) <= 55000 && parseFloat(otherFee) > 35000) {
            privateFee = parseFloat(otherFee) * 0.3;
            plusFee = 4410;
        }
        if (parseFloat(otherFee) <= 80000 && parseFloat(otherFee) > 55000) {
            privateFee = parseFloat(otherFee) * 0.35;
            plusFee = 7160;
        }
        if ( parseFloat(otherFee) > 80000) {
            privateFee = parseFloat(otherFee) * 0.45;
            plusFee = 15160;
        }

        var result = {};
        
        result.insuranceCount = totalInsuranceFee;
        result.providentfundCount = totalProvidentfundFee;
        result.providentfundNum = parseFloat(providentfundNum) * 100;
        result.money = parseFloat(beforetaxCount) - parseFloat(totalInsuranceFee) - parseFloat(totalProvidentfundFee) - parseFloat(privateFee) + parseFloat(plusFee);
        result.privateFee = privateFee - parseFloat(plusFee);
        result.specialitemCount = specialitemCount;
        result.oldNum = parseFloat(oldNum) * 100;
        result.medNum = parseFloat(medNum) * 100;
        result.unemNum = parseFloat(unemNum) * 100;
        result.workNum = parseFloat(workNum) * 100;
        result.giveNum = parseFloat(giveNum) * 100;

        result.oldcount = parseFloat(oldcount);
        result.medcount = parseFloat(medcount);
        result.unemcount = parseFloat(unemcount);
        result.workcount = parseFloat(workcount);
        result.givecount = parseFloat(givecount);

        wx.setStorage({
            key: 'result',
            data: result,
            success:function(){
                wx.navigateTo({
                    url: '../calculation/calculationResult',
                })
            }
        })
        
    },

})

把计算好的结果放在result对象中 通过wx.setStorage 放在缓存中,传到下一个页面。最后展示出来。

鲜花
鲜花
鸡蛋
鸡蛋
分享至 : QQ空间
收藏
原作者: 疯狂的杨中仁 来自: segmentfault
新时时彩软件