fix avatar radius

This commit is contained in:
Timi
2026-09-12 15:30:01 +08:00
parent f5b246a50e
commit b3c01545ab
3 changed files with 79 additions and 53 deletions
+1 -1
View File
@@ -119,7 +119,7 @@ html.theme-dark body {
.avatar { .avatar {
flex: none; flex: none;
display: block; display: block;
border-radius: .875rem; border-radius: .875rem !important;
&.fallback { &.fallback {
color: #2563EB; color: #2563EB;
-7
View File
@@ -93,13 +93,6 @@ const photoURL = computed(() => customer.value ? getCustomerPhotoURL(customer.va
} }
} }
:deep(.avatar .t-image__img) {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: inherit;
}
:global(html.theme-dark) { :global(html.theme-dark) {
.customer-cell { .customer-cell {
.code { .code {
+78 -45
View File
@@ -54,58 +54,65 @@
/> />
<t-button size="extra-small" variant="text" @click="clearTagFilter">清空</t-button> <t-button size="extra-small" variant="text" @click="clearTagFilter">清空</t-button>
</div> </div>
<t-cell-group v-if="dateFilterType !== 'all'" class="date-summary" theme="card">
<t-cell
title="开始时间"
:note="dateRange[0] || '-'"
arrow
@click="openStartTime"
/>
<t-cell
title="结束时间"
:note="dateRange[1] || '-'"
arrow
@click="openEndTime"
/>
</t-cell-group>
<t-pull-down-refresh <t-pull-down-refresh
class="list-wrapper fix-last-cell-line" class="fix-last-cell-line"
v-model="isRefreshing" v-model="isRefreshing"
:refresh-timeout="30000" :refresh-timeout="30000"
@refresh="refresh" @refresh="refresh"
@scrolltolower="fetch" @scrolltolower="fetch"
> >
<t-cell-group class="items" theme="card"> <div class="list-wrap">
<t-swipe-cell <t-cell-group class="summary" theme="card">
v-entrance-transition="index * 30" <t-cell
v-for="(item, index) in pageResult.list" v-if="dateFilterType !== 'all'"
:key="item.id || item.code || index" title="开始时间"
class="item" :note="dateRange[0] || '-'"
>
<customer-cell
class="cell"
:customer="item"
arrow arrow
@click="toDetail(item)" @click="openStartTime"
> />
<template #description> <t-cell
<telephone-link :value="item.telephone" /> v-if="dateFilterType !== 'all'"
</template> title="结束时间"
</customer-cell> :note="dateRange[1] || '-'"
<template v-if="canDeleteCustomer" #right> arrow
<t-button @click="openEndTime"
class="delete" />
theme="danger" <t-cell v-if="keyword" title="关键词" :note="keyword" />
:loading="isRemoving && removingCustomerId === item.id" <t-cell v-if="selectedTagList.length" title="标签" :note="tagFilterText" />
@click.stop="openRemoveDialog(item)" <t-cell title="数据量" :note="`共 ${pageResult.total} 位客户`" />
>
删除
</t-button>
</template>
</t-swipe-cell>
</t-cell-group> </t-cell-group>
<div v-if="!pageResult.list.length" class="center-tips" v-text="isLoading ? '正在加载客户' : '暂无客户数据'" /> <t-cell-group class="items" theme="card">
<div v-if="pageResult.list.length" class="center-tips" v-text="isLoading ? '正在加载更多' : isNoMore ? '已经到底了' : '上拉加载更多'" /> <t-swipe-cell
v-entrance-transition="index * 30"
v-for="(item, index) in pageResult.list"
:key="item.id || item.code || index"
class="item"
>
<customer-cell
class="cell"
:customer="item"
arrow
@click="toDetail(item)"
>
<template #description>
<telephone-link :value="item.telephone" />
</template>
</customer-cell>
<template v-if="canDeleteCustomer" #right>
<t-button
class="delete"
theme="danger"
:loading="isRemoving && removingCustomerId === item.id"
@click.stop="openRemoveDialog(item)"
>
删除
</t-button>
</template>
</t-swipe-cell>
</t-cell-group>
<div v-if="!pageResult.list.length" class="center-tips" v-text="isLoading ? '正在加载客户' : '暂无客户数据'" />
<div v-if="pageResult.list.length" class="center-tips" v-text="isLoading ? '正在加载更多' : isNoMore ? '已经到底了' : '上拉加载更多'" />
</div>
</t-pull-down-refresh> </t-pull-down-refresh>
<tag-selector <tag-selector
v-model="selectedTagIdList" v-model="selectedTagIdList"
@@ -600,9 +607,29 @@ function parseDateTime(value: string, isEnd: boolean): Date {
} }
} }
.list-wrapper { .list-wrap {
gap: 1rem;
display: flex;
flex-direction: column;
padding: 1rem 0; padding: 1rem 0;
.summary {
overflow: hidden;
:deep(.t-cell__title) {
flex: 0 0 4.5rem;
}
:deep(.t-cell__note) {
flex: 1 1 0;
min-width: 0;
overflow: hidden;
text-align: right;
text-overflow: ellipsis;
white-space: nowrap;
}
}
.delete { .delete {
height: 100%; height: 100%;
padding: 0 1rem; padding: 0 1rem;
@@ -630,6 +657,12 @@ function parseDateTime(value: string, isEnd: boolean): Date {
} }
} }
.summary {
color: #e2e8f0;
background: rgba(30, 41, 59, .9);
border-color: rgba(148, 163, 184, .16);
}
.items { .items {
.center-tips, .center-tips,