var page = { init: function () { this.vm = { color: ko.observableArray(), //密码颜色设置 visible: ko.observable(true),// 密码显示标识 isAdministrators: ko.observable(false),// 重置密码权限控制true为有权限,false为无权限 admin: ko.observable(''),// 登录名 oldPwd: ko.observable(''),// 原密码 changePwd: ko.observable(''),// 修改为新密码 newPwd: ko.observable(''),// 确认修改的新密码 resetUserCode: ko.observable(''),// 要重置密码的员工工号 resetUserPassword: ko.observable(''),// 要重置密码的员工工号 assistText: ko.observable('好友辅助验证'), // 辅助验证文字 isAssist: ko.observable(false), // 是否辅助验证 checkMail: ko.observable(''),// 验证邮箱 isCountDown: ko.observable(false), // 是否显示倒计时 countDown: ko.observable(10), // 验证码 60s倒计时 countDownText: ko.observable('获取验证码'), // 验证码按钮文字 codeOrPwd: ko.observable('原密码:'), // 原密码或验证码文字 reviseOkBtn: this.reviseOkBtn,// 点击确定修改密码 reviseCancleBtn: this.reviseCancleBtn,// 点击取消修改密码 resetBtn: this.resetBtn,// 重置密码 assistBtn: this.assistBtn, // 辅助验证或原密码切换 getCode: this.getCode, // 获取验证码 CNOrUKBtn: this.CNOrUKBtn, // 点击切换中英文按钮 }; ko.applyBindings(this.vm); // this.isAdmin(); }, /* * 修改密码 */ reviseOkBtn: function () { var admin = page.vm.admin(); var oldPwd = page.vm.oldPwd(); var changePwd = page.vm.changePwd(); var newPwd = page.vm.newPwd(); var hitTxt = ''; if (global.isEmpty(oldPwd)) { hitTxt = '必须填写原密码!'; } else if (global.isEmpty(admin)) { hitTxt = '必须填写登录名!'; } else if (global.isEmpty(changePwd)) { hitTxt = '请输入新密码!'; } else if (global.isEmpty(newPwd)) { hitTxt = '请再次输入确认新密码!'; } else if (changePwd !== newPwd) { hitTxt = '两次输入密码不同!'; }else { global.myAjax({ url: global.remote + '/checkPassword', type: 'get', data: { password: newPwd, userName: admin }, success: function (res) { var parseRes = JSON.parse(res); var arr = []; console.log(parseRes); for (var i in parseRes.message) { console.log(i, parseRes.message[i]); for (var j in parseRes.message[i]) { arr.push({ key: i, value: j, content: parseRes.message[i][j] } ); } } console.log(arr); page.vm.color(arr); page.vm.visible(false); if (parseRes.success == false) { hitTxt = "密码不合规"; } } }); } if (!global.isEmpty(hitTxt)) { global.hitFn({ type: 'hit', hitText: hitTxt }); } else { // ajax请求 global.myAjax({ url: global.remote + '/modifyPassword', type: 'get', data: { admin: admin, newPassword: newPwd, password: oldPwd }, success: function (res) { var newRes = ''; if (res[0] === '{') { newRes = eval('(' + res + ')') } else { newRes = eval('(' + ('{' + res.split('{')[1]) + ')') } var jsonData = newRes; if (jsonData.success) { global.hitFn({ type: 'success', hitText: '修改密码成功' }); } else { global.hitFn({ type: 'error', hitText: jsonData.message }); } } }) } }, reviseCancleBtn: function () { page.vm.visible(true); page.vm.admin(''); page.vm.oldPwd(''); page.vm.changePwd(''); page.vm.newPwd(''); page.vm.assistText('好友辅助验证'); page.vm.isAssist(false); page.vm.checkMail(''); page.vm.isCountDown(false); page.vm.countDown(0); page.vm.countDownText('获取验证码'); }, // 辅助验证功能 assistBtn: function () { if (page.vm.isAssist()) { page.vm.isAssist(false); page.vm.assistText('好友辅助验证'); page.vm.codeOrPwd('原密码:'); } else { page.vm.isAssist(true); page.vm.assistText('原密码'); page.vm.codeOrPwd('验证码:'); } }, // 60s倒计时 count60() { // clearInterval(setTimer)//清除计时器 let setTimer = setInterval(function () { if (page.vm.countDown() > 0) { page.vm.countDown(page.vm.countDown() - 1); page.vm.countDownText(page.vm.countDown() + 's'); } if (page.vm.countDown() == 0) { page.vm.countDown(10);//恢复60s设定 page.vm.isCountDown(false);//不显示60s计时器 page.vm.countDownText('获取验证码'); clearInterval(setTimer)//清除计时器 } }, 1000) }, // 获取辅助验证码 getCode: function () { var admin = page.vm.admin(); var checkMail = page.vm.checkMail(); var codeReg = /^[0-9]{5}$/; if (!global.isEmpty(admin) && !global.isEmpty(checkMail)) { global.myAjax({ url: global.remote + '/tokenMail', type: 'get', data: { admin: admin, mail: checkMail }, success: function (res) { var newRes = ''; if (res[0] === '{') { newRes = eval('(' + res + ')') } else { newRes = eval('(' + ('{' + res.split('{')[1]) + ')') } var jsonData = newRes; if (jsonData.success) { global.hitFn({ type: 'success', hitText: '验证码发送成功' }); page.vm.isCountDown(true); // 显示60s倒计时 page.count60(); // 开始60s倒计时 } else { global.hitFn({ type: 'error', hitText: jsonData.message }); } } }); } else { global.hitFn({ type: 'hit', hitText: '登录名和辅助邮箱不可为空' }); } }, CNOrUKBtn: function() { // 点击跳转中文链接 window.location.replace("login1.do"); } } window.onload = function () { page.init(); }