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; } }