refactor: icon优化

Former-commit-id: efc04bf33433c06d7dea1f84c41ef83b06ff16f1
This commit is contained in:
haoxr
2023-01-15 12:55:13 +08:00
parent 3c38628218
commit af4fd8cb6a
12 changed files with 34 additions and 34 deletions

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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"

View File

@@ -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)

View File

@@ -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>

View File

@@ -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>

View File

@@ -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>

View File

@@ -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

View File

@@ -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
" "
/> />