前端eslint调整

This commit is contained in:
piexlMax
2023-09-14 18:47:47 +08:00
parent 636204bbaf
commit a4f86354d3
64 changed files with 3302 additions and 1096 deletions
@@ -1,8 +1,14 @@
<template>
<el-sub-menu ref="subMenu" :index="routerInfo.name">
<el-sub-menu
ref="subMenu"
:index="routerInfo.name"
>
<template #title>
<div v-if="!isCollapse" class="gva-subMenu">
<div
v-if="!isCollapse"
class="gva-subMenu"
>
<el-icon v-if="routerInfo.meta.icon">
<component :is="routerInfo.meta.icon" />
</el-icon>
@@ -19,14 +25,13 @@
</el-sub-menu>
</template>
<script>
export default {
name: 'AsyncSubmenu',
}
</script>
<script setup>
import { ref, watch } from 'vue'
defineOptions({
name: 'AsyncSubmenu',
})
const props = defineProps({
routerInfo: {
default: function() {
@@ -18,16 +18,16 @@
</component>
</template>
<script>
export default {
name: 'AsideComponent',
}
</script>
<script setup>
import MenuItem from './menuItem.vue'
import AsyncSubmenu from './asyncSubmenu.vue'
import { computed } from 'vue'
defineOptions({
name: 'AsideComponent',
})
const props = defineProps({
routerInfo: {
type: Object,
@@ -23,15 +23,14 @@
</el-menu-item>
</template>
<script>
export default {
name: 'MenuItem',
}
</script>
<script setup>
import { ref, watch } from 'vue'
defineOptions({
name: 'MenuItem',
})
const props = defineProps({
routerInfo: {
default: function() {
@@ -48,11 +48,6 @@
</div>
</template>
<script>
export default {
name: 'HistoryComponent',
}
</script>
<script setup>
import { emitter } from '@/utils/bus.js'
@@ -61,6 +56,10 @@ import { useRoute, useRouter } from 'vue-router'
import { useUserStore } from '@/pinia/modules/user'
import { fmtTitle } from '@/utils/fmtRouterTitle'
defineOptions({
name: 'HistoryComponent',
})
const route = useRoute()
const router = useRouter()
+11 -13
View File
@@ -31,12 +31,6 @@
</div>
</template>
<script>
export default {
name: 'Aside',
}
</script>
<script setup>
import AsideComponent from '@/view/layout/aside/asideComponent/index.vue'
import { emitter } from '@/utils/bus.js'
@@ -45,6 +39,10 @@ import { useRoute, useRouter } from 'vue-router'
import { useUserStore } from '@/pinia/modules/user'
import { useRouterStore } from '@/pinia/modules/router'
defineOptions({
name: 'Aside',
})
const route = useRoute()
const router = useRouter()
@@ -111,7 +109,7 @@ onUnmounted(() => {
const selectMenuItem = (index, _, ele, aaa) => {
const query = {}
const params = {}
routerStore.routeMap[index]?.parameters &&
routerStore.routeMap[index]?.parameters &&
routerStore.routeMap[index]?.parameters.forEach((item) => {
if (item.type === 'query') {
query[item.key] = item.value
@@ -119,12 +117,12 @@ const selectMenuItem = (index, _, ele, aaa) => {
params[item.key] = item.value
}
})
if (index === route.name) return
if (index.indexOf('http://') > -1 || index.indexOf('https://') > -1) {
window.open(index)
} else {
router.push({ name: index, query, params })
}
if (index === route.name) return
if (index.indexOf('http://') > -1 || index.indexOf('https://') > -1) {
window.open(index)
} else {
router.push({ name: index, query, params })
}
}
</script>
+11 -7
View File
@@ -4,25 +4,29 @@
<div class="flex gap-4 items-center text-sm text-gray-500 justify-center mb-4">
<span>Powered by</span>
<span>
<a class="text-gray-800 font-bold" href="https://github.com/flipped-aurora/gin-vue-admin">{{ $GIN_VUE_ADMIN.appName }}</a>
<a
class="text-gray-800 font-bold"
href="https://github.com/flipped-aurora/gin-vue-admin"
>{{ $GIN_VUE_ADMIN.appName }}</a>
</span>
<slot />
<span>Copyright</span>
<span>
<a class="text-gray-800 font-bold" href="https://github.com/flipped-aurora">flipped-aurora团队</a>
<a
class="text-gray-800 font-bold"
href="https://github.com/flipped-aurora"
>flipped-aurora团队</a>
</span>
</div>
</template>
<script>
<script setup>
// 此文件内容为版权信息,如需改动,请联系wx:shouzi_1994购买授权 未授权状态只需保留此代码 不影响任何正常使用
// 项目为apatch协议 请遵守版权协议内容
export default {
defineOptions({
name: 'BottomInfo'
}
</script>
})
<script setup>
console.log(
`%c powered by %c flipped-aurorae %c`,
'background:#0081ff; padding: 1px; border-radius: 3px 0 0 3px; color: #fff',
+110 -37
View File
@@ -1,17 +1,38 @@
<template>
<el-container class="layout-cont">
<el-container :class="[isSider?'openside':'hideside',isMobile ? 'mobile': '']">
<el-row :class="[isShadowBg && isMobile?'bg-black opacity-30 w-full h-full absolute top-0 left-0 z-[1001]':'']" @click="changeShadow()" />
<el-aside class="main-cont gva-aside" :style="{width:asideWidth()}">
<div class="min-h-[60px] text-center transition-all duration-300 flex items-center justify-center gap-2" :style="{background: backgroundColor}">
<img alt class="w-9 h-9 p-1 bg-white rounded-full" :src="$GIN_VUE_ADMIN.appLogo">
<div v-if="isSider" class="inline-flex text-white font-bold text-2xl" :style="{color:textColor}">{{ $GIN_VUE_ADMIN.appName }}</div>
<el-row
:class="[isShadowBg && isMobile?'bg-black opacity-30 w-full h-full absolute top-0 left-0 z-[1001]':'']"
@click="changeShadow()"
/>
<el-aside
class="main-cont gva-aside"
:style="{width:asideWidth()}"
>
<div
class="min-h-[60px] text-center transition-all duration-300 flex items-center justify-center gap-2"
:style="{background: backgroundColor}"
>
<img
alt
class="w-9 h-9 p-1 bg-white rounded-full"
:src="$GIN_VUE_ADMIN.appLogo"
>
<div
v-if="isSider"
class="inline-flex text-white font-bold text-2xl"
:style="{color:textColor}"
>{{ $GIN_VUE_ADMIN.appName }}</div>
</div>
<Aside class="aside" />
</el-aside>
<!-- 分块滑动功能 -->
<el-main class="main-cont main-right">
<transition :duration="{ enter: 800, leave: 100 }" mode="out-in" name="el-fade-in-linear">
<transition
:duration="{ enter: 800, leave: 100 }"
mode="out-in"
name="el-fade-in-linear"
>
<div
:style="{width: `calc(100% - ${getAsideWidth()})`}"
class="fixed top-0 box-border z-50"
@@ -20,29 +41,66 @@
<el-col>
<el-header class="header-cont">
<el-row class="p-0 h-full">
<el-col :xs="2" :lg="1" :md="1" :sm="1" :xl="1" class="z-50 flex items-center pl-3">
<div class="text-black cursor-pointer text-lg leading-5" @click="totalCollapse">
<div v-if="isCollapse" class="gvaIcon gvaIcon-arrow-double-right" />
<div v-else class="gvaIcon gvaIcon-arrow-double-left" />
<el-col
:xs="2"
:lg="1"
:md="1"
:sm="1"
:xl="1"
class="z-50 flex items-center pl-3"
>
<div
class="text-black cursor-pointer text-lg leading-5"
@click="totalCollapse"
>
<div
v-if="isCollapse"
class="gvaIcon gvaIcon-arrow-double-right"
/>
<div
v-else
class="gvaIcon gvaIcon-arrow-double-left"
/>
</div>
</el-col>
<el-col :xs="10" :lg="14" :md="14" :sm="9" :xl="14" :pull="1" class="flex items-center">
<el-col
:xs="10"
:lg="14"
:md="14"
:sm="9"
:xl="14"
:pull="1"
class="flex items-center"
>
<!-- 修改为手机端不显示顶部标签 -->
<el-breadcrumb v-show="!isMobile" class="breadcrumb">
<el-breadcrumb
v-show="!isMobile"
class="breadcrumb"
>
<el-breadcrumb-item
v-for="item in matched.slice(1,matched.length)"
:key="item.path"
>{{ fmtTitle(item.meta.title,route) }}</el-breadcrumb-item>
</el-breadcrumb>
</el-col>
<el-col :xs="12" :lg="9" :md="9" :sm="14" :xl="9" class="flex items-center justify-end">
<el-col
:xs="12"
:lg="9"
:md="9"
:sm="14"
:xl="9"
class="flex items-center justify-end"
>
<div class="mr-1.5 flex items-center">
<Search />
<el-dropdown>
<div class="flex justify-center items-center h-full w-full">
<span class="cursor-pointer flex justify-center items-center">
<CustomPic />
<span v-show="!isMobile" style="margin-left: 5px">{{ userStore.userInfo.nickName }}</span>
<span
v-show="!isMobile"
style="margin-left: 5px"
>{{ userStore.userInfo.nickName }}</span>
<el-icon>
<arrow-down />
</el-icon>
@@ -56,14 +114,22 @@
</span>
</el-dropdown-item>
<template v-if="userStore.userInfo.authorities">
<el-dropdown-item v-for="item in userStore.userInfo.authorities.filter(i=>i.authorityId!==userStore.userInfo.authorityId)" :key="item.authorityId" @click="changeUserAuth(item.authorityId)">
<el-dropdown-item
v-for="item in userStore.userInfo.authorities.filter(i=>i.authorityId!==userStore.userInfo.authorityId)"
:key="item.authorityId"
@click="changeUserAuth(item.authorityId)"
>
<span>
切换为:{{ item.authorityName }}
</span>
</el-dropdown-item>
</template>
<el-dropdown-item icon="avatar">
<div class="command-box" style="display: flex" @click="handleCommand">
<div
class="command-box"
style="display: flex"
@click="handleCommand"
>
<div>指令菜单</div>
<div style="margin-left: 8px">
<span class="button">{{ first }}</span>
@@ -72,8 +138,14 @@
</div>
</div>
</el-dropdown-item>
<el-dropdown-item icon="avatar" @click="toPerson">个人信息</el-dropdown-item>
<el-dropdown-item icon="reading-lamp" @click="userStore.LoginOut">登 出</el-dropdown-item>
<el-dropdown-item
icon="avatar"
@click="toPerson"
>个人信息</el-dropdown-item>
<el-dropdown-item
icon="reading-lamp"
@click="userStore.LoginOut"
>登 出</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
@@ -95,10 +167,13 @@
class="admin-box"
>
<div
v-loading="loadingFlag"
element-loading-text="正在加载中"
v-loading="loadingFlag"
element-loading-text="正在加载中"
>
<transition mode="out-in" name="el-fade-in-linear">
<transition
mode="out-in"
name="el-fade-in-linear"
>
<keep-alive :include="routerStore.keepAliveRouters">
<component :is="Component" />
</keep-alive>
@@ -107,19 +182,13 @@
</router-view>
<BottomInfo />
<setting />
<CommandMenu ref="command"/>
<CommandMenu ref="command" />
</el-main>
</el-container>
</el-container>
</template>
<script>
export default {
name: 'Layout',
}
</script>
<script setup>
import Aside from '@/view/layout/aside/index.vue'
import HistoryComponent from '@/view/layout/aside/historyComponent/history.vue'
@@ -136,6 +205,10 @@ import { useRouterStore } from '@/pinia/modules/router'
import { fmtTitle } from '@/utils/fmtRouterTitle'
import { useUserStore } from '@/pinia/modules/user'
defineOptions({
name: 'Layout',
})
const router = useRouter()
const route = useRoute()
const routerStore = useRouterStore()
@@ -148,7 +221,7 @@ const first = ref('')
const dialogVisible = ref(false)
const initPage = () => {
// 判断当前用户的操作系统
if(window.localStorage.getItem('osType') === 'WIN') {
if (window.localStorage.getItem('osType') === 'WIN') {
first.value = 'Ctrl'
} else {
first.value = '⌘'
@@ -157,13 +230,13 @@ const initPage = () => {
const handleKeyDown = (e) => {
if (e.ctrlKey && e.key === 'k') {
// 阻止浏览器默认事件
e.preventDefault();
e.preventDefault()
handleCommand()
}
}
window.addEventListener('keydown', handleKeyDown);
window.addEventListener('keydown', handleKeyDown)
const screenWidth = document.body.clientWidth
const screenWidth = document.body.clientWidth
if (screenWidth < 1000) {
isMobile.value = true
isSider.value = false
@@ -212,16 +285,16 @@ onMounted(() => {
const userStore = useUserStore()
const asideWidth = ()=> {
const asideWidth = () => {
if (isMobile.value) {
return isCollapse.value?'0px':'220px'
return isCollapse.value ? '0px' : '220px'
}
return isCollapse.value ? '54px' : '220px'
}
const getAsideWidth = () =>{
if(isMobile.value) return '0px'
return isCollapse.value?'54px':'220px'
const getAsideWidth = () => {
if (isMobile.value) return '0px'
return isCollapse.value ? '54px' : '220px'
}
const textColor = computed(() => {
+13 -8
View File
@@ -1,19 +1,24 @@
<template>
<div @click="clickFull">
<div v-if="isShow" class="gvaIcon gvaIcon-fullscreen-expand" />
<div v-else class="gvaIcon gvaIcon-fullscreen-shrink" />
<div
v-if="isShow"
class="gvaIcon gvaIcon-fullscreen-expand"
/>
<div
v-else
class="gvaIcon gvaIcon-fullscreen-shrink"
/>
</div>
</template>
<script>
export default {
name: 'Screenfull',
}
</script>
<script setup>
import screenfull from 'screenfull' // 引入screenfull
import { onMounted, onUnmounted, ref } from 'vue'
defineOptions({
name: 'Screenfull',
})
defineProps({
width: {
type: Number,
+15 -10
View File
@@ -1,21 +1,27 @@
<template>
<div class="search-component">
<div class="gvaIcon gvaIcon-refresh" :class="[reload ? 'reloading' : '']" @click="handleReload" />
<Screenfull class="search-icon" />
<div class="gvaIcon gvaIcon-customer-service" @click="toService" />
<div
class="gvaIcon gvaIcon-refresh"
:class="[reload ? 'reloading' : '']"
@click="handleReload"
/>
<Screenfull class="search-icon" />
<div
class="gvaIcon gvaIcon-customer-service"
@click="toService"
/>
</div>
</template>
<script>
export default {
name: 'BtnBox',
}
</script>
<script setup>
import Screenfull from '@/view/layout/screenfull/index.vue'
import { emitter } from '@/utils/bus.js'
import { ref } from 'vue'
defineOptions({
name: 'BtnBox',
})
const reload = ref(false)
const handleReload = () => {
reload.value = true
@@ -48,7 +54,6 @@ const toService = () => {
font-size: 18px;
}
.reloading{
animation:turn 0.5s linear infinite;
}
+27 -11
View File
@@ -1,6 +1,11 @@
<template>
<div>
<el-button type="primary" class="drawer-container" icon="setting" @click="showSettingDrawer" />
<el-button
type="primary"
class="drawer-container"
icon="setting"
@click="showSettingDrawer"
/>
<el-drawer
v-model="drawer"
title="系统配置"
@@ -11,9 +16,15 @@
<div class="setting_card">
<div class="setting_content">
<div class="theme-box">
<div class="item" @click="changeMode('light')">
<div
class="item"
@click="changeMode('light')"
>
<div class="item-top">
<el-icon v-if="userStore.mode === 'light'" class="check">
<el-icon
v-if="userStore.mode === 'light'"
class="check"
>
<check />
</el-icon>
<img src="https://gw.alipayobjects.com/zos/antfincdn/NQ%24zoisaD2/jpRkZQMyYRryryPNtyIC.svg">
@@ -22,9 +33,15 @@
简约白
</p>
</div>
<div class="item" @click="changeMode('dark')">
<div
class="item"
@click="changeMode('dark')"
>
<div class="item-top">
<el-icon v-if="userStore.mode === 'dark'" class="check">
<el-icon
v-if="userStore.mode === 'dark'"
class="check"
>
<check />
</el-icon>
<img src="https://gw.alipayobjects.com/zos/antfincdn/XwFOFbLkSM/LCkqqYNmvBEbokSDscrm.svg">
@@ -42,15 +59,14 @@
</div>
</template>
<script>
export default {
name: 'Setting',
}
</script>
<script setup>
import { ref } from 'vue'
import { useUserStore } from '@/pinia/modules/user'
defineOptions({
name: 'Setting',
})
const drawer = ref(false)
const direction = ref('rtl')