|
|
@@ -7,7 +7,7 @@ |
|
|
|
* @ |
|
|
|
--> |
|
|
|
<template> |
|
|
|
<div> |
|
|
|
<div class="proj-detail"> |
|
|
|
<app-header backBtnTitle="退出项目编辑" theme="basis" |
|
|
|
:showUserCenter="false" :showBackBtn="true" |
|
|
|
/> |
|
|
@@ -15,10 +15,11 @@ |
|
|
|
<div class="graph-left-part" v-if="!isEnterEdit"></div> |
|
|
|
|
|
|
|
<div class="right-part" :class="{'set-right-part-width': isEnterEdit}" key="0"> |
|
|
|
<!-- 开始页面 --> |
|
|
|
<div class="proj-desc" v-if="!isShowDistWorkPage"> |
|
|
|
<app-header class="set-header-position header-wrap" |
|
|
|
:class="{'header-bottom-shadow': isDistWorkPartScroll}" |
|
|
|
theme="basis" |
|
|
|
theme="white" |
|
|
|
:showUserCenter="false" |
|
|
|
> |
|
|
|
<div class="title" slot="left">项目概况</div> |
|
|
@@ -64,31 +65,30 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="distwork-page" v-else> |
|
|
|
<!-- 工作指派页面 --> |
|
|
|
<div class="distwork-page" v-if="isShowDistWorkPage && !isShowTemplateSummary"> |
|
|
|
<app-header v-if="!isEnterEdit" |
|
|
|
class="set-header-position header-wrap" |
|
|
|
:class="{'header-bottom-shadow': isDistWorkPartScroll}" |
|
|
|
backBtnTitle="项目概况" theme="basis" |
|
|
|
backBtnTitle="项目概况" theme="white" |
|
|
|
:onBackBtnClick="showProjDetailClick" |
|
|
|
title="模板名称" :showUserCenter="false" :showBackBtn="true" |
|
|
|
/> |
|
|
|
<app-header v-else |
|
|
|
class="set-header-position header-wrap" |
|
|
|
:class="{'header-bottom-shadow': isDistWorkPartScroll}" |
|
|
|
theme="basis" title="指派工作" :showUserCenter="false" |
|
|
|
theme="white" title="指派工作" :showUserCenter="false" |
|
|
|
> |
|
|
|
<div class="finish-edit-btn" slot="left" @click.stop="finishEditClick">完成编辑</div> |
|
|
|
</app-header> |
|
|
|
<div class="part-wrap" ref="distworkpart"> |
|
|
|
<div v-if="!isEnterEdit" class="template-detail-btn">模板概况</div> |
|
|
|
<div v-if="isProjManager" class="only-manager-see"> |
|
|
|
<div v-if="!isEnterEdit" class="template-detail-btn" @click.stop="isShowTemplateSummary = true">模板概况</div> |
|
|
|
<div v-if="isProjManager" |
|
|
|
:class="{'active-folder mb-32': isEditProjManager,'only-manager-see': !isEnterEdit}"> |
|
|
|
<div class="row-title">项目管理权限</div> |
|
|
|
<div class="proj-manager-row use-relative" |
|
|
|
:class="{'active-folder mb-32': isEditProjManager}" |
|
|
|
@click.stop="activeManagerClick"> |
|
|
|
<div v-if="!isEnterEdit || !isEditProjManager" class="use-relative ml-4 use-flex" > |
|
|
|
<div class="use-relative"> |
|
|
|
<people-item :user="currUser" class="mr-8"/> |
|
|
|
<people-item :user="currUser" class="mr-8" :isShowManagerMark="isEnterEdit"/> |
|
|
|
</div> |
|
|
|
<div v-show="!isEnterEdit" class="vertical-line"/> |
|
|
|
<div v-if="listManagerUser && listManagerUser.length > 0" class="use-flex"> |
|
|
@@ -125,8 +125,42 @@ |
|
|
|
/> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- 点击项目概况按钮看到的页面 --> |
|
|
|
<div class="template-summary" v-if="isShowTemplateSummary"> |
|
|
|
<app-header class="set-header-position header-wrap" |
|
|
|
backBtnTitle="返回" theme="basis" |
|
|
|
:onBackBtnClick="returnToDistWorkClick" |
|
|
|
title="模板名称" :showUserCenter="false" :showBackBtn="true" |
|
|
|
/> |
|
|
|
<div class="summary-wrap"> |
|
|
|
<div class="item"> |
|
|
|
<div class="item-title">模板负责模板负责模板负责模板负责模板负责模板负责模板负责模板负责模板负责模板负责模板负责模板负责模板负责模板负责模板负责模板负责</div> |
|
|
|
<div class="item-value">1111模板负责模板负责模板负责模板负责模板负责模板负责模板负责模板负责模板负责模板负责模板负责模板负责模板负责</div> |
|
|
|
</div> |
|
|
|
<div class="item"> |
|
|
|
<div class="item-title">创建时间:</div> |
|
|
|
<div class="item-value">1111</div> |
|
|
|
</div> |
|
|
|
<div class="item"> |
|
|
|
<div class="item-title">工程名称:</div> |
|
|
|
<div class="item-value">1111</div> |
|
|
|
</div> |
|
|
|
<div class="item"> |
|
|
|
<div class="item-title">工程号:</div> |
|
|
|
<div class="item-value">1111</div> |
|
|
|
</div> |
|
|
|
<div class="item"> |
|
|
|
<div class="item-title">规模:</div> |
|
|
|
<div class="item-value">1111</div> |
|
|
|
</div> |
|
|
|
<div class="item"> |
|
|
|
<div class="item-title">地址:</div> |
|
|
|
<div class="item-value">1111</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="personnel-list-part" v-if="isEnterEdit" :key="1" |
|
|
|
<div class="personnel-list-part" v-if="isEnterEdit" |
|
|
|
:class="{'set-personnel-list-width': isEnterEdit}"> |
|
|
|
<personnel-list |
|
|
|
:listDept="[...listDept]" |
|
|
@@ -201,7 +235,8 @@ |
|
|
|
userId:sessionStorage.userId, |
|
|
|
allChildrenLists:[], |
|
|
|
|
|
|
|
isShowDistWorkPage: false,//是显示项目概况还是进行工作指派 |
|
|
|
isShowTemplateSummary: false,//是否显示模板概况页面 |
|
|
|
isShowDistWorkPage: false,//是显示开始的项目概况还是进行工作指派 |
|
|
|
isEnterEdit: false,//是否进入编辑人员/指派人员状态 |
|
|
|
distWorkPartScrollEl: null,//指派工作页面的内容元素 |
|
|
|
isDistWorkPartScroll: false,//指派页面是否正在滚动 滚动的话导航栏加上底部阴影 |
|
|
@@ -227,10 +262,10 @@ |
|
|
|
// 加载项目详情 |
|
|
|
this.fetchProjectDetail(); |
|
|
|
|
|
|
|
this.distWorkPartScrollEl = this.$refs.distworkpart; |
|
|
|
if(this.distWorkPartScrollEl) { |
|
|
|
this.distWorkPartScrollEl.addEventListener('scroll', this.watchDistWorkPartScroll); |
|
|
|
} |
|
|
|
// this.distWorkPartScrollEl = this.$refs.distworkpart; |
|
|
|
// if(this.distWorkPartScrollEl) { |
|
|
|
// this.distWorkPartScrollEl.addEventListener('scroll', this.watchDistWorkPartScroll); |
|
|
|
// } |
|
|
|
|
|
|
|
// 监听plain-folder-list发来的事件 进入文件夹编辑 |
|
|
|
this.$bus.$on('enterEditFolderClick', this.enterEditFolderClick); |
|
|
@@ -242,7 +277,7 @@ |
|
|
|
this.$bus.$on('setFirstPeopleToManager', this.setFirstPeopleToManager); |
|
|
|
}, |
|
|
|
beforeDestroy() { |
|
|
|
this.distWorkPartScrollEl && this.distWorkPartScrollEl.removeEventListener('scroll', this.watchDistWorkPartScroll); |
|
|
|
// this.distWorkPartScrollEl && this.distWorkPartScrollEl.removeEventListener('scroll', this.watchDistWorkPartScroll); |
|
|
|
|
|
|
|
// 取消监听 |
|
|
|
this.$bus.$off('enterEditFolderClick', this.enterEditFolderClick); |
|
|
@@ -272,6 +307,9 @@ |
|
|
|
}, |
|
|
|
setSystemCoverRandom() { |
|
|
|
|
|
|
|
}, |
|
|
|
returnToDistWorkClick() { |
|
|
|
this.isShowTemplateSummary = false; |
|
|
|
}, |
|
|
|
// 点击返回按钮 显示项目概况页面 |
|
|
|
showProjDetailClick() { |
|
|
@@ -291,10 +329,11 @@ |
|
|
|
watchDistWorkPartScroll() { |
|
|
|
this.isDistWorkPartScroll = this.distWorkPartScrollEl.scrollTop > 0; |
|
|
|
}, |
|
|
|
// 切换到项目负责人 |
|
|
|
// 切换到项目负责人进行编辑 |
|
|
|
activeManagerClick() { |
|
|
|
this.isEditProjManager = true; |
|
|
|
this.activeFolderId = ''; |
|
|
|
this.addProjManager(); |
|
|
|
}, |
|
|
|
// 切换当前激活的文件夹 |
|
|
|
activeFolderClick(folder) { |
|
|
@@ -500,7 +539,8 @@ |
|
|
|
this.listDept=JSON.parse(JSON.stringify(this.currListDeptUserData)); |
|
|
|
for (var j = 0; j < this.listDept.length; j++) { |
|
|
|
for (var k = 0; k < this.listDept[j].listUser.length; k++) { |
|
|
|
this.listDept[j].listUser[k].selected = false; |
|
|
|
// this.listDept[j].listUser[k].selected = false; |
|
|
|
this.$set(this.listDept[j].listUser[k], 'selected', false); |
|
|
|
for (var i = 0; i < data.listUser.length; i++) { |
|
|
|
if ( |
|
|
|
this.listDept[j].listUser[k].id == data.listUser[i].id |
|
|
@@ -1027,6 +1067,7 @@ |
|
|
|
} |
|
|
|
|
|
|
|
.right-part { |
|
|
|
box-sizing: border-box; |
|
|
|
.proj-desc { |
|
|
|
/* 项目概况页面 */ |
|
|
|
background-color: rgba(252, 252, 252, 1); |
|
|
@@ -1058,21 +1099,9 @@ |
|
|
|
} |
|
|
|
|
|
|
|
.proj-desc-wrap { |
|
|
|
padding: 0 8px 0 41px; |
|
|
|
.item { |
|
|
|
display: flex; |
|
|
|
height: 48px; |
|
|
|
line-height: 48px; |
|
|
|
font-size: 14px; |
|
|
|
font-family: PingFangSC-Regular; |
|
|
|
.item-title { |
|
|
|
width: 139px; |
|
|
|
text-align: right; |
|
|
|
} |
|
|
|
.item-value { |
|
|
|
margin: 0 0 0 8px; |
|
|
|
} |
|
|
|
} |
|
|
|
padding: 0 24px; |
|
|
|
height: calc(100vh - 100px); |
|
|
|
overflow: scroll; |
|
|
|
.cover-container { |
|
|
|
height: 226px; |
|
|
|
margin: 0 0 32px 0; |
|
|
@@ -1120,6 +1149,23 @@ |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
.item { |
|
|
|
display: flex; |
|
|
|
width: 100%; |
|
|
|
margin: 14px 0; |
|
|
|
font-size: 14px; |
|
|
|
font-family: PingFangSC-Regular; |
|
|
|
color: #32323C; |
|
|
|
.item-title { |
|
|
|
color: #62492f; |
|
|
|
width:35.06%; |
|
|
|
text-align: right; |
|
|
|
} |
|
|
|
.item-value { |
|
|
|
flex: 1; |
|
|
|
margin: 0 0 0 12px; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.right-part { |
|
|
@@ -1142,7 +1188,8 @@ |
|
|
|
} |
|
|
|
/* 项目管理权限文字样式 */ |
|
|
|
.row-title { |
|
|
|
margin: 8px 0 6px 12px; |
|
|
|
padding: 6px 0 0 0; |
|
|
|
margin: 10px 0 6px 12px; |
|
|
|
height: 20px; |
|
|
|
line-height: 20px; |
|
|
|
color: rgba(50, 50, 60, 100); |
|
|
@@ -1152,7 +1199,16 @@ |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.template-summary { |
|
|
|
.summary-wrap { |
|
|
|
height: calc(100vh - 100px - 16px); |
|
|
|
overflow: scroll; |
|
|
|
padding: 0 24px; |
|
|
|
margin: 16px 0 0 0; |
|
|
|
background-color: #fcfcfc; |
|
|
|
} |
|
|
|
} |
|
|
|
.set-right-part-width { |
|
|
|
width: 63.768% !important; |
|
|
|
margin-right: 10px; |
|
|
@@ -1185,6 +1241,7 @@ |
|
|
|
|
|
|
|
text-align: center; |
|
|
|
margin: 15px 12px 8px; |
|
|
|
cursor: pointer; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@@ -1197,11 +1254,30 @@ |
|
|
|
} */ |
|
|
|
</style> |
|
|
|
|
|
|
|
<style> |
|
|
|
<style lang="scss"> |
|
|
|
.header-wrap .app-header-back-btn { |
|
|
|
left: 24px !important; |
|
|
|
} |
|
|
|
.header-wrap .app-header-content { |
|
|
|
padding: 0 48px !important; |
|
|
|
} |
|
|
|
.proj-summary { |
|
|
|
.app-header-center { |
|
|
|
font-size: 20px; |
|
|
|
} |
|
|
|
.back_title { |
|
|
|
color: rgba(12, 13, 16, 100); |
|
|
|
font-size: 15px; |
|
|
|
font-family: PingFangSC-Regular; |
|
|
|
} |
|
|
|
} |
|
|
|
/* 返回图标变成紫色 */ |
|
|
|
.proj-detail { |
|
|
|
.right-part { |
|
|
|
.icon_topback_left { |
|
|
|
background: url(/static/img/yiyunicon.png) no-repeat -28px -84px !important; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
</style> |