加入报表页面

This commit is contained in:
java110 2020-10-17 18:56:52 +08:00
parent 8deb9e8103
commit 4de4f60098
8 changed files with 642 additions and 10 deletions

View File

@ -0,0 +1,110 @@
<div class=" animated fadeInRight ecommerce">
<div class="row">
<div class="col-lg-12">
<div class="ibox ">
<div class="ibox-title">
<h5>查询条件</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>
</div>
</div>
<div class="ibox-content">
<div class="row">
<div class="col-sm-4">
<div class="form-group input-group">
<input type="text" placeholder="请选择楼栋" 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()"><i class="fa fa-search"></i> 选择
</button>
</div>
</div>
</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">
<option selected value="">请选择单元</option>
<option v-for="(unit,index) in reportFeeBreakdownInfo.roomUnits" :key="index" v-bind:value="unit.unitId">
{{unit.unitNum}}单元
</option>
</select>
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<input type="text" placeholder="请填写房屋编号" class="form-control form-control-md"
v-model="reportFeeBreakdownInfo.conditions.roomNum">
</div>
</div>
<div class="col-sm-1">
<button type="button" class="btn btn-primary btn-md" v-on:click="_queryMethod()"><i
class="fa fa-search"></i> 查询
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="ibox">
<div class="ibox-title">
<h5>费用分项表</h5>
<div class="ibox-tools" style="top:10px;">
<button type="button" class="btn btn-primary btn-sm" v-on:click="_openAddActivitiesModal()">
<i class="fa fa-plus"></i>
导出
</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">信息ID</th> -->
<th class="text-center">费用编号</th>
<th class="text-center">费用项</th>
<th class="text-center">费用开始时间</th>
<th class="text-center">应收金额</th>
<th class="text-center">实收金额</th>
<th class="text-center">欠费金额</th>
</tr>
</thead>
<tbody>
<tr v-for="(fee,index) in reportFeeBreakdownInfo.fees">
<td class="text-center">{{index+1}}</td>
<td class="text-center">{{fee.feeName}}</td>
<td class="text-center">{{fee.feeCreateTime}}</td>
<td class="text-center">{{fee.receivableAmount}}</td>
<td class="text-center">{{fee.receivedAmount}}</td>
<td class="text-center">{{fee.oweAmount}}</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="7">
<ul class="pagination float-right"></ul>
</td>
</tr>
</tfoot>
</table>
<!-- 分页 -->
<vc:create path="frame/pagination"></vc:create>
</div>
</div>
</div>
</div>
<vc:create path="property/searchFloor" emitChooseFloor="reportFeeBreakdown" emitLoadData="xx"></vc:create>
</div>

View File

@ -0,0 +1,99 @@
/**
入驻小区
**/
(function (vc) {
var DEFAULT_PAGE = 1;
var DEFAULT_ROWS = 10;
vc.extends({
data: {
reportFeeBreakdownInfo: {
fees: [],
total: 0,
records: 1,
moreCondition: false,
title: '',
roomUnits: [],
conditions: {
floorId: '',
floorName: '',
roomNum: '',
unitId: '',
startTime:'',
endTime:''
}
}
},
_initMethod: function () {
vc.component._listFees(DEFAULT_PAGE, DEFAULT_ROWS);
},
_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.component._listFees(_currentPage, DEFAULT_ROWS);
});
},
methods: {
_queryMethod:function(){
vc.component._listFees(DEFAULT_PAGE, DEFAULT_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;
var param = {
params: vc.component.reportFeeBreakdownInfo.conditions
};
//发送get请求
vc.http.apiGet('/reportFeeMonthStatistics/queryFeeBreakdown',
param,
function (json, res) {
var _reportFeeBreakdownInfo = JSON.parse(json);
vc.component.reportFeeBreakdownInfo.total = _reportFeeBreakdownInfo.total;
vc.component.reportFeeBreakdownInfo.records = _reportFeeBreakdownInfo.records;
vc.component.reportFeeBreakdownInfo.fees = _reportFeeBreakdownInfo.data;
vc.emit('pagination', 'init', {
total: vc.component.reportFeeBreakdownInfo.records,
currentPage: _page
});
}, function (errInfo, error) {
console.log('请求失败处理');
}
);
},
loadUnits: function (_floorId) {
var param = {
params: {
floorId: _floorId,
communityId: vc.getCurrentCommunity().communityId
}
}
vc.http.get(
'room',
'loadUnits',
param,
function (json, res) {
//vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
if (res.status == 200) {
let tmpUnits = JSON.parse(json);
vc.component.reportFeeBreakdownInfo.roomUnits = tmpUnits;
return;
}
vc.toast(json);
},
function (errInfo, error) {
console.log('请求失败处理');
vc.toast(errInfo);
});
},
}
});
})(window.vc);

