From f8830d87fa6925569462bfb1bddfc6c74001061e Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期三, 20 五月 2026 17:00:10 +0800
Subject: [PATCH] 销售台账的合同号可以自动生成或者自定义
---
src/layout/components/AppMain.vue | 92 ++++++++++++++++++++++++++++++++-------------
1 files changed, 65 insertions(+), 27 deletions(-)
diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue
index 2dd6548..a511014 100644
--- a/src/layout/components/AppMain.vue
+++ b/src/layout/components/AppMain.vue
@@ -2,44 +2,67 @@
<section class="app-main">
<router-view v-slot="{ Component, route }">
<transition name="fade-transform" mode="out-in">
- <keep-alive :include="cachedViews">
- <component :is="Component" :key="route.path"/>
- </keep-alive>
+ <div v-if="!route.meta.link" class="route-view-wrapper">
+ <keep-alive :include="tagsViewStore.cachedViews">
+ <component :is="Component" :key="route.path"/>
+ </keep-alive>
+ </div>
+ <div v-else class="route-view-wrapper"></div>
</transition>
</router-view>
+ <iframe-toggle />
</section>
</template>
<script setup>
-let store = useStore()
+import iframeToggle from "./IframeToggle/index"
+import useTagsViewStore from '@/store/modules/tagsView'
+
const route = useRoute()
-store.dispatch('tagsView/addCachedView', route)
-const cachedViews = computed(() => {
- return store.state.tagsView.cachedViews
+const tagsViewStore = useTagsViewStore()
+
+onMounted(() => {
+ addIframe()
})
+
+watchEffect(() => {
+ addIframe()
+})
+
+function addIframe() {
+ if (route.meta.link) {
+ useTagsViewStore().addIframeView(route)
+ }
+}
</script>
<style lang="scss" scoped>
-.app-main {
- /* 50= navbar 50 */
- min-height: calc(100vh - 50px);
- width: 100%;
- position: relative;
- overflow: hidden;
-}
-
-.fixed-header + .app-main {
- padding-top: 50px;
-}
-
-.hasTagsView {
- .app-main {
- /* 84 = navbar + tags-view = 50 + 34 */
- min-height: calc(100vh - 84px);
- }
+.app-main {
+ min-height: calc(100vh - var(--topbar-height));
+ width: 100%;
+ position: relative;
+ overflow: visible;
+ background: transparent;
+}
+
+.route-view-wrapper {
+ width: 100%;
+ height: 100%;
+ padding: var(--content-gap);
+ padding-top: 0;
+}
+
+.fixed-header + .app-main {
+ padding-top: 0;
+}
+
+.hasTagsView {
+ .app-main {
+ min-height: calc(100vh - var(--topbar-height) - var(--tagsbar-height));
+ }
.fixed-header + .app-main {
- padding-top: 84px;
+ padding-top: 0;
}
}
</style>
@@ -48,7 +71,22 @@
// fix css style bug in open el-dialog
.el-popup-parent--hidden {
.fixed-header {
- padding-right: 17px;
+ padding-right: 6px;
}
}
-</style>
\ No newline at end of file
+
+::-webkit-scrollbar {
+ width: 6px;
+ height: 6px;
+}
+
+::-webkit-scrollbar-track {
+ background-color: rgba(218, 225, 220, 0.8);
+}
+
+::-webkit-scrollbar-thumb {
+ background-color: #b2bdb5;
+ border-radius: 3px;
+}
+</style>
+
--
Gitblit v1.9.3