283 lines
9.2 KiB
Vue
283 lines
9.2 KiB
Vue
<template>
|
||
<div class="ResidentMainBox p-2 w-full h-full">
|
||
<PageHeader></PageHeader>
|
||
<div class="ResidentMainBody">
|
||
<el-row :span="24" :gutter="20">
|
||
<el-col :span="24">
|
||
<!-- 车位信息 -->
|
||
<div class="mb-10">
|
||
<el-card>
|
||
<template #header>
|
||
<div class="card-header">
|
||
<span>车位信息</span>
|
||
</div>
|
||
</template>
|
||
<div class="w-full h-full CarInfoBox gridBox">
|
||
<div class="carInfo_item">
|
||
<div class="label">区域:</div>
|
||
<div class="main">{{ parkingReviewInfo.parking.areaName }}</div>
|
||
</div>
|
||
<div class="carInfo_item">
|
||
<div class="label">车位编号:</div>
|
||
<div class="main">{{ parkingReviewInfo.parking.parkingCode }}</div>
|
||
</div>
|
||
<div class="carInfo_item">
|
||
<div class="label">车位面积:</div>
|
||
<div class="main">{{ parkingReviewInfo.parking.parkingArea }} ㎡</div>
|
||
</div>
|
||
<div class="carInfo_item">
|
||
<div class="label">楼层:</div>
|
||
<div class="main">{{ parkingReviewInfo.parking.parkingFloor }} 层</div>
|
||
</div>
|
||
<div class="carInfo_item">
|
||
<div class="label">车位类型:</div>
|
||
<div class="main">
|
||
<dict-tag :options="com_parking_type" :value="parkingReviewInfo.parking.type" />
|
||
</div>
|
||
</div>
|
||
<div class="carInfo_item">
|
||
<div class="label">车位状态:</div>
|
||
<div class="main">
|
||
<DictTag :options="com_parking_status" :value="parkingReviewInfo.parking.parkingStatus"></DictTag>
|
||
</div>
|
||
</div>
|
||
<div class="carInfo_item">
|
||
<div class="label">添加时间:</div>
|
||
<div class="main">{{ parkingReviewInfo.parking.createTime }}</div>
|
||
</div>
|
||
<div class="carInfo_item" v-if="parkingReviewInfo.parking.residentName">
|
||
<div class="label">业主持有人:</div>
|
||
<div class="main">
|
||
<span>
|
||
{{ parkingReviewInfo.parking.residentName }}
|
||
</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="CarInfoBox" style="margin-top: 20px">
|
||
<div class="carInfo_item" v-if="parkingReviewInfo.parking.contactName">
|
||
<div class="label">非业主联系人:</div>
|
||
<div class="main">{{ parkingReviewInfo.parking.contactName }}</div>
|
||
</div>
|
||
<div class="carInfo_item" style="margin-top: 20px" v-if="parkingReviewInfo.parking.contactPhone">
|
||
<div class="label">联系电话:</div>
|
||
<div class="main">{{ parkingReviewInfo.parking.contactPhone }}</div>
|
||
</div>
|
||
<div class="carInfo_item" style="margin-top: 20px">
|
||
<div class="label">备注:</div>
|
||
<div class="main">{{ parkingReviewInfo.parking.remark }}</div>
|
||
</div>
|
||
</div>
|
||
</el-card>
|
||
</div>
|
||
<!-- 车辆信息 -->
|
||
<div class="mb-10">
|
||
<el-card>
|
||
<template #header>
|
||
<div class="card-header">
|
||
<span>车辆信息</span>
|
||
</div>
|
||
</template>
|
||
<div class="w-full h-full CarInfoBox" v-if="parkingReviewInfo.car">
|
||
<el-row>
|
||
<el-col :span="8">
|
||
<div class="carInfo_item">
|
||
<div class="label">车牌号:</div>
|
||
<div class="main">浙B·N6688</div>
|
||
</div>
|
||
</el-col>
|
||
<el-col :span="8">
|
||
<div class="carInfo_item">
|
||
<div class="label">车辆品牌:</div>
|
||
<div class="main">宝马</div>
|
||
</div>
|
||
</el-col>
|
||
<el-col :span="8">
|
||
<div class="carInfo_item">
|
||
<div class="label">车辆型号</div>
|
||
<div class="main">X5</div>
|
||
</div>
|
||
</el-col>
|
||
</el-row>
|
||
<el-row class="mt-30px mb-30px">
|
||
<el-col :span="8">
|
||
<div class="carInfo_item">
|
||
<div class="label">车身颜色:</div>
|
||
<div class="main">白色</div>
|
||
</div>
|
||
</el-col>
|
||
<el-col :span="8">
|
||
<div class="carInfo_item">
|
||
<div class="label">备注:</div>
|
||
<div class="main">无</div>
|
||
</div>
|
||
</el-col>
|
||
<el-col :span="8"> </el-col>
|
||
</el-row>
|
||
<el-row>
|
||
<el-col :span="24">
|
||
<div class="carInfo_item flex-items-start">
|
||
<div class="label">车辆照片:</div>
|
||
<div class="main">
|
||
<el-image
|
||
class="carInfoImage"
|
||
src="https://ts1.tc.mm.bing.net/th?id=ORMS.76ee9c7ea9fe203b608f9048f54b3cbd&pid=Wdp&w=268&h=140&qlt=90&c=1&rs=1&dpr=1&p=0"
|
||
></el-image>
|
||
</div>
|
||
</div>
|
||
</el-col>
|
||
</el-row>
|
||
</div>
|
||
<div class="w-full h-full CarInfoBox flex flex-center min-h-17rem" v-else>
|
||
<span style="color: #999; font-weight: 500; font-size: larger; letter-spacing: 10px">暂无信息</span>
|
||
</div>
|
||
</el-card>
|
||
</div>
|
||
</el-col>
|
||
</el-row>
|
||
</div>
|
||
</div>
|
||
</template>
|
||
<script setup lang="ts">
|
||
import { ref } from 'vue';
|
||
import PageHeader from '@/components/Pageheader/index.vue';
|
||
import { getParkingReviewInfo } from '@/api/system/parking';
|
||
|
||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
||
const { com_parking_status } = toRefs<any>(proxy?.useDict('com_parking_status'));
|
||
const { com_parking_type } = toRefs<any>(proxy?.useDict('com_parking_type'));
|
||
|
||
const route = useRoute();
|
||
const id = ref('');
|
||
|
||
type parkingReviewType = {
|
||
parking: {
|
||
id: string;
|
||
areaId: string;
|
||
areaName: string;
|
||
contactName: string;
|
||
contactPhone: string;
|
||
villageId: string;
|
||
villageName: string;
|
||
parkingCode: string;
|
||
parkingArea: any;
|
||
parkingStatus: string;
|
||
type: string;
|
||
residentId: any;
|
||
residentName: any;
|
||
parkingFloor: string;
|
||
createName: string;
|
||
checkStatus: string;
|
||
remark: string;
|
||
createTime: string;
|
||
delFlag: any;
|
||
};
|
||
car: any;
|
||
parkingReviewProcess: {
|
||
submitStatus: null;
|
||
propertyStatus: null;
|
||
certificationStatus: null;
|
||
submitTime: string;
|
||
propertyTime: string;
|
||
certificationTime: string;
|
||
};
|
||
};
|
||
|
||
const parkingReviewInfo = ref<parkingReviewType>({
|
||
parking: {
|
||
'id': '',
|
||
'areaId': '',
|
||
'areaName': '',
|
||
'contactName': '',
|
||
'contactPhone': '',
|
||
'villageId': '',
|
||
'villageName': '',
|
||
'parkingCode': '',
|
||
'parkingArea': null,
|
||
'parkingStatus': '',
|
||
'type': '',
|
||
'residentId': null,
|
||
'residentName': null,
|
||
'parkingFloor': '',
|
||
'createName': '',
|
||
'checkStatus': '',
|
||
'remark': '',
|
||
'createTime': '',
|
||
'delFlag': null
|
||
},
|
||
car: null,
|
||
parkingReviewProcess: {
|
||
submitStatus: null,
|
||
propertyStatus: null,
|
||
certificationStatus: null,
|
||
submitTime: null,
|
||
propertyTime: null,
|
||
certificationTime: null
|
||
}
|
||
});
|
||
|
||
function getInfo() {
|
||
if (route.query.id) {
|
||
id.value = route.query.id as string;
|
||
getParkingReviewInfo(id.value).then((res) => {
|
||
parkingReviewInfo.value = res.data;
|
||
});
|
||
}
|
||
}
|
||
getInfo();
|
||
// 审核状态
|
||
// 物业审核状态 0 待审核 1审核通过 2审核未通过
|
||
</script>
|
||
|
||
<style scoped lang="scss">
|
||
.ResidentMainBox {
|
||
display: flex;
|
||
flex-direction: column;
|
||
.ResidentMainBody {
|
||
flex: 1;
|
||
margin-top: 20px;
|
||
.CarInfoBox {
|
||
&.gridBox {
|
||
display: grid;
|
||
grid-template-columns: repeat(3, 1fr);
|
||
grid-template-rows: repeat(3, 1fr);
|
||
gap: 20px;
|
||
row-gap: 40px;
|
||
}
|
||
.carInfo_item {
|
||
display: flex;
|
||
align-items: center;
|
||
font-size: 14px;
|
||
.label {
|
||
font-weight: 600;
|
||
width: 100px;
|
||
text-align: right;
|
||
padding-right: 10px;
|
||
}
|
||
.carInfoImage {
|
||
width: 200px;
|
||
height: 100px;
|
||
}
|
||
}
|
||
}
|
||
&:deep(div.el-step__head.is-process) {
|
||
& > div.el-step__line {
|
||
width: 0;
|
||
border: 1px dashed gray;
|
||
background: transparent;
|
||
}
|
||
}
|
||
&:deep(.el-step.is-vertical .el-step__line) {
|
||
top: 20px;
|
||
}
|
||
&:deep(div.el-step__head.is-finish) {
|
||
& > div.el-step__line {
|
||
width: 0;
|
||
border: 1px solid var(--el-color-primary);
|
||
background: transparent;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
</style>
|