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,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') }} |