优化加入费用分项表明细

This commit is contained in:
java110 2022-07-08 11:49:34 +08:00
parent ec2479817e
commit fbad984f8f
4 changed files with 356 additions and 160 deletions

View File

@ -7,8 +7,7 @@
<span><vc:i18n name="查询条件" namespace="reportFeeBreakdown"></vc:i18n></span>
</h5>
<div class="ibox-tools" style="top:10px;">
<button type="button" class="btn btn-link btn-sm" style="margin-right:10px;"
v-on:click="_moreCondition()">{{reportFeeBreakdownInfo.moreCondition == true?'隐藏':'更多'}}
<button type="button" class="btn btn-link btn-sm" style="margin-right:10px;" v-on:click="_moreCondition()">{{reportFeeBreakdownInfo.moreCondition == true?'隐藏':'更多'}}
</button>
</div>
</div>
@ -16,11 +15,9 @@
<div class="row">
<div class="col-sm-4">
<div class="form-group input-group">
<input type="text" :placeholder="vc.i18n('请选择楼栋','reportFeeBreakdown')"
v-model="reportFeeBreakdownInfo.conditions.floorName" class=" form-control">
<input type="text" :placeholder="vc.i18n('请选择楼栋','reportFeeBreakdown')" v-model="reportFeeBreakdownInfo.conditions.floorName" class=" form-control">
<div class="input-group-prepend">
<button type="button" class="btn btn-primary btn-sm"
v-on:click="_openChooseFloorMethod()">
<button type="button" class="btn btn-primary btn-sm" v-on:click="_openChooseFloorMethod()">
<i class="fa fa-search"></i>
<span><vc:i18n name="选择" namespace="reportFeeBreakdown"></vc:i18n></span>
</button>
@ -29,8 +26,7 @@
</div>
<div class="col-sm-3">
<div class="form-group">
<select class="form-control-md form-control input-s-sm inline"
v-model="reportFeeBreakdownInfo.conditions.unitId">
<select class="form-control-md form-control input-s-sm inline" v-model="reportFeeBreakdownInfo.conditions.unitId">
<option selected value="">{{vc.i18n('请选择单元','reportFeeBreakdown')}}</option>
<option v-for="(unit,index) in reportFeeBreakdownInfo.roomUnits" :key="index"
v-bind:value="unit.unitId">
@ -41,9 +37,7 @@
</div>
<div class="col-sm-3">
<div class="form-group">
<input type="text" :placeholder="vc.i18n('请填写年份月份如202109','reportFeeBreakdown')"
class="form-control form-control-md"
v-model="reportFeeBreakdownInfo.conditions.yearMonth">
<input type="text" :placeholder="vc.i18n('请填写年份月份如202109','reportFeeBreakdown')" class="form-control form-control-md" v-model="reportFeeBreakdownInfo.conditions.yearMonth">
</div>
</div>
<div class="col-sm-2">
@ -51,8 +45,7 @@
<i class="fa fa-search"></i>
<span><vc:i18n name="查询" namespace="reportFeeBreakdown"></vc:i18n></span>
</button>
<button type="button" class="btn btn-info btn-md" v-on:click="_resetMethod()"
style="margin-left: 20px;">
<button type="button" class="btn btn-info btn-md" v-on:click="_resetMethod()" style="margin-left: 20px;">
<i class="fa fa-repeat"></i>
<span><vc:i18n name="重置" namespace="reportFeeBreakdown"></vc:i18n></span>
</button>
@ -118,69 +111,80 @@
<div class="ibox-content">
<table class="footable table table-stripped toggle-arrow-tiny" data-page-size="15">
<thead>
<tr>
<th class="text-center">
<span><vc:i18n name="费用编号" namespace="reportFeeBreakdown"></vc:i18n></span>
</th>
<th class="text-center">
<span><vc:i18n name="费用类型" namespace="reportFeeBreakdown"></vc:i18n></span>
</th>
<th class="text-center">
<span><vc:i18n name="费用项" namespace="reportFeeBreakdown"></vc:i18n></span>
</th>
<th class="text-center">
<span><vc:i18n name="历史欠费" namespace="reportFeeBreakdown"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="当月应收" namespace="reportFeeBreakdown"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="应收合计" namespace="reportFeeBreakdown"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="当月实收" namespace="reportFeeBreakdown"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="欠费追回" namespace="reportFeeBreakdown"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="预交费用" namespace="reportFeeBreakdown"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="实收合计" namespace="reportFeeBreakdown"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="欠费金额" namespace="reportFeeBreakdown"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="更新时间" namespace="reportFeeBreakdown"></vc:i18n></span>
</th>
</tr>
<tr>
<th class="text-center">
<span><vc:i18n name="费用编号" namespace="reportFeeBreakdown"></vc:i18n></span>
</th>
<th class="text-center">
<span><vc:i18n name="费用类型" namespace="reportFeeBreakdown"></vc:i18n></span>
</th>
<th class="text-center">
<span><vc:i18n name="费用项" namespace="reportFeeBreakdown"></vc:i18n></span>
</th>
<th class="text-center">
<span><vc:i18n name="历史欠费" namespace="reportFeeBreakdown"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="当月应收" namespace="reportFeeBreakdown"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="应收合计" namespace="reportFeeBreakdown"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="当月实收" namespace="reportFeeBreakdown"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="欠费追回" namespace="reportFeeBreakdown"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="预交费用" namespace="reportFeeBreakdown"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="实收合计" namespace="reportFeeBreakdown"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="欠费金额" namespace="reportFeeBreakdown"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="更新时间" namespace="reportFeeBreakdown"></vc:i18n></span>
</th>
<th class="text-center">
<span><vc:i18n name="操作" namespace="reportFeeBreakdown"></vc:i18n></span>
</th>
</tr>
</thead>
<tbody>
<tr v-for="(fee,index) in reportFeeBreakdownInfo.fees">
<td class="text-center">{{index+1}}</td>
<td class="text-center">{{fee.feeTypeCd}}</td>
<td class="text-center">{{fee.feeName}}</td>
<td class="text-center">{{fee.hisOweAmount}}</td>
<td class="text-center">{{fee.curReceivableAmount}}</td>
<td class="text-center">{{_computeSum(fee.hisOweAmount,fee.curReceivableAmount)}}</td>
<td class="text-center">{{fee.curReceivedAmount}}</td>
<td class="text-center">{{fee.hisOweReceivedAmount}}</td>
<td class="text-center">{{fee.preReceivedAmount}}</td>
<td class="text-center">
{{_computeSum(_computeSum(fee.hisOweReceivedAmount,fee.preReceivedAmount),fee.curReceivedAmount)}}
</td>
<td class="text-center">{{_computeOweFee(fee)}}</td>
<td class="text-center">{{fee.updateTime}}</td>
</tr>
<tr v-for="(fee,index) in reportFeeBreakdownInfo.fees">
<td class="text-center">{{index+1}}</td>
<td class="text-center">{{fee.feeTypeCd}}</td>
<td class="text-center">{{fee.feeName}}</td>
<td class="text-center">{{fee.hisOweAmount}}</td>
<td class="text-center">{{fee.curReceivableAmount}}</td>
<td class="text-center">{{_computeSum(fee.hisOweAmount,fee.curReceivableAmount)}}</td>
<td class="text-center">{{fee.curReceivedAmount}}</td>
<td class="text-center">{{fee.hisOweReceivedAmount}}</td>
<td class="text-center">{{fee.preReceivedAmount}}</td>
<td class="text-center">
{{_computeSum(_computeSum(fee.hisOweReceivedAmount,fee.preReceivedAmount),fee.curReceivedAmount)}}
</td>
<td class="text-center">{{_computeOweFee(fee)}}</td>
<td class="text-center">{{fee.updateTime}}</td>
<td class="text-center">
<div class="btn-group">
<button class="btn-white btn btn-xs" @click="_toDetail(fee)"><span>
<vc:i18n name="明细" namespace="reportFeeBreakdown"></vc:i18n>
</span>
</button>
</div>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="12">
<ul class="pagination float-right"></ul>
</td>
</tr>
<tr>
<td colspan="12">
<ul class="pagination float-right"></ul>
</td>
</tr>
</tfoot>
</table>
<!-- 分页 -->
@ -188,72 +192,71 @@
<span class="col-md-1 margin-left">
<div class="row">
<b><span><vc:i18n name="小计" namespace="reportFeeBreakdown"></vc:i18n></span></b>
</div>
<div class="row">
<b><span><vc:i18n name="大计" namespace="reportFeeBreakdown"></vc:i18n></span></b>
</div>
</span>
<span class="col-md-2">
</div>
<div class="row">
<b><span><vc:i18n name="大计" namespace="reportFeeBreakdown"></vc:i18n></span></b>
</div>
</span>
<span class="col-md-2">
<div class="row">
<span><vc:i18n name="应收" namespace="reportFeeBreakdown"></vc:i18n></span>: {{reportFeeBreakdownInfo.totalReceivableAmount}}
<span><vc:i18n name="元" namespace="reportFeeBreakdown"></vc:i18n></span>
</div>
<div class="row">
<span><vc:i18n name="应收" namespace="reportFeeBreakdown"></vc:i18n></span>: {{reportFeeBreakdownInfo.allReceivableAmount}}
<span><vc:i18n name="元" namespace="reportFeeBreakdown"></vc:i18n></span>
</div>
</span>
<span class="col-md-2">
<span><vc:i18n name="元" namespace="reportFeeBreakdown"></vc:i18n></span>
</div>
<div class="row">
<span><vc:i18n name="应收" namespace="reportFeeBreakdown"></vc:i18n></span>: {{reportFeeBreakdownInfo.allReceivableAmount}}
<span><vc:i18n name="元" namespace="reportFeeBreakdown"></vc:i18n></span>
</div>
</span>
<span class="col-md-2">
<div class="row">
<span><vc:i18n name="实收" namespace="reportFeeBreakdown"></vc:i18n></span>: {{reportFeeBreakdownInfo.totalReceivedAmount}}
<span><vc:i18n name="元" namespace="reportFeeBreakdown"></vc:i18n></span>
</div>
<div class="row">
<span><vc:i18n name="实收" namespace="reportFeeBreakdown"></vc:i18n></span>: {{reportFeeBreakdownInfo.allReceivedAmount}}
<span><vc:i18n name="元" namespace="reportFeeBreakdown"></vc:i18n></span>
</div>
</span>
<span class="col-md-2">
<span><vc:i18n name="元" namespace="reportFeeBreakdown"></vc:i18n></span>
</div>
<div class="row">
<span><vc:i18n name="实收" namespace="reportFeeBreakdown"></vc:i18n></span>: {{reportFeeBreakdownInfo.allReceivedAmount}}
<span><vc:i18n name="元" namespace="reportFeeBreakdown"></vc:i18n></span>
</div>
</span>
<span class="col-md-2">
<div class="row">
<span><vc:i18n name="欠费" namespace="reportFeeBreakdown"></vc:i18n></span>: {{_computeTotalOweAmount()}}
<span><vc:i18n name="元" namespace="reportFeeBreakdown"></vc:i18n></span>
</div>
<div class="row">
<span><vc:i18n name="欠费" namespace="reportFeeBreakdown"></vc:i18n></span>: {{reportFeeBreakdownInfo.allOweAmount}}
<span><vc:i18n name="元" namespace="reportFeeBreakdown"></vc:i18n></span>
</div>
</span>
<span class="col-md-2">
<span><vc:i18n name="元" namespace="reportFeeBreakdown"></vc:i18n></span>
</div>
<div class="row">
<span><vc:i18n name="欠费" namespace="reportFeeBreakdown"></vc:i18n></span>: {{reportFeeBreakdownInfo.allOweAmount}}
<span><vc:i18n name="元" namespace="reportFeeBreakdown"></vc:i18n></span>
</div>
</span>
<span class="col-md-2">
<div class="row">
<span><vc:i18n name="欠费追回" namespace="reportFeeBreakdown"></vc:i18n></span>: {{_computeTotalHisOweReceivedAmount()}}
<span><vc:i18n name="元" namespace="reportFeeBreakdown"></vc:i18n></span>
</div>
<div class="row">
<span><vc:i18n name="欠费追回" namespace="reportFeeBreakdown"></vc:i18n></span>: {{reportFeeBreakdownInfo.allHisOweReceivedAmount}}
<span><vc:i18n name="元" namespace="reportFeeBreakdown"></vc:i18n></span>
</div>
</span>
</div>
<div class="row margin-top-xs">
<div class="col-sm-9">
<div>
<span><vc:i18n name="欠费金额" namespace="reportFeeBreakdown"></vc:i18n></span> = 历史欠费 +
当月应收 - 当月实收 - 欠费追回
</div>
<div>
<span><vc:i18n name="历史欠费" namespace="reportFeeBreakdown"></vc:i18n></span>:当月之前欠费;当月应收:当前月收费;当月实收:当月收到中属于当前月应收费用部分;
</div>
<div>
<span><vc:i18n name="欠费追回" namespace="reportFeeBreakdown"></vc:i18n></span>:当月收到中属于历史欠费部分;预交费用:当月收到中属于预交费用部分
</div>
</div>
<div class="col-sm-3 float-right">
<vc:create path="frame/pagination"></vc:create>
</div>
</div>
</div>
</div>
<span><vc:i18n name="元" namespace="reportFeeBreakdown"></vc:i18n></span>
</div>
<div class="row">
<span><vc:i18n name="欠费追回" namespace="reportFeeBreakdown"></vc:i18n></span>: {{reportFeeBreakdownInfo.allHisOweReceivedAmount}}
<span><vc:i18n name="元" namespace="reportFeeBreakdown"></vc:i18n></span>
</div>
</span>
</div>
<div class="row margin-top-xs">
<div class="col-sm-9">
<div>
<span><vc:i18n name="欠费金额" namespace="reportFeeBreakdown"></vc:i18n></span> = 历史欠费 + 当月应收 - 当月实收 - 欠费追回
</div>
<div>
<span><vc:i18n name="历史欠费" namespace="reportFeeBreakdown"></vc:i18n></span>:当月之前欠费;当月应收:当前月收费;当月实收:当月收到中属于当前月应收费用部分;
</div>
<div>
<span><vc:i18n name="欠费追回" namespace="reportFeeBreakdown"></vc:i18n></span>:当月收到中属于历史欠费部分;预交费用:当月收到中属于预交费用部分
</div>
</div>
<vc:create path="property/searchFloor" emitChooseFloor="reportFeeBreakdown" emitLoadData="xx"></vc:create>
<div class="col-sm-3 float-right">
<vc:create path="frame/pagination"></vc:create>
</div>
</div>
</div>
</div>
</div>
</div>
<vc:create path="property/searchFloor" emitChooseFloor="reportFeeBreakdown" emitLoadData="xx"></vc:create>
</div>

