From 2079ba28f20bde46f7736699c97abf0e1564770d Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期一, 14 十月 2024 09:30:46 +0800
Subject: [PATCH] 最新版本

---
 admin/src/views/business/carEvent.vue |  318 +++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 227 insertions(+), 91 deletions(-)

diff --git a/admin/src/views/business/carEvent.vue b/admin/src/views/business/carEvent.vue
index 5644f65..5ba7970 100644
--- a/admin/src/views/business/carEvent.vue
+++ b/admin/src/views/business/carEvent.vue
@@ -1,118 +1,254 @@
 <template>
-    <TableLayout :permissions="['business:category:query']">
-        <!-- 鎼滅储琛ㄥ崟 -->
-        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-            <el-form-item label="杞︾墝鍙�" prop="plateNos">
-                <el-input v-model="searchForm.plateNos" placeholder="璇疯緭鍏ヨ溅鐗屽彿" @keypress.enter.native="search"></el-input>
-            </el-form-item>
-            <el-form-item label="濮撳悕/鎵嬫満鍙�" prop="plateNos">
-                <el-input v-model="searchForm.plateNos" placeholder="璇疯緭鍏ュ鍚�/鎵嬫満鍙�" @keypress.enter.native="search"></el-input>
-            </el-form-item>
-            <el-form-item label="鍏徃/閮ㄩ棬鍚嶇О" prop="plateNos">
-                <el-input v-model="searchForm.plateNos" placeholder="璇疯緭鍏ュ叕鍙�/閮ㄩ棬鍚嶇О" @keypress.enter.native="search"></el-input>
-            </el-form-item>
-            <el-form-item label="浜哄憳绫诲瀷" prop="plateNos">
-                <el-select v-model="searchForm.plateNos" placeholder="璇烽�夋嫨">
-                    <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="浜嬩欢绫诲瀷" prop="eventType">
-                <el-select v-model="searchForm.eventType" placeholder="璇烽�夋嫨">
-                    <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="璧峰鏃堕棿" prop="eventType">
-                <el-date-picker
-                    v-model="searchForm.eventType"
-                    type="daterange"
-                    range-separator="鑷�"
-                    start-placeholder="寮�濮嬫棩鏈�"
-                    end-placeholder="缁撴潫鏃ユ湡">
-                </el-date-picker>
-            </el-form-item>
-            <el-radio-group v-model="searchForm.eventType" size="small">
-                <el-radio-button label="褰撳ぉ"></el-radio-button>
-                <el-radio-button label="杩�7澶�"></el-radio-button>
-                <el-radio-button label="杩�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>
-            <ul class="toolbar" v-permissions="['business:member:create', 'business:member:delete']">
-                <li><el-button type="primary" v-permissions="['business:member:create']">瀵煎嚭</el-button></li>
-            </ul>
-            <el-table
-                v-loading="isWorking.search"
-                :data="tableData.list"
-                stripe
-            >
-                <el-table-column prop="plateNos" label="杞︾墝鍙�" min-width="100px"></el-table-column>
-                <el-table-column prop="plateNos" label="褰掑睘鐢ㄦ埛绫诲瀷" min-width="100px"></el-table-column>
-                <el-table-column prop="plateNos" label="濮撳悕" min-width="100px"></el-table-column>
-                <el-table-column prop="plateNos" label="鎵嬫満鍙�" min-width="100px"></el-table-column>
-                <el-table-column prop="plateNos" label="鍏徃/閮ㄩ棬" min-width="100px"></el-table-column>
-                <el-table-column prop="parkName" label="鍋滆溅搴撳悕绉�" min-width="100px"></el-table-column>
-                <el-table-column prop="gateName" label="鍑哄叆鍙e悕绉�" min-width="100px"></el-table-column>
-                <el-table-column prop="eventType" label="浜嬩欢绫诲瀷" min-width="100px"></el-table-column>
-                <el-table-column prop="inoutType" label="鍑哄叆绫诲瀷" min-width="100px">
-                    <template slot-scope="{row}">
-                        <span v-if="row.inoutType === 0">杩涘満</span>
-                        <span v-if="row.inoutType === 1">鍑哄満</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="vehiclePicUrl" label="鎶撴媿鍥剧墖" min-width="100px"></el-table-column>
-                <el-table-column prop="happenTime" label="浜嬩欢鏃堕棿" min-width="100px"></el-table-column>
-            </el-table>
-            <pagination
-                @size-change="handleSizeChange"
-                @current-change="handlePageChange"
-                :pagination="tableData.pagination"
-            >
-            </pagination>
-        </template>
-    </TableLayout>
+  <TableLayout :permissions="['business:carevent:query']">
+    <!-- 鎼滅储琛ㄥ崟 -->
+    <el-form
+      ref="searchForm"
+      slot="search-form"
+      :model="searchForm"
+      label-width="100px"
+      inline
+    >
+      <el-form-item label="杞︾墝鍙�" prop="plateNos">
+        <el-input
+          v-model="searchForm.plateNos"
+          placeholder="璇疯緭鍏ヨ溅鐗屽彿"
+          @keypress.enter.native="search"
+        ></el-input>
+      </el-form-item>
+      <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="memberType">
+        <el-select v-model="searchForm.memberType" 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="eventType">
+        <el-select v-model="searchForm.eventType" placeholder="璇烽�夋嫨">
+          <el-option label="鍦ㄥ洯鍘嬬嚎浜嬩欢" value="771760130"></el-option>
+          <el-option label="鍦ㄥ洯鏀捐浜嬩欢" value="771760131"></el-option>
+          <el-option label="绂诲洯鍘嬬嚎浜嬩欢" value="771760133"></el-option>
+          <el-option label="绂诲洯鏀捐浜嬩欢" value="771760134"></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="璧峰鏃堕棿" prop="eventType">
+        <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>
+      <ul class="toolbar" v-permissions="['business:carevent:exportExcel']">
+        <li>
+          <el-button
+            type="primary"
+            v-permissions="['business:carevent:sync']"
+            @click="$refs.OperaCarEventHkWindow.open('鍚屾杩囪溅璁板綍')"
+            >鍚屾</el-button
+          >
+        </li>
+        <li>
+          <el-button
+            type="primary"
+            :loading="isWorking.export"
+            v-permissions="['business:carevent:exportExcel']"
+            @click="exportExcel"
+            >瀵煎嚭</el-button
+          >
+        </li>
+      </ul>
+      <el-table v-loading="isWorking.search" :data="tableData.list" stripe>
+        <el-table-column
+          prop="plateNos"
+          label="杞︾墝鍙�"
+          min-width="100px"
+        ></el-table-column>
+        <el-table-column
+          prop="parkName"
+          label="鍋滆溅搴撳悕绉�"
+          min-width="100px"
+        ></el-table-column>
+        <el-table-column
+          prop="gateName"
+          label="鍑哄叆鍙e悕绉�"
+          min-width="100px"
+        ></el-table-column>
+        <el-table-column
+          prop="eventTypeName"
+          label="浜嬩欢绫诲瀷"
+          min-width="100px"
+        ></el-table-column>
+        <el-table-column label="鍑哄叆绫诲瀷" min-width="100px">
+          <template slot-scope="{ row }">
+            <span v-if="row.inoutType === 0">杩涘満</span>
+            <span v-if="row.inoutType === 1">绂诲洯</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="褰掑睘鐢ㄦ埛绫诲瀷" min-width="100px">
+          <template slot-scope="{ row }">
+            <span v-if="row.personType == 0">鍔冲姟璁垮</span>
+            <span v-if="row.personType == 1">鏅�氳瀹�</span>
+            <span v-if="row.personType == 2">鍐呴儴浜哄憳</span>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="personName"
+          label="濮撳悕"
+          min-width="100px"
+        ></el-table-column>
+        <el-table-column
+          prop="personPhone"
+          label="鎵嬫満鍙�"
+          min-width="100px"
+        ></el-table-column>
+        <el-table-column
+          prop="personCompanyName"
+          label="缁勭粐"
+          min-width="100px"
+        ></el-table-column>
+        <el-table-column label="杞︾墝鎶撴媿鍥�" min-width="100px">
+          <template slot-scope="{ row }">
+            <div v-if="row.platePicUrl != null">
+              <el-image
+                style="width: 80px; height: 80px"
+                :src="row.platePicUrl"
+                :preview-src-list="[row.platePicUrl]"
+              >
+              </el-image>
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column label="鎶撴媿鍥剧墖" min-width="100px">
+          <template slot-scope="{ row }">
+            <div v-if="row.vehiclePicUrl != null">
+              <el-image
+                style="width: 80px; height: 80px"
+                :src="row.vehiclePicUrl"
+                :preview-src-list="[row.vehiclePicUrl]"
+              >
+              </el-image>
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="happenTime"
+          label="浜嬩欢鏃堕棿"
+          min-width="100px"
+        ></el-table-column>
+      </el-table>
+      <pagination
+        @size-change="handleSizeChange"
+        @current-change="handlePageChange"
+        :pagination="tableData.pagination"
+      >
+      </pagination>
+
+      <OperaCarEventHkWindow ref="OperaCarEventHkWindow" @success="search()" />
+    </template>
+  </TableLayout>
 </template>
 
 <script>
 import BaseTable from '@/components/base/BaseTable'
 import TableLayout from '@/layouts/TableLayout'
 import Pagination from '@/components/common/Pagination'
