weaver_trunk_cli/pc4mobx/prj/stores/task/taskInfoStore.js

144 lines
5.1 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 } from 'mobx';
import { WeaTableNew, WeaForm } from 'comsMobx'
import { WeaTools, WeaLocaleProvider } from 'ecCom';
const getLabel = WeaLocaleProvider.getLabel;
import * as Task_Apis from "../../apis/task"
import { getFormInitDatas, cptAddFormRules } from "../../util/index"
import { message, Modal } from "antd"
const confirm = Modal.confirm;
/**
* @author ljc 2017-12-19
* 任务的编辑,新增等
*/
export class TaskInfoStore {
@observable title = getLabel(15284, "编辑任务");
@observable rightMenu = [];
@observable taskid = "";
@observable taskForm = new WeaForm();
@observable visible = false;
@observable taskInfo = {};
@observable fieldinfo = [];
@observable type = "";
@observable baseParams = {}; //基本数据保存
@observable validateRules = {};
@observable selectedRowKeys = [];
@observable isTimeShow = '1';
@action
handleDialog = (bool, type, id, params = {}) => {
this.visible = bool;
if (bool) {
this.taskid = id;
this.type = type;
if (type == 'add') {
this.title = getLabel(1342, "添加任务");
} else if (type == 'view') {
this.title = getLabel(382572, "查看任务");
} else if (type == 'edit') {
this.title = getLabel(15284, "编辑任务");
}
this.baseParams = params;
this.getTaskInfo(type, id, params);
}
}
getTaskInfo = (type, id, params = {}) => {
this.taskForm = new WeaForm();
Task_Apis.getTaskForm({ viewtype: type, taskid: this.taskid, ...params }).then(data => {
this.isTimeShow = data.isTimeShow;
this.taskInfo = data;
this.rightMenu = data.rightMenus;
this.fieldinfo = data.fieldinfo;
this.taskForm && !this.taskForm.isFormInit && this.taskForm.initFormFields(this.fieldinfo);
this.taskForm.isFormInit && this.taskForm.updateFields(getFormInitDatas(this.fieldinfo), false);
})
}
setFormFields = (value) => {
this.taskForm.updateFields(value, false); //true代表完全覆盖方式更新条件值
}
//保存规则
setValidate = (params = {}) => {
this.validateRules = params;
}
@action
delTask = (type, taskid, callBack) => {
let _this = this;
Modal.confirm({
title: getLabel(15172, "系统提示"),
content: getLabel(83925, "该任务及其子任务都会被删除,您确认要删除吗?"),
onOk() {
Task_Apis.delTask({ method: type, taskid: taskid }).then(data => {
if (data.success) {
window._table.reLoad();
if(callBack){
callBack();
}
} else {
message.error(getLabel(383746, "请求失败") + "" + data.msgcode);
}
})
},
onCancel() { },
})
}
resetStage = (params,taskid) => {
const { isFormInit } = this.taskForm;
let conditions = this.fieldinfo ;
isFormInit && conditions.map(c => {
let items = [];
c.items.map((field, index) => {
if(field.domkey[0]=="stageid"){
field.viewAttr = params.viewAttr;
if(params.viewAttr == "1"){
Task_Apis.getTaskStage({taskid: taskid }).then(data => {
this.taskForm.updateFields({stageid : { value : data.stageid}}, false); //true代表完全覆盖方式更新条件值
});
}else{
this.taskForm.updateFields({stageid : { value : ""}}, false);
}
}
})
})
this.fieldinfo = conditions;
}
@action
delTaskBatch=(type,taskid)=>{
let _this = this;
if(this.selectedRowKeys.length > 0){
Modal.confirm({
title: getLabel(15172,"系统提示"),
content: getLabel(83925,"该任务及其子任务都会被删除,您确认要删除吗?"),
onOk() {
Task_Apis.delTask({method:type,taskids:`${_this.selectedRowKeys}`}).then(data=>{
if(data.success){
_this.selectedRowKeys = [];
window._table.reLoad();
Modal.success({
title: getLabel(15172,"系统提示"),
content: getLabel(83472,"删除成功!"),
});
}else{
message.error(getLabel(383746,"请求失败")+""+data.msgcode);
}
})
},
onCancel() { },
})
}
}
@action
onRowSelect = (rows) => {
this.selectedRowKeys = rows;
}
}