/** * 用户详情对话框(可用于添加和修改对话框) */ var language =1 var UserInfoDlg = { userInfoData: {}, validateFields: { phone: { validators: { notEmpty: { message: language==1?'联系电话不能为空':(language==2?"The account cannot be empty":"Akaun tidak dapat kosong") } } }, name: { validators: { notEmpty: { message: language==1?'姓名不能为空':(language==2?"The name cannot be empty":"Nama tidak dapat kosong") } } }, /*citySel: { validators: { notEmpty: { message: '部门不能为空' } } },*/ birthday: { validators: { notEmpty: { message: '生日不能为空' }, } }, idCard: { validators: { notEmpty: { message: '身份证号不能为空' }, } } } }; /** * 清除数据 */ UserInfoDlg.clearData = function () { this.userInfoData = {}; }; /** * 设置对话框中的数据 * * @param key 数据的名称 * @param val 数据的具体值 */ UserInfoDlg.set = function (key, value) { if(typeof value == "undefined"){ if(typeof $("#" + key).val() =="undefined"){ var str=""; var ids=""; $("input[name='"+key+"']:checkbox").each(function(){ if(true == $(this).is(':checked')){ str+=$(this).val()+","; } }); if(str){ if(str.substr(str.length-1)== ','){ ids = str.substr(0,str.length-1); } }else{ $("input[name='"+key+"']:radio").each(function(){ if(true == $(this).is(':checked')){ ids=$(this).val() } }); } this.userInfoData[key] = ids; }else{ this.userInfoData[key]= $("#" + key).val(); } } return this; }; /** * 设置对话框中的数据 * * @param key 数据的名称 * @param val 数据的具体值 */ UserInfoDlg.get = function (key) { return $("#" + key).val(); }; /** * 关闭此对话框 */ UserInfoDlg.close = function () { parent.layer.close(window.parent.MgrUser.layerIndex); }; /** * 点击部门input框时 * * @param e * @param treeId * @param treeNode * @returns */ UserInfoDlg.onClickDept = function (e, treeId, treeNode) { $("#citySel").attr("value", instance.getSelectedVal()); $("#deptid").attr("value", treeNode.id); }; /** * 显示部门选择的树 * * @returns */ UserInfoDlg.showDeptSelectTree = function () { var cityObj = $("#citySel"); var cityOffset = $("#citySel").offset(); $("#menuContent").css({ left: cityOffset.left + "px", top: cityOffset.top + cityObj.outerHeight() + "px" }).slideDown("fast"); $("body").bind("mousedown", onBodyDown); }; /** * 显示用户详情部门选择的树 * * @returns */ UserInfoDlg.showInfoDeptSelectTree = function () { var cityObj = $("#citySel"); var cityPosition = $("#citySel").position(); $("#menuContent").css({ left: cityPosition.left + "px", top: cityPosition.top + cityObj.outerHeight() + "px" }).slideDown("fast"); $("body").bind("mousedown", onBodyDown); }; /** * 隐藏部门选择的树 */ UserInfoDlg.hideDeptSelectTree = function () { $("#menuContent").fadeOut("fast"); $("body").unbind("mousedown", onBodyDown);// mousedown当鼠标按下就可以触发,不用弹起 }; /** * 收集数据 */ UserInfoDlg.collectData = function () { this.set('id').set('account').set('sex').set('password').set('avatar').set("deptid") .set('email').set('name').set('birthday').set('rePassword').set('roleid').set('phone').set('idCard'); }; /** * 验证两个密码是否一致 */ UserInfoDlg.validatePwd = function () { var password = this.get("password"); var rePassword = this.get("rePassword"); if (password == rePassword) { return true; } else { return false; } }; /** * 验证数据是否为空 */ UserInfoDlg.validate = function () { $('#userInfoForm').data("bootstrapValidator").resetForm(); $('#userInfoForm').bootstrapValidator('validate'); return $("#userInfoForm").data('bootstrapValidator').isValid(); }; /** * 提交添加用户 */ UserInfoDlg.addSubmit = function () { this.clearData(); this.collectData(); if (!this.validate()) { return; } if($("#name").val()==''){ Feng.info("请输入员工姓名") return; } var phonePattern = /^1[3-9]\d{9}$/; if (!phonePattern.test($("#phone").val())) { Feng.info("请输入合法手机号") return ; } if($("#phone").val()==''){ Feng.info("请输入员工电话") return; } if($("#birthday").val()==''){ Feng.info("请选择员工生日") return; } var avatar = $("#avatar").val(); if(avatar==''){ Feng.info("请上传照片") return; } var sex = $("#sex").val(); if(sex==''){ Feng.info("请选择性别") return; } // 当前登陆人类型 如果不是平台 不校验角色选择 var role = $("#role").val(); if (role==1){ var roleid = $("#roleid").val(); if(roleid==''){ Feng.info("请选择角色") return; } } var dept = $("#deptid").val(); if(dept==''){ Feng.info("请选择部门") return; } console.log(this.userInfoData) //提交信息 var ajax = new $ax(Feng.ctxPath + "/mgr/add", function (data) { if (data==5001){ Feng.error("该手机号已存在!"); }else{ Feng.success("添加成功!"); window.parent.MgrUser.table.refresh(); UserInfoDlg.close(); $(".img-circle").each(function () { $(this).attr("src",Feng.ctxPath+$("#avatar").val()); }) } }, function (data) { Feng.error("添加失败!" + data.responseJSON.message + "!"); }); ajax.set(this.userInfoData); ajax.start(); }; /** * 提交修改 */ UserInfoDlg.editSubmit = function () { this.clearData(); this.collectData(); if (!this.validate()) { return; } console.log(this.userInfoData) if($("#name").val()==''){ Feng.info("请输入员工姓名") return; } var phonePattern = /^1[3-9]\d{9}$/; if (!phonePattern.test($("#phone").val())) { Feng.info("请输入合法手机号") return ; } if($("#phone").val()==''){ Feng.info("请输入员工电话") return; } if($("#birthday").val()==''){ Feng.info("请选择员工生日") return; } var sex = $("#sex").val(); if(sex==''){ Feng.info("请选择性别") return; } // 当前登陆人类型 如果不是平台 不校验角色选择 var role = $("#role").val(); if (role==1){ var roleid = $("#roleid").val(); if(roleid==''){ Feng.info("请选择角色") return; } } var dept = $("#deptid").val(); if(dept==''){ Feng.info("请选择部门") return; } //提交信息 var ajax = new $ax(Feng.ctxPath + "/mgr/edit", function (data) { if (data==5001){ Feng.error("该手机号已存在!"); }else{ Feng.success("修改成功!"); window.parent.MgrUser.table.refresh(); UserInfoDlg.close(); $(".img-circle").each(function () { $(this).attr("src",Feng.ctxPath+$("#avatar").val()); }) } window.parent.$("#userNameTab").text($("#name").val()); }, function (data) { Feng.error("修改失败!" + data.responseJSON.message + "!"); }); ajax.set(this.userInfoData); ajax.start(); }; /** * 修改密码 */ UserInfoDlg.chPwd = function () { let oldPwd = $('#oldPwd').val(); let newPwd = $('#newPwd').val(); if(oldPwd == newPwd){ if(language==1){ Feng.error("新密码不能和原始密码相同"); }else if(language==2){ Feng.error("The new password cannot be the same as the original password"); }else { Feng.error("Kata sandi baru tidak dapat sama dengan kata sandi asli"); } return } let patt = /(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[^a-zA-Z0-9]).{8,30}/; if(!patt.test(newPwd)){ if(language==1){ Feng.error("密码中必须包含大小字母、数字、特称字符,至少8个字符,最多30个字符"); }else if(language==2){ Feng.error("The name cannot be empty. The password must contain letters, numbers, and special characters. At least 8 characters and at most 30 characters"); }else { Feng.error("Namanya tidak bisa kosong. Kata sandi harus mengandung huruf, nomor, dan karakter khusus. Setidaknya 8 karakter dan paling tidak 30 karakter."); } return } var ajax = new $ax(Feng.ctxPath + "/mgr/changePwd", function (data) { Feng.success("修改成功!"); }, function (data) { Feng.error("修改失败!" + data.responseJSON.message + "!"); }); ajax.set("oldPwd"); ajax.set("newPwd"); ajax.set("rePwd"); ajax.start(); }; function onBodyDown(event) { if (!(event.target.id == "menuBtn" || event.target.id == "menuContent" || $( event.target).parents("#menuContent").length > 0)) { UserInfoDlg.hideDeptSelectTree(); } } $(function () { Feng.initValidator("userInfoForm", UserInfoDlg.validateFields); //初始化性别选项 $("#sex").val($("#sexValue").val()); var ztree = new $ZTree("treeDemo", "/dept/tree"); ztree.bindOnClick(UserInfoDlg.onClickDept); ztree.init(); instance = ztree; // 初始化头像上传 var avatarUp = new $WebUpload("avatar"); avatarUp.setUploadBarId("progressBar"); avatarUp.init(); document.getElementById('roleid').value = $("#roleid_").val(); });