137 lines
4.2 KiB
JavaScript
137 lines
4.2 KiB
JavaScript
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;
|
||
}
|
||
|
||
} |