菜单&数据权限新增(展开/折叠 全选/全不选 父子联动)
This commit is contained in:
		
							parent
							
								
									0ecf27f8d6
								
							
						
					
					
						commit
						478fae0d28
					
				@ -37,6 +37,12 @@ public class SysRole extends BaseEntity
 | 
			
		||||
    @Excel(name = "数据范围", readConverterExp = "1=所有数据权限,2=自定义数据权限,3=本部门数据权限,4=本部门及以下数据权限")
 | 
			
		||||
    private String dataScope;
 | 
			
		||||
 | 
			
		||||
    /** 菜单树选择项是否关联显示(0:父子互相关联显示 1:父子不互相关联显示) */
 | 
			
		||||
    private boolean menuCheckStrictly;
 | 
			
		||||
 | 
			
		||||
    /** 部门树选择项是否关联显示(0:父子互相关联显示 1:父子不互相关联显示) */
 | 
			
		||||
    private boolean deptCheckStrictly;
 | 
			
		||||
 | 
			
		||||
    /** 角色状态(0正常 1停用) */
 | 
			
		||||
    @Excel(name = "角色状态", readConverterExp = "0=正常,1=停用")
 | 
			
		||||
    private String status;
 | 
			
		||||
@ -128,6 +134,26 @@ public class SysRole extends BaseEntity
 | 
			
		||||
        this.dataScope = dataScope;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public boolean isMenuCheckStrictly()
 | 
			
		||||
    {
 | 
			
		||||
        return menuCheckStrictly;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setMenuCheckStrictly(boolean menuCheckStrictly)
 | 
			
		||||
    {
 | 
			
		||||
        this.menuCheckStrictly = menuCheckStrictly;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public boolean isDeptCheckStrictly()
 | 
			
		||||
    {
 | 
			
		||||
        return deptCheckStrictly;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setDeptCheckStrictly(boolean deptCheckStrictly)
 | 
			
		||||
    {
 | 
			
		||||
        this.deptCheckStrictly = deptCheckStrictly;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public String getStatus()
 | 
			
		||||
    {
 | 
			
		||||
        return status;
 | 
			
		||||
 | 
			
		||||
@ -23,9 +23,10 @@ public interface SysDeptMapper
 | 
			
		||||
     * 根据角色ID查询部门树信息
 | 
			
		||||
     * 
 | 
			
		||||
     * @param roleId 角色ID
 | 
			
		||||
     * @param deptCheckStrictly 部门树选择项是否关联显示
 | 
			
		||||
     * @return 选中部门列表
 | 
			
		||||
     */
 | 
			
		||||
    public List<Integer> selectDeptListByRoleId(Long roleId);
 | 
			
		||||
    public List<Integer> selectDeptListByRoleId(@Param("roleId") Long roleId, @Param("deptCheckStrictly") boolean deptCheckStrictly);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 根据部门ID查询信息
 | 
			
		||||
 | 
			
		||||
@ -59,11 +59,12 @@ public interface SysMenuMapper
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 根据角色ID查询菜单树信息
 | 
			
		||||
     *
 | 
			
		||||
     * 
 | 
			
		||||
     * @param roleId 角色ID
 | 
			
		||||
     * @param menuCheckStrictly 菜单树选择项是否关联显示
 | 
			
		||||
     * @return 选中菜单列表
 | 
			
		||||
     */
 | 
			
		||||
    public List<Integer> selectMenuListByRoleId(Long roleId);
 | 
			
		||||
    public List<Integer> selectMenuListByRoleId(@Param("roleId") Long roleId, @Param("menuCheckStrictly") boolean menuCheckStrictly);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 根据菜单ID查询信息
 | 
			
		||||
 | 
			
		||||
@ -10,9 +10,11 @@ import com.ruoyi.common.annotation.DataScope;
 | 
			
		||||
import com.ruoyi.common.constant.UserConstants;
 | 
			
		||||
import com.ruoyi.common.core.domain.TreeSelect;
 | 
			
		||||
import com.ruoyi.common.core.domain.entity.SysDept;
 | 
			
		||||
import com.ruoyi.common.core.domain.entity.SysRole;
 | 
			
		||||
import com.ruoyi.common.exception.CustomException;
 | 
			
		||||
import com.ruoyi.common.utils.StringUtils;
 | 
			
		||||
import com.ruoyi.system.mapper.SysDeptMapper;
 | 
			
		||||
import com.ruoyi.system.mapper.SysRoleMapper;
 | 
			
		||||
import com.ruoyi.system.service.ISysDeptService;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@ -26,6 +28,9 @@ public class SysDeptServiceImpl implements ISysDeptService
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private SysDeptMapper deptMapper;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private SysRoleMapper roleMapper;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 查询部门管理数据
 | 
			
		||||
     * 
 | 
			
		||||
@ -93,7 +98,8 @@ public class SysDeptServiceImpl implements ISysDeptService
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<Integer> selectDeptListByRoleId(Long roleId)
 | 
			
		||||
    {
 | 
			
		||||
        return deptMapper.selectDeptListByRoleId(roleId);
 | 
			
		||||
        SysRole role = roleMapper.selectRoleById(roleId);
 | 
			
		||||
        return deptMapper.selectDeptListByRoleId(roleId, role.isDeptCheckStrictly());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 | 
			
		||||
@ -13,12 +13,14 @@ import org.springframework.stereotype.Service;
 | 
			
		||||
import com.ruoyi.common.constant.UserConstants;
 | 
			
		||||
import com.ruoyi.common.core.domain.TreeSelect;
 | 
			
		||||
import com.ruoyi.common.core.domain.entity.SysMenu;
 | 
			
		||||
import com.ruoyi.common.core.domain.entity.SysRole;
 | 
			
		||||
import com.ruoyi.common.core.domain.entity.SysUser;
 | 
			
		||||
import com.ruoyi.common.utils.SecurityUtils;
 | 
			
		||||
import com.ruoyi.common.utils.StringUtils;
 | 
			
		||||
import com.ruoyi.system.domain.vo.MetaVo;
 | 
			
		||||
import com.ruoyi.system.domain.vo.RouterVo;
 | 
			
		||||
import com.ruoyi.system.mapper.SysMenuMapper;
 | 
			
		||||
import com.ruoyi.system.mapper.SysRoleMapper;
 | 
			
		||||
import com.ruoyi.system.mapper.SysRoleMenuMapper;
 | 
			
		||||
import com.ruoyi.system.service.ISysMenuService;
 | 
			
		||||
 | 
			
		||||
@ -35,6 +37,9 @@ public class SysMenuServiceImpl implements ISysMenuService
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private SysMenuMapper menuMapper;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private SysRoleMapper roleMapper;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private SysRoleMenuMapper roleMenuMapper;
 | 
			
		||||
 | 
			
		||||
@ -124,7 +129,8 @@ public class SysMenuServiceImpl implements ISysMenuService
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<Integer> selectMenuListByRoleId(Long roleId)
 | 
			
		||||
    {
 | 
			
		||||
        return menuMapper.selectMenuListByRoleId(roleId);
 | 
			
		||||
        SysRole role = roleMapper.selectRoleById(roleId);
 | 
			
		||||
        return menuMapper.selectMenuListByRoleId(roleId, role.isMenuCheckStrictly());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 | 
			
		||||
@ -44,12 +44,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 | 
			
		||||
		order by d.parent_id, d.order_num
 | 
			
		||||
    </select>
 | 
			
		||||
    
 | 
			
		||||
    <select id="selectDeptListByRoleId" parameterType="Long" resultType="Integer">
 | 
			
		||||
		select d.dept_id, d.parent_id
 | 
			
		||||
    <select id="selectDeptListByRoleId" resultType="Integer">
 | 
			
		||||
		select d.dept_id
 | 
			
		||||
		from sys_dept d
 | 
			
		||||
            left join sys_role_dept rd on d.dept_id = rd.dept_id
 | 
			
		||||
        where rd.role_id = #{roleId}
 | 
			
		||||
        	and d.dept_id not in (select d.parent_id from sys_dept d inner join sys_role_dept rd on d.dept_id = rd.dept_id and rd.role_id = #{roleId})
 | 
			
		||||
            <if test="deptCheckStrictly">
 | 
			
		||||
              and d.dept_id not in (select d.parent_id from sys_dept d inner join sys_role_dept rd on d.dept_id = rd.dept_id and rd.role_id = #{roleId})
 | 
			
		||||
            </if>
 | 
			
		||||
		order by d.parent_id, d.order_num
 | 
			
		||||
	</select>
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
@ -82,12 +82,14 @@
 | 
			
		||||
		order by m.parent_id, m.order_num
 | 
			
		||||
	</select>
 | 
			
		||||
	
 | 
			
		||||
	<select id="selectMenuListByRoleId" parameterType="Long" resultType="Integer">
 | 
			
		||||
		select m.menu_id, m.parent_id
 | 
			
		||||
	<select id="selectMenuListByRoleId" resultType="Integer">
 | 
			
		||||
		select m.menu_id
 | 
			
		||||
		from sys_menu m
 | 
			
		||||
            left join sys_role_menu rm on m.menu_id = rm.menu_id
 | 
			
		||||
        where rm.role_id = #{roleId}
 | 
			
		||||
        	and m.menu_id not in (select m.parent_id from sys_menu m inner join sys_role_menu rm on m.menu_id = rm.menu_id and rm.role_id = #{roleId})
 | 
			
		||||
            <if test="menuCheckStrictly">
 | 
			
		||||
              and m.menu_id not in (select m.parent_id from sys_menu m inner join sys_role_menu rm on m.menu_id = rm.menu_id and rm.role_id = #{roleId})
 | 
			
		||||
            </if>
 | 
			
		||||
		order by m.parent_id, m.order_num
 | 
			
		||||
	</select>
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
@ -5,22 +5,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 | 
			
		||||
<mapper namespace="com.ruoyi.system.mapper.SysRoleMapper">
 | 
			
		||||
 | 
			
		||||
	<resultMap type="SysRole" id="SysRoleResult">
 | 
			
		||||
		<id     property="roleId"       column="role_id"        />
 | 
			
		||||
		<result property="roleName"     column="role_name"      />
 | 
			
		||||
		<result property="roleKey"      column="role_key"       />
 | 
			
		||||
		<result property="roleSort"     column="role_sort"      />
 | 
			
		||||
		<result property="dataScope"    column="data_scope"     />
 | 
			
		||||
		<result property="status"       column="status"         />
 | 
			
		||||
		<result property="delFlag"      column="del_flag"       />
 | 
			
		||||
		<result property="createBy"     column="create_by"      />
 | 
			
		||||
		<result property="createTime"   column="create_time"    />
 | 
			
		||||
		<result property="updateBy"     column="update_by"      />
 | 
			
		||||
		<result property="updateTime"   column="update_time"    />
 | 
			
		||||
		<result property="remark"       column="remark"         />
 | 
			
		||||
		<id     property="roleId"             column="role_id"               />
 | 
			
		||||
		<result property="roleName"           column="role_name"             />
 | 
			
		||||
		<result property="roleKey"            column="role_key"              />
 | 
			
		||||
		<result property="roleSort"           column="role_sort"             />
 | 
			
		||||
		<result property="dataScope"          column="data_scope"            />
 | 
			
		||||
		<result property="menuCheckStrictly"  column="menu_check_strictly"   />
 | 
			
		||||
		<result property="deptCheckStrictly"  column="dept_check_strictly"   />
 | 
			
		||||
		<result property="status"             column="status"                />
 | 
			
		||||
		<result property="delFlag"            column="del_flag"              />
 | 
			
		||||
		<result property="createBy"           column="create_by"             />
 | 
			
		||||
		<result property="createTime"         column="create_time"           />
 | 
			
		||||
		<result property="updateBy"           column="update_by"             />
 | 
			
		||||
		<result property="updateTime"         column="update_time"           />
 | 
			
		||||
		<result property="remark"             column="remark"                />
 | 
			
		||||
	</resultMap>
 | 
			
		||||
	
 | 
			
		||||
	<sql id="selectRoleVo">
 | 
			
		||||
	    select distinct r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope,
 | 
			
		||||
	    select distinct r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.menu_check_strictly, r.dept_check_strictly,
 | 
			
		||||
            r.status, r.del_flag, r.create_time, r.remark 
 | 
			
		||||
        from sys_role r
 | 
			
		||||
	        left join sys_user_role ur on ur.role_id = r.role_id
 | 
			
		||||
@ -95,6 +97,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 | 
			
		||||
 			<if test="roleKey != null and roleKey != ''">role_key,</if>
 | 
			
		||||
 			<if test="roleSort != null and roleSort != ''">role_sort,</if>
 | 
			
		||||
 			<if test="dataScope != null and dataScope != ''">data_scope,</if>
 | 
			
		||||
 			<if test="menuCheckStrictly != null and menuCheckStrictly != ''">menu_check_strictly,</if>
 | 
			
		||||
 			<if test="deptCheckStrictly != null and deptCheckStrictly != ''">dept_check_strictly,</if>
 | 
			
		||||
 			<if test="status != null and status != ''">status,</if>
 | 
			
		||||
 			<if test="remark != null and remark != ''">remark,</if>
 | 
			
		||||
 			<if test="createBy != null and createBy != ''">create_by,</if>
 | 
			
		||||
@ -105,6 +109,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 | 
			
		||||
 			<if test="roleKey != null and roleKey != ''">#{roleKey},</if>
 | 
			
		||||
 			<if test="roleSort != null and roleSort != ''">#{roleSort},</if>
 | 
			
		||||
 			<if test="dataScope != null and dataScope != ''">#{dataScope},</if>
 | 
			
		||||
 			<if test="menuCheckStrictly != null">#{menu_check_strictly},</if>
 | 
			
		||||
 			<if test="deptCheckStrictly != null">#{dept_check_strictly},</if>
 | 
			
		||||
 			<if test="status != null and status != ''">#{status},</if>
 | 
			
		||||
 			<if test="remark != null and remark != ''">#{remark},</if>
 | 
			
		||||
 			<if test="createBy != null and createBy != ''">#{createBy},</if>
 | 
			
		||||
@ -119,6 +125,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 | 
			
		||||
 			<if test="roleKey != null and roleKey != ''">role_key = #{roleKey},</if>
 | 
			
		||||
 			<if test="roleSort != null and roleSort != ''">role_sort = #{roleSort},</if>
 | 
			
		||||
 			<if test="dataScope != null and dataScope != ''">data_scope = #{dataScope},</if>
 | 
			
		||||
 			<if test="menuCheckStrictly != null">menu_check_strictly = #{menuCheckStrictly},</if>
 | 
			
		||||
 			<if test="deptCheckStrictly != null">dept_check_strictly = #{deptCheckStrictly},</if>
 | 
			
		||||
 			<if test="status != null and status != ''">status = #{status},</if>
 | 
			
		||||
 			<if test="remark != null">remark = #{remark},</if>
 | 
			
		||||
 			<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
 | 
			
		||||
 | 
			
		||||
@ -92,6 +92,14 @@
 | 
			
		||||
	padding: 10px 20px !important;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* tree border */
 | 
			
		||||
.tree-border {
 | 
			
		||||
    margin-top: 5px;
 | 
			
		||||
    border: 1px solid #e5e6e7;
 | 
			
		||||
    background: #FFFFFF none;
 | 
			
		||||
    border-radius:4px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.pagination-container .el-pagination {
 | 
			
		||||
	right: 0;
 | 
			
		||||
	position: absolute;
 | 
			
		||||
 | 
			
		||||
@ -175,11 +175,16 @@
 | 
			
		||||
          </el-radio-group>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item label="菜单权限">
 | 
			
		||||
          <el-checkbox v-model="menuExpand" @change="handleCheckedTreeExpand($event, 'menu')">展开/折叠</el-checkbox>
 | 
			
		||||
          <el-checkbox v-model="menuNodeAll" @change="handleCheckedTreeNodeAll($event, 'menu')">全选/全不选</el-checkbox>
 | 
			
		||||
          <el-checkbox v-model="form.menuCheckStrictly" @change="handleCheckedTreeConnect($event, 'menu')">父子联动</el-checkbox>
 | 
			
		||||
          <el-tree
 | 
			
		||||
            class="tree-border"
 | 
			
		||||
            :data="menuOptions"
 | 
			
		||||
            show-checkbox
 | 
			
		||||
            ref="menu"
 | 
			
		||||
            node-key="id"
 | 
			
		||||
            :check-strictly="!form.menuCheckStrictly"
 | 
			
		||||
            empty-text="加载中,请稍后"
 | 
			
		||||
            :props="defaultProps"
 | 
			
		||||
          ></el-tree>
 | 
			
		||||
@ -214,12 +219,17 @@
 | 
			
		||||
          </el-select>
 | 
			
		||||
        </el-form-item>
 | 
			
		||||
        <el-form-item label="数据权限" v-show="form.dataScope == 2">
 | 
			
		||||
          <el-checkbox v-model="deptExpand" @change="handleCheckedTreeExpand($event, 'dept')">展开/折叠</el-checkbox>
 | 
			
		||||
          <el-checkbox v-model="deptNodeAll" @change="handleCheckedTreeNodeAll($event, 'dept')">全选/全不选</el-checkbox>
 | 
			
		||||
          <el-checkbox v-model="form.deptCheckStrictly" @change="handleCheckedTreeConnect($event, 'dept')">父子联动</el-checkbox>
 | 
			
		||||
          <el-tree
 | 
			
		||||
            class="tree-border"
 | 
			
		||||
            :data="deptOptions"
 | 
			
		||||
            show-checkbox
 | 
			
		||||
            default-expand-all
 | 
			
		||||
            ref="dept"
 | 
			
		||||
            node-key="id"
 | 
			
		||||
            :check-strictly="!form.deptCheckStrictly"
 | 
			
		||||
            empty-text="加载中,请稍后"
 | 
			
		||||
            :props="defaultProps"
 | 
			
		||||
          ></el-tree>
 | 
			
		||||
@ -262,6 +272,10 @@ export default {
 | 
			
		||||
      open: false,
 | 
			
		||||
      // 是否显示弹出层(数据权限)
 | 
			
		||||
      openDataScope: false,
 | 
			
		||||
      menuExpand: false,
 | 
			
		||||
      menuNodeAll: false,
 | 
			
		||||
      deptExpand: true,
 | 
			
		||||
      deptNodeAll: false,
 | 
			
		||||
      // 日期范围
 | 
			
		||||
      dateRange: [],
 | 
			
		||||
      // 状态数据字典
 | 
			
		||||
@ -413,6 +427,10 @@ export default {
 | 
			
		||||
      if (this.$refs.menu != undefined) {
 | 
			
		||||
        this.$refs.menu.setCheckedKeys([]);
 | 
			
		||||
      }
 | 
			
		||||
      this.menuExpand = false,
 | 
			
		||||
      this.menuNodeAll = false,
 | 
			
		||||
      this.deptExpand = true,
 | 
			
		||||
      this.deptNodeAll = false,
 | 
			
		||||
      this.form = {
 | 
			
		||||
        roleId: undefined,
 | 
			
		||||
        roleName: undefined,
 | 
			
		||||
@ -421,6 +439,7 @@ export default {
 | 
			
		||||
        status: "0",
 | 
			
		||||
        menuIds: [],
 | 
			
		||||
        deptIds: [],
 | 
			
		||||
        menuCheckStrictly: true,
 | 
			
		||||
        remark: undefined
 | 
			
		||||
      };
 | 
			
		||||
      this.resetForm("form");
 | 
			
		||||
@ -442,6 +461,36 @@ export default {
 | 
			
		||||
      this.single = selection.length!=1
 | 
			
		||||
      this.multiple = !selection.length
 | 
			
		||||
    },
 | 
			
		||||
    // 树权限(展开/折叠)
 | 
			
		||||
    handleCheckedTreeExpand(value, type) {
 | 
			
		||||
      if (type == 'menu') {
 | 
			
		||||
        let treeList = this.menuOptions;
 | 
			
		||||
        for (let i = 0; i < treeList.length; i++) {
 | 
			
		||||
          this.$refs.menu.store.nodesMap[treeList[i].id].expanded = value;
 | 
			
		||||
        }
 | 
			
		||||
      } else if (type == 'dept') {
 | 
			
		||||
        let treeList = this.deptOptions;
 | 
			
		||||
        for (let i = 0; i < treeList.length; i++) {
 | 
			
		||||
          this.$refs.dept.store.nodesMap[treeList[i].id].expanded = value;
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    // 树权限(全选/全不选)
 | 
			
		||||
    handleCheckedTreeNodeAll(value, type) {
 | 
			
		||||
      if (type == 'menu') {
 | 
			
		||||
        this.$refs.menu.setCheckedNodes(value ? this.menuOptions: []);
 | 
			
		||||
      } else if (type == 'dept') {
 | 
			
		||||
        this.$refs.dept.setCheckedNodes(value ? this.deptOptions: []);
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    // 树权限(父子联动)
 | 
			
		||||
    handleCheckedTreeConnect(value, type) {
 | 
			
		||||
      if (type == 'menu') {
 | 
			
		||||
        this.form.menuCheckStrictly = value ? true: false;
 | 
			
		||||
      } else if (type == 'dept') {
 | 
			
		||||
        this.form.deptCheckStrictly = value ? true: false;
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    /** 新增按钮操作 */
 | 
			
		||||
    handleAdd() {
 | 
			
		||||
      this.reset();
 | 
			
		||||
 | 
			
		||||
@ -93,7 +93,7 @@
 | 
			
		||||
          </el-col>
 | 
			
		||||
          <el-col :span="12">
 | 
			
		||||
            <el-form-item label="归属部门" prop="deptId">
 | 
			
		||||
              <treeselect v-model="form.deptId" :options="deptOptions" :disable-branch-nodes="true" :show-count="true" placeholder="请选择归属部门" />
 | 
			
		||||
              <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" />
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </el-col>
 | 
			
		||||
        </el-row>
 | 
			
		||||
 | 
			
		||||
@ -102,26 +102,28 @@ insert into sys_post values(4, 'user', '普通员工',  4, '0', 'admin', '2018-0
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
drop table if exists sys_role;
 | 
			
		||||
create table sys_role (
 | 
			
		||||
  role_id           bigint(20)      not null auto_increment    comment '角色ID',
 | 
			
		||||
  role_name         varchar(30)     not null                   comment '角色名称',
 | 
			
		||||
  role_key          varchar(100)    not null                   comment '角色权限字符串',
 | 
			
		||||
  role_sort         int(4)          not null                   comment '显示顺序',
 | 
			
		||||
  data_scope        char(1)         default '1'                comment '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)',
 | 
			
		||||
  status            char(1)         not null                   comment '角色状态(0正常 1停用)',
 | 
			
		||||
  del_flag          char(1)         default '0'                comment '删除标志(0代表存在 2代表删除)',
 | 
			
		||||
  create_by         varchar(64)     default ''                 comment '创建者',
 | 
			
		||||
  create_time       datetime                                   comment '创建时间',
 | 
			
		||||
  update_by         varchar(64)     default ''                 comment '更新者',
 | 
			
		||||
  update_time       datetime                                   comment '更新时间',
 | 
			
		||||
  remark            varchar(500)    default null               comment '备注',
 | 
			
		||||
  role_id              bigint(20)      not null auto_increment    comment '角色ID',
 | 
			
		||||
  role_name            varchar(30)     not null                   comment '角色名称',
 | 
			
		||||
  role_key             varchar(100)    not null                   comment '角色权限字符串',
 | 
			
		||||
  role_sort            int(4)          not null                   comment '显示顺序',
 | 
			
		||||
  data_scope           char(1)         default '1'                comment '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)',
 | 
			
		||||
  menu_check_strictly  tinyint(1)      default 1                  comment '菜单树选择项是否关联显示',
 | 
			
		||||
  dept_check_strictly  tinyint(1)      default 1                  comment '部门树选择项是否关联显示',
 | 
			
		||||
  status               char(1)         not null                   comment '角色状态(0正常 1停用)',
 | 
			
		||||
  del_flag             char(1)         default '0'                comment '删除标志(0代表存在 2代表删除)',
 | 
			
		||||
  create_by            varchar(64)     default ''                 comment '创建者',
 | 
			
		||||
  create_time          datetime                                   comment '创建时间',
 | 
			
		||||
  update_by            varchar(64)     default ''                 comment '更新者',
 | 
			
		||||
  update_time          datetime                                   comment '更新时间',
 | 
			
		||||
  remark               varchar(500)    default null               comment '备注',
 | 
			
		||||
  primary key (role_id)
 | 
			
		||||
) engine=innodb auto_increment=100 comment = '角色信息表';
 | 
			
		||||
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
-- 初始化-角色信息表数据
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
insert into sys_role values('1', '超级管理员',  'admin',  1, 1, '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '超级管理员');
 | 
			
		||||
insert into sys_role values('2', '普通角色',    'common', 2, 2, '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '普通角色');
 | 
			
		||||
insert into sys_role values('1', '超级管理员',  'admin',  1, 1, 1, 1, '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '超级管理员');
 | 
			
		||||
insert into sys_role values('2', '普通角色',    'common', 2, 2, 1, 1, '0', '0', 'admin', '2018-03-16 11-33-00', 'ry', '2018-03-16 11-33-00', '普通角色');
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- ----------------------------
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user