From e80fb1e51d652d0ccecc27688c72a168c8297075 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期四, 27 二月 2025 17:12:41 +0800
Subject: [PATCH] 表格优化lll

---
 admin/src/views/business/retention.vue |   72 ++++++++++++++++++++----------------
 1 files changed, 40 insertions(+), 32 deletions(-)

diff --git a/admin/src/views/business/retention.vue b/admin/src/views/business/retention.vue
index 054b175..2818825 100644
--- a/admin/src/views/business/retention.vue
+++ b/admin/src/views/business/retention.vue
@@ -1,35 +1,38 @@
 <template>
   <TableLayout :permissions="['business:retention:query']">
     <!-- 鎼滅储琛ㄥ崟 -->
-    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-      <el-form-item label="濮撳悕/鎵嬫満鍙�" prop="keyWords">
-        <el-input v-model="searchForm.keyWords" placeholder="璇疯緭鍏ュ鍚�/鎵嬫満鍙�" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="缁勭粐" prop="companyName">
-        <el-input v-model="searchForm.companyName" placeholder="璇疯緭鍏ョ粍缁囧悕绉�" @keypress.enter.native="search"></el-input>
-      </el-form-item>
-      <el-form-item label="浜哄憳绫诲瀷" prop="queryUserType">
-        <el-select v-model="searchForm.queryUserType" placeholder="璇烽�夋嫨">
-          <el-option label="璁垮" value="0"></el-option>
-          <el-option label="鐩稿叧鏂圭粍缁�" value="1"></el-option>
-          <el-option label="鍐呴儴鍛樺伐" value="2"></el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="璧锋鏃堕棿" prop="startTime">
-        <el-date-picker @change="seleTime" v-model="time" type="datetimerange" format="yyyy-MM-dd HH:mm:ss"
-          value-format="yyyy-MM-dd HH:mm:ss" range-separator="鑷�" start-placeholder="寮�濮嬫椂闂�" end-placeholder="缁撴潫鏃堕棿">
-        </el-date-picker>
-      </el-form-item>
-      <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio">
-        <el-radio-button label="0">褰撳ぉ</el-radio-button>
-        <el-radio-button label="1">杩�7澶�</el-radio-button>
-        <el-radio-button label="2">杩�30澶�</el-radio-button>
-      </el-radio-group>
-      <section>
-        <el-button type="primary" @click="search">鎼滅储</el-button>
-        <el-button @click="reset">閲嶇疆</el-button>
-      </section>
-    </el-form>
+    <div ref="QueryFormRef" slot="search-form">
+      <el-form ref="searchForm" :model="searchForm" label-width="100px" inline>
+        <el-form-item label="濮撳悕/鎵嬫満鍙�" prop="keyWords">
+          <el-input v-model="searchForm.keyWords" placeholder="璇疯緭鍏ュ鍚�/鎵嬫満鍙�" @keypress.enter.native="search"></el-input>
+        </el-form-item>
+        <el-form-item label="缁勭粐" prop="companyName">
+          <el-input v-model="searchForm.companyName" placeholder="璇疯緭鍏ョ粍缁囧悕绉�" @keypress.enter.native="search"></el-input>
+        </el-form-item>
+        <el-form-item label="浜哄憳绫诲瀷" prop="queryUserType">
+          <el-select v-model="searchForm.queryUserType" placeholder="璇烽�夋嫨">
+            <el-option label="璁垮" value="0"></el-option>
+            <el-option label="鐩稿叧鏂圭粍缁�" value="1"></el-option>
+            <el-option label="鍐呴儴鍛樺伐" value="2"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="璧锋鏃堕棿" prop="startTime">
+          <el-date-picker @change="seleTime" v-model="time" type="datetimerange" format="yyyy-MM-dd HH:mm:ss"
+            value-format="yyyy-MM-dd HH:mm:ss" range-separator="鑷�" start-placeholder="寮�濮嬫椂闂�" end-placeholder="缁撴潫鏃堕棿">
+          </el-date-picker>
+        </el-form-item>
+        <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio">
+          <el-radio-button label="0">褰撳ぉ</el-radio-button>
+          <el-radio-button label="1">杩�7澶�</el-radio-button>
+          <el-radio-button label="2">杩�30澶�</el-radio-button>
+        </el-radio-group>
+        <section>
+          <el-button type="primary" @click="search">鎼滅储</el-button>
+          <el-button @click="reset">閲嶇疆</el-button>
+        </section>
+      </el-form>
+    </div>
+
     <!-- 琛ㄦ牸鍜屽垎椤� -->
     <template v-slot:table-wrap>
       <ul class="toolbar" v-permissions="['business:retention:exportExcel']">
@@ -38,7 +41,7 @@
             @click="exportExcel">瀵煎嚭</el-button>
         </li>
       </ul>
-      <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
+      <el-table :max-height="tableHeight" v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column prop="name" label="濮撳悕" min-width="100px"></el-table-column>
         <el-table-column prop="phone" label="鎵嬫満鍙�" min-width="100px"></el-table-column>
@@ -47,7 +50,7 @@
           <template slot-scope="{ row }">
             <span v-if="row.type === 2 || row.type === 0">{{
               row.companyName
-              }}</span>
+            }}</span>
             <span v-else>{{ row.visitCompanyName }}</span>
           </template>
         </el-table-column>
@@ -64,7 +67,7 @@
             <span>{{ row.deviceName || '-' }}</span>
           </template>
         </el-table-column>
-        <el-table-column prop="eventDate" label="杩涘満鏃堕棿" min-width="100px"></el-table-column>
+        <el-table-column prop="eventDate" label="杩涘満鏃堕棿" min-width="140px"></el-table-column>
         <el-table-column label="浜鸿劯鐓х墖" min-width="100px">
           <template slot-scope="{ row }">
             <el-image v-if="row.faceImgFull != null" style="width: 80px; height: 80px" :src="row.faceImgFull"
@@ -117,6 +120,11 @@
     })
     this.changeRadio('0')
   },
+  mounted() {
+    this.$nextTick(() => {
+      this.tableHeight = document.body.scrollHeight - this.$refs.QueryFormRef.offsetHeight - 300
+    })
+  },
   methods: {
     changeRadio(e) {
       if (e === '0') {

--
Gitblit v1.9.3