import { observable, action } from 'mobx'; import {WeaTableNew,WeaForm} from 'comsMobx' const {TableStore} = WeaTableNew; import { WeaTools,WeaLocaleProvider } from 'ecCom'; const getLabel = WeaLocaleProvider.getLabel; import * as Prj_Apis from '../apis/project' import * as Task_Apis from "../apis/task" /** * @author ljc 2017-12-19 * 项目分享通用store模板,实例:任务执行,项目执行等共享设置modal/ */ export class ExchangeStore{ @observable title = getLabel(15153,"相关交流"); @observable rightMenu = []; @observable targetid = ""; @observable type = ""; @observable discusstype = ""; @observable visible = false; @observable showSearchAd = false; @observable exchangeContent = []; @observable condition = []; @observable exchangeList = ""; @observable _BrowserList = { 'create': {remark: ''}, datas: [], }; @action handleExchangeDialog = (bool,type,id ,params={}) =>{ this.visible = bool; if(bool){ this.targetid = id; this.type = type; if(type == "prj"){ this.discusstype = "PP"; this.title = getLabel(83810,"项目相关交流"); }else if(type == "task"){ this.discusstype = "PT"; this.title = getLabel(83800,"任务相关交流"); } this.getExchangeList({}); } } //删除 exchangeDelete = (value) => { let _this = this; Prj_Apis.exchangeDelete(value).then(data => { if(data.status){ _this.getExchangeList() }else { message.error(data.error ? data.error : `${getLabel(384137,'操作失败!')}`); } }) } //获取相关交流信息 @action getExchangeList = (value) => { let _this = this; const newParams = { types: this.discusstype, sortid: this.targetid, ...value }; Prj_Apis.getExchangeList(newParams).then(data => { let exchange = { ...data } exchange.datas.forEach((element, index) => { element.isEdit = false }) exchange.datas.unshift({ id: 'create', isEdit: true, remark: '', docids: [], projectids: [], relatedcus: [], relateddoc: [], relatedprj: [], relatedwf: [], }) _this.exchangeList = exchange; _this._BrowserList = { 'create': {remark: ''}, datas: [], }; _this.exchangeList.datas&&_this.exchangeList.datas.forEach((element, index) => { if (_this._BrowserList[element['id']] == undefined) { _this._BrowserList[element['id']] = {}; } _this._BrowserList[element['id']].remark = element.remark; _this._BrowserList[element['id']].docids = element.docids; _this._BrowserList[element['id']].projectids = element.projectids; _this._BrowserList[element['id']].relatedcus = element.relatedcus; _this._BrowserList[element['id']].relateddoc = element.relateddoc; _this._BrowserList[element['id']].relatedprj = element.relatedprj; _this._BrowserList[element['id']].relatedwf = element.relatedwf; }) _this._BrowserList.datas = _this.exchangeList.datas; }) } //相关交流datas循环 changeDiscussList = (value = {}) => { this.exchangeList = value; this.exchangeList.datas&&this.exchangeList.datas.forEach((element, index) => { if (this._BrowserList[element['id']] == undefined) { this._BrowserList[element['id']] = {}; } this._BrowserList[element['id']].remark = element.remark; this._BrowserList[element['id']].docids = element.docids; this._BrowserList[element['id']].projectids = element.projectids; this._BrowserList[element['id']].relatedcus = element.relatedcus; this._BrowserList[element['id']].relateddoc = element.relateddoc; this._BrowserList[element['id']].relatedprj = element.relatedprj; this._BrowserList[element['id']].relatedwf = element.relatedwf; }) this._BrowserList.datas = this.exchangeList.datas; } //相关交流提交 exchangeSave = (value) => { let _this = this; Prj_Apis.exchangeSave({...value,discusstype:this.discusstype}).then(data => { if(data.status){ _this.getExchangeList({}); }else { message.error(data.error ? data.error : `${getLabel(384137,'操作失败!')}`); } }) } //相关交流提交 setBrowserList = (_BrowserList) => { this._BrowserList = _BrowserList; } }