|  |  |  | 
|---|
|  |  |  | <div class="layui-fluid layui-anim febs-anim" id="profit-setting" lay-title="收益设置"> | 
|---|
|  |  |  | <div class="layui-fluid layui-anim febs-anim" id="profit-setting" lay-title="代理设置"> | 
|---|
|  |  |  | <div class="layui-row layui-col-space8 febs-container"> | 
|---|
|  |  |  | <form class="layui-form" action="" lay-filter="profit-setting-form"> | 
|---|
|  |  |  | <div class="layui-card"> | 
|---|
|  |  |  | <div class="layui-card-body"> | 
|---|
|  |  |  | <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief"> | 
|---|
|  |  |  | <ul class="layui-tab-title"> | 
|---|
|  |  |  | <li class="layui-this">分红设置</li> | 
|---|
|  |  |  | <li>代理分红</li> | 
|---|
|  |  |  | <li>排名分红</li> | 
|---|
|  |  |  | <li>间推分红</li> | 
|---|
|  |  |  | </ul> | 
|---|
|  |  |  | <blockquote class="layui-elem-quote blue-border">代理设置</blockquote> | 
|---|
|  |  |  | <div class="layui-tab-content"> | 
|---|
|  |  |  | <div class="layui-tab-item layui-show" id="bonus-global-setting"> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="layui-tab-item"> | 
|---|
|  |  |  | <div class="layui-tab-item layui-show"> | 
|---|
|  |  |  | <table id="agentBonus" lay-filter="agentBonus"></table> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="layui-tab-item"> | 
|---|
|  |  |  | <table id="rankBonus" lay-filter="rankBonus"></table> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="layui-tab-item"> | 
|---|
|  |  |  | <table id="indirectDistrib" lay-filter="indirectDistrib"></table> | 
|---|
|  |  |  | <div class="layui-word-aux">间推分红即为隔代收益,将直推奖励按照对应比例依次向上级返利,直至结算到一元为止</div> | 
|---|
|  |  |  | <div class="layui-word-aux">1:分大小区,即【业绩】为小区所有业绩之和。</div> | 
|---|
|  |  |  | <div class="layui-word-aux">2:直推5人,即有五个区,减去其中业绩最多的一个区域后,满足【业绩要求】,即可升级下一级。</div> | 
|---|
|  |  |  | <div class="layui-word-aux">2:【现金补贴比例】和【积分补贴比例】,采取级差制。</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </form> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!--        <div class="layui-form-item febs-hide">--> | 
|---|
|  |  |  | <!--            <button class="layui-btn" lay-submit="" lay-filter="profit-setting-form-submit" id="submit-form"></button>--> | 
|---|
|  |  |  | <!--            <button type="reset" class="layui-btn" id="reset"></button>--> | 
|---|
|  |  |  | <!--        </div>--> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <style> | 
|---|
|  |  |  | 
|---|
|  |  |  | margin-bottom: 20px !important; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </style> | 
|---|
|  |  |  | <script type="text/html" id="toolbar"> | 
|---|
|  |  |  | <div class="layui-btn-container"> | 
|---|
|  |  |  | <button class="layui-btn layui-btn-danger layui-btn-sm" type="button" lay-event="delSku">删除</button> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  | <script type="text/html" id="bonusSystem"> | 
|---|
|  |  |  | {{#  layui.each(d, function(index, item){ }} | 
|---|
|  |  |  | <div class="layui-form-item"> | 
|---|
|  |  |  | <label class="layui-form-label">{{item.description}}:</label> | 
|---|
|  |  |  | <div class="layui-input-block"> | 
|---|
|  |  |  | <input type="text" name="{{item.code}}" lay-verify="number" value="{{item.value}}" autocomplete="off" class="layui-input"> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | {{# if(item.code == 'INDRECT_BONUS') { }} | 
|---|
|  |  |  | <div class="layui-word-aux" style="margin-left: 150px;">间推分红即为隔代收益,将直推奖励按照对应比例依次向上级返利,直至结算到一元为止</div> | 
|---|
|  |  |  | {{# }}} | 
|---|
|  |  |  |  | 
|---|
|  |  |  | {{# if(item.code == 'THANKFUL_BONUS') { }} | 
|---|
|  |  |  | <div class="layui-word-aux" style="margin-left: 150px;">将推荐人收益(代理,直推,排名)的对应比例加权平分给下面直推</div> | 
|---|
|  |  |  | {{# }}} | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | {{# }) }} | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  | <script data-th-inline="javascript" type="text/javascript"> | 
|---|
|  |  |  | layui.use(['dropdown', 'jquery', 'validate', 'febs', 'form', 'eleTree', 'laytpl', 'table'], function () { | 
|---|
|  |  |  | var $ = layui.jquery, | 
|---|
|  |  |  | 
|---|
|  |  |  | table = layui.table, | 
|---|
|  |  |  | validate = layui.validate, | 
|---|
|  |  |  | $view = $('#profit-setting') | 
|---|
|  |  |  | , templateHtml = bonusSystem.innerHTML | 
|---|
|  |  |  | , $bonusSystem = $("#bonus-global-setting") | 
|---|
|  |  |  | , laytpl = layui.laytpl | 
|---|
|  |  |  | , agentBonusArr | 
|---|
|  |  |  | , rankBonusArr | 
|---|
|  |  |  | , indirectBonusArr; | 
|---|
|  |  |  | , agentBonusArr; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | form.verify(validate); | 
|---|
|  |  |  | form.render(); | 
|---|
|  |  |  | 
|---|
|  |  |  | table.render({ | 
|---|
|  |  |  | elem: '#agentBonus' | 
|---|
|  |  |  | ,cols: [[ //表头 | 
|---|
|  |  |  | {field: 'description', title: '代理', edit:'text'} | 
|---|
|  |  |  | ,{field: 'prop', title: '返利比例(%)', edit:'text'} | 
|---|
|  |  |  | ,{field: 'achieve', title: '团队业绩(万元)', edit:'text'} | 
|---|
|  |  |  | ,{field: 'direct', title: '直推(个)', edit:'text'} | 
|---|
|  |  |  | ,{field: 'lastAgentCnt', title: '上一级代理(个)', edit:'text'} | 
|---|
|  |  |  | {field: 'description', title: '名称'} | 
|---|
|  |  |  | ,{field: 'teamIncome', title: '业绩要求(元)', edit:'text'} | 
|---|
|  |  |  | ,{field: 'directCnt', title: '直推(个)', edit:'text'} | 
|---|
|  |  |  | ,{field: 'cashPercent', title: '现金补贴比例(%)', edit:'text'} | 
|---|
|  |  |  | ,{field: 'scorePercent', title: '积分补贴比例(%)', edit:'text'} | 
|---|
|  |  |  | ,{field: 'type', title: '比例', edit:'text', hide:'true'} | 
|---|
|  |  |  | ,{field: 'code', title: '比例', edit:'text', hide:'true'} | 
|---|
|  |  |  | ]] | 
|---|
|  |  |  | 
|---|
|  |  |  | for (let i = 0; i < agentBonusArr.length; i++) { | 
|---|
|  |  |  | if (agentBonusArr[i].code === data.code) { | 
|---|
|  |  |  | var valueData = {}; | 
|---|
|  |  |  | valueData.teamIncome = data.achieve; | 
|---|
|  |  |  | valueData.profitProp = data.prop; | 
|---|
|  |  |  | valueData.directCnt = data.direct; | 
|---|
|  |  |  | valueData.lastAgentCnt = data.lastAgentCnt; | 
|---|
|  |  |  | valueData.teamIncome = data.teamIncome; | 
|---|
|  |  |  | valueData.directCnt = data.directCnt; | 
|---|
|  |  |  | valueData.cashPercent = data.cashPercent; | 
|---|
|  |  |  | valueData.scorePercent = data.scorePercent; | 
|---|
|  |  |  | agentBonusArr[i].value = JSON.stringify(valueData); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | table.render({ | 
|---|
|  |  |  | elem: '#rankBonus' | 
|---|
|  |  |  | ,cols: [[ //表头 | 
|---|
|  |  |  | {field: 'description', title: '排名'} | 
|---|
|  |  |  | ,{field: 'value', title: '返利比例(%)', edit:'text'} | 
|---|
|  |  |  | ,{field: 'type', title: '比例', edit:'text', hide:'true'} | 
|---|
|  |  |  | ,{field: 'code', title: '比例', edit:'text', hide:'true'} | 
|---|
|  |  |  | ]] | 
|---|
|  |  |  | ,data: [] | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | table.on('edit(rankBonus)', function(obj){ | 
|---|
|  |  |  | var value = obj.value //得到修改后的值 | 
|---|
|  |  |  | ,data = obj.data //得到所在行所有键值 | 
|---|
|  |  |  | ,field = obj.field; //得到字段 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (let i = 0; i < rankBonusArr.length; i++) { | 
|---|
|  |  |  | if (rankBonusArr[i].code === data.code) { | 
|---|
|  |  |  | rankBonusArr[i].value = value; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | table.render({ | 
|---|
|  |  |  | elem: '#indirectDistrib' | 
|---|
|  |  |  | ,cols: [[ //表头 | 
|---|
|  |  |  | {field: 'pushCnt', title: '直推人数', edit:'text'} | 
|---|
|  |  |  | ,{field: 'prop', title: '返利比例(%)', edit:'text'} | 
|---|
|  |  |  | ,{field: 'type', title: '比例', edit:'text', hide:'true'} | 
|---|
|  |  |  | ,{field: 'code', title: '比例', edit:'text', hide:'true'} | 
|---|
|  |  |  | ]] | 
|---|
|  |  |  | ,data: [] | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | table.on('edit(indirectDistrib)', function(obj){ | 
|---|
|  |  |  | var value = obj.value //得到修改后的值 | 
|---|
|  |  |  | ,data = obj.data //得到所在行所有键值 | 
|---|
|  |  |  | ,field = obj.field; //得到字段 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (let i = 0; i < indirectBonusArr.length; i++) { | 
|---|
|  |  |  | if (indirectBonusArr[i].code === data.code) { | 
|---|
|  |  |  | var valueData = {}; | 
|---|
|  |  |  | valueData.pushCnt = data.pushCnt; | 
|---|
|  |  |  | valueData.prop = data.prop; | 
|---|
|  |  |  | indirectBonusArr[i].value = JSON.stringify(valueData); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | dicDataReq("BONUS_TYPE"); | 
|---|
|  |  |  | dicDataReq("AGENT_LEVEL_REQUIRE"); | 
|---|
|  |  |  | dicDataReq("RANK_AWARD"); | 
|---|
|  |  |  | dicDataReq("INDIRECT_BONUS_SETTING"); | 
|---|
|  |  |  | // dicDataReq("AGENT_LEVEL_REQUIRE"); | 
|---|
|  |  |  | dicDataReq("AGENT_PERK_SET"); | 
|---|
|  |  |  | function dicDataReq(type) { | 
|---|
|  |  |  | $bonusSystem.empty(); | 
|---|
|  |  |  | $.get(ctx + 'admin/common/findDicByType/' + type, function (r) { | 
|---|
|  |  |  | if (r.code === 200) { | 
|---|
|  |  |  | var data = r.data; | 
|---|
|  |  |  | if ("BONUS_TYPE" == type) { | 
|---|
|  |  |  | laytpl(templateHtml).render(data, function(html) { | 
|---|
|  |  |  | $bonusSystem.append(html); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if ("AGENT_LEVEL_REQUIRE" == type) { | 
|---|
|  |  |  | if ("AGENT_PERK_SET" == type) { | 
|---|
|  |  |  | for (let i = 0; i < data.length; i++) { | 
|---|
|  |  |  | data[i].prop = JSON.parse(data[i].value).profitProp; | 
|---|
|  |  |  | data[i].achieve = JSON.parse(data[i].value).teamIncome; | 
|---|
|  |  |  | data[i].direct = JSON.parse(data[i].value).directCnt; | 
|---|
|  |  |  | data[i].lastAgentCnt = JSON.parse(data[i].value).lastAgentCnt; | 
|---|
|  |  |  | data[i].teamIncome = JSON.parse(data[i].value).teamIncome; | 
|---|
|  |  |  | data[i].directCnt = JSON.parse(data[i].value).directCnt; | 
|---|
|  |  |  | data[i].cashPercent = JSON.parse(data[i].value).cashPercent; | 
|---|
|  |  |  | data[i].scorePercent = JSON.parse(data[i].value).scorePercent; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | agentBonusArr = data; | 
|---|
|  |  |  | table.reload('agentBonus', { | 
|---|
|  |  |  | data : data | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if ("RANK_AWARD" == type) { | 
|---|
|  |  |  | rankBonusArr = data; | 
|---|
|  |  |  | table.reload('rankBonus', { | 
|---|
|  |  |  | data : data | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if ("INDIRECT_BONUS_SETTING" == type) { | 
|---|
|  |  |  | for (let i = 0; i < data.length; i++) { | 
|---|
|  |  |  | data[i].prop = JSON.parse(data[i].value).prop; | 
|---|
|  |  |  | data[i].pushCnt = JSON.parse(data[i].value).pushCnt; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | indirectBonusArr = data; | 
|---|
|  |  |  | table.reload('indirectDistrib', { | 
|---|
|  |  |  | data : data | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | form.on('submit(profit-setting-form-submit)', function (data) { | 
|---|
|  |  |  | data.field.agentBonus = agentBonusArr; | 
|---|
|  |  |  | data.field.rankBonus = rankBonusArr; | 
|---|
|  |  |  | data.field.indrectDistrib = indirectBonusArr; | 
|---|
|  |  |  | $.ajax({ | 
|---|
|  |  |  | 'url':ctx + 'admin/system/bonusSystemSetting', | 
|---|
|  |  |  | 'type':'post', | 
|---|