Commit 9c0bb5162edb17904aabd39c0f58ee25960b7607
1 parent
b550a0c6
v1.9 优化车辆添加成员bug
Showing
9 changed files
with
51 additions
and
28 deletions
src/api/car/addCarModalApi.js
| 1 | 1 | import request from '@/utils/request' |
| 2 | 2 | export function saveOwnerCarMember(data) { |
| 3 | - return request({ | |
| 4 | - url: '/owner.saveOwnerCarMember', | |
| 5 | - method: 'post', | |
| 6 | - data | |
| 3 | + return new Promise((resolve, reject) => { | |
| 4 | + request({ | |
| 5 | + url: '/owner.saveOwnerCarMember', | |
| 6 | + method: 'post', | |
| 7 | + data | |
| 8 | + }).then(response => { | |
| 9 | + resolve(response.data) | |
| 10 | + }).catch(error => { | |
| 11 | + reject(error.response.data) | |
| 12 | + }) | |
| 7 | 13 | }) |
| 8 | 14 | } |
| 9 | 15 | \ No newline at end of file | ... | ... |
src/components/car/addCarModal.vue
| 1 | 1 | <template> |
| 2 | - <el-dialog :title="$t('addCarModal.addCar')" :visible.sync="visible" width="50%"> | |
| 2 | + <el-dialog :title="$t('common.add')" :visible.sync="visible" width="50%"> | |
| 3 | 3 | <el-form :model="addCarModelInfo" :rules="rules" ref="addCarForm"> |
| 4 | 4 | <el-form-item :label="$t('listOwnerCar.carNum')" prop="carNum"> |
| 5 | 5 | <el-input v-model="addCarModelInfo.carNum" :placeholder="$t('listOwnerCar.carNum')"></el-input> |
| ... | ... | @@ -15,7 +15,7 @@ |
| 15 | 15 | </el-select> |
| 16 | 16 | </el-form-item> |
| 17 | 17 | <el-form-item :label="$t('listOwnerCar.color')" prop="carColor"> |
| 18 | - <el-input v-model="addCarModelInfo.carColor" :placeholder="$t('listOwnerCar.carColor')"></el-input> | |
| 18 | + <el-input v-model="addCarModelInfo.carColor" :placeholder="$t('listOwnerCar.color')"></el-input> | |
| 19 | 19 | </el-form-item> |
| 20 | 20 | <el-form-item :label="$t('listOwnerCar.remark')"> |
| 21 | 21 | <el-input type="textarea" v-model="addCarModelInfo.remark" :placeholder="$t('listOwnerCar.remark')" |
| ... | ... | @@ -51,19 +51,19 @@ export default { |
| 51 | 51 | carTypes: [], |
| 52 | 52 | rules: { |
| 53 | 53 | carNum: [ |
| 54 | - { required: true, message: this.$t('addCarModal.licensePlateRequired'), trigger: 'blur' }, | |
| 55 | - { min: 2, max: 12, message: this.$t('addCarModal.licensePlateInvalid'), trigger: 'blur' } | |
| 54 | + { required: true, message: this.$t('common.required'), trigger: 'blur' }, | |
| 55 | + { min: 2, max: 12, message: this.$t('common.invalid'), trigger: 'blur' } | |
| 56 | 56 | ], |
| 57 | 57 | carBrand: [ |
| 58 | - { required: true, message: this.$t('addCarModal.carBrandRequired'), trigger: 'blur' }, | |
| 59 | - { max: 50, message: this.$t('addCarModal.carBrandTooLong'), trigger: 'blur' } | |
| 58 | + { required: true, message: this.$t('common.required'), trigger: 'blur' }, | |
| 59 | + { max: 50, message: this.$t('common.invalid'), trigger: 'blur' } | |
| 60 | 60 | ], |
| 61 | 61 | carType: [ |
| 62 | - { required: true, message: this.$t('addCarModal.carTypeRequired'), trigger: 'change' } | |
| 62 | + { required: true, message: this.$t('common.required'), trigger: 'change' } | |
| 63 | 63 | ], |
| 64 | 64 | carColor: [ |
| 65 | - { required: true, message: this.$t('addCarModal.colorRequired'), trigger: 'blur' }, | |
| 66 | - { max: 12, message: this.$t('addCarModal.colorTooLong'), trigger: 'blur' } | |
| 65 | + { required: true, message: this.$t('common.required'), trigger: 'blur' }, | |
| 66 | + { max: 12, message: this.$t('common.invalid'), trigger: 'blur' } | |
| 67 | 67 | ] |
| 68 | 68 | } |
| 69 | 69 | } |
| ... | ... | @@ -97,7 +97,7 @@ export default { |
| 97 | 97 | this.visible = false |
| 98 | 98 | this.clearAddCarModalInfo() |
| 99 | 99 | this.$emit('notify') |
| 100 | - this.$message.success(this.$t('common.addSuccess')) | |
| 100 | + this.$message.success(this.$t('common.saveSuccess')) | |
| 101 | 101 | } else { |
| 102 | 102 | this.$message.error(response.msg) |
| 103 | 103 | } | ... | ... |
src/components/car/carDetailMember.vue
| ... | ... | @@ -8,7 +8,7 @@ |
| 8 | 8 | </el-col> |
| 9 | 9 | </el-row> |
| 10 | 10 | |
| 11 | - <div class="margin-top"> | |
| 11 | + <div class=""> | |
| 12 | 12 | <el-table :data="carDetailMemberInfo.ownerCars" style="width: 100%"> |
| 13 | 13 | <el-table-column prop="carNum" :label="$t('listOwnerCar.carNum')" align="center"></el-table-column> |
| 14 | 14 | <el-table-column prop="roomName" :label="$t('listOwnerCar.roomNum')" align="center"></el-table-column> |
| ... | ... | @@ -101,6 +101,12 @@ export default { |
| 101 | 101 | this.communityId = getCommunityId() |
| 102 | 102 | }, |
| 103 | 103 | methods: { |
| 104 | + open(data) { | |
| 105 | + this.carDetailMemberInfo.carId = data.carId | |
| 106 | + this.carDetailMemberInfo.carNum = data.carNum | |
| 107 | + this.carDetailMemberInfo.memberId = data.memberId | |
| 108 | + this._loadCarDetailMemberData(1, this.pagination.pageSize) | |
| 109 | + }, | |
| 104 | 110 | switch(data) { |
| 105 | 111 | this.carDetailMemberInfo.carId = data.carId |
| 106 | 112 | this.carDetailMemberInfo.carNum = data.carNum | ... | ... |
src/components/car/deleteOwnerCar.vue
src/components/car/editMemberCar.vue
| 1 | 1 | <template> |
| 2 | - <el-dialog :title="$t('editMemberCar.edit')" :visible.sync="visible" width="50%"> | |
| 2 | + <el-dialog :title="$t('common.edit')" :visible.sync="visible" width="50%"> | |
| 3 | 3 | <el-form :model="editMemberCarInfo" :rules="rules" ref="editMemberCarForm"> |
| 4 | - <el-form-item :label="$t('editMemberCar.licensePlate')" prop="carNum"> | |
| 5 | - <el-input v-model="editMemberCarInfo.carNum" :placeholder="$t('editMemberCar.licensePlateRequired')"></el-input> | |
| 4 | + <el-form-item :label="$t('listOwnerCar.carNum')" prop="carNum"> | |
| 5 | + <el-input v-model="editMemberCarInfo.carNum" :placeholder="$t('listOwnerCar.licensePlateRequired')"></el-input> | |
| 6 | 6 | </el-form-item> |
| 7 | - <el-form-item :label="$t('editMemberCar.carBrand')"> | |
| 8 | - <el-input v-model="editMemberCarInfo.carBrand" :placeholder="$t('editMemberCar.carBrandOptional')"></el-input> | |
| 7 | + <el-form-item :label="$t('listOwnerCar.carBrand')"> | |
| 8 | + <el-input v-model="editMemberCarInfo.carBrand" :placeholder="$t('listOwnerCar.carBrandOptional')"></el-input> | |
| 9 | 9 | </el-form-item> |
| 10 | - <el-form-item :label="$t('editMemberCar.carType')" prop="carType"> | |
| 11 | - <el-select v-model="editMemberCarInfo.carType" :placeholder="$t('editMemberCar.carTypeRequired')" style="width:100%"> | |
| 10 | + <el-form-item :label="$t('listOwnerCar.carType')" prop="carType"> | |
| 11 | + <el-select v-model="editMemberCarInfo.carType" :placeholder="$t('listOwnerCar.carTypeRequired')" style="width:100%"> | |
| 12 | 12 | <el-option v-for="carType in carTypes" :key="carType.statusCd" |
| 13 | 13 | :label="carType.name" :value="carType.statusCd"></el-option> |
| 14 | 14 | </el-select> |
| 15 | 15 | </el-form-item> |
| 16 | - <el-form-item :label="$t('editMemberCar.color')"> | |
| 17 | - <el-input v-model="editMemberCarInfo.carColor" :placeholder="$t('editMemberCar.colorOptional')"></el-input> | |
| 16 | + <el-form-item :label="$t('listOwnerCar.color')"> | |
| 17 | + <el-input v-model="editMemberCarInfo.carColor" :placeholder="$t('listOwnerCar.colorOptional')"></el-input> | |
| 18 | 18 | </el-form-item> |
| 19 | - <el-form-item :label="$t('editMemberCar.remark')"> | |
| 20 | - <el-input type="textarea" v-model="editMemberCarInfo.remark" :placeholder="$t('editMemberCar.remarkPlaceholder')" rows="3"></el-input> | |
| 19 | + <el-form-item :label="$t('listOwnerCar.remark')"> | |
| 20 | + <el-input type="textarea" v-model="editMemberCarInfo.remark" :placeholder="$t('listOwnerCar.remarkPlaceholder')" rows="3"></el-input> | |
| 21 | 21 | </el-form-item> |
| 22 | 22 | </el-form> |
| 23 | 23 | <div slot="footer" class="dialog-footer"> | ... | ... |
src/i18n/commonLang.js
| ... | ... | @@ -67,6 +67,8 @@ export const messages = { |
| 67 | 67 | process:'Process', |
| 68 | 68 | jpgOnly:'Only JPG files are allowed', |
| 69 | 69 | sizeLimit:'File size must be less than 2MB', |
| 70 | + required:'Required', | |
| 71 | + invalid:'Invalid', | |
| 70 | 72 | } |
| 71 | 73 | }, |
| 72 | 74 | zh: { |
| ... | ... | @@ -137,6 +139,8 @@ export const messages = { |
| 137 | 139 | process:'处理', |
| 138 | 140 | jpgOnly:'只允许上传JPG文件', |
| 139 | 141 | sizeLimit:'文件大小必须小于2MB', |
| 142 | + required:'必填', | |
| 143 | + invalid:'无效', | |
| 140 | 144 | } |
| 141 | 145 | } |
| 142 | 146 | } |
| 143 | 147 | \ No newline at end of file | ... | ... |
src/views/car/carDetail.vue
| ... | ... | @@ -208,6 +208,10 @@ export default { |
| 208 | 208 | created() { |
| 209 | 209 | this.communityId = getCommunityId() |
| 210 | 210 | this.carDetailInfo.memberId = this.$route.query.memberId |
| 211 | + let tab = this.$route.query.tab | |
| 212 | + if (tab) { | |
| 213 | + this.carDetailInfo._currentTab = tab | |
| 214 | + } | |
| 211 | 215 | if (this.carDetailInfo.memberId) { |
| 212 | 216 | this._loadCarDetailInfo() |
| 213 | 217 | } | ... | ... |
src/views/car/listOwnerCarLang.js
| ... | ... | @@ -87,6 +87,7 @@ export const messages = { |
| 87 | 87 | endTimeAfterStart: 'End time must be after start time', |
| 88 | 88 | iotSyncDetail: 'IoT sync details', |
| 89 | 89 | confirmRelease: 'Are you sure to release the car?', |
| 90 | + parkingLot: 'Parking Lot', | |
| 90 | 91 | } |
| 91 | 92 | }, |
| 92 | 93 | zh: { |
| ... | ... | @@ -177,6 +178,7 @@ export const messages = { |
| 177 | 178 | endTimeAfterStart: '结租时间必须大于起租时间', |
| 178 | 179 | iotSyncDetail: '同步物联网详情', |
| 179 | 180 | confirmRelease: '确认释放车辆?', |
| 181 | + parkingLot: '车场', | |
| 180 | 182 | } |
| 181 | 183 | } |
| 182 | 184 | } |
| 183 | 185 | \ No newline at end of file | ... | ... |
src/views/car/listOwnerCarList.vue
| ... | ... | @@ -316,7 +316,7 @@ export default { |
| 316 | 316 | }, |
| 317 | 317 | |
| 318 | 318 | toCarMember(car) { |
| 319 | - this.$router.push(`/pages/property/listOwnerCarMember?carId=${car.carId}&carNum=${car.carNum}`) | |
| 319 | + this.$router.push(`/views/car/carDetail?memberId=${car.carId}&tab=carDetailMember`) | |
| 320 | 320 | }, |
| 321 | 321 | |
| 322 | 322 | getCarState(car) { | ... | ... |