| | |
| | | /** |
| | | * 用户详情对话框(可用于添加和修改对话框) |
| | | */ |
| | | var language =$("#language").val() |
| | | var language =1 |
| | | var UserInfoDlg = { |
| | | userInfoData: {}, |
| | | validateFields: { |
| | | account: { |
| | | phone: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: language==1?'账户不能为空':(language==2?"The account cannot be empty":"Akaun tidak dapat kosong") |
| | | message: language==1?'联系电话不能为空':(language==2?"The account cannot be empty":"Akaun tidak dapat kosong") |
| | | } |
| | | } |
| | | }, |
| | |
| | | } |
| | | } |
| | | },*/ |
| | | password: { |
| | | birthday: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: language==1?'密码不能为空':(language==2?"The password cannot be empty.":"Kata sandi tidak bisa kosong.") |
| | | }, |
| | | identical: { |
| | | field: 'rePassword', |
| | | message: language==1?'两次密码不一致':(language==2?"The password entered twice are inconsistent.":"Kata sandi yang dimasukkan dua kali tidak konsisten.") |
| | | }, |
| | | regexp: { |
| | | regexp: /(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[^a-zA-Z0-9]).{8,30}/, |
| | | message: language==1?'密码中必须包含大小字母、数字、特称字符,至少8个字符,最多30个字符':(language==2?"The name cannot be empty. The password must contain letters, numbers, and special characters. At least 8 characters and at most 30 characters.":"Namanya tidak bisa kosong. Kata sandi harus mengandung huruf, nomor, dan karakter khusus. Setidaknya 8 karakter dan paling tidak 30 karakter.") |
| | | message: '生日不能为空' |
| | | }, |
| | | } |
| | | }, |
| | | rePassword: { |
| | | idCard: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: language==1?'密码不能为空':(language==2?"The password cannot be empty.":"Kata sandi tidak bisa kosong.") |
| | | }, |
| | | identical: { |
| | | field: 'password', |
| | | message: language==1?'两次密码不一致':(language==2?"The password entered twice are inconsistent.":"Kata sandi yang dimasukkan dua kali tidak konsisten.") |
| | | }, |
| | | regexp: { |
| | | regexp: /(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[^a-zA-Z0-9]).{8,30}/, |
| | | message: language==1?'密码中必须包含大小字母、数字、特称字符,至少8个字符,最多30个字符':(language==2?"The name cannot be empty. The password must contain letters, numbers, and special characters. At least 8 characters and at most 30 characters.":"Namanya tidak bisa kosong. Kata sandi harus mengandung huruf, nomor, dan karakter khusus. Setidaknya 8 karakter dan paling tidak 30 karakter.") |
| | | message: '身份证号不能为空' |
| | | }, |
| | | } |
| | | } |
| | |
| | | } |
| | | }); |
| | | } |
| | | this.userInfoData[key] = ids; |
| | | // 不提交不存在控件或未选择控件的空字符串,避免后端把 "" 转 Integer 时抛异常。 |
| | | if (ids !== "") { |
| | | this.userInfoData[key] = ids; |
| | | } |
| | | }else{ |
| | | this.userInfoData[key]= $("#" + key).val(); |
| | | var value = $("#" + key).val(); |
| | | // 新增页 id 为空、多选门店未选中时均不应提交为 key=""。 |
| | | if (value !== null && value !== "") { |
| | | this.userInfoData[key] = value; |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | * 收集数据 |
| | | */ |
| | | UserInfoDlg.collectData = function () { |
| | | this.set('id').set('account').set('sex').set('password').set('avatar') |
| | | .set('email').set('name').set('birthday').set('rePassword').set('deptid').set('phone'); |
| | | 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').set('storeIds'); |
| | | |
| | | // jQuery 默认会把数组编码为 storeIds[]=1&storeIds[]=2;Spring 对 List<Integer> |
| | | // 无法解析空下标 "[]"。转成逗号分隔值后,Spring 会自动绑定为 List<Integer>。 |
| | | if ($.isArray(this.userInfoData.storeIds)) { |
| | | this.userInfoData.storeIds = this.userInfoData.storeIds.join(','); |
| | | } |
| | | }; |
| | | |
| | | /** |
| | |
| | | if (!this.validate()) { |
| | | return; |
| | | } |
| | | |
| | | if (!this.validatePwd()) { |
| | | if(language==1){ |
| | | Feng.error("两次密码输入不一致"); |
| | | }else if(language==2){ |
| | | Feng.error("The two password entries are inconsistent"); |
| | | }else { |
| | | Feng.error("Dua entri kata sandi tidak konsisten"); |
| | | } |
| | | |
| | | if($("#name").val()==''){ |
| | | Feng.info("请输入员工姓名") |
| | | return; |
| | | } |
| | | |
| | | var birthday = $("#birthday").val(); |
| | | if ("" == birthday){ |
| | | if(language==1){ |
| | | Feng.info("出生日期不能为空!"); |
| | | }else if(language==2){ |
| | | Feng.info("The date of birth cannot be empty!"); |
| | | }else { |
| | | Feng.info("Tanggal lahir tidak bisa kosong!"); |
| | | } |
| | | |
| | | var phonePattern = /^1[3-9]\d{9}$/; |
| | | if (!phonePattern.test($("#phone").val())) { |
| | | Feng.info("请输入合法手机号") |
| | | return ; |
| | | } |
| | | if($("#phone").val()==''){ |
| | | Feng.info("请输入员工电话") |
| | | return; |
| | | } |
| | | |
| | | var citySel = $("#citySel").val(); |
| | | if ("" == citySel){ |
| | | if(language==1){ |
| | | Feng.info("部门不能为空!"); |
| | | }else if(language==2){ |
| | | Feng.info("The department cannot be empty!"); |
| | | }else { |
| | | Feng.info("Departemen tidak bisa kosong!"); |
| | | } |
| | | |
| | | 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) { |
| | | Feng.success("添加成功!"); |
| | | window.parent.MgrUser.table.refresh(); |
| | | UserInfoDlg.close(); |
| | | $(".img-circle").each(function () { |
| | | $(this).attr("src",Feng.ctxPath+$("#avatar").val()); |
| | | }) |
| | | 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 + "!"); |
| | | }); |
| | |
| | | if (!this.validate()) { |
| | | return; |
| | | } |
| | | console.log(this.userInfoData) |
| | | |
| | | var birthday = $("#birthday").val(); |
| | | if ("" == birthday){ |
| | | if(language==1){ |
| | | Feng.info("出生日期不能为空!"); |
| | | }else if(language==2){ |
| | | Feng.info("The date of birth cannot be empty!"); |
| | | }else { |
| | | Feng.info("Tanggal lahir tidak bisa kosong!"); |
| | | } |
| | | if($("#name").val()==''){ |
| | | Feng.info("请输入员工姓名") |
| | | return; |
| | | } |
| | | var phone = $("#phone").val(); |
| | | if(phone == ''){ |
| | | Feng.info("请输入员工电话") |
| | | return; |
| | | } |
| | | // 编辑页未改动的手机号为脱敏值(如 138****0000),后端会保留原值; |
| | | // 仅在输入了完整新手机号时才校验格式。 |
| | | var phonePattern = /^1[3-9]\d{9}$/; |
| | | if (phone.indexOf('*') === -1 && !phonePattern.test(phone)) { |
| | | Feng.info("请输入合法手机号") |
| | | return ; |
| | | } |
| | | if($("#birthday").val()==''){ |
| | | Feng.info("请选择员工生日") |
| | | return; |
| | | } |
| | | |
| | | var citySel = $("#citySel").val(); |
| | | if ("" == citySel){ |
| | | if(language==1){ |
| | | Feng.info("部门不能为空!"); |
| | | }else if(language==2){ |
| | | Feng.info("The department cannot be empty!"); |
| | | }else { |
| | | Feng.info("Departemen tidak bisa kosong!"); |
| | | } |
| | | 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) { |
| | | Feng.success("修改成功!"); |
| | | if (window.parent.MgrUser != undefined) { |
| | | 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.$(".img-circle").each(function () { |
| | | $(this).attr("src",$("#avatar").val()); |
| | | }) |
| | | |
| | | window.parent.$("#userNameTab").text($("#name").val()); |
| | | }, function (data) { |
| | |
| | | avatarUp.setUploadBarId("progressBar"); |
| | | avatarUp.init(); |
| | | |
| | | // 员工编辑页有 roleid_ 用于回显;个人资料页只有隐藏的 roleid。 |
| | | // 不能把不存在控件的 undefined 写回 roleid,否则提交 /mgr/edit |
| | | // 会将 sys_user.roleid 更新为字符串 "undefined"。 |
| | | var roleIdSource = $("#roleid_"); |
| | | var roleIdTarget = $("#roleid"); |
| | | if (roleIdSource.length && roleIdTarget.length && roleIdSource.val()) { |
| | | roleIdTarget.val(roleIdSource.val()); |
| | | } |
| | | }); |