manghe/app/admin/view/Goods/goodslist.html
2025-04-27 17:41:04 +08:00

381 lines
16 KiB
HTML
Executable File

{include file="Public:header3"/}
<body>
<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-block" style="margin-left: 0px">
<input type="text" name="title" id="searchTitle" value="{$Request.get.title}"
placeholder="请输入奖品标题" autocomplete="off" class="layui-input">
</div>
</div>
{if $type eq 9}
<div class="layui-inline">
<div class="layui-input-inline" style="width: 180px;margin-left: 0px">
<select name="lian_ji_type" id="searchLianJiType" style="width:100%">
<option value="">--奖池分类--</option>
<option value="0" {if condition="$Request.get.lian_ji_type eq 0" }selected{/if}>连击赏池
</option>
<option value="1" {if condition="$Request.get.lian_ji_type eq 1" }selected{/if}>秘宝池
</option>
</select>
</div>
</div>
{/if}
<input type="hidden" id="goodsId" value="{$goods_id}">
<input type="hidden" id="goodsType" value="{$type}">
<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>
<button class="layui-btn" id="addBtn">添加奖品</button>
</div>
</div>
</div>
<div class="layui-card-body">
<!-- 表格 -->
<table id="goodsListTable" lay-filter="goodsListTable"></table>
<!-- 奖品类型模板 -->
<script type="text/html" id="goodsTypeTpl">
{{# if(d.id!=-1){ }}
{{# if(d.goods_type === 1){ }}
<span>现货</span>
{{# } else if(d.goods_type === 2){ }}
<span>预售</span>
{{# } else if(d.goods_type === 3){ }}
<span>货币</span>
{{# } else if(d.goods_type === 4){ }}
<span>宝箱</span>
{{# } }}
{{# } }}
</script>
<!-- 操作列模板 -->
<script type="text/html" id="operationTpl">
{{# if(d.id!=-1){ }}
{{# if(d.goods_type === 4){ }}
<a class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs" lay-event="add">
<i class="layui-icon layui-icon-edit"></i>
</a>
{{# } }}
<a class="layui-btn layui-btn-radius layui-btn-normal layui-btn-xs" lay-event="edit">
<i class="layui-icon layui-icon-edit"></i>
</a>
<a class="layui-btn layui-btn-danger layui-btn-radius layui-btn-xs" lay-event="del">删除</a>
{{# } }}
</script>
<!-- 图片模板 -->
<script type="text/html" id="imgTpl">
{{# if(d.id!=-1){ }}
<img src="{{d.imgurl}}" style="width:60px;height:60px;">
{{# } }}
</script>
<!-- 详情图模板 -->
<script type="text/html" id="imgDetailTpl">
{{# if(d.id!=-1){ }}
{{# if(d.imgurl_detail){ }}
<img src="{{d.imgurl_detail}}" style="width:60px;height:60px;">
{{# } else { }}
<span></span>
{{# } }}
{{# } }}
</script>
<!-- 奖赏类型模板 -->
<script type="text/html" id="shangTpl">
{{# if(d.id!=-1){ }}
<button class="layui-btn layui-btn-info layui-btn-radius layui-btn-sm">{{d.shang}}</button>
{{# } }}
</script>
<!-- 奖池分类模板 -->
<script type="text/html" id="lianJiTypeTpl">
{{# if(d.id!=-1){ }}
{{# if(d.lian_ji_type === 0){ }}
<span>连击赏池</span>
{{# } else if(d.lian_ji_type === 1){ }}
<span>秘宝池</span>
{{# } }}
{{# } }}
</script>
<!-- 是否为领主模板 -->
<script type="text/html" id="isLingzhuTpl">
{{# if(d.id!=-1){ }}
{{# if(d.is_lingzhu == 1){ }}
<span></span>
{{# } else { }}
<span></span>
{{# } }}
{{# } }}
</script>
<!-- 价格信息模板 -->
<script type="text/html" id="priceTpl">
{{# if(d.id!=-1){ }}
<div>售价: {{d.price}}</div>
<div>兑换价: {{d.money}}</div>
<div>参考价: {{d.sc_money}}</div>
<div>id: {{d.id}}</div>
<div>所属id: {{d.goods_list_id}}</div>
{{# } }}
</script>
</div>
</div>
</div>
{include file="Public:footer3"/}
<script type="text/javascript">
layui.use(function () {
var $ = layui.$,
layer = layui.layer,
table = layui.table,
form = layui.form;
var treeTable = layui.treeTable;
// 获取PHP传递的值
var goodsId = $('#goodsId').val();
var goodsType = parseInt($('#goodsType').val());
// 初始化表格
initTable();
// 初始化表格
function initTable() {
// 构建表格列配置
var columns = [];
columns.push({ field: 'id', type: 'numbers', title: '序号', width: 60 },);
// columns.push({ field: 'id', title: 'ID', minWidth: 80 });
// columns.push({ field: 'goods_list_id', title: '所属宝箱id', minWidth: 80 });
// 基础列
columns.push({ field: 'title', title: '奖品名称', minWidth: 260 });
columns.push({ field: 'goods_type', title: '奖品类型', templet: '#goodsTypeTpl', minWidth: 100 });
// 通用列
columns.push({ field: 'shang', title: '奖赏类型', templet: '#shangTpl', minWidth: 100, totalRow: false });
columns.push({ field: 'imgurl', title: '奖品图片', templet: '#imgTpl', minWidth: 100 });
columns.push({ field: 'imgurl_detail', title: '商品详情图', templet: '#imgDetailTpl', minWidth: 100 });
columns.push({ field: 'price', title: '价格信息', templet: '#priceTpl', minWidth: 150 });
// 根据类型添加特定列
if ([1, 3, 5, 6, 10, 11, 15, 17].indexOf(goodsType) > -1) {
columns.push({ field: 'stock', title: '奖品数量', minWidth: 100 });
}
if ([2, 8, 9, 16, 17].indexOf(goodsType) > -1) {
columns.push({
field: 'real_pro', title: '真实概率', templet: function (d) {
return d.real_pro + '%'
}, minWidth: 140, totalRow: '总概率:{{= d.TOTAL_ROW.real_pro }}%'
});
}
if (goodsType === 16) {
columns.push({ field: 'doubling', title: '赠送倍率', minWidth: 100 });
}
if (goodsType === 9) {
columns.push({ field: 'lian_ji_type', title: '奖池分类', templet: '#lianJiTypeTpl', minWidth: 100 });
}
if (goodsType === 8) {
columns.push({ field: 'is_lingzhu', title: '是否为领主', templet: '#isLingzhuTpl', minWidth: 100 });
}
columns.push({ field: 'sort', title: '排序', minWidth: 80, edit: 'text' });
columns.push({ field: 'addtime', title: '添加时间', minWidth: 150, templet: function(d){
return d.addtime ? new Date(d.addtime * 1000).toLocaleString() : '';
}});
columns.push({ field: 'update_time', title: '更新时间', minWidth: 150, templet: function(d){
return d.update_time ? new Date(d.update_time * 1000).toLocaleString() : '';
}});
columns.push({ title: '操作', toolbar: '#operationTpl', minWidth: 210, fixed: 'right' });
// 渲染表格
treeTable.render({
elem: '#goodsListTable',
url: '{:url("/admin/getGoodsListData")}',
method: 'get',
toolbar: true,
where: {
goods_id: goodsId
},
lineStyle: 'height:100px',
height: 'full-150',
page: true,
limit: 50,
totalRow: true,
tree: {
enable: true,
customName: {
name: 'title',
children: 'children',
isParent: 'isParent',
id: 'id'
},
view: {
indent: 20,
showIcon: false,
expandAllDefault: true
}
},
cols: [columns],
parseData: (res) => {
return {
"totalRow": {
"real_pro": res.code.real_pro,
},
"code": res.code.code, //解析接口状态
"msg": res.msg, //解析提示文本
"count": res.count, //解析数据长度
"data": res.data //解析数据列表
};
},
done: function (res) {
// 表格加载完成后的回调
}
});
}
// 搜索按钮点击事件
$('#searchBtn').on('click', function () {
var title = $('#searchTitle').val();
var lianJiType = $('#searchLianJiType').val();
// 执行重载
table.reload('goodsListTable', {
where: {
goods_id: goodsId,
title: title,
lian_ji_type: lianJiType
},
page: {
curr: 1 // 重新从第1页开始
}
});
});
// 添加奖品按钮点击事件
$('#addBtn').on('click', function () {
openAddLayer(goodsId);
});
// 监听表格工具条事件
table.on('tool(goodsListTable)', function (obj) {
var data = obj.data;
if (obj.event === 'edit') {
// 编辑
openEditLayer(data.id, data.goods_list_id);
} else if (obj.event === 'del') {
// 删除
deleteItem(data.id);
} else if (obj.event === 'add') {
console.log(data);
openAddLayer(data.goods_id, data.id);
}
});
// 监听单元格编辑
table.on('edit(goodsListTable)', function (obj) {
var value = obj.value, // 得到修改后的值
data = obj.data, // 得到所在行所有键值
field = obj.field; // 得到字段
// 排序字段修改
if (field === 'sort') {
var loadIndex = layer.load(2);
// 发送请求保存修改
$.ajax({
url: '{:url("/admin/goodslist_edit_sort")}',
type: 'POST',
data: {
id: data.id,
sort: value
},
success: function (res) {
layer.close(loadIndex);
if (res.status === 1) {
layer.msg('排序修改成功', { icon: 1, time: 1000 });
} else {
layer.msg(res.msg || '修改失败', { icon: 2, anim: 6, time: 2000 });
// 重载表格以恢复原值
table.reload('goodsListTable');
}
},
error: function () {
layer.close(loadIndex);
layer.msg('网络错误,请稍后重试', { icon: 2, anim: 6, time: 2000 });
// 重载表格以恢复原值
table.reload('goodsListTable');
}
});
}
});
// 打开添加层
function openAddLayer(goodsId, goods_list_id = '') {
var url = "{:url('/admin/goodslist_add')}?goods_id=" + goodsId + "&goods_list_id=" + goods_list_id;
layer.open({
type: 2,
title: '添加奖品',
shadeClose: false,
shade: 0.3,
area: ['90%', '90%'],
content: url,
end: function () {
// 刷新表格
table.reload('goodsListTable');
}
});
}
// 打开编辑层
function openEditLayer(id, goods_list_id = '') {
var url = "{:url('/admin/goodslist_edit')}?id=" + id + "&goods_list_id=" + goods_list_id;
layer.open({
type: 2,
title: '编辑奖品',
shadeClose: false,
shade: 0.3,
area: ['90%', '90%'],
content: url,
end: function () {
// 刷新表格
console.log('aaaa');
table.reload('goodsListTable');
}
});
}
// 删除项目
function deleteItem(id) {
var title = "删除";
layer.confirm('确认要执行' + title + '操作吗?', function () {
var url = "{:url('/admin/goodslist_del')}";
var load = layer.load(2);
$.post(url, { "id": id }, function (data) {
if (data.status == 1) {
layer.msg(title + '成功', { icon: 1, time: 1000 }, function () {
// 刷新表格
layer.close(load);
table.reload('goodsListTable');
});
} else {
layer.msg(data.msg, { icon: 2, anim: 6, time: 1000 }, function () {
layer.close(load);
});
}
});
});
}
});
</script>
</body>
</html>