v1.9 优化车辆添加成员bug

This commit is contained in:
wuxw 2025-08-21 17:50:09 +08:00
parent b550a0c64b
commit 9c0bb5162e
9 changed files with 51 additions and 28 deletions

View File

@ -1,8 +1,14 @@
import request from '@/utils/request'
export function saveOwnerCarMember(data) {
return request({
url: '/owner.saveOwnerCarMember',
method: 'post',
data
return new Promise((resolve, reject) => {
request({
url: '/owner.saveOwnerCarMember',
method: 'post',
data
}).then(response => {
resolve(response.data)
}).catch(error => {
reject(error.response.data)
})
})
}

View File

@ -1,5 +1,5 @@
<template>
<el-dialog :title="$t('addCarModal.addCar')" :visible.sync="visible" width="50%">
<el-dialog :title="$t('common.add')" :visible.sync="visible" width="50%">
<el-form :model="addCarModelInfo" :rules="rules" ref="addCarForm">
<el-form-item :label="$t('listOwnerCar.carNum')" prop="carNum">
<el-input v-model="addCarModelInfo.carNum" :placeholder="$t('listOwnerCar.carNum')"></el-input>
@ -15,7 +15,7 @@
</el-select>
</el-form-item>
<el-form-item :label="$t('listOwnerCar.color')" prop="carColor">
<el-input v-model="addCarModelInfo.carColor" :placeholder="$t('listOwnerCar.carColor')"></el-input>
<el-input v-model="addCarModelInfo.carColor" :placeholder="$t('listOwnerCar.color')"></el-input>
</el-form-item>
<el-form-item :label="$t('listOwnerCar.remark')">
<el-input type="textarea" v-model="addCarModelInfo.remark" :placeholder="$t('listOwnerCar.remark')"
@ -51,19 +51,19 @@ export default {
carTypes: [],
rules: {
carNum: [
{ required: true, message: this.$t('addCarModal.licensePlateRequired'), trigger: 'blur' },
{ min: 2, max: 12, message: this.$t('addCarModal.licensePlateInvalid'), trigger: 'blur' }
{ required: true, message: this.$t('common.required'), trigger: 'blur' },
{ min: 2, max: 12, message: this.$t('common.invalid'), trigger: 'blur' }
],
carBrand: [
{ required: true, message: this.$t('addCarModal.carBrandRequired'), trigger: 'blur' },
{ max: 50, message: this.$t('addCarModal.carBrandTooLong'), trigger: 'blur' }
{ required: true, message: this.$t('common.required'), trigger: 'blur' },
{ max: 50, message: this.$t('common.invalid'), trigger: 'blur' }
],
carType: [
{ required: true, message: this.$t('addCarModal.carTypeRequired'), trigger: 'change' }
{ required: true, message: this.$t('common.required'), trigger: 'change' }
],
carColor: [
{ required: true, message: this.$t('addCarModal.colorRequired'), trigger: 'blur' },
{ max: 12, message: this.$t('addCarModal.colorTooLong'), trigger: 'blur' }
{ required: true, message: this.$t('common.required'), trigger: 'blur' },
{ max: 12, message: this.$t('common.invalid'), trigger: 'blur' }
]
}
}
@ -97,7 +97,7 @@ export default {
this.visible = false
this.clearAddCarModalInfo()
this.$emit('notify')
this.$message.success(this.$t('common.addSuccess'))
this.$message.success(this.$t('common.saveSuccess'))
} else {
this.$message.error(response.msg)
}

View File

@ -8,7 +8,7 @@
</el-col>
</el-row>
<div class="margin-top">
<div class="">
<el-table :data="carDetailMemberInfo.ownerCars" style="width: 100%">
<el-table-column prop="carNum" :label="$t('listOwnerCar.carNum')" align="center"></el-table-column>
<el-table-column prop="roomName" :label="$t('listOwnerCar.roomNum')" align="center"></el-table-column>
@ -101,6 +101,12 @@ export default {
this.communityId = getCommunityId()
},
methods: {
open(data) {
this.carDetailMemberInfo.carId = data.carId
this.carDetailMemberInfo.carNum = data.carNum
this.carDetailMemberInfo.memberId = data.memberId
this._loadCarDetailMemberData(1, this.pagination.pageSize)
},
switch(data) {
this.carDetailMemberInfo.carId = data.carId
this.carDetailMemberInfo.carNum = data.carNum

View File

@ -33,7 +33,8 @@ export default {
},
async confirmDelete() {
if (!this.carInfo || !this.carInfo.carId) return
console.log(this.carInfo)
if (!this.carInfo || !this.carInfo.memberId) return
this.loading = true
try {

View File

@ -1,23 +1,23 @@
<template>
<el-dialog :title="$t('editMemberCar.edit')" :visible.sync="visible" width="50%">
<el-dialog :title="$t('common.edit')" :visible.sync="visible" width="50%">
<el-form :model="editMemberCarInfo" :rules="rules" ref="editMemberCarForm">
<el-form-item :label="$t('editMemberCar.licensePlate')" prop="carNum">
<el-input v-model="editMemberCarInfo.carNum" :placeholder="$t('editMemberCar.licensePlateRequired')"></el-input>
<el-form-item :label="$t('listOwnerCar.carNum')" prop="carNum">
<el-input v-model="editMemberCarInfo.carNum" :placeholder="$t('listOwnerCar.licensePlateRequired')"></el-input>
</el-form-item>
<el-form-item :label="$t('editMemberCar.carBrand')">
<el-input v-model="editMemberCarInfo.carBrand" :placeholder="$t('editMemberCar.carBrandOptional')"></el-input>
<el-form-item :label="$t('listOwnerCar.carBrand')">
<el-input v-model="editMemberCarInfo.carBrand" :placeholder="$t('listOwnerCar.carBrandOptional')"></el-input>
</el-form-item>
<el-form-item :label="$t('editMemberCar.carType')" prop="carType">
<el-select v-model="editMemberCarInfo.carType" :placeholder="$t('editMemberCar.carTypeRequired')" style="width:100%">
<el-form-item :label="$t('listOwnerCar.carType')" prop="carType">
<el-select v-model="editMemberCarInfo.carType" :placeholder="$t('listOwnerCar.carTypeRequired')" style="width:100%">
<el-option v-for="carType in carTypes" :key="carType.statusCd"
:label="carType.name" :value="carType.statusCd"></el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('editMemberCar.color')">
<el-input v-model="editMemberCarInfo.carColor" :placeholder="$t('editMemberCar.colorOptional')"></el-input>
<el-form-item :label="$t('listOwnerCar.color')">
<el-input v-model="editMemberCarInfo.carColor" :placeholder="$t('listOwnerCar.colorOptional')"></el-input>
</el-form-item>
<el-form-item :label="$t('editMemberCar.remark')">
<el-input type="textarea" v-model="editMemberCarInfo.remark" :placeholder="$t('editMemberCar.remarkPlaceholder')" rows="3"></el-input>
<el-form-item :label="$t('listOwnerCar.remark')">
<el-input type="textarea" v-model="editMemberCarInfo.remark" :placeholder="$t('listOwnerCar.remarkPlaceholder')" rows="3"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">

View File

@ -67,6 +67,8 @@ export const messages = {
process:'Process',
jpgOnly:'Only JPG files are allowed',
sizeLimit:'File size must be less than 2MB',
required:'Required',
invalid:'Invalid',
}
},
zh: {
@ -137,6 +139,8 @@ export const messages = {
process:'处理',
jpgOnly:'只允许上传JPG文件',
sizeLimit:'文件大小必须小于2MB',
required:'必填',
invalid:'无效',
}
}
}

View File

@ -208,6 +208,10 @@ export default {
created() {
this.communityId = getCommunityId()
this.carDetailInfo.memberId = this.$route.query.memberId
let tab = this.$route.query.tab
if (tab) {
this.carDetailInfo._currentTab = tab
}
if (this.carDetailInfo.memberId) {
this._loadCarDetailInfo()
}

View File

@ -87,6 +87,7 @@ export const messages = {
endTimeAfterStart: 'End time must be after start time',
iotSyncDetail: 'IoT sync details',
confirmRelease: 'Are you sure to release the car?',
parkingLot: 'Parking Lot',
}
},
zh: {
@ -177,6 +178,7 @@ export const messages = {
endTimeAfterStart: '结租时间必须大于起租时间',
iotSyncDetail: '同步物联网详情',
confirmRelease: '确认释放车辆?',
parkingLot: '车场',
}
}
}

View File

@ -316,7 +316,7 @@ export default {
},
toCarMember(car) {
this.$router.push(`/pages/property/listOwnerCarMember?carId=${car.carId}&carNum=${car.carNum}`)
this.$router.push(`/views/car/carDetail?memberId=${car.carId}&tab=carDetailMember`)
},
getCarState(car) {