feat:车辆统计

This commit is contained in:
dzc committed 2025-07-28 10:51:50 +08:00
1 parent 8c8a7a1d64
commit 1cceab210e
4 files changed
+128

No files matched your search

+1
View File
@@ -1,3 +1,4 @@
<!-- 车辆进出管理 -->
<template>
<div class="layout-padding">
<div class="layout-padding-auto layout-padding-view">
+109
View File
@@ -0,0 +1,109 @@
<!-- 车辆预警记录 -->
<template>
<div class="layout-padding">
<div class="layout-padding-auto layout-padding-view">
<el-row shadow="hover" v-show="showSearch" class="ml10">
<el-form-item style="width: 250px;" label="车牌号" prop="carNum">
<el-input v-model="state.queryForm.carNum" placeholder="请输入车牌号" />
</el-form-item>
<el-form-item style="width: 350px;" label="入场时间" prop="enterTimeList">
<el-date-picker v-model="state.queryForm.enterTimeList" value-format="YYYY-MM-DD"
type="daterange" />
</el-form-item>
<el-form-item style="width: 350px;" label="出场时间" prop="exitTimeList">
<el-date-picker v-model="state.queryForm.exitTimeList" value-format="YYYY-MM-DD" type="daterange" />
</el-form-item>
</el-row>
<el-row>
<div class="mb8" style="width: 100%">
<right-toolbar v-model:showSearch="showSearch" :export="'car_carAccess_export'"
@exportExcel="exportExcel" class="ml10 mr20" style="float: right;"
@queryTable="getDataList"></right-toolbar>
</div>
</el-row>
<el-table :data="state.dataList" v-loading="state.loading" border :cell-style="tableStyle.cellStyle"
:header-cell-style="tableStyle.headerCellStyle" @selection-change="selectionChangHandle"
@sort-change="sortChangeHandle">
<el-table-column v-if="false" type="selection" width="40" align="center" />
<el-table-column type="index" label="#" width="80" />
<el-table-column v-if="false" label="车辆信息">
<el-table-column prop="carOwnerId" min-width="100" label="车主id" />
<el-table-column prop="ownerType" min-width="100" label="车辆类型" />
</el-table-column>
<el-table-column label="报警类型">
</el-table-column>
<el-table-column label="入场">
<el-table-column prop="carNum" min-width="100" label="入场车牌号" />
<el-table-column prop="enterMode" min-width="100" label="入场方式">
<template #default="{ row }">
<dict-tag :options="dh_enter_Mode" :value="row.enterMode" />
</template>
</el-table-column>
<el-table-column prop="enterTime" min-width="180" label="入场时间" />
<el-table-column prop="originalPicPathEnter" min-width="100" label="抓拍图片">
<template #default="{ row }">
{{ row.originalPicPathEnter }}
</template>
</el-table-column>
</el-table-column>
<el-table-column label="出场">
<el-table-column prop="exitCarNum" min-width="100" label="出场车牌号" />
<el-table-column prop="exitTime" min-width="180" label="出场时间" />
<el-table-column prop="originalPicPathExit" min-width="100" label="抓拍图片">
<template #default="{ row }">
{{ row.originalPicPathExit }}
</template>
</el-table-column>
</el-table-column>
</el-table>
<pagination @size-change="sizeChangeHandle" @current-change="currentChangeHandle"
v-bind="state.pagination" />
</div>
</div>
</template>
<script setup lang="ts" name="carAlarm">
import { BasicTableProps, useTable } from "/@/hooks/table";
import { useDict } from '/@/hooks/dict';
import * as CarAccessApi from "/@/api/car/carAccess";
// 搜索变量
const queryRef = ref()
const showSearch = ref(true)
// 多选变量
const selectObjs = ref([]) as any
const multiple = ref(true)
// 定义查询字典
const { dh_enter_Mode } = useDict('dh_enter_Mode');
const state: BasicTableProps = reactive<BasicTableProps>({
queryForm: {},
pageList: CarAccessApi.fetchList
})
// table hook
const {
getDataList,
currentChangeHandle,
sizeChangeHandle,
sortChangeHandle,
downBlobFile,
tableStyle
} = useTable(state)
// 导出excel
const exportExcel = () => {
downBlobFile('/car/carAccess/export', Object.assign(state.queryForm, { ids: selectObjs }), 'carAccess.xlsx')
}
// 多选事件
const selectionChangHandle = (objs: { id: string }[]) => {
selectObjs.value = objs.map(({ id }) => id);
multiple.value = !objs.length;
};
</script>
<style lang="scss" scoped></style>
+9
View File
@@ -0,0 +1,9 @@
<!-- 超速记录 -->
<template>
<div></div>
</template>
<script setup lang="ts" name="carTimes">
</script>
<style lang="scss" scoped></style>
+9
View File
@@ -0,0 +1,9 @@
<!-- 车辆出入次数统计 -->
<template>
<div></div>
</template>
<script setup lang="ts" name="carTimes">
</script>
<style lang="scss" scoped></style>