128 lines
4.5 KiB
JavaScript
128 lines
4.5 KiB
JavaScript
|
|
import { observable, action } from 'mobx';
|
|||
|
|
import { WeaForm } from 'comsMobx';
|
|||
|
|
import * as API from '../apis/bindtokenkey';
|
|||
|
|
import { message } from 'antd';
|
|||
|
|
import { Modal } from 'antd'
|
|||
|
|
const confirm = Modal.confirm;
|
|||
|
|
import { WeaTools, WeaLocaleProvider } from 'ecCom'
|
|||
|
|
const getLabel = WeaLocaleProvider.getLabel;
|
|||
|
|
|
|||
|
|
export class BindTokenKey {
|
|||
|
|
title = () => getLabel(386125, "令牌绑定");
|
|||
|
|
@observable form = new WeaForm();
|
|||
|
|
@observable formFields = [];
|
|||
|
|
@observable date;
|
|||
|
|
@observable dialogId;
|
|||
|
|
|
|||
|
|
@action
|
|||
|
|
getFormField(params = {}) {
|
|||
|
|
this.form = new WeaForm();
|
|||
|
|
API.getFormField(params).then((data) => {
|
|||
|
|
data.formField.map(c => c.items.map(item => {
|
|||
|
|
if (item.otherParams && item.otherParams.tip) {
|
|||
|
|
item.self_tip = item.otherParams.tip;
|
|||
|
|
delete item.otherParams.tip
|
|||
|
|
}
|
|||
|
|
}))
|
|||
|
|
this.formFields = data.formField;
|
|||
|
|
this.form.initFormFields(this.formFields);
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
save(params = {}) {
|
|||
|
|
const formParams = this.form.getFormParams();
|
|||
|
|
this.form.validateForm().then(f => {
|
|||
|
|
if (f.isValid) {
|
|||
|
|
|
|||
|
|
if (params.syncTokenKey && params.syncTokenKey == '1') {1
|
|||
|
|
let tokenKey = formParams.tokenKey.trim() || '';
|
|||
|
|
let tokenKeyCode1 = formParams.tokenKeyCode1.trim() || '';
|
|||
|
|
let tokenKeyCode2 = formParams.tokenKeyCode2.trim() || '';
|
|||
|
|
|
|||
|
|
if (tokenKey != "" && (!this.isdigit(tokenKey) || tokenKey.length != 10)) {
|
|||
|
|
message.warning(getLabel(83745, "令牌序列号必须为10位数字!"));
|
|||
|
|
tokenKey.focus();
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var tokenType = "";
|
|||
|
|
var startNumber = tokenKey.substr(0, 1);
|
|||
|
|
if (startNumber == "1") { //动联1代
|
|||
|
|
tokenType = "5";
|
|||
|
|
} else {
|
|||
|
|
message.warning(getLabel(129133, "令牌序列号不正确,请确认后输入"));
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (tokenKeyCode1 != "" && (!this.isdigit(tokenKeyCode1) || tokenKeyCode1.length != 6)) {
|
|||
|
|
message.warning(`${getLabel(129204, "动态口令")}1${getLabel(129205, "必须为6位数字")}`);
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (tokenKeyCode2 != "" && (!this.isdigit(tokenKeyCode2) || tokenKeyCode2.length != 6)) {
|
|||
|
|
message.warning(`${getLabel(129204, "动态口令")}2${getLabel(129205, "必须为6位数字")}`);
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (tokenKeyCode1 == tokenKeyCode2) {
|
|||
|
|
message.warning(`${getLabel(129204, "动态口令")}1${getLabel(129206, "与动态口令")}2${getLabel(26250, "不能相同")}`);
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
} else {
|
|||
|
|
let tokenKey1 = formParams.tokenKey1.trim() || '';
|
|||
|
|
let tokenKey2 = formParams.tokenKey2.trim() || '';
|
|||
|
|
let tokenKeyCode = formParams.tokenKeyCode.trim() || '';
|
|||
|
|
if (tokenKey1 != "" && (!this.isdigit(tokenKey1) || tokenKey1.length != 10)) {
|
|||
|
|
message.warning(getLabel(83745, "令牌序列号必须为10位数字!"));
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (tokenKey2 != "" && (!this.isdigit(tokenKey2) || tokenKey2.length != 10)) {
|
|||
|
|
message.warning(getLabel('386433',"确认序列号必须为10位数字!"));
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (tokenKey1 != tokenKey2) {
|
|||
|
|
message.warning(getLabel('386434',"令牌序列号和确认令牌序列号不一致!"));
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (tokenKeyCode != "" && (!this.isdigit(tokenKeyCode) || tokenKeyCode.length != 6)) {
|
|||
|
|
message.warning(getLabel('386435',"动态令牌口令必须为6位数字!"));
|
|||
|
|
return false;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
API.saveFormFields({ ...params, ...formParams }).then((data) => {
|
|||
|
|
if (data.status == '1') {
|
|||
|
|
message.success(data.message);
|
|||
|
|
setTimeout(()=>{
|
|||
|
|
let dialog = top.window.getParentDialog();
|
|||
|
|
if(!dialog){
|
|||
|
|
if (this.dialogId && window.top.window.dialogMapper && window.top.window.dialogMapper[this.dialogId]) {
|
|||
|
|
dialog = window.top.window.dialogMapper[this.dialogId];
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
dialog.close(); // 关闭。 会触发onCancel
|
|||
|
|
},3000);
|
|||
|
|
} else {
|
|||
|
|
message.warning(data.message);
|
|||
|
|
}
|
|||
|
|
}, error => {
|
|||
|
|
message.warning(error.message);
|
|||
|
|
});
|
|||
|
|
} else {
|
|||
|
|
f.showErrors();
|
|||
|
|
this.date = new Date();
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
isdigit(s) {
|
|||
|
|
var r, re;
|
|||
|
|
re = /\d*/i; //\d表示数字,*表示匹配多个数字
|
|||
|
|
r = s.match(re);
|
|||
|
|
return (r == s) ? true : false;
|
|||
|
|
}
|
|||
|
|
}
|