View File

@ -1,7 +1,7 @@
/**
入驻小区
**/
(function (vc) {
(function(vc) {
var DEFAULT_PAGE = 1;
var DEFAULT_ROWS = 10;
vc.extends({
@ -36,28 +36,28 @@
}
}
},
_initMethod: function () {
_initMethod: function() {
//vc.component._initDate();
//$that.reportFeeBreakdownInfo.conditions.yearMonth = $that._getCurrentMonth();
$that._listFees(DEFAULT_PAGE, DEFAULT_ROWS);
//关联字典表费用类型
vc.getDict('pay_fee_config', "fee_type_cd", function (_data) {
vc.getDict('pay_fee_config', "fee_type_cd", function(_data) {
vc.component.reportFeeBreakdownInfo.feeTypeCds = _data;
});
},
_initEvent: function () {
vc.on('reportFeeBreakdown', 'chooseFloor', function (_param) {
_initEvent: function() {
vc.on('reportFeeBreakdown', 'chooseFloor', function(_param) {
vc.component.reportFeeBreakdownInfo.conditions.floorId = _param.floorId;
vc.component.reportFeeBreakdownInfo.conditions.floorName = _param.floorName;
vc.component.loadUnits(_param.floorId);
});
vc.on('pagination', 'page_event', function (_currentPage) {
vc.on('pagination', 'page_event', function(_currentPage) {
vc.component._listFees(_currentPage, DEFAULT_ROWS);
});
},
methods: {
_initDate: function () {
_initDate: function() {
$(".startTime").datetimepicker({
minView: "month",
language: 'zh-CN',
@ -79,12 +79,12 @@
todayBtn: true
});
$('.startTime').datetimepicker()
.on('changeDate', function (ev) {
.on('changeDate', function(ev) {
var value = $(".startTime").val();
vc.component.reportFeeBreakdownInfo.conditions.startTime = value;
});
$('.endTime').datetimepicker()
.on('changeDate', function (ev) {
.on('changeDate', function(ev) {
var value = $(".endTime").val();
vc.component.reportFeeBreakdownInfo.conditions.endTime = value;
let start = Date.parse(new Date($that.reportFeeBreakdownInfo.conditions.startTime))
@ -108,11 +108,11 @@
}
},
//查询
_queryMethod: function () {
_queryMethod: function() {
vc.component._listFees(DEFAULT_PAGE, DEFAULT_ROWS);
},
//查询方法
_listFees: function (_page, _rows) {
_listFees: function(_page, _rows) {
vc.component.reportFeeBreakdownInfo.conditions.page = _page;
vc.component.reportFeeBreakdownInfo.conditions.row = _rows;
vc.component.reportFeeBreakdownInfo.conditions.communityId = vc.getCurrentCommunity().communityId;
@ -122,7 +122,7 @@
//发送get请求
vc.http.apiGet('/reportFeeMonthStatistics/queryFeeBreakdown',
param,
function (json, res) {
function(json, res) {
var _reportFeeBreakdownInfo = JSON.parse(json);
vc.component.reportFeeBreakdownInfo.total = _reportFeeBreakdownInfo.total;
vc.component.reportFeeBreakdownInfo.records = _reportFeeBreakdownInfo.records;
@ -154,17 +154,17 @@
currentPage: _page
});
},
function (errInfo, error) {
function(errInfo, error) {
console.log('请求失败处理');
}
);
},
//重置
_resetMethod: function () {
_resetMethod: function() {
vc.component._resetListFee(DEFAULT_PAGE, DEFAULT_ROWS);
},
//重置方法
_resetListFee: function (_page, _rows) {
_resetListFee: function(_page, _rows) {
vc.component.reportFeeBreakdownInfo.conditions.floorId = "";
vc.component.reportFeeBreakdownInfo.conditions.floorName = "";
vc.component.reportFeeBreakdownInfo.conditions.unitId = "";
@ -176,7 +176,7 @@
vc.component.reportFeeBreakdownInfo.conditions.yearMonth = "";
$that._listFees(DEFAULT_PAGE, DEFAULT_ROWS);
},
loadUnits: function (_floorId) {
loadUnits: function(_floorId) {
let param = {
params: {
floorId: _floorId,
@ -187,7 +187,7 @@
'room',
'loadUnits',
param,
function (json, res) {
function(json, res) {
//vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
if (res.status == 200) {
let tmpUnits = JSON.parse(json);
@ -196,48 +196,48 @@
}
vc.toast(json);
},
function (errInfo, error) {
function(errInfo, error) {
console.log('请求失败处理');
vc.toast(errInfo);
});
},
_openChooseFloorMethod: function () {
_openChooseFloorMethod: function() {
vc.emit('searchFloor', 'openSearchFloorModel', {});
},
_moreCondition: function () {
_moreCondition: function() {
if (vc.component.reportFeeBreakdownInfo.moreCondition) {
vc.component.reportFeeBreakdownInfo.moreCondition = false;
} else {
vc.component.reportFeeBreakdownInfo.moreCondition = true;
}
},
_exportExcel: function () {
_exportExcel: function() {
vc.jumpToPage('/callComponent/exportReportFee/exportData?pagePath=reportFeeBreakdown&' + vc.objToGetParam($that.reportFeeBreakdownInfo.conditions));
},
_computeSum: function (a, b) {
_computeSum: function(a, b) {
return (parseFloat(a) + parseFloat(b)).toFixed(2)
},
_computeOweFee: function (fee) {
_computeOweFee: function(fee) {
let _oweFee = (parseFloat(fee.hisOweAmount) + parseFloat(fee.curReceivableAmount) - parseFloat(fee.curReceivedAmount) - parseFloat(fee.hisOweReceivedAmount)).toFixed(2);
if (_oweFee < 0) {
return 0;
}
return _oweFee;
},
_computeTotalOweAmount: function () {
_computeTotalOweAmount: function() {
if (!window.$that) {
return 0;
}
if (!$that.reportFloorUnitFeeSummaryInfo) {
if (!$that.reportFeeBreakdownInfo) {
return 0;
}
let _amount = 0;
$that.reportFloorUnitFeeSummaryInfo.fees.forEach(item => {
$that.reportFeeBreakdownInfo.fees.forEach(item => {
_amount += parseFloat($that._computeOweFee(item));
})
return _amount.toFixed(2);
},
_getCurrentMonth: function () {
_getCurrentMonth: function() {
let date = new Date();
let year = date.getFullYear();
let month = date.getMonth() + 1;
@ -246,18 +246,32 @@
}
return year + '' + month;
},
_computeTotalHisOweReceivedAmount: function () {
_computeTotalHisOweReceivedAmount: function() {
if (!window.$that) {
return 0;
}
if (!$that.reportFloorUnitFeeSummaryInfo) {
if (!$that.reportFeeBreakdownInfo) {
return 0;
}
let _amount = 0;
$that.reportFloorUnitFeeSummaryInfo.fees.forEach(item => {
$that.reportFeeBreakdownInfo.fees.forEach(item => {
_amount += parseFloat(item.hisOweReceivedAmount);
})
return _amount.toFixed(2);
},
_toDetail: function(_fee) {
let _condition = {
floorId: vc.component.reportFeeBreakdownInfo.conditions.floorId,
floorName: vc.component.reportFeeBreakdownInfo.conditions.floorName,
unitId: vc.component.reportFeeBreakdownInfo.conditions.unitId,
roomNum: vc.component.reportFeeBreakdownInfo.conditions.roomNum,
startTime: vc.component.reportFeeBreakdownInfo.conditions.startTime,
endTime: vc.component.reportFeeBreakdownInfo.conditions.endTime,
feeTypeCd: vc.component.reportFeeBreakdownInfo.conditions.feeTypeCd,
yearMonth: vc.component.reportFeeBreakdownInfo.conditions.yearMonth,
}
vc.jumpToPage('/#/pages/property/reportFeeBreakdownDetail?configId=' + _fee.configId +
"&" + vc.objToGetParam(_condition))
}
}
});

View File

@ -0,0 +1,91 @@
<div class=" animated fadeInRight ecommerce">
<div class="row">
<div class="col-lg-12">
<div class="ibox">
<div class="ibox-title">
<h5><span><vc:i18n name="费用分项明细" namespace="reportFeeBreakdownDetail"></vc:i18n></span></h5>
<div class="ibox-tools" style="top:10px;">
<button type="button" class="btn btn-white btn-sm" v-on:click="_goBack()">
<span><vc:i18n name="返回" namespace="reportFeeBreakdownDetail"></vc:i18n></span>
</button>
</div>
</div>
<div class="ibox-content">
<table class="footable table table-stripped toggle-arrow-tiny" data-page-size="15">
<thead>
<tr>
<th class="text-center">
<span><vc:i18n name="房号/车辆/合同" namespace="reportFeeBreakdownDetail"></vc:i18n></span>
</th>
<th class="text-center">
<span><vc:i18n name="费用项" namespace="reportFeeBreakdownDetail"></vc:i18n></span>
</th>
<th class="text-center">
<span><vc:i18n name="历史欠费" namespace="reportFeeBreakdownDetail"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="当月应收" namespace="reportFeeBreakdownDetail"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="应收合计" namespace="reportFeeBreakdownDetail"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="当月实收" namespace="reportFeeBreakdownDetail"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="欠费追回" namespace="reportFeeBreakdownDetail"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="预交费用" namespace="reportFeeBreakdownDetail"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="实收合计" namespace="reportFeeBreakdownDetail"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="欠费金额" namespace="reportFeeBreakdownDetail"></vc:i18n></span>(单位:元)
</th>
<th class="text-center">
<span><vc:i18n name="更新时间" namespace="reportFeeBreakdownDetail"></vc:i18n></span>
</th>
</tr>
</thead>
<tbody>
<tr v-for="fee in reportFeeBreakdownDetailInfo.fees">
<td class="text-center">{{fee.objName}}</td>
<td class="text-center">{{fee.feeName}}</td>
<td class="text-center">{{fee.hisOweAmount}}</td>
<td class="text-center">{{fee.curReceivableAmount}}</td>
<td class="text-center">{{_computeSum(fee.hisOweAmount,fee.curReceivableAmount)}}</td>
<td class="text-center">{{fee.curReceivedAmount}}</td>
<td class="text-center">{{fee.hisOweReceivedAmount}}</td>
<td class="text-center">{{fee.preReceivedAmount}}</td>
<td class="text-center">
{{_computeSum(_computeSum(fee.hisOweReceivedAmount,fee.preReceivedAmount),fee.curReceivedAmount)}}
</td>
<td class="text-center">{{_computeOweFee(fee)}}</td>
<td class="text-center">{{fee.updateTime}}</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="11">
<ul class="pagination float-right"></ul>
</td>
</tr>
</tfoot>
</table>
<!-- 分页 -->
<!-- 分页 -->
<div class="row margin-top-xs">
<div class="col-sm-12 float-right">
<vc:create path="frame/pagination"></vc:create>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

View File

@ -0,0 +1,88 @@
/**
入驻小区
**/
(function(vc) {
var DEFAULT_PAGE = 1;
var DEFAULT_ROWS = 20;
vc.extends({
data: {
reportFeeBreakdownDetailInfo: {
fees: [],
conditions: {
floorId: '',
floorName: '',
roomNum: '',
unitId: '',
configId: '',
feeTypeCd: '',
startTime: '',
endTime: '',
yearMonth: '',
communityId: vc.getCurrentCommunity().communityId,
}
}
},
_initMethod: function() {
$that.reportFeeBreakdownDetailInfo.conditions.floorId = vc.getParam('floorId');
$that.reportFeeBreakdownDetailInfo.conditions.floorName = vc.getParam('floorName');
$that.reportFeeBreakdownDetailInfo.conditions.roomNum = vc.getParam('roomNum');
$that.reportFeeBreakdownDetailInfo.conditions.unitId = vc.getParam('unitId');
$that.reportFeeBreakdownDetailInfo.conditions.startTime = vc.getParam('startTime');
$that.reportFeeBreakdownDetailInfo.conditions.endTime = vc.getParam('endTime');
$that.reportFeeBreakdownDetailInfo.conditions.feeYear = vc.getParam('feeTypeCd');
$that.reportFeeBreakdownDetailInfo.conditions.feeMonth = vc.getParam('yearMonth');
$that.reportFeeBreakdownDetailInfo.conditions.configId = vc.getParam('configId');
$that._listFees(DEFAULT_PAGE, DEFAULT_ROWS);
},
_initEvent: function() {
vc.on('pagination', 'page_event', function(_currentPage) {
$that._listFees(_currentPage, DEFAULT_ROWS);
});
},
methods: {
//查询方法
_listFees: function(_page, _rows) {
$that.reportFeeBreakdownDetailInfo.conditions.page = _page;
$that.reportFeeBreakdownDetailInfo.conditions.row = _rows;
$that.reportFeeBreakdownDetailInfo.conditions.communityId = vc.getCurrentCommunity().communityId;
var param = {
params: $that.reportFeeBreakdownDetailInfo.conditions
};
//发送get请求
vc.http.apiGet('/reportFeeMonthStatistics/queryReportFeeBreakdownDetail',
param,
function(json, res) {
var _reportFeeBreakdownDetailInfo = JSON.parse(json);
$that.reportFeeBreakdownDetailInfo.total = _reportFeeBreakdownDetailInfo.total;
$that.reportFeeBreakdownDetailInfo.records = _reportFeeBreakdownDetailInfo.records;
$that.reportFeeBreakdownDetailInfo.fees = _reportFeeBreakdownDetailInfo.data;
vc.emit('pagination', 'init', {
total: $that.reportFeeBreakdownDetailInfo.records,
dataCount: $that.reportFeeBreakdownDetailInfo.total,
currentPage: _page
});
},
function(errInfo, error) {
console.log('请求失败处理');
}
);
},
_exportExcel: function() {
vc.jumpToPage('/callComponent/exportReportFee/exportData?pagePath=reportFeeBreakdownDetail&' + vc.objToGetParam($that.reportFeeBreakdownDetailInfo.conditions));
},
_goBack: function() {
vc.goBack();
},
_computeSum: function(a, b) {
return (parseFloat(a) + parseFloat(b)).toFixed(2)
},
_computeOweFee: function(fee) {
let _oweFee = (parseFloat(fee.hisOweAmount) + parseFloat(fee.curReceivableAmount) - parseFloat(fee.curReceivedAmount) - parseFloat(fee.hisOweReceivedAmount)).toFixed(2);
if (_oweFee < 0) {
return 0;
}
return _oweFee;
},
}
});
})(window.vc);