148 lines
3.9 KiB
JavaScript
148 lines
3.9 KiB
JavaScript
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;
|
||
|