From c7c6de51f730e7c15ee23682acc432af839a5bac Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 06 May 2025 10:20:31 +0800
Subject: [PATCH] feat(mall): 为社交圈信息添加互动统计
---
src/main/resources/templates/febs/views/modules/goods/goodsList.html | 165 ++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 120 insertions(+), 45 deletions(-)
diff --git a/src/main/resources/templates/febs/views/modules/goods/goodsList.html b/src/main/resources/templates/febs/views/modules/goods/goodsList.html
index 260c7ac..518d7a3 100644
--- a/src/main/resources/templates/febs/views/modules/goods/goodsList.html
+++ b/src/main/resources/templates/febs/views/modules/goods/goodsList.html
@@ -8,8 +8,9 @@
<div class="layui-col-md10">
<div class="layui-form-item">
<div class="layui-inline">
+ <label class="layui-form-label layui-form-label-sm">商品名称</label>
<div class="layui-input-inline">
- <input type="text" placeholder="名称" name="goodsName" autocomplete="off" class="layui-input">
+ <input type="text" placeholder="商品名称" name="goodsName" autocomplete="off" class="layui-input">
</div>
</div>
</div>
@@ -27,7 +28,7 @@
</div>
</div>
</form>
- <table lay-filter="userTable" lay-data="{id: 'userTable'}"></table>
+ <table lay-filter="goodsListTable" lay-data="{id: 'goodsListTable'}"></table>
<style type="text/css">
.layui-table-cell{
text-align:center;
@@ -38,6 +39,10 @@
}
.layui-table img{
max-width:100px
+ }
+ ::-webkit-scrollbar {
+ height: 20px !important;
+ background-color: #f4f4f4;
}
</style>
</div>
@@ -53,6 +58,39 @@
<a lay-event="edit" shiro:hasPermission="user:update"><i
class="layui-icon febs-edit-area febs-blue"></i></a>
</script>
+<script type="text/html" id="upOrDownSwitch">
+ {{# if(d.isSale === 1) { }}
+ <input type="checkbox" value={{d.id}} lay-text="上架|下架" checked lay-skin="switch" lay-filter="upOrDownSwitch">
+ {{# } else { }}
+ <input type="checkbox" value={{d.id}} lay-text="上架|下架" lay-skin="switch" lay-filter="upOrDownSwitch">
+ {{# } }}
+</script>
+<script type="text/html" id="isHotSwitch">
+ {{# if(d.isHot === 1) { }}
+ <input type="checkbox" value={{d.id}} lay-text="是|否" checked lay-skin="switch" lay-filter="isHotSwitch">
+ {{# } else { }}
+ <input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="isHotSwitch">
+ {{# } }}
+</script>
+<script type="text/html" id="isSkuFormat">
+ {{# if(d.isSku === 1) { }}
+ <span>是</span>
+ {{# } else { }}
+ <span>否</span>
+ {{# } }}
+</script>
+<script type="text/html" id="goodsTypeFormat">
+ {{# if(d.isNormal == 1) { }}
+ <span>普通商品</span>
+ {{# } else { }}
+ <span>套餐</span>
+ {{# } }}
+</script>
+<style>
+ .layui-form-onswitch {
+ background-color: #5FB878 !important;
+ }
+</style>
<!-- 表格操作栏 end -->
<script data-th-inline="none" type="text/javascript">
// 引入组件并初始化
@@ -66,16 +104,18 @@
$reset = $view.find('#reset'),
$searchForm = $view.find('form'),
$add = $view.find('#add'),
- sortObject = {field: 'phone', type: null},
+ sortObject = {field: 'isSale', type: 'asc'},
tableIns;
form.render();
-
+ let currPageGoods = 1;//首先默认值为1,防止出错
+ //获取当前页
+ currPageGoods = $view.find(".layui-laypage-em").next().html();
// 表格初始化
initTable();
// 初始化表格操作栏各个按钮功能
- table.on('tool(userTable)', function (obj) {
+ table.on('tool(goodsListTable)', function (obj) {
var data = obj.data,
layEvent = obj.event;
if (layEvent === 'downGoods') {
@@ -96,6 +136,18 @@
if (layEvent === 'detailGoods') {
febs.modal.open( '商品详情', 'modules/goods/detailGoods/' + data.id, {
maxmin: true,
+ });
+ }
+ if (layEvent === 'goodsUpdate') {
+ febs.modal.open('编辑', 'modules/goods/goodsUpdateNew/' + data.id, {
+ btn: ['提交', '取消'],
+ area:['100%','100%'],
+ yes: function (index, layero) {
+ $('#febs-update').find('#submit').trigger('click');
+ },
+ btn2: function () {
+ layer.closeAll();
+ }
});
}
if (layEvent === 'seeImgThumb') {
@@ -132,78 +184,101 @@
$query.click();
});
}
+ function goodsHot(id) {
+ febs.get(ctx + 'admin/goods/goodsHot/' + id, null, function () {
+ febs.alert.success('设置成功');
+ $query.click();
+ });
+ }
+ function goodsNotHot(id) {
+ febs.get(ctx + 'admin/goods/goodsNotHot/' + id, null, function () {
+ febs.alert.success('设置成功');
+ $query.click();
+ });
+ }
// 查询按钮
$query.on('click', function () {
var params = $.extend(getQueryParams(), {field: sortObject.field, order: sortObject.type});
- tableIns.reload({where: params, page: {curr: 1}});
+ // params.pageNum = $view.find(".layui-laypage-em").next().html();
+ tableIns.reload({where: params, page: {curr: currPageGoods}});
});
// 刷新按钮
$reset.on('click', function () {
$searchForm[0].reset();
sortObject.type = 'null';
- tableIns.reload({where: getQueryParams(), page: {curr: 1}, initSort: sortObject});
+ tableIns.reload({where: getQueryParams(), page: {curr: currPageGoods}, initSort: sortObject});
});
$add.on('click', function () {
- febs.view.tab.change("/modules/goods/goodsAddNew/");
+ febs.modal.open('新增商品', 'modules/goods/goodsAddNew/', {
+ btn: ['提交', '取消'],
+ area:['100%','100%'],
+ yes: function (index, layero) {
+ $('#febs-goods-add').find('#submit').trigger('click');
+ },
+ btn2: function () {
+ layer.closeAll();
+ }
+ });
});
function initTable() {
tableIns = febs.table.init({
elem: $view.find('table'),
- id: 'userTable',
- url: ctx + 'admin/goods/goodsList',
+ id: 'goodsListTable',
+ url: ctx + 'admin/goods/goodsList?goodsType=1',
cols: [[
- {field: 'goodsNo', title: '商品编号', minWidth: 150,align:'left'},
- {field: 'goodsName', title: '商品名称', minWidth: 150,align:'left'},
+ {field: 'goodsNo', title: '商品编号', minWidth: 100,align:'left'},
+ {field: 'goodsName', title: '商品名称', minWidth: 140,align:'left'},
{field: 'thumb', title: '缩略图',
templet: function (d) {
return '<a lay-event="seeImgThumb"><img id="seeImgThumb'+d.id+'" src="'+d.thumb+'" alt=""></a>';
- }, minWidth: 100,align:'center'},
- {field: 'categaryName', title: '分类', minWidth: 150,align:'left'},
- {field: 'isSale', title: '是否上架',
- templet: function (d) {
- if (d.isSale === 1) {
- return '<span>上架</span>'
- } else if (d.isSale === 2) {
- return '<span>下架</span>'
- }else{
- return ''
- }
- }, minWidth: 80,align:'center'},
- {field: 'presentPrice', title: '现价', minWidth: 150,align:'left'},
- {field: 'originalPrice', title: '原价', minWidth: 150,align:'left'},
- {field: 'stock', title: '商品库存', minWidth: 150,align:'left'},
- {field: 'skuVolume', title: '商品销量', minWidth: 150,align:'left'},
- // {field: 'accountStatus', title: '账号状态',
- // templet: function (d) {
- // if (d.accountStatus === 1) {
- // return '<span style="color:green;">正常</span>'
- // } else if (d.accountStatus === 2) {
- // return '<span style="color:red;">禁用</span>'
- // }else{
- // return ''
- // }
- // }, minWidth: 80,align:'center'},
- // {field: 'createdTime', title: '注册时间', minWidth: 180,align:'center'},
+ }, minWidth: 150,align:'center'},
+ {field: 'categaryName', title: '分类', minWidth: 140,align:'left'},
+ {field: 'isSale', title: '是否上架', templet: '#upOrDownSwitch', minWidth: 100,align:'center'},
+ {field: 'isHot', title: '是否主推', templet: '#isHotSwitch', minWidth: 100,align:'center'},
+ {templet:"#goodsTypeFormat", title: '商品类型', minWidth: 140,align:'left'},
+ {templet:"#isSkuFormat", title: '是否多规格', minWidth: 100,align:'left'},
+ {field: 'presentPrice', title: '现价', minWidth: 100,align:'left'},
+ {field: 'originalPrice', title: '原价', minWidth: 100,align:'left'},
+ {field: 'stock', title: '商品库存', minWidth: 100,align:'left'},
+ {field: 'skuVolume', title: '商品销量', minWidth: 100,align:'left'},
{title: '操作',
templet: function (d) {
if (d.isSale === 1) {
- return '<button class="layui-btn layui-btn-normal layui-btn-xs febs-bg-orange" lay-event="downGoods" shiro:hasPermission="user:update">下架</button>'
- + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="detailGoods" shiro:hasPermission="user:update">详情</button>'
+ return '';
+ // return '<button class="layui-btn layui-btn-normal layui-btn-xs febs-bg-orange" lay-event="downGoods" shiro:hasPermission="user:update">下架</button>'
+ // + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="detailGoods" shiro:hasPermission="user:update">详情</button>'
}else{
- return '<button class="layui-btn layui-btn-normal layui-btn-xs febs-bg-green" lay-event="upGoods" shiro:hasPermission="user:update">上架</button>'
- + '<button class="layui-btn layui-btn-normal layui-btn-xs febs-bg-red" lay-event="delGoods" shiro:hasPermission="user:update">删除</button>'
- + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="updateGoods" shiro:hasPermission="user:update">编辑</button>'
+ // '<button class="layui-btn layui-btn-normal layui-btn-xs febs-bg-green" lay-event="upGoods" shiro:hasPermission="user:update">上架</button>'
+ return ''
+ + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="goodsUpdate" shiro:hasPermission="user:update">编辑</button>'
+ + '<button class="layui-btn layui-btn-normal layui-btn-xs febs-bg-red" lay-event="delGoods" shiro:hasPermission="user:update">删除</button>'
}
- },minWidth: 300,align:'center'}
+ },minWidth: 160,align:'center'}
]]
});
}
+ form.on('switch(upOrDownSwitch)', function (data) {
+ if (data.elem.checked) {
+ upGoods(data.value);
+ } else {
+ downGoods(data.value);
+ }
+ })
+
+ form.on('switch(isHotSwitch)', function (data) {
+ if (data.elem.checked) {
+ goodsHot(data.value);
+ } else {
+ goodsNotHot(data.value);
+ }
+ })
+
// 获取查询参数
function getQueryParams() {
return {
--
Gitblit v1.9.1