优化个人中心与界面交互

This commit is contained in:
Cheng Zhou
2026-06-11 09:09:17 +08:00
parent 84e55af8fe
commit b7484c8e01
15 changed files with 572 additions and 141 deletions
-41
View File
@@ -87,9 +87,6 @@
<el-table-column :label="TEXT.common.fields.name" width="360">
<template #default="scope">
<div class="user-cell">
<div class="user-avatar" :class="'avatar--' + (scope.row.status || '').toLowerCase()">
{{ getInitials(scope.row.full_name) }}
</div>
<div class="user-info">
<span class="user-name">{{ scope.row.full_name }}</span>
<span class="user-email">{{ scope.row.email }}</span>
@@ -195,13 +192,6 @@ const activeCount = computed(() => allUsers.value.filter(u => u.status === 'ACTI
const pendingCount = computed(() => allUsers.value.filter(u => u.status === 'PENDING').length);
const disabledCount = computed(() => allUsers.value.filter(u => u.status === 'DISABLED').length);
const getInitials = (name: string) => {
if (!name) return '?';
const parts = name.trim().split(/\s+/);
if (parts.length >= 2) return (parts[0][0] + parts[1][0]).toUpperCase();
return name.slice(0, 2).toUpperCase();
};
const statusType = (status: string) => {
switch (status) {
case "ACTIVE": return "success";
@@ -487,37 +477,6 @@ onBeforeUnmount(() => {
.user-cell {
display: flex;
align-items: center;
gap: 12px;
}
.user-avatar {
width: 36px;
height: 36px;
border-radius: 10px;
display: flex;
align-items: center;
justify-content: center;
font-size: 13px;
font-weight: 700;
color: #fff;
flex-shrink: 0;
background: var(--ctms-primary);
}
.user-avatar.avatar--active {
background: linear-gradient(135deg, #3f8f6b, #2d7a5a);
}
.user-avatar.avatar--pending {
background: linear-gradient(135deg, #c58b2a, #a87420);
}
.user-avatar.avatar--disabled {
background: linear-gradient(135deg, #94a3b8, #64748b);
}
.user-avatar.avatar--rejected {
background: linear-gradient(135deg, #c24b4b, #a83a3a);
}
.user-info {