Commit 9c0bb5162edb17904aabd39c0f58ee25960b7607

Authored by wuxw
1 parent b550a0c6

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

src/api/car/addCarModalApi.js
1 import request from '@/utils/request' 1 import request from '@/utils/request'
2 export function saveOwnerCarMember(data) { 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 \ No newline at end of file 15 \ No newline at end of file
src/components/car/addCarModal.vue
1 <template> 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 <el-form :model="addCarModelInfo" :rules="rules" ref="addCarForm"> 3 <el-form :model="addCarModelInfo" :rules="rules" ref="addCarForm">
4 <el-form-item :label="$t('listOwnerCar.carNum')" prop="carNum"> 4 <el-form-item :label="$t('listOwnerCar.carNum')" prop="carNum">
5 <el-input v-model="addCarModelInfo.carNum" :placeholder="$t('listOwnerCar.carNum')"></el-input> 5 <el-input v-model="addCarModelInfo.carNum" :placeholder="$t('listOwnerCar.carNum')"></el-input>
@@ -15,7 +15,7 @@ @@ -15,7 +15,7 @@
15 </el-select> 15 </el-select>
16 </el-form-item> 16 </el-form-item>
17 <el-form-item :label="$t('listOwnerCar.color')" prop="carColor"> 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 </el-form-item> 19 </el-form-item>
20 <el-form-item :label="$t('listOwnerCar.remark')"> 20 <el-form-item :label="$t('listOwnerCar.remark')">
21 <el-input type="textarea" v-model="addCarModelInfo.remark" :placeholder="$t('listOwnerCar.remark')" 21 <el-input type="textarea" v-model="addCarModelInfo.remark" :placeholder="$t('listOwnerCar.remark')"
@@ -51,19 +51,19 @@ export default { @@ -51,19 +51,19 @@ export default {
51 carTypes: [], 51 carTypes: [],
52 rules: { 52 rules: {
53 carNum: [ 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 carBrand: [ 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 carType: [ 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 carColor: [ 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,7 +97,7 @@ export default {
97 this.visible = false 97 this.visible = false
98 this.clearAddCarModalInfo() 98 this.clearAddCarModalInfo()
99 this.$emit('notify') 99 this.$emit('notify')
100 - this.$message.success(this.$t('common.addSuccess')) 100 + this.$message.success(this.$t('common.saveSuccess'))
101 } else { 101 } else {
102 this.$message.error(response.msg) 102 this.$message.error(response.msg)
103 } 103 }
src/components/car/carDetailMember.vue
@@ -8,7 +8,7 @@ @@ -8,7 +8,7 @@
8 </el-col> 8 </el-col>
9 </el-row> 9 </el-row>
10 10
11 - <div class="margin-top"> 11 + <div class="">
12 <el-table :data="carDetailMemberInfo.ownerCars" style="width: 100%"> 12 <el-table :data="carDetailMemberInfo.ownerCars" style="width: 100%">
13 <el-table-column prop="carNum" :label="$t('listOwnerCar.carNum')" align="center"></el-table-column> 13 <el-table-column prop="carNum" :label="$t('listOwnerCar.carNum')" align="center"></el-table-column>
14 <el-table-column prop="roomName" :label="$t('listOwnerCar.roomNum')" align="center"></el-table-column> 14 <el-table-column prop="roomName" :label="$t('listOwnerCar.roomNum')" align="center"></el-table-column>
@@ -101,6 +101,12 @@ export default { @@ -101,6 +101,12 @@ export default {
101 this.communityId = getCommunityId() 101 this.communityId = getCommunityId()
102 }, 102 },
103 methods: { 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 switch(data) { 110 switch(data) {
105 this.carDetailMemberInfo.carId = data.carId 111 this.carDetailMemberInfo.carId = data.carId
106 this.carDetailMemberInfo.carNum = data.carNum 112 this.carDetailMemberInfo.carNum = data.carNum
src/components/car/deleteOwnerCar.vue
@@ -33,7 +33,8 @@ export default { @@ -33,7 +33,8 @@ export default {
33 }, 33 },
34 34
35 async confirmDelete() { 35 async confirmDelete() {
36 - if (!this.carInfo || !this.carInfo.carId) return 36 + console.log(this.carInfo)
  37 + if (!this.carInfo || !this.carInfo.memberId) return
37 38
38 this.loading = true 39 this.loading = true
39 try { 40 try {
src/components/car/editMemberCar.vue
1 <template> 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 <el-form :model="editMemberCarInfo" :rules="rules" ref="editMemberCarForm"> 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 </el-form-item> 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 </el-form-item> 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 <el-option v-for="carType in carTypes" :key="carType.statusCd" 12 <el-option v-for="carType in carTypes" :key="carType.statusCd"
13 :label="carType.name" :value="carType.statusCd"></el-option> 13 :label="carType.name" :value="carType.statusCd"></el-option>
14 </el-select> 14 </el-select>
15 </el-form-item> 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 </el-form-item> 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 </el-form-item> 21 </el-form-item>
22 </el-form> 22 </el-form>
23 <div slot="footer" class="dialog-footer"> 23 <div slot="footer" class="dialog-footer">
src/i18n/commonLang.js
@@ -67,6 +67,8 @@ export const messages = { @@ -67,6 +67,8 @@ export const messages = {
67 process:'Process', 67 process:'Process',
68 jpgOnly:'Only JPG files are allowed', 68 jpgOnly:'Only JPG files are allowed',
69 sizeLimit:'File size must be less than 2MB', 69 sizeLimit:'File size must be less than 2MB',
  70 + required:'Required',
  71 + invalid:'Invalid',
70 } 72 }
71 }, 73 },
72 zh: { 74 zh: {
@@ -137,6 +139,8 @@ export const messages = { @@ -137,6 +139,8 @@ export const messages = {
137 process:'处理', 139 process:'处理',
138 jpgOnly:'只允许上传JPG文件', 140 jpgOnly:'只允许上传JPG文件',
139 sizeLimit:'文件大小必须小于2MB', 141 sizeLimit:'文件大小必须小于2MB',
  142 + required:'必填',
  143 + invalid:'无效',
140 } 144 }
141 } 145 }
142 } 146 }
143 \ No newline at end of file 147 \ No newline at end of file
src/views/car/carDetail.vue
@@ -208,6 +208,10 @@ export default { @@ -208,6 +208,10 @@ export default {
208 created() { 208 created() {
209 this.communityId = getCommunityId() 209 this.communityId = getCommunityId()
210 this.carDetailInfo.memberId = this.$route.query.memberId 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 if (this.carDetailInfo.memberId) { 215 if (this.carDetailInfo.memberId) {
212 this._loadCarDetailInfo() 216 this._loadCarDetailInfo()
213 } 217 }
src/views/car/listOwnerCarLang.js
@@ -87,6 +87,7 @@ export const messages = { @@ -87,6 +87,7 @@ export const messages = {
87 endTimeAfterStart: 'End time must be after start time', 87 endTimeAfterStart: 'End time must be after start time',
88 iotSyncDetail: 'IoT sync details', 88 iotSyncDetail: 'IoT sync details',
89 confirmRelease: 'Are you sure to release the car?', 89 confirmRelease: 'Are you sure to release the car?',
  90 + parkingLot: 'Parking Lot',
90 } 91 }
91 }, 92 },
92 zh: { 93 zh: {
@@ -177,6 +178,7 @@ export const messages = { @@ -177,6 +178,7 @@ export const messages = {
177 endTimeAfterStart: '结租时间必须大于起租时间', 178 endTimeAfterStart: '结租时间必须大于起租时间',
178 iotSyncDetail: '同步物联网详情', 179 iotSyncDetail: '同步物联网详情',
179 confirmRelease: '确认释放车辆?', 180 confirmRelease: '确认释放车辆?',
  181 + parkingLot: '车场',
180 } 182 }
181 } 183 }
182 } 184 }
183 \ No newline at end of file 185 \ No newline at end of file
src/views/car/listOwnerCarList.vue
@@ -316,7 +316,7 @@ export default { @@ -316,7 +316,7 @@ export default {
316 }, 316 },
317 317
318 toCarMember(car) { 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 getCarState(car) { 322 getCarState(car) {