383 lines
20 KiB
HTML
Executable File
383 lines
20 KiB
HTML
Executable File
{include file="Public:header2"/}
|
|
|
|
<body>
|
|
<div class="layui-fluid">
|
|
<div class="layui-card">
|
|
<form method="get" class="layui-form layui-card-header layuiadmin-card-header-auto">
|
|
<div class="layui-form-item">
|
|
<div class="layui-inline">
|
|
<div class="layui-input-inline" style="width: 300px;margin-left: 0px">
|
|
<input type="text" name="title" value="{$Request.get.title}" placeholder="请输入盒子标题"
|
|
autocomplete="off" class="layui-input">
|
|
</div>
|
|
</div>
|
|
<div class="layui-inline">
|
|
<div class="layui-input-inline" style="width: 180px;margin-left: 0px">
|
|
<select name="status" style="width:100%">
|
|
<option value="">--请选择状态--</option>
|
|
<option value="1" {if condition="$Request.get.status eq 1" }selected{/if}>上架</option>
|
|
<option value="2" {if condition="$Request.get.status eq 2" }selected{/if}>下架</option>
|
|
<option value="3" {if condition="$Request.get.status eq 3" }selected{/if}>售罄</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="layui-inline">
|
|
<div class="layui-input-inline" style="width: 180px;margin-left: 0px">
|
|
<select name="type" style="width:100%">
|
|
<option value="">--盒子类型--</option>
|
|
{volist name="goodsTypeList" id="vo"}
|
|
<option value="{$vo.value}" {if condition="$Request.get.type eq $vo.value" }selected{/if} title="{$vo.remark}">{$vo.fl_name}</option>
|
|
{/volist}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="layui-inline">
|
|
<button class="layui-btn layuiadmin-btn-useradmin mmm" lay-submit
|
|
lay-filter="LAY-user-front-search">
|
|
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
|
|
<div class="layui-card-body">
|
|
<xblock>
|
|
<div style="padding-bottom: 10px;">
|
|
<a class="layui-btn" onclick="goods_add()">添加盒子</a>
|
|
<span style="line-height:40px;float:right;">共有数据: {$count}条</span>
|
|
</div>
|
|
</xblock>
|
|
<table class="layui-table">
|
|
<thead>
|
|
<tr>
|
|
<th>盒子ID</th>
|
|
<th>盒子类型</th>
|
|
<th>盒子名称</th>
|
|
<th>盒子价格</th>
|
|
<th>盒子图片</th>
|
|
<th>盒子详情图片</th>
|
|
<th>盒子套数</th>
|
|
<th>锁箱模式</th>
|
|
<!-- <th>发券开关</th>-->
|
|
<!-- <th>发积分开关</th>-->
|
|
<th>首页显示</th>
|
|
<th>
|
|
擂台赏<br>抽全局赏数量
|
|
</th>
|
|
<th>排序</th>
|
|
<th>状态</th>
|
|
<th>添加时间</th>
|
|
<th>操作</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{volist name="list" id="vo"}
|
|
<tr>
|
|
<td>
|
|
{if condition="$vo['type'] eq 1"}
|
|
<div onclicK="goodsextendlist_edit({$vo['id']},'{$vo.title}')" style="cursor:pointer;">
|
|
{$vo['id']}
|
|
</div>
|
|
{elseif condition="$vo['type'] eq 11"}
|
|
<div onclicK="goodsextendlist_edit({$vo['id']},'{$vo.title}')" style="cursor:pointer;">
|
|
{$vo['id']}
|
|
</div>
|
|
|
|
{else }
|
|
|
|
{$vo['id']}
|
|
{/if}
|
|
</td>
|
|
<td>
|
|
{if condition="$vo['type'] eq 1"}
|
|
<button class="layui-btn layui-btn-normal layui-btn-radius layui-btn-sm">一番赏</button>
|
|
{elseif condition="$vo['type'] eq 2"}
|
|
<button class="layui-btn layui-btn-normal layui-btn-radius layui-btn-sm">无限赏</button>
|
|
{elseif condition="$vo['type'] eq 3"}
|
|
<button class="layui-btn layui-btn-normal layui-btn-radius layui-btn-sm">擂台赏</button>
|
|
{elseif condition="$vo['type'] eq 5"}
|
|
<button class="layui-btn layui-btn-normal layui-btn-radius layui-btn-sm">积分赏</button>
|
|
{elseif condition="$vo['type'] eq 6"}
|
|
<button class="layui-btn layui-btn-normal layui-btn-radius layui-btn-sm">全局赏</button>
|
|
{elseif condition="$vo['type'] eq 8"}
|
|
<button class="layui-btn layui-btn-normal layui-btn-radius layui-btn-sm">领主赏</button>
|
|
{elseif condition="$vo['type'] eq 9"}
|
|
<button class="layui-btn layui-btn-normal layui-btn-radius layui-btn-sm">连击赏</button>
|
|
{elseif condition="$vo['type'] eq 10"}
|
|
<button class="layui-btn layui-btn-normal layui-btn-radius layui-btn-sm">商城赏</button>
|
|
{elseif condition="$vo['type'] eq 11"}
|
|
<button class="layui-btn layui-btn-normal layui-btn-radius layui-btn-sm">自制赏</button>
|
|
{/if}
|
|
</td>
|
|
<td>{$vo['title']}</td>
|
|
<td>{$vo['price']}</td>
|
|
<td><img src="{PHP} echo imageUrl($vo['imgurl']){/php}" style="width:60px;height:60px;">
|
|
</td>
|
|
<td>{if $vo['imgurl_detail']}<img src="{PHP} echo imageUrl($vo['imgurl_detail']){/php}"
|
|
style="width:60px;height:60px;">{/if}</td>
|
|
<td>{if $vo['stock'] gt 0}{$vo['stock']}{/if}</td>
|
|
<td>
|
|
{if condition="$vo['lock_is'] eq 1"}
|
|
<button class="layui-btn layui-btn-warm layui-btn-sm">状态:开启</button>
|
|
<br>
|
|
<button class="layui-btn layui-btn-warm layui-btn-sm">时间:{$vo['lock_time']}秒</button>
|
|
{/if}
|
|
</td>
|
|
<!-- <td>-->
|
|
<!-- {if $vo['coupon_is'] eq 1}-->
|
|
<!-- <button class="layui-btn layui-btn-warm layui-btn-sm">状态:开启</button>-->
|
|
<!-- <br>-->
|
|
<!-- <button class="layui-btn layui-btn-warm layui-btn-sm">概率:{$vo['coupon_pro']*1}%</button>-->
|
|
<!-- {/if}-->
|
|
<!-- </td>-->
|
|
<!-- <td>-->
|
|
<!-- {if $vo['integral_is'] eq 1}-->
|
|
<!-- <button class="layui-btn layui-btn-warm layui-btn-radius layui-btn-sm">开启</button>-->
|
|
<!-- {/if}-->
|
|
<!-- </td>-->
|
|
<td>
|
|
{if $vo['show_is'] eq 1}
|
|
<button class="layui-btn layui-btn-danger layui-btn-radius layui-btn-sm">否</button>
|
|
{/if}
|
|
</td>
|
|
<td>{if $vo['prize_num'] gt 0}{$vo['prize_num']}{/if}</td>
|
|
<td>{$vo['sort']}</td>
|
|
<td>
|
|
{if $vo['status'] eq 1}
|
|
<button onClick="del({$vo.id},2,'下架')"
|
|
class="layui-btn layui-btn-danger layui-btn-xs"><i
|
|
class="layui-icon"></i>下架</button>
|
|
<!-- <button class="layui-btn layui-btn-sucess layui-btn-radius layui-btn-sm">上架</button>-->
|
|
{elseif $vo['status'] eq 2}
|
|
<button onClick="del({$vo.id},1,'上架')" class="layui-btn layui-btn-info layui-btn-xs"><i
|
|
class="layui-icon"></i>上架</button>
|
|
<!-- <button class="layui-btn layui-btn-danger layui-btn-radius layui-btn-sm">下架</button>-->
|
|
{elseif $vo['status'] eq 3}
|
|
<button class="layui-btn layui-btn-disabled layui-btn-radius layui-btn-sm">售罄</button>
|
|
{/if}
|
|
</td>
|
|
<td>{$vo['addtime']|date="Y-m-d H:i"}</td>
|
|
<td>
|
|
<a style="text-decoration:none" title="编辑" onclick="goods_edit({$vo.id})"
|
|
class="layui-btn layui-btn-normal layui-btn-xs">
|
|
<i class="layui-icon layui-icon-edit"></i>编辑
|
|
</a>
|
|
<div style="margin-top: 8px"></div>
|
|
<a style="text-decoration:none" onclick="goodslist({$vo['id']},'{$vo.title}')"
|
|
class="layui-btn layui-btn-warm layui-btn-xs "><i
|
|
class="layui-icon layui-icon-cart-simple"></i>奖品</a>
|
|
<div style="margin-top: 8px"></div>
|
|
<a style="text-decoration:none" onclick="goods_sync({$vo['id']},{$vo['async_code']})"
|
|
class="layui-btn layui-btn-normal layui-btn-xs"><i
|
|
class="layui-icon layui-icon-sync"></i>同步</a>
|
|
<!-- {if condition="$vo['status'] eq 1"}-->
|
|
<!-- <button onClick="del({$vo.id},2,'下架')" class="layui-btn layui-btn-danger layui-btn-xs"><i class="layui-icon"></i>下架</button>-->
|
|
<!-- {else /}-->
|
|
|
|
<!-- {/if}-->
|
|
<div style="margin-top: 8px"></div>
|
|
<a style="text-decoration:none" onClick="del({$vo.id},3,'删除')"
|
|
class="layui-btn layui-btn-danger layui-btn-xs">
|
|
<i class="layui-icon layui-icon-delete"></i>删除
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
{/volist}
|
|
|
|
{if condition="empty($list)"}
|
|
<tr>
|
|
<td colspan='11' style="text-align:center;">暂时没有数据!</td>
|
|
</tr>
|
|
{/if}
|
|
|
|
</tbody>
|
|
</table>
|
|
<div class="layui-box layui-laypage layui-laypage-default">
|
|
{$page|raw}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{include file="Public:footer"/}
|
|
<script type="text/javascript">
|
|
layui.use(['layer', 'table'], function () {
|
|
var $ = layui.$;
|
|
|
|
|
|
})
|
|
|
|
//添加盒子
|
|
function goods_add() {
|
|
var url = "{:url('/admin/goods_add')}";
|
|
layer.open({
|
|
type: 2,
|
|
title: '添加盒子',
|
|
shadeClose: false,
|
|
shade: 0.3,
|
|
area: ['90%', '90%'],
|
|
content: url,
|
|
});
|
|
}
|
|
|
|
|
|
//编辑奖品
|
|
function goodsextendlist_edit(goods_id, title) {
|
|
var url = "{:url('/admin/goodsextendlist?goods_id=" + goods_id + "')}";
|
|
layer.open({
|
|
type: 2,
|
|
title: title + '奖品配置',
|
|
shadeClose: false,
|
|
// scrollbar:false,
|
|
shade: 0.3,
|
|
area: ['90%', '90%'],
|
|
content: url,
|
|
});
|
|
}
|
|
|
|
|
|
|
|
//编辑盒子
|
|
function goods_edit(id) {
|
|
var url = "{:url('/admin/goods_edit?id=" + id + "')}";
|
|
layer.open({
|
|
type: 2,
|
|
title: '编辑盒子',
|
|
shadeClose: false,
|
|
shade: 0.3,
|
|
area: ['90%', '90%'],
|
|
content: url,
|
|
});
|
|
}
|
|
|
|
//盒子奖品
|
|
function goodslist(goods_id, title) {
|
|
var url = "{:url('/admin/goodslist?goods_id=" + goods_id + "')}";
|
|
layer.open({
|
|
type: 2,
|
|
title: title + ' 盒子奖品',
|
|
shadeClose: false,
|
|
shade: 0.3,
|
|
area: ['95%', '95%'],
|
|
content: url,
|
|
});
|
|
}
|
|
|
|
//上下架
|
|
function del(id, type, type_name) {
|
|
layer.confirm('确认要执行' + type_name + '操作吗?', function () {
|
|
var url = "{:url('/admin/goods_del')}";
|
|
var load = layer.load(2);
|
|
var $ = layui.$;
|
|
$.post(url, { "id": id, 'type': type }, function (data) {
|
|
if (data.status == 1) {
|
|
layer.msg('操作成功', { icon: 1, time: 1000 }, function () {
|
|
location.reload();
|
|
});
|
|
} else {
|
|
layer.msg(data.msg, { icon: 2, anim: 6, time: 1000 }, function () {
|
|
layer.close(load);
|
|
});
|
|
}
|
|
})
|
|
});
|
|
}
|
|
|
|
|
|
//盒子奖品
|
|
function goods_sync(goods_id, async_code) {
|
|
layui.use(['table', 'form', 'layer','laytpl'], function () {
|
|
var table = layui.table, form = layui.form, layer = layui.layer,laytpl = layui.laytpl;
|
|
// 同步操作
|
|
var confirmMsg = async_code
|
|
? '警告:该盒子已经同步过,再次同步将会覆盖目标系统中的盒子数据!确定要继续吗?'
|
|
: '确定要同步该盒子吗?';
|
|
|
|
layer.confirm(confirmMsg, {
|
|
btn: ['确定', '取消'],
|
|
title: '同步确认',
|
|
skin: async_code ? 'layui-layer-danger' : ''
|
|
}, function (index) {
|
|
// 获取同步地址
|
|
$.get('{:url("/admin/get_sync_addresses")}', function (res) {
|
|
if (res.status === 1 && res.data.length > 0) {
|
|
// 渲染同步地址选择弹窗
|
|
layer.open({
|
|
type: 1,
|
|
title: '选择同步目标',
|
|
area: ['500px', '350px'],
|
|
content: laytpl($('#syncDialogTpl').html()).render({ syncAddresses: res.data }),
|
|
btn: ['开始同步', '取消'],
|
|
success: function () {
|
|
form.render(); // 重新渲染表单
|
|
// 监听全选
|
|
form.on('checkbox(syncAllFilter)', function (data) {
|
|
var syncTargets = $('input[name="syncTargets"]');
|
|
syncTargets.prop('checked', data.elem.checked);
|
|
form.render('checkbox');
|
|
});
|
|
},
|
|
yes: function (index, layero) {
|
|
var selectedTargets = [];
|
|
$('input[name="syncTargets"]:checked').each(function () {
|
|
selectedTargets.push($(this).val());
|
|
});
|
|
|
|
if (selectedTargets.length === 0) {
|
|
layer.msg('请至少选择一个同步目标', { icon: 2 });
|
|
return;
|
|
}
|
|
|
|
// 调用同步接口
|
|
layer.close(index);
|
|
var loadIndex = layer.load(2);
|
|
$.post('{:url("/admin/sync_goods")}', {
|
|
goods_id: goods_id,
|
|
targets: selectedTargets
|
|
}, function (res) {
|
|
layer.close(loadIndex);
|
|
if (res.status === 1) {
|
|
layer.msg('同步成功', { icon: 1 });
|
|
table.reload('testReload'); // 刷新表格
|
|
} else {
|
|
layer.msg(res.msg || '同步失败', { icon: 2 });
|
|
}
|
|
});
|
|
}
|
|
});
|
|
} else {
|
|
layer.msg('没有可用的同步目标,请先在系统设置中配置', { icon: 2 });
|
|
}
|
|
});
|
|
layer.close(index);
|
|
});
|
|
});
|
|
|
|
|
|
}
|
|
</script>
|
|
|
|
<!-- 在操作栏中添加同步按钮 -->
|
|
<script type="text/html" id="barDemo">
|
|
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
|
|
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
|
|
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="sync">同步</a>
|
|
</script>
|
|
|
|
<!-- 添加同步弹窗模板 -->
|
|
<script type="text/html" id="syncDialogTpl">
|
|
<div class="layui-form" style="padding: 20px;">
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label">选择同步目标</label>
|
|
<div class="layui-input-block">
|
|
<input type="checkbox" name="syncAll" title="全选" lay-filter="syncAllFilter">
|
|
{{# layui.each(d.syncAddresses, function(index, item){ }}
|
|
<input type="checkbox" name="syncTargets" value="{{ item.sync_address }}" title="{{ item.name }}" lay-skin="primary">
|
|
{{# }); }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</script>
|
|
|
|
</body>
|
|
|
|
</html> |