+import OperaCarEventHkWindow from '@/components/business/OperaCarEventHkWindow'
+import { timeForMat } from '@/utils/util'
 export default {
   name: 'CarEvent',
   extends: BaseTable,
-  components: { TableLayout, Pagination },
-  data () {
+  components: { TableLayout, Pagination, OperaCarEventHkWindow },
+  data() {
     return {
       // 鎼滅储
       searchForm: {
         eventType: '',
-        plateNos: ''
+        keyWords: '',
+        plateNos: '',
+        memberType: '',
+        companyName: '',
+        startTime: '',
+        endTime: '',
+        radio: '0'
       },
-      options: []
+      time: []
     }
   },
-  created () {
+  created() {
     this.config({
       module: '鍋滆溅鍦轰簨浠舵帹閫佽褰曡〃',
       api: '/business/carEvent',
       'field.id': 'id',
       'field.main': 'id'
     })
+    this.changeRadio('0')
     this.search()
+  },
+  methods: {
+    reset() {
+      this.$refs.searchForm.resetFields()
+      this.searchForm.radio = '0'
+      this.changeRadio('0')
+      this.time = []
+      this.search()
+    },
+    changeRadio(e) {
+      if (e === '0') {
+        this.searchForm.startTime = timeForMat(0)[0]
+        this.searchForm.endTime = timeForMat(0)[1]
+        this.time = timeForMat(0)
+      } else if (e === '1') {
+        this.searchForm.startTime = timeForMat(6)[0]
+        this.searchForm.endTime = timeForMat(6)[1]
+        this.time = timeForMat(6)
+      } else if (e === '2') {
+        this.searchForm.startTime = timeForMat(29)[0]
+        this.searchForm.endTime = timeForMat(29)[1]
+        this.time = timeForMat(29)
+      }
+      this.search()
+    },
+    seleTime(e) {
+      this.searchForm.startTime = e[0]
+      this.searchForm.endTime = e[1]
+      this.searchForm.radio = null
+      this.search()
+    }
   }
 }
 </script>

--
Gitblit v1.9.3