6/22完善引入,

This commit is contained in:
Zy
2026-06-22 08:14:35 +08:00
parent ea8129216b
commit 826bf3c782
208 changed files with 1122 additions and 1685 deletions

View File

@@ -12,55 +12,55 @@
<span>车位信息</span>
</div>
</template>
<div class="w-full h-full CarinfoBox gridbox">
<div class="carinfo_item">
<div class="w-full h-full CarInfoBox gridBox">
<div class="carInfo_item">
<div class="label">区域</div>
<div class="main">{{ parkingReviewinfo.parking.areaName }}</div>
<div class="main">{{ parkingReviewInfo.parking.areaName }}</div>
</div>
<div class="carinfo_item">
<div class="carInfo_item">
<div class="label">车位编号</div>
<div class="main">{{ parkingReviewinfo.parking.parkingCode }}</div>
<div class="main">{{ parkingReviewInfo.parking.parkingCode }}</div>
</div>
<div class="carinfo_item">
<div class="carInfo_item">
<div class="label">车位面积</div>
<div class="main">{{ parkingReviewinfo.parking.parkingArea }} </div>
<div class="main">{{ parkingReviewInfo.parking.parkingArea }} </div>
</div>
<div class="carinfo_item">
<div class="carInfo_item">
<div class="label">楼层</div>
<div class="main">{{ parkingReviewinfo.parking.parkingFloor }} </div>
<div class="main">{{ parkingReviewInfo.parking.parkingFloor }} </div>
</div>
<div class="carinfo_item">
<div class="carInfo_item">
<div class="label">车位类型</div>
<div class="main">
<dict-tag :options="com_parking_type" :value="parkingReviewinfo.parking.type" />
<dict-tag :options="com_parking_type" :value="parkingReviewInfo.parking.type" />
</div>
</div>
<div class="carinfo_item">
<div class="carInfo_item">
<div class="label">车位状态</div>
<div class="main">
<DictTag :options="com_parking_status" :value="parkingReviewinfo.parking.parkingStatus"></DictTag>
<DictTag :options="com_parking_status" :value="parkingReviewInfo.parking.parkingStatus"></DictTag>
</div>
</div>
<div class="carinfo_item">
<div class="carInfo_item">
<div class="label">持有人</div>
<div class="main">
<span>
{{ parkingReviewinfo.parking.residentName }}
{{ parkingReviewInfo.parking.residentName }}
</span>
<el-button type="primary" link style="font-size: smaller">详情</el-button>
</div>
</div>
<div class="carinfo_item">
<div class="carInfo_item">
<div class="label">添加时间</div>
<div class="main">{{ parkingReviewinfo.parking.createTime }}</div>
<div class="main">{{ parkingReviewInfo.parking.createTime }}</div>
</div>
<div class="carinfo_item">
<div class="carInfo_item">
<div class="label">添加人</div>
<div class="main">{{ parkingReviewinfo.parking.createName }}</div>
<div class="main">{{ parkingReviewInfo.parking.createName }}</div>
</div>
<div class="carinfo_item">
<div class="carInfo_item">
<div class="label">备注</div>
<div class="main">{{ parkingReviewinfo.parking.remark }}</div>
<div class="main">{{ parkingReviewInfo.parking.remark }}</div>
</div>
</div>
</el-card>
@@ -73,22 +73,22 @@
<span>车辆信息</span>
</div>
</template>
<div class="w-full h-full CarinfoBox" v-if="parkingReviewinfo.car">
<div class="w-full h-full CarInfoBox" v-if="parkingReviewInfo.car">
<el-row>
<el-col :span="8">
<div class="carinfo_item">
<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="carInfo_item">
<div class="label">车辆品牌</div>
<div class="main">宝马</div>
</div>
</el-col>
<el-col :span="8">
<div class="carinfo_item">
<div class="carInfo_item">
<div class="label">车辆型号</div>
<div class="main">X5</div>
</div>
@@ -96,13 +96,13 @@
</el-row>
<el-row class="mt-30px mb-30px">
<el-col :span="8">
<div class="carinfo_item">
<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="carInfo_item">
<div class="label">备注</div>
<div class="main"></div>
</div>
@@ -111,11 +111,11 @@
</el-row>
<el-row>
<el-col :span="24">
<div class="carinfo_item flex-items-start">
<div class="carInfo_item flex-items-start">
<div class="label">车辆照片</div>
<div class="main">
<el-image
class="carinfoImage"
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>
@@ -123,7 +123,7 @@
</el-col>
</el-row>
</div>
<div class="w-full h-full CarinfoBox flex flex-center min-h-17rem" v-else>
<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>
@@ -140,13 +140,11 @@
<div class="preivewBodybox flex-1 ml-5">
<el-input v-model="form.propertyReviewFeedback" type="textarea" :rows="5"></el-input>
<div class="actions mt-5">
<el-button :disabled="!Boolean(parkingReviewinfo.car && parkingReviewinfo.parking.id)" type="primary" @click="handlePreivew(1)"
>审核通过</el-button
>
<el-button :disabled="!Boolean(parkingReviewinfo.car && parkingReviewinfo.parking.id)" type="danger" @click="handlePreivew(0)"
<el-button :disabled="parkingReviewInfo.parking.checkStatus === '1'" type="primary" @click="handlePreview(1)">审核通过</el-button>
<el-button :disabled="parkingReviewInfo.parking.checkStatus === '1'" type="danger" @click="handlePreview(2)"
>审核不通过</el-button
>
<el-button @click="handlBacK">返回</el-button>
<el-button @click="handleBack">返回</el-button>
</div>
</div>
</div>
@@ -165,20 +163,20 @@
</template>
<div class="w-full h-50%">
<el-steps space="200px" direction="vertical" :active="activeStop">
<el-step :description="parkingReviewinfo.parkingReviewProcess.submitTime">
<el-step :description="parkingReviewInfo.parkingReviewProcess.submitTime">
<template #title>
<span v-if="active === 0">未提交信息</span>
<span v-if="active >= 1">已提交信息</span>
</template>
</el-step>
<el-step :description="parkingReviewinfo.parkingReviewProcess.propertyTime">
<el-step :description="parkingReviewInfo.parkingReviewProcess.propertyTime">
<template #title>
<span v-if="active <= 2">待审核</span>
<span v-if="active === 3">物业审核不通过</span>
<span v-if="active >= 4">物业审核通过</span>
</template>
</el-step>
<el-step :description="parkingReviewinfo.parkingReviewProcess.certificationTime">
<el-step :description="parkingReviewInfo.parkingReviewProcess.certificationTime">
<template #title>
<span v-if="active <= 5">未认证</span>
<span v-if="active === 6">已认证</span>
@@ -207,22 +205,30 @@ 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'));
/** 住户审核状态 */
enum reviewStatus {
/** 住户 提交状态 */
enum submitStatus {
/** 未提交 */
unSubmit = '0',
/** 已提交 */
Submited = '1',
/** 待认证 */
awaitReview = '2',
/** 认证不通过 */
unReviewPass = '3',
/** 认证通过 */
ReviewPass = '4',
Submitted = '1'
}
/** 审核状态 */
enum ReviewStatus {
/** 待审核 */
awaitReview = '0',
/** 审核不通过 */
unReviewPass = '2',
/** 审核通过 */
ReviewPass = '1'
}
/** 认证状态 */
enum certificationStatus {
/** 未认证 */
uncertification = '5',
uncertification = '0',
/** 认证失败 */
uncertificationPass = '2',
/** 已认证 */
Certification = '6'
Certification = '1'
}
const active = ref(0);
@@ -232,37 +238,41 @@ const route = useRoute();
const id = ref('');
type parkingReviewType = {
parking: {
id: string;
areaId: string;
areaName: 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;
};
parking: parkingType;
car: any;
parkingReviewProcess: {
submitStatus: null;
propertyStatus: null;
certificationStatus: null;
submitTime: string;
propertyTime: string;
certificationTime: string;
};
parkingReviewProcess: parkingReviewProcess;
};
const parkingReviewinfo = ref<parkingReviewType>({
type parkingType = {
id: string;
areaId: string;
areaName: string;
villageId: string;
villageName: string;
parkingCode: string;
parkingArea: any;
parkingStatus: string;
type: string;
residentId: string;
residentName: string;
parkingFloor: string;
createName: string;
checkStatus: string;
remark: string;
createTime: string;
};
type parkingReviewProcess = {
id: string;
submitStatus: string;
propertyStatus: string;
certificationStatus: string;
submitTime: string;
propertyTime: string;
certificationTime: string;
};
const parkingReviewInfo = ref<parkingReviewType>({
parking: {
'id': '',
'areaId': '',
@@ -279,11 +289,11 @@ const parkingReviewinfo = ref<parkingReviewType>({
'createName': '',
'checkStatus': '',
'remark': '',
'createTime': '',
'delFlag': null
'createTime': ''
},
car: null,
parkingReviewProcess: {
id: null,
submitStatus: null,
propertyStatus: null,
certificationStatus: null,
@@ -297,44 +307,50 @@ const form = ref({
propertyReviewFeedback: '',
propertyStatus: '0'
});
function getInfo() {
if (route.query.id) {
id.value = route.query.id as string;
getParkingReviewInfo(id.value).then((res) => {
parkingReviewinfo.value = res.data;
handleActivestaus(res.data.parkingReviewProcess);
parkingReviewInfo.value = res.data;
handleActiveStaus(res.data.parkingReviewProcess);
});
}
}
getInfo();
function handleActivestaus(rews) {
if (!rews) {
// 处理审核进度
function handleActiveStaus(rows: parkingReviewProcess) {
if (!rows) {
activeStop.value = 0;
active.value = 0;
return;
}
// 提交
if (rews.submitStatus === reviewStatus.unSubmit) {
if (rows.submitStatus === submitStatus.unSubmit) {
activeStop.value = 0;
active.value = 0;
} else if (rews.submitStatus === reviewStatus.Submited) {
active.value = 1;
active.value = 0; // 未提交信息
} else if (rows.submitStatus === submitStatus.Submitted) {
active.value = 1; // 提交信息
activeStop.value = 1;
// 待认证
if (rews.propertyStatus === 0) {
active.value = 2;
} else if (rews.propertyStatus === 1) {
active.value = 3;
} else if (rews.propertyStatus === 2) {
active.value = 4;
// 审核
if (rows.propertyStatus === ReviewStatus.awaitReview) {
active.value = 2; // 待审核
} else if (rows.propertyStatus === ReviewStatus.unReviewPass) {
active.value = 3; // 审核不通过
} else if (rows.propertyStatus === ReviewStatus.ReviewPass) {
active.value = 4; // 审核通过
activeStop.value = 2;
// 审核
if (rews.certificationStatus === 0) {
active.value = 5;
} else if (rews.certificationStatus === 1) {
active.value = 6;
// 认证
if (rows.certificationStatus === certificationStatus.uncertification) {
active.value = 5; // 未认证
} else if (rows.certificationStatus === certificationStatus.uncertificationPass) {
active.value = 5; // 未认证
} else if (rows.certificationStatus === certificationStatus.Certification) {
active.value = 6; // 已认证
activeStop.value = 4;
}
}
@@ -343,16 +359,19 @@ function handleActivestaus(rews) {
// 审核状态
// 物业审核状态 0 待审核 1审核通过 2审核未通过
function handlePreivew(status: number) {
function handlePreview(status: number) {
getParkingReview({
...form.value,
propertyStatus: status,
id: id.value
}).then((res) => {
console.log(res);
id: parkingReviewInfo.value.parkingReviewProcess.id
}).then(() => {
ElMessage.success('操作成功');
handleBack();
});
}
function handlBacK() {
// 返回
function handleBack() {
router.back();
}
</script>
@@ -364,15 +383,15 @@ function handlBacK() {
.ResidentMainBody {
flex: 1;
margin-top: 20px;
.CarinfoBox {
&.gridbox {
.CarInfoBox {
&.gridBox {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: repeat(4, 1fr);
gap: 20px;
row-gap: 40px;
}
.carinfo_item {
.carInfo_item {
display: flex;
align-items: center;
font-size: 14px;
@@ -382,7 +401,7 @@ function handlBacK() {
text-align: right;
padding-right: 10px;
}
.carinfoImage {
.carInfoImage {
width: 200px;
height: 100px;
}