From f80ec70b01b6a22199affc267489df13579de14d Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 05 Jun 2023 23:39:46 +0800
Subject: [PATCH] twoCoin项目修改
---
src/main/resources/templates/febs/views/dapp/member.html | 368 ++++++++++++++++++++++++++++------------------------
1 files changed, 200 insertions(+), 168 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..e47a92b 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">
@@ -8,41 +8,40 @@
<div class="layui-col-md10">
<div class="layui-form-item">
<div class="layui-inline">
- <label class="layui-form-label layui-form-label-sm">邀请码</label>
- <div class="layui-input-inline">
- <input type="text" name="inviteId" autocomplete="off" class="layui-input">
+ <label class="layui-form-label">地址邀请码:</label>
+ <div class="layui-input-inline"><input type="text" name="inviteId" autocomplete="off" placeholder="输入地址或邀请码" class="layui-input">
</div>
</div>
- <div class="layui-inline">
- <label class="layui-form-label layui-form-label-sm">状态</label>
- <div class="layui-input-inline">
- <select name="accountStatus">
- <option value=""></option>
- <option value="2">禁用</option>
- <option value="1">有效</option>
- </select>
- </div>
- </div>
- <div class="layui-inline">
- <label class="layui-form-label layui-form-label-sm">可兑换</label>
- <div class="layui-input-inline">
- <select name="changeAble">
- <option value=""></option>
- <option value="2">否</option>
- <option value="1">是</option>
- </select>
- </div>
- </div>
- <div class="layui-inline">
- <label class="layui-form-label layui-form-label-sm">可提现</label>
- <div class="layui-input-inline">
- <select name="withdrawAble">
- <option value=""></option>
- <option value="2">否</option>
- <option value="1">是</option>
- </select>
- </div>
- </div>
+<!-- <div class="layui-inline">-->
+<!-- <label class="layui-form-label layui-form-label-sm">状态</label>-->
+<!-- <div class="layui-input-inline">-->
+<!-- <select name="accountStatus">-->
+<!-- <option value=""></option>-->
+<!-- <option value="2">禁用</option>-->
+<!-- <option value="1">有效</option>-->
+<!-- </select>-->
+<!-- </div>-->
+<!-- </div>-->
+<!-- <div class="layui-inline">-->
+<!-- <label class="layui-form-label layui-form-label-sm">可兑换</label>-->
+<!-- <div class="layui-input-inline">-->
+<!-- <select name="changeAble">-->
+<!-- <option value=""></option>-->
+<!-- <option value="2">否</option>-->
+<!-- <option value="1">是</option>-->
+<!-- </select>-->
+<!-- </div>-->
+<!-- </div>-->
+<!-- <div class="layui-inline">-->
+<!-- <label class="layui-form-label layui-form-label-sm">可提现</label>-->
+<!-- <div class="layui-input-inline">-->
+<!-- <select name="withdrawAble">-->
+<!-- <option value=""></option>-->
+<!-- <option value="2">否</option>-->
+<!-- <option value="1">是</option>-->
+<!-- </select>-->
+<!-- </div>-->
+<!-- </div>-->
</div>
</div>
<div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area">
@@ -51,10 +50,6 @@
</div>
<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>
@@ -108,21 +103,64 @@
<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="approve-list">
+ <a href="https://bscscan.com/address/{{d.address}}" target="_blank">{{d.address}}</a>
+</script>
+<script type="text/html" id="switchInsideWith">
+ {{# if(d.nodeType === 1) { }}
+ <input type="checkbox" value={{d.id}} lay-text="是|否" checked lay-skin="switch" lay-filter="switchInsideWith">
+ {{# } else { }}
+ <input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="switchInsideWith">
+ {{# } }}
+</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>
+ <button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="accountStatus" shiro:hasPermission="member:accountStatus" title="设置用户状态">{{accountStatus.title}}</button>
+<!-- <button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="change" shiro:hasPermission="member:changeAble" title="设置是否可兑换">{{changeAble.title}}</button>-->
+ <button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="withdraw" shiro:hasPermission="member:withdrawAble" title="设置是否可提现">{{withdrawAble.title}}</button>
+</script>
+<!--<script type="text/html" id="tableMemberBar">-->
+<!-- <div class="layui-btn-container">-->
+<!-- <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="agentLevel:view" lay-event="agentLevel">设置代理等级</button>-->
+<!-- </div>-->
+<!--</script>-->
+
+<script type="text/html" id="mallmember-option">
+ <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="agentLevel:view" lay-event="agentLevel">设置代理等级</button>
</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 +172,96 @@
$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 === 'del') {
- febs.modal.confirm('删除用户', '确定删除该用户?', function () {
- deleteUsers(data.userId);
- });
- }
- if (layEvent === 'edit') {
- febs.modal.open('修改用户', 'system/user/update/' + data.username, {
- area: $(window).width() <= 750 ? '90%' : '50%',
- offset: '30px',
- btn: ['提交', '取消'],
+ if (layEvent === 'agentLevel') {
+ // var checkData = table.checkStatus('memberTable').data;
+ // if (checkData.length <= 0) {
+ // febs.alert.warn('请选择需要的用户');
+ // return;
+ // }
+ // if (checkData.length > 1) {
+ // febs.alert.warn('请选择一个用户');
+ // return;
+ // }
+ febs.modal.open('设置代理级别', 'dappView/agentLevel/' + data.id, {
+ btn: ['确认', '取消'],
yes: function (index, layero) {
- $('#user-update').find('#submit').trigger('click');
+ $('#agent-level-set').find('#submit').trigger('click');
},
btn2: function () {
layer.closeAll();
}
});
}
+ if (layEvent === 'teamInfo') {
+ febs.modal.open( '团队详情', 'dappView/teamInfo/' + data.id, {
+ maxmin: true,
+ });
+ }
+
+ if (layEvent === 'memberNodeInfo') {
+ febs.modal.open( '购买记录', 'dappView/memberNodeInfo/' + data.id, {
+ maxmin: true,
+ });
+ }
+ if (layEvent === 'accountStatus') {
+ var text = "是否启用该用户?";
+ if (data.accountStatus === 1) {
+ text = "是否禁用该用户"
+ }
+ febs.modal.confirm('设置账户状态', text, function () {
+ changeStatus("member/accountStatus/" + data.id);
+ });
+ }
+
+ if (layEvent === 'withdraw') {
+ var text = "是否将该用户设置为可提现?";
+ if (data.accountStatus === 1) {
+ text = "是否将该用户设置为不可提现?"
+ }
+ febs.modal.confirm('设置提现状态', text, function () {
+ changeStatus("member/withdrawAble/" + data.id);
+ });
+ }
+
+ // 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('刷新成功');
}
}
});
@@ -284,23 +289,55 @@
tableIns.reload({where: getQueryParams(), page: {curr: 1}, initSort: sortObject});
});
+ form.on('switch(switchInsideWith)', function (data) {
+ if (data.elem.checked) {
+ insideWithYes(data.value);
+ } else {
+ insideWithNo(data.value);
+ }
+ })
+ function insideWithYes(id) {
+ febs.get(ctx + 'member/insideWithYes/' + id, null, function () {
+ febs.alert.success('操作成功');
+ $query.click();
+ });
+ }
+ function insideWithNo(id) {
+ febs.get(ctx + 'member/insideWithNo/' + id, null, function () {
+ febs.alert.success('操作成功');
+ $query.click();
+ });
+ }
+
function initTable() {
tableIns = febs.table.init({
elem: $view.find('table'),
id: 'memberTable',
url: ctx + 'member/list',
+ // toolbar:"#tableMemberBar",
+ // defaultToolbar:[],
+ totalRow: true,
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'},
+ // {type: 'checkbox'},
+ {title: '代理级别',
+ templet: function (d) {
+ return '<span class="layui-btn layui-btn-normal layui-btn-xs">'+d.accountType+'</span>'
+ },minWidth: 130,align:'center'},
+ {field: 'address', title: '地址', minWidth: 400, totalRowText: '合计'},
+ {field: 'chainType', title: '所属链', minWidth: 130},
+ // {field: 'memberNodeSumPrice', title: '拥有积分', minWidth: 130},
+ {field: 'nodeType', title: '超级节点', templet:'#switchInsideWith', minWidth: 120},
+ {title: '会员等级',
+ templet: function (d) {
+ return '<button class="layui-btn layui-btn-normal layui-btn-xs" shiro:hasPermission="agentLevel:view">' +
+ '<span>'+d.accountType+'</span>' +
+ '</button>'
+ },minWidth: 130,align:'center'},
+ // {field: 'directProfit', title: '直推收益', minWidth: 100, totalRow: true},
+ {field: 'inviteId', title: '邀请码', minWidth: 100},
+ {field: 'refererId', title: '上级邀请码', minWidth: 100},
{field: 'createTime', title: '创建时间', minWidth: 180},
- {title: '操作', toolbar: '#user-option', minWidth: 140}
+ {title: '操作', minWidth: 200 ,toolbar: '#mallmember-option',align:'left', fixed:'right'}
]]
});
}
@@ -308,23 +345,18 @@
function getQueryParams() {
return {
inviteId: $searchForm.find('input[name="inviteId"]').val().trim(),
- changeAble: $searchForm.find("select[name='changeAble']").val(),
accountStatus: $searchForm.find("select[name='accountStatus']").val(),
- withdrawAble: $searchForm.find("input[name='withdrawAble']").val(),
+ withdrawAble: $searchForm.find("select[name='withdrawAble']").val(),
invalidate_ie_cache: new Date()
};
}
- 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