其余文件

This commit is contained in:
2026-04-14 17:46:22 +08:00
parent 294b68fe37
commit 3691f4db22
1343 changed files with 189847 additions and 0 deletions

View File

@ -0,0 +1,25 @@
{layout name="layout2" /}
<div class="layui-card layui-form" style="box-shadow:none;">
<div class="layui-card-body">
<div class="layui-form-item">
<label class="layui-form-label"><span style="color:red;">*</span>审核结果</label>
<div class="layui-input-block">
<input type="radio" name="audit_status" value="1" title="审核通过">
<input type="radio" name="audit_status" value="2" title="审核拒绝" checked>
</div>
<div class="layui-form-mid layui-word-aux">审核通过即可成为分销会员</div>
</div>
<div class="layui-form-item layui-form-text">
<label for="denial_reason" class="layui-form-label">审核说明</label>
<div class="layui-input-block">
<textarea name="denial_reason" id="denial_reason" placeholder="请输入内容" class="layui-textarea"></textarea>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="addSubmit" id="addSubmit" value="确认">
</div>
</div>
</div>

View File

@ -0,0 +1,46 @@
{layout name="layout1" /}
<style>
.layui-input-block { line-height: 39px; }
</style>
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-form-item">
<label class="layui-form-label">会员编号:</label>
<div class="layui-input-block">{$detail.user.sn}</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">会员昵称:</label>
<div class="layui-input-block">{$detail.user.nickname}</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">会员等级:</label>
<div class="layui-input-block">{$detail.user.level.name ?: '未知'}</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">手机号码:</label>
<div class="layui-input-block">{$detail.user.mobile ?: '未知'}</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">真实姓名:</label>
<div class="layui-input-block">{$detail.real_name}</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">联系手机:</label>
<div class="layui-input-block">{$detail.mobile}</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">现住区域:</label>
<div class="layui-input-block">{$detail.region}</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">申请状态:</label>
<div class="layui-input-block">{$detail.status_text}</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">审核说明:</label>
<div class="layui-input-block">{$detail.reason}</div>
</div>
</div>
</div>

View File

