749 lines
27 KiB
JavaScript
749 lines
27 KiB
JavaScript
import { observable, action, autorun, toJS } from "mobx";
|
||
import { message, Modal } from "antd";
|
||
import _ from 'lodash';
|
||
import $ from "jquery";
|
||
import { CommonStore } from "./commonStore";
|
||
import TabsStore from "./util/tabs";
|
||
import { tabs } from "./data/board";
|
||
import { WeaTableNew, WeaForm } from 'comsMobx'
|
||
const { TableStore } = WeaTableNew;
|
||
import * as Apis from '../apis/projecboard';
|
||
import * as PrjApis from '../apis/project';
|
||
import { PrjCardStore } from "./projectBoard/prjCardStore";
|
||
import { TaskCardStore } from "./projectBoard/taskCardStore";
|
||
import {WeaLocaleProvider} from "ecCom"
|
||
const getLabel = WeaLocaleProvider.getLabel;
|
||
export class ProjectBoardStore {
|
||
|
||
@observable loading = false;
|
||
@observable title = '';
|
||
@observable prjList = [];
|
||
//项目类型树
|
||
@observable treeDatas = [];
|
||
@observable treeCount = {};
|
||
@observable treeCountType = [];
|
||
@observable selectedTreeKey = "";
|
||
|
||
|
||
@observable rightMenus = [];
|
||
@observable currentKey = "1";
|
||
@observable pagination = {
|
||
pageSize: 10,
|
||
current: 1,
|
||
total: 0
|
||
}
|
||
@observable prjListloading = true;
|
||
@observable searchType = "stageid";
|
||
@observable searchTypeOptions = [];
|
||
@observable canEditBoard = true;
|
||
@observable canEditBoardTask = true;
|
||
@observable canAddTask = true;
|
||
@observable showLandMark = true;
|
||
@observable isedit = true;
|
||
@observable commonStore = new CommonStore();
|
||
@observable tabsStore = new TabsStore();
|
||
@observable prjid = "";
|
||
@observable targetid = "";
|
||
@observable taskid = "";
|
||
@observable treeid = "";
|
||
@observable tableStore = new TableStore();
|
||
@observable columns = [];
|
||
@observable prjValue = "";
|
||
@observable prjCardStore = new PrjCardStore();
|
||
@observable prjTaskCardStore = new TaskCardStore();
|
||
@observable SlideModalVisible = false;
|
||
@observable refelsh = 0;
|
||
@observable userid = "";
|
||
@observable username = "";
|
||
@observable usericons = "";
|
||
discusstype = "PP";
|
||
//相关交流
|
||
@observable exchangeform = new WeaForm();
|
||
@observable exchangeRightMenu = [];
|
||
@observable exchangeContent = {} //相关交流内容
|
||
@observable showSearchAd = false // 高级搜索显示
|
||
@observable condition = []; //高级搜索
|
||
@observable showLeft = false;
|
||
@observable showMid = true;
|
||
|
||
@observable isNow = true; //任务是否是历史版本
|
||
|
||
columnGrids_map = [];
|
||
columnGrids = [];
|
||
boardGrid;
|
||
/**
|
||
* column拖拽信息start,拖拽结束后与结束时信息对边判断移动的位置
|
||
*/
|
||
column_move_info;
|
||
/**
|
||
* item拖动前所在的grid
|
||
*/
|
||
item_move_old_grid;
|
||
item_move_info;
|
||
item_move_start_index;
|
||
|
||
@observable windowHeight=window.innerHeight;
|
||
@observable windowWidth=window.innerWidth;
|
||
@observable timestamp = new Date().getTime()+'';
|
||
@observable percentStaus = new Date().getTime()+'';
|
||
@observable boardform = new WeaForm();
|
||
/**
|
||
* 初始化看板拖动元素document.querySelector('.prj_board_container')
|
||
*/
|
||
@action
|
||
initBoard = () => {
|
||
var borderContainer = document.querySelector('.prj_board_container');
|
||
var board = borderContainer.querySelector('.board');
|
||
var itemContainers = Array.prototype.slice.call(borderContainer.querySelectorAll('.board-column-content'));
|
||
itemContainers.forEach(container=>this.initItem(container));
|
||
const _this = this;
|
||
this.loading = true;
|
||
this.boardGrid = new Muuri(board, {
|
||
layout: function (items, gridWidth, gridHeight) {
|
||
// The layout data object. Muuri will read this data and position the items
|
||
// based on it.
|
||
var layout = {
|
||
// The layout item slots (left/top coordinates).
|
||
slots: [],
|
||
// The layout's total width.
|
||
width: 0,
|
||
// The layout's total height.
|
||
height: 450,
|
||
// Should Muuri set the grid's width after layout?
|
||
setWidth: true,
|
||
// Should Muuri set the grid's height after layout?
|
||
setHeight: false
|
||
};
|
||
// Calculate the slots.
|
||
var item;
|
||
var m;
|
||
var x = 0;
|
||
var y = 0;
|
||
var w = 0;
|
||
// var h = 0;
|
||
for (var i = 0; i < items.length; i++) {
|
||
item = items[i];
|
||
x += w;
|
||
//y += h;
|
||
// console.log(item.getMargin(),item.getWidth());
|
||
m = item.getMargin();
|
||
w = item.getWidth() + m.left;
|
||
// h = item.getHeight() + m.top + m.bottom;
|
||
layout.slots.push(x, y);
|
||
}
|
||
// Calculate the layout's total width and height.
|
||
// console.log(x + w);
|
||
layout.width = x + w;
|
||
// layout.height = h;
|
||
return layout;
|
||
},
|
||
layoutDuration: 400,
|
||
layoutOnResize:true,
|
||
layoutEasing: 'ease',
|
||
dragEnabled: true,
|
||
dragSortInterval: 0,
|
||
dragStartPredicate:function (item, event) {
|
||
|
||
|
||
if (!_this.canEditBoard || _this.boardGrid.getItems().indexOf(item) === _this.boardGrid.getItems().length-1) {
|
||
return false;
|
||
}
|
||
|
||
// For other items use the default drag start predicate.
|
||
return Muuri.ItemDrag.defaultStartPredicate(item, event,{
|
||
handle: '.board-column-header'
|
||
});
|
||
},
|
||
dragSortPredicate: function (item) {
|
||
// console.log(item);
|
||
var result = Muuri.ItemDrag.defaultSortPredicate(item, {
|
||
action: 'swap',
|
||
threshold: 50
|
||
});
|
||
// console.log(result,result.index === _this.boardGrid.getItems().length-1||result.index === _this.boardGrid.getItems().length-2);
|
||
return result && (_this.canEditBoard && result.index === _this.boardGrid.getItems().length-1) ? false : result;;
|
||
},
|
||
dragReleaseDuration: 400,
|
||
dragReleaseEasing: 'ease'
|
||
}).on('move', function (data) {
|
||
// console.log(data);
|
||
_this.column_move_info.push(data);
|
||
// console.log( _this.column_move_info);
|
||
}).on('dragMove', function (item, event) {
|
||
// console.log(item, event);
|
||
if(event){
|
||
let borderDiv=$('#prj_board_container');
|
||
if((event.center.x+item.getWidth()/2)>window.innerWidth){
|
||
borderDiv.scrollLeft(borderDiv.scrollLeft()+20);
|
||
}
|
||
if(event.center.x-item.getWidth()/2<0){
|
||
borderDiv.scrollLeft(borderDiv.scrollLeft()-20);
|
||
}
|
||
}
|
||
}).on('dragStart', function (item) {
|
||
_this.column_move_info=[];
|
||
}).on('dragReleaseEnd', function (item) {
|
||
// console.log(_this.column_move_info.length,item);
|
||
if(_this.column_move_info.length!=0){
|
||
let startD=_this.column_move_info[0];
|
||
let endD=_this.column_move_info[_this.column_move_info.length-1];
|
||
if(startD.fromIndex!=endD.toIndex){
|
||
let leftgroupid=endD.toIndex==0?"":_this.boardGrid.getItems()[endD.toIndex-1]._element.getAttribute('id').replace('column_','')
|
||
Apis.saveGroupOrder({ prjid:_this.prjid,stageid:item._element.getAttribute('id').replace('column_',''),leftstageid:leftgroupid}).then(({ success }) => {
|
||
if (success) {
|
||
message.success(getLabel(389171, "排序保存成功!"));
|
||
} else {
|
||
message.error(getLabel('503631','排序保存失败!') );
|
||
}
|
||
});
|
||
}
|
||
}
|
||
})
|
||
this.loading = false;
|
||
}
|
||
|
||
/**
|
||
* 初始化item元素
|
||
*/
|
||
initItem=(container,isSearch=false)=>{
|
||
const Muuri = window['Muuri'];
|
||
const _this = this;
|
||
var muuri = new Muuri(container, {
|
||
items: '.board-item',
|
||
layoutDuration: 400,
|
||
layoutEasing: 'ease',
|
||
dragEnabled: true,
|
||
dragSortInterval: 0,
|
||
dragSort: function () {
|
||
return _this.columnGrids;
|
||
},
|
||
dragStartPredicate:function (item, event) {
|
||
|
||
|
||
// console.log('dragStartPredicate',event);
|
||
if(event.target.parentNode&&event.target.parentNode.className){
|
||
if(event.target.parentNode.className=='item-icon'||event.target.parentNode.className=='landmark'||event.target.parentNode.className=='detail'||event.target.className=='title'){
|
||
return;
|
||
}
|
||
}
|
||
|
||
if(event&&event.target&&(event.target.className=='manager-img'||event.target.className=='icon-coms-Flag')){
|
||
return;
|
||
}
|
||
|
||
if (!_this.canEditBoardTask) {
|
||
return false;
|
||
}
|
||
|
||
return Muuri.ItemDrag.defaultStartPredicate(item, event,{
|
||
handle: '.board-item'
|
||
});
|
||
},
|
||
dragContainer: document.querySelector('.prj_board_container'),
|
||
dragReleaseDuration: 400,
|
||
dragReleaseEasing: 'ease'
|
||
})
|
||
.on('move', function (data) {
|
||
_this.item_move_info.push(data);
|
||
}).on('receive', function (data) {
|
||
_this.changeStatus();
|
||
})
|
||
.on('dragStart', function (item,event) {
|
||
// console.log("dragStart",item,event);
|
||
// console.log(item.getElement().style.transform);
|
||
// item.getElement().style.transform = "rotate(5deg)";
|
||
item.getElement().style.width = item.getWidth() + 'px';
|
||
item.getElement().style.height = item.getHeight() + 'px';
|
||
_this.item_move_old_grid=item.getGrid();
|
||
_this.item_move_info=[];
|
||
_this.item_move_start_index=item.getGrid().getItems().indexOf(item);
|
||
})
|
||
.on('dragReleaseEnd', function (item) {
|
||
// console.log("dragReleaseEnd",item,item.getGrid()._element);
|
||
item.getElement().style.width = '';
|
||
item.getElement().style.height = '';
|
||
_this.columnGrids.forEach(function (grid) {
|
||
grid.refreshItems();
|
||
});
|
||
if(item.getGrid()!=_this.item_move_old_grid){//移出到另一个column中
|
||
let currentId=item._element.getAttribute('id');
|
||
let i=item.getGrid().getItems().indexOf(item);
|
||
let previousId=item.getGrid().getItems()[i-1]?item.getGrid().getItems()[i-1]._element.getAttribute('id'):'';
|
||
let nextId=item.getGrid().getItems()[i+1]?item.getGrid().getItems()[i+1]._element.getAttribute('id'):'';
|
||
_this.saveItemOrder(true,currentId,item.getGrid()._element.getAttribute('id'),previousId,nextId);
|
||
// console.log(true,currentId,item.getGrid()._element.getAttribute('id'),previousId,nextId);
|
||
|
||
}else if(_this.item_move_info.length!=0){//自己column中移动
|
||
let startD=_this.item_move_info[0];
|
||
let endD=_this.item_move_info[_this.item_move_info.length-1];
|
||
if(startD.fromIndex!=endD.toIndex&&_this.item_move_start_index!=endD.toIndex){
|
||
let currentId=item._element.getAttribute('id');
|
||
let i=item.getGrid().getItems().indexOf(item);
|
||
let previousId=item.getGrid().getItems()[i-1]?item.getGrid().getItems()[i-1]._element.getAttribute('id'):'';
|
||
let nextId=item.getGrid().getItems()[i+1]?item.getGrid().getItems()[i+1]._element.getAttribute('id'):'';
|
||
_this.saveItemOrder(false,currentId,item.getGrid()._element.getAttribute('id'),previousId,nextId);
|
||
// console.log(false,currentId,item.getGrid()._element.getAttribute('id'),previousId,nextId);
|
||
}
|
||
}
|
||
|
||
})
|
||
.on('layoutStart', function () {
|
||
_this.boardGrid.refreshItems().layout();
|
||
})
|
||
.on('dragMove', function (item, event) {
|
||
// item.getElement().style.transform = item.getElement().style.transform+" rotate(-5deg)";
|
||
if(event){
|
||
//上下拖动
|
||
let pElement=$(item.getGrid()._element.parentNode);
|
||
if(event.center.y+item.getHeight()/2>item.getGrid()._top+pElement.scrollTop()+$(pElement).height()){
|
||
pElement.scrollTop(pElement.scrollTop()+20);
|
||
}
|
||
if(event.center.y-item.getHeight()/2<item.getGrid()._top+pElement.scrollTop()){
|
||
pElement.scrollTop(pElement.scrollTop()-20);
|
||
}
|
||
//左右拖动
|
||
let borderDiv=$('#prj_board_container');
|
||
if((event.center.x+item.getWidth()/2)>window.innerWidth){
|
||
borderDiv.scrollLeft(borderDiv.scrollLeft()+20);
|
||
}
|
||
if(event.center.x-item.getWidth()/2<0){
|
||
borderDiv.scrollLeft(borderDiv.scrollLeft()-20);
|
||
}
|
||
}
|
||
});
|
||
_this.columnGrids.push(muuri);
|
||
_this.columnGrids_map[container.getAttribute('id')]=muuri;
|
||
}
|
||
|
||
/**
|
||
* 计数状态修改
|
||
*/
|
||
@action
|
||
changeStatus=(data)=>{
|
||
this.percentStaus = new Date().getTime()+'';
|
||
}
|
||
|
||
/**
|
||
* 保存任务元素排序,优先排在上一个的下边,或排在下一个的上边,或排在第一个
|
||
*/
|
||
saveItemOrder=(isChangeGroup,itemid,groupid,previousId,nextId)=>{
|
||
itemid=itemid.replace('item_','');
|
||
previousId=previousId.replace('item_','');
|
||
nextId=nextId.replace('item_','');
|
||
groupid=groupid.replace('column_content_','');
|
||
const _this = this;
|
||
// this.loading = true;
|
||
Apis.saveItemOrder({isChangeGroup:isChangeGroup,taskId:itemid,groupId:groupid,previousId:previousId,nextId:nextId,viewType:_this.searchType,prjid:_this.prjid}).then(({success})=>{
|
||
if(success){
|
||
message.success(getLabel(389171, "排序保存成功!"));
|
||
_this.changeStatus();
|
||
}else{
|
||
message.error("保存失败");
|
||
}
|
||
// _this.loading = false;
|
||
});
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
constructor() {
|
||
this.columns = [
|
||
];
|
||
this.tabsStore.tabs = tabs;
|
||
this.tabsStore.activeKey = localStorage.getItem("prj_board_activeKey") || '1';
|
||
this.prjCardStore.selectTabKey = localStorage.getItem("prj_board_activeKey") || '1';
|
||
this.tabsStore.onChange = action((key) => {
|
||
this.tabsStore.activeKey = key;
|
||
this.prjCardStore.selectTabKey = key;
|
||
this.initRightPage();
|
||
});
|
||
autorun(() => {
|
||
if (this.prjid) {
|
||
localStorage.setItem("prj_board_selectedKey", this.prjid);
|
||
}
|
||
if (this.tabsStore.activeKey) {
|
||
localStorage.setItem("prj_board_activeKey", this.tabsStore.activeKey);
|
||
}
|
||
});
|
||
}
|
||
|
||
@action
|
||
onCollapse = (side,bool) =>{
|
||
if(side == "left"){
|
||
this.showLeft = bool;
|
||
}else{
|
||
this.showMid = bool;
|
||
}
|
||
}
|
||
|
||
//高级搜索显隐
|
||
setShowSearchAd=(bool)=>{
|
||
this.showSearchAd = bool
|
||
}
|
||
|
||
@action
|
||
onChangePaginNation = (current = this.pagination.current, pageSize = this.pagination.pageSize) => {
|
||
this.pagination.current = current;
|
||
this.pagination.pageSize = pageSize;
|
||
this.getCurrentPageDatas();
|
||
}
|
||
|
||
@action
|
||
onChangePaginNation1 = (current = this.pagination.current, pageSize = this.pagination.pageSize,params) => {
|
||
this.pagination.current = current;
|
||
this.pagination.pageSize = pageSize;
|
||
this.getProjectList1({...params,pageIndex : current, pageSize : pageSize});
|
||
}
|
||
|
||
@action
|
||
initList = () => {
|
||
this.getTreeList();
|
||
this.pagination.current = 1;
|
||
// this.getCurrentPageDatas();
|
||
}
|
||
|
||
@action
|
||
setPrjTypeId = (params) => {
|
||
localStorage.setItem("prj_treeid", params.prjtype);
|
||
this.pagination.current = 1;
|
||
this.getCurrentPageDatas();
|
||
}
|
||
|
||
@action
|
||
saveTaskInfo = (params) => {
|
||
if(this.prjCardStore.saveTaskInfo(this)){
|
||
this.searchKanBanView(false);
|
||
}
|
||
}
|
||
|
||
@action
|
||
getTreeList = (params) => {
|
||
Apis.getPrjTypeTreePageList({ treetype: 'prjsearch', ...params }).then(data => {
|
||
this.treeDatas = data.treedata;
|
||
this.treeCount = data.treecount;
|
||
this.treeCountType = data.treecountcfg;
|
||
this.setSelectedTreeKey("prjtype_" + data.selectedKeys);
|
||
localStorage.setItem("prj_treeid", data.selectedKeys);
|
||
this.getProjectList();
|
||
})
|
||
}
|
||
|
||
@action
|
||
setLandMark=(id,value)=>{
|
||
Apis.setLandMark({ taskid : id, value : value }).then(data => {
|
||
if(data.success){
|
||
this.searchKanBanView(false);
|
||
}else{
|
||
message.success("设置失败,请联系系统管理员!");
|
||
}
|
||
})
|
||
}
|
||
|
||
@action
|
||
saveTask = (params) => {
|
||
Apis.addBoardTask({ ...params, prjid: this.prjid }).then(data => {
|
||
this.searchKanBanView(false);
|
||
});
|
||
}
|
||
|
||
@action
|
||
delGrop = (id) => {
|
||
const _this = this;
|
||
Modal.confirm({
|
||
title:getLabel(15172,"系统提示"),
|
||
content:getLabel('503589','该阶段下的任务以及子任务都会被删除,您确定要删除吗?') ,
|
||
onOk() {
|
||
Apis.delBoardStage({stageid:id}).then(data => {
|
||
_this.searchKanBanView(true);
|
||
});
|
||
},
|
||
onCancel() { },
|
||
okText : getLabel('33703','确认') ,
|
||
cancelText : getLabel('31129','取消')
|
||
});
|
||
}
|
||
|
||
@action
|
||
saveGroup = (name) => {
|
||
Apis.addBoardStage({title:name, prjid: this.prjid }).then(data => {
|
||
this.searchKanBanView(false);
|
||
});
|
||
}
|
||
|
||
@action
|
||
saveGroupName = (name,id) =>{
|
||
Apis.editBoardStage({title:name, stageid:id}).then(data => {
|
||
this.searchKanBanView(false);
|
||
});
|
||
}
|
||
|
||
@action
|
||
getProjectList = (params={pageIndex : this.pagination.current, pageSize : this.pagination.pageSize}) => {
|
||
this.treeid = localStorage.getItem("prj_treeid");
|
||
this.prjListloading = true;
|
||
let list = [];
|
||
if(this.treeid == "" || this.treeid == null){
|
||
this.treeid = -1
|
||
}
|
||
Apis.getPrjByTypeId({ ...params, prjtype: this.treeid }).then(data => {
|
||
list = data.datas;
|
||
list = list.map((item) => {
|
||
let { name, person, label, id, state, color } = item;
|
||
return { name, person, label, id, state, color, key: id, };
|
||
});
|
||
this.prjList = list;
|
||
this.pagination.total = data.totalSize;
|
||
this.setPrjid();
|
||
this.prjListloading = false;
|
||
});
|
||
}
|
||
|
||
@action
|
||
getProjectList1 = (params={pageIndex : this.pagination.current, pageSize : this.pagination.pageSize}) => {
|
||
this.prjListloading = true;
|
||
let list = [];
|
||
Apis.getPrjByTypeId({ ...params }).then(data => {
|
||
list = data.datas;
|
||
list = list.map((item) => {
|
||
let { name, person, label, id, state, color } = item;
|
||
return { name, person, label, id, state, color, key: id, };
|
||
});
|
||
this.prjList = list;
|
||
this.pagination.total = data.totalSize;
|
||
this.prjid = data.selectedKey?data.selectedKey:"-1";
|
||
this.currentKey = this.prjid;
|
||
// this.pagination.current = 1;
|
||
this.prjListloading = false;
|
||
});
|
||
}
|
||
|
||
@action
|
||
setPrjid = (prjid = localStorage.getItem("prj_board_selectedKey") || this.prjid) => {
|
||
let filter = this.prjList.slice().filter(d => d.key == prjid);
|
||
if (prjid && filter.length > 0) {
|
||
this.prjid = prjid;
|
||
} else {
|
||
this.prjid = _.get(this.prjList.slice(), '[0].key');
|
||
filter = this.prjList.slice(0, 1);
|
||
}
|
||
this.prjCardStore.setPrjId(this.prjid);
|
||
this.title = `${_.get(filter, '[0].name') || ""} `;
|
||
this.currentKey = this.prjid;
|
||
//清空看板查询条件
|
||
this.boardform.resetConditionValue();
|
||
this.getPrjTabs();
|
||
}
|
||
|
||
@action
|
||
getKanbanView = () => {
|
||
const searchParams = this.boardform.getFormParams();
|
||
Apis.getKanbanView({prjid:this.prjid,...searchParams,searchType:this.searchType}).then(data=>{
|
||
this.columns = data.stages;
|
||
this.userid = data.userid;
|
||
this.usericons = data.useridicon;
|
||
this.username = data.useridname;
|
||
this.isedit = data.isedit;
|
||
this.canAddTask = data.cantask;
|
||
this.canEditBoard = data.canboard;
|
||
this.canEditBoardTask = data.canboardtask;
|
||
this.condition = data.condition;
|
||
this.boardform && !this.boardform.isFormInit && this.boardform.initFormFields(data.condition);
|
||
this.searchTypeOptions = data.searchTypeOptions;
|
||
this.showLandMark = data.showLandMark;
|
||
this.initBoard();
|
||
this.changeStatus();
|
||
});
|
||
}
|
||
|
||
searchKanBanView = ( needRefelshView = false) => {
|
||
if(needRefelshView){
|
||
this.columns = [];
|
||
}
|
||
this.refelsh++;
|
||
if(needRefelshView){
|
||
this.timestamp=new Date().getTime()+'';
|
||
this.initBoard();
|
||
}
|
||
}
|
||
|
||
@action
|
||
getPrjTabs=(params={})=>{
|
||
this.loading = true;
|
||
Apis.getPrjTabs({prjid:this.prjid}).then(data=>{
|
||
if(!data.isright && typeof(data.isright) !== "undefined"){
|
||
this.tabsStore.hasRight = data.isright;
|
||
this.tabsStore.verified = true;
|
||
}else{
|
||
this.tabsStore.hasRight = true;
|
||
this.tabsStore.verified = true;
|
||
this.tabsStore.tabDatas = data.tabs ;
|
||
this.initRightPage();
|
||
this.loading = false;
|
||
}
|
||
})
|
||
|
||
}
|
||
|
||
//初始化tab,切换tab
|
||
initRightPage = () => {
|
||
if (!this.prjid) {
|
||
return;
|
||
}
|
||
const tabDatas1 = toJS(this.tabsStore.tabDatas);
|
||
if (tabDatas1) {
|
||
this.prjCardStore.clearStatus();
|
||
for (let i = 0; i < tabDatas1.length; i++) {
|
||
if(this.tabsStore.activeKey == tabDatas1[i].key){
|
||
switch (tabDatas1[i].shortname) {
|
||
case 'taskboard':
|
||
this.boardform.resetConditionValue(); //清除查询条件值
|
||
break;
|
||
case 'prjinfo':
|
||
this.prjCardStore.getPrjInfo({viewtype:'view',prjid:this.prjid});
|
||
this.rightMenus = this.prjCardStore.rightMenu;
|
||
if (!window.weaWorkplan) {
|
||
// 异步加载别模块的静态资源
|
||
eventRegister.loadModule('f_workplan', () => {
|
||
this.prjCardStore.setLoaded(true)
|
||
}, () => {
|
||
// 加载文件失败 的业务处理, 网络超时,没文件之类
|
||
})
|
||
} else {
|
||
this.prjCardStore.setLoaded(true)
|
||
}
|
||
break;
|
||
case 'childprj':
|
||
this.prjCardStore.getPrjSubCondition();
|
||
this.prjCardStore.getPrjSubList({prjid:this.prjid});
|
||
break;
|
||
case 'tasklist':
|
||
this.prjCardStore.getPrjTaskCondition({prjid:this.prjid});
|
||
this.prjCardStore.getPrjTaskList({prjid:this.prjid});
|
||
this.prjCardStore.getPrjTaskVersion({prjid:this.prjid});
|
||
break;
|
||
case 'prjdiscuss':
|
||
this.targetid = this.prjid;
|
||
this.prjCardStore.getExchangeList({});
|
||
break;
|
||
case 'prjshare':
|
||
this.prjCardStore.getPrjShareList({prjid:this.prjid});
|
||
break;
|
||
case 'stareport':
|
||
this.prjCardStore.getPrjStastics({prjid:this.prjid});
|
||
this.rightMenu = [];
|
||
break;
|
||
case 'stageset':
|
||
this.prjCardStore.clearStageStatus();
|
||
this.prjCardStore.getPrjTempletStageList({prjid:this.prjid});
|
||
this.rightMenu = [];
|
||
break;
|
||
case 'resources':
|
||
this.prjCardStore.getPrjResourceInfo({prjid:this.prjid});
|
||
this.rightMenu = [];
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
//相关交流
|
||
getRelateExchangeInfo = (params={})=>{
|
||
this.loading = true;
|
||
const searchParamsAd = this.exchangeform.getFormParams();
|
||
const newParams = { types:"PP",sortid:this.prjid, ...searchParamsAd, ...params };
|
||
for(let item in newParams){
|
||
if(newParams[item] == ""){
|
||
delete newParams[item]
|
||
}
|
||
};
|
||
PrjApis.getPrjDiscuss(newParams).then(data=>{
|
||
this.exchangeRightMenu = data.rightMenus;
|
||
this.exchangeContent = data;
|
||
this.loading = false;
|
||
})
|
||
}
|
||
|
||
@action
|
||
getCurrentPageDatas = (current = this.pagination.current, pageSize = this.pagination.pageSize) => {
|
||
this.getProjectList({
|
||
pageIndex: current,
|
||
pageSize: pageSize,
|
||
prjname: this.prjValue
|
||
});
|
||
}
|
||
|
||
@action
|
||
changeSelectedKey = (key) => {
|
||
this.setPrjid(key);
|
||
this.showSlideModal(false)
|
||
}
|
||
|
||
@action
|
||
onSearchChange = (value) =>{
|
||
this.prjValue = value;
|
||
}
|
||
|
||
@action
|
||
onSearchListItem = (value) => {
|
||
this.prjValue = value;
|
||
this.pagination.current = 1;
|
||
this.getCurrentPageDatas();
|
||
}
|
||
|
||
@action
|
||
getRightMenuForTop = () => {
|
||
|
||
}
|
||
|
||
@action
|
||
showSlideModal = (bool, v) => {
|
||
this.SlideModalVisible = bool;
|
||
this.taskid = typeof (v) == "object" ? v.id : v;
|
||
}
|
||
|
||
setSelectedTreeKey = (key) => {
|
||
if( this.selectedTreeKey !== key){
|
||
this.selectedTreeKey = key;
|
||
}
|
||
this.prjValue = "";
|
||
}
|
||
|
||
@action
|
||
clearStatus = () =>{
|
||
this.columns = [];
|
||
}
|
||
|
||
//form 重置
|
||
clearFormFields=()=>{
|
||
if(this.tabsStore.activeKey == "3"){
|
||
this.exchangeform.reset(); //清除查询条件值
|
||
}
|
||
if(this.tabsStore.activeKey == "0"){
|
||
this.boardform.reset(); //清除查询条件值
|
||
}
|
||
}
|
||
|
||
//高级搜索设值
|
||
setFormFields=(value)=>{
|
||
if(this.tabsStore.activeKey == "3"){ //相关交流
|
||
this.exchangeform.updateFields(value, false); //true代表完全覆盖方式更新条件值
|
||
}
|
||
}
|
||
|
||
changeSearchType = (searchType) => {
|
||
this.searchType = searchType;
|
||
this.searchKanBanView(false);
|
||
}
|
||
|
||
setIsNow=(v)=>{
|
||
this.isNow = v;
|
||
}
|
||
|
||
|
||
}
|
||
|
||
export default new ProjectBoardStore |