소스 검색

对菜单查询功能优化

wuxw 6 년 전
부모
커밋
372ea3e9ee

+ 72 - 41
WebService/src/main/resources/components/menuPackage/menu-manage/menuManage.html

@@ -5,52 +5,75 @@
                 <div class="ibox-title">
                     <h5>查询条件</h5>
                     <div class="ibox-tools" style="top:10px;">
-                        <button type="button"  class="btn btn-link btn-sm" style="margin-right:10px;"  v-on:click="_moreCondition()">更多</button>
+                        <button type="button" class="btn btn-link btn-sm" style="margin-right:10px;"
+                                v-on:click="_moreCondition()">更多
+                        </button>
                     </div>
                 </div>
                 <div class="ibox-content">
                     <div class="row">
-<div class="col-sm-4" >
+                        <div class="col-sm-4">
                             <div class="form-group input-group">
-                                <input type="text" placeholder="请选择菜单组名称" v-model="menuManageInfo.conditions.gName" class=" form-control">
+                                <input type="text" placeholder="请选择菜单组名称" v-model="menuManageInfo.conditions.gName"
+                                       class=" form-control">
                                 <div class="input-group-prepend">
-                                    <button type="button" class="btn btn-primary btn-sm" v-on:click="_openChooseMenuGroupMethod()"><i
+                                    <button type="button" class="btn btn-primary btn-sm"
+                                            v-on:click="_openChooseMenuGroupMethod()"><i
                                             class="glyphicon glyphicon-search"></i> 选择
                                     </button>
                                 </div>
                             </div>
-                        </div><div class="col-sm-4" >
-<div class="form-group">
-                                <input type="text" placeholder="请输入菜单ID" v-model="menuManageInfo.conditions.mId" class=" form-control">
-                            </div>                        </div><div class="col-sm-3" >
-<div class="form-group">
-                                <input type="text" placeholder="请输入菜单名称" v-model="menuManageInfo.conditions.mName" class=" form-control">
-                            </div>                        </div><div class="col-sm-1">
+                        </div>
+                        <div class="col-sm-4">
+                            <div class="form-group">
+                                <input type="text" placeholder="请输入菜单ID" v-model="menuManageInfo.conditions.mId"
+                                       class=" form-control">
+                            </div>
+                        </div>
+                        <div class="col-sm-3">
+                            <div class="form-group">
+                                <input type="text" placeholder="请输入菜单名称" v-model="menuManageInfo.conditions.mName"
+                                       class=" form-control">
+                            </div>
+                        </div>
+                        <div class="col-sm-1">
                             <button type="button" class="btn btn-primary btn-sm" v-on:click="_queryMenuMethod()">
-                                    <i class="glyphicon glyphicon-search"></i> 查询
+                                <i class="glyphicon glyphicon-search"></i> 查询
                             </button>
