mirror of https://github.com/jeecgboot/jeecg
jeecg 3.7.3 bug [用户添加问题] 修复
parent
742d17a625
commit
7bcc287d4c
|
@ -187,6 +187,7 @@ public class UserController extends BaseController {
|
|||
request.setAttribute("user", user);
|
||||
return "system/user/changepassword";
|
||||
}
|
||||
//update-begin--Author:dangzhenghui Date:20170429 for:添加头像功能--------------------
|
||||
@RequestMapping(params = "changeportrait")
|
||||
public String changeportrait(HttpServletRequest request) {
|
||||
TSUser user = ResourceUtil.getSessionUser();
|
||||
|
@ -213,6 +214,7 @@ public class UserController extends BaseController {
|
|||
}
|
||||
return j;
|
||||
}
|
||||
//update-end--Author:dangzhenghui Date:20170429 for:添加头像功能--------------------
|
||||
|
||||
|
||||
/**
|
||||
|
@ -362,10 +364,10 @@ public class UserController extends BaseController {
|
|||
}
|
||||
List<TSRole> roleList = systemService.getList(TSRole.class);
|
||||
comboBoxs = TagUtil.getComboBox(roleList, roles, comboBox);
|
||||
|
||||
//update-begin--Author:scott Date:20160530 for:清空降低缓存占用
|
||||
roleList.clear();
|
||||
roles.clear();
|
||||
|
||||
//update-end--Author:scott Date:20160530 for:清空降低缓存占用
|
||||
return comboBoxs;
|
||||
}
|
||||
|
||||
|
@ -412,9 +414,11 @@ public class UserController extends BaseController {
|
|||
Short[] userstate = new Short[]{Globals.User_Normal, Globals.User_ADMIN, Globals.User_Forbidden};
|
||||
cq.in("status", userstate);
|
||||
cq.eq("deleteFlag", Globals.Delete_Normal);
|
||||
|
||||
//update--begin--author:zhangjiaqiang date:20180223 for:TASK #2531 【改造】用户列表不显示接口类型的用户
|
||||
cq.eq("userType", Globals.USER_TYPE_SYSTEM);
|
||||
|
||||
//update--end--author:zhangjiaqiang date:20180223 for:TASK #2531 【改造】用户列表不显示接口类型的用户
|
||||
|
||||
//update-start--Author:zhangguoming Date:20140827 for:添加 组织机构 查询条件
|
||||
String orgIds = request.getParameter("orgIds");
|
||||
List<String> orgIdList = extractIdListByComma(orgIds);
|
||||
// 获取 当前组织机构的用户信息
|
||||
|
@ -426,11 +430,11 @@ public class UserController extends BaseController {
|
|||
|
||||
cq.add(Property.forName("id").in(subCq.getDetachedCriteria()));
|
||||
}
|
||||
|
||||
//update-end--Author:zhangguoming Date:20140827 for:添加 组织机构 查询条件
|
||||
|
||||
cq.add();
|
||||
this.systemService.getDataGridReturn(cq, true);
|
||||
|
||||
// update-start--Author:gaofeng Date:20140822 for:添加用户的角色展示
|
||||
List<TSUser> cfeList = new ArrayList<TSUser>();
|
||||
for (Object o : dataGrid.getResults()) {
|
||||
if (o instanceof TSUser) {
|
||||
|
@ -449,10 +453,11 @@ public class UserController extends BaseController {
|
|||
cfeList.add(cfe);
|
||||
}
|
||||
}
|
||||
|
||||
// update-end--Author:gaofeng Date:20140822 for:添加用户的角色展示
|
||||
TagUtil.datagrid(response, dataGrid);
|
||||
}
|
||||
|
||||
|
||||
//update-start--Author: jg_huangxg Date:20160730 for:#1206 【功能】用户列表,增加一个真实删除功能(修改删除体验)
|
||||
/**
|
||||
* 用户删除选择对话框
|
||||
*
|
||||
|
@ -479,7 +484,7 @@ public class UserController extends BaseController {
|
|||
return j;
|
||||
}
|
||||
}
|
||||
|
||||
// update-end--Author: jg_huangxg Date:20160730 for:#1206 【功能】用户列表,增加一个真实删除功能(修改删除体验)
|
||||
|
||||
/**
|
||||
* 用户信息录入和更新
|
||||
|
@ -501,20 +506,20 @@ public class UserController extends BaseController {
|
|||
user = systemService.getEntity(TSUser.class, user.getId());
|
||||
// List<TSRoleUser> roleUser = systemService.findByProperty(TSRoleUser.class, "TSUser.id", user.getId());
|
||||
if (!user.getStatus().equals(Globals.User_ADMIN)) {
|
||||
|
||||
// update-start--Author: jg_huangxg Date:20160528 for: 【删除用户】删除用户,改成逻辑删除
|
||||
user.setDeleteFlag(Globals.Delete_Forbidden);
|
||||
userService.updateEntitie(user);
|
||||
message = "用户:" + user.getUserName() + "删除成功";
|
||||
logger.info("["+IpUtil.getIpAddr(req)+"][逻辑删除用户]"+message);
|
||||
|
||||
// update-end--Author: jg_huangxg Date:20160528 for: 【删除用户】删除用户,改成逻辑删除
|
||||
|
||||
/**
|
||||
if (roleUser.size()>0) {
|
||||
// 删除用户时先删除用户和角色关系表
|
||||
delRoleUser(user);
|
||||
|
||||
// update-start--Author:zhangguoming Date:20140825 for:添加业务逻辑
|
||||
systemService.executeSql("delete from t_s_user_org where user_id=?", user.getId()); // 删除 用户-机构 数据
|
||||
|
||||
// update-end--Author:zhangguoming Date:20140825 for:添加业务逻辑
|
||||
userService.delete(user);
|
||||
message = "用户:" + user.getUserName() + "删除成功";
|
||||
systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
|
||||
|
@ -548,7 +553,7 @@ public class UserController extends BaseController {
|
|||
return j;
|
||||
}
|
||||
user = systemService.getEntity(TSUser.class, user.getId());
|
||||
|
||||
// update-start--Author: zhoujf Date:20170220 for: TASK #1683 【bug】jeecg事务编码不严谨,存在不回滚问题
|
||||
/*List<TSRoleUser> roleUser = systemService.findByProperty(TSRoleUser.class, "TSUser.id", user.getId());
|
||||
if (!user.getStatus().equals(Globals.User_ADMIN)) {
|
||||
if (roleUser.size()>0) {
|
||||
|
@ -573,7 +578,7 @@ public class UserController extends BaseController {
|
|||
e.printStackTrace();
|
||||
message ="删除失败";
|
||||
}
|
||||
|
||||
// update-end--Author: zhoujf Date:20170220 for: TASK #1683 【bug】jeecg事务编码不严谨,存在不回滚问题
|
||||
|
||||
j.setMsg(message);
|
||||
return j;
|
||||
|
@ -608,7 +613,7 @@ public class UserController extends BaseController {
|
|||
}
|
||||
return v;
|
||||
}
|
||||
|
||||
//update--begin--author:zhangjiaqiang date:20171019 for:支持使用邮箱作为登录账号
|
||||
/**
|
||||
* 检查用户邮箱
|
||||
* @param request
|
||||
|
@ -628,7 +633,7 @@ public class UserController extends BaseController {
|
|||
}
|
||||
return validForm;
|
||||
}
|
||||
|
||||
////update--begin--author:zhangjiaqiang date:20171019 for:支持使用邮箱作为登录账号
|
||||
|
||||
/**
|
||||
* 用户录入
|
||||
|
@ -642,7 +647,7 @@ public class UserController extends BaseController {
|
|||
public AjaxJson saveUser(HttpServletRequest req, TSUser user) {
|
||||
String message = null;
|
||||
AjaxJson j = new AjaxJson();
|
||||
|
||||
//update--begin-- author:Yandong -- date:20180115-- for:TASK #2494 【改造】Jeecg 代码事务不严谨,control的逻辑改到service里面---
|
||||
Short logType=Globals.Log_Type_UPDATE;
|
||||
// 得到用户的角色
|
||||
String roleid = oConvertUtils.getString(req.getParameter("roleid"));
|
||||
|
@ -666,6 +671,8 @@ public class UserController extends BaseController {
|
|||
user.setPassword(PasswordUtil.encrypt(user.getUserName(), oConvertUtils.getString(req.getParameter("password")), PasswordUtil.getStaticSalt()));
|
||||
user.setStatus(Globals.User_Normal);
|
||||
user.setDeleteFlag(Globals.Delete_Normal);
|
||||
//默认添加为系统用户
|
||||
user.setUserType(Globals.USER_TYPE_SYSTEM);
|
||||
this.userService.saveOrUpdate(user, orgid.split(","), roleid.split(","));
|
||||
message = "用户: " + user.getUserName() + "添加成功";
|
||||
logType=Globals.Log_Type_INSERT;
|
||||
|
@ -675,9 +682,10 @@ public class UserController extends BaseController {
|
|||
j.setMsg(message);
|
||||
logger.info("["+IpUtil.getIpAddr(req)+"][添加编辑用户]"+message);
|
||||
return j;
|
||||
|
||||
//update--end-- author:Yandong -- date:20180115-- for:TASK #2494 【改造】Jeecg 代码事务不严谨,control的逻辑改到service里面---
|
||||
}
|
||||
|
||||
// update-start--Author:zhangguoming Date:20140825 for:添加新的业务逻辑方法
|
||||
/**
|
||||
* 保存 用户-组织机构 关系信息
|
||||
* @param request request
|
||||
|
@ -702,7 +710,7 @@ public class UserController extends BaseController {
|
|||
systemService.batchSave(userOrgList);
|
||||
}
|
||||
}
|
||||
|
||||
// update-end--Author:zhangguoming Date:20140825 for:添加新的业务逻辑方法
|
||||
|
||||
protected void saveRoleUser(TSUser user, String roleidstr) {
|
||||
String[] roleids = roleidstr.split(",");
|
||||
|
@ -728,6 +736,7 @@ public class UserController extends BaseController {
|
|||
String ids = oConvertUtils.getString(request.getParameter("ids"));
|
||||
mv.addObject("ids", ids);
|
||||
return mv;
|
||||
//--author:zhoujf-----end------date:20150531--------for: 编辑用户,选择角色,弹出的角色列表页面,默认没选中
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -756,7 +765,7 @@ public class UserController extends BaseController {
|
|||
*/
|
||||
@RequestMapping(params = "addorupdate")
|
||||
public ModelAndView addorupdate(TSUser user, HttpServletRequest req) {
|
||||
|
||||
//update--start--by:jg_renjie--at:20160318 for:#942 【组件封装】组织机构弹出模式,目前是列表,得改造成树方式
|
||||
/* List<TSDepart> departList = new ArrayList<TSDepart>();
|
||||
String departid = oConvertUtils.getString(req.getParameter("departid"));
|
||||
if(!StringUtil.isEmpty(departid)){
|
||||
|
@ -765,7 +774,7 @@ public class UserController extends BaseController {
|
|||
departList.addAll((List)systemService.getList(TSDepart.class));
|
||||
}
|
||||
req.setAttribute("departList", departList);*/
|
||||
|
||||
// update-start--Author:zhangguoming Date:20140825 for:往request作用域中添加数据:组装页面中组织机构combobox多选框的数据
|
||||
List<String> orgIdList = new ArrayList<String>();
|
||||
TSDepart tsDepart = new TSDepart();
|
||||
if (StringUtil.isNotEmpty(user.getId())) {
|
||||
|
@ -777,11 +786,12 @@ public class UserController extends BaseController {
|
|||
}
|
||||
req.setAttribute("tsDepart", tsDepart);
|
||||
//req.setAttribute("orgIdList", JSON.toJSON(orgIdList));
|
||||
|
||||
// update-start--Author:zhangguoming Date:20140825 for:往request作用域中添加数据:组装页面中组织机构combobox多选框的数据
|
||||
//update--end--by:jg_renjie--at:20160318 for:#942 【组件封装】组织机构弹出模式,目前是列表,得改造成树方式
|
||||
|
||||
return new ModelAndView("system/user/user");
|
||||
}
|
||||
|
||||
//-- author:Yandong -- date:20171229 for:集成接口权限管理 ----
|
||||
/**
|
||||
* 添加、编辑接口用户
|
||||
*
|
||||
|
@ -843,11 +853,11 @@ public class UserController extends BaseController {
|
|||
users.setOfficePhone(user.getOfficePhone());
|
||||
users.setMobilePhone(user.getMobilePhone());
|
||||
users.setDevFlag(user.getDevFlag());
|
||||
|
||||
// update-start--Author:zhangguoming Date:20140825 for:添加新的业务逻辑
|
||||
// systemService.executeSql("delete from t_s_user_org where user_id=?", user.getId());
|
||||
// saveUserOrgList(req, user);
|
||||
// users.setTSDepart(user.getTSDepart());
|
||||
|
||||
// update-end--Author:zhangguoming Date:20140825 for:添加新的业务逻辑
|
||||
users.setRealName(user.getRealName());
|
||||
users.setStatus(Globals.User_Normal);
|
||||
users.setActivitiSync(user.getActivitiSync());
|
||||
|
@ -908,8 +918,9 @@ public class UserController extends BaseController {
|
|||
systemService.save(rUser);
|
||||
}
|
||||
}
|
||||
//-- author:Yandong -- date:20171229 for:集成接口权限管理 ----
|
||||
|
||||
|
||||
// update-start--Author:zhangguoming Date:20140825 for:添加新的业务逻辑方法
|
||||
/**
|
||||
* 用户的登录后的组织机构选择页面
|
||||
* @param request request
|
||||
|
@ -931,7 +942,7 @@ public class UserController extends BaseController {
|
|||
|
||||
return new ModelAndView("system/user/userOrgSelect");
|
||||
}
|
||||
|
||||
// update-end--Author:zhangguoming Date:20140825 for:添加新的业务逻辑方法
|
||||
|
||||
public void idandname(HttpServletRequest req, TSUser user) {
|
||||
List<TSRoleUser> roleUsers = systemService.findByProperty(TSRoleUser.class, "TSUser.id", user.getId());
|
||||
|
@ -1215,7 +1226,7 @@ public class UserController extends BaseController {
|
|||
if(user!=null){
|
||||
String indexStyle = request.getParameter("indexStyle");
|
||||
// String cssTheme = request.getParameter("cssTheme");
|
||||
|
||||
// update-start--Author:longjb Date:20150408 for:ACE风格未指定情况下默认主题为metro
|
||||
// if(StringUtils.isNotEmpty(cssTheme)){
|
||||
// Cookie cookie4css = new Cookie("JEECGCSSTHEME", cssTheme);
|
||||
// cookie4css.setMaxAge(3600*24*30);
|
||||
|
@ -1226,14 +1237,15 @@ public class UserController extends BaseController {
|
|||
// cookie4css.setMaxAge(3600*24*30);
|
||||
// response.addCookie(cookie4css);
|
||||
// logger.info("cssTheme:metro");
|
||||
|
||||
//// update-start--Author:longjb Date:20150317 for:切换回其他主题风格时变成default
|
||||
// }else {
|
||||
// Cookie cookie4css = new Cookie("JEECGCSSTHEME", "");
|
||||
// cookie4css.setMaxAge(3600*24*30);
|
||||
// response.addCookie(cookie4css);
|
||||
// logger.info("cssTheme:default");
|
||||
// }
|
||||
|
||||
// update-end--Author:longjb Date:20150317 for:切换回回其他主题风格时变成default
|
||||
// update-start--Author:longjb Date:20150408 for:ACE风格未指定情况下主题为metro
|
||||
|
||||
if(StringUtils.isNotEmpty(indexStyle)){
|
||||
Cookie cookie = new Cookie("JEECGINDEXSTYLE", indexStyle);
|
||||
|
@ -1244,12 +1256,12 @@ public class UserController extends BaseController {
|
|||
j.setSuccess(Boolean.TRUE);
|
||||
j.setMsg("样式修改成功,请刷新页面");
|
||||
}
|
||||
|
||||
//update-start--Author:JueYue Date:2014-5-28 for:风格切换,菜单懒加载失效的问题
|
||||
try {
|
||||
ClientManager.getInstance().getClient().getFunctions().clear();
|
||||
} catch (Exception e) {
|
||||
}
|
||||
|
||||
//update-end--Author:JueYue Date:2014-5-28 for:风格切换,菜单懒加载失效的问题
|
||||
}else{
|
||||
j.setMsg("请登录后再操作");
|
||||
}
|
||||
|
@ -1285,7 +1297,8 @@ public class UserController extends BaseController {
|
|||
//托管
|
||||
systemService.getSession().evict(user);
|
||||
String id = user.getId();
|
||||
|
||||
//update--begin--author:zhangjiaqiang date:20171019 for:支持使用邮箱作为登录账号
|
||||
//update-begin--Author:xuelin Date:20171018 for:TASK #2384 【bug】用户管理导出功能报错--------------------
|
||||
String queryRole = "select * from t_s_role where id in (select roleid from t_s_role_user where userid=:userid)";
|
||||
List<TSRole> roles = systemService.getSession().createSQLQuery(queryRole).addEntity(TSRole.class).setString("userid",id).list();
|
||||
String roleCodes = "";
|
||||
|
@ -1300,7 +1313,8 @@ public class UserController extends BaseController {
|
|||
departCodes += ","+depart.getOrgCode();
|
||||
}
|
||||
user.setDepartid(departCodes.replaceFirst(",", ""));
|
||||
|
||||
//update-end--Author:xuelin Date:20171018 for:TASK #2384 【bug】用户管理导出功能报错--------------------
|
||||
//update--end--author:zhangjiaqiang date:20171019 for:支持使用邮箱作为登录账号
|
||||
}
|
||||
modelMap.put(NormalExcelConstants.FILE_NAME,"用户表");
|
||||
modelMap.put(NormalExcelConstants.CLASS,TSUser.class);
|
||||
|
@ -1344,6 +1358,7 @@ public class UserController extends BaseController {
|
|||
try {
|
||||
List<TSUser> tsUsers = ExcelImportUtil.importExcel(file.getInputStream(),TSUser.class,params);
|
||||
for (TSUser tsUser : tsUsers) {
|
||||
//update-begin--Author:xuelin Date:20171017 for:TASK #2373 【bug】表改造问题,导致 3.7.1批量导入用户bug-导入不成功--------------------
|
||||
String username = tsUser.getUserName();
|
||||
if(username==null||username.equals("")){
|
||||
j.setMsg("用户名为必填字段,导入失败");
|
||||
|
@ -1355,10 +1370,11 @@ public class UserController extends BaseController {
|
|||
tsUser.setDeleteFlag(new Short("0"));
|
||||
String roleCodes = tsUser.getUserKey();
|
||||
String deptCodes = tsUser.getDepartid();
|
||||
|
||||
//update-begin--Author:Yandong Date:20180228 for:TASK #2539 【新功能】用户导入没有密码字段(不需要修改);导入用户默认类型为系统用户----------
|
||||
tsUser.setPassword(PasswordUtil.encrypt(username, "123456", PasswordUtil.getStaticSalt()));
|
||||
tsUser.setUserType(Globals.USER_TYPE_SYSTEM);//导入用户 在用户管理列表不显示
|
||||
|
||||
//update-begin--Author:Yandong Date:20180228 for:TASK #2539 【新功能】用户导入没有密码字段(不需要修改);导入用户默认类型为系统用户----------
|
||||
//update-end--Author:xuelin Date:20171017 for:TASK #2373 【bug】表改造问题,导致 3.7.1批量导入用户bug-导入不成功--------------------
|
||||
if((roleCodes==null||roleCodes.equals(""))||(deptCodes==null||deptCodes.equals(""))){
|
||||
List<TSUser> users = systemService.findByProperty(TSUser.class,"userName",username);
|
||||
if(users.size()!=0){
|
||||
|
|
|
@ -5,6 +5,8 @@
|
|||
<head>
|
||||
<title>用户信息</title>
|
||||
<t:base type="jquery,easyui,tools"></t:base>
|
||||
<%--update-start--Author:jg_renjie Date:20160320 for:#942 【组件封装】组织机构弹出模式,目前是列表,得改造成树方式--%>
|
||||
<%--update-start--Author:zhangguoming Date:20140825 for:添加组织机构combobox多选的处理方法--%>
|
||||
<script>
|
||||
<%-- // update-start--Author:zhangguoming Date:20140826 for:将combobox修改为combotree
|
||||
function setOrgIds() {
|
||||
|
@ -25,17 +27,17 @@
|
|||
$("#orgSelect").combobox("setValues", ${orgIdList});
|
||||
$("#orgSelect").combotree("setValues", ${orgIdList});
|
||||
}); --%>
|
||||
|
||||
// update-start--Author:zhangguoming Date:20140826 for:将combobox修改为combotree
|
||||
|
||||
function openDepartmentSelect() {
|
||||
$.dialog.setting.zIndex = getzIndex();
|
||||
var orgIds = $("#orgIds").val();
|
||||
|
||||
// update-begin--Author:LiShaoQing Date:20170802 for:z-index被覆盖的问题---------
|
||||
$.dialog({content: 'url:departController.do?departSelect&orgIds='+orgIds, zIndex: getzIndex(), title: '组织机构列表', lock: true, width: '400px', height: '350px', opacity: 0.4, button: [
|
||||
{name: '<t:mutiLang langKey="common.confirm"/>', callback: callbackDepartmentSelect, focus: true},
|
||||
{name: '<t:mutiLang langKey="common.cancel"/>', callback: function (){}}
|
||||
]}).zindex();
|
||||
|
||||
// update-end--Author:LiShaoQing Date:20170802 for:z-index被覆盖的问题---------
|
||||
}
|
||||
|
||||
function callbackDepartmentSelect() {
|
||||
|
@ -60,13 +62,18 @@
|
|||
$('#orgIds').val('');
|
||||
}
|
||||
|
||||
function setOrgIds() {}
|
||||
function setOrgIds() {
|
||||
return true;
|
||||
}
|
||||
$(function(){
|
||||
$("#departname").prev().hide();
|
||||
});
|
||||
<%--update-end--Author:zhangguoming Date:20140825 for:添加组织机构combobox多选的处理方法--%>
|
||||
</script>
|
||||
<%--update-end--Author:jg_renjie Date:20160320 for:#942 【组件封装】组织机构弹出模式,目前是列表,得改造成树方式--%>
|
||||
</head>
|
||||
<body style="overflow-y: hidden" scroll="no">
|
||||
<%--update-start--Author:zhangguoming Date:20140825 for:格式化页面代码 并 添加组织机构combobox多选框--%>
|
||||
<t:formvalid formid="formobj" dialog="true" usePlugin="password" layout="table" action="userController.do?saveUser" beforeSubmit="setOrgIds">
|
||||
<input id="id" name="id" type="hidden" value="${user.id }"/>
|
||||
<table style="width: 600px;" cellpadding="0" cellspacing="1" class="formtable">
|
||||
|
@ -113,6 +120,8 @@
|
|||
<tr>
|
||||
<td align="right"><label class="Validform_label"> <t:mutiLang langKey="common.department"/>: </label></td>
|
||||
<td class="value">
|
||||
<%--update-start--Author:jg_renjie Date:20160320 for:#942 【组件封装】组织机构弹出模式,目前是列表,得改造成树方式--%>
|
||||
<%--update-start--Author:zhangguoming Date:20140826 for:将combobox修改为combotree--%>
|
||||
<%--<select class="easyui-combobox" data-options="multiple:true, editable: false" id="orgSelect" datatype="*">--%>
|
||||
<%--<select class="easyui-combotree" data-options="url:'departController.do?getOrgTree', multiple:true, cascadeCheck:false"
|
||||
id="orgSelect" name="orgSelect" datatype="select1">
|
||||
|
@ -127,6 +136,7 @@
|
|||
<input id="orgIds" name="orgIds" type="hidden" value="${orgIds}"/>
|
||||
<a href="#" class="easyui-linkbutton" plain="true" icon="icon-search" id="departSearch" onclick="openDepartmentSelect()">选择</a>
|
||||
<a href="#" class="easyui-linkbutton" plain="true" icon="icon-redo" id="departRedo" onclick="callbackClean()">清空</a>
|
||||
<%--update-end--Author:jg_renjie Date:20160320 for:#942 【组件封装】组织机构弹出模式,目前是列表,得改造成树方式--%>
|
||||
<span class="Validform_checktip"><t:mutiLang langKey="please.muti.department"/></span>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -156,7 +166,9 @@
|
|||
<tr>
|
||||
<td align="right"><label class="Validform_label"> <t:mutiLang langKey="common.common.mail"/>: </label></td>
|
||||
<td class="value">
|
||||
<!-- update--begin--author:zhangjiaqiang date:20171019 for:修订用户邮箱为必填 -->
|
||||
<input class="inputxt" name="email" value="${user.email}" validType="t_s_user,email,id" datatype="e" errormsg="邮箱格式不正确!" />
|
||||
<!-- update--end--author:zhangjiaqiang date:20171019 for:修订用户邮箱为必填 -->
|
||||
<span class="Validform_checktip"></span>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -170,4 +182,5 @@
|
|||
</tr>
|
||||
</table>
|
||||
</t:formvalid>
|
||||
<%--update-end--Author:zhangguoming Date:20140825 for:格式化页面代码 并 添加组织机构combobox多选框--%>
|
||||
</body>
|
Loading…
Reference in New Issue