weaver_trunk_cli/pc4mobx/esearch/stores/robot.js

148 lines
3.9 KiB
JavaScript
Raw Normal View History

2024-05-15 16:50:21 +08:00
import {observable, action, toJS} from 'mobx';
import * as API from '../apis/robot';
import {Modal, message} from 'antd';
import { WeaTableNew, WeaForm } from 'comsMobx';
const {TableStore} = WeaTableNew;
import {WeaLocaleProvider} from 'ecCom';
const getLabel = WeaLocaleProvider.getLabel;
class WeesoRobotStore {
@observable form = new WeaForm();
@observable createForm = new WeaForm();
@observable tableStore = new TableStore();
@observable status = {
showSearchAd: false,
conditioninfo: [], //高级搜索
alertPage: false,
}
@observable dialogStatus = {
createOrEdit: 0, //0新建 1
editId: '', // 编辑id
canClick: true, //控制新建、编辑不能同一时刻多次点击
showDialog: false, //新建、编辑弹框
dialogLoading: false,
saveLoading: false, //保存
createFields: [],
}
@action
doInit = () => {
this.getList();
this.getCondition();
}
setState = (params = {}) => {
let status = {...this.status};
Object.keys(params).forEach(key => {
status[key] = params[key];
});
this.status = status;
}
setDialogState = (params = {}) => {
let dialogStatus = {...this.dialogStatus};
Object.keys(params).forEach(key => {
dialogStatus[key] = params[key];
});
this.dialogStatus = dialogStatus;
}
//指令列表
getList = (isOnChange = false) => {
let params = this.form && this.form.getFormParams() || {};
API.getList(params).then(result => {
if(result.ret == 'noright'){
this.status.alertPage = true;
}else {
this.status.alertPage = false;
isOnChange ? this.tableStore.getDatas(result.sessionkey, 1) :this.tableStore.getDatas(result.sessionkey)
}
})
}
//高级搜索条件
getCondition = () => {
API.getCondition().then(result => {
this.form = new WeaForm();
this.form.initFormFields(result.condition);
this.status = {...this.status, conditioninfo: result.condition}
})
}
//添加修改数据展示
getFields = (params) => {
this.dialogStatus.canClick = false;
API.getFields(params).then(result => {
if(result.ret == 'noright'){
this.dialogStatus.alertPage = true;
}else {
this.dialogStatus.alertPage = false;
this.createForm = new WeaForm();
this.createForm.initFormFields(result.fields);
window.e9ChangedFormFieldKey = 'bakkdakekoafkoew';
this.dialogStatus = {...this.dialogStatus, createFields: result.fields, showDialog: true, canClick: true}
}
})
}
// 添加
addRobot = (params) => {
this.dialogStatus.saveLoading = true;
API.addRobot(params).then(result => {
this.dialogStatus = {...this.dialogStatus, saveLoading: false, showDialog: false};
this.doCommonFunc(result);
})
}
// 修改
editRobot = (params) => {
this.dialogStatus.saveLoading = true;
API.editRobot(params).then(result => {
this.dialogStatus = {...this.dialogStatus, saveLoading: false, showDialog: false};
this.doCommonFunc(result);
})
}
// 删除
deleteRobot = (params) => {
API.deleteRobot(params).then(result => {
this.doCommonFunc(result);
})
}
// 启用/禁用
openRobot = (params) => {
API.openRobot(params).then(result => {
this.doCommonFunc(result);
})
}
// 创建索引
createRobotIndex = (params) => {
API.createRobotIndex(params).then(result => {
if(result.ret == 'true'){
message.success(getLabel(83885,'操作成功!'));
}else {
message.error(getLabel(83912,'操作失败!'));
}
})
}
doCommonFunc = (result) => {
if(result.ret == 'true'){
message.success(getLabel(83885,'操作成功!'));
this.getList();
}else {
message.error(result.msg ? result.msg : getLabel(83912,'操作失败!'));
}
}
}
const weesoRobotStore = new WeesoRobotStore();
export default weesoRobotStore;