From cb44316d3975af52a3a9af824094b844dd7df874 Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期二, 26 五月 2026 11:34:49 +0800
Subject: [PATCH] fix

---
 frontend-admin/src/views/VisitReasonsSettingsView.vue |   84 ++++++++++++++++++++++++++----------------
 1 files changed, 52 insertions(+), 32 deletions(-)

diff --git a/frontend-admin/src/views/VisitReasonsSettingsView.vue b/frontend-admin/src/views/VisitReasonsSettingsView.vue
index 3a13545..ab1d91d 100644
--- a/frontend-admin/src/views/VisitReasonsSettingsView.vue
+++ b/frontend-admin/src/views/VisitReasonsSettingsView.vue
@@ -5,46 +5,50 @@
       <el-button v-permission="'config:visit-reasons:create'" type="primary" @click="openCreate">新增</el-button>
     </div>
 
-    <el-table :data="rows" v-loading="loading" stripe border>
-      <el-table-column label="序号" width="72" type="index" :index="indexMethod" />
-      <el-table-column prop="reasonName" label="来访事由" min-width="220" show-overflow-tooltip />
-      <el-table-column label="创建时间" width="180">
-        <template #default="{ row }">{{ formatTime(row.createTime) }}</template>
-      </el-table-column>
-      <el-table-column label="操作" width="160" fixed="right">
-        <template #default="{ row }">
-          <div class="table-ops">
-            <el-button
-              v-if="!isOtherReason(row)"
-              v-permission="'config:visit-reasons:update'"
-              type="primary"
-              link
-              @click="openEdit(row)"
-            >
-              编辑
-            </el-button>
-            <el-button
-              v-if="!isOtherReason(row)"
-              v-permission="'config:visit-reasons:delete'"
-              type="primary"
-              link
-              @click="confirmDelete(row)"
-            >
-              删除
-            </el-button>
-          </div>
-        </template>
-      </el-table-column>
-    </el-table>
+    <div class="table-wrap">
+      <el-table :data="rows" v-loading="loading" stripe border height="100%">
+        <el-table-column label="序号" width="72" type="index" :index="indexMethod" />
+        <el-table-column prop="reasonName" label="来访事由" min-width="220" show-overflow-tooltip />
+        <el-table-column label="创建时间" width="180">
+          <template #default="{ row }">{{ formatTime(row.createTime) }}</template>
+        </el-table-column>
+        <el-table-column label="操作" width="160" fixed="right">
+          <template #default="{ row }">
+            <div class="table-ops">
+              <el-button
+                v-if="!isOtherReason(row)"
+                v-permission="'config:visit-reasons:update'"
+                type="primary"
+                link
+                @click="openEdit(row)"
+              >
+                编辑
+              </el-button>
+              <el-button
+                v-if="!isOtherReason(row)"
+                v-permission="'config:visit-reasons:delete'"
+                type="primary"
+                link
+                @click="confirmDelete(row)"
+              >
+                删除
+              </el-button>
+            </div>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
 
     <el-pagination
       class="pager"
       background
-      layout="prev, pager, next"
+      layout="sizes, prev, pager, next"
       :total="total"
       :page-size="size"
+      :page-sizes="[10, 20, 50, 100]"
       v-model:current-page="page"
       @current-change="load"
+      @size-change="onSizeChange"
     />
 
     <el-dialog v-model="dlg" :title="dlgTitle" width="460px" destroy-on-close>
@@ -133,6 +137,12 @@
   dlg.value = true;
 }
 
+function onSizeChange(nextSize: number) {
+  size.value = nextSize;
+  page.value = 1;
+  load();
+}
+
 function openEdit(row: Row) {
   if (isOtherReason(row)) {
     return;
@@ -200,12 +210,17 @@
 <style scoped>
 .page {
   padding: 0;
+  display: flex;
+  flex-direction: column;
+  height: calc(100vh - 190px);
+  min-height: 420px;
 }
 .header {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 12px;
+  flex: none;
 }
 .section-title {
   font-size: 16px;
@@ -215,8 +230,13 @@
   border-left: 3px solid #409eff;
   color: #303133;
 }
+.table-wrap {
+  flex: 1;
+  min-height: 0;
+}
 .pager {
   margin-top: 12px;
   justify-content: flex-end;
+  flex: none;
 }
 </style>

--
Gitblit v1.7.1