143 lines
4.9 KiB
JavaScript
143 lines
4.9 KiB
JavaScript
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 = [];
|
||
|
||
@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);
|
||
if(params.callBack){
|
||
params.callBack();
|
||
}
|
||
}
|
||
}
|
||
|
||
getTaskInfo=(type,id,params={})=>{
|
||
this.taskForm = new WeaForm();
|
||
Task_Apis.getTaskForm({viewtype:type,taskid:this.taskid,...params}).then(data=>{
|
||
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,params)=>{
|
||
let _this = this;
|
||
Modal.confirm({
|
||
title: getLabel(15172,"系统提示"),
|
||
content: getLabel(83925,"该任务及其子任务都会被删除,您确认要删除吗?"),
|
||
onOk() {
|
||
Task_Apis.delTask({method:type,taskid:taskid}).then(data=>{
|
||
if(data.success){
|
||
if(params.callBack){
|
||
params.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;
|
||
}
|
||
} |