weaver_trunk_cli/pc4mobx/esearch/stores/robot.js

148 lines
3.9 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;