glhcp/server/app/admin/view/sign_daily/lists.html

381 lines
18 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

{layout name="layout1" /}
<style>
.layui-border-box {
margin-left: 40px;
margin-right: 40px;
}
.record {
display: none;
margin-top: 20px;
}
</style>
<div class="wrapper">
<div class="layui-form">
<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>
<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=1 class="layui-this">签到设置</li>
<li data-type=2>签到记录</li>
</ul>
<div class="layui-card-header"></div>
<div class="layui-form-item record">
<div class="layui-inline">
<label class="layui-form-label">会员信息:</label>
<div class="layui-input-inline">
<select name="type" id="type">
<option value=""></option>
<option value="sn">会员编号</option>
<option value="nickname">会员昵称</option>
<option value="mobile">手机号码</option>
</select>
</div>
<div class="layui-input-inline">
<input type="text" name="keyword" id="keyword" placeholder="请输入关键词" autocomplete="off"
class="layui-input">
</div>
<div class="layui-inline">
<button class="layui-btn layui-btn-sm {$view_theme_color}"lay-submit lay-filter="record-search">查询</button>
<button class="layui-btn layui-btn-sm layui-btn-primary " lay-submit lay-filter="record-clear-search">清空查询</button>
</div>
</div>
</div>
<!--每天签到奖励-->
<div class="layui-form-item sigh">
<label class="layui-form-label " style="margin-left: 20px;width: 100px">每天签到奖励:</label>
<div class="layui-input-inline " style="margin-right: 0px;width: 110px">
<input type="checkbox" name="integral_status" title="赠送积分" min="0" lay-skin="primary" {if
condition="$config['dailySign']['integral_status'] eq 1" }checked{/if}>
</div>
<div class="layui-input-inline">
<input type="number" name="integral" value="{$config.dailySign.integral}" lay-verType="tips" placeholder="请输入积分" autocomplete="off" class="layui-input">
</div>
<div class="layui-input-inline">
<label class="layui-form-mid">积分</label>
</div>
</div>
<div class="layui-form-item sigh">
<label class="layui-form-label" style="margin-left: 20px;width: 100px"></label>
<div class="layui-input-inline" style="margin-right: 0px;width: 110px">
<input type="checkbox" name="growth_status" title="赠送成长值" min="0" lay-skin="primary"
{if condition="$config['dailySign']['growth_status'] eq 1" }checked{/if}>
</div>
<div class="layui-input-inline">
<input type="number" name="growth" value="{$config.dailySign.growth}" lay-vertype="tips" placeholder="请输入成长值" autocomplete="off" class="layui-input">
</div>
<div class="layui-input-inline">
<label class="layui-form-mid">成长值</label>
</div>
</div>
<div class="layui-form-item sigh">
<div class="layui-inline">
<label class="layui-form-label" style="margin-left: 20px;width: 100px">连续签到奖励:</label>
<div class=" layui-form-mid layui-word-aux">连续签到奖励断签后会重新计算连续签到天数,达到连续天数后即可获得连续奖励</div>
</div>
</div>
<!--新增连续签到奖励-->
<div class="layui-form-item sigh">
<div class="layui-inline " style="margin-left: 15px;width: 100px">
<button class="layui-btn layui-btn-sm layEvent {$view_theme_color}" lay-event="add">新增连续签到奖励</button>
</div>
</div>
<div class="layui-card-body" style="margin-top: -20px">
<div class="layui-card">
<table id="like-table-lists" class="layui-border-box" lay-filter="like-table-lists"></table>
<script type="text/html" id="status">
<input type="checkbox" lay-filter="switch-status" data-id={{d.id}} data-field='is_recommend'
lay-skin="switch"
lay-text="是|否" {{# if(d.is_recommend){ }} checked {{# } }}/>
</script>
<!--连续天数-->
<script type="text/html" id="daysTpl">
{{# if( d.days == null || d.days == 0 || d.days == ''){ }}
----
{{# } else { }}
{{d.days}}
{{# } }}
</script>
<script type="text/html" id="table-operation">
<a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="del">删除</a>
</script>
<!--会员信息-->
<script type="text/html" id="user">
<img src="{{d.avatar}}" style="height:80px;width: 80px" class="image-show">
<div class="layui-input-inline" style="text-align: left">
<p>会员编号:{{d.user_id}}</p>
<p>昵称:{{d.nickname}}</p>
<p>手机号:{{d.mobile}}</p>
<p>性别:{{d.sex}}</p>
<p>注册时间:{{d.create_time}}</p>
</div>
</script>
<!--签到奖励-->
<script type="text/html" id="integral">
赠送{{d.integral}}积分赠送{{d.growth}}成长值
</script>
<!--连续奖励-->
<script type="text/html" id="continuous_integral">
赠送{{d.continuous_integral}}积分赠送{{d.continuous_growth}}成长值
</script>
</div>
</div>
<!--签到规则说明-->
<div class="layui-form-item sigh">
<div class="layui-card">
<label class="layui-form-label" style="margin-left: 20px;width: 100px">签到规则说明:</label>
<div class="layui-input-inline" style="width: 500px">
<textarea name="instructions" id="instructions" placeholder="请输入签到规则说明"
class="layui-textarea" style="width: 500px;height: 200px">{$config.instructions| default=''}</textarea>
</div>
<div class="layui-input-inline">
<button class="layui-btn layui-btn-primary " id="default">使用默认说明
</button>
</div>
</div>
</div>
<div class="layui-form-item sigh">
<label class="layui-form-label" style="width: 100px"></label>
<div class="layui-input-block" style="text-align: center; width: 950px;height: 60px">
<button class="layui-btn layui-btn-sm {$view_theme_color}" lay-submit lay-filter="formSign">
确认保存
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['table'], function () {
var $ = layui.$
, form = layui.form
, table = layui.table
, element = layui.element;
//监听搜索
form.on('submit(record-search)', function (data) {
var field = data.field;
//执行重载
table.reload('like-table-lists', {
where: field,
page: {curr: 1}
});
});
//清空记录查询
form.on('submit(record-clear-search)', function () {
$('#keyword').val('');
$('#type').val('');
form.render('select');
table.reload('like-table-lists', {
where: [],
page: {curr: 1}
});
});
//图片放大
$(document).on('click', '.image-show', function () {
var src = $(this).attr('src');
like.showImg(src, 600);
});
getList(1);
//切换列表
element.on('tab(tab-all)', function (data) {
var type = $(this).attr('data-type');
if (type == 1) {
$('.sigh').show();
$('.record').hide();
}
if (type == 2) {
$('.sigh').hide();
$('.record').show();
}
getList(type);
});
//签到规则默认说明
$('#default').click(function () {
$('#instructions').val('1.每天签到可以获得每天签到奖励;\n' +
'2.每日最多可签到1次断签则会重新计算连签天数达到连续天数后即可获得连续奖励\n' +
'3.活动以及奖励最终解释权归商家所有。')
})
//确定保存按钮
form.on('submit(formSign)', function (data) {
set(data, "{:url('sign_daily.SignDaily/signRule')}");
});
function set(data, url) {
like.ajax({
url: url
, data: data.field
, type: "post",
success: function (res) {
if (res.code == 1) {
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
}, function () {
location.href = location.href;
});
}
}
});
}
function getList(type) {
var tablecols = [
{field: 'days', title: '连续天数', templet: '#daysTpl',width:300}
, {field: 'award_tips', title: '连续奖励',width:400}
, {title: '操作', align: 'center', fixed: 'right', toolbar: '#table-operation',width:350}
];
var page = false;
var url = '{:url("sign_daily.SignDaily/lists")}';
if (type == 2) {
tablecols = [
{type:'numbers',title:'序号'}
, {field: 'user', title: '会员信息', align: 'center',templet:'#user',width:400}
, {field: 'days', title: '连续天数',width:100}
, {field: 'reward_tips', title: '签到奖励',templet:'#integral',width:250}
, {field: 'continuous_reward', title: '连续奖励',templet:'#continuous_integral',width:250}
, {fixed: 'right', field:'sign_time',title:'签到时间',width:250}
];
page = true;
url = '{:url("sign_daily.SignDaily/record")}';
}
like.tableLists("#like-table-lists", url, tablecols, {}, page);
}
//事件
var active = {
add: function () {
layer.open({
type: 2
, title: '新增连续签到奖励'
, content: '{:url("sign_daily.SignDaily/add",["type"=>2])}'
, area: ['60%', '60%']
, btn: ['确定', '取消']
, 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("sign_daily.SignDaily/add")}',
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('like-table-lists');
}
}
});
});
submit.trigger('click');
}
});
},
edit: function (obj) {
var id = obj.data.id;
layer.open({
type: 2
, title: '编辑连续签到奖励'
, content: '{:url("sign_daily.SignDaily/edit")}?id=' + id
, area: ['60%', '60%']
, btn: ['确定', '取消']
, yes: function (index, layero) {
var iframeWindow = window['layui-layer-iframe' + index]
, submitID = 'edit-sign_daily-submit'
, submit = layero.find('iframe').contents().find('#' + submitID);
//监听提交
iframeWindow.layui.form.on('submit(' + submitID + ')', function (data) {
var field = data.field;
like.ajax({
url: '{:url("sign_daily.SignDaily/edit")}',
data: field,
type: "post",
success: function (res) {
if (res.code == 1) {
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
layer.close(index);
table.reload('like-table-lists');
}
}
});
});
submit.trigger('click');
}
})
},
del: function (obj) {
var id = obj.data.id;
var day = obj.data.days;
layer.confirm('确定移除连续签到奖励:' + '<span style="color: red">' + day + '天</span>', function (index) {
like.ajax({
url: '{:url("sign_daily.SignDaily/del")}',
data: {'id': id},
type: "post",
success: function (res) {
if (res.code == 1) {
obj.del();
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
layer.close(index);
}
},
});
});
}
}
like.eventClick(active);
});
</script>