|
|
@@ -1,91 +1,84 @@
|
|
|
<template>
|
|
|
<el-container class="home" v-loading="loading">
|
|
|
- <el-aside width="auto">
|
|
|
- <!-- <nav-menu></nav-menu>-->
|
|
|
+ <!-- 侧边导航icon -->
|
|
|
+ <el-aside width="60px" class="aside">
|
|
|
+ <div>
|
|
|
+ <div class="logo-image">
|
|
|
+ <img src="../../assets/image/logo2.png" />
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</el-aside>
|
|
|
- <el-container>
|
|
|
- <el-header>
|
|
|
- <el-row>
|
|
|
- <el-col :span="2">
|
|
|
- <div class="btn-control" @click="ChangeCollapse">
|
|
|
- <el-icon v-show="!isCollapse"><Fold /></el-icon>
|
|
|
- <el-icon v-show="isCollapse"><Expand /></el-icon>
|
|
|
- </div>
|
|
|
- </el-col>
|
|
|
- <el-col :span="22" class="tool-box">
|
|
|
- <!-- 多语言-->
|
|
|
- <el-dropdown trigger="click" class="language" @command="chooseLang">
|
|
|
- <div>
|
|
|
- <img v-if="currentFlag" :src="currentFlag" alt="flag" class="flag-icon" />
|
|
|
+ <el-container class="nav-head">
|
|
|
+ <NavMenu :isCollapse="isCollapse"/>
|
|
|
+ <el-container>
|
|
|
+ <el-header :class="{ header: isCollapse }">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="2">
|
|
|
+ <div class="btn-control" @click="ChangeCollapse">
|
|
|
+ <el-icon v-show="!isCollapse"><Fold /></el-icon>
|
|
|
+ <el-icon v-show="isCollapse"><Expand /></el-icon>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="22" class="tool-box">
|
|
|
+ <!-- 多语言-->
|
|
|
+ <el-dropdown trigger="click" class="language" @command="chooseLang">
|
|
|
+ <div>
|
|
|
+ <img v-if="currentFlag" :src="currentFlag" alt="flag" class="flag-icon" />
|
|
|
+ <span class="el-dropdown-link">
|
|
|
+ <span>{{ langList[langName]?.name || langName }}</span>
|
|
|
+ <el-icon><ArrowDown /></el-icon>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <template #dropdown>
|
|
|
+ <el-dropdown-menu class="language-dropdown">
|
|
|
+ <el-dropdown-item
|
|
|
+ v-for="lang in languageOptions"
|
|
|
+ :key="lang.code"
|
|
|
+ :command="lang.code"
|
|
|
+ :class="{ 'is-active': lang.code === langName }"
|
|
|
+ >
|
|
|
+ <div class="language-option">
|
|
|
+ <span>{{ lang.name }}</span>
|
|
|
+ </div>
|
|
|
+ </el-dropdown-item>
|
|
|
+ </el-dropdown-menu>
|
|
|
+ </template>
|
|
|
+ </el-dropdown>
|
|
|
+ <!-- 暗黑模式-->
|
|
|
+ <div class="opt-dark" @click="changeDark">
|
|
|
+ <i v-show="!themeConfig.isDark" class="bi bi-sun-fill sun-color"></i>
|
|
|
+ <i v-show="themeConfig.isDark" class="bi bi-moon-fill moon-color"></i>
|
|
|
+ </div>
|
|
|
+ <el-icon class="crm-cursor" style="font-size: 20px; margin-left: 20px">
|
|
|
+ <Bell />
|
|
|
+ </el-icon>
|
|
|
+ <i class="crm-cursor iconquanping iconfont icon" @click="fullScreen"></i>
|
|
|
+ <el-dropdown trigger="click" class="username crm-cursor">
|
|
|
<span class="el-dropdown-link">
|
|
|
- <span>{{ langList[langName]?.name || langName }}</span>
|
|
|
- <el-icon><ArrowDown /></el-icon>
|
|
|
+ <span>{{ user?.name || 'UserName' }}</span
|
|
|
+ ><el-icon><ArrowDown /></el-icon>
|
|
|
</span>
|
|
|
- </div>
|
|
|
-
|
|
|
- <template #dropdown>
|
|
|
- <el-dropdown-menu class="language-dropdown">
|
|
|
- <el-dropdown-item
|
|
|
- v-for="lang in languageOptions"
|
|
|
- :key="lang.code"
|
|
|
- :command="lang.code"
|
|
|
- :class="{ 'is-active': lang.code === langName }"
|
|
|
- >
|
|
|
- <div class="language-option">
|
|
|
- <span>{{ lang.name }}</span>
|
|
|
- </div>
|
|
|
- </el-dropdown-item>
|
|
|
- </el-dropdown-menu>
|
|
|
- </template>
|
|
|
- </el-dropdown>
|
|
|
- <!-- 暗黑模式-->
|
|
|
- <div class="opt-dark" @click="changeDark">
|
|
|
- <i v-show="!themeConfig.isDark" class="bi bi-sun-fill sun-color"></i>
|
|
|
- <i v-show="themeConfig.isDark" class="bi bi-moon-fill moon-color"></i>
|
|
|
- </div>
|
|
|
- <el-icon class="crm-cursor" style="font-size: 20px; margin-left: 20px">
|
|
|
- <Bell />
|
|
|
- </el-icon>
|
|
|
- <i class="crm-cursor iconquanping iconfont icon" @click="fullScreen"></i>
|
|
|
- <el-dropdown trigger="click" class="username crm-cursor">
|
|
|
- <span class="el-dropdown-link">
|
|
|
- <span>{{ user?.name || 'UserName' }}</span
|
|
|
- ><el-icon><ArrowDown /></el-icon>
|
|
|
- </span>
|
|
|
- <template #dropdown>
|
|
|
- <el-dropdown-menu>
|
|
|
- <el-dropdown-item @click="updatePwd">
|
|
|
- <span>
|
|
|
- {{ $t('Label.UpdatePwd') }}
|
|
|
- </span>
|
|
|
- </el-dropdown-item>
|
|
|
- <el-dropdown-item @click="beforeLogout"> Logout </el-dropdown-item>
|
|
|
- </el-dropdown-menu>
|
|
|
- </template>
|
|
|
- </el-dropdown>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </el-header>
|
|
|
- <el-main>
|
|
|
-<!-- <el-row class="tool">-->
|
|
|
-<!-- <el-col :span="16">-->
|
|
|
-<!-- <bread-crumb></bread-crumb>-->
|
|
|
-<!-- </el-col>-->
|
|
|
-<!-- <el-col :span="8">-->
|
|
|
-<!-- <span>-->
|
|
|
-<!-- {{ $t('Home1.Time') }}-->
|
|
|
-<!-- </span>-->
|
|
|
-<!-- <span class="crm-cursor" @click="toReload">{{ time }}</span>-->
|
|
|
-<!-- <el-icon class="crm-cursor el-icon-refresh-right" @click="toReload">-->
|
|
|
-<!-- <RefreshRight />-->
|
|
|
-<!-- </el-icon>-->
|
|
|
-<!-- </el-col>-->
|
|
|
-<!-- </el-row>-->
|
|
|
-<!-- <tab-menu></tab-menu>-->
|
|
|
- <div class="container">
|
|
|
- <router-view />
|
|
|
- </div>
|
|
|
- </el-main>
|
|
|
+ <template #dropdown>
|
|
|
+ <el-dropdown-menu>
|
|
|
+ <el-dropdown-item @click="updatePwd">
|
|
|
+ <span>
|
|
|
+ {{ $t('Label.UpdatePwd') }}
|
|
|
+ </span>
|
|
|
+ </el-dropdown-item>
|
|
|
+ <el-dropdown-item @click="beforeLogout"> Logout </el-dropdown-item>
|
|
|
+ </el-dropdown-menu>
|
|
|
+ </template>
|
|
|
+ </el-dropdown>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-header>
|
|
|
+ <el-main>
|
|
|
+ <div class="container">
|
|
|
+ <router-view />
|
|
|
+ </div>
|
|
|
+ </el-main>
|
|
|
+ </el-container>
|
|
|
</el-container>
|
|
|
|
|
|
<!-- 修改密码弹出 -->
|
|
|
@@ -164,7 +157,7 @@
|
|
|
import { useI18n } from 'vue-i18n'
|
|
|
|
|
|
// 组件导入
|
|
|
- import NavMenu from '@/components/NavMenu.vue'
|
|
|
+ import NavMenu from './components/nav.vue'
|
|
|
import BreadCrumb from '@/components/BreadCrumb.vue'
|
|
|
import TabMenu from '@/components/TabMenu.vue'
|
|
|
import Service from '@/service/login'
|
|
|
@@ -209,26 +202,16 @@
|
|
|
)
|
|
|
|
|
|
const type = ref('')
|
|
|
- const isQAlist = ref(false)
|
|
|
- const attachList = ref([])
|
|
|
const currentAttachId = ref(null)
|
|
|
|
|
|
const dialogCheckFormRef = ref(null)
|
|
|
const SettingStore = useSettingStore()
|
|
|
+
|
|
|
// 设置信息
|
|
|
const themeConfig = computed(() => SettingStore.themeConfig)
|
|
|
// 计算属性
|
|
|
const user = computed(() => safeGetUser(session))
|
|
|
const expire = computed(() => store.state.home.expire)
|
|
|
- const currentRoleName = computed(() => {
|
|
|
- if (attachList.value.length === 0) return ''
|
|
|
- const currentRole = attachList.value.find((item) => item.id === currentAttachId.value)
|
|
|
- return currentRole ? currentRole.name : ''
|
|
|
- })
|
|
|
- const isShopManager = computed(() => {
|
|
|
- console.log(user.value)
|
|
|
- return !!user.value.isMerchantAdmin
|
|
|
- })
|
|
|
|
|
|
// 验证规则
|
|
|
const rules = reactive({
|
|
|
@@ -614,12 +597,34 @@
|
|
|
.home {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
+ .aside {
|
|
|
+ height: 100%;
|
|
|
+ overflow: hidden;
|
|
|
+ overflow-y: auto;
|
|
|
+ .logo-image {
|
|
|
+ margin: 10px;
|
|
|
+ width: 40px;
|
|
|
+ img {
|
|
|
+ width: 40px;
|
|
|
+ height: 40px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .nav-head {
|
|
|
|
|
|
+
|
|
|
+ }
|
|
|
.el-header {
|
|
|
height: 60px;
|
|
|
background-color: var(--bg-color);
|
|
|
color: var(--text-color);
|
|
|
line-height: 60px;
|
|
|
+ padding: 0 60px;
|
|
|
+
|
|
|
+ &.header {
|
|
|
+ padding: 0 30px;
|
|
|
+ transition: padding 0.2s ease;
|
|
|
+ }
|
|
|
|
|
|
.btn-control {
|
|
|
float: left;
|
|
|
@@ -720,26 +725,14 @@
|
|
|
object-fit: cover;
|
|
|
}
|
|
|
}
|
|
|
- .dark{
|
|
|
- .home .el-header .tool-box .language{
|
|
|
- background-color: #102047;
|
|
|
- }
|
|
|
+ .dark {
|
|
|
+ .home .el-header .tool-box .language {
|
|
|
+ background-color: #102047;
|
|
|
}
|
|
|
-
|
|
|
+ }
|
|
|
</style>
|
|
|
<style lang="scss">
|
|
|
.dialog_header_qa.dialog_header_w.el-dialog {
|
|
|
min-height: 80%;
|
|
|
}
|
|
|
-
|
|
|
- // 角色切换下拉框样式
|
|
|
- .el-dropdown-menu .el-dropdown-item.is-active {
|
|
|
- color: #409eff;
|
|
|
- background-color: #f5f7fa;
|
|
|
-
|
|
|
- .el-icon-check {
|
|
|
- float: right;
|
|
|
- color: #409eff;
|
|
|
- }
|
|
|
- }
|
|
|
</style>
|