| ReportComponent/src/main/java/com/java110/report/components/fee/FeeSummaryComponent.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ReportComponent/src/main/java/com/java110/report/smo/fee/IListFeeSummarySMO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ReportComponent/src/main/java/com/java110/report/smo/fee/impl/ListFeeSummarySMOImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ReportComponent/src/main/resources/components/feePackage/feeSummary/feeSummary.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ReportComponent/src/main/resources/components/feePackage/feeSummary/feeSummary.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| ReportComponent/src/main/resources/views/feeSummaryFlow.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ReportComponent/src/main/java/com/java110/report/components/fee/FeeSummaryComponent.java
New file @@ -0,0 +1,43 @@ package com.java110.report.components.fee; import com.java110.core.context.IPageData; import com.java110.report.smo.fee.IListPayFeeSMO; import com.java110.report.smo.feeType.IFeeTypeSMO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Component; /** * 应用组件管理类 * <p> * add by wuxw * <p> * 2019-06-29 */ @Component("feeSummary") public class FeeSummaryComponent { @Autowired private IListPayFeeSMO listPayFeeSMOImpl; /** * 查询应用列表 * * @param pd 页面数据封装 * @return 返回 ResponseEntity 对象 */ public ResponseEntity<String> list(IPageData pd) { return listPayFeeSMOImpl.list(pd); } public IListPayFeeSMO getListPayFeeSMOImpl() { return listPayFeeSMOImpl; } public void setListPayFeeSMOImpl(IListPayFeeSMO listPayFeeSMOImpl) { this.listPayFeeSMOImpl = listPayFeeSMOImpl; } } ReportComponent/src/main/java/com/java110/report/smo/fee/IListFeeSummarySMO.java
New file @@ -0,0 +1,8 @@ package com.java110.report.smo.fee; import com.java110.core.context.IPageData; import org.springframework.http.ResponseEntity; public interface IListFeeSummarySMO { public ResponseEntity<String> list(IPageData pd); } ReportComponent/src/main/java/com/java110/report/smo/fee/impl/ListFeeSummarySMOImpl.java
New file @@ -0,0 +1,76 @@ package com.java110.report.smo.fee.impl; import com.alibaba.fastjson.JSONObject; import com.java110.core.component.AbstractComponentSMO; import com.java110.core.context.IPageData; import com.java110.entity.component.ComponentValidateResult; import com.java110.report.smo.fee.IListFeeSummarySMO; import com.java110.utils.constant.PrivilegeCodeConstant; import com.java110.utils.constant.ServiceConstant; import com.java110.utils.exception.SMOException; import com.java110.utils.util.Assert; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; /** * 查询app服务类 */ @Service("listFeeSummarySMOImpl") public class ListFeeSummarySMOImpl extends AbstractComponentSMO implements IListFeeSummarySMO { @Autowired private RestTemplate restTemplate; @Override public ResponseEntity<String> list(IPageData pd) throws SMOException { return businessProcess(pd); } @Override protected void validate(IPageData pd, JSONObject paramIn) { super.validatePageInfo(pd); Assert.hasKeyAndValue(paramIn, "communityId", "未包含小区信息"); Assert.hasKeyAndValue(paramIn, "feeSummaryType", "未包含小区信息"); } @Override protected ResponseEntity<String> doBusinessProcess(IPageData pd, JSONObject paramIn) { ComponentValidateResult result = super.validateStoreStaffCommunityRelationship(pd, restTemplate); int page = paramIn.getInteger("page"); int row = paramIn.getInteger("row"); paramIn.put("page", (page - 1) * row); paramIn.put("row", page * row); if("1001".equals(paramIn.getString("feeSummaryType"))){//日 paramIn.put("formatStr","%Y-%m-%d"); }else if("1101".equals(paramIn.getString("feeSummaryType"))){ paramIn.put("formatStr","%Y-%m"); }else{ paramIn.put("formatStr","%Y"); } String apiUrl = ""; apiUrl = ServiceConstant.SERVICE_API_URL + "/api/api.queryFeeSummary" + mapToUrlParam(paramIn); ResponseEntity<String> responseEntity = this.callCenterService(restTemplate, pd, "", apiUrl, HttpMethod.GET); return responseEntity; } public RestTemplate getRestTemplate() { return restTemplate; } public void setRestTemplate(RestTemplate restTemplate) { this.restTemplate = restTemplate; } } ReportComponent/src/main/resources/components/feePackage/feeSummary/feeSummary.html
New file @@ -0,0 +1,62 @@ <div id="component" class="wrapper wrapper-content 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;"> <div class="btn-group" role="group" aria-label="Basic example"> <button type="button" class="btn btn-light btn-sm" v-bind:class="{'btn-primary': feeSummaryInfo.feeSummaryType == 1001}" v-on:click="_switchFeeSummaryType(1001)" >日</button> <button type="button" class="btn btn-light btn-sm" v-bind:class="{'btn-primary': feeSummaryInfo.feeSummaryType == 1101}" v-on:click="_switchFeeSummaryType(1101)" >月</button> <button type="button" class="btn btn-light btn-sm" v-bind:class="{'btn-primary': feeSummaryInfo.feeSummaryType == 1111}" v-on:click="_switchFeeSummaryType(1111)" >年</button> </div> </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">时间</th> <th class="text-center">费用项ID</th> <th class="text-center">费用项名称</th> <th class="text-center">金额</th> </tr> </thead> <tbody> <tr v-for="fee in feeSummaryInfo.fees"> <td class="text-center">{{fee.createTime}}</td> <td class="text-center">{{fee.configId}}</td> <td class="text-center">{{fee.feeName}}</td> <td class="text-center">{{fee.money}}</td> </tr> </tbody> <tfoot> <tr> <td colspan="7"> <ul class="pagination float-right"></ul> </td> </tr> </tfoot> </table> <!-- 分页 --> <vc:create name="pagination"></vc:create> </div> </div> </div> </div> </div> ReportComponent/src/main/resources/components/feePackage/feeSummary/feeSummary.js
New file @@ -0,0 +1,64 @@ /** 入驻小区 **/ (function (vc) { var DEFAULT_PAGE = 1; var DEFAULT_ROWS = 30; vc.extends({ data: { feeSummaryInfo: { fees: [], feeSummaryType:'1001', total: 0, records: 1, moreCondition: false, name: '', } }, _initMethod: function () { vc.component._listFees(DEFAULT_PAGE, DEFAULT_ROWS); }, _initEvent: function () { vc.on('pagination', 'page_event', function (_currentPage) { vc.component._listFeeSummarys(_currentPage, DEFAULT_ROWS); }); }, methods: { _listFeeSummarys: function (_page, _rows) { var param = { params: { page: _page, row:_rows, feeSummaryType:vc.component.feeSummaryInfo.feeSummaryType, communityId:vc.getCurrentCommunity().communityId } }; //发送get请求 vc.http.get('feeSummary', 'list', param, function (json, res) { var _feeSummaryInfo = JSON.parse(json); vc.component.feeSummaryInfo.total = _feeSummaryInfo.total; vc.component.feeSummaryInfo.records = parseInt(_feeSummaryInfo.total/_rows +1); vc.component.feeSummaryInfo.fees = _feeSummaryInfo.fees; vc.emit('pagination', 'init', { total: vc.component.feeSummaryInfo.records, currentPage: _page }); }, function (errInfo, error) { console.log('请求失败处理'); } ); }, _exportExcel:function () { }, _switchFeeSummaryType:function(_feeSummaryType){ vc.component.feeSummaryInfo.feeSummaryType = _feeSummaryType; vc.component._listFeeSummarys(DEFAULT_PAGE,DEFAULT_ROWS); } } }); })(window.vc); ReportComponent/src/main/resources/views/feeSummaryFlow.html
New file @@ -0,0 +1,38 @@ <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:vc="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"/> <title>费用汇总表|java110</title> <vc:create name="commonTop"></vc:create> <link href="/css/jquery.step.css" rel="stylesheet"/> <script src="/js/jquery.step.min.js" ></script> </head> <body> <vc:create name="bodyTop"></vc:create> <div id="wrapper"> <vc:create name="menu"></vc:create> <div id="page-wrapper" class="gray-bg dashbard-1"> <div class="row border-bottom"> <vc:create name="nav"></vc:create> </div> <div class="wrapper wrapper-content" style="padding-bottom: 0px;"> <vc:create name="breadcrumb"></vc:create> </div> <!-- id="component" --> <div class="wrapper wrapper-content animated fadeInRight"> <vc:create name="feeSummary"></vc:create> </div> <vc:create name="copyright"></vc:create> </div> </div> <vc:create name="commonBottom"></vc:create> </body> </html>