-                        </div></div>
-<div class="row">
-<div class="col-sm-4" v-if="menuManageInfo.moreCondition == true">
-<div class="form-group">
-                                <input type="text" placeholder="请输入权限ID" v-model="menuManageInfo.conditions.pId" class=" form-control">
-                            </div>                        </div><div class="col-sm-4" v-if="menuManageInfo.moreCondition == true">
-<div class="form-group">
-                                <input type="text" placeholder="请输入权限名称" v-model="menuManageInfo.conditions.pName" class=" form-control">
-                            </div>                        </div><div class="col-sm-3" v-if="menuManageInfo.moreCondition == true">
-<select class="custom-select" v-model="menuManageInfo.conditions.domain">
-         <option selected  value="">请选择商户类型</option>
-         <option  value="800900000001">运营团队</option>
-<option  value="800900000002">代理商</option>
-<option  value="800900000003">物业</option>
-<option  value="800900000000">开发团队</option>
-  </select>                        </div><div class="col-sm-1">
-                        </div></div>
-<div class="row">
-<div class="col-sm-4" v-if="menuManageInfo.moreCondition == true">
-<div class="form-group">
-                                <input type="text" placeholder="请输入用户名称" v-model="menuManageInfo.conditions.uName" class=" form-control">
-                            </div>                        </div></div>
+                        </div>
+                    </div>
+                    <div class="row">
+                        <div class="col-sm-4" v-if="menuManageInfo.moreCondition == true">
+                            <div class="form-group">
+                                <input type="text" placeholder="请输入权限ID" v-model="menuManageInfo.conditions.pId"
+                                       class=" form-control">
+                            </div>
+                        </div>
+                        <div class="col-sm-4" v-if="menuManageInfo.moreCondition == true">
+                            <div class="form-group">
+                                <input type="text" placeholder="请输入权限名称" v-model="menuManageInfo.conditions.pName"
+                                       class=" form-control">
+                            </div>
+                        </div>
+                        <div class="col-sm-3" v-if="menuManageInfo.moreCondition == true">
+                            <select class="custom-select" v-model="menuManageInfo.conditions.domain">
+                                <option selected value="">请选择商户类型</option>
+                                <option value="800900000001">运营团队</option>
+                                <option value="800900000002">代理商</option>
+                                <option value="800900000003">物业</option>
+                                <option value="800900000000">开发团队</option>
+                            </select></div>
+                        <div class="col-sm-1">
+                        </div>
+                    </div>
+                    <div class="row">
+                        <div class="col-sm-4" v-if="menuManageInfo.moreCondition == true">
+                            <div class="form-group">
+                                <input type="text" placeholder="请输入用户名称" v-model="menuManageInfo.conditions.uName"
+                                       class=" form-control">
+                            </div>
+                        </div>
+                    </div>
 
 
                 </div>
@@ -76,11 +99,13 @@
                     >
                         <thead>
                         <tr>
-                                                        <th class="text-center">菜单ID</th>
+                            <th class="text-center">菜单ID</th>
                             <th class="text-center">菜单名称</th>
                             <th class="text-center">菜单地址</th>
                             <th class="text-center">序列</th>
                             <th class="text-center">菜单显示</th>
+                            <td class="text-center">权限ID</td>
+                            <td class="text-center">权限编码</td>
                             <th class="text-center">操作</th>
 
 
@@ -88,17 +113,23 @@
                         </thead>
                         <tbody>
                         <tr v-for="menu in menuManageInfo.menus">
-                                                        <td class="text-center">{{menu.mId}}</td>
+                            <td class="text-center">{{menu.mId}}</td>
                             <td class="text-center">{{menu.name}}</td>
                             <td class="text-center">{{menu.url}}</td>
                             <td class="text-center">{{menu.seq}}</td>
-                            <td class="text-center">{{menu.isShow}}</td>
-                            <td class="text-center"><div class="btn-group">
-                                    <button class="btn-white btn btn-xs" v-on:click="_openEditMenuModel(menu)">修改</button>
+                            <td class="text-center">{{menu.isShowName}}</td>
+                            <td class="text-center">{{menu.pId}}</td>
+                            <td class="text-center">{{menu.pName}}</td>
+                            <td class="text-center">
+                                <div class="btn-group">
+                                    <button class="btn-white btn btn-xs" v-on:click="_openEditMenuModel(menu)">修改
+                                    </button>
                                 </div>
                                 <div class="btn-group">
-                                    <button class="btn-white btn btn-xs" v-on:click="_openDeleteMenuModel(menu)">删除</button>
-                                </div></td>
+                                    <button class="btn-white btn btn-xs" v-on:click="_openDeleteMenuModel(menu)">删除
+                                    </button>
+                                </div>
+                            </td>
 
                         </tr>
                         </tbody>

+ 3 - 0
WebService/src/main/resources/components/menuPackage/menu-manage/menuManage.js

