122 lines
2.5 KiB
Vue
122 lines
2.5 KiB
Vue
![]() |
<!--
|
|||
|
@name: DistributorDataItem
|
|||
|
@author: kahu4
|
|||
|
@date: 2024-01-17 15:50
|
|||
|
@description:DistributorDataItem
|
|||
|
@update: 2024-01-17 15:50
|
|||
|
-->
|
|||
|
<script setup>
|
|||
|
|
|||
|
import { distributorDataList } from "@/views/distribution/team/index.data";
|
|||
|
import { toRefs } from "vue";
|
|||
|
import moment from "moment";
|
|||
|
|
|||
|
const props = defineProps({
|
|||
|
data: {
|
|||
|
type: Object,
|
|||
|
required: true
|
|||
|
}
|
|||
|
})
|
|||
|
|
|||
|
const {data} = toRefs(props)
|
|||
|
</script>
|
|||
|
|
|||
|
<template>
|
|||
|
<view class="user-item">
|
|||
|
<view class="userinfo-row flex flex-jc__start">
|
|||
|
<image :src="data.avatar" />
|
|||
|
<view class="userinfo flex flex-column flex-jc__sb">
|
|||
|
<view class="username">
|
|||
|
{{ data.nickname }}
|
|||
|
<text class="tag">{{ data.isDistributor === 0 ? '客户' : '分销商' }}</text>
|
|||
|
</view>
|
|||
|
<view class="time">加入时间:{{ moment(data.createTime).format('YYYY-MM-DD') }}</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
<view class="distribution-info-row">
|
|||
|
<view
|
|||
|
class="info-item"
|
|||
|
v-for="distributorData in distributorDataList"
|
|||
|
:key="distributorData.label">
|
|||
|
<view class="title">{{ distributorData.label }}</view>
|
|||
|
<view class="count">{{ data[distributorData.field] || '0' }}</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</view>
|
|||
|
</template>
|
|||
|
|
|||
|
<style
|
|||
|
scoped
|
|||
|
lang="scss">
|
|||
|
.user-item {
|
|||
|
margin-bottom: 16rpx;
|
|||
|
@include usePadding(32, 32);
|
|||
|
background: $white-color;
|
|||
|
border-radius: 15rpx;
|
|||
|
|
|||
|
.userinfo-row {
|
|||
|
padding-bottom: 16rpx;
|
|||
|
margin-bottom: 16rpx;
|
|||
|
border-bottom: 1rpx solid $page-bg-color;
|
|||
|
|
|||
|
image {
|
|||
|
width: 80rpx;
|
|||
|
height: 80rpx;
|
|||
|
border-radius: 50%;
|
|||
|
margin-right: 24rpx;
|
|||
|
background: #fbfbfb;
|
|||
|
}
|
|||
|
|
|||
|
.userinfo {
|
|||
|
|
|||
|
|
|||
|
.username {
|
|||
|
font-size: 28rpx;
|
|||
|
font-weight: bold;
|
|||
|
|
|||
|
.tag {
|
|||
|
@include usePadding(24, 4);
|
|||
|
margin-left: 12rpx;
|
|||
|
color: $primary-color;
|
|||
|
background: #E85A2B12;
|
|||
|
border-radius: 50rpx;
|
|||
|
font-size: 24rpx;
|
|||
|
font-weight: normal;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.time {
|
|||
|
color: $tips-color;
|
|||
|
font-size: 24rpx;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
.distribution-info-row {
|
|||
|
width: 100%;
|
|||
|
display: grid;
|
|||
|
grid-template-columns: repeat(3, 1fr);
|
|||
|
column-gap: 16rpx;
|
|||
|
|
|||
|
.info-item {
|
|||
|
@include usePadding(16, 16);
|
|||
|
border-radius: 15rpx;
|
|||
|
background: #f6f6f6;
|
|||
|
color: #7A7A7A;
|
|||
|
font-size: 24rpx;
|
|||
|
|
|||
|
.title {
|
|||
|
white-space: nowrap;
|
|||
|
}
|
|||
|
|
|||
|
.count {
|
|||
|
color: #333;
|
|||
|
font-weight: bold;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
</style>
|