2023-09-22 14:01:42 +08:00
|
|
|
|
import { Modal, message } from 'antd'
|
|
|
|
|
|
const confirm = Modal.confirm;
|
|
|
|
|
|
import { WeaTools, WeaLocaleProvider } from 'ecCom';
|
|
|
|
|
|
const getLabel = WeaLocaleProvider.getLabel;
|
|
|
|
|
|
import {i18n} from '../public/i18n';
|
|
|
|
|
|
import * as mobx from 'mobx';
|
|
|
|
|
|
import loadjs from 'loadjs';
|
|
|
|
|
|
|
|
|
|
|
|
import LoginPluginFactory from './plugin/loginPluginFactory';
|
|
|
|
|
|
import {addContentPath} from './index.js'
|
|
|
|
|
|
const { ua } = WeaTools;
|
|
|
|
|
|
const isIE9 = (ua.browser === "IE");
|
|
|
|
|
|
|
|
|
|
|
|
const toJS = mobx.toJS;
|
|
|
|
|
|
let remindNum = 0;
|
|
|
|
|
|
|
|
|
|
|
|
const getLoginForm = (params) => {
|
|
|
|
|
|
let { langid, callback,queryParams } = params;
|
|
|
|
|
|
window.currLanguageId = langid;
|
|
|
|
|
|
let loginid = params.loginid || '';
|
|
|
|
|
|
if (loginid == '') {
|
|
|
|
|
|
loginid = jQuery('#loginid').val();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
let loginFormItems = [];
|
|
|
|
|
|
let loginFormHiddenItems = [];
|
|
|
|
|
|
let loginSetting = {};
|
|
|
|
|
|
let qrCode = {};
|
|
|
|
|
|
let hasMultiLang = false;
|
|
|
|
|
|
|
|
|
|
|
|
loginFormItems = [
|
|
|
|
|
|
{ label: '账号', atype: 'account', id: 'loginid', name: 'loginid', type: 'text' },
|
|
|
|
|
|
{ label: '密码', atype: 'password', id: 'userpassword', name: 'userpassword', type: 'password'},
|
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
|
|
queryParams = queryParams && toJS(queryParams);
|
|
|
|
|
|
if((queryParams && queryParams.appid && queryParams.service && queryParams.message)){
|
|
|
|
|
|
if(remindNum==0){
|
|
|
|
|
|
remindNum = remindNum+1;
|
|
|
|
|
|
WeaTools.callApi('/api/integration/common1/getMessageByCode','POST',
|
|
|
|
|
|
{code:queryParams.message,language:langid}).then((rs)=>{
|
|
|
|
|
|
message.error(rs.message || getLabel('503048','系统异常,请联系管理员!'), 3);
|
|
|
|
|
|
}).catch(err=>{
|
|
|
|
|
|
if(console) console.log(err) ;
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
WeaTools.callApi('/api/hrm/login/getLoginForm', 'POST', { loginid, langid }).then((result) => {
|
|
|
|
|
|
// loginFormItems = [
|
|
|
|
|
|
// {label: '账号', atype: 'account', id: 'loginid', name: 'loginid', type: 'text'},
|
|
|
|
|
|
// {label: '密码', atype: 'password', id: 'userpassword', name: 'userpassword', type: 'password'},
|
|
|
|
|
|
// {label: '验证码', atype: 'validatecode', id: 'validatecode', name: 'validatecode', type: 'text'},
|
|
|
|
|
|
// {label: '动态令牌口令', atype: 'common', id: 'tokenAuthKey', name: 'tokenAuthKey', type: 'text'}
|
|
|
|
|
|
// ];
|
|
|
|
|
|
loginFormItems = result.formItems;
|
|
|
|
|
|
loginSetting = result.loginSetting;
|
|
|
|
|
|
qrCode = result.qrcode;
|
|
|
|
|
|
hasMultiLang = loginSetting.hasMultiLang;
|
|
|
|
|
|
loginFormHiddenItems = [
|
|
|
|
|
|
{ html: '<input type="hidden" id="messages" name="messages" value="">' }
|
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
|
|
new LoginPluginFactory().getLocalPlugin(result,()=>{
|
|
|
|
|
|
window.loginPlugin && window.loginPlugin.init() ;
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
if (callback && typeof callback == 'function') callback({ hasMultiLang, loginFormItems, loginFormHiddenItems, loginSetting,qrCode,message:result.message});
|
|
|
|
|
|
}).catch((err) => {
|
|
|
|
|
|
message.error(err);
|
|
|
|
|
|
if (callback && typeof callback == 'function') callback({ hasMultiLang, loginFormItems, loginFormHiddenItems, loginSetting,qrCode,message:result.message});
|
|
|
|
|
|
});
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const login = (params) => {
|
|
|
|
|
|
const {openRSA} = params.loginSetting;
|
|
|
|
|
|
if(openRSA && openRSA=='1'){//启用RSA加密
|
|
|
|
|
|
__RSAEcrypt__.refreshRsaCode(function(){
|
|
|
|
|
|
loginSync(params);
|
|
|
|
|
|
});
|
|
|
|
|
|
}else{
|
|
|
|
|
|
loginSync(params);
|
|
|
|
|
|
}
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const loginSync = (params) => {
|
|
|
|
|
|
const { userUsbType, hasMultiLang, hasValidateCode,
|
|
|
|
|
|
validateCodeKey,numValidateWrong, validateType,
|
|
|
|
|
|
showDynamicPwd,openRSA} = params.loginSetting;
|
|
|
|
|
|
let { langid, success, failure, logintype, queryParams} = params;
|
|
|
|
|
|
const loginid = jQuery('#loginid').val();
|
|
|
|
|
|
let userpassword = jQuery('#userpassword').val();
|
|
|
|
|
|
let dynamicPassword = jQuery('#dynamicPassword').val();
|
|
|
|
|
|
let loginidRsa = loginid ;
|
|
|
|
|
|
let userpasswordRsa = userpassword;
|
|
|
|
|
|
if(openRSA && openRSA=='1'){//启用RSA加密
|
|
|
|
|
|
userpasswordRsa = __RSAEcrypt__.rsa_data_encrypt(userpassword);
|
|
|
|
|
|
loginidRsa = __RSAEcrypt__.rsa_data_encrypt(loginid) ;
|
|
|
|
|
|
}
|
|
|
|
|
|
const tokenAuthKey = jQuery('#tokenAuthKey') ? jQuery('#tokenAuthKey').val() : '';
|
|
|
|
|
|
const validatecode = jQuery('#validatecode') ? jQuery('#validatecode').val() : '';
|
|
|
|
|
|
const messages = jQuery('#messages') ? jQuery('#messages').val() : '';
|
|
|
|
|
|
message.destroy();
|
|
|
|
|
|
if(jQuery('#userpassword') && jQuery('#userpassword').length>0){
|
|
|
|
|
|
if (loginid == '' || userpassword == '') {
|
|
|
|
|
|
message.error(getLabel('386478',"请输入用户名、密码"), 3);
|
|
|
|
|
|
if (failure && typeof failure == 'function') failure();
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
if(jQuery('#dynamicPassword') && jQuery('#dynamicPassword').length>0){
|
|
|
|
|
|
if(dynamicPassword==''){
|
|
|
|
|
|
message.error(getLabel('20289',"请输入动态密码"), 3);
|
|
|
|
|
|
if (failure && typeof failure == 'function') failure();
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (hasValidateCode && validatecode == '') {
|
|
|
|
|
|
message.error(getLabel('84270',"请输入验证码"), 3);
|
|
|
|
|
|
if (failure && typeof failure == 'function') failure();
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (userUsbType == '3') {
|
|
|
|
|
|
if (tokenAuthKey == '') {
|
|
|
|
|
|
message.warning(getLabel('84271',"请输入动态令牌口令"));
|
|
|
|
|
|
if (failure && typeof failure == 'function') failure();
|
|
|
|
|
|
return;
|
|
|
|
|
|
} else if (!isdigit(tokenAuthKey) || tokenAuthKey.length != 6) {
|
|
|
|
|
|
message.warning(getLabel('386435',"动态令牌口令必须为6位数字!"));
|
|
|
|
|
|
if (failure && typeof failure == 'function') failure();
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2023-09-26 16:58:23 +08:00
|
|
|
|
queryParams = toJS(queryParams);
|
|
|
|
|
|
if(queryParams && queryParams.appid && queryParams.service){
|
|
|
|
|
|
queryParams.loginid=loginid;
|
|
|
|
|
|
queryParams.userpassword=userpasswordRsa;
|
|
|
|
|
|
queryParams.isRememberAccount = params.isRememberAccount ? '1':'0' ;
|
|
|
|
|
|
queryParams.isRememberPassword = params.isRememberPassword ? '1':'0' ;
|
|
|
|
|
|
queryParams.validatecode=validatecode;
|
|
|
|
|
|
queryParams.validateCodeKey=validateCodeKey ;
|
|
|
|
|
|
queryParams.languid=langid ;
|
|
|
|
|
|
let tmps = [];
|
|
|
|
|
|
jQuery("body").append("<form name='ssoForm'></form>");
|
|
|
|
|
|
let form = jQuery("form[name='ssoForm']")
|
|
|
|
|
|
form.attr("action", (window.ecologyContentPath||'')+'/login/VerifyLoginWeaversso.jsp');
|
|
|
|
|
|
form.attr("method", "post");
|
|
|
|
|
|
form.attr("style", "display:none");
|
|
|
|
|
|
for (let key in queryParams) {
|
|
|
|
|
|
form.append("<input type='text' name='" + key + "' value = '" + queryParams[key] + "'></input>");
|
|
|
|
|
|
}
|
|
|
|
|
|
//跳转到sso
|
|
|
|
|
|
form.submit();
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
2023-09-22 14:01:42 +08:00
|
|
|
|
|
|
|
|
|
|
const {plugin} = params
|
|
|
|
|
|
|
|
|
|
|
|
const checkWeakPassword = (nCallback) => {
|
|
|
|
|
|
WeaTools.callApi('/api/hrm/password/isWeakPassword', 'POST', {
|
|
|
|
|
|
password: userpasswordRsa
|
|
|
|
|
|
}).then(datas => {
|
|
|
|
|
|
const {
|
|
|
|
|
|
weakPasswordDisable,
|
|
|
|
|
|
isWeakPassword
|
|
|
|
|
|
} = datas;
|
|
|
|
|
|
|
|
|
|
|
|
if (isWeakPassword && (weakPasswordDisable === "1")) {
|
|
|
|
|
|
confirm({
|
|
|
|
|
|
title: getLabel(131329, '信息确认'),
|
|
|
|
|
|
content: getLabel('516219','该密码安全性较低,管理员已开启弱密码禁止保存设置,请修改密码。'),
|
|
|
|
|
|
onOk() {
|
|
|
|
|
|
showDialog("", addContentPath(`/spa/hrm/index_mobx.html#/main/hrm/password`), { width: 800, height: 500 },"",()=>failure({reflashValidateCode:true}));
|
|
|
|
|
|
},
|
|
|
|
|
|
onCancel() {
|
|
|
|
|
|
failure({reflashValidateCode:true});
|
|
|
|
|
|
WeaTools.callApi('/api/hrm/login/checkLogout','POST');
|
|
|
|
|
|
},
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
// const url = `/spa/hrm/index_mobx.html#/main/hrm/weakPassConfirm`;
|
|
|
|
|
|
// const dialog = ecCom.WeaTools.createDialog({
|
|
|
|
|
|
// url,
|
|
|
|
|
|
// title: getLabel(131329, '信息确认'),
|
|
|
|
|
|
// icon:"icon-coms02-Warning",
|
|
|
|
|
|
// iconBgcolor:"#ff9900",
|
|
|
|
|
|
// style: {
|
|
|
|
|
|
// width: 380,
|
|
|
|
|
|
// height: 161
|
|
|
|
|
|
// },
|
|
|
|
|
|
// onCancel: ()=>{
|
|
|
|
|
|
// failure({reflashValidateCode:true});
|
|
|
|
|
|
// WeaTools.callApi('/api/hrm/login/checkLogout','POST');
|
|
|
|
|
|
// },
|
|
|
|
|
|
// callback:() => {
|
|
|
|
|
|
// showDialog("", `/spa/hrm/index_mobx.html#/main/hrm/password`, { width: 800, height: 500 },"",()=>failure({reflashValidateCode:true}));
|
|
|
|
|
|
// },
|
|
|
|
|
|
// });
|
|
|
|
|
|
// dialog.show();
|
|
|
|
|
|
} else {
|
|
|
|
|
|
nCallback();
|
|
|
|
|
|
}
|
|
|
|
|
|
}).catch(() => {
|
|
|
|
|
|
nCallback();
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
WeaTools.callApi('/api/hrm/login/checkLogin', 'POST', {
|
|
|
|
|
|
islanguid: langid,
|
|
|
|
|
|
loginid: loginidRsa,
|
|
|
|
|
|
userpassword: userpasswordRsa,
|
|
|
|
|
|
dynamicPassword:dynamicPassword,
|
|
|
|
|
|
tokenAuthKey: tokenAuthKey,
|
|
|
|
|
|
validatecode: validatecode,
|
|
|
|
|
|
validateCodeKey:validateCodeKey,
|
|
|
|
|
|
logintype: logintype,
|
|
|
|
|
|
messages: messages,
|
|
|
|
|
|
isie: isIE9,
|
|
|
|
|
|
...plugin
|
|
|
|
|
|
}).then((result) => {
|
|
|
|
|
|
if ('access_token' in result && typeof result.access_token === 'string' && result.access_token !== '') {
|
|
|
|
|
|
localStorage.setItem('access_token', result.access_token);
|
|
|
|
|
|
} else {
|
|
|
|
|
|
localStorage.access_token && localStorage.removeItem('access_token');
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if(result.user_token && result.user_token!=''){
|
|
|
|
|
|
userpassword = result.user_token;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (result.loginstatus == 'true') {
|
2023-09-26 16:58:23 +08:00
|
|
|
|
if (success && typeof success == 'function') {
|
2023-09-22 14:01:42 +08:00
|
|
|
|
message.destroy();
|
|
|
|
|
|
if(logintype==2){
|
2023-09-26 16:58:23 +08:00
|
|
|
|
checkWeakPassword(()=>success(loginid, userpassword, result));
|
2023-09-22 14:01:42 +08:00
|
|
|
|
}else{
|
|
|
|
|
|
WeaTools.callApi('/api/hrm/login/remindLogin', 'POST', {logintype: logintype}).then((result) => {
|
|
|
|
|
|
if (result.status == '1') {
|
|
|
|
|
|
if (result.isUpPswd == 'true') {
|
|
|
|
|
|
if (failure && typeof failure == 'function') failure({reflashValidateCode:true});
|
|
|
|
|
|
confirm({
|
|
|
|
|
|
title: i18n.confirm.systemhints(),
|
|
|
|
|
|
content: getLabel('81626',"首次登录需修改密码!"),
|
|
|
|
|
|
onOk() {
|
|
|
|
|
|
if (failure && typeof failure == 'function') failure({reflashValidateCode:true});
|
|
|
|
|
|
showDialog("", addContentPath(`/spa/hrm/index_mobx.html#/main/hrm/password?optype=2`), { width: 800, height: 500 });
|
|
|
|
|
|
return;
|
|
|
|
|
|
},
|
|
|
|
|
|
onCancel() {
|
|
|
|
|
|
if (failure && typeof failure == 'function') failure({reflashValidateCode:true});
|
|
|
|
|
|
WeaTools.callApi('/api/hrm/login/checkLogout', 'POST', {}).then((result) => { });
|
|
|
|
|
|
return;
|
|
|
|
|
|
},
|
|
|
|
|
|
});
|
|
|
|
|
|
} else {
|
|
|
|
|
|
if (result.passwdReminder == '1') {
|
|
|
|
|
|
if (result.canpass == '1') {
|
|
|
|
|
|
if (result.canremind == '1') {
|
|
|
|
|
|
const content = getLabel('386479',"您的密码还有{params}天过期,是否现在修改?").replace('{params}', result.passwdelse);
|
|
|
|
|
|
confirm({
|
|
|
|
|
|
title: i18n.confirm.systemhints(),
|
|
|
|
|
|
content,
|
|
|
|
|
|
onOk() {
|
|
|
|
|
|
if (failure && typeof failure == 'function') failure({reflashValidateCode:true});
|
|
|
|
|
|
showDialog("", addContentPath(`/spa/hrm/index_mobx.html#/main/hrm/password`), { width: 800, height: 500 });
|
|
|
|
|
|
return;
|
|
|
|
|
|
},
|
|
|
|
|
|
onCancel() {
|
2023-09-26 16:58:23 +08:00
|
|
|
|
checkWeakPassword(()=>success(loginid, userpassword, result));
|
2023-09-22 14:01:42 +08:00
|
|
|
|
},
|
|
|
|
|
|
});
|
|
|
|
|
|
} else {
|
2023-09-26 16:58:23 +08:00
|
|
|
|
checkWeakPassword(()=>success(loginid, userpassword, result));
|
2023-09-22 14:01:42 +08:00
|
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
|
|
|
confirm({
|
|
|
|
|
|
title: i18n.confirm.systemhints(),
|
|
|
|
|
|
content: getLabel('386480',"您的密码已经过期,请立即修改!"),
|
|
|
|
|
|
onOk() {
|
|
|
|
|
|
if (failure && typeof failure == 'function') failure({reflashValidateCode:true});
|
|
|
|
|
|
showDialog("", addContentPath(`/spa/hrm/index_mobx.html#/main/hrm/password?optype=1`), { width: 800, height: 500 });
|
|
|
|
|
|
return;
|
|
|
|
|
|
},
|
|
|
|
|
|
onCancel() {
|
|
|
|
|
|
if (failure && typeof failure == 'function') failure({reflashValidateCode:true});
|
|
|
|
|
|
WeaTools.callApi('/api/hrm/login/checkLogout', 'POST', {}).then((result) => { });
|
|
|
|
|
|
return;
|
|
|
|
|
|
},
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
} else {
|
2023-09-26 16:58:23 +08:00
|
|
|
|
checkWeakPassword(()=>success(loginid, userpassword, result));
|
2023-09-22 14:01:42 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
|
|
|
if (failure && typeof failure == 'function') failure({reflashValidateCode:true});
|
|
|
|
|
|
if (result.msgcode == '66') {
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
message.destroy();
|
|
|
|
|
|
let errorMsg = result.msg || getLabel('386481',"登录失败");
|
|
|
|
|
|
let errorUrl = '';
|
|
|
|
|
|
let errorText = '';
|
|
|
|
|
|
|
|
|
|
|
|
if (result.msgcode == '120') {
|
|
|
|
|
|
errorUrl = addContentPath('/spa/hrm/index_mobx.html#/main/hrm/BindTokenKey?langid='+langid);
|
|
|
|
|
|
errorText = getLabel('386125',"令牌绑定");
|
|
|
|
|
|
} else if (result.msgcode == '122') {
|
|
|
|
|
|
errorUrl = addContentPath('/spa/hrm/index_mobx.html#/main/hrm/BindTokenKey?syncTokenKey=1&langid='+langid);
|
|
|
|
|
|
errorText = getLabel('129202',"令牌同步");
|
|
|
|
|
|
} else if (result.msgcode == '19') {
|
|
|
|
|
|
if(result.msg) message.warning(result.msg);
|
|
|
|
|
|
window.doLicenseSubmit && window.doLicenseSubmit();
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 返回错误信息提示
|
|
|
|
|
|
message.error((
|
|
|
|
|
|
<span>
|
|
|
|
|
|
{errorMsg}
|
|
|
|
|
|
{errorUrl ? (
|
|
|
|
|
|
<span style={{ marginLeft: '5px', color: '#00a9ff', cursor: 'pointer' }} onClick={() => showDialog('', errorUrl, { width: 800, height: 465 })}>{errorText}</span>
|
|
|
|
|
|
) : ''
|
|
|
|
|
|
}
|
|
|
|
|
|
</span>
|
|
|
|
|
|
), 5);
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const getDynamicPassword = (params) => {
|
|
|
|
|
|
let { langid, success, failure} = params;
|
|
|
|
|
|
const {openRSA} = params.loginSetting;
|
|
|
|
|
|
const loginid = jQuery('#loginid').val();
|
|
|
|
|
|
const userpassword = jQuery('#userpassword').val();
|
|
|
|
|
|
const dynamicPassword = jQuery('#dynamicPassword').val();
|
|
|
|
|
|
|
|
|
|
|
|
message.destroy();
|
|
|
|
|
|
if(jQuery('#userpassword') && jQuery('#userpassword').length>0){
|
|
|
|
|
|
if (loginid == '' || userpassword == '') {
|
|
|
|
|
|
message.error(getLabel('386478',"请输入用户名、密码"), 3);
|
|
|
|
|
|
if (failure && typeof failure == 'function') failure();
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if(openRSA && openRSA=='1'){//启用RSA加密
|
|
|
|
|
|
__RSAEcrypt__.refreshRsaCode(function(){
|
|
|
|
|
|
getDynamicPasswordSync(params);
|
|
|
|
|
|
});
|
|
|
|
|
|
}else{
|
|
|
|
|
|
getDynamicPasswordSync(params);
|
|
|
|
|
|
}
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const getDynamicPasswordSync = (params) => {
|
|
|
|
|
|
let {langid, success, failure} = params;
|
|
|
|
|
|
const {openRSA} = params.loginSetting;
|
|
|
|
|
|
let loginid = jQuery('#loginid').val();
|
|
|
|
|
|
let userpassword = jQuery('#userpassword').val();
|
|
|
|
|
|
let loginidRsa = loginid;
|
|
|
|
|
|
let userpasswordRsa = userpassword;
|
|
|
|
|
|
if(openRSA && openRSA=='1'){//启用RSA加密
|
|
|
|
|
|
loginidRsa = __RSAEcrypt__.rsa_data_encrypt(loginid) ;
|
|
|
|
|
|
userpasswordRsa = __RSAEcrypt__.rsa_data_encrypt(userpassword);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
WeaTools.callApi('/api/hrm/login/getDynamicPassword','POST',{
|
|
|
|
|
|
langid: langid,
|
|
|
|
|
|
loginid: loginidRsa,
|
|
|
|
|
|
userpassword: userpasswordRsa,
|
|
|
|
|
|
}).then((result) => {
|
|
|
|
|
|
if (result.status == '1') {
|
|
|
|
|
|
if (success && typeof success == 'function') {
|
|
|
|
|
|
success(result);
|
|
|
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
|
|
|
message.destroy();
|
|
|
|
|
|
let errorMsg = result.message;
|
|
|
|
|
|
// 返回错误信息提示
|
|
|
|
|
|
message.error((
|
|
|
|
|
|
<span>
|
|
|
|
|
|
{errorMsg}
|
|
|
|
|
|
</span>
|
|
|
|
|
|
), 5);
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const showDialog = (title, url, style, callback, onCancel) => {
|
|
|
|
|
|
style=style||{ width: 800, height: 465 };
|
|
|
|
|
|
let interval = setInterval(()=>{
|
|
|
|
|
|
let dialog = ecCom.WeaTools.createDialog({ moduleName: 'hrm', title, url, style, callback, onCancel,maxHeight:style.height });
|
|
|
|
|
|
if (dialog) {
|
|
|
|
|
|
dialog.show();
|
|
|
|
|
|
clearInterval(interval);
|
|
|
|
|
|
}
|
|
|
|
|
|
},1000)
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const isdigit = (s) => {
|
|
|
|
|
|
var r, re;
|
|
|
|
|
|
re = /\d*/i; //\d表示数字,*表示匹配多个数字
|
|
|
|
|
|
r = s.match(re);
|
|
|
|
|
|
return (r == s) ? true : false;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 提供登录相关的全局方法
|
|
|
|
|
|
window.doLoginAction = (actionName, params) => {
|
|
|
|
|
|
if (actionName == 'getLoginForm') {
|
|
|
|
|
|
const { langid } = params;
|
|
|
|
|
|
WeaLocaleProvider.getLocaleLabelByLang(['common', 'hrm'], langid).then(()=>{
|
|
|
|
|
|
getLoginForm(params);
|
|
|
|
|
|
});
|
|
|
|
|
|
} else if (actionName == 'login') {
|
|
|
|
|
|
//异步加载ras文件
|
|
|
|
|
|
loadjs.isDefined('rsa') ? loadjs.ready('rsa', ()=>{
|
|
|
|
|
|
window.loginPlugin.willLogin(params,login)
|
|
|
|
|
|
//login(params)
|
|
|
|
|
|
}) : loadjs(["/js/rsa/jsencrypt.js","/js/rsa/rsa.js"], 'rsa', {
|
|
|
|
|
|
async: false,
|
|
|
|
|
|
success: ()=>{
|
|
|
|
|
|
window.loginPlugin.willLogin(params,login)
|
|
|
|
|
|
//login(params)
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
} else if (actionName == 'getDynamicPassword') {
|
|
|
|
|
|
loadjs.isDefined('rsa') ? loadjs.ready('rsa', () => {
|
|
|
|
|
|
getDynamicPassword(params);
|
|
|
|
|
|
}) : loadjs(["/js/rsa/jsencrypt.js", "/js/rsa/rsa.js"], 'rsa', {
|
|
|
|
|
|
async: false,
|
|
|
|
|
|
success: () => {
|
|
|
|
|
|
getDynamicPassword(params);
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
} else if(actionName == 'forgetPassword'){
|
|
|
|
|
|
const url = addContentPath(`/spa/hrm/index_mobx.html#/main/hrmSingle/forgetPassword?langid=${window.currLanguageId}`);//`/#/main/hrm/forgetPassword?langid=${window.currLanguageId}`;//`/spa/hrm/index_mobx.html#/main/hrm/forgetPassword?langid=${window.currLanguageId}`
|
|
|
|
|
|
showDialog(getLabel('127899',"找回密码"), url, { width: 600, height: 245 }, data => {
|
|
|
|
|
|
if(data){
|
|
|
|
|
|
const {status} = data;
|
|
|
|
|
|
if(status == '1'){
|
|
|
|
|
|
message.success(data.message || getLabel(83551, '保存成功!'))
|
|
|
|
|
|
}else{
|
|
|
|
|
|
message.error(data.message);
|
|
|
|
|
|
}
|
|
|
|
|
|
//解决登录页忘记密码保存成功后,不能输入账号和密码的问题。
|
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
|
$(".fade-leave").css({display:"none"})
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
};
|
|
|
|
|
|
//window.doLoginAction('forgetPassword')
|