修改会员升级

This commit is contained in:
Anyon 2022-04-18 13:39:14 +08:00
parent eb4ced8645
commit e238645b94
3 changed files with 33 additions and 22 deletions

View File

@ -80,6 +80,11 @@ class Upgrade extends Controller
$vo['teams_direct_status'] = isset($vo['teams_direct_status']) ? 1 : 0;
$vo['teams_indirect_status'] = isset($vo['teams_indirect_status']) ? 1 : 0;
$vo['order_amount_status'] = isset($vo['order_amount_status']) ? 1 : 0;
// 默认等级去除条件
if (empty($vo['number'])) {
$vo['rebate_rule'] = [];
foreach ($vo as $k => &$v) if (is_numeric(stripos($k, '_status'))) $v = 0;
}
// 根据数量判断状态
$vo['teams_users_status'] = intval($vo['teams_users_status'] && $vo['teams_users_number'] > 0);
$vo['teams_direct_status'] = intval($vo['teams_direct_status'] && $vo['teams_direct_number'] > 0);
@ -108,7 +113,7 @@ class Upgrade extends Controller
$order = 'number asc,utime desc';
}
foreach (BaseUserUpgrade::mk()->order($order)->select() as $number => $upgrade) {
$upgrade->save(['number' => $number + 1]);
$upgrade->save(['number' => $number]);
}
}
}

View File

@ -3,14 +3,16 @@
top: 0;
left: -10px;
right: -10px;
bottom: 2px;
color: #fff;
bottom: 3px;
color: #FFF;
display: flex;
position: absolute;
font-size: 24px;
text-align: center;
line-height: 190px;
border-radius: 5px;
background: rgba(0, 0, 0, 0.6);
font-size: 18px;
border-radius: 3px;
align-items: center;
justify-content: center;
background: rgba(0, 0, 0, 0.4);
text-shadow: #666 1px 1px 3px;
}
</style>
@ -21,9 +23,9 @@
<legend><span class="layui-badge layui-bg-cyan">用户等级</span></legend>
<div class="layui-form-item layui-row layui-col-space15">
<div class="layui-col-xs3 block relative">
<b class="color-green label-required-prev">等级序号</b><span class="margin-left-5 color-desc">Serial</span>
<span class="help-label label-required-prev"><b>等级序号</b>Serial</span>
<select class="layui-select" name="number" lay-filter="number">
{for start="1" end="$max" name="i"}{if isset($vo.number) and $vo.number eq $i}
{for start="0" end="$max" name="i"}{if isset($vo.number) and $vo.number eq $i}
<option selected value="{$i}">当前 VIP {$vo.number} 等级</option>
{else}
<option value="{$i}">设置 VIP {$i} 等级</option>
@ -31,7 +33,7 @@
</select>
</div>
<label class="layui-col-xs9 block relative">
<b class="color-green label-required-prev">等级名称</b><span class="margin-left-5 color-desc">Name</span>
<span class="help-label label-required-prev"><b>等级名称</b>Name</span>
<input class="layui-input" name="name" placeholder="请输入等级名称" required value="{$vo.name|default=''}">
</label>
</div>
@ -135,12 +137,13 @@
<fieldset class="layui-form-item">
<legend><span class="layui-badge layui-bg-cyan">奖利规则</span></legend>
<div class="layui-form-item notselect">
<div class="layui-form-item notselect relative">
{foreach $prizes as $prize}{if isset($vo.rebate_rule) && is_array($vo.rebate_rule) && in_array($prize.code, $vo.rebate_rule)}
<label class="think-checkbox"><input checked lay-ignore name="rebate_rule[]" type="checkbox" value="{$prize.code}"> {$prize.name}</label>
{else}
<label class="think-checkbox"><input lay-ignore name="rebate_rule[]" type="checkbox" value="{$prize.code}"> {$prize.name}</label>
{/if}{/foreach}
<div data-level-zero class="layui-hide notselect">默认等级,无需配置升级规则</div>
</div>
</fieldset>
@ -162,14 +165,14 @@
</div>
<script>
(function ($ele) {
$(function () {
var $elem = $('[data-level-zero]');
layui.form.on('select(number)', apply);
apply({value: parseInt("{$vo.number|default='0'}")});
function apply(data) {
data.value > 0 ? $ele.addClass('layui-hide') : $ele.removeClass('layui-hide');
data.value > 0 ? $elem.addClass('layui-hide') : $elem.removeClass('layui-hide');
}
})($('[data-level-zero]'));
});
</script>
</form>

View File

@ -6,11 +6,10 @@
<!--{/if}-->
<!--{if auth("sync")}-->
<button class='layui-btn layui-btn-sm layui-btn-primary' data-queue="{:url('sync')}">添加用户</button>
<button class='layui-btn layui-btn-sm layui-btn-primary' data-queue="{:url('sync')}">同步用户</button>
<!--{/if}-->
{/block}
{block name="content"}
<div class="think-box-shadow">
<table id="UpgradeTable" data-url="{:sysuri()}" data-target-search="form.form-search"></table>
@ -24,10 +23,14 @@
$('#UpgradeTable').layTable({
even: true, height: 'full',
cols: [[
{field: 'number', title: '等级名称', align: 'left', minWidth: 140, templet: '<div>[ VIP{{d.number}} ] {{d.name}}</div>'},
{
field: 'number', title: '等级名称', align: 'left', minWidth: 140, templet: function (d) {
return laytpl('<div>[ <b class="color-blue">VIP{{d.number}}</b> ] {{d.name}}</div>').render(d);
}
},
{
field: 'upgrade_team', title: '团队计数', align: 'center', minWidth: 80, templet: function (d) {
if (!d.upgrade_team || d.upgrade_team < 1) return '';
if (!d.upgrade_team || d.upgrade_team < 1) return '-';
return '<b class="layui-icon layui-icon-ok-circle color-green"></b>';
}
},
@ -39,7 +42,7 @@
},
{
field: 'goods_vip_status', title: '入会礼包', align: 'center', minWidth: 80, templet: function (d) {
if (!d.goods_vip_status || d.goods_vip_status < 1) return '';
if (!d.goods_vip_status || d.goods_vip_status < 1) return '-';
return '<b class="layui-icon layui-icon-ok-circle color-green"></b>';
}
},
@ -68,7 +71,7 @@
}
},
{
field: 'rebate_rule', title: '奖利规则', align: 'center', minWidth: 140, templet: function (d) {
field: 'rebate_rule', title: '奖利规则', align: 'center', minWidth: 100, templet: function (d) {
return (d.html = ''), (d.rebate_rule || []).forEach(function (rule) {
d.html += laytpl('<span class="layui-badge layui-bg-gray">{{d.v}}</span>').render({v: rule});
}), d.html || '-';