Commit 07e1278567aa72d4f610abd500f75fe8cb56285a

Authored by wuxw
1 parent 5c27312f

v1.9 admin账户中部分页面宽度等问题优化 更加协调

Showing 36 changed files with 516 additions and 432 deletions
src/api/user/menuApi.js
1 1 import request from '@/utils/request'
2 2 import { getCommunityId } from "@/utils/vc"
  3 +import { Message } from 'element-ui'
3 4 export function _getMenuCatalog() {
4 5 return new Promise((resolve, reject) => {
5 6 request({
... ... @@ -137,14 +138,24 @@ export function jumpToMall(url) {
137 138 }
138 139 }).then(response => {
139 140 const res = response.data
140   - if (res.code === 0) {
  141 + if (res.code == 0) {
141 142 let _url = res.data.url;
142 143 window.open(_url);
143 144 resolve(res)
144 145 } else {
145   - reject(new Error(res.msg || '获取项目列表失败'))
  146 + Message({
  147 + message: res.msg,
  148 + type: 'error',
  149 + duration: 5 * 1000
  150 + })
  151 + reject(new Error(res.msg || '跳转失败'))
146 152 }
147 153 }).catch(error => {
  154 + Message({
  155 + message: error,
  156 + type: 'error',
  157 + duration: 5 * 1000
  158 + })
148 159 reject(error)
149 160 })
150 161 })
... ... @@ -161,14 +172,24 @@ export function jumpToIot(url) {
161 172 }
162 173 }).then(response => {
163 174 const res = response.data
164   - if (res.code === 0) {
  175 + if (res.code == 0) {
165 176 let _url = res.data.url;
166 177 window.open(_url);
167 178 resolve(res)
168 179 } else {
169   - reject(new Error(res.msg || '获取项目列表失败'))
  180 + Message({
  181 + message: res.msg,
  182 + type: 'error',
  183 + duration: 5 * 1000
  184 + })
  185 + reject(new Error(res.msg || '跳转失败'))
170 186 }
171 187 }).catch(error => {
  188 + Message({
  189 + message: error,
  190 + type: 'error',
  191 + duration: 5 * 1000
  192 + })
172 193 reject(error)
173 194 })
174 195 })
... ... @@ -188,13 +209,22 @@ export function jumpToPlugin(url) {
188 209 //发送get请求
189 210 const res = response.data
190 211 if (res.code != 0) {
191   - this.$message.warning(res.msg);
  212 + Message({
  213 + message: res.msg,
  214 + type: 'error',
  215 + duration: 5 * 1000
  216 + })
192 217 return;
193 218 }
194 219 let _url = res.data.url;
195 220 window.open(_url);
196 221 resolve(res)
197 222 }).catch(error => {
  223 + Message({
  224 + message: error,
  225 + type: 'error',
  226 + duration: 5 * 1000
  227 + })
198 228 reject(error)
199 229 })
200 230 })
... ...
src/components/community/CommunityUnitTree.vue
... ... @@ -84,6 +84,7 @@ export default {
84 84  
85 85 <style scoped>
86 86 .tree-card {
87   - height: 100%;
  87 + max-height: 80vh;
  88 + overflow-y: auto;
88 89 }
89 90 </style>
90 91 \ No newline at end of file
... ...
src/components/community/editCommunityWechat.vue
1 1 <template>
2   - <el-dialog
3   - :title="$t('editCommunityWechat.title')"
4   - :visible.sync="visible"
5   - width="50%"
6   - @close="handleClose"
7   - >
8   - <el-form
9   - ref="form"
10   - :model="form"
11   - :rules="rules"
12   - label-width="120px"
13   - label-position="right"
14   - >
15   - <el-form-item
16   - :label="$t('editCommunityWechat.name')"
17   - prop="name"
18   - >
19   - <el-input
20   - v-model="form.name"
21   - :placeholder="$t('editCommunityWechat.placeholder.name')"
22   - />
  2 + <el-dialog :title="$t('common.update')" :visible.sync="visible" width="50%" @close="handleClose">
  3 + <el-form ref="form" :model="form" :rules="rules" label-width="120px" label-position="right">
  4 + <el-form-item :label="$t('editCommunityWechat.name')" prop="name">
  5 + <el-input v-model="form.name" :placeholder="$t('editCommunityWechat.placeholder.name')" />
23 6 </el-form-item>
24   -
  7 +
25 8 <el-form-item label="APPID" prop="appId">
26   - <el-input
27   - v-model="form.appId"
28   - :placeholder="$t('editCommunityWechat.placeholder.appId')"
29   - />
  9 + <el-input v-model="form.appId" :placeholder="$t('editCommunityWechat.placeholder.appId')" />
30 10 </el-form-item>
31   -
32   - <el-form-item
33   - :label="$t('editCommunityWechat.appSecret')"
34   - prop="appSecret"
35   - >
36   - <el-input
37   - v-model="form.appSecret"
38   - type="password"
39   - show-password
40   - :placeholder="$t('editCommunityWechat.placeholder.appSecret')"
41   - />
  11 +
  12 + <el-form-item :label="$t('editCommunityWechat.appSecret')" prop="appSecret">
  13 + <el-input v-model="form.appSecret" type="password" show-password
  14 + :placeholder="$t('editCommunityWechat.placeholder.appSecret')" />
42 15 </el-form-item>
43   -
44   - <el-form-item
45   - :label="$t('editCommunityWechat.description')"
46   - prop="remarks"
47   - >
48   - <el-input
49   - v-model="form.remarks"
50   - type="textarea"
51   - :placeholder="$t('editCommunityWechat.placeholder.remarks')"
52   - :rows="3"
53   - />
  16 +
  17 + <el-form-item :label="$t('editCommunityWechat.description')" prop="remarks">
  18 + <el-input v-model="form.remarks" type="textarea" :placeholder="$t('editCommunityWechat.placeholder.remarks')"
  19 + :rows="3" />
54 20 </el-form-item>
55 21 </el-form>
56   -
  22 +
57 23 <div slot="footer" class="dialog-footer">
58 24 <el-button @click="visible = false">
59 25 {{ $t('communityWechat.cancel') }}
... ... @@ -133,8 +99,8 @@ export default {
133 99 if (valid) {
134 100 try {
135 101 const res = await updateAdminSmallWeChat(this.form)
136   - if (res.code === 0) {
137   - this.$message.success(this.$t('communityWechat.editSuccess'))
  102 + if (res.code == 0) {
  103 + this.$message.success(res.msg)
138 104 this.visible = false
139 105 this.$emit('success')
140 106 } else {
... ... @@ -142,7 +108,7 @@ export default {
142 108 }
143 109 } catch (error) {
144 110 console.error('更新公众号失败:', error)
145   - this.$message.error(this.$t('communityWechat.editFailed'))
  111 + this.$message.error(error)
146 112 }
147 113 }
148 114 })
... ...
src/components/community/selectAdminCommunity.vue
... ... @@ -52,8 +52,8 @@ export default {
52 52  
53 53 <style lang="scss" scoped>
54 54 .community-selector {
55   - height: 100%;
56   -
  55 + max-height: 80vh;
  56 + overflow-y: auto;
57 57 .community-list {
58 58 list-style: none;
59 59 padding: 0;
... ...
src/components/community/selectAdminOneCommunity.vue 0 → 100644
  1 +<template>
  2 + <el-card class="community-selector">
  3 + <div class="treeview attendance-staff">
  4 + <ul class="community-list">
  5 + <li
  6 + v-for="(item, index) in communityList"
  7 + :key="index"
  8 + @click="selectCommunity(item)"
  9 + :class="{'selected': selectedCommunityId === item.communityId}">
  10 + {{ item.name }}
  11 + </li>
  12 + </ul>
  13 + </div>
  14 + </el-card>
  15 +</template>
  16 +
  17 +<script>
  18 +import { listAdminCommunitys } from '@/api/owner/adminOwnerApi'
  19 +
  20 +export default {
  21 + name: 'SelectAdminOneCommunity',
  22 + data() {
  23 + return {
  24 + communityList: [],
  25 + selectedCommunityId: ''
  26 + }
  27 + },
  28 + created() {
  29 + this.loadCommunities()
  30 + },
  31 + methods: {
  32 + loadCommunities() {
  33 + const params = {
  34 + page: 1,
  35 + row: 100
  36 + }
  37 +
  38 + listAdminCommunitys(params).then(res => {
  39 + this.communityList = res.data
  40 + if(this.communityList.length > 0) {
  41 + this.selectCommunity(this.communityList[0])
  42 + }
  43 + }).catch(error => {
  44 + console.log(error)
  45 + this.$message.error(this.$t('adminOwner.fetchCommunityError'))
  46 + })
  47 + },
  48 + selectCommunity(community) {
  49 + this.selectedCommunityId = community.communityId
  50 + this.$emit('changeCommunity', community)
  51 + }
  52 + }
  53 +}
  54 +</script>
  55 +
  56 +<style lang="scss" scoped>
  57 +.community-selector {
  58 + max-height: 80vh;
  59 + overflow-y: auto;
  60 + .community-list {
  61 + list-style: none;
  62 + padding: 0;
  63 + margin: 0;
  64 +
  65 + li {
  66 + padding: 10px;
  67 + cursor: pointer;
  68 + transition: all 0.3s;
  69 + color: #606060;
  70 + font-size: 14px;
  71 +
  72 + &:hover {
  73 + background-color: #f5f7fa;
  74 + }
  75 +
  76 + &.selected {
  77 + background-color: #409EFF;
  78 + color: white;
  79 + }
  80 + }
  81 + }
  82 +}
  83 +</style>
0 84 \ No newline at end of file
... ...
src/components/fee/CommunityFeeTypeTree.vue
... ... @@ -64,6 +64,7 @@ export default {
64 64  
65 65 <style scoped>
66 66 .tree-card {
67   - height: 100%;
  67 + max-height: 80vh;
  68 + overflow-y: auto;
68 69 }
69 70 </style>
70 71 \ No newline at end of file
... ...
src/components/fee/EditCommunityPayment.vue
... ... @@ -185,11 +185,11 @@ export default {
185 185 paymentKeys: this.paymentKeys
186 186 }
187 187 await updateAdminPaymentPool(payload)
188   - this.$message.success(this.$t('common.updateSuccess'))
  188 + this.$message.success(this.$t('common.operationSuccess'))
189 189 this.visible = false
190 190 this.$emit('success')
191 191 } catch (error) {
192   - this.$message.error(error.message || this.$t('common.updateFailed'))
  192 + this.$message.error(error || this.$t('common.updateFailed'))
193 193 }
194 194 })
195 195 }
... ...
src/components/fee/communityFloorTree.vue
... ... @@ -61,6 +61,7 @@ export default {
61 61  
62 62 <style scoped>
63 63 .tree-card {
64   - height: 100%;
  64 + max-height: 80vh;
  65 + overflow-y: auto;
65 66 }
66 67 </style>
67 68 \ No newline at end of file
... ...
src/components/fee/communityRoomTree.vue
... ... @@ -114,6 +114,7 @@ export default {
114 114  
115 115 <style scoped>
116 116 .tree-card {
117   - height: 100%;
  117 + max-height: 80vh;
  118 + overflow-y: auto;
118 119 }
119 120 </style>
120 121 \ No newline at end of file
... ...
src/components/inspection/AInspectionTaskMap.vue
... ... @@ -3,7 +3,7 @@
3 3 </template>
4 4  
5 5 <script>
6   -import { queryAdminInspectionTaskDetail } from '@/api/inspection/aInspectionPlanDetailApi'
  6 +import { queryAdminInspectionTaskDetail } from '@/api/inspection/adminInspectionTaskDetailApi'
7 7  
8 8 export default {
9 9 name: 'AInspectionTaskMap',
... ... @@ -28,11 +28,11 @@ export default {
28 28 this.points = data
29 29 this.initMapView()
30 30 } catch (error) {
31   - this.$message.error(this.$t('common.fetchError'))
  31 + console.error(error)
  32 + this.$message.error(error)
32 33 }
33 34 },
34 35 initMapView() {
35   - let TMap = {}
36 36 if (!this.points || this.points.length === 0) return
37 37  
38 38 // 这里需要根据实际地图API实现地图初始化
... ... @@ -41,31 +41,31 @@ export default {
41 41  
42 42 // 示例:使用腾讯地图API
43 43 if (window.TMap) {
44   - const center = new TMap.LatLng(this.points[0].lat, this.points[0].lng)
45   - this.map = new TMap.Map(document.getElementById('aInspectionTaskMap'), {
  44 + const center = new window.TMap.LatLng(this.points[0].lat, this.points[0].lng)
  45 + this.map = new window.TMap.Map(document.getElementById('aInspectionTaskMap'), {
46 46 center: center,
47 47 zoom: 17
48 48 })
49 49  
50 50 // 添加标记点
51 51 const markers = this.points.map(point => ({
52   - position: new TMap.LatLng(point.lat, point.lng),
  52 + position: new window.TMap.LatLng(point.lat, point.lng),
53 53 properties: {
54 54 title: point.inspectionName,
55 55 status: point.state
56 56 }
57 57 }))
58 58  
59   - new TMap.MultiMarker({
  59 + new window.TMap.MultiMarker({
60 60 map: this.map,
61 61 styles: {
62   - normal: new TMap.MarkerStyle({
  62 + normal: new window.TMap.MarkerStyle({
63 63 width: 25,
64 64 height: 35,
65 65 src: '/img/inspection.png',
66 66 anchor: { x: 16, y: 32 }
67 67 }),
68   - done: new TMap.MarkerStyle({
  68 + done: new window.TMap.MarkerStyle({
69 69 width: 25,
70 70 height: 35,
71 71 src: '/img/inspection_done.png',
... ...
src/components/inspection/AdminRouteTask.vue
... ... @@ -57,7 +57,7 @@ export default {
57 57 this.switchTask(this.tasks[0])
58 58 }
59 59 } catch (error) {
60   - this.$message.error(this.$t('common.fetchError'))
  60 + this.$message.error(error)
61 61 } finally {
62 62 this.loading = false
63 63 }
... ...
src/components/org/DeleteOrg.vue
... ... @@ -33,7 +33,7 @@
33 33 orgId: this.currentOrg.id
34 34 }).then(response => {
35 35 console.log(response)
36   - this.$message.success(this.$t('org.deleteSuccess'))
  36 + this.$message.success(response.msg)
37 37 this.visible = false
38 38 this.$emit('refresh')
39 39 },error => {
... ...
src/components/staff/DeleteSystemUser.vue
... ... @@ -40,7 +40,7 @@ export default {
40 40 this.$emit('success')
41 41 this.handleClose()
42 42 } catch (error) {
43   - this.$message.error(this.$t('systemUser.delete.error'))
  43 + this.$message.error(error)
44 44 }
45 45 }
46 46 }
... ...
src/components/staff/ResetSystemUserPwd.vue
... ... @@ -43,7 +43,7 @@ export default {
43 43 this.$emit('success')
44 44 this.handleClose()
45 45 } catch (error) {
46   - this.$message.error(this.$t('systemUser.resetPwd.error'))
  46 + this.$message.error(error)
47 47 }
48 48 }
49 49 }
... ...
src/components/work/CommunityRepairTree.vue
... ... @@ -63,6 +63,7 @@ export default {
63 63  
64 64 <style lang="scss" scoped>
65 65 .tree-card {
66   - height: 100%;
  66 + max-height: 80vh;
  67 + overflow-y: auto;
67 68 }
68 69 </style>
69 70 \ No newline at end of file
... ...
src/i18n/commonLang.js
... ... @@ -72,6 +72,7 @@ export const messages = {
72 72 required:'Required',
73 73 invalid:'Invalid',
74 74 explanation:'Explanation',
  75 + manage:'Manage'
75 76 }
76 77 },
77 78 zh: {
... ... @@ -147,6 +148,7 @@ export const messages = {
147 148 required:'必填',
148 149 invalid:'无效',
149 150 explanation:'说明',
  151 + manage:'管理'
150 152 }
151 153 }
152 154 }
153 155 \ No newline at end of file
... ...
src/views/aCommunity/adminCarDetailList.vue
1 1 <template>
2   - <div class="admin-car-detail">
  2 + <div class="admin-car-detail padding">
3 3 <div class="white-bg padding-left padding-right padding-top border-radius-top">
4 4 <div class="flex justify-between">
5 5 <div class="text-title">
... ...
src/views/aCommunity/adminOwnerDetail.vue
1 1 <template>
2   - <div class="white-bg padding-lg padding-top border-radius">
3   - <div class="flex justify-between">
4   - <div class="text-title">{{ $t('adminOwnerDetail.ownerInfo') }}</div>
5   - <div>
6   - <el-button type="primary" size="small" style="margin-left:10px" @click="goBack">
7   - <i class="el-icon-close"></i>{{ $t('common.back') }}
8   - </el-button>
  2 + <div class="padding">
  3 + <div class="white-bg padding border-radius">
  4 + <div class="flex justify-between">
  5 + <div class="text-title">{{ $t('adminOwnerDetail.ownerInfo') }}</div>
  6 + <div>
  7 + <el-button type="primary" size="small" style="margin-left:10px" @click="goBack">
  8 + <i class="el-icon-close"></i>{{ $t('common.back') }}
  9 + </el-button>
  10 + </div>
9 11 </div>
10   - </div>
11 12  
12   - <div class="flex justify-start margin-top">
13   - <div class="text-center vc-float-left" style="width: 150px;" v-if="adminOwnerDetailInfo.faceUrl">
14   - <img width="120px" height="140px" class="border-radius" :src="adminOwnerDetailInfo.faceUrl"
15   - @error="errorLoadImg" />
16   - </div>
17   - <div class="text-center vc-float-left" style="width: 150px;" v-else>
18   - <img width="120px" height="140px" class="border-radius" src="/img/noPhoto.jpg" />
19   - </div>
  13 + <div class="flex justify-start margin-top">
  14 + <div class="text-center vc-float-left" style="width: 150px;" v-if="adminOwnerDetailInfo.faceUrl">
  15 + <img width="120px" height="140px" class="border-radius" :src="adminOwnerDetailInfo.faceUrl"
  16 + @error="errorLoadImg" />
  17 + </div>
  18 + <div class="text-center vc-float-left" style="width: 150px;" v-else>
  19 + <img width="120px" height="140px" class="border-radius" src="/img/noPhoto.jpg" />
  20 + </div>
20 21  
21   - <el-row style="min-height: 160px;width: 100%;" class="text-left margin-left">
22   - <el-col :span="24">
23   - <el-row>
24   - <el-col :span="6">
25   - <div class="form-group">
26   - <label class="col-form-label">{{ $t('adminOwnerDetail.name') }}:</label>
27   - <label>{{ adminOwnerDetailInfo.name }}</label>
28   - </div>
29   - </el-col>
30   - <el-col :span="6" v-if="adminOwnerDetailInfo.personType == 'P'">
31   - <div class="form-group">
32   - <label class="col-form-label">{{ $t('adminOwnerDetail.sex') }}:</label>
33   - <label>{{ adminOwnerDetailInfo.sex == '0' ? $t('common.male') : (adminOwnerDetailInfo.sex == '1' ?
34   - $t('common.female') : '') }}</label>
35   - </div>
36   - </el-col>
37   - <el-col :span="6">
38   - <div class="form-group">
39   - <label class="col-form-label">{{ $t('adminOwnerDetail.communityName') }}:</label>
40   - <label>{{ adminOwnerDetailInfo.communityName }}</label>
41   - </div>
42   - </el-col>
43   - <el-col :span="6">
44   - <div class="form-group">
45   - <label class="col-form-label">{{ $t('adminOwnerDetail.personType') }}:</label>
46   - <label>{{ adminOwnerDetailInfo.personTypeName }}</label>
47   - </div>
48   - </el-col>
49   - <el-col :span="6">
50   - <div class="form-group">
51   - <label class="col-form-label">{{ $t('adminOwnerDetail.personRole') }}:</label>
52   - <label>{{ adminOwnerDetailInfo.personRoleName }}</label>
53   - </div>
54   - </el-col>
55   - <el-col :span="6">
56   - <div class="form-group">
57   - <label class="col-form-label">{{ $t('adminOwnerDetail.idCard') }}:</label>
58   - <label>{{ adminOwnerDetailInfo.idCard }}</label>
59   - </div>
60   - </el-col>
61   - <el-col :span="6">
62   - <div class="form-group">
63   - <label class="col-form-label">{{ $t('adminOwnerDetail.contact') }}:</label>
64   - <label>{{ adminOwnerDetailInfo.link }}</label>
65   - </div>
66   - </el-col>
67   - <el-col :span="6">
68   - <div class="form-group">
69   - <label class="col-form-label">{{ $t('adminOwnerDetail.backupPhone') }}:</label>
70   - <label>{{ adminOwnerDetailInfo.concactLink }}</label>
71   - </div>
72   - </el-col>
73   - <el-col :span="6" v-if="adminOwnerDetailInfo.personType == 'C'">
74   - <div class="form-group">
75   - <label class="col-form-label">{{ $t('adminOwnerDetail.contactPerson') }}:</label>
76   - <label>{{ adminOwnerDetailInfo.concactPerson }}</label>
77   - </div>
78   - </el-col>
79   - <el-col :span="6">
80   - <div class="form-group">
81   - <label class="col-form-label">{{ $t('adminOwnerDetail.creator') }}:</label>
82   - <label>{{ adminOwnerDetailInfo.userName }}</label>
83   - </div>
84   - </el-col>
85   - <el-col :span="12">
86   - <div class="form-group">
87   - <label class="col-form-label">{{ $t('adminOwnerDetail.remark') }}:</label>
88   - <label>{{ adminOwnerDetailInfo.remark }}</label>
89   - </div>
90   - </el-col>
91   - </el-row>
92   -
93   - <div v-for="(item, index) in adminOwnerDetailInfo.ownerAttrDtos" :key="index">
94   - <el-row v-if="index % 4 == 0">
  22 + <el-row style="min-height: 160px;width: 100%;" class="text-left margin-left">
  23 + <el-col :span="24">
  24 + <el-row>
  25 + <el-col :span="6">
  26 + <div class="form-group">
  27 + <label class="col-form-label">{{ $t('adminOwnerDetail.name') }}:</label>
  28 + <label>{{ adminOwnerDetailInfo.name }}</label>
  29 + </div>
  30 + </el-col>
  31 + <el-col :span="6" v-if="adminOwnerDetailInfo.personType == 'P'">
  32 + <div class="form-group">
  33 + <label class="col-form-label">{{ $t('adminOwnerDetail.sex') }}:</label>
  34 + <label>{{ adminOwnerDetailInfo.sex == '0' ? $t('common.male') : (adminOwnerDetailInfo.sex == '1' ?
  35 + $t('common.female') : '') }}</label>
  36 + </div>
  37 + </el-col>
  38 + <el-col :span="6">
  39 + <div class="form-group">
  40 + <label class="col-form-label">{{ $t('adminOwnerDetail.communityName') }}:</label>
  41 + <label>{{ adminOwnerDetailInfo.communityName }}</label>
  42 + </div>
  43 + </el-col>
  44 + <el-col :span="6">
  45 + <div class="form-group">
  46 + <label class="col-form-label">{{ $t('adminOwnerDetail.personType') }}:</label>
  47 + <label>{{ adminOwnerDetailInfo.personTypeName }}</label>
  48 + </div>
  49 + </el-col>
95 50 <el-col :span="6">
96 51 <div class="form-group">
97   - <label class="col-form-label">{{ item.specName }}:</label>
98   - <label>{{ item.valueName }}</label>
  52 + <label class="col-form-label">{{ $t('adminOwnerDetail.personRole') }}:</label>
  53 + <label>{{ adminOwnerDetailInfo.personRoleName }}</label>
99 54 </div>
100 55 </el-col>
101   - <el-col :span="6" v-if="index < adminOwnerDetailInfo.ownerAttrDtos.length - 1">
  56 + <el-col :span="6">
  57 + <div class="form-group">
  58 + <label class="col-form-label">{{ $t('adminOwnerDetail.idCard') }}:</label>
  59 + <label>{{ adminOwnerDetailInfo.idCard }}</label>
  60 + </div>
  61 + </el-col>
  62 + <el-col :span="6">
102 63 <div class="form-group">
103   - <label class="col-form-label">{{ adminOwnerDetailInfo.ownerAttrDtos[index + 1].specName }}:</label>
104   - <label>{{ adminOwnerDetailInfo.ownerAttrDtos[index + 1].valueName }}</label>
  64 + <label class="col-form-label">{{ $t('adminOwnerDetail.contact') }}:</label>
  65 + <label>{{ adminOwnerDetailInfo.link }}</label>
105 66 </div>
106 67 </el-col>
107   - <el-col :span="6" v-if="index < adminOwnerDetailInfo.ownerAttrDtos.length - 2">
  68 + <el-col :span="6">
108 69 <div class="form-group">
109   - <label class="col-form-label">{{ adminOwnerDetailInfo.ownerAttrDtos[index + 2].specName }}:</label>
110   - <label>{{ adminOwnerDetailInfo.ownerAttrDtos[index + 2].valueName }}</label>
  70 + <label class="col-form-label">{{ $t('adminOwnerDetail.backupPhone') }}:</label>
  71 + <label>{{ adminOwnerDetailInfo.concactLink }}</label>
111 72 </div>
112 73 </el-col>
113   - <el-col :span="6" v-if="index < adminOwnerDetailInfo.ownerAttrDtos.length - 3">
  74 + <el-col :span="6" v-if="adminOwnerDetailInfo.personType == 'C'">
  75 + <div class="form-group">
  76 + <label class="col-form-label">{{ $t('adminOwnerDetail.contactPerson') }}:</label>
  77 + <label>{{ adminOwnerDetailInfo.concactPerson }}</label>
  78 + </div>
  79 + </el-col>
  80 + <el-col :span="6">
114 81 <div class="form-group">
115   - <label class="col-form-label">{{ adminOwnerDetailInfo.ownerAttrDtos[index + 3].specName }}:</label>
116   - <label>{{ adminOwnerDetailInfo.ownerAttrDtos[index + 3].valueName }}</label>
  82 + <label class="col-form-label">{{ $t('adminOwnerDetail.creator') }}:</label>
  83 + <label>{{ adminOwnerDetailInfo.userName }}</label>
  84 + </div>
  85 + </el-col>
  86 + <el-col :span="12">
  87 + <div class="form-group">
  88 + <label class="col-form-label">{{ $t('adminOwnerDetail.remark') }}:</label>
  89 + <label>{{ adminOwnerDetailInfo.remark }}</label>
117 90 </div>
118 91 </el-col>
119 92 </el-row>
120   - </div>
121   - </el-col>
122   - </el-row>
123   - </div>
124 93  
125   - <Divider />
  94 + <div v-for="(item, index) in adminOwnerDetailInfo.ownerAttrDtos" :key="index">
  95 + <el-row v-if="index % 4 == 0">
  96 + <el-col :span="6">
  97 + <div class="form-group">
  98 + <label class="col-form-label">{{ item.specName }}:</label>
  99 + <label>{{ item.valueName }}</label>
  100 + </div>
  101 + </el-col>
  102 + <el-col :span="6" v-if="index < adminOwnerDetailInfo.ownerAttrDtos.length - 1">
  103 + <div class="form-group">
  104 + <label class="col-form-label">{{ adminOwnerDetailInfo.ownerAttrDtos[index + 1].specName }}:</label>
  105 + <label>{{ adminOwnerDetailInfo.ownerAttrDtos[index + 1].valueName }}</label>
  106 + </div>
  107 + </el-col>
  108 + <el-col :span="6" v-if="index < adminOwnerDetailInfo.ownerAttrDtos.length - 2">
  109 + <div class="form-group">
  110 + <label class="col-form-label">{{ adminOwnerDetailInfo.ownerAttrDtos[index + 2].specName }}:</label>
  111 + <label>{{ adminOwnerDetailInfo.ownerAttrDtos[index + 2].valueName }}</label>
  112 + </div>
  113 + </el-col>
  114 + <el-col :span="6" v-if="index < adminOwnerDetailInfo.ownerAttrDtos.length - 3">
  115 + <div class="form-group">
  116 + <label class="col-form-label">{{ adminOwnerDetailInfo.ownerAttrDtos[index + 3].specName }}:</label>
  117 + <label>{{ adminOwnerDetailInfo.ownerAttrDtos[index + 3].valueName }}</label>
  118 + </div>
  119 + </el-col>
  120 + </el-row>
  121 + </div>
  122 + </el-col>
  123 + </el-row>
  124 + </div>
126 125  
127   - <div class="margin-top-sm">
128   - <el-tabs v-model="adminOwnerDetailInfo._currentTab" @tab-click="handleTabClick(adminOwnerDetailInfo._currentTab)">
129   - <el-tab-pane :label="$t('adminOwnerDetail.house')" name="aRoomDetailRoom"></el-tab-pane>
130   - <el-tab-pane :label="$t('adminOwnerDetail.car')" name="aRoomDetailCar"></el-tab-pane>
131   - <el-tab-pane :label="$t('adminOwnerDetail.contract')" name="aRoomDetailContract"></el-tab-pane>
132   - <el-tab-pane :label="$t('adminOwnerDetail.member')" name="aRoomDetailMember"></el-tab-pane>
133   - <el-tab-pane :label="$t('adminOwnerDetail.modifyRecord')" name="aOwnerDetailHis"></el-tab-pane>
134   - <el-tab-pane :label="$t('adminOwnerDetail.houseFee')" name="aOwnerDetailRoomFee"></el-tab-pane>
135   - <el-tab-pane :label="$t('adminOwnerDetail.paymentHistory')" name="aRoomDetailHisFee"></el-tab-pane>
136   - <el-tab-pane :label="$t('adminOwnerDetail.account')" name="aOwnerDetailAccount"></el-tab-pane>
137   - <el-tab-pane :label="$t('adminOwnerDetail.coupon')" name="aOwnerDetailCoupon"></el-tab-pane>
138   - <el-tab-pane :label="$t('adminOwnerDetail.ownerBinding')" name="aOwnerDetailAppUser"></el-tab-pane>
139   - <el-tab-pane :label="$t('adminOwnerDetail.complaint')" name="aRoomDetailComplaint"></el-tab-pane>
140   - <el-tab-pane :label="$t('adminOwnerDetail.repair')" name="aRoomDetailRepair"></el-tab-pane>
141   - <el-tab-pane :label="$t('adminOwnerDetail.visitor')" name="aOwnerDetailVisit"
142   - v-if="adminOwnerDetailInfo.link"></el-tab-pane>
143   - <el-tab-pane :label="$t('adminOwnerDetail.paymentReceipt')" name="aRoomDetailReceipt"></el-tab-pane>
144   - <el-tab-pane :label="$t('adminOwnerDetail.depositReceipt')" name="aOwnerDetailAcctReceipt"></el-tab-pane>
145   - <el-tab-pane :label="$t('adminOwnerDetail.faceSync')" name="aOwnerDetailAccessControl"></el-tab-pane>
146   - </el-tabs>
147   - </div>
  126 + <Divider />
  127 +
  128 + <div class="margin-top-sm">
  129 + <el-tabs v-model="adminOwnerDetailInfo._currentTab"
  130 + @tab-click="handleTabClick(adminOwnerDetailInfo._currentTab)">
  131 + <el-tab-pane :label="$t('adminOwnerDetail.house')" name="aRoomDetailRoom"></el-tab-pane>
  132 + <el-tab-pane :label="$t('adminOwnerDetail.car')" name="aRoomDetailCar"></el-tab-pane>
  133 + <el-tab-pane :label="$t('adminOwnerDetail.contract')" name="aRoomDetailContract"></el-tab-pane>
  134 + <el-tab-pane :label="$t('adminOwnerDetail.member')" name="aRoomDetailMember"></el-tab-pane>
  135 + <el-tab-pane :label="$t('adminOwnerDetail.modifyRecord')" name="aOwnerDetailHis"></el-tab-pane>
  136 + <el-tab-pane :label="$t('adminOwnerDetail.houseFee')" name="aOwnerDetailRoomFee"></el-tab-pane>
  137 + <el-tab-pane :label="$t('adminOwnerDetail.paymentHistory')" name="aRoomDetailHisFee"></el-tab-pane>
  138 + <el-tab-pane :label="$t('adminOwnerDetail.account')" name="aOwnerDetailAccount"></el-tab-pane>
  139 + <el-tab-pane :label="$t('adminOwnerDetail.coupon')" name="aOwnerDetailCoupon"></el-tab-pane>
  140 + <el-tab-pane :label="$t('adminOwnerDetail.ownerBinding')" name="aOwnerDetailAppUser"></el-tab-pane>
  141 + <el-tab-pane :label="$t('adminOwnerDetail.complaint')" name="aRoomDetailComplaint"></el-tab-pane>
  142 + <el-tab-pane :label="$t('adminOwnerDetail.repair')" name="aRoomDetailRepair"></el-tab-pane>
  143 + <el-tab-pane :label="$t('adminOwnerDetail.visitor')" name="aOwnerDetailVisit"
  144 + v-if="adminOwnerDetailInfo.link"></el-tab-pane>
  145 + <el-tab-pane :label="$t('adminOwnerDetail.paymentReceipt')" name="aRoomDetailReceipt"></el-tab-pane>
  146 + <el-tab-pane :label="$t('adminOwnerDetail.depositReceipt')" name="aOwnerDetailAcctReceipt"></el-tab-pane>
  147 + <el-tab-pane :label="$t('adminOwnerDetail.faceSync')" name="aOwnerDetailAccessControl"></el-tab-pane>
  148 + </el-tabs>
  149 + </div>
148 150  
149   - <component :is="adminOwnerDetailInfo._currentTab" :ref="adminOwnerDetailInfo._currentTab"></component>
  151 + <component :is="adminOwnerDetailInfo._currentTab" :ref="adminOwnerDetailInfo._currentTab"></component>
  152 + </div>
150 153 </div>
151 154 </template>
152 155  
... ... @@ -265,11 +268,11 @@ export default {
265 268 this.adminOwnerDetailInfo._currentTab = tab
266 269 setTimeout(() => {
267 270 if (this.$refs[tab] && this.$refs[tab].open) {
268   - this.$refs[tab].open({
269   - ownerId: this.adminOwnerDetailInfo.ownerId,
270   - ownerName: this.adminOwnerDetailInfo.name,
271   - link: this.adminOwnerDetailInfo.link,
272   - })
  271 + this.$refs[tab].open({
  272 + ownerId: this.adminOwnerDetailInfo.ownerId,
  273 + ownerName: this.adminOwnerDetailInfo.name,
  274 + link: this.adminOwnerDetailInfo.link,
  275 + })
273 276 }
274 277 }, 500)
275 278 },
... ...
src/views/aCommunity/adminRoomDetail.vue
1 1 <template>
2   - <div class="white-bg padding-lg padding-top border-radius">
3   - <div class="flex justify-between">
4   - <div class="text-title">{{ $t('adminRoomDetail.title') }}</div>
5   - <div>
6   - <el-button type="primary" size="small" style="margin-left:10px" @click="goBack">
7   - <i class="el-icon-close"></i>{{ $t('adminRoomDetail.back') }}
8   - </el-button>
  2 + <div class="padding">
  3 + <div class="white-bg padding-lg padding-top border-radius">
  4 + <div class="flex justify-between">
  5 + <div class="text-title">{{ $t('adminRoomDetail.title') }}</div>
  6 + <div>
  7 + <el-button type="primary" size="small" style="margin-left:10px" @click="goBack">
  8 + <i class="el-icon-close"></i>{{ $t('adminRoomDetail.back') }}
  9 + </el-button>
  10 + </div>
9 11 </div>
10   - </div>
11 12  
12   - <!-- 房屋信息 -->
13   - <div class="margin-top">
14   - <el-row style="min-height: 160px;">
15   - <el-col :span="24">
16   - <el-form class="text-left">
17   - <el-row>
18   - <el-col :span="6">
19   - <el-form-item :label="$t('adminRoomDetailInfo.roomCode')">
20   - <label>{{ adminRoomDetailInfo.floorNum }}-{{ adminRoomDetailInfo.unitNum }}-{{
21   - adminRoomDetailInfo.roomNum }}</label>
22   - </el-form-item>
23   - </el-col>
24   - <el-col :span="6">
25   - <el-form-item :label="$t('adminRoomDetailInfo.floor')">
26   - <label>{{ adminRoomDetailInfo.layer }}</label>
27   - </el-form-item>
28   - </el-col>
29   - <el-col :span="6">
30   - <el-form-item :label="$t('adminRoomDetailInfo.roomArea')">
31   - <label>{{ adminRoomDetailInfo.builtUpArea }}</label>
32   - </el-form-item>
33   - </el-col>
34   - <el-col :span="6">
35   - <el-form-item :label="$t('adminRoomDetailInfo.roomType')">
36   - <label>{{ adminRoomDetailInfo.roomSubTypeName }}</label>
37   - </el-form-item>
38   - </el-col>
39   - <el-col :span="6">
40   - <el-form-item :label="$t('adminRoomDetailInfo.roomStatus')">
41   - <label>{{ adminRoomDetailInfo.stateName }}</label>
42   - </el-form-item>
43   - </el-col>
44   - <el-col :span="6">
45   - <el-form-item :label="$t('adminRoomDetailInfo.indoorArea')">
46   - <label>{{ adminRoomDetailInfo.roomArea }}</label>
47   - </el-form-item>
48   - </el-col>
49   - <el-col :span="6">
50   - <el-form-item :label="$t('adminRoomDetailInfo.rent')">
51   - <label>{{ adminRoomDetailInfo.roomRent }}</label>
52   - </el-form-item>
53   - </el-col>
54   - <el-col :span="6">
55   - <el-form-item :label="$t('adminRoomDetailInfo.validity')">
56   - <label>{{ adminRoomDetailInfo.startTime }}~{{ adminRoomDetailInfo.endTime }}</label>
57   - </el-form-item>
58   - </el-col>
59   - <el-col :span="6">
60   - <el-form-item :label="$t('adminRoomDetailInfo.ownerName')">
61   - <label>{{ adminRoomDetailInfo.ownerName }}</label>
62   - </el-form-item>
63   - </el-col>
64   - <el-col :span="6">
65   - <el-form-item :label="$t('adminRoomDetailInfo.contact')">
66   - <label>{{ adminRoomDetailInfo.link }}</label>
67   - </el-form-item>
68   - </el-col>
69   - <el-col :span="12">
70   - <el-form-item :label="$t('adminRoomDetailInfo.remark')">
71   - <label>{{ adminRoomDetailInfo.remark }}</label>
72   - </el-form-item>
73   - </el-col>
74   - <el-col :span="6">
75   - <el-form-item :label="$t('adminRoomDetailInfo.communityName')">
76   - <label>{{ adminRoomDetailInfo.communityName }}</label>
77   - </el-form-item>
78   - </el-col>
79   - </el-row>
80   - </el-form>
81   - </el-col>
82   - </el-row>
83   - </div>
  13 + <!-- 房屋信息 -->
  14 + <div class="margin-top">
  15 + <el-row style="min-height: 160px;">
  16 + <el-col :span="24">
  17 + <el-form class="text-left">
  18 + <el-row>
  19 + <el-col :span="6">
  20 + <el-form-item :label="$t('adminRoomDetailInfo.roomCode')">
  21 + <label>{{ adminRoomDetailInfo.floorNum }}-{{ adminRoomDetailInfo.unitNum }}-{{
  22 + adminRoomDetailInfo.roomNum }}</label>
  23 + </el-form-item>
  24 + </el-col>
  25 + <el-col :span="6">
  26 + <el-form-item :label="$t('adminRoomDetailInfo.floor')">
  27 + <label>{{ adminRoomDetailInfo.layer }}</label>
  28 + </el-form-item>
  29 + </el-col>
  30 + <el-col :span="6">
  31 + <el-form-item :label="$t('adminRoomDetailInfo.roomArea')">
  32 + <label>{{ adminRoomDetailInfo.builtUpArea }}</label>
  33 + </el-form-item>
  34 + </el-col>
  35 + <el-col :span="6">
  36 + <el-form-item :label="$t('adminRoomDetailInfo.roomType')">
  37 + <label>{{ adminRoomDetailInfo.roomSubTypeName }}</label>
  38 + </el-form-item>
  39 + </el-col>
  40 + <el-col :span="6">
  41 + <el-form-item :label="$t('adminRoomDetailInfo.roomStatus')">
  42 + <label>{{ adminRoomDetailInfo.stateName }}</label>
  43 + </el-form-item>
  44 + </el-col>
  45 + <el-col :span="6">
  46 + <el-form-item :label="$t('adminRoomDetailInfo.indoorArea')">
  47 + <label>{{ adminRoomDetailInfo.roomArea }}</label>
  48 + </el-form-item>
  49 + </el-col>
  50 + <el-col :span="6">
  51 + <el-form-item :label="$t('adminRoomDetailInfo.rent')">
  52 + <label>{{ adminRoomDetailInfo.roomRent }}</label>
  53 + </el-form-item>
  54 + </el-col>
  55 + <el-col :span="6">
  56 + <el-form-item :label="$t('adminRoomDetailInfo.validity')">
  57 + <label>{{ adminRoomDetailInfo.startTime }}~{{ adminRoomDetailInfo.endTime }}</label>
  58 + </el-form-item>
  59 + </el-col>
  60 + <el-col :span="6">
  61 + <el-form-item :label="$t('adminRoomDetailInfo.ownerName')">
  62 + <label>{{ adminRoomDetailInfo.ownerName }}</label>
  63 + </el-form-item>
  64 + </el-col>
  65 + <el-col :span="6">
  66 + <el-form-item :label="$t('adminRoomDetailInfo.contact')">
  67 + <label>{{ adminRoomDetailInfo.link }}</label>
  68 + </el-form-item>
  69 + </el-col>
  70 + <el-col :span="12">
  71 + <el-form-item :label="$t('adminRoomDetailInfo.remark')">
  72 + <label>{{ adminRoomDetailInfo.remark }}</label>
  73 + </el-form-item>
  74 + </el-col>
  75 + <el-col :span="6">
  76 + <el-form-item :label="$t('adminRoomDetailInfo.communityName')">
  77 + <label>{{ adminRoomDetailInfo.communityName }}</label>
  78 + </el-form-item>
  79 + </el-col>
  80 + </el-row>
  81 + </el-form>
  82 + </el-col>
  83 + </el-row>
  84 + </div>
84 85  
85   - <divider></divider>
  86 + <divider></divider>
86 87  
87   - <div class="margin-top-sm">
88   - <el-tabs v-model="adminRoomDetailInfo._currentTab" @tab-click="handleTabClick(adminRoomDetailInfo._currentTab)">
89   - <el-tab-pane :label="$t('adminRoomDetail.owner')" name="aRoomDetailOwner"></el-tab-pane>
90   - <el-tab-pane v-if="adminRoomDetailInfo.ownerId" :label="$t('adminRoomDetail.member')" name="aRoomDetailMember">
91   - </el-tab-pane>
92   - <el-tab-pane v-if="adminRoomDetailInfo.ownerId" :label="$t('adminRoomDetail.ownerRoom')" name="aRoomDetailRoom">
93   - </el-tab-pane>
94   - <el-tab-pane v-if="adminRoomDetailInfo.ownerId" :label="$t('adminRoomDetail.ownerCar')" name="aRoomDetailCar">
95   - </el-tab-pane>
96   - <el-tab-pane v-if="adminRoomDetailInfo.ownerId" :label="$t('adminRoomDetail.contract')"
97   - name="aRoomDetailContract">
98   - </el-tab-pane>
99   - <el-tab-pane :label="$t('adminRoomDetail.roomFee')" name="aRoomDetailRoomFee">
100   - </el-tab-pane>
101   - <el-tab-pane v-if="adminRoomDetailInfo.ownerId" :label="$t('adminRoomDetail.carFee')" name="aRoomDetailCarFee">
102   - </el-tab-pane>
103   - <el-tab-pane v-if="adminRoomDetailInfo.ownerId" :label="$t('adminRoomDetail.paymentHistory')"
104   - name="aRoomDetailHisFee">
105   - </el-tab-pane>
106   - <el-tab-pane v-if="adminRoomDetailInfo.ownerId" :label="$t('adminRoomDetail.receipt')"
107   - name="aRoomDetailReceipt">
108   - </el-tab-pane>
109   - <el-tab-pane v-if="adminRoomDetailInfo.ownerId" :label="$t('adminRoomDetail.repair')" name="aRoomDetailRepair">
110   - </el-tab-pane>
111   - <el-tab-pane v-if="adminRoomDetailInfo.ownerId" :label="$t('adminRoomDetail.complaint')"
112   - name="aRoomDetailComplaint">
113   - </el-tab-pane>
114   - <el-tab-pane :label="$t('adminRoomDetail.meterReading')" name="aRoomDetailMeterWaterLog">
115   - </el-tab-pane>
116   - <el-tab-pane :label="$t('adminRoomDetail.historyOwner')" name="aRoomDetailHisOwner">
117   - </el-tab-pane>
118   - </el-tabs>
119   - </div>
  88 + <div class="margin-top-sm">
  89 + <el-tabs v-model="adminRoomDetailInfo._currentTab" @tab-click="handleTabClick(adminRoomDetailInfo._currentTab)">
  90 + <el-tab-pane :label="$t('adminRoomDetail.owner')" name="aRoomDetailOwner"></el-tab-pane>
  91 + <el-tab-pane v-if="adminRoomDetailInfo.ownerId" :label="$t('adminRoomDetail.member')"
  92 + name="aRoomDetailMember">
  93 + </el-tab-pane>
  94 + <el-tab-pane v-if="adminRoomDetailInfo.ownerId" :label="$t('adminRoomDetail.ownerRoom')"
  95 + name="aRoomDetailRoom">
  96 + </el-tab-pane>
  97 + <el-tab-pane v-if="adminRoomDetailInfo.ownerId" :label="$t('adminRoomDetail.ownerCar')" name="aRoomDetailCar">
  98 + </el-tab-pane>
  99 + <el-tab-pane v-if="adminRoomDetailInfo.ownerId" :label="$t('adminRoomDetail.contract')"
  100 + name="aRoomDetailContract">
  101 + </el-tab-pane>
  102 + <el-tab-pane :label="$t('adminRoomDetail.roomFee')" name="aRoomDetailRoomFee">
  103 + </el-tab-pane>
  104 + <el-tab-pane v-if="adminRoomDetailInfo.ownerId" :label="$t('adminRoomDetail.carFee')"
  105 + name="aRoomDetailCarFee">
  106 + </el-tab-pane>
  107 + <el-tab-pane v-if="adminRoomDetailInfo.ownerId" :label="$t('adminRoomDetail.paymentHistory')"
  108 + name="aRoomDetailHisFee">
  109 + </el-tab-pane>
  110 + <el-tab-pane v-if="adminRoomDetailInfo.ownerId" :label="$t('adminRoomDetail.receipt')"
  111 + name="aRoomDetailReceipt">
  112 + </el-tab-pane>
  113 + <el-tab-pane v-if="adminRoomDetailInfo.ownerId" :label="$t('adminRoomDetail.repair')"
  114 + name="aRoomDetailRepair">
  115 + </el-tab-pane>
  116 + <el-tab-pane v-if="adminRoomDetailInfo.ownerId" :label="$t('adminRoomDetail.complaint')"
  117 + name="aRoomDetailComplaint">
  118 + </el-tab-pane>
  119 + <el-tab-pane :label="$t('adminRoomDetail.meterReading')" name="aRoomDetailMeterWaterLog">
  120 + </el-tab-pane>
  121 + <el-tab-pane :label="$t('adminRoomDetail.historyOwner')" name="aRoomDetailHisOwner">
  122 + </el-tab-pane>
  123 + </el-tabs>
  124 + </div>
120 125  
121   - <component :is="adminRoomDetailInfo._currentTab" :ref="adminRoomDetailInfo._currentTab"
122   - :roomId="adminRoomDetailInfo.roomId" :ownerId="adminRoomDetailInfo.ownerId"
123   - :ownerName="adminRoomDetailInfo.ownerName" :link="adminRoomDetailInfo.link"></component>
  126 + <component :is="adminRoomDetailInfo._currentTab" :ref="adminRoomDetailInfo._currentTab"
  127 + :roomId="adminRoomDetailInfo.roomId" :ownerId="adminRoomDetailInfo.ownerId"
  128 + :ownerName="adminRoomDetailInfo.ownerName" :link="adminRoomDetailInfo.link"></component>
  129 + </div>
124 130 </div>
125 131 </template>
126 132  
... ...
src/views/community/communityWechatList.vue
... ... @@ -7,7 +7,7 @@
7 7  
8 8 <el-col :span="20">
9 9 <el-card>
10   - <div slot="header" class="clearfix">
  10 + <div slot="header" class="flex justify-between">
11 11 <span>{{ $t('communityWechat.title') }}</span>
12 12 <el-button v-if="communityId && tableData.length === 0" type="primary" size="small" class="float-right"
13 13 @click="openAddDialog">
... ...
src/views/complaint/adminComplaintDetailList.vue
... ... @@ -137,6 +137,7 @@ export default {
137 137 const { data } = await getComplaintDetail(params)
138 138 if (data && data.length > 0) {
139 139 Object.assign(this.complaintDetail, data[0])
  140 + this.handleTabClick(this.activeTab)
140 141 }
141 142 } catch (error) {
142 143 this.$message.error(this.$t('complaintDetail.fetchError'))
... ...
src/views/fee/adminPayFeeDetailList.vue
... ... @@ -5,78 +5,62 @@
5 5 <select-admin-community ref="selectCommunity" @changeCommunity="handleCommunityChange" />
6 6 </el-col>
7 7 <el-col :span="20">
8   - <el-card>
9   - <div slot="header" class="clearfix flex justify-between">
  8 + <el-card class="box-card">
  9 + <div slot="header" class="clearfix text-left">
10 10 <span>{{ $t('adminPayFeeDetail.search.title') }}</span>
11 11 </div>
12   - <el-form :model="searchForm" label-width="auto">
13   - <el-row :gutter="20">
14   - <el-col :span="6">
15   - <el-form-item :label="$t('adminPayFeeDetail.search.startTime')">
16   - <el-date-picker v-model="searchForm.startTime" type="datetime"
17   - :placeholder="$t('adminPayFeeDetail.search.startTimePlaceholder')" style="width: 100%" />
18   - </el-form-item>
19   - </el-col>
20   - <el-col :span="6">
21   - <el-form-item :label="$t('adminPayFeeDetail.search.endTime')">
22   - <el-date-picker v-model="searchForm.endTime" type="datetime"
23   - :placeholder="$t('adminPayFeeDetail.search.endTimePlaceholder')" style="width: 100%" />
24   - </el-form-item>
25   - </el-col>
26   - <el-col :span="6">
27   - <el-form-item :label="$t('adminPayFeeDetail.search.paymentMethod')">
28   - <el-select v-model="searchForm.primeRate"
29   - :placeholder="$t('adminPayFeeDetail.search.paymentMethodPlaceholder')" style="width: 100%">
30   - <el-option v-for="item in paymentMethods" :key="item.statusCd" :label="item.name"
31   - :value="item.statusCd" />
32   - </el-select>
33   - </el-form-item>
34   - </el-col>
35   - <el-col :span="6">
36   - <el-form-item :label="$t('adminPayFeeDetail.search.feeStatus')">
37   - <el-select v-model="searchForm.state" :placeholder="$t('adminPayFeeDetail.search.feeStatusPlaceholder')"
38   - style="width: 100%">
39   - <el-option v-for="item in feeStatuses" :key="item.statusCd" :label="item.name"
40   - :value="item.statusCd" />
41   - </el-select>
42   - </el-form-item>
43   - </el-col>
44   - </el-row>
45   - <el-row :gutter="20">
46   - <el-col :span="6">
47   - <el-form-item :label="$t('adminPayFeeDetail.search.feeType')">
48   - <el-select v-model="searchForm.feeTypeCd"
49   - :placeholder="$t('adminPayFeeDetail.search.feeTypePlaceholder')" style="width: 100%">
50   - <el-option v-for="item in feeTypes" :key="item.statusCd" :label="item.name" :value="item.statusCd" />
51   - </el-select>
52   - </el-form-item>
53   - </el-col>
54   - <el-col :span="6">
55   - <el-form-item :label="$t('adminPayFeeDetail.search.feeStartTime')">
56   - <el-date-picker v-model="searchForm.feeStartTime" type="datetime"
57   - :placeholder="$t('adminPayFeeDetail.search.feeStartTimePlaceholder')" style="width: 100%" />
58   - </el-form-item>
59   - </el-col>
60   - <el-col :span="6">
61   - <el-form-item :label="$t('adminPayFeeDetail.search.feeEndTime')">
62   - <el-date-picker v-model="searchForm.feeEndTime" type="datetime"
63   - :placeholder="$t('adminPayFeeDetail.search.feeEndTimePlaceholder')" style="width: 100%" />
64   - </el-form-item>
65   - </el-col>
66   - <el-col :span="6">
67   - <el-form-item :label="$t('adminPayFeeDetail.search.payerObjName')">
68   - <el-input v-model="searchForm.payerObjName"
69   - :placeholder="$t('adminPayFeeDetail.search.payerObjNamePlaceholder')" />
70   - </el-form-item>
71   - </el-col>
72   - </el-row>
73   - <el-row>
74   - <el-col :span="24" style="text-align: right">
75   - <el-button type="primary" @click="handleSearch">{{ $t('common.search') }}</el-button>
76   - <el-button @click="handleReset">{{ $t('common.reset') }}</el-button>
77   - </el-col>
78   - </el-row>
79   - </el-form>
  12 + <el-row :gutter="20">
  13 + <el-col :span="4">
  14 + <el-date-picker v-model="searchForm.startTime" type="datetime"
  15 + :placeholder="$t('adminPayFeeDetail.search.startTimePlaceholder')" class="w-full" />
  16 + </el-col>
  17 + <el-col :span="4">
  18 + <el-date-picker v-model="searchForm.endTime" type="datetime"
  19 + :placeholder="$t('adminPayFeeDetail.search.endTimePlaceholder')" class="w-full" />
  20 + </el-col>
  21 + <el-col :span="4">
  22 + <el-select v-model="searchForm.primeRate"
  23 + :placeholder="$t('adminPayFeeDetail.search.paymentMethodPlaceholder')" clearable class="w-full">
  24 + <el-option v-for="item in paymentMethods" :key="item.statusCd" :label="item.name"
  25 + :value="item.statusCd" />
  26 + </el-select>
  27 + </el-col>
  28 + <el-col :span="4">
  29 + <el-select v-model="searchForm.state" :placeholder="$t('adminPayFeeDetail.search.feeStatusPlaceholder')"
  30 + clearable class="w-full">
  31 + <el-option v-for="item in feeStatuses" :key="item.statusCd" :label="item.name"
  32 + :value="item.statusCd" />
  33 + </el-select>
  34 + </el-col>
  35 + <el-col :span="4">
  36 + <el-select v-model="searchForm.feeTypeCd"
  37 + :placeholder="$t('adminPayFeeDetail.search.feeTypePlaceholder')" clearable class="w-full">
  38 + <el-option v-for="item in feeTypes" :key="item.statusCd" :label="item.name" :value="item.statusCd" />
  39 + </el-select>
  40 + </el-col>
  41 + <el-col :span="4">
  42 + <el-date-picker v-model="searchForm.feeStartTime" type="datetime"
  43 + :placeholder="$t('adminPayFeeDetail.search.feeStartTimePlaceholder')" class="w-full" />
  44 + </el-col>
  45 + </el-row>
  46 + <el-row :gutter="20" style="margin-top: 20px;">
  47 + <el-col :span="4">
  48 + <el-date-picker v-model="searchForm.feeEndTime" type="datetime"
  49 + :placeholder="$t('adminPayFeeDetail.search.feeEndTimePlaceholder')" class="w-full" />
  50 + </el-col>
  51 + <el-col :span="4">
  52 + <el-input v-model="searchForm.payerObjName"
  53 + :placeholder="$t('adminPayFeeDetail.search.payerObjNamePlaceholder')" clearable />
  54 + </el-col>
  55 + <el-col :span="4">
  56 + <el-button type="primary" @click="handleSearch">
  57 + {{ $t('common.search') }}
  58 + </el-button>
  59 + <el-button @click="handleReset" style="margin-left: 10px;">
  60 + {{ $t('common.reset') }}
  61 + </el-button>
  62 + </el-col>
  63 + </el-row>
80 64 </el-card>
81 65  
82 66 <el-card style="margin-top: 20px">
... ...
src/views/fee/adminRoomFeeList.vue
1 1 <template>
2   - <div class="admin-room-fee-container">
  2 + <div class="admin-room-fee-container padding">
3 3 <el-row :gutter="10">
4 4 <el-col :span="4" class="tree-container">
5 5 <community-room-tree ref="communityTree" @select-room="handleSelectRoom" />
... ...
src/views/fee/communityPaymentList.vue
1 1 <template>
2   - <div class="community-payment-container">
  2 + <div class="community-payment-container padding">
3 3 <el-row :gutter="20">
4 4 <el-col :span="4" class="">
5 5 <select-admin-community :community-id="searchForm.communityId"
... ...
src/views/mall/housekeepingSjServList.vue
... ... @@ -10,11 +10,11 @@
10 10 <el-input v-model="searchForm.servName" :placeholder="$t('housekeepingSjServ.search.servName')" clearable
11 11 @keyup.enter.native="handleSearch" />
12 12 </el-col>
13   - <el-col :span="6">
  13 + <!-- <el-col :span="6">
14 14 <el-select v-model="searchForm.hktId" :placeholder="$t('housekeepingSjServ.search.hktId')" clearable>
15 15 <el-option v-for="item in housekeepingTypes" :key="item.hktId" :label="item.hktName" :value="item.hktId" />
16 16 </el-select>
17   - </el-col>
  17 + </el-col> -->
18 18 <el-col :span="4">
19 19 <el-button type="primary" @click="handleSearch">
20 20 <i class="el-icon-search"></i>
... ... @@ -104,7 +104,7 @@ export default {
104 104 },
105 105 created() {
106 106 this.getList()
107   - this.getHousekeepingTypes()
  107 + //this.getHousekeepingTypes()
108 108 },
109 109 methods: {
110 110 async getList() {
... ...
src/views/mall/merchantManageList.vue
... ... @@ -56,6 +56,7 @@
56 56  
57 57 <script>
58 58 import { queryMerchant } from '@/api/mall/merchantManageApi'
  59 +import {jumpToMall} from '@/api/user/menuApi'
59 60  
60 61 export default {
61 62 name: 'MerchantManageList',
... ... @@ -112,7 +113,7 @@ export default {
112 113 this.getList()
113 114 },
114 115 handleManage() {
115   - this.$router.push('/mall/merchantManage')
  116 + jumpToMall('/#/pages/admin/merchantManage')
116 117 },
117 118 handleSizeChange(val) {
118 119 this.page.size = val
... ...
src/views/mall/productSjList.vue
1 1 <template>
2   - <div class="product-sj-container">
  2 + <div class="product-sj-container ">
3 3 <!-- 查询条件 -->
4 4 <el-card class="search-wrapper">
5 5 <div slot="header" class="clearfix text-left">
... ... @@ -154,8 +154,7 @@ export default {
154 154  
155 155 <style lang="scss" scoped>
156 156 .product-sj-container {
157   - padding: 0;
158   - margin: 0;
  157 + padding: 20px;
159 158  
160 159 .search-wrapper {
161 160 margin-bottom: 20px;
... ...
src/views/mall/userIntegralList.vue
... ... @@ -61,6 +61,7 @@
61 61 <script>
62 62 import { queryIntegralList } from '@/api/mall/userIntegralApi'
63 63 import Pagination from '@/components/mall/Pagination'
  64 +import {jumpToMall} from '@/api/user/menuApi'
64 65  
65 66 export default {
66 67 name: 'UserIntegralList',
... ... @@ -114,9 +115,10 @@ export default {
114 115 },
115 116 handleManage() {
116 117 const path = this.searchForm.objType === '6006'
117   - ? '/pages/admin/userIntegral'
118   - : '/pages/admin/storeIntegral'
119   - this.$router.push({ path })
  118 + ? '/#/pages/admin/userIntegral'
  119 + : '/#/pages/admin/storeIntegral'
  120 + // this.$router.push({ path })
  121 + jumpToMall(path)
120 122 },
121 123 switchIntegralType(type) {
122 124 this.searchForm.objType = type
... ...
src/views/owner/adminOwnerList.vue
... ... @@ -10,7 +10,7 @@
10 10 <span>{{ $t('adminOwner.searchTitle') }}</span>
11 11 </div>
12 12 <el-form :inline="true" :model="searchForm" class="search-form ">
13   - <el-form-item :label="$t('adminOwner.personRole')">
  13 + <el-form-item >
14 14 <el-select v-model="searchForm.personRole" :placeholder="$t('adminOwner.selectPersonRole')">
15 15 <el-option :label="$t('adminOwner.all')" value=""></el-option>
16 16 <el-option v-for="item in personRoles" :key="item.statusCd" :label="item.name"
... ... @@ -18,7 +18,7 @@
18 18 </el-select>
19 19 </el-form-item>
20 20  
21   - <el-form-item :label="$t('adminOwner.personType')">
  21 + <el-form-item >
22 22 <el-select v-model="searchForm.personType" :placeholder="$t('adminOwner.selectPersonType')">
23 23 <el-option :label="$t('adminOwner.all')" value=""></el-option>
24 24 <el-option :label="$t('adminOwner.personal')" value="P"></el-option>
... ... @@ -26,26 +26,27 @@
26 26 </el-select>
27 27 </el-form-item>
28 28  
29   - <el-form-item :label="$t('adminOwner.customerName')">
  29 + <el-form-item >
30 30 <el-input v-model="searchForm.name" :placeholder="$t('adminOwner.inputCustomerName')"></el-input>
31 31 </el-form-item>
32 32  
33   - <el-form-item :label="$t('adminOwner.roomNumber')">
  33 + <el-form-item >
34 34 <el-input v-model="searchForm.roomName" :placeholder="$t('adminOwner.inputRoomNumber')"></el-input>
35 35 </el-form-item>
36 36  
37   - <el-form-item :label="$t('adminOwner.contact')">
  37 + <el-form-item >
38 38 <el-input v-model="searchForm.link" :placeholder="$t('adminOwner.inputContact')" type="number"></el-input>
39 39 </el-form-item>
40 40  
41   - <el-form-item :label="$t('adminOwner.idCard')">
42   - <el-input v-model="searchForm.idCard" :placeholder="$t('adminOwner.inputIdCard')"></el-input>
43   - </el-form-item>
  41 +
44 42  
45 43 <el-form-item>
46 44 <el-button type="primary" @click="queryOwner">{{ $t('adminOwner.search') }}</el-button>
47 45 <el-button @click="resetOwner">{{ $t('adminOwner.reset') }}</el-button>
48 46 </el-form-item>
  47 + <el-form-item >
  48 + <el-input v-model="searchForm.idCard" :placeholder="$t('adminOwner.inputIdCard')"></el-input>
  49 + </el-form-item>
49 50 </el-form>
50 51 </el-card>
51 52  
... ...
src/views/report/communityFeeSummaryList.vue
... ... @@ -2,7 +2,7 @@
2 2 <div class="community-fee-summary-container">
3 3 <el-row class="animated fadeInRight" :gutter="20">
4 4 <el-col :span="4">
5   - <select-admin-community @changeCommunity="handleCommunityChange" />
  5 + <select-admin-one-community @changeCommunity="handleCommunityChange" />
6 6 </el-col>
7 7 <el-col :span="20">
8 8 <el-card class="box-card">
... ... @@ -104,12 +104,12 @@
104 104  
105 105 <script>
106 106 import { getCommunityFeeSummary } from '@/api/report/communityFeeSummaryApi'
107   -import SelectAdminCommunity from '@/components/community/selectAdminCommunity'
  107 +import SelectAdminOneCommunity from '@/components/community/selectAdminOneCommunity'
108 108  
109 109 export default {
110 110 name: 'CommunityFeeSummaryList',
111 111 components: {
112   - SelectAdminCommunity
  112 + SelectAdminOneCommunity
113 113 },
114 114 data() {
115 115 return {
... ...
src/views/report/operationalAnalysisList.vue
... ... @@ -2,7 +2,7 @@
2 2 <div class="operational-analysis-container">
3 3 <el-row class="animated fadeInRight ecommerce">
4 4 <el-col :span="4">
5   - <select-admin-community @changeCommunity="handleCommunityChange" />
  5 + <select-admin-one-community @changeCommunity="handleCommunityChange" />
6 6 </el-col>
7 7 <el-col :span="20">
8 8 <el-row>
... ... @@ -18,14 +18,14 @@
18 18 </template>
19 19  
20 20 <script>
21   -import SelectAdminCommunity from '@/components/community/selectAdminCommunity'
  21 +import SelectAdminOneCommunity from '@/components/community/selectAdminOneCommunity'
22 22 import { getCommunityOperationalAnalysis } from '@/api/report/operationalAnalysisApi'
23 23 import * as echarts from 'echarts'
24 24  
25 25 export default {
26 26 name: 'OperationalAnalysisList',
27 27 components: {
28   - SelectAdminCommunity
  28 + SelectAdminOneCommunity
29 29 },
30 30 data() {
31 31 return {
... ...
src/views/role/roleList.vue
1 1 <template>
2   - <div class="role-container">
  2 + <div class="role-container padding">
3 3 <el-row>
4 4 <el-col :span="4" class="role-left">
5 5 <role-div @switch-role="handleSwitchRole" />
... ...
src/views/staff/aStaffCommunityList.vue
1 1 <template>
2   - <div>
  2 + <div class="padding">
3 3 <el-row :gutter="20">
4 4 <el-col :span="4">
5 5 <el-card class="box-card">
... ...
src/views/staff/aStaffDetailList.vue
1 1 <template>
2   - <div>
  2 + <div class="padding">
3 3 <el-card class="box-card">
4 4 <div class="flex justify-between">
5 5 <div class="text-title">{{ $t('aStaffDetailList.staffInfo') }}</div>
... ...
src/views/user/userLoginList.vue
... ... @@ -162,7 +162,8 @@ export default {
162 162 padding: 20px;
163 163  
164 164 .store-list-card {
165   - height: 100%;
  165 + max-height: 80vh;
  166 + overflow-y: auto;
166 167  
167 168 .store-list {
168 169 .store-ul {
... ...
src/views/work/adminRepairList.vue
1 1 <template>
2   - <div class="admin-repair-container">
  2 + <div class="admin-repair-container padding">
3 3 <div class="flex-container">
4 4 <div class="tree-container">
5 5 <community-repair-tree ref="communityRepairTree" @selectCommunity="handleSelectCommunity"
... ...