diff --git a/package.json b/package.json index 2905431..ce04835 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "vite": "^2.8.0", "vite-plugin-remove-console": "^0.0.6", "vite-plugin-style-import": "^2.0.0", - "vite-plugin-svg-icons": "^2.0.1" + "vite-svg-loader": "^3.1.2" }, "lint-staged": { "src/**/*.{jsx,tsx,ts,js,vue}": [ diff --git a/src/components/extra/ElIcon.vue b/src/components/extra/ElIcon.vue index 68634ff..1314db7 100644 --- a/src/components/extra/ElIcon.vue +++ b/src/components/extra/ElIcon.vue @@ -1,17 +1,16 @@ diff --git a/src/icons/index.js b/src/icons/index.js index 3a75698..cbdc883 100644 --- a/src/icons/index.js +++ b/src/icons/index.js @@ -1,2 +1,10 @@ -import 'virtual:svg-icons-register'; import '@/icons/remixicon.less'; +import * as icons from '@element-plus/icons'; +import remix from './index.json'; +const svgs = Object.fromEntries( + Object.entries(import.meta.globEager('./svg/*.svg')).map((entry) => [ + entry[0].split('/').pop().split('.').reverse().slice(1).reverse().join('.'), + entry[1].default, + ]) +); +export { svgs, icons, remix }; diff --git a/src/layouts/components/logo.vue b/src/layouts/components/logo.vue index a7e76e2..905a6e9 100644 --- a/src/layouts/components/logo.vue +++ b/src/layouts/components/logo.vue @@ -1,12 +1,13 @@ diff --git a/src/styles/globalVariables.module.less b/src/styles/globalVariables.module.less index d938303..ef147fc 100644 --- a/src/styles/globalVariables.module.less +++ b/src/styles/globalVariables.module.less @@ -59,6 +59,10 @@ @layout-header-bgc: @color-white; @layout-header-fc: @color-black; +@layout-logo-size: calc(@layout-header-height * 0.72); +@layout-logo-color: @color-white; +@layout-logo-bg: linear-gradient(180deg, #77b4f6 2%, #4481ff 100%); + @layout-tabs-height: 40px; @layout-footer-height: @layout-h1; @@ -71,5 +75,6 @@ :export { layoutAsideWidth: @layout-aside-width; - layoutLogoSize: calc(@layout-header-height * 0.72); + layoutLogoSize: @layout-logo-size; + layoutLogoColor: @layout-logo-color; } diff --git a/src/views/system/permission/form.vue b/src/views/system/permission/form.vue new file mode 100644 index 0000000..0c7e9a0 --- /dev/null +++ b/src/views/system/permission/form.vue @@ -0,0 +1,115 @@ + + + + + diff --git a/src/views/system/permission/index.vue b/src/views/system/permission/index.vue index 6e2c71c..94389ea 100644 --- a/src/views/system/permission/index.vue +++ b/src/views/system/permission/index.vue @@ -1,7 +1,169 @@ - + diff --git a/vite.config.js b/vite.config.js index 114ba67..dbb37f7 100644 --- a/vite.config.js +++ b/vite.config.js @@ -1,16 +1,15 @@ -import { resolve } from 'path'; - +import eslintPlugin from '@nabla/vite-plugin-eslint'; +import globalStyle from '@originjs/vite-plugin-global-style'; +import legacy from '@vitejs/plugin-legacy'; import vue from '@vitejs/plugin-vue'; import vueJsx from '@vitejs/plugin-vue-jsx'; +import { resolve } from 'path'; import AutoImport from 'unplugin-auto-import/vite'; -import Components from 'unplugin-vue-components/vite'; import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'; -import { createStyleImportPlugin, ElementPlusResolve as ElementPlusStyleResolve } from 'vite-plugin-style-import'; -import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'; -import globalStyle from '@originjs/vite-plugin-global-style'; +import Components from 'unplugin-vue-components/vite'; import removeConsole from 'vite-plugin-remove-console'; -import legacy from '@vitejs/plugin-legacy'; -import eslintPlugin from '@nabla/vite-plugin-eslint'; +import { createStyleImportPlugin, ElementPlusResolve as ElementPlusStyleResolve } from 'vite-plugin-style-import'; +import svgLoader from 'vite-svg-loader'; export default (configEnv) => { console.info('command', configEnv.command); @@ -47,10 +46,7 @@ export default (configEnv) => { vueJsx({ transformOn: true, }), - createSvgIconsPlugin({ - iconDirs: [resolve(process.cwd(), 'src/icons/svg')], - symbolId: 'icon-[dir]-[name]', - }), + svgLoader(), createStyleImportPlugin({ include: ['**/*.js', '**/*.ts', '**/*.tsx', '**/*.jsx', '**/*.vue'], resolves: [ElementPlusStyleResolve()],