feat: 头像裁剪

This commit is contained in:
rd
2025-09-12 15:07:29 +08:00
parent 2c28ff7b06
commit f12bb0e86e
3 changed files with 67 additions and 287 deletions

View File

@ -20,7 +20,12 @@
<!-- 头像设置 -->
<Dropdown trigger="click" overlayClassName="layout-avatar-dropdown">
<img alt="avatar" src="@/assets/avatar.svg" class="cursor-pointer w-32px h-32px rounded-50%" />
<div class="cursor-pointer">
<Avatar :src="userInfo.head_image" :size="32" v-if="userInfo.head_image" />
<div v-else class="w-32px h-32px rounded-50% bg-#6D4CFE flex items-center justify-center">
<span class="color-#FFF text-14px font-400 lh-22px">{{ userInfo.mobile?.slice(-3) }}</span>
</div>
</div>
<template #overlay>
<Menu>
<MenuItem>
@ -126,7 +131,7 @@
</template>
<script setup>
import { Dropdown, Menu, MenuItem, SubMenu } from 'ant-design-vue';
import { Dropdown, Menu, MenuItem, SubMenu, Avatar } from 'ant-design-vue';
import { useRouter } from 'vue-router'; // import router from '@/router';
import { useEnterpriseStore } from '@/stores/modules/enterprise';
import { useSidebarStore } from '@/stores/modules/side-bar';
@ -169,6 +174,7 @@ const primary_enterprise = computed(() => userStore.userInfo?.primary_enterprise
const enterprises = computed(() => {
return userStore.userInfo?.enterprises ?? [];
});
const userInfo = computed(() => userStore.userInfo);
const enterpriseInfo = computed(() => {
return enterpriseStore?.enterpriseInfo ?? {};
});