Commit 6f9168702157da397bf7501dc54dba360a403b9c
1 parent
0c52f32a
优化甘肃客户反馈bug
Showing
21 changed files
with
350 additions
and
199 deletions
src/api/fee/listApplyRoomDiscountRecordDetailsApi.js
0 → 100644
| 1 | +import request from '@/utils/request' | |
| 2 | + | |
| 3 | +/** | |
| 4 | + * 查询房间折扣记录详情 | |
| 5 | + * @param {Object} params 查询参数 | |
| 6 | + * @param {string} params.ardrId 折扣记录ID | |
| 7 | + * @param {string} params.roomName 房间名称 | |
| 8 | + * @param {string} params.state 状态 | |
| 9 | + * @param {string} params.roomId 房间ID | |
| 10 | + * @param {string} params.communityId 小区ID | |
| 11 | + * @param {number} params.page 当前页码 | |
| 12 | + * @param {number} params.row 每页条数 | |
| 13 | + * @returns {Promise} 返回Promise对象 | |
| 14 | + */ | |
| 15 | +export function queryApplyRoomDiscountRecordDetail(params) { | |
| 16 | + return new Promise((resolve, reject) => { | |
| 17 | + request({ | |
| 18 | + url: '/applyRoomDiscountRecord/queryApplyRoomDiscountRecordDetail', | |
| 19 | + method: 'get', | |
| 20 | + params | |
| 21 | + }).then(response => { | |
| 22 | + const res = response.data | |
| 23 | + resolve({ | |
| 24 | + data: res.data, | |
| 25 | + total: res.total | |
| 26 | + }) | |
| 27 | + }).catch(error => { | |
| 28 | + reject(error) | |
| 29 | + }) | |
| 30 | + }) | |
| 31 | +} | |
| 0 | 32 | \ No newline at end of file | ... | ... |
src/components/fee/applyRoomDiscountRecord.vue
| 1 | 1 | <template> |
| 2 | 2 | <el-dialog :title="$t('applyRoomDiscountRecord.title')" :visible.sync="visible" width="60%" |
| 3 | 3 | :before-close="handleClose"> |
| 4 | - <el-form :model="form" label-width="120px" label-position="left"> | |
| 4 | + <el-form :model="form" label-width="120px" label-position="left" class="text-left"> | |
| 5 | 5 | <el-form-item :label="$t('applyRoomDiscountRecord.room')"> |
| 6 | 6 | <el-input v-model="form.roomName" disabled></el-input> |
| 7 | 7 | </el-form-item> |
| ... | ... | @@ -20,7 +20,7 @@ |
| 20 | 20 | :placeholder="$t('applyRoomDiscountRecord.remarkPlaceholder')"></el-input> |
| 21 | 21 | </el-form-item> |
| 22 | 22 | <el-form-item :label="$t('applyRoomDiscountRecord.uploadImages')"> |
| 23 | - <upload-image-url ref="uploadImageUrl" /> | |
| 23 | + <upload-image-url ref="uploadImageUrl" @notifyUploadCoverImage="handleNotifyUploadCoverImage" /> | |
| 24 | 24 | </el-form-item> |
| 25 | 25 | <el-form-item :label="$t('applyRoomDiscountRecord.uploadVideo')"> |
| 26 | 26 | <upload-vedio ref="uploadVedio" /> |
| ... | ... | @@ -105,10 +105,7 @@ export default { |
| 105 | 105 | this.visible = false |
| 106 | 106 | }, |
| 107 | 107 | validateForm() { |
| 108 | - if (this.form.isTrue === null) { | |
| 109 | - this.$message.error(this.$t('applyRoomDiscountRecord.violationRequired')) | |
| 110 | - return false | |
| 111 | - } | |
| 108 | + | |
| 112 | 109 | if (!this.form.remark) { |
| 113 | 110 | this.$message.error(this.$t('applyRoomDiscountRecord.remarkRequired')) |
| 114 | 111 | return false |
| ... | ... | @@ -119,7 +116,6 @@ export default { |
| 119 | 116 | if (!this.validateForm()) return |
| 120 | 117 | |
| 121 | 118 | try { |
| 122 | - this.form.photos = this.$refs.uploadImageUrl.getPhotos() | |
| 123 | 119 | this.form.videoName = this.$refs.uploadVedio.getVideoName() |
| 124 | 120 | |
| 125 | 121 | const res = await addApplyRoomDiscountRecord(this.form) |
| ... | ... | @@ -131,8 +127,12 @@ export default { |
| 131 | 127 | this.$message.error(res.msg) |
| 132 | 128 | } |
| 133 | 129 | } catch (error) { |
| 130 | + console.log(error) | |
| 134 | 131 | this.$message.error(this.$t('common.saveFailed')) |
| 135 | 132 | } |
| 133 | + }, | |
| 134 | + handleNotifyUploadCoverImage(photosUrl) { | |
| 135 | + this.form.photos = photosUrl | |
| 136 | 136 | } |
| 137 | 137 | } |
| 138 | 138 | } | ... | ... |
src/components/fee/batchFeeCycle.vue
| 1 | 1 | <template> |
| 2 | - <el-dialog | |
| 3 | - :title="batchFeeCycleInfo.fee.feeName" | |
| 4 | - :visible.sync="visible" | |
| 5 | - width="500px" | |
| 6 | - :before-close="handleClose" | |
| 7 | - > | |
| 2 | + <el-dialog :title="batchFeeCycleInfo.feeName" :visible.sync="visible" width="500px" :before-close="handleClose"> | |
| 8 | 3 | <el-form label-width="120px"> |
| 9 | 4 | <el-form-item :label="$t('batchFeeCycle.paymentCycle')"> |
| 10 | - <el-select | |
| 11 | - v-model="batchFeeCycleInfo.tempCycle" | |
| 12 | - @change="changeTempCycle" | |
| 13 | - style="width:100%" | |
| 14 | - :placeholder="$t('batchFeeCycle.selectCycleTip')" | |
| 15 | - > | |
| 16 | - <el-option | |
| 17 | - value="-100" | |
| 18 | - :label="$t('batchFeeCycle.default')" | |
| 19 | - ></el-option> | |
| 20 | - <el-option | |
| 21 | - value="-102" | |
| 22 | - :label="$t('batchFeeCycle.customCycle')" | |
| 23 | - ></el-option> | |
| 24 | - <el-option | |
| 25 | - value="-101" | |
| 26 | - :label="$t('batchFeeCycle.customAmount')" | |
| 27 | - ></el-option> | |
| 28 | - <el-option | |
| 29 | - value="-103" | |
| 30 | - :label="$t('batchFeeCycle.customEndTime')" | |
| 31 | - ></el-option> | |
| 5 | + <el-select v-model="batchFeeCycleInfo.tempCycle" @change="changeTempCycle" style="width:100%" | |
| 6 | + :placeholder="$t('batchFeeCycle.selectCycleTip')"> | |
| 7 | + <el-option value="-100" :label="$t('batchFeeCycle.default')"></el-option> | |
| 8 | + <el-option value="-102" :label="$t('batchFeeCycle.customCycle')"></el-option> | |
| 9 | + <el-option value="-101" :label="$t('batchFeeCycle.customAmount')"></el-option> | |
| 10 | + <el-option value="-103" :label="$t('batchFeeCycle.customEndTime')"></el-option> | |
| 32 | 11 | </el-select> |
| 33 | 12 | </el-form-item> |
| 34 | 13 | |
| 35 | - <el-form-item | |
| 36 | - v-if="batchFeeCycleInfo.tempCycle === '-101'" | |
| 37 | - :label="$t('batchFeeCycle.customAmount')" | |
| 38 | - > | |
| 39 | - <el-input | |
| 40 | - type="number" | |
| 41 | - v-model="batchFeeCycleInfo.receivedAmount" | |
| 42 | - :placeholder="$t('batchFeeCycle.enterCustomAmount')" | |
| 43 | - ></el-input> | |
| 14 | + <el-form-item v-if="batchFeeCycleInfo.tempCycle === '-101'" :label="$t('batchFeeCycle.customAmount')"> | |
| 15 | + <el-input type="number" v-model="batchFeeCycleInfo.receivedAmount" | |
| 16 | + :placeholder="$t('batchFeeCycle.enterCustomAmount')"></el-input> | |
| 44 | 17 | </el-form-item> |
| 45 | 18 | |
| 46 | - <el-form-item | |
| 47 | - v-if="batchFeeCycleInfo.tempCycle === '-102'" | |
| 48 | - :label="$t('batchFeeCycle.actualCycle')" | |
| 49 | - > | |
| 50 | - <el-input | |
| 51 | - type="number" | |
| 52 | - v-model="batchFeeCycleInfo.cycles" | |
| 53 | - :placeholder="$t('batchFeeCycle.enterActualCycle')" | |
| 54 | - ></el-input> | |
| 19 | + <el-form-item v-if="batchFeeCycleInfo.tempCycle === '-102'" :label="$t('batchFeeCycle.actualCycle')"> | |
| 20 | + <el-input type="number" v-model="batchFeeCycleInfo.cycles" | |
| 21 | + :placeholder="$t('batchFeeCycle.enterActualCycle')"></el-input> | |
| 55 | 22 | </el-form-item> |
| 56 | 23 | |
| 57 | - <el-form-item | |
| 58 | - v-if="batchFeeCycleInfo.tempCycle === '-103'" | |
| 59 | - :label="$t('batchFeeCycle.endTime')" | |
| 60 | - > | |
| 61 | - <el-date-picker | |
| 62 | - v-model="batchFeeCycleInfo.custEndTime" | |
| 63 | - type="date" | |
| 64 | - style="width:100%" | |
| 65 | - :placeholder="$t('batchFeeCycle.selectEndTime')" | |
| 66 | - value-format="yyyy-MM-dd" | |
| 67 | - ></el-date-picker> | |
| 24 | + <el-form-item v-if="batchFeeCycleInfo.tempCycle === '-103'" :label="$t('batchFeeCycle.endTime')"> | |
| 25 | + <el-date-picker v-model="batchFeeCycleInfo.custEndTime" type="date" style="width:100%" | |
| 26 | + :placeholder="$t('batchFeeCycle.selectEndTime')" value-format="yyyy-MM-dd"></el-date-picker> | |
| 68 | 27 | </el-form-item> |
| 69 | 28 | </el-form> |
| 70 | 29 | |
| ... | ... | @@ -92,12 +51,7 @@ export default { |
| 92 | 51 | }, |
| 93 | 52 | methods: { |
| 94 | 53 | open(fee) { |
| 95 | - this.batchFeeCycleInfo = { | |
| 96 | - cycles: fee.cycles, | |
| 97 | - tempCycle: fee.tempCycle, | |
| 98 | - receivedAmount: fee.receivedAmount, | |
| 99 | - fee: { ...fee } | |
| 100 | - } | |
| 54 | + this.batchFeeCycleInfo = fee | |
| 101 | 55 | this.visible = true |
| 102 | 56 | }, |
| 103 | 57 | |
| ... | ... | @@ -113,15 +67,8 @@ export default { |
| 113 | 67 | }, |
| 114 | 68 | |
| 115 | 69 | _doSubmitFeeCycle() { |
| 116 | - const updatedFee = { | |
| 117 | - ...this.batchFeeCycleInfo.fee, | |
| 118 | - tempCycle: this.batchFeeCycleInfo.tempCycle, | |
| 119 | - cycles: this.batchFeeCycleInfo.cycles, | |
| 120 | - custEndTime: this.batchFeeCycleInfo.custEndTime, | |
| 121 | - receivedAmount: this.batchFeeCycleInfo.receivedAmount | |
| 122 | - } | |
| 123 | 70 | |
| 124 | - this.$emit('changeMonth', updatedFee) | |
| 71 | + this.$emit('changeMonth', this.batchFeeCycleInfo) | |
| 125 | 72 | this.handleClose() |
| 126 | 73 | } |
| 127 | 74 | } | ... | ... |
src/components/fee/simplifyFeeReceipt.vue
| 1 | 1 | <template> |
| 2 | 2 | <div> |
| 3 | - <el-row class="margin-top-lg"> | |
| 4 | - <el-col :span="4" class="padding-right-xs padding-left-xl"> | |
| 5 | - <el-select v-model="simplifyFeeReceiptInfo.objType" size="small" @change="_changeSimplifyFeeReceiptFeeTypeCd" | |
| 6 | - :placeholder="$t('simplifyFeeReceipt.selectFeeType')"> | |
| 7 | - <el-option v-for="(item, index) in simplifyFeeReceiptInfo.objTypes" :key="index" :label="item.name" | |
| 8 | - :value="item.statusCd"></el-option> | |
| 9 | - </el-select> | |
| 10 | - </el-col> | |
| 11 | - <el-col :span="4" class="padding-right-xs padding-left-xl" v-if="simplifyFeeReceiptInfo.objType == '6666'"> | |
| 12 | - <el-select v-model="simplifyFeeReceiptInfo.carId" size="small" @change="changeSimplifyFeeReceiptCar" | |
| 13 | - :placeholder="$t('simplifyFeeReceipt.selectCar')"> | |
| 14 | - <el-option v-for="(item, index) in simplifyFeeReceiptInfo.ownerCars" :key="index" :label="item.carNum" | |
| 15 | - :value="item.carId"></el-option> | |
| 16 | - </el-select> | |
| 17 | - </el-col> | |
| 18 | - <el-col :span="4" class="padding-right-xs padding-left-xl" v-else-if="simplifyFeeReceiptInfo.objType == '7777'"> | |
| 19 | - <el-select v-model="simplifyFeeReceiptInfo.contractId" size="small" @change="changeSimplifyFeeReceiptCar" | |
| 20 | - :placeholder="$t('simplifyFeeReceipt.selectContract')"> | |
| 21 | - <el-option v-for="(item, index) in simplifyFeeReceiptInfo.ownerContracts" :key="index" | |
| 22 | - :label="item.contractCode" :value="item.contractId"></el-option> | |
| 23 | - </el-select> | |
| 24 | - </el-col> | |
| 25 | - <el-col :span="4" class="padding-right-xs padding-left-xl" v-if="simplifyFeeReceiptInfo.objType != '7777'"> | |
| 26 | - <el-select v-model="simplifyFeeReceiptInfo.ownerFlag" size="small" @change="_queryFeeReceiptMethod"> | |
| 27 | - <el-option | |
| 28 | - :label="$t('simplifyFeeReceipt.current') + (simplifyFeeReceiptInfo.objType == '6666' ? $t('simplifyFeeReceipt.car') : $t('simplifyFeeReceipt.room'))" | |
| 29 | - value="F"></el-option> | |
| 30 | - <el-option | |
| 31 | - :label="$t('simplifyFeeReceipt.all') + (simplifyFeeReceiptInfo.objType == '6666' ? $t('simplifyFeeReceipt.car') : $t('simplifyFeeReceipt.room'))" | |
| 32 | - value="T"></el-option> | |
| 33 | - </el-select> | |
| 34 | - </el-col> | |
| 35 | - <el-col :span="4" class="padding-right-xs padding-left-xl"> | |
| 36 | - <el-input v-model="simplifyFeeReceiptInfo.receiptCode" size="small" | |
| 37 | - :placeholder="$t('simplifyFeeReceipt.receiptCode')"></el-input> | |
| 38 | - </el-col> | |
| 39 | - <el-col :span="4" class="padding-right-xs padding-left-xl"> | |
| 40 | - <el-button type="primary" size="small" @click="_queryFeeReceiptMethod"> | |
| 41 | - {{ $t('simplifyFeeReceipt.query') }} | |
| 42 | - </el-button> | |
| 43 | - </el-col> | |
| 44 | - <el-col :span="8" class="text-right padding-right-lg"> | |
| 3 | + <div class="margin-top-lg flex justify-between"> | |
| 4 | + <div class="flex justify-start"> | |
| 5 | + <div :span="3" class="padding-right-xs padding-left-xl"> | |
| 6 | + <el-select v-model="simplifyFeeReceiptInfo.objType" size="small" @change="_changeSimplifyFeeReceiptFeeTypeCd" | |
| 7 | + :placeholder="$t('simplifyFeeReceipt.selectFeeType')"> | |
| 8 | + <el-option v-for="(item, index) in simplifyFeeReceiptInfo.objTypes" :key="index" :label="item.name" | |
| 9 | + :value="item.statusCd"></el-option> | |
| 10 | + </el-select> | |
| 11 | + </div> | |
| 12 | + <div :span="3" class="padding-right-xs padding-left-xl" v-if="simplifyFeeReceiptInfo.objType == '6666'"> | |
| 13 | + <el-select v-model="simplifyFeeReceiptInfo.carId" size="small" @change="changeSimplifyFeeReceiptCar" | |
| 14 | + :placeholder="$t('simplifyFeeReceipt.selectCar')"> | |
| 15 | + <el-option v-for="(item, index) in simplifyFeeReceiptInfo.ownerCars" :key="index" :label="item.carNum" | |
| 16 | + :value="item.carId"></el-option> | |
| 17 | + </el-select> | |
| 18 | + </div> | |
| 19 | + <div :span="3" class="padding-right-xs padding-left-xl" v-else-if="simplifyFeeReceiptInfo.objType == '7777'"> | |
| 20 | + <el-select v-model="simplifyFeeReceiptInfo.contractId" size="small" @change="changeSimplifyFeeReceiptCar" | |
| 21 | + :placeholder="$t('simplifyFeeReceipt.selectContract')"> | |
| 22 | + <el-option v-for="(item, index) in simplifyFeeReceiptInfo.ownerContracts" :key="index" | |
| 23 | + :label="item.contractCode" :value="item.contractId"></el-option> | |
| 24 | + </el-select> | |
| 25 | + </div> | |
| 26 | + <div :span="3" class="padding-right-xs padding-left-xl" v-if="simplifyFeeReceiptInfo.objType != '7777'"> | |
| 27 | + <el-select v-model="simplifyFeeReceiptInfo.ownerFlag" size="small" @change="_queryFeeReceiptMethod"> | |
| 28 | + <el-option | |
| 29 | + :label="$t('simplifyFeeReceipt.current') + (simplifyFeeReceiptInfo.objType == '6666' ? $t('simplifyFeeReceipt.car') : $t('simplifyFeeReceipt.room'))" | |
| 30 | + value="F"></el-option> | |
| 31 | + <el-option | |
| 32 | + :label="$t('simplifyFeeReceipt.all') + (simplifyFeeReceiptInfo.objType == '6666' ? $t('simplifyFeeReceipt.car') : $t('simplifyFeeReceipt.room'))" | |
| 33 | + value="T"></el-option> | |
| 34 | + </el-select> | |
| 35 | + </div> | |
| 36 | + <div :span="3" class="padding-right-xs padding-left-xl"> | |
| 37 | + <el-input v-model="simplifyFeeReceiptInfo.receiptCode" size="small" | |
| 38 | + :placeholder="$t('simplifyFeeReceipt.receiptCode')"></el-input> | |
| 39 | + </div> | |
| 40 | + <div :span="2" class="padding-right-xs padding-left-xl"> | |
| 41 | + <el-button type="primary" size="small" @click="_queryFeeReceiptMethod"> | |
| 42 | + {{ $t('simplifyFeeReceipt.query') }} | |
| 43 | + </el-button> | |
| 44 | + </div> | |
| 45 | + </div> | |
| 46 | + <div :span="8" class="text-right padding-right-lg"> | |
| 45 | 47 | <el-button type="primary" size="small" @click="_printFeeReceipt('OFF')"> |
| 46 | 48 | {{ $t('simplifyFeeReceipt.print') }} |
| 47 | 49 | </el-button> |
| ... | ... | @@ -54,11 +56,11 @@ |
| 54 | 56 | <el-button type="primary" size="small" @click="_printApplyFeeReceipt"> |
| 55 | 57 | {{ $t('simplifyFeeReceipt.apply') }} |
| 56 | 58 | </el-button> |
| 57 | - </el-col> | |
| 58 | - </el-row> | |
| 59 | + </div> | |
| 60 | + </div> | |
| 59 | 61 | <div class="margin-top"> |
| 60 | 62 | <el-table :data="simplifyFeeReceiptInfo.feeReceipts" @selection-change="handleSelectionChange" border stripe> |
| 61 | - <el-table-column type="selection" width="55" align="center" ></el-table-column> | |
| 63 | + <el-table-column type="selection" width="55" align="center"></el-table-column> | |
| 62 | 64 | <el-table-column prop="receiptCode" :label="$t('simplifyFeeReceipt.receiptCode')" |
| 63 | 65 | align="center"></el-table-column> |
| 64 | 66 | <el-table-column :label="$t('simplifyFeeReceipt.feeType')" align="center"> |
| ... | ... | @@ -143,12 +145,14 @@ export default { |
| 143 | 145 | } |
| 144 | 146 | }, |
| 145 | 147 | created() { |
| 146 | - this._loadDictData() | |
| 147 | 148 | }, |
| 148 | 149 | methods: { |
| 149 | 150 | handleSwitch(param) { |
| 150 | 151 | if (param.roomId === '') return |
| 152 | + | |
| 151 | 153 | this.clearSimplifyFeeReceiptInfo() |
| 154 | + this._loadDictData() | |
| 155 | + | |
| 152 | 156 | this._listFeePrintPages() |
| 153 | 157 | Object.assign(this.simplifyFeeReceiptInfo, param) |
| 154 | 158 | this.simplifyFeeReceiptInfo.objId = param.roomId | ... | ... |
src/components/org/ChooseOrgTree.vue
src/components/room/selectRooms.vue
| ... | ... | @@ -110,6 +110,10 @@ export default { |
| 110 | 110 | } |
| 111 | 111 | const res = await queryRooms(params) |
| 112 | 112 | this.rooms = res.rooms |
| 113 | + this.rooms.forEach(item => { | |
| 114 | + this.roomIds.push(item) | |
| 115 | + }); | |
| 116 | + this.handleRoomSelect() | |
| 113 | 117 | } catch (error) { |
| 114 | 118 | this.$message.error(this.$t('selectRoom.loadRoomError')) |
| 115 | 119 | } | ... | ... |
src/components/simplify/simplifyCarFee.vue
| 1 | 1 | <template> |
| 2 | 2 | <div> |
| 3 | - <el-row class="margin-top"> | |
| 4 | - <el-col :span="4"> | |
| 3 | + <div class="margin-top flex justify-between"> | |
| 4 | + <div > | |
| 5 | 5 | <el-select v-model="simplifyCarFeeInfo.carId" @change="changeSimplifyCar"> |
| 6 | 6 | <el-option |
| 7 | 7 | v-for="(item,index) in simplifyCarFeeInfo.ownerCars" |
| ... | ... | @@ -10,9 +10,8 @@ |
| 10 | 10 | :value="item.carId"> |
| 11 | 11 | </el-option> |
| 12 | 12 | </el-select> |
| 13 | - </el-col> | |
| 14 | - <el-col :span="16"></el-col> | |
| 15 | - <el-col :span="4" v-if="simplifyCarFeeInfo.carId"> | |
| 13 | + </div> | |
| 14 | + <div v-if="simplifyCarFeeInfo.carId"> | |
| 16 | 15 | <el-button type="primary" size="small" @click="_toBuyCarMonthCard"> |
| 17 | 16 | {{ $t('simplifyCarFee.buyMonthCard') }} |
| 18 | 17 | </el-button> |
| ... | ... | @@ -22,8 +21,8 @@ |
| 22 | 21 | <el-button type="primary" size="small" @click="_openSimplifyCarCreateFeeAddModal"> |
| 23 | 22 | {{ $t('simplifyCarFee.createFee') }} |
| 24 | 23 | </el-button> |
| 25 | - </el-col> | |
| 26 | - </el-row> | |
| 24 | + </div> | |
| 25 | + </div> | |
| 27 | 26 | |
| 28 | 27 | <el-table |
| 29 | 28 | :data="simplifyCarFeeInfo.fees" |
| ... | ... | @@ -115,12 +114,22 @@ |
| 115 | 114 | </el-pagination> |
| 116 | 115 | </el-col> |
| 117 | 116 | </el-row> |
| 117 | + <car-create-fee-add ref="carCreateFeeAdd" @success="handleNotify" /> | |
| 118 | + <delete-fee ref="deleteFee" @success="handleNotify"></delete-fee> | |
| 119 | + <edit-fee ref="editFee" @success="handleNotify"></edit-fee> | |
| 120 | + <finish-fee ref="finishFee" @success="handleNotify"></finish-fee> | |
| 121 | + | |
| 118 | 122 | </div> |
| 119 | 123 | </template> |
| 120 | 124 | |
| 121 | 125 | <script> |
| 122 | 126 | import { getCommunityId } from '@/api/community/communityApi' |
| 123 | 127 | import { listFee, queryOwnerCars } from '@/api/simplify/simplifyCarFeeApi' |
| 128 | +import CarCreateFeeAdd from '@/components/fee/carCreateFeeAdd' | |
| 129 | +import DeleteFee from '@/components/fee/deleteFee' | |
| 130 | +import EditFee from '@/components/fee/editFee' | |
| 131 | +import FinishFee from '@/components/fee/finishFee' | |
| 132 | + | |
| 124 | 133 | |
| 125 | 134 | export default { |
| 126 | 135 | name: 'SimplifyCarFee', |
| ... | ... | @@ -145,14 +154,20 @@ export default { |
| 145 | 154 | total: 0 |
| 146 | 155 | } |
| 147 | 156 | }, |
| 157 | + components: { | |
| 158 | + CarCreateFeeAdd, | |
| 159 | + DeleteFee, | |
| 160 | + EditFee, | |
| 161 | + FinishFee | |
| 162 | + }, | |
| 148 | 163 | created() { |
| 149 | 164 | this.communityId = getCommunityId() |
| 150 | - this.initEvents() | |
| 165 | + | |
| 151 | 166 | }, |
| 152 | 167 | methods: { |
| 153 | - initEvents() { | |
| 154 | - this.$on('switch', this.handleSwitch) | |
| 155 | - this.$on('notify', this.handleNotify) | |
| 168 | + | |
| 169 | + open(param) { | |
| 170 | + this.handleSwitch(param) | |
| 156 | 171 | }, |
| 157 | 172 | handleSwitch(param) { |
| 158 | 173 | if (param.ownerId == '') return |
| ... | ... | @@ -204,13 +219,14 @@ export default { |
| 204 | 219 | } |
| 205 | 220 | |
| 206 | 221 | queryOwnerCars(params).then(res => { |
| 207 | - this.simplifyCarFeeInfo.ownerCars = res.data | |
| 208 | - if (res.data.length > 0) { | |
| 209 | - this.simplifyCarFeeInfo.carId = res.data[0].carId | |
| 210 | - this.simplifyCarFeeInfo.carNum = res.data[0].carNum | |
| 211 | - this.simplifyCarFeeInfo.num = res.data[0].num | |
| 212 | - this.simplifyCarFeeInfo.parkingName = `${res.data[0].areaNum}${this.$t('simplifyCarFee.parkingLot')}${res.data[0].num}${this.$t('simplifyCarFee.parkingSpace')}` | |
| 213 | - resolve(res.data) | |
| 222 | + let _json = res.data; | |
| 223 | + this.simplifyCarFeeInfo.ownerCars = _json.data | |
| 224 | + if (_json.data.length > 0) { | |
| 225 | + this.simplifyCarFeeInfo.carId = _json.data[0].carId | |
| 226 | + this.simplifyCarFeeInfo.carNum = _json.data[0].carNum | |
| 227 | + this.simplifyCarFeeInfo.num = _json.data[0].num | |
| 228 | + this.simplifyCarFeeInfo.parkingName = `${_json.data[0].areaNum}${this.$t('simplifyCarFee.parkingLot')}${_json.data[0].num}${this.$t('simplifyCarFee.parkingSpace')}` | |
| 229 | + resolve(_json.data) | |
| 214 | 230 | } else { |
| 215 | 231 | reject(this.$t('simplifyCarFee.noParkingSpace')) |
| 216 | 232 | } |
| ... | ... | @@ -262,37 +278,39 @@ export default { |
| 262 | 278 | return `${this.$t('simplifyCarFee.owner')}:${ownerName},${this.$t('simplifyCarFee.phone')}:${ownerLink}` |
| 263 | 279 | }, |
| 264 | 280 | _simplifyCarPayFee(fee) { |
| 265 | - this.$router.push(`/views/fee/payFeeOrderfeeId=${fee.feeId}`) | |
| 281 | + this.$router.push(`/views/fee/payFeeOrder?feeId=${fee.feeId}`) | |
| 266 | 282 | }, |
| 267 | 283 | _simplifyCarPayFeeHis(fee) { |
| 268 | - this.$router.push(`/views/fee/propertyFee?${this.objToGetParam(fee)}`) | |
| 284 | + | |
| 285 | + this.$router.push({ | |
| 286 | + path: '/views/fee/propertyFee', | |
| 287 | + query: fee | |
| 288 | + }) | |
| 269 | 289 | }, |
| 270 | 290 | _simplifyCarEditFee(fee) { |
| 271 | - this.$emit('editFee', fee) | |
| 291 | + fee.maxEndTime = this._getAttrValue(fee.feeAttrs, '390010') | |
| 292 | + this.$refs.editFee.open(fee) | |
| 272 | 293 | }, |
| 273 | 294 | _simplifyCarDeleteFee(fee) { |
| 274 | - this.$emit('deleteFee', { | |
| 275 | - communityId: this.communityId, | |
| 295 | + this.$refs.deleteFee.open({ | |
| 296 | + communityId: getCommunityId(), | |
| 276 | 297 | feeId: fee.feeId |
| 277 | 298 | }) |
| 278 | 299 | }, |
| 279 | 300 | _openSimplifyCarCreateFeeAddModal() { |
| 280 | - this.$emit('carCreateFeeAdd', { | |
| 281 | - isMore: false, | |
| 282 | - car: this.simplifyCarFeeInfo | |
| 283 | - }) | |
| 301 | + this.$refs.carCreateFeeAdd.open({ isMore: false, car: this.simplifyCarFeeInfo }) | |
| 284 | 302 | }, |
| 285 | 303 | _simplifyCarFinishFee(fee) { |
| 286 | - this.$emit('finishFee', { | |
| 287 | - communityId: this.communityId, | |
| 304 | + this.$refs.finishFee.open({ | |
| 305 | + communityId: getCommunityId(), | |
| 288 | 306 | feeId: fee.feeId |
| 289 | 307 | }) |
| 290 | 308 | }, |
| 291 | 309 | _toBuyCarMonthCard() { |
| 292 | - this.$router.push(`/pages/fee/buyCarMonthCard?carNum=${this.simplifyCarFeeInfo.carNum}`) | |
| 310 | + this.$router.push(`/views/fee/buyCarMonthCard?carNum=${this.simplifyCarFeeInfo.carNum}`) | |
| 293 | 311 | }, |
| 294 | 312 | _openBatchPayCarFeeModal() { |
| 295 | - this.$router.push(`/pages/property/batchPayFeeOrder?ownerId=${this.simplifyCarFeeInfo.ownerId}&payerObjType=6666`) | |
| 313 | + this.$router.push(`/views/fee/batchPayFeeOrder?ownerId=${this.simplifyCarFeeInfo.ownerId}&payerObjType=6666`) | |
| 296 | 314 | }, |
| 297 | 315 | _viewCarFeeConfig(fee) { |
| 298 | 316 | // Implement view fee config logic | ... | ... |
src/components/staff/selectStaffsDiv.vue
| ... | ... | @@ -64,10 +64,10 @@ export default { |
| 64 | 64 | }, |
| 65 | 65 | |
| 66 | 66 | async handleNodeClick(node) { |
| 67 | - this.currentOrgId = node.id | |
| 67 | + this.currentOrgId = node.orgId | |
| 68 | 68 | try { |
| 69 | 69 | const { staffs } = await listStaffsByOrgId({ |
| 70 | - orgId: node.id, | |
| 70 | + orgId: node.orgId, | |
| 71 | 71 | page: 1, |
| 72 | 72 | row: 100 |
| 73 | 73 | }) | ... | ... |
src/i18n/commonLang.js
| ... | ... | @@ -60,7 +60,9 @@ export const messages = { |
| 60 | 60 | saveSuccess:'successfully', |
| 61 | 61 | noData:'No Data', |
| 62 | 62 | file:'File', |
| 63 | - hide:'Hide' | |
| 63 | + hide:'Hide', | |
| 64 | + viewDetail:'View Detail', | |
| 65 | + yuan:'yuan' | |
| 64 | 66 | } |
| 65 | 67 | }, |
| 66 | 68 | zh: { |
| ... | ... | @@ -124,7 +126,9 @@ export const messages = { |
| 124 | 126 | saveSuccess:'成功', |
| 125 | 127 | noData:'暂无数据', |
| 126 | 128 | file:'附件', |
| 127 | - hide:'隐藏' | |
| 129 | + hide:'隐藏', | |
| 130 | + viewDetail:'查看详情', | |
| 131 | + yuan:'元' | |
| 128 | 132 | } |
| 129 | 133 | } |
| 130 | 134 | } |
| 131 | 135 | \ No newline at end of file | ... | ... |
src/i18n/feeI18n.js
| ... | ... | @@ -36,6 +36,7 @@ import { messages as feeDetailMessages } from '../views/fee/feeDetailLang' |
| 36 | 36 | import { messages as roomCreatePayFeeMessages } from '../views/fee/roomCreatePayFeeLang' |
| 37 | 37 | import { messages as printAccountReceiptMessages } from '../views/account/printAccountReceiptLang' |
| 38 | 38 | import { messages as printSmallAccountReceiptMessages } from '../views/account/printSmallAccountReceiptLang' |
| 39 | +import { messages as listApplyRoomDiscountRecordDetailsMessages } from '../views/fee/listApplyRoomDiscountRecordDetailsLang' | |
| 39 | 40 | |
| 40 | 41 | export const messages = { |
| 41 | 42 | en: { |
| ... | ... | @@ -77,6 +78,7 @@ export const messages = { |
| 77 | 78 | ...roomCreatePayFeeMessages.en, |
| 78 | 79 | ...printAccountReceiptMessages.en, |
| 79 | 80 | ...printSmallAccountReceiptMessages.en, |
| 81 | + ...listApplyRoomDiscountRecordDetailsMessages.en, | |
| 80 | 82 | }, |
| 81 | 83 | zh: { |
| 82 | 84 | ...contractCreateFeeMessages.zh, |
| ... | ... | @@ -117,5 +119,6 @@ export const messages = { |
| 117 | 119 | ...roomCreatePayFeeMessages.zh, |
| 118 | 120 | ...printAccountReceiptMessages.zh, |
| 119 | 121 | ...printSmallAccountReceiptMessages.zh, |
| 122 | + ...listApplyRoomDiscountRecordDetailsMessages.zh, | |
| 120 | 123 | } |
| 121 | 124 | } |
| 122 | 125 | \ No newline at end of file | ... | ... |
src/router/feeRouter.js
| ... | ... | @@ -164,6 +164,11 @@ export default [ |
| 164 | 164 | name: '/pages/fee/roomCreatePayFee', |
| 165 | 165 | component: () => import('@/views/fee/roomCreatePayFeeList.vue') |
| 166 | 166 | }, |
| 167 | + { | |
| 168 | + path:'/views/fee/listApplyRoomDiscountRecordDetails', | |
| 169 | + name:'/views/fee/listApplyRoomDiscountRecordDetails', | |
| 170 | + component: () => import('@/views/fee/listApplyRoomDiscountRecordDetailsList.vue') | |
| 171 | + }, | |
| 167 | 172 | |
| 168 | 173 | |
| 169 | 174 | ] |
| 170 | 175 | \ No newline at end of file | ... | ... |
src/views/car/parkingBoxManageList.vue
| ... | ... | @@ -93,6 +93,7 @@ |
| 93 | 93 | |
| 94 | 94 | <script> |
| 95 | 95 | import { getParkingBoxList } from '@/api/car/parkingBoxManageApi' |
| 96 | +import {jumpToIot} from '@/api/user/menuApi.js' | |
| 96 | 97 | |
| 97 | 98 | export default { |
| 98 | 99 | name: 'ParkingBoxManageList', |
| ... | ... | @@ -182,13 +183,8 @@ export default { |
| 182 | 183 | |
| 183 | 184 | handleOpenConsole(row) { |
| 184 | 185 | // 跳转到控制台页面 |
| 185 | - this.$router.push({ | |
| 186 | - path: '/car/parkingAreaControl', | |
| 187 | - query: { | |
| 188 | - boxId: row.boxId, | |
| 189 | - paId: row.paId | |
| 190 | - } | |
| 191 | - }) | |
| 186 | + jumpToIot(`/#/pages/car/parkingAreaControl?paId=${row.paId}&boxId=${row.boxId}`) | |
| 187 | + | |
| 192 | 188 | } |
| 193 | 189 | } |
| 194 | 190 | } | ... | ... |
src/views/car/tempCarPaymentList.vue
| ... | ... | @@ -6,7 +6,7 @@ |
| 6 | 6 | <div class="treeview"> |
| 7 | 7 | <ul class="list-group"> |
| 8 | 8 | <li v-for="(item, index) in parkingAreas" :key="index" class="list-group-item" |
| 9 | - :class="{ 'vc-node-selected': conditions.paId === item.paId }" @click="handleSwitchParkingArea(item)"> | |
| 9 | + :class="{ 'vc-node-selected': conditions.paNum === item.num }" @click="handleSwitchParkingArea(item)"> | |
| 10 | 10 | {{ item.num }} |
| 11 | 11 | </li> |
| 12 | 12 | </ul> |
| ... | ... | @@ -106,7 +106,7 @@ export default { |
| 106 | 106 | total: 0 |
| 107 | 107 | }, |
| 108 | 108 | conditions: { |
| 109 | - paId: '', | |
| 109 | + paNum: '', | |
| 110 | 110 | state: null, |
| 111 | 111 | carNum: '', |
| 112 | 112 | startTime: null, |
| ... | ... | @@ -139,7 +139,7 @@ export default { |
| 139 | 139 | }, |
| 140 | 140 | |
| 141 | 141 | handleSwitchParkingArea(parkingArea) { |
| 142 | - this.conditions.paId = parkingArea.paId | |
| 142 | + this.conditions.paNum = parkingArea.num | |
| 143 | 143 | this.queryCarInoutMethod() |
| 144 | 144 | }, |
| 145 | 145 | ... | ... |
src/views/common/commonLang.js deleted
src/views/fee/batchPayFeeOrderList.vue
| ... | ... | @@ -106,7 +106,7 @@ |
| 106 | 106 | </el-row> |
| 107 | 107 | |
| 108 | 108 | <batch-pay-confirm ref="batchPayConfirm"></batch-pay-confirm> |
| 109 | - <batch-fee-cycle ref="batchFeeCycle"></batch-fee-cycle> | |
| 109 | + <batch-fee-cycle ref="batchFeeCycle" @changeMonth="batchChangeMonth"></batch-fee-cycle> | |
| 110 | 110 | </div> |
| 111 | 111 | </template> |
| 112 | 112 | |
| ... | ... | @@ -459,6 +459,9 @@ export default { |
| 459 | 459 | }) |
| 460 | 460 | } |
| 461 | 461 | this._doComputeTotalFee(); |
| 462 | + }, | |
| 463 | + batchChangeMonth(fee) { | |
| 464 | + this._changeMonth(fee.cycle, fee) | |
| 462 | 465 | } |
| 463 | 466 | } |
| 464 | 467 | } | ... | ... |
src/views/fee/buyCarMonthCardList.vue
| ... | ... | @@ -164,7 +164,7 @@ export default { |
| 164 | 164 | } |
| 165 | 165 | |
| 166 | 166 | const res = await getOpenApi(params) |
| 167 | - this.buyCarMonthCardInfo.cards = res.data.data || [] | |
| 167 | + this.buyCarMonthCardInfo.cards = res.data || [] | |
| 168 | 168 | } catch (error) { |
| 169 | 169 | console.error('获取月卡列表失败:', error) |
| 170 | 170 | this.$message.error(this.$t('buyCarMonthCard.errors.getCardsFailed')) | ... | ... |
src/views/fee/listApplyRoomDiscountRecordDetailsLang.js
0 → 100644
| 1 | +export const messages = { | |
| 2 | + en: { | |
| 3 | + listApplyRoomDiscountRecordDetails: { | |
| 4 | + title: 'Decoration Records', | |
| 5 | + back: 'Back', | |
| 6 | + room: 'Room', | |
| 7 | + image: 'Image/Video', | |
| 8 | + createTime: 'Create Time' | |
| 9 | + } | |
| 10 | + }, | |
| 11 | + zh: { | |
| 12 | + listApplyRoomDiscountRecordDetails: { | |
| 13 | + title: '装修记录', | |
| 14 | + back: '返回', | |
| 15 | + room: '房屋', | |
| 16 | + image: '图片/视频', | |
| 17 | + createTime: '创建时间' | |
| 18 | + } | |
| 19 | + } | |
| 20 | +} | |
| 0 | 21 | \ No newline at end of file | ... | ... |
src/views/fee/listApplyRoomDiscountRecordDetailsList.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div class="listApplyRoomDiscountRecordDetails-container"> | |
| 3 | + <el-card class="box-card"> | |
| 4 | + <div slot="header" class="clearfix"> | |
| 5 | + <span>{{ applyRoomDiscountRecordDetailsInfo.conditions.roomName }} {{ | |
| 6 | + $t('listApplyRoomDiscountRecordDetails.title') }}</span> | |
| 7 | + <el-button type="primary" size="small" style="float: right;" @click="_goBack"> | |
| 8 | + <i class="el-icon-close"></i> | |
| 9 | + {{ $t('listApplyRoomDiscountRecordDetails.back') }} | |
| 10 | + </el-button> | |
| 11 | + </div> | |
| 12 | + | |
| 13 | + <el-table :data="applyRoomDiscountRecordDetailsInfo.applyRoomDiscountRecordDetails" border style="width: 100%"> | |
| 14 | + <el-table-column prop="roomName" :label="$t('listApplyRoomDiscountRecordDetails.room')" align="center" /> | |
| 15 | + <el-table-column :label="$t('listApplyRoomDiscountRecordDetails.image')" align="center"> | |
| 16 | + <template slot-scope="scope"> | |
| 17 | + <div v-if="scope.row.relTypeCd === '19000'" style="position: relative; display: inline-block;" | |
| 18 | + @click="showImg(scope.row.url)"> | |
| 19 | + <img width="50" height="50" :src="scope.row.url" @error="handleImageError"> | |
| 20 | + <img src="/img/icon-bigimg.png" style="position: absolute; right: 0; bottom: 0;" width="50" height="50" | |
| 21 | + alt=""> | |
| 22 | + </div> | |
| 23 | + <video v-else-if="scope.row.relTypeCd === '21000'" width="200" height="200" controls autoplay> | |
| 24 | + <source :src="scope.row.url" type="video/mp4"> | |
| 25 | + </video> | |
| 26 | + </template> | |
| 27 | + </el-table-column> | |
| 28 | + <el-table-column prop="createTime" :label="$t('listApplyRoomDiscountRecordDetails.createTime')" | |
| 29 | + align="center" /> | |
| 30 | + </el-table> | |
| 31 | + | |
| 32 | + <el-pagination :current-page.sync="pagination.current" :page-sizes="[10, 20, 30, 50]" :page-size="pagination.size" | |
| 33 | + :total="pagination.total" layout="total, sizes, prev, pager, next, jumper" @size-change="handleSizeChange" | |
| 34 | + @current-change="handleCurrentChange" /> | |
| 35 | + </el-card> | |
| 36 | + | |
| 37 | + <view-image ref="viewImage" /> | |
| 38 | + </div> | |
| 39 | +</template> | |
| 40 | + | |
| 41 | +<script> | |
| 42 | +import { queryApplyRoomDiscountRecordDetail } from '@/api/fee/listApplyRoomDiscountRecordDetailsApi' | |
| 43 | +import { getCommunityId } from '@/api/community/communityApi' | |
| 44 | +import ViewImage from '@/components/system/viewImage' | |
| 45 | + | |
| 46 | +export default { | |
| 47 | + name: 'ListApplyRoomDiscountRecordDetails', | |
| 48 | + components: { | |
| 49 | + ViewImage | |
| 50 | + }, | |
| 51 | + data() { | |
| 52 | + return { | |
| 53 | + applyRoomDiscountRecordDetailsInfo: { | |
| 54 | + applyRoomDiscountRecordDetails: [], | |
| 55 | + conditions: { | |
| 56 | + ardrId: '', | |
| 57 | + roomName: '', | |
| 58 | + state: '', | |
| 59 | + roomId: '', | |
| 60 | + communityId: '' | |
| 61 | + } | |
| 62 | + }, | |
| 63 | + pagination: { | |
| 64 | + current: 1, | |
| 65 | + size: 10, | |
| 66 | + total: 0 | |
| 67 | + } | |
| 68 | + } | |
| 69 | + }, | |
| 70 | + created() { | |
| 71 | + this.applyRoomDiscountRecordDetailsInfo.conditions.ardrId = this.$route.query.ardrId | |
| 72 | + this.applyRoomDiscountRecordDetailsInfo.conditions.roomName = this.$route.query.roomName | |
| 73 | + this.applyRoomDiscountRecordDetailsInfo.conditions.state = this.$route.query.state | |
| 74 | + this.applyRoomDiscountRecordDetailsInfo.conditions.communityId = getCommunityId() | |
| 75 | + this._listApplyRoomDiscountRecordDetails() | |
| 76 | + }, | |
| 77 | + methods: { | |
| 78 | + async _listApplyRoomDiscountRecordDetails() { | |
| 79 | + try { | |
| 80 | + const params = { | |
| 81 | + page: this.pagination.current, | |
| 82 | + row: this.pagination.size, | |
| 83 | + ...this.applyRoomDiscountRecordDetailsInfo.conditions | |
| 84 | + } | |
| 85 | + const { data, total } = await queryApplyRoomDiscountRecordDetail(params) | |
| 86 | + this.applyRoomDiscountRecordDetailsInfo.applyRoomDiscountRecordDetails = data | |
| 87 | + this.pagination.total = total | |
| 88 | + } catch (error) { | |
| 89 | + console.error('Failed to fetch apply room discount record details:', error) | |
| 90 | + } | |
| 91 | + }, | |
| 92 | + handleSizeChange(val) { | |
| 93 | + this.pagination.size = val | |
| 94 | + this._listApplyRoomDiscountRecordDetails() | |
| 95 | + }, | |
| 96 | + handleCurrentChange(val) { | |
| 97 | + this.pagination.current = val | |
| 98 | + this._listApplyRoomDiscountRecordDetails() | |
| 99 | + }, | |
| 100 | + _goBack() { | |
| 101 | + this.$router.go(-1) | |
| 102 | + }, | |
| 103 | + showImg(url) { | |
| 104 | + this.$refs.viewImage.open(url) | |
| 105 | + }, | |
| 106 | + handleImageError(e) { | |
| 107 | + e.target.src = '/img/noPhoto.jpg' | |
| 108 | + } | |
| 109 | + } | |
| 110 | +} | |
| 111 | +</script> | |
| 112 | + | |
| 113 | +<style lang="scss" scoped> | |
| 114 | +.listApplyRoomDiscountRecordDetails-container { | |
| 115 | + padding: 20px; | |
| 116 | + | |
| 117 | + .box-card { | |
| 118 | + margin-bottom: 20px; | |
| 119 | + } | |
| 120 | + | |
| 121 | + .el-pagination { | |
| 122 | + margin-top: 20px; | |
| 123 | + text-align: right; | |
| 124 | + } | |
| 125 | +} | |
| 126 | +</style> | |
| 0 | 127 | \ No newline at end of file | ... | ... |
src/views/fee/listApplyRoomDiscountRecordList.vue
| ... | ... | @@ -3,8 +3,10 @@ |
| 3 | 3 | <el-card class="box-card"> |
| 4 | 4 | <div slot="header" class="clearfix"> |
| 5 | 5 | <div class="card-header"> |
| 6 | - <span>{{ listApplyRoomDiscountRecordsInfo.conditions.roomName }}</span> | |
| 7 | - <span class="header-title">{{ $t('listApplyRoomDiscountRecord.title') }}</span> | |
| 6 | + <div> | |
| 7 | + <span>{{ listApplyRoomDiscountRecordsInfo.conditions.roomName }}</span> | |
| 8 | + <span class="header-title">{{ $t('listApplyRoomDiscountRecord.title') }}</span> | |
| 9 | + </div> | |
| 8 | 10 | <div class="header-tools"> |
| 9 | 11 | <el-button type="primary" size="small" @click="_openAddModal(listApplyRoomDiscountRecordsInfo.applyRoomDiscount)"> |
| 10 | 12 | <i class="el-icon-plus"></i> |
| ... | ... | @@ -35,7 +37,7 @@ |
| 35 | 37 | <template slot-scope="scope"> |
| 36 | 38 | <el-button-group> |
| 37 | 39 | <el-button size="mini" @click="_openApplyRoomDiscountRecordDetailsModel(scope.row)"> |
| 38 | - {{ $t('common.viewDetails') }} | |
| 40 | + {{ $t('common.viewDetail') }} | |
| 39 | 41 | </el-button> |
| 40 | 42 | <el-button size="mini" type="danger" @click="_openDeleteApplyRoomDiscountRecordModel(scope.row)"> |
| 41 | 43 | {{ $t('common.delete') }} | ... | ... |
src/views/fee/listOweFeeList.vue
| ... | ... | @@ -47,7 +47,7 @@ |
| 47 | 47 | <el-col :span="6"> |
| 48 | 48 | <el-select v-model="listOweFeeInfo.conditions.roomSubType" :placeholder="$t('listOweFee.search.roomType')" |
| 49 | 49 | style="width:100%"> |
| 50 | - <el-option :label="$t('common.selectRoomType')" value=""></el-option> | |
| 50 | + <el-option :label="$t('listOweFee.search.roomType')" value=""></el-option> | |
| 51 | 51 | <el-option v-for="(item, index) in listOweFeeInfo.roomSubTypes" :key="index" :label="item.name" |
| 52 | 52 | :value="item.statusCd"></el-option> |
| 53 | 53 | </el-select> |
| ... | ... | @@ -59,14 +59,14 @@ |
| 59 | 59 | <el-col :span="6"> |
| 60 | 60 | <el-select v-model="listOweFeeInfo.conditions.payObjType" :placeholder="$t('listOweFee.search.payObjType')" |
| 61 | 61 | style="width:100%"> |
| 62 | - <el-option :label="$t('common.selectPayObjType')" value=""></el-option> | |
| 62 | + <el-option :label="$t('listOweFee.search.payObjType')" value=""></el-option> | |
| 63 | 63 | <el-option v-for="(item, index) in listOweFeeInfo.payObjTypes" :key="index" :label="item.name" |
| 64 | 64 | :value="item.statusCd"></el-option> |
| 65 | 65 | </el-select> |
| 66 | 66 | </el-col> |
| 67 | 67 | </el-row> |
| 68 | 68 | |
| 69 | - <el-row v-show="listOweFeeInfo.moreCondition" :gutter="20"> | |
| 69 | + <el-row v-show="listOweFeeInfo.moreCondition" :gutter="20" class="margin-top"> | |
| 70 | 70 | <el-col v-if="listOweFeeInfo.conditions.payObjType === '3333'" :span="6"> |
| 71 | 71 | <el-input v-model.trim="listOweFeeInfo.conditions.num" |
| 72 | 72 | :placeholder="$t('listOweFee.search.roomNumFormat')"></el-input> |
| ... | ... | @@ -148,7 +148,7 @@ |
| 148 | 148 | <script> |
| 149 | 149 | import { getDict } from '@/api/community/communityApi' |
| 150 | 150 | import { getCommunityId } from '@/api/community/communityApi' |
| 151 | -import { queryReportOweFee, listFeeConfigs, exportData,queryUnits } from '@/api/fee/listOweFeeApi' | |
| 151 | +import { queryReportOweFee, listFeeConfigs, exportData, queryUnits } from '@/api/fee/listOweFeeApi' | |
| 152 | 152 | import SearchFloor from '@/components/fee/searchFloor' |
| 153 | 153 | |
| 154 | 154 | export default { | ... | ... |
src/views/oa/staffAttendanceManageList.vue
| ... | ... | @@ -16,9 +16,11 @@ |
| 16 | 16 | :placeholder="$t('staffAttendance.staffPlaceholder')" class="filter-item" |
| 17 | 17 | @keyup.enter.native="loadStaffs"></el-input> |
| 18 | 18 | |
| 19 | - <el-button type="primary" class="filter-item" @click="loadStaffs"> | |
| 20 | - {{ $t('common.search') }} | |
| 21 | - </el-button> | |
| 19 | + <div class="filter-item text-right"> | |
| 20 | + <el-button type="primary" @click="loadStaffs"> | |
| 21 | + {{ $t('common.search') }} | |
| 22 | + </el-button> | |
| 23 | + </div> | |
| 22 | 24 | </div> |
| 23 | 25 | |
| 24 | 26 | <div class="staff-list"> |
| ... | ... | @@ -71,7 +73,7 @@ |
| 71 | 73 | </el-row> |
| 72 | 74 | |
| 73 | 75 | <!-- 子组件 --> |
| 74 | - | |
| 76 | + | |
| 75 | 77 | <choose-org-tree ref="chooseOrgTree" @switchOrg="handleSwitchOrg"></choose-org-tree> |
| 76 | 78 | <staff-attendance-detail ref="staffAttendanceDetail"></staff-attendance-detail> |
| 77 | 79 | <staff-attendance-replenish-check-in ref="staffAttendanceReplenishCheckIn"></staff-attendance-replenish-check-in> |
| ... | ... | @@ -83,7 +85,7 @@ import { getCommunityId } from '@/api/community/communityApi' |
| 83 | 85 | import { |
| 84 | 86 | queryStaffInfos, |
| 85 | 87 | queryAttendanceClassesTask, |
| 86 | - | |
| 88 | + | |
| 87 | 89 | } from '@/api/oa/staffAttendanceManageApi' |
| 88 | 90 | import { dateFormat } from '@/utils/dateUtil' |
| 89 | 91 | import ChooseOrgTree from '@/components/org/ChooseOrgTree' |
| ... | ... | @@ -149,7 +151,7 @@ export default { |
| 149 | 151 | communityId: this.communityId |
| 150 | 152 | } |
| 151 | 153 | |
| 152 | - const { data } = await queryStaffInfos(params) | |
| 154 | + const data = await queryStaffInfos(params) | |
| 153 | 155 | this.staffAttendanceManageInfo.staffs = data.staffs || [] |
| 154 | 156 | |
| 155 | 157 | if (this.staffAttendanceManageInfo.staffs.length > 0) { | ... | ... |