两级分销加两级代理佣金计算工具

html+vue.js自动计算用户佣金工具

  • 这里是列表文本 标题 标题两级分销:普通花粉(75折,25%的佣金),白金花粉(7折,30%佣金)
  • 这里是列表文本 两级代理:钻石花粉(65折,35%佣金),花花董事(55折,45%佣金)
  • 极差佣金:上级的佣金=上级可得佣金减去下级已得佣金(其中6%的同级佣金并不计算)
  • 比如,我是花花董事,我推荐了个99元的礼包,我拿45%,如果是我下级的普通花粉推荐出去的,那么我拿99*(45%-25%)
  • (失效)参考博客:https://blog.ibiaoqin.cn/arc/2.html
  • (失效)案例网址:https://blog.ibiaoqin.cn/fx/hfjs.html
  • 使用视频:婲坊佣金计算工具使用教程

使用说明

  • 所有代理分销拿极差的佣金,两级代理有同级佣金6
  • 商品佣金需要配合婲坊商城进行使用,并且打乱了佣金比例
  • 佣金比例参考下图,
<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
  <meta name="renderer" content="webkit">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" type="text/css" href="https://www.layuicdn.com/layui/css/layui.css" />
    <script src="https://www.layuicdn.com/layui-v2.5.6/layui.js" charset="utf-8"></script>
    <script src="https://cdn.bootcss.com/vue/2.5.2/vue.min.js"></script>
    <title>花坊分销佣金计算</title>
</head>
<body>
<div class="page-container" id="app" style="margin-top:10px;">
    
 <form action="#" enctype="multipart/form-data" method="post"  class="layui-form" >



<div class="layui-form-item">
    <label class="layui-form-label">设置商品类型:</label>
                <div class="check-box">
                     <button type="button" :class="ms==2?'layui-btn layui-btn-primary':'layui-btn'" @click='mss(1)'>普通商品</button>
					   <button type="button" :class="ms==1?'layui-btn layui-btn-primary':'layui-btn'" @click='mss(2)'>积分礼包</button>
					
                 </div>
        </div>
		
	

  <div class="layui-form-item"  v-show="ms == 1" >
    <label class="layui-form-label">自己可得佣金</label>
    <div class="layui-input-inline">
      <input type="text" name="tg"  placeholder="输入自己可得佣金" autocomplete="off" class="layui-input" v-model="zjyj" @input='gb()'>
    </div>
  </div>
  
    <div class="layui-form-item"  v-show="ms == 2">
    <label class="layui-form-label">选择礼包</label>
    <div class="layui-input-inline">
      <select name="interest" lay-filter="aihao">
        <option value="1" selected="">99元礼包</option>
      </select>
    </div>
   
  </div>



    <div class="layui-form-item">
    <label class="layui-form-label">自己的身份: </label>

    <div class="layui-input-inline">
		<button type="button"  :class="zjsf == index ?'layui-btn layui-btn-normal':'layui-btn layui-btn-primary'" @click='zjsf1(index)'
		 v-for="(item,index) in sflb"  :key="index" 
		>
		{{item}}
		</button>
	</div>
  </div>



 
<div class="layui-form-item">
    <label class="layui-form-label">自己身份:</label>
	<div class="layui-input-inline">
		
        我自己({{ sflb[zjsf] }})
        佣金<span style='color:#F00'> {{ zjyj1>0?zjyj1:0 }} </span> 元 </div>
               <div class="layui-input-inline">
				
<button type="button" class="layui-btn layui-btn-primary" @click='add(0)'>添加下级</button>

<button type="button" class="layui-btn layui-btn-danger" @click='delall()'>清除</button>
                 </div>
        </div>
  
  
  <div class="layui-form-item" v-for="(item,index) in xflb" >
    <label class="layui-form-label">{{index==0?'我的':''}}下级:</label>
	<div class="layui-input-inline">
        {{ item.name }}({{ sflb[item.value] }} )
        佣金<span style='color:#F00'> {{ item.yj>0?item.yj:0 }}  </span> 元 </div>
                <div class="layui-input-inline">
