Ztree

引入css和js

<link rel="stylesheet" href="/${appName}/commons/jslib/ztreeV3.5.15/css/zTreeStyle/zTreeStyle.css" type="text/css"></link>
<script type="text/javascript" src="/${appName}/commons/jslib/ztreeV3.5.15/jquery.ztree.all-3.5.js"></script>

html

<ul id="treeModule" class="ztree" style="height:280px"></ul>

加載樹

        /*配置*/var setting = {check: {   //顯示多選框,節點中checked字段控制enable: true,autoCheckTrigger: true,chkStyle: "checkbox",chkboxType: { "Y": "ps", "N": "ps" }},data: {key:{name:"moduleName"   //顯示節點字段
                },simpleData: {enable: true,idKey: "moduleCode",   //id字段pIdKey: "parentCode",  //父級id字段rootPId: 0   //根id值
                }}};/**菜單顯示*/var roleCode_access;function accessShow(roleCode){roleCode_access = roleCode;$('#accesswin').modal('show');//
            $.ajax({url:'/${appName}/manager/moduleController/getAllModules',type:'post',async:'true',cache:false,data:{roleCode:roleCode_access},dataType:'json',success: function(data){$.fn.zTree.init($("#treeModule"), setting, data);}});}

獲取勾選框的值

            var mids ='';var treeObj = $.fn.zTree.getZTreeObj("treeModule");var nodes = treeObj.getCheckedNodes(true);for(i=0;i<nodes.length;i++){mids = mids+nodes[i].moduleCode+',';}

后臺代碼

SysModule.java

public class SysModule {private String moduleCode;private String moduleName;private String modulePath;private String parentCode;private String isLeaf;private String sortNumber;private String checked;   //是否勾選private String open = "true";   //是否展開,默認展開
}

Controller層

    /*** 獲取所有菜單* @return*/@RequestMapping("getAllModules")@ResponseBodypublic List<SysModule> getAllModules(String roleCode){List<SysModule> result = moduleService.getAllModules();List<SysModule> binded = moduleService.getModulesByRoleCode(roleCode);Iterator<SysModule> iterator = result.iterator();/*遍歷所有菜單*/while (iterator.hasNext()){SysModule module= iterator.next();/*遍歷所有已綁定的菜單*/Iterator<SysModule> iterator_binded = binded.iterator();while (iterator_binded.hasNext()){SysModule module_binded= iterator_binded.next();if (module.getModuleCode().equals(module_binded.getModuleCode())){module.setChecked("true");}}}return result;}

Service層

    /*** 獲取所有菜單* @return*/public List<SysModule> getAllModules(){List<SysModule> modules = moduleMapper.getAllModules();return modules;}/*** 根據角色code獲取綁定的菜單* @param roleCode* @return*/public List<SysModule> getModulesByRoleCode(String roleCode){List<SysModule> modules = moduleMapper.getModulesByRoleCode(roleCode);return modules;}

Mybatis層

    /*** 獲取所有菜單* @return*/List<SysModule> getAllModules();/*** 根據角色編碼獲取綁定的菜單* @param roleCode* @return*/public List<SysModule> getModulesByRoleCode(String roleCode);<!--獲取所有菜單--><select id="getAllModules" resultType="com.autumn.pojo.SysModule">select * from sys_module</select><!--根據rolecode獲取綁定的菜單--><select id="getModulesByRoleCode" resultType="com.autumn.pojo.SysModule">select sm.* from sys_module smleft join sys_role_module srm on sm.moduleCode = srm.moduleCodewhere srm.roleCode= #{roleCode}</select>

數據庫?

