车辆管理界面搭建

This commit is contained in:
Zy
2026-04-10 18:30:19 +08:00
parent 966a54fe3f
commit 67a292b252
15 changed files with 1313 additions and 78 deletions

View File

@@ -1,12 +1,13 @@
<template>
<div class="p-2">
<Pageheader title="车位管理"></Pageheader>
<transition :enter-active-class="proxy?.animate.searchAnimate.enter" :leave-active-class="proxy?.animate.searchAnimate.leave">
<div v-show="showSearch" class="mb-[10px]">
<el-card shadow="hover">
<el-form ref="queryFormRef" :model="queryParams" :inline="true">
<el-form-item label="车位状态" prop="areaId">
<el-select v-model="queryParams.checkStatus" placeholder="请选择" clearable>
<el-option v-for="dict in com_parking_status" :key="dict.value" :label="dict.label" :value="dict.value" />
<el-form-item label="车位状态" prop="parkingStatus">
<el-select v-model="queryParams.parkingStatus" placeholder="请选择" clearable>
<el-option v-for="dict in com_parking_status" :key="dict.value" :label="dict.label" :value="Number(dict.value)" />
</el-select>
</el-form-item>
@@ -51,11 +52,21 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="区域" align="center" prop="areaId" />
<el-table-column label="车位编号" align="center" prop="parkingCode" />
<el-table-column label="车位面积" align="center" prop="parkingArea" />
<el-table-column label="楼层" align="center" prop="parkingArea" />
<el-table-column label="车位状态" align="center" prop="parkingStatus" />
<el-table-column label="车位类型" align="center" prop="type" />
<el-table-column label="持有人" align="center" prop="parkingArea" />
<el-table-column label="车位面积" align="center" prop="parkingArea">
<template #default="scope"> {{ scope.row.parkingArea }} </template>
</el-table-column>
<el-table-column label="楼层" align="center" prop="parkingFloor" />
<el-table-column label="车位状态" align="center" prop="parkingStatus">
<template #default="scope">
<dict-tag :options="com_parking_status" :value="scope.row.parkingStatus" />
</template>
</el-table-column>
<el-table-column label="车位类型" align="center" prop="type">
<template #default="scope">
<dict-tag :options="com_parking_type" :value="scope.row.type" />
</template>
</el-table-column>
<el-table-column label="持有人" align="center" prop="residentName" />
<el-table-column label="审核状态" align="center" prop="checkStatus">
<template #default="scope">
<dict-tag :options="com_review" :value="scope.row.checkStatus" />
@@ -77,11 +88,14 @@
</template>
<script setup name="Parking" lang="ts">
import Pageheader from '@/components/Pageheader/index.vue';
import { listArea } from '@/api/system/carArea';
import { listParking, getParking, delParking, addParking, updateParking } from '@/api/system/parking/index';
import { ParkingVO, ParkingQuery, ParkingForm } from '@/api/system/parking/type';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { com_review } = toRefs<any>(proxy?.useDict('com_review'));
const { com_parking_type } = toRefs<any>(proxy?.useDict('com_parking_type'));
const { com_parking_status } = toRefs<any>(proxy?.useDict('com_parking_status'));
const router = useRouter();
@@ -136,9 +150,12 @@ const data = reactive<PageData<ParkingForm, ParkingQuery>>({
});
const { queryParams, form, rules } = toRefs(data);
const AreaList = ref([]);
/** 查询车位管理列表 */
const getList = async () => {
// 获取区域列表
const areaRes = await listArea(queryParams.value);
AreaList.value = areaRes.rows;
loading.value = true;
const res = await listParking(queryParams.value);
parkingList.value = res.rows;