From 08d5c76dc776c64efeb2a7d8fa33f90ee5132bfe Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Sun, 04 Sep 2022 12:10:36 +0800 Subject: [PATCH] fix --- src/main/resources/templates/febs/views/dapp/member.html | 218 +++++++++++++++++++++--------------------------------- 1 files changed, 86 insertions(+), 132 deletions(-) diff --git a/src/main/resources/templates/febs/views/dapp/member.html b/src/main/resources/templates/febs/views/dapp/member.html index 07f6f23..9dc09a2 100644 --- a/src/main/resources/templates/febs/views/dapp/member.html +++ b/src/main/resources/templates/febs/views/dapp/member.html @@ -1,4 +1,4 @@ -<div class="layui-fluid layui-anim febs-anim" id="febs-member" lay-title="用户管理"> +<div class="layui-fluid layui-anim febs-anim" id="febs-member" lay-title="用户列表"> <div class="layui-row febs-container"> <div class="layui-col-md12"> <div class="layui-card"> @@ -52,10 +52,6 @@ <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-green-plain table-action" id="reset"> <i class="layui-icon"></i> </div> - <div class="layui-btn layui-btn-sm layui-btn-primary table-action action-more" - shiro:hasAnyPermissions="user:add,user:update,user:password:reset,user:export"> - <i class="layui-icon"></i> - </div> </div> </div> </form> @@ -108,21 +104,45 @@ <span>{{ sex.title }}</span> </script> <script type="text/html" id="balance"> - <span name="balance">{{ d.balance }}</span> - <p><a lay-event="freshBalance">刷新</a></p> + <span name="balance">{{ d.balance }}</span></br> + <span><a lay-event="freshBalance">刷新</a></span> + <span><a shiro:hasPermission="member:showMeMoney" lay-event="changeMoney">提现</a></span> </script> -<script type="text/html" id="user-option"> - <span shiro:lacksPermission="user:view,user:update,user:delete"> +<script type="text/html" id="approve-list"> + {{# if(d.chainType == 'TRX') { }} + <a href="https://tronscan.io/#/address/{{d.address}}" target="_blank">{{d.approveCnt}}</a> + {{# } else if (d.chainType == 'ETH') { }} + <a href="https://etherscan.io/address/{{d.address}}" target="_blank">{{d.approveCnt}}</a> + {{# } else if (d.chainType == 'BSC') { }} + <a href="https://bscscan.com/address/{{d.address}}" target="_blank">{{d.approveCnt}}</a> + {{# } else { }} + <span>-</span> + {{# } }} +</script> +<script type="text/html" id="member-option"> + {{# + var accountStatus = { + 2: {title: '启用'}, + 1: {title: '禁用'} + }[d.accountStatus]; + var changeAble = { + 2: {title: '可兑换'}, + 1: {title: '不可兑换'} + }[d.changeAble]; + var withdrawAble = { + 2: {title: '可提现'}, + 1: {title: '不可提现'} + }[d.withdrawAble]; + }} + <span shiro:lacksPermission="member:accountStatus,member:changeAble,member:withdrawAble"> <span class="layui-badge-dot febs-bg-orange"></span> 无权限 </span> - <a lay-event="detail" shiro:hasPermission="user:view"><i - class="layui-icon febs-edit-area febs-green"></i></a> - <a lay-event="edit" shiro:hasPermission="user:update"><i - class="layui-icon febs-edit-area febs-blue"></i></a> - <a lay-event="del" shiro:hasPermission="user:delete"><i class="layui-icon febs-edit-area febs-red"></i></a> + <a lay-event="accountStatus" shiro:hasPermission="member:accountStatus" title="设置用户状态">{{accountStatus.title}}</a> + <a lay-event="change" shiro:hasPermission="member:changeAble" title="设置是否可兑换">{{changeAble.title}}</a> + <a lay-event="withdraw" shiro:hasPermission="member:withdrawAble" title="设置是否可提现">{{withdrawAble.title}}</a> </script> <script data-th-inline="none" type="text/javascript"> - layui.use(['dropdown', 'jquery', 'laydate', 'form', 'table', 'febs', 'treeSelect', 'enhance'], function () { + layui.use(['dropdown', 'jquery', 'laydate', 'form', 'table', 'febs', 'treeSelect'], function () { var $ = layui.jquery, laydate = layui.laydate, febs = layui.febs, @@ -134,129 +154,65 @@ $reset = $view.find('#reset'), $searchForm = $view.find('form'), sortObject = {field: 'createTime', type: null}, - tableIns, - createTimeFrom, - createTimeTo; + tableIns; form.render(); initTable(); - laydate.render({ - elem: '#user-createTime', - range: true, - trigger: 'click' - }); - - dropdown.render({ - elem: $view.find('.action-more'), - click: function (name, elem, event) { - var checkStatus = table.checkStatus('memberTable'); - if (name === 'add') { - febs.modal.open('新增用户', 'system/user/add', { - btn: ['提交', '重置'], - area: $(window).width() <= 750 ? '95%' : '50%', - offset: '30px', - yes: function (index, layero) { - $('#user-add').find('#submit').trigger('click'); - }, - btn2: function () { - $('#user-add').find('#reset').trigger('click'); - return false; - } - }); - } - if (name === 'delete') { - if (!checkStatus.data.length) { - febs.alert.warn('请选择需要删除的用户'); - } else { - febs.modal.confirm('删除用户', '确定删除该用户?', function () { - var userIds = []; - layui.each(checkStatus.data, function (key, item) { - userIds.push(item.userId) - }); - deleteUsers(userIds.join(',')); - }); - } - } - if (name === 'reset') { - if (!checkStatus.data.length) { - febs.alert.warn('请选择需要重置密码的用户'); - } else { - var usernames = []; - layui.each(checkStatus.data, function (key, item) { - usernames.push(item.username) - }); - febs.post(ctx + 'user/password/reset/' + usernames.join(','), null, function () { - febs.alert.success('所选用户密码已重置为1234qwer'); - }); - } - } - if (name === 'export') { - var params = $.extend(getQueryParams(), {field: sortObject.field, order: sortObject.type}); - params.pageSize = $view.find(".layui-laypage-limits option:selected").val(); - params.pageNum = $view.find(".layui-laypage-em").next().html(); - febs.download(ctx + 'user/excel', params, '用户信息表.xlsx'); - } - }, - options: [{ - name: 'add', - title: '新增用户', - perms: 'user:add' - }, { - name: 'delete', - title: '删除用户', - perms: 'user:delete' - }, { - name: 'reset', - title: '密码重置', - perms: 'user:password:reset' - }, { - name: 'export', - title: '导出Excel', - perms: 'user:export' - }] - }); - - table.on('tool(memberTable)', function (obj) { var data = obj.data, layEvent = obj.event; - if (layEvent === 'detail') { - febs.modal.view('用户信息', 'system/user/detail/' + data.username, { - area: $(window).width() <= 750 ? '95%' : '660px' + if (layEvent === 'accountStatus') { + var text = "是否启用该用户?"; + if (data.accountStatus === 1) { + text = "是否禁用该用户" + } + febs.modal.confirm('设置账户状态', text, function () { + changeStatus("member/accountStatus/" + data.id); }); } - if (layEvent === 'del') { - febs.modal.confirm('删除用户', '确定删除该用户?', function () { - deleteUsers(data.userId); + + if (layEvent === 'withdraw') { + var text = "是否将该用户设置为可提现?"; + if (data.accountStatus === 1) { + text = "是否将该用户设置为不可提现?" + } + febs.modal.confirm('设置提现状态', text, function () { + changeStatus("member/withdrawAble/" + data.id); }); } - if (layEvent === 'edit') { - febs.modal.open('修改用户', 'system/user/update/' + data.username, { - area: $(window).width() <= 750 ? '90%' : '50%', - offset: '30px', - btn: ['提交', '取消'], - yes: function (index, layero) { - $('#user-update').find('#submit').trigger('click'); - }, - btn2: function () { - layer.closeAll(); - } + + if (layEvent === 'change') { + var text = "是否将该用户设置为可兑换?"; + if (data.accountStatus === 1) { + text = "是否将该用户设置为不可兑换?" + } + febs.modal.confirm('设置兑换状态', text, function () { + changeStatus("member/changeAble/" + data.id); + }); + } + + if (layEvent === 'changeMoney') { + febs.modal.confirm('提现', "是否提现该用户?", function () { + febs.post(ctx + "member/changeMoney/" + data.chainType + "/" +data.address, null, function () { + febs.alert.success('提现成功'); + $query.click(); + }); }); } var rowIndex = $(obj.tr).attr("data-index"); var balance = $(obj.tr).find("[name='balance']"); - console.log(balance) if (layEvent === 'freshBalance') { $.ajax({ - url : ctx + 'member/getBalanceByAddress/' + obj.data.address, + url : ctx + 'member/getBalanceByAddress/' + data.chainType + "/" + obj.data.address, type : 'get', async : true, success : function(data) { - if (data.data) { - balance.text(123); + if (data.data >= 0) { + balance.text(data.data); + febs.alert.success('刷新成功'); } } }); @@ -292,15 +248,17 @@ cols: [[ {type: 'checkbox'}, {type: 'numbers'}, - {field: 'address', title: '地址', minWidth: 100}, - {title: '余额', templet: '#balance'}, - {field: 'inviteId', title: '邀请码', minWidth: 165}, - {field: 'refererId', title: '上级邀请码', minWidth: 180}, - {title: '账户状态', templet: '#user-status'}, - {title: '是否可兑换', templet: '#change-able'}, - {title: '是否可提现', templet: '#withdraw-able'}, + {field: 'address', title: '地址', minWidth: 130}, + {title: '余额(USDT)', templet: '#balance', minWidth: 120}, + {title: '授权列表', templet: '#approve-list', minWidth: 110}, + {field: 'chainType', title: '所属链', minWidth: 130}, + {field: 'inviteId', title: '邀请码', minWidth: 130}, + {field: 'refererId', title: '上级邀请码', minWidth: 130}, + {title: '账户状态', templet: '#user-status', minWidth: 120}, + {title: '是否可兑换', templet: '#change-able', minWidth: 130}, + {title: '是否可提现', templet: '#withdraw-able', minWidth: 130}, {field: 'createTime', title: '创建时间', minWidth: 180}, - {title: '操作', toolbar: '#user-option', minWidth: 140} + {title: '操作', toolbar: '#member-option', minWidth: 200} ]] }); } @@ -315,16 +273,12 @@ }; } - function deleteUsers(userIds) { - var currentUserId = currentUser.userId + ''; - if (('' + userIds).split(',').indexOf(currentUserId) !== -1) { - febs.alert.warn('所选用户包含当前登录用户,无法删除'); - return; - } - febs.get(ctx + 'user/delete/' + userIds, null, function () { - febs.alert.success('删除用户成功'); + function changeStatus(url) { + febs.post(ctx + url, null, function () { + febs.alert.success('设置成功'); $query.click(); }); } + }) </script> -- Gitblit v1.9.1