View File

@ -0,0 +1,113 @@
<div class=" animated fadeInRight ecommerce">
<div class="row">
<div class="col-lg-12">
<div class="ibox ">
<div class="ibox-title">
<h5>查询条件</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()">{{reportFeeDetailInfo.moreCondition == true?'隐藏':'更多'}}
</button>
</div>
</div>
<div class="ibox-content">
<div class="row">
<div class="col-sm-4">
<div class="form-group input-group">
<input type="text" placeholder="请选择楼栋" v-model="reportFeeDetailInfo.conditions.floorName"
class=" form-control">
<div class="input-group-prepend">
<button type="button" class="btn btn-primary btn-sm"
v-on:click="_openChooseFloorMethod()"><i class="fa fa-search"></i> 选择
</button>
</div>
</div>
</div>
<div class="col-sm-3">
<div class="form-group">
<select class="form-control-md form-control input-s-sm inline"
v-model="reportFeeDetailInfo.conditions.unitId">
<option selected value="">请选择单元</option>
<option v-for="(unit,index) in reportFeeDetailInfo.roomUnits" :key="index" v-bind:value="unit.unitId">
{{unit.unitNum}}单元
</option>
</select>
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<input type="text" placeholder="请填写房屋编号" class="form-control form-control-md"
v-model="reportFeeDetailInfo.conditions.roomNum">
</div>
</div>
<div class="col-sm-1">
<button type="button" class="btn btn-primary btn-md" v-on:click="_queryMethod()"><i
class="fa fa-search"></i> 查询
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="ibox">
<div class="ibox-title">
<h5>费用明细表</h5>
<div class="ibox-tools" style="top:10px;">
<button type="button" class="btn btn-primary btn-sm" v-on:click="_openAddActivitiesModal()">
<i class="fa fa-plus"></i>
导出
</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">信息ID</th> -->
<th class="text-center">费用编号</th>
<th class="text-center">房号</th>
<th class="text-center">费用项</th>
<th class="text-center">费用开始时间</th>
<th class="text-center">费用结束时间</th>
<th class="text-center">应收金额</th>
<th class="text-center">实收金额</th>
</tr>
</thead>
<tbody>
<tr v-for="(fee,index) in reportFeeDetailInfo.fees">
<td class="text-center">{{index+1}}</td>
<td class="text-center">{{fee.objName}}</td>
<td class="text-center">{{fee.feeName}}</td>
<td class="text-center">{{fee.feeCreateTime}}</td>
<td class="text-center">-</td>
<td class="text-center">{{fee.receivableAmount}}</td>
<td class="text-center">{{fee.receivedAmount}}</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="7">
<ul class="pagination float-right"></ul>
</td>
</tr>
</tfoot>
</table>
<!-- 分页 -->
<vc:create path="frame/pagination"></vc:create>
</div>
</div>
</div>
</div>
<vc:create path="property/searchFloor" emitChooseFloor="reportFeeDetail" emitLoadData="xx"></vc:create>
</div>

View File