<button type="button" class="layui-btn layui-btn-danger" @click='del(index)'>删除</button>
<button type="button" class="layui-btn layui-btn-primary" @click='add(index+1)'>添加下级</button>
                 </div>
        </div>
		
		
		<div v-show='show'>
  <div class="layui-form-item">
    <label class="layui-form-label">添加下级:</label>
	<div class="layui-input-inline">
        <input type="tel" name="phone"  autocomplete="off" class="layui-input" placeholder="输入下级的名字" v-model="xjname"> </div>
                
        </div>
		    <div class="layui-form-item">
    <label class="layui-form-label">下级身份: </label>

    <div class="layui-form-mid layui-word-aux">
		<button type="button"  :class="xjsf == index ?'layui-btn layui-btn-xs layui-btn-normal':'layui-btn layui-btn-xs'" @click='xjsf1(index)'
		 v-for="(item,index) in sflb"  :key="index" 
		>
		{{item}}
		</button>
	</div>
  </div>
  
  
      <label class="layui-form-label">:</label>
	<div class="layui-input-inline">
       
	   <button type="button" class="layui-btn layui-btn-normal" @click='addxj()'>确认添加</button>
	   </div>
                
        </div>
		   
  
  </div>
  
  
    <div class="layui-form-item">
    <div class="layui-input-block">
	<!-- <button type="submit" class="layui-btn" lay-submit="" lay-filter="demo1" @click='tj'>
	<i class="layui-icon layui-icon-release"></i>清空下级
	</button> -->
    </div>
  </div>
</form>



</div>



