weaver_trunk_cli/pc4mobx/prj/components/projectBoard/ProjectBoardBase.js

589 lines
38 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import React from 'react';
import { inject, observer } from 'mobx-react';
import { WeaTop, WeaRightMenu, WeaSlideModal, WeaNewScroll, WeaTab, WeaAlertPage, WeaLocaleProvider, WeaTools,WeaDialog } from 'ecCom';
import { toJS } from "mobx"
import TabDiscuss from '../common/TabDiscuss'
import TaskList from './TaskList';
import TaskCard from './TaskCard';
import ProjectInfo from '../common/projectInfo'
import ProjectSub from '../common/projectSub'
import AddProject from '../dialog/addProjectDialog'
import ProjectShare from '../common/sharePage'
import StageList from '../common/stageList';
import ProjectStastics from '../common/ProjectStastics'
import ResourcePage from '../common/resourcePage';
import App from '../App';
import BoardApp from "./BoardApp";
import { Spin, Button, Modal } from 'antd';
import SaveTemplateDialog from "../dialog/SaveTemplateDialog";
import ProjectLogDialog from "../dialog/modifyLogDialog"
import ProjectFieldLogDialog from '../dialog/projectFieldLogDialog';
import ProjectFieldDetailLogDialog from '../dialog/ProjectFieldDetailLogDialog';
import taskBatchEditDialogStore from '../../stores/taskBatchEditDialogStore';
import TaskImport from '../import/TaskImport'
const getLabel = WeaLocaleProvider.getLabel;
@inject('prjImportStore')
@observer
export default class ProjectBoardBase extends React.Component {
constructor(props) {
super(props);
this.state = {
workPlanVisible: false,
importVisible:false
}
}
render() {
let _this = this;
const { projectBoardStore } = this.props;
const { prjTaskCardStore,tabsStore,prjCardStore,prjid} = projectBoardStore;
const account = WeaTools.ls.getJSONObj('theme-account');
let dialogHeight = window.innerHeight - 150;
if (dialogHeight > 600) dialogHeight = 600;
if (tabsStore.verified) {
let viewObj = function (key) {
const tabDatas1 = toJS(tabsStore.tabDatas);
if (tabDatas1) {
for (let i = 0; i < tabDatas1.length; i++) {
if (tabDatas1[i].shortname == "taskboard" && tabDatas1[i].key == key) { //任务看板
// return <App key={projectBoardStore.refelsh} boardStore={projectBoardStore} />
return <BoardApp ecId={`${this && this.props && this.props.ecId || ''}_BoardApp@45nkdb`} key={projectBoardStore.refelsh+''+projectBoardStore.prjid} boardStore={projectBoardStore}></BoardApp>
} else if (tabDatas1[i].shortname == "prjinfo" && tabDatas1[i].key == key) {//项目卡片
return <div>
<ProjectInfo ecId={`${this && this.props && this.props.ecId || ''}_ProjectInfo@r4wvt9`} formStore={prjCardStore} />
<ProjectLogDialog ecId={`${this && this.props && this.props.ecId || ''}_ProjectLogDialog@7zpcmh`} ref="projectLogDialog" title={getLabel('33782','项目日志') } tableStore={prjCardStore.prjLogTableStore} store={prjCardStore} />
<ProjectFieldLogDialog ecId={`${this && this.props && this.props.ecId || ''}_ProjectFieldLogDialog@rjfhnw`} title={getLabel('82274','字段日志') } tableStore={prjCardStore.prjFieldLogTableStore} store={prjCardStore} />
<ProjectFieldDetailLogDialog ecId={`${this && this.props && this.props.ecId || ''}_ProjectFieldDetailLogDialog@pcevom`} title={getLabel('82274','字段日志')+"-"+prjCardStore.fieldname } tableStore={prjCardStore.prjFieldDetailLogTableStore} store={prjCardStore} />
<SaveTemplateDialog ecId={`${this && this.props && this.props.ecId || ''}_SaveTemplateDialog@a9ac2g`} prjCardStore={prjCardStore}/>
{
prjCardStore.isreload && window.weaWorkplan && window.weaWorkplan.com && window.weaWorkplan.com.WorkPlanCreate &&
(<window.weaWorkplan.com.WorkPlanCreate ecId={`${this && this.props && this.props.ecId || ''}_WorkPlanCreate@ycjdlt`}
type={"create"}//新建为'create',查看为'preview',编辑edit,共享share
visible={_this.state.workPlanVisible}//显隐受控
doClose={() => { _this.setWorkPlanVisible(false); }}//关闭回调
onlyClose={() => { _this.setWorkPlanVisible(false) }}//关闭回调,只做关闭操作
workPlanId={""} //日程id1查看日程时用到
createConditionParams={[]}//创建的默认值日期和时间,没有传[]
activeKey={""} //查看页面显示的面板1是基本信息7是相关交流
//changeTab={(key) => { }}//查看页面切换面板的回调
selectUser={account && account.userid}//新建日程的创建人id
workPlanTypeOptions={"2"}//客户模块的新建日程,普通新建传'',客户新建传3
crmIDs={[]}//通过客户模块新建日程,并自动带出相关客户,[{'id':'','name':''}]
projectid={prjid}
description={""}//客户模块需求,支持新建时传入的'基本信息-内容'
/>)
}
</div>
} else if (tabDatas1[i].shortname == "tasklist" && tabDatas1[i].key == key) {//任务列表
return <div style={{height:"100%"}}>
<TaskList ecId={`${this && this.props && this.props.ecId || ''}_TaskList@8oulej`} contentStore={prjCardStore} boardStore={projectBoardStore} taskBatchEditDialogStore={taskBatchEditDialogStore}/>
<WeaDialog ecId={`${this && this.props && this.props.ecId || ''}_WeaDialog@yxh592`}
title={getLabel(383858,"任务导入")}
visible={_this.state.importVisible}
icon='icon-coms-project'
iconBgcolor='#217346'
onCancel={() => { _this.doClose() }}
style={{ width: 870, height: dialogHeight }}
buttons={_this.getDialogTopButtons()}
>
<WeaRightMenu ecId={`${this && this.props && this.props.ecId || ''}_WeaRightMenu@fhr2jm`} datas={_this.getDialogRightMenu()}>
<WeaNewScroll ecId={`${this && this.props && this.props.ecId || ''}_WeaNewScroll@0aa856`} height={dialogHeight} ref="scrollBar">
<TaskImport ecId={`${this && this.props && this.props.ecId || ''}_TaskImport@rf5q4c`} key={new Date().getTime()} />
</WeaNewScroll>
</WeaRightMenu>
</WeaDialog >
</div>
} else if (tabDatas1[i].shortname == "childprj" && tabDatas1[i].key == key) {//子项目
return [<ProjectSub ecId={`${this && this.props && this.props.ecId || ''}_ProjectSub@xy05wc`} contentStore={prjCardStore} />, <AddProject ecId={`${this && this.props && this.props.ecId || ''}_AddProject@fl6gmz`} contentStore={prjCardStore} isreflesh={true} />]
} else if (tabDatas1[i].shortname == "prjdiscuss" && tabDatas1[i].key == key) {//相关交流
return <TabDiscuss ecId={`${this && this.props && this.props.ecId || ''}_TabDiscuss@68u89r`} contentStore={prjCardStore} sortid={prjid}/>
} else if (tabDatas1[i].shortname == "prjshare" && tabDatas1[i].key == key) {//共享设置
return <ProjectShare ecId={`${this && this.props && this.props.ecId || ''}_ProjectShare@dl003a`} contentStore={prjCardStore} shareCondition={prjCardStore.shareStore.shareCondition} title={getLabel(83816, "添加项目共享")} />
} else if (tabDatas1[i].shortname == "stareport" && tabDatas1[i].key == key) {//统计报告
return <ProjectStastics ecId={`${this && this.props && this.props.ecId || ''}_ProjectStastics@5rozci`} contentStore={prjCardStore} statkey={prjCardStore.statkey} />
} else if (tabDatas1[i].shortname == "stageset" && tabDatas1[i].key == key) { //阶段
return <StageList ecId={`${this && this.props && this.props.ecId || ''}_StageList@ucz5mq`} ref="StageList" contentStore={prjCardStore} />
} else if (tabDatas1[i].shortname == "resources" && tabDatas1[i].key == key) { //相关资源
return <ResourcePage ecId={`${this && this.props && this.props.ecId || ''}_ResourcePage@rtjzim`} contentStore={prjCardStore} />
} else if (tabDatas1[i].shortname == "gantt" && tabDatas1[i].key == key) {//甘特图及其他
return tabDatas1[i].linkurl;
} else if (tabDatas1[i].shortname == "" && tabDatas1[i].key == key) {
if (tabDatas1[i].linkurl.indexOf("noright") > -1) {
return <WeaAlertPage ecId={`${this && this.props && this.props.ecId || ''}_WeaAlertPage@od36db`} >
<div style={{ color: '#000' }}>
{getLabel(2012, "对不起,您暂时没有权限!")}
</div>
</WeaAlertPage>
} else {
return tabDatas1[i].linkurl;
}
}
}
}
}(projectBoardStore.tabsStore.activeKey);
return (
<div onClick={() => projectBoardStore.showSlideModal(false)}>
<WeaRightMenu ecId={`${this && this.props && this.props.ecId || ''}_WeaRightMenu@qmzhqa`}
datas={this.getRightMenu()}
onClick={this.onRightMenuClick.bind(this)}
>
<WeaTop ecId={`${this && this.props && this.props.ecId || ''}_WeaTop@7evjyu`}
title={projectBoardStore.title}
icon={<i className='icon-coms-project' />}
iconBgcolor='#217346'
showDropIcon={true}
buttons={this.getButtons()}
onDropMenuClick={this.onRightMenuClick.bind(this)}
>
<div style={{ height: "100%", overflow: "hidden" }}>
<WeaTab ecId={`${this && this.props && this.props.ecId || ''}_WeaTab@lshlzj`}
datas={toJS(projectBoardStore.tabsStore.tabDatas)}
keyParam="viewcondition" //主键
countParam="groupid" //数量
selectedKey={projectBoardStore.tabsStore.activeKey}
onChange={this.onChange}
/>
<div style={{ height: "calc(100% - 47px)" }} >
<WeaNewScroll ecId={`${this && this.props && this.props.ecId || ''}_WeaNewScroll@6tnl0u`} height={"100%"} >
{
typeof viewObj === "object" ? viewObj :
<iframe src={viewObj} id="prjtabiframe" name="prjtabiframe" className="flowFrame" frameborder="0" width="100%" height="100%" />
}
</WeaNewScroll>
</div>
</div>
</WeaTop>
<div onClick={(e) => e.stopPropagation()} className={"Prj-WeaSlideModal"}>
<WeaSlideModal ecId={`${this && this.props && this.props.ecId || ''}_WeaSlideModal@6qfs3s`} visible={projectBoardStore.SlideModalVisible}
top={"0px"}
width={"800px"}
height={"100%"}
direction={'right'}
measure={''}
style={{ overflowY: "hidden" }}
content={(projectBoardStore.SlideModalVisible &&
<Spin ecId={`${this && this.props && this.props.ecId || ''}_Spin@301s60`} spinning={prjTaskCardStore.loading} style={{ height: "100%" }}>
<TaskCard ecId={`${this && this.props && this.props.ecId || ''}_TaskCard@mmdbpb`} callBack={() =>{
projectBoardStore.prjTaskCardStore.getTaskSubList();
projectBoardStore.prjCardStore.getPrjTaskList();
projectBoardStore.getKanbanView();}} boardStore={projectBoardStore} taskCardStore={prjTaskCardStore} taskid={projectBoardStore.taskid} isNow={projectBoardStore.isNow} />
</Spin>
)}
onClose={() => projectBoardStore.showSlideModal(false)}
onAnimationEnd={() => { }} />
</div>
</WeaRightMenu>
</div>
)
} else {
return (<WeaAlertPage ecId={`${this && this.props && this.props.ecId || ''}_WeaAlertPage@0mqf4u`} >
<div style={{ color: '#000' }}>
{getLabel(2012, "对不起,您暂时没有权限!")}
</div>
</WeaAlertPage>
)
}
}
onChange=(v)=>{
const { projectBoardStore } = this.props;
const { prjCardStore} = projectBoardStore;
if(v=='2'){
prjCardStore.setIsBatchEdit(0);
}
projectBoardStore.tabsStore.onChange(v);
}
getButtons() {
const { projectBoardStore } = this.props;
const { prjCardStore, prjid,title, tabsStore } = projectBoardStore;
const { rightMenu, form, selectTabKey, taskInfoStore, addProjectStore, shareTableStore, approveplanstatus, status } = prjCardStore;
let btnArr = [];
let { selectedRowKeys } = shareTableStore;
const { saveDefaultInfo } = this.props.prjImportStore;
const key = tabsStore.activeKey
const tabDatas1 = toJS(tabsStore.tabDatas);
rightMenu && rightMenu.length > 0 && rightMenu.map(m => {
let disabled = false;
if (tabDatas1) {
for (let i = 0; i < tabDatas1.length; i++) {
if (tabDatas1[i].shortname == "stageset" && tabDatas1[i].key == key && prjCardStore.stageInfo.selectedRowKeys.length == 0) {//项目卡片
if (m.type == "BTN_COPY" || m.type == "BTN_DELETE") {
disabled = true;
}
}
if (tabDatas1[i].shortname == "prjshare" && tabDatas1[i].key == key && selectedRowKeys.length == 0) {//项目卡片
if (m.type == "BTN_COPY" || m.type == "BTN_DELETE") {
disabled = true;
}
}
if (tabDatas1[i].shortname == "tasklist" && tabDatas1[i].key == key && approveplanstatus == true) {//项目卡片
if (m.type == "BTN_DOSUBMIT") {
disabled = true;
}
}
if(tabDatas1[i].shortname == "tasklist" && tabDatas1[i].key == key && taskInfoStore.selectedRowKeys.length == 0){
if(m.type == "BTN_DELETEBATCH"){
disabled = true;
}
}
if(tabDatas1[i].shortname == "tasklist" && tabDatas1[i].key == key && taskInfoStore.selectedRowKeys.length == 0){
if(m.type == "BTN_SUBMITEDIT"){
disabled = true;
}
}
if(tabDatas1[i].shortname == "tasklist" && tabDatas1[i].key == key && status == '-1'){
if(m.type == "BTN_BREAKDOWN"){
disabled = true;
}
}
}
}
m.isTop == '1' && btnArr.length < 4 && btnArr.push(
<Button ecId={`${this && this.props && this.props.ecId || ''}_Button@gjyvqc@${m.type}`} type="primary"
disabled={disabled}
onClick={() => {
if (tabDatas1) {
for (let i = 0; i < tabDatas1.length; i++) {
if (tabDatas1[i].shortname == "prjinfo" && tabDatas1[i].key == key) {//项目卡片
if (m.type == "BTN_EDIT") { //编辑
prjCardStore.getPrjInfo({ viewtype: 'edit', prjid: prjid });
} else if (m.type == "BTN_SAVE") { //保存
prjCardStore.savePrjInfo({ prjid: prjid }, projectBoardStore);
} else if (m.type == "BTN_DELETE") { //删除
prjCardStore.delPrjInfo({ method: "del", prjid: prjid, from: "mymanagerproject" }, projectBoardStore);
}
} else if (tabDatas1[i].shortname == "tasklist" && tabDatas1[i].key == key) { //任务列表
if (m.type == "BTN_ADDTASK") { //添加任务
taskInfoStore.handleDialog(true, "add", '', { prjid: prjid, parentid: "" });
} else if (m.type == 'BTN_IMPTASK') { //任务导入
this.setState({importVisible:true});
saveDefaultInfo(prjid,title);
} else if (m.type == 'BTN_EDIT') { //编辑
prjCardStore.showEditTaskModal(true);
} else if (m.type == 'BTN_DOSUBMIT') { //提交执行
Modal.confirm({
title: getLabel(15172, "系统提示"),
content: getLabel(83919, "你确定要提交执行吗?"),
onOk() {
prjCardStore.doPlanOpt_task({ method: 'approveplan', prjid: prjid }, projectBoardStore);
},
onCancel() { },
});
} else if (m.type == 'BTN_APPSUBMIT') { //提交执行(审批)
Modal.confirm({
title: getLabel(15172, "系统提示"),
content: getLabel(83921, "你确定要提交审批吗?"),
onOk() {
prjCardStore.doPlanOpt_task({ method: 'submitplan', prjid: prjid }, projectBoardStore);
},
onCancel() { },
});
} else if (m.type == "BTN_DELETEBATCH" ){ //批量删除
prjCardStore.delTaskBatch("delbatch");
} else if(m.type == "BTN_EDITBATCH" ){ //批量编辑
prjCardStore.setIsBatchEdit(1);
prjCardStore.getPrjTaskList();
prjCardStore.resetTaskInfoStore();
} else if(m.type == "BTN_BACK" ){ //返回
prjCardStore.setIsBatchEdit(0);
prjCardStore.getPrjTaskList();
prjCardStore.resetTaskInfoStore();
} else if(m.type == "BTN_SUBMITEDIT" ){ //提交编辑
taskBatchEditDialogStore.setVisible(true);
} else if(m.type == "BTN_BREAKDOWN" ){ //任务分解
prjCardStore.triggerBreakDownWF();
}
// else if (m.type == 'BTN_SENDMESSAGE') { //龙烟二次开发
// Modal.confirm({
// title: getLabel(15172, "系统提示"),
// content: "你确定要发送通知吗?",
// onOk() {
// prjCardStore.sendMsg({prjid: prjid });
// },
// onCancel() { },
// });
// }
} else if (tabDatas1[i].shortname == "childprj" && tabDatas1[i].key == key) {//子项目
if (m.type == "BTN_NEWPRJSUB") { //新建子项目
addProjectStore.handleShareDialog(true, { viewtype: 'add', prjid: prjid });
}
} else if (tabDatas1[i].shortname == "prjshare" && tabDatas1[i].key == key) {//共享设置
if (m.type == "BTN_APPEND") { //tianjia
prjCardStore.showAddShareModal(true);
} else if (m.type == 'BTN_DELETEBATCH') { //批量删除
// let { selectedRowKeys } = shareTableStore;
prjCardStore.delBatchShare(`${toJS(selectedRowKeys)}`);
}
} else if (tabDatas1[i].shortname == "stageset" && tabDatas1[i].key == key) { //阶段
if (m.type == 'BTN_ADD_SHARE') { //新增
this.refs.StageList.tableEdit.refs.edit.doAdd()
} else if (m.type == "BTN_DELETE") { //删除
this.refs.StageList.tableEdit.refs.edit.doDelete()
} else if (m.type == "BTN_COPY") { //复制
this.refs.StageList.tableEdit.refs.edit.doCopy()
} else if (m.type == "BTN_SUBMIT") { //保存
const checkProps = this.refs.StageList.tableEdit.refs.edit.doRequiredCheck();
prjCardStore.saveStageSet(checkProps, prjid);
}
}
}
}
}}>
{m.menuName}
</Button>
);
});
return btnArr;
}
getRightMenu = () => {
const { projectBoardStore } = this.props;
const { prjCardStore, tabsStore } = projectBoardStore;
let btnArr = [];
const { rightMenu, taskInfoStore, approveplanstatus, isApprove, status } = prjCardStore;
const key = tabsStore.activeKey
const tabDatas1 = toJS(tabsStore.tabDatas);
rightMenu && rightMenu.length > 0 && rightMenu.map(m => {
let disabled = false;
let { selectedRowKeys } = prjCardStore.shareTableStore;
if (tabDatas1) {
for (let i = 0; i < tabDatas1.length; i++) {
if (tabDatas1[i].shortname == "stageset" && tabDatas1[i].key == key && prjCardStore.stageInfo.selectedRowKeys.length == 0) {//项目卡片
if (m.type == "BTN_COPY" || m.type == "BTN_DELETE") {
disabled = true;
}
}
if (tabDatas1[i].shortname == "prjshare" && tabDatas1[i].key == key && selectedRowKeys.length == 0) {//项目卡片
if (m.type == "BTN_COPY" || m.type == "BTN_DELETE") {
disabled = true;
}
}
if (tabDatas1[i].shortname == "tasklist" && tabDatas1[i].key == key && approveplanstatus == true) {//项目卡片
if (m.type == "BTN_DOSUBMIT") {
disabled = true;
}
}
if(tabDatas1[i].shortname == "tasklist" && tabDatas1[i].key == key && taskInfoStore.selectedRowKeys.length == 0){
if(m.type == "BTN_DELETEBATCH"){
disabled = true;
}
}
if(tabDatas1[i].shortname == "tasklist" && tabDatas1[i].key == key && taskInfoStore.selectedRowKeys.length == 0){
if(m.type == "BTN_SUBMITEDIT"){
disabled = true;
}
}
if(tabDatas1[i].shortname == "prjinfo" && tabDatas1[i].key == key && isApprove){
if(m.menuIcon == "icon-coms-Approval"){
disabled = true;
}
}
if(tabDatas1[i].shortname == "tasklist" && tabDatas1[i].key == key && status == '-1'){
if(m.type == "BTN_BREAKDOWN"){
disabled = true;
}
}
}
}
btnArr.push({
icon: <i className={m.menuIcon} />,
content: m.menuName,
disabled: disabled
})
});
return btnArr
}
onRightMenuClick(keys) {
let that = this;
const { projectBoardStore } = this.props;
const { prjCardStore, prjid,title, tabsStore } = projectBoardStore;
const { rightMenu, taskInfoStore, addProjectStore, shareTableStore, relateListStore } = prjCardStore;
const selectTabKey = projectBoardStore.tabsStore.activeKey;
const { saveDefaultInfo } = this.props.prjImportStore;
const key = tabsStore.activeKey
const tabDatas1 = toJS(tabsStore.tabDatas);
rightMenu && rightMenu.length > 0 && rightMenu.map((m, i) => {
if (Number(keys) == i) {
if (tabDatas1) {
for (let i = 0; i < tabDatas1.length; i++) {
if (tabDatas1[i].shortname == "prjinfo" && tabDatas1[i].key == key) {//项目卡片
let fn = m.menuFun.indexOf('this') >= 0 ? `${m.menuFun.split('this')[0]})` : m.menuFun;
if (fn != "") {
fn = fn.substring(0, fn.indexOf('('));
if ('onNormal' == fn) { //正常
prjCardStore.doPlanOpt({ method: 'normal', prjid: prjid }, projectBoardStore);
} else if ('onOver' == fn) { //延期
prjCardStore.doPlanOpt({ method: 'delay', prjid: prjid }, projectBoardStore);
} else if ('onFinish' == fn) { //完成
prjCardStore.doPlanOpt({ method: 'complete', prjid: prjid }, projectBoardStore);
} else if ('onFrozen' == fn) { //冻结
prjCardStore.doPlanOpt({ method: 'freeze', prjid: prjid }, projectBoardStore);
} else if ('onToggleStatus' == fn) {
prjCardStore.doPlanOpt({ method: 'togglestatus', prjid: prjid, statusid: m.params }, projectBoardStore);
}
} else {
if (m.type == "BTN_EDIT") { //编辑
prjCardStore.getPrjInfo({ viewtype: 'edit', prjid: prjid });
} else if (m.type == "BTN_SAVE") { //保存
prjCardStore.savePrjInfo({ prjid: prjid }, projectBoardStore);
} else if (m.type == "BTN_NEWREQ") { //新建流程
window.open((window.ecologyContentPath || '')+"/spa/workflow/static/index.html#/main/workflow/add?prjid=" + prjid, "_blank");
} else if (m.type == "BTN_NEWDOC") { //新建文档
window.open((window.ecologyContentPath || '')+"/spa/document/static/index.html#/main/document/add?moudleFrom=prj&prjid=" + prjid, "_blank");
} else if (m.type == "BTN_NEWRQ") { //新建日程
this.setState({ workPlanVisible: true })
} else if (m.type == "BTN_NEWMT") { //新建会议
window.open((window.ecologyContentPath || '')+"/spa/meeting/static/index.html#/main/meeting/dialogsingle?type=create&projectid=" + prjid, "_blank");
} else if (m.type == "BTN_SAVETEMPLET") { //另存为模板
prjCardStore.setVisiable(true);
} else if (m.type == "BTN_BACK") { //返回
prjCardStore.getPrjInfo({ viewtype: 'view', prjid: prjid });
} else if (m.type == "BTN_LOG") {
this.refs.projectLogDialog.setVisible(true);
prjCardStore.getPrjLogList({ prjid: prjid });
} else if (m.type == "BTN_DELETE") {
prjCardStore.delPrjInfo({ method: "del", prjid: prjid, from: "mymanagerproject" }, projectBoardStore);
}
}
} else if (tabDatas1[i].shortname == "tasklist" && tabDatas1[i].key == key) {//任务列表
if (m.type == "BTN_ADDTASK") { //添加任务
taskInfoStore.handleDialog(true, "add", '', { prjid: prjid, parentid: "" });
} else if (m.type == 'BTN_IMPTASK') { //任务导入
this.setState({importVisible:true});
saveDefaultInfo(prjid,title);
} else if (m.type == 'BTN_EDIT') { //编辑
prjCardStore.showEditTaskModal(true);
} else if (m.type == 'BTN_DOSUBMIT') { //提交执行
Modal.confirm({
title: getLabel(15172, "系统提示"),
content: getLabel(83919, "你确定要提交执行吗?"),
onOk() {
prjCardStore.doPlanOpt_task({ method: 'approveplan', prjid: prjid }, projectBoardStore);
},
onCancel() { },
});
} else if (m.type == 'BTN_APPSUBMIT') { //提交执行(审批)
Modal.confirm({
title: getLabel(15172, "系统提示"),
content: getLabel(83921, "你确定要提交审批吗?"),
onOk() {
prjCardStore.doPlanOpt_task({ method: 'submitplan', prjid: prjid }, projectBoardStore);
},
onCancel() { },
});
} else if (m.type == 'BTN_TASKEXPORT') { //导出任务
prjCardStore.doTaskExcelExp({ prjid: prjid });
} else if (m.type == 'BTN_SAVEPLAN') { //存为计划版本
prjCardStore.saveasplan({ method: 'saveasplan', prjid: prjid });
} else if (m.type == 'BTN_TASKHISTORY') { //历史版本
relateListStore.handleRelateDialog(true, "history", prjid)
} else if (m.type == 'BTN_NOTEMEMBER') { //通知成员
relateListStore.handleRelateDialog(true, "notice", prjid)
} else if (m.type == 'BTN_ONREQUEST') { //相关流程
relateListStore.handleRelateDialog(true, "request", prjid)
} else if (m.type == 'BTN_ONDOC') { //相关文档
relateListStore.handleRelateDialog(true, "doc", prjid)
} else if (m.type == 'BTN_ONCOWORK') { //相关协作
relateListStore.handleRelateDialog(true, "cowork", prjid)
} else if (m.type == 'BTN_LOG') { //日志
relateListStore.handleRelateDialog(true, "log", prjid)
} else if (m.type == "BTN_DELETEBATCH" ){ //批量删除
prjCardStore.delTaskBatch("delbatch");
} else if(m.type == "BTN_EDITBATCH" ){ //批量编辑
prjCardStore.setIsBatchEdit(1);
prjCardStore.getPrjTaskList();
prjCardStore.resetTaskInfoStore();
} else if(m.type == "BTN_BACK" ){ //返回
prjCardStore.setIsBatchEdit(0);
prjCardStore.getPrjTaskList();
prjCardStore.resetTaskInfoStore();
} else if(m.type == "BTN_SUBMITEDIT" ){ //提交编辑
taskBatchEditDialogStore.setVisible(true);
} else if(m.type == "BTN_BREAKDOWN" ){ //任务分解
prjCardStore.triggerBreakDownWF();
}
} else if (tabDatas1[i].shortname == "childprj" && tabDatas1[i].key == key) {//子项目
if (m.type == "BTN_NEWPRJSUB") { //新建子项目
addProjectStore.handleShareDialog(true, { viewtype: 'add', prjid: prjid });
}
} else if (tabDatas1[i].shortname == "prjshare" && tabDatas1[i].key == key) {//共享设置
if (m.type == "BTN_APPEND") { //tianjia
prjCardStore.showAddShareModal(true);
} else if (m.type == 'BTN_DELETEBATCH') { //批量删除
let { selectedRowKeys } = shareTableStore;
prjCardStore.delBatchShare(`${toJS(selectedRowKeys)}`);
}
} else if (tabDatas1[i].shortname == "stageset" && tabDatas1[i].key == key) { //阶段
if (m.type == 'BTN_ADD_SHARE') { //新增
this.refs.StageList.tableEdit.refs.edit.doAdd()
} else if (m.type == "BTN_DELETE") { //删除
this.refs.StageList.tableEdit.refs.edit.doDelete()
} else if (m.type == "BTN_COPY") { //复制
this.refs.StageList.tableEdit.refs.edit.doCopy()
} else if (m.type == "BTN_SUBMIT") { //保存
const checkProps = this.refs.StageList.tableEdit.refs.edit.doRequiredCheck();
prjCardStore.saveStageSet(checkProps, prjid);
}
}
if (m.type == "BTN_COLUMN") { //显示定制
prjCardStore.onShowColumn();
}
}
}
}
});
}
setWorkPlanVisible = (bool) => {
this.setState({ workPlanVisible: bool })
}
doClose = () => {
const {prjImportStore} = this.props;
this.setState({importVisible:!this.state.importVisible});
prjImportStore.clearStatus();
}
getDialogTopButtons() {
let btns = [];
const {doImport} = this.props.prjImportStore;
const { prjCardStore,prjid } = this.props.projectBoardStore;
btns.push(<Button ecId={`${this && this.props && this.props.ecId || ''}_Button@bqi1lz@search`} type="primary" onClick={() => {doImport(prjCardStore.refTaskList)}}>{getLabel(615,"提交")}</Button>);
btns.push(<Button ecId={`${this && this.props && this.props.ecId || ''}_Button@60lhs0@cancel`} type="primary" onClick={() => { this.doClose() }}>{getLabel(309, "关闭")}</Button>);
return btns;
}
getDialogRightMenu(){
const {doImport} = this.props.prjImportStore;
const { prjCardStore,prjid } = this.props.projectBoardStore;
let btnArr = [];
btnArr.push({
key: '1',
icon: <i className={"icon-coms-Approval"} />,
content: getLabel(615,"提交"),
onClick:(key)=>{
doImport(prjCardStore.refTaskList);
}
});
return btnArr;
}
}