Commit ac99dc052ea8b2eb9f28a98a5e6d9c7ff8deedcc

Authored by wuxw
1 parent 8e80e9f4

优化代码

src/api/fee/doImportCreateFeeApi.js
@@ -3,7 +3,7 @@ import request from '@/utils/request' @@ -3,7 +3,7 @@ import request from '@/utils/request'
3 export function importData(data) { 3 export function importData(data) {
4 return new Promise((resolve, reject) => { 4 return new Promise((resolve, reject) => {
5 request({ 5 request({
6 - url: '/assetImport/importData', 6 + url: '/callComponent/upload/assetImport/importData',
7 method: 'post', 7 method: 'post',
8 data, 8 data,
9 headers: { 9 headers: {
src/api/fee/roomFeeImportApi.js
@@ -37,7 +37,7 @@ export function queryImportFee(params) { @@ -37,7 +37,7 @@ export function queryImportFee(params) {
37 export function importRoomFeeData(formData) { 37 export function importRoomFeeData(formData) {
38 return new Promise((resolve, reject) => { 38 return new Promise((resolve, reject) => {
39 request({ 39 request({
40 - url: '/assetImport/importData', 40 + url: '/callComponent/upload/assetImport/importData',
41 method: 'post', 41 method: 'post',
42 data: formData, 42 data: formData,
43 headers: { 43 headers: {
@@ -73,7 +73,7 @@ export function downloadImportTemplate(params) { @@ -73,7 +73,7 @@ export function downloadImportTemplate(params) {
73 }).then(response => { 73 }).then(response => {
74 const res = response.data 74 const res = response.data
75 if (res.code === 0) { 75 if (res.code === 0) {
76 - resolve(res.data) 76 + resolve(res)
77 } else { 77 } else {
78 reject(new Error(res.msg)) 78 reject(new Error(res.msg))
79 } 79 }
src/api/system/historyFeeDetailImportApi.js
@@ -8,7 +8,7 @@ import request from '@/utils/request' @@ -8,7 +8,7 @@ import request from '@/utils/request'
8 export function importData(formData) { 8 export function importData(formData) {
9 return new Promise((resolve, reject) => { 9 return new Promise((resolve, reject) => {
10 request({ 10 request({
11 - url: '/assetImport/importData', 11 + url: '/callComponent/upload/assetImport/importData',
12 method: 'post', 12 method: 'post',
13 data: formData, 13 data: formData,
14 headers: { 14 headers: {
src/components/fee/addFloorShare.vue
1 <template> 1 <template>
2 - <el-dialog :title="$t('floorShare.addTitle')" :visible.sync="dialogVisible" width="50%" @close="handleClose">  
3 - <el-form ref="form" :model="form" :rules="rules" label-width="120px" label-position="right"> 2 + <el-dialog :title="$t('floorShare.addTitle')" :visible.sync="dialogVisible" width="40%" @close="handleClose">
  3 + <el-form ref="form" :model="form" :rules="rules" label-width="120px" class="text-left" label-position="right">
4 <el-form-item :label="$t('floorShare.floor')" prop="floorNum"> 4 <el-form-item :label="$t('floorShare.floor')" prop="floorNum">
5 <el-input v-model="form.floorNum" disabled /> 5 <el-input v-model="form.floorNum" disabled />
6 </el-form-item> 6 </el-form-item>
src/components/fee/audit.vue
1 <template> 1 <template>
2 - <el-dialog  
3 - :title="$t('audit.title')"  
4 - :visible.sync="visible"  
5 - width="50%"  
6 - @close="handleClose"  
7 - >  
8 - <el-form  
9 - ref="form"  
10 - :model="formData"  
11 - label-width="120px"  
12 - label-position="right"  
13 - >  
14 - <el-form-item  
15 - :label="$t('audit.form.state')"  
16 - prop="state"  
17 - :rules="[  
18 - { required: true, message: $t('audit.rules.stateRequired'), trigger: 'change' }  
19 - ]"  
20 - >  
21 - <el-select  
22 - v-model="formData.state"  
23 - :placeholder="$t('audit.placeholder.state')"  
24 - style="width:100%"  
25 - @change="handleStateChange"  
26 - >  
27 - <el-option  
28 - :label="$t('audit.state.agree')"  
29 - value="1100"  
30 - />  
31 - <el-option  
32 - :label="$t('audit.state.reject')"  
33 - value="1200"  
34 - /> 2 + <el-dialog :title="$t('audit.title')" :visible.sync="visible" width="50%" @close="handleClose">
  3 + <el-form ref="form" :model="formData" label-width="120px" label-position="right">
  4 + <el-form-item :label="$t('audit.form.state')" prop="state" :rules="[
  5 + { required: true, message: $t('audit.rules.stateRequired'), trigger: 'change' }
  6 + ]">
  7 + <el-select v-model="formData.state" :placeholder="$t('audit.placeholder.state')" style="width:100%"
  8 + @change="handleStateChange">
  9 + <el-option :label="$t('audit.state.agree')" value="1100" />
  10 + <el-option :label="$t('audit.state.reject')" value="1200" />
35 </el-select> 11 </el-select>
36 </el-form-item> 12 </el-form-item>
37 - <el-form-item  
38 - :label="$t('audit.form.remark')"  
39 - prop="remark"  
40 - :rules="[  
41 - { required: true, message: $t('audit.rules.remarkRequired'), trigger: 'blur' },  
42 - { max: 200, message: $t('audit.rules.remarkMaxLength'), trigger: 'blur' }  
43 - ]"  
44 - >  
45 - <el-input  
46 - v-model="formData.remark"  
47 - type="textarea"  
48 - :rows="3"  
49 - :placeholder="$t('audit.placeholder.remark')"  
50 - /> 13 + <el-form-item :label="$t('audit.form.remark')" prop="remark" :rules="[
  14 + { required: true, message: $t('audit.rules.remarkRequired'), trigger: 'blur' },
  15 + { max: 200, message: $t('audit.rules.remarkMaxLength'), trigger: 'blur' }
  16 + ]">
  17 + <el-input v-model="formData.remark" type="textarea" :rows="3" :placeholder="$t('audit.placeholder.remark')" />
51 </el-form-item> 18 </el-form-item>
52 </el-form> 19 </el-form>
53 <div slot="footer" class="dialog-footer"> 20 <div slot="footer" class="dialog-footer">
@@ -100,7 +67,7 @@ export default { @@ -100,7 +67,7 @@ export default {
100 if (this.formData.state === '1200') { 67 if (this.formData.state === '1200') {
101 this.formData.remark = `${this.$t('audit.state.reject')}:${this.formData.remark}` 68 this.formData.remark = `${this.$t('audit.state.reject')}:${this.formData.remark}`
102 } 69 }
103 - this.$emit('success', this.formData) 70 + this.$emit('notifyAuditInfo', this.formData)
104 this.visible = false 71 this.visible = false
105 } 72 }
106 }) 73 })
src/components/fee/importRoomFee.vue
1 <template> 1 <template>
2 - <el-dialog  
3 - :title="$t('importRoomFee.title')"  
4 - :visible.sync="visible"  
5 - width="50%"  
6 - @close="handleClose"  
7 - >  
8 - <el-form  
9 - ref="form"  
10 - :model="form"  
11 - label-width="120px"  
12 - label-position="right"  
13 - >  
14 - <el-form-item  
15 - :label="$t('importRoomFee.form.feeTypeCd')"  
16 - prop="feeTypeCd"  
17 - :rules="[  
18 - { required: true, message: $t('importRoomFee.rules.feeTypeCdRequired'), trigger: 'change' }  
19 - ]"  
20 - >  
21 - <el-select  
22 - v-model="form.feeTypeCd"  
23 - :placeholder="$t('importRoomFee.placeholder.feeTypeCd')"  
24 - style="width:100%"  
25 - @change="handleFeeTypeChange"  
26 - >  
27 - <el-option  
28 - v-for="item in feeTypeCds"  
29 - :key="item.statusCd"  
30 - :label="item.name"  
31 - :value="item.statusCd"  
32 - /> 2 + <el-dialog :title="$t('importRoomFee.title')" :visible.sync="visible" width="50%" @close="handleClose">
  3 + <el-form ref="form" :model="form" label-width="120px" class="text-left" label-position="right">
  4 + <el-form-item :label="$t('importRoomFee.form.feeTypeCd')" prop="feeTypeCd" :rules="[
  5 + { required: true, message: $t('importRoomFee.rules.feeTypeCdRequired'), trigger: 'change' }
  6 + ]">
  7 + <el-select v-model="form.feeTypeCd" :placeholder="$t('importRoomFee.placeholder.feeTypeCd')" style="width:100%"
  8 + @change="handleFeeTypeChange">
  9 + <el-option v-for="item in feeTypeCds" :key="item.statusCd" :label="item.name" :value="item.statusCd" />
33 </el-select> 10 </el-select>
34 </el-form-item> 11 </el-form-item>
35 12
36 - <el-form-item  
37 - :label="$t('importRoomFee.form.objType')"  
38 - prop="objType"  
39 - :rules="[  
40 - { required: true, message: $t('importRoomFee.rules.objTypeRequired'), trigger: 'change' }  
41 - ]"  
42 - >  
43 - <el-select  
44 - v-model="form.objType"  
45 - :placeholder="$t('importRoomFee.placeholder.objType')"  
46 - style="width:100%"  
47 - >  
48 - <el-option  
49 - :label="$t('importRoomFee.options.room')"  
50 - value="3333"  
51 - />  
52 - <el-option  
53 - :label="$t('importRoomFee.options.parking')"  
54 - value="6666"  
55 - /> 13 + <el-form-item :label="$t('importRoomFee.form.objType')" prop="objType" :rules="[
  14 + { required: true, message: $t('importRoomFee.rules.objTypeRequired'), trigger: 'change' }
  15 + ]">
  16 + <el-select v-model="form.objType" :placeholder="$t('importRoomFee.placeholder.objType')" style="width:100%">
  17 + <el-option :label="$t('importRoomFee.options.room')" value="3333" />
  18 + <el-option :label="$t('importRoomFee.options.parking')" value="6666" />
56 </el-select> 19 </el-select>
57 </el-form-item> 20 </el-form-item>
58 21
59 - <el-form-item  
60 - :label="$t('importRoomFee.form.file')"  
61 - prop="file"  
62 - :rules="[  
63 - { required: true, message: $t('importRoomFee.rules.fileRequired'), trigger: 'change' }  
64 - ]"  
65 - >  
66 - <el-upload  
67 - ref="upload"  
68 - :auto-upload="false"  
69 - :limit="1"  
70 - :on-change="handleFileChange"  
71 - :on-remove="handleFileRemove"  
72 - accept=".xls,.xlsx"  
73 - > 22 + <el-form-item :label="$t('importRoomFee.form.file')" prop="file" :rules="[
  23 + { required: true, message: $t('importRoomFee.rules.fileRequired'), trigger: 'change' }
  24 + ]">
  25 + <el-upload ref="upload" :auto-upload="false" :limit="1" action="" :on-change="handleFileChange"
  26 + :on-remove="handleFileRemove" accept=".xls,.xlsx">
74 <el-button size="small" type="primary"> 27 <el-button size="small" type="primary">
75 {{ $t('importRoomFee.button.selectFile') }} 28 {{ $t('importRoomFee.button.selectFile') }}
76 </el-button> 29 </el-button>
@@ -95,11 +48,7 @@ @@ -95,11 +48,7 @@
95 <el-button @click="visible = false"> 48 <el-button @click="visible = false">
96 {{ $t('common.cancel') }} 49 {{ $t('common.cancel') }}
97 </el-button> 50 </el-button>
98 - <el-button  
99 - type="primary"  
100 - :loading="loading"  
101 - @click="handleSubmit"  
102 - > 51 + <el-button type="primary" :loading="loading" @click="handleSubmit">
103 {{ $t('common.confirm') }} 52 {{ $t('common.confirm') }}
104 </el-button> 53 </el-button>
105 </div> 54 </div>
@@ -164,14 +113,14 @@ export default { @@ -164,14 +113,14 @@ export default {
164 formData.append('objType', this.form.objType) 113 formData.append('objType', this.form.objType)
165 formData.append('importAdapt', 'importRoomFee') 114 formData.append('importAdapt', 'importRoomFee')
166 115
167 - await importRoomFeeData(formData) 116 + await importRoomFeeData(formData)
168 this.$message.success(this.$t('importRoomFee.message.importSuccess')) 117 this.$message.success(this.$t('importRoomFee.message.importSuccess'))
169 this.$emit('success') 118 this.$emit('success')
170 this.visible = false 119 this.visible = false
171 }) 120 })
172 } catch (error) { 121 } catch (error) {
173 console.error('导入失败:', error) 122 console.error('导入失败:', error)
174 - this.$message.error(error.message || this.$t('importRoomFee.message.importFailed')) 123 + this.$message.error(error.response.data)
175 } finally { 124 } finally {
176 this.loading = false 125 this.loading = false
177 } 126 }
@@ -183,7 +132,11 @@ export default { @@ -183,7 +132,11 @@ export default {
183 objType: this.form.objType, 132 objType: this.form.objType,
184 pagePath: 'exportFeeImportTemplate' 133 pagePath: 'exportFeeImportTemplate'
185 } 134 }
186 - await downloadImportTemplate(params) 135 + const res = await downloadImportTemplate(params)
  136 + if (res.code === 0) {
  137 + this.visible = false
  138 + this.$router.push('/pages/property/downloadTempFile?tab=下载中心')
  139 + }
187 this.$message.success(this.$t('importRoomFee.message.downloadSuccess')) 140 this.$message.success(this.$t('importRoomFee.message.downloadSuccess'))
188 } catch (error) { 141 } catch (error) {
189 console.error('下载模板失败:', error) 142 console.error('下载模板失败:', error)
src/components/fee/returnPayFee.vue
1 <template> 1 <template>
2 - <el-dialog  
3 - :title="$t('returnPayFee.fillRefundReason')"  
4 - :visible.sync="visible"  
5 - width="50%"  
6 - @close="handleClose"  
7 - >  
8 - <el-form  
9 - ref="form"  
10 - :model="formData"  
11 - label-width="120px"  
12 - label-position="left"  
13 - > 2 + <el-dialog :title="$t('returnPayFee.fillRefundReason')" :visible.sync="visible" width="50%" @close="handleClose">
  3 + <el-form ref="form" :model="formData" label-width="120px" label-position="left">
14 <el-form-item :label="$t('returnPayFee.payment') + 'ID'"> 4 <el-form-item :label="$t('returnPayFee.payment') + 'ID'">
15 <el-input v-model="formData.detailId" readonly /> 5 <el-input v-model="formData.detailId" readonly />
16 </el-form-item> 6 </el-form-item>
17 - 7 +
18 <el-form-item :label="$t('returnPayFee.cycle') + $t('returnPayFee.monthUnit')"> 8 <el-form-item :label="$t('returnPayFee.cycle') + $t('returnPayFee.monthUnit')">
19 <el-input v-model="formData.cycles" readonly /> 9 <el-input v-model="formData.cycles" readonly />
20 </el-form-item> 10 </el-form-item>
21 - 11 +
22 <el-form-item :label="$t('returnPayFee.receivableAmount')"> 12 <el-form-item :label="$t('returnPayFee.receivableAmount')">
23 <el-input v-model="formData.receivableAmount" readonly /> 13 <el-input v-model="formData.receivableAmount" readonly />
24 </el-form-item> 14 </el-form-item>
25 - 15 +
26 <el-form-item :label="$t('returnPayFee.receivedAmount')"> 16 <el-form-item :label="$t('returnPayFee.receivedAmount')">
27 <el-input v-model="formData.receivedAmount" readonly /> 17 <el-input v-model="formData.receivedAmount" readonly />
28 </el-form-item> 18 </el-form-item>
29 - 19 +
30 <el-form-item :label="$t('returnPayFee.paymentTime')"> 20 <el-form-item :label="$t('returnPayFee.paymentTime')">
31 <el-input v-model="formData.payTime" readonly /> 21 <el-input v-model="formData.payTime" readonly />
32 </el-form-item> 22 </el-form-item>
33 -  
34 - <el-form-item  
35 - :label="$t('returnPayFee.refundReason')"  
36 - prop="reason"  
37 - :rules="[  
38 - { required: true, message: $t('returnPayFee.reasonRequired'), trigger: 'blur' },  
39 - { max: 200, message: $t('returnPayFee.reasonMaxLength'), trigger: 'blur' }  
40 - ]"  
41 - >  
42 - <el-input  
43 - v-model="formData.reason"  
44 - type="textarea"  
45 - :rows="3"  
46 - :placeholder="$t('returnPayFee.reasonPlaceholder')"  
47 - /> 23 +
  24 + <el-form-item :label="$t('returnPayFee.refundReason')" prop="reason" :rules="[
  25 + { required: true, message: $t('returnPayFee.reasonRequired'), trigger: 'blur' },
  26 + { max: 200, message: $t('returnPayFee.reasonMaxLength'), trigger: 'blur' }
  27 + ]">
  28 + <el-input v-model="formData.reason" type="textarea" :rows="3"
  29 + :placeholder="$t('returnPayFee.reasonPlaceholder')" />
48 </el-form-item> 30 </el-form-item>
49 </el-form> 31 </el-form>
50 - 32 +
51 <span slot="footer" class="dialog-footer"> 33 <span slot="footer" class="dialog-footer">
52 <el-button @click="visible = false">{{ $t('common.cancel') }}</el-button> 34 <el-button @click="visible = false">{{ $t('common.cancel') }}</el-button>
53 - <el-button  
54 - type="primary"  
55 - @click="submitReturnPayFee"  
56 - :loading="loading"  
57 - > 35 + <el-button type="primary" @click="submitReturnPayFee" :loading="loading">
58 {{ $t('returnPayFee.submitRefund') }} 36 {{ $t('returnPayFee.submitRefund') }}
59 </el-button> 37 </el-button>
60 </span> 38 </span>
@@ -88,6 +66,7 @@ export default { @@ -88,6 +66,7 @@ export default {
88 open(data) { 66 open(data) {
89 this.resetForm() 67 this.resetForm()
90 Object.assign(this.formData, data) 68 Object.assign(this.formData, data)
  69 + this.formData.payTime = data.createTime
91 this.visible = true 70 this.visible = true
92 }, 71 },
93 resetForm() { 72 resetForm() {
@@ -115,7 +94,7 @@ export default { @@ -115,7 +94,7 @@ export default {
115 94
116 this.loading = true 95 this.loading = true
117 await saveReturnPayFee(this.formData) 96 await saveReturnPayFee(this.formData)
118 - 97 +
119 this.$message.success(this.$t('common.operateSuccess')) 98 this.$message.success(this.$t('common.operateSuccess'))
120 this.visible = false 99 this.visible = false
121 this.$emit('success') 100 this.$emit('success')
src/views/fee/floorShareList.vue
@@ -6,7 +6,7 @@ @@ -6,7 +6,7 @@
6 </el-col> 6 </el-col>
7 <el-col :span="20"> 7 <el-col :span="20">
8 <el-card class="box-card"> 8 <el-card class="box-card">
9 - <div slot="header" class="clearfix"> 9 + <div slot="header" class="flex justify-between">
10 <span>{{ $t('floorShare.title') }}</span> 10 <span>{{ $t('floorShare.title') }}</span>
11 <el-button v-if="floorShareInfo.conditions.floorId" type="primary" size="small" style="float: right;" 11 <el-button v-if="floorShareInfo.conditions.floorId" type="primary" size="small" style="float: right;"
12 @click="openAddFloorShareModal"> 12 @click="openAddFloorShareModal">
src/views/fee/propertyFeeList.vue
@@ -88,7 +88,7 @@ @@ -88,7 +88,7 @@
88 </el-card> 88 </el-card>
89 89
90 <!-- 子组件 --> 90 <!-- 子组件 -->
91 - <return-pay-fee ref="returnPayFee" /> 91 + <return-pay-fee ref="returnPayFee" @success="queryFeeDetailMethod" />
92 <view-fee-detail-discount ref="viewFeeDetailDiscount" /> 92 <view-fee-detail-discount ref="viewFeeDetailDiscount" />
93 93
94 </div> 94 </div>
src/views/fee/roomFeeImportList.vue
@@ -7,24 +7,13 @@ @@ -7,24 +7,13 @@
7 </div> 7 </div>
8 <el-row :gutter="20"> 8 <el-row :gutter="20">
9 <el-col :span="6"> 9 <el-col :span="6">
10 - <el-input  
11 - v-model="searchForm.importFeeId"  
12 - :placeholder="$t('roomFeeImport.search.importFeeId')"  
13 - clearable  
14 - /> 10 + <el-input v-model="searchForm.importFeeId" :placeholder="$t('roomFeeImport.search.importFeeId')" clearable />
15 </el-col> 11 </el-col>
16 <el-col :span="6"> 12 <el-col :span="6">
17 - <el-select  
18 - v-model="searchForm.feeTypeCd"  
19 - :placeholder="$t('roomFeeImport.search.feeTypeCd')"  
20 - style="width:100%"  
21 - >  
22 - <el-option  
23 - v-for="item in filteredFeeTypeCds"  
24 - :key="item.statusCd"  
25 - :label="item.name"  
26 - :value="item.statusCd"  
27 - /> 13 + <el-select v-model="searchForm.feeTypeCd" :placeholder="$t('roomFeeImport.search.feeTypeCd')"
  14 + style="width:100%">
  15 + <el-option v-for="item in filteredFeeTypeCds" :key="item.statusCd" :label="item.name"
  16 + :value="item.statusCd" />
28 </el-select> 17 </el-select>
29 </el-col> 18 </el-col>
30 <el-col :span="6"> 19 <el-col :span="6">
@@ -39,66 +28,28 @@ @@ -39,66 +28,28 @@
39 <el-card class="table-card"> 28 <el-card class="table-card">
40 <div slot="header" class="flex justify-between"> 29 <div slot="header" class="flex justify-between">
41 <span>{{ $t('roomFeeImport.table.title') }}</span> 30 <span>{{ $t('roomFeeImport.table.title') }}</span>
42 - <el-button  
43 - type="primary"  
44 - style="float: right;"  
45 - @click="handleImport"  
46 - > 31 + <el-button type="primary" style="float: right;" @click="handleImport">
47 {{ $t('roomFeeImport.button.import') }} 32 {{ $t('roomFeeImport.button.import') }}
48 </el-button> 33 </el-button>
49 </div> 34 </div>
50 35
51 - <el-table  
52 - :data="tableData"  
53 - border  
54 - style="width: 100%"  
55 - v-loading="loading"  
56 - >  
57 - <el-table-column  
58 - prop="importFeeId"  
59 - :label="$t('roomFeeImport.table.importFeeId')"  
60 - align="center"  
61 - />  
62 - <el-table-column  
63 - prop="feeTypeCdName"  
64 - :label="$t('roomFeeImport.table.feeTypeCd')"  
65 - align="center"  
66 - />  
67 - <el-table-column  
68 - prop="createTime"  
69 - :label="$t('roomFeeImport.table.createTime')"  
70 - align="center"  
71 - />  
72 - <el-table-column  
73 - prop="remark"  
74 - :label="$t('roomFeeImport.table.remark')"  
75 - align="center"  
76 - />  
77 - <el-table-column  
78 - :label="$t('common.operation')"  
79 - align="center"  
80 - width="150"  
81 - > 36 + <el-table :data="tableData" border style="width: 100%" v-loading="loading">
  37 + <el-table-column prop="importFeeId" :label="$t('roomFeeImport.table.importFeeId')" align="center" />
  38 + <el-table-column prop="feeTypeCdName" :label="$t('roomFeeImport.table.feeTypeCd')" align="center" />
  39 + <el-table-column prop="createTime" :label="$t('roomFeeImport.table.createTime')" align="center" />
  40 + <el-table-column prop="remark" :label="$t('roomFeeImport.table.remark')" align="center" />
  41 + <el-table-column :label="$t('common.operation')" align="center" width="150">
82 <template slot-scope="scope"> 42 <template slot-scope="scope">
83 - <el-button  
84 - size="mini"  
85 - @click="handleDetail(scope.row)"  
86 - > 43 + <el-button size="mini" @click="handleDetail(scope.row)">
87 {{ $t('common.detail') }} 44 {{ $t('common.detail') }}
88 </el-button> 45 </el-button>
89 </template> 46 </template>
90 </el-table-column> 47 </el-table-column>
91 </el-table> 48 </el-table>
92 49
93 - <el-pagination  
94 - :current-page="pagination.current"  
95 - :page-sizes="[10, 20, 30, 50]"  
96 - :page-size="pagination.size"  
97 - :total="pagination.total"  
98 - layout="total, sizes, prev, pager, next, jumper"  
99 - @size-change="handleSizeChange"  
100 - @current-change="handleCurrentChange"  
101 - /> 50 + <el-pagination :current-page="pagination.current" :page-sizes="[10, 20, 30, 50]" :page-size="pagination.size"
  51 + :total="pagination.total" layout="total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange"
  52 + @current-change="handleCurrentChange" />
102 </el-card> 53 </el-card>
103 54
104 <!-- 导入组件 --> 55 <!-- 导入组件 -->
src/views/fee/shareReadingFeeList.vue
@@ -113,7 +113,7 @@ export default { @@ -113,7 +113,7 @@ export default {
113 }, 113 },
114 handleDetail(row) { 114 handleDetail(row) {
115 this.$router.push({ 115 this.$router.push({
116 - path: '/fee/feeDetail', 116 + path: '/views/fee/feeDetail',
117 query: { feeId: row.feeId } 117 query: { feeId: row.feeId }
118 }) 118 })
119 }, 119 },
src/views/fee/shareReadingList.vue
@@ -13,7 +13,7 @@ @@ -13,7 +13,7 @@
13 </el-col> 13 </el-col>
14 <el-col :span="20"> 14 <el-col :span="20">
15 <el-card> 15 <el-card>
16 - <div slot="header" class="clearfix"> 16 + <div slot="header" class="flex justify-between">
17 <span>{{ $t('shareReading.search.title') }}</span> 17 <span>{{ $t('shareReading.search.title') }}</span>
18 </div> 18 </div>
19 <div class="search-wrapper"> 19 <div class="search-wrapper">
@@ -43,7 +43,7 @@ @@ -43,7 +43,7 @@
43 </el-card> 43 </el-card>
44 44
45 <el-card class="mt-20"> 45 <el-card class="mt-20">
46 - <div slot="header" class="clearfix"> 46 + <div slot="header" class="flex justify-between">
47 <span>{{ $t('shareReading.list.title') }}</span> 47 <span>{{ $t('shareReading.list.title') }}</span>
48 <el-button type="primary" size="small" style="float:right" @click="_openAddShareReadingModal"> 48 <el-button type="primary" size="small" style="float:right" @click="_openAddShareReadingModal">
49 {{ $t('shareReading.list.addReading') }} 49 {{ $t('shareReading.list.addReading') }}