From 4aa86b1ec441c4e358e1cc488d8f021fb80f1355 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 17 九月 2025 17:34:35 +0800
Subject: [PATCH] 2025.9.17 数据产品(待完成)

---
 src/views/fysp/data-product/base-data-product/ProdManage.vue |   48 +++++++++++++++++++++++++++++++++---------------
 1 files changed, 33 insertions(+), 15 deletions(-)

diff --git a/src/views/fysp/data-product/base-data-product/ProdManage.vue b/src/views/fysp/data-product/base-data-product/ProdManage.vue
index 8ca321f..0f1ff6b 100644
--- a/src/views/fysp/data-product/base-data-product/ProdManage.vue
+++ b/src/views/fysp/data-product/base-data-product/ProdManage.vue
@@ -1,19 +1,22 @@
 <template>
-  <el-menu
-    default-active="scene"
-    ellipsis
-    mode="horizontal"
-    style="max-width: 600px"
-  >
-    <el-menu-item
-      v-for="item in menu"
-      :key="item.path"
-      :index="item.path"
-      @click="navPage"
-      >{{ item.name }}</el-menu-item
+  <el-affix>
+    <el-menu
+      ref="menuRef"
+      default-active="scene"
+      ellipsis
+      mode="horizontal"
+      style="max-width: 600px; background-color: aliceblue"
     >
-  </el-menu>
-  <router-view v-slot="{ Component, route }">
+      <el-menu-item
+        v-for="item in menu"
+        :key="item.path"
+        :index="item.path"
+        @click="navPage"
+        >{{ item.name }}</el-menu-item
+      >
+    </el-menu>
+  </el-affix>
+  <router-view v-slot="{ Component, route }" :style="'height: ' + height">
     <keep-alive>
       <component
         v-if="route.meta.keepAlive"
@@ -25,11 +28,14 @@
   </router-view>
 </template>
 <script setup>
-import { ref, onMounted } from 'vue';
+import { ref, onMounted, provide } from 'vue';
 import { useRouter, useRoute } from 'vue-router';
 
 const router = useRouter();
 const route = useRoute();
+
+const menuRef = ref(null);
+const height = ref('calc(100vh - 64px)');
 
 const menu = ref([
   {
@@ -58,5 +64,17 @@
     });
   }
 };
+
+function calcTableHeight() {
+  const h = menuRef.value.$el.offsetHeight;
+  return `calc(100vh - ${h}px - 60px - var(--el-main-padding) * 2)`;
+}
+
+onMounted(() => {
+  height.value = calcTableHeight();
+});
+
+// 鎻愪緵缁欏唴閮ㄧ粍浠惰鍥炬渶澶ч珮搴�
+provide('viewHeight', height);
 </script>
 <style scoped></style>

--
Gitblit v1.9.3