refactor: icon优化
Former-commit-id: efc04bf33433c06d7dea1f84c41ef83b06ff16f1
This commit is contained in:
@@ -109,7 +109,7 @@ onMounted(() => {
|
|||||||
@click="onIconSelect(iconName)"
|
@click="onIconSelect(iconName)"
|
||||||
>
|
>
|
||||||
<el-tooltip :content="iconName" placement="bottom" effect="light">
|
<el-tooltip :content="iconName" placement="bottom" effect="light">
|
||||||
<svg-icon color="#999" :icon-name="iconName" />
|
<svg-icon color="#999" :icon-class="iconName" />
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -23,8 +23,10 @@ function handleLanguageChange(lang: string) {
|
|||||||
trigger="click"
|
trigger="click"
|
||||||
@command="handleLanguageChange"
|
@command="handleLanguageChange"
|
||||||
>
|
>
|
||||||
<div class="cursor-pointer w-[40px] h-[50px] leading-[50px] text-center">
|
<div
|
||||||
<svg-icon icon-name="language" />
|
class="cursor-pointer h-[50px] leading-[50px] text-center px-2.5 hover:bg-gray-50"
|
||||||
|
>
|
||||||
|
<svg-icon icon-class="language" />
|
||||||
</div>
|
</div>
|
||||||
<template #dropdown>
|
<template #dropdown>
|
||||||
<el-dropdown-menu>
|
<el-dropdown-menu>
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="cursor-pointer w-[40px] h-[50px] leading-[50px] text-center">
|
<div
|
||||||
|
class="cursor-pointer h-[50px] leading-[50px] text-center text-[#5a5e66] px-2.5 hover:bg-gray-50"
|
||||||
|
>
|
||||||
<svg-icon
|
<svg-icon
|
||||||
:icon-name="isFullscreen ? 'exit-fullscreen' : 'fullscreen'"
|
:icon-class="isFullscreen ? 'exit-fullscreen' : 'fullscreen'"
|
||||||
@click="toggle"
|
@click="toggle"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useFullscreen } from '@vueuse/core';
|
|
||||||
import SvgIcon from '@/components/SvgIcon/index.vue';
|
|
||||||
|
|
||||||
const { isFullscreen, toggle } = useFullscreen();
|
const { isFullscreen, toggle } = useFullscreen();
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref } from 'vue';
|
|
||||||
|
|
||||||
import { useAppStore } from '@/store/modules/app';
|
import { useAppStore } from '@/store/modules/app';
|
||||||
import SvgIcon from '@/components/SvgIcon/index.vue';
|
|
||||||
|
|
||||||
const appStore = useAppStore();
|
const appStore = useAppStore();
|
||||||
|
|
||||||
@@ -20,8 +17,10 @@ function handleSizeChange(size: string) {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<el-dropdown trigger="click" @command="handleSizeChange">
|
<el-dropdown trigger="click" @command="handleSizeChange">
|
||||||
<div class="cursor-pointerw-[40px] h-[50px] leading-[50px] text-center">
|
<div
|
||||||
<svg-icon icon-name="size" />
|
class="cursor-pointer h-[50px] leading-[50px] text-center text-[#5a5e66] px-2.5 hover:bg-gray-50"
|
||||||
|
>
|
||||||
|
<svg-icon icon-class="size" />
|
||||||
</div>
|
</div>
|
||||||
<template #dropdown>
|
<template #dropdown>
|
||||||
<el-dropdown-menu>
|
<el-dropdown-menu>
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ const props = defineProps({
|
|||||||
type: String,
|
type: String,
|
||||||
default: 'icon'
|
default: 'icon'
|
||||||
},
|
},
|
||||||
iconName: {
|
iconClass: {
|
||||||
type: String,
|
type: String,
|
||||||
required: false
|
required: false
|
||||||
},
|
},
|
||||||
@@ -27,7 +27,7 @@ const props = defineProps({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const symbolId = computed(() => `#${props.prefix}-${props.iconName}`);
|
const symbolId = computed(() => `#${props.prefix}-${props.iconClass}`);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ function logout() {
|
|||||||
</div>
|
</div>
|
||||||
<!-- 头像 -->
|
<!-- 头像 -->
|
||||||
<el-dropdown trigger="click">
|
<el-dropdown trigger="click">
|
||||||
<div class="flex justify-center items-center pr-[20px]">
|
<div class="flex justify-center items-center mx-2">
|
||||||
<img
|
<img
|
||||||
:src="userStore.avatar + '?imageView2/1/w/80/h/80'"
|
:src="userStore.avatar + '?imageView2/1/w/80/h/80'"
|
||||||
class="w-[40px] h-[40px] rounded-lg"
|
class="w-[40px] h-[40px] rounded-lg"
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ function resolvePath(routePath: string) {
|
|||||||
>
|
>
|
||||||
<svg-icon
|
<svg-icon
|
||||||
v-if="onlyOneChild.meta && onlyOneChild.meta.icon"
|
v-if="onlyOneChild.meta && onlyOneChild.meta.icon"
|
||||||
:icon-name="onlyOneChild.meta.icon"
|
:icon-class="onlyOneChild.meta.icon"
|
||||||
/>
|
/>
|
||||||
<template #title>
|
<template #title>
|
||||||
{{ translateRouteTitleI18n(onlyOneChild.meta.title) }}
|
{{ translateRouteTitleI18n(onlyOneChild.meta.title) }}
|
||||||
@@ -92,7 +92,7 @@ function resolvePath(routePath: string) {
|
|||||||
<template #title>
|
<template #title>
|
||||||
<svg-icon
|
<svg-icon
|
||||||
v-if="item.meta && item.meta.icon"
|
v-if="item.meta && item.meta.icon"
|
||||||
:icon-name="item.meta.icon"
|
:icon-class="item.meta.icon"
|
||||||
/>
|
/>
|
||||||
<span v-if="item.meta && item.meta.title">{{
|
<span v-if="item.meta && item.meta.title">{{
|
||||||
translateRouteTitleI18n(item.meta.title)
|
translateRouteTitleI18n(item.meta.title)
|
||||||
|
|||||||
@@ -271,27 +271,27 @@ onMounted(() => {
|
|||||||
:style="{ left: left + 'px', top: top + 'px' }"
|
:style="{ left: left + 'px', top: top + 'px' }"
|
||||||
>
|
>
|
||||||
<li @click="refreshSelectedTag(selectedTag)">
|
<li @click="refreshSelectedTag(selectedTag)">
|
||||||
<svg-icon icon-name="refresh" />
|
<svg-icon icon-class="refresh" />
|
||||||
刷新
|
刷新
|
||||||
</li>
|
</li>
|
||||||
<li v-if="!isAffix(selectedTag)" @click="closeSelectedTag(selectedTag)">
|
<li v-if="!isAffix(selectedTag)" @click="closeSelectedTag(selectedTag)">
|
||||||
<svg-icon icon-name="close" />
|
<svg-icon icon-class="close" />
|
||||||
关闭
|
关闭
|
||||||
</li>
|
</li>
|
||||||
<li @click="closeOtherTags">
|
<li @click="closeOtherTags">
|
||||||
<svg-icon icon-name="close_other" />
|
<svg-icon icon-class="close_other" />
|
||||||
关闭其它
|
关闭其它
|
||||||
</li>
|
</li>
|
||||||
<li v-if="!isFirstView()" @click="closeLeftTags">
|
<li v-if="!isFirstView()" @click="closeLeftTags">
|
||||||
<svg-icon icon-name="close_left" />
|
<svg-icon icon-class="close_left" />
|
||||||
关闭左侧
|
关闭左侧
|
||||||
</li>
|
</li>
|
||||||
<li v-if="!isLastView()" @click="closeRightTags">
|
<li v-if="!isLastView()" @click="closeRightTags">
|
||||||
<svg-icon icon-name="close_right" />
|
<svg-icon icon-class="close_right" />
|
||||||
关闭右侧
|
关闭右侧
|
||||||
</li>
|
</li>
|
||||||
<li @click="closeAllTags(selectedTag)">
|
<li @click="closeAllTags(selectedTag)">
|
||||||
<svg-icon icon-name="close_all" />
|
<svg-icon icon-class="close_all" />
|
||||||
关闭所有
|
关闭所有
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ import Team from './components/Team/index.vue';
|
|||||||
<el-col :xs="24" :sm="12" :lg="6" class="card-panel__col">
|
<el-col :xs="24" :sm="12" :lg="6" class="card-panel__col">
|
||||||
<div class="card-panel">
|
<div class="card-panel">
|
||||||
<div class="card-panel-icon-wrapper icon-user">
|
<div class="card-panel-icon-wrapper icon-user">
|
||||||
<svg-icon icon-name="uv" size="4em" />
|
<svg-icon icon-class="uv" size="4em" />
|
||||||
</div>
|
</div>
|
||||||
<div class="card-panel-description">
|
<div class="card-panel-description">
|
||||||
<div class="card-panel-text">访问数</div>
|
<div class="card-panel-text">访问数</div>
|
||||||
@@ -35,7 +35,7 @@ import Team from './components/Team/index.vue';
|
|||||||
<el-col :xs="24" :sm="12" :lg="6" class="card-panel__col">
|
<el-col :xs="24" :sm="12" :lg="6" class="card-panel__col">
|
||||||
<div class="card-panel">
|
<div class="card-panel">
|
||||||
<div class="card-panel-icon-wrapper icon-message">
|
<div class="card-panel-icon-wrapper icon-message">
|
||||||
<svg-icon icon-name="message" size="4em" />
|
<svg-icon icon-class="message" size="4em" />
|
||||||
</div>
|
</div>
|
||||||
<div class="card-panel-description">
|
<div class="card-panel-description">
|
||||||
<div class="card-panel-text">消息数</div>
|
<div class="card-panel-text">消息数</div>
|
||||||
@@ -47,7 +47,7 @@ import Team from './components/Team/index.vue';
|
|||||||
<el-col :xs="24" :sm="12" :lg="6" class="card-panel__col">
|
<el-col :xs="24" :sm="12" :lg="6" class="card-panel__col">
|
||||||
<div class="card-panel">
|
<div class="card-panel">
|
||||||
<div class="card-panel-icon-wrapper icon-money">
|
<div class="card-panel-icon-wrapper icon-money">
|
||||||
<svg-icon icon-name="money" size="4em" />
|
<svg-icon icon-class="money" size="4em" />
|
||||||
</div>
|
</div>
|
||||||
<div class="card-panel-description">
|
<div class="card-panel-description">
|
||||||
<div class="card-panel-text">收入金额</div>
|
<div class="card-panel-text">收入金额</div>
|
||||||
@@ -58,7 +58,7 @@ import Team from './components/Team/index.vue';
|
|||||||
<el-col :xs="24" :sm="12" :lg="6" class="card-panel__col">
|
<el-col :xs="24" :sm="12" :lg="6" class="card-panel__col">
|
||||||
<div class="card-panel">
|
<div class="card-panel">
|
||||||
<div class="card-panel-icon-wrapper icon-shopping">
|
<div class="card-panel-icon-wrapper icon-shopping">
|
||||||
<svg-icon icon-name="shopping" size="4em" />
|
<svg-icon icon-class="shopping" size="4em" />
|
||||||
</div>
|
</div>
|
||||||
<div class="card-panel-description">
|
<div class="card-panel-description">
|
||||||
<div class="card-panel-text">订单数</div>
|
<div class="card-panel-text">订单数</div>
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
<el-form-item prop="username">
|
<el-form-item prop="username">
|
||||||
<span class="svg-container">
|
<span class="svg-container">
|
||||||
<svg-icon icon-name="user" />
|
<svg-icon icon-class="user" />
|
||||||
</span>
|
</span>
|
||||||
<el-input
|
<el-input
|
||||||
ref="username"
|
ref="username"
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
>
|
>
|
||||||
<el-form-item prop="password">
|
<el-form-item prop="password">
|
||||||
<span class="svg-container">
|
<span class="svg-container">
|
||||||
<svg-icon icon-name="password" />
|
<svg-icon icon-class="password" />
|
||||||
</span>
|
</span>
|
||||||
<el-input
|
<el-input
|
||||||
ref="passwordRef"
|
ref="passwordRef"
|
||||||
@@ -52,7 +52,7 @@
|
|||||||
/>
|
/>
|
||||||
<span class="show-pwd" @click="showPwd">
|
<span class="show-pwd" @click="showPwd">
|
||||||
<svg-icon
|
<svg-icon
|
||||||
:icon-name="passwordType === 'password' ? 'eye' : 'eye-open'"
|
:icon-class="passwordType === 'password' ? 'eye' : 'eye-open'"
|
||||||
/>
|
/>
|
||||||
</span>
|
</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ const handleDictTypeClick = (row: any) => {
|
|||||||
<el-col :span="10" :xs="24">
|
<el-col :span="10" :xs="24">
|
||||||
<el-card class="box-card">
|
<el-card class="box-card">
|
||||||
<template #header>
|
<template #header>
|
||||||
<svg-icon icon-name="dict" />
|
<svg-icon icon-class="dict" />
|
||||||
字典类型
|
字典类型
|
||||||
</template>
|
</template>
|
||||||
<dict-type @dictClick="handleDictTypeClick" />
|
<dict-type @dictClick="handleDictTypeClick" />
|
||||||
@@ -39,7 +39,7 @@ const handleDictTypeClick = (row: any) => {
|
|||||||
<el-col :span="14" :xs="24">
|
<el-col :span="14" :xs="24">
|
||||||
<el-card class="box-card">
|
<el-card class="box-card">
|
||||||
<template #header>
|
<template #header>
|
||||||
<svg-icon icon-name="dict_item" />
|
<svg-icon icon-class="dict_item" />
|
||||||
<span style="margin: 0 5px">字典数据项</span>
|
<span style="margin: 0 5px">字典数据项</span>
|
||||||
<el-tag type="success" v-if="typeCode" size="small">{{
|
<el-tag type="success" v-if="typeCode" size="small">{{
|
||||||
typeName
|
typeName
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
<el-table-column label="菜单名称">
|
<el-table-column label="菜单名称">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<svg-icon
|
<svg-icon
|
||||||
:icon-name="
|
:icon-class="
|
||||||
scope.row.type === 'BUTTON' ? 'button' : scope.row.icon
|
scope.row.type === 'BUTTON' ? 'button' : scope.row.icon
|
||||||
"
|
"
|
||||||
/>
|
/>
|
||||||
|
|||||||
Reference in New Issue
Block a user