修改盒柜

This commit is contained in:
manghe 2025-03-22 04:47:34 +00:00
parent 724ce08559
commit 8cb67eb25c
7 changed files with 448 additions and 295 deletions

View File

@ -37,6 +37,19 @@ abstract class MyController extends BaseController
return json($this->renderJson($status, $msg, $data));
}
/**
* 返回layui.table格式的数据
*/
protected function renderTable($msg = 'success', $count = 0, $data = [], $code = 0)
{
return json([
'code' => $code,
'msg' => $msg,
'count' => $count,
'data' => $data
]);
}
/**
* 获取post数据 (数组)
*/

View File

@ -20,25 +20,56 @@ class Goods extends Base
*/
public function goods(Request $request)
{
$title = trim(input('get.title'));
$status = trim(input('get.status'));
$type = trim(input('get.type'));
$whe = array();
if ($title) {
$whe[] = ['title', 'like', '%' . $title . '%'];
}
if ($status) {
$whe[] = ['status', '=', $status];
}
if ($type) {
$whe[] = ['type', '=', $type];
} else {
$whe[] = ['type', 'notIn', [4, 7]];
}
$field = "*";
$order = "id desc";
$data = GoodsModel::getList($whe, $field, $order, $this->page);
return View::fetch("Goods/goods");
}
/**
* 获取盒子列表数据(前后端分离接口)
*/
public function getGoodsList(Request $request)
{
$page = $request->param('page/d', 1);
$limit = $request->param('limit/d', 20);
$title = $request->param('title/s', '');
$status = $request->param('status/s', '');
$type = $request->param('type/s', '');
// 构建查询条件
$where = [];
if (!empty($title)) {
$where[] = ['title', 'like', "%{$title}%"];
}
if ($status !== '') {
$where[] = ['status', '=', $status];
}
if ($type !== '') {
$where[] = ['type', '=', $type];
}
$query = GoodsModel::where($where)->order('id desc');
$count = $query->count();
$list = $query->page($page, $limit)->select()->toArray();
// 处理图片路径
foreach ($list as &$item) {
$item['imgurl'] = imageUrl($item['imgurl']);
if (!empty($item['imgurl_detail'])) {
$item['imgurl_detail'] = imageUrl($item['imgurl_detail']);
}
// 添加格式化时间
$item['addtime_text'] = date('Y-m-d H:i', $item['addtime']);
}
return $this->renderTable('获取成功', $count, $list);
}
/**
* 获取盒子类型列表(前后端分离接口)
*/
public function getGoodsTypeList()
{
// 查询可用的盒子类型
$goodsTypeList = Db::name('goods_type')
->field('value,sort_order,remark,is_fenlei,fl_name')
@ -47,11 +78,7 @@ class Goods extends Base
->select()
->toArray();
View::assign('goodsTypeList', $goodsTypeList);
View::assign('list', $data['list']);
View::assign('count', $data['count']);
View::assign('page', $data['page']);
return View::fetch("Goods/goods");
return $this->renderTable('获取成功', count($goodsTypeList), $goodsTypeList);
}
/**

View File

@ -150,6 +150,8 @@ Route::rule('card_set', 'CardGoods/card_set', 'GET|POST');
#Goods.php盒子管理
#============================
Route::rule('goods', 'Goods/goods', 'GET|POST');
Route::rule('api/goods/list', 'Goods/getGoodsList', 'GET');
Route::rule('api/goods/types', 'Goods/getGoodsTypeList', 'GET');
Route::rule('goods_add', 'Goods/goods_add', 'GET|POST');
Route::rule('goods_edit', 'Goods/goods_edit', 'GET|POST');
Route::rule('goods_del', 'Goods/goods_del', 'GET|POST');

View File

@ -1,212 +1,286 @@
{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 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">
<div class="layui-input-inline" style="width: 300px;margin-left: 0px">
<input type="text" name="title" id="title" placeholder="请输入盒子标题" autocomplete="off"
class="layui-input">
</div>
</div>
</form>
<div class="layui-card-body">
<xblock>
<div style="padding-bottom: 10px;">
<a class="layui-btn" onclick="goods_add()">添加盒子</a>
<a class="layui-btn layui-btn-normal" onclick="offshelf_log()">自动下架日志</a>
<span style="line-height:40px;float:right;">共有数据: {$count}条</span>
<div class="layui-inline">
<div class="layui-input-inline" style="width: 180px;margin-left: 0px">
<select name="status" id="status" style="width:100%">
<option value="">--请选择状态--</option>
<option value="1">上架</option>
<option value="2">下架</option>
<option value="3">售罄</option>
</select>
</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>自动下架</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['show_is'] eq 1}
<button class="layui-btn layui-btn-danger layui-btn-radius layui-btn-sm"></button>
{/if}
</td>
<td>
{if $vo['is_auto_xiajia'] eq 1}
<button class="layui-btn layui-btn-warm layui-btn-radius layui-btn-sm">已开启</button>
<br>
<button class="layui-btn layui-btn-warm layui-btn-sm">利润值:{$vo.xiajia_lirun}%</button>
<br>
<button class="layui-btn layui-btn-warm layui-btn-sm">阈值:{$vo.xiajia_auto_coushu}抽</button>
{else}
<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">&#xe61a;</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">&#xe619;</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>
<div style="margin-top: 8px"></div>
<a style="text-decoration:none" onclick="clear_goods_data({$vo.id})"
class="layui-btn layui-btn-danger layui-btn-xs">
<i class="layui-icon layui-icon-delete"></i>清空抽奖
</a>
<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 class="layui-inline">
<div class="layui-input-inline" style="width: 180px;margin-left: 0px">
<select name="type" id="goodsType" style="width:100%">
<option value="">--盒子类型--</option>
<!-- 盒子类型由JS动态加载 -->
</select>
</div>
</div>
<div class="layui-inline">
<button class="layui-btn layuiadmin-btn-useradmin" id="searchBtn">
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
</button>
</div>
</div>
</div>
<div class="layui-card-body">
<div style="padding-bottom: 10px;" id="goods-select">
<button class="layui-btn" id="addGoodsBtn">添加盒子</button>
<button class="layui-btn layui-btn-normal" id="offshelfLogBtn">自动下架日志</button>
</div>
<table id="goodsTable" lay-filter="goodsTable"></table>
</div>
</div>
</div>
<!-- 盒子类型模板 -->
<script type="text/html" id="typeTpl">
{{#
var typeNames = {};
layui.each(window.goodsTypes || [], function(index, item) {
typeNames[item.value] = item.fl_name;
});
var typeName = typeNames[d.type] || ('未知类型' + d.type);
}}
<button class="layui-btn layui-btn-normal layui-btn-radius layui-btn-sm">{{typeName}}</button>
</script>
<!-- 盒子状态模板 -->
<script type="text/html" id="statusTpl">
{{# if(d.status == 1){ }}
<button data-id="{{d.id}}" data-status="2" data-name="下架" class="goods-status layui-btn layui-btn-danger layui-btn-xs">
<i class="layui-icon">&#xe61a;</i>下架
</button>
{{# } else if(d.status == 2){ }}
<button data-id="{{d.id}}" data-status="1" data-name="上架" class="goods-status layui-btn layui-btn-info layui-btn-xs">
<i class="layui-icon">&#xe619;</i>上架
</button>
{{# } else if(d.status == 3){ }}
<button class="layui-btn layui-btn-disabled layui-btn-radius layui-btn-sm">售罄</button>
{{# } }}
</script>
<!-- 自动下架模板 -->
<script type="text/html" id="autoOffshelfTpl">
{{# if(d.is_auto_xiajia == 1){ }}
<button class="layui-btn layui-btn-warm layui-btn-radius layui-btn-sm">已开启</button>
<br>
<button class="layui-btn layui-btn-warm layui-btn-sm">利润值:{{d.xiajia_lirun}}%</button>
<br>
<button class="layui-btn layui-btn-warm layui-btn-sm">阈值:{{d.xiajia_auto_coushu}}抽</button>
{{# } else { }}
<button class="layui-btn layui-btn-danger layui-btn-radius layui-btn-sm">未开启</button>
{{# } }}
</script>
<!-- 首页显示模板 -->
<script type="text/html" id="showIsTpl">
{{# if(d.show_is == 1){ }}
<button class="layui-btn layui-btn-danger layui-btn-radius layui-btn-sm"></button>
{{# } }}
</script>
<!-- 锁箱模式模板 -->
<script type="text/html" id="lockIsTpl">
{{# if(d.lock_is == 1){ }}
<button class="layui-btn layui-btn-warm layui-btn-sm">状态:开启</button>
<br>
<button class="layui-btn layui-btn-warm layui-btn-sm">时间:{{d.lock_time}}秒</button>
{{# } }}
</script>
<!-- 操作栏模板 -->
<script type="text/html" id="toolbarTpl">
<div class="user-extra-info">
<div>
<a style="text-decoration:none" title="编辑" lay-event="edit" class="layui-btn layui-btn-normal layui-btn-xs">
<i class="layui-icon layui-icon-edit"></i>编辑
</a>
<a style="text-decoration:none" lay-event="goodslist" class="layui-btn layui-btn-warm layui-btn-xs">
<i class="layui-icon layui-icon-cart-simple"></i>奖品
</a>
</div>
<div>
<a style="text-decoration:none" lay-event="sync" class="layui-btn layui-btn-normal layui-btn-xs">
<i class="layui-icon layui-icon-sync"></i>同步
</a>
<a style="text-decoration:none" lay-event="clear" class="layui-btn layui-btn-danger layui-btn-xs">
<i class="layui-icon layui-icon-delete"></i>清空抽奖
</a>
</div>
<a style="text-decoration:none" lay-event="delete" class="layui-btn layui-btn-danger layui-btn-xs">
<i class="layui-icon layui-icon-delete"></i>删除
</a>
</div>
</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>
{include file="Public:footer"/}
<script type="text/javascript">
layui.use(['layer', 'table'], function () {
var table;
var form;
var layer;
var laytpl;
layui.use(['layer', 'table', 'form', 'laytpl'], function () {
var $ = layui.$;
table = layui.table;
form = layui.form;
layer = layui.layer;
laytpl = layui.laytpl;
// 加载盒子类型数据
$.ajax({
url: '{:url("/admin/api/goods/types")}',
type: 'GET',
success: function(res) {
if (res.code === 0) {
// 保存类型数据到全局变量
window.goodsTypes = res.data;
var html = '<option value="">--盒子类型--</option>';
$.each(res.data, function(index, item) {
html += '<option value="' + item.value + '" title="' + item.remark + '">' + item.fl_name + '</option>';
});
$('#goodsType').html(html);
form.render('select');
}
}
});
})
// 初始化表格
var tableIns = table.render({
elem: '#goodsTable',
url: '{:url("/admin/api/goods/list")}',
page: true,
limit: 20,
height: 'full-' + ($("#goods-select").height() + 140),
cols: [[
{
field: 'id', title: '盒子ID', width: 80, templet: function (d) {
if (d.type == 1 || d.type == 11) {
return '<div style="cursor:pointer;" class="goodsextend-btn" data-id="' + d.id + '" data-title="' + d.title + '">' + d.id + '</div>';
} else {
return d.id;
}
}
},
{ field: 'type', title: '盒子类型', width: 120, templet: '#typeTpl' },
{ field: 'title', title: '盒子名称', width: 200 },
{ field: 'price', title: '盒子价格', width: 100 },
{
field: 'imgurl', title: '盒子图片', width: 90, templet: function (d) {
return '<img src="' + d.imgurl + '" style="width:60px;height:60px;" class="layui-admin-img" onclick="previewImg(this)">';
}
},
{
field: 'imgurl_detail', title: '盒子详情图片', width: 90, templet: function (d) {
return d.imgurl_detail ? '<img src="' + d.imgurl_detail + '" style="width:60px;height:60px;" class="layui-admin-img" onclick="previewImg(this)">' : '';
}
},
{ field: 'stock', title: '盒子套数', width: 100 },
{ field: 'lock_is', title: '锁箱模式', width: 150, templet: '#lockIsTpl' },
{ field: 'show_is', title: '首页显示', width: 100, templet: '#showIsTpl' },
{ field: 'is_auto_xiajia', title: '自动下架', width: 150, templet: '#autoOffshelfTpl' },
{ field: 'prize_num', title: '擂台赏<br>抽全局赏数量', width: 90 },
{ field: 'sort', title: '排序', width: 80 },
{ field: 'status', title: '状态', width: 100, templet: '#statusTpl' },
{ field: 'addtime_text', title: '添加时间', width: 160 },
{ fixed: 'right', title: '操作', width: 150, toolbar: '#toolbarTpl' }
]],
done: function () {
// 绑定状态切换事件
$('.goods-status').on('click', function () {
var id = $(this).data('id');
var type = $(this).data('status');
var type_name = $(this).data('name');
del(id, type, type_name);
});
// 绑定扩展奖品点击事件
$('.goodsextend-btn').on('click', function () {
var goods_id = $(this).data('id');
var title = $(this).data('title');
goodsextendlist_edit(goods_id, title);
});
}
});
// 搜索按钮点击事件
$('#searchBtn').on('click', function () {
tableIns.reload({
where: {
title: $('#title').val(),
status: $('#status').val(),
type: $('#goodsType').val()
},
page: {
curr: 1
}
});
});
// 添加盒子按钮点击事件
$('#addGoodsBtn').on('click', function () {
goods_add();
});
// 自动下架日志按钮点击事件
$('#offshelfLogBtn').on('click', function () {
offshelf_log();
});
// 监听工具条事件
table.on('tool(goodsTable)', function (obj) {
var data = obj.data;
var layEvent = obj.event;
if (layEvent === 'edit') {
// 编辑盒子
goods_edit(data.id);
} else if (layEvent === 'goodslist') {
// 查看奖品
goodslist(data.id, data.title);
} else if (layEvent === 'sync') {
// 同步盒子
goods_sync(data.id, data.async_code);
} else if (layEvent === 'clear') {
// 清空抽奖数据
clear_goods_data(data.id);
} else if (layEvent === 'delete') {
// 删除盒子
del(data.id, 3, '删除');
}
});
});
//添加盒子
function goods_add() {
@ -236,23 +310,20 @@
//编辑奖品
function goodsextendlist_edit(goods_id, title) {
var url = "{:url('/admin/goodsextendlist?goods_id=" + goods_id + "')}";
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 + "')}";
var url = "{:url('/admin/goods_edit')}?id=" + id;
layer.open({
type: 2,
title: '编辑盒子',
@ -265,7 +336,7 @@
//盒子奖品
function goodslist(goods_id, title) {
var url = "{:url('/admin/goodslist?goods_id=" + goods_id + "')}";
var url = "{:url('/admin/goodslist')}?goods_id=" + goods_id;
layer.open({
type: 2,
title: title + ' 盒子奖品',
@ -284,8 +355,9 @@
var $ = layui.$;
$.post(url, { "id": id, 'type': type }, function (data) {
if (data.status == 1) {
layer.close(load);
layer.msg('操作成功', { icon: 1, time: 1000 }, function () {
location.reload();
table.reload('goodsTable');
});
} else {
layer.msg(data.msg, { icon: 2, anim: 6, time: 1000 }, function () {
@ -296,11 +368,12 @@
});
}
//盒子奖品
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;
layui.use(['table', 'form', 'layer', 'laytpl'], function () {
var table = layui.table, form = layui.form, layer = layui.layer, laytpl = layui.laytpl;
var $ = layui.$;
// 同步操作
var confirmMsg = async_code
? '警告:该盒子已经同步过,再次同步将会覆盖目标系统中的盒子数据!确定要继续吗?'
@ -351,7 +424,8 @@
layer.close(loadIndex);
if (res.status === 1) {
layer.msg('同步成功', { icon: 1 });
table.reload('testReload'); // 刷新表格
table.reload('goodsTable');
} else {
layer.msg(res.msg || '同步失败', { icon: 2 });
}
@ -365,8 +439,6 @@
layer.close(index);
});
});
}
// 清空盒子抽奖数据
@ -380,9 +452,10 @@
var load = layer.load(2);
var $ = layui.$;
$.post(url, { "id": id }, function (data) {
layer.close(load);
if (data.status == 1) {
layer.msg(data.msg, { icon: 1, time: 2000 }, function () {
location.reload();
table.reload('goodsTable');
});
} else {
layer.msg(data.msg, { icon: 2, anim: 6, time: 2000 }, function () {
@ -393,30 +466,66 @@
layer.close(index);
});
}
// 图片预览功能
function previewImg(obj) {
var img = new Image();
img.src = obj.src;
layer.open({
type: 1,
title: false,
closeBtn: 1,
shadeClose: true,
area: [img.width > 800 ? '800px' : img.width+'px', ''],
content: '<div style="text-align: center;"><img src="' + obj.src + '" style="max-width: 100%;" /></div>'
});
}
</script>
<style>
.layui-table td {
padding: 10px 15px;
/* 调整单元格内边距 */
height: 100px !important;
}
<!-- 在操作栏中添加同步按钮 -->
<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>
.combined-values div {
margin: 0;
padding: 0px 0;
<!-- 添加同步弹窗模板 -->
<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>
}
.layui-table-cell {
height: 100px !important;
line-height: 28px;
padding: 0 15px;
position: relative;
box-sizing: border-box
}
.layui-table thead th {
height: 30px !important;
}
.layui-table thead th div {
height: 30px !important;
}
.layui-table-col-special {
height: 30px !important;
}
/* 图片放大样式 */
.layui-admin-img {
cursor: pointer;
transition: all 0.3s;
}
.layui-admin-img:hover {
transform: scale(1.1);
box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
</style>
</body>
</html>

View File

@ -13,7 +13,8 @@
<label class="layui-form-label">盒子类型</label>
<div class="layui-input-inline" style="width:800px">
{volist name="goodsTypeList" id="vo"}
<input type="radio" name="type" value="{$vo.value}" lay-filter="type" class="layui-input" title="{$vo.fl_name}" {if $key eq 0}checked{/if}>
<input type="radio" name="type" value="{$vo.value}" lay-filter="type"
class="layui-input" title="{$vo.fl_name}" {if $key eq 0}checked{/if}>
{/volist}
</div>
</div>
@ -57,9 +58,8 @@
<div class="layui-form-item">
<label class="layui-form-label">抽奖门槛:</label>
<div class="layui-input-inline">
<input type="text" name="choujiang_xianzhi" value="0"
placeholder="请输入抽奖门槛" autocomplete="off" class="layui-input"
style="width: 600px">
<input type="text" name="choujiang_xianzhi" value="0" placeholder="请输入抽奖门槛"
autocomplete="off" class="layui-input" style="width: 600px">
</div>
</div>
<div class="layui-form-item id_stock">
@ -72,7 +72,8 @@
<div class="layui-form-item id_stock" id="div_quanju_xiangou" style="display: none;">
<label class="layui-form-label">限购次数</label>
<div class="layui-input-inline">
<input type="number" name="quanju_xiangou" value="0" placeholder="请输入每个箱子的限购次数" class="layui-input" style="width: 600px">
<input type="number" name="quanju_xiangou" value="0" placeholder="请输入每个箱子的限购次数"
class="layui-input" style="width: 600px">
</div>
</div>
<div class="layui-form-item id_lock_is">
@ -203,20 +204,24 @@
<div class="layui-form-item">
<label class="layui-form-label">自动下架</label>
<div class="layui-input-inline" style="width: 600px">
<input type="radio" name="is_auto_xiajia" value="0" lay-filter="autoXiajia" class="layui-input" title="关闭" checked>
<input type="radio" name="is_auto_xiajia" value="1" lay-filter="autoXiajia" class="layui-input" title="开启">
<input type="radio" name="is_auto_xiajia" value="0" lay-filter="autoXiajia"
class="layui-input" title="关闭" checked>
<input type="radio" name="is_auto_xiajia" value="1" lay-filter="autoXiajia"
class="layui-input" title="开启">
</div>
</div>
<div class="layui-form-item xiajia-config" style="display: none;">
<label class="layui-form-label">下架利润值(%)</label>
<div class="layui-input-inline" style="width: 600px">
<input type="number" name="xiajia_lirun" value="0" placeholder="请输入下架利润值(百分比,可以为负)" class="layui-input" style="width: 600px">
<input type="number" name="xiajia_lirun" value="0"
placeholder="请输入下架利润值(百分比,可以为负)" class="layui-input" style="width: 600px">
</div>
</div>
<div class="layui-form-item xiajia-config" style="display: none;">
<label class="layui-form-label">下架抽数阈值</label>
<div class="layui-input-inline" style="width: 600px">
<input type="number" name="xiajia_auto_coushu" value="0" placeholder="请输入从多少抽数后开始检测" class="layui-input" style="width: 600px">
<input type="number" name="xiajia_auto_coushu" value="0"
placeholder="请输入从多少抽数后开始检测" class="layui-input" style="width: 600px">
</div>
</div>
<div class="layui-form-item">
@ -251,14 +256,14 @@
</div>
{include file="Public:footer"/}
<script>
layui.use(['form', 'layedit', 'laydate','jquery'], function () {
layui.use(['form', 'layedit', 'laydate', 'jquery'], function () {
let form = layui.form,
$ = layui.jquery,
layer = layui.layer;
// 自动下架开关切换事件
form.on('radio(autoXiajia)', function(data){
if(data.value == "1"){
form.on('radio(autoXiajia)', function (data) {
if (data.value == "1") {
$('.xiajia-config').show();
} else {
$('.xiajia-config').hide();
@ -502,7 +507,8 @@
layer.msg(data.msg, { icon: 1, time: 1500 }, function () {
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
parent.layer.close(index);
parent.location.reload();
// parent.location.reload();
parent.table.reload('goodsTable');
});
} else {
layer.msg(data.msg, { icon: 2, anim: 6, time: 1500 }, function () {

View File

@ -13,7 +13,8 @@
<label class="layui-form-label">盒子类型</label>
<div class="layui-input-inline" style="width: 700px">
{volist name="goodsTypeList" id="vo"}
<input type="radio" value="{$vo.value}" lay-filter="type" class="layui-input" title="{$vo.fl_name}" disabled {if $type eq $vo.value} checked {/if}>
<input type="radio" value="{$vo.value}" lay-filter="type" class="layui-input"
title="{$vo.fl_name}" disabled {if $type eq $vo.value} checked {/if}>
{/volist}
</div>
</div>
@ -214,17 +215,21 @@
<div class="layui-form-item">
<label class="layui-form-label">自动下架</label>
<div class="layui-input-inline" style="width: 600px">
<input type="radio" name="is_auto_xiajia" value="0" lay-filter="autoXiajia" class="layui-input" title="关闭" {if $info.is_auto_xiajia eq 0} checked {/if}>
<input type="radio" name="is_auto_xiajia" value="1" lay-filter="autoXiajia" class="layui-input" title="开启" {if $info.is_auto_xiajia eq 1} checked {/if}>
<input type="radio" name="is_auto_xiajia" value="0" lay-filter="autoXiajia"
class="layui-input" title="关闭" {if $info.is_auto_xiajia eq 0} checked {/if}>
<input type="radio" name="is_auto_xiajia" value="1" lay-filter="autoXiajia"
class="layui-input" title="开启" {if $info.is_auto_xiajia eq 1} checked {/if}>
</div>
</div>
<div class="layui-form-item xiajia-config" {$info['is_auto_xiajia']?'':'style="display:none"'}>
<div class="layui-form-item xiajia-config"
{$info['is_auto_xiajia']?'':'style="display:none"'}>
<label class="layui-form-label">下架利润值(%)</label>
<div class="layui-input-inline" style="width: 600px">
<input type="number" name="xiajia_lirun" value="{$info.xiajia_lirun|default=0}" placeholder="请输入下架利润值(百分比,可以为负)" class="layui-input" style="width: 600px">
</div>
</div>
<div class="layui-form-item xiajia-config" {$info['is_auto_xiajia']?'':'style="display:none"'}>
<div class="layui-form-item xiajia-config" {$info['
is_auto_xiajia']?'':'style="display:none"'}>
<label class="layui-form-label">下架抽数阈值</label>
<div class="layui-input-inline" style="width: 600px">
<input type="number" name="xiajia_auto_coushu" value="{$info.xiajia_auto_coushu|default=0}" placeholder="请输入从多少抽数后开始检测" class="layui-input" style="width: 600px">
@ -264,24 +269,13 @@
</div>
{include file="Public:footer"/}
<script>
layui.use(['form', 'layedit', 'laydate','jquery'], function () {
let form = layui.form,
$ = layui.jquery,
layer = layui.layer;
// 自动下架开关切换事件
form.on('radio(autoXiajia)', function(data){
if(data.value == "1"){
$('.xiajia-config').show();
} else {
$('.xiajia-config').hide();
}
});
// 其他初始化逻辑
// ... 现有代码 ...
});
</script>
layui.use([' form', 'layedit', 'laydate', 'jquery'], function () {
let form = layui.form, $ = layui.jquery,
layer = layui.layer; // 自动下架开关切换事件 form.on('radio(autoXiajia)', function(data){
if (data.value == "1") { $('.xiajia-config').show(); } else {
$('.xiajia-config').hide();
}
}); // 其他初始化逻辑 // ... 现有代码 ... }); </script>
</body>
</html>
@ -520,7 +514,8 @@
layer.msg(data.msg, { icon: 1, time: 1500 }, function () {
var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
parent.layer.close(index);
parent.location.reload();
// parent.location.reload();
parent.table.reload('goodsTable');
});
} else {
layer.msg(data.msg, { icon: 2, anim: 6, time: 1500 }, function () {

View File

@ -546,12 +546,7 @@
font-weight: bold;
}
.layui-table td {
padding: 10px 15px;
/* 调整单元格内边距 */
height: 150px !important;
}
/* 充值按钮样式 */
.layui-table .layui-btn-xs {
margin-top: 5px;
@ -609,6 +604,12 @@
padding: 0px 0;
}
.layui-table td {
padding: 10px 15px;
/* 调整单元格内边距 */
height: 150px !important;
}
.layui-table thead th {
height: 30px !important;