<!--_footer 作为公共模版分离出去-->
<script src="https://lib.baomitu.com/jquery/3.5.0/jquery.js"></script>
<script>
 new Vue({
        el: "#app",
        data() {
            return {
			show:false,
			xjid:0,
                tga:'',
				dls:[],//代理用户
				ms:2,//这里是佣金模式
				je:99,//金额
				zjsf:0,//自己身份
				zjyj:75,//自己可得佣金
				zjyj1:0,//分佣后自己可得
				zjbl:0,//自己的比例
				xjsf:1,//下级身份
				tjbl:0,//同级的佣金比例
				xjname:'',//下级名称
				sflb:[//身份列表
					'花花董事',
					'钻石花粉',
					'白金花粉',
					'普通花粉',
					'普通会员',
				],
				sfyj:[//身份与佣金比,lbyj礼包佣金,ptyj普通佣金
					{name:'花花董事',lbyj:45,ptyj:45},
					{name:'钻石花粉',lbyj:35,ptyj:35},
					{name:'白金花粉',lbyj:30,ptyj:25},
					{name:'普通花粉',lbyj:25,ptyj:15},
					{name:'普通会员',lbyj:0,ptyj:0},
				],
				xflb:[
					{value:1,name:'A',yj:0},
					{value:1,name:'B',yj:0},
					{value:1,name:'C',yj:0},
					{value:3,name:'D',yj:0},
				]
            }
        }, 
        methods: {
		gb(){
			this.jszyj();//计算总佣金
		},
		delall(){
			this.xflb=[]
			this.jszyj();//计算总佣金
		},
			del(wz){
				console.log(wz)
				this.xflb.splice(wz, 1);
				this.jszyj();//计算总佣金
			},
			add(wz){
				//console.log(wz)
				this.xjid=wz;
				this.show=true;
			},
			mss(id){
				console.log(id);
				this.ms=id;
				this.jszyj();
			},
			jszyj(){
				//计算总佣金,判断一下
				if(this.ms==2){
					//默认是99元的礼包,je直接等于99
					this.je=99;
					this.zjyj1=this.je*this.sfyj[this.zjsf].lbyj
					this.tjbl=6;//同级比例
				}else{
					//自己可得佣金,除以自己的佣金比例,即为总佣金
					//获取自己的身份,
					let bl=this.sfyj[this.zjsf].ptyj;
					this.je=this.zjyj/bl*100
					this.zjyj1=this.je*this.sfyj[this.zjsf].ptyj
					this.tjbl=5;//同级比例
				}
				console.log('金额是'+this.je);
				this.jsyj();//计算佣金
			},
			zjsf1(value){
				if(value==4){
    				layer.msg('自己的身份不能是普通会员');
    				return;
				}
				this.zjsf=value;//自己身份
				this.jszyj();//计算总佣金
				console.log('自己身份是'+this.zjsf)
			},
			xjsf1(value){
				this.xjsf=value;//下级身份
				//this.jszyj();//计算总佣金
				console.log(this.xjsf)
			},
			addxj(){
				let a =
				{value:this.xjsf,name:this.xjname,yj:0};
	
				this.xflb.splice(this.xjid, 0, a);
				console.log(a);
				console.log(this.xjname);
				this.jszyj();//计算总佣金
				this.show=false;
				this.xjname=''
			},
				tj(){
				console.log(this.ms)
				},
			jsyj(){
				//把自己添加到最前面。
				//获取人物关系,for循环获取最底级的佣金
				let o=0;//基础佣金为零
				let b=0;//自己可得佣金
				let c=4;//用户等级
				let ty=0;//判断是否有同级佣金
				let tongji=false;
				for(var i=this.xflb.length-1;i>=0;i--){
				this.xflb[i].yj=0
					//console.log(this.xflb[i].value)
					//c=this.xflb[i].value;
					if(c==this.xflb[i].value){
					console.log(c)
					console.log(this.xflb[i].value)
					console.log(this.xflb[i].name)
					
					//判断是否为同级,
						if(tongji==true){//如果已经获取过一次同级,那么直接跳转到下一次
							continue;
						}else{
							tongji=true;
							if(this.xflb[i].value==0||this.xflb[i].value==1){
							
							console.log('进入同级')
								//如果同级,并且等级是0或者1,那么获取同级佣金,否则跳到下次循环。
								ty=1;
								//console.log(this.xflb[i].name)
								//同级佣金只获取一次,直到分配的等级提升了
								this.xflb[i].yj=(this.tjbl/100*this.je).toFixed(2);
							}else{
								continue;
							}
						}
					}else{
						
						if(c>this.xflb[i].value){
						//如果值变小了,那么同级变更
							tongji=false;
							c=this.xflb[i].value
							//如果不是同级,并且等级变小了,那么开始计算佣金
							if(this.ms==2){
									this.xflb[i].yj=(this.sfyj[this.xflb[i].value].lbyj/100*this.je-o).toFixed(2);
								}else{
									this.xflb[i].yj=(this.sfyj[this.xflb[i].value].ptyj/100*this.je-o).toFixed(2);
								}
								o+=Number(this.xflb[i].yj);
						}
						if(this.xflb[i].value>c){
							//如果当前用户的等级大于上级等级,直接跳出到下次循环
							continue;
						}
					}
					//获取用户可得佣金,自己可得佣金减去下级拿去的佣金
					//判断佣金模式,如果是0,那么获取
					
					console.log(this.xflb[i].name+'可得佣金'+this.xflb[i].yj)
					//循环结束后,同级佣金回复为0
					ty=0
				}
				//计算自己可得,先判断一下是否为同级。
				console.log(c)
				console.log(this.zjsf)
				
				if(c==this.zjsf){
				console.log(tongji)
					if(tongji){
						this.zjyj1=0
					}else{
					this.zjyj1=(this.tjbl/100*this.je).toFixed(2);
					}
					
				}else{
				console.log(tongji)
					this.zjyj1=(this.zjyj1/100-o).toFixed(2);
				}
				
			},
        }
        ,
        created() {
               //这里是加载前的函数
			   this.jszyj();
			   //this.jsyj();
        }
        
 })



    layui.use(['form','upload','layer'], function(){
        var $ = layui.jquery;
        var layer = layui.layer;
         var form = layui.form;
           //监听提交
  form.on('submit(demo1)', function(data){
	//console.log(data.field)
    return false;
  });
          
     
    });
    
</script>

</body>
</html>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

wosylf

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

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

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

打赏作者

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

抵扣说明:

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

余额充值