src/main/java/cc/mrbird/febs/mall/controller/AdminMallMemberController.java
@@ -4,6 +4,7 @@ import cc.mrbird.febs.common.controller.BaseController; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.common.tree.MatrixTree; import cc.mrbird.febs.mall.dto.*; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.service.IAdminMallMemberService; @@ -459,4 +460,10 @@ return new FebsResponse().success().data(dataTable); } @GetMapping(value = "/matrixTree") public FebsResponse matrixTree() { MatrixTree instance = MatrixTree.getInstance(); return null; } } src/main/java/cc/mrbird/febs/mall/controller/ViewMallMemberController.java
@@ -369,6 +369,10 @@ } @GetMapping("matrixTree") public String matrixTree() { return FebsUtil.view("modules/mallMember/matrixTree"); } } src/main/java/cc/mrbird/febs/mall/mapper/MallMemberMapper.java
@@ -110,4 +110,6 @@ Integer selectOwnCntByInviteIdAndAccountLevel(@Param("inviteId") String inviteId, @Param("accountLevel") Integer accountLevel); List<MallMember> selectMatrixTreeMemberList(); } src/main/java/cc/mrbird/febs/mall/service/IAdminMallMemberService.java
@@ -114,4 +114,6 @@ FebsResponse insideWithType(Long id, int i); List<MallMember> findParentMemberList(List<String> inviteIds, Integer level, boolean containsParent); TreeItemVo findMatrixTree(); } src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallMemberServiceImpl.java
@@ -802,4 +802,9 @@ } return result; } @Override public TreeItemVo findMatrixTree() { return null; } } src/main/java/cc/mrbird/febs/mall/vo/TreeItemVo.java
New file @@ -0,0 +1,10 @@ package cc.mrbird.febs.mall.vo; import java.util.List; public class TreeItemVo { private String name; private List<TreeItemVo> children; } src/main/resources/mapper/modules/MallMemberMapper.xml
@@ -503,4 +503,9 @@ and x.account_level in (2, 3) </if> </select> <select id="selectMatrixTreeMemberList" resultType="cc.mrbird.febs.mall.entity.MallMember"> select memberInfo.* from mall_member memberInfo inner join matrix_tree_node nodeInfo on memberInfo.id=nodeInfo.tree_node </select> </mapper> src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -3,7 +3,7 @@ <div class="layui-col-md12"> <div class="layui-card"> <div class="layui-card-body febs-table-full"> <form class="layui-form layui-table-form" lay-filter="user-table-form"> <form class="layui-form layui-table-form" lay-filter="member-table-form"> <div class="layui-row"> <div class="layui-col-md10"> <div class="layui-form-item"> @@ -41,7 +41,7 @@ </div> </div> </form> <table lay-filter="userTable" lay-data="{id: 'userTable'}"></table> <table lay-filter="memberTable" lay-data="{id: 'memberTable'}"></table> </div> </div> </div> @@ -121,7 +121,7 @@ initTable(); // 初始化表格操作栏各个按钮功能 table.on('tool(userTable)', function (obj) { table.on('tool(memberTable)', function (obj) { var data = obj.data, layEvent = obj.event; @@ -228,7 +228,7 @@ function initTable() { tableIns = febs.table.init({ elem: $view.find('table'), id: 'userTable', id: 'memberTable', url: ctx + 'admin/mallMember/getMallMemberList', toolbar:"#tableMemberBar", defaultToolbar:[], @@ -271,7 +271,7 @@ }); } table.on('toolbar(userTable)', function(obj){ table.on('toolbar(memberTable)', function(obj){ var data = obj.data, layEvent = obj.event; @@ -289,14 +289,14 @@ return; } // var checkData = table.checkStatus('userTable').data; // var checkData = table.checkStatus('memberTable').data; // if (checkData.length <= 0) { // febs.alert.warn('请选择需要的用户'); // return; // } if (layEvent === 'resetPwd') { var checkData = table.checkStatus('userTable').data; var checkData = table.checkStatus('memberTable').data; if (checkData.length <= 0) { febs.alert.warn('请选择需要的用户'); return; @@ -311,7 +311,7 @@ } if (layEvent === 'resetPayPwd') { var checkData = table.checkStatus('userTable').data; var checkData = table.checkStatus('memberTable').data; if (checkData.length <= 0) { febs.alert.warn('请选择需要的用户'); return; @@ -327,7 +327,7 @@ } if (layEvent === 'balance') { var checkData = table.checkStatus('userTable').data; var checkData = table.checkStatus('memberTable').data; if (checkData.length <= 0) { febs.alert.warn('请选择需要的用户'); return; @@ -340,7 +340,7 @@ } if (layEvent === 'voucherUpdate') { var checkData = table.checkStatus('userTable').data; var checkData = table.checkStatus('memberTable').data; if (checkData.length <= 0) { febs.alert.warn('请选择需要的用户'); return; @@ -353,7 +353,7 @@ } if (layEvent === 'score') { var checkData = table.checkStatus('userTable').data; var checkData = table.checkStatus('memberTable').data; if (checkData.length <= 0) { febs.alert.warn('请选择需要的用户'); return; @@ -366,7 +366,7 @@ } if (layEvent === 'prizeScore') { var checkData = table.checkStatus('userTable').data; var checkData = table.checkStatus('memberTable').data; if (checkData.length <= 0) { febs.alert.warn('请选择需要的用户'); return; @@ -379,7 +379,7 @@ } if (layEvent === 'agentLevel') { var checkData = table.checkStatus('userTable').data; var checkData = table.checkStatus('memberTable').data; if (checkData.length <= 0) { febs.alert.warn('请选择需要的用户'); return; src/main/resources/templates/febs/views/modules/mallMember/matrixTree.html
New file @@ -0,0 +1,58 @@ <div class="layui-fluid layui-anim febs-anim" id="matrix-tree" lay-title="星级补贴设置"> <div class="layui-row layui-col-space8 febs-container"> <div class="layui-card"> <div class="layui-card-body"> <blockquote class="layui-elem-quote blue-border">星级补贴</blockquote> <div class="layui-tab-item layui-show"> <table id="agentBonus" lay-filter="agentBonus"></table> </div> </div> </div> </div> </div> <style> .layui-form-label { width: 120px; } .layui-form-item .layui-input-block { margin-left: 150px; } .layui-table-form .layui-form-item { margin-bottom: 20px !important; } </style> <script data-th-inline="javascript" type="text/javascript"> layui.use(['dropdown', 'jquery', 'validate', 'febs', 'form', 'eleTree', 'laytpl', 'table'], function () { var $ = layui.jquery, febs = layui.febs, form = layui.form, table = layui.table, validate = layui.validate, $view = $('#matrix-tree') , laytpl = layui.laytpl , agentBonusArr; function dicDataReq(type) { $.get(ctx + 'admin/common/findDicByType/' + type, function (r) { if (r.code === 200) { var data = r.data; if ("AGENT_LEVEL_REQUIRE" == 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; } agentBonusArr = data; table.reload('agentBonus', { data : data }); } } }); } }); </script> src/main/resources/templates/febs/views/modules/system/bonusSetting.html
@@ -7,6 +7,10 @@ <div class="layui-tab-item layui-show"> <table id="agentBonus" lay-filter="agentBonus"></table> </div> <blockquote class="layui-elem-quote blue-border">全网分红设置</blockquote> <div class="layui-tab-item layui-show"> <table id="allInternetBonus" lay-filter="allInternetBonus"></table> </div> <div class="layui-form-item"> <label class="layui-form-label febs-form-item-require">推荐奖(%):</label> <div class="layui-input-block"> @@ -109,6 +113,7 @@ , $view = $('#bonus-setting') , laytpl = layui.laytpl , agentBonusArr , allInternetBonusArr , bonusPoolArr; form.verify(validate); @@ -122,6 +127,17 @@ ]] ,data: [] }); table.render({ elem: '#allInternetBonus' ,cols: [[ //表头 {field: 'description', title: '角色'} ,{field: 'value', title: '比例', edit:'text'} ]] ,data: [] }); table.render({ @@ -145,6 +161,18 @@ valueData.pushCnt = data.pushCnt; valueData.prop = data.prop; agentBonusArr[i].value = JSON.stringify(valueData); } } }); table.on('edit(allInternetBonus)', function(obj){ var value = obj.value //得到修改后的值 ,data = obj.data //得到所在行所有键值 ,field = obj.field; //得到字段 for (let i = 0; i < allInternetBonusArr.length; i++) { if (allInternetBonusArr[i].code === data.code) { allInternetBonusArr[i] = data; } } }); @@ -182,6 +210,7 @@ } dicDataReq("DIRECT_BONUS_SETTING"); dicDataReq("INTERNET_LEVEL_BONUS"); dicDataReq("MEIYE_BONUS_TYPE"); function dicDataReq(type) { $.get(ctx + 'admin/common/findDicByType/' + type, function (r) { @@ -194,6 +223,17 @@ } agentBonusArr = data; table.reload('agentBonus', { data : data }); } if ("INTERNET_LEVEL_BONUS" == type) { // for (let i = 0; i < data.length; i++) { // data[i].pushCnt = JSON.parse(data[i].value).pushCnt; // data[i].prop = JSON.parse(data[i].value).prop; // } allInternetBonusArr = data; table.reload('allInternetBonus', { data : data }); } @@ -212,6 +252,7 @@ form.on('submit(bonus-setting-form-submit)', function (data) { data.field.agentBonus = agentBonusArr; data.field.allInternetBonus = allInternetBonusArr; data.field.bonusPool = bonusPoolArr[0]; $.ajax({ 'url':ctx + 'admin/system/bonusSystemSetting',