@@ -30,6 +30,9 @@ uName:'',
         },
         _initEvent:function(){
             vc.on('menuManage','chooseMenuGroup',function(_param){
+            if(_param.hasOwnProperty("name")){
+                _param.mName = _param.name;
+            }
               vc.copyObject(_param,vc.component.menuManageInfo.conditions);
             });
 

+ 54 - 0
java110-bean/src/main/java/com/java110/dto/menu/MenuDto.java

@@ -13,6 +13,12 @@ public class MenuDto extends PageDto implements Serializable {
     private String isShow;
     private String description;
     private String statusCd;
+    private String gId;
+    private String pId;
+    private String pName;
+    private String isShowName;
+    private String domain;
+    private String uName;
 
     public String getMId() {
         return mId;
@@ -77,4 +83,52 @@ public class MenuDto extends PageDto implements Serializable {
     public void setStatusCd(String statusCd) {
         this.statusCd = statusCd;
     }
+
+    public String getgId() {
+        return gId;
+    }
+
+    public void setgId(String gId) {
+        this.gId = gId;
+    }
+
+    public String getpId() {
+        return pId;
+    }
+
+    public void setpId(String pId) {
+        this.pId = pId;
+    }
+
+    public String getpName() {
+        return pName;
+    }
+
+    public void setpName(String pName) {
+        this.pName = pName;
+    }
+
+    public String getIsShowName() {
+        return isShowName;
+    }
+
+    public void setIsShowName(String isShowName) {
+        this.isShowName = isShowName;
+    }
+
+    public String getDomain() {
+        return domain;
+    }
+
+    public void setDomain(String domain) {
+        this.domain = domain;
+    }
+
+    public String getuName() {
+        return uName;
+    }
+
+    public void setuName(String uName) {
+        this.uName = uName;
+    }
 }

+ 57 - 0
java110-bean/src/main/java/com/java110/vo/api/menu/ApiMenuDataVo.java

@@ -11,6 +11,15 @@ public class ApiMenuDataVo implements Serializable {
     private String seq;
     private String isShow;
     private String description;
+    private String gId;
+    private String pId;
+    private String pName;
+
+    private String isShowName;
+
+    private String domain;
+
+    private String uName;
 
     public String getMId() {
         return mId;
@@ -67,4 +76,52 @@ public class ApiMenuDataVo implements Serializable {
     public void setmId(String mId) {
         this.mId = mId;
     }
+
+    public String getgId() {
+        return gId;
+    }
+
+    public void setgId(String gId) {
+        this.gId = gId;
+    }
+
+    public String getpId() {
+        return pId;
+    }
+
+    public void setpId(String pId) {
+        this.pId = pId;
+    }
+
+    public String getpName() {
+        return pName;
+    }
+
+    public void setpName(String pName) {
+        this.pName = pName;
+    }
+
+    public String getIsShowName() {
+        return isShowName;
+    }
+
+    public void setIsShowName(String isShowName) {
+        this.isShowName = isShowName;
+    }
+
+    public String getDomain() {
+        return domain;
+    }
+
+    public void setDomain(String domain) {
+        this.domain = domain;
+    }
+
+    public String getuName() {
+        return uName;
+    }
+
+    public void setuName(String uName) {
+        this.uName = uName;
+    }
 }

+ 71 - 4
java110-db/src/main/resources/mapper/menu/MenuServiceDaoImplMapper.xml

@@ -191,15 +191,28 @@
 
     <!-- 查询路由信息 add by wuxw 2018-07-03 -->
     <select id="getMenuInfo" parameterType="Map" resultType="Map">
-        select t.m_id mId,t.name,t.g_id gId,t.url,t.seq,t.p_id pId,t.description,t.is_show isShow
-        from m_menu t
+        select t.m_id mId,t.name,t.g_id gId,t.url,t.seq,t.p_id pId,t.description,t.is_show isShow,
+        if(t.is_show='Y','显示','不显示') isShowName,
+        p.p_id pId,p.name pName
+        from m_menu t,p_privilege p
         where t.status_cd= '0'
+        and p.status_cd= '0'
+        and t.p_id = p.p_id
         <if test="gId !=null and gId != ''">
             and t.g_id= #{gId}
         </if>
         <if test="name !=null and name != ''">
             and t.name like concat('%',#{name},'%')
         </if>
+        <if test="pId !=null and pId != ''">
+            and t.p_id= #{pId}
+        </if>
+        <if test="domain !=null and domain != ''">
+            and t.domain= #{domain}
+        </if>
+        <if test="pName !=null and pName != ''">
+            and p.name like concat('%',#{pName},'%')
+        </if>
         <if test="mId !=null and mId != ''">
             and t.m_id= #{mId}
         </if>
@@ -218,6 +231,28 @@
         <if test="description !=null and description != ''">
             and t.description= #{description}
         </if>
+        <if test="uName != null and uName != ''">
+            and exists(
+                SELECT 1
+                    FROM p_privilege_user ppu
+                    WHERE ppu.`p_id` = p.`p_id`
+                    AND ppu.`privilege_flag` = '0'
+                    AND ppu.`name` = #{uName}
+                    AND ppu.`status_cd` = '0'
+                UNION
+                SELECT 1
+                    FROM p_privilege_user ppu,
+                    p_privilege_group ppg,p_privilege_rel ppr
+                WHERE ppu.`p_id` = ppr.pg_id
+                AND ppr.pg_id = ppg.pg_id
+                AND ppr.p_id = p.`p_id`
+                AND ppu.`privilege_flag` = '1'
+                AND ppu.`name` = #{uName}
+                AND ppu.`status_cd` = '0'
+                AND ppg.status_cd = '0'
+                AND ppr.status_cd = '0'
+            )
+        </if>
         order by t.create_time desc
         <if test="page != -1 and page != null ">
             limit #{page}, #{row}
@@ -261,14 +296,25 @@
     <!-- 查询路由数量 add by wuxw 2018-07-03 -->
     <select id="queryMenusCount" parameterType="Map" resultType="Map">
         select count(1) count
-        from m_menu t
+        from m_menu t,p_privilege p
         where t.status_cd= '0'
+        and p.status_cd= '0'
+        and t.p_id = p.p_id
         <if test="gId !=null and gId != ''">
             and t.g_id= #{gId}
         </if>
         <if test="name !=null and name != ''">
             and t.name like concat('%',#{name},'%')
         </if>
+        <if test="pId !=null and pId != ''">
+            and t.p_id= #{pId}
+        </if>
+        <if test="domain !=null and domain != ''">
+            and t.domain= #{domain}
+        </if>
+        <if test="pName !=null and pName != ''">
+            and p.name like concat('%',#{pName},'%')
+        </if>
         <if test="mId !=null and mId != ''">
             and t.m_id= #{mId}
         </if>
@@ -287,7 +333,28 @@
         <if test="description !=null and description != ''">
             and t.description= #{description}
         </if>
-        order by t.create_time desc
+        <if test="uName != null and uName != ''">
+            and exists(
+            SELECT 1
+            FROM p_privilege_user ppu
+            WHERE ppu.`p_id` = p.`p_id`
+            AND ppu.`privilege_flag` = '0'
+            AND ppu.`name` = #{uName}
+            AND ppu.`status_cd` = '0'
+            UNION
+            SELECT 1
+            FROM p_privilege_user ppu,
+            p_privilege_group ppg,p_privilege_rel ppr
+            WHERE ppu.`p_id` = ppr.pg_id
+            AND ppr.pg_id = ppg.pg_id
+            AND ppr.p_id = p.`p_id`
+            AND ppu.`privilege_flag` = '1'
+            AND ppu.`name` = #{uName}
+            AND ppu.`status_cd` = '0'
+            AND ppg.status_cd = '0'
+            AND ppr.status_cd = '0'
+            )
+        </if>
     </select>