From c9456c5f264a9da1df9963cc30f43659659ac9b3 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期二, 11 十一月 2025 14:43:21 +0800
Subject: [PATCH] #

---
 src/main/webapp/views/erpPoinstock/poinstock.html |  100 ++++++++++++++++++++++++++++++++-----------------
 1 files changed, 65 insertions(+), 35 deletions(-)

diff --git a/src/main/webapp/views/erpPoinstock/poinstock.html b/src/main/webapp/views/erpPoinstock/poinstock.html
index f905286..7d35071 100644
--- a/src/main/webapp/views/erpPoinstock/poinstock.html
+++ b/src/main/webapp/views/erpPoinstock/poinstock.html
@@ -97,40 +97,42 @@
                 <el-button type="danger" @click="selectClose">鍏抽棴</el-button>
             </el-form-item>
         </el-form>
-        <el-table size="small" :data="tableData" border style="width: 100%" @selection-change="handleSelectionChange" max-height="600" @cell-dblclick="dblclick">
-            <el-table-column type="selection" >
-            </el-table-column>
-            <el-table-column type="index" width="55" >
-            </el-table-column>
-            <el-table-column prop="fbillno" label="鍗曟嵁缂栧彿" width="150" :show-overflow-tooltip="true">
-            </el-table-column>
-            <el-table-column prop="fdate" label="鏃ユ湡">
-            </el-table-column>
-            <el-table-column prop="venName" label="渚涘簲鍟�" width="100" :show-overflow-tooltip="true">
-            </el-table-column>
-            <el-table-column prop="bizTypeName" label="涓氬姟绫诲瀷" >
-            </el-table-column>
-            <el-table-column prop="invCode" label="鐗╂枡缂栫爜" width="150" :show-overflow-tooltip="true">
-            </el-table-column>
-            <el-table-column prop="invName" label="鐗╂枡鍚嶇О" width="150" :show-overflow-tooltip="true">
-            </el-table-column>
-            <el-table-column prop="fqty" label="鏁伴噺">                
-            </el-table-column>
-            <el-table-column prop="inStockQty" label="绔嬪簱鍏ュ簱閲�">
-            </el-table-column>
-            <el-table-column prop="forderbillno" label="璁㈠崟鍗曞彿">
-            </el-table-column>
-            <el-table-column prop="fentryselfp0362" label="鐢熶骇鍗曞彿">
-            </el-table-column>
-            <el-table-column prop="fheadselfp0339" label="鐢熶骇閮ㄩ棬">
-            </el-table-column>
-            <el-table-column prop="fheadselfp0338" label="浜よ揣鏃ユ湡">
-            </el-table-column>
+        <!-- 淇敼 el-table锛氭妸鍥哄畾 max-height 鏀逛负鍔ㄦ�� height锛屽苟鍔犱笂 ref -->
+        <el-table
+          size="small"
+          :data="tableData"
+          border
+          style="width: 100%"
+          @selection-change="handleSelectionChange"
+          :height="tableHeight"
+          @cell-dblclick="dblclick"
+          ref="mainTable"
+        >
+            <el-table-column type="selection"></el-table-column>
+            <el-table-column type="index" width="55"></el-table-column>
+            <el-table-column prop="fbillno" label="鍗曟嵁缂栧彿" width="150" :show-overflow-tooltip="true"></el-table-column>
+            <el-table-column prop="fdate" label="鏃ユ湡"></el-table-column>
+            <el-table-column prop="venName" label="渚涘簲鍟�" width="100" :show-overflow-tooltip="true"></el-table-column>
+            <el-table-column prop="bizTypeName" label="涓氬姟绫诲瀷"></el-table-column>
+            <el-table-column prop="invCode" label="鐗╂枡缂栫爜" width="150" :show-overflow-tooltip="true"></el-table-column>
+            <el-table-column prop="invName" label="鐗╂枡鍚嶇О" width="150" :show-overflow-tooltip="true"></el-table-column>
+            <el-table-column prop="fqty" label="鏁伴噺"></el-table-column>
+            <el-table-column prop="inStockQty" label="绔嬪簱鍏ュ簱閲�"></el-table-column>
+            <el-table-column prop="forderbillno" label="璁㈠崟鍗曞彿"></el-table-column>
+            <el-table-column prop="fentryselfp0362" label="鐢熶骇鍗曞彿"></el-table-column>
+            <el-table-column prop="fheadselfp0339" label="鐢熶骇閮ㄩ棬"></el-table-column>
+            <el-table-column prop="fheadselfp0338" label="浜よ揣鏃ユ湡"></el-table-column>
         </el-table>
-        <div style="margin-top: 10px">
-            <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
-                           :current-page="currentPage" :page-sizes="pageSizes" :page-size="pageSize"
-                           layout="total, sizes, prev, pager, next, jumper" :total="pageTotal">
+        <div style="margin-top: 10px" ref="paginationRef">
+            <el-pagination
+              @size-change="handleSizeChange"
+              @current-change="handleCurrentChange"
+              :current-page="currentPage"
+              :page-sizes="pageSizes"
+              :page-size="pageSize"
+              layout="total, sizes, prev, pager, next, jumper"
+              :total="pageTotal"
+            >
             </el-pagination>
         </div>
 
@@ -217,7 +219,7 @@
     // 瀵煎叆涓枃璇█鍖�
     import zhCn from '../../static/js/erp/zh-cn.js';
 
-    const { createApp, ref, onMounted,onBeforeMount } = Vue;
+    const { createApp, ref, onMounted, onBeforeMount, nextTick, onBeforeUnmount } = Vue;
 
 
     const app = createApp({
@@ -248,6 +250,8 @@
 
             const options = ref([
             ])
+
+            
 
             const depOptions = ref([
                 {
@@ -283,7 +287,7 @@
             ]
 
             const dialogVisible = ref(false)
-            const formData = ref({})
+            const formData = ref({})           
 
             function search(){
                 currentPage.value = 1
@@ -571,12 +575,34 @@
                 });
             }
 
+            const tableHeight = ref(600)
+            const mainTable = ref(null)
+            const paginationRef = ref(null)
+
+            function calcTableHeight() {
+                const tableEl = mainTable.value?.$el
+                if (!tableEl) return
+                const tableTop = tableEl.getBoundingClientRect().top
+                const paginationH = paginationRef.value ? paginationRef.value.offsetHeight : 0
+                const bottomPadding = 40 // 鍗$墖搴曢儴鍐呰竟璺�/澶栬竟璺濋鐣欙紝鍙寜闇�璋冩暣
+                const available = window.innerHeight - tableTop - paginationH - bottomPadding
+                // 缁欎釜鏈�灏忓�奸伩鍏嶈繃灏�
+                tableHeight.value = Math.max(300, available)
+            }
+
             onMounted(() => {
                 page()
+                nextTick(() => {
+                    calcTableHeight()
+                })
+                window.addEventListener('resize', calcTableHeight)
             })
             onBeforeMount(() => {
                 getVendor()
 
+            })
+            onBeforeUnmount(() => {
+                window.removeEventListener('resize', calcTableHeight)
             })
 
             return {
@@ -594,6 +620,10 @@
                 formData,
                 tableDataDialog,
                 selectListDialog,
+                tableHeight,
+                mainTable,
+                paginationRef,
+                calcTableHeight,
                 search,
                 page,
                 save,                

--
Gitblit v1.9.1