From 69a1b3bf45738f048361ee4ccb6bdc64fce35720 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 12 三月 2025 11:31:46 +0800
Subject: [PATCH] 更新

---
 admin/src/views/business/platformEvent.vue |  162 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 162 insertions(+), 0 deletions(-)

diff --git a/admin/src/views/business/platformEvent.vue b/admin/src/views/business/platformEvent.vue
new file mode 100644
index 0000000..438a834
--- /dev/null
+++ b/admin/src/views/business/platformEvent.vue
@@ -0,0 +1,162 @@
+<template>
+  <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="motionStatus">
+          <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="changeDate" v-model="searchForm.startDate" type="datetime"
+            format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" placeholder="寮�濮嬫椂闂�" />
+          <el-date-picker @change="changeDate" v-model="searchForm.endDate" type="datetime" format="yyyy-MM-dd HH:mm:ss"
+            value-format="yyyy-MM-dd HH:mm:ss" placeholder="寮�濮嬫椂闂�" />
+        </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>
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import { timeForMat } from '@/utils/util'
+export default {
+  name: 'platformEvent',
+  extends: BaseTable,
+  components: { TableLayout, Pagination },
+  data() {
+    return {
+      // 鎼滅储
+      searchForm: {
+        plateNo: '',
+        motionStatus: '',
+        channelName: '',
+        platformName: '',
+        endDate: '',
+        startDate: '',
+        radio: '0'
+      },
+      time: []
+    }
+  },
+  created() {
+    this.config({
+      module: '鏈堝彴杞﹁締鐘舵�佷簨浠朵氦浜掕褰�',
+      api: '/business/platformEvent',
+      'field.id': 'id',
+      'field.main': 'id'
+    })
+    this.changeRadio('0')
+  },
+  mounted() {
+    this.$nextTick(() => {
+      this.tableHeight = document.body.scrollHeight - this.$refs.QueryFormRef.offsetHeight - 260
+    })
+  },
+  methods: {
+    changeDate(e) {
+      if ((this.searchForm.startDate && this.searchForm.endDate) && this.searchForm.startDate > this.searchForm.endDate) {
+        this.searchForm.endDate = this.searchForm.startDate
+        this.search()
+        return this.$message.error('寮�濮嬫椂闂翠笉鑳藉ぇ浜庣粨鏉熸椂闂�')
+      }else{
+        this.search()
+      }
+    },
+    changeRadio(e) {
+      if (e === '0') {
+        this.searchForm.startDate = timeForMat(0)[0]
+        this.searchForm.endDate = timeForMat(0)[1]
+        // this.time = timeForMat(0)
+      } else if (e === '1') {
+        this.searchForm.startDate = timeForMat(6)[0]
+        this.searchForm.endDate = timeForMat(6)[1]
+        // this.time = timeForMat(6)
+      } else if (e === '2') {
+        this.searchForm.startDate = timeForMat(29)[0]
+        this.searchForm.endDate = timeForMat(29)[1]
+        // this.time = timeForMat(29)
+      }
+      if ((this.searchForm.startDate && this.searchForm.endDate) && this.searchForm.startDate > this.searchForm.endDate) {
+        this.searchForm.startDate = this.searchForm.endDate
+        return this.$message.error('寮�濮嬫椂闂翠笉鑳藉ぇ浜庣粨鏉熸椂闂�')
+      }
+      this.search()
+    },
+    reset() {
+      this.$refs.searchForm.resetFields()
+      this.searchForm.startDate = ''
+      this.searchForm.endDate = ''
+      this.searchForm.radio = ''
+      this.search()
+    }
+  }
+}
+</script>

--
Gitblit v1.9.3