Commit 9c0bb5162edb17904aabd39c0f58ee25960b7607

Authored by wuxw
1 parent b550a0c6

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

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
... ... @@ -33,7 +33,8 @@ export default {
33 33 },
34 34  
35 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 39 this.loading = true
39 40 try {
... ...
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) {
... ...