Commit 0a41b92eb08e66d347f434f00daa147fc8a2d53d
1 parent
24d3590f
开发完成业务受理页面
Showing
37 changed files
with
3162 additions
and
5 deletions
src/api/fee/finishFeeApi.js
0 → 100644
| 1 | +import request from '@/utils/request' | ||
| 2 | + | ||
| 3 | +export function finishFee(data) { | ||
| 4 | + return new Promise((resolve, reject) => { | ||
| 5 | + request({ | ||
| 6 | + url: '/fee/finishFee', | ||
| 7 | + method: 'post', | ||
| 8 | + data | ||
| 9 | + }).then(response => { | ||
| 10 | + const res = response.data | ||
| 11 | + if (res.code === 0) { | ||
| 12 | + resolve(res) | ||
| 13 | + } else { | ||
| 14 | + reject(new Error(res.msg || '结束费用失败')) | ||
| 15 | + } | ||
| 16 | + }).catch(error => { | ||
| 17 | + reject(error) | ||
| 18 | + }) | ||
| 19 | + }) | ||
| 20 | +} | ||
| 0 | \ No newline at end of file | 21 | \ No newline at end of file |
src/api/simplify/simplifyAcceptanceApi.js
0 → 100644
| 1 | +import request from '@/utils/request' | ||
| 2 | + | ||
| 3 | +// 综合查询 | ||
| 4 | +export function comprehensiveQuery(params) { | ||
| 5 | + return new Promise((resolve, reject) => { | ||
| 6 | + request({ | ||
| 7 | + url: '/ownerApi/comprehensiveQuery', | ||
| 8 | + method: 'get', | ||
| 9 | + params | ||
| 10 | + }).then(response => { | ||
| 11 | + const res = response.data | ||
| 12 | + if (res.code == 0) { | ||
| 13 | + resolve(res) | ||
| 14 | + } else { | ||
| 15 | + reject(new Error(res.msg || '综合查询失败')) | ||
| 16 | + } | ||
| 17 | + }).catch(error => { | ||
| 18 | + reject(error) | ||
| 19 | + }) | ||
| 20 | + }) | ||
| 21 | +} | ||
| 22 | + | ||
| 23 | +// 查询押金费用 | ||
| 24 | +export function queryFeeDeposit(params) { | ||
| 25 | + return new Promise((resolve, reject) => { | ||
| 26 | + request({ | ||
| 27 | + url: '/fee.queryFeeDeposit', | ||
| 28 | + method: 'get', | ||
| 29 | + params | ||
| 30 | + }).then(response => { | ||
| 31 | + const res = response.data | ||
| 32 | + if (res.code == 0) { | ||
| 33 | + resolve(res) | ||
| 34 | + } else { | ||
| 35 | + reject(new Error(res.msg || '查询押金费用失败')) | ||
| 36 | + } | ||
| 37 | + }).catch(error => { | ||
| 38 | + reject(error) | ||
| 39 | + }) | ||
| 40 | + }) | ||
| 41 | +} | ||
| 0 | \ No newline at end of file | 42 | \ No newline at end of file |
src/api/simplify/simplifyCarFeeApi.js
0 → 100644
| 1 | +import request from '@/utils/request' | ||
| 2 | + | ||
| 3 | +export function listFee(params) { | ||
| 4 | + return request({ | ||
| 5 | + url: '/fee.listFee', | ||
| 6 | + method: 'get', | ||
| 7 | + params | ||
| 8 | + }) | ||
| 9 | +} | ||
| 10 | + | ||
| 11 | +export function queryOwnerCars(params) { | ||
| 12 | + return request({ | ||
| 13 | + url: '/owner.queryOwnerCars', | ||
| 14 | + method: 'get', | ||
| 15 | + params | ||
| 16 | + }) | ||
| 17 | +} | ||
| 0 | \ No newline at end of file | 18 | \ No newline at end of file |
src/api/simplify/simplifyContractApi.js
0 → 100644
src/api/simplify/simplifyOwnerAccessContolApi.js
0 → 100644
src/api/simplify/simplifyOwnerCarApi.js
0 → 100644
| 1 | +import request from '@/utils/request' | ||
| 2 | + | ||
| 3 | +export function queryOwnerCars(params) { | ||
| 4 | + return request({ | ||
| 5 | + url: '/owner.queryOwnerCars', | ||
| 6 | + method: 'get', | ||
| 7 | + params | ||
| 8 | + }) | ||
| 9 | +} | ||
| 10 | + | ||
| 11 | +export function deleteCarParkingSpace(data) { | ||
| 12 | + return request({ | ||
| 13 | + url: '/owner.deleteCarParkingSpace', | ||
| 14 | + method: 'post', | ||
| 15 | + data | ||
| 16 | + }) | ||
| 17 | +} | ||
| 0 | \ No newline at end of file | 18 | \ No newline at end of file |
src/api/simplify/simplifyOwnerComplaintApi.js
0 → 100644
| 1 | +import request from '@/utils/request' | ||
| 2 | + | ||
| 3 | +export function listComplaints(params) { | ||
| 4 | + return request({ | ||
| 5 | + url: '/complaint.listComplaints', | ||
| 6 | + method: 'get', | ||
| 7 | + params | ||
| 8 | + }) | ||
| 9 | +} | ||
| 10 | + | ||
| 11 | +export function listRunWorkflowImage(params) { | ||
| 12 | + return request({ | ||
| 13 | + url: '/workflow.listRunWorkflowImage', | ||
| 14 | + method: 'get', | ||
| 15 | + params | ||
| 16 | + }) | ||
| 17 | +} | ||
| 0 | \ No newline at end of file | 18 | \ No newline at end of file |
src/api/simplify/simplifyOwnerMemberApi.js
0 → 100644
src/api/simplify/simplifyOwnerRepairApi.js
0 → 100644
src/api/simplify/simplifyOwnerTransactionCarApi.js
0 → 100644
| 1 | +import request from '@/utils/request' | ||
| 2 | + | ||
| 3 | +export function listMachineTranslates(params) { | ||
| 4 | + return request({ | ||
| 5 | + url: '/machineTranslate.listMachineTranslates', | ||
| 6 | + method: 'get', | ||
| 7 | + params | ||
| 8 | + }) | ||
| 9 | +} | ||
| 10 | + | ||
| 11 | +export function queryOwnerCars(params) { | ||
| 12 | + return request({ | ||
| 13 | + url: '/owner.queryOwnerCars', | ||
| 14 | + method: 'get', | ||
| 15 | + params | ||
| 16 | + }) | ||
| 17 | +} | ||
| 0 | \ No newline at end of file | 18 | \ No newline at end of file |
src/api/simplify/simplifyShopsHireLogApi.js
0 → 100644
src/components/fee/finishFee.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <el-dialog | ||
| 3 | + :title="$t('finishFee.confirmOperation')" | ||
| 4 | + :visible.sync="dialogVisible" | ||
| 5 | + width="30%" | ||
| 6 | + @close="closeFinishFeeModel" | ||
| 7 | + > | ||
| 8 | + <el-row> | ||
| 9 | + <el-col :span="24" align="center"> | ||
| 10 | + <p>{{ $t('finishFee.confirmFinishFee') }}</p> | ||
| 11 | + </el-col> | ||
| 12 | + </el-row> | ||
| 13 | + <span slot="footer" class="dialog-footer"> | ||
| 14 | + <el-button @click="closeFinishFeeModel">{{ $t('finishFee.cancel') }}</el-button> | ||
| 15 | + <el-button type="primary" @click="finishFee">{{ $t('finishFee.confirm') }}</el-button> | ||
| 16 | + </span> | ||
| 17 | + </el-dialog> | ||
| 18 | + </template> | ||
| 19 | + | ||
| 20 | + <script> | ||
| 21 | + import { finishFee } from '@/api/fee/finishFeeApi' | ||
| 22 | + import { getCommunityId } from '@/api/community/communityApi' | ||
| 23 | + | ||
| 24 | + export default { | ||
| 25 | + name: 'FinishFee', | ||
| 26 | + data() { | ||
| 27 | + return { | ||
| 28 | + dialogVisible: false, | ||
| 29 | + finishFeeInfo: {}, | ||
| 30 | + communityId: '' | ||
| 31 | + } | ||
| 32 | + }, | ||
| 33 | + created() { | ||
| 34 | + this.communityId = getCommunityId() | ||
| 35 | + }, | ||
| 36 | + methods: { | ||
| 37 | + open(params) { | ||
| 38 | + this.finishFeeInfo = params | ||
| 39 | + this.dialogVisible = true | ||
| 40 | + }, | ||
| 41 | + closeFinishFeeModel() { | ||
| 42 | + this.dialogVisible = false | ||
| 43 | + }, | ||
| 44 | + async finishFee() { | ||
| 45 | + try { | ||
| 46 | + const params = { | ||
| 47 | + ...this.finishFeeInfo, | ||
| 48 | + communityId: this.communityId | ||
| 49 | + } | ||
| 50 | + await finishFee(params) | ||
| 51 | + this.$message.success(this.$t('finishFee.successMessage')) | ||
| 52 | + this.closeFinishFeeModel() | ||
| 53 | + this.$emit('success') | ||
| 54 | + // Emit events to refresh related components | ||
| 55 | + this.$bus.$emit('roomCreateFee:refresh') | ||
| 56 | + this.$bus.$emit('listParkingSpaceFee:refresh') | ||
| 57 | + this.$bus.$emit('simplifyRoomFee:refresh') | ||
| 58 | + this.$bus.$emit('simplifyCarFee:refresh') | ||
| 59 | + this.$bus.$emit('listContractFee:refresh') | ||
| 60 | + this.$bus.$emit('contractDetailRoomFee:refresh') | ||
| 61 | + this.$bus.$emit('ownerDetailRoomFee:refresh') | ||
| 62 | + } catch (error) { | ||
| 63 | + this.$message.error(error.message || this.$t('finishFee.errorMessage')) | ||
| 64 | + } | ||
| 65 | + } | ||
| 66 | + } | ||
| 67 | + } | ||
| 68 | + </script> | ||
| 0 | \ No newline at end of file | 69 | \ No newline at end of file |
src/components/report/InputSearchOwner.vue
| @@ -10,8 +10,9 @@ | @@ -10,8 +10,9 @@ | ||
| 10 | <span class="separator">---</span> | 10 | <span class="separator">---</span> |
| 11 | <span>{{ item.link }}</span> | 11 | <span>{{ item.link }}</span> |
| 12 | </div> | 12 | </div> |
| 13 | + | ||
| 13 | </div> | 14 | </div> |
| 14 | - <el-button slot="reference" type="primary" icon="el-icon-search"></el-button> | 15 | + <!-- <el-button slot="reference" type="primary" icon="el-icon-search"></el-button> --> |
| 15 | </el-popover> | 16 | </el-popover> |
| 16 | </div> | 17 | </div> |
| 17 | </template> | 18 | </template> |
src/components/simplify/simplifyCarFee.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div> | ||
| 3 | + <el-row class="margin-top"> | ||
| 4 | + <el-col :span="4"> | ||
| 5 | + <el-select v-model="simplifyCarFeeInfo.carId" @change="changeSimplifyCar"> | ||
| 6 | + <el-option | ||
| 7 | + v-for="(item,index) in simplifyCarFeeInfo.ownerCars" | ||
| 8 | + :key="index" | ||
| 9 | + :label="item.carNum" | ||
| 10 | + :value="item.carId"> | ||
| 11 | + </el-option> | ||
| 12 | + </el-select> | ||
| 13 | + </el-col> | ||
| 14 | + <el-col :span="16"></el-col> | ||
| 15 | + <el-col :span="4" v-if="simplifyCarFeeInfo.carId"> | ||
| 16 | + <el-button type="primary" size="small" @click="_toBuyCarMonthCard"> | ||
| 17 | + {{ $t('simplifyCarFee.buyMonthCard') }} | ||
| 18 | + </el-button> | ||
| 19 | + <el-button type="primary" size="small" @click="_openBatchPayCarFeeModal"> | ||
| 20 | + {{ $t('simplifyCarFee.batchPayment') }} | ||
| 21 | + </el-button> | ||
| 22 | + <el-button type="primary" size="small" @click="_openSimplifyCarCreateFeeAddModal"> | ||
| 23 | + {{ $t('simplifyCarFee.createFee') }} | ||
| 24 | + </el-button> | ||
| 25 | + </el-col> | ||
| 26 | + </el-row> | ||
| 27 | + | ||
| 28 | + <el-table | ||
| 29 | + :data="simplifyCarFeeInfo.fees" | ||
| 30 | + style="width: 100%; margin-top: 10px" | ||
| 31 | + border> | ||
| 32 | + <el-table-column prop="feeName" :label="$t('simplifyCarFee.feeItem')" align="center"> | ||
| 33 | + <template #default="{row}"> | ||
| 34 | + <span class="hand" @click="_viewCarFeeConfig(row)">{{row.feeName}} | ||
| 35 | + <i class="el-icon-info"></i> | ||
| 36 | + </span> | ||
| 37 | + </template> | ||
| 38 | + </el-table-column> | ||
| 39 | + <el-table-column prop="feeFlagName" :label="$t('simplifyCarFee.feeFlag')" align="center"></el-table-column> | ||
| 40 | + <el-table-column prop="feeTypeCdName" :label="$t('simplifyCarFee.feeType')" align="center"></el-table-column> | ||
| 41 | + <el-table-column prop="amountOwed" :label="$t('simplifyCarFee.amountReceivable')" align="center"></el-table-column> | ||
| 42 | + <el-table-column prop="startTime" :label="$t('simplifyCarFee.accountingTime')" align="center"></el-table-column> | ||
| 43 | + <el-table-column :label="$t('simplifyCarFee.receivablePeriod')" align="center"> | ||
| 44 | + <template #default="{row}"> | ||
| 45 | + {{_getEndTime(row)}}~<br />{{_getDeadlineTime(row)}} | ||
| 46 | + </template> | ||
| 47 | + </el-table-column> | ||
| 48 | + <el-table-column :label="$t('simplifyCarFee.description')" align="center" width="150"> | ||
| 49 | + <template #default="{row}"> | ||
| 50 | + <div v-if="row.feeTypeCd == '888800010015' || row.feeTypeCd == '888800010016'"> | ||
| 51 | + <div>{{ $t('simplifyCarFee.lastDegree') }}:{{row.preDegrees}}</div> | ||
| 52 | + <div>{{ $t('simplifyCarFee.currentDegree') }}:{{row.curDegrees}}</div> | ||
| 53 | + <div>{{ $t('simplifyCarFee.unitPrice') }}:{{row.squarePrice}}</div> | ||
| 54 | + <div>{{ $t('simplifyCarFee.additionalFee') }}:{{row.additionalAmount}}</div> | ||
| 55 | + </div> | ||
| 56 | + <div v-else-if="row.feeTypeCd == '888800010017'"> | ||
| 57 | + <div>{{ $t('simplifyCarFee.algorithm') }}:{{_getAttrValue(row.feeAttrs,'390005')}}</div> | ||
| 58 | + <div>{{ $t('simplifyCarFee.usage') }}:{{_getAttrValue(row.feeAttrs,'390003')}}</div> | ||
| 59 | + </div> | ||
| 60 | + <div v-else> | ||
| 61 | + <div>{{ $t('simplifyCarFee.unitPrice') }}:{{row.squarePrice}}</div> | ||
| 62 | + <div>{{ $t('simplifyCarFee.fixedFee') }}:{{row.additionalAmount}}</div> | ||
| 63 | + </div> | ||
| 64 | + </template> | ||
| 65 | + </el-table-column> | ||
| 66 | + <el-table-column prop="stateName" :label="$t('simplifyCarFee.status')" align="center"></el-table-column> | ||
| 67 | + <el-table-column :label="$t('simplifyCarFee.operation')" align="center"> | ||
| 68 | + <template #default="{row}"> | ||
| 69 | + <el-button type="text" v-if="row.state != '2009001' && hasPrivilege('502020082314267912')" @click="_simplifyCarPayFee(row)"> | ||
| 70 | + {{ $t('simplifyCarFee.payment') }} | ||
| 71 | + </el-button> | ||
| 72 | + <el-button type="text" @click="_simplifyCarPayFeeHis(row)"> | ||
| 73 | + {{ $t('simplifyCarFee.paymentHistory') }} | ||
| 74 | + </el-button> | ||
| 75 | + <el-dropdown> | ||
| 76 | + <el-button type="text"> | ||
| 77 | + {{ $t('simplifyCarFee.moreOperations') }}<i class="el-icon-arrow-down el-icon--right"></i> | ||
| 78 | + </el-button> | ||
| 79 | + <el-dropdown-menu slot="dropdown"> | ||
| 80 | + <el-dropdown-item v-if="row.isDefault == 'F' && hasPrivilege('502020090604200029')" @click.native="_simplifyCarDeleteFee(row)"> | ||
| 81 | + {{ $t('simplifyCarFee.cancelFee') }} | ||
| 82 | + </el-dropdown-item> | ||
| 83 | + <el-dropdown-item v-if="hasPrivilege('502021070488970005')" @click.native="_simplifyCarFinishFee(row)"> | ||
| 84 | + {{ $t('simplifyCarFee.manualFinish') }} | ||
| 85 | + </el-dropdown-item> | ||
| 86 | + <el-dropdown-item v-if="row.state != '2009001' && hasPrivilege('502020090427190001')" @click.native="_simplifyCarEditFee(row)"> | ||
| 87 | + {{ $t('simplifyCarFee.feeChange') }} | ||
| 88 | + </el-dropdown-item> | ||
| 89 | + <el-dropdown-item> | ||
| 90 | + <a target="_blank" :href="'/#/pages/fee/feeDetail?feeId='+row.feeId"> | ||
| 91 | + {{ $t('simplifyCarFee.details') }} | ||
| 92 | + </a> | ||
| 93 | + </el-dropdown-item> | ||
| 94 | + </el-dropdown-menu> | ||
| 95 | + </el-dropdown> | ||
| 96 | + </template> | ||
| 97 | + </el-table-column> | ||
| 98 | + </el-table> | ||
| 99 | + | ||
| 100 | + <el-row> | ||
| 101 | + <el-col :span="12"> | ||
| 102 | + <div>{{ $t('simplifyCarFee.note1') }}</div> | ||
| 103 | + <div>{{ $t('simplifyCarFee.note2') }}</div> | ||
| 104 | + </el-col> | ||
| 105 | + <el-col :span="6"> | ||
| 106 | + <span>{{ $t('simplifyCarFee.arrearsSubtotal') }}:{{simplifyCarFeeInfo.totalAmount}}</span> | ||
| 107 | + </el-col> | ||
| 108 | + <el-col :span="6"> | ||
| 109 | + <el-pagination | ||
| 110 | + @current-change="handleCurrentChange" | ||
| 111 | + :current-page="currentPage" | ||
| 112 | + :page-size="pageSize" | ||
| 113 | + layout="total, prev, pager, next" | ||
| 114 | + :total="total"> | ||
| 115 | + </el-pagination> | ||
| 116 | + </el-col> | ||
| 117 | + </el-row> | ||
| 118 | + </div> | ||
| 119 | +</template> | ||
| 120 | + | ||
| 121 | +<script> | ||
| 122 | +import { getCommunityId } from '@/api/community/communityApi' | ||
| 123 | +import { listFee, queryOwnerCars } from '@/api/simplify/simplifyCarFeeApi' | ||
| 124 | + | ||
| 125 | +export default { | ||
| 126 | + name: 'SimplifyCarFee', | ||
| 127 | + data() { | ||
| 128 | + return { | ||
| 129 | + simplifyCarFeeInfo: { | ||
| 130 | + fees: [], | ||
| 131 | + ownerCars: [], | ||
| 132 | + ownerId: '', | ||
| 133 | + name: '', | ||
| 134 | + carNum: '', | ||
| 135 | + carId: '', | ||
| 136 | + total: 0, | ||
| 137 | + records: 1, | ||
| 138 | + areaNum: '', | ||
| 139 | + num: '', | ||
| 140 | + parkingName: '', | ||
| 141 | + totalAmount: 0.0 | ||
| 142 | + }, | ||
| 143 | + currentPage: 1, | ||
| 144 | + pageSize: 10, | ||
| 145 | + total: 0 | ||
| 146 | + } | ||
| 147 | + }, | ||
| 148 | + created() { | ||
| 149 | + this.communityId = getCommunityId() | ||
| 150 | + this.initEvents() | ||
| 151 | + }, | ||
| 152 | + methods: { | ||
| 153 | + initEvents() { | ||
| 154 | + this.$on('switch', this.handleSwitch) | ||
| 155 | + this.$on('notify', this.handleNotify) | ||
| 156 | + }, | ||
| 157 | + handleSwitch(param) { | ||
| 158 | + if (param.ownerId == '') return | ||
| 159 | + this.clearSimplifyCarFeeInfo() | ||
| 160 | + Object.assign(this.simplifyCarFeeInfo, param) | ||
| 161 | + this.listOwnerCar() | ||
| 162 | + .then(() => { | ||
| 163 | + this.listSimplifyCarFee(this.currentPage, this.pageSize) | ||
| 164 | + }) | ||
| 165 | + .catch(err => { | ||
| 166 | + this.$message.error(err) | ||
| 167 | + }) | ||
| 168 | + }, | ||
| 169 | + handleNotify() { | ||
| 170 | + this.listSimplifyCarFee(this.currentPage, this.pageSize) | ||
| 171 | + }, | ||
| 172 | + handleCurrentChange(val) { | ||
| 173 | + this.currentPage = val | ||
| 174 | + this.listSimplifyCarFee(val, this.pageSize) | ||
| 175 | + }, | ||
| 176 | + listSimplifyCarFee(page, row) { | ||
| 177 | + if (!this.simplifyCarFeeInfo.carId) return | ||
| 178 | + | ||
| 179 | + const params = { | ||
| 180 | + page, | ||
| 181 | + row, | ||
| 182 | + communityId: this.communityId, | ||
| 183 | + payerObjId: this.simplifyCarFeeInfo.carId | ||
| 184 | + } | ||
| 185 | + | ||
| 186 | + listFee(params).then(res => { | ||
| 187 | + this.simplifyCarFeeInfo.fees = res.data.fees | ||
| 188 | + this.total = res.data.records | ||
| 189 | + let totalAmount = 0.0 | ||
| 190 | + res.data.fees.forEach(item => { | ||
| 191 | + totalAmount += parseFloat(item.amountOwed) | ||
| 192 | + }) | ||
| 193 | + this.simplifyCarFeeInfo.totalAmount = totalAmount | ||
| 194 | + }) | ||
| 195 | + }, | ||
| 196 | + listOwnerCar() { | ||
| 197 | + return new Promise((resolve, reject) => { | ||
| 198 | + const params = { | ||
| 199 | + page: 1, | ||
| 200 | + row: 50, | ||
| 201 | + ownerId: this.simplifyCarFeeInfo.ownerId, | ||
| 202 | + carTypeCd: '1001', | ||
| 203 | + communityId: this.communityId | ||
| 204 | + } | ||
| 205 | + | ||
| 206 | + 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) | ||
| 214 | + } else { | ||
| 215 | + reject(this.$t('simplifyCarFee.noParkingSpace')) | ||
| 216 | + } | ||
| 217 | + }).catch(err => { | ||
| 218 | + reject(err) | ||
| 219 | + }) | ||
| 220 | + }) | ||
| 221 | + }, | ||
| 222 | + changeSimplifyCar() { | ||
| 223 | + const car = this.simplifyCarFeeInfo.ownerCars.find(item => item.carId === this.simplifyCarFeeInfo.carId) | ||
| 224 | + if (!car) return | ||
| 225 | + | ||
| 226 | + this.simplifyCarFeeInfo.carNum = car.carNum | ||
| 227 | + this.simplifyCarFeeInfo.num = car.num | ||
| 228 | + this.simplifyCarFeeInfo.parkingName = `${car.areaNum}${this.$t('simplifyCarFee.parkingLot')}${car.num}${this.$t('simplifyCarFee.parkingSpace')}` | ||
| 229 | + this.listSimplifyCarFee(this.currentPage, this.pageSize) | ||
| 230 | + }, | ||
| 231 | + clearSimplifyCarFeeInfo() { | ||
| 232 | + this.simplifyCarFeeInfo = { | ||
| 233 | + fees: [], | ||
| 234 | + ownerCars: [], | ||
| 235 | + ownerId: '', | ||
| 236 | + name: '', | ||
| 237 | + carNum: '', | ||
| 238 | + carId: '', | ||
| 239 | + total: 0, | ||
| 240 | + records: 1, | ||
| 241 | + areaNum: '', | ||
| 242 | + num: '', | ||
| 243 | + parkingName: '', | ||
| 244 | + totalAmount: 0.0 | ||
| 245 | + } | ||
| 246 | + }, | ||
| 247 | + _getEndTime(fee) { | ||
| 248 | + return fee.state == '2009001' ? '-' : fee.endTime | ||
| 249 | + }, | ||
| 250 | + _getDeadlineTime(fee) { | ||
| 251 | + if (fee.amountOwed == 0 && fee.endTime == fee.deadlineTime) return '-' | ||
| 252 | + if (fee.state == '2009001') return '-' | ||
| 253 | + return fee.deadlineTime | ||
| 254 | + }, | ||
| 255 | + _getAttrValue(attrs, code) { | ||
| 256 | + const attr = attrs.find(item => item.specCd === code) | ||
| 257 | + return attr ? attr.value : '' | ||
| 258 | + }, | ||
| 259 | + _simplifyCarGetFeeOwnerInfo(attrs) { | ||
| 260 | + const ownerName = this._getAttrValue(attrs, '390008') | ||
| 261 | + const ownerLink = this._getAttrValue(attrs, '390009') | ||
| 262 | + return `${this.$t('simplifyCarFee.owner')}:${ownerName},${this.$t('simplifyCarFee.phone')}:${ownerLink}` | ||
| 263 | + }, | ||
| 264 | + _simplifyCarPayFee(fee) { | ||
| 265 | + this.$router.push(`/pages/property/payFeeOrder?feeId=${fee.feeId}`) | ||
| 266 | + }, | ||
| 267 | + _simplifyCarPayFeeHis(fee) { | ||
| 268 | + this.$router.push(`/pages/property/propertyFee?${this.objToGetParam(fee)}`) | ||
| 269 | + }, | ||
| 270 | + _simplifyCarEditFee(fee) { | ||
| 271 | + this.$emit('editFee', fee) | ||
| 272 | + }, | ||
| 273 | + _simplifyCarDeleteFee(fee) { | ||
| 274 | + this.$emit('deleteFee', { | ||
| 275 | + communityId: this.communityId, | ||
| 276 | + feeId: fee.feeId | ||
| 277 | + }) | ||
| 278 | + }, | ||
| 279 | + _openSimplifyCarCreateFeeAddModal() { | ||
| 280 | + this.$emit('carCreateFeeAdd', { | ||
| 281 | + isMore: false, | ||
| 282 | + car: this.simplifyCarFeeInfo | ||
| 283 | + }) | ||
| 284 | + }, | ||
| 285 | + _simplifyCarFinishFee(fee) { | ||
| 286 | + this.$emit('finishFee', { | ||
| 287 | + communityId: this.communityId, | ||
| 288 | + feeId: fee.feeId | ||
| 289 | + }) | ||
| 290 | + }, | ||
| 291 | + _toBuyCarMonthCard() { | ||
| 292 | + this.$router.push(`/pages/fee/buyCarMonthCard?carNum=${this.simplifyCarFeeInfo.carNum}`) | ||
| 293 | + }, | ||
| 294 | + _openBatchPayCarFeeModal() { | ||
| 295 | + this.$router.push(`/pages/property/batchPayFeeOrder?ownerId=${this.simplifyCarFeeInfo.ownerId}&payerObjType=6666`) | ||
| 296 | + }, | ||
| 297 | + _viewCarFeeConfig(fee) { | ||
| 298 | + // Implement view fee config logic | ||
| 299 | + console.log(fee) | ||
| 300 | + } | ||
| 301 | + } | ||
| 302 | +} | ||
| 303 | +</script> | ||
| 304 | + | ||
| 305 | +<style scoped> | ||
| 306 | +.hand { | ||
| 307 | + cursor: pointer; | ||
| 308 | +} | ||
| 309 | +.margin-top { | ||
| 310 | + margin-top: 10px; | ||
| 311 | +} | ||
| 312 | +</style> | ||
| 0 | \ No newline at end of file | 313 | \ No newline at end of file |
src/components/simplify/simplifyCarFeeDemo.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <simplify-car-fee ref="simplifyCarFee"></simplify-car-fee> | ||
| 3 | +</template> | ||
| 4 | + | ||
| 5 | +<script> | ||
| 6 | +import SimplifyCarFee from '@/components/simplify/simplifyCarFee' | ||
| 7 | + | ||
| 8 | +export default { | ||
| 9 | + name: 'SimplifyCarFeeDemo', | ||
| 10 | + components: { | ||
| 11 | + SimplifyCarFee | ||
| 12 | + }, | ||
| 13 | + methods: { | ||
| 14 | + openSimplifyCarFee(params) { | ||
| 15 | + this.$refs.simplifyCarFee.$emit('switch', params) | ||
| 16 | + } | ||
| 17 | + } | ||
| 18 | +} | ||
| 19 | +</script> | ||
| 0 | \ No newline at end of file | 20 | \ No newline at end of file |
src/components/simplify/simplifyContract.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div> | ||
| 3 | + <el-row class="margin-top-lg"> | ||
| 4 | + <el-col :span="12"></el-col> | ||
| 5 | + <el-col :span="12" class="text-right" v-if="contractInfo.ownerId"> | ||
| 6 | + <el-button type="primary" size="small" @click="_openAddContractModal"> | ||
| 7 | + <i class="el-icon-plus"></i>{{$t('simplifyContract.draftContract')}} | ||
| 8 | + </el-button> | ||
| 9 | + </el-col> | ||
| 10 | + </el-row> | ||
| 11 | + <div class="margin-top"> | ||
| 12 | + <el-table :data="contractInfo.contracts" border> | ||
| 13 | + <el-table-column prop="contractName" :label="$t('simplifyContract.contractName')" align="center"></el-table-column> | ||
| 14 | + <el-table-column prop="contractCode" :label="$t('simplifyContract.contractCode')" align="center"></el-table-column> | ||
| 15 | + <el-table-column prop="parentContractCode" :label="$t('simplifyContract.parentContractCode')" align="center"> | ||
| 16 | + <template slot-scope="scope"> | ||
| 17 | + {{scope.row.parentContractCode || '-'}} | ||
| 18 | + </template> | ||
| 19 | + </el-table-column> | ||
| 20 | + <el-table-column prop="contractTypeName" :label="$t('simplifyContract.contractType')" align="center"></el-table-column> | ||
| 21 | + <el-table-column prop="startTime" :label="$t('simplifyContract.startTime')" align="center"></el-table-column> | ||
| 22 | + <el-table-column prop="endTime" :label="$t('simplifyContract.endTime')" align="center"></el-table-column> | ||
| 23 | + <el-table-column prop="stateName" :label="$t('simplifyContract.status')" align="center"></el-table-column> | ||
| 24 | + <el-table-column :label="$t('simplifyContract.operation')" align="center" width="300"> | ||
| 25 | + <template slot-scope="scope"> | ||
| 26 | + <el-button size="mini" @click="_openContractFee(scope.row)">{{$t('simplifyContract.fee')}}</el-button> | ||
| 27 | + <el-button size="mini" @click="_viewContract(scope.row)">{{$t('simplifyContract.view')}}</el-button> | ||
| 28 | + <el-button size="mini" @click="_printContract(scope.row)">{{$t('simplifyContract.print')}}</el-button> | ||
| 29 | + </template> | ||
| 30 | + </el-table-column> | ||
| 31 | + </el-table> | ||
| 32 | + <el-pagination | ||
| 33 | + @current-change="handleCurrentChange" | ||
| 34 | + :current-page="currentPage" | ||
| 35 | + :page-size="pageSize" | ||
| 36 | + layout="total, prev, pager, next" | ||
| 37 | + :total="total" | ||
| 38 | + class="pagination" | ||
| 39 | + ></el-pagination> | ||
| 40 | + </div> | ||
| 41 | + </div> | ||
| 42 | +</template> | ||
| 43 | + | ||
| 44 | +<script> | ||
| 45 | +import { queryContract } from '@/api/simplify/simplifyContractApi' | ||
| 46 | +import { getCommunityId } from '@/api/community/communityApi' | ||
| 47 | + | ||
| 48 | +export default { | ||
| 49 | + name: 'SimplifyContract', | ||
| 50 | + data() { | ||
| 51 | + return { | ||
| 52 | + contractInfo: { | ||
| 53 | + ownerId: '', | ||
| 54 | + ownerName: '', | ||
| 55 | + contracts: [], | ||
| 56 | + total: 0, | ||
| 57 | + records: 1, | ||
| 58 | + moreCondition: false, | ||
| 59 | + contractId: '', | ||
| 60 | + conditions: { | ||
| 61 | + objId: '', | ||
| 62 | + contractCode: '', | ||
| 63 | + contractType: '' | ||
| 64 | + } | ||
| 65 | + }, | ||
| 66 | + currentPage: 1, | ||
| 67 | + pageSize: 10, | ||
| 68 | + total: 0, | ||
| 69 | + communityId: '' | ||
| 70 | + } | ||
| 71 | + }, | ||
| 72 | + created() { | ||
| 73 | + this.communityId = getCommunityId() | ||
| 74 | + this.$on('switch', this.handleSwitch) | ||
| 75 | + this.$on('notify', this.listContractInfo) | ||
| 76 | + }, | ||
| 77 | + methods: { | ||
| 78 | + handleSwitch(params) { | ||
| 79 | + if (!params.ownerId) return | ||
| 80 | + this.clearContractInfoInfo() | ||
| 81 | + Object.assign(this.contractInfo, params) | ||
| 82 | + this.contractInfo.conditions.objId = params.ownerId | ||
| 83 | + this.listContractInfo() | ||
| 84 | + }, | ||
| 85 | + async listContractInfo() { | ||
| 86 | + try { | ||
| 87 | + const params = { | ||
| 88 | + ...this.contractInfo.conditions, | ||
| 89 | + page: this.currentPage, | ||
| 90 | + row: this.pageSize | ||
| 91 | + } | ||
| 92 | + const res = await queryContract(params) | ||
| 93 | + this.contractInfo.contracts = res.data | ||
| 94 | + this.total = res.data.total | ||
| 95 | + } catch (error) { | ||
| 96 | + console.error('Failed to load contracts:', error) | ||
| 97 | + } | ||
| 98 | + }, | ||
| 99 | + _openAddContractModal() { | ||
| 100 | + this.$router.push('/pages/admin/newContractManage') | ||
| 101 | + }, | ||
| 102 | + _printContract(contract) { | ||
| 103 | + window.open(`/print.html#/pages/admin/printContract?contractTypeId=${contract.contractType}&contractId=${contract.contractId}`) | ||
| 104 | + }, | ||
| 105 | + _viewContract(contract) { | ||
| 106 | + this.$router.push(`/pages/contract/contractDetail?contractId=${contract.contractId}`) | ||
| 107 | + }, | ||
| 108 | + clearContractInfoInfo() { | ||
| 109 | + this.contractInfo = { | ||
| 110 | + ownerId: '', | ||
| 111 | + ownerName: '', | ||
| 112 | + contracts: [], | ||
| 113 | + total: 0, | ||
| 114 | + records: 1, | ||
| 115 | + moreCondition: false, | ||
| 116 | + contractId: '', | ||
| 117 | + conditions: { | ||
| 118 | + contractName: '', | ||
| 119 | + contractCode: '', | ||
| 120 | + contractType: '' | ||
| 121 | + } | ||
| 122 | + } | ||
| 123 | + }, | ||
| 124 | + _openContractFee(contract) { | ||
| 125 | + this.$router.push({ | ||
| 126 | + path: '/pages/property/listContractFee', | ||
| 127 | + query: { | ||
| 128 | + contractId: contract.contractId, | ||
| 129 | + contractCode: contract.contractCode | ||
| 130 | + } | ||
| 131 | + }) | ||
| 132 | + }, | ||
| 133 | + handleCurrentChange(val) { | ||
| 134 | + this.currentPage = val | ||
| 135 | + this.listContractInfo() | ||
| 136 | + } | ||
| 137 | + } | ||
| 138 | +} | ||
| 139 | +</script> | ||
| 140 | + | ||
| 141 | +<style scoped> | ||
| 142 | +.margin-top { | ||
| 143 | + margin-top: 15px; | ||
| 144 | +} | ||
| 145 | +.margin-top-lg { | ||
| 146 | + margin-top: 20px; | ||
| 147 | +} | ||
| 148 | +.pagination { | ||
| 149 | + margin-top: 15px; | ||
| 150 | + text-align: right; | ||
| 151 | +} | ||
| 152 | +.text-right { | ||
| 153 | + text-align: right; | ||
| 154 | +} | ||
| 155 | +</style> | ||
| 0 | \ No newline at end of file | 156 | \ No newline at end of file |
src/components/simplify/simplifyContractDemo.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <simplify-contract ref="simplifyContract"></simplify-contract> | ||
| 3 | +</template> | ||
| 4 | + | ||
| 5 | +<script> | ||
| 6 | +import SimplifyContract from '@/components/simplify/simplifyContract' | ||
| 7 | + | ||
| 8 | +export default { | ||
| 9 | + name: 'SimplifyContractDemo', | ||
| 10 | + components: { | ||
| 11 | + SimplifyContract | ||
| 12 | + }, | ||
| 13 | + methods: { | ||
| 14 | + openSimplifyContract(params) { | ||
| 15 | + this.$refs.simplifyContract.$emit('switch', params) | ||
| 16 | + } | ||
| 17 | + } | ||
| 18 | +} | ||
| 19 | +</script> | ||
| 0 | \ No newline at end of file | 20 | \ No newline at end of file |
src/components/simplify/simplifyOwnerAccessContol.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div> | ||
| 3 | + <el-table | ||
| 4 | + :data="simplifyOwnerAccessContolInfo.machineTranslates" | ||
| 5 | + style="width: 100%; margin-top: 10px" | ||
| 6 | + border> | ||
| 7 | + <el-table-column prop="typeCdName" :label="$t('simplifyOwnerAccessContol.objectType')" align="center"></el-table-column> | ||
| 8 | + <el-table-column prop="objName" :label="$t('simplifyOwnerAccessContol.objectName')" align="center"></el-table-column> | ||
| 9 | + <el-table-column prop="machineCmdName" :label="$t('simplifyOwnerAccessContol.command')" align="center"></el-table-column> | ||
| 10 | + <el-table-column prop="stateName" :label="$t('simplifyOwnerAccessContol.status')" align="center"></el-table-column> | ||
| 11 | + <el-table-column prop="remark" :label="$t('simplifyOwnerAccessContol.remark')" align="center"></el-table-column> | ||
| 12 | + <el-table-column prop="updateTime" :label="$t('simplifyOwnerAccessContol.syncTime')" align="center"></el-table-column> | ||
| 13 | + <el-table-column :label="$t('simplifyOwnerAccessContol.operation')" align="center"> | ||
| 14 | + <template #default="{row}"> | ||
| 15 | + <el-button | ||
| 16 | + v-if="row.state != '20000'" | ||
| 17 | + type="text" | ||
| 18 | + @click="_openEditMachineTranslateModel(row)"> | ||
| 19 | + {{ $t('simplifyOwnerAccessContol.resync') }} | ||
| 20 | + </el-button> | ||
| 21 | + </template> | ||
| 22 | + </el-table-column> | ||
| 23 | + </el-table> | ||
| 24 | + | ||
| 25 | + <el-pagination | ||
| 26 | + @current-change="handleCurrentChange" | ||
| 27 | + :current-page="currentPage" | ||
| 28 | + :page-size="pageSize" | ||
| 29 | + layout="total, prev, pager, next" | ||
| 30 | + :total="total"> | ||
| 31 | + </el-pagination> | ||
| 32 | + | ||
| 33 | + <edit-machine-translate ref="editMachineTranslate" @listMachineTranslate="listSimplifyOwnerAccessContol"></edit-machine-translate> | ||
| 34 | + </div> | ||
| 35 | +</template> | ||
| 36 | + | ||
| 37 | +<script> | ||
| 38 | +import { getCommunityId } from '@/api/community/communityApi' | ||
| 39 | +import { listMachineTranslates } from '@/api/simplify/simplifyOwnerAccessContolApi' | ||
| 40 | +import EditMachineTranslate from '@/components/machine/editMachineTranslate' | ||
| 41 | + | ||
| 42 | +export default { | ||
| 43 | + name: 'SimplifyOwnerAccessContol', | ||
| 44 | + components: { | ||
| 45 | + EditMachineTranslate | ||
| 46 | + }, | ||
| 47 | + data() { | ||
| 48 | + return { | ||
| 49 | + simplifyOwnerAccessContolInfo: { | ||
| 50 | + machineTranslates: [], | ||
| 51 | + ownerId: '', | ||
| 52 | + roomId: '', | ||
| 53 | + total: 0, | ||
| 54 | + records: 1 | ||
| 55 | + }, | ||
| 56 | + currentPage: 1, | ||
| 57 | + pageSize: 10, | ||
| 58 | + total: 0 | ||
| 59 | + } | ||
| 60 | + }, | ||
| 61 | + created() { | ||
| 62 | + this.communityId = getCommunityId() | ||
| 63 | + this.initEvents() | ||
| 64 | + }, | ||
| 65 | + methods: { | ||
| 66 | + initEvents() { | ||
| 67 | + this.$on('switch', this.handleSwitch) | ||
| 68 | + }, | ||
| 69 | + handleSwitch(param) { | ||
| 70 | + if (param.ownerId == '') return | ||
| 71 | + this.clearSimplifyOwnerAccessContolInfo() | ||
| 72 | + Object.assign(this.simplifyOwnerAccessContolInfo, param) | ||
| 73 | + this.listSimplifyOwnerAccessContol(this.currentPage, this.pageSize) | ||
| 74 | + }, | ||
| 75 | + handleCurrentChange(val) { | ||
| 76 | + this.currentPage = val | ||
| 77 | + this.listSimplifyOwnerAccessContol(val, this.pageSize) | ||
| 78 | + }, | ||
| 79 | + listSimplifyOwnerAccessContol(page, row) { | ||
| 80 | + const params = { | ||
| 81 | + page, | ||
| 82 | + row, | ||
| 83 | + communityId: this.communityId, | ||
| 84 | + objId: this.simplifyOwnerAccessContolInfo.ownerId, | ||
| 85 | + typeCd: '8899' | ||
| 86 | + } | ||
| 87 | + | ||
| 88 | + listMachineTranslates(params).then(res => { | ||
| 89 | + this.simplifyOwnerAccessContolInfo.machineTranslates = res.machineTranslates | ||
| 90 | + this.total = res.records | ||
| 91 | + }) | ||
| 92 | + }, | ||
| 93 | + _openEditMachineTranslateModel(machineTranslate) { | ||
| 94 | + this.$refs.editMachineTranslate.open(machineTranslate) | ||
| 95 | + }, | ||
| 96 | + clearSimplifyOwnerAccessContolInfo() { | ||
| 97 | + this.simplifyOwnerAccessContolInfo = { | ||
| 98 | + machineTranslates: [], | ||
| 99 | + ownerId: '', | ||
| 100 | + roomId: '' | ||
| 101 | + } | ||
| 102 | + } | ||
| 103 | + } | ||
| 104 | +} | ||
| 105 | +</script> | ||
| 106 | + | ||
| 107 | +<style scoped> | ||
| 108 | +</style> | ||
| 0 | \ No newline at end of file | 109 | \ No newline at end of file |
src/components/simplify/simplifyOwnerAccessContolDemo.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <simplify-owner-access-contol ref="simplifyOwnerAccessContol"></simplify-owner-access-contol> | ||
| 3 | +</template> | ||
| 4 | + | ||
| 5 | +<script> | ||
| 6 | +import SimplifyOwnerAccessContol from '@/components/simplify/simplifyOwnerAccessContol' | ||
| 7 | + | ||
| 8 | +export default { | ||
| 9 | + name: 'SimplifyOwnerAccessContolDemo', | ||
| 10 | + components: { | ||
| 11 | + SimplifyOwnerAccessContol | ||
| 12 | + }, | ||
| 13 | + methods: { | ||
| 14 | + openSimplifyOwnerAccessContol(params) { | ||
| 15 | + this.$refs.simplifyOwnerAccessContol.$emit('switch', params) | ||
| 16 | + } | ||
| 17 | + } | ||
| 18 | +} | ||
| 19 | +</script> | ||
| 0 | \ No newline at end of file | 20 | \ No newline at end of file |
src/components/simplify/simplifyOwnerCar.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div> | ||
| 3 | + <el-row class="margin-top"> | ||
| 4 | + <el-col :span="20"></el-col> | ||
| 5 | + <el-col :span="4" v-if="simplifyOwnerCarInfo.ownerId"> | ||
| 6 | + <el-button type="primary" size="small" @click="_addOwnerCar"> | ||
| 7 | + <i class="el-icon-plus"></i>{{ $t('simplifyOwnerCar.addCar') }} | ||
| 8 | + </el-button> | ||
| 9 | + </el-col> | ||
| 10 | + </el-row> | ||
| 11 | + | ||
| 12 | + <el-table | ||
| 13 | + :data="simplifyOwnerCarInfo.ownerCars" | ||
| 14 | + style="width: 100%; margin-top: 10px" | ||
| 15 | + border> | ||
| 16 | + <el-table-column :label="$t('simplifyOwnerCar.plateNumber')" align="center"> | ||
| 17 | + <template #default="{row}"> | ||
| 18 | + <router-link :to="`/pages/car/carDetail?memberId=${row.memberId}`" target="_blank"> | ||
| 19 | + {{row.carNum}} | ||
| 20 | + </router-link> | ||
| 21 | + </template> | ||
| 22 | + </el-table-column> | ||
| 23 | + <el-table-column prop="carBrand" :label="$t('simplifyOwnerCar.carBrand')" align="center"></el-table-column> | ||
| 24 | + <el-table-column prop="carTypeName" :label="$t('simplifyOwnerCar.carType')" align="center"></el-table-column> | ||
| 25 | + <el-table-column prop="carColor" :label="$t('simplifyOwnerCar.color')" align="center"></el-table-column> | ||
| 26 | + <el-table-column :label="$t('simplifyOwnerCar.owner')" align="center"> | ||
| 27 | + <template #default="{row}"> | ||
| 28 | + {{row.ownerName}}({{row.link}}) | ||
| 29 | + </template> | ||
| 30 | + </el-table-column> | ||
| 31 | + <el-table-column :label="$t('simplifyOwnerCar.parkingSpace')" align="center"> | ||
| 32 | + <template #default="{row}"> | ||
| 33 | + <span v-if="row.areaNum"> | ||
| 34 | + {{row.areaNum}}{{$t('simplifyOwnerCar.parkingLot')}}{{row.num}}{{$t('simplifyOwnerCar.space')}} | ||
| 35 | + </span> | ||
| 36 | + <span v-else>{{ $t('simplifyOwnerCar.none') }}</span> | ||
| 37 | + </template> | ||
| 38 | + </el-table-column> | ||
| 39 | + <el-table-column prop="startTime" :label="$t('simplifyOwnerCar.startTime')" align="center"></el-table-column> | ||
| 40 | + <el-table-column prop="endTime" :label="$t('simplifyOwnerCar.endTime')" align="center"></el-table-column> | ||
| 41 | + <el-table-column prop="stateName" :label="$t('simplifyOwnerCar.status')" align="center"></el-table-column> | ||
| 42 | + <el-table-column :label="$t('simplifyOwnerCar.operation')" align="center"> | ||
| 43 | + <template #default="{row}"> | ||
| 44 | + <el-button | ||
| 45 | + v-if="row.psId != '-1' && row.state == '1001'" | ||
| 46 | + type="text" | ||
| 47 | + @click="_deleteCarParkingSpace(row)"> | ||
| 48 | + {{ $t('simplifyOwnerCar.releaseSpace') }} | ||
| 49 | + </el-button> | ||
| 50 | + <el-button | ||
| 51 | + v-if="row.psId != '-1' && row.state == '3003'" | ||
| 52 | + type="text" | ||
| 53 | + @click="_addCarParkingSpace(row)"> | ||
| 54 | + {{ $t('simplifyOwnerCar.renewSpace') }} | ||
| 55 | + </el-button> | ||
| 56 | + <el-button type="text" @click="_openEditOwnerCar(row)"> | ||
| 57 | + {{ $t('simplifyOwnerCar.edit') }} | ||
| 58 | + </el-button> | ||
| 59 | + <el-button type="text" @click="_openDelOwnerCarModel(row)"> | ||
| 60 | + {{ $t('simplifyOwnerCar.delete') }} | ||
| 61 | + </el-button> | ||
| 62 | + </template> | ||
| 63 | + </el-table-column> | ||
| 64 | + </el-table> | ||
| 65 | + | ||
| 66 | + <el-pagination | ||
| 67 | + @current-change="handleCurrentChange" | ||
| 68 | + :current-page="currentPage" | ||
| 69 | + :page-size="pageSize" | ||
| 70 | + layout="total, prev, pager, next" | ||
| 71 | + :total="total"> | ||
| 72 | + </el-pagination> | ||
| 73 | + | ||
| 74 | + <edit-car ref="editCar" @listOwnerCarData="listSimplifyOwnerCar"></edit-car> | ||
| 75 | + <delete-owner-car ref="deleteOwnerCar" @listOwnerCarData="listSimplifyOwnerCar"></delete-owner-car> | ||
| 76 | + </div> | ||
| 77 | +</template> | ||
| 78 | + | ||
| 79 | +<script> | ||
| 80 | +import { getCommunityId } from '@/api/community/communityApi' | ||
| 81 | +import { queryOwnerCars, deleteCarParkingSpace } from '@/api/simplify/simplifyOwnerCarApi' | ||
| 82 | +import EditCar from '@/components/car/editCar' | ||
| 83 | +import DeleteOwnerCar from '@/components/car/deleteOwnerCar' | ||
| 84 | + | ||
| 85 | +export default { | ||
| 86 | + name: 'SimplifyOwnerCar', | ||
| 87 | + components: { | ||
| 88 | + EditCar, | ||
| 89 | + DeleteOwnerCar | ||
| 90 | + }, | ||
| 91 | + data() { | ||
| 92 | + return { | ||
| 93 | + simplifyOwnerCarInfo: { | ||
| 94 | + ownerCars: [], | ||
| 95 | + ownerId: '', | ||
| 96 | + ownerName: '', | ||
| 97 | + total: 0, | ||
| 98 | + records: 1 | ||
| 99 | + }, | ||
| 100 | + currentPage: 1, | ||
| 101 | + pageSize: 10, | ||
| 102 | + total: 0 | ||
| 103 | + } | ||
| 104 | + }, | ||
| 105 | + created() { | ||
| 106 | + this.communityId = getCommunityId() | ||
| 107 | + this.initEvents() | ||
| 108 | + }, | ||
| 109 | + methods: { | ||
| 110 | + initEvents() { | ||
| 111 | + this.$on('switch', this.handleSwitch) | ||
| 112 | + }, | ||
| 113 | + handleSwitch(param) { | ||
| 114 | + if (param.ownerId == '') return | ||
| 115 | + this.clearSimplifyOwnerCarInfo() | ||
| 116 | + Object.assign(this.simplifyOwnerCarInfo, param) | ||
| 117 | + this.listSimplifyOwnerCar(this.currentPage, this.pageSize) | ||
| 118 | + }, | ||
| 119 | + handleCurrentChange(val) { | ||
| 120 | + this.currentPage = val | ||
| 121 | + this.listSimplifyOwnerCar(val, this.pageSize) | ||
| 122 | + }, | ||
| 123 | + listSimplifyOwnerCar(page, row) { | ||
| 124 | + const params = { | ||
| 125 | + page, | ||
| 126 | + row, | ||
| 127 | + communityId: this.communityId, | ||
| 128 | + ownerId: this.simplifyOwnerCarInfo.ownerId, | ||
| 129 | + carTypeCd: '1001' | ||
| 130 | + } | ||
| 131 | + | ||
| 132 | + queryOwnerCars(params).then(res => { | ||
| 133 | + this.simplifyOwnerCarInfo.ownerCars = res.data | ||
| 134 | + this.total = res.records | ||
| 135 | + }) | ||
| 136 | + }, | ||
| 137 | + _addOwnerCar() { | ||
| 138 | + this.$router.push(`/pages/property/hireParkingSpace?ownerId=${this.simplifyOwnerCarInfo.ownerId}&ownerName=${this.simplifyOwnerCarInfo.ownerName}`) | ||
| 139 | + }, | ||
| 140 | + _openEditOwnerCar(car) { | ||
| 141 | + this.$refs.editCar.open(car) | ||
| 142 | + }, | ||
| 143 | + _openDelOwnerCarModel(car) { | ||
| 144 | + this.$refs.deleteOwnerCar.open(car) | ||
| 145 | + }, | ||
| 146 | + _deleteCarParkingSpace(car) { | ||
| 147 | + deleteCarParkingSpace(car).then(() => { | ||
| 148 | + this.$message.success(this.$t('simplifyOwnerCar.releaseSuccess')) | ||
| 149 | + this.listSimplifyOwnerCar(this.currentPage, this.pageSize) | ||
| 150 | + }).catch(err => { | ||
| 151 | + this.$message.error(err) | ||
| 152 | + }) | ||
| 153 | + }, | ||
| 154 | + _addCarParkingSpace(car) { | ||
| 155 | + this.$router.push(`/pages/property/carAddParkingSpace?carId=${car.carId}`) | ||
| 156 | + }, | ||
| 157 | + clearSimplifyOwnerCarInfo() { | ||
| 158 | + this.simplifyOwnerCarInfo = { | ||
| 159 | + ownerCars: [], | ||
| 160 | + ownerId: '', | ||
| 161 | + ownerName: '' | ||
| 162 | + } | ||
| 163 | + } | ||
| 164 | + } | ||
| 165 | +} | ||
| 166 | +</script> | ||
| 167 | + | ||
| 168 | +<style scoped> | ||
| 169 | +.margin-top { | ||
| 170 | + margin-top: 10px; | ||
| 171 | +} | ||
| 172 | +</style> | ||
| 0 | \ No newline at end of file | 173 | \ No newline at end of file |
src/components/simplify/simplifyOwnerCarDemo.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <simplify-owner-car ref="simplifyOwnerCar"></simplify-owner-car> | ||
| 3 | +</template> | ||
| 4 | + | ||
| 5 | +<script> | ||
| 6 | +import SimplifyOwnerCar from '@/components/simplify/simplifyOwnerCar' | ||
| 7 | + | ||
| 8 | +export default { | ||
| 9 | + name: 'SimplifyOwnerCarDemo', | ||
| 10 | + components: { | ||
| 11 | + SimplifyOwnerCar | ||
| 12 | + }, | ||
| 13 | + methods: { | ||
| 14 | + openSimplifyOwnerCar(params) { | ||
| 15 | + this.$refs.simplifyOwnerCar.$emit('switch', params) | ||
| 16 | + } | ||
| 17 | + } | ||
| 18 | +} | ||
| 19 | +</script> | ||
| 0 | \ No newline at end of file | 20 | \ No newline at end of file |
src/components/simplify/simplifyOwnerComplaint.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div> | ||
| 3 | + <el-row class="margin-top"> | ||
| 4 | + <el-col :span="20"></el-col> | ||
| 5 | + <el-col :span="4" v-if="simplifyOwnerComplaintInfo.roomId != ''"> | ||
| 6 | + <el-button type="primary" size="small" @click="_openAddComplaintModal"> | ||
| 7 | + <i class="el-icon-plus"></i>{{ $t('simplifyOwnerComplaint.complaint') }} | ||
| 8 | + </el-button> | ||
| 9 | + </el-col> | ||
| 10 | + </el-row> | ||
| 11 | + | ||
| 12 | + <el-table :data="simplifyOwnerComplaintInfo.complaints" style="width: 100%; margin-top: 10px" border> | ||
| 13 | + <el-table-column prop="typeCdName" :label="$t('simplifyOwnerComplaint.complaintType')" | ||
| 14 | + align="center"></el-table-column> | ||
| 15 | + <el-table-column :label="$t('simplifyOwnerComplaint.house')" align="center"> | ||
| 16 | + <template #default="{ row }"> | ||
| 17 | + {{ row.floorNum }}{{ $t('simplifyOwnerComplaint.building') }}{{ row.unitNum }}{{ $t('simplifyOwnerComplaint.unit') }}{{ row.roomNum }}{{ $t('simplifyOwnerComplaint.room') }} | ||
| 18 | + </template> | ||
| 19 | + </el-table-column> | ||
| 20 | + <el-table-column prop="complaintName" :label="$t('simplifyOwnerComplaint.complainant')" | ||
| 21 | + align="center"></el-table-column> | ||
| 22 | + <el-table-column prop="tel" :label="$t('simplifyOwnerComplaint.complainantPhone')" | ||
| 23 | + align="center"></el-table-column> | ||
| 24 | + <el-table-column prop="stateName" :label="$t('simplifyOwnerComplaint.complaintStatus')" | ||
| 25 | + align="center"></el-table-column> | ||
| 26 | + <el-table-column prop="currentUserName" :label="$t('simplifyOwnerComplaint.handler')" align="center"> | ||
| 27 | + <template #default="{ row }"> | ||
| 28 | + {{ row.currentUserName == '' ? $t('simplifyOwnerComplaint.none') : row.currentUserName }} | ||
| 29 | + </template> | ||
| 30 | + </el-table-column> | ||
| 31 | + <el-table-column prop="currentUserTel" :label="$t('simplifyOwnerComplaint.handlerPhone')" align="center"> | ||
| 32 | + <template #default="{ row }"> | ||
| 33 | + {{ row.currentUserTel == '' ? $t('simplifyOwnerComplaint.none') : row.currentUserTel }} | ||
| 34 | + </template> | ||
| 35 | + </el-table-column> | ||
| 36 | + <el-table-column :label="$t('simplifyOwnerComplaint.operation')" align="center"> | ||
| 37 | + <template #default="{ row }"> | ||
| 38 | + <el-button type="text" @click="_openComplaintDetailModel(row)"> | ||
| 39 | + {{ $t('simplifyOwnerComplaint.details') }} | ||
| 40 | + </el-button> | ||
| 41 | + <el-button type="text" @click="_openRunWorkflowImage(row)"> | ||
| 42 | + {{ $t('simplifyOwnerComplaint.flowChart') }} | ||
| 43 | + </el-button> | ||
| 44 | + </template> | ||
| 45 | + </el-table-column> | ||
| 46 | + </el-table> | ||
| 47 | + | ||
| 48 | + <el-pagination @current-change="handleCurrentChange" :current-page="currentPage" :page-size="pageSize" | ||
| 49 | + layout="total, prev, pager, next" :total="total"> | ||
| 50 | + </el-pagination> | ||
| 51 | + | ||
| 52 | + <complaint-detail ref="complaintDetail"></complaint-detail> | ||
| 53 | + <view-image ref="viewImage"></view-image> | ||
| 54 | + </div> | ||
| 55 | +</template> | ||
| 56 | + | ||
| 57 | +<script> | ||
| 58 | +import { getCommunityId } from '@/api/community/communityApi' | ||
| 59 | +import { listComplaints, listRunWorkflowImage } from '@/api/simplify/simplifyOwnerComplaintApi' | ||
| 60 | +import ComplaintDetail from '@/components/oa/complaintDetail' | ||
| 61 | +import ViewImage from '@/components/system/viewImage' | ||
| 62 | + | ||
| 63 | +export default { | ||
| 64 | + name: 'SimplifyOwnerComplaint', | ||
| 65 | + components: { | ||
| 66 | + ComplaintDetail, | ||
| 67 | + ViewImage | ||
| 68 | + }, | ||
| 69 | + data() { | ||
| 70 | + return { | ||
| 71 | + simplifyOwnerComplaintInfo: { | ||
| 72 | + complaints: [], | ||
| 73 | + ownerId: '', | ||
| 74 | + roomId: '', | ||
| 75 | + roomName: '', | ||
| 76 | + total: 0, | ||
| 77 | + records: 1 | ||
| 78 | + }, | ||
| 79 | + currentPage: 1, | ||
| 80 | + pageSize: 10, | ||
| 81 | + total: 0 | ||
| 82 | + } | ||
| 83 | + }, | ||
| 84 | + created() { | ||
| 85 | + this.communityId = getCommunityId() | ||
| 86 | + this.initEvents() | ||
| 87 | + }, | ||
| 88 | + methods: { | ||
| 89 | + initEvents() { | ||
| 90 | + this.$on('switch', this.handleSwitch) | ||
| 91 | + }, | ||
| 92 | + handleSwitch(param) { | ||
| 93 | + if (param.roomId == '') return | ||
| 94 | + this.clearSimplifyOwnerComplaintInfo() | ||
| 95 | + Object.assign(this.simplifyOwnerComplaintInfo, param) | ||
| 96 | + this.listSimplifyOwnerComplaint(this.currentPage, this.pageSize) | ||
| 97 | + }, | ||
| 98 | + handleCurrentChange(val) { | ||
| 99 | + this.currentPage = val | ||
| 100 | + this.listSimplifyOwnerComplaint(val, this.pageSize) | ||
| 101 | + }, | ||
| 102 | + listSimplifyOwnerComplaint(page, row) { | ||
| 103 | + const params = { | ||
| 104 | + page, | ||
| 105 | + row, | ||
| 106 | + communityId: this.communityId, | ||
| 107 | + roomId: this.simplifyOwnerComplaintInfo.roomId | ||
| 108 | + } | ||
| 109 | + | ||
| 110 | + listComplaints(params).then(res => { | ||
| 111 | + this.simplifyOwnerComplaintInfo.complaints = res.complaints | ||
| 112 | + this.total = res.records | ||
| 113 | + }) | ||
| 114 | + }, | ||
| 115 | + _openComplaintDetailModel(complaint) { | ||
| 116 | + this.$refs.complaintDetail.open(complaint) | ||
| 117 | + }, | ||
| 118 | + _openRunWorkflowImage(complaint) { | ||
| 119 | + const params = { | ||
| 120 | + communityId: this.communityId, | ||
| 121 | + businessKey: complaint.complaintId | ||
| 122 | + } | ||
| 123 | + | ||
| 124 | + listRunWorkflowImage(params).then(res => { | ||
| 125 | + if (res.code == 0) { | ||
| 126 | + this.$refs.viewImage.show({ | ||
| 127 | + url: `data:image/png;base64,${res.data}` | ||
| 128 | + }) | ||
| 129 | + } else { | ||
| 130 | + this.$message.error(res.msg) | ||
| 131 | + } | ||
| 132 | + }) | ||
| 133 | + }, | ||
| 134 | + clearSimplifyOwnerComplaintInfo() { | ||
| 135 | + this.simplifyOwnerComplaintInfo = { | ||
| 136 | + complaints: [], | ||
| 137 | + ownerId: '', | ||
| 138 | + roomId: '', | ||
| 139 | + roomName: '' | ||
| 140 | + } | ||
| 141 | + }, | ||
| 142 | + _openAddComplaintModal() { | ||
| 143 | + this.$router.push(`/pages/common/addRoomComplaint?roomId=${this.simplifyOwnerComplaintInfo.roomId}`) | ||
| 144 | + } | ||
| 145 | + } | ||
| 146 | +} | ||
| 147 | +</script> | ||
| 148 | + | ||
| 149 | +<style scoped> | ||
| 150 | +.margin-top { | ||
| 151 | + margin-top: 10px; | ||
| 152 | +} | ||
| 153 | +</style> | ||
| 0 | \ No newline at end of file | 154 | \ No newline at end of file |
src/components/simplify/simplifyOwnerComplaintDemo.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <simplify-owner-complaint ref="simplifyOwnerComplaint"></simplify-owner-complaint> | ||
| 3 | +</template> | ||
| 4 | + | ||
| 5 | +<script> | ||
| 6 | +import SimplifyOwnerComplaint from '@/components/simplify/simplifyOwnerComplaint' | ||
| 7 | + | ||
| 8 | +export default { | ||
| 9 | + name: 'SimplifyOwnerComplaintDemo', | ||
| 10 | + components: { | ||
| 11 | + SimplifyOwnerComplaint | ||
| 12 | + }, | ||
| 13 | + methods: { | ||
| 14 | + openSimplifyOwnerComplaint(params) { | ||
| 15 | + this.$refs.simplifyOwnerComplaint.$emit('switch', params) | ||
| 16 | + } | ||
| 17 | + } | ||
| 18 | +} | ||
| 19 | +</script> | ||
| 0 | \ No newline at end of file | 20 | \ No newline at end of file |
src/components/simplify/simplifyOwnerMember.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div> | ||
| 3 | + <el-row class="margin-top"> | ||
| 4 | + <el-col :span="20"></el-col> | ||
| 5 | + <el-col :span="4" v-if="simplifyOwnerMemberInfo.ownerId"> | ||
| 6 | + <el-button type="primary" size="small" @click="openAddMemberModel"> | ||
| 7 | + <i class="el-icon-plus"></i>{{ $t('simplifyOwnerMember.addMember') }} | ||
| 8 | + </el-button> | ||
| 9 | + </el-col> | ||
| 10 | + </el-row> | ||
| 11 | + | ||
| 12 | + <el-table | ||
| 13 | + :data="simplifyOwnerMemberInfo.members" | ||
| 14 | + style="width: 100%; margin-top: 10px" | ||
| 15 | + border> | ||
| 16 | + <el-table-column prop="memberId" :label="$t('simplifyOwnerMember.memberId')" align="center"></el-table-column> | ||
| 17 | + <el-table-column prop="name" :label="$t('simplifyOwnerMember.name')" align="center"></el-table-column> | ||
| 18 | + <el-table-column prop="sex" :label="$t('simplifyOwnerMember.gender')" align="center"> | ||
| 19 | + <template #default="{row}"> | ||
| 20 | + {{row.sex == 0 ? $t('simplifyOwnerMember.male') : $t('simplifyOwnerMember.female')}} | ||
| 21 | + </template> | ||
| 22 | + </el-table-column> | ||
| 23 | + <el-table-column prop="ownerTypeName" :label="$t('simplifyOwnerMember.type')" align="center"></el-table-column> | ||
| 24 | + <el-table-column prop="idCard" :label="$t('simplifyOwnerMember.idCard')" align="center"></el-table-column> | ||
| 25 | + <el-table-column prop="link" :label="$t('simplifyOwnerMember.contact')" align="center"></el-table-column> | ||
| 26 | + <el-table-column prop="userName" :label="$t('simplifyOwnerMember.creator')" align="center"></el-table-column> | ||
| 27 | + <el-table-column prop="remark" :label="$t('simplifyOwnerMember.remark')" align="center"></el-table-column> | ||
| 28 | + <el-table-column | ||
| 29 | + v-for="(item,index) in simplifyOwnerMemberInfo.listColumns" | ||
| 30 | + :key="index" | ||
| 31 | + :label="item" | ||
| 32 | + align="center"> | ||
| 33 | + <template #default="{row}"> | ||
| 34 | + {{row.listValues[index]}} | ||
| 35 | + </template> | ||
| 36 | + </el-table-column> | ||
| 37 | + <el-table-column :label="$t('simplifyOwnerMember.operation')" align="center"> | ||
| 38 | + <template #default="{row}"> | ||
| 39 | + <el-button type="text" @click="_openEditOwnerModel(row)"> | ||
| 40 | + {{ $t('simplifyOwnerMember.edit') }} | ||
| 41 | + </el-button> | ||
| 42 | + <el-button type="text" @click="_openDeleteOwnerModel(row)"> | ||
| 43 | + {{ $t('simplifyOwnerMember.delete') }} | ||
| 44 | + </el-button> | ||
| 45 | + </template> | ||
| 46 | + </el-table-column> | ||
| 47 | + </el-table> | ||
| 48 | + | ||
| 49 | + <el-pagination | ||
| 50 | + @current-change="handleCurrentChange" | ||
| 51 | + :current-page="currentPage" | ||
| 52 | + :page-size="pageSize" | ||
| 53 | + layout="total, prev, pager, next" | ||
| 54 | + :total="total"> | ||
| 55 | + </el-pagination> | ||
| 56 | + | ||
| 57 | + <add-owner-member ref="addOwnerMember" @listOwnerData="listSimplifyOwnerMember"></add-owner-member> | ||
| 58 | + <edit-owner-member ref="editOwnerMember" @listOwnerData="listSimplifyOwnerMember"></edit-owner-member> | ||
| 59 | + <delete-owner ref="deleteOwner" @listOwnerData="listSimplifyOwnerMember"></delete-owner> | ||
| 60 | + </div> | ||
| 61 | +</template> | ||
| 62 | + | ||
| 63 | +<script> | ||
| 64 | +import { getCommunityId } from '@/api/community/communityApi' | ||
| 65 | +import { queryOwnerMembers } from '@/api/simplify/simplifyOwnerMemberApi' | ||
| 66 | +import AddOwnerMember from '@/components/owner/addOwnerMember' | ||
| 67 | +import EditOwnerMember from '@/components/owner/editOwnerMember' | ||
| 68 | +import DeleteOwner from '@/components/owner/deleteOwner' | ||
| 69 | + | ||
| 70 | +export default { | ||
| 71 | + name: 'SimplifyOwnerMember', | ||
| 72 | + components: { | ||
| 73 | + AddOwnerMember, | ||
| 74 | + EditOwnerMember, | ||
| 75 | + DeleteOwner | ||
| 76 | + }, | ||
| 77 | + data() { | ||
| 78 | + return { | ||
| 79 | + simplifyOwnerMemberInfo: { | ||
| 80 | + members: [], | ||
| 81 | + ownerId: '', | ||
| 82 | + total: 0, | ||
| 83 | + records: 1, | ||
| 84 | + listColumns: [] | ||
| 85 | + }, | ||
| 86 | + currentPage: 1, | ||
| 87 | + pageSize: 10, | ||
| 88 | + total: 0 | ||
| 89 | + } | ||
| 90 | + }, | ||
| 91 | + created() { | ||
| 92 | + this.communityId = getCommunityId() | ||
| 93 | + this.getSimplifyOwnerMemberColumns() | ||
| 94 | + this.initEvents() | ||
| 95 | + }, | ||
| 96 | + methods: { | ||
| 97 | + initEvents() { | ||
| 98 | + this.$on('switch', this.handleSwitch) | ||
| 99 | + }, | ||
| 100 | + handleSwitch(param) { | ||
| 101 | + if (param.ownerId == '') return | ||
| 102 | + this.clearSimplifyOwnerMemberInfo() | ||
| 103 | + Object.assign(this.simplifyOwnerMemberInfo, param) | ||
| 104 | + this.listSimplifyOwnerMember(this.currentPage, this.pageSize) | ||
| 105 | + }, | ||
| 106 | + handleCurrentChange(val) { | ||
| 107 | + this.currentPage = val | ||
| 108 | + this.listSimplifyOwnerMember(val, this.pageSize) | ||
| 109 | + }, | ||
| 110 | + listSimplifyOwnerMember(page, rows) { | ||
| 111 | + const params = { | ||
| 112 | + page, | ||
| 113 | + row: rows, | ||
| 114 | + ownerId: this.simplifyOwnerMemberInfo.ownerId, | ||
| 115 | + communityId: this.communityId | ||
| 116 | + } | ||
| 117 | + | ||
| 118 | + queryOwnerMembers(params).then(res => { | ||
| 119 | + this.simplifyOwnerMemberInfo.members = res.data | ||
| 120 | + this.dealSimplifyOwnerMemberAttr(res.data) | ||
| 121 | + this.total = res.records | ||
| 122 | + }) | ||
| 123 | + }, | ||
| 124 | + openAddMemberModel() { | ||
| 125 | + this.$refs.addOwnerMember.open({ownerId: this.simplifyOwnerMemberInfo.ownerId}) | ||
| 126 | + }, | ||
| 127 | + _openDeleteOwnerModel(member) { | ||
| 128 | + member.ownerId = this.simplifyOwnerMemberInfo.ownerId | ||
| 129 | + this.$refs.deleteOwner.open(member) | ||
| 130 | + }, | ||
| 131 | + _openEditOwnerModel(member) { | ||
| 132 | + member.ownerId = this.simplifyOwnerMemberInfo.ownerId | ||
| 133 | + this.$refs.editOwnerMember.open(member) | ||
| 134 | + }, | ||
| 135 | + clearSimplifyOwnerMemberInfo() { | ||
| 136 | + const listColumns = this.simplifyOwnerMemberInfo.listColumns | ||
| 137 | + this.simplifyOwnerMemberInfo = { | ||
| 138 | + members: [], | ||
| 139 | + ownerId: '', | ||
| 140 | + listColumns | ||
| 141 | + } | ||
| 142 | + }, | ||
| 143 | + dealSimplifyOwnerMemberAttr(owners) { | ||
| 144 | + owners.forEach(item => { | ||
| 145 | + this.getSimplifyOwnerMemberColumnsValue(item) | ||
| 146 | + }) | ||
| 147 | + }, | ||
| 148 | + getSimplifyOwnerMemberColumnsValue(owner) { | ||
| 149 | + owner.listValues = [] | ||
| 150 | + if (!owner.ownerAttrDtos || owner.ownerAttrDtos.length < 1) { | ||
| 151 | + this.simplifyOwnerMemberInfo.listColumns.forEach(() => { | ||
| 152 | + owner.listValues.push('') | ||
| 153 | + }) | ||
| 154 | + return | ||
| 155 | + } | ||
| 156 | + | ||
| 157 | + this.simplifyOwnerMemberInfo.listColumns.forEach(value => { | ||
| 158 | + let tmpValue = '' | ||
| 159 | + owner.ownerAttrDtos.forEach(attrItem => { | ||
| 160 | + if (value == attrItem.specName) { | ||
| 161 | + tmpValue = attrItem.valueName | ||
| 162 | + } | ||
| 163 | + }) | ||
| 164 | + owner.listValues.push(tmpValue) | ||
| 165 | + }) | ||
| 166 | + }, | ||
| 167 | + getSimplifyOwnerMemberColumns() { | ||
| 168 | + this.simplifyOwnerMemberInfo.listColumns = [] | ||
| 169 | + // Implement get attr spec logic | ||
| 170 | + } | ||
| 171 | + } | ||
| 172 | +} | ||
| 173 | +</script> | ||
| 174 | + | ||
| 175 | +<style scoped> | ||
| 176 | +.margin-top { | ||
| 177 | + margin-top: 10px; | ||
| 178 | +} | ||
| 179 | +</style> | ||
| 0 | \ No newline at end of file | 180 | \ No newline at end of file |
src/components/simplify/simplifyOwnerMemberDemo.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <simplify-owner-member ref="simplifyOwnerMember"></simplify-owner-member> | ||
| 3 | +</template> | ||
| 4 | + | ||
| 5 | +<script> | ||
| 6 | +import SimplifyOwnerMember from '@/components/simplify/simplifyOwnerMember' | ||
| 7 | + | ||
| 8 | +export default { | ||
| 9 | + name: 'SimplifyOwnerMemberDemo', | ||
| 10 | + components: { | ||
| 11 | + SimplifyOwnerMember | ||
| 12 | + }, | ||
| 13 | + methods: { | ||
| 14 | + openSimplifyOwnerMember(params) { | ||
| 15 | + this.$refs.simplifyOwnerMember.$emit('switch', params) | ||
| 16 | + } | ||
| 17 | + } | ||
| 18 | +} | ||
| 19 | +</script> | ||
| 0 | \ No newline at end of file | 20 | \ No newline at end of file |
src/components/simplify/simplifyOwnerRepair.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div> | ||
| 3 | + <el-row class="margin-top"> | ||
| 4 | + <el-col :span="20"></el-col> | ||
| 5 | + <el-col :span="4" v-if="simplifyOwnerRepairInfo.roomId != ''"> | ||
| 6 | + <el-button type="primary" size="small" @click="_openAddOwnerRepairModal"> | ||
| 7 | + <i class="el-icon-plus"></i>{{ $t('simplifyOwnerRepair.phoneRepair') }} | ||
| 8 | + </el-button> | ||
| 9 | + </el-col> | ||
| 10 | + </el-row> | ||
| 11 | + | ||
| 12 | + <el-table | ||
| 13 | + :data="simplifyOwnerRepairInfo.repairs" | ||
| 14 | + style="width: 100%; margin-top: 10px" | ||
| 15 | + border> | ||
| 16 | + <el-table-column prop="repairId" :label="$t('simplifyOwnerRepair.workOrderCode')" align="center"></el-table-column> | ||
| 17 | + <el-table-column prop="repairObjName" :label="$t('simplifyOwnerRepair.location')" align="center"></el-table-column> | ||
| 18 | + <el-table-column prop="repairTypeName" :label="$t('simplifyOwnerRepair.repairType')" align="center"></el-table-column> | ||
| 19 | + <el-table-column prop="repairName" :label="$t('simplifyOwnerRepair.reporter')" align="center"></el-table-column> | ||
| 20 | + <el-table-column prop="tel" :label="$t('simplifyOwnerRepair.contact')" align="center"></el-table-column> | ||
| 21 | + <el-table-column prop="appointmentTime" :label="$t('simplifyOwnerRepair.appointmentTime')" align="center"></el-table-column> | ||
| 22 | + <el-table-column prop="stateName" :label="$t('simplifyOwnerRepair.status')" align="center"></el-table-column> | ||
| 23 | + <el-table-column :label="$t('simplifyOwnerRepair.operation')" align="center"> | ||
| 24 | + <template #default="{row}"> | ||
| 25 | + <el-button type="text" @click="_openRepairDetail(row)"> | ||
| 26 | + {{ $t('simplifyOwnerRepair.details') }} | ||
| 27 | + </el-button> | ||
| 28 | + </template> | ||
| 29 | + </el-table-column> | ||
| 30 | + </el-table> | ||
| 31 | + | ||
| 32 | + <el-pagination | ||
| 33 | + @current-change="handleCurrentChange" | ||
| 34 | + :current-page="currentPage" | ||
| 35 | + :page-size="pageSize" | ||
| 36 | + layout="total, prev, pager, next" | ||
| 37 | + :total="total"> | ||
| 38 | + </el-pagination> | ||
| 39 | + </div> | ||
| 40 | +</template> | ||
| 41 | + | ||
| 42 | +<script> | ||
| 43 | +import { getCommunityId } from '@/api/community/communityApi' | ||
| 44 | +import { listOwnerRepairs } from '@/api/simplify/simplifyOwnerRepairApi' | ||
| 45 | + | ||
| 46 | +export default { | ||
| 47 | + name: 'SimplifyOwnerRepair', | ||
| 48 | + data() { | ||
| 49 | + return { | ||
| 50 | + simplifyOwnerRepairInfo: { | ||
| 51 | + repairs: [], | ||
| 52 | + ownerId: '', | ||
| 53 | + roomId: '', | ||
| 54 | + total: 0, | ||
| 55 | + records: 1, | ||
| 56 | + roomName: '' | ||
| 57 | + }, | ||
| 58 | + currentPage: 1, | ||
| 59 | + pageSize: 10, | ||
| 60 | + total: 0 | ||
| 61 | + } | ||
| 62 | + }, | ||
| 63 | + created() { | ||
| 64 | + this.communityId = getCommunityId() | ||
| 65 | + this.initEvents() | ||
| 66 | + }, | ||
| 67 | + methods: { | ||
| 68 | + initEvents() { | ||
| 69 | + this.$on('switch', this.handleSwitch) | ||
| 70 | + }, | ||
| 71 | + handleSwitch(param) { | ||
| 72 | + if (param.roomId == '') return | ||
| 73 | + this.clearSimplifyOwnerRepairInfo() | ||
| 74 | + Object.assign(this.simplifyOwnerRepairInfo, param) | ||
| 75 | + this.listSimplifyOwnerRepair(this.currentPage, this.pageSize) | ||
| 76 | + }, | ||
| 77 | + handleCurrentChange(val) { | ||
| 78 | + this.currentPage = val | ||
| 79 | + this.listSimplifyOwnerRepair(val, this.pageSize) | ||
| 80 | + }, | ||
| 81 | + listSimplifyOwnerRepair(page, row) { | ||
| 82 | + const params = { | ||
| 83 | + page, | ||
| 84 | + row, | ||
| 85 | + communityId: this.communityId, | ||
| 86 | + repairObjId: this.simplifyOwnerRepairInfo.roomId | ||
| 87 | + } | ||
| 88 | + | ||
| 89 | + listOwnerRepairs(params).then(res => { | ||
| 90 | + this.simplifyOwnerRepairInfo.repairs = res.data | ||
| 91 | + this.total = res.records | ||
| 92 | + }) | ||
| 93 | + }, | ||
| 94 | + _openRepairDetail(repairPool) { | ||
| 95 | + this.$router.push(`/pages/property/ownerRepairDetail?repairId=${repairPool.repairId}`) | ||
| 96 | + }, | ||
| 97 | + clearSimplifyOwnerRepairInfo() { | ||
| 98 | + this.simplifyOwnerRepairInfo = { | ||
| 99 | + repairs: [], | ||
| 100 | + ownerId: '', | ||
| 101 | + roomId: '', | ||
| 102 | + total: 0, | ||
| 103 | + records: 1, | ||
| 104 | + roomName: '' | ||
| 105 | + } | ||
| 106 | + }, | ||
| 107 | + _openAddOwnerRepairModal() { | ||
| 108 | + this.$router.push(`/pages/common/addRoomRepair?roomId=${this.simplifyOwnerRepairInfo.roomId}&roomName=${this.simplifyOwnerRepairInfo.roomName}`) | ||
| 109 | + } | ||
| 110 | + } | ||
| 111 | +} | ||
| 112 | +</script> | ||
| 113 | + | ||
| 114 | +<style scoped> | ||
| 115 | +.margin-top { | ||
| 116 | + margin-top: 10px; | ||
| 117 | +} | ||
| 118 | +</style> | ||
| 0 | \ No newline at end of file | 119 | \ No newline at end of file |
src/components/simplify/simplifyOwnerRepairDemo.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <simplify-owner-repair ref="simplifyOwnerRepair"></simplify-owner-repair> | ||
| 3 | +</template> | ||
| 4 | + | ||
| 5 | +<script> | ||
| 6 | +import SimplifyOwnerRepair from '@/components/simplify/simplifyOwnerRepair' | ||
| 7 | + | ||
| 8 | +export default { | ||
| 9 | + name: 'SimplifyOwnerRepairDemo', | ||
| 10 | + components: { | ||
| 11 | + SimplifyOwnerRepair | ||
| 12 | + }, | ||
| 13 | + methods: { | ||
| 14 | + openSimplifyOwnerRepair(params) { | ||
| 15 | + this.$refs.simplifyOwnerRepair.$emit('switch', params) | ||
| 16 | + } | ||
| 17 | + } | ||
| 18 | +} | ||
| 19 | +</script> | ||
| 0 | \ No newline at end of file | 20 | \ No newline at end of file |
src/components/simplify/simplifyOwnerTransactionCar.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div> | ||
| 3 | + <el-row class="margin-top"> | ||
| 4 | + <el-col :span="4"> | ||
| 5 | + <el-select v-model="simplifyOwnerTransactionCarInfo.carId" @change="changeTransactionCar"> | ||
| 6 | + <el-option | ||
| 7 | + v-for="(item,index) in simplifyOwnerTransactionCarInfo.ownerCars" | ||
| 8 | + :key="index" | ||
| 9 | + :label="item.carNum" | ||
| 10 | + :value="item.carId" | ||
| 11 | + ></el-option> | ||
| 12 | + </el-select> | ||
| 13 | + </el-col> | ||
| 14 | + <el-col :span="20"></el-col> | ||
| 15 | + </el-row> | ||
| 16 | + <div> | ||
| 17 | + <el-table | ||
| 18 | + :data="simplifyOwnerTransactionCarInfo.machineTranslates" | ||
| 19 | + style="margin-top:10px" | ||
| 20 | + border | ||
| 21 | + > | ||
| 22 | + <el-table-column prop="machineTranslateId" :label="$t('simplifyOwnerTransactionCar.syncId')" align="center"></el-table-column> | ||
| 23 | + <el-table-column prop="typeCdName" :label="$t('simplifyOwnerTransactionCar.objectType')" align="center"></el-table-column> | ||
| 24 | + <el-table-column prop="objName" :label="$t('simplifyOwnerTransactionCar.objectName')" align="center"></el-table-column> | ||
| 25 | + <el-table-column prop="machineCmdName" :label="$t('simplifyOwnerTransactionCar.command')" align="center"></el-table-column> | ||
| 26 | + <el-table-column prop="stateName" :label="$t('simplifyOwnerTransactionCar.status')" align="center"></el-table-column> | ||
| 27 | + <el-table-column prop="remark" :label="$t('simplifyOwnerTransactionCar.remark')" align="center" width="80px"></el-table-column> | ||
| 28 | + <el-table-column prop="updateTime" :label="$t('simplifyOwnerTransactionCar.syncTime')" align="center"></el-table-column> | ||
| 29 | + <el-table-column :label="$t('simplifyOwnerTransactionCar.operation')" align="center"> | ||
| 30 | + <template slot-scope="scope"> | ||
| 31 | + <el-button | ||
| 32 | + size="mini" | ||
| 33 | + @click="_openEditCarTranslateModel(scope.row)" | ||
| 34 | + >{{$t('simplifyOwnerTransactionCar.resync')}}</el-button> | ||
| 35 | + </template> | ||
| 36 | + </el-table-column> | ||
| 37 | + </el-table> | ||
| 38 | + <el-pagination | ||
| 39 | + @current-change="handleCurrentChange" | ||
| 40 | + :current-page="currentPage" | ||
| 41 | + :page-size="pageSize" | ||
| 42 | + layout="total, prev, pager, next" | ||
| 43 | + :total="total" | ||
| 44 | + class="pagination" | ||
| 45 | + ></el-pagination> | ||
| 46 | + </div> | ||
| 47 | + </div> | ||
| 48 | +</template> | ||
| 49 | + | ||
| 50 | +<script> | ||
| 51 | +import { listMachineTranslates, queryOwnerCars } from '@/api/simplify/simplifyOwnerTransactionCarApi' | ||
| 52 | +import { getCommunityId } from '@/api/community/communityApi' | ||
| 53 | + | ||
| 54 | +export default { | ||
| 55 | + name: 'SimplifyOwnerTransactionCar', | ||
| 56 | + data() { | ||
| 57 | + return { | ||
| 58 | + simplifyOwnerTransactionCarInfo: { | ||
| 59 | + machineTranslates: [], | ||
| 60 | + ownerId: '', | ||
| 61 | + carId: '', | ||
| 62 | + ownerCars: [] | ||
| 63 | + }, | ||
| 64 | + currentPage: 1, | ||
| 65 | + pageSize: 10, | ||
| 66 | + total: 0, | ||
| 67 | + communityId: '' | ||
| 68 | + } | ||
| 69 | + }, | ||
| 70 | + created() { | ||
| 71 | + this.communityId = getCommunityId() | ||
| 72 | + this.$on('switch', this.handleSwitch) | ||
| 73 | + this.$on('listMachineTranslate', this.listMachineTranslates) | ||
| 74 | + }, | ||
| 75 | + methods: { | ||
| 76 | + handleSwitch(params) { | ||
| 77 | + if (!params.ownerId) return | ||
| 78 | + this.clearSimplifyOwnerTransactionCarInfo() | ||
| 79 | + Object.assign(this.simplifyOwnerTransactionCarInfo, params) | ||
| 80 | + this.listTransactionOwnerCar().then(() => { | ||
| 81 | + this.listMachineTranslates() | ||
| 82 | + }) | ||
| 83 | + }, | ||
| 84 | + async listMachineTranslates() { | ||
| 85 | + try { | ||
| 86 | + const params = { | ||
| 87 | + page: this.currentPage, | ||
| 88 | + row: this.pageSize, | ||
| 89 | + communityId: this.communityId, | ||
| 90 | + objId: this.simplifyOwnerTransactionCarInfo.carId, | ||
| 91 | + typeCd: '4455' | ||
| 92 | + } | ||
| 93 | + const res = await listMachineTranslates(params) | ||
| 94 | + this.simplifyOwnerTransactionCarInfo.machineTranslates = res.data.machineTranslates | ||
| 95 | + this.total = res.data.total | ||
| 96 | + } catch (error) { | ||
| 97 | + console.error('Failed to load machine translates:', error) | ||
| 98 | + } | ||
| 99 | + }, | ||
| 100 | + async listTransactionOwnerCar() { | ||
| 101 | + try { | ||
| 102 | + const params = { | ||
| 103 | + page: 1, | ||
| 104 | + row: 50, | ||
| 105 | + ownerId: this.simplifyOwnerTransactionCarInfo.ownerId, | ||
| 106 | + communityId: this.communityId | ||
| 107 | + } | ||
| 108 | + const res = await queryOwnerCars(params) | ||
| 109 | + this.simplifyOwnerTransactionCarInfo.ownerCars = res.data | ||
| 110 | + if (res.data.length > 0) { | ||
| 111 | + this.simplifyOwnerTransactionCarInfo.carId = res.data[0].carId | ||
| 112 | + } | ||
| 113 | + } catch (error) { | ||
| 114 | + console.error('Failed to load owner cars:', error) | ||
| 115 | + } | ||
| 116 | + }, | ||
| 117 | + changeTransactionCar() { | ||
| 118 | + const car = this.simplifyOwnerTransactionCarInfo.ownerCars.find( | ||
| 119 | + item => item.carId === this.simplifyOwnerTransactionCarInfo.carId | ||
| 120 | + ) | ||
| 121 | + if (!car) return | ||
| 122 | + this.listMachineTranslates() | ||
| 123 | + }, | ||
| 124 | + clearSimplifyOwnerTransactionCarInfo() { | ||
| 125 | + this.simplifyOwnerTransactionCarInfo = { | ||
| 126 | + machineTranslates: [], | ||
| 127 | + ownerId: '', | ||
| 128 | + carId: '', | ||
| 129 | + ownerCars: [] | ||
| 130 | + } | ||
| 131 | + }, | ||
| 132 | + handleCurrentChange(val) { | ||
| 133 | + this.currentPage = val | ||
| 134 | + this.listMachineTranslates() | ||
| 135 | + }, | ||
| 136 | + _openEditCarTranslateModel(machineTranslate) { | ||
| 137 | + this.$emit('edit-machine-translate', machineTranslate) | ||
| 138 | + } | ||
| 139 | + } | ||
| 140 | +} | ||
| 141 | +</script> | ||
| 142 | + | ||
| 143 | +<style scoped> | ||
| 144 | +.margin-top { | ||
| 145 | + margin-top: 15px; | ||
| 146 | +} | ||
| 147 | +.pagination { | ||
| 148 | + margin-top: 15px; | ||
| 149 | + text-align: right; | ||
| 150 | +} | ||
| 151 | +</style> | ||
| 0 | \ No newline at end of file | 152 | \ No newline at end of file |
src/components/simplify/simplifyOwnerTransactionCarDemo.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <simplify-owner-transaction-car ref="simplifyOwnerTransactionCar"></simplify-owner-transaction-car> | ||
| 3 | +</template> | ||
| 4 | + | ||
| 5 | +<script> | ||
| 6 | +import SimplifyOwnerTransactionCar from '@/components/simplify/simplifyOwnerTransactionCar' | ||
| 7 | + | ||
| 8 | +export default { | ||
| 9 | + name: 'SimplifyOwnerTransactionCarDemo', | ||
| 10 | + components: { | ||
| 11 | + SimplifyOwnerTransactionCar | ||
| 12 | + }, | ||
| 13 | + methods: { | ||
| 14 | + openSimplifyOwnerTransactionCar(params) { | ||
| 15 | + this.$refs.simplifyOwnerTransactionCar.$emit('switch', params) | ||
| 16 | + } | ||
| 17 | + } | ||
| 18 | +} | ||
| 19 | +</script> | ||
| 0 | \ No newline at end of file | 20 | \ No newline at end of file |
src/components/simplify/simplifyShopsHireLog.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div> | ||
| 3 | + <el-table :data="simplifyShopsHireLogInfo.owners" style="margin-top:10px" border> | ||
| 4 | + <el-table-column prop="name" :label="$t('simplifyShopsHireLog.ownerName')" align="center"></el-table-column> | ||
| 5 | + <el-table-column prop="link" :label="$t('simplifyShopsHireLog.ownerPhone')" align="center"></el-table-column> | ||
| 6 | + <el-table-column prop="startTime" :label="$t('simplifyShopsHireLog.startTime')" align="center"></el-table-column> | ||
| 7 | + <el-table-column prop="endTime" :label="$t('simplifyShopsHireLog.endTime')" align="center"></el-table-column> | ||
| 8 | + <el-table-column prop="createTime" :label="$t('simplifyShopsHireLog.createTime')" align="center"></el-table-column> | ||
| 9 | + <el-table-column :label="$t('simplifyShopsHireLog.operation')" align="center"> | ||
| 10 | + <template slot-scope="scope"> | ||
| 11 | + <el-button size="mini" @click="_openShopsOwnerFee(scope.row)">{{$t('simplifyShopsHireLog.viewFee')}}</el-button> | ||
| 12 | + </template> | ||
| 13 | + </el-table-column> | ||
| 14 | + </el-table> | ||
| 15 | + <el-pagination | ||
| 16 | + @current-change="handleCurrentChange" | ||
| 17 | + :current-page="currentPage" | ||
| 18 | + :page-size="pageSize" | ||
| 19 | + layout="total, prev, pager, next" | ||
| 20 | + :total="total" | ||
| 21 | + class="pagination" | ||
| 22 | + ></el-pagination> | ||
| 23 | + </div> | ||
| 24 | +</template> | ||
| 25 | + | ||
| 26 | +<script> | ||
| 27 | +import { queryShopsHireLog } from '@/api/simplify/simplifyShopsHireLogApi' | ||
| 28 | +import { getCommunityId } from '@/api/community/communityApi' | ||
| 29 | + | ||
| 30 | +export default { | ||
| 31 | + name: 'SimplifyShopsHireLog', | ||
| 32 | + data() { | ||
| 33 | + return { | ||
| 34 | + simplifyShopsHireLogInfo: { | ||
| 35 | + owners: [], | ||
| 36 | + ownerId: '', | ||
| 37 | + roomId: '' | ||
| 38 | + }, | ||
| 39 | + currentPage: 1, | ||
| 40 | + pageSize: 10, | ||
| 41 | + total: 0, | ||
| 42 | + communityId: '' | ||
| 43 | + } | ||
| 44 | + }, | ||
| 45 | + created() { | ||
| 46 | + this.communityId = getCommunityId() | ||
| 47 | + this.$on('switch', this.handleSwitch) | ||
| 48 | + this.$on('listMachineTranslate', this.listShopsHireLog) | ||
| 49 | + }, | ||
| 50 | + methods: { | ||
| 51 | + handleSwitch(params) { | ||
| 52 | + if (!params.roomId) return | ||
| 53 | + this.clearSimplifyShopsHireLogInfo() | ||
| 54 | + Object.assign(this.simplifyShopsHireLogInfo, params) | ||
| 55 | + this.listShopsHireLog() | ||
| 56 | + }, | ||
| 57 | + async listShopsHireLog() { | ||
| 58 | + try { | ||
| 59 | + const params = { | ||
| 60 | + page: this.currentPage, | ||
| 61 | + row: this.pageSize, | ||
| 62 | + communityId: this.communityId, | ||
| 63 | + roomId: this.simplifyShopsHireLogInfo.roomId | ||
| 64 | + } | ||
| 65 | + const res = await queryShopsHireLog(params) | ||
| 66 | + this.simplifyShopsHireLogInfo.owners = res.data | ||
| 67 | + this.total = res.data.total | ||
| 68 | + } catch (error) { | ||
| 69 | + console.error('Failed to load shops hire log:', error) | ||
| 70 | + } | ||
| 71 | + }, | ||
| 72 | + _openShopsOwnerFee(owner) { | ||
| 73 | + this.$router.push({ | ||
| 74 | + path: '/pages/property/listRoomFee', | ||
| 75 | + query: { | ||
| 76 | + roomId: owner.roomId, | ||
| 77 | + ownerId: owner.ownerId, | ||
| 78 | + hireOwnerFee: 1 | ||
| 79 | + } | ||
| 80 | + }) | ||
| 81 | + }, | ||
| 82 | + clearSimplifyShopsHireLogInfo() { | ||
| 83 | + this.simplifyShopsHireLogInfo = { | ||
| 84 | + owners: [], | ||
| 85 | + ownerId: '', | ||
| 86 | + roomId: '' | ||
| 87 | + } | ||
| 88 | + }, | ||
| 89 | + handleCurrentChange(val) { | ||
| 90 | + this.currentPage = val | ||
| 91 | + this.listShopsHireLog() | ||
| 92 | + } | ||
| 93 | + } | ||
| 94 | +} | ||
| 95 | +</script> | ||
| 96 | + | ||
| 97 | +<style scoped> | ||
| 98 | +.pagination { | ||
| 99 | + margin-top: 15px; | ||
| 100 | + text-align: right; | ||
| 101 | +} | ||
| 102 | +</style> | ||
| 0 | \ No newline at end of file | 103 | \ No newline at end of file |
src/components/simplify/simplifyShopsHireLogDemo.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <simplify-shops-hire-log ref="simplifyShopsHireLog"></simplify-shops-hire-log> | ||
| 3 | +</template> | ||
| 4 | + | ||
| 5 | +<script> | ||
| 6 | +import SimplifyShopsHireLog from '@/components/simplify/simplifyShopsHireLog' | ||
| 7 | + | ||
| 8 | +export default { | ||
| 9 | + name: 'SimplifyShopsHireLogDemo', | ||
| 10 | + components: { | ||
| 11 | + SimplifyShopsHireLog | ||
| 12 | + }, | ||
| 13 | + methods: { | ||
| 14 | + openSimplifyShopsHireLog(params) { | ||
| 15 | + this.$refs.simplifyShopsHireLog.$emit('switch', params) | ||
| 16 | + } | ||
| 17 | + } | ||
| 18 | +} | ||
| 19 | +</script> | ||
| 0 | \ No newline at end of file | 20 | \ No newline at end of file |
src/i18n/feeI18n.js
| @@ -26,6 +26,7 @@ import { messages as feeSummaryMessages } from '../views/fee/feeSummaryLang' | @@ -26,6 +26,7 @@ import { messages as feeSummaryMessages } from '../views/fee/feeSummaryLang' | ||
| 26 | import { messages as roomCreateFeeMessages } from '../views/fee/roomCreateFeeLang.js' | 26 | import { messages as roomCreateFeeMessages } from '../views/fee/roomCreateFeeLang.js' |
| 27 | import { messages as propertyFeeMessages } from '../views/fee/propertyFeeLang' | 27 | import { messages as propertyFeeMessages } from '../views/fee/propertyFeeLang' |
| 28 | import { messages as batchPayFeeOrderMessages } from '../views/fee/batchPayFeeOrderLang' | 28 | import { messages as batchPayFeeOrderMessages } from '../views/fee/batchPayFeeOrderLang' |
| 29 | +import { messages as simplifyAcceptanceMessages } from '../views/simplify/simplifyAcceptanceLang.js' | ||
| 29 | 30 | ||
| 30 | export const messages = { | 31 | export const messages = { |
| 31 | en: { | 32 | en: { |
| @@ -57,6 +58,7 @@ export const messages = { | @@ -57,6 +58,7 @@ export const messages = { | ||
| 57 | ...roomCreateFeeMessages.en, | 58 | ...roomCreateFeeMessages.en, |
| 58 | ...propertyFeeMessages.en, | 59 | ...propertyFeeMessages.en, |
| 59 | ...batchPayFeeOrderMessages.en, | 60 | ...batchPayFeeOrderMessages.en, |
| 61 | + ...simplifyAcceptanceMessages.en, | ||
| 60 | }, | 62 | }, |
| 61 | zh: { | 63 | zh: { |
| 62 | ...contractCreateFeeMessages.zh, | 64 | ...contractCreateFeeMessages.zh, |
| @@ -87,5 +89,6 @@ export const messages = { | @@ -87,5 +89,6 @@ export const messages = { | ||
| 87 | ...roomCreateFeeMessages.zh, | 89 | ...roomCreateFeeMessages.zh, |
| 88 | ...propertyFeeMessages.zh, | 90 | ...propertyFeeMessages.zh, |
| 89 | ...batchPayFeeOrderMessages.zh, | 91 | ...batchPayFeeOrderMessages.zh, |
| 92 | + ...simplifyAcceptanceMessages.zh, | ||
| 90 | } | 93 | } |
| 91 | } | 94 | } |
| 92 | \ No newline at end of file | 95 | \ No newline at end of file |
src/router/feeRouter.js
| @@ -120,9 +120,13 @@ export default [ | @@ -120,9 +120,13 @@ export default [ | ||
| 120 | component: () => import('@/views/fee/propertyFeeList.vue') | 120 | component: () => import('@/views/fee/propertyFeeList.vue') |
| 121 | }, | 121 | }, |
| 122 | { | 122 | { |
| 123 | - path:'/views/fee/batchPayFeeOrder', | ||
| 124 | - name:'/views/fee/batchPayFeeOrder', | 123 | + path: '/views/fee/batchPayFeeOrder', |
| 124 | + name: '/views/fee/batchPayFeeOrder', | ||
| 125 | component: () => import('@/views/fee/batchPayFeeOrderList.vue') | 125 | component: () => import('@/views/fee/batchPayFeeOrderList.vue') |
| 126 | - }, | ||
| 127 | - | 126 | + }, |
| 127 | + { | ||
| 128 | + path: '/pages/property/simplifyAcceptance', | ||
| 129 | + name: '/pages/property/simplifyAcceptance', | ||
| 130 | + component: () => import('@/views/simplify/simplifyAcceptanceList.vue') | ||
| 131 | + }, | ||
| 128 | ] | 132 | ] |
| 129 | \ No newline at end of file | 133 | \ No newline at end of file |
src/views/simplify/simplifyAcceptanceLang.js
0 → 100644
| 1 | +export const messages = { | ||
| 2 | + en: { | ||
| 3 | + simplifyAcceptance: { | ||
| 4 | + houseNumber: 'House Number', | ||
| 5 | + ownerName: 'Owner Name', | ||
| 6 | + ownerPhone: 'Owner Phone', | ||
| 7 | + ownerIdCard: 'Owner ID Card', | ||
| 8 | + licensePlate: 'License Plate', | ||
| 9 | + memberName: 'Member Name', | ||
| 10 | + memberPhone: 'Member Phone', | ||
| 11 | + memberIdCard: 'Member ID Card', | ||
| 12 | + shopNumber: 'Shop Number', | ||
| 13 | + contractNumber: 'Contract Number', | ||
| 14 | + search: 'Search', | ||
| 15 | + selectHouse: 'Select House', | ||
| 16 | + moreOperations: 'More Operations', | ||
| 17 | + handover: 'Handover', | ||
| 18 | + exitRoom: 'Exit Room', | ||
| 19 | + ownerId: 'Owner ID:', | ||
| 20 | + ownerNameLabel: 'Owner Name:', | ||
| 21 | + contactPhone: 'Contact Phone:', | ||
| 22 | + idCard: 'ID Card:', | ||
| 23 | + checkInDate: 'Check-in Date:', | ||
| 24 | + gender: 'Gender:', | ||
| 25 | + male: 'Male', | ||
| 26 | + female: 'Female', | ||
| 27 | + ownerRemark: 'Owner Remark:', | ||
| 28 | + houseNumberLabel: 'House Number:', | ||
| 29 | + shopNumberLabel: 'Shop Number:', | ||
| 30 | + houseArea: 'House Area:', | ||
| 31 | + houseType: 'House Type:', | ||
| 32 | + layout: 'Layout:', | ||
| 33 | + houseStatus: 'House Status:', | ||
| 34 | + indoorArea: 'Indoor Area:', | ||
| 35 | + rent: 'Rent:', | ||
| 36 | + houseRemark: 'House Remark:', | ||
| 37 | + accountBalance: 'Account Balance:', | ||
| 38 | + preDeposit: 'Pre-deposit', | ||
| 39 | + depositAmount: 'Deposit Amount:', | ||
| 40 | + refundDeposit: 'Refund Deposit', | ||
| 41 | + inputSearchCondition: 'Please enter search condition', | ||
| 42 | + selectHouseFirst: 'Please select a house first', | ||
| 43 | + houseNumberPlaceholder: 'Please enter house number like 1-1-1', | ||
| 44 | + ownerNamePlaceholder: 'Please enter owner name', | ||
| 45 | + ownerPhonePlaceholder: 'Please enter owner phone', | ||
| 46 | + ownerIdCardPlaceholder: 'Please enter owner ID card', | ||
| 47 | + licensePlatePlaceholder: 'Please enter license plate', | ||
| 48 | + memberNamePlaceholder: 'Please enter member name', | ||
| 49 | + memberPhonePlaceholder: 'Please enter member phone', | ||
| 50 | + memberIdCardPlaceholder: 'Please enter member ID card', | ||
| 51 | + shopNumberPlaceholder: 'Please enter shop number like 1-1', | ||
| 52 | + contractNumberPlaceholder: 'Please enter contract number', | ||
| 53 | + houseFee: 'House Fee', | ||
| 54 | + parkingFee: 'Parking Fee', | ||
| 55 | + paymentHistory: 'Payment History', | ||
| 56 | + house: 'House', | ||
| 57 | + contract: 'Contract', | ||
| 58 | + familyMember: 'Family Member', | ||
| 59 | + vehicle: 'Vehicle', | ||
| 60 | + paymentReminder: 'Payment Reminder', | ||
| 61 | + ownerFeedback: 'Owner Feedback', | ||
| 62 | + repairOrder: 'Repair Order', | ||
| 63 | + complaintOrder: 'Complaint Order', | ||
| 64 | + ownerSync: 'Owner Sync', | ||
| 65 | + vehicleSync: 'Vehicle Sync', | ||
| 66 | + reprintReceipt: 'Reprint Receipt', | ||
| 67 | + historyOwner: 'History Owner', | ||
| 68 | + meterReadingRecord: 'Meter Reading Record' | ||
| 69 | + }, | ||
| 70 | + finishFee: { | ||
| 71 | + confirmOperation: 'Please confirm your operation', | ||
| 72 | + confirmFinishFee: 'Confirm to finish the fee? Once finished, it cannot be re-enabled. Please operate carefully!', | ||
| 73 | + cancel: 'Cancel', | ||
| 74 | + confirm: 'Confirm', | ||
| 75 | + successMessage: 'Fee finished successfully', | ||
| 76 | + errorMessage: 'Failed to finish fee' | ||
| 77 | + }, | ||
| 78 | + simplifyCarFee: { | ||
| 79 | + buyMonthCard: 'Buy Monthly Card', | ||
| 80 | + batchPayment: 'Batch Payment', | ||
| 81 | + createFee: 'Create Fee', | ||
| 82 | + feeItem: 'Fee Item', | ||
| 83 | + feeFlag: 'Fee Flag', | ||
| 84 | + feeType: 'Fee Type', | ||
| 85 | + amountReceivable: 'Amount Receivable', | ||
| 86 | + accountingTime: 'Accounting Time', | ||
| 87 | + receivablePeriod: 'Receivable Period', | ||
| 88 | + description: 'Description', | ||
| 89 | + status: 'Status', | ||
| 90 | + operation: 'Operation', | ||
| 91 | + lastDegree: 'Last Degree', | ||
| 92 | + currentDegree: 'Current Degree', | ||
| 93 | + unitPrice: 'Unit Price', | ||
| 94 | + additionalFee: 'Additional Fee', | ||
| 95 | + algorithm: 'Algorithm', | ||
| 96 | + usage: 'Usage', | ||
| 97 | + fixedFee: 'Fixed Fee', | ||
| 98 | + payment: 'Payment', | ||
| 99 | + paymentHistory: 'Payment History', | ||
| 100 | + moreOperations: 'More Operations', | ||
| 101 | + cancelFee: 'Cancel Fee', | ||
| 102 | + manualFinish: 'Manual Finish', | ||
| 103 | + feeChange: 'Fee Change', | ||
| 104 | + details: 'Details', | ||
| 105 | + note1: 'Note: "-" in receivable end time means not yet receivable or payment has ended', | ||
| 106 | + note2: 'Amount receivable -1 generally means there is an error in the fee item formula setting, please check', | ||
| 107 | + arrearsSubtotal: 'Arrears Subtotal', | ||
| 108 | + parkingLot: ' Parking Lot ', | ||
| 109 | + parkingSpace: ' Parking Space', | ||
| 110 | + owner: 'Owner', | ||
| 111 | + phone: 'Phone' | ||
| 112 | + }, | ||
| 113 | + simplifyContract: { | ||
| 114 | + contractName: 'Contract Name', | ||
| 115 | + contractCode: 'Contract Code', | ||
| 116 | + parentContractCode: 'Parent Contract Code', | ||
| 117 | + contractType: 'Contract Type', | ||
| 118 | + startTime: 'Start Time', | ||
| 119 | + endTime: 'End Time', | ||
| 120 | + status: 'Status', | ||
| 121 | + operation: 'Operation', | ||
| 122 | + fee: 'Fee', | ||
| 123 | + view: 'View', | ||
| 124 | + print: 'Print', | ||
| 125 | + draftContract: 'Draft Contract' | ||
| 126 | + }, | ||
| 127 | + simplifyOwnerMember: { | ||
| 128 | + addMember: 'Add Member', | ||
| 129 | + memberId: 'Member ID', | ||
| 130 | + name: 'Name', | ||
| 131 | + gender: 'Gender', | ||
| 132 | + male: 'Male', | ||
| 133 | + female: 'Female', | ||
| 134 | + type: 'Type', | ||
| 135 | + idCard: 'ID Card', | ||
| 136 | + contact: 'Contact', | ||
| 137 | + creator: 'Creator', | ||
| 138 | + remark: 'Remark', | ||
| 139 | + operation: 'Operation', | ||
| 140 | + edit: 'Edit', | ||
| 141 | + delete: 'Delete' | ||
| 142 | + }, | ||
| 143 | + simplifyOwnerCar: { | ||
| 144 | + addCar: 'Add Vehicle', | ||
| 145 | + plateNumber: 'Plate Number', | ||
| 146 | + carBrand: 'Car Brand', | ||
| 147 | + carType: 'Car Type', | ||
| 148 | + color: 'Color', | ||
| 149 | + owner: 'Owner', | ||
| 150 | + parkingSpace: 'Parking Space', | ||
| 151 | + startTime: 'Start Time', | ||
| 152 | + endTime: 'End Time', | ||
| 153 | + status: 'Status', | ||
| 154 | + operation: 'Operation', | ||
| 155 | + releaseSpace: 'Release Space', | ||
| 156 | + renewSpace: 'Renew Space', | ||
| 157 | + edit: 'Edit', | ||
| 158 | + delete: 'Delete', | ||
| 159 | + parkingLot: 'Parking Lot', | ||
| 160 | + space: 'Space', | ||
| 161 | + none: 'None' | ||
| 162 | + }, | ||
| 163 | + simplifyOwnerRepair: { | ||
| 164 | + phoneRepair: 'Phone Repair', | ||
| 165 | + workOrderCode: 'Work Order Code', | ||
| 166 | + location: 'Location', | ||
| 167 | + repairType: 'Repair Type', | ||
| 168 | + reporter: 'Reporter', | ||
| 169 | + contact: 'Contact', | ||
| 170 | + appointmentTime: 'Appointment Time', | ||
| 171 | + status: 'Status', | ||
| 172 | + operation: 'Operation', | ||
| 173 | + details: 'Details' | ||
| 174 | + }, | ||
| 175 | + simplifyOwnerComplaint: { | ||
| 176 | + complaint: 'Complaint', | ||
| 177 | + complaintType: 'Complaint Type', | ||
| 178 | + house: 'House', | ||
| 179 | + building: 'Building', | ||
| 180 | + unit: 'Unit', | ||
| 181 | + room: 'Room', | ||
| 182 | + complainant: 'Complainant', | ||
| 183 | + complainantPhone: 'Complainant Phone', | ||
| 184 | + complaintStatus: 'Complaint Status', | ||
| 185 | + handler: 'Handler', | ||
| 186 | + handlerPhone: 'Handler Phone', | ||
| 187 | + operation: 'Operation', | ||
| 188 | + details: 'Details', | ||
| 189 | + flowChart: 'Flow Chart', | ||
| 190 | + none: 'None' | ||
| 191 | + }, | ||
| 192 | + simplifyOwnerAccessContol: { | ||
| 193 | + objectType: 'Object Type', | ||
| 194 | + objectName: 'Object Name', | ||
| 195 | + command: 'Command', | ||
| 196 | + status: 'Status', | ||
| 197 | + remark: 'Remark', | ||
| 198 | + syncTime: 'Sync Time', | ||
| 199 | + operation: 'Operation', | ||
| 200 | + resync: 'Resync' | ||
| 201 | + }, | ||
| 202 | + simplifyOwnerTransactionCar: { | ||
| 203 | + syncId: 'Sync ID', | ||
| 204 | + objectType: 'Object Type', | ||
| 205 | + objectName: 'Object Name', | ||
| 206 | + command: 'Command', | ||
| 207 | + status: 'Status', | ||
| 208 | + remark: 'Remark', | ||
| 209 | + syncTime: 'Sync Time', | ||
| 210 | + operation: 'Operation', | ||
| 211 | + resync: 'Resync' | ||
| 212 | + }, | ||
| 213 | + simplifyShopsHireLog: { | ||
| 214 | + ownerName: 'Owner Name', | ||
| 215 | + ownerPhone: 'Owner Phone', | ||
| 216 | + startTime: 'Start Time', | ||
| 217 | + endTime: 'End Time', | ||
| 218 | + createTime: 'Create Time', | ||
| 219 | + operation: 'Operation', | ||
| 220 | + viewFee: 'View Fee' | ||
| 221 | + } | ||
| 222 | + }, | ||
| 223 | + zh: { | ||
| 224 | + simplifyAcceptance: { | ||
| 225 | + houseNumber: '房屋号', | ||
| 226 | + ownerName: '业主姓名', | ||
| 227 | + ownerPhone: '业主电话', | ||
| 228 | + ownerIdCard: '业主身份证', | ||
| 229 | + licensePlate: '车牌号', | ||
| 230 | + memberName: '成员姓名', | ||
| 231 | + memberPhone: '成员手机号', | ||
| 232 | + memberIdCard: '成员身份证', | ||
| 233 | + shopNumber: '商铺号', | ||
| 234 | + contractNumber: '合同号', | ||
| 235 | + search: '查询', | ||
| 236 | + selectHouse: '选择房屋', | ||
| 237 | + moreOperations: '更多操作', | ||
| 238 | + handover: '交房', | ||
| 239 | + exitRoom: '退房', | ||
| 240 | + ownerId: '业主编号:', | ||
| 241 | + ownerNameLabel: '业主名称:', | ||
| 242 | + contactPhone: '联系电话:', | ||
| 243 | + idCard: '身份证:', | ||
| 244 | + checkInDate: '入住日期:', | ||
| 245 | + gender: '性别:', | ||
| 246 | + male: '男', | ||
| 247 | + female: '女', | ||
| 248 | + ownerRemark: '业主备注:', | ||
| 249 | + houseNumberLabel: '房屋编号:', | ||
| 250 | + shopNumberLabel: '商铺编号:', | ||
| 251 | + houseArea: '房屋面积:', | ||
| 252 | + houseType: '房屋类型:', | ||
| 253 | + layout: '户型:', | ||
| 254 | + houseStatus: '房屋状态:', | ||
| 255 | + indoorArea: '室内面积:', | ||
| 256 | + rent: '租金:', | ||
| 257 | + houseRemark: '房屋备注:', | ||
| 258 | + accountBalance: '账户余额:', | ||
| 259 | + preDeposit: '预存', | ||
| 260 | + depositAmount: '押金金额:', | ||
| 261 | + refundDeposit: '退押金', | ||
| 262 | + inputSearchCondition: '请输入查询条件', | ||
| 263 | + selectHouseFirst: '请先选择房屋', | ||
| 264 | + houseNumberPlaceholder: '请输入房屋编号 楼栋-单元-房屋 如1-1-1', | ||
| 265 | + ownerNamePlaceholder: '请输入业主名称', | ||
| 266 | + ownerPhonePlaceholder: '请输入业主手机号', | ||
| 267 | + ownerIdCardPlaceholder: '请输入业主身份证', | ||
| 268 | + licensePlatePlaceholder: '请输入业主车牌号', | ||
| 269 | + memberNamePlaceholder: '请输入家庭成员名称', | ||
| 270 | + memberPhonePlaceholder: '请输入家庭成员电话', | ||
| 271 | + memberIdCardPlaceholder: '请输入家庭成员身份证', | ||
| 272 | + shopNumberPlaceholder: '请输入商铺编号 楼栋-商铺 如1-1', | ||
| 273 | + contractNumberPlaceholder: '请输入合同号', | ||
| 274 | + houseFee: '房屋费用', | ||
| 275 | + parkingFee: '停车费用', | ||
| 276 | + paymentHistory: '缴费历史', | ||
| 277 | + house: '房屋', | ||
| 278 | + contract: '合同', | ||
| 279 | + familyMember: '家庭成员', | ||
| 280 | + vehicle: '车辆', | ||
| 281 | + paymentReminder: '催缴', | ||
| 282 | + ownerFeedback: '业主反馈', | ||
| 283 | + repairOrder: '报修单', | ||
| 284 | + complaintOrder: '投诉单', | ||
| 285 | + ownerSync: '业主同步', | ||
| 286 | + vehicleSync: '车辆同步', | ||
| 287 | + reprintReceipt: '补打收据', | ||
| 288 | + historyOwner: '历史业主', | ||
| 289 | + meterReadingRecord: '抄表记录' | ||
| 290 | + }, | ||
| 291 | + finishFee: { | ||
| 292 | + confirmOperation: '请确认您的操作', | ||
| 293 | + confirmFinishFee: '确定结束费用?结束后无法重新启用,请谨慎操作!', | ||
| 294 | + cancel: '点错了', | ||
| 295 | + confirm: '结束费用', | ||
| 296 | + successMessage: '结束费用成功', | ||
| 297 | + errorMessage: '结束费用失败' | ||
| 298 | + }, | ||
| 299 | + simplifyCarFee: { | ||
| 300 | + buyMonthCard: '买月卡', | ||
| 301 | + batchPayment: '批量缴费', | ||
| 302 | + createFee: '创建费用', | ||
| 303 | + feeItem: '费用项目', | ||
| 304 | + feeFlag: '费用标识', | ||
| 305 | + feeType: '费用类型', | ||
| 306 | + amountReceivable: '应收金额', | ||
| 307 | + accountingTime: '建账时间', | ||
| 308 | + receivablePeriod: '应收时间段', | ||
| 309 | + description: '说明', | ||
| 310 | + status: '状态', | ||
| 311 | + operation: '操作', | ||
| 312 | + lastDegree: '上期度数', | ||
| 313 | + currentDegree: '本期度数', | ||
| 314 | + unitPrice: '单价', | ||
| 315 | + additionalFee: '附加费', | ||
| 316 | + algorithm: '算法', | ||
| 317 | + usage: '用量', | ||
| 318 | + fixedFee: '固定费', | ||
| 319 | + payment: '缴费', | ||
| 320 | + paymentHistory: '缴费历史', | ||
| 321 | + moreOperations: '更多操作', | ||
| 322 | + cancelFee: '取消费用', | ||
| 323 | + manualFinish: '手工结束', | ||
| 324 | + feeChange: '费用变更', | ||
| 325 | + details: '详情', | ||
| 326 | + note1: '注意: 应收结束时间 "-" 表示未到应收时间 或 收费已结束', | ||
| 327 | + note2: '应收金额 为-1 一般为费用项公式设置出错请检查', | ||
| 328 | + arrearsSubtotal: '欠费小计', | ||
| 329 | + parkingLot: '车场', | ||
| 330 | + parkingSpace: '车位', | ||
| 331 | + owner: '业主', | ||
| 332 | + phone: '电话' | ||
| 333 | + }, | ||
| 334 | + simplifyContract: { | ||
| 335 | + contractName: '合同名称', | ||
| 336 | + contractCode: '合同编号', | ||
| 337 | + parentContractCode: '父合同编号', | ||
| 338 | + contractType: '合同类型', | ||
| 339 | + startTime: '开始时间', | ||
| 340 | + endTime: '结束时间', | ||
| 341 | + status: '状态', | ||
| 342 | + operation: '操作', | ||
| 343 | + fee: '费用', | ||
| 344 | + view: '查看', | ||
| 345 | + print: '打印', | ||
| 346 | + draftContract: '起草合同' | ||
| 347 | + }, | ||
| 348 | + simplifyOwnerMember: { | ||
| 349 | + addMember: '添加成员', | ||
| 350 | + memberId: '成员ID', | ||
| 351 | + name: '名称', | ||
| 352 | + gender: '性别', | ||
| 353 | + male: '男', | ||
| 354 | + female: '女', | ||
| 355 | + type: '类型', | ||
| 356 | + idCard: '身份证', | ||
| 357 | + contact: '联系方式', | ||
| 358 | + creator: '创建员工', | ||
| 359 | + remark: '备注', | ||
| 360 | + operation: '操作', | ||
| 361 | + edit: '修改', | ||
| 362 | + delete: '删除' | ||
| 363 | + }, | ||
| 364 | + simplifyOwnerCar: { | ||
| 365 | + addCar: '添加车辆', | ||
| 366 | + plateNumber: '车牌号', | ||
| 367 | + carBrand: '车辆品牌', | ||
| 368 | + carType: '车辆类型', | ||
| 369 | + color: '颜色', | ||
| 370 | + owner: '业主', | ||
| 371 | + parkingSpace: '车位', | ||
| 372 | + startTime: '起租时间', | ||
| 373 | + endTime: '截止时间', | ||
| 374 | + status: '状态', | ||
| 375 | + operation: '操作', | ||
| 376 | + releaseSpace: '释放车位', | ||
| 377 | + renewSpace: '续租车位', | ||
| 378 | + edit: '修改', | ||
| 379 | + delete: '删除', | ||
| 380 | + parkingLot: '车场', | ||
| 381 | + space: '车位', | ||
| 382 | + none: '无' | ||
| 383 | + }, | ||
| 384 | + simplifyOwnerRepair: { | ||
| 385 | + phoneRepair: '电话报修', | ||
| 386 | + workOrderCode: '工单编码', | ||
| 387 | + location: '位置', | ||
| 388 | + repairType: '报修类型', | ||
| 389 | + reporter: '报修人', | ||
| 390 | + contact: '联系方式', | ||
| 391 | + appointmentTime: '预约时间', | ||
| 392 | + status: '状态', | ||
| 393 | + operation: '操作', | ||
| 394 | + details: '详情' | ||
| 395 | + }, | ||
| 396 | + simplifyOwnerComplaint: { | ||
| 397 | + complaint: '投诉', | ||
| 398 | + complaintType: '投诉类型', | ||
| 399 | + house: '房屋', | ||
| 400 | + building: '号楼', | ||
| 401 | + unit: '单元', | ||
| 402 | + room: '室', | ||
| 403 | + complainant: '投诉人', | ||
| 404 | + complainantPhone: '投诉人电话', | ||
| 405 | + complaintStatus: '投诉状态', | ||
| 406 | + handler: '处理人', | ||
| 407 | + handlerPhone: '处理电话', | ||
| 408 | + operation: '操作', | ||
| 409 | + details: '详情', | ||
| 410 | + flowChart: '流程图', | ||
| 411 | + none: '无' | ||
| 412 | + }, | ||
| 413 | + simplifyOwnerAccessContol: { | ||
| 414 | + objectType: '对象类型', | ||
| 415 | + objectName: '对象名称', | ||
| 416 | + command: '指令', | ||
| 417 | + status: '状态', | ||
| 418 | + remark: '说明', | ||
| 419 | + syncTime: '同步时间', | ||
| 420 | + operation: '操作', | ||
| 421 | + resync: '重新同步' | ||
| 422 | + }, | ||
| 423 | + simplifyOwnerTransactionCar: { | ||
| 424 | + syncId: '同步ID', | ||
| 425 | + objectType: '对象类型', | ||
| 426 | + objectName: '对象名称', | ||
| 427 | + command: '指令', | ||
| 428 | + status: '状态', | ||
| 429 | + remark: '说明', | ||
| 430 | + syncTime: '同步时间', | ||
| 431 | + operation: '操作', | ||
| 432 | + resync: '重新同步' | ||
| 433 | + }, | ||
| 434 | + simplifyShopsHireLog: { | ||
| 435 | + ownerName: '业主名称', | ||
| 436 | + ownerPhone: '业主电话', | ||
| 437 | + startTime: '开始时间', | ||
| 438 | + endTime: '结束时间', | ||
| 439 | + createTime: '创建时间', | ||
| 440 | + operation: '操作', | ||
| 441 | + viewFee: '查看费用' | ||
| 442 | + } | ||
| 443 | + } | ||
| 444 | +} | ||
| 0 | \ No newline at end of file | 445 | \ No newline at end of file |
src/views/simplify/simplifyAcceptanceList.vue
0 → 100644
| 1 | +<template> | ||
| 2 | + <div class="white-bg padding-top-lg"> | ||
| 3 | + <div class="margin-top padding-bottom-lg flex justify-center"> | ||
| 4 | + <div class="search-switch"> | ||
| 5 | + <el-select v-model="simplifyAcceptanceInfo.searchType" @change="_changeSearchType"> | ||
| 6 | + <el-option value="1" :label="$t('simplifyAcceptance.houseNumber')"></el-option> | ||
| 7 | + <el-option value="2" :label="$t('simplifyAcceptance.ownerName')"></el-option> | ||
| 8 | + <el-option value="3" :label="$t('simplifyAcceptance.ownerPhone')"></el-option> | ||
| 9 | + <el-option value="4" :label="$t('simplifyAcceptance.ownerIdCard')"></el-option> | ||
| 10 | + <el-option value="5" :label="$t('simplifyAcceptance.licensePlate')"></el-option> | ||
| 11 | + <el-option value="6" :label="$t('simplifyAcceptance.memberName')"></el-option> | ||
| 12 | + <el-option value="7" :label="$t('simplifyAcceptance.memberPhone')"></el-option> | ||
| 13 | + <el-option value="8" :label="$t('simplifyAcceptance.memberIdCard')"></el-option> | ||
| 14 | + <el-option value="9" :label="$t('simplifyAcceptance.shopNumber')"></el-option> | ||
| 15 | + <el-option value="10" :label="$t('simplifyAcceptance.contractNumber')"></el-option> | ||
| 16 | + </el-select> | ||
| 17 | + </div> | ||
| 18 | + <div class="search-input"> | ||
| 19 | + <el-input :placeholder="$t(simplifyAcceptanceInfo.searchPlaceholder)" | ||
| 20 | + v-model="simplifyAcceptanceInfo.searchValue" @input="_simplifyInputOwner" | ||
| 21 | + @keyup.enter.native="_doSearch"></el-input> | ||
| 22 | + <input-search-owner ref="inputSearchOwner"></input-search-owner> | ||
| 23 | + <input-search-room ref="inputSearchRoom"></input-search-room> | ||
| 24 | + </div> | ||
| 25 | + <div> | ||
| 26 | + <el-button type="primary" @click="_doSearch"> | ||
| 27 | + <i class="el-icon-search"></i> | ||
| 28 | + <span>{{ $t('simplifyAcceptance.search') }}</span> | ||
| 29 | + </el-button> | ||
| 30 | + </div> | ||
| 31 | + <div class="padding-lr-0 margin-left-sm" v-if="simplifyAcceptanceInfo.searchType == '1'"> | ||
| 32 | + <el-button type="primary" @click="_simplifyAcceptanceChooseRoom"> | ||
| 33 | + <i class="el-icon-plus"></i> | ||
| 34 | + <span>{{ $t('simplifyAcceptance.selectHouse') }}</span> | ||
| 35 | + </el-button> | ||
| 36 | + </div> | ||
| 37 | + <div class="padding-lr-0 margin-left-sm"> | ||
| 38 | + <el-dropdown> | ||
| 39 | + <el-button type="primary"> | ||
| 40 | + {{ $t('simplifyAcceptance.moreOperations') }}<i class="el-icon-arrow-down el-icon--right"></i> | ||
| 41 | + </el-button> | ||
| 42 | + <el-dropdown-menu slot="dropdown"> | ||
| 43 | + <el-dropdown-item @click.native="_handover">{{ $t('simplifyAcceptance.handover') }}</el-dropdown-item> | ||
| 44 | + <el-dropdown-item @click.native="_simplifyOwnerExitRoom">{{ $t('simplifyAcceptance.exitRoom') | ||
| 45 | + }}</el-dropdown-item> | ||
| 46 | + </el-dropdown-menu> | ||
| 47 | + </el-dropdown> | ||
| 48 | + </div> | ||
| 49 | + </div> | ||
| 50 | + <divider /> | ||
| 51 | + <div class="padding margin-top-xs text-left"> | ||
| 52 | + <div> | ||
| 53 | + <div class="text-center vc-float-left" style="width: 150px;" v-if="simplifyAcceptanceInfo.ownerPhoto"> | ||
| 54 | + <img width="120px" height="140px" class="border-radius" :src="simplifyAcceptanceInfo.ownerPhoto" | ||
| 55 | + @error="errorLoadImg" /> | ||
| 56 | + </div> | ||
| 57 | + <div class="text-center vc-float-left" style="width: 150px;" v-else> | ||
| 58 | + <img width="120px" height="140px" class="border-radius" src="/img/noPhoto.jpg" /> | ||
| 59 | + </div> | ||
| 60 | + <div class="simplify-acceptance margin-bottom"> | ||
| 61 | + <el-row> | ||
| 62 | + <el-col :span="6"> | ||
| 63 | + <div class="form-group"> | ||
| 64 | + <label class="col-form-label">{{ $t('simplifyAcceptance.ownerId') }}</label> | ||
| 65 | + <label>{{ simplifyAcceptanceInfo.ownerId }}</label> | ||
| 66 | + </div> | ||
| 67 | + </el-col> | ||
| 68 | + <el-col :span="6"> | ||
| 69 | + <div class="form-group"> | ||
| 70 | + <label class="col-form-label">{{ $t('simplifyAcceptance.ownerName') }}</label> | ||
| 71 | + <label> | ||
| 72 | + <a target="_blank" :href="'/#/pages/owner/ownerDetail?ownerId=' + simplifyAcceptanceInfo.ownerId"> | ||
| 73 | + {{ simplifyAcceptanceInfo.name }} | ||
| 74 | + </a> | ||
| 75 | + </label> | ||
| 76 | + </div> | ||
| 77 | + </el-col> | ||
| 78 | + <el-col :span="6"> | ||
| 79 | + <div class="form-group"> | ||
| 80 | + <label class="col-form-label">{{ $t('simplifyAcceptance.contactPhone') }}</label> | ||
| 81 | + <label>{{ simplifyAcceptanceInfo.link }}</label> | ||
| 82 | + </div> | ||
| 83 | + </el-col> | ||
| 84 | + <el-col :span="6"> | ||
| 85 | + <div class="form-group"> | ||
| 86 | + <label class="col-form-label">{{ $t('simplifyAcceptance.idCard') }}</label> | ||
| 87 | + <label>{{ simplifyAcceptanceInfo.idCard }}</label> | ||
| 88 | + </div> | ||
| 89 | + </el-col> | ||
| 90 | + | ||
| 91 | + <el-col :span="6"> | ||
| 92 | + <div class="form-group"> | ||
| 93 | + <label class="col-form-label">{{ $t('simplifyAcceptance.checkInDate') }}</label> | ||
| 94 | + <label>{{ simplifyAcceptanceInfo.createTime }}</label> | ||
| 95 | + </div> | ||
| 96 | + </el-col> | ||
| 97 | + <el-col :span="6"> | ||
| 98 | + <div class="form-group"> | ||
| 99 | + <label class="col-form-label">{{ $t('simplifyAcceptance.gender') }}</label> | ||
| 100 | + <label> | ||
| 101 | + {{ simplifyAcceptanceInfo.sex == '0' ? $t('simplifyAcceptance.male') : | ||
| 102 | + (simplifyAcceptanceInfo.sex == '1' ? $t('simplifyAcceptance.female') : '') }} | ||
| 103 | + </label> | ||
| 104 | + </div> | ||
| 105 | + </el-col> | ||
| 106 | + <el-col :span="12"> | ||
| 107 | + <div class="form-group"> | ||
| 108 | + <label class="col-form-label">{{ $t('simplifyAcceptance.ownerRemark') }}</label> | ||
| 109 | + <label class="fix-width" :title="simplifyAcceptanceInfo.ownerRemark"> | ||
| 110 | + {{ simplifyAcceptanceInfo.ownerRemark }} | ||
| 111 | + </label> | ||
| 112 | + </div> | ||
| 113 | + </el-col> | ||
| 114 | + | ||
| 115 | + <el-col :span="6" v-if="simplifyAcceptanceInfo.roomType == '1010301'"> | ||
| 116 | + <div class="form-group"> | ||
| 117 | + <label class="col-form-label">{{ $t('simplifyAcceptance.houseNumber') }}</label> | ||
| 118 | + <label> | ||
| 119 | + {{ simplifyAcceptanceInfo.floorNum }}-{{ simplifyAcceptanceInfo.unitNum }}-{{ | ||
| 120 | + simplifyAcceptanceInfo.roomNum }} | ||
| 121 | + </label> | ||
| 122 | + </div> | ||
| 123 | + </el-col> | ||
| 124 | + <el-col :span="6" v-else> | ||
| 125 | + <div class="form-group"> | ||
| 126 | + <label class="col-form-label">{{ $t('simplifyAcceptance.shopNumber') }}</label> | ||
| 127 | + <label>{{ simplifyAcceptanceInfo.floorNum }}-{{ simplifyAcceptanceInfo.roomNum }}</label> | ||
| 128 | + </div> | ||
| 129 | + </el-col> | ||
| 130 | + <el-col :span="6"> | ||
| 131 | + <div class="form-group"> | ||
| 132 | + <label class="col-form-label">{{ $t('simplifyAcceptance.houseArea') }}</label> | ||
| 133 | + <label>{{ simplifyAcceptanceInfo.builtUpArea }}</label> | ||
| 134 | + </div> | ||
| 135 | + </el-col> | ||
| 136 | + <el-col :span="6"> | ||
| 137 | + <div class="form-group"> | ||
| 138 | + <label class="col-form-label">{{ $t('simplifyAcceptance.houseType') }}</label> | ||
| 139 | + <label>{{ simplifyAcceptanceInfo.roomSubTypeName }}</label> | ||
| 140 | + </div> | ||
| 141 | + </el-col> | ||
| 142 | + <el-col :span="6"> | ||
| 143 | + <div class="form-group"> | ||
| 144 | + <label class="col-form-label">{{ $t('simplifyAcceptance.layout') }}</label> | ||
| 145 | + <label>{{ simplifyAcceptanceInfo.apartmentName }}</label> | ||
| 146 | + </div> | ||
| 147 | + </el-col> | ||
| 148 | + | ||
| 149 | + <el-col :span="6"> | ||
| 150 | + <div class="form-group"> | ||
| 151 | + <label class="col-form-label">{{ $t('simplifyAcceptance.houseStatus') }}</label> | ||
| 152 | + <label>{{ simplifyAcceptanceInfo.stateName }}</label> | ||
| 153 | + </div> | ||
| 154 | + </el-col> | ||
| 155 | + <el-col :span="6"> | ||
| 156 | + <div class="form-group"> | ||
| 157 | + <label class="col-form-label">{{ $t('simplifyAcceptance.indoorArea') }}</label> | ||
| 158 | + <label>{{ simplifyAcceptanceInfo.roomArea }}</label> | ||
| 159 | + </div> | ||
| 160 | + </el-col> | ||
| 161 | + <el-col :span="6" v-if="simplifyAcceptanceInfo.roomSubType && simplifyAcceptanceInfo.roomSubType != '110'"> | ||
| 162 | + <div class="form-group"> | ||
| 163 | + <label class="col-form-label">{{ $t('simplifyAcceptance.rent') }}</label> | ||
| 164 | + <label>{{ simplifyAcceptanceInfo.roomRent }}</label> | ||
| 165 | + </div> | ||
| 166 | + </el-col> | ||
| 167 | + <el-col :span="6"> | ||
| 168 | + <div class="form-group"> | ||
| 169 | + <label class="col-form-label">{{ $t('simplifyAcceptance.houseRemark') }}</label> | ||
| 170 | + <label class="fix-width" :title="simplifyAcceptanceInfo.roomRemark"> | ||
| 171 | + {{ simplifyAcceptanceInfo.roomRemark }} | ||
| 172 | + </label> | ||
| 173 | + </div> | ||
| 174 | + </el-col> | ||
| 175 | + | ||
| 176 | + <el-col :span="6"> | ||
| 177 | + <div class="form-group"> | ||
| 178 | + <label class="col-form-label">{{ $t('simplifyAcceptance.accountBalance') }}</label> | ||
| 179 | + <label> | ||
| 180 | + <span v-if="simplifyAcceptanceInfo.acctAmount"> | ||
| 181 | + {{ simplifyAcceptanceInfo.acctAmount }}( | ||
| 182 | + <a target="_blank" v-if="hasPrivilege('502023032809461736')" | ||
| 183 | + :href="'/#/pages/owner/ownerDetail?ownerId=' + simplifyAcceptanceInfo.ownerId + '¤tTab=ownerDetailAccount'"> | ||
| 184 | + {{ $t('simplifyAcceptance.preDeposit') }} | ||
| 185 | + </a> | ||
| 186 | + ) | ||
| 187 | + </span> | ||
| 188 | + </label> | ||
| 189 | + </div> | ||
| 190 | + </el-col> | ||
| 191 | + <el-col :span="6" v-if="simplifyAcceptanceInfo.roomId"> | ||
| 192 | + <div class="form-group"> | ||
| 193 | + <label class="col-form-label">{{ $t('simplifyAcceptance.depositAmount') }}</label> | ||
| 194 | + <label> | ||
| 195 | + {{ simplifyAcceptanceInfo.depositAmount }} | ||
| 196 | + (<a href="javascript:void(0)" @click="_toRefundDepositFee">{{ $t('simplifyAcceptance.refundDeposit') | ||
| 197 | + }}</a>) | ||
| 198 | + </label> | ||
| 199 | + </div> | ||
| 200 | + </el-col> | ||
| 201 | + </el-row> | ||
| 202 | + </div> | ||
| 203 | + </div> | ||
| 204 | + <divider /> | ||
| 205 | + <div class="margin-top"> | ||
| 206 | + <el-tabs v-model="simplifyAcceptanceInfo._currentTab" | ||
| 207 | + @tab-click="changeTab(simplifyAcceptanceInfo._currentTab)"> | ||
| 208 | + <el-tab-pane :label="$t('simplifyAcceptance.houseFee')" name="simplifyRoomFee"> | ||
| 209 | + <simplify-room-fee ref="simplifyRoomFee"></simplify-room-fee> | ||
| 210 | + </el-tab-pane> | ||
| 211 | + <el-tab-pane :label="$t('simplifyAcceptance.parkingFee')" name="simplifyCarFee"> | ||
| 212 | + <simplify-car-fee ref="simplifyCarFee"></simplify-car-fee> | ||
| 213 | + </el-tab-pane> | ||
| 214 | + <el-tab-pane :label="$t('simplifyAcceptance.paymentHistory')" name="simplifyHisFee"> | ||
| 215 | + <simplify-his-fee ref="simplifyHisFee"></simplify-his-fee> | ||
| 216 | + </el-tab-pane> | ||
| 217 | + <el-tab-pane :label="$t('simplifyAcceptance.house')" name="simplifyOwnerRooms"> | ||
| 218 | + <simplify-owner-rooms ref="simplifyOwnerRooms"></simplify-owner-rooms> | ||
| 219 | + </el-tab-pane> | ||
| 220 | + <el-tab-pane :label="$t('simplifyAcceptance.contract')" name="simplifyContract"> | ||
| 221 | + <simplify-contract ref="simplifyContract"></simplify-contract> | ||
| 222 | + </el-tab-pane> | ||
| 223 | + <el-tab-pane :label="$t('simplifyAcceptance.familyMember')" name="simplifyOwnerMember"> | ||
| 224 | + <simplify-owner-member ref="simplifyOwnerMember"></simplify-owner-member> | ||
| 225 | + </el-tab-pane> | ||
| 226 | + <el-tab-pane :label="$t('simplifyAcceptance.vehicle')" name="simplifyOwnerCar"> | ||
| 227 | + <simplify-owner-car ref="simplifyOwnerCar"></simplify-owner-car> | ||
| 228 | + </el-tab-pane> | ||
| 229 | + <el-tab-pane :label="$t('simplifyAcceptance.paymentReminder')" name="simplifyCallable"> | ||
| 230 | + <simplify-callable ref="simplifyCallable"></simplify-callable> | ||
| 231 | + </el-tab-pane> | ||
| 232 | + <el-tab-pane :label="$t('simplifyAcceptance.ownerFeedback')" name="simplifyNotepad"> | ||
| 233 | + <a href="javascript:void(0)" @click="_toSimplifyNotepadPage">{{ $t('simplifyAcceptance.ownerFeedback') | ||
| 234 | + }}</a> | ||
| 235 | + </el-tab-pane> | ||
| 236 | + <el-tab-pane :label="$t('simplifyAcceptance.repairOrder')" name="simplifyOwnerRepair"> | ||
| 237 | + <simplify-owner-repair ref="simplifyOwnerRepair"></simplify-owner-repair> | ||
| 238 | + </el-tab-pane> | ||
| 239 | + <el-tab-pane :label="$t('simplifyAcceptance.complaintOrder')" name="simplifyOwnerComplaint"> | ||
| 240 | + <simplify-owner-complaint ref="simplifyOwnerComplaint"></simplify-owner-complaint> | ||
| 241 | + </el-tab-pane> | ||
| 242 | + <el-tab-pane :label="$t('simplifyAcceptance.ownerSync')" name="simplifyOwnerAccessContol"> | ||
| 243 | + <simplify-owner-access-contol ref="simplifyOwnerAccessContol"></simplify-owner-access-contol> | ||
| 244 | + </el-tab-pane> | ||
| 245 | + <el-tab-pane :label="$t('simplifyAcceptance.vehicleSync')" name="simplifyOwnerTransactionCar"> | ||
| 246 | + <simplify-owner-transaction-car ref="simplifyOwnerTransactionCar"></simplify-owner-transaction-car> | ||
| 247 | + </el-tab-pane> | ||
| 248 | + <el-tab-pane v-if="hasPrivilege('502020092373407363')" :label="$t('simplifyAcceptance.reprintReceipt')" | ||
| 249 | + name="simplifyFeeReceipt"> | ||
| 250 | + <simplify-fee-receipt ref="simplifyFeeReceipt"></simplify-fee-receipt> | ||
| 251 | + </el-tab-pane> | ||
| 252 | + <el-tab-pane :label="$t('simplifyAcceptance.historyOwner')" name="simplifyShopsHireLog"> | ||
| 253 | + <simplify-shops-hire-log ref="simplifyShopsHireLog"></simplify-shops-hire-log> | ||
| 254 | + </el-tab-pane> | ||
| 255 | + <el-tab-pane :label="$t('simplifyAcceptance.meterReadingRecord')" name="simplifyMeterWaterLog"> | ||
| 256 | + <simplify-meter-water-log ref="simplifyMeterWaterLog"></simplify-meter-water-log> | ||
| 257 | + </el-tab-pane> | ||
| 258 | + </el-tabs> | ||
| 259 | + </div> | ||
| 260 | + </div> | ||
| 261 | + | ||
| 262 | + <delete-fee ref="deleteFee"></delete-fee> | ||
| 263 | + <edit-fee ref="editFee"></edit-fee> | ||
| 264 | + <finish-fee ref="finishFee"></finish-fee> | ||
| 265 | + <room-create-fee-add ref="roomCreateFeeAdd"></room-create-fee-add> | ||
| 266 | + <car-create-fee-add ref="carCreateFeeAdd"></car-create-fee-add> | ||
| 267 | + <add-meter-water ref="addMeterWater"></add-meter-water> | ||
| 268 | + <add-proxy-fee ref="addProxyFee"></add-proxy-fee> | ||
| 269 | + <search-room ref="searchRoom" emit-choose-room="simplifyAcceptance" emit-load-data="list" :room-flag="1" | ||
| 270 | + :show-search-condition="false"></search-room> | ||
| 271 | + <edit-machine-translate ref="editMachineTranslate"></edit-machine-translate> | ||
| 272 | + </div> | ||
| 273 | +</template> | ||
| 274 | + | ||
| 275 | +<script> | ||
| 276 | +import { getCommunityId } from '@/api/community/communityApi' | ||
| 277 | +import { comprehensiveQuery, queryFeeDeposit } from '@/api/simplify/simplifyAcceptanceApi' | ||
| 278 | +import SimplifyRoomFee from '@/components/fee/simplifyRoomFee' | ||
| 279 | +import SimplifyCarFee from '@/components/simplify/simplifyCarFee' | ||
| 280 | +import SimplifyHisFee from '@/components/fee/simplifyHisFee' | ||
| 281 | +import SimplifyOwnerRooms from '@/components/fee/simplifyOwnerRooms' | ||
| 282 | +import SimplifyContract from '@/components/simplify/simplifyContract' | ||
| 283 | +import SimplifyOwnerMember from '@/components/simplify/simplifyOwnerMember' | ||
| 284 | +import SimplifyOwnerCar from '@/components/simplify/simplifyOwnerCar' | ||
| 285 | +import SimplifyCallable from '@/components/fee/simplifyCallable' | ||
| 286 | +import SimplifyOwnerRepair from '@/components/simplify/simplifyOwnerRepair' | ||
| 287 | +import SimplifyOwnerComplaint from '@/components/simplify/simplifyOwnerComplaint' | ||
| 288 | +import SimplifyOwnerAccessContol from '@/components/simplify/simplifyOwnerAccessContol' | ||
| 289 | +import SimplifyOwnerTransactionCar from '@/components/simplify/simplifyOwnerTransactionCar' | ||
| 290 | +import SimplifyFeeReceipt from '@/components/fee/simplifyFeeReceipt' | ||
| 291 | +import SimplifyShopsHireLog from '@/components/simplify/simplifyShopsHireLog' | ||
| 292 | +import SimplifyMeterWaterLog from '@/components/fee/simplifyMeterWaterLog' | ||
| 293 | +import DeleteFee from '@/components/fee/deleteFee' | ||
| 294 | +import EditFee from '@/components/fee/editFee' | ||
| 295 | +import FinishFee from '@/components/fee/finishFee' | ||
| 296 | +import RoomCreateFeeAdd from '@/components/fee/roomCreateFeeAdd' | ||
| 297 | +import CarCreateFeeAdd from '@/components/fee/carCreateFeeAdd' | ||
| 298 | +import AddMeterWater from '@/components/fee/addMeterWater' | ||
| 299 | +import AddProxyFee from '@/components/fee/addProxyFee' | ||
| 300 | +import SearchRoom from '@/components/room/searchRoom' | ||
| 301 | +import EditMachineTranslate from '@/components/machine/editMachineTranslate' | ||
| 302 | +import InputSearchOwner from '@/components/report/InputSearchOwner' | ||
| 303 | +import InputSearchRoom from '@/components/fee/inputSearchRoom' | ||
| 304 | +import divider from '@/components/system/divider' | ||
| 305 | + | ||
| 306 | +export default { | ||
| 307 | + name: 'SimplifyAcceptanceList', | ||
| 308 | + components: { | ||
| 309 | + SimplifyRoomFee, | ||
| 310 | + SimplifyCarFee, | ||
| 311 | + SimplifyHisFee, | ||
| 312 | + SimplifyOwnerRooms, | ||
| 313 | + SimplifyContract, | ||
| 314 | + SimplifyOwnerMember, | ||
| 315 | + SimplifyOwnerCar, | ||
| 316 | + SimplifyCallable, | ||
| 317 | + SimplifyOwnerRepair, | ||
| 318 | + SimplifyOwnerComplaint, | ||
| 319 | + SimplifyOwnerAccessContol, | ||
| 320 | + SimplifyOwnerTransactionCar, | ||
| 321 | + SimplifyFeeReceipt, | ||
| 322 | + SimplifyShopsHireLog, | ||
| 323 | + SimplifyMeterWaterLog, | ||
| 324 | + DeleteFee, | ||
| 325 | + EditFee, | ||
| 326 | + FinishFee, | ||
| 327 | + RoomCreateFeeAdd, | ||
| 328 | + CarCreateFeeAdd, | ||
| 329 | + AddMeterWater, | ||
| 330 | + AddProxyFee, | ||
| 331 | + SearchRoom, | ||
| 332 | + EditMachineTranslate, | ||
| 333 | + InputSearchOwner, | ||
| 334 | + InputSearchRoom, | ||
| 335 | + divider | ||
| 336 | + }, | ||
| 337 | + data() { | ||
| 338 | + return { | ||
| 339 | + DEFAULT_PAGE: 1, | ||
| 340 | + DEFAULT_ROWS: 10, | ||
| 341 | + TEMP_SEARCH: 'simplifyAcceptanceSearch', | ||
| 342 | + simplifyAcceptanceInfo: { | ||
| 343 | + searchType: '1', | ||
| 344 | + searchValue: '', | ||
| 345 | + searchPlaceholder: 'simplifyAcceptance.houseNumberPlaceholder', | ||
| 346 | + ownerPhoto: '', | ||
| 347 | + _currentTab: 'simplifyRoomFee', | ||
| 348 | + roomId: '', | ||
| 349 | + ownerId: '', | ||
| 350 | + ownerRemark: '', | ||
| 351 | + roomRemark: '', | ||
| 352 | + name: '', | ||
| 353 | + idCard: '', | ||
| 354 | + link: '', | ||
| 355 | + createTime: '', | ||
| 356 | + apartmentName: '', | ||
| 357 | + floorNum: '', | ||
| 358 | + unitNum: '', | ||
| 359 | + roomNum: '', | ||
| 360 | + builtUpArea: '', | ||
| 361 | + feeCoefficient: '', | ||
| 362 | + stateName: '', | ||
| 363 | + roomName: '', | ||
| 364 | + roomType: '', | ||
| 365 | + roomSubTypeName: '', | ||
| 366 | + roomSubType: '', | ||
| 367 | + roomArea: '', | ||
| 368 | + sex: '', | ||
| 369 | + roomRent: '', | ||
| 370 | + acctAmount: '', | ||
| 371 | + depositAmount: '0', | ||
| 372 | + timer: {} | ||
| 373 | + }, | ||
| 374 | + communityId: '' | ||
| 375 | + } | ||
| 376 | + }, | ||
| 377 | + created() { | ||
| 378 | + this.communityId = getCommunityId() | ||
| 379 | + this._initMethod() | ||
| 380 | + | ||
| 381 | + }, | ||
| 382 | + methods: { | ||
| 383 | + _initMethod() { | ||
| 384 | + if (!this.$route.query.isBack) { | ||
| 385 | + return | ||
| 386 | + } | ||
| 387 | + // 检查是否有缓存数据 | ||
| 388 | + let _tempData = localStorage.getItem(this.TEMP_SEARCH) | ||
| 389 | + if (_tempData == null) { | ||
| 390 | + return | ||
| 391 | + } | ||
| 392 | + _tempData = JSON.parse(_tempData) | ||
| 393 | + this.simplifyAcceptanceInfo.searchType = _tempData.searchType | ||
| 394 | + this.simplifyAcceptanceInfo.searchValue = _tempData.searchValue | ||
| 395 | + this.simplifyAcceptanceInfo.searchPlaceholder = _tempData.searchPlaceholder | ||
| 396 | + this._doSearch() | ||
| 397 | + }, | ||
| 398 | + _changeSearchType() { | ||
| 399 | + switch (this.simplifyAcceptanceInfo.searchType) { | ||
| 400 | + case '1': | ||
| 401 | + this.simplifyAcceptanceInfo.searchPlaceholder = 'simplifyAcceptance.houseNumberPlaceholder' | ||
| 402 | + this.simplifyAcceptanceInfo.searchValue = "" | ||
| 403 | + break | ||
| 404 | + case '2': | ||
| 405 | + this.simplifyAcceptanceInfo.searchPlaceholder = 'simplifyAcceptance.ownerNamePlaceholder' | ||
| 406 | + this.simplifyAcceptanceInfo.searchValue = "" | ||
| 407 | + break | ||
| 408 | + case '3': | ||
| 409 | + this.simplifyAcceptanceInfo.searchPlaceholder = 'simplifyAcceptance.ownerPhonePlaceholder' | ||
| 410 | + this.simplifyAcceptanceInfo.searchValue = "" | ||
| 411 | + break | ||
| 412 | + case '4': | ||
| 413 | + this.simplifyAcceptanceInfo.searchPlaceholder = 'simplifyAcceptance.ownerIdCardPlaceholder' | ||
| 414 | + this.simplifyAcceptanceInfo.searchValue = "" | ||
| 415 | + break | ||
| 416 | + case '5': | ||
| 417 | + this.simplifyAcceptanceInfo.searchPlaceholder = 'simplifyAcceptance.licensePlatePlaceholder' | ||
| 418 | + this.simplifyAcceptanceInfo.searchValue = "" | ||
| 419 | + break | ||
| 420 | + case '6': | ||
| 421 | + this.simplifyAcceptanceInfo.searchPlaceholder = 'simplifyAcceptance.memberNamePlaceholder' | ||
| 422 | + this.simplifyAcceptanceInfo.searchValue = "" | ||
| 423 | + break | ||
| 424 | + case '7': | ||
| 425 | + this.simplifyAcceptanceInfo.searchPlaceholder = 'simplifyAcceptance.memberPhonePlaceholder' | ||
| 426 | + this.simplifyAcceptanceInfo.searchValue = "" | ||
| 427 | + break | ||
| 428 | + case '8': | ||
| 429 | + this.simplifyAcceptanceInfo.searchPlaceholder = 'simplifyAcceptance.memberIdCardPlaceholder' | ||
| 430 | + this.simplifyAcceptanceInfo.searchValue = "" | ||
| 431 | + break | ||
| 432 | + case '9': | ||
| 433 | + this.simplifyAcceptanceInfo.searchPlaceholder = 'simplifyAcceptance.shopNumberPlaceholder' | ||
| 434 | + break | ||
| 435 | + case '10': | ||
| 436 | + this.simplifyAcceptanceInfo.searchPlaceholder = 'simplifyAcceptance.contractNumberPlaceholder' | ||
| 437 | + break | ||
| 438 | + default: | ||
| 439 | + this.simplifyAcceptanceInfo.searchPlaceholder = 'simplifyAcceptance.houseNumberPlaceholder' | ||
| 440 | + this.simplifyAcceptanceInfo.searchValue = "" | ||
| 441 | + } | ||
| 442 | + }, | ||
| 443 | + async _doSearch() { | ||
| 444 | + if (!this.simplifyAcceptanceInfo.searchValue) { | ||
| 445 | + this.$message.warning(this.$t('simplifyAcceptance.inputSearchCondition')) | ||
| 446 | + return | ||
| 447 | + } | ||
| 448 | + // 清理信息 | ||
| 449 | + this._clearData() | ||
| 450 | + try { | ||
| 451 | + const res = await comprehensiveQuery({ | ||
| 452 | + searchType: this.simplifyAcceptanceInfo.searchType, | ||
| 453 | + searchValue: this.simplifyAcceptanceInfo.searchValue, | ||
| 454 | + communityId: this.communityId | ||
| 455 | + }) | ||
| 456 | + | ||
| 457 | + if (res.code != 0) { | ||
| 458 | + this.$message.error(res.msg) | ||
| 459 | + return | ||
| 460 | + } | ||
| 461 | + | ||
| 462 | + this.saveTempSearchData() | ||
| 463 | + const _owner = res.data | ||
| 464 | + Object.assign(this.simplifyAcceptanceInfo, _owner) | ||
| 465 | + this.simplifyAcceptanceInfo.ownerRemark = _owner.remark | ||
| 466 | + this.simplifyAcceptanceInfo.ownerPhoto = _owner.faceUrl | ||
| 467 | + | ||
| 468 | + if (!Object.prototype.hasOwnProperty.call(_owner, 'rooms')) { | ||
| 469 | + return | ||
| 470 | + } | ||
| 471 | + | ||
| 472 | + const _rooms = _owner.rooms | ||
| 473 | + if (_rooms.length > 1) { | ||
| 474 | + this.$refs.searchRoom.$emit('showOwnerRooms', _rooms) | ||
| 475 | + return | ||
| 476 | + } | ||
| 477 | + | ||
| 478 | + Object.assign(this.simplifyAcceptanceInfo, _rooms[0]) | ||
| 479 | + this.simplifyAcceptanceInfo.roomRemark = _rooms[0].remark | ||
| 480 | + this.simplifyAcceptanceInfo.roomName = _rooms[0].floorNum + '栋' + _rooms[0].unitNum + '单元' + _rooms[0].roomNum + '室' | ||
| 481 | + this.$refs.simplifyRoomFee.$emit('switch', this.simplifyAcceptanceInfo) | ||
| 482 | + | ||
| 483 | + // 计算押金 | ||
| 484 | + this.computeDeposit() | ||
| 485 | + } catch (error) { | ||
| 486 | + console.error('请求失败:', error) | ||
| 487 | + } | ||
| 488 | + }, | ||
| 489 | + saveTempSearchData() { | ||
| 490 | + const _searchType = this.simplifyAcceptanceInfo.searchType | ||
| 491 | + const _searchValue = this.simplifyAcceptanceInfo.searchValue | ||
| 492 | + const _searchPlaceholder = this.simplifyAcceptanceInfo.searchPlaceholder | ||
| 493 | + // 缓存起来 | ||
| 494 | + localStorage.setItem(this.TEMP_SEARCH, JSON.stringify({ | ||
| 495 | + searchType: _searchType, | ||
| 496 | + searchValue: _searchValue, | ||
| 497 | + searchPlaceholder: _searchPlaceholder | ||
| 498 | + })) | ||
| 499 | + }, | ||
| 500 | + changeTab(tab) { | ||
| 501 | + this.simplifyAcceptanceInfo._currentTab = tab | ||
| 502 | + setTimeout(() => { | ||
| 503 | + if (this.$refs[tab]) { | ||
| 504 | + if (tab === 'ownerDetailAccount' || tab === 'ownerDetailAccountReceipt') { | ||
| 505 | + this.$refs[tab].open(this.simplifyAcceptanceInfo.ownerId, this.simplifyAcceptanceInfo.ownerName, this.simplifyAcceptanceInfo.roomId) | ||
| 506 | + return; | ||
| 507 | + } | ||
| 508 | + this.$refs[tab].open({ | ||
| 509 | + ownerId: this.simplifyAcceptanceInfo.ownerId, | ||
| 510 | + ownerName: this.simplifyAcceptanceInfo.ownerName, | ||
| 511 | + roomId: this.simplifyAcceptanceInfo.roomId, | ||
| 512 | + roomName: this.simplifyAcceptanceInfo.roomName | ||
| 513 | + }) | ||
| 514 | + } | ||
| 515 | + }, 1000); | ||
| 516 | + | ||
| 517 | + }, | ||
| 518 | + _toSimplifyNotepadPage() { | ||
| 519 | + if (!this.simplifyAcceptanceInfo.ownerId) { | ||
| 520 | + this.$message.warning(this.$t('simplifyAcceptance.selectHouseFirst')) | ||
| 521 | + return | ||
| 522 | + } | ||
| 523 | + this.$router.push({ | ||
| 524 | + path: '/pages/property/simplifyNotepadManage', | ||
| 525 | + query: { | ||
| 526 | + roomId: this.simplifyAcceptanceInfo.roomId, | ||
| 527 | + ownerId: this.simplifyAcceptanceInfo.ownerId | ||
| 528 | + } | ||
| 529 | + }) | ||
| 530 | + }, | ||
| 531 | + errorLoadImg() { | ||
| 532 | + this.simplifyAcceptanceInfo.ownerPhoto = "/img/noPhoto.jpg" | ||
| 533 | + }, | ||
| 534 | + _clearData() { | ||
| 535 | + const _searchType = this.simplifyAcceptanceInfo.searchType | ||
| 536 | + const _searchValue = this.simplifyAcceptanceInfo.searchValue | ||
| 537 | + const _searchPlaceholder = this.simplifyAcceptanceInfo.searchPlaceholder | ||
| 538 | + this.simplifyAcceptanceInfo = { | ||
| 539 | + searchType: _searchType, | ||
| 540 | + searchValue: _searchValue, | ||
| 541 | + searchPlaceholder: _searchPlaceholder, | ||
| 542 | + ownerPhoto: '', | ||
| 543 | + _currentTab: 'simplifyRoomFee', | ||
| 544 | + roomId: '', | ||
| 545 | + ownerId: '', | ||
| 546 | + name: '', | ||
| 547 | + idCard: '', | ||
| 548 | + link: '', | ||
| 549 | + createTime: '', | ||
| 550 | + apartmentName: '', | ||
| 551 | + floorNum: '', | ||
| 552 | + unitNum: '', | ||
| 553 | + roomNum: '', | ||
| 554 | + builtUpArea: '', | ||
| 555 | + feeCoefficient: '', | ||
| 556 | + stateName: '', | ||
| 557 | + roomName: '', | ||
| 558 | + sex: '', | ||
| 559 | + ownerRemark: '', | ||
| 560 | + roomRemark: '', | ||
| 561 | + roomType: '', | ||
| 562 | + roomSubTypeName: '', | ||
| 563 | + roomSubType: '', | ||
| 564 | + roomArea: '', | ||
| 565 | + roomRent: '', | ||
| 566 | + acctAmount: '', | ||
| 567 | + depositAmount: '0', | ||
| 568 | + } | ||
| 569 | + this.changeTab('simplifyRoomFee') | ||
| 570 | + }, | ||
| 571 | + _simplifyAcceptanceChooseRoom() { | ||
| 572 | + this.$refs.searchRoom.$emit('openRoomTree', { | ||
| 573 | + callName: 'simplifyAcceptance' | ||
| 574 | + }) | ||
| 575 | + }, | ||
| 576 | + _handover() { | ||
| 577 | + this.$router.push('/pages/property/handover') | ||
| 578 | + }, | ||
| 579 | + _simplifyOwnerExitRoom() { | ||
| 580 | + this.$router.push('/pages/property/ownerExitRoom') | ||
| 581 | + }, | ||
| 582 | + _simplifyInputOwner() { | ||
| 583 | + if (this.simplifyAcceptanceInfo.searchType != "2" && | ||
| 584 | + this.simplifyAcceptanceInfo.searchType != "6" && | ||
| 585 | + this.simplifyAcceptanceInfo.searchType != "1") { | ||
| 586 | + return | ||
| 587 | + } | ||
| 588 | + | ||
| 589 | + if (this.simplifyAcceptanceInfo.timer) { | ||
| 590 | + clearTimeout(this.simplifyAcceptanceInfo.timer) | ||
| 591 | + } | ||
| 592 | + | ||
| 593 | + if (this.simplifyAcceptanceInfo.searchType == "1") { | ||
| 594 | + this.simplifyAcceptanceInfo.timer = setTimeout(() => { | ||
| 595 | + this.$refs.inputSearchRoom.$emit('searchRoom', { | ||
| 596 | + callComponent: 'simplifyAcceptance', | ||
| 597 | + roomName: this.simplifyAcceptanceInfo.searchValue | ||
| 598 | + }) | ||
| 599 | + }, 1500) | ||
| 600 | + return | ||
| 601 | + } | ||
| 602 | + | ||
| 603 | + const _ownerTypeCd = this.simplifyAcceptanceInfo.searchType == "2" ? '1001' : '1002,1003,1005' | ||
| 604 | + this.simplifyAcceptanceInfo.timer = setTimeout(() => { | ||
| 605 | + this.$refs.inputSearchOwner.$emit('searchOwner', { | ||
| 606 | + callComponent: 'simplifyAcceptance', | ||
| 607 | + ownerTypeCd: _ownerTypeCd, | ||
| 608 | + ownerName: this.simplifyAcceptanceInfo.searchValue | ||
| 609 | + }) | ||
| 610 | + }, 1500) | ||
| 611 | + }, | ||
| 612 | + _toRefundDepositFee() { | ||
| 613 | + const _roomId = this.simplifyAcceptanceInfo.roomId | ||
| 614 | + const _ownerId = this.simplifyAcceptanceInfo.ownerId | ||
| 615 | + this.$router.push({ | ||
| 616 | + path: '/pages/fee/refundDepositFee', | ||
| 617 | + query: { | ||
| 618 | + roomId: _roomId, | ||
| 619 | + ownerId: _ownerId | ||
| 620 | + } | ||
| 621 | + }) | ||
| 622 | + }, | ||
| 623 | + async computeDeposit() { | ||
| 624 | + const param = { | ||
| 625 | + page: 1, | ||
| 626 | + row: 100, | ||
| 627 | + payerObjId: this.simplifyAcceptanceInfo.roomId, | ||
| 628 | + ownerId: this.simplifyAcceptanceInfo.ownerId, | ||
| 629 | + communityId: this.communityId, | ||
| 630 | + state: '1400', | ||
| 631 | + } | ||
| 632 | + | ||
| 633 | + this.simplifyAcceptanceInfo.depositAmount = '0' | ||
| 634 | + | ||
| 635 | + try { | ||
| 636 | + const res = await queryFeeDeposit(param) | ||
| 637 | + if (res.code != 0) { | ||
| 638 | + return | ||
| 639 | + } | ||
| 640 | + | ||
| 641 | + if (!res.data || res.data.length < 1) { | ||
| 642 | + return | ||
| 643 | + } | ||
| 644 | + | ||
| 645 | + let _dispositAmount = 0 | ||
| 646 | + res.data.forEach(_data => { | ||
| 647 | + _dispositAmount += parseFloat(_data.receivedAmount) | ||
| 648 | + }) | ||
| 649 | + this.simplifyAcceptanceInfo.depositAmount = _dispositAmount.toFixed(2) | ||
| 650 | + } catch (error) { | ||
| 651 | + console.error('请求失败:', error) | ||
| 652 | + } | ||
| 653 | + } | ||
| 654 | + } | ||
| 655 | +} | ||
| 656 | +</script> | ||
| 657 | + | ||
| 658 | +<style scoped> | ||
| 659 | +.white-bg { | ||
| 660 | + background-color: #fff; | ||
| 661 | +} | ||
| 662 | + | ||
| 663 | +.padding-top-lg { | ||
| 664 | + padding-top: 20px; | ||
| 665 | +} | ||
| 666 | + | ||
| 667 | +.margin-top { | ||
| 668 | + margin-top: 15px; | ||
| 669 | +} | ||
| 670 | + | ||
| 671 | +.padding-bottom-lg { | ||
| 672 | + padding-bottom: 20px; | ||
| 673 | +} | ||
| 674 | + | ||
| 675 | +.text-center { | ||
| 676 | + text-align: center; | ||
| 677 | +} | ||
| 678 | + | ||
| 679 | +.padding-lr-0 { | ||
| 680 | + padding-left: 0; | ||
| 681 | + padding-right: 0; | ||
| 682 | +} | ||
| 683 | + | ||
| 684 | +.margin-left-xs { | ||
| 685 | + margin-left: 5px; | ||
| 686 | +} | ||
| 687 | + | ||
| 688 | +.margin-left-sm { | ||
| 689 | + margin-left: 10px; | ||
| 690 | +} | ||
| 691 | + | ||
| 692 | + | ||
| 693 | +.padding { | ||
| 694 | + padding: 15px; | ||
| 695 | +} | ||
| 696 | + | ||
| 697 | +.vc-float-left { | ||
| 698 | + float: left; | ||
| 699 | +} | ||
| 700 | + | ||
| 701 | +.border-radius { | ||
| 702 | + border-radius: 4px; | ||
| 703 | +} | ||
| 704 | + | ||
| 705 | +.fix-width { | ||
| 706 | + display: inline-block; | ||
| 707 | + max-width: 200px; | ||
| 708 | + overflow: hidden; | ||
| 709 | + text-overflow: ellipsis; | ||
| 710 | + white-space: nowrap; | ||
| 711 | +} | ||
| 712 | + | ||
| 713 | +.simplify-acceptance { | ||
| 714 | + margin-left: 160px; | ||
| 715 | +} | ||
| 716 | + | ||
| 717 | +.margin-bottom { | ||
| 718 | + margin-bottom: 15px; | ||
| 719 | +} | ||
| 720 | + | ||
| 721 | +.search-input { | ||
| 722 | + width: 600px; | ||
| 723 | +} | ||
| 724 | + | ||
| 725 | +.search-switch { | ||
| 726 | + width: 150px; | ||
| 727 | +} | ||
| 728 | + | ||
| 729 | +.form-group { | ||
| 730 | + margin-bottom: 20px; | ||
| 731 | +} | ||
| 732 | +</style> | ||
| 0 | \ No newline at end of file | 733 | \ No newline at end of file |
src/views/simplify/simplifyCarFeeLang.js
0 → 100644
| 1 | +export default { | ||
| 2 | + en: { | ||
| 3 | + simplifyCarFee: { | ||
| 4 | + buyMonthCard: 'Buy Monthly Card', | ||
| 5 | + batchPayment: 'Batch Payment', | ||
| 6 | + createFee: 'Create Fee', | ||
| 7 | + feeItem: 'Fee Item', | ||
| 8 | + feeFlag: 'Fee Flag', | ||
| 9 | + feeType: 'Fee Type', | ||
| 10 | + amountReceivable: 'Amount Receivable', | ||
| 11 | + accountingTime: 'Accounting Time', | ||
| 12 | + receivablePeriod: 'Receivable Period', | ||
| 13 | + description: 'Description', | ||
| 14 | + status: 'Status', | ||
| 15 | + operation: 'Operation', | ||
| 16 | + lastDegree: 'Last Degree', | ||
| 17 | + currentDegree: 'Current Degree', | ||
| 18 | + unitPrice: 'Unit Price', | ||
| 19 | + additionalFee: 'Additional Fee', | ||
| 20 | + algorithm: 'Algorithm', | ||
| 21 | + usage: 'Usage', | ||
| 22 | + fixedFee: 'Fixed Fee', | ||
| 23 | + payment: 'Payment', | ||
| 24 | + paymentHistory: 'Payment History', | ||
| 25 | + moreOperations: 'More Operations', | ||
| 26 | + cancelFee: 'Cancel Fee', | ||
| 27 | + manualFinish: 'Manual Finish', | ||
| 28 | + feeChange: 'Fee Change', | ||
| 29 | + details: 'Details', | ||
| 30 | + note1: 'Note: "-" in receivable end time means not yet receivable or payment has ended', | ||
| 31 | + note2: 'Amount receivable -1 generally means there is an error in the fee item formula setting, please check', | ||
| 32 | + arrearsSubtotal: 'Arrears Subtotal', | ||
| 33 | + parkingLot: ' Parking Lot ', | ||
| 34 | + parkingSpace: ' Parking Space', | ||
| 35 | + owner: 'Owner', | ||
| 36 | + phone: 'Phone' | ||
| 37 | + } | ||
| 38 | + }, | ||
| 39 | + zh: { | ||
| 40 | + simplifyCarFee: { | ||
| 41 | + buyMonthCard: '买月卡', | ||
| 42 | + batchPayment: '批量缴费', | ||
| 43 | + createFee: '创建费用', | ||
| 44 | + feeItem: '费用项目', | ||
| 45 | + feeFlag: '费用标识', | ||
| 46 | + feeType: '费用类型', | ||
| 47 | + amountReceivable: '应收金额', | ||
| 48 | + accountingTime: '建账时间', | ||
| 49 | + receivablePeriod: '应收时间段', | ||
| 50 | + description: '说明', | ||
| 51 | + status: '状态', | ||
| 52 | + operation: '操作', | ||
| 53 | + lastDegree: '上期度数', | ||
| 54 | + currentDegree: '本期度数', | ||
| 55 | + unitPrice: '单价', | ||
| 56 | + additionalFee: '附加费', | ||
| 57 | + algorithm: '算法', | ||
| 58 | + usage: '用量', | ||
| 59 | + fixedFee: '固定费', | ||
| 60 | + payment: '缴费', | ||
| 61 | + paymentHistory: '缴费历史', | ||
| 62 | + moreOperations: '更多操作', | ||
| 63 | + cancelFee: '取消费用', | ||
| 64 | + manualFinish: '手工结束', | ||
| 65 | + feeChange: '费用变更', | ||
| 66 | + details: '详情', | ||
| 67 | + note1: '注意: 应收结束时间 "-" 表示未到应收时间 或 收费已结束', | ||
| 68 | + note2: '应收金额 为-1 一般为费用项公式设置出错请检查', | ||
| 69 | + arrearsSubtotal: '欠费小计', | ||
| 70 | + parkingLot: '车场', | ||
| 71 | + parkingSpace: '车位', | ||
| 72 | + owner: '业主', | ||
| 73 | + phone: '电话' | ||
| 74 | + } | ||
| 75 | + } | ||
| 76 | +} | ||
| 0 | \ No newline at end of file | 77 | \ No newline at end of file |
src/views/simplify/simplifyContractLang.js
0 → 100644
| 1 | +export const messages = { | ||
| 2 | + en: { | ||
| 3 | + simplifyContract: { | ||
| 4 | + contractName: 'Contract Name', | ||
| 5 | + contractCode: 'Contract Code', | ||
| 6 | + parentContractCode: 'Parent Contract Code', | ||
| 7 | + contractType: 'Contract Type', | ||
| 8 | + startTime: 'Start Time', | ||
| 9 | + endTime: 'End Time', | ||
| 10 | + status: 'Status', | ||
| 11 | + operation: 'Operation', | ||
| 12 | + fee: 'Fee', | ||
| 13 | + view: 'View', | ||
| 14 | + print: 'Print', | ||
| 15 | + draftContract: 'Draft Contract' | ||
| 16 | + } | ||
| 17 | + }, | ||
| 18 | + zh: { | ||
| 19 | + simplifyContract: { | ||
| 20 | + contractName: '合同名称', | ||
| 21 | + contractCode: '合同编号', | ||
| 22 | + parentContractCode: '父合同编号', | ||
| 23 | + contractType: '合同类型', | ||
| 24 | + startTime: '开始时间', | ||
| 25 | + endTime: '结束时间', | ||
| 26 | + status: '状态', | ||
| 27 | + operation: '操作', | ||
| 28 | + fee: '费用', | ||
| 29 | + view: '查看', | ||
| 30 | + print: '打印', | ||
| 31 | + draftContract: '起草合同' | ||
| 32 | + } | ||
| 33 | + } | ||
| 34 | +} | ||
| 0 | \ No newline at end of file | 35 | \ No newline at end of file |