first commit

This commit is contained in:
云泽网
2025-07-27 21:42:34 +08:00
commit c1cce5ccb4
2779 changed files with 340042 additions and 0 deletions
@@ -0,0 +1,166 @@
{layout name="layout2" /}
<style>
.layui-form-label{
width: 90px;
}
</style>
<div class="layui-form" lay-filter="layuiadmin-form-user" id="layuiadmin-form-user" style="padding: 20px 30px 0 0;">
<input type="hidden" value="{$info.id}" name="id">
<input type="hidden" value="money" name="type" id="type">
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-tab layui-tab-card" lay-filter="adjust">
<ul class="layui-tab-title">
<li data-type="money" class="layui-this">余额调整</li>
<li data-type="integral" >积分调整</li>
<li data-type="growth" >成长值调整</li>
<li data-type="earnings" >佣金调整</li>
</ul>
<div class="layui-tab-content" >
<div class="layui-tab-item layui-show " >
<div class="layui-form-item">
<label class="layui-form-label">当前余额:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$info.user_money}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">余额增减:</label>
<div class="layui-input-block">
<input type="radio" name="money_handle" value="1" title="增加余额">
<input type="radio" name="money_handle" value="0" title="扣减余额">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">调整余额:</label>
<div class="layui-input-inline">
<input type="text" name="money" value="" lay-verify="" lay-vertype="tips" placeholder="" autocomplete="off" class="layui-input">
<label class="layui-form-mid layui-word-aux">请输入调整的余额金额</label>
</div>
<label class="layui-form-mid"></label>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注:</label>
<div class="layui-input-block">
<textarea type="text" name="money_remark" autocomplete="off" class="layui-textarea" style="width: 30%;"></textarea>
<label class="layui-form-mid layui-word-aux" style="margin-left: 10px;">不超过100字</label>
</div>
</div>
</div>
<div class="layui-tab-item">
<div class="layui-form-item">
<label class="layui-form-label">当前积分:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$info.user_integral}</label>
<input type="hidden" value="{$info.user_integral}" name="now_integral">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">积分增减:</label>
<div class="layui-input-block">
<input type="radio" name="integral_handle" value="1" title="增加积分">
<input type="radio" name="integral_handle" value="0" title="扣减积分">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">调整积分:</label>
<div class="layui-input-inline">
<input type="text" name="integral" value="" lay-verify="" lay-vertype="tips" placeholder="" autocomplete="off" class="layui-input">
<label class="layui-form-mid layui-word-aux">请输入调整的积分数量</label>
</div>
<label class="layui-form-mid"></label>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注:</label>
<div class="layui-input-block">
<textarea type="text" name="integral_remark" autocomplete="off" class="layui-textarea" style="width: 30%;"></textarea>
<label class="layui-form-mid layui-word-aux" style="margin-left: 10px;">不超过100字</label>
</div>
</div>
</div>
<div class="layui-tab-item">
<div class="layui-form-item">
<label class="layui-form-label">当前成长值:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$info.user_growth}</label>
<input type="hidden" value="{$info.user_growth}" name="now_growth">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">成长值增减:</label>
<div class="layui-input-block">
<input type="radio" name="growth_handle" value="1" title="增加成长值">
<input type="radio" name="growth_handle" value="0" title="扣减成长值">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">调整成长值:</label>
<div class="layui-input-inline">
<input type="text" name="growth" value="" lay-verify="" lay-vertype="tips" placeholder="" autocomplete="off" class="layui-input">
<label class="layui-form-mid layui-word-aux">请输入调整的成长值</label>
</div>
<!-- <label class="layui-form-mid">分</label>-->
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注:</label>
<div class="layui-input-block">
<textarea type="text" name="growth_remark" autocomplete="off" class="layui-textarea" style="width: 30%;"></textarea>
<label class="layui-form-mid layui-word-aux" style="margin-left: 10px;">不超过100字</label>
</div>
</div>
</div>
<div class="layui-tab-item " >
<div class="layui-form-item">
<label class="layui-form-label">当前佣金:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$info.earnings}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">佣金增减:</label>
<div class="layui-input-block">
<input type="radio" name="earnings_handle" value="1" title="增加佣金">
<input type="radio" name="earnings_handle" value="0" title="扣减佣金">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">调整佣金:</label>
<div class="layui-input-inline">
<input type="text" name="earnings" value="" lay-verify="" lay-vertype="tips" placeholder="" autocomplete="off" class="layui-input">
<label class="layui-form-mid layui-word-aux">请输入调整的金额</label>
</div>
<label class="layui-form-mid"></label>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注:</label>
<div class="layui-input-block">
<textarea type="text" name="earnings_remark" autocomplete="off" class="layui-textarea" style="width: 30%;"></textarea>
<label class="layui-form-mid layui-word-aux" style="margin-left: 10px;">不超过100字</label>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="adjust_user-submit" id="adjust_user-submit" value="确认">
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'form', 'element'], function(){
var $ = layui.$
,form = layui.form
,element = layui.element;
element.on('tab(adjust)', function(){
$('#type').val($(this).attr('data-type'));
});
})
</script>
@@ -0,0 +1,95 @@
{layout name="layout2" /}
<style>
.layui-form-label{
width: 120px;
}
.reqRed::before {
content: '*';
color: red;
margin-right: 5px;
}
.left {
text-align: left;
}
.right {
text-align: right;
}
</style>
<div class="layui-form" style="padding: 20px 30px 0 0;">
<div class="layui-form-item">
<label class="layui-form-label right">用户编号:</label>
<div class="layui-input-block">
<label class="layui-form-label left">{$user.sn}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label right">用户昵称:</label>
<div class="layui-input-block">
<label class="layui-form-label left">{$user.nickname}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label right">当前推荐人:</label>
<div class="layui-input-block">
{if is_array($first_leader)}
<label class="layui-form-label left">{$first_leader.nickname}({$first_leader.sn})</label>
{else}
<label class="layui-form-label left">{$first_leader}</label>
{/if}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label reqRed right">调整方式:</label>
<div class="layui-input-inline">
<input type="radio" name="type" value="assign" title="指定推荐人" checked>
</div>
<div class="layui-input-inline">
<input type="radio" name="type" value="system" title="设置推荐人为系统">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label right">选择推荐人:</label>
<div class="layui-inline">
<span id="user_selected"></span>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm layui-bg-blue" id="show-user">选择用户</button>
</div>
</div>
<input type="hidden" value="{$user_id}" name="id">
<input type="hidden" name="first_id" id="first_id">
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="formSubmit" id="formSubmit" value="确认">
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/modules/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['form', 'element', 'like'], function(){
var $ = layui.$,form = layui.form ;
var element = layui.element;
var like = layui.like;
$('#show-user').click(function() {
layer.open({
type: 2
,title: "选择用户"
,content: "{:url('user/userLists')}"
,area: ["90%", "90%"]
,btn: ["确定", "取消"]
,yes: function(index, layero){
var iframeWindow = window["layui-layer-iframe" + index];
let user_selected = iframeWindow.user_selected();
$('#user_selected').html(user_selected.nickname + '(' + user_selected.sn + ')');
$('#first_id').val(user_selected.id);
layer.close(index);
}
});
return false;
});
})
</script>
@@ -0,0 +1,49 @@
{layout name="layout2" /}
<div class="layui-form" lay-filter="layuiadmin-form-user" id="layuiadmin-form-user" style="padding: 20px 30px 0 0;">
<input type="hidden" value="{$info.id}" name="id">
<div class="layui-form-item">
<label class="layui-form-label">当前等级:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$info.level_name}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">调整等级:</label>
<div class="layui-inline">
<div class="layui-input-inline">
<select id="level" name="level" style="height:80px;width: 80px" >
<option value=" ">请选择会员等级</option>
{foreach $user_level as $item}
<option value="{$item.id}">{$item.name}</option>
{/foreach}
</select>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注:</label>
<div class="layui-input-block">
<textarea type="text" name="remark" autocomplete="off" class="layui-textarea"></textarea>
<label class="layui-form-mid layui-word-aux">不超过100字</label>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="adjust_level-submit" id="adjust_level-submit" value="确认">
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'form','like_area'], function(){
var $ = layui.$
,like_area = layui.like_area
,form = layui.form ;
})
</script>
@@ -0,0 +1,165 @@
{layout name="layout2" /}
<style>
.img-content{
height:80px;
line-height:80px
}
.img-container {
float: left;
opacity: 1;
position: relative;
}
.img-src {
width: 80px;
height: 80px;
padding: 4px;
}
.img-del-x {
position: absolute;
z-index: 100;
top: -4px;
right: -2px;
width: 20px;
height: 20px;
font-size: 16px;
line-height: 16px;
color: #fff;
text-align: center;
cursor: pointer;
background: hsla(0, 0%, 60%, .6);
border-radius: 10px;
}
</style>
<div class="layui-form" lay-filter="layuiadmin-form-user" id="layuiadmin-form-user" style="padding: 20px 30px 0 0;">
<input type="hidden" name="id" value="{$info.id}">
<div class="layui-form-item">
<label class="layui-form-label">会员编号:</label>
<div class="layui-input-inline" style="margin-top:10px">
{$info.sn}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">会员昵称:</label>
<div class="layui-input-inline">
<input class="layui-input" value="{$info.nickname}" name="nickname" type="text" placeholder="请输入会员昵称" >
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">会员头像:</label>
<div class="layui-input-block">
<div class="img-content">
<input name="avatar" type="hidden" value="{$info.avatar}">
<div class="img-add" {if $info.avatar } style="display: none" {/if} ></div>
{if !empty($info.avatar)}
<div class="img-container">
<img class="img-src" src="{$info.abs_avatar}">
<a class="img-del-x">x</a>
</div>
{/if}
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">手机号码:</label>
<div class="layui-input-inline">
<input class="layui-input" value="{$info.mobile}" name="mobile" type="text" placeholder="请输入手机号码" >
</div>
</div>
<!--登录密码-->
<div class="layui-form-item">
<label class="layui-form-label">登录密码:</label>
<div class="layui-input-inline">
<input class="layui-input" value="" name="password" type="password" autocomplete="off">
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class=" layui-form-mid layui-word-aux">设置会员登录商城的密码,留空表示不修改登录密码</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">性别:</label>
<div class="layui-input-block">
<input type="radio" name="sex" value="0" title="未知" {if $info.sex == 0}checked{/if} >
<input type="radio" name="sex" value="1" title="男" {if $info.sex == 1}checked{/if} >
<input type="radio" name="sex" value="2" title="女" {if $info.sex == 2}checked{/if} >
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">禁用状态:</label>
<div class="layui-input-block">
<input type="radio" name="disable" value="0" title="启用" {if $info.disable == 0}checked{/if} >
<input type="radio" name="disable" value="1" title="禁用" {if $info.disable == 1}checked{/if} >
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class=" layui-form-mid layui-word-aux">禁用后用户将无法正常登录</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">生日:</label>
<div class="layui-input-inline">
<input class="layui-input" value="{$info.birthday}" autocomplete="off" name="birthday" id="birthday" type="text" placeholder="请输入生日" >
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="edit-submit" id="edit-submit" value="确认">
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'form','laydate','like'], function(){
var $ = layui.$
,form = layui.form
,laydate = layui.laydate
,like = layui.like;
laydate.render({
elem: '#birthday'
,format: 'yyyy-MM-dd'
,trigger: 'click'
});
like.imageUpload('.img-add', function (uris, element) {
if(uris.length>1){
layer.msg('最多最能选中1张图片');
return;
}
var html = '<div class="img-container">\n' +
'<img class="img-src" ' +
'src="' + uris[0] + '">' +
'<a class="img-del-x">x</a>' +
'</div>';
element.prev().val(like.getUrlFileName(uris[0], '{$storageUrl}'));
element.parent().append(html);
element.css('display','none');
}, true);
//删除图片
$(document).on('click', '.img-del-x', function () {
$(this).parent().siblings('input').val('');
$(this).parent().prev().css('display','block');
$(this).parent().remove();
});
//显示图片
$(document).on('click', '.img-src', function () {
var image = $(this).attr('src');
like.showImg(image, 600);
});
form.on('select(category)', function(data){
var level = $(data.elem).find("option:selected").attr("data-level");
$('.alliance_ratio').hide();
$('.autotrophy_ratio').hide();
if(level == 2){
$('.alliance_ratio').show();
$('.autotrophy_ratio').show();
}
});
})
</script>
@@ -0,0 +1,163 @@
{layout name="layout1" /}
<style>
.search {
margin-top: 15px;
}
.search .layui-form-label {
width: 80px;
text-align: left;
}
.btns {
margin-top: 15px;
}
.layui-table-cell {
height:auto;
}
</style>
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-tab" lay-filter="fansTab">
<ul class="layui-tab-title">
<li class="layui-this" type="one">下一级</li>
<li type="two">下二级</li>
</ul>
</div>
<!--搜索区域-->
<div class="search layui-form">
<div class="layui-inline">
<div class="layui-form-label">用户信息</div>
<div class="layui-inline">
<select name="field" id="field" placeholder="请选择" >
<option value="sn">用户编号</option>
<option value="nickname">用户昵称</option>
</select>
</div>
<div class="layui-inline">
<input type="text" id="keyword" name="keyword" class="layui-input" />
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-primary layui-bg-blue" lay-submit lay-filter="search">搜索</button>
<button class="layui-btn layui-btn-primary" lay-submit lay-filter="reset">重置</button>
</div>
</div>
<!--数据表格-->
<table id="lists" lay-filter="lists" style="margin-top:15px;"></table>
<!--自定义模板-->
<script type="text/html" id="user-info">
<img src="{{d.avatar}}" style="height:60px;width: 60px" class="image-show">
<div class="layui-input-inline" style="text-align: left;">
<p>用户编号:{{d.sn}}</p>
<p>用户昵称:{{d.nickname}}</p>
</div>
</script>
<script type="text/html" id="first-info">
{{# if(d.first_leader_info != '系统'){}}
<img src="{{d.first_leader_info.avatar}}" style="height:80px;width: 80px;margin-right: 10px;" class="image-show">
<div class="layui-input-inline" style="text-align:left;width: 240px">
<p>用户编号{{d.first_leader_info.sn}}</p>
<p style="width: 180px;text-overflow:ellipsis;overflow: hidden">用户昵称{{d.first_leader_info.nickname}}</p>
</div>
{{# }else{ }}
{{d.first_leader_info}}
{{# } }}
</script>
</div>
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/modules/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['table', 'form', 'like', 'element'], function () {
let $ = layui.$
, form = layui.form
, element = layui.element
, table = layui.table;
let type = 'one';
//监听Tab切换
element.on('tab(fansTab)', function(data){
type = $(this).attr('type');
// 重载表格
table.reload('lists', {
where: {
"type": type,
id: "{$id}"
},
page: {curr: 1}
});
});
//监听搜索
form.on('submit(search)', function(data){
var field = data.field;
field.type = type;
field.id = "{$id}";
//执行重载
table.reload('lists', {
where: field,
page: {curr: 1}
});
});
//清空查询
form.on('submit(reset)', function(){
$('#keyword').val('');
$('#field').val('sn');
form.render('select');
//刷新列表
table.reload('lists', {
where: {
type: type,
id: "{$id}",
keyword: ''
}, page: {curr: 1}
});
});
// 数据表格渲染
table.render({
elem: '#lists'
,url: '{:url("user/fans")}' //数据接口
,where: {
type: type,
id: "{$id}"
}
,method: 'post'
,page: true //开启分页
,cols: [[ //表头
{title: '用户信息', width:380, templet: '#user-info'}
,{title: '上级推荐人', width:380, templet: '#first-info'}
,{field: 'fans', title: '推荐下级人数'}
]]
, text: {none: '暂无数据!'}
, parseData: function (res) { //将原始数据解析成 table 组件所规定的数据
return {
"code": res.code,
"msg": res.msg,
"count": res.data.count, //解析数据长度
"data": res.data.lists, //解析数据列表
};
},
response: {
statusCode: 1
}
,done: function(res, curr, count){
// 解决操作栏因为内容过多换行问题
$(".layui-table-main tr").each(function (index, val) {
$($(".layui-table-fixed-l .layui-table-body tbody tr")[index]).height($(val).height());
$($(".layui-table-fixed-r .layui-table-body tbody tr")[index]).height($(val).height());
});
}
});
});
</script>
@@ -0,0 +1,175 @@
{layout name="layout2" /}
<style>
.layui-form-label{
width: 120px;
}
.layui-card .layui-tab{
margin-left: 7px;
}
.layui-form-label{
margin-left: 20px;
width: 98px;
}
.layui-input-inline{
width:160px;
}
.layui-table-cell {
height: auto;
}
</style>
<div class="layui-form" lay-filter="layuiadmin-form-user_group" id="layuiadmin-form-user_group" style="padding: 20px 30px 0 0;">
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>基础信息</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label">用户编号:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.sn}</label>
</div>
<label class="layui-form-label">用户昵称:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.nickname}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">会员头像:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">
<img class="image-show" src="{$detail.avatar}" width="80px" height="80px">
</label>
</div>
<label class="layui-form-label">手机号码:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.mobile}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">用户分组:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.user_group}</label>
</div>
<label class="layui-form-label">成长值:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.user_growth}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">性别:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.sex}</label>
</div>
<label class="layui-form-label">生日:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.birthday}</label>
</div>
</div>
<div class="layui-input-item">
</div>
<div class="layui-form-item">
<label class="layui-form-label">注册时间:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.create_time}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">最后登录:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.login_time}</label>
</div>
</div>
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>钱包信息</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label">总资产:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">¥ {$detail.assets}</label>
</div>
<label class="layui-form-label">不可提现余额:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">¥ {$detail.user_money}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">可提现余额:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">¥ {$detail.earnings}</label>
</div>
</div>
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>消费能力</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label">成交订单笔数:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.order_num}</label>
</div>
<label class="layui-form-label">消费金额:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">¥ {$detail.total_amount}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">客单价:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">¥ {$detail.avg_amount}</label>
</div>
</div>
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>推荐信息</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label">上级推荐人:</label>
<div class="layui-input-inline" style="width: 100px;">
{if $detail.first_leader_info != '系统'}
<label class="layui-form-mid" style="width:300px">{$detail.first_leader_info.nickname}({$detail.first_leader_info.sn})</label>
{else}
<label class="layui-form-mid">{$detail.first_leader_info}</label>
{/if}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">推荐下级人数:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.fans}人</label>
</div>
<div class="layui-input-inline">
<button class="layui-btn layui-btn-sm layui-bg-blue" id="showFans" data-id="{$detail.id}">查看推荐下级</button>
</div>
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/modules/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['jquery', 'layer'], function(){
let $ = layui.jquery;
let layer = layui.layer;
// 查看推荐下级
$('#showFans').click(function() {
let id = $(this).data('id');
// 弹窗显示添加页
layer.open({
type: 2
,title: "查看下级推荐"
,content: "{:url('user/fans')}?id=" + id
,area: ["90%", "90%"]
,btn: ["返回"]
});
});
});
</script>
@@ -0,0 +1,312 @@
{layout name="layout2" /}
<style>
.layui-form-label{
width: 120px;
}
.layui-card .layui-tab{
margin-left: 7px;
}
.layui-form-label{
margin-left: 20px;
width: 98px;
}
.layui-input-inline{
width:160px;
}
.layui-table-cell {
height: auto;
}
</style>
<div class="layui-form" lay-filter="layuiadmin-form-user_group" id="layuiadmin-form-user_group" style="padding: 20px 30px 0 0;">
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>基础信息</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label">会员昵称:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.nickname}</label>
</div>
<label class="layui-form-label">会员编号:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.sn}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">会员头像:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">
<img class="image-show" src="{$detail.avatar}" width="80px" height="80px">
</label>
</div>
<label class="layui-form-label">会员等级:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.group_name}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">手机号码:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.mobile}</label>
</div>
<label class="layui-form-label">性别:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.sex}</label>
</div>
</div>
<div class="layui-input-item">
<label class="layui-form-label">生日:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.birthday}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">注册时间:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.create_time}</label>
</div>
<label class="layui-form-label">最后登录:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.login_time}</label>
</div>
</div>
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>分销信息</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label">分销会员:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.distribution_tips}</label>
</div>
<label class="layui-form-label">邀请码:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.distribution_code}</label>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">推荐人:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.superior_referrer}</label>
</div>
<label class="layui-form-label">推荐人编号:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.superior_referrer_sn}</label>
</div>
</div>
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>账户信息</legend>
</fieldset>
</div>
<div class="layui-form-item">
<label class="layui-form-label">余额:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.user_money}</label>
</div>
<label class="layui-form-label">积分:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.user_integral}</label>
</div>
<label class="layui-form-label">成长值:</label>
<div class="layui-input-inline">
<label class="layui-form-mid">{$detail.user_growth}</label>
</div>
</div>
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>消费能力</legend>
</fieldset>
</div>
<div class="layui-form-item" >
<label class="layui-form-label" style="margin-left: 72px;">本月消费金额:</label>
<div class="layui-input-inline" style="width: 100px;">
<label class="layui-form-mid">{$detail.month_amount}</label>
</div>
<label class="layui-form-label">本月订单笔数:</label>
<div class="layui-input-inline" style="width: 100px;">
<label class="layui-form-mid">{$detail.month_num}</label>
</div>
<label class="layui-form-label">累积消费金额:</label>
<div class="layui-input-inline" style="width: 100px;">
<label class="layui-form-mid">{$detail.total_order_amount}</label>
</div>
<label class="layui-form-label">累积订单笔数:</label>
<div class="layui-input-inline" style="width: 100px;">
<label class="layui-form-mid">{$detail.total_num}</label>
</div>
<label class="layui-form-label">平均消费单价:</label>
<div class="layui-input-inline" style="width: 100px;">
<label class="layui-form-mid">{$detail.avg_amount}</label>
</div>
</div>
<div class="layui-form-item div-flex">
<fieldset class="layui-elem-field layui-field-title">
<legend>消费明细</legend>
</fieldset>
</div>
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-tab layui-tab-card" lay-filter="tab-all">
<ul class="layui-tab-title">
<li class="layui-this">下单明细</li>
<li >积分明细</li>
<li >签到明细</li>
<li >余额明细</li>
<li >推广明细</li>
<li >收货地址</li>
</ul>
</div>
<script type="text/html" id="referrer">
<img src="{{d.avatar}}" style="height:80px;width: 80px;margin-right: 10px;" class="image-show">
<div class="layui-input-inline">
<label>编号{{d.sn}}</label>
<br/>
<label>手机号码{{d.mobile}}</label>
<br/>
<label>昵称{{d.nickname}}</label>
<br/>
<label>注册时间{{d.create_time}}</label>
</div>
</script>
<script type="text/html" id="account">
<div class="layui-input-inline">
<label>余额{{d.user_money}}</label>
<br/>
<label>积分{{d.user_integral}}</label>
</div>
</script>
<script type="text/html" id="address">
<div class="layui-input-inline">
<label>联系人{{d.consignee}}</label>
<br/>
<label>联系手机{{d.mobile}}</label>
<br/>
<label>收货地址{{d.address}}</label>
<br/>
</div>
</script>
<div class="layui-card-body">
<table id="lists" lay-filter="lists"></table>
</div>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="user_group-submit" id="user_group-submit" value="确认">
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index','table','like','element'], function(){
var $ = layui.$
,form = layui.form
,table = layui.table
,like = layui.like
,element = layui.element
,id = {$detail.id};
element.on('tab(tab-all)', function (data) {
var index = data.index;
getList(index);
})
$(document).on('click', '.image-show', function () {
var src = $(this).attr('src');
like.showImg(src,600);
});
getList(0)
function getList(index){
switch (index) {
case 0:
var cols = [
{field: 'order_sn', title: '订单编号',width: 180}
,{field: 'delivery_address', title: '收货地址',width: 460,toolbar: '#address'}
,{field: 'total_num', title: '商品数量',align: 'center',width: 100}
,{field: 'total_amount', title: '订单总额',width: 120, templet: function(d){
return '¥'+ d.total_amount +'</span>'
}
}
,{field: 'discount_amount', title: '优惠金额',width: 120,templet: function(d){
return '¥'+ d.discount_amount +'</span>'
}
}
,{field: 'order_amount', title: '实付金额',width: 160,templet: function(d){
return '¥'+ d.order_amount +'</span>'
}
}
,{field: 'pay_time',title:'订单支付时间' ,width: 160}
];
break;
case 1:
var cols = [
{field: 'source_type', title: '来源用途',}
,{field: 'change_amount', title: '变动积分',}
,{field: 'left_amount', title: '剩余积分',}
,{field: 'remark', title: '备注',}
,{field: 'create_time', title: '变动时间',}
];
break;
case 2:
var cols = [
{field: 'source_type', title: '动作',}
,{field: 'change_amount', title: '获得积分',}
,{field: 'remark', title: '备注',}
,{field: 'create_time', title: '变动时间',}
];
break;
case 3:
var cols = [
{field: 'source_type', title: '来源用途',}
,{field: 'change_amount', title: '变动金额',}
,{field: 'left_amount', title: '剩余金额',}
,{field: 'remark', title: '备注',}
,{field: 'create_time', title: '变动时间',}
];
break;
case 4:
var cols = [
{field: 'referrer', title: '直推会员信息',toolbar: '#referrer'}
,{field: 'level_name', title: '会员等级',}
,{field: 'total_order_amount', title: '消费金额',}
,{field: 'account', title: '账户金额',toolbar: '#account'}
];
break;
case 5:
var cols = [
{field: 'contact', title: '联系人',}
,{field: 'telephone', title: '联系手机',}
,{field: 'address', title: '收货地址',}
,{field: 'default', title: '默认地址',}
];
break;
}
table.render({
id:'lists'
,elem: '#lists'
,url: '{:url("user/getList")}?type='+index+'&user_id='+id //模拟接口
,cols: [cols]
,page:true
,text: {none: '暂无数据!'}
,parseData: function(res){ //将原始数据解析成 table 组件所规定的数据
return {
"code":res.code,
"msg":res.msg,
"count": res.data.count, //解析数据长度
"data": res.data.lists, //解析数据列表
};
}
});
}
})
</script>
@@ -0,0 +1,587 @@
{layout name="layout1" /}
<style>
.layui-table-cell {
height: auto;
white-space: normal;
}
</style>
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-collapse like-layui-collapse" lay-accordion="" style="border:1px dashed #c4c4c4">
<div class="layui-colla-item">
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
<div class="layui-colla-content layui-show">
<p>*会员列表,对会员进行编辑,账户调整,等级调整和资料查看等操作。</p>
</div>
</div>
</div>
</div>
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">会员信息:</label>
<div class="layui-input-inline" style="width: 200px;">
<select name="keyword_type" id="keyword_type">
<option value="sn">会员编号</option>
<option value="nickname">会员昵称</option>
<option value="mobile">会员手机号码</option>
</select>
</div>
<div class="layui-input-inline" style="width: 200px;">
<input type="text" id="keyword" name="keyword" placeholder="请输入关键词" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">会员等级:</label>
<div class="layui-input-inline">
<select id="level" name="level" style="height:80px;width: 80px" >
<option value="" selected>全部</option>
<option value="0">无等级</option>
{foreach $level_list as $item }
<option value="{$item.id}">{$item.name}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">会员分组:</label>
<div class="layui-input-inline">
<select id="group_id" name="group_id" style="height:80px;width: 80px" >
<option value="">全部</option>
{foreach $group_list as $item }
<option value="{$item.id}">{$item.name}</option>
{/foreach}
</select>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">消费金额:</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" name="total_amount_start" autocomplete="off">
</div>
<div class="layui-input-inline" style="margin-right: 5px;width: 10px;">
<label class="layui-form-mid">-</label>
</div>
<div class="layui-input-inline">
<input type="text" class="layui-input" name="total_amount_end" autocomplete="off">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">注册时间:</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="start_time" name="start_time" autocomplete="off">
</div>
<div class="layui-input-inline" style="margin-right: 5px;width: 10px;">
<label class="layui-form-mid">-</label>
</div>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="end_time" name="end_time" autocomplete="off">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm layuiadmin-btn-user {$view_theme_color}" lay-submit lay-filter="user-search">查询</button>
<button class="layui-btn layui-btn-sm layuiadmin-btn-user layui-btn-primary " lay-submit lay-filter="user-clear-search">清空查询</button>
<button class="layui-btn layui-btn-sm layuiadmin-btn-user layui-btn-primary " lay-submit lay-filter="export-file">导出</button>
</div>
</div>
</div>
<div class="layui-card-body">
<div style="padding-bottom: 10px;">
<button class="layui-btn layui-btn-sm layuiadmin-btn-user {$view_theme_color}" data-type="send_coupon">发放优惠券</button>
<button class="layui-btn layui-btn-sm layuiadmin-btn-user {$view_theme_color}" data-type="set_group">设置分组</button>
</div>
<table id="user-lists" lay-filter="user-lists"></table>
<script type="text/html" id="user-info">
<img src="{{d.abs_avatar}}" style="height:80px;width: 80px;margin-right: 10px;" class="image-show">
<div class="layui-input-inline" style="text-align:left;">
<p>用户编号{{d.sn}}</p>
<p>用户昵称{{d.nickname}}</p>
</div>
</script>
<script type="text/html" id="first-info">
{{# if(d.first_leader_info != '系统'){}}
<img src="{{d.first_leader_info.avatar}}" style="height:80px;width: 80px;margin-right: 10px;" class="image-show">
<div class="layui-input-inline" style="text-align:left;">
<p>用户编号{{d.first_leader_info.sn}}</p>
<p style="width: 180px;text-overflow:ellipsis;overflow: hidden">用户昵称{{d.first_leader_info.nickname}}</p>
</div>
{{# }else{ }}
{{d.first_leader_info}}
{{# } }}
</script>
<script type="text/html" id="account">
<div class="layui-input-inline">
<label>余额{{d.user_money}}</label>
<br/>
<label>积分{{d.user_integral}}</label>
</div>
</script>
<script type="text/html" id="wallet-info">
<div class="layui-input-inline" style="text-align:left;width: 240px">
<p>总资产{{d.total_amount}}</p>
<p>可提现金额{{d.earnings}}</p>
<p>不可提现金额{{d.user_money}}</p>
</div>
</script>
<script type="text/html" id="user-operation">
<a class="layui-btn layui-btn-primary layui-btn-sm" lay-event="info">资料</a>
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-normal layui-btn-sm" id="adjust_user" lay-event="adjust_user">账户调整</a>
<a class="layui-btn layui-btn-normal layui-btn-sm" id="adjust_level" lay-event="adjust_level">等级调整</a>
<a class="layui-btn layui-btn-normal layui-btn-sm" id="adjust_first_leader" lay-event="adjust_first_leader">推荐人调整</a>
</script>
</div>
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index','table','like','laydate'], function(){
var $ = layui.$
,form = layui.form
,table = layui.table
,like = layui.like
, laydate = layui.laydate;
//监听搜索
form.on('submit(user-search)', function(data){
var field = data.field;
//执行重载
table.reload('user-lists', {
where: field,
page: {
curr: 1 //重新从第 1 页开始
}
});
});
//日期时间范围
laydate.render({
elem: '#start_time'
,type: 'datetime'
,trigger: 'click'
});
//日期时间范围
laydate.render({
elem: '#end_time'
,type: 'datetime'
,trigger: 'click'
});
//清空查询
form.on('submit(user-clear-search)', function(){
$('#keyword_type').val('sn');
$('#keyword').val(''); //清空输入框
$('#level').val(''); //清空输入框
$('#group_id').val(''); //清空输入框
$('#start_time').val(''); //清空输入框
$('#end_time').val(''); //清空输入框
form.render('select');
//刷新列表
table.reload('user-lists', {
where: [],
page: {
curr: 1 //重新从第 1 页开始
}
});
});
// 导出
form.on('submit(export-file)', function(data){
var field = data.field;
$.ajax({
url: '{:url("user/exportFile")}',
type: 'get',
data: field,
dataType: 'json',
error: function() {
layer.msg('导出超时,请稍后再试!');
},
success: function(res) {
table.exportFile(res.data.exportTitle,res.data.exportData, res.data.exportExt, res.data.exportName);
},
timeout: 15000
});
layer.msg('导出中请耐心等待~');
});
//事件
var active = {
send_coupon:function() { //发放优惠券
var check_status = table.checkStatus('user-lists')
,user_list = check_status.data; //得到选中的数据
//是否已选数据
if(0 === user_list.length ){
return layer.msg('请选择用户');
}
//获取所选id
ids = [];
for (var i in user_list){
ids.push(user_list[i]['id']);
}
layer.open({
type: 2
,title: '发放优惠券'
,content: '{:url("coupon/sendCouponList")}'
,area: ['90%','90%']
,btn: ['确定发放', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submitID = 'send-submit'
,submit = layero.find('iframe').contents().find('#'+ submitID);
//监听提交
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
var coupon_list = window["layui-layer-iframe" + index].callbackdata();
if(coupon_list.length === 0){
return layer.msg('请选择优惠券');
}
coupon_ids = [];
for (var i in coupon_list){
coupon_ids.push(coupon_list[i]['id']);
}
like.ajax({
url:'{:url("coupon/sendCoupon")}',
data:{coupon_ids:coupon_ids,user_ids:ids},
type:"post",
success:function(res)
{
if(res.code == 1)
{
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
layer.close(index); //关闭弹层
table.reload('goods_brand-lists'); //数据刷新
}
}
});
});
submit.trigger('click');
}
});
}
,set_group:function() { //设置分组
var check_status = table.checkStatus('user-lists')
,user_list = check_status.data; //得到选中的数据
//是否已选数据
if( user_list.length === 0){
return layer.msg('请选择用户');
}
//获取所选id
ids = [];
for (var i in user_list){
ids.push(user_list[i]['id']);
}
layer.open({
type: 2
,title: '设置分组'
,content: '{:url("user/setGroup")}'
,area: ['60%', '60%']
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submitID = 'user-submit-edit'
,submit = layero.find('iframe').contents().find("#set_group-submit");
//监听提交
iframeWindow.layui.form.on('submit(set_group-submit)', function(data){
var group_id = data.field.group_id;
$.ajax({
url:'{:url("user/setGroup")}',
data:{group_id:group_id,user_ids:ids},
type:"post",
success:function(res)
{
if(res.code == 1)
{
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
layer.close(index); //关闭弹层
table.reload('user-lists'); //数据刷新
}
}
});
});
submit.trigger('click');
}
});
}
}
$('.layui-btn.layuiadmin-btn-user').on('click', function(){
var type = $(this).data('type');
active[type] ? active[type].call(this) : '';
});
$(document).on('click', '.image-show', function () {
var src = $(this).attr('src');
like.showImg(src,600);
});
});
layui.define(['table', 'form'], function(exports){
var $ = layui.$
,table = layui.table
,form = layui.form;
//管理员管理
table.render({
id:'user-lists'
,elem: '#user-lists'
,url: '{:url("user/lists")}' //模拟接口
,cols: [[
{type: 'checkbox'}
,{field: 'id', width: 80, title: 'ID', sort: true, hide:true}
,{title: '用户信息',width: 380,align: 'center', toolbar: '#user-info'}
,{field: 'level_name', title: '用户等级',align:"center",width: 100}
,{field: 'group_name', title: '用户分组',align:"center",width: 100}
,{field: 'user_growth', title: '成长值',align:"center",width: 100}
,{title: '钱包信息',width: 240,align: 'center', templet: '#wallet-info'}
,{field: 'total_order_amount',align:"center", title: '消费金额',width: 90}
,{title: '上级推荐人',align: 'center',width: 380,toolbar: '#first-info'}
,{field: 'fans', title: '推荐下级人数',align:"center",width: 120}
,{field: 'create_time',align:"center", title: '注册时间',width: 200}
,{fixed: 'right', title: '操作', width: 420,toolbar: '#user-operation'}
]]
,page:true
,text: {none: '暂无数据!'}
,parseData: function(res){ //将原始数据解析成 table 组件所规定的数据
return {
"code":res.code,
"msg":res.msg,
"count": res.data.count, //解析数据长度
"data": res.data.lists, //解析数据列表
};
}
, done: function() {
// 解决操作栏因为内容过多换行问题
$(".layui-table-main tr").each(function (index, val) {
$($(".layui-table-fixed-l .layui-table-body tbody tr")[index]).height($(val).height());
$($(".layui-table-fixed-r .layui-table-body tbody tr")[index]).height($(val).height());
});
}
});
var moreShow = 0;
//监听工具条
table.on('tool(user-lists)', function(obj){
if(obj.event === 'edit'){
var id = obj.data.id;
layer.open({
type: 2
,title: '编辑会员'
,content: '{:url("user/edit")}?id='+id
,area: ['90%', '90%']
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submit = layero.find('iframe').contents().find('#edit-submit');
//监听提交
iframeWindow.layui.form.on('submit(edit-submit)', function(data){
var field = data.field;
$.ajax({
url:'{:url("user/edit")}',
data:field,
type:"post",
success:function(res)
{
if(res.code == 1)
{
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
layer.close(index); //关闭弹层
table.reload('user-lists'); //数据刷新
}else{
layer.msg(res.msg, {
offset: '15px'
, icon: 2
, time: 1000
});
}
}
});
});
submit.trigger('click');
}
})
}
if(obj.event === 'info'){
var id = obj.data.id;
layer.open({
type: 2
,title: '会员资料'
,content: '{:url("user/info")}?id='+id
,area: ['90%','90%']
,btn: ['返回']
})
}
if(obj.event === 'adjust_user'){
var id = obj.data.id;
layer.open({
type: 2
,title: '账户调整'
,content: '{:url("user/adjustAccount")}?id='+id
,area: ['90%', '90%']
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submit = layero.find('iframe').contents().find('#adjust_user-submit');
//监听提交
iframeWindow.layui.form.on('submit(adjust_user-submit)', function(data){
var field = data.field;
$.ajax({
url:'{:url("user/adjustAccount")}',
data:field,
type:"post",
success:function(res)
{
if(res.code == 1)
{
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
layer.close(index); //关闭弹层
table.reload('user-lists'); //数据刷新
}else{
layer.msg(res.msg, {
offset: '15px'
, icon: 2
, time: 1000
});
}
}
});
});
submit.trigger('click');
}
})
}
if(obj.event === 'adjust_level'){
var id = obj.data.id;
layer.open({
type: 2
,title: '等级调整'
,content: '{:url("user/adjustLevel")}?id='+id
,area: ['90%', '90%']
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submit = layero.find('iframe').contents().find('#adjust_level-submit');
//监听提交
iframeWindow.layui.form.on('submit(adjust_level-submit)', function(data){
var field = data.field;
$.ajax({
url:'{:url("user/adjustLevel")}',
data:field,
type:"post",
success:function(res)
{
if(res.code == 1)
{
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
layer.close(index); //关闭弹层
table.reload('user-lists'); //数据刷新
}else{
layer.msg(res.msg, {
offset: '15px'
, icon: 2
, time: 1000
});
}
}
});
});
submit.trigger('click');
}
})
}
if(obj.event === 'adjust_first_leader'){
var id = obj.data.id;
layer.open({
type: 2
,title: '推荐人调整'
,content: '{:url("user/adjustFirstLeader")}?id='+ id
,area: ['90%', '90%']
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submit = layero.find('iframe').contents().find('#formSubmit');
//监听提交
iframeWindow.layui.form.on('submit(formSubmit)', function(data){
var field = data.field;
$.ajax({
url:'{:url("user/adjustFirstLeader")}',
data:field,
type:"post",
success:function(res)
{
if(res.code == 1)
{
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
layer.close(index); //关闭弹层
table.reload('user-lists'); //数据刷新
}else{
layer.msg(res.msg, {
offset: '15px'
, icon: 2
, time: 1000
});
}
}
});
});
submit.trigger('click');
}
})
}
});
});
</script>
@@ -0,0 +1,31 @@
{layout name="layout2" /}
<div class="layui-form" lay-filter="layuiadmin-form-user" id="layuiadmin-form-user" style="padding: 20px 30px 0 0;">
<div class="layui-form-item">
<label class="layui-form-label">选择分组:</label>
<div class="layui-input-inline">
<select name="group_id" lay-verify="required" placeholder="请选择分组" >
<option value="">请选择分组</option>
{foreach $group_list as $item}
<option value="{$item.id}" >{$item.name}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="set_group-submit" id="set_group-submit" value="确认">
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'form','like_area'], function(){
var $ = layui.$
,like_area = layui.like_area
,form = layui.form ;
})
</script>
@@ -0,0 +1,153 @@
{layout name="layout1" /}
<style>
.layui-table-cell {
font-size:14px;
padding:0 5px;
height:auto;
overflow:visible;
text-overflow:inherit;
white-space:normal;
word-break: break-all;
}
.layui-table-body {
height: auto !important;
}
</style>
<!-- 操作提示 -->
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-collapse like-layui-collapse" lay-accordion="" style="border:1px dashed #c4c4c4">
<div class="layui-colla-item">
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
<div class="layui-colla-content layui-show">
<p>**转账记录列表,可按照时间进行查看</p>
</div>
</div>
</div>
</div>
<!-- 搜索 -->
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">记录时间:</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="start_time" name="start_time" autocomplete="off">
</div>
<div class="layui-input-inline" style="margin-right: 5px;width: 10px;">
<label class="layui-form-mid">-</label>
</div>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="end_time" name="end_time" autocomplete="off">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm layuiadmin-btn-user {$view_theme_color}" lay-submit lay-filter="search">查询</button>
<button class="layui-btn layui-btn-sm layuiadmin-btn-user layui-btn-primary " lay-submit lay-filter="clear-search">重置</button>
</div>
</div>
</div>
<!-- 数据表格 -->
<table id="transfer_list" lay-filter="transfer_list"></table>
<!-- 转账人信息 -->
<script type="text/html" id="transferFrom">
<img src="{{d.from_avatar}}" style="height:80px;width: 80px" class="image-show">
<div class="layui-input-inline" style="text-align: left">
<p>会员编号:{{d.from_sn}}</p>
<p style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;width:150px;">会员昵称:{{d.from_nickname}}</p>
<p>会员等级:{{d.from_level_name}}</p>
</div>
</script>
<!-- 收款人信息 -->
<script type="text/html" id="transferTo">
<img src="{{d.to_avatar}}" style="height:80px;width: 80px" class="image-show">
<div class="layui-input-inline" style="text-align: left">
<p>会员编号:{{d.to_sn}}</p>
<p style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;width:150px;">会员昵称:{{d.to_nickname}}</p>
<p>会员等级:{{d.to_level_name}}</p>
</div>
</script>
<script>
layui.config({
base: '/static/plug/layui-admin/dist/layuiadmin/'
}).extend({
index: 'lib/index'
}).use(['index', 'element', 'like', 'table', 'laydate'], function () {
var $ = layui.$
, form = layui.form
, table = layui.table
, element = layui.element
, laydate = layui.laydate
, like = layui.like;
//日期时间范围
laydate.render({
elem: '#start_time'
,type: 'datetime'
,trigger: 'click'
});
//日期时间范围
laydate.render({
elem: '#end_time'
,type: 'datetime'
,trigger: 'click'
});
//监听搜索
form.on('submit(search)', function(data){
var field = data.field;
//执行重载
table.reload('transfer_list', {
where: field,
page: {
curr: 1 //重新从第 1 页开始
}
});
});
//清空查询
form.on('submit(clear-search)', function(){
$('#start_time').val(''); //清空输入框
$('#end_time').val(''); //清空输入框
//刷新列表
table.reload('transfer_list', {
where: [],
page: {
curr: 1 //重新从第 1 页开始
}
});
});
//图片放大
$(document).on('click', '.image-show', function () {
var src = $(this).attr('src');
like.showImg(src,600);
});
table.render({
elem: '#transfer_list'
,height: 312
,url: '/admin/user/transferRecord/' //数据接口
,page: true //开启分页
,cols: [[ //表头
{field: 'transfer_sn', title: '记录编号', width:180, align: 'center'}
,{title: '转账人', width:250, templet: '#transferFrom', align: 'center'}
,{title: '收款人', width:250, templet: '#transferTo', align: 'center'}
,{field: 'money', title: '转账金额', width:120, align: 'center'}
,{field: 'create_time', title: '转账时间', align: 'center'}
]]
,parseData: function(res){ //res 即为原始返回的数据
return {
"code": res.code, //解析接口状态
"msg": res.msg, //解析提示文本
"count": res.data.count, //解析数据长度
"data": res.data.list //解析数据列表
};
}
});
});
</script>
@@ -0,0 +1,124 @@
{layout name="layout1" /}
<style>
.search {
margin-top: 15px;
margin-bottom: 15px;
}
.search .layui-form-label {
width: 120px;
text-align: left;
}
.btns {
margin-top: 15px;
}
</style>
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-body">
<!--搜索区域-->
<div class="search layui-form">
<div class="layui-inline">
<div class="layui-form-label">用户信息</div>
<div class="layui-input-inline">
<input type="text" id="keyword" name="keyword" class="layui-input" />
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-primary layui-bg-blue" lay-submit lay-filter="search">搜索</button>
<button class="layui-btn layui-btn-primary" lay-submit lay-filter="reset">重置</button>
</div>
</div>
<!--数据表格-->
<table id="lists" lay-filter="lists"></table>
<!--自定义模板-->
<script type="text/html" id="user-info">
<img src="{{d.avatar}}" style="height:60px;width: 60px" class="image-show">
<div class="layui-input-inline" style="text-align: left;">
<p>用户编号:{{d.user_sn}}</p>
<p style="width: 300px;text-overflow:ellipsis;overflow: hidden">用户昵称:{{d.nickname}}</p>
</div>
</script>
<script type="text/html" id="level-info">
{{d.level_name}}({{d.weights}})
</script>
</div>
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/modules/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['table', 'form', 'like'], function () {
let $ = layui.$
, form = layui.form
, like = layui.like
, table = layui.table;
//监听搜索
form.on('submit(search)', function(data){
var field = data.field;
//执行重载
table.reload('lists', {
where: field,
page: {curr: 1}
});
});
// 获取选中的用户信息
window.user_selected = function user_selected()
{
var checkStatus = table.checkStatus('lists');
return checkStatus.data[0]; //获取选中行的数据
}
//清空查询
form.on('submit(reset)', function(){
$('#keyword').val('');
$('#is_distribution').val('all');
form.render('select');
//刷新列表
table.reload('lists', {
where: [], page: {curr: 1}
});
});
// 数据表格渲染
table.render({
elem: '#lists'
,url: '{:url("distribution_member/userLists")}' //数据接口
,method: 'post'
,page: true //开启分页
,cols: [[ //表头
{type: 'radio'}
,{field: 'sn', title: '用户编号', width:380}
,{field: 'nickname', title: '用户昵称', width:180}
]]
, text: {none: '暂无数据!'}
, parseData: function (res) { //将原始数据解析成 table 组件所规定的数据
return {
"code": res.code,
"msg": res.msg,
"count": res.data.count, //解析数据长度
"data": res.data.lists, //解析数据列表
};
},
response: {
statusCode: 1
}
,done: function(res, curr, count){
// 解决操作栏因为内容过多换行问题
$(".layui-table-main tr").each(function (index, val) {
$($(".layui-table-fixed-l .layui-table-body tbody tr")[index]).height($(val).height());
$($(".layui-table-fixed-r .layui-table-body tbody tr")[index]).height($(val).height());
});
}
});
});
</script>