|
|
@@ -1,19 +1,16 @@
|
|
|
<template>
|
|
|
- <!-- :locale="localeLang" -->
|
|
|
<el-config-provider :locale="localeLang">
|
|
|
<div class="tjm_wrapper">
|
|
|
- <div class="tjm_warpper_container fixed">
|
|
|
- <tjm-side-bar v-if="layoutStyle=='vertical'" />
|
|
|
- <div class="tjm_container" :class="{ 'is-collapse': collapse,'is-layoutStyle':layoutStyle=='horizontal' }">
|
|
|
- <div
|
|
|
- class="header_container fixed-header"
|
|
|
- :class="{ 'is-collapse': collapse, 'is-layoutStyle': layoutStyle == 'horizontal' }"
|
|
|
- >
|
|
|
+ <div class="tjm_warpper_container fixed" :class="!hasTabs && 'no-tabs-bar'">
|
|
|
+ <tjm-side-bar v-if="layoutStyle == 'vertical'" />
|
|
|
+ <div class="tjm_container" :class="{ 'is-collapse': collapse, 'is-layoutStyle': layoutStyle == 'horizontal' }">
|
|
|
+ <div class="header_container fixed-header"
|
|
|
+ :class="{ 'is-collapse': collapse, 'is-layoutStyle': layoutStyle == 'horizontal' }">
|
|
|
<tjm-nav-bar />
|
|
|
- <tjm-tabs-bar />
|
|
|
+ <tjm-tabs-bar v-if="hasTabs" />
|
|
|
</div>
|
|
|
<div class="content_container">
|
|
|
- <tjm-main />
|
|
|
+ <tjm-main :hasTabs="hasTabs" />
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -22,21 +19,25 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import { getConfig, setConfig } from '@/config/config'
|
|
|
-import TjmSideBar from './components/SideBar/index.vue'
|
|
|
-import TjmNavBar from './components/NavBar/index.vue'
|
|
|
-import TjmTabsBar from './components/TabsBar/index.vue'
|
|
|
-import TjmMain from './components/Main/index.vue'
|
|
|
-import { useSettingStore } from '@/store/settings.js'
|
|
|
-const settingStore = useSettingStore()
|
|
|
-const { collapse,layoutStyle } = storeToRefs(settingStore)
|
|
|
-import { useI18n } from 'vue-i18n'
|
|
|
-const { messages, locale, t } = useI18n()
|
|
|
-const localeLang = ref(messages[getConfig('globalI18n')])
|
|
|
+import { useI18n } from "vue-i18n";
|
|
|
+import { getConfig } from "@/config/config";
|
|
|
+import { useSettingStore } from "@/store/settings";
|
|
|
+
|
|
|
+import TjmSideBar from "./components/SideBar/index.vue";
|
|
|
+import TjmNavBar from "./components/NavBar/index.vue";
|
|
|
+import TjmTabsBar from "./components/TabsBar/index.vue";
|
|
|
+import TjmMain from "./components/Main/index.vue";
|
|
|
+
|
|
|
+const route = useRoute();
|
|
|
+const hasTabs = computed(() => route.name != "homePolicyDetail");
|
|
|
+const { collapse, layoutStyle } = storeToRefs(useSettingStore());
|
|
|
+
|
|
|
+const { messages, locale, t } = useI18n();
|
|
|
+const localeLang = ref(messages[getConfig("globalI18n")])
|
|
|
// 修改element 和 i18n 默认语言
|
|
|
const changeLanguage = () => {
|
|
|
- locale.value = getConfig('globalI18n')
|
|
|
- localeLang.value = messages.value[locale.value]
|
|
|
+ locale.value = getConfig("globalI18n");
|
|
|
+ localeLang.value = messages.value[locale.value];
|
|
|
}
|
|
|
// 监听修改语言实现element
|
|
|
watchEffect(changeLanguage)
|
|
|
@@ -59,6 +60,9 @@ watchEffect(changeLanguage)
|
|
|
&.fixed {
|
|
|
padding-top: calc(#{$base-navbar-height} + #{$base-tabsbar-height});
|
|
|
}
|
|
|
+ &.fixed.no-tabs-bar {
|
|
|
+ padding-top: $base-navbar-height;
|
|
|
+ }
|
|
|
.tjm_container {
|
|
|
min-height: 100%;
|
|
|
margin-left: $base-sidebar-width;
|