105 lines
3.0 KiB
Vue
Raw 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="c-sign-process-warp">
<backDivider title="签约流程"></backDivider>
<div class="process-content">
<div v-for="(n, index) in processList" :key="n.name" class="process-content-item">
<div class="pro-content">
<div class="iconfont" :class="'icon-' + n.icon"></div>
<div class="content-txt">
<div class="txt-title">{{ n.title || '--' }}</div>
<div class="txt-tips">{{ n.tips || '--' }}</div>
</div>
</div>
<div v-if="index < processList.length - 1" class="pro-arrow">
<div class="arrow-before"></div>
<div class="triangle"></div>
</div>
</div>
</div>
</div>
</template>
<script setup>
import { ref, reactive, onMounted, watch } from 'vue';
import { isEmpty, getAssetsFile } from '@/utils';
import { useRoute, useRouter } from 'vue-router';
import backDivider from './backDivider.vue';
const route = useRoute();
const router = useRouter();
const processList = reactive([
{ title: '发起签约', tips: 'App端下单支付款项', icon: 'edit', name: 'one' },
{ title: '地主接单', tips: '沟通合同事项', icon: 'accept', name: 'one' },
{ title: '签约合同', tips: '上传凭证至平台', icon: 'sign', name: 'one' },
{ title: '上传凭证至平台', tips: '平台结算', icon: 'finish', name: 'one' },
]);
</script>
<style lang="scss" scoped>
.c-sign-process-warp {
width: 100%;
margin: 16px 0;
.process-content {
display: inline-flex;
width: 100%;
flex-wrap: wrap;
justify-content: flex-start;
.process-content-item {
display: inline-block;
margin: 12px 0;
.pro-content,
.pro-arrow {
display: inline-block;
vertical-align: middle;
}
.pro-content {
border: 1px solid $color-main;
padding: 8px 12px;
border-radius: 16px;
.iconfont,
.content-txt {
display: inline-block;
vertical-align: middle;
}
.iconfont {
font-size: 30px;
color: $color-main;
}
.content-txt {
padding-left: 8px;
.txt-title {
color: $color-main;
font-size: 18px;
font-weight: 700;
}
.txt-tips {
font-weight: 400;
margin-top: 8px;
}
}
}
.pro-arrow {
position: relative;
margin: 0 48px;
.arrow-before {
display: inline-block;
width: 40px;
height: 12px;
background: linear-gradient(270deg, $color-main, $color-main-table-header);
}
.triangle {
display: inline-block;
width: 0;
height: 0;
border-left: 24px solid $color-main; /* 左侧边框,透明 */
border-top: 12px solid transparent; /* 右侧边框,透明 */
border-bottom: 12px solid transparent;
position: absolute;
left: 100%;
top: 50%;
transform: translateY(-52%);
}
}
}
}
}
</style>