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