@ -0,0 +1,99 @@
/**
入驻小区
**/
(function (vc) {
var DEFAULT_PAGE = 1;
var DEFAULT_ROWS = 10;
vc.extends({
data: {
reportFeeDetailInfo: {
fees: [],
total: 0,
records: 1,
moreCondition: false,
title: '',
roomUnits: [],
conditions: {
floorId: '',
floorName: '',
roomNum: '',
unitId: '',
startTime:'',
endTime:''
}
}
},
_initMethod: function () {
vc.component._listFees(DEFAULT_PAGE, DEFAULT_ROWS);
},
_initEvent: function () {
vc.on('reportFeeDetail', 'chooseFloor', function (_param) {
vc.component.reportFeeDetailInfo.conditions.floorId = _param.floorId;
vc.component.reportFeeDetailInfo.conditions.floorName = _param.floorName;
vc.component.loadUnits(_param.floorId);
});
vc.on('pagination', 'page_event', function (_currentPage) {
vc.component._listFees(_currentPage, DEFAULT_ROWS);
});
},
methods: {
_queryMethod:function(){
vc.component._listFees(DEFAULT_PAGE, DEFAULT_ROWS);
},
_listFees: function (_page, _rows) {
vc.component.reportFeeDetailInfo.conditions.page = _page;
vc.component.reportFeeDetailInfo.conditions.row = _rows;
vc.component.reportFeeDetailInfo.conditions.communityId = vc.getCurrentCommunity().communityId;
var param = {
params: vc.component.reportFeeDetailInfo.conditions
};
//发送get请求
vc.http.apiGet('/reportFeeMonthStatistics/queryFeeDetail',
param,
function (json, res) {
var _reportFeeDetailInfo = JSON.parse(json);
vc.component.reportFeeDetailInfo.total = _reportFeeDetailInfo.total;
vc.component.reportFeeDetailInfo.records = _reportFeeDetailInfo.records;
vc.component.reportFeeDetailInfo.fees = _reportFeeDetailInfo.data;
vc.emit('pagination', 'init', {
total: vc.component.reportFeeDetailInfo.records,
currentPage: _page
});
}, function (errInfo, error) {
console.log('请求失败处理');
}
);
},
loadUnits: function (_floorId) {
var param = {
params: {
floorId: _floorId,
communityId: vc.getCurrentCommunity().communityId
}
}
vc.http.get(
'room',
'loadUnits',
param,
function (json, res) {
//vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
if (res.status == 200) {
let tmpUnits = JSON.parse(json);
vc.component.reportFeeDetailInfo.roomUnits = tmpUnits;
return;
}
vc.toast(json);
},
function (errInfo, error) {
console.log('请求失败处理');
vc.toast(errInfo);
});
},
}
});
})(window.vc);

View File

@ -27,7 +27,7 @@
</div>
<div class="col-sm-3">
<div class="form-group">
<select class="form-control-sm form-control input-s-sm inline"
<select class="form-control-md form-control input-s-sm inline"
v-model="reportFeeSummaryInfo.conditions.unitId">
<option selected value="">请选择单元</option>
<option v-for="(unit,index) in reportFeeSummaryInfo.roomUnits" :key="index" v-bind:value="unit.unitId">
@ -38,12 +38,12 @@
</div>
<div class="col-sm-4">
<div class="form-group">
<input type="text" placeholder="请填写房屋编号" class="form-control form-control-sm"
<input type="text" placeholder="请填写房屋编号" class="form-control form-control-md"
v-model="reportFeeSummaryInfo.conditions.roomNum">
</div>
</div>
<div class="col-sm-1">
<button type="button" class="btn btn-primary btn-sm" v-on:click="_queryRoomMethod()"><i
<button type="button" class="btn btn-primary btn-md" v-on:click="_queryMethod()"><i
class="fa fa-search"></i> 查询
</button>
</div>
@ -81,7 +81,7 @@
</thead>
<tbody>
<tr v-for="fee in reportFeeSummaryInfo.fees">
<td class="text-center">{{fee.feeDate}}</td>
<td class="text-center">{{fee.feeYear+'年'+fee.feeMonth+'月'}}</td>
<td class="text-center">{{fee.receivableAmount}}</td>
<td class="text-center">{{fee.receivedAmount}}</td>
<td class="text-center">{{fee.oweAmount}}</td>

