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/platformEvent.vue |  186 ++++++++++++++++++++++------------------------
 1 files changed, 90 insertions(+), 96 deletions(-)

diff --git a/admin/src/views/business/platformEvent.vue b/admin/src/views/business/platformEvent.vue
index 5271aab..97f2557 100644
--- a/admin/src/views/business/platformEvent.vue
+++ b/admin/src/views/business/platformEvent.vue
@@ -1,95 +1,84 @@
 <template>
-    <TableLayout :permissions="['business:platformevent:query']">
-        <!-- 鎼滅储琛ㄥ崟 -->
-        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-          <el-form-item label="" prop="platformName">
-            <el-input v-model="searchForm.platformName" placeholder="璇疯緭鍏ユ湀鍙板悕绉�" @keypress.enter.native="search"></el-input>
-          </el-form-item>
-          <el-form-item label="" prop="channelName">
-            <el-input v-model="searchForm.channelName" placeholder="璇疯緭鍏ョ洃鎺х偣鍚嶇О" @keypress.enter.native="search"></el-input>
-          </el-form-item>
-          <el-form-item label="" prop="plateNo">
-            <el-input v-model="searchForm.plateNo" placeholder="璇疯緭鍏ヨ溅鐗屽彿" @keypress.enter.native="search"></el-input>
-          </el-form-item>
-          <el-form-item label="" prop="eventType">
-            <el-select v-model="searchForm.motionStatus" placeholder="璇烽�夋嫨杩涘嚭绫诲瀷">
-              <el-option label="绂诲紑" value="leave"></el-option>
-              <el-option label="杩涘叆" value="enter"></el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="璧锋鏃堕棿" prop="startDate">
-                <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>
-        <!-- 琛ㄦ牸鍜屽垎椤� -->
-        <template v-slot:table-wrap>
-            <el-table
-                v-loading="isWorking.search"
-                :data="tableData.list"
-                stripe
-            >
-                <el-table-column prop="platformName" label="鏈堝彴鍚嶇О" min-width="150px"></el-table-column>
-                <el-table-column prop="channelName" label="鐩戞帶鐐瑰悕绉�" min-width="150px"></el-table-column>
-                <el-table-column prop="plateNo" label="杞︾墝鍙�" min-width="100px"></el-table-column>
-                <el-table-column   label="杩涘嚭绫诲瀷" min-width="90px">
-                  <template slot-scope="{row}">
-                    <span v-if="row.motionStatus == 'enter'">杩涘叆</span>
-                    <span v-if="row.motionStatus == 'leave'">绂诲紑</span>
-                    <span v-if="row.motionStatus != 'leave' && row.motionStatus != 'enter'">{{ row.motionStatus }}</span>
-                  </template>
-                </el-table-column>
-                <el-table-column   label="鍓嶅悗鏍囪瘑" min-width="90px">
-                  <template slot-scope="{row}">
-                    <span v-if="row.stockStatus == 'rear'">杞﹀熬</span>
-                    <span v-if="row.stockStatus == 'front'">杞﹀ご</span>
-                    <span v-if="row.stockStatus != 'rear' && row.stockStatus != 'front'">{{ row.stockStatus }}</span>
-                  </template>
-                </el-table-column>
-                <el-table-column label="杞﹂棬鐘舵��" min-width="100px">
-                    <template slot-scope="{row}">
-                        <span v-if="row.vehicleDoorStatus == 'open'">寮�闂�</span>
-                        <span v-if="row.vehicleDoorStatus == 'close'">鍏抽棬</span>
-                        <span v-if="row.vehicleDoorStatus != 'open' && row.vehicleDoorStatus != 'close'">{{ row.vehicleDoorStatus }}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="srcIndex" label="璁惧缂栫爜" min-width="180px"></el-table-column>
-                <el-table-column prop="ipAddress" label="IP鍦板潃" min-width="100px"></el-table-column>
-                <el-table-column prop="portNo" label="绔彛" min-width="80px"></el-table-column>
-                <el-table-column fixed="right" label="鎶撴媿鍥�" min-width="100px">
-                  <template slot-scope="{row}">
-                    <el-image v-if="row.backgroundImageDown" style="width: 60px; height: 60px" :src="row.backgroundImageDown"
-                              :preview-src-list="[row.backgroundImageDown]">
-                    </el-image>
-                  </template>
-                </el-table-column>
-                <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="160px"></el-table-column>
-            </el-table>
-            <pagination
-                @size-change="handleSizeChange"
-                @current-change="handlePageChange"
-                :pagination="tableData.pagination"
-            >
-            </pagination>
-        </template>
-    </TableLayout>
+  <TableLayout :permissions="['business:platformevent:query']">
+    <!-- 鎼滅储琛ㄥ崟 -->
+    <div slot="search-form" ref="QueryFormRef">
+      <el-form ref="searchForm" :model="searchForm" label-width="100px" inline>
+        <el-form-item label="" prop="platformName">
+          <el-input v-model="searchForm.platformName" placeholder="璇疯緭鍏ユ湀鍙板悕绉�" @keypress.enter.native="search"></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="channelName">
+          <el-input v-model="searchForm.channelName" placeholder="璇疯緭鍏ョ洃鎺х偣鍚嶇О" @keypress.enter.native="search"></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="plateNo">
+          <el-input v-model="searchForm.plateNo" placeholder="璇疯緭鍏ヨ溅鐗屽彿" @keypress.enter.native="search"></el-input>
+        </el-form-item>
+        <el-form-item label="" prop="eventType">
+          <el-select v-model="searchForm.motionStatus" placeholder="璇烽�夋嫨杩涘嚭绫诲瀷">
+            <el-option label="绂诲紑" value="leave"></el-option>
+            <el-option label="杩涘叆" value="enter"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="璧锋鏃堕棿" prop="startDate">
+          <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>
+      <el-table v-loading="isWorking.search" :max-height="tableHeight" :data="tableData.list" stripe>
+        <el-table-column prop="platformName" label="鏈堝彴鍚嶇О" min-width="150px"></el-table-column>
+        <el-table-column prop="channelName" label="鐩戞帶鐐瑰悕绉�" min-width="150px"></el-table-column>
+        <el-table-column prop="plateNo" label="杞︾墝鍙�" min-width="100px"></el-table-column>
+        <el-table-column label="杩涘嚭绫诲瀷" min-width="90px">
+          <template slot-scope="{row}">
+            <span v-if="row.motionStatus == 'enter'">杩涘叆</span>
+            <span v-if="row.motionStatus == 'leave'">绂诲紑</span>
+            <span v-if="row.motionStatus != 'leave' && row.motionStatus != 'enter'">{{ row.motionStatus }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="鍓嶅悗鏍囪瘑" min-width="90px">
+          <template slot-scope="{row}">
+            <span v-if="row.stockStatus == 'rear'">杞﹀熬</span>
+            <span v-if="row.stockStatus == 'front'">杞﹀ご</span>
+            <span v-if="row.stockStatus != 'rear' && row.stockStatus != 'front'">{{ row.stockStatus }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="杞﹂棬鐘舵��" min-width="100px">
+          <template slot-scope="{row}">
+            <span v-if="row.vehicleDoorStatus == 'open'">寮�闂�</span>
+            <span v-if="row.vehicleDoorStatus == 'close'">鍏抽棬</span>
+            <span v-if="row.vehicleDoorStatus != 'open' && row.vehicleDoorStatus != 'close'">{{ row.vehicleDoorStatus
+              }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="srcIndex" label="璁惧缂栫爜" min-width="260px"></el-table-column>
+        <el-table-column prop="ipAddress" label="IP鍦板潃" min-width="100px"></el-table-column>
+        <el-table-column prop="portNo" label="绔彛" min-width="80px"></el-table-column>
+        <el-table-column fixed="right" label="鎶撴媿鍥�" min-width="100px">
+          <template slot-scope="{row}">
+            <el-image v-if="row.backgroundImageDown" style="width: 60px; height: 60px" :src="row.backgroundImageDown"
+              :preview-src-list="[row.backgroundImageDown]">
+            </el-image>
+          </template>
+        </el-table-column>
+        <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="160px"></el-table-column>
+      </el-table>
+      <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination">
+      </pagination>
+    </template>
+  </TableLayout>
 </template>
 
 <script>
@@ -101,7 +90,7 @@
   name: 'platformEvent',
   extends: BaseTable,
   components: { TableLayout, Pagination },
-  data () {
+  data() {
     return {
       // 鎼滅储
       searchForm: {
@@ -116,7 +105,7 @@
       time: []
     }
   },
-  created () {
+  created() {
     this.config({
       module: '鏈堝彴杞﹁締鐘舵�佷簨浠朵氦浜掕褰�',
       api: '/business/platformEvent',
@@ -125,8 +114,13 @@
     })
     this.changeRadio('0')
   },
+  mounted() {
+    this.$nextTick(() => {
+      this.tableHeight = document.body.scrollHeight - this.$refs.QueryFormRef.offsetHeight - 260
+    })
+  },
   methods: {
-    changeRadio (e) {
+    changeRadio(e) {
       if (e === '0') {
         this.searchForm.startDate = timeForMat(0)[0]
         this.searchForm.endDate = timeForMat(0)[1]
@@ -142,13 +136,13 @@
       }
       this.search()
     },
-    seleTime (e) {
+    seleTime(e) {
       this.searchForm.startDate = e[0]
       this.searchForm.endDate = e[1]
       this.searchForm.radio = null
       this.search()
     },
-    reset () {
+    reset() {
       this.$refs.searchForm.resetFields()
       this.searchForm.startDate = ''
       this.searchForm.endDate = ''

--
Gitblit v1.9.3