Commit ac99dc052ea8b2eb9f28a98a5e6d9c7ff8deedcc
1 parent
8e80e9f4
优化代码
Showing
12 changed files
with
86 additions
and
236 deletions
src/api/fee/doImportCreateFeeApi.js
| ... | ... | @@ -3,7 +3,7 @@ import request from '@/utils/request' |
| 3 | 3 | export function importData(data) { |
| 4 | 4 | return new Promise((resolve, reject) => { |
| 5 | 5 | request({ |
| 6 | - url: '/assetImport/importData', | |
| 6 | + url: '/callComponent/upload/assetImport/importData', | |
| 7 | 7 | method: 'post', |
| 8 | 8 | data, |
| 9 | 9 | headers: { | ... | ... |
src/api/fee/roomFeeImportApi.js
| ... | ... | @@ -37,7 +37,7 @@ export function queryImportFee(params) { |
| 37 | 37 | export function importRoomFeeData(formData) { |
| 38 | 38 | return new Promise((resolve, reject) => { |
| 39 | 39 | request({ |
| 40 | - url: '/assetImport/importData', | |
| 40 | + url: '/callComponent/upload/assetImport/importData', | |
| 41 | 41 | method: 'post', |
| 42 | 42 | data: formData, |
| 43 | 43 | headers: { |
| ... | ... | @@ -73,7 +73,7 @@ export function downloadImportTemplate(params) { |
| 73 | 73 | }).then(response => { |
| 74 | 74 | const res = response.data |
| 75 | 75 | if (res.code === 0) { |
| 76 | - resolve(res.data) | |
| 76 | + resolve(res) | |
| 77 | 77 | } else { |
| 78 | 78 | reject(new Error(res.msg)) |
| 79 | 79 | } | ... | ... |
src/api/system/historyFeeDetailImportApi.js
| ... | ... | @@ -8,7 +8,7 @@ import request from '@/utils/request' |
| 8 | 8 | export function importData(formData) { |
| 9 | 9 | return new Promise((resolve, reject) => { |
| 10 | 10 | request({ |
| 11 | - url: '/assetImport/importData', | |
| 11 | + url: '/callComponent/upload/assetImport/importData', | |
| 12 | 12 | method: 'post', |
| 13 | 13 | data: formData, |
| 14 | 14 | headers: { | ... | ... |
src/components/fee/addFloorShare.vue
| 1 | 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 | 4 | <el-form-item :label="$t('floorShare.floor')" prop="floorNum"> |
| 5 | 5 | <el-input v-model="form.floorNum" disabled /> |
| 6 | 6 | </el-form-item> | ... | ... |
src/components/fee/audit.vue
| 1 | 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 | 11 | </el-select> |
| 36 | 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 | 18 | </el-form-item> |
| 52 | 19 | </el-form> |
| 53 | 20 | <div slot="footer" class="dialog-footer"> |
| ... | ... | @@ -100,7 +67,7 @@ export default { |
| 100 | 67 | if (this.formData.state === '1200') { |
| 101 | 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 | 71 | this.visible = false |
| 105 | 72 | } |
| 106 | 73 | }) | ... | ... |
src/components/fee/importRoomFee.vue
| 1 | 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 | 10 | </el-select> |
| 34 | 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 | 19 | </el-select> |
| 57 | 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 | 27 | <el-button size="small" type="primary"> |
| 75 | 28 | {{ $t('importRoomFee.button.selectFile') }} |
| 76 | 29 | </el-button> |
| ... | ... | @@ -95,11 +48,7 @@ |
| 95 | 48 | <el-button @click="visible = false"> |
| 96 | 49 | {{ $t('common.cancel') }} |
| 97 | 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 | 52 | {{ $t('common.confirm') }} |
| 104 | 53 | </el-button> |
| 105 | 54 | </div> |
| ... | ... | @@ -164,14 +113,14 @@ export default { |
| 164 | 113 | formData.append('objType', this.form.objType) |
| 165 | 114 | formData.append('importAdapt', 'importRoomFee') |
| 166 | 115 | |
| 167 | - await importRoomFeeData(formData) | |
| 116 | + await importRoomFeeData(formData) | |
| 168 | 117 | this.$message.success(this.$t('importRoomFee.message.importSuccess')) |
| 169 | 118 | this.$emit('success') |
| 170 | 119 | this.visible = false |
| 171 | 120 | }) |
| 172 | 121 | } catch (error) { |
| 173 | 122 | console.error('导入失败:', error) |
| 174 | - this.$message.error(error.message || this.$t('importRoomFee.message.importFailed')) | |
| 123 | + this.$message.error(error.response.data) | |
| 175 | 124 | } finally { |
| 176 | 125 | this.loading = false |
| 177 | 126 | } |
| ... | ... | @@ -183,7 +132,11 @@ export default { |
| 183 | 132 | objType: this.form.objType, |
| 184 | 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 | 140 | this.$message.success(this.$t('importRoomFee.message.downloadSuccess')) |
| 188 | 141 | } catch (error) { |
| 189 | 142 | console.error('下载模板失败:', error) | ... | ... |
src/components/fee/returnPayFee.vue
| 1 | 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 | 4 | <el-form-item :label="$t('returnPayFee.payment') + 'ID'"> |
| 15 | 5 | <el-input v-model="formData.detailId" readonly /> |
| 16 | 6 | </el-form-item> |
| 17 | - | |
| 7 | + | |
| 18 | 8 | <el-form-item :label="$t('returnPayFee.cycle') + $t('returnPayFee.monthUnit')"> |
| 19 | 9 | <el-input v-model="formData.cycles" readonly /> |
| 20 | 10 | </el-form-item> |
| 21 | - | |
| 11 | + | |
| 22 | 12 | <el-form-item :label="$t('returnPayFee.receivableAmount')"> |
| 23 | 13 | <el-input v-model="formData.receivableAmount" readonly /> |
| 24 | 14 | </el-form-item> |
| 25 | - | |
| 15 | + | |
| 26 | 16 | <el-form-item :label="$t('returnPayFee.receivedAmount')"> |
| 27 | 17 | <el-input v-model="formData.receivedAmount" readonly /> |
| 28 | 18 | </el-form-item> |
| 29 | - | |
| 19 | + | |
| 30 | 20 | <el-form-item :label="$t('returnPayFee.paymentTime')"> |
| 31 | 21 | <el-input v-model="formData.payTime" readonly /> |
| 32 | 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 | 30 | </el-form-item> |
| 49 | 31 | </el-form> |
| 50 | - | |
| 32 | + | |
| 51 | 33 | <span slot="footer" class="dialog-footer"> |
| 52 | 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 | 36 | {{ $t('returnPayFee.submitRefund') }} |
| 59 | 37 | </el-button> |
| 60 | 38 | </span> |
| ... | ... | @@ -88,6 +66,7 @@ export default { |
| 88 | 66 | open(data) { |
| 89 | 67 | this.resetForm() |
| 90 | 68 | Object.assign(this.formData, data) |
| 69 | + this.formData.payTime = data.createTime | |
| 91 | 70 | this.visible = true |
| 92 | 71 | }, |
| 93 | 72 | resetForm() { |
| ... | ... | @@ -115,7 +94,7 @@ export default { |
| 115 | 94 | |
| 116 | 95 | this.loading = true |
| 117 | 96 | await saveReturnPayFee(this.formData) |
| 118 | - | |
| 97 | + | |
| 119 | 98 | this.$message.success(this.$t('common.operateSuccess')) |
| 120 | 99 | this.visible = false |
| 121 | 100 | this.$emit('success') | ... | ... |
src/views/fee/floorShareList.vue
| ... | ... | @@ -6,7 +6,7 @@ |
| 6 | 6 | </el-col> |
| 7 | 7 | <el-col :span="20"> |
| 8 | 8 | <el-card class="box-card"> |
| 9 | - <div slot="header" class="clearfix"> | |
| 9 | + <div slot="header" class="flex justify-between"> | |
| 10 | 10 | <span>{{ $t('floorShare.title') }}</span> |
| 11 | 11 | <el-button v-if="floorShareInfo.conditions.floorId" type="primary" size="small" style="float: right;" |
| 12 | 12 | @click="openAddFloorShareModal"> | ... | ... |
src/views/fee/propertyFeeList.vue
src/views/fee/roomFeeImportList.vue
| ... | ... | @@ -7,24 +7,13 @@ |
| 7 | 7 | </div> |
| 8 | 8 | <el-row :gutter="20"> |
| 9 | 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 | 11 | </el-col> |
| 16 | 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 | 17 | </el-select> |
| 29 | 18 | </el-col> |
| 30 | 19 | <el-col :span="6"> |
| ... | ... | @@ -39,66 +28,28 @@ |
| 39 | 28 | <el-card class="table-card"> |
| 40 | 29 | <div slot="header" class="flex justify-between"> |
| 41 | 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 | 32 | {{ $t('roomFeeImport.button.import') }} |
| 48 | 33 | </el-button> |
| 49 | 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 | 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 | 44 | {{ $t('common.detail') }} |
| 88 | 45 | </el-button> |
| 89 | 46 | </template> |
| 90 | 47 | </el-table-column> |
| 91 | 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 | 53 | </el-card> |
| 103 | 54 | |
| 104 | 55 | <!-- 导入组件 --> | ... | ... |
src/views/fee/shareReadingFeeList.vue
src/views/fee/shareReadingList.vue
| ... | ... | @@ -13,7 +13,7 @@ |
| 13 | 13 | </el-col> |
| 14 | 14 | <el-col :span="20"> |
| 15 | 15 | <el-card> |
| 16 | - <div slot="header" class="clearfix"> | |
| 16 | + <div slot="header" class="flex justify-between"> | |
| 17 | 17 | <span>{{ $t('shareReading.search.title') }}</span> |
| 18 | 18 | </div> |
| 19 | 19 | <div class="search-wrapper"> |
| ... | ... | @@ -43,7 +43,7 @@ |
| 43 | 43 | </el-card> |
| 44 | 44 | |
| 45 | 45 | <el-card class="mt-20"> |
| 46 | - <div slot="header" class="clearfix"> | |
| 46 | + <div slot="header" class="flex justify-between"> | |
| 47 | 47 | <span>{{ $t('shareReading.list.title') }}</span> |
| 48 | 48 | <el-button type="primary" size="small" style="float:right" @click="_openAddShareReadingModal"> |
| 49 | 49 | {{ $t('shareReading.list.addReading') }} | ... | ... |