From 9696e659c1ec3f080708536ef98c91775005247b Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 08 May 2025 14:24:33 +0800
Subject: [PATCH] feat(mall): 增加会员等级和分销等级设置功能 - 新增会员等级和分销等级设置页面 - 实现会员等级和分销等级的更新逻辑 - 优化会员列表页面,增加相关筛选条件 - 调整数据库查询以支持新的筛选条件

---
 src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html |  112 ++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 92 insertions(+), 20 deletions(-)

diff --git a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
index 1197007..4890e74 100644
--- a/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
+++ b/src/main/resources/templates/febs/views/modules/mallMember/mallMemberList.html
@@ -8,15 +8,43 @@
                             <div class="layui-col-md10">
                                 <div class="layui-form-item">
                                     <div class="layui-inline">
-                                        <label class="layui-form-label layui-form-label-sm">用户昵称</label>
+                                        <label class="layui-form-label layui-form-label-sm">用户名</label>
                                         <div class="layui-input-inline">
-                                            <input type="text" placeholder="用户昵称" name="name" autocomplete="off" class="layui-input">
+                                            <input type="text" placeholder="用户名" name="name" autocomplete="off" class="layui-input">
                                         </div>
                                     </div>
                                     <div class="layui-inline">
-                                        <label class="layui-form-label layui-form-label-sm">手机号码</label>
+                                        <label class="layui-form-label layui-form-label-sm">联系方式</label>
                                         <div class="layui-input-inline">
-                                            <input type="text" placeholder="手机号码" name="phone" autocomplete="off" class="layui-input">
+                                            <input type="text" placeholder="联系方式" name="phone" 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="director" class="director-type">
+                                                <option value="">请选择</option>
+                                            </select>
+                                        </div>
+                                    </div>
+
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label layui-form-label-sm">分销等级</label>
+                                        <div class="layui-input-inline">
+                                            <select name="storeMaster" class="storeMaster-type">
+                                                <option value="">请选择</option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                    <div class="layui-inline">
+                                        <label class="layui-form-label layui-form-label-sm">状态</label>
+                                        <div class="layui-input-inline">
+                                            <select name="accountStatus">
+                                                <option value="">请选择</option>
+                                                <option value="1">启用</option>
+                                                <option value="2">停用</option>
+                                            </select>
                                         </div>
                                     </div>
                                     <div class="layui-inline">
@@ -61,11 +89,11 @@
     <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="switchStatus">
