wuxw
2020-01-27 82030c489dc4aaf2759880e33e8734ee3fb2d96d
加入临时车缴费清单
6个文件已添加
375 ■■■■■ 已修改文件
ReportComponent/src/main/java/com/java110/report/components/fee/TempCarInoutFeeManageComponent.java 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ReportComponent/src/main/java/com/java110/report/smo/fee/IListTempCarInoutFeeSMO.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ReportComponent/src/main/java/com/java110/report/smo/fee/impl/ListTempCarInoutFeeSMOImpl.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ReportComponent/src/main/resources/components/feePackage/tempCarInoutfee-manage/tempCarInoutFeeManage.html 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ReportComponent/src/main/resources/components/feePackage/tempCarInoutfee-manage/tempCarInoutFeeManage.js 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ReportComponent/src/main/resources/views/tempCarInoutFeeFlow.html 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ReportComponent/src/main/java/com/java110/report/components/fee/TempCarInoutFeeManageComponent.java
New file
@@ -0,0 +1,49 @@
package com.java110.report.components.fee;
import com.java110.core.context.IPageData;
import com.java110.report.smo.fee.IListPayFeeSMO;
import com.java110.report.smo.fee.IListTempCarInoutFeeSMO;
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("tempCarInoutFeeManage")
public class TempCarInoutFeeManageComponent {
    @Autowired
    private IListTempCarInoutFeeSMO listTempCarInoutFeeSMOImpl;
    @Autowired
    private IFeeTypeSMO feeTypeSMOImpl;
    /**
     * 查询费用类型
     * @param pd
     * @return
     */
    public ResponseEntity<String> listFeeType(IPageData pd){
        return feeTypeSMOImpl.list(pd);
    }
    /**
     * 查询应用列表
     *
     * @param pd 页面数据封装
     * @return 返回 ResponseEntity 对象
     */
    public ResponseEntity<String> list(IPageData pd) {
        return listTempCarInoutFeeSMOImpl.list(pd);
    }
}
ReportComponent/src/main/java/com/java110/report/smo/fee/IListTempCarInoutFeeSMO.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 IListTempCarInoutFeeSMO {
    public ResponseEntity<String> list(IPageData pd);
}
ReportComponent/src/main/java/com/java110/report/smo/fee/impl/ListTempCarInoutFeeSMOImpl.java
New file
@@ -0,0 +1,71 @@
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.IListPayFeeSMO;
import com.java110.report.smo.fee.IListTempCarInoutFeeSMO;
import com.java110.utils.constant.FeeTypeConstant;
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("listTempCarInoutFeeSMOImpl")
public class ListTempCarInoutFeeSMOImpl extends AbstractComponentSMO implements IListTempCarInoutFeeSMO {
    @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", "未包含小区信息");
        //super.checkUserHasPrivilege(pd, restTemplate, PrivilegeCodeConstant.LIST_PAY_FEE);
    }
    @Override
    protected ResponseEntity<String> doBusinessProcess(IPageData pd, JSONObject paramIn) {
        ComponentValidateResult result = super.validateStoreStaffCommunityRelationship(pd, restTemplate);
//        Map paramMap = BeanConvertUtil.beanCovertMap(result);
//        paramIn.putAll(paramMap);
        int page = paramIn.getInteger("page");
        int row = paramIn.getInteger("row");
        paramIn.put("storeId", result.getStoreId());
        paramIn.put("page", (page - 1) * row);
        paramIn.put("row", page * row);
        String apiUrl = "";
        apiUrl = ServiceConstant.SERVICE_API_URL + "/api/api.getTempCarInoutFee" + 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/tempCarInoutfee-manage/tempCarInoutFeeManage.html
New file
@@ -0,0 +1,105 @@
<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;">
                       <!-- <button type="button" class="btn btn-link btn-sm" style="margin-right:10px;"
                                v-on:click="_moreCondition()">{{tempCarInoutFeeManageInfo.moreCondition == true?'隐藏':'更多'}}
                        </button>-->
                    </div>
                </div>
                <div class="ibox-content">
                    <div class="row">
                        <div class="col-sm-4">
                            <div class="col-sm-4">
                                <input size="16" type="text" placeholder="请填写车牌号"  v-model="tempCarInoutFeeManageInfo.conditions.userCode" class="form-control">
                            </div>
                        </div>
                        <div class="col-sm-4">
                            <div class="form-group">
                                <input size="16" type="text" placeholder="请选择开始时间"   readonly class="form-control  start_time">
                            </div>
                        </div>
                        <div class="col-sm-3">
                            <div class="form-group">
                                <input size="16" type="text" placeholder="请选择结束时间"  readonly class="form-control  end_time">
                            </div>
                        </div>
                        <div class="col-sm-1">
                            <button type="button" class="btn btn-primary btn-sm" v-on:click="_queryPayFeeMethod()">
                                <i class="glyphicon glyphicon-search"></i>
                            </button>
                        </div>
                    </div>
                    <!--<div class="row" v-if="tempCarInoutFeeManageInfo.moreCondition == true">
                        <div class="col-sm-4">
                            <input size="16" type="text" placeholder="请填写员工编码"  v-model="tempCarInoutFeeManageInfo.conditions.userCode" class="form-control">
                        </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="_exportExcel()">
                            <i class="glyphicon glyphicon-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">进场ID</th>
                            <th class="text-center">车牌号</th>
                            <th class="text-center">订单ID</th>
                            <th class="text-center">应付金额</th>
                            <td class="text-center">实付金额</td>
                            <td class="text-center">开始时间</td>
                            <td class="text-center">结束时间</td>
                            <td class="text-center">操作员工</td>
                            <td class="text-center">缴费时间</td>
                        </tr>
                        </thead>
                        <tbody>
                        <tr v-for="payFee in tempCarInoutFeeManageInfo.payFees">
                            <td class="text-center">{{payFee.feeId}}</td>
                            <td class="text-center">{{payFee.inoutId}}</td>
                            <td class="text-center">{{payFee.carNum}}</td>
                            <td class="text-center">{{payFee.oId}}</td>
                            <td class="text-center">{{payFee.receivableAmount}}</td>
                            <td class="text-center">{{payFee.receivedAmount}}</td>
                            <td class="text-center">{{payFee.startTime}}</td>
                            <td class="text-center">{{payFee.endTime}}</td>
                            <td class="text-center">{{payFee.userName}}</td>
                            <td class="text-center">{{payFee.payTime}}</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/tempCarInoutfee-manage/tempCarInoutFeeManage.js
New file
@@ -0,0 +1,104 @@
/**
 入驻小区
 **/
(function (vc) {
    var DEFAULT_PAGE = 1;
    var DEFAULT_ROWS = 30;
    vc.extends({
        data: {
            tempCarInoutFeeManageInfo: {
                payFees: [],
                total: 0,
                records: 1,
                moreCondition: false,
                name: '',
                conditions: {
                    communityId: vc.getCurrentCommunity().communityId,
                    feeTypeCd: '888800010007',
                    startTime: '',
                    endTime: '',
                    carNum:''
                }
            }
        },
        _initMethod: function () {
            vc.component._initDate();
            vc.component._listpayFees(DEFAULT_PAGE, DEFAULT_ROWS);
        },
        _initEvent: function () {
            vc.on('pagination', 'page_event', function (_currentPage) {
                vc.component._listpayFees(_currentPage, DEFAULT_ROWS);
            });
        },
        methods: {
            _initDate:function(){
                $(".start_time").datetimepicker({
                    language: 'zh-CN',
                    format: 'yyyy-mm-dd',
                    minView: "month",
                    initialDate: new Date(),
                    autoClose: 1,
                    todayBtn: true
                });
                $(".end_time").datetimepicker({
                    language: 'zh-CN',
                    format: 'yyyy-mm-dd',
                    minView: "month",
                    initialDate: new Date(),
                    autoClose: 1,
                    todayBtn: true
                });
                $('.start_time').datetimepicker()
                    .on('changeDate', function (ev) {
                        var value = $(".start_time").val();
                        vc.component.tempCarInoutFeeManageInfo.conditions.startTime = value ;
                    });
                $('.end_time').datetimepicker()
                    .on('changeDate', function (ev) {
                        var value = $(".end_time").val();
                        vc.component.tempCarInoutFeeManageInfo.conditions.endTime = value ;
                    });
            },
            _listpayFees: function (_page, _rows) {
                vc.component.tempCarInoutFeeManageInfo.conditions.page = _page;
                vc.component.tempCarInoutFeeManageInfo.conditions.row = _rows;
                var param = {
                    params: vc.component.tempCarInoutFeeManageInfo.conditions
                };
                //发送get请求
                vc.http.get('tempCarInoutFeeManage',
                    'list',
                    param,
                    function (json, res) {
                        var _tempCarInoutFeeManageInfo = JSON.parse(json);
                        vc.component.tempCarInoutFeeManageInfo.total = _tempCarInoutFeeManageInfo.total;
                        vc.component.tempCarInoutFeeManageInfo.records = parseInt(_tempCarInoutFeeManageInfo.total/_rows +1);
                        vc.component.tempCarInoutFeeManageInfo.payFees = _tempCarInoutFeeManageInfo.payFees;
                        vc.emit('pagination', 'init', {
                            total: vc.component.tempCarInoutFeeManageInfo.records,
                            currentPage: _page
                        });
                    }, function (errInfo, error) {
                        console.log('请求失败处理');
                    }
                );
            },
            _queryPayFeeMethod: function () {
                vc.component._listpayFees(DEFAULT_PAGE, DEFAULT_ROWS);
            },
            _moreCondition: function () {
                if (vc.component.tempCarInoutFeeManageInfo.moreCondition) {
                    vc.component.tempCarInoutFeeManageInfo.moreCondition = false;
                } else {
                    vc.component.tempCarInoutFeeManageInfo.moreCondition = true;
                }
            },
            _exportExcel:function () {
            }
        }
    });
})(window.vc);
ReportComponent/src/main/resources/views/tempCarInoutFeeFlow.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="tempCarInoutFeeManage"></vc:create>
        </div>
        <vc:create name="copyright"></vc:create>
    </div>
</div>
<vc:create name="commonBottom"></vc:create>
</body>
</html>