From ced11a778b9bf4deee59445a41e3ede298d8c963 Mon Sep 17 00:00:00 2001
From: gdg <764716047@qq.com>
Date: 星期四, 25 二月 2021 11:20:05 +0800
Subject: [PATCH] 人员管理的按钮权限和 可见人员权限
---
src/main/webapp/WEB-INF/spring-menu.xml | 2
src/main/java/com/nanometer/smartlab/controller/RoleMngController.java | 82 +++++++++++
src/main/java/com/nanometer/smartlab/service/BaseRoleServiceImpl.java | 31 ++++
src/main/java/com/nanometer/smartlab/service/SysUserService.java | 2
src/main/java/com/nanometer/smartlab/service/BaseRoleService.java | 5
src/main/java/com/nanometer/smartlab/controller/UserMngController.java | 37 ++++
src/main/webapp/role_mng.xhtml | 61 ++++++++
src/main/java/com/nanometer/smartlab/service/SysUserServiceImpl.java | 22 +++
src/main/java/com/nanometer/smartlab/dao/SysUserDao.java | 4
src/main/java/com/nanometer/smartlab/dao/BaseRoleDao.xml | 34 ++++
src/main/webapp/user_mng.xhtml | 14 +
src/main/java/com/nanometer/smartlab/dao/BaseRoleDao.java | 2
src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml | 56 +++++++
src/main/java/com/nanometer/smartlab/entity/BaseRole.java | 34 ++++
14 files changed, 371 insertions(+), 15 deletions(-)
diff --git a/src/main/java/com/nanometer/smartlab/controller/RoleMngController.java b/src/main/java/com/nanometer/smartlab/controller/RoleMngController.java
index 46cc2e2..1bb893a 100644
--- a/src/main/java/com/nanometer/smartlab/controller/RoleMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/RoleMngController.java
@@ -61,6 +61,34 @@
RequestContext.getCurrentInstance().execute("PF('dialog').show()");
}
+ public void btnPermissionClick() {
+ if (this.selectedList == null
+ || this.selectedList.size() == 0) {
+ FacesUtils.warn("请选择数据。");
+ return;
+ }
+ if (this.selectedList.size() > 1) {
+ FacesUtils.warn("只能选择一个数据进行修改。");
+ return;
+ }
+ this.baseRole = this.baseRoleService.getBaseRole(this.selectedList.get(0).getId());
+ RequestContext.getCurrentInstance().execute("PF('btnDialog').show()");
+ }
+
+ public void userPermissionClick() {
+ if (this.selectedList == null
+ || this.selectedList.size() == 0) {
+ FacesUtils.warn("请选择数据。");
+ return;
+ }
+ if (this.selectedList.size() > 1) {
+ FacesUtils.warn("只能选择一个数据进行修改。");
+ return;
+ }
+ this.baseRole = this.baseRoleService.getBaseRole(this.selectedList.get(0).getId());
+ RequestContext.getCurrentInstance().execute("PF('userDialog').show()");
+ }
+
public void onSaveBtnClick() {
try {
// 新建
@@ -79,7 +107,8 @@
FacesUtils.warn("请选择角色权限。");
return;
}
-
+ baseRole.setUserPermission("自己");
+ baseRole.setBtnPermission("新增,修改,删除,导入");
this.baseRoleService.insertBaseRole(this.baseRole);
FacesUtils.info("新建成功。");
@@ -111,6 +140,57 @@
FacesUtils.warn("操作失败。");
}
}
+ /**
+ * 人员管理按钮权限修改
+ */
+ public void onSaveBtnPermission() {
+ try {
+ if (this.baseRole == null) {
+ FacesUtils.warn("修改对象为空。");
+ return;
+ }
+
+
+ if (this.baseRole.getBtnPermissions() == null || this.baseRole.getBtnPermissions().size() == 0) {
+ FacesUtils.warn("请选择功能。");
+ return;
+ }
+
+ this.baseRoleService.updateUserMngPageBtn(this.baseRole);
+
+ FacesUtils.info("修改成功。");
+ RequestContext.getCurrentInstance().execute("PF('btnDialog').hide()");
+ } catch (Exception e) {
+ logger.error("操作失败。", e);
+ FacesUtils.warn("操作失败。");
+ }
+ }
+
+ /**
+ * 人员管理人员可见权限修改
+ */
+ public void onSaveUserPermission() {
+ try {
+ if (this.baseRole == null) {
+ FacesUtils.warn("修改对象为空。");
+ return;
+ }
+
+
+ if (this.baseRole.getUserPermission() == null) {
+ FacesUtils.warn("请选择可见范围。");
+ return;
+ }
+
+ this.baseRoleService.updateUserMngPageBtn(this.baseRole);
+
+ FacesUtils.info("修改成功。");
+ RequestContext.getCurrentInstance().execute("PF('userDialog').hide()");
+ } catch (Exception e) {
+ logger.error("操作失败。", e);
+ FacesUtils.warn("操作失败。");
+ }
+ }
public void onDeleteBtnClick() {
try {
diff --git a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
index 92407d3..bb5bd60 100644
--- a/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
+++ b/src/main/java/com/nanometer/smartlab/controller/UserMngController.java
@@ -73,6 +73,7 @@
private List<Waster> wasterSelectList;
private String project;
private String company;
+ private BaseRole role;
public List<BaseRole> getRoleList() {
return roleList;
@@ -494,6 +495,16 @@
}
}
+
+ public void initPage() {
+ sysUser = sysUserService.getSysUser(getUser().getId());
+ role = baseRoleService.getRoleByUserId(sysUser.getId());
+ }
+ public boolean isAccess(String info) {
+ String permission = role.getBtnPermission();
+ return permission.contains(info);
+ }
+
public LazyDataModel<SysUser> getDataModel() {
if (this.dataModel == null) {
this.dataModel = new LazyDataModel<SysUser>() {
@@ -501,11 +512,29 @@
public List<SysUser> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, Object> filters) {
List<SysUser> list = null;
try {
- int count = sysUserService.getSysUserTotalCount(arp, name,departmentName,project,company);
- this.setRowCount(count);
- if (count > 0) {
- list = sysUserService.getSysUserList(arp, name,departmentName,project,company, first, pageSize);
+ //做可见人员过滤
+ String userPermission = role.getUserPermission();
+ if (userPermission.contains("自己")) {
+ list = Collections.singletonList(sysUserService.getSysUser(UserMngController.this.sysUser.getId()));
+ this.setRowCount(1);
+
+ }else if (userPermission.contains("课题组")){
+ project = sysUser.getProject();
+ int count = sysUserService.getUserCountInProject(arp, name,departmentName,project,company);
+ this.setRowCount(count);
+ if (count > 0) {
+ list = sysUserService.getUserInProject(arp, name,departmentName,project,company, first, pageSize);
+ }
+
+ }else{
+ int count = sysUserService.getSysUserTotalCount(arp, name,departmentName,project,company);
+ this.setRowCount(count);
+ if (count > 0) {
+ list = sysUserService.getSysUserList(arp, name,departmentName,project,company, first, pageSize);
+ }
}
+
+
} catch (Exception e) {
logger.error(e);
}
diff --git a/src/main/java/com/nanometer/smartlab/dao/BaseRoleDao.java b/src/main/java/com/nanometer/smartlab/dao/BaseRoleDao.java
index 5af1ffe..460f24d 100644
--- a/src/main/java/com/nanometer/smartlab/dao/BaseRoleDao.java
+++ b/src/main/java/com/nanometer/smartlab/dao/BaseRoleDao.java
@@ -17,6 +17,8 @@
public void insertBaseRole(BaseRole baseRole) throws DataAccessException;
public int updateBaseRole(BaseRole baseRole) throws DataAccessException;
+ public int updateBaseRoleInfo(BaseRole baseRole);
public int deleteBaseRoles(List<String> ids) throws DataAccessException;
+ BaseRole getBaseRoleByUser(String id);
}
diff --git a/src/main/java/com/nanometer/smartlab/dao/BaseRoleDao.xml b/src/main/java/com/nanometer/smartlab/dao/BaseRoleDao.xml
index 872106e..d8ac50e 100644
--- a/src/main/java/com/nanometer/smartlab/dao/BaseRoleDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/BaseRoleDao.xml
@@ -5,6 +5,8 @@
<id property="id" column="id"/>
<result property="name" column="name"></result>
<result property="memo" column="memo"></result>
+ <result property="userPermission" column="user_permission"></result>
+ <result property="btnPermission" column="btn_permission"></result>
<result property="createTime" column="create_time"></result>
<result property="updateTime" column="update_time"></result>
<result property="validFlag" column="valid_flag" typeHandler="com.nanometer.smartlab.entity.handler.ValidFlagHandler"></result>
@@ -41,10 +43,28 @@
where valid_flag = 1
<include refid="queryWhereSql"/>
</select>
+ <select id="getBaseRoleByUser" resultMap="BaseRole">
+ SELECT br.* FROM base_role br
+ LEFT JOIN sys_user su on su.role_id = br.id
+ where su.id=#{0}
+ and br.valid_flag = 1
+ </select>
<insert id="insertBaseRole" parameterType="com.nanometer.smartlab.entity.BaseRole">
- insert into base_role(id, name, memo, valid_flag, create_time, update_time)
- values (#{id}, #{name}, #{memo}, 1, now(), now())
+ insert into base_role(id, name, memo, valid_flag, create_time, update_time
+ <if test="btnPermission !=null">
+ ,btn_permission
+ </if>
+ <if test="userPermission !=null">
+ ,user_permission
+ </if>)
+ values (#{id}, #{name}, #{memo}, 1, now(), now()
+ <if test="btnPermission !=null">
+ ,#{btnPermission}
+ </if>
+ <if test="userPermission !=null">
+ ,#{userPermission}
+ </if>)
</insert>
<update id="updateBaseRole" parameterType="com.nanometer.smartlab.entity.BaseRole">
@@ -52,6 +72,16 @@
where id=#{id}
</update>
+ <update id="updateBaseRoleInfo" parameterType="com.nanometer.smartlab.entity.BaseRole">
+ update base_role
+ <set>
+ <if test="btnPermission != null"> btn_permission=#{btnPermission},</if>
+ <if test="userPermission != null"> user_permission=#{userPermission},</if>
+ update_time=now()
+ </set>
+
+ where id=#{id}
+ </update>
<update id="deleteBaseRoles" parameterType="java.util.List">
update base_role set valid_flag=0, update_time=now()
where id in
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.java b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.java
index a9eb355..99ab04a 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.java
+++ b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.java
@@ -53,4 +53,8 @@
List<LaboratoryVo.LaboratoryUser> getUserByProject(@Param("project") String project);
List<SysUser> getUserByArp(String arp);
+
+ int getUserCountInProject(Map params);
+
+ List<SysUser> getUserInProject(Map params);
}
diff --git a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml
index 06c7961..9e86a3e 100644
--- a/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml
+++ b/src/main/java/com/nanometer/smartlab/dao/SysUserDao.xml
@@ -65,9 +65,6 @@
<if test="seeFlag != null">
and su.see_flag = #{seeFlag}
</if>
- <if test="seeFlag != null">
- and su.see_flag = #{seeFlag}
- </if>
<if test="editId != null and editId != ''">
and su.id != #{editId}
</if>
@@ -276,6 +273,59 @@
select * from sys_user
where arp = #{0} and valid_flag = 1
</select>
+ <select id="getUserCountInProject" parameterType="java.util.Map" resultType="java.lang.Integer">
+ select count(1) from sys_user as su
+ left join base_meta bm on su.department = bm.id
+ left join base_meta bm1 on bm1.id = su.company
+ where su.valid_flag = 1
+ <if test="departmentNameLike != null and departmentNameLike != ''">
+ and bm.meta_value like concat("%",#{departmentNameLike},"%")
+ </if>
+ <if test="arp != null and arp != ''">
+ and su.arp like concat("%",#{arp},"%")
+ </if>
+ <if test="name != null and name != ''">
+ and su.name like concat("%",#{name},"%")
+ </if>
+ <if test="company != null and company != ''">
+ and bm1.meta_value like concat("%",#{company},"%")
+ </if>
+ <if test="project != null and project != ''">
+ and
+ <foreach item="item" index="index" collection="project.split(',')" open="(" separator="or" close=")">
+ su.project like concat("%",#{item},"%")
+ </foreach>
+ </if>
+ </select>
+ <select id="getUserInProject" parameterType="java.util.Map" resultMap="SysUser">
+ select su.*, br.name as roleName from sys_user as su
+ left join base_role as br on su.role_id = br.id
+ left join base_meta bm on su.department = bm.id
+ left join base_meta bm1 on bm1.id = su.company
+ where su.valid_flag = 1
+ <if test="departmentNameLike != null and departmentNameLike != ''">
+ and bm.meta_value like concat("%",#{departmentNameLike},"%")
+ </if>
+ <if test="arp != null and arp != ''">
+ and su.arp like concat("%",#{arp},"%")
+ </if>
+ <if test="name != null and name != ''">
+ and su.name like concat("%",#{name},"%")
+ </if>
+ <if test="company != null and company != ''">
+ and bm1.meta_value like concat("%",#{company},"%")
+ </if>
+ <if test="project != null and project != ''">
+ and
+ <foreach item="item" index="index" collection="project.split(',')" open="(" separator="or" close=")">
+ su.project like concat("%",#{item},"%")
+ </foreach>
+ </if>
+ order by su.arp ASC
+ <if test="first != null and pageSize != null">
+ limit #{first}, #{pageSize}
+ </if>
+ </select>
<update id="updateUserPointBySelective" parameterType="java.util.Map">
update sys_user set point=#{point}
<where>
diff --git a/src/main/java/com/nanometer/smartlab/entity/BaseRole.java b/src/main/java/com/nanometer/smartlab/entity/BaseRole.java
index 42dd898..d535732 100644
--- a/src/main/java/com/nanometer/smartlab/entity/BaseRole.java
+++ b/src/main/java/com/nanometer/smartlab/entity/BaseRole.java
@@ -1,9 +1,11 @@
package com.nanometer.smartlab.entity;
import com.nanometer.smartlab.entity.enumtype.ValidFlag;
+import org.apache.commons.lang.StringUtils;
import java.io.Serializable;
import java.sql.Timestamp;
+import java.util.Arrays;
import java.util.List;
/**
@@ -17,6 +19,9 @@
private ValidFlag validFlag;
private Timestamp createTime;
private Timestamp updateTime;
+ private String btnPermission;
+ private String userPermission;
+ private List<String> btnPermissions;
private List<String> pageIdList;
@@ -75,4 +80,33 @@
public void setPageIdList(List<String> pageIdList) {
this.pageIdList = pageIdList;
}
+
+ public String getBtnPermission() {
+ return btnPermission;
+ }
+
+ public void setBtnPermission(String btnPermission) {
+ if (StringUtils.isNotBlank(btnPermission)) {
+ btnPermissions = Arrays.asList(btnPermission.split(","));
+ }
+ this.btnPermission = btnPermission;
+ }
+
+ public String getUserPermission() {
+ return userPermission;
+ }
+
+ public void setUserPermission(String userPermission) {
+ this.userPermission = userPermission;
+ }
+
+ public List<String> getBtnPermissions() {
+ return btnPermissions;
+ }
+
+ public void setBtnPermissions(List<String> btnPermissions) {
+ this.btnPermissions = btnPermissions;
+ }
+
+
}
diff --git a/src/main/java/com/nanometer/smartlab/service/BaseRoleService.java b/src/main/java/com/nanometer/smartlab/service/BaseRoleService.java
index 4dbecae..a53f758 100644
--- a/src/main/java/com/nanometer/smartlab/service/BaseRoleService.java
+++ b/src/main/java/com/nanometer/smartlab/service/BaseRoleService.java
@@ -17,4 +17,9 @@
public BaseRole insertBaseRole(BaseRole baseRole);
public boolean updateBaseRole(BaseRole baseRole);
public boolean deleteBaseRole(List<BaseRole> baseRoleList);
+
+ public void updateUserMngPageBtn(BaseRole baseRole);
+ public void updateUserMngPageUser(BaseRole baseRole);
+
+ BaseRole getRoleByUserId(String id);
}
diff --git a/src/main/java/com/nanometer/smartlab/service/BaseRoleServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/BaseRoleServiceImpl.java
index a4eaa54..fa14a1a 100644
--- a/src/main/java/com/nanometer/smartlab/service/BaseRoleServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/BaseRoleServiceImpl.java
@@ -205,4 +205,35 @@
throw new BusinessException(ExceptionEnumCode.DB_ERR, MessageUtil.getMessageByCode(ExceptionEnumCode.DB_ERR.getCode()), ex);
}
}
+
+ @Override
+ public void updateUserMngPageBtn(BaseRole baseRole) {
+
+ if (baseRole.getBtnPermissions() != null && baseRole.getBtnPermissions().size() > 0) {
+ List<String> btnPermissions = baseRole.getBtnPermissions();
+ for (String btnPermission : btnPermissions) {
+ if (btnPermissions.indexOf(btnPermission) == 0) {
+ baseRole.setBtnPermission(btnPermission);
+ } else {
+ baseRole.setBtnPermission(baseRole.getBtnPermission() + "," + btnPermission);
+ }
+ }
+ }
+
+ //更新操作可见
+ baseRoleDao.updateBaseRoleInfo(baseRole);
+
+
+ }
+
+ @Override
+ public void updateUserMngPageUser(BaseRole baseRole) {
+ //更新人员可见
+ baseRoleDao.updateBaseRoleInfo(baseRole);
+ }
+
+ @Override
+ public BaseRole getRoleByUserId(String id) {
+ return baseRoleDao.getBaseRoleByUser(id);
+ }
}
diff --git a/src/main/java/com/nanometer/smartlab/service/SysUserService.java b/src/main/java/com/nanometer/smartlab/service/SysUserService.java
index 329a102..bed31fc 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysUserService.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysUserService.java
@@ -16,6 +16,8 @@
List<SysUser> getSysUserList(String arp, String name,String departmentName,String project,String company,Integer first, Integer pageSize);
int getSysUserTotalCount(String arp, String name,String departmentName,String project,String company);
+ int getUserCountInProject(String arp, String name,String departmentName,String project,String company);
+ List<SysUser> getUserInProject(String arp, String name,String departmentName,String project,String company,Integer first, Integer pageSize);
SysUser getSysUser(String id);
SysUser getSysUserForSuppllier(String id);
SysUser getSysUserByAccount(String account);
diff --git a/src/main/java/com/nanometer/smartlab/service/SysUserServiceImpl.java b/src/main/java/com/nanometer/smartlab/service/SysUserServiceImpl.java
index c5c11dc..1337895 100644
--- a/src/main/java/com/nanometer/smartlab/service/SysUserServiceImpl.java
+++ b/src/main/java/com/nanometer/smartlab/service/SysUserServiceImpl.java
@@ -87,6 +87,28 @@
}
}
+ @Override
+ public int getUserCountInProject(String arp, String name, String departmentName, String project, String company) {
+ Map<String, Object> params = new HashMap<String, Object>();
+ params.put("arp", arp);
+ params.put("name", name);
+ params.put("departmentNameLike", departmentName);
+ params.put("project", project);
+ params.put("company", company);
+ return sysUserDao.getUserCountInProject(params);
+ }
+
+ @Override
+ public List<SysUser> getUserInProject(String arp, String name, String departmentName, String project, String company, Integer first, Integer pageSize) {
+ Map<String, Object> params = new HashMap<String, Object>();
+ params.put("arp", arp);
+ params.put("name", name);
+ params.put("departmentNameLike", departmentName);
+ params.put("project", project);
+ params.put("company", company);
+ return sysUserDao.getUserInProject(params);
+ }
+
@Transactional(propagation = Propagation.REQUIRED)
public SysUser getSysUser(String id) {
try {
diff --git a/src/main/webapp/WEB-INF/spring-menu.xml b/src/main/webapp/WEB-INF/spring-menu.xml
index 186064f..95288ba 100644
--- a/src/main/webapp/WEB-INF/spring-menu.xml
+++ b/src/main/webapp/WEB-INF/spring-menu.xml
@@ -259,6 +259,8 @@
<property name="title" value="人员管理"></property>
<property name="page" value="user_mng"></property>
<property name="privilegeCode" value="user_mng"></property>
+ <property name="initClazz" value="userMngController"></property>
+ <property name="initMethod" value="initPage"></property>
</bean>
<bean class="com.nanometer.smartlab.model.MenuModel">
<property name="id" value="role_mng"></property>
diff --git a/src/main/webapp/role_mng.xhtml b/src/main/webapp/role_mng.xhtml
index eca8c77..2856202 100644
--- a/src/main/webapp/role_mng.xhtml
+++ b/src/main/webapp/role_mng.xhtml
@@ -16,7 +16,7 @@
<p:outputLabel styleClass="title" value="角色管理"></p:outputLabel>
</p:panel>
<p:panel styleClass="center-body">
- <p:panelGrid columns="3" styleClass="btn">
+ <p:panelGrid columns="5" styleClass="btn">
<p:commandButton value="新建" styleClass="new-btn"
process="@this"
actionListener="#{roleMngController.onNewBtnClick}"
@@ -32,6 +32,16 @@
update="@form">
<p:confirm header="确认" message="确认操作?"></p:confirm>
</p:commandButton>
+
+ <p:commandButton value="按钮权限" styleClass="edit-btn"
+ process="@form"
+ actionListener="#{roleMngController.btnPermissionClick}"
+ update=":btnDialog,:btnDialogForm"/>
+
+ <p:commandButton value="人员权限" styleClass="edit-btn"
+ process="@form"
+ actionListener="#{roleMngController.userPermissionClick}"
+ update=":userDialog,:userDialogForm"/>
</p:panelGrid>
<p:dataTable id="roleMngDataTable" styleClass="data-table"
@@ -75,5 +85,54 @@
</p:panel>
</h:form>
</p:dialog>
+
+ <p:dialog modal="true" header="修改" appendTo="@(body)"
+ id="btnDialog" widgetVar="btnDialog" resizable="false" width="420">
+ <h:form id="btnDialogForm">
+ <p:panelGrid columns="1" styleClass="content">
+ <p:outputLabel value="角色名称"/>
+ <p:inputText value="#{roleMngController.baseRole.name}" readonly="true"/>
+
+ <p:outputLabel value="人员管理页面:"/>
+
+ <p:selectManyCheckbox value="#{roleMngController.baseRole.btnPermissions}" layout="grid" columns="2" style="width: 100%;">
+ <f:selectItem itemLabel="新增功能" itemValue="新增"/>
+ <f:selectItem itemLabel="修改功能" itemValue="修改"/>
+ <f:selectItem itemLabel="删除功能" itemValue="删除"/>
+ <f:selectItem itemLabel="导入功能" itemValue="导入"/>
+ </p:selectManyCheckbox>
+ </p:panelGrid>
+ <p:panel styleClass="btn">
+ <p:commandButton value="保存" actionListener="#{roleMngController.onSaveBtnPermission}"
+ process="@form" update=":roleMngForm:roleMngDataTable">
+ <p:confirm header="确认" message="确认操作?"/>
+ </p:commandButton>
+ </p:panel>
+ </h:form>
+ </p:dialog>
+
+ <p:dialog modal="true" header="修改" appendTo="@(body)"
+ id="userDialog" widgetVar="userDialog" resizable="false" width="420">
+ <h:form id="userDialogForm">
+ <p:panelGrid columns="1" styleClass="content">
+ <p:outputLabel value="角色名称"/>
+ <p:inputText value="#{roleMngController.baseRole.name}" readonly="true"/>
+
+ <p:outputLabel value="人员管理页面:"/>
+
+ <p:selectOneRadio value="#{roleMngController.baseRole.userPermission}" layout="grid" columns="1" style="width: 100%;">
+ <f:selectItem itemLabel="可见所有人员" itemValue="所有人员"/>
+ <f:selectItem itemLabel="只可见课题组成员" itemValue="课题组"/>
+ <f:selectItem itemLabel="只可见自己" itemValue="自己"/>
+ </p:selectOneRadio>
+ </p:panelGrid>
+ <p:panel styleClass="btn">
+ <p:commandButton value="保存" actionListener="#{roleMngController.onSaveUserPermission}"
+ process="@form" update=":roleMngForm:roleMngDataTable">
+ <p:confirm header="确认" message="确认操作?"/>
+ </p:commandButton>
+ </p:panel>
+ </h:form>
+ </p:dialog>
</ui:composition>
</html>
\ No newline at end of file
diff --git a/src/main/webapp/user_mng.xhtml b/src/main/webapp/user_mng.xhtml
index eabe205..fd849e5 100644
--- a/src/main/webapp/user_mng.xhtml
+++ b/src/main/webapp/user_mng.xhtml
@@ -40,20 +40,26 @@
process="@this"
actionListener="#{userMngController.onNewBtnClick}"
oncomplete="PF('dialog').show();"
- update=":dialog,:dialogForm"></p:commandButton>
+ update=":dialog,:dialogForm"
+ rendered="#{userMngController.isAccess('新增')}"></p:commandButton>
<p:commandButton value="修改" styleClass="edit-btn"
process="@form"
actionListener="#{userMngController.onEditBtnClick}"
- update=":dialog,:dialogForm"></p:commandButton>
+ update=":dialog,:dialogForm"
+ rendered="#{userMngController.isAccess('修改')}"></p:commandButton>
<p:commandButton value="删除" styleClass="del-btn"
process="@form"
actionListener="#{userMngController.onDeleteBtnClick}"
- update="@form">
+ update="@form"
+ rendered="#{userMngController.isAccess('删除')}">
<p:confirm header="确认" message="确认操作?"></p:confirm>
</p:commandButton>
<p:commandButton value="导入" styleClass="import-btn" onclick="importUser()"
+ rendered="#{userMngController.isAccess('导入')}"
></p:commandButton>
- <a href="resources/template/用户导入模板.xlsx" style="display: inline-block;"><img src="resources/images/xlsx.png" width="30px;" alt=""/></a>
+ <p:outputLabel rendered="#{userMngController.isAccess('导入')}">
+ <a href="resources/template/用户导入模板.xlsx" style="display: inline-block;"><img src="resources/images/xlsx.png" width="30px;" alt=""/></a>
+ </p:outputLabel>
<script>
function importUser(){
$("#userMngForm\\:importUserBtn_input").click();
--
Gitblit v1.9.2