@ -0,0 +1,169 @@
{layout name="layout1" /}
<div class="wrapper" >
<div class="layui-card">
<!-- 提示 -->
<div class="layui-card-body">
<div class="layui-collapse like-layui-collapse" 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-card-body layui-form">
<div class="layui-form-item">
<div class="layui-inline">
<label for="keyword_type" class="layui-form-label">会员信息:</label>
<div class="layui-input-inline">
<select name="keyword_type" id="keyword_type">
<option value="sn">会员编号</option>
<option value="nickname">会员昵称</option>
<option value="mobile">手机号码</option>
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
<input type="text" name="keyword" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<a class="layui-btn layui-btn-sm layui-btn-normal" lay-submit lay-filter="search">搜索</a>
<a class="layui-btn layui-btn-sm layui-btn-primary" lay-submit lay-filter="clear-search">重置</a>
</div>
</div>
</div>
<!-- 主体 -->
<div class="layui-tab layui-tab-card" lay-filter="like-tabs">
<ul class="layui-tab-title">
<li data-type="0" class="layui-this">待审核会员列表</li>
<li data-type="1">审核通过会员列表</li>
<li data-type="2">审核拒绝会员列表</li>
</ul>
<div class="layui-tab-content" style="padding: 0 15px;">
<table id="like-table-lists" lay-filter="like-table-lists"></table>
<script type="text/html" id="table-userInfo">
<img src="{{d.user.avatar}}" alt="头像" style="width:60px;height:60px;margin-right:5px;">
<div class="layui-inline" style="text-align:left;">
<p>会员编号{{d.user.sn}}</p>
<p>会员昵称{{d.user.nickname}}</p>
<p>会员等级{{d.user.level.name || '未知'}}</p>
</div>
</script>
<script type="text/html" id="table-operation">
<a class="layui-btn layui-btn-primary layui-btn-sm" lay-event="detail">申请详情</a>
{{# if(d.status === 0){ }}
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="audit">审核</a>
{{# } }}
</script>
</div>
</div>
</div>
</div>
<script>
layui.use(["table", "form", "element", "laydate"], function() {
var table = layui.table;
var form = layui.form;
var element = layui.element;
var laydate = layui.laydate;
like.tableLists("#like-table-lists", "{:url()}", [
{field:"id", width:60, title:"ID"}
,{field:"user", width:250, title:"会员信息", templet:'#table-userInfo'}
,{field:"real_name", width:100, align:"center", title:"真实姓名"}
,{field:"mobile", width:120, align:"center",title:"联系手机"}
,{field:"region", width:150, align:"center", title:"现住区域"}
,{field:"reason", width:150, align:"center", title:"申请原因"}
,{title:"操作", width:230, align:"center", fixed:"right", toolbar:"#table-operation"}
]);
var active = {
detail: function (obj) {
layer.open({
type: 2
,title: "申请详情"
,content: "{:url('distribution.Apply/detail')}?id=" + obj.data.id
,area: ["600px", "600px"]
});
},
audit: function (obj) {
layer.open({
type: 2
,title: "审核分销会员申请"
,content: "{:url('distribution.Apply/audit')}?id=" + obj.data.id
,area: ["420px", "360px"]
,btn: ["确定", "取消"]
,yes: function(index, layero){
var iframeWindow = window["layui-layer-iframe" + index];
var submit = layero.find("iframe").contents().find("#addSubmit");
iframeWindow.layui.form.on("submit(addSubmit)", function(data){
data.field["id"] = obj.data.id;
like.ajax({
url: "{:url('distribution.Apply/audit')}",
data: data.field,
type: "POST",
success:function(res) {
if(res.code === 1) {
layui.layer.msg(res.msg);
layer.close(index);
table.reload("like-table-lists", {
where: {},
page: { cur: 1 }
});
}
}
});
});
submit.trigger("click");
}
});
}
};
like.eventClick(active);
element.on("tab(like-tabs)", function(){
var type = this.getAttribute("data-type");
table.reload("like-table-lists", {
where: {type: type},
page: { cur: 1 }
});
});
/**
* 搜索
*/
form.on("submit(search)", function(data){
data.field["type"] = $(".layui-tab-title li.layui-this").attr("lay-id");
table.reload("like-table-lists", {
where: data.field,
page: {
curr: 1
}
});
});
/**
* 清空搜索
*/
form.on("submit(clear-search)", function(){
var type = $(".layui-tab-title li.layui-this").attr("lay-id");
$("#keyword_type").val("");
$("#keyword").val("");
form.render("select");
table.reload("like-table-lists", {
where: {type: type},
page: {
curr: 1
}
});
});
});
</script>

View File

@ -0,0 +1,152 @@
{layout name="layout1" /}
<style>
.title {
font-size: 16px;
text-align: center;
}
.data {
margin-top: 10px;
font-size: 20px;
text-align: center;
}
.layui-table {
width: 500px;
margin-left: 10px;
}
html,
body {
height: 100%;
}
#content {
height: 100%;
background: #FFFFFF;
}
</style>
<div class="wrapper">
<div class="layui-card">
<div class="layui-card-body">
<div id="content">
<fieldset class="layui-elem-field layui-field-title">
<legend>佣金概览</legend>
<div class="layui-field-box">
<div class="layui-row">
<div class="layui-col-md2 title">
累计已入账佣金/元
</div>
<div class="layui-col-md2 title">
今日入账佣金/元
</div>
<div class="layui-col-md2 title">
待结算佣金/元
</div>
<div class="layui-col-md2 title">
今日新增待结算佣金/元
</div>
</div>
<div class="layui-row">
<div class="layui-col-md2 data">
{$data.earnings.total_success}
</div>
<div class="layui-col-md2 data">
{$data.earnings.total_today_success}
</div>
<div class="layui-col-md2 data">
{$data.earnings.total_wait}
</div>
<div class="layui-col-md2 data">
{$data.earnings.total_today_wait}
</div>
</div>
</div>
</fieldset>
<fieldset class="layui-elem-field layui-field-title">
<legend>分销会员概览</legend>
<div class="layui-field-box">
<div class="layui-row">
<div class="layui-col-md2 title">
分销会员/人
</div>
<div class="layui-col-md2 title">
分销会员占比/百分比
</div>
</div>
<div class="layui-row">
<div class="layui-col-md2 data">
{$data.members.members}
</div>
<div class="layui-col-md2 data">
{$data.members.proportion} %
</div>
</div>
</div>
</fieldset>
<fieldset class="layui-elem-field layui-field-title">
<legend>分销商品排行榜</legend>
<div class="layui-field-box">
<table class="layui-table">
<colgroup>
<col width="150">
<col width="200">
<col>
</colgroup>
<thead>
<tr>
<th>排名</th>
<th>商品名称</th>
<th>已入账佣金</th>
</tr>
</thead>
<tbody>
{foreach $data.topGoods as $key=>$item }
<tr>
<td>{$key+1}</td>
<td> <img src="{$item.goods_image}" style="height:60px;width: 60px;margin-right:5px;" class="image-show">{$item.goods_name}</td>
<td>{$item.total_money}</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</fieldset>
<fieldset class="layui-elem-field layui-field-title">
<legend>分销会员排行榜</legend>
<div class="layui-field-box">
<table class="layui-table">
<colgroup>
<col width="150">
<col width="200">
<col>
</colgroup>
<thead>
<tr>
<th>排名</th>
<th>会员名称</th>
<th>已入账佣金</th>
</tr>
</thead>
<tbody>
{foreach $data.topMembers as $key=>$item }
<tr>
<td>{$key+1}</td>
<td> <img src="{$item.avatar}" style="height:60px;width: 60px;margin-right:5px;" class="image-show">{$item.nickname}</td>
<td>{$item.total_money}</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</fieldset>
</div>
</div>
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/lib/' //静态资源所在路径
}).use(['table'], function(){
let table = layui.table;
});
</script>

View File

@ -0,0 +1,37 @@
{layout name="layout1" /}
<div>
<div class="layui-panel">
<div style="padding: 15px;font-size: 15px;font-weight: bold;color: black;">分销中心</div>
<div class="layui-inline">
<div class="layui-card" style="margin: 10px;width:300px;background: #eeeeee;">
<div class="layui-card-header" style="font-weight: bold;text-align: center;">已结算分销佣金金额</div>
<div class="layui-card-body" style="text-align: center;font-size: 30px;">
{$settled}
</div>
</div>
</div>
<div class="layui-inline">
<div class="layui-card" style="margin: 10px;width:300px;background: #eeeeee;">
<div class="layui-card-header" style="font-weight: bold;text-align: center;">预估分销佣金金额</div>
<div class="layui-card-body" style="text-align: center;font-size: 30px;">
{$estimate}
</div>
</div>
</div>
</div>
</div>
<style>
.layui-panel {
margin: 15px;
}
</style>
<script>
layui.config({
version:"{$front_version}",
base: '/static/lib/' //静态资源所在路径
}).use(['form'], function(){
});
</script>

View File

@ -0,0 +1,119 @@
{layout name="layout2" /}
<style>
.layui-form {
margin: 5px;
}
.layui-form-label {
width: 120px;
text-align: left;
padding-left:30px;
}
.layui-input-block {
line-height: 36px;
}
.layui-input {
width: 300px;
}
.layui-textarea {
width: 300px;
}
.reqRed:before {
content: '*';
color: red;
margin-right: 5px;
}
</style>
<form class="layui-form">
<input type="hidden" name="id" value="{$detail.goods.id}" />
<div class="layui-form-item">
<label class="layui-form-label">商品编号</label>
<div class="layui-input-block">
{$detail.goods.code}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">商品名称</label>
<div class="layui-input-block">
{$detail.goods.name}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label reqRed">分销状态</label>
<div class="layui-inline">
<input type="radio" name="is_distribution" value="0" title="不参与" {if $detail.goods.is_distribution == 0}checked{/if}>
<input type="radio" name="is_distribution" value="1" title="参与" {if $detail.goods.is_distribution == 1}checked{/if}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label reqRed">佣金规则</label>
<div class="layui-inline">
<input type="radio" lay-filter="default" name="rule" value="1" title="默认分销等级佣金规则" {if isset($detail.goods.rule) && $detail.goods.rule == 1}checked{/if}>
<input type="radio" lay-filter="customize" name="rule" value="2" title="单独设置" {if isset($detail.goods.rule) && $detail.goods.rule == 2}checked{/if}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-inline">
<table class="layui-table {if $detail.goods.rule == 1}layui-hide{/if}">
<colgroup>
<col width="200">
<col width="200">
<col width="200">
<col width="200">
<col>
</colgroup>
<thead>
<tr>
<th>分销等级</th>
<th>商品规格</th>
<th>价格</th>
<th class="reqRed">一级佣金比例(%)</th>
<th class="reqRed">二级佣金比例(%)</th>
</tr>
</thead>
<tbody>
{foreach $detail.ratio as $item }
<input type="hidden" name="items[]" value="{$item['item_id']}">
<input type="hidden" name="levels[]" value="{$item['level_id']}">
<tr>
<td>{$item.level_name}</td>
<td>{$item.spec_value_str}</td>
<td>{$item.price}</td>
<td>
<input type="number" min="0" name="first_ratio[]" value="{$item.first_ratio}" class="layui-input" />
</td>
<td>
<input type="number" min="0" name="second_ratio[]" value="{$item.second_ratio}" class="layui-input" />
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block layui-hide">
<button class="layui-btn" lay-submit lay-filter="setSubmit" id="setSubmit">立即提交</button>
</div>
</div>
</form>
<script>
layui.config({
version: "{$front_version}",
base: '/static/lib/'
}).use(['element', 'form'], function () {
var $ = layui.$
, form = layui.form
, layer = layui.layer;
form.on('radio(default)', function(data){
$('.layui-table').addClass('layui-hide');
});
form.on('radio(customize)', function(data){
$('.layui-table').removeClass('layui-hide');
});
});
</script>

View File

@ -0,0 +1,187 @@
{layout name="layout1" /}
<style>
.btns {
margin-top: 15px;
}
.layui-table-cell {
height: auto;
}
.layui-form-label {
width: 120px;
}
</style>
<div class="wrapper">
<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-card-body layui-form">
<div class="layui-form-item">
<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">
<div class="layui-form-label">平台商品分类:</div>
<div class="layui-input-inline">
<select name="platform_cate_id" id="platform_cate_id" placeholder="请选择" >
<option value="all">全部</option>
{foreach $cate_list as $val }
<option value="{$val.id}">{$val.html}{$val.name}</option>
{/foreach}
</select>
</div>
</div>
<!-- <div class="layui-inline">-->
<!-- <div class="layui-form-label">分销状态:</div>-->
<!-- <div class="layui-input-inline">-->
<!-- <select name="is_distribution" id="is_distribution" placeholder="请选择" >-->
<!-- <option value="all">全部</option>-->
<!-- <option value="0">不参与</option>-->
<!-- <option value="1">参与</option>-->
<!-- </select>-->
<!-- </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>
</div>
<!--主体区域-->
<div class="layui-card-body">
<!--数据表格-->
<table id="lists" lay-filter="lists"></table>
<!--工具条模板-->
<script type="text/html" id="operate">
<a class="layui-btn layui-btn-sm layui-bg-blue" lay-event="detail">查看佣金设置</a>
</script>
<!--自定义模板-->
<script type="text/html" id="shop-info">
<img src="{{d.Shop.logo}}" style="height:60px;width: 60px" class="image-show">
<div class="layui-input-inline" style="text-align: left;">
<p>商家编号:{{d.Shop.id}}</p>
<p>商家名称:{{d.Shop.name}}</p>
</div>
</script>
<script type="text/html" id="goods-info">
<img src="{{d.image}}" style="height:60px;width: 60px" class="image-show">
<div class="layui-input-inline" style="text-align: left;">
<p>商品编号:{{d.code}}</p>
<p>商品名称:{{d.name}}</p>
</div>
</script>
<script type="text/html" id="goods-price">
¥ {{d.min_price}} - ¥ {{d.max_price}}
</script>
<script type="text/html" id="goods-distribution">
{{# if(d.distribution_flag){ }}
参与
{{# } else { }}
不参与
{{# } }}
</script>
</div>
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/lib/'
}).use(['table', 'form'], function () {
let $ = layui.$
, form = layui.form
, table = layui.table;
//监听搜索
form.on('submit(search)', function(data){
var field = data.field;
//执行重载
table.reload('lists', {
where: field,
page: {curr: 1}
});
});
//清空查询
form.on('submit(reset)', function(){
$('#keyword').val('');
$('#platform_cate_id').val('all');
$('#shop_cate_id').val('all');
$('#is_distribution').val('all');
form.render('select');
//刷新列表
table.reload('lists', {
where: [], page: {curr: 1}
});
});
// 数据表格渲染
table.render({
elem: '#lists'
,url: '{:url("distribution.distribution_goods/index")}' //数据接口
,method: 'post'
,page: true //开启分页
,cols: [[ //表头
{templet: '#shop-info', title: '商家信息'}
,{templet: '#goods-info', title: '商品信息'}
,{templet: '#goods-price', title: '价格', width:200}
// ,{templet: '#goods-distribution',align:'center', title: '分销状态', width: 150}
,{title: '操作', align:'center', toolbar: '#operate', width: 150}
]]
, 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());
});
}
});
// 工具条事件
table.on('tool(lists)', function(obj){
var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
if(layEvent === 'detail'){ // 设置佣金
id = obj.data.id;
// 弹窗显示添加页
layer.open({
type: 2
,title: "查看佣金比例"
,content: "{:url('distribution.distribution_goods/detail')}?id=" + id
,area: ["90%", "90%"]
,btn: ["返回"]
});
}
});
});
</script>

View File

@ -0,0 +1,138 @@
{layout name="layout2" /}
<style>
.layui-form {
margin: 5px;
}
.layui-form-label {
width: 120px;
text-align: left;
padding-left:30px;
}
.layui-input {
width: 300px;
}
.layui-textarea {
width: 300px;
}
.reqRed:before {
content: '*';
color: red;
margin-right: 5px;
}
.checkbox-width{
width: 120px;
}
</style>
<form class="layui-form">
<div class="layui-form-item">
<label class="layui-form-label reqRed">等级名称</label>
<div class="layui-input-block">
<input type="text" name="name" required lay-verify="required" autocomplete="off" class="layui-input" />
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label reqRed">等级级别</label>
<div class="layui-inline">
<input type="number" min="2" name="weights" required lay-verify="required" autocomplete="off" class="layui-input" />
</div>
<div class="layui-inline">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">等级描述</label>
<div class="layui-input-block">
<textarea name="remark" class="layui-textarea"></textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label reqRed">一级佣金比例</label>
<div class="layui-inline">
<input type="number" min="0" name="first_ratio" required lay-verify="required" autocomplete="off" class="layui-input" />
</div>
<div class="layui-inline">
%
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label reqRed">二级佣金比例</label>
<div class="layui-inline">
<input type="number" min="0" name="second_ratio" required lay-verify="required" autocomplete="off" class="layui-input" />
</div>
<div class="layui-inline">
%
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label reqRed">等级条件</label>
<div class="layui-inline">
<input type="radio" name="update_relation" value="1" title="满足以下任一条件">
<input type="radio" name="update_relation" value="2" title="满足以下全部条件">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-inline checkbox-width">
<input type="checkbox" lay-skin="primary" name="update_condition[]" value="singleConsumptionAmount" title="单笔消费金额">
</div>
<div class="layui-inline">
<input type="number" min="0" name="singleConsumptionAmount" class="layui-input" />
</div>
<div class="layui-inline">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-inline checkbox-width">
<input type="checkbox" lay-skin="primary" name="update_condition[]" value="cumulativeConsumptionAmount" title="累计消费金额">
</div>
<div class="layui-inline">
<input type="number" min="0" name="cumulativeConsumptionAmount" class="layui-input" />
</div>
<div class="layui-inline">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-inline checkbox-width">
<input type="checkbox" lay-skin="primary" name="update_condition[]" value="cumulativeConsumptionTimes" title="累计消费次数">
</div>
<div class="layui-inline">
<input type="number" min="0" name="cumulativeConsumptionTimes" class="layui-input" />
</div>
<div class="layui-inline">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-inline checkbox-width">
<input type="checkbox" lay-skin="primary" name="update_condition[]" value="returnedCommission" title="已结算佣金收入">
</div>
<div class="layui-inline">
<input type="number" min="0" name="returnedCommission" class="layui-input" />
</div>
<div class="layui-inline">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block layui-hide">
<button class="layui-btn" lay-submit lay-filter="addSubmit" id="addSubmit">立即提交</button>
</div>
</div>
</form>
<script>
layui.config({
version: "{$front_version}",
base: '/static/lib/'
}).use(['element', 'form'], function () {
var $ = layui.$
, form = layui.form
, layer = layui.layer;
});
</script>

View File

@ -0,0 +1,139 @@
{layout name="layout2" /}
<style>
.layui-form {
margin: 5px;
}
.layui-form-label {
width: 120px;
text-align: left;
padding-left:30px;
}
.layui-input {
width: 300px;
}
.layui-textarea {
width: 300px;
}
.reqRed:before {
content: '*';
color: red;
margin-right: 5px;
}
.checkbox-width{
width: 120px;
}
</style>
<form class="layui-form">
<input type="hidden" name="id" value="{$detail.id}" />
<div class="layui-form-item">
<label class="layui-form-label reqRed">等级名称</label>
<div class="layui-input-block">
<input type="text" name="name" value="{$detail.name}" required lay-verify="required" autocomplete="off" class="layui-input" />
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label reqRed">等级级别</label>
<div class="layui-inline">
<input type="number" min="2" name="weights" value="{$detail.weights}" required lay-verify="required" autocomplete="off" class="layui-input" />
</div>
<div class="layui-inline">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">等级描述</label>
<div class="layui-input-block">
<textarea name="remark" class="layui-textarea">{$detail.remark}</textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label reqRed">一级佣金比例</label>
<div class="layui-inline">
<input type="number" min="0" name="first_ratio" value="{$detail.first_ratio}" required lay-verify="required" autocomplete="off" class="layui-input" />
</div>
<div class="layui-inline">
%
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label reqRed">二级佣金比例</label>
<div class="layui-inline">
<input type="number" min="0" name="second_ratio" value="{$detail.second_ratio}" required lay-verify="required" autocomplete="off" class="layui-input" />
</div>
<div class="layui-inline">
%
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label reqRed">等级条件</label>
<div class="layui-inline">
<input type="radio" name="update_relation" value="1" {if $detail.update_relation == 1}checked{/if} title="满足以下任一条件">
<input type="radio" name="update_relation" value="2" {if $detail.update_relation == 2}checked{/if} title="满足以下全部条件">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-inline checkbox-width">
<input type="checkbox" lay-skin="primary" name="update_condition[]" value="singleConsumptionAmount" title="单笔消费金额" {if in_array('singleConsumptionAmount', $detail.update_condition.keys)}checked{/if}>
</div>
<div class="layui-inline">
<input type="number" min="0" name="singleConsumptionAmount" value="{$detail.update_condition.data.singleConsumptionAmount}" class="layui-input" />
</div>
<div class="layui-inline">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-inline checkbox-width">
<input type="checkbox" lay-skin="primary" name="update_condition[]" value="cumulativeConsumptionAmount" title="累计消费金额" {if in_array('cumulativeConsumptionAmount', $detail.update_condition.keys)}checked{/if}>
</div>
<div class="layui-inline">
<input type="number" min="0" name="cumulativeConsumptionAmount" value="{$detail.update_condition.data.cumulativeConsumptionAmount}" class="layui-input" />
</div>
<div class="layui-inline">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-inline checkbox-width">
<input type="checkbox" lay-skin="primary" name="update_condition[]" value="cumulativeConsumptionTimes" title="累计消费次数" {if in_array('cumulativeConsumptionTimes', $detail.update_condition.keys)}checked{/if}>
</div>
<div class="layui-inline">
<input type="number" min="0" name="cumulativeConsumptionTimes" value="{$detail.update_condition.data.cumulativeConsumptionTimes}" class="layui-input" />
</div>
<div class="layui-inline">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-inline checkbox-width">
<input type="checkbox" lay-skin="primary" name="update_condition[]" value="returnedCommission" title="已结算佣金收入" {if in_array('returnedCommission', $detail.update_condition.keys)}checked{/if}>
</div>
<div class="layui-inline">
<input type="number" min="0" name="returnedCommission" value="{$detail.update_condition.data.returnedCommission}" class="layui-input" />
</div>
<div class="layui-inline">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block layui-hide">
<button class="layui-btn" lay-submit lay-filter="editSubmit" id="editSubmit">立即提交</button>
</div>
</div>
</form>
<script>
layui.config({
version: "{$front_version}",
base: '/static/lib/'
}).use(['element', 'form'], function () {
var $ = layui.$
, form = layui.form
, layer = layui.layer;
});
</script>

View File

@ -0,0 +1,81 @@
{layout name="layout2" /}
<style>
.layui-form {
margin: 5px;
}
.layui-form-label {
width: 120px;
text-align: left;
padding-left:30px;
}
.layui-input {
width: 300px;
}
.layui-textarea {
width: 300px;
}
.reqRed:before {
content: '*';
color: red;
margin-right: 5px;
}
</style>
<form class="layui-form">
<input type="hidden" name="id" value="{$detail.id}">
<div class="layui-form-item">
<label class="layui-form-label reqRed">等级名称</label>
<div class="layui-input-block">
<input type="text" name="name" value="{$detail.name}" required lay-verify="required" autocomplete="off" class="layui-input" />
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label reqRed">等级级别</label>
<div class="layui-inline">
<input type="text" name="weights" value="{$detail.weights}" required lay-verify="required" autocomplete="off" class="layui-input layui-disabled" />
</div>
<div class="layui-inline">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">等级描述</label>
<div class="layui-input-block">
<textarea name="remark" class="layui-textarea">{$detail.remark}</textarea>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label reqRed">一级佣金比例</label>
<div class="layui-inline">
<input type="number" min="0" name="first_ratio" value="{$detail.first_ratio}" required lay-verify="required" autocomplete="off" class="layui-input" />
</div>
<div class="layui-inline">
%
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label reqRed">二级佣金比例</label>
<div class="layui-inline">
<input type="number" min="0" name="second_ratio" value="{$detail.second_ratio}" required lay-verify="required" autocomplete="off" class="layui-input" />
</div>
<div class="layui-inline">
%
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block layui-hide">
<button class="layui-btn" lay-submit lay-filter="editSubmit" id="editSubmit">立即提交</button>
</div>
</div>
</form>
<script>
layui.config({
version: "{$front_version}",
base: '/static/lib/'
}).use(['element', 'form'], function () {
var $ = layui.$
, form = layui.form
, layer = layui.layer;
});
</script>

View File

@ -0,0 +1,171 @@
{layout name="layout1" /}
<style>
</style>
<div class="wrapper">
<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>
<p>*删除分销等级时,会重新调整分销会员等级为系统默认等级,请谨慎操作;</p>
</div>
</div>
</div>
</div>
<div class="layui-card-body">
<!--功能按钮-->
<div class="btns">
<buttion class="layui-btn layui-btn-sm layui-bg-blue" id="add">添加分销等级</buttion>
</div>
<!--数据表格-->
<table id="lists" lay-filter="lists"></table>
<!--工具条模板-->
<script type="text/html" id="operate">
<a class="layui-btn layui-btn-sm layui-bg-blue" lay-event="edit">编辑</a>
{{# if(d.is_default != 1){ }}
<a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="del">删除</a>
{{# } }}
</script>
</div>
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/lib/'
}).use(['table'], function () {
let $ = layui.$
, table = layui.table;
// 数据表格渲染
table.render({
elem: '#lists'
,height: 312
,url: '{:url("distribution.distribution_level/index")}' //数据接口
,method: 'post'
,page: false //开启分页
,cols: [[ //表头
{field: 'weights_desc', title: '等级级别', width:150}
,{field: 'name', title: '等级名称', width:150}
,{field: 'first_ratio', title: '一级佣金比例', width:150}
,{field: 'second_ratio', title: '二级佣金比例', width: 150}
,{field: 'members_num', title: '分销会员数', width: 150}
,{title: '操作', toolbar: '#operate'}
]] , 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());
});
}
});
// 工具条事件
table.on('tool(lists)', function(obj){
var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
if(layEvent === 'del'){ //删除
layer.confirm('确定要删除吗?', function(index){
layer.close(index);
like.ajax({
url: "{:url('distribution.distribution_level/delete')}",
data: {id: obj.data.id},
type: "post",
success:function(res) {
if(res.code === 1) {
layui.layer.msg(res.msg);
layer.close(index);
table.reload("lists");
}
}
});
});
} else if(layEvent === 'edit'){ //编辑
id = obj.data.id;
// 弹窗显示添加页
layer.open({
type: 2
,title: "编辑分销等级"
,content: "{:url('distribution.distribution_level/edit')}?id=" + id
,area: ["90%", "90%"]
,btn: ["确定", "取消"]
,yes: function(index, layero){
var iframeWindow = window["layui-layer-iframe" + index];
var submit = layero.find("iframe").contents().find("#editSubmit");
iframeWindow.layui.form.on("submit(editSubmit)", function(data){
like.ajax({
url: "{:url('distribution.distribution_level/edit')}",
data: data.field,
type: "post",
success:function(res) {
if(res.code === 1) {
layui.layer.msg(res.msg);
layer.close(index);
table.reload("lists");
}
}
});
return false;
});
submit.trigger("click");
}
});
}
});
// 功能按钮
$('#add').click(function() {
// 弹窗显示添加页
layer.open({
type: 2
,title: "添加分销等级"
,content: "{:url('distribution.distribution_level/add')}"
,area: ["90%", "90%"]
,btn: ["确定", "取消"]
,yes: function(index, layero){
var iframeWindow = window["layui-layer-iframe" + index];
var submit = layero.find("iframe").contents().find("#addSubmit");
iframeWindow.layui.form.on("submit(addSubmit)", function(data){
like.ajax({
url: "{:url('distribution.distribution_level/add')}",
data: data.field,
type: "post",
success:function(res) {
if(res.code === 1) {
layui.layer.msg(res.msg);
layer.close(index);
table.reload("lists");
}
}
});
return false;
});
submit.trigger("click");
}
});
});
});
</script>

