`
<template>
<div>
<div class="t">
<div class="t-l">
<div class="t-l-year">
<div class="title">本年</div>
<div class="reach">进度达成</div>
<Progress type="circle" :percent="75" />
<div class="line"></div>
<div class="footer">
<div class="f-l">
<ClockCircleOutlined :style="{ fontSize: '14px', color: '#000' }" /> 时间进度:70%
</div>
<div class="f-r">
<CheckCircleOutlined :style="{ fontSize: '14px', color: '#000' }" /> 达成率:50%
</div>
</div>
</div>
<div class="t-l-month">
<div class="title">本月</div>
<div class="reach">进度达成</div>
<Progress type="circle" :percent="75" />
<div class="line"></div>
<div class="footer">
<div class="f-l">
<ClockCircleOutlined :style="{ fontSize: '14px', color: '#000' }" /> 时间进度:70%
</div>
<div class="f-r">
<CheckCircleOutlined :style="{ fontSize: '14px', color: '#000' }" /> 达成率:50%
</div>
</div>
</div>
</div>
<div class="t-r">
<div class="q1">
<div class="title">Q1</div>
<div class="reach">进度达成</div>
<Progress type="circle" :width="102" :percent="75" />
<div class="footer">
<div class="f-l">
<div>时间进度</div>
<div>70%</div>
</div>
<div class="column-line" />
<div class="f-r">
<div>达成率</div>
<div>50%</div>
</div>
</div>
</div>
<div class="q2">
<div class="title">Q2</div>
<div class="reach">进度达成</div>
<Progress type="circle" :width="102" :percent="75" />
<div class="footer">
<div class="f-l">
<div>时间进度</div>
<div>70%</div>
</div>
<div class="column-line" />
<div class="f-r">
<div>达成率</div>
<div>50%</div>
</div>
</div>
</div>
<div class="q3">
<div class="title">Q3</div>
<div class="reach">进度达成</div>
<Progress type="circle" :width="102" :percent="75" />
<div class="footer">
<div class="f-l">
<div>时间进度</div>
<div>70%</div>
</div>
<div class="column-line" />
<div class="f-r">
<div>达成率</div>
<div>50%</div>
</div>
</div>
</div>
<div class="q4">
<div class="title">Q4</div>
<div class="reach">进度达成</div>
<Progress type="circle" :width="102" :percent="75" />
<div class="footer">
<div class="f-l">
<div>时间进度</div>
<div>70%</div>
</div>
<div class="column-line" />
<div class="f-r">
<div>达成率</div>
<div>50%</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script lang="ts" setup name="totalProgress">
import { Progress } from 'ant-design-vue';
import { ClockCircleOutlined, CheckCircleOutlined } from '@ant-design/icons-vue';
</script>
<style lang="less" scoped>
.t {
display: flex;
width: 100%;
height: 234px;
background: #F0F0F0;
padding-bottom: 16px;
.t-l {
width: 50%;
display: flex;
.t-l-year {
position: relative;
width: calc(50% - 16px);
margin-right: 16px;
background: #fff;
}
.t-l-month {
position: relative;
width: calc(50% - 16px);
margin-right: 16px;
background: #fff;
}
}
.title {
width: 64px;
height: 32px;
font-size: 16px;
background: #ededed;
border-radius: 0px 16px 0px 16px;
text-align: center;
line-height: 32px;
margin: 4px 0 0 4px;
}
.reach {
position: absolute;
left: 50%;
top: 58px;
transform: translate(-50%);
}
.line {
opacity: 0.1;
margin: 25px 16px 9px 16px;
border-top: 1px solid #979797;
}
.footer {
display: flex;
justify-content: space-between;
.f-l {
margin-left: 15px;
}
.f-r {
margin-right: 80px;
}
}
.ant-progress {
display: flex;
justify-content: center;
}
.t-r {
width: calc(50% - 16px);
margin-right: 16px;
display: flex;
.q1,
.q2,
.q3,
.q4 {
position: relative;
flex: 1;
box-shadow: 0px 9px 28px 8px rgba(0,0,0,0.05), 0px 6px 16px 0px rgba(0,0,0,0.08), 0px 3px 6px -4px rgba(0,0,0,0.12);
background: #fff;
.title {
margin-bottom: 8px;
}
.reach {
top: 61px;
font-size: 12px;
}
.footer {
margin-top: 16px;
justify-content: space-evenly;
.column-line {
width: 1px;
height: 40px;
border: 1px solid rgba(0, 0, 0, 0.06);
}
.f-l {
margin-left: unset;
text-align: center;
}
.f-r {
margin-right: unset;
text-align: center;
}
}
}
}
}
</style>
`