Jelajahi Sumber

菜单页面展示

chenyongxing 7 tahun lalu
induk
melakukan
b847819d02

+ 2 - 3
svr/svr-manage/src/main/java/com/yihu/jw/manage/controller/login/LoginController.java

@ -5,7 +5,6 @@ import com.yihu.jw.manage.service.login.LoginService;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.restmodel.common.EnvelopRestController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@ -38,10 +37,10 @@ public class LoginController extends EnvelopRestController {
    @GetMapping("/index")
    public Envelop index(
            @RequestParam(required = true, name = "usercode") String usercode
            @RequestParam(required = true, name = "userCode") String userCode
    ) {
        try {
            Map<String, List> data = loginService.index(usercode);
            Map<String, List> data = loginService.index(userCode);
            return Envelop.getSuccess("获取信息成功", data);
        }catch (Exception e){
            return Envelop.getError("获取信息成功:"+e.getMessage(), -1);

+ 32 - 0
svr/svr-manage/src/main/java/com/yihu/jw/manage/model/system/MenuItems.java

@ -0,0 +1,32 @@
package com.yihu.jw.manage.model.system;
import java.util.List;
/**
 * Created by Administrator on 2017/6/10 0010.
 *
 *  该model用于vue页面展示菜单
 */
public class MenuItems {
    private ManageMenu parentMenu;//父菜单
    private List<ManageMenu> childMenus;//子菜单
    public ManageMenu getParentMenu() {
        return parentMenu;
    }
    public void setParentMenu(ManageMenu parentMenu) {
        this.parentMenu = parentMenu;
    }
    public void setChildMenus(List<ManageMenu> childMenus) {
        this.childMenus = childMenus;
    }
    public List<ManageMenu> getChildMenus() {
        return childMenus;
    }
}

+ 19 - 7
svr/svr-manage/src/main/java/com/yihu/jw/manage/service/login/LoginService.java

@ -6,6 +6,7 @@ import com.yihu.jw.manage.model.login.ManageLoginLog;
import com.yihu.jw.manage.model.system.ManageMenu;
import com.yihu.jw.manage.model.system.ManageRole;
import com.yihu.jw.manage.model.system.ManageUser;
import com.yihu.jw.manage.model.system.MenuItems;
import com.yihu.jw.manage.service.system.MenuService;
import com.yihu.jw.manage.service.system.RoleService;
import com.yihu.jw.manage.service.system.UserService;
@ -17,10 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
 * Created by chenweida on 2017/6/8.
@ -85,10 +83,24 @@ public class LoginService {
        Map<String, List> data = new HashMap<>();
        //得到角色
        List<ManageRole> roles = roleService.findByUserCode(usercode);
        //得到用户所有菜单
        List<ManageMenu> menus = menuService.findByUserCode(usercode);
        List<MenuItems> menuItemses = new ArrayList<>();
        //查询所有父菜单
        List<ManageMenu> parentMenus = menuService.findParentMenus(usercode);
        //查询所有子菜单
        if(parentMenus!=null){
            for(ManageMenu parentMenu:parentMenus){
                //通过父菜单查找对应的子菜单
                List<ManageMenu> childMenus = menuService.findChildMenus(usercode,parentMenu.getCode());
                MenuItems menuItem = new MenuItems();
                menuItem.setParentMenu(parentMenu);
                menuItem.setChildMenus(childMenus);
                menuItemses.add(menuItem);
            }
        }
        data.put("role", roles);
        data.put("menus", menus);
        data.put("menus", menuItemses);
        return data;
    }
}

+ 12 - 1
svr/svr-manage/src/main/java/com/yihu/jw/manage/service/system/MenuService.java

@ -2,7 +2,6 @@ package com.yihu.jw.manage.service.system;
import com.yihu.jw.manage.dao.system.MenuDao;
import com.yihu.jw.manage.model.system.ManageMenu;
import com.yihu.jw.manage.model.system.ManageRole;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
@ -43,6 +42,18 @@ public class MenuService {
        List<ManageMenu> mr = jdbcTemplate.query(sql, new BeanPropertyRowMapper(ManageMenu.class), code);
        return mr;
    }
    public List<ManageMenu> findParentMenus(String usercode) {
        String sql = "SELECT * FROM (SELECT DISTINCT  m.* FROM manage_menu m,manage_role_menu rm WHERE m.code = rm.menu_code and m.status=1 AND rm.role_code IN (SELECT r.CODE FROM manage_role r, manage_user_role ur WHERE r.code = ur.role_code AND ur.user_code = ?   AND r.status = 1 )) A WHERE A.parent_code = 0";
        List<ManageMenu> mr = jdbcTemplate.query(sql, new BeanPropertyRowMapper(ManageMenu.class), usercode);
        return mr;
    }
    public List<ManageMenu> findChildMenus(String usercode, String code) {
        String sql = "SELECT * FROM (SELECT DISTINCT  m.* FROM manage_menu m,manage_role_menu rm WHERE m.code = rm.menu_code and m.status=1 AND rm.role_code IN (SELECT r.CODE FROM manage_role r, manage_user_role ur WHERE r.code = ur.role_code AND ur.user_code = ?   AND r.status = 1 )) A WHERE A.parent_code = ?";
        List<ManageMenu> mr = jdbcTemplate.query(sql, new BeanPropertyRowMapper(ManageMenu.class), usercode,code);
        return mr;
    }
}

+ 19 - 26
svr/svr-manage/src/main/resources/webapp/html/index/index.html

@ -6,6 +6,7 @@
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="renderer" content="webkit">
    <title>基卫后台管理系统</title>
    <!--[if lt IE 8]>
@ -54,7 +55,7 @@
                    <div class="logo-element">
                    </div>
                </li>
                <li>
                <!--<li>
                    <a href="#">
                        <i class="fa fa-home"></i>
                        <span class="nav-label">主页</span>
@ -66,6 +67,20 @@
                        </li>
                    </ul>
                </li>-->
                <li v-for="menu in menus">
                    <a href="#">
                        <i class="fa fa-home"></i>
                        <span class="nav-label">{{menu.parentMenu.name}}</span>
                        <span class="fa arrow"></span>
                    </a>
                        <ul class="nav nav-second-level" v-for="childMenu in menu.childMenus">
                            <li>
                                <a class="J_menuItem" :href="childMenu.url" data-index="0">{{childMenu.name}}</a>
                            </li>
                        </ul>
                </li>
@ -115,7 +130,7 @@
            <a href="login.html" class="roll-nav roll-right J_tabExit"><i class="fa fa fa-sign-out"></i> 退出</a>
        </div>
        <div class="row J_mainContent" id="content-main">
            <iframe class="J_iframe" name="iframe0" width="100%" height="100%" src="index_v1.html?v=3.0" frameborder="0"
            <iframe class="J_iframe" name="iframe0" width="100%" height="100%" src="" frameborder="0"
                    data-id="index_v1.html" seamless></iframe>
        </div>
        <div class="footer">
@ -604,8 +619,10 @@
<script src="/common/js/layer/layer.min.js"></script>
<script src="/common/js/util/util.js"></script>
<script src="/common/js/vue/vue.min.js"></script>
<!--<script src="/common/js/vue/vue1.js"></script>-->
<!-- 自定义js -->
<script src="/common/js/common.js"></script>
<script src="/index/hplus.min.js?v=3.0.0"></script>
<script type="text/javascript" src="/index/contabs.min.js"></script>
<script type="text/javascript" src="/index/index.js"></script>
@ -777,30 +794,6 @@
        }
    }
    //获取请求中的参数
    var userId=UrlParm.parm("u");
    //根据用户id初始化菜单
    $.ajax({
        type: "GET",
        url: "ajax/Handler.ashx?M=" + Math.random(),
        data: "username=" + $("#TxtUserName").val().toString() + "&pwd=" + $("#TxtPassword").val().toString(),
        success: function (data) {
            if (data == "1") {
                location.href = "index.aspx";
                return true;
            }
            else {
                alert("请确认您输入的用户名或密码输入是否正确!");
                $("#TxtUserName").val("");
                $("#TxtPassword").val("");
                $("#TxtUserName").focus();
                return false;
            }
        }
    })
</script>
<style>
    .fixed-nav .slimScrollDiv #side-menu {

+ 21 - 2
svr/svr-manage/src/main/resources/webapp/html/index/index.js

@ -1,4 +1,23 @@
//获取用户的菜单和角色
var contentVM;
do_get(
    server+"/index"
)
    "/index",
    {},
    function(data){
        if(data.successFlg==true){
            contentVM = new Vue({
                el: '#wrapper',
                data: {
                    role: '',
                    menus:'',
                    aaa:'aaa'
                }
            });
            contentVM.role = data.obj.role;
            contentVM.menus = data.obj.menus;
        }else{
            alert("获取角色,菜单失败")
        }
    }
)

+ 1 - 1
svr/svr-manage/src/main/resources/webapp/html/login/login.html

@ -63,7 +63,7 @@
            success: function(data){
                if(data.successFlg){
                    //保存用户信息到缓存中
                    window.localStorage.setItem("usercode",data.obj.code);//用户code
                    window.localStorage.setItem("userCode",data.obj.code);//用户code
                    window.location.href='/index/index.html?u='+data.obj.id;
                }else{
                    alert("账号或密码错误")