From 9b51a95fa8bc9b3a86108c6900e17fc55f8db467 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 19 May 2025 17:02:07 +0800
Subject: [PATCH] refactor(vip): 优化积分和返佣计算逻辑

---
 src/main/resources/templates/febs/views/modules/goods/goodsList.html |  146 +++++++++++++++++++++++++++++++++++-------------
 1 files changed, 105 insertions(+), 41 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 2724666..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">&#xe7a5;</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') {
@@ -101,8 +141,9 @@
             if (layEvent === 'goodsUpdate') {
                 febs.modal.open('编辑', 'modules/goods/goodsUpdateNew/' + data.id, {
                     btn: ['提交', '取消'],
+                    area:['100%','100%'],
                     yes: function (index, layero) {
-                        $('#goods-updatenew').find('#submit').trigger('click');
+                        $('#febs-update').find('#submit').trigger('click');
                     },
                     btn2: function () {
                         layer.closeAll();
@@ -143,69 +184,76 @@
                 $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',
+                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: 150,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'},
+                    {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-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>'
 
@@ -215,6 +263,22 @@
             });
         }
 
+        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