View File

@ -0,0 +1,74 @@
{layout name="layout2" /}
<style>
.layui-form {
margin: 5px;
}
.layui-form-label {
width: 120px;
text-align: left;
padding-left:30px;
}
.layui-input-block {
width: 300px;
line-height: 38px;
}
.layui-btn {
margin-top: 5px;
}
select {
width: 300px;
}
.layui-input {
width: 300px;
}
</style>
<form class="layui-form">
<input type="hidden" name="user_id" value="{$user.user_id}">
<div class="layui-form-item">
<label class="layui-form-label">用户编号</label>
<div class="layui-input-block">
{$user.user_sn}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">用户昵称</label>
<div class="layui-input-block">
{$user.user_nickname}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">当前分销等级</label>
<div class="layui-input-block">
{$user.level_name}
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">分销等级</label>
<div class="layui-inline">
<select name="level_id" id="level_id" placeholder="请选择" >
{foreach $levels as $val }
<option value="{$val.id}">{$val.name}({$val.weights})级</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block layui-hide">
<button class="layui-btn" lay-submit lay-filter="formSubmit" id="formSubmit">立即提交</button>
</div>
</div>
</form>
<script>
layui.config({
version: "{$front_version}",
base: '/static/lib/'
}).use(['element', 'form'], function () {
var $ = layui.$
, form = layui.form
, layer = layui.layer
, element = layui.element;
});
</script>

