release: update 3.2.0

This commit is contained in:
xiaoxian521 2022-03-22 00:37:24 +08:00
parent 12c2365a26
commit f80fbbed20
21 changed files with 119 additions and 127 deletions

View File

@ -61,6 +61,18 @@ module.exports = {
"@typescript-eslint/ban-ts-comment": "off",
"@typescript-eslint/no-empty-function": "off",
"@typescript-eslint/no-non-null-assertion": "off",
"vue/html-self-closing": [
"error",
{
html: {
void: "always",
normal: "always",
component: "always"
},
svg: "always",
math: "always"
}
],
"@typescript-eslint/no-unused-vars": [
"error",
{

View File

@ -1,6 +1,6 @@
{
"name": "pure-admin-thin",
"version": "3.1.0",
"version": "3.2.0",
"private": true,
"scripts": {
"dev": "cross-env --max_old_space_size=4096 vite",
@ -105,7 +105,7 @@
"stylelint-order": "^5.0.0",
"typescript": "^4.6.2",
"unplugin-element-plus": "^0.3.2",
"vite": "^2.9.0-beta.3",
"vite": "^2.9.0-beta.4",
"vite-plugin-live-reload": "^2.1.0",
"vite-plugin-mock": "^2.9.6",
"vite-plugin-remove-console": "^0.0.6",

54
pnpm-lock.yaml generated
View File

@ -75,7 +75,7 @@ specifiers:
stylelint-order: ^5.0.0
typescript: ^4.6.2
unplugin-element-plus: ^0.3.2
vite: ^2.9.0-beta.3
vite: ^2.9.0-beta.4
vite-plugin-live-reload: ^2.1.0
vite-plugin-mock: ^2.9.6
vite-plugin-remove-console: ^0.0.6
@ -127,7 +127,7 @@ devDependencies:
"@iconify-icons/fa-solid": 1.2.2
"@iconify-icons/ri": 1.2.1
"@iconify/vue": 3.1.4_vue@3.2.31
"@intlify/vite-plugin-vue-i18n": 3.3.1_5005873cfdafd7bccc775c7a0caf8390
"@intlify/vite-plugin-vue-i18n": 3.3.1_fecf2311320b252734da88aa76ba6360
"@pureadmin/theme": 0.0.1
"@types/element-resize-detector": 1.1.3
"@types/js-cookie": 3.0.1
@ -139,8 +139,8 @@ devDependencies:
"@types/qs": 6.9.7
"@typescript-eslint/eslint-plugin": 5.15.0_f2c49ce7d0e93ebcfdb4b7d25b131b28
"@typescript-eslint/parser": 5.15.0_eslint@8.11.0+typescript@4.6.2
"@vitejs/plugin-legacy": 1.7.1_vite@2.9.0-beta.3
"@vitejs/plugin-vue": 2.2.4_vite@2.9.0-beta.3+vue@3.2.31
"@vitejs/plugin-legacy": 1.7.1_vite@2.9.0-beta.4
"@vitejs/plugin-vue": 2.2.4_vite@2.9.0-beta.4+vue@3.2.31
"@vitejs/plugin-vue-jsx": 1.3.8
"@vue/eslint-config-prettier": 7.0.0_eslint@8.11.0+prettier@2.6.0
"@vue/eslint-config-typescript": 10.0.0_5e58415d4c9ab0c3da8935a9b8bb8c26
@ -169,13 +169,13 @@ devDependencies:
stylelint-config-standard: 24.0.0_stylelint@14.6.0
stylelint-order: 5.0.0_stylelint@14.6.0
typescript: 4.6.2
unplugin-element-plus: 0.3.2_rollup@2.70.1+vite@2.9.0-beta.3
vite: 2.9.0-beta.3_sass@1.49.9
unplugin-element-plus: 0.3.2_rollup@2.70.1+vite@2.9.0-beta.4
vite: 2.9.0-beta.4_sass@1.49.9
vite-plugin-live-reload: 2.1.0
vite-plugin-mock: 2.9.6_0f4f060d71e998e1697ce4d6d1a6c012
vite-plugin-mock: 2.9.6_cc7e5ded527ea0e0180226d44637e3ca
vite-plugin-remove-console: 0.0.6
vite-plugin-style-import: 1.4.1_vite@2.9.0-beta.3
vite-plugin-windicss: 1.8.3_vite@2.9.0-beta.3
vite-plugin-style-import: 1.4.1_vite@2.9.0-beta.4
vite-plugin-windicss: 1.8.3_vite@2.9.0-beta.4
vite-svg-loader: 2.2.0
vue-eslint-parser: 8.3.0_eslint@8.11.0
windicss: 3.5.1
@ -1006,7 +1006,7 @@ packages:
}
engines: { node: ">= 12" }
/@intlify/vite-plugin-vue-i18n/3.3.1_5005873cfdafd7bccc775c7a0caf8390:
/@intlify/vite-plugin-vue-i18n/3.3.1_fecf2311320b252734da88aa76ba6360:
resolution:
{
integrity: sha512-b9HIUANzL4/LmrA5RqeiPabZl2/RiWNAJ90TVZ8kSi3APRZ4BbmwUAclKe8ip+1jCDhqaGO/qfAI7SbQ0Y76Uw==
@ -1028,7 +1028,7 @@ packages:
debug: 4.3.3
fast-glob: 3.2.11
source-map: 0.6.1
vite: 2.9.0-beta.3_sass@1.49.9
vite: 2.9.0-beta.4_sass@1.49.9
vue-i18n: 9.2.0-beta.32_vue@3.2.31
transitivePeerDependencies:
- supports-color
@ -1451,7 +1451,7 @@ packages:
eslint-visitor-keys: 3.3.0
dev: true
/@vitejs/plugin-legacy/1.7.1_vite@2.9.0-beta.3:
/@vitejs/plugin-legacy/1.7.1_vite@2.9.0-beta.4:
resolution:
{
integrity: sha512-RqgILXsGpfV7NHodVCdBVau8ss5+ynMXp6JGF/F7nhSy0bnwSQPlMS3KFqh7twfifXK8VuMriqfU4CxOiqmNnA==
@ -1465,7 +1465,7 @@ packages:
magic-string: 0.25.9
regenerator-runtime: 0.13.9
systemjs: 6.12.1
vite: 2.9.0-beta.3_sass@1.49.9
vite: 2.9.0-beta.4_sass@1.49.9
dev: true
/@vitejs/plugin-vue-jsx/1.3.8:
@ -1485,7 +1485,7 @@ packages:
- supports-color
dev: true
/@vitejs/plugin-vue/2.2.4_vite@2.9.0-beta.3+vue@3.2.31:
/@vitejs/plugin-vue/2.2.4_vite@2.9.0-beta.4+vue@3.2.31:
resolution:
{
integrity: sha512-ev9AOlp0ljCaDkFZF3JwC/pD2N4Hh+r5srl5JHM6BKg5+99jiiK0rE/XaRs3pVm1wzyKkjUy/StBSoXX5fFzcw==
@ -1495,7 +1495,7 @@ packages:
vite: ^2.5.10
vue: ^3.2.25
dependencies:
vite: 2.9.0-beta.3_sass@1.49.9
vite: 2.9.0-beta.4_sass@1.49.9
vue: 3.2.31
dev: true
@ -6869,7 +6869,7 @@ packages:
engines: { node: ">= 0.8" }
dev: true
/unplugin-element-plus/0.3.2_rollup@2.70.1+vite@2.9.0-beta.3:
/unplugin-element-plus/0.3.2_rollup@2.70.1+vite@2.9.0-beta.4:
resolution:
{
integrity: sha512-/oPbLA1ByrZ3VvN3jrVtVZcGJ147+ccyrL1w9d8wNLTTMH+buxdtiMQQv9R7Muz22ocJvebXZzlRVlA/JeeVPA==
@ -6879,7 +6879,7 @@ packages:
"@rollup/pluginutils": 4.2.0
es-module-lexer: 0.10.4
magic-string: 0.26.1
unplugin: 0.3.3_rollup@2.70.1+vite@2.9.0-beta.3
unplugin: 0.3.3_rollup@2.70.1+vite@2.9.0-beta.4
transitivePeerDependencies:
- esbuild
- rollup
@ -6887,7 +6887,7 @@ packages:
- webpack
dev: true
/unplugin/0.3.3_rollup@2.70.1+vite@2.9.0-beta.3:
/unplugin/0.3.3_rollup@2.70.1+vite@2.9.0-beta.4:
resolution:
{
integrity: sha512-WjZWpUqqcYPQ/efR00Zm2m1+J1LitwoZ4uhHV4VdZ+IpW0Nh/qnDYtVf+nLhozXdGxslMPecOshVR7NiWFl4gA==
@ -6908,7 +6908,7 @@ packages:
optional: true
dependencies:
rollup: 2.70.1
vite: 2.9.0-beta.3_sass@1.49.9
vite: 2.9.0-beta.4_sass@1.49.9
webpack-virtual-modules: 0.4.3
dev: true
@ -6992,7 +6992,7 @@ packages:
chokidar: 3.5.3
dev: true
/vite-plugin-mock/2.9.6_0f4f060d71e998e1697ce4d6d1a6c012:
/vite-plugin-mock/2.9.6_cc7e5ded527ea0e0180226d44637e3ca:
resolution:
{
integrity: sha512-/Rm59oPppe/ncbkSrUuAxIQihlI2YcBmnbR4ST1RA2VzM1C0tEQc1KlbQvnUGhXECAGTaQN2JyasiwXP6EtKgg==
@ -7012,7 +7012,7 @@ packages:
fast-glob: 3.2.11
mockjs: 1.1.0
path-to-regexp: 6.2.0
vite: 2.9.0-beta.3_sass@1.49.9
vite: 2.9.0-beta.4_sass@1.49.9
transitivePeerDependencies:
- rollup
- supports-color
@ -7025,7 +7025,7 @@ packages:
}
dev: true
/vite-plugin-style-import/1.4.1_vite@2.9.0-beta.3:
/vite-plugin-style-import/1.4.1_vite@2.9.0-beta.4:
resolution:
{
integrity: sha512-lJCRvm7+So0hHdnSJiJPg9gD5mxtL6YY0jmhEph+k7ArpsyvqOh6han2kG5htbWWDZxHkUN9d1BuTFL//yCLLQ==
@ -7039,12 +7039,12 @@ packages:
es-module-lexer: 0.9.3
fs-extra: 10.0.1
magic-string: 0.25.9
vite: 2.9.0-beta.3_sass@1.49.9
vite: 2.9.0-beta.4_sass@1.49.9
transitivePeerDependencies:
- supports-color
dev: true
/vite-plugin-windicss/1.8.3_vite@2.9.0-beta.3:
/vite-plugin-windicss/1.8.3_vite@2.9.0-beta.4:
resolution:
{
integrity: sha512-RIw2GD6H6cKNE8wZXVOBs4L1uTicVS0FaAkeqXvy1oyuXLC4SXmvnzEuoK0+qFuWJjW0ECNwE8eU+ZZhzNQKUg==
@ -7055,7 +7055,7 @@ packages:
"@windicss/plugin-utils": 1.8.3
debug: 4.3.3
kolorist: 1.5.1
vite: 2.9.0-beta.3_sass@1.49.9
vite: 2.9.0-beta.4_sass@1.49.9
windicss: 3.5.1
transitivePeerDependencies:
- supports-color
@ -7071,10 +7071,10 @@ packages:
svgo: 2.8.0
dev: true
/vite/2.9.0-beta.3_sass@1.49.9:
/vite/2.9.0-beta.4_sass@1.49.9:
resolution:
{
integrity: sha512-x3G5GGQQlapvyjr2jhFTT16NIbKJdcfYOa6oD8OZuy+WqGTSYolowGJP7tUrTe9y5n641CBKLuhjqXc4gpwUVQ==
integrity: sha512-ToelFqN8lBaiK34VHzTbixOImHoHBw/PCveV5Xynd4ie1twcE0G6t9MFgunuN1hoajWMraGL5bV+pZ3hENR7GA==
}
engines: { node: ">=12.2.0" }
hasBin: true

View File

@ -1,5 +1,5 @@
{
"Version": "3.1.0",
"Version": "3.2.0",
"Title": "PureAdmin",
"FixedHeader": true,
"HiddenSideBar": false,

View File

@ -82,10 +82,11 @@ function translationEn() {
<el-dropdown-item
:style="getDropdownItemStyle(locale, 'en')"
@click="translationEn"
><el-icon class="check-en" v-show="locale === 'en'"
><IconifyIconOffline icon="check" /></el-icon
>English</el-dropdown-item
>
<span class="check-en" v-show="locale === 'en'">
<IconifyIconOffline icon="check" /> </span
>English
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
@ -106,13 +107,13 @@ function translationEn() {
</el-dropdown-menu>
</template>
</el-dropdown>
<el-icon
<span
class="el-icon-setting"
:title="t('buttons.hssystemSet')"
@click="onPanel"
>
<IconifyIconOffline icon="setting" />
</el-icon>
</span>
</div>
</div>
</template>

View File

@ -24,9 +24,9 @@ function tabClick() {
<el-dropdown ref="dropdownDom" trigger="click" placement="bottom-end">
<span class="dropdown-badge">
<el-badge :value="noticesNum" :max="99">
<el-icon class="header-notice-icon"
><IconifyIconOffline icon="bell"
/></el-icon>
<span class="header-notice-icon">
<IconifyIconOffline icon="bell" />
</span>
</el-badge>
</span>
<template #dropdown>

View File

@ -50,7 +50,7 @@ function hoverDescription(event, description) {
:size="30"
:src="props.noticeItem.avatar"
class="notice-container-avatar"
></el-avatar>
/>
<div class="notice-container-text">
<div class="notice-text-title">
<el-tooltip

View File

@ -17,7 +17,7 @@ const props = defineProps({
v-for="(item, index) in props.list"
:noticeItem="item"
:key="index"
></NoticeItem>
/>
</div>
<el-empty v-else description="暂无数据"></el-empty>
<el-empty v-else description="暂无数据" />
</template>

View File

@ -26,7 +26,7 @@ emitter.on("openPanel", () => {
<IconifyIconOffline icon="close" />
</el-icon>
</div>
<div style="border-bottom: 1px solid #dcdfe6"></div>
<div style="border-bottom: 1px solid #dcdfe6" />
<slot />
</div>
</div>

View File

@ -139,9 +139,9 @@ onKeyStroke("ArrowDown", handleDown);
@input="handleSearch"
>
<template #prefix>
<el-icon class="el-input__icon">
<span class="el-input__icon">
<IconifyIconOffline icon="search" />
</el-icon>
</span>
</template>
</el-input>
<div class="search-result-container">

View File

@ -11,9 +11,7 @@
@click="handleTo"
@mouseenter="handleMouse(item)"
>
<component
:is="useRenderIcon(item.meta?.icon ?? 'bookmark-2-line')"
></component>
<component :is="useRenderIcon(item.meta?.icon ?? 'bookmark-2-line')" />
<span class="result-item-title">{{ t(item.meta?.title) }}</span>
<enterOutlined />
</div>

View File

@ -316,8 +316,7 @@ nextTick(() => {
:active-icon="dayIcon"
:inactive-icon="darkIcon"
@change="dataThemeChange"
>
</el-switch>
/>
<el-divider>导航栏模式</el-divider>
<ul class="pure-theme">
@ -327,8 +326,8 @@ nextTick(() => {
ref="verticalRef"
@click="setLayoutModel('vertical')"
>
<div></div>
<div></div>
<div />
<div />
</li>
</el-tooltip>
@ -338,8 +337,8 @@ nextTick(() => {
ref="horizontalRef"
@click="setLayoutModel('horizontal')"
>
<div></div>
<div></div>
<div />
<div />
</li>
</el-tooltip>
@ -349,8 +348,8 @@ nextTick(() => {
ref="mixRef"
@click="setLayoutModel('mix')"
>
<div></div>
<div></div>
<div />
<div />
</li>
</el-tooltip>
</ul>
@ -384,8 +383,7 @@ nextTick(() => {
active-text="开"
inactive-text="关"
@change="greyChange"
>
</el-switch>
/>
</li>
<li v-show="!dataTheme">
<span>色弱模式</span>
@ -396,8 +394,7 @@ nextTick(() => {
active-text="开"
inactive-text="关"
@change="weekChange"
>
</el-switch>
/>
</li>
<li>
<span>隐藏标签页</span>
@ -408,8 +405,7 @@ nextTick(() => {
active-text="开"
inactive-text="关"
@change="tagsChange"
>
</el-switch>
/>
</li>
<li>
<span>侧边栏Logo</span>
@ -422,8 +418,7 @@ nextTick(() => {
active-text="开"
inactive-text="关"
@change="logoChange"
>
</el-switch>
/>
</li>
<li>
<span>标签页持久化</span>
@ -434,8 +429,7 @@ nextTick(() => {
active-text="开"
inactive-text="关"
@change="multiTagsCacheChange"
>
</el-switch>
/>
</li>
<li>

View File

@ -69,11 +69,7 @@ function translationEn() {
<template>
<div class="horizontal-header">
<div class="horizontal-header-left" @click="backHome">
<FontIcon
icon="team-iconlogo"
svg
style="width: 35px; height: 35px"
></FontIcon>
<FontIcon icon="team-iconlogo" svg style="width: 35px; height: 35px" />
<h4>{{ title }}</h4>
</div>
<el-menu
@ -106,15 +102,17 @@ function translationEn() {
<el-dropdown-item
:style="getDropdownItemStyle(locale, 'zh')"
@click="translationCh"
><el-icon class="check-zh" v-show="locale === 'zh'"
><IconifyIconOffline icon="check" /></el-icon
>简体中文</el-dropdown-item
>
<span class="check-zh" v-show="locale === 'zh'">
<IconifyIconOffline icon="check" /> </span
>简体中文
</el-dropdown-item>
<el-dropdown-item
:style="getDropdownItemStyle(locale, 'en')"
@click="translationEn"
><el-icon class="check-en" v-show="locale === 'en'"
><IconifyIconOffline icon="check" /></el-icon
>
<span class="check-en" v-show="locale === 'en'">
<IconifyIconOffline icon="check" /> </span
>English</el-dropdown-item
>
</el-dropdown-menu>
@ -138,13 +136,13 @@ function translationEn() {
</el-dropdown-menu>
</template>
</el-dropdown>
<el-icon
<span
class="el-icon-setting"
:title="t('buttons.hssystemSet')"
@click="onPanel"
>
<IconifyIconOffline icon="setting" />
</el-icon>
</span>
</div>
</div>
</template>

View File

@ -18,11 +18,7 @@ const title =
class="sidebar-logo-link"
to="/"
>
<FontIcon
icon="team-iconlogo"
svg
style="width: 35px; height: 35px"
></FontIcon>
<FontIcon icon="team-iconlogo" svg style="width: 35px; height: 35px" />
<span class="sidebar-title">{{ title }}</span>
</router-link>
<router-link
@ -32,11 +28,7 @@ const title =
class="sidebar-logo-link"
to="/"
>
<FontIcon
icon="team-iconlogo"
svg
style="width: 35px; height: 35px"
></FontIcon>
<FontIcon icon="team-iconlogo" svg style="width: 35px; height: 35px" />
<span class="sidebar-title">{{ title }}</span>
</router-link>
</transition>

View File

@ -119,11 +119,9 @@ function translationEn() {
:index="resolvePath(route) || route.redirect"
>
<template #title>
<el-icon v-show="route.meta.icon" :class="route.meta.icon">
<component
:is="useRenderIcon(route.meta && route.meta.icon)"
></component>
</el-icon>
<div v-show="route.meta.icon" :class="['el-icon', route.meta.icon]">
<component :is="useRenderIcon(route.meta && route.meta.icon)" />
</div>
<span>{{ transformI18n(route.meta.title, route.meta.i18n) }}</span>
<FontIcon
v-if="route.meta.extraIcon"
@ -132,7 +130,7 @@ function translationEn() {
style="position: absolute; right: 10px"
:icon="route.meta.extraIcon.name"
:svg="route.meta.extraIcon.svg ? true : false"
></FontIcon>
/>
</template>
</el-menu-item>
</el-menu>
@ -151,15 +149,15 @@ function translationEn() {
<el-dropdown-item
:style="getDropdownItemStyle(locale, 'zh')"
@click="translationCh"
><el-icon class="check-zh" v-show="locale === 'zh'"
><IconifyIconOffline icon="check" /></el-icon
><span class="check-zh" v-show="locale === 'zh'"
><IconifyIconOffline icon="check" /></span
>简体中文</el-dropdown-item
>
<el-dropdown-item
:style="getDropdownItemStyle(locale, 'en')"
@click="translationEn"
><el-icon class="check-en" v-show="locale === 'en'"
><IconifyIconOffline icon="check" /></el-icon
><span class="check-en" v-show="locale === 'en'"
><IconifyIconOffline icon="check" /></span
>English</el-dropdown-item
>
</el-dropdown-menu>
@ -183,13 +181,13 @@ function translationEn() {
</el-dropdown-menu>
</template>
</el-dropdown>
<el-icon
<span
class="el-icon-setting"
:title="t('buttons.hssystemSet')"
@click="onPanel"
>
<IconifyIconOffline icon="setting" />
</el-icon>
</span>
</div>
</div>
</template>

View File

@ -148,7 +148,7 @@ function resolvePath(routePath) {
:class="{ 'submenu-title-noDropdown': !isNest }"
:style="getNoDropdownStyle"
>
<el-icon v-show="props.item.meta.icon">
<div class="el-icon" v-show="props.item.meta.icon">
<component
:is="
useRenderIcon(
@ -156,8 +156,8 @@ function resolvePath(routePath) {
(props.item.meta && props.item.meta.icon)
)
"
></component>
</el-icon>
/>
</div>
<div
v-if="
!pureApp.sidebar.opened &&
@ -203,7 +203,7 @@ function resolvePath(routePath) {
:style="getExtraIconStyle"
:icon="onlyOneChild.meta.extraIcon.name"
:svg="onlyOneChild.meta.extraIcon.svg ? true : false"
></FontIcon>
/>
</div>
</template>
</el-menu-item>
@ -216,11 +216,14 @@ function resolvePath(routePath) {
popper-append-to-body
>
<template #title>
<el-icon v-show="props.item.meta.icon" :class="props.item.meta.icon">
<div
v-show="props.item.meta.icon"
:class="['el-icon', props.item.meta.icon]"
>
<component
:is="useRenderIcon(props.item.meta && props.item.meta.icon)"
></component>
</el-icon>
/>
</div>
<span v-if="!menuMode">{{
transformI18n(props.item.meta.title, props.item.meta.i18n)
}}</span>
@ -250,7 +253,7 @@ function resolvePath(routePath) {
style="position: absolute; right: 10px"
:icon="props.item.meta.extraIcon.name"
:svg="props.item.meta.extraIcon.svg ? true : false"
></FontIcon>
/>
</template>
<sidebar-item
v-for="child in props.item.children"

View File

@ -428,7 +428,8 @@ function onClickDrop(key, item, selectRoute?: RouteConfigs) {
});
}
function handleCommand(command: any) {
function handleCommand(command: object) {
// @ts-expect-error
const { key, item } = command;
onClickDrop(key, item);
}
@ -663,7 +664,7 @@ const getContextMenuStyle = computed((): CSSProperties => {
<router-link :to="item.path"
>{{ transformI18n(item.meta.title, item.meta.i18n) }}
</router-link>
<el-icon
<span
v-if="
iconIsActive(item, index) ||
(index === activeIndex && index !== 0)
@ -672,12 +673,12 @@ const getContextMenuStyle = computed((): CSSProperties => {
@click.stop="deleteMenu(item)"
>
<IconifyIconOffline icon="close-bold" />
</el-icon>
</span>
<div
:ref="'schedule' + index"
v-if="showModel !== 'card'"
:class="[scheduleIsActive(item)]"
></div>
/>
</div>
</div>
</div>
@ -710,13 +711,13 @@ const getContextMenuStyle = computed((): CSSProperties => {
<!-- 右侧功能按钮 -->
<ul class="right-button">
<li>
<el-icon
<span
:title="t('buttons.hsrefreshRoute')"
class="el-icon-refresh-right rotate"
@click="onFresh"
>
<IconifyIconOffline icon="refresh-right" />
</el-icon>
</span>
</li>
<li>
<el-dropdown
@ -724,9 +725,7 @@ const getContextMenuStyle = computed((): CSSProperties => {
placement="bottom-end"
@command="handleCommand"
>
<el-icon>
<IconifyIconOffline icon="arrow-down" />
</el-icon>
<IconifyIconOffline icon="arrow-down" />
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item
@ -748,7 +747,7 @@ const getContextMenuStyle = computed((): CSSProperties => {
</el-dropdown>
</li>
<li>
<slot></slot>
<slot />
</li>
</ul>
</div>

View File

@ -1,6 +1,6 @@
<template>
<div class="frame" v-loading="loading">
<iframe :src="frameSrc" class="frame-iframe" ref="frameRef"></iframe>
<iframe :src="frameSrc" class="frame-iframe" ref="frameRef" />
</div>
</template>
<script lang="ts" setup>

View File

@ -16,5 +16,5 @@ replace({
</script>
<template>
<div></div>
<div />
</template>

View File

@ -202,7 +202,7 @@
.horizontal-header-right {
display: flex;
min-width: 280px;
min-width: 340px;
align-items: center;
color: $subMenuActiveText;
justify-content: flex-end;
@ -609,15 +609,12 @@ body[layout="vertical"] {
}
}
/* 无子菜单 */
/* 有无子菜单 */
.el-sub-menu__title,
.el-menu-item [class^="el-icon"] {
right: 5px;
}
.el-sub-menu__title [class^="el-icon"] {
right: 2px;
}
.submenu-title-noDropdown {
background: transparent !important;
}

View File

@ -24,8 +24,8 @@ function changRole(value) {
<template #header>
<div class="card-header">
<el-radio-group v-model="auth" @change="changRole">
<el-radio-button label="admin"></el-radio-button>
<el-radio-button label="test"></el-radio-button>
<el-radio-button label="admin" />
<el-radio-button label="test" />
</el-radio-group>
</div>
</template>