Files
dvcp_v2_wxcp_app/library/apps/AppWorkTask/finishDetail.vue
2024-10-31 14:34:57 +08:00

185 lines
4.1 KiB
Vue
Raw Permalink 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.

<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>