View File

@ -0,0 +1,276 @@
{layout name="layout1" /}
<style>
.layui-form-label {
width: 120px;
}
</style>
<div class="wrapper">
<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-card-body layui-form">
<div class="layui-form-item">
<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">
<div class="layui-form-label">分销会员等级:</div>
<div class="layui-input-inline">
<select name="level_id" id="level_id" placeholder="请选择" >
<option value="all">全部</option>
{foreach $levels as $val }
<option value="{$val.id}">{$val.name}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">分销状态:</div>
<div class="layui-input-inline">
<select name="is_freeze" id="is_freeze" placeholder="请选择" >
<option value="all">全部</option>
<option value="0">正常</option>
<option value="1">冻结</option>
</select>
</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>
</div>
<div class="layui-card-body">
<!--功能按钮-->
<div class="btns">
<buttion class="layui-btn layui-btn-sm layui-bg-blue" id="open">开通分销会员</buttion>
</div>
<!--数据表格-->
<table id="lists" lay-filter="lists"></table>
<!--工具条模板-->
<script type="text/html" id="operate">
<a class="layui-btn layui-btn-sm layui-bg-blue" lay-event="adjust">等级调整</a>
{{# if(d.is_freeze == 0){ }}
<a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="freeze">冻结资格</a>
{{# } else { }}
<a class="layui-btn layui-bg-blue layui-btn-sm" lay-event="unfreeze">恢复资格</a>
{{# } }}
</script>
<!--自定义模板-->
<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>用户昵称:{{d.nickname}}</p>
</div>
</script>
<script type="text/html" id="level-info">
{{d.level_name}}({{d.weights}})
</script>
<script type="text/html" id="earnings-wait">
{{d.earnings.wait}}
</script>
<script type="text/html" id="earnings-success">
{{d.earnings.success}}
</script>
<script type="text/html" id="earnings-fail">
{{d.earnings.fail}}
</script>
<script type="text/html" id="user-distribution">
{{# if(d.is_freeze){ }}
冻结
{{# } else { }}
正常
{{# } }}
</script>
</div>
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/lib/'
}).use(['table', 'form'], function () {
let $ = layui.$
, form = layui.form
, table = layui.table;
//监听搜索
form.on('submit(search)', function(data){
var field = data.field;
//执行重载
table.reload('lists', {
where: field,
page: {curr: 1}
});
});
//清空查询
form.on('submit(reset)', function(){
$('#keyword').val('');
$('#level_id').val('all');
$('#is_freeze').val('all');
form.render('select');
//刷新列表
table.reload('lists', {
where: [], page: {curr: 1}
});
});
// 数据表格渲染
table.render({
elem: '#lists'
,url: '{:url("distribution.distribution_member/index")}' //数据接口
,method: 'post'
,page: true //开启分页
,cols: [[ //表头
{templet: '#user-info', title: '用户信息', width:250}
,{templet: '#level-info', title: '分销等级', width:180}
,{templet: '#earnings-success', title: '已入账佣金', width:120}
,{templet: '#earnings-wait', title: '待结算佣金', width:120}
,{templet: '#earnings-fail', title: '已失效佣金', width:120}
,{templet: '#user-distribution', title: '分销状态', width: 120}
,{field: 'distribution_time', title: '成为分销会员时间', width: 200}
,{title: '操作', toolbar: '#operate', width: 200}
]]
, 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());
});
}
});
// 工具条事件
table.on('tool(lists)', function(obj){
var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
if(layEvent === 'freeze'){ // 冻结资格
layer.confirm('确定要冻结资格吗?', function(index){
layer.close(index);
like.ajax({
url: "{:url('distribution.distribution_member/isFreeze')}",
data: {user_id: obj.data.user_id,is_freeze:1},
type: "post",
success:function(res) {
if(res.code === 1) {
layui.layer.msg(res.msg);
layer.close(index);
table.reload("lists");
}
}
});
});
} else if(layEvent === 'unfreeze'){ // 恢复资格
layer.confirm('确定要恢复资格吗?', function(index){
layer.close(index);
like.ajax({
url: "{:url('distribution.distribution_member/isFreeze')}",
data: {user_id: obj.data.user_id,is_freeze:0},
type: "post",
success:function(res) {
if(res.code === 1) {
layui.layer.msg(res.msg);
layer.close(index);
table.reload("lists");
}
}
});
});
} else if(layEvent === 'adjust'){ // 分销等级调整
id = obj.data.user_id;
// 分销等级调整
layer.open({
type: 2
,title: "分销等级调整"
,content: "{:url('distribution.distribution_member/adjust')}?id=" + id
,area: ["90%", "90%"]
,btn: ["确定", "取消"]
,yes: function(index, layero){
var iframeWindow = window["layui-layer-iframe" + index];
var submit = layero.find("iframe").contents().find("#formSubmit");
iframeWindow.layui.form.on("submit(formSubmit)", function(data){
like.ajax({
url: "{:url('distribution.distribution_member/adjust')}",
data: data.field,
type: "post",
success:function(res) {
if(res.code === 1) {
layui.layer.msg(res.msg);
layer.close(index);
table.reload("lists");
}
}
});
return false;
});
submit.trigger("click");
}
});
}
});
// 功能按钮
$('#open').click(function() { // 开通分销会员
layer.open({
type: 2
,title: "开通分销会员"
,content: "{:url('distribution.distribution_member/open')}"
,area: ["90%", "90%"]
,btn: ["确定", "取消"]
,yes: function(index, layero){
var iframeWindow = window["layui-layer-iframe" + index];
var submit = layero.find("iframe").contents().find("#openSubmit");
iframeWindow.layui.form.on("submit(openSubmit)", function(data){
like.ajax({
url: "{:url('distribution.distribution_member/open')}",
data: data.field,
type: "post",
success:function(res) {
if(res.code === 1) {
layui.layer.msg(res.msg);
layer.close(index);
table.reload("lists");
}
}
});
return false;
});
submit.trigger("click");
}
});
});
});
</script>

View File

@ -0,0 +1,83 @@
{layout name="layout2" /}
<style>
/*.layui-form {*/
/* margin: 5px;*/
/*}*/
/*.layui-form-label {*/
/* width: 120px;*/
/* text-align: left;*/
/* padding-left:30px;*/
/*}*/
.layui-input-block {
width: 300px;
line-height: 36px;
}
.layui-btn {
margin-top: 5px;
}
select {
width: 300px;
}
.layui-input {
width: 300px;
}
</style>
<form class="layui-form">
<input type="hidden" name="user_id" id="user_id" value="0">
<div class="layui-form-item">
<label class="layui-form-label">用户信息</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>
<div class="layui-form-item">
<label class="layui-form-label">分销等级</label>
<div class="layui-input-block">
<select name="level_id" id="level_id" placeholder="请选择" >
{foreach $levels as $val }
<option value="{$val.id}">{$val.name}({$val.weights})级</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block layui-hide">
<button class="layui-btn" lay-submit lay-filter="openSubmit" id="openSubmit">立即提交</button>
</div>
</div>
</form>
<script>
layui.config({
version: "{$front_version}",
base: '/static/lib/'
}).use(['element', 'form'], function () {
var $ = layui.$
, form = layui.form
, layer = layui.layer
, element = layui.element;
$('#show-user').click(function() {
layer.open({
type: 2
,title: "选择用户"
,content: "{:url('distribution.distribution_member/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 + ')');
$('#user_id').val(user_selected.id);
layer.close(index);
}
});
return false;
});
});
</script>

View File

@ -0,0 +1,124 @@
{layout name="layout1" /}
<style>
</style>
<div class="wrapper">
<div class="layui-card">
<div class="layui-card-body layui-form">
<!--搜索区域-->
<div class="layui-form-item">
<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">
<div class="layui-form-label">分销状态:</div>
<div class="layui-input-inline">
<select name="is_distribution" id="is_distribution" placeholder="请选择" >
<option value="all">全部</option>
<option value="1">分销会员</option>
<option value="0">非分销会员</option>
</select>
</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>
</div>
<div class="layui-card-body">
<!--数据表格-->
<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/lib/'
}).use(['table', 'form'], function () {
let $ = layui.$
, form = layui.form
, 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.distribution_member/userLists")}' //数据接口
,method: 'post'
,page: true //开启分页
,cols: [[ //表头
{type: 'radio'}
,{field: 'sn', title: '用户编号', width:380}
,{field: 'nickname', title: '用户昵称', width:180}
,{field: 'distribution', title: '是否分销会员', width:120}
]]
, 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>

View File

@ -0,0 +1,188 @@
{layout name="layout1" /}
<style>
</style>
<div class="wrapper">
<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-card-body layui-form">
<div class="layui-form-item">
<div class="layui-inline">
<div class="layui-form-label">订单信息:</div>
<div class="layui-input-inline">
<input type="text" id="order_keyword" name="order_keyword" placeholder="订单编号" class="layui-input" />
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">商品信息:</div>
<div class="layui-input-inline">
<input type="text" id="goods_keyword" name="goods_keyword" placeholder="名称" class="layui-input" />
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">分销会员:</div>
<div class="layui-input-inline">
<input type="text" id="distribution_keyword" placeholder="编号/昵称" name="distribution_keyword" class="layui-input" />
</div>
</div>
<div class="layui-inline">
<div class="layui-form-label">佣金状态:</div>
<div class="layui-input-inline">
<select name="status" id="status" placeholder="请选择" >
<option value="0">全部</option>
<option value="1">待返佣</option>
<option value="2">已结算</option>
<option value="3">已失效</option>
</select>
</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>
</div>
<!--主体区域-->
<div class="layui-card-body">
<!--数据表格-->
<table id="lists" lay-filter="lists"></table>
<!--自定义模板-->
<script type="text/html" id="shop-info">
<img src="{{d.shop_logo}}" style="height:60px;width: 60px" class="image-show">
<div class="layui-input-inline" style="text-align: left;">
<p>商家编号:{{d.shop_id}}</p>
<p style="width: 300px;text-overflow:ellipsis;overflow: hidden">商家名称:{{d.shop_name}}</p>
</div>
</script>
<script type="text/html" id="order-info">
<div class="layui-input-inline" style="text-align: left;">
<p>订单编号:{{d.order_sn}}</p>
<p style="width: 300px;text-overflow:ellipsis;overflow: hidden">下单时间:{{d.order_create_time}}</p>
</div>
</script>
<script type="text/html" id="user-info">
<img src="{{d.user_info.avatar}}" style="height:60px;width: 60px" class="image-show">
<div class="layui-input-inline" style="text-align: left;">
<p>用户编号:{{d.user_info.sn}}</p>
<p style="width: 300px;text-overflow:ellipsis;overflow: hidden">用户昵称:{{d.user_info.nickname}}</p>
</div>
</script>
<script type="text/html" id="goods-info">
<img src="{{d.goods_image}}" style="height:60px;width: 60px" class="image-show">
<div class="layui-input-inline" style="text-align: left;">
<p>商品名称:{{d.goods_name}}</p>
<p style="width: 300px;text-overflow:ellipsis;overflow: hidden">规格名称:{{d.spec_value}}</p>
<p style="width: 300px;text-overflow:ellipsis;overflow: hidden">数量:{{d.goods_num}}</p>
<p style="width: 300px;text-overflow:ellipsis;overflow: hidden">实付金额:{{d.total_pay_price}}</p>
</div>
</script>
<script type="text/html" id="distribution-member-info">
<img src="{{d.distribution_avatar}}" style="height:60px;width: 60px" class="image-show">
<div class="layui-input-inline" style="text-align: left;">
<p>分销会员编号:{{d.distribution_sn}}</p>
<p style="width: 300px;text-overflow:ellipsis;overflow: hidden">分销会员昵称:{{d.distribution_nickname}}</p>
</div>
</script>
<script type="text/html" id="distribution-order-info">
<div class="layui-input-inline" style="text-align: left;">
<p>分销等级:{{d.level_name}}</p>
<p style="width: 300px;text-overflow:ellipsis;overflow: hidden">分销层级:{{d.level}}</p>
<p style="width: 300px;text-overflow:ellipsis;overflow: hidden">佣金比例:{{d.ratio}}</p>
</div>
</script>
<script type="text/html" id="earnings-info">
<div class="layui-input-inline" style="text-align: left;">
<p>佣金金额:{{d.money}}</p>
<p style="width: 300px;text-overflow:ellipsis;overflow: hidden">佣金状态:{{d.status_desc}}</p>
<p style="width: 300px;text-overflow:ellipsis;overflow: hidden">结算时间:{{d.settlement_time}}</p>
</div>
</script>
</div>
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/lib/'
}).use(['table', 'form'], function () {
let $ = layui.$
, form = layui.form
, table = layui.table;
//监听搜索
form.on('submit(search)', function(data){
var field = data.field;
//执行重载
table.reload('lists', {
where: field,
page: {curr: 1}
});
});
//清空查询
form.on('submit(reset)', function(){
$('#order_keyword').val('');
$('#goods_keyword').val('');
$('#distribution_keyword').val('');
$('#status').val('0');
form.render('select');
//刷新列表
table.reload('lists', {
where: [], page: {curr: 1}
});
});
// 数据表格渲染
table.render({
elem: '#lists'
,url: '{:url("distribution.distribution_order/index")}' //数据接口
,method: 'post'
,page: true //开启分页
,cols: [[ //表头
{templet: '#shop-info', title: '商家信息', width:280}
,{templet: '#order-info', title: '订单信息', width:280}
,{templet: '#user-info', title: '买家信息', width:280}
,{templet: '#goods-info', title: '商品信息', width:280}
,{templet: '#distribution-member-info', title: '分销会员', width:280}
,{templet: '#distribution-order-info', title: '分销信息', width:280}
,{templet: '#earnings-info', title: '佣金信息', fixed: 'right', width: 280}
]]
, 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>

View File

@ -0,0 +1,119 @@
{layout name="layout1" /}
<style>
.layui-panel {
margin: 5px;
}
.layui-form-label {
width: 120px;
text-align: left;
padding-left:30px;
}
</style>
<div class="wrapper">
<!-- 面板 -->
<div class="layui-panel">
<!-- 表单 -->
<form class="layui-form">
<!-- 字段集区块 -->
<fieldset class="layui-elem-field layui-field-title">
<legend>分销设置</legend>
<div class="layui-field-box">
<div class="layui-form-item">
<label class="layui-form-label">分销功能</label>
<div class="layui-input-block">
<input type="radio" name="is_open" value="0" title="关闭" {if $config.is_open == 0}checked{/if}>
<input type="radio" name="is_open" value="1" title="开启" {if $config.is_open == 1}checked{/if}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-input-block layui-word-aux">
关闭分销功能后不会再产生新的分销佣金,商城端分销入口会关闭。
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">分销层级</label>
<div class="layui-input-block">
<input type="radio" name="level" value="1" title="一级分销" {if $config.level == 1}checked{/if}>
<input type="radio" name="level" value="2" title="二级分销" {if $config.level == 2}checked{/if}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-input-block layui-word-aux">
允许发放佣金的分销层级
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">商品详情显示佣金</label>
<div class="layui-input-block">
<input type="radio" name="is_show_earnings" value="0" title="隐藏" {if $config.is_show_earnings == 0}checked{/if}>
<input type="radio" name="is_show_earnings" value="1" title="显示" {if $config.is_show_earnings == 1}checked{/if}>
</div>
<div class="layui-input-block layui-word-aux">是否在商品详情显示佣金奖励提示</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">详情页佣金可见用户</label>
<div class="layui-input-block">
<input type="radio" name="show_earnings_scope" value="0" title="全部用户" {if $config.show_earnings_scope == 0}checked{/if}>
<input type="radio" name="show_earnings_scope" value="1" title="分销商" {if $config.show_earnings_scope == 1}checked{/if}>
</div>
<div class="layui-input-block layui-word-aux">选择全部用户,则所有人在商品详情都可以看到佣金奖励提示</div>
</div>
</div>
</fieldset>
<!-- 字段集区块 -->
<fieldset class="layui-elem-field layui-field-title">
<legend>分销资格</legend>
<div class="layui-field-box">
<div class="layui-form-item">
<label class="layui-form-label">开通分销会员条件</label>
<div class="layui-input-block">
<input type="radio" name="apply_condition" value="1" title="无条件" {if $config.apply_condition == 1}checked{/if}>
<input type="radio" name="apply_condition" value="2" title="申请分销" {if $config.apply_condition == 2}checked{/if}>
<input type="radio" name="apply_condition" value="3" title="指定分销" {if $config.apply_condition == 3}checked{/if}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-input-block layui-word-aux">
开通分销会员条件切换至无条件时,所有用户都将开通分销会员资格。
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-input-block">
<button class="layui-btn layui-bg-blue layui-btn layui-btn-sm" lay-submit lay-filter="*">保存设置</button>
</div>
</div>
</div>
</fieldset>
</form>
</div>
</div>
<script>
layui.config({
version: "{$front_version}",
base: '/static/lib/'
}).use(['element', 'form'], function () {
var $ = layui.$
, form = layui.form
, layer = layui.layer;
form.on('submit(*)', function (data) {
like.ajax({
url: '{:url("distribution.distribution_setting/set")}'
, data: data.field
, type: 'post'
, success: function (res) {
layer.msg(res.msg);
},
});
return false; //阻止表单跳转
});
});
</script>

View File

@ -0,0 +1,87 @@
{layout name="layout1" /}
<style>
.layui-panel {
margin: 5px;
}
.layui-form-label {
width: 120px;
text-align: left;
padding-left:30px;
}
</style>
<div class="wrapper">
<!-- 面板 -->
<div class="layui-panel">
<!-- 表单 -->
<form class="layui-form">
<!-- 字段集区块 -->
<fieldset class="layui-elem-field layui-field-title">
<legend>结算设置</legend>
<div class="layui-field-box">
<div class="layui-form-item">
<label class="layui-form-label">佣金计算方式</label>
<div class="layui-input-block">
<input type="radio" name="cale_method" value="1" title="商品实际支付金额" {if $config.cale_method == 1}checked{/if}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-input-block layui-word-aux">
根据商品实际支付金额及相应的佣金比例计算佣金
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">结算时机</label>
<div class="layui-inline">
<input type="radio" name="settlement" value="1" title="订单完成后" {if $config.settlement == 1}checked{/if}>
</div>
<div class="layui-inline">
<input type="number" min="0" name="settlement_days" value="{$config.settlement_days}" class="layui-input" />
</div>
<div class="layui-inline">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-input-block layui-word-aux">
预估佣金结算后无法进行回收,请谨慎设置结算天数
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"></label>
<div class="layui-input-block">
<button class="layui-btn layui-bg-blue layui-btn layui-btn-sm" lay-submit lay-filter="*">保存设置</button>
</div>
</div>
</div>
</fieldset>
</form>
</div>
</div>
<script>
layui.config({
version: "{$front_version}",
base: '/static/lib/'
}).use(['element', 'form'], function () {
var $ = layui.$
, form = layui.form
, layer = layui.layer;
form.on('submit(*)', function (data) {
like.ajax({
url: '{:url("distribution.distribution_setting/set")}'
, data: data.field
, type: 'post'
, success: function (res) {
layer.msg(res.msg);
},
});
return false; //阻止表单跳转
});
});
</script>

View File

@ -0,0 +1,31 @@
{layout name="layout2" /}
<div class="layui-card layui-form">
<div class="layui-card-body">
<div class="layui-form-item">
<label for="sn" class="layui-form-label"><span style="color:red;">*</span>会员编号:</label>
<div class="layui-input-inline" style="width: 250px;">
<input type="text" id="sn" name="sn" lay-verType="tips" lay-verify="required" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label for="remarks" class="layui-form-label">备注信息:</label>
<div class="layui-input-inline" style="width: 250px;">
<textarea id="remarks" name="remarks" placeholder="请输入内容不超100个字符" class="layui-textarea"></textarea>
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="addSubmit" id="addSubmit" value="确认">
</div>
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/lib/' //静态资源所在路径
}).use(['form'], function () {
var form = layui.form;
});
</script>

View File

@ -0,0 +1,91 @@
<style>
.layui-table-cell {
height: auto;
}
</style>
<div class="layui-fluid">
<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-block">
<select name="search_key">
<option value="sn">会员编号</option>
<option value="nickname">会员昵称</option>
<option value="mobile">手机号码</option>
</select>
</div>
</div>
<div class="layui-inline">
<input type="text" name="keyword" id="audit_keyword" placeholder="请输入搜索内容" autocomplete="off" class="layui-input">
</div>
<div class="layui-inline">
<label class="layui-form-label">审核状态:</label>
<div class="layui-input-block">
<select name="status" id="audit_status">
<option value="">全部</option>
{foreach $status as $item => $val}
<option value="{$item}">{$val}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm layuiadmin-btn-audit {$view_theme_color}" lay-submit lay-filter="audit-search">
查询
</button>
<button class="layui-btn layui-btn-sm layuiadmin-btn-audit layui-btn-primary " lay-submit
lay-filter="audit-clear-search">重置
</button>
</div>
</div>
</div>
<table id="audit-lists" lay-filter="audit-lists"></table>
<script type="text/html" id="audit-operation">
{{# if(d.status == 0){ }}
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="pass">审核通过</a>
<a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="refuse">审核拒绝</a>
{{# } }}
</script>
<script type="text/html" id="icon">
<img src="{{d.icon}}" style="height:80px;width: 80px" class="image-show">
</script>
<!--会员信息-->
<script type="text/html" id="user-info">
<img src="{{d.avatar}}" style="height:80px;width: 80px" class="image-show">
<div class="layui-input-inline" style="text-align: left">
<p>会员编号:{{d.sn}}</p>
<p>会员昵称:{{d.nickname}}</p>
<p>手机号码:{{d.mobile}}</p>
<p>会员等级:{{d.level}}</p>
<!-- <p>性别:{{d.sex}}</p>-->
<!-- <p>注册时间:{{d.create_time}}</p>-->
</div>
</script>
<!--上级推荐人信息-->
<script type="text/html" id="leader-info">
{{# if(d.leader.length == 0){ }}
<p></p>
{{# } else { }}
<div class="layui-input-inline" >
<p>会员编号:{{d.leader.sn}}</p>
<p>会员昵称:{{d.leader.nickname}}</p>
<!-- <p>手机号码:{{d.leader.mobile}}</p>-->
<p>会员等级: {{d.leader.level}}</p>
</div>
{{# } }}
</script>
</div>

View File

@ -0,0 +1,119 @@
{layout name="layout1" /}
<style>
.layui-table-cell {
height: auto;
}
</style>
<div class="layui-fluid">
<div class="layui-card">
<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 time" 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 time" id="end_time" name="end_time" autocomplete="off">
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layuiadmin-btn-earnings {$view_theme_color}" lay-submit lay-filter="earnings-search">查询</button>
<button class="layui-btn layuiadmin-btn-earnings layui-btn-primary }" lay-submit lay-filter="earnings-clear-search">重置</button>
</div>
</div>
</div>
<div class="layui-card-body">
<table id="earnings-lists" lay-filter="earnings-lists"></table>
</div>
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/lib/' //静态资源所在路径
}).use(['table','laydate'], function(){
var $ = layui.$
,form = layui.form
,table = layui.table
,laydate = layui.laydate;
var user_id = {$user_id | raw};
//日期时间范围
laydate.render({
elem: '#start_time'
, type: 'datetime'
,theme: '#1E9FFF'
});
laydate.render({
elem: '#end_time'
, type: 'datetime'
,theme: '#1E9FFF'
});
//监听搜索
form.on('submit(earnings-search)', function(data){
var field = data.field;
//执行重载
table.reload('earnings-lists', {
where: field,
page: {
curr:1
}
});
});
//清空查询
form.on('submit(earnings-clear-search)', function(){
$('#start_time').val('');
$('#end_time').val('');
form.render('select');
//刷新列表
table.reload('earnings-lists', {
where: [],
page: {
curr: 1
}
});
});
table.render({
id:'earnings-lists'
,elem: '#earnings-lists'
,url: '{:url("distribution.member/earningsDetail")}?id='+user_id
,cols: [[
{field: 'sn',title: '记录编号'}
,{field: 'order_sn', title: '来源订单'}
,{field: 'money', title: '收入金额'}
,{field: 'type', title: '收入类型'}
,{field: 'create_time', title: '记录日期'}
]]
,page:true
,text: {none: '暂无数据!'}
,parseData: function(res){
return {
"code":res.code,
"msg":res.msg,
"count": res.data.count,
"data": res.data.lists,
};
},
response: {
statusCode: 1
}
});
});
</script>

View File

@ -0,0 +1,178 @@
{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;
}
</style>
<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 data-type='all' class="layui-this">全部</li>
<li data-type="first_leader">一级粉丝</li>
<li data-type="second_leader">二级粉丝</li>
<li data-type="third_leader">三级粉丝</li>
</ul>
<div class="layui-tab-item layui-show">
<div class="layui-card">
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
<div class="layui-form-item">
<div class="layui-row">
<div class="layui-inline">
<label class="layui-form-label">会员信息:</label>
<div class="layui-input-block">
<select name="search_key">
<option value="sn">会员编号</option>
<option value="nickname">会员昵称</option>
<option value="mobile">手机号码</option>
</select>
</div>
</div>
<div class="layui-inline">
<input type="text" name="keyword" id="keyword" placeholder="请输入搜索内容" autocomplete="off" class="layui-input">
</div>
<div class="layui-inline">
<button class="layui-btn layuiadmin-btn-member {$view_theme_color}" lay-submit lay-filter="fans-search">
查询
</button>
<button class="layui-btn layuiadmin-btn-express layui-btn-primary " lay-submit
lay-filter="fans-clear-search">重置
</button>
</div>
</div>
</div>
</div>
<div class="layui-card-body">
<table id="fans-lists" lay-filter="fans-lists"></table>
<script type="text/html" id="member-operation">
<div style="text-align: left">
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="info">分销资料</a>
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="fans">推广会员</a>
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="earnings_detail">收入明细</a><br/>
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="update_leader" style="margin-top: 5px">修改上级</a>
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="freeze" style="margin-top: 5px">冻结资格</a>
</div>
</script>
<!--会员信息-->
<script type="text/html" id="user-info">
<img src="{{d.avatar}}" style="height:80px;width: 80px" class="image-show">
<div class="layui-input-inline" style="text-align: left">
<p>会员编号:{{d.sn}}</p>
<p>会员昵称:{{d.nickname}}</p>
<p>手机号码:{{d.mobile}}</p>
<p>会员等级:</p>
<p>性别:{{d.sex}}</p>
<p>注册时间:{{d.create_time}}</p>
</div>
</script>
<!--会员信息-->
<script type="text/html" id="leader-info">
{{# if(d.leader.length == 0){ }}
<p></p>
{{# } else { }}
<div class="layui-input-inline" >
<p>会员编号:{{d.leader.sn}}</p>
<p>会员昵称:{{d.leader.nickname}}</p>
<p>手机号码:{{d.leader.mobile}}</p>
<p>会员等级: {{d.leader.level}}</p>
</div>
{{# } }}
</script>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/lib/' //静态资源所在路径
}).use([ 'table', 'laydate'], function () {
var $ = layui.$
, form = layui.form
, table = layui.table
, element = layui.element
, laydate = layui.laydate;
var user_id = {$user_id | raw};
//图片放大
$(document).on('click', '.image-show', function () {
var src = $(this).attr('src');
like.showImg(src,600);
});
//监听搜索
form.on('submit(fans-search)', function (data) {
var field = data.field;
//执行重载
table.reload('fans-lists', {
where: field
});
});
//清空查询
form.on('submit(fans-clear-search)', function () {
$('#keyword').val('');
form.render('select');
//刷新列表
table.reload('fans-lists', {
where: []
});
});
//获取列表
getList('all');
//切换列表
element.on('tab(tab-all)', function (data) {
$('#keyword').val('');
form.render('select');
var type = $(this).attr('data-type');
getList(type);
});
function getList(type) {
table.render({
elem: '#fans-lists'
, url: '{:url("distribution.member/fans")}?id=' + user_id + '&type=' + type
, cols: [[
{type: 'numbers', title: '序号', align: 'center'}
, {field: 'user', title: '会员信息', templet: '#user-info', width: 350, align: 'center'}
, {field: 'leader', title: '上级推荐人', width: 260, align: 'center', templet:'#leader-info'}
, {field: 'fans', title: '推广会员数', align: 'center'}
, {field: 'distribution_num', title: '分销订单数', align: 'center'}
, {field: 'distribution_amount', title: '分销订单金额', align: 'center'}
, {field: 'distribution_money', title: '分销佣金', align: 'center'}
]]
, page: true
, text: {none: '暂无数据!'}
, parseData: function (res) {
return {
"code": res.code,
"msg": res.msg,
"count": res.data.count,
"data": res.data.lists,
};
},
response: {
statusCode: 1
}
});
}
});
</script>

View File

@ -0,0 +1,460 @@
{layout name="layout1" /}
<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>
<p>*分销佣金需要订单完成并且超出售后期限后系统自动结算。</p>
</div>
</div>
</div>
</div>
<div class="layui-tab layui-tab-card" lay-filter="tab-all">
<ul class="layui-tab-title">
<!-- <li data-type='member' class="layui-this">分销会员列表</li>-->
<!-- <li data-type='audit'>申请分销会员列表</li>-->
</ul>
<div class="layui-tab-content">
<!--分销会员列表-->
<div class="layui-tab-item layui-show ">
{include file="/distribution/member/member_lists"/}
</div>
<!--待审核分销会员列表-->
<div class="layui-tab-item">
{include file="/distribution/member/audit_lists"/}
</div>
</div>
</div>
</div>
</div>
<script>
layui.config({
version:"{$front_version}",
base: '/static/lib/'
}).use(['element','table', 'form'], function () {
var $ = layui.$
, form = layui.form
, table = layui.table
, element = layui.element;
//图片放大
$(document).on('click', '.image-show', function () {
var src = $(this).attr('src');
like.showImg(src,600);
});
getLists('member');
//切换列表
element.on('tab(tab-all)', function (data) {
form.render('select');
var type = $(this).attr('data-type');
getLists(type);
});
function getLists(type) {
// 会员列表
if (type == 'member') {
table.render({
elem: '#member-lists'
, url: '{:url("distribution.member/index")}?type=member'
, cols: [[
{field: 'id', title: 'ID', align: 'center'}
, {field: 'user', title: '会员信息', templet: '#user-info', width: 350}
, {field: 'distribution_code', title: '邀请码', width: 100, align: 'center'}
, {field: 'leader', title: '上级推荐人', width: 280, align: 'center', templet:'#leader-info'}
, {field: 'fans', title: '推广会员数', width: 110, align: 'center'}
, {field: 'distribution_num', title: '分销订单数', width: 110, align: 'center'}
, {field: 'distribution_amount', title: '分销订单金额', width: 130, align: 'center'}
, {field: 'distribution_money', title: '分销佣金', width: 110, align: 'center'}
, {fixed: 'right', title: '操作', width: 280, align: 'center', toolbar: '#member-operation'}
]]
, page: true
, 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());
});
}
});
}
// 审核会员列表
if (type == 'audit') {
table.render({
elem: '#audit-lists'
, url: '{:url("distribution.member/index")}?type=audit'
, cols: [[
{type: 'numbers', title: '序号', align: 'center'}
, {field: 'user', title: '会员信息', templet: '#user-info'}
, {field: 'leader', title: '上级推荐人', align: 'center', templet:'#leader-info'}
, {field: 'reason', title: '申请原因', align: 'center'}
, {field: 'denial_reason', title: '拒绝原因', align: 'center'}
, {field: 'status_text', title: '状态', width: 110, align: 'center'}
, {field: 'create_time', width: 180, title: '申请时间', align: 'center'}
, {fixed: 'right', title: '操作', width: 200, align: 'center', toolbar: '#audit-operation'}
]]
, page: true
, 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());
});
}
});
}
}
//==============================================会员列表start===============================================
var active = {
add: function(){
var index = layer.open({
type: 2
,title: '添加分销会员'
,content: '{:url("distribution.member/addMember")}'
,area: ['500px', '400px']
,btn: ['保存', '取消']
,maxmin: true
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submitID = 'addSubmit'
,submit = layero.find('iframe').contents().find('#'+ submitID);
//监听提交
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
var field = data.field;
like.ajax({
url:'{:url("distribution.member/addMember")}',
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('member-lists', {
where: []
});
}
}
});
});
submit.trigger('click');
}
,cancel: function(index, layero){
var window_index = index;
layer.confirm('尚未保存,确定关闭吗?', {
time: 0, //不自动关闭
btn: ['确定', '取消'],
yes: function(index){
layer.close(index);
layer.close(window_index);
}
});
return false;
}
});
},
};
$('.layui-btn.layuiadmin-btn').on('click', function(){
var type = $(this).data('type');
active[type] ? active[type].call(this) : '';
});
form.on('submit(member-search)', function (data) {
var field = data.field;
//执行重载
table.reload('member-lists', {
where: field,
page: {
curr: 1
}
});
});
//清空查询
form.on('submit(member-clear-search)', function () {
$('#freeze_distribution').val('');
$('#member_keyword').val('');
form.render('select');
//刷新列表
table.reload('member-lists', {
where: [],
page: {
curr: 1
}
});
});
table.on('tool(member-lists)', function (obj) {
var id = obj.data.id;
var nickname = obj.data.nickname;
if (obj.event === 'freeze' || obj.event === 'unfreeze') {
var type = 'freeze';
var confirm_text = '确定冻结分销会员:';
if (obj.event === 'unfreeze'){
type = 'unfreeze';
confirm_text = '确定解冻分销会员:';
}
layer.confirm(confirm_text + '<span style="color: red">'+nickname+'</span>', function (index) {
like.ajax({
url: '{:url("distribution.member/freeze")}',
data: {'id':id, 'type': type},
type: "post",
success: function (res) {
if (res.code == 1) {
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
table.reload('member-lists');
layer.close(index);
}
}
});
layer.close(index);
});
}
if(obj.event === 'del') { // 删除资格
layer.confirm('确定删除分销资格<span style="color: red">'+nickname+'</span>', function (index) {
like.ajax({
url: '{:url("distribution.member/del")}',
data: {'id':id},
type: "post",
success: function (res) {
if (res.code == 1) {
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
table.reload('member-lists');
layer.close(index);
}
}
});
layer.close(index);
});
}
// 会员分销资料(分销资料)
if (obj.event === 'info') {
layer.open({
type: 2
,title: '分销资料'
,content: '{:url("distribution.member/info")}?id='+id
,area: ['90%', '90%']
,btn:['返回']
})
}
//推广会员
if (obj.event === 'fans') {
layer.open({
type: 2
,title: '推广会员'
,content: '{:url("distribution.member/fans")}?id='+id
,area: ['90%', '90%']
,btn:['返回']
})
}
//收入明细
if (obj.event === 'earnings_detail') {
layer.open({
type: 2
,title: '收入明细'
,content: '{:url("distribution.member/earningsDetail")}?id='+id
,area: ['90%', '90%']
,btn:['返回']
})
}
//修改上级
if (obj.event === 'update_leader') {
layer.open({
type: 2
,title: '修改上级'
,content: '{:url("distribution.member/updateLeader")}?id='+id
,area: ['60%', '60%']
,btn:['确认', '返回']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submitID = 'update-leader-submit'
,submit = layero.find('iframe').contents().find('#'+ submitID);
//监听提交
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
var field = data.field;
like.ajax({
url:'{:url("distribution.member/updateLeader")}',
data:field,
type:"post",
success:function(res)
{
if(res.code == 1)
{
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
table.reload('member-lists');
layer.close(index);
}
}
});
});
submit.trigger('click');
}
})
}
});
//==============================================会员列表end===============================================
//==============================================会员审核列表start==========================================
form.on('submit(audit-clear-search)', function () {
$('#audit_keyword').val('');
$('#audit_status').val('');
form.render('select');
//刷新列表
table.reload('audit-lists', {
where: [],
page: {
curr: 1
}
});
});
form.on('submit(audit-search)', function (data) {
var field = data.field;
//执行重载
table.reload('audit-lists', {
where: field,
page: {
curr: 1
}
});
});
//会员审核操作
table.on('tool(audit-lists)', function (obj) {
var id = obj.data.id;
var nickname = obj.data.nickname;
var confirm_text = '';
var data= {};
if (obj.event === 'pass') {
confirm_text = '确定审核通过分销申请:'+ nickname;
data = {'id': id, 'type': 'pass'};
auditAjax(confirm_text, data);
}
if (obj.event === 'refuse') {
layer.prompt({
formType: 2,
value: '',
title: '请输入拒绝原因',
area: ['400px', '120px'] //自定义文本域宽高
}, function(value, index, elem){
confirm_text = '确定审核拒绝分销申请:'+ nickname;
data = {'id': id, 'type': 'refuse', 'denial_reason': value};
like.ajax({
url: '{:url("distribution.member/audit")}',
data: data,
type: "post",
success: function (res) {
if (res.code == 1) {
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
table.reload('audit-lists');
layer.close(index);
}
}
});
layer.close(index);
});
}
});
//审核操作
function auditAjax(confirm_text, data) {
layer.confirm(confirm_text, function (index) {
like.ajax({
url: '{:url("distribution.member/audit")}',
data: data,
type: "post",
success: function (res) {
if (res.code == 1) {
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
table.reload('audit-lists');
layer.close(index);
}
}
});
layer.close(index);
});
}
//==============================================会员审核列表end===========================================
});
</script>

View File

@ -0,0 +1,75 @@
{layout name="layout2" /}
<style>
.div-flex {
display: flex;
align-items: center;
justify-content: left;
}
.width-160 {
width: 200px;
}
.layui-table th {
text-align: center;
}
.layui-form-label {
width: 120px;
}
</style>
<div class="layui-card-body" >
<!--基本信息-->
<div class="layui-form" lay-filter="layuiadmin-form-member" id="layuiadmin-form-member" >
<div class="layui-form-item">
<fieldset class="layui-elem-field layui-field-title">
<legend>基本信息</legend>
</fieldset>
</div>
<div class="layui-form-item div-flex">
<label class="layui-form-label ">会员编号:</label>
<div class="width-160">{$detail.user_sn}</div>
<label class="layui-form-label ">会员昵称:</label>
<div class="width-160">{$detail.nickname}</div>
<label class="layui-form-label ">手机号码:</label>
<div class="width-160">{$detail.mobile}</div>
</div>
<div class="layui-form-item div-flex">
<label class="layui-form-label ">分销员:</label>
<div class="width-160">{$detail.distribution_text}</div>
<label class="layui-form-label ">邀请码:</label>
<div class="width-160">{$detail.distribution_code}</div>
<label class="layui-form-label ">上级推荐人编号:</label>
<div class="width-160">{$detail.first_leader_sn}</div>
</div>
<div class="layui-form-item div-flex">
<label class="layui-form-label ">直推会员数:</label>
<div class="width-160">{$detail.first_fans}</div>
</div>
<!--分销信息-->
<div class="layui-form-item">
<fieldset class="layui-elem-field layui-field-title">
<legend>分销信息</legend>
</fieldset>
</div>
<div class="layui-form-item div-flex">
<label class="layui-form-label ">分销订单数:</label>
<div class="width-160">{$detail.distribution_num}</div>
<label class="layui-form-label ">分销订单金额:</label>
<div class="width-160">{$detail.distribution_amount}</div>
<label class="layui-form-label ">分销佣金:</label>
<div class="width-160">{$detail.distribution_money}</div>
</div>
<div class="layui-form-item div-flex">
<label class="layui-form-label ">可提现佣金:</label>
<div class="width-160">{$detail.earnings}</div>
<label class="layui-form-label ">已提现佣金:</label>
<div class="width-160">{$detail.have_withdraw}</div>
</div>
</div>
</div>

View File

@ -0,0 +1,93 @@
<style>
.operation-btn{
margin: 5px;
}
</style>
<div class="layui-fluid">
<div class="layui-form">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">会员信息:</label>
<div class="layui-input-block">
<select name="search_key">
<option value="sn">会员编号</option>
<option value="nickname">会员昵称</option>
<option value="mobile">手机号码</option>
</select>
</div>
</div>
<div class="layui-inline">
<input type="text" name="keyword" id="member_keyword" placeholder="请输入搜索内容" autocomplete="off" class="layui-input">
</div>
<div class="layui-inline">
<label class="layui-form-label">分销状态:</label>
<div class="layui-input-block">
<select name="freeze_distribution" id="freeze_distribution">
<option value="">全部</option>
<option value="0">未冻结</option>
<option value="1">已冻结</option>
</select>
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm layuiadmin-btn-member {$view_theme_color}" lay-submit lay-filter="member-search">
查询
</button>
<button class="layui-btn layui-btn-sm layuiadmin-btn-express layui-btn-primary " lay-submit
lay-filter="member-clear-search">重置
</button>
</div>
</div>
</div>
<div style="margin: 10px 0" class="add">
<button class="layui-btn layui-btn-sm layuiadmin-btn {$view_theme_color}" data-type="add">添加分销会员</button>
</div>
<table id="member-lists" lay-filter="member-lists"></table>
<script type="text/html" id="member-operation">
<div style="text-align: left">
<a class="layui-btn layui-btn-primary layui-btn-sm operation-btn" lay-event="info">分销资料</a>
<a class="layui-btn layui-btn-primary layui-btn-sm operation-btn" lay-event="fans">推广会员</a>
<a class="layui-btn layui-btn-primary layui-btn-sm operation-btn" lay-event="earnings_detail">收入明细</a><br/>
<a class="layui-btn layui-btn-normal layui-btn-sm operation-btn" lay-event="update_leader" >修改上级</a>
{{# if(d.freeze_distribution == 0){ }}
<a class="layui-btn layui-btn-danger layui-btn-sm operation-btn" lay-event="freeze" >冻结资格</a>
{{# } else { }}
<a class="layui-btn layui-btn-danger layui-btn-sm operation-btn" lay-event="unfreeze" >解冻资格</a>
{{# } }}
<a class="layui-btn layui-btn-danger layui-btn-sm operation-btn" lay-event="del" >删除资格</a>
</div>
</script>
<!--会员信息-->
<script type="text/html" id="user-info">
<img src="{{d.avatar}}" style="height:80px;width: 80px" class="image-show">
<div class="layui-input-inline" style="text-align: left">
<p>会员编号:{{d.sn}}</p>
<p>会员昵称:{{d.nickname}}</p>
<p>手机号码:{{d.mobile}}</p>
<p>会员等级:{{d.level}}</p>
<!-- <p>性别:{{d.sex}}</p>-->
<!-- <p>注册时间:{{d.create_time}}</p>-->
</div>
</script>
<!--会员信息-->
<script type="text/html" id="leader-info">
{{# if(d.leader.length == 0){ }}
<p></p>
{{# } else { }}
<div class="layui-input-inline" >
<p>会员编号:{{d.leader.sn}}</p>
<p>会员昵称:{{d.leader.nickname}}</p>
<p>手机号码:{{d.leader.mobile}}</p>
<p>会员等级: {{d.leader.level}}</p>
</div>
{{# } }}
</script>
</div>

View File

@ -0,0 +1,57 @@
{layout name="layout2" /}
<style>
.div-flex {
display: flex;
align-items: center;
justify-content: left;
}
.layui-form-label {
width: 120px;
}
.width-160 {
width: 200px;
}
</style>
<div class="layui-card-body" >
<!--基本信息-->
<div class="layui-form" lay-filter="layuiadmin-form-update-leader" id="layuiadmin-form-update-leader" >
<input type="hidden" name="user_id" value="{$user_id}">
<div class="layui-form-item div-flex">
<label class="layui-form-label ">当前上级:</label>
<div class="width-160">{$first_leader}</div>
</div>
<div class="layui-form-item div-flex">
<label class="layui-form-label ">调整方式:</label>
<div>
<select name="change_type" lay-verify="required">
<option value="clear">清空上级</option>
<option value="appoint">指定上级推荐人</option>
</select>
</div>
</div>
<div class="layui-form-item div-flex">
<label class="layui-form-label ">上级推荐人编号:</label>
<div>
<input type="text" name="referrer_sn" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item layui-hide">
<input type="button" lay-submit lay-filter="update-leader-submit" id="update-leader-submit" value="确认">
</div>
</div>
</div>
<script type="text/javascript">
layui.config({
version:"{$front_version}",
base: '/static/lib/' //静态资源所在路径
}).use(['element', 'jquery', 'form'], function () {
var $ = layui.$
, form = layui.form;
});
</script>

View File

@ -0,0 +1,216 @@
{layout name="layout1" /}
<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>
<p>*佣金状态分为:待结算,已返佣,已失效。订单结算后才会进行返佣,结算前如果有售后退款,则佣金会失效;</p>
</div>
</div>
</div>
</div>
<div class="layui-form">
<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="order_sn">订单编号</option>
<option value="user_nickname">会员昵称</option>
<option value="user_sn">会员编号</option>
<option value="user_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>
<label class="layui-form-label">佣金状态:</label>
<div class="layui-input-inline" style="width: 200px;">
<select name="status" id="status">
<option value="">全部</option>
<option value="1">待返佣</option>
<option value="2">已结算</option>
<option value="3">已失效</option>
</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 time" 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 time" id="end_time" name="end_time" autocomplete="off">
</div>
</div>
<div class="layui-inline">
<div class="layui-btn-group">
<button type="button" id="today" day="1" class="layui-btn layui-btn-sm layui-btn-primary day">今天</button>
<button type="button" day="-1" class="layui-btn layui-btn-sm layui-btn-primary day">昨天</button>
<button type="button" day="7" class="layui-btn layui-btn-sm layui-btn-primary day">近7天</button>
<button type="button" day="30" class="layui-btn layui-btn-sm layui-btn-primary day">近30天</button>
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm layuiadmin-btn-account {$view_theme_color}" lay-submit lay-filter="search">查询</button>
<button class="layui-btn layui-btn-sm layuiadmin-btn-account layui-btn-primary }" lay-submit lay-filter="clear-search">重置</button>
</div>
</div>
</div>
<div class="layui-card-body">
<table id="account-lists" lay-filter="account-lists"></table>
</div>
</div>
</div>
<script type="text/html" id="money-info">
¥ {{d.money}}
</script>
<style>
.layui-table-cell {
height: auto;
}
</style>
<script>
layui.config({
version:"{$front_version}",
base: '/static/lib/' //静态资源所在路径
}).use(['table','laydate'], function(){
var $ = layui.$
,form = layui.form
,table = layui.table
,laydate = layui.laydate;
//日期时间范围
laydate.render({
elem: '#start_time'
, type: 'datetime'
,theme: '#1E9FFF'
});
laydate.render({
elem: '#end_time'
, type: 'datetime'
,theme: '#1E9FFF'
});
//监听搜索
form.on('submit(search)', function(data){
var field = data.field;
//执行重载
table.reload('account-lists', {
where: field,
page: {
curr: 1 //重新从第 1 页开始
}
});
});
//重置
form.on('submit(clear-search)', function(){
$('.day').removeClass('layui-btn-normal');
$('.day').removeClass('layui-btn-primary');
$('.day').addClass('layui-btn-primary');
$('#keyword').val('');
$('#keyword_type').val('sn');
$('#order_source').val(0);
$('#start_time').val('');
$('#end_time').val('');
form.render('select');
//刷新列表
table.reload('account-lists', {
where: [],
page: {
curr: 1 //重新从第 1 页开始
}
});
});
});
layui.define(['table', 'form'], function(exports){
var $ = layui.$
,table = layui.table
,form = layui.form;
table.render({
id:'account-lists'
,elem: '#account-lists'
,url: '{:url("distribution.record/lists")}'
,cols: [[
{field: 'user_nickname',title: '会员昵称'}
,{field: 'user_sn', title: '会员编号'}
,{field: 'user_mobile', title: '手机号码'}
,{field: 'order_sn', title: '订单编号'}
,{field: 'total_pay_price', title: '订单金额 '}
,{title: '分销佣金', templet:'#money-info'}
,{field: 'status_desc', title: '佣金状态'}
,{field: 'distribution_create_time', title: '记录时间'}
]]
,page:true
,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 fix() {
$(".layui-table-main tr").each(function (index, val) {
$(".layui-table-fixed").each(function () {
$($(this).find(".layui-table-body tbody tr")[index]).height($(val).height());
});
});
$(".layui-table-header tr").each(function (index, val) {
$(".layui-table-fixed").each(function () {
$($(this).find(".layui-table-header thead tr")[index]).height($(val).height());
});
});
window.onresize = function () {
fix()
}
}
});
$('.day').click(function(){
$('.day').removeClass('layui-btn-normal');
$('.day').removeClass('layui-btn-primary');
$('.day').addClass('layui-btn-primary');
$(this).removeClass('layui-btn-primary');
$(this).addClass('layui-btn-normal');
var day = $(this).attr('day');
switch (day) {
case '-1':
$('#start_time').val('{$time.yesterday[0]}');
$('#end_time').val('{$time.yesterday[1]}');
break;
case '1':
$('#start_time').val('{$time.today[0]}');
$('#end_time').val('{$time.today[1]}');
break;
case '7':
$('#start_time').val('{$time.days_ago7[0]}');
$('#end_time').val('{$time.days_ago7[1]}');
break;
case '30':
$('#start_time').val('{$time.days_ago30[0]}');
$('#end_time').val('{$time.days_ago30[1]}');
break;
}
});
});
</script>

View File

@ -0,0 +1,115 @@
{layout name="layout1" /}
<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>
<p>*分销会员开通方式:申请分销是指,成为分销员需要申请并审核通过;全员分销是指,会员注册账号即成为分销会员;</p>
</div>
</div>
</div>
<!-- 分销设置 -->
<div class="layui-form" lay-filter="" style="margin-top:30px;">
<div class="layui-form-item">
<label class="layui-form-label" style="white-space: nowrap;width:120px ">自定义分销海报:</label>
<div class="layui-input-block">
<div class="like-upload-image">
{if $config.image}
<div class="upload-image-div">
<img src="{$config.image}" alt="img">
<input type="hidden" name="image" value="{$config.image}">
<div class="del-upload-btn">x</div>
</div>
<div class="upload-image-elem" style="display:none;"><a class="add-upload-image" id="image"> + 添加图片</a></div>
{else}
<div class="upload-image-elem"><a class="add-upload-image" id="image"> + 添加图片</a></div>
{/if}
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label" style="white-space: nowrap;width:120px "></label>
<div class="layui-input-block layui-word-aux">
自定义分销推广海报图片建议尺寸800*800像素
</div>
</div>
<div class="layui-form-item ">
<label class="layui-form-label" style="white-space: nowrap;width:120px ">分销会员开通方式:</label>
<div class="layui-input-block">
<input type="radio" name="member_apply" value="1" title="申请分销" {if
condition="$config.member_apply eq 1" }checked{/if}>
<input type="radio" name="member_apply" value="2" title="全员分销" {if
condition="$config.member_apply eq 2" }checked{/if}>
</div>
<div class="layui-form-mid layui-word-aux" style="white-space: nowrap">
不同的分销方式,会员获得分销资格的途径不同
</div>
</div>
<div class="layui-form-item ">
<label class="layui-form-label" style="white-space: nowrap;width:120px; ">分销功能:</label>
<div class="layui-input-inline">
<input type="radio" name="is_open" value="1" title="开启" {if
condition="$config.is_open eq 1" }checked{/if}>
<input type="radio" name="is_open" value="0" title="关闭" {if
condition="$config.is_open eq 0" }checked{/if}>
<div class=" layui-form-mid layui-word-aux" style="white-space: nowrap">
开启或关闭分销功能,关闭后不发放分销佣金,隐藏分销相关功能及界面。
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn layui-btn-sm {$view_theme_color}" lay-submit
lay-filter="confirm">确认
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.config({
version: "{$front_version}",
base: '/static/lib/'
}).use(['element', 'form'], function () {
var $ = layui.$
, form = layui.form
, element = layui.element;
// 图片上传
like.delUpload();
// 自定义分销海报
$(document).on("click", "#image", function () {
like.imageUpload({
limit: 1,
field: "image",
that: $(this)
});
})
form.on('submit(confirm)', function (data) {
like.ajax({
url: '{:url("distribution.setting/setting")}'
, data: data.field
, type: 'post'
, success: function (res) {
layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1500
}, function () {
location.href = location.href;
});
},
});
});
});
</script>