阅行客电子档案
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

177 lines
4.8 KiB

<template>
<el-dialog class="detail-dialog" :visible.sync="detailVisible" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body title="流程详情">
<div class="setting-dialog">
<div class="detail-info">
<p><span>流程名称</span>01-归档审批流程</p>
<p><span>启动时间</span>2016-09-21 08:50:08</p>
<p><span>实例ID</span>9af7f46a-ea52- 4aa3-b8c3-9fd484c2af12</p>
<p><span>发起人</span>admin</p>
</div>
<!-- -->
<div class="detail-arrow" @click="isExpend = !isExpend"><i :class="[ isExpend ? 'arrow-up':'']" /></div>
<el-collapse-transition>
<div v-show="isExpend" class="service-detail">
<h4>业务详情</h4>
<div class="detail-list">
<p><span>业务类型:</span>归档审批</p>
<p><span>原始位置:</span>全宗A-整理库-门类A</p>
<p><span>目标位置:</span>全宗A-整理库-门类A</p>
<p><span>赋权类型:</span>-</p>
<p><span>起始时间:</span>-</p>
<p><span>终止时间:</span>-</p>
<p><span>利用目的:</span>-</p>
<p><span>业务状态:</span>已完成</p>
<p><span>审批状态:</span>通过</p>
</div>
</div>
</el-collapse-transition>
<div class="detail-tab tab-content">
<ul class="tab-nav">
<li :class="{'active-tab-nav': activeIndex == 0 }" @click="changeActiveTab(0)">档案列表</li>
<li :class="{'active-tab-nav': activeIndex == 1 }" @click="changeActiveTab(1)">任务列表</li>
<li :class="{'active-tab-nav': activeIndex == 2 }" @click="changeActiveTab(2)">流程图</li>
</ul>
<div v-if="activeIndex == 0" class="double-click-btn"><i class="iconfont icon-zhuyi-lan" /><span>双击列表数据查看详情</span></div>
<component :is="comName" class="component-cont" />
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="detailVisible=false">确定</el-button>
</div>
</div>
</el-dialog>
</template>
<script>
import processImg from './processImg/index'
import businessDetails from './businessDetails/index'
import taskList from './taskList/index'
import approvalList from './approvalList/index'
export default {
name: 'Detail',
components: {
processImg,
businessDetails,
taskList,
approvalList
},
data() {
return {
detailVisible: false,
isExpend: false,
activeIndex: 0
}
},
computed: {
comName: function() {
if (this.activeIndex === 0) {
return 'businessDetails'
} else if (this.activeIndex === 1) {
return 'taskList'
} else if (this.activeIndex === 2) {
return 'processImg'
}
return 'businessDetails'
}
},
methods: {
changeActiveTab(data) {
this.activeIndex = data
}
}
}
</script>
<style lang='scss' scoped>
.detail-tab{
position: relative;
}
.detail-dialog{
.detail-info,
.detail-list{
display: flex;
justify-content: space-between;
flex-wrap: wrap;
padding-top: 10px;
font-size: 14px;
line-height: 30px;
color: #545B65;
p{
width: 50%;
span{
display: inline-block;
width: 75px;
text-align: right;
color: #0C0E1E;
}
}
}
.detail-arrow{
position: relative;
width: 64px;
height: 16px;
margin: 10px auto;
background-color:#E8F2FF;
border-radius: 3px;
cursor: pointer;
i{
position: absolute;
left: 50%;
top: 50%;
display: block;
width: 9px;
height: 5px;
margin-top: -2px;
margin-left: -4px;
background: url('~@/assets/images/icon/arrow.png') no-repeat center center;
transition: all ease-in 0.5s;
&.arrow-up {
transform: rotate(180deg);
}
}
}
.service-detail{
padding: 8px 12px;
background-color: #F6F8FC;
font-size: 14px;
h4{
position: relative;
padding-left: 10px;
color: #0C0E1E;
&::before {
content: "";
position: absolute;
left: 0;
top: 50%;
width: 3px;
height: 14px;
background-color: #0348F3;
transform: translateY(-50%);
}
}
.detail-list{
p{
width: 33%;
}
}
}
.double-click-btn{
position: absolute;
right: 0;
top: 0;
display: flex;
justify-content: flex-start;
align-items: center;
line-height: 26px;
span{
display: inline-block;
font-size: 12px;
color: #545B65;
}
i{
display: inline-block;
color: #0348F3;
}
}
}
</style>