Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/ISmFunctionQueryService.java
@@ -2,6 +2,7 @@ import com.vci.common.exception.VciException; import com.vci.corba.common.PLException; import com.vci.dto.RoleInfoDTO; import com.vci.dto.RoleRightDTO; import com.vci.dto.RoleRightParamDTO; import com.vci.frameworkcore.enumpck.ResourceControlTypeEnum; @@ -176,4 +177,10 @@ * @throws PLException */ BaseResult saveRoleRight(List<RoleRightParamDTO> roleRightDTOS, String roleId) throws PLException; /** * 获取所授权的模块权限 * @param roleName 搜索的角色 * @return 角色列表 */ List<RoleInfoDTO> getRoleList(String roleName) throws PLException; } Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/frameworkcore/compatibility/impl/SmFunctionQueryServicePlatformImpl.java
@@ -12,6 +12,7 @@ import com.vci.corba.framework.data.*; import com.vci.corba.omd.data.BusinessObject; import com.vci.corba.portal.data.PLUILayout; import com.vci.dto.RoleInfoDTO; import com.vci.dto.RoleRightDTO; import com.vci.dto.RoleRightParamDTO; import com.vci.frameworkcore.compatibility.ISmFunctionQueryService; @@ -531,6 +532,7 @@ menuVO.setSort((int) funcObj.seq); findChildAuthFunctionVO(menuVO, isAll); functionVO.getChildren().add(menuVO); functionVO.setHasChildren(true); } }else if(type == 2){ FuncOperationInfo[] infos = platformClientUtil.getFrameworkService().getFuncOperationByModule(functionVO.getId(), "", true); @@ -549,6 +551,7 @@ menuVO.setIsValid(info.isValid); menuVO.setHasChildren(false); functionVO.getChildren().add(menuVO); functionVO.setHasChildren(true); } }else{ functionVO.setHasChildren(false); @@ -580,15 +583,13 @@ public List<String> getSysModelAuth(String roleId) throws PLException { RoleRightInfo[] roleRightList = platformClientUtil.getFrameworkService().getRoleRightList(roleId, WebUtil.getCurrentUserId()); Map<String, Long> authMap = Arrays.stream(roleRightList).collect(Collectors.toMap(e -> e.funcId, e -> e.rightValue)); Map<String, Long> authMap = Arrays.stream(roleRightList).collect(Collectors.toMap(e -> e.funcId, e -> e.rightValue, (existing, replacement) -> existing)); String parentId; SessionInfo sessionInfo = WebUtil.getCurrentUserSessionInfoNotException(); boolean adminOrDeveloperOrRoot = rightControlUtil.isAdminOrDeveloperOrRoot(sessionInfo.getUserId()); if (adminOrDeveloperOrRoot) { //系统菜单 parentId = SYSTEMMANAGMENTNODE; } else if (rightControlUtil.isThreeAdminCurUser()) { //三员返回管理功能模块相关的菜单 parentId = SYSTEMMANAGMENTNODE; } else { //普通用户只返回业务功能模块相关的菜单 @@ -683,6 +684,32 @@ throw new PLException("500", new String[]{"功能模块授权失败!"}); } return BaseResult.success(); } /** * 获取所授权的模块权限 * @param roleName 搜索的角色 * @return 角色列表 */ @Override public List<RoleInfoDTO> getRoleList(String roleName) throws PLException { RoleInfo[] roleInfos = platformClientUtil.getFrameworkService().fetchRoleInfoByUserType(WebUtil.getCurrentUserId()); List<RoleInfoDTO> dtos = new ArrayList<>(); for (RoleInfo roleInfo : roleInfos) { if(StringUtils.isBlank(roleName) || roleInfo.name.indexOf(roleName) != -1) { RoleInfoDTO dto = new RoleInfoDTO(); dto.setName(roleInfo.name); dto.setDescription(roleInfo.description); dto.setId(roleInfo.id); dto.setGrantor(roleInfo.grantor); dto.setType(roleInfo.type); dto.setCreateTime(roleInfo.createTime); dto.setCreateUser(roleInfo.createUser); dto.setUpdateTime(roleInfo.updateTime); dto.setUpdateUser(roleInfo.updateUser); dtos.add(dto); } } return dtos; } private long countRightValue(List<RoleRightParamDTO> dtos){ @@ -1075,9 +1102,6 @@ String parentId; if (adminOrDeveloperOrRoot) { //系统菜单 parentId = SYSTEMMANAGMENTNODE; } else if (rightControlUtil.isThreeAdminCurUser()) { //三员返回管理功能模块相关的菜单 parentId = SYSTEMMANAGMENTNODE; } else { //普通用户只返回业务功能模块相关的菜单 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/controller/HMSysModConfigController.java
@@ -4,6 +4,7 @@ import com.vci.corba.common.PLException; import com.vci.corba.framework.data.FuncOperationInfo; import com.vci.corba.framework.data.OperateInfo; import com.vci.dto.RoleInfoDTO; import com.vci.dto.RoleRightDTO; import com.vci.dto.RoleRightParamDTO; import com.vci.frameworkcore.compatibility.ISmFunctionQueryService; @@ -110,6 +111,23 @@ } /** * 角色列表 * @param roleName 搜索的角色 * @return 角色列表 */ @GetMapping("/getRoleList") public BaseResult<List<RoleInfoDTO>> getRoleList(String roleName) { try { return BaseResult.dataList(functionQueryService.getRoleList(roleName)); }catch (Exception e){ e.printStackTrace(); String errorMsg = "查询时出现错误,原因:"+ VciBaseUtil.getExceptionMessage(e); logger.error(errorMsg); throw new VciBaseException(errorMsg); } } /** * 保存授权的模块 * @param roleRightDTOS 用户选择授权模块信息 * @param roleId 角色主键 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/OsActionServiceImpl.java
@@ -127,6 +127,7 @@ PLActionCls[] clses = platformClientUtil.getUIService().getPLActionClsArray(); PLActionClsDTO treDto = new PLActionClsDTO(); treDto.setName("Action分类"); treDto.setId("root"); Map<String, List<PLActionCls>> allDataMap = Arrays.stream(clses).collect(Collectors.groupingBy(pl -> pl.pid)); for (PLActionCls cls : clses) { @@ -134,7 +135,7 @@ PLActionClsDTO parentDto = new PLActionClsDTO(); parentDto.setId(cls.id); parentDto.setName(cls.name); parentDto.setPid(cls.pid); parentDto.setPid("root"); parentDto.setDescription(cls.description); parentDto.setCreator(cls.creator); parentDto.setCreateTime(cls.createTime); @@ -186,7 +187,7 @@ Constraint[] consArray ; if(StringUtils.isNotBlank(dto.getPlactioncls())){ consArray = new Constraint[7]; consArray[6] = new Constraint("plactioncls", dto.getPlactioncls()); consArray[6] = new Constraint("plactioncls", dto.getPlactioncls().equals("root") ? "": dto.getPlactioncls()); }else { consArray = new Constraint[6]; } Source/plt-web/plt-web-ui/src/page/login/userlogin.vue
@@ -1,10 +1,10 @@ <template> <el-form class="login-form" status-icon :rules="loginRules" ref="loginForm" <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form" label-width="0" status-icon > <!-- <el-form-item prop="selectInput">--> @@ -19,35 +19,33 @@ <!-- </el-select>--> <!-- </el-form-item>--> <el-form-item prop="username"> <el-input size="small" @keyup.enter.native="handleLogin" v-model="loginForm.username" <el-input v-model="loginForm.username" :placeholder="$t('login.username')" auto-complete="off" :placeholder="$t('login.username')"> size="small" @keyup.enter.native="handleLogin"> <i slot="prefix" class="icon-yonghu" style="color: white"/> </el-input> </el-form-item> <el-form-item prop="password"> <el-input size="small" @keyup.enter.native="handleLogin" <el-input v-model="loginForm.password" :placeholder="$t('login.password')" :type="passwordType" v-model="loginForm.password" auto-complete="off" :placeholder="$t('login.password')"> <i class="el-icon-view el-input__icon" slot="suffix" @click="showPassword" style="color: white"/> size="small" @keyup.enter.native="handleLogin"> <i slot="suffix" class="el-icon-view el-input__icon" style="color: white" @click="showPassword"/> <i slot="prefix" class="icon-mima" style="color: white"/> </el-input> </el-form-item> <el-form-item> <el-button type="primary" <el-button class="login-submit" size="small" @click.native.prevent="handleLogin" class="login-submit">{{$t('login.submit')}} type="primary" @click.native.prevent="handleLogin">{{ $t('login.submit') }} </el-button> </el-form-item> </el-form> @@ -147,7 +145,6 @@ // 绑定下拉菜单动态ID selectchange(value) { this.loginForm.tenantId=value console.log(this.loginForm.tenantId) }, showPassword() { this.passwordType === "" @@ -165,6 +162,10 @@ done(); }, handleLogin() { if (!this.loginForm.password) { this.$message.error('请输入密码'); return; } this.$router.push({path: this.tagWel.value}); this.$refs.loginForm.validate(valid => { if (valid) { @@ -189,7 +190,8 @@ }); return false; } }; } ; this.$router.push({path: this.tagWel.value}); loading.close(); }).catch((err) => {