weaver_trunk_cli/pc4mobx/hrm/stores/systemCard.js

283 lines
5.9 KiB
JavaScript
Raw Normal View History

2023-09-22 14:01:42 +08:00
import {
observable,
action,
computed
} from 'mobx';
import * as mobx from 'mobx'
import * as Api from '../apis/systemCard';
import {
WeaForm
} from 'comsMobx';
import {
WeaTableNew
} from 'comsMobx'
import {
message,
} from 'antd'
import {i18n} from '../public/i18n';
const {
TableStore
} = WeaTableNew;
export class HrmSystemCard {
@observable tabKey = '1';
@observable headerColumns = [];
@observable sessionkey = '';
@observable condition1 = [];
@observable condition2 = [];
@observable form1 = new WeaForm();
@observable form2 = new WeaForm();
@observable isPanelShow = false;
@observable isSecSettingShow = false;
@observable tableStore = new TableStore();
@observable isPassVerification = false;
@observable isSecSetting = false;
@observable loginId = '';
@observable hrmId = '';
@observable hrmName = '';
@observable isSecondaryVerifyUsed = false;
@observable isSecondaryVerifySetted = false;
@observable hasRight = false;
@observable loading = false;
@action
tabClick(key) {
this.tabKey = key;
this.getHeaderColumn(key);
this.updateFormFields('', '1');
this.updateFormFields(key, '2');
this.updateFormFields('', '3');
this.getTableInfo(key);
this.hideSearchAd();
}
@action getHasRight = (id) => {
this.loading = true;
this.userid = id;
const params ={}
if (id) {
params.userid=id
}
Api.getHasRight(params).then((data) => {
const {
hasRight
} = data;
this.hasRight = hasRight;
this.loading = false;
if (hasRight) {
this.setShowSearchAd(false);
this.getHeaderColumn(this.tabKey);
this.getSearchCondition();
this.getTableInfo('1');
}else{
2023-09-26 16:58:23 +08:00
document.title = i18n.label.resourceCard()
2023-09-22 14:01:42 +08:00
}
});
}
getHeaderColumn(key) {
let params = {
type: key
}
if (this.userid) {
params.userid = this.userid
}
Api.getHeaderColumn(params).then((data) => {
if (data) {
this.headerColumns = data;
}
});
}
getTableInfo(key) {
let params;
if (key) {
params = {
type: key
}
} else {
params = this.form1.getFormParams();
}
if ('type' in params && params.type !== '6' && params.type !== '8') this.tabKey = params.type;
if ('type' in params && (params.type == '6' || params.type == '8')) this.tabKey = '0';
if (this.userid) {
params.userid = this.userid
}
this.tableStore = new TableStore();
Api.getTableInfo(params).then((data) => {
this.tableStore.getDatas(data.sessionkey);
});
}
getSearchCondition() {
const params = {}
if (this.userid) {
params.userid = this.userid
}
Api.getSearchCondition(params).then((data) => {
data.condition.forEach(c => {
c.title = ''
c.items = c.items.slice(0,2)
})
this.form1.setCondition(data.condition);
// this.condition1 = data.condition;
this.hrmName = data.hrmName;
// this.form1 = new WeaForm();
// this.form1.initFormFields(data.condition);
2023-09-26 16:58:23 +08:00
document.title = i18n.label.resourceCard() + '-' + data.hrmName;
2023-09-22 14:01:42 +08:00
});
}
getSecSettingCondition(params) {
if (this.userid) {
params.userid = this.userid
params.id = this.userid
}
Api.getSecSettingCondition(params).then((data) => {
this.isSecSetting = data.secSettings;
this.usestateOption = this.getUsestateOption(data.condition)
this.condition2 = data.condition;
this.hrmId = data.hrmId;
this.form2 = new WeaForm();
this.form2.initFormFields(data.condition);
this.handleCondition();
//获取二次验证密码信息:是否设置、是否启用
this.getSecondaryVerifyPwdInfo();
});
}
getUsestateOption = (conditions) => {
let options;
conditions.map(c => c.items.map(item => {
if (item.domkey[0] == 'usbstate') {
options = item.options
}
}))
return options
}
handleCondition = () => {
const {userUsbType} =this.form2.getFormParams();
this.condition2.map(c => c.items.map(item => {
if (item.domkey[0] == 'usbstate') {
item.options = (userUsbType == '6') ? this.usestateOption.slice(0,2):this.usestateOption
}
}))
}
//获取二次验证密码信息:是否设置、是否启用
getSecondaryVerifyPwdInfo = () => {
const params = {
id: this.hrmId, //系统管理员id为1
}
if (this.userid) {
params.userid = this.userid
}
Api.isUseSecondaryPwd(params).then(cb => {
const {
isSetted, //是否设置
isUse, //是否启用
} = cb;
this.isSecondaryVerifySetted = isSetted;
this.isSecondaryVerifyUsed = isUse;
});
}
//保存二次验证密码设置
saveSecondaryPasswordSetting = (useSecondaryPwd) => {
const params = {
id: this.hrmId, //系统管理员id为1
useSecondaryPwd, //useSecondaryPwd:true -> 启用 false -> 停用
}
if (this.userid) {
params.userid = this.userid
}
Api.saveUseSecondaryPwd(params).then(cb => {
const {
sign
} = cb;
if (sign !== '1') {
message.warning(cb.message);
return
}
// this.isSecondaryVerifyUsed = useSecondaryPwd;
this.getSecondaryVerifyPwdInfo();
});
}
setShowSearchAd(bool) {
this.isPanelShow = bool;
}
hideSearchAd() {
this.isPanelShow = false;
}
setDialogShow() {
this.isSecSettingShow = true;
}
hideDialog() {
this.isSecSettingShow = false;
}
reset() {
this.form2.reset();
}
setLoginId(loginId) {
this.loginId = loginId;
}
updateFormFields(v, f) {
if (f == '1') {
this.form1.updateFields({
relatedname: {
value: v
}
});
}
if (f == '2') {
this.form1.updateFields({
type__startdate__startdateto: {
value: [v]
}
});
}
if (f == '3') {
this.form1.updateFields({
typeid: {
value: [v]
}
});
}
}
save() {
let params = {
loginid: this.loginId,
...this.form2.getFormParams()
};
if (this.userid) {
params.userid = this.userid
params.id = this.userid
}
Api.secSettingSave(params).then((data) => {
if (data.status == '1') {
message.success('安全设置项保存成功!');
this.hideDialog();
} else {
message.success('安全设置项保存失败!');
}
});
}
}