国际化:二级管理员、系统管理员、租户管理员

This commit is contained in:
thinkgem
2019-10-28 00:18:01 +08:00
parent 09c81dcb24
commit 09da3116f2
10 changed files with 179 additions and 114 deletions

View File

@@ -183,11 +183,9 @@ public class MsgInnerService extends CrudService<MsgInnerDao, MsgInner> {
}
});
ListUtils.pageList(recordList, 100, new MethodCallback() {
@Override
@SuppressWarnings("unchecked")
public Object execute(Object... objs) {
msgInnerRecordDao.insertBatch((List<MsgInnerRecord>)objs[0]);
return null;
return msgInnerRecordDao.insertBatch((List<MsgInnerRecord>)objs[0]);
}
});
// 手动触发消息推送任务

View File

@@ -35,7 +35,7 @@ public class CacheController extends BaseController {
CacheUtils.clearCache();
MapperHelper.clearCache();
UserUtils.clearCache();
return renderResult(Global.TRUE, "清理缓存成功");
return renderResult(Global.TRUE, text("清理缓存成功"));
}
@PostConstruct

View File

@@ -103,19 +103,19 @@ public class CorpAdminController extends BaseController {
@ResponseBody
public String save(@Validated User user, String oldLoginCode, String op) {
if (!user.getCurrentUser().isSuperAdmin()){
return renderResult(Global.FALSE, "越权操作,只有超级管理员才能修改此数据!");
return renderResult(Global.FALSE, text("越权操作,只有超级管理员才能修改此数据!"));
}
if (User.isSuperAdmin(user.getUserCode())) {
return renderResult(Global.FALSE, "非法操作,不能够操作此用户!");
return renderResult(Global.FALSE, text("非法操作,不能够操作此用户!"));
}
if (!EmpUser.USER_TYPE_EMPLOYEE.equals(user.getUserType())){
return renderResult(Global.FALSE, "非法操作,不能够操作此用户!");
return renderResult(Global.FALSE, text("非法操作,不能够操作此用户!"));
}
if (StringUtils.isBlank(user.getCorpCode_())){
return renderResult(Global.FALSE, "租户代码不能为空!");
return renderResult(Global.FALSE, text("租户代码不能为空!"));
}
if (!Global.TRUE.equals(userService.checkLoginCode(oldLoginCode, user.getLoginCode()))) {
return renderResult(Global.FALSE, "保存用户'" + user.getLoginCode() + "'失败,登录账号已存在");
return renderResult(Global.FALSE, text("保存管理员''{0}''失败,登录账号已存在", user.getLoginCode()));
}
if (user.getIsNewRecord()){
user.setUserType(User.USER_TYPE_NONE); // 仅登录用户
@@ -129,7 +129,7 @@ public class CorpAdminController extends BaseController {
if (list.size() > 0){
// 新增租户,如果已存在,则不能保存
if ("addCorp".equals(op)){
return renderResult(Global.FALSE, "保存户失败,租户代码已存在");
return renderResult(Global.FALSE, text("保存户失败,租户代码已存在"));
}
// 新增管理员,则使用已有的租户代码和名称
else if ("addAdmin".equals(op)){
@@ -138,7 +138,7 @@ public class CorpAdminController extends BaseController {
}
// 非法操作
else{
return renderResult(Global.FALSE, "非法操作,参数错误。");
return renderResult(Global.FALSE, text("非法操作,参数错误。"));
}
}
}
@@ -148,7 +148,7 @@ public class CorpAdminController extends BaseController {
if (user.getUserCode().equals(UserUtils.getUser().getUserCode())) {
UserUtils.clearCache();
}
return renderResult(Global.TRUE, "保存管理员'" + user.getUserCode() + "'成功");
return renderResult(Global.TRUE, text("保存管理员''{0}''成功", user.getLoginCode()));
}
/**
@@ -161,14 +161,14 @@ public class CorpAdminController extends BaseController {
@RequestMapping(value = "disable")
public String disable(User user) {
if (User.isSuperAdmin(user.getUserCode())) {
return renderResult(Global.FALSE, "非法操作,不能够操作此用户!");
return renderResult(Global.FALSE, text("非法操作,不能够操作此用户!"));
}
if (user.getCurrentUser().getUserCode().equals(user.getUserCode())) {
return renderResult(Global.FALSE, "停用用户失败, 不允许停用当前用户");
return renderResult(Global.FALSE, text("停用用户失败不允许停用当前用户"));
}
user.setStatus(User.STATUS_DISABLE);
userService.updateStatus(user);
return renderResult(Global.TRUE, "停用用户成功");
return renderResult(Global.TRUE, text("停用管理员''{0}''成功", user.getLoginCode()));
}
/**
@@ -181,11 +181,11 @@ public class CorpAdminController extends BaseController {
@RequestMapping(value = "enable")
public String enable(User user) {
if (User.isSuperAdmin(user.getUserCode())) {
return renderResult(Global.FALSE, "非法操作,不能够操作此用户!");
return renderResult(Global.FALSE, text("非法操作,不能够操作此用户!"));
}
user.setStatus(User.STATUS_NORMAL);
userService.updateStatus(user);
return renderResult(Global.TRUE, "启用用户成功");
return renderResult(Global.TRUE, text("启用管理员''{0}''成功", user.getLoginCode()));
}
/**
@@ -198,10 +198,10 @@ public class CorpAdminController extends BaseController {
@ResponseBody
public String resetpwd(User user) {
if (User.isSuperAdmin(user.getUserCode())) {
return renderResult(Global.FALSE, "非法操作,不能够操作此用户!");
return renderResult(Global.FALSE, text("非法操作,不能够操作此用户!"));
}
userService.updatePassword(user.getUserCode(), null);
return renderResult(Global.TRUE, "重置用户密码成功");
return renderResult(Global.TRUE, text("重置管理员''{0}''密码成功", user.getLoginCode()));
}
/**
@@ -214,20 +214,20 @@ public class CorpAdminController extends BaseController {
@ResponseBody
public String delete(User user) {
if (User.isSuperAdmin(user.getUserCode())) {
return renderResult(Global.FALSE, "非法操作,不能够操作此用户!");
return renderResult(Global.FALSE, text("非法操作,不能够操作此用户!"));
}
if (user.getCurrentUser().getUserCode().equals(user.getUserCode())) {
return renderResult(Global.FALSE, "删除用户失败,不允许删除当前用户");
return renderResult(Global.FALSE, text("删除用户失败,不允许删除当前用户"));
}
if (User.USER_TYPE_NONE.equals(user.getUserType())){
// 删除系统管理员
userService.delete(user);
return renderResult(Global.TRUE, "删除用户'" + user.getUserName() + "'成功!");
return renderResult(Global.TRUE, text("删除管理员''{0}''成功", user.getLoginCode()));
}else{
// 取消系统管理员身份
user.setMgrType(User.MGR_TYPE_NOT_ADMIN);
userService.updateMgrType(user);
return renderResult(Global.TRUE, "取消用户'" + user.getUserName() + "'管理员身份成功!");
return renderResult(Global.TRUE, text("取消管理员''{0}''身份成功", user.getLoginCode()));
}
}
@@ -273,12 +273,12 @@ public class CorpAdminController extends BaseController {
Session session = UserUtils.getSession();
session.setAttribute("corpCode", user.getCorpCode_());
session.setAttribute("corpName", user.getCorpName_());
return renderResult(Global.TRUE, "租户切换成功!");
return renderResult(Global.TRUE, text("租户切换成功!"));
}else{
return renderResult(Global.TRUE, "租户切换失败,没有这个租户!");
return renderResult(Global.TRUE, text("租户切换失败,没有这个租户!"));
}
}
return renderResult(Global.FALSE, "租户切换失败,只有超级管理员才可以操作!");
return renderResult(Global.FALSE, text("租户切换失败,只有超级管理员才可以操作!"));
}
}

View File

@@ -82,17 +82,17 @@ public class SecAdminController extends BaseController {
@ResponseBody
public String save(@Validated User user, String op) {
if (User.isSuperAdmin(user.getUserCode())) {
return renderResult(Global.FALSE, "非法操作,不能够操作此用户!");
return renderResult(Global.FALSE, text("非法操作,不能够操作此用户!"));
}
if (!User.USER_TYPE_EMPLOYEE.equals(user.getUserType())){
return renderResult(Global.FALSE, "非法操作,不能够操作此用户!");
return renderResult(Global.FALSE, text("非法操作,不能够操作此用户!"));
}
// 设置为二级管理员身份
user.setMgrType(User.MGR_TYPE_SEC_ADMIN);
userService.updateMgrType(user);
// 保存用户管理数据权限
userService.saveAuthDataScope(user);
return renderResult(Global.TRUE, "保存用户'" + user.getUserName() + "'成功");
return renderResult(Global.TRUE, text("保存二级管理员''{0}''成功", user.getUserName()));
}
/**
@@ -105,10 +105,10 @@ public class SecAdminController extends BaseController {
@ResponseBody
public String delete(User user) {
if (User.isSuperAdmin(user.getUserCode())) {
return renderResult(Global.FALSE, "非法操作,不能够操作此用户!");
return renderResult(Global.FALSE, text("非法操作,不能够操作此用户!"));
}
if (!User.USER_TYPE_EMPLOYEE.equals(user.getUserType())){
return renderResult(Global.FALSE, "非法操作,不能够操作此用户!");
return renderResult(Global.FALSE, text("非法操作,不能够操作此用户!"));
}
// 取消用户管理数据权限
user.setMgrType(User.MGR_TYPE_SEC_ADMIN);
@@ -117,7 +117,7 @@ public class SecAdminController extends BaseController {
// 取消二级管理员身份
user.setMgrType(User.MGR_TYPE_NOT_ADMIN);
userService.updateMgrType(user);
return renderResult(Global.TRUE, "取消用户'" + user.getUserName() + "'管理员身份成功!");
return renderResult(Global.TRUE, text("取消二级管理员''{0}''身份成功", user.getUserName()));
}
}

View File

@@ -23,9 +23,9 @@
# =========== 消息推送管理 ===========
消息推送=Message push
消息推送=Message Push
未完成消息=Uncompleted message
已完成消息=Completed message
未完成消息=Incomplete message
消息类型=Message type
消息标题=Message title

View File

@@ -25,12 +25,38 @@
# =========== 功能标题 ===========
系统管理=System mgt
组织管理=Organization
用户管理=User manage
机构管理=Office manage
公司管理=Company manage
岗位管理=Position manage
权限管理=Rights Manage
角色管理=Role manage
二级管理员=Secondary admin
系统管理员=System admin
系统设置=System Settings
菜单管理=Menu manage
模块管理=Module manage
参数设置=Config Settings
字典管理=Dict manage
行政区划=Area manage
国际化管理=i18n manage
产品许可信息=Licence info
系统监控=System Monitor
访问日志=Access log
数据监控=Data monitor
缓存监控=Cache monitor
服务器监控=Server monitor
作业监控=Job scheduling
在线用户=Online user
在线文档=Online doc
研发工具=Develop Tools
用户选择=User select
机构选择=Office select
公司选择=Company select
@@ -253,8 +279,6 @@
# =========== 角色管理 ===========
权限管理=Rights manage
角色管理=Role manage
用户类型=User type
系统角色=System role
角色分类=Role category
@@ -304,8 +328,51 @@
保存角色''{0}''成功=Save role ''{0}'' success
停用角色''{0}''成功=Disable role ''{0}'' success
启用角色''{0}''成功=Enable role ''{0}'' success
删除角色''{0}''失败,角色关联了用户=
删除角色''{0}''失败,角色关联了用户=Delete role ''{0}'' failed, role associated with user
删除角色''{0}''成功=Delete role ''{0}'' success
角色授权数据权限成功=Role authorization data permissions successfully
角色授权数据权限成功=Role authorization data permissions successful
角色授权给用户成功=Role authorization to user success
取消用户角色授权成功=Success in unauthorizing user roles
取消用户角色授权成功=Success in unauthorized user roles
# =========== 二级管理员 ===========
二级管理员管理数据权限=Secondary administrator manage data permissions
管理数据权限=Manage data permissions
可管理的数据权限=Managed data permissions
取消二级管理员身份=Cancel secondary administrator status
确认要取消该用户的二级管理员身份吗?=Are you sure you want to cancel secondary administrator status?
非法操作,不能够操作此用户!=Illegal operation, cannot operate this user!
保存二级管理员''{0}''成功=Save Secondary administrator ''{0}'' success
取消二级管理员''{0}''身份成功=Cancel Secondary administrator ''{0}'' status successful
# =========== 系统管理员 ===========
租户管理员=Tenant admin
新增租户管理员=New tenant administrator
新增管理员=New administrator
编辑管理员=Edit administrator
租户代码=Tenant code
租户名称=Tenant name
请输入租户代码=Please enter the tenant code
请输入租户名称=Please enter the tenant name
越权操作,只有超级管理员才能修改此数据!=Unauthorized operation, only super administrator can modify this data!
租户代码不能为空!=The tenant code cannot be empty!
保存管理员''{0}''失败,登录账号已存在=Save administrator '{0}' failed, login account already exists
保存租户失败,租户代码已存在=Save the tenant failed. The tenant code already exists
非法操作,参数错误。=Invalid operation, parameter error.
保存管理员''{0}''成功=Save administrator ''{0}'' success
停用管理员''{0}''成功=Disable administrator ''{0}'' success
启用管理员''{0}''成功=Enable administrator '{0}'' success
重置管理员''{0}''密码成功=Reset administrator ''{0}'' success password
删除管理员''{0}''成功=Deleted administrator '{0}'' success
取消管理员''{0}''身份成功=Cancel administrator '{0}' status success
租户切换成功!=Successful tenant switch!
租户切换失败,没有这个租户!=Tenant switch failed, no tenant!
租户切换失败,只有超级管理员才可以操作!=Tenant switch failed, only super administrator can operate!
# =========== 菜单管理 ===========
没有找到 {0} 用户编码

View File

@@ -3,7 +3,7 @@
<div class="box box-main">
<div class="box-header with-border">
<div class="box-title">
<i class="fa icon-badge"></i> ${user.isNewRecord ? op == 'addCorp' ? '新增租户' : '新增' : '编辑'}管理员
<i class="fa icon-badge"></i> ${text(user.isNewRecord ? op == 'addCorp' ? '新增租户管理员' : '新增管理员' : '编辑管理员')}
</div>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
@@ -14,14 +14,14 @@
<#form:hidden name="userType" value="employee"/>
<#form:hidden path="userCode"/>
<div class="box-body">
<div class="form-unit">基本信息</div>
<div class="form-unit">${text('基本信息')}</div>
<div class="row ${@Global.getConfigToBoolean('user.useCorpModel', 'false')?'':'hide'}">
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-4 control-label" title="">
<span class="required">*</span> 租户代码:<i class="fa icon-question hide"></i></label>
<span class="required">*</span> ${text('租户代码')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="corpCode_" placeholder="请输入租户代码" maxlength="20"
<#form:input path="corpCode_" placeholder="${text('请输入租户代码')}" maxlength="20"
readonly="${!user.isNewRecord || op=='addAdmin'}" class="form-control abc required"/>
</div>
</div>
@@ -29,9 +29,9 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required">*</span> 租户名称:<i class="fa icon-question hide"></i></label>
<span class="required">*</span> ${text('租户名称')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="corpName_" placeholder="请输入租户名称" maxlength="32"
<#form:input path="corpName_" placeholder="${text('请输入租户名称')}" maxlength="32"
readonly="${!user.isNewRecord || op=='addAdmin'}" class="form-control required"/>
</div>
</div>
@@ -41,19 +41,19 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required ">*</span> 登录账号:<i class="fa icon-question hide"></i></label>
<span class="required ">*</span> ${text('登录账号')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:hidden name="oldLoginCode" value="${user.loginCode}"/>
<#form:input path="loginCode" minlength="4" maxlength="20"
class="form-control required userName"
data-msg-remote="登录账号已存在"/>
data-msg-remote="${text('登录账号已存在')}"/>
</div>
</div>
</div>
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required ">*</span> 用户昵称:<i class="fa icon-question hide"></i></label>
<span class="required ">*</span> ${text('用户昵称')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="userName" maxlength="32" class="form-control required "/>
</div>
@@ -64,7 +64,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 电子邮箱:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('电子邮箱')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-fw fa-envelope" style="margin-top:-2px;display:block;"></i></span>
@@ -76,7 +76,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 手机号码:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('手机号码')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-fw fa-mobile" style="margin-top:-2px;display:block;"></i></span>
@@ -90,7 +90,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 办公电话:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('办公电话')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-fw fa-phone"></i></span>
@@ -102,9 +102,9 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required hide">*</span> 权重(排序)<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('权重(排序)')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="userWeight" maxlength="8" class="form-control digits" placeholder="权重越大排名越靠前,请填写数字。"/>
<#form:input path="userWeight" maxlength="8" class="form-control digits" placeholder="${text('权重越大排名越靠前,请填写数字。')}"/>
</div>
</div>
</div>
@@ -113,7 +113,7 @@
<div class="col-xs-12">
<div class="form-group">
<label class="control-label col-sm-2" title="">
<span class="required hide">*</span> 备注信息:<i class="fa icon-question hide"></i></label>
<span class="required hide">*</span> ${text('备注信息')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-10">
<#form:textarea path="remarks" rows="4" maxlength="500" class="form-control "/>
</div>

View File

@@ -3,15 +3,15 @@
<div class="box box-main">
<div class="box-header">
<div class="box-title">
<i class="fa icon-badge"></i> ${@Global.getConfigToBoolean('user.useCorpModel', 'false') ? '租户' : '系统'}管理员
<i class="fa icon-badge"></i> ${text('系统管理员')}
</div>
<div class="box-tools pull-right">
<a href="#" class="btn btn-default" id="btnSearch" title="查询"><i class="fa fa-filter"></i> 查询</a>
<a href="#" class="btn btn-default" id="btnSearch" title="${text('查询')}"><i class="fa fa-filter"></i> ${text('查询')}</a>
<% if(hasPermi('sys:corpAdmin:edit')){ %>
<% if(@Global.getConfigToBoolean('user.useCorpModel', 'false')){ %>
<a href="${ctx}/sys/corpAdmin/form?op=addCorp" class="btn btn-default btnTool" title="新增租户管理员"><i class="fa fa-plus"></i> 新增租户管理员</a>
<a href="${ctx}/sys/corpAdmin/form?op=addCorp" class="btn btn-default btnTool" title=" ${text('新增租户管理员')}"><i class="fa fa-plus"></i> ${text('新增租户管理员')}</a>
<% }else{ %>
<a href="${ctx}/sys/corpAdmin/form?corpCode_=${user.currentUser.corpCode_}&corpName_=${user.currentUser.corpName_}&op=addAdmin" class="btn btn-default btnTool" title="新增管理员"><i class="fa fa-plus"></i> 新增管理员</a>
<a href="${ctx}/sys/corpAdmin/form?corpCode_=${user.currentUser.corpCode_}&corpName_=${user.currentUser.corpName_}&op=addAdmin" class="btn btn-default btnTool" title="${text('新增管理员')}"><i class="fa fa-plus"></i> ${text('新增管理员')}</a>
<% } %>
<% } %>
</div>
@@ -20,38 +20,38 @@
<#form:form id="searchForm" model="${user}" action="${ctx}/sys/corpAdmin/listData" method="post" class="form-inline "
data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}">
<div class="form-group">
<label class="control-label">登录账号:</label>
<label class="control-label">${text('登录账号')}</label>
<div class="control-inline">
<#form:input path="loginCode" maxlength="100" class="form-control width-90"/>
</div>
</div>
<div class="form-group">
<label class="control-label">用户昵称:</label>
<label class="control-label">${text('用户昵称')}</label>
<div class="control-inline">
<#form:input path="userName" maxlength="100" class="form-control width-90"/>
</div>
</div>
<div class="form-group ${@Global.getConfigToBoolean('user.useCorpModel', 'false')?'':'hide'}">
<label class="control-label">租户代码:</label>
<label class="control-label">${text('租户代码')}</label>
<div class="control-inline">
<#form:input path="corpCode_" maxlength="100" class="form-control width-90"/>
</div>
</div>
<div class="form-group ${@Global.getConfigToBoolean('user.useCorpModel', 'false')?'':'hide'}">
<label class="control-label">租户名称:</label>
<label class="control-label">${text('租户名称')}</label>
<div class="control-inline">
<#form:input path="corpName_" maxlength="100" class="form-control width-90"/>
</div>
</div>
<div class="form-group">
<label class="control-label">状态</label>
<label class="control-label">${text('状态')}</label>
<div class="control-inline width-90">
<#form:select path="status" dictType="sys_user_status" blankOption="true" class="form-control"/>
</div>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-sm">查询</button>
<button type="reset" class="btn btn-default btn-sm">重置</button>
<button type="submit" class="btn btn-primary btn-sm">${text('查询')}</button>
<button type="reset" class="btn btn-default btn-sm">${text('重置')}</button>
</div>
</#form:form>
<table id="dataGrid"></table>
@@ -65,40 +65,40 @@
$('#dataGrid').dataGrid({
searchForm: $("#searchForm"),
columnModel: [
{header:'登录账号', name:'loginCode', index:'a.login_code', width:200, align:"center", frozen:true, formatter: function(val, obj, row, act){
return '<a href="${ctx}/sys/corpAdmin/form?userCode='+row.userCode+'&op=edit" class="btnList" data-title="编辑用户">'+(val||row.id)+'</a>';
{header:'${text("登录账号")}', name:'loginCode', index:'a.login_code', width:200, align:"center", frozen:true, formatter: function(val, obj, row, act){
return '<a href="${ctx}/sys/corpAdmin/form?userCode='+row.userCode+'&op=edit" class="btnList" data-title="${text("编辑用户")}">'+(val||row.id)+'</a>';
}},
{header:'用户昵称', name:'userName', index:'a.user_name', width:200, align:"center"},
{header:'${text("用户昵称")}', name:'userName', index:'a.user_name', width:200, align:"center"},
<% if(@Global.getConfigToBoolean('user.useCorpModel', 'false')){ %>
{header:'租户代码', name:'corpCode_', index:'a.corp_code', width:200, align:"center", formatter: function(val, obj, row, act){
{header:'${text("租户代码")}', name:'corpCode_', index:'a.corp_code', width:200, align:"center", formatter: function(val, obj, row, act){
return '<a href="javascript:" onclick="$(\'#corpCode_\').val(\''+val+'\');$(\'#searchForm\').submit()">'+val+'</a>';
}},
{header:'租户名称', name:'corpName_', index:'a.corp_name', width:200, align:"center"},
{header:'${text("租户名称")}', name:'corpName_', index:'a.corp_name', width:200, align:"center"},
<% } %>
{header:'电子邮箱', name:'email', index:'a.email', width:200, align:"center"},
{header:'手机号码', name:'mobile', index:'a.mobile', width:200, align:"center"},
{header:'办公电话', name:'phone', index:'a.phone', width:200, align:"center"},
{header:'更新时间', name:'updateDate', index:'a.update_date', width:200, align:"center"},
{header:'状态', name:'status', index:'a.status', width:100, align:"center", formatter: function(val, obj, row, act){
{header:'${text("电子邮箱")}', name:'email', index:'a.email', width:200, align:"center"},
{header:'${text("手机号码")}', name:'mobile', index:'a.mobile', width:200, align:"center"},
{header:'${text("办公电话")}', name:'phone', index:'a.phone', width:200, align:"center"},
{header:'${text("更新时间")}', name:'updateDate', index:'a.update_date', width:200, align:"center"},
{header:'${text("状态")}', name:'status', index:'a.status', width:100, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel(${@DictUtils.getDictListJson('sys_status')}, val, '未知', true);
}},
{header:'操作', name:'actions', width:250, sortable:false, title:false, formatter: function(val, obj, row, act){
{header:'${text("操作")}', name:'actions', width:250, sortable:false, title:false, formatter: function(val, obj, row, act){
var actions = [];
<% if(hasPermi('sys:corpAdmin:edit')){ %>
actions.push('<a href="${ctx}/sys/corpAdmin/form?userCode='+row.userCode+'&op=edit" class="btnList" title="编辑用户"><i class="fa fa-pencil"></i></a>&nbsp;');
actions.push('<a href="${ctx}/sys/corpAdmin/form?userCode='+row.userCode+'&op=edit" class="btnList" title="${text("编辑用户")}"><i class="fa fa-pencil"></i></a>&nbsp;');
if (row.status == Global.STATUS_NORMAL){
actions.push('<a href="${ctx}/sys/corpAdmin/disable?userCode='+row.userCode+'" class="btnList" title="停用用户" data-confirm="确认要停用该用户吗?"><i class="glyphicon glyphicon-ban-circle"></i></a>&nbsp;');
actions.push('<a href="${ctx}/sys/corpAdmin/disable?userCode='+row.userCode+'" class="btnList" title="${text("停用用户")}" data-confirm="${text("确认要停用该用户吗?")}"><i class="glyphicon glyphicon-ban-circle"></i></a>&nbsp;');
}
if (row.status == Global.STATUS_DISABLE){
actions.push('<a href="${ctx}/sys/corpAdmin/enable?userCode='+row.userCode+'" class="btnList" title="启用用户" data-confirm="确认要启用该用户吗?"><i class="glyphicon glyphicon-ok-circle"></i></a>&nbsp;');
actions.push('<a href="${ctx}/sys/corpAdmin/enable?userCode='+row.userCode+'" class="btnList" title="${text("启用用户")}" data-confirm="${text("确认要启用该用户吗?")}"><i class="glyphicon glyphicon-ok-circle"></i></a>&nbsp;');
}
actions.push('<a href="${ctx}/sys/corpAdmin/delete?userCode='+row.userCode+'" class="btnList" title="删除用户" data-confirm="确认要删除该用户吗?"><i class="fa fa-trash-o"></i></a>&nbsp;');
actions.push('<a href="${ctx}/sys/corpAdmin/delete?userCode='+row.userCode+'" class="btnList" title="${text("删除用户")}" data-confirm="${text("确认要删除该用户吗?")}"><i class="fa fa-trash-o"></i></a>&nbsp;');
<% if(@Global.getConfigToBoolean('user.useCorpModel', 'false')){ %>
actions.push('<a href="${ctx}/sys/corpAdmin/form?corpCode_='+row.corpCode_+'&corpName_='+row.corpName_+'&op=addAdmin" class="btnList" title="新增管理员"><i class="fa fa-plus-square"></i></a>&nbsp;');
actions.push('<a href="${ctx}/sys/corpAdmin/form?corpCode_='+row.corpCode_+'&corpName_='+row.corpName_+'&op=addAdmin" class="btnList" title="${text("新增管理员")}"><i class="fa fa-plus-square"></i></a>&nbsp;');
<% } %>
actions.push('<a href="javascript:" class="btnMore" title="更多操作"><i class="fa fa-chevron-circle-right"></i></a>&nbsp;');
actions.push('<a href="javascript:" class="btnMore" title="${text("更多操作")}"><i class="fa fa-chevron-circle-right"></i></a>&nbsp;');
actions.push('<div class="moreItems">');
actions.push('<a href="${ctx}/sys/corpAdmin/resetpwd?userCode='+row.userCode+'" class="btn btn-default btn-xs btnList" title="用户密码重置" data-confirm="确认要将该用户密码重置到初始状态吗?"><i class="fa fa-reply-all"></i> 重置密码</a>&nbsp;');
actions.push('<a href="${ctx}/sys/corpAdmin/resetpwd?userCode='+row.userCode+'" class="btn btn-default btn-xs btnList" title="${text("用户密码重置")}" data-confirm="${text("确认要将该用户密码重置到初始状态吗?")}"><i class="fa fa-reply-all"></i> ${text("重置密码")}</a>&nbsp;');
actions.push('</div>');
<% } %>
return actions.join('');

View File

@@ -3,7 +3,7 @@
<div class="box box-main">
<div class="box-header">
<div class="box-title">
<i class="fa icon-user-female"></i> 二级管理员管理数据权限
<i class="fa icon-user-female"></i> ${text('二级管理员管理数据权限')}
</div>
<div class="box-tools pull-right">
<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
@@ -16,7 +16,7 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required ">*</span> 登录账号:<i class="fa icon-question hide"></i></label>
<span class="required ">*</span> ${text('登录账号')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="loginCode" maxlength="32" readonly="${!user.isNewRecord}" class="form-control required "/>
</div>
@@ -25,14 +25,14 @@
<div class="col-xs-6">
<div class="form-group">
<label class="control-label col-sm-4" title="">
<span class="required ">*</span> 用户昵称:<i class="fa icon-question hide"></i></label>
<span class="required ">*</span> ${text('用户昵称')}<i class="fa icon-question hide"></i></label>
<div class="col-sm-8">
<#form:input path="userName" maxlength="32" readonly="${!user.isNewRecord}" class="form-control required "/>
</div>
</div>
</div>
</div>
<div class="form-unit">可管理的数据权限</div>
<div class="form-unit">${text('可管理的数据权限')}</div>
<div id="dataScopeTrees"></div>
<script id="dataScopeTpl" type="text/template">
<div class="pull-left" style="padding:0 15px;min-width:300px;">
@@ -44,9 +44,9 @@
</div>
<div class="box-tools pull-right" style="top:8px;">
<a class="btn btn-box-tool" id="expand_{{d.key}}"
value="dataScopeTree_{{d.key}}" >展开</a>/<a
value="dataScopeTree_{{d.key}}" >${text('展开')}</a>/<a
class="btn btn-box-tool" id="collapse_{{d.key}}"
value="dataScopeTree_{{d.key}}" >折叠</a>
value="dataScopeTree_{{d.key}}" >${text('折叠')}</a>
</div>
</div>
<div class="box-body">
@@ -61,9 +61,9 @@
<div class="row">
<div class="col-sm-offset-2 col-sm-10">
<% if (hasPermi('sys:secAdmin:edit')){ %>
<button type="submit" class="btn btn-sm btn-primary" id="btnSubmit"><i class="fa fa-check"></i> 保 存</button>&nbsp;
<button type="submit" class="btn btn-sm btn-primary" id="btnSubmit"><i class="fa fa-check"></i> ${text('保 存')}</button>&nbsp;
<% } %>
<button type="button" class="btn btn-sm btn-default" id="btnCancel" onclick="js.closeCurrentTabPage()"><i class="fa fa-reply-all"></i> 关 闭</button>
<button type="button" class="btn btn-sm btn-default" id="btnCancel" onclick="js.closeCurrentTabPage()"><i class="fa fa-reply-all"></i> ${text('关 闭')}</button>
</div>
</div>
</div>

View File

@@ -3,55 +3,55 @@
<div class="box box-main">
<div class="box-header">
<div class="box-title">
<i class="fa icon-user-female"></i> 二级管理员
<i class="fa icon-user-female"></i> ${text('二级管理员')}
</div>
<div class="box-tools pull-right">
<a href="#" class="btn btn-default" id="btnSearch" title="查询"><i class="fa fa-filter"></i> 查询</a>
<a href="#" class="btn btn-default" id="btnAddAdmin" title="新增"><i class="fa fa-plus"></i> 新增</a>
<a href="#" class="btn btn-default" id="btnSearch" title="${text('查询')}"><i class="fa fa-filter"></i> ${text('查询')}</a>
<a href="#" class="btn btn-default" id="btnAddAdmin" title="${text('新增')}"><i class="fa fa-plus"></i> ${text('新增')}</a>
</div>
</div>
<div class="box-body">
<#form:form id="searchForm" model="${user}" action="${ctx}/sys/secAdmin/listData" method="post" class="form-inline "
data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}">
<div class="form-group">
<label class="control-label">账号</label>
<label class="control-label">${text('账号')}</label>
<div class="control-inline">
<#form:input path="loginCode" maxlength="100" class="form-control width-90"/>
</div>
</div>
<div class="form-group">
<label class="control-label">昵称</label>
<label class="control-label">${text('昵称')}</label>
<div class="control-inline">
<#form:input path="userName" maxlength="100" class="form-control width-90"/>
</div>
</div>
<div class="form-group">
<label class="control-label">邮箱</label>
<label class="control-label">${text('邮箱')}</label>
<div class="control-inline">
<#form:input path="email" maxlength="300" class="form-control width-90"/>
</div>
</div>
<div class="form-group">
<label class="control-label">手机</label>
<label class="control-label">${text('手机')}</label>
<div class="control-inline">
<#form:input path="mobile" maxlength="100" class="form-control width-90"/>
</div>
</div>
<div class="form-group">
<label class="control-label">电话</label>
<label class="control-label">${text('电话')}</label>
<div class="control-inline">
<#form:input path="phone" maxlength="100" class="form-control width-90"/>
</div>
</div>
<div class="form-group">
<label class="control-label">状态</label>
<label class="control-label">${text('状态')}</label>
<div class="control-inline width-90">
<#form:select path="status" dictType="sys_user_status" blankOption="true" class="form-control"/>
</div>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary btn-sm">查询</button>
<button type="reset" class="btn btn-default btn-sm">重置</button>
<button type="submit" class="btn btn-primary btn-sm">${text('查询')}</button>
<button type="reset" class="btn btn-default btn-sm">${text('重置')}</button>
</div>
</#form:form>
<table id="dataGrid"></table>
@@ -60,7 +60,7 @@
</div>
</div>
<% var userType = isNotBlank(parameter.userType)?parameter.userType:'employee'; %>
<div class="hide"><#form:listselect id="userSelect" title="用户选择"
<div class="hide"><#form:listselect id="userSelect" title="${text('用户选择')}"
url="${ctx}/sys/user/userSelect?userType=${userType}" allowClear="false"
checkbox="false" itemCode="userCode" itemName="userName"/></div>
<% } %>
@@ -69,22 +69,22 @@
$('#dataGrid').dataGrid({
searchForm: $("#searchForm"),
columnModel: [
{header:'登录账号', name:'loginCode', index:'a.login_code', width:200, align:"center", frozen:true, formatter: function(val, obj, row, act){
return '<a href="${ctx}/sys/secAdmin/form?userCode='+row.userCode+'" class="btnList" data-title="管理数据权限">'+(val||row.id)+'</a>';
{header:'${text("登录账号")}', name:'loginCode', index:'a.login_code', width:200, align:"center", frozen:true, formatter: function(val, obj, row, act){
return '<a href="${ctx}/sys/secAdmin/form?userCode='+row.userCode+'" class="btnList" data-title="${text("管理数据权限")}">'+(val||row.id)+'</a>';
}},
{header:'用户昵称', name:'userName', index:'a.user_name', width:200, align:"center"},
{header:'电子邮箱', name:'email', index:'a.email', width:200, align:"center"},
{header:'手机号码', name:'mobile', index:'a.mobile', width:200, align:"center"},
{header:'办公电话', name:'phone', index:'a.phone', width:200, align:"center"},
{header:'更新时间', name:'updateDate', index:'a.update_date', width:200, align:"center"},
{header:'状态', name:'status', index:'a.status', width:100, align:"center", formatter: function(val, obj, row, act){
{header:'${text("用户昵称")}', name:'userName', index:'a.user_name', width:200, align:"center"},
{header:'${text("电子邮箱")}', name:'email', index:'a.email', width:200, align:"center"},
{header:'${text("手机号码")}', name:'mobile', index:'a.mobile', width:200, align:"center"},
{header:'${text("办公电话")}', name:'phone', index:'a.phone', width:200, align:"center"},
{header:'${text("更新时间")}', name:'updateDate', index:'a.update_date', width:200, align:"center"},
{header:'${text("状态")}', name:'status', index:'a.status', width:100, align:"center", formatter: function(val, obj, row, act){
return js.getDictLabel(${@DictUtils.getDictListJson('sys_status')}, val, '未知', true);
}},
{header:'操作', name:'actions', width:150, sortable:false, title:false, formatter: function(val, obj, row, act){
{header:'${text("操作")}', name:'actions', width:150, sortable:false, title:false, formatter: function(val, obj, row, act){
var actions = [];
<% if(hasPermi('sys:secAdmin:edit')){ %>
actions.push('<a href="${ctx}/sys/secAdmin/form?userCode='+row.userCode+'" class="btnList" title="管理数据权限"><i class="fa fa-pencil"></i></a>&nbsp;');
actions.push('<a href="${ctx}/sys/secAdmin/delete?userCode='+row.userCode+'" class="btnList" title="取消二级管理员身份" data-confirm="确认要取消该用户的二级管理员身份吗?"><i class="fa fa-trash-o"></i></a>&nbsp;');
actions.push('<a href="${ctx}/sys/secAdmin/form?userCode='+row.userCode+'" class="btnList" title="${text("管理数据权限")}"><i class="fa fa-pencil"></i></a>&nbsp;');
actions.push('<a href="${ctx}/sys/secAdmin/delete?userCode='+row.userCode+'" class="btnList" title="${text("取消二级管理员身份")}" data-confirm="${text("确认要取消该用户的二级管理员身份吗?")}"><i class="fa fa-trash-o"></i></a>&nbsp;');
<% } %>
return actions.join('');
}}