| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="退租日期" prop="btDate" style="width: 33%;"> |
| | | <!-- @change="changeBtDate"--> |
| | | <el-date-picker |
| | | v-model="form.btDate" |
| | | type="date" |
| | | @change="changeBtDate" |
| | | value-format="yyyy-MM-dd" |
| | | placeholder="请选择"> |
| | | </el-date-picker> |
| | |
| | | label="账单编号"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | width="100" |
| | | label="费用类型"> |
| | | <template slot-scope="{row}"> |
| | | <span v-if="row.costType === 0">租赁费</span> |
| | |
| | | label="应收付金额/原始应收付"> |
| | | <template v-slot="{row}"> |
| | | <div style="display: flex; align-items: center;"> |
| | | <el-input v-model="row.receivableFee" @input="changeReceivableFee($event, row)" placeholder="请输入内容" style="width: 90px;"></el-input> |
| | | <el-input v-model="row.receivableFee" @input="changeReceivableFee($event, row)" placeholder="请输入内容" style="flex: 1;"></el-input> |
| | | <span style="margin: 0 10px;">/</span> |
| | | {{row.receivableFeeCopy}} |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | width="120" |
| | | prop="actReceivableFee" |
| | | label="实收/付金额"> |
| | | </el-table-column> |
| | |
| | | import AddPaymentBill from './addPaymentBill' |
| | | import { getUserList } from '@/api/system/user' |
| | | import { backRent, getCanBackBill } from '@/api/contract' |
| | | import { mapState } from 'vuex' |
| | | export default { |
| | | name: "terminateLease", |
| | | components: { |
| | | GlobalWindow, |
| | | AddCollectionBill, |
| | | AddPaymentBill |
| | | }, |
| | | computed: { |
| | | ...mapState(['userInfo']) |
| | | }, |
| | | extends: BaseOpera, |
| | | data() { |
| | |
| | | loading: false |
| | | } |
| | | }, |
| | | watch: { |
| | | info: { |
| | | deep: true, |
| | | immediate: true, |
| | | handler(news, olds) { |
| | | const arr = [...this.info.terminateList, ...this.info.depositList] |
| | | let total1 = 0 |
| | | let total2 = 0 |
| | | arr.forEach(item => { |
| | | if (item.billType === 0) { |
| | | total1 += Number(item.price) |
| | | } else if (item.billType === 1) { |
| | | total2 += Number(item.price) |
| | | } |
| | | }) |
| | | this.receivable = total1 |
| | | this.meet = total2 |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | open (title, info) { |
| | | this.title = title |
| | | this.info = info |
| | | this.form.id = info.id |
| | | this.form.btSignDate = this.getDay() |
| | | console.log(this.userInfo) |
| | | this.form.btUserId = this.userInfo.id |
| | | this.$nextTick(() => { |
| | | this.$refs.form.resetFields() |
| | | }) |
| | | this.info.canBackRentBills.forEach(item => { |
| | | this.$set(item, 'receivableFeeCopy', item.receivableFee) |
| | | this.$set(item, 'receivableFee', item.needReceivableFee) |
| | | if ([2,3,7].includes(item.costType)) { |
| | | this.$set(item, 'billType', 1) |
| | | this.$set(item, 'price', item.actReceivableFee) |
| | | } else { |
| | | this.$set(item, 'receivableFeeCopy', item.receivableFee) |
| | | this.$set(item, 'receivableFee', item.needReceivableFee) |
| | | this.$set(item, 'price', item.needReceivableFee) |
| | | } |
| | | }) |
| | |
| | | return item |
| | | } |
| | | }) |
| | | this.countData() |
| | | this.getUser() |
| | | this.visible = true |
| | | }, |
| | | countData () { |
| | | const arr = [...this.info.terminateList, ...this.info.depositList] |
| | | let total1 = 0 |
| | | let total2 = 0 |
| | | arr.forEach(item => { |
| | | if (item.billType === 0) { |
| | | total1 += Number(item.price) |
| | | } else if (item.billType === 1) { |
| | | total2 += Number(item.price) |
| | | } |
| | | }) |
| | | this.receivable = total1.toFixed(2) |
| | | this.meet = total2.toFixed(2) |
| | | }, |
| | | getDay () { |
| | | const today = new Date(); |
| | | const year = today.getFullYear(); |
| | | const month = today.getMonth() + 1; // 月份是从 0 开始的,因此需要加 1 |
| | | const day = today.getDate(); |
| | | return `${year}-${month < 10 ? '0' + month : month}-${day < 10 ? '0' + day : day}`; |
| | | }, |
| | | addZD () { |
| | | if (!this.form.btDate) return this.$message.warning('请选择退租日期') |
| | |
| | | renterName: this.info.renterName, |
| | | renterId: this.info.renterId, |
| | | billType: 1, |
| | | feeType: 0, |
| | | billTypeCopy: 1 |
| | | }, { startDate: this.info.startDate, endDate: this.form.btDate }) |
| | | }, |
| | |
| | | return item |
| | | } |
| | | }) |
| | | this.countData() |
| | | }).finally(() => { |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | getObjS (obj) { |
| | | this.info.terminateList.push(obj) |
| | | this.info.terminateList.forEach(item => { |
| | | item.receivableFee = Number(item.receivableFee) + 1 |
| | | item.receivableFee = Number(item.receivableFee) - 1 |
| | | }) |
| | | // this.info.terminateList.forEach(item => { |
| | | // item.receivableFee = Number(item.receivableFee) + 1 |
| | | // item.receivableFee = Number(item.receivableFee) - 1 |
| | | // }) |
| | | this.countData() |
| | | }, |
| | | confirm () { |
| | | this.$refs.form.validate((valid) => { |
| | |
| | | if (Number(num) > row.receivableFeeCopy) { |
| | | row.receivableFee = '' |
| | | row.price = 0 |
| | | this.countData() |
| | | this.$message.warning('不能大于原始应收付金额') |
| | | } else { |
| | | if (num) { |
| | |
| | | } else { |
| | | row.price = 0 |
| | | row.billType = row.billTypeCopy |
| | | console.log('billTypeCopy', row.billTypeCopy) |
| | | } |
| | | row.price = Math.abs(row.price); |
| | | this.countData() |
| | | } |
| | | } |
| | | } |