| /** | 
|  * 用户详情对话框(可用于添加和修改对话框) | 
|  */ | 
| 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(); | 
| }); |