+<script type="text/html" id="accountStatusSwitch">
     {{# if(d.accountStatus === 1) { }}
-    <input type="checkbox" value={{d.id}} lay-text="正常|禁用" checked lay-skin="switch" lay-filter="switchStatus">
+    <input type="checkbox" value={{d.id}} lay-text="启用|停用" checked lay-skin="switch" lay-filter="accountStatusSwitch">
     {{# } else { }}
-    <input type="checkbox" value={{d.id}} lay-text="正常|禁用" lay-skin="switch" lay-filter="switchStatus">
+    <input type="checkbox" value={{d.id}} lay-text="启用|停用" lay-skin="switch" lay-filter="accountStatusSwitch">
     {{# } }}
 </script>
 <script type="text/html" id="switchStoreMaster">
@@ -111,10 +139,11 @@
         background-color: #5FB878 !important;
     }
 </style>
-<script type="text/html" id="toolbar">
+<script type="text/html" id="memberToolbar">
     <div class="layui-btn-container">
 <!--        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="updateReferer">修改推荐人</button>-->
-<!--        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="updateVipLevel">修改会员等级</button>-->
+        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="updateMemberLevel:update" lay-event="updateMemberLevel">修改会员等级</button>
+        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="updateSaleLevel:update" lay-event="updateSaleLevel">修改分销等级</button>
 <!--        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" lay-event="addCoupon">优惠券派送</button>-->
     </div>
 </script>
@@ -144,9 +173,33 @@
             elem: '#febs-member-benefits-list-birthday-start',
             format:'MM-dd'
         });
+        //(下拉框)
+        $.get(ctx + 'admin/level/levelAll', function (res) {
+            var data = res.data;
+            for (let k in data)
+            {
+                $(".director-type").append("<option value='" + data[k].code + "'>" + data[k].name + "</option>");
+            }
+            layui.use('form', function () {
+                var form = layui.form;
+                form.render();
+            });
+        });
+        //(下拉框)
+        $.get(ctx + 'admin/level/saleLevelAll', function (res) {
+            var data = res.data;
+            for (let k in data)
+            {
+                $(".storeMaster-type").append("<option value='" + data[k].code + "'>" + data[k].name + "</option>");
+            }
+            layui.use('form', function () {
+                var form = layui.form;
+                form.render();
+            });
+        });
 
         // 表格初始化
-        initTable();
+        initMemberListTable();
 
         // 初始化表格操作栏各个按钮功能
         table.on('tool(userTable)', function (obj) {
@@ -223,13 +276,13 @@
         }
         function closeAccount(id) {
             febs.get(ctx + 'admin/mallMember/closeAccount/' + id, null, function () {
-                febs.alert.success('禁用成功');
+                febs.alert.success('操作成功');
                 $query.click();
             });
         }
         function openAccount(id) {
             febs.get(ctx + 'admin/mallMember/openAccount/' + id, null, function () {
-                febs.alert.success('开启成功');
+                febs.alert.success('操作成功');
                 $query.click();
             });
         }
@@ -318,12 +371,12 @@
             tableIns.reload({where: getQueryParams(), page: {curr: 1}, initSort: sortObject});
         });
 
-        function initTable() {
+        function initMemberListTable() {
             tableIns = febs.table.init({
                 elem: $view.find('table'),
                 id: 'userTable',
                 url: ctx + 'admin/mallMember/getMallMemberList',
-                toolbar:"#toolbar",
+                toolbar:"#memberToolbar",
                 defaultToolbar:[],
                 cols: [[
                     {type: 'checkbox'},
@@ -332,7 +385,10 @@
                     {field: 'name', title: '用户名', minWidth: 100,align:'left'},
                     {field: 'realName', title: '真实姓名', minWidth: 100,align:'left'},
                     {field: 'phone', title: '联系方式', minWidth: 150,align:'left'},
+                    {field: 'directorName', title: '会员等级', minWidth: 150,align:'left'},
+                    {field: 'storeMasterName', title: '分销等级', minWidth: 150,align:'left'},
                     {field: 'inviteId', title: '邀请码', minWidth: 100,align:'left'},
+                    {field: 'checkOrder', title: '状态', templet: '#accountStatusSwitch', minWidth: 100,align:'center'},
                     {field: 'checkOrder', title: '核销员', templet: '#checkOrderSwitch', minWidth: 100,align:'center'},
                     {field: 'createdTime', title: '注册时间', minWidth: 180,align:'center'},
                 ]]
@@ -379,16 +435,29 @@
                 });
             }
 
-            if (layEvent === 'updateVipLevel') {
+            if (layEvent === 'updateSaleLevel') {
                 var checkData = table.checkStatus('userTable').data;
                 if (checkData.length > 1) {
                     febs.alert.warn('每次只能修改一个用户');
                     return;
                 }
-                // var idList = [];
-                // for (var i = 0; i < checkData.length; i++) {
-                //     idList.push(checkData[i].id);
-                // }
+                febs.modal.open('设置分销等级', 'modules/mallMember/saleLevelSetting/' + checkData[0].id, {
+                    btn: ['确认', '取消'],
+                    yes: function (index, layero) {
+                        $('#sale-level-set').find('#submit').trigger('click');
+                    },
+                    btn2: function () {
+                        layer.closeAll();
+                    }
+                });
+            }
+
+            if (layEvent === 'updateMemberLevel') {
+                var checkData = table.checkStatus('userTable').data;
+                if (checkData.length > 1) {
+                    febs.alert.warn('每次只能修改一个用户');
+                    return;
+                }
                 febs.modal.open('设置会员等级', 'modules/mallMember/vipLevelSetting/' + checkData[0].id, {
                     btn: ['确认', '取消'],
                     yes: function (index, layero) {
@@ -485,10 +554,13 @@
                 name: $searchForm.find('input[name="name"]').val().trim(),
                 phone: $searchForm.find('input[name="phone"]').val().trim(),
                 checkOrder: $searchForm.find("select[name='checkOrder']").val(),
+                accountStatus: $searchForm.find("select[name='accountStatus']").val(),
+                director: $searchForm.find("select[name='director']").val(),
+                storeMaster: $searchForm.find("select[name='storeMaster']").val(),
             };
         }
 
-        form.on('switch(switchStatus)', function (data) {
+        form.on('switch(accountStatusSwitch)', function (data) {
             if (data.elem.checked) {
                 openAccount(data.value);
             } else {

--
Gitblit v1.9.1