<#assign base=request.contextPath /> <#import "../common/defaultLayout.ftl" as defaultLayout> <@defaultLayout.layout> <link rel="stylesheet" href="../assets/css/amazeui.switch.css"/> <div class="admin-content"> <div class="admin-content-body"> <div class="am-cf am-padding"> <div class="am-fl am-cf"><strong class="am-text-primary am-text-lg">人员管理</strong> / <small><#if userId!=-1>编辑<#else>新增</#if>人员账号</small> </div> </div> <form method="post" class="am-form" id="tmpForm" action="${base}/account/save"> <!--选项卡(tabs)begin--> <div class="am-tabs am-margin" data-am-tabs> <ul class="am-tabs-nav am-nav am-nav-tabs"> <li class="am-active"> <a href="#tab1"><#if userId!=-1>编辑<#else>新增</#if>人员信息</a> </li> </ul> <div class="am-tabs-bd"> <div class="am-tab-panel am-fade am-in am-active" id="tab1"> <input name="userId" id="userId" type="hidden" value="${userId!}"/> <div class="am-g am-form-group am-margin-top"> <div class="am-u-sm-4 am-u-md-2 am-text-right"> <span style="color: red;">*</span> 工号 </div> <div class="am-u-sm-6 am-u-md-6"> <input name="userName" class="js-ajax-validate" data-validate-async data-validation-message="请输入工号" type="text" id="userName" value="${account.userName!}" minlength="1" maxlength="20" required <#if userId!=-1>readonly</#if> placeholder="请输入工号"/> </div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div> </div> <div class="am-g am-form-group am-margin-top"> <div class="am-u-sm-4 am-u-md-2 am-text-right"> <span style="color: red;">*</span> 手机号 </div> <div class="am-u-sm-6 am-u-md-6"> <input name="telephone" class="am-form-field" data-validate-async data-validation-message="请输入正确格式手机号码!" onkeyup="value=value.replace(/[^\d]/g,'')" type="text" id="telephone" value="${account.telephone!}" minlength="11" maxlength="11" required placeholder="请输入正确格式手机号码!" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"/> </div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div> </div> <#--<div class="am-g am-form-group am-margin-top"> <div class="am-u-sm-4 am-u-md-2 am-text-right"> <span style="color: red;">*</span> 登录名称 </div> <div class="am-u-sm-6 am-u-md-6"> <input name="userName" class="js-ajax-validate" data-validate-async data-validation-message="请输入登录名称(20字符以内)" type="text" id="userName" value="${account.userName!}" minlength="1" maxlength="20" required <#if userId!=-1>readonly</#if> placeholder="请输入登录名称(20字符以内)"/> </div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div> </div>--> <div class="am-g am-form-group am-margin-top"> <div class="am-u-sm-4 am-u-md-2 am-text-right"> <span style="color: red;">*</span> 姓名 </div> <div class="am-u-sm-6 am-u-md-6"> <input name="realName" class="js-ajax-validate" data-validate-async data-validation-message="请输入姓名(20字符以内)" type="text" id="realName" value="${account.realName!}" minlength="1" maxlength="20" <#if userId!=-1>readonly</#if> required placeholder="请输入姓名名称(20字符以内)"/> </div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div> </div> <div class="am-g am-form-group am-margin-top"> <div class="am-u-sm-4 am-u-md-2 am-text-right"> <span style="color: red;">*</span> 常驻地 </div> <div class="am-u-sm-6 am-u-md-6"> <input name="workLocation" class="js-ajax-validate" data-validate-async data-validation-message="请输入常驻地" type="text" id="workLocation" value="${account.workLocation!}" minlength="1" maxlength="20" required placeholder="请输入常驻地"/> </div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div> </div> <div class="am-g am-form-group am-margin-top"> <div class="am-u-sm-4 am-u-md-2 am-text-right"> <span style="color: red;">*</span> 一级部门 </div> <div class="am-u-sm-8 am-u-md-10"> <select id="deptId" name="deptId" data-am-selected="{btnSize: 'sm',maxHeight: 200,searchBox: 1}"> <#if deptList?exists> <#list deptList as node> <option value="${node.id!}" <#if account.deptId! == node.id > selected </#if>>${node.name}</option> </#list> </#if> </select> </div> </div> <div class="am-g am-form-group am-margin-top"> <div class="am-u-sm-4 am-u-md-2 am-text-right"> <span style="color: red;">*</span> 直接主管 </div> <div class="am-u-sm-6 am-u-md-6"> <input name="directManager" class="js-ajax-validate" data-validate-async data-validation-message="请输入直接主管" type="text" id="directManager" value="${account.directManager!}" minlength="1" maxlength="10" <#if userId!=-1>readonly</#if> required placeholder="请输入直接主管"/> </div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div> </div> <div class="am-g am-form-group am-margin-top"> <div class="am-u-sm-4 am-u-md-2 am-text-right"> <span style="color: red;">*</span> 职位 </div> <div class="am-u-sm-8 am-u-md-10"> <select id="positionId" name="positionId" data-am-selected="{btnSize: 'sm',maxHeight: 200,searchBox: 1}"> <#if positionList?exists> <#list positionList as node> <option value="${node.id!}" <#if account.positionId! == node.id > selected </#if>>${node.positionName}</option> </#list> </#if> </select> </div> </div> <div class="am-g am-form-group am-margin-top"> <div class="am-u-sm-4 am-u-md-2 am-text-right"> <span style="color: red;">*</span> 角色 </div> <div class="am-u-sm-8 am-u-md-10"> <select id="roleId" name="roleId" data-am-selected="{btnSize: 'sm',maxHeight: 200,searchBox: 1}"> <#if roleList?exists> <#list roleList as node> <option value="${node.id!}" <#if account.roleId! == node.id > selected </#if>>${node.name}</option> </#list> </#if> </select> </div> </div> <div class="am-g am-form-group am-margin-top"> <div class="am-u-sm-4 am-u-md-2 am-text-right"> <span style="color: red;">*</span> 公司邮件地址 </div> <div class="am-u-sm-6 am-u-md-6"> <input name="companyEmail" class="js-ajax-validate" data-validate-async data-validation-message="请输入公司邮件地址" type="text" id="companyEmail" value="${account.companyEmail!}" minlength="1" maxlength="30" required placeholder="请输入公司邮件地址"/> </div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div> </div> <div class="am-g am-form-group am-margin-top"> <div class="am-u-sm-4 am-u-md-2 am-text-right"> <span style="color: red;">*</span> 初始密码 </div> <div class="am-u-sm-6 am-u-md-6"> 初始密码为手机号后6位 </div> <div class="am-u-sm-2 am-u-md-4 input-msg"></div> </div> </div> </div> </div> <!--选项卡(tabs)end--> <div class="am-margin"> <button type="button" class="am-btn am-btn-primary am-btn-xs" onclick="submit_function()">提交保存 </button> <button type="button" class="am-btn am-btn-warning am-btn-xs" onclick="javascript:history.go(-1);"> 返回上一级 </button> </div> </form> </div> <footer class="admin-content-footer"> <hr> </footer> </div> </@defaultLayout.layout> <script type="text/javascript"> var urlBase = "${base}"; var url; $(function () { /*表单验证:begin*/ //自定义规则,用法:验证元素上加class="js-pattern-sort" if ($.AMUI && $.AMUI.validator) { $.AMUI.validator.patterns.sort = /^([0-9]+)$/; } $("#tmpForm").validator({ // 域通过验证时回调 onValid: function (validity) { $(validity.field).closest('.am-form-group').find('.am-alert').hide(); }, // 域验证通过时添加的操作,通过该接口可定义各种验证提示 markValid: function (validity) { // this is Validator instance var $field = $(validity.field); //add by zxl,只对有required属性的字段进行验证 if (typeof ($field.attr("required")) != "undefined") { var options = this.options; var $parent = $field.closest('.am-form-group'); $field.addClass(options.validClass).removeClass(options.inValidClass); $parent.addClass('am-form-success').removeClass('am-form-error'); options.onValid.call(this, validity); } }, // 验证出错时的回调, validity 对象包含相关信息,格式通 H5 表单元素的 validity 属性 onInValid: function (validity) { var $field = $(validity.field); var $group = $field.closest('.am-form-group'); var $alert = $group.find('.am-alert'); // 使用自定义的提示信息 或 插件内置的提示信息 var msg = $field.data('validationMessage') || this.getValidationMessage(validity); if (!$alert.length) { $alert = $("<div class='am-alert am-alert-danger'></div>").hide().appendTo($group.find(".input-msg")); } console.log("onInValid : " + $field.val()); $alert.html(msg).show(); } }); /*表单验证:end*/ }) var submit_function = function () { $("#tmpForm").submit(); } </script>