From e689c750f4390575ff619c212573be2f12e64618 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Thu, 23 Jan 2025 11:33:11 +0800
Subject: [PATCH] refactor(mall): 重构小程序定时任务获取 access_token 方式 - 移除 XcxProperties 类的使用 - 使用 @Value 注解直接注入小程序 appid 和 secret - 优化代码结构,提高可读性和维护性
---
src/main/resources/templates/febs/views/modules/goods/goodsList.html | 213 +++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 174 insertions(+), 39 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 8798741..42e075a 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,17 @@
<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 class="layui-inline">
+ <label class="layui-form-label layui-form-label-sm">活动</label>
+ <div class="layui-input-inline">
+ <select name="activityId" class="activity-option">
+ <option value="">请选择</option>
+ </select>
</div>
</div>
</div>
@@ -27,7 +36,23 @@
</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;
+ height: auto;
+ white-space: nowrap; /*文本不会换行,在同一行显示*/
+ overflow: hidden; /*超出隐藏*/
+ text-overflow: ellipsis; /*省略号显示*/
+ }
+ .layui-table img{
+ max-width:100px
+ }
+ ::-webkit-scrollbar {
+ height: 20px !important;
+ background-color: #f4f4f4;
+ }
+ </style>
</div>
</div>
</div>
@@ -41,6 +66,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">
// 引入组件并初始化
@@ -54,16 +112,32 @@
$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();
+
+ //(下拉框)
+ $.get(ctx + 'admin/activity/activityListByType/1', function (res) {
+ var data = res.data;
+ for (var k in data)
+ {
+ $(".activity-option").append("<option value='" + data[k].id + "'>" + data[k].name + "</option>");
+ }
+ layui.use('form', function () {
+ var form = layui.form;
+ form.render();
+ });
+ });
// 表格初始化
- initTable();
+ initGoodsTable();
// 初始化表格操作栏各个按钮功能
- table.on('tool(userTable)', function (obj) {
+ table.on('tool(goodsListTable)', function (obj) {
var data = obj.data,
layEvent = obj.event;
if (layEvent === 'downGoods') {
@@ -86,6 +160,33 @@
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') {
+ var t = $view.find('#seeImgThumb'+data.id+'');
+ //页面层
+ layer.open({
+ type: 1,
+ title: "图片",
+ skin: 'layui-layer-rim', //加上边框
+ area: ['80%', '80%'], //宽高
+ shadeClose: true, //开启遮罩关闭
+ end: function (index, layero) {
+ return false;
+ },
+ content: '<div style="text-align:center"><img src="' + $(t).attr('src') + '" /></div>'
+ });
+ }
});
function downGoods(id) {
febs.get(ctx + 'admin/goods/downMallGoods/' + id, null, function () {
@@ -105,72 +206,106 @@
$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() {
+ function initGoodsTable() {
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: 'goodsName', title: '商品名称', minWidth: 150,align:'left'},
- // {field: 'accountType', title: '账号类型',
- // templet: function (d) {
- // if (d.accountType === 2) {
- // return '<span style="color:red;">测试账号</span>'
- // } else if (d.accountType === 1) {
- // return '<span style="color:green;">正常账号</span>'
- // }else{
- // return ''
- // }
- // }, minWidth: 80,align:'center'},
- // {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'},
+ {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: 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" 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" lay-event="upGoods" shiro:hasPermission="user:update">上架</button>'
- + '<button class="layui-btn layui-btn-normal layui-btn-xs" 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 {
goodsName: $searchForm.find('input[name="goodsName"]').val().trim(),
+ activityId: $searchForm.find("select[name='activityId']").val(),
};
}
--
Gitblit v1.9.1