Commit 468b84d2f9978f0121a014dd777bd034353cd7f0
1 parent
8e6e71fd
searchOwner 删除多余的
Showing
18 changed files
with
88 additions
and
756 deletions
package.json
src/components/car/searchOwner.vue deleted
| 1 | -<template> | |
| 2 | - <el-dialog | |
| 3 | - :title="$t('searchOwner.title')" | |
| 4 | - :visible.sync="visible" | |
| 5 | - width="80%" | |
| 6 | - @close="handleClose" | |
| 7 | - > | |
| 8 | - <el-card> | |
| 9 | - <el-row :gutter="20"> | |
| 10 | - <el-col :span="8"> | |
| 11 | - <el-input | |
| 12 | - v-model="searchInfo.roomName" | |
| 13 | - :placeholder="$t('searchOwner.placeholderRoom')" | |
| 14 | - clearable | |
| 15 | - /> | |
| 16 | - </el-col> | |
| 17 | - <el-col :span="8"> | |
| 18 | - <el-input | |
| 19 | - v-model="searchInfo._currentOwnerName" | |
| 20 | - :placeholder="$t('searchOwner.placeholderOwner')" | |
| 21 | - clearable | |
| 22 | - /> | |
| 23 | - </el-col> | |
| 24 | - <el-col :span="8" style="text-align: right"> | |
| 25 | - <el-button | |
| 26 | - type="primary" | |
| 27 | - @click="searchOwners" | |
| 28 | - > | |
| 29 | - <i class="el-icon-search"></i> | |
| 30 | - {{ $t('common.search') }} | |
| 31 | - </el-button> | |
| 32 | - <el-button | |
| 33 | - type="primary" | |
| 34 | - @click="resetOwners" | |
| 35 | - > | |
| 36 | - {{ $t('common.reset') }} | |
| 37 | - </el-button> | |
| 38 | - </el-col> | |
| 39 | - </el-row> | |
| 40 | - | |
| 41 | - <el-table | |
| 42 | - :data="owners" | |
| 43 | - style="width: 100%; margin-top: 20px" | |
| 44 | - border | |
| 45 | - > | |
| 46 | - <el-table-column | |
| 47 | - prop="memberId" | |
| 48 | - :label="$t('searchOwner.memberId')" | |
| 49 | - align="center" | |
| 50 | - /> | |
| 51 | - <el-table-column | |
| 52 | - prop="name" | |
| 53 | - :label="$t('searchOwner.name')" | |
| 54 | - align="center" | |
| 55 | - /> | |
| 56 | - <el-table-column | |
| 57 | - prop="personTypeName" | |
| 58 | - :label="$t('searchOwner.personType')" | |
| 59 | - align="center" | |
| 60 | - /> | |
| 61 | - <el-table-column | |
| 62 | - prop="personRoleName" | |
| 63 | - :label="$t('searchOwner.personRole')" | |
| 64 | - align="center" | |
| 65 | - /> | |
| 66 | - <el-table-column | |
| 67 | - prop="idCard" | |
| 68 | - :label="$t('searchOwner.idCard')" | |
| 69 | - align="center" | |
| 70 | - /> | |
| 71 | - <el-table-column | |
| 72 | - prop="link" | |
| 73 | - :label="$t('searchOwner.link')" | |
| 74 | - align="center" | |
| 75 | - /> | |
| 76 | - <el-table-column | |
| 77 | - :label="$t('common.operation')" | |
| 78 | - align="center" | |
| 79 | - > | |
| 80 | - <template slot-scope="scope"> | |
| 81 | - <el-button | |
| 82 | - type="primary" | |
| 83 | - size="small" | |
| 84 | - @click="chooseOwner(scope.row)" | |
| 85 | - > | |
| 86 | - {{ $t('common.select') }} | |
| 87 | - </el-button> | |
| 88 | - </template> | |
| 89 | - </el-table-column> | |
| 90 | - </el-table> | |
| 91 | - | |
| 92 | - <el-pagination | |
| 93 | - :current-page="page.current" | |
| 94 | - :page-sizes="[10, 20, 30, 50]" | |
| 95 | - :page-size="page.size" | |
| 96 | - :total="page.total" | |
| 97 | - layout="total, sizes, prev, pager, next, jumper" | |
| 98 | - style="margin-top: 20px" | |
| 99 | - @size-change="handleSizeChange" | |
| 100 | - @current-change="handleCurrentChange" | |
| 101 | - /> | |
| 102 | - </el-card> | |
| 103 | - </el-dialog> | |
| 104 | -</template> | |
| 105 | - | |
| 106 | -<script> | |
| 107 | -import { queryOwners } from '@/api/car/addParkingSpaceApplyApi' | |
| 108 | - | |
| 109 | -export default { | |
| 110 | - name: 'SearchOwner', | |
| 111 | - data() { | |
| 112 | - return { | |
| 113 | - visible: false, | |
| 114 | - searchInfo: { | |
| 115 | - owners: [], | |
| 116 | - _currentOwnerName: '', | |
| 117 | - roomName: '', | |
| 118 | - ownerTypeCd: '1001' | |
| 119 | - }, | |
| 120 | - owners: [], | |
| 121 | - page: { | |
| 122 | - current: 1, | |
| 123 | - size: 10, | |
| 124 | - total: 0 | |
| 125 | - } | |
| 126 | - } | |
| 127 | - }, | |
| 128 | - methods: { | |
| 129 | - open() { | |
| 130 | - this.visible = true | |
| 131 | - this.resetOwners() | |
| 132 | - this._loadAllOwnerInfo(1, 10) | |
| 133 | - }, | |
| 134 | - handleClose() { | |
| 135 | - this.visible = false | |
| 136 | - }, | |
| 137 | - async _loadAllOwnerInfo(page, size) { | |
| 138 | - try { | |
| 139 | - const params = { | |
| 140 | - page: page, | |
| 141 | - row: size, | |
| 142 | - communityId: this.getCommunityId(), | |
| 143 | - name: this.searchInfo._currentOwnerName.trim(), | |
| 144 | - roomName: this.searchInfo.roomName.trim(), | |
| 145 | - ownerTypeCd: this.searchInfo.ownerTypeCd | |
| 146 | - } | |
| 147 | - | |
| 148 | - const res = await queryOwners(params) | |
| 149 | - this.owners = res.data | |
| 150 | - this.page.total = res.total | |
| 151 | - this.page.current = page | |
| 152 | - this.page.size = size | |
| 153 | - } catch (error) { | |
| 154 | - console.error('获取业主列表失败:', error) | |
| 155 | - } | |
| 156 | - }, | |
| 157 | - chooseOwner(owner) { | |
| 158 | - this.$emit('choose-owner', owner) | |
| 159 | - this.visible = false | |
| 160 | - }, | |
| 161 | - searchOwners() { | |
| 162 | - this._loadAllOwnerInfo(1, this.page.size) | |
| 163 | - }, | |
| 164 | - resetOwners() { | |
| 165 | - this.searchInfo = { | |
| 166 | - owners: [], | |
| 167 | - _currentOwnerName: '', | |
| 168 | - roomName: '', | |
| 169 | - ownerTypeCd: '1001' | |
| 170 | - } | |
| 171 | - this._loadAllOwnerInfo(1, this.page.size) | |
| 172 | - }, | |
| 173 | - handleSizeChange(size) { | |
| 174 | - this._loadAllOwnerInfo(this.page.current, size) | |
| 175 | - }, | |
| 176 | - handleCurrentChange(page) { | |
| 177 | - this._loadAllOwnerInfo(page, this.page.size) | |
| 178 | - } | |
| 179 | - } | |
| 180 | -} | |
| 181 | -</script> | |
| 182 | 0 | \ No newline at end of file |
src/components/car/searchOwnerLang.js
| 1 | 1 | export default { |
| 2 | 2 | en: { |
| 3 | - searchOwner: { | |
| 4 | - title: 'Select Owner', | |
| 5 | - placeholderRoom: 'Enter room number (building-unit-room)', | |
| 6 | - placeholderOwner: 'Enter owner name', | |
| 7 | - memberId: 'Owner ID', | |
| 8 | - name: 'Name', | |
| 9 | - personType: 'Person Type', | |
| 10 | - personRole: 'Person Role', | |
| 11 | - idCard: 'ID Card', | |
| 12 | - link: 'Contact' | |
| 13 | - } | |
| 14 | 3 | }, |
| 15 | 4 | zh: { |
| 16 | - searchOwner: { | |
| 17 | - title: '选择业主', | |
| 18 | - placeholderRoom: '输入房屋编号楼栋-单元-房屋', | |
| 19 | - placeholderOwner: '输入业主名称', | |
| 20 | - memberId: '业主编号', | |
| 21 | - name: '名称', | |
| 22 | - personType: '人员类型', | |
| 23 | - personRole: '人员角色', | |
| 24 | - idCard: '证件号', | |
| 25 | - link: '联系方式' | |
| 26 | - } | |
| 27 | 5 | } |
| 28 | 6 | } |
| 29 | 7 | \ No newline at end of file | ... | ... |
src/components/contract/searchOwner.vue deleted
| 1 | -<template> | |
| 2 | - <el-dialog :title="$t('contract.selectOwner')" :visible.sync="visible" width="80%" :before-close="handleClose"> | |
| 3 | - | |
| 4 | - <div class="search-wrapper"> | |
| 5 | - <el-row :gutter="20"> | |
| 6 | - <el-col :span="8"> | |
| 7 | - <el-input v-model="searchOwnerInfo.roomName" :placeholder="$t('contract.inputRoomFullNum')"> | |
| 8 | - </el-input> | |
| 9 | - </el-col> | |
| 10 | - <el-col :span="8"> | |
| 11 | - <el-input v-model="searchOwnerInfo._currentOwnerName" :placeholder="$t('contract.inputOwnerName')"> | |
| 12 | - </el-input> | |
| 13 | - </el-col> | |
| 14 | - <el-col :span="8"> | |
| 15 | - <el-button type="primary" @click="searchOwners"> | |
| 16 | - <i class="el-icon-search"></i>{{ $t('common.search') }} | |
| 17 | - </el-button> | |
| 18 | - <el-button @click="resetOwners">{{ $t('common.reset') }}</el-button> | |
| 19 | - </el-col> | |
| 20 | - </el-row> | |
| 21 | - </div> | |
| 22 | - | |
| 23 | - <el-table :data="searchOwnerInfo.owners" border style="width: 100%" height="400"> | |
| 24 | - <el-table-column prop="memberId" :label="$t('contract.ownerId')" align="center"> | |
| 25 | - </el-table-column> | |
| 26 | - <el-table-column prop="name" :label="$t('contract.name')" align="center"> | |
| 27 | - </el-table-column> | |
| 28 | - <el-table-column prop="personTypeName" :label="$t('contract.personType')" align="center"> | |
| 29 | - </el-table-column> | |
| 30 | - <el-table-column prop="personRoleName" :label="$t('contract.personRole')" align="center"> | |
| 31 | - </el-table-column> | |
| 32 | - <el-table-column prop="idCard" :label="$t('contract.idCard')" align="center"> | |
| 33 | - </el-table-column> | |
| 34 | - <el-table-column prop="link" :label="$t('contract.contact')" align="center"> | |
| 35 | - </el-table-column> | |
| 36 | - <el-table-column :label="$t('common.operation')" align="center" width="120"> | |
| 37 | - <template slot-scope="scope"> | |
| 38 | - <el-button type="primary" size="mini" @click="chooseOwner(scope.row)"> | |
| 39 | - {{ $t('contract.select') }} | |
| 40 | - </el-button> | |
| 41 | - </template> | |
| 42 | - </el-table-column> | |
| 43 | - </el-table> | |
| 44 | - | |
| 45 | - <div class="pagination-wrapper"> | |
| 46 | - <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page.current" | |
| 47 | - :page-sizes="[10, 20, 30, 50]" :page-size="page.size" layout="total, sizes, prev, pager, next, jumper" | |
| 48 | - :total="page.total"> | |
| 49 | - </el-pagination> | |
| 50 | - </div> | |
| 51 | - </el-dialog> | |
| 52 | -</template> | |
| 53 | - | |
| 54 | -<script> | |
| 55 | -import { queryOwners } from '@/api/contract/addContractApi' | |
| 56 | -import { getCommunityId } from '@/api/community/communityApi' | |
| 57 | - | |
| 58 | -export default { | |
| 59 | - name: 'SearchOwner', | |
| 60 | - props: { | |
| 61 | - emitChooseOwner: String, | |
| 62 | - emitLoadData: String | |
| 63 | - }, | |
| 64 | - data() { | |
| 65 | - return { | |
| 66 | - visible: false, | |
| 67 | - searchOwnerInfo: { | |
| 68 | - owners: [], | |
| 69 | - _currentOwnerName: '', | |
| 70 | - roomName: '', | |
| 71 | - ownerTypeCd: '1001' | |
| 72 | - }, | |
| 73 | - page: { | |
| 74 | - current: 1, | |
| 75 | - size: 10, | |
| 76 | - total: 0 | |
| 77 | - } | |
| 78 | - } | |
| 79 | - }, | |
| 80 | - methods: { | |
| 81 | - open(params = {}) { | |
| 82 | - this.visible = true | |
| 83 | - this._refreshSearchOwnerData() | |
| 84 | - if (params.hasOwnProperty('ownerTypeCd')) { | |
| 85 | - this.searchOwnerInfo.ownerTypeCd = params.ownerTypeCd | |
| 86 | - } | |
| 87 | - this._loadAllOwnerInfo(1, 10) | |
| 88 | - }, | |
| 89 | - handleClose() { | |
| 90 | - this.visible = false | |
| 91 | - }, | |
| 92 | - _loadAllOwnerInfo(_page, _row) { | |
| 93 | - const params = { | |
| 94 | - page: _page, | |
| 95 | - row: _row, | |
| 96 | - communityId: getCommunityId(), | |
| 97 | - name: this.searchOwnerInfo._currentOwnerName.trim(), | |
| 98 | - roomName: this.searchOwnerInfo.roomName.trim(), | |
| 99 | - ownerTypeCd: this.searchOwnerInfo.ownerTypeCd | |
| 100 | - } | |
| 101 | - | |
| 102 | - queryOwners(params).then(response => { | |
| 103 | - this.searchOwnerInfo.owners = response.data | |
| 104 | - this.page.total = response.records | |
| 105 | - this.page.current = _page | |
| 106 | - this.page.size = _row | |
| 107 | - }) | |
| 108 | - }, | |
| 109 | - chooseOwner(owner) { | |
| 110 | - this.$emit('chooseOwner', owner) | |
| 111 | - this.$emit(this.emitLoadData, 'listOwnerData', { | |
| 112 | - ownerId: owner.ownerId | |
| 113 | - }) | |
| 114 | - this.visible = false | |
| 115 | - }, | |
| 116 | - searchOwners() { | |
| 117 | - this._loadAllOwnerInfo(1, 10) | |
| 118 | - }, | |
| 119 | - resetOwners() { | |
| 120 | - this.searchOwnerInfo.roomName = "" | |
| 121 | - this.searchOwnerInfo._currentOwnerName = "" | |
| 122 | - this._loadAllOwnerInfo(1, 10) | |
| 123 | - }, | |
| 124 | - _refreshSearchOwnerData() { | |
| 125 | - this.searchOwnerInfo = { | |
| 126 | - owners: [], | |
| 127 | - _currentOwnerName: '', | |
| 128 | - roomName: '', | |
| 129 | - ownerTypeCd: '1001' | |
| 130 | - } | |
| 131 | - }, | |
| 132 | - handleSizeChange(val) { | |
| 133 | - this.page.size = val | |
| 134 | - this._loadAllOwnerInfo(this.page.current, val) | |
| 135 | - }, | |
| 136 | - handleCurrentChange(val) { | |
| 137 | - this._loadAllOwnerInfo(val, this.page.size) | |
| 138 | - } | |
| 139 | - } | |
| 140 | -} | |
| 141 | -</script> | |
| 142 | - | |
| 143 | -<style scoped> | |
| 144 | -.search-wrapper { | |
| 145 | - margin-bottom: 20px; | |
| 146 | -} | |
| 147 | - | |
| 148 | -.pagination-wrapper { | |
| 149 | - margin-top: 20px; | |
| 150 | - text-align: right; | |
| 151 | -} | |
| 152 | - | |
| 153 | -.el-button+.el-button { | |
| 154 | - margin-left: 10px; | |
| 155 | -} | |
| 156 | -</style> | |
| 157 | 0 | \ No newline at end of file |
src/components/owner/SearchOwner.vue
| ... | ... | @@ -4,7 +4,7 @@ |
| 4 | 4 | :visible.sync="visible" |
| 5 | 5 | width="80%" |
| 6 | 6 | > |
| 7 | - <el-card class="box-card"> | |
| 7 | + | |
| 8 | 8 | <el-row :gutter="20"> |
| 9 | 9 | <el-col :span="8"> |
| 10 | 10 | <el-input |
| ... | ... | @@ -60,7 +60,7 @@ |
| 60 | 60 | :total="page.total" |
| 61 | 61 | style="margin-top: 20px;" |
| 62 | 62 | ></el-pagination> |
| 63 | - </el-card> | |
| 63 | + | |
| 64 | 64 | </el-dialog> |
| 65 | 65 | </template> |
| 66 | 66 | ... | ... |
src/components/owner/ownerExitRoom.vue
| 1 | 1 | <template> |
| 2 | - <el-dialog | |
| 3 | - :title="$t('ownerExitRoom.confirmOperation')" | |
| 4 | - :visible.sync="visible" | |
| 5 | - width="500px" | |
| 6 | - center | |
| 7 | - @close="close" | |
| 8 | - > | |
| 9 | - <div class="modal-body"> | |
| 10 | - <div class="text-center"> | |
| 11 | - <p>{{ $t('ownerExitRoom.confirmExit') }}</p> | |
| 12 | - <p>{{ $t('ownerExitRoom.confirmExitTip') }}</p> | |
| 13 | - </div> | |
| 2 | + <el-dialog :title="$t('common.confirm')" :visible.sync="visible" width="500px" center @close="close"> | |
| 3 | + <div class="modal-body"> | |
| 4 | + <div class="text-center"> | |
| 5 | + <p>{{ $t('common.confirmExit') }}</p> | |
| 14 | 6 | </div> |
| 15 | - <div slot="footer" class="dialog-footer"> | |
| 16 | - <el-button @click="close">{{ $t('ownerExitRoom.cancel') }}</el-button> | |
| 17 | - <el-button type="primary" @click="doOwnerExitRoom">{{ $t('ownerExitRoom.confirmExitBtn') }}</el-button> | |
| 18 | - </div> | |
| 19 | - </el-dialog> | |
| 20 | - </template> | |
| 21 | - | |
| 22 | - <script> | |
| 23 | - import { exitRoom } from '@/api/owner/showOwnerRoomApi' | |
| 24 | - import { getCommunityId } from '@/api/community/communityApi' | |
| 25 | - | |
| 26 | - export default { | |
| 27 | - name: 'OwnerExitRoom', | |
| 28 | - data() { | |
| 29 | - return { | |
| 30 | - visible: false, | |
| 31 | - roomInfo: {} | |
| 32 | - } | |
| 7 | + </div> | |
| 8 | + <div slot="footer" class="dialog-footer"> | |
| 9 | + <el-button @click="close">{{ $t('common.cancel') }}</el-button> | |
| 10 | + <el-button type="primary" @click="doOwnerExitRoom">{{ $t('common.confirm') }}</el-button> | |
| 11 | + </div> | |
| 12 | + </el-dialog> | |
| 13 | +</template> | |
| 14 | + | |
| 15 | +<script> | |
| 16 | +import { exitRoom } from '@/api/owner/showOwnerRoomApi' | |
| 17 | +import { getCommunityId } from '@/api/community/communityApi' | |
| 18 | + | |
| 19 | +export default { | |
| 20 | + name: 'OwnerExitRoom', | |
| 21 | + data() { | |
| 22 | + return { | |
| 23 | + visible: false, | |
| 24 | + roomInfo: {} | |
| 25 | + } | |
| 26 | + }, | |
| 27 | + methods: { | |
| 28 | + open(roomInfo) { | |
| 29 | + this.roomInfo = roomInfo | |
| 30 | + this.visible = true | |
| 31 | + }, | |
| 32 | + close() { | |
| 33 | + this.visible = false | |
| 34 | + this.roomInfo = {} | |
| 33 | 35 | }, |
| 34 | - methods: { | |
| 35 | - open(roomInfo) { | |
| 36 | - this.roomInfo = roomInfo | |
| 37 | - this.visible = true | |
| 38 | - }, | |
| 39 | - close() { | |
| 40 | - this.visible = false | |
| 41 | - this.roomInfo = {} | |
| 42 | - }, | |
| 43 | - async doOwnerExitRoom() { | |
| 44 | - try { | |
| 45 | - const params = { | |
| 46 | - ...this.roomInfo, | |
| 47 | - communityId: getCommunityId() | |
| 48 | - } | |
| 49 | - | |
| 50 | - const res = await exitRoom(params) | |
| 51 | - if (res.code === 0) { | |
| 52 | - this.$emit('exit-success') | |
| 53 | - this.close() | |
| 54 | - this.$message.success('退房成功') | |
| 55 | - } else { | |
| 56 | - this.$message.error(res.msg || '退房失败') | |
| 57 | - } | |
| 58 | - } catch (error) { | |
| 59 | - this.$message.error('请求失败') | |
| 36 | + async doOwnerExitRoom() { | |
| 37 | + try { | |
| 38 | + const params = { | |
| 39 | + ...this.roomInfo, | |
| 40 | + communityId: getCommunityId() | |
| 60 | 41 | } |
| 42 | + | |
| 43 | + const res = await exitRoom(params) | |
| 44 | + if (res.code === 0) { | |
| 45 | + this.$emit('exit-success') | |
| 46 | + this.close() | |
| 47 | + this.$message.success('退房成功') | |
| 48 | + } else { | |
| 49 | + this.$message.error(res.msg || '退房失败') | |
| 50 | + } | |
| 51 | + } catch (error) { | |
| 52 | + this.$message.error('请求失败') | |
| 61 | 53 | } |
| 62 | 54 | } |
| 63 | 55 | } |
| 64 | - </script> | |
| 65 | - | |
| 66 | - <style scoped> | |
| 67 | - .modal-body { | |
| 68 | - padding: 20px; | |
| 69 | - text-align: center; | |
| 70 | - } | |
| 71 | - .text-center { | |
| 72 | - text-align: center; | |
| 73 | - } | |
| 74 | - .dialog-footer { | |
| 75 | - text-align: center; | |
| 76 | - } | |
| 77 | - </style> | |
| 78 | 56 | \ No newline at end of file |
| 57 | +} | |
| 58 | +</script> | |
| 59 | + | |
| 60 | +<style scoped> | |
| 61 | +.modal-body { | |
| 62 | + padding: 20px; | |
| 63 | + text-align: center; | |
| 64 | +} | |
| 65 | + | |
| 66 | +.text-center { | |
| 67 | + text-align: center; | |
| 68 | +} | |
| 69 | + | |
| 70 | +.dialog-footer { | |
| 71 | + text-align: center; | |
| 72 | +} | |
| 73 | +</style> | |
| 79 | 74 | \ No newline at end of file | ... | ... |
src/components/owner/showOwnerRoom.vue
| ... | ... | @@ -107,7 +107,7 @@ |
| 107 | 107 | <owner-exit-room ref="exitRoomDialog" @exit-success="handleExitSuccess" /> |
| 108 | 108 | </div> |
| 109 | 109 | </template> |
| 110 | - | |
| 110 | + | |
| 111 | 111 | <script> |
| 112 | 112 | import { queryRoomsByOwner } from '@/api/owner/showOwnerRoomApi' |
| 113 | 113 | import OwnerExitRoom from '@/components/owner/ownerExitRoom' |
| ... | ... | @@ -207,13 +207,9 @@ export default { |
| 207 | 207 | } |
| 208 | 208 | } |
| 209 | 209 | </script> |
| 210 | - | |
| 210 | + | |
| 211 | 211 | <style scoped> |
| 212 | -.show-owner-room-container {} | |
| 213 | 212 | |
| 214 | -.room-row { | |
| 215 | - margin-bottom: 20px; | |
| 216 | -} | |
| 217 | 213 | |
| 218 | 214 | .room-card { |
| 219 | 215 | margin-bottom: 20px; |
| ... | ... | @@ -246,7 +242,6 @@ export default { |
| 246 | 242 | } |
| 247 | 243 | |
| 248 | 244 | .form-item label { |
| 249 | - font-weight: bold; | |
| 250 | 245 | margin-right: 5px; |
| 251 | 246 | } |
| 252 | 247 | ... | ... |
src/components/owner/viewOwnerInfo.vue
| ... | ... | @@ -15,11 +15,11 @@ |
| 15 | 15 | |
| 16 | 16 | <div class="content-wrapper"> |
| 17 | 17 | <el-row :gutter="20"> |
| 18 | - <el-col :span="4"> | |
| 18 | + <el-col :span="3"> | |
| 19 | 19 | <el-image style="width: 120px; height: 140px" :src="ownerPhoto" fit="cover" @error="errorLoadImg"></el-image> |
| 20 | 20 | </el-col> |
| 21 | 21 | |
| 22 | - <el-col :span="20"> | |
| 22 | + <el-col :span="21"> | |
| 23 | 23 | <el-row :gutter="20" class="text-left"> |
| 24 | 24 | <el-col :span="8" > |
| 25 | 25 | <div class="info-item"> |
| ... | ... | @@ -243,7 +243,6 @@ export default { |
| 243 | 243 | } |
| 244 | 244 | |
| 245 | 245 | .info-item label { |
| 246 | - font-weight: bold; | |
| 247 | 246 | margin-right: 5px; |
| 248 | 247 | } |
| 249 | 248 | </style> |
| 250 | 249 | \ No newline at end of file | ... | ... |
src/components/room/searchOwner.vue deleted
| 1 | -<template> | |
| 2 | - <el-dialog | |
| 3 | - :title="$t('searchOwner.title')" | |
| 4 | - :visible.sync="visible" | |
| 5 | - width="80%" | |
| 6 | - @close="handleClose" | |
| 7 | - > | |
| 8 | - <div class="search-container"> | |
| 9 | - <el-row :gutter="20"> | |
| 10 | - <el-col :span="8"> | |
| 11 | - <el-input | |
| 12 | - v-model="searchForm.roomName" | |
| 13 | - :placeholder="$t('searchOwner.roomPlaceholder')" | |
| 14 | - clearable | |
| 15 | - ></el-input> | |
| 16 | - </el-col> | |
| 17 | - <el-col :span="8"> | |
| 18 | - <el-input | |
| 19 | - v-model="searchForm.currentOwnerName" | |
| 20 | - :placeholder="$t('searchOwner.namePlaceholder')" | |
| 21 | - clearable | |
| 22 | - ></el-input> | |
| 23 | - </el-col> | |
| 24 | - <el-col :span="8"> | |
| 25 | - <el-button type="primary" @click="searchOwners">{{ $t('common.search') }}</el-button> | |
| 26 | - <el-button @click="resetOwners">{{ $t('common.reset') }}</el-button> | |
| 27 | - </el-col> | |
| 28 | - </el-row> | |
| 29 | - | |
| 30 | - <el-table | |
| 31 | - :data="tableData" | |
| 32 | - border | |
| 33 | - style="width: 100%; margin-top: 20px" | |
| 34 | - > | |
| 35 | - <el-table-column | |
| 36 | - prop="memberId" | |
| 37 | - :label="$t('searchOwner.memberId')" | |
| 38 | - align="center" | |
| 39 | - ></el-table-column> | |
| 40 | - <el-table-column | |
| 41 | - prop="name" | |
| 42 | - :label="$t('searchOwner.name')" | |
| 43 | - align="center" | |
| 44 | - ></el-table-column> | |
| 45 | - <el-table-column | |
| 46 | - prop="personTypeName" | |
| 47 | - :label="$t('searchOwner.personType')" | |
| 48 | - align="center" | |
| 49 | - ></el-table-column> | |
| 50 | - <el-table-column | |
| 51 | - prop="personRoleName" | |
| 52 | - :label="$t('searchOwner.personRole')" | |
| 53 | - align="center" | |
| 54 | - ></el-table-column> | |
| 55 | - <el-table-column | |
| 56 | - prop="idCard" | |
| 57 | - :label="$t('searchOwner.idCard')" | |
| 58 | - align="center" | |
| 59 | - ></el-table-column> | |
| 60 | - <el-table-column | |
| 61 | - prop="link" | |
| 62 | - :label="$t('searchOwner.contact')" | |
| 63 | - align="center" | |
| 64 | - ></el-table-column> | |
| 65 | - <el-table-column | |
| 66 | - :label="$t('common.operation')" | |
| 67 | - align="center" | |
| 68 | - width="120" | |
| 69 | - > | |
| 70 | - <template slot-scope="scope"> | |
| 71 | - <el-button | |
| 72 | - type="primary" | |
| 73 | - size="mini" | |
| 74 | - @click="chooseOwner(scope.row)" | |
| 75 | - >{{ $t('common.select') }}</el-button> | |
| 76 | - </template> | |
| 77 | - </el-table-column> | |
| 78 | - </el-table> | |
| 79 | - | |
| 80 | - <el-pagination | |
| 81 | - :current-page="pagination.current" | |
| 82 | - :page-sizes="[10, 20, 30, 50]" | |
| 83 | - :page-size="pagination.size" | |
| 84 | - layout="total, sizes, prev, pager, next, jumper" | |
| 85 | - :total="pagination.total" | |
| 86 | - @size-change="handleSizeChange" | |
| 87 | - @current-change="handleCurrentChange" | |
| 88 | - ></el-pagination> | |
| 89 | - </div> | |
| 90 | - </el-dialog> | |
| 91 | -</template> | |
| 92 | - | |
| 93 | -<script> | |
| 94 | -import { getCommunityId } from '@/api/community/communityApi' | |
| 95 | -import { queryOwners } from '@/api/room/ownerExitRoomApi' | |
| 96 | - | |
| 97 | -export default { | |
| 98 | - name: 'SearchOwner', | |
| 99 | - data() { | |
| 100 | - return { | |
| 101 | - visible: false, | |
| 102 | - searchForm: { | |
| 103 | - roomName: '', | |
| 104 | - currentOwnerName: '', | |
| 105 | - ownerTypeCd: '1001' | |
| 106 | - }, | |
| 107 | - tableData: [], | |
| 108 | - pagination: { | |
| 109 | - current: 1, | |
| 110 | - size: 10, | |
| 111 | - total: 0 | |
| 112 | - } | |
| 113 | - } | |
| 114 | - }, | |
| 115 | - methods: { | |
| 116 | - open() { | |
| 117 | - this.visible = true | |
| 118 | - this.refreshData() | |
| 119 | - this.loadAllOwnerInfo() | |
| 120 | - }, | |
| 121 | - handleClose() { | |
| 122 | - this.resetOwners() | |
| 123 | - }, | |
| 124 | - async loadAllOwnerInfo() { | |
| 125 | - try { | |
| 126 | - const params = { | |
| 127 | - page: this.pagination.current, | |
| 128 | - row: this.pagination.size, | |
| 129 | - communityId: getCommunityId(), | |
| 130 | - name: this.searchForm.currentOwnerName.trim(), | |
| 131 | - roomName: this.searchForm.roomName.trim(), | |
| 132 | - ownerTypeCd: this.searchForm.ownerTypeCd | |
| 133 | - } | |
| 134 | - const res = await queryOwners(params) | |
| 135 | - this.tableData = res.data | |
| 136 | - this.pagination.total = res.records | |
| 137 | - } catch (error) { | |
| 138 | - console.error('获取业主列表失败:', error) | |
| 139 | - } | |
| 140 | - }, | |
| 141 | - chooseOwner(owner) { | |
| 142 | - this.$emit('chooseOwner', owner) | |
| 143 | - this.visible = false | |
| 144 | - }, | |
| 145 | - searchOwners() { | |
| 146 | - this.pagination.current = 1 | |
| 147 | - this.loadAllOwnerInfo() | |
| 148 | - }, | |
| 149 | - resetOwners() { | |
| 150 | - this.searchForm = { | |
| 151 | - roomName: '', | |
| 152 | - currentOwnerName: '', | |
| 153 | - ownerTypeCd: '1001' | |
| 154 | - } | |
| 155 | - this.loadAllOwnerInfo() | |
| 156 | - }, | |
| 157 | - refreshData() { | |
| 158 | - this.searchForm = { | |
| 159 | - roomName: '', | |
| 160 | - currentOwnerName: '', | |
| 161 | - ownerTypeCd: '1001' | |
| 162 | - } | |
| 163 | - this.pagination = { | |
| 164 | - current: 1, | |
| 165 | - size: 10, | |
| 166 | - total: 0 | |
| 167 | - } | |
| 168 | - }, | |
| 169 | - handleSizeChange(val) { | |
| 170 | - this.pagination.size = val | |
| 171 | - this.loadAllOwnerInfo() | |
| 172 | - }, | |
| 173 | - handleCurrentChange(val) { | |
| 174 | - this.pagination.current = val | |
| 175 | - this.loadAllOwnerInfo() | |
| 176 | - } | |
| 177 | - } | |
| 178 | -} | |
| 179 | -</script> | |
| 180 | - | |
| 181 | -<style lang="scss" scoped> | |
| 182 | -.search-container { | |
| 183 | - padding: 20px; | |
| 184 | - | |
| 185 | - .el-row { | |
| 186 | - margin-bottom: 20px; | |
| 187 | - } | |
| 188 | -} | |
| 189 | -</style> | |
| 190 | 0 | \ No newline at end of file |
src/i18n/commonLang.js
| ... | ... | @@ -16,6 +16,7 @@ export const messages = { |
| 16 | 16 | warning: 'Warning', |
| 17 | 17 | deleteConfirm: 'Are you sure to delete this record?', |
| 18 | 18 | confirmDelete: 'confirm delete', |
| 19 | + confirmExit: 'confirm exit', | |
| 19 | 20 | deleteSuccess: 'Delete successfully', |
| 20 | 21 | selectBtn: 'Select', |
| 21 | 22 | select: 'Select', |
| ... | ... | @@ -73,6 +74,7 @@ export const messages = { |
| 73 | 74 | warning: '警告', |
| 74 | 75 | deleteConfirm: '确定要删除这条记录吗?', |
| 75 | 76 | confirmDelete: '确定删除', |
| 77 | + confirmExit: '确定退出', | |
| 76 | 78 | deleteSuccess: '删除成功', |
| 77 | 79 | selectBtn: '选择', |
| 78 | 80 | select: '选择', | ... | ... |
src/utils/request.js
| ... | ... | @@ -62,11 +62,11 @@ service.interceptors.response.use( |
| 62 | 62 | // 跳转到登录页面 |
| 63 | 63 | window.location.href = '/#/views/user/login' |
| 64 | 64 | |
| 65 | - Message({ | |
| 66 | - message: '登录已过期,请重新登录', | |
| 67 | - type: 'error', | |
| 68 | - duration: 5 * 1000 | |
| 69 | - }) | |
| 65 | + // Message({ | |
| 66 | + // message: '登录已过期,请重新登录', | |
| 67 | + // type: 'error', | |
| 68 | + // duration: 5 * 1000 | |
| 69 | + // }) | |
| 70 | 70 | } |
| 71 | 71 | |
| 72 | 72 | return Promise.reject(error) | ... | ... |
src/views/car/hireParkingSpaceLang.js
| ... | ... | @@ -37,18 +37,6 @@ export const messages = { |
| 37 | 37 | saveSuccess: 'Vehicle information saved successfully!', |
| 38 | 38 | saveError: 'Failed to save vehicle information' |
| 39 | 39 | }, |
| 40 | - searchOwner: { | |
| 41 | - title: 'Select Owner', | |
| 42 | - roomPlaceholder: 'Enter room number (Building-Unit-Room)', | |
| 43 | - namePlaceholder: 'Enter owner name', | |
| 44 | - memberId: 'Owner ID', | |
| 45 | - name: 'Name', | |
| 46 | - personType: 'Person Type', | |
| 47 | - personRole: 'Person Role', | |
| 48 | - idCard: 'ID Card', | |
| 49 | - contact: 'Contact', | |
| 50 | - loadError: 'Failed to load owner information' | |
| 51 | - }, | |
| 52 | 40 | searchParkingSpace: { |
| 53 | 41 | title: 'Select Parking Space', |
| 54 | 42 | parkingAreaPlaceholder: 'Select parking area', |
| ... | ... | @@ -102,18 +90,6 @@ export const messages = { |
| 102 | 90 | saveSuccess: '车辆信息保存成功!', |
| 103 | 91 | saveError: '车辆信息保存失败' |
| 104 | 92 | }, |
| 105 | - searchOwner: { | |
| 106 | - title: '选择业主', | |
| 107 | - roomPlaceholder: '输入房屋编号楼栋-单元-房屋', | |
| 108 | - namePlaceholder: '输入业主名称', | |
| 109 | - memberId: '业主编号', | |
| 110 | - name: '名称', | |
| 111 | - personType: '人员类型', | |
| 112 | - personRole: '人员角色', | |
| 113 | - idCard: '证件号', | |
| 114 | - contact: '联系方式', | |
| 115 | - loadError: '加载业主信息失败' | |
| 116 | - }, | |
| 117 | 93 | searchParkingSpace: { |
| 118 | 94 | title: '选择停车位', |
| 119 | 95 | parkingAreaPlaceholder: '请选择停车场', | ... | ... |
src/views/owner/deleteOwnerRoomLang.js
| ... | ... | @@ -13,18 +13,6 @@ export const messages = { |
| 13 | 13 | chooseOwner: 'Select Owner', |
| 14 | 14 | loadError: 'Failed to load owner information' |
| 15 | 15 | }, |
| 16 | - searchOwner: { | |
| 17 | - title: 'Select Owner', | |
| 18 | - ownerId: 'Owner ID', | |
| 19 | - name: 'Name', | |
| 20 | - personType: 'Person Type', | |
| 21 | - personRole: 'Person Role', | |
| 22 | - idCard: 'ID Card', | |
| 23 | - link: 'Contact', | |
| 24 | - roomPlaceholder: 'Enter room number (building-unit-room)', | |
| 25 | - ownerPlaceholder: 'Enter owner name', | |
| 26 | - loadError: 'Failed to load owner list' | |
| 27 | - }, | |
| 28 | 16 | showOwnerRoom: { |
| 29 | 17 | info: 'Room Information', |
| 30 | 18 | propertyFee: 'Property Fee', |
| ... | ... | @@ -62,18 +50,6 @@ export const messages = { |
| 62 | 50 | chooseOwner: '选择业主', |
| 63 | 51 | loadError: '加载业主信息失败' |
| 64 | 52 | }, |
| 65 | - searchOwner: { | |
| 66 | - title: '选择业主', | |
| 67 | - ownerId: '业主编号', | |
| 68 | - name: '名称', | |
| 69 | - personType: '人员类型', | |
| 70 | - personRole: '人员角色', | |
| 71 | - idCard: '证件号', | |
| 72 | - link: '联系方式', | |
| 73 | - roomPlaceholder: '输入房屋编号(楼栋-单元-房屋)', | |
| 74 | - ownerPlaceholder: '输入业主名称', | |
| 75 | - loadError: '加载业主列表失败' | |
| 76 | - }, | |
| 77 | 53 | showOwnerRoom: { |
| 78 | 54 | info: '房屋信息', |
| 79 | 55 | propertyFee: '物业费', | ... | ... |
src/views/owner/roomBindOwnerLang.js
| ... | ... | @@ -19,6 +19,7 @@ export const messages = { |
| 19 | 19 | fetchRoomError: 'Failed to get room information' |
| 20 | 20 | }, |
| 21 | 21 | searchOwner: { |
| 22 | + ownerId: 'Owner ID', | |
| 22 | 23 | title: 'Select Owner', |
| 23 | 24 | roomPlaceholder: 'Enter room number (building-unit-room)', |
| 24 | 25 | ownerPlaceholder: 'Enter owner name', |
| ... | ... | @@ -50,6 +51,7 @@ export const messages = { |
| 50 | 51 | fetchRoomError: '获取房屋信息失败' |
| 51 | 52 | }, |
| 52 | 53 | searchOwner: { |
| 54 | + ownerId: '业主编号', | |
| 53 | 55 | title: '选择业主', |
| 54 | 56 | roomPlaceholder: '输入房屋编号(楼栋-单元-房屋)', |
| 55 | 57 | ownerPlaceholder: '输入业主名称', | ... | ... |
src/views/room/addRoomViewLang.js
| ... | ... | @@ -47,18 +47,6 @@ export const messages = { |
| 47 | 47 | remarkMaxLength: 'Remark cannot exceed 200 characters' |
| 48 | 48 | } |
| 49 | 49 | }, |
| 50 | - searchOwner: { | |
| 51 | - title: 'Select Owner', | |
| 52 | - ownerId: 'Owner ID', | |
| 53 | - name: 'Name', | |
| 54 | - personType: 'Person Type', | |
| 55 | - personRole: 'Person Role', | |
| 56 | - idCard: 'ID Card', | |
| 57 | - contact: 'Contact', | |
| 58 | - operation: 'Operation', | |
| 59 | - roomPlaceholder: 'Enter room number (Building-Unit-Room)', | |
| 60 | - ownerPlaceholder: 'Enter owner name' | |
| 61 | - } | |
| 62 | 50 | }, |
| 63 | 51 | zh: { |
| 64 | 52 | addRoomView: { |
| ... | ... | @@ -108,17 +96,5 @@ export const messages = { |
| 108 | 96 | remarkMaxLength: '备注内容不能超过200' |
| 109 | 97 | } |
| 110 | 98 | }, |
| 111 | - searchOwner: { | |
| 112 | - title: '选择业主', | |
| 113 | - ownerId: '业主编号', | |
| 114 | - name: '名称', | |
| 115 | - personType: '人员类型', | |
| 116 | - personRole: '人员角色', | |
| 117 | - idCard: '证件号', | |
| 118 | - contact: '联系方式', | |
| 119 | - operation: '操作', | |
| 120 | - roomPlaceholder: '输入房屋编号楼栋-单元-房屋', | |
| 121 | - ownerPlaceholder: '输入业主名称' | |
| 122 | - } | |
| 123 | 99 | } |
| 124 | 100 | } |
| 125 | 101 | \ No newline at end of file | ... | ... |
src/views/room/handoverLang.js
| ... | ... | @@ -37,18 +37,6 @@ export const messages = { |
| 37 | 37 | houseNotUnsold: 'The house is not unsold, please return it first', |
| 38 | 38 | fetchRoomError: 'Failed to get room information' |
| 39 | 39 | }, |
| 40 | - searchOwner: { | |
| 41 | - title: 'Select Owner', | |
| 42 | - roomPlaceholder: 'Enter house number building-unit-house', | |
| 43 | - namePlaceholder: 'Enter owner name', | |
| 44 | - memberId: 'Owner ID', | |
| 45 | - name: 'Name', | |
| 46 | - personType: 'Person Type', | |
| 47 | - personRole: 'Person Role', | |
| 48 | - idCard: 'ID Card', | |
| 49 | - phone: 'Phone', | |
| 50 | - fetchError: 'Failed to get owner list' | |
| 51 | - }, | |
| 52 | 40 | selectFeeConfig: { |
| 53 | 41 | title: 'Create Fee', |
| 54 | 42 | feeType: 'Fee Type', |
| ... | ... | @@ -106,18 +94,6 @@ export const messages = { |
| 106 | 94 | houseNotUnsold: '房屋不是未销售状态,请先退房', |
| 107 | 95 | fetchRoomError: '获取房屋信息失败' |
| 108 | 96 | }, |
| 109 | - searchOwner: { | |
| 110 | - title: '选择业主', | |
| 111 | - roomPlaceholder: '输入房屋编号楼栋-单元-房屋', | |
| 112 | - namePlaceholder: '输入业主名称', | |
| 113 | - memberId: '业主编号', | |
| 114 | - name: '名称', | |
| 115 | - personType: '人员类型', | |
| 116 | - personRole: '人员角色', | |
| 117 | - idCard: '证件号', | |
| 118 | - phone: '联系方式', | |
| 119 | - fetchError: '获取业主列表失败' | |
| 120 | - }, | |
| 121 | 97 | selectFeeConfig: { |
| 122 | 98 | title: '创建费用', |
| 123 | 99 | feeType: '费用类型', | ... | ... |
src/views/room/ownerExitRoomLang.js
| ... | ... | @@ -21,17 +21,6 @@ export const messages = { |
| 21 | 21 | unpaidFee: 'There are unpaid fees, please handle them first' |
| 22 | 22 | } |
| 23 | 23 | }, |
| 24 | - searchOwner: { | |
| 25 | - title: 'Select Owner', | |
| 26 | - roomPlaceholder: 'Enter room number (Building-Unit-Room)', | |
| 27 | - namePlaceholder: 'Enter owner name', | |
| 28 | - memberId: 'Owner ID', | |
| 29 | - name: 'Name', | |
| 30 | - personType: 'Person Type', | |
| 31 | - personRole: 'Person Role', | |
| 32 | - idCard: 'ID Card', | |
| 33 | - contact: 'Contact' | |
| 34 | - }, | |
| 35 | 24 | selectFeeConfig: { |
| 36 | 25 | title: 'Create Fee', |
| 37 | 26 | feeType: 'Fee Type', |
| ... | ... | @@ -72,17 +61,6 @@ export const messages = { |
| 72 | 61 | unpaidFee: '房屋还存在费用,请先在业务受理处理费用' |
| 73 | 62 | } |
| 74 | 63 | }, |
| 75 | - searchOwner: { | |
| 76 | - title: '选择业主', | |
| 77 | - roomPlaceholder: '输入房屋编号(楼栋-单元-房屋)', | |
| 78 | - namePlaceholder: '输入业主名称', | |
| 79 | - memberId: '业主编号', | |
| 80 | - name: '名称', | |
| 81 | - personType: '人员类型', | |
| 82 | - personRole: '人员角色', | |
| 83 | - idCard: '证件号', | |
| 84 | - contact: '联系方式' | |
| 85 | - }, | |
| 86 | 64 | selectFeeConfig: { |
| 87 | 65 | title: '创建费用', |
| 88 | 66 | feeType: '费用类型', | ... | ... |
src/views/room/roomList.vue
| ... | ... | @@ -250,13 +250,13 @@ |
| 250 | 250 | </div> |
| 251 | 251 | |
| 252 | 252 | <el-row class="margin-top"> |
| 253 | - <el-col :span="14" class="text-left"> | |
| 253 | + <el-col :span="12" class="text-left room-detail-desc"> | |
| 254 | 254 | <div>{{ $t('roomList.roomStatusDesc1') }}</div> |
| 255 | 255 | <div>{{ $t('roomList.roomStatusDesc2') }}</div> |
| 256 | 256 | <div>{{ $t('roomList.roomStatusDesc3') }}</div> |
| 257 | 257 | <div>{{ $t('roomList.rentDesc') }}</div> |
| 258 | 258 | </el-col> |
| 259 | - <el-col :span="10" class="float-right"> | |
| 259 | + <el-col :span="12" class="float-right"> | |
| 260 | 260 | <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" |
| 261 | 261 | :current-page="roomInfo.currentPage" :page-sizes="[10, 20, 30, 40]" :page-size="DEFAULT_ROW" |
| 262 | 262 | layout="total, sizes, prev, pager, next, jumper" :total="roomInfo.total"></el-pagination> |
| ... | ... | @@ -769,4 +769,9 @@ export default { |
| 769 | 769 | .el-button-group .el-button:last-child { |
| 770 | 770 | margin-right: 0; |
| 771 | 771 | } |
| 772 | +.room-detail-desc { | |
| 773 | + text-align: left; | |
| 774 | + font-size: 13px; | |
| 775 | + color: #606266; | |
| 776 | +} | |
| 772 | 777 | </style> |
| 773 | 778 | \ No newline at end of file | ... | ... |