View File

@ -24,7 +24,7 @@
}
},
_initMethod: function () {
vc.component._listActivitiess(DEFAULT_PAGE, DEFAULT_ROWS);
vc.component._listFees(DEFAULT_PAGE, DEFAULT_ROWS);
},
_initEvent: function () {
@ -36,11 +36,14 @@
});
vc.on('pagination', 'page_event', function (_currentPage) {
vc.component._listActivitiess(_currentPage, DEFAULT_ROWS);
vc.component._listFees(_currentPage, DEFAULT_ROWS);
});
},
methods: {
_listActivitiess: function (_page, _rows) {
_queryMethod:function(){
vc.component._listFees(DEFAULT_PAGE, DEFAULT_ROWS);
},
_listFees: function (_page, _rows) {
vc.component.reportFeeSummaryInfo.conditions.page = _page;
vc.component.reportFeeSummaryInfo.conditions.row = _rows;
@ -50,14 +53,13 @@
};
//发送get请求
vc.http.get('reportFeeSummary',
'list',
vc.http.apiGet('/reportFeeMonthStatistics/queryReportFeeSummary',
param,
function (json, res) {
var _reportFeeSummaryInfo = JSON.parse(json);
vc.component.reportFeeSummaryInfo.total = _reportFeeSummaryInfo.total;
vc.component.reportFeeSummaryInfo.records = _reportFeeSummaryInfo.records;
vc.component.reportFeeSummaryInfo.activitiess = _reportFeeSummaryInfo.activitiess;
vc.component.reportFeeSummaryInfo.fees = _reportFeeSummaryInfo.data;
vc.emit('pagination', 'init', {
total: vc.component.reportFeeSummaryInfo.records,
currentPage: _page

View File

@ -0,0 +1,110 @@
<div class=" animated fadeInRight ecommerce">
<div class="row">
<div class="col-lg-12">
<div class="ibox ">
<div class="ibox-title">
<h5>查询条件</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()">{{reportFloorUnitFeeSummaryInfo.moreCondition == true?'隐藏':'更多'}}
</button>
</div>
</div>
<div class="ibox-content">
<div class="row">
<div class="col-sm-4">
<div class="form-group input-group">
<input type="text" placeholder="请选择楼栋" v-model="reportFloorUnitFeeSummaryInfo.conditions.floorName"
class=" form-control">
<div class="input-group-prepend">
<button type="button" class="btn btn-primary btn-sm"
v-on:click="_openChooseFloorMethod()"><i class="fa fa-search"></i> 选择
</button>
</div>
</div>
</div>
<div class="col-sm-3">
<div class="form-group">
<select class="form-control-md form-control input-s-sm inline"
v-model="reportFloorUnitFeeSummaryInfo.conditions.unitId">
<option selected value="">请选择单元</option>
<option v-for="(unit,index) in reportFloorUnitFeeSummaryInfo.roomUnits" :key="index" v-bind:value="unit.unitId">
{{unit.unitNum}}单元
</option>
</select>
</div>
</div>
<div class="col-sm-4">
<div class="form-group">
<input type="text" placeholder="请填写房屋编号" class="form-control form-control-md"
v-model="reportFloorUnitFeeSummaryInfo.conditions.roomNum">
</div>
</div>
<div class="col-sm-1">
<button type="button" class="btn btn-primary btn-md" v-on:click="_queryMethod()"><i
class="fa fa-search"></i> 查询
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="ibox">
<div class="ibox-title">
<h5>楼栋费用表</h5>
<div class="ibox-tools" style="top:10px;">
<button type="button" class="btn btn-primary btn-sm" v-on:click="_openAddActivitiesModal()">
<i class="fa fa-plus"></i>
导出
</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">信息ID</th> -->
<th class="text-center">日期</th>
<th class="text-center">楼栋</th>
<th class="text-center">单元</th>
<th class="text-center">应收金额</th>
<th class="text-center">实收金额</th>
<th class="text-center">欠费金额</th>
</tr>
</thead>
<tbody>
<tr v-for="fee in reportFloorUnitFeeSummaryInfo.fees">
<td class="text-center">{{fee.feeYear+'年'+fee.feeMonth+'月'}}</td>
<td class="text-center">{{fee.floorNum}}号楼</td>
<td class="text-center">{{fee.unitNum}}单元</td>
<td class="text-center">{{fee.receivableAmount}}</td>
<td class="text-center">{{fee.receivedAmount}}</td>
<td class="text-center">{{fee.oweAmount}}</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="7">
<ul class="pagination float-right"></ul>
</td>
</tr>
</tfoot>
</table>
<!-- 分页 -->
<vc:create path="frame/pagination"></vc:create>
</div>
</div>
</div>
</div>
<vc:create path="property/searchFloor" emitChooseFloor="reportFloorUnitFeeSummary" emitLoadData="xx"></vc:create>
</div>

View File

@ -0,0 +1,99 @@
/**
入驻小区
**/
(function (vc) {
var DEFAULT_PAGE = 1;
var DEFAULT_ROWS = 10;
vc.extends({
data: {
reportFloorUnitFeeSummaryInfo: {
fees: [],
total: 0,
records: 1,
moreCondition: false,
title: '',
roomUnits: [],
conditions: {
floorId: '',
floorName: '',
roomNum: '',
unitId: '',
startTime:'',
endTime:''
}
}
},
_initMethod: function () {
vc.component._listFees(DEFAULT_PAGE, DEFAULT_ROWS);
},
_initEvent: function () {
vc.on('reportFloorUnitFeeSummary', 'chooseFloor', function (_param) {
vc.component.reportFloorUnitFeeSummaryInfo.conditions.floorId = _param.floorId;
vc.component.reportFloorUnitFeeSummaryInfo.conditions.floorName = _param.floorName;
vc.component.loadUnits(_param.floorId);
});
vc.on('pagination', 'page_event', function (_currentPage) {
vc.component._listFees(_currentPage, DEFAULT_ROWS);
});
},
methods: {
_queryMethod:function(){
vc.component._listFees(DEFAULT_PAGE, DEFAULT_ROWS);
},
_listFees: function (_page, _rows) {
vc.component.reportFloorUnitFeeSummaryInfo.conditions.page = _page;
vc.component.reportFloorUnitFeeSummaryInfo.conditions.row = _rows;
vc.component.reportFloorUnitFeeSummaryInfo.conditions.communityId = vc.getCurrentCommunity().communityId;
var param = {
params: vc.component.reportFloorUnitFeeSummaryInfo.conditions
};
//发送get请求
vc.http.apiGet('/reportFeeMonthStatistics/queryFloorUnitFeeSummary',
param,
function (json, res) {
var _reportFloorUnitFeeSummaryInfo = JSON.parse(json);
vc.component.reportFloorUnitFeeSummaryInfo.total = _reportFloorUnitFeeSummaryInfo.total;
vc.component.reportFloorUnitFeeSummaryInfo.records = _reportFloorUnitFeeSummaryInfo.records;
vc.component.reportFloorUnitFeeSummaryInfo.fees = _reportFloorUnitFeeSummaryInfo.data;
vc.emit('pagination', 'init', {
total: vc.component.reportFloorUnitFeeSummaryInfo.records,
currentPage: _page
});
}, function (errInfo, error) {
console.log('请求失败处理');
}
);
},
loadUnits: function (_floorId) {
var param = {
params: {
floorId: _floorId,
communityId: vc.getCurrentCommunity().communityId
}
}
vc.http.get(
'room',
'loadUnits',
param,
function (json, res) {
//vm.menus = vm.refreshMenuActive(JSON.parse(json),0);
if (res.status == 200) {
let tmpUnits = JSON.parse(json);
vc.component.reportFloorUnitFeeSummaryInfo.roomUnits = tmpUnits;
return;
}
vc.toast(json);
},
function (errInfo, error) {
console.log('请求失败处理');
vc.toast(errInfo);
});
},
}
});
})(window.vc);