CREATE TABLE IF NOT EXISTS `sys_module` (`moduleCode` varchar(36) NOT NULL COMMENT '模塊編號',`moduleName` varchar(50) DEFAULT NULL COMMENT '模塊名稱',`modulePath` varchar(1000) DEFAULT NULL COMMENT '模塊訪問路徑',`parentCode` varchar(36) DEFAULT NULL COMMENT '父模塊編號',`isLeaf` int(11) DEFAULT NULL COMMENT '是否葉子節點:0 否,1 是',`sortNumber` int(11) DEFAULT NULL COMMENT '排序號',PRIMARY KEY (`moduleCode`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='模塊表';CREATE TABLE IF NOT EXISTS `sys_role` (`roleCode` varchar(36) NOT NULL COMMENT '角色編號',`roleName` varchar(50) NOT NULL COMMENT '角色名稱',PRIMARY KEY (`roleCode`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='角色表';CREATE TABLE IF NOT EXISTS `sys_role_module` (`rmId` varchar(36) NOT NULL COMMENT '唯一編號',`roleCode` varchar(36) NOT NULL COMMENT '角色編號',`moduleCode` varchar(50) NOT NULL COMMENT '模塊編號',PRIMARY KEY (`rmId`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用戶角色-模塊關聯表';

?

轉載于:https://www.cnblogs.com/aeolian/p/9341974.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/451148.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/451148.shtml
英文地址,請注明出處:http://en.pswp.cn/news/451148.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

通過IDE生成和手動call調用webservice

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 通過IDE自動生成的代碼調用webservice服務 我們的IDE一般來說都是能夠通過各種各樣的工具來支持我們的開發使我們的開發變得更加的便捷。…

前端性能優化之Lazyload

前端性能優化之Lazyload (Mob前端-冬晨)[JavaScript|技術分享|懶加載] [TOC] Lazyload 簡介 前端工作中&#xff0c;界面和效果正在變得越來越狂拽炫酷&#xff0c;與此同時性能也是不得不提的問題。有些項目&#xff0c;頁面長&#xff0c;圖片多&#xff0c;內容豐富。像商城…

mysql查最大字符串

select MAX(comp_code0) from t_base_company字符串 0 把字符串轉成數字轉載于:https://www.cnblogs.com/feifeicui/p/9726401.html

中國聯通被指亂扣費 返還金額限制用

摘要&#xff1a;宋先生的聯通卡開通的是30G加100MB流量的套餐&#xff0c;宋先生上網認真核實了手機清單&#xff0c;發現近期上網流量從未超出。這回聯通客服的解釋是&#xff1a;“亂扣的費用已經在4月29日返還到你的卡里&#xff0c;這筆費用為‘隱藏扣費’&#xff0c;你是…

JAVA使用FTPClient類讀寫FTP

見&#xff1a;http://blog.csdn.net/kardelpeng/article/details/6588284 1.首先先導入相關jar包 2.創建一個連接FTP的工具類FTPUtil.Java [java] view plaincopy package com.metarnet.ftp.util; import java.io.IOException; import java.io.InputStream; import j…

揭秘一線互聯網企業 前端JavaScript高級面試

第1章 課程介紹本章主要介紹課程的知識大綱&#xff0c;每個章節的解決順序和主要內容。1-1 導學1-2 課程重要提示1-3 架構 第2章 ES6 語法本章主要講解工作中最常用的 ES6 語法&#xff0c;包括 Module Class Promise 等語法&#xff0c;還會介紹使用 babel webpack rollup 來…

Java IO類庫之ObjectInputStream和ObjectOutPutStream

2019獨角獸企業重金招聘Python工程師標準>>> 一、ObjectOutputStream 1 - ObjectOuputStream介紹 ObjectOutputStream(對象字節輸出流)&#xff0c;用于將一個序列化對象寫入到創建ObjectOutputStream時傳入的底層字節輸入流中&#xff0c;通過源碼可知該類繼承Outp…

什么是覆蓋索引?如何利用覆蓋索引進行SQL語句優化?

如果你不知道什么是覆蓋索引&#xff0c;那么SQL性能優化便無從談起&#xff01; 什么是覆蓋索引?如何利用索引進行SQL語句優化&#xff1f; 表結構 150多萬的數據&#xff0c;這么一個簡單的語句&#xff1a; 慢查詢日志里居然很多用了1秒的&#xff0c;Explain的結果是&am…

ARM的商業模式是如何煉成的?

導讀&#xff1a;保守、嚴謹&#xff0c;又有一些皇族氣質&#xff0c;作為一家擁有純正英國血統的公司&#xff0c;ARM看似呆板的作風卻讓其在移動互聯網大潮中勢如破竹&#xff0c;沒有對手。也許過于看重產業鏈伙伴的聲音&#xff0c;導致ARM的決策有些遲緩&#xff0c;比如…

java 將一段時間分割為兩個連續的時間

eg: 20180901 -- 20180930 ->>>> 20180901-20180915 && 20180916-20180930 /*** 獲取兩日期相差天數** param beginDateStr 時間起點* param endDateStr 時間終點* param TimeType 時間類型 yyyy-MM-dd || yyyyMMdd || ....* return long /天數*/public …

java 中 FtpClient 實現 FTP 文件上傳、下載

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 源代碼大部分是網上找的&#xff0c;查來查去&#xff0c;找到幾個可以用的例子&#xff0c;改來改去&#xff0c;揉合成現在這個樣子。…

MongDB集合文檔操作符

一、MongoDB - 連接1.啟動 MongoDB 服務只需要在 MongoDB 安裝目錄的 bin 目錄下執行 mongod 即可執行啟動操作后&#xff0c;mongodb 在輸出一些必要信息后不會輸出任何信息&#xff0c;之后就等待連接的建立&#xff0c;當連接被建立后&#xff0c;就會開始打印日志信息。可以…

LIMIT M,N分頁性能優化方案

利用子查詢優化 說明: MySQL 并不是跳過 offset 行&#xff0c;而是取 offsetN 行&#xff0c;然后返回放棄前 offset 行&#xff0c;返回 N 行&#xff0c;那當 offset 特別大的時候&#xff0c;此時使用limit m,n效率就非常的低下。想要提升性能要么控制返回的總頁數&#…

PHP獲取文件后綴名

PHP獲取文件后綴名是PHP學習者常見的一種操作&#xff0c;無論是在面試過程中還是PHP新手自學中。PHP獲取文件后綴名都是很普遍的需要掌握的一個知識點。下面我們就給大家總結介紹PHP獲取文件擴展名也就是后綴名的兩種方法&#xff01;一、通過pathinfo首先大家應該知道pathinf…

Web Service 簡單實例(java 版本) ,IDE自動生成客戶端代碼方法

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 一、客戶端工程 jar 包 &#xff1a; 二、1. 服務端&#xff1a;( new 一個web service project ) package com;import javax.jws.…

最佳Linux服務器發行版

一款Linux發行版就如同一件衣服一樣&#xff0c;適合自己的才是最好的選擇。 對大型企業而言&#xff0c;當然首選Red Hat Enterprise Linux&#xff08;RHEL&#xff09;。Red Hat有完善的技術支持服務&#xff0c;而且在我們周圍&#xff0c;非常容易找到持有Red Hat認證的技…

在線代碼編輯器 Codemirror 的輕量級 React 組件

代碼編輯器 CodeMirror 的輕量級 React 組件 demo uiw-react.github.io/react-codem… 特性: ? 自動根據 mode 配置加載 mode 文件。 ? 快速簡單的配置 API。 安裝 npm install uiw/react-codemirror --save 復制代碼使用 import CodeMirror from uiw/react-codemirror; impo…

「機械」4大傳動方式優劣對比:機械、電氣、氣壓、液壓

傳動方式有很多種。目前應用比較多的四大類傳動方式&#xff08;機械、電氣、液壓和氣壓&#xff09;中&#xff0c;沒有一種動力傳動是十全十美的。今天跟大家分享4種傳動方式的優劣對比。 一. 機械傳動 1. 齒輪傳動 齒輪傳動是機械傳動中應用最廣的一種傳動形式。它的傳動比較…

一次性獲取多個oracle序列的值,實現關聯表多數據的批量insert

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 業務 要求批量導入不小于10W條數據到 user 表&#xff0c;但是user表在 insert 每條數據的同時要 insert 一條對應數據到 customer表…