185 lines
4.1 KiB
Vue
185 lines
4.1 KiB
Vue
|
|
<template>
|
|||
|
|
<div class="finish-detail">
|
|||
|
|
<div class="card">
|
|||
|
|
<u-row justify="between">
|
|||
|
|
<div class="left">
|
|||
|
|
<u-avatar :src="detail.avatar" v-if="detail.avatar"></u-avatar>
|
|||
|
|
<div class="avatar" v-else>{{detail.name && detail.name.substr(-2)}}</div>
|
|||
|
|
<div class="info">
|
|||
|
|
<div class="name">{{detail.name}}</div>
|
|||
|
|
<div class="status">{{$dict.getLabel("workTaskRole",detail.taskRole)}}</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
<!-- <div class="btn">-->
|
|||
|
|
<!-- <img src="../static/tx.png" alt="">催办提醒-->
|
|||
|
|
<!-- </div>-->
|
|||
|
|
</u-row>
|
|||
|
|
<u-gap height="32"></u-gap>
|
|||
|
|
<u-row>
|
|||
|
|
<div class="label">完成时间:</div>
|
|||
|
|
<div class="value">{{detail.finishTime}}</div>
|
|||
|
|
</u-row>
|
|||
|
|
<u-gap height="16"></u-gap>
|
|||
|
|
<u-row>
|
|||
|
|
<div class="label">逾期时间:</div>
|
|||
|
|
<div class="value" style="color: #FF4466">{{detail.overTimeStatus}}</div>
|
|||
|
|
</u-row>
|
|||
|
|
<u-gap height="30"></u-gap>
|
|||
|
|
</div>
|
|||
|
|
|
|||
|
|
<div class="card" v-if="detail.processList && detail.processList.length">
|
|||
|
|
<u-collapse v-for="(item,index) in detail.processList" :key="index">
|
|||
|
|
<u-collapse-item :title="item.createDate && item.createDate.split(' ')[0]">
|
|||
|
|
<template slot="info">
|
|||
|
|
完成到<em>{{item.percent}}%</em>
|
|||
|
|
</template>
|
|||
|
|
{{item.remarks}}
|
|||
|
|
</u-collapse-item>
|
|||
|
|
</u-collapse>
|
|||
|
|
</div>
|
|||
|
|
<ai-back></ai-back>
|
|||
|
|
</div>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
|
|||
|
|
export default {
|
|||
|
|
name: "finishDetail",
|
|||
|
|
data() {
|
|||
|
|
return {
|
|||
|
|
id: null,
|
|||
|
|
detail: {},
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
onLoad(opt) {
|
|||
|
|
this.id = opt.id
|
|||
|
|
this.$dict.load("workTaskRole").then(_=>this.getDetail())
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
getDetail() {
|
|||
|
|
this.$http.post("/app/appworktaskuserinfo/queryDetailById", null, {
|
|||
|
|
params: {
|
|||
|
|
id: this.id
|
|||
|
|
}
|
|||
|
|
}).then(res => {
|
|||
|
|
if (res && res.data) {
|
|||
|
|
this.detail = res.data;
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style lang="scss" scoped>
|
|||
|
|
.finish-detail {
|
|||
|
|
min-height: 100%;
|
|||
|
|
background-color: #F5F5F5;
|
|||
|
|
|
|||
|
|
.card {
|
|||
|
|
box-sizing: border-box;
|
|||
|
|
padding: 18px 32px;
|
|||
|
|
background-color: #FFFFFF;
|
|||
|
|
margin-bottom: 8px;
|
|||
|
|
|
|||
|
|
.left {
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
|
|||
|
|
.avatar {
|
|||
|
|
width: 80px;
|
|||
|
|
height: 80px;
|
|||
|
|
border-radius: 50%;
|
|||
|
|
font-size: 28px;
|
|||
|
|
font-weight: 500;
|
|||
|
|
color: #FFFFFF;
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: center;
|
|||
|
|
background: #2266FF;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.info {
|
|||
|
|
display: flex;
|
|||
|
|
flex-direction: column;
|
|||
|
|
margin-left: 16px;
|
|||
|
|
|
|||
|
|
.name {
|
|||
|
|
font-size: 32px;
|
|||
|
|
font-weight: 400;
|
|||
|
|
color: #333333;
|
|||
|
|
line-height: 44px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.status {
|
|||
|
|
font-size: 24px;
|
|||
|
|
font-weight: 400;
|
|||
|
|
color: #999999;
|
|||
|
|
line-height: 34px;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.btn {
|
|||
|
|
display: flex;
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: center;
|
|||
|
|
font-size: 28px;
|
|||
|
|
font-weight: 400;
|
|||
|
|
color: #1365DD;
|
|||
|
|
|
|||
|
|
& > img {
|
|||
|
|
width: 40px;
|
|||
|
|
height: 40px;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.label {
|
|||
|
|
font-size: 30px;
|
|||
|
|
font-family: PingFangSC-Regular, PingFang SC;
|
|||
|
|
color: #999999;
|
|||
|
|
line-height: 42px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.value {
|
|||
|
|
font-size: 30px;
|
|||
|
|
font-weight: 400;
|
|||
|
|
color: #343D65;
|
|||
|
|
line-height: 48px;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
em {
|
|||
|
|
font-style: normal;
|
|||
|
|
font-size: 28px;
|
|||
|
|
color: #1365DD;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
::v-deep .u-collapse {
|
|||
|
|
position: relative;
|
|||
|
|
|
|||
|
|
&:after {
|
|||
|
|
content: "";
|
|||
|
|
width: 718px;
|
|||
|
|
height: 1px;
|
|||
|
|
background-color: rgba(216, 221, 230, 0.5);
|
|||
|
|
position: absolute;
|
|||
|
|
left: 0;
|
|||
|
|
bottom: 0;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.u-collapse-head {
|
|||
|
|
padding: 40px 0;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.u-collapse-content {
|
|||
|
|
font-size: 32px;
|
|||
|
|
color: #333333;
|
|||
|
|
line-height: 48px;
|
|||
|
|
letter-spacing: 1px;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</style>
|