monthpay.html 12.8 KB
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>月卡支付</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
    <meta name="format-detection" content="telephone=no"/>
    <meta name="format-detection" content="email=no"/>
    <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
    <meta name="apple-mobile-web-app-capable" content="yes"/>
    <meta name="apple-mobile-web-app-title" content="">
    <meta name="google" value="notranslate"><!-- 禁止Chrome 浏览器中自动提示翻译 -->
    <link rel="apple-touch-icon-precomposed" href="favicon.ico">
    <link rel="shortcut icon" href="favicon.ico">
    <link rel="Bookmark" href="favicon.ico">
    <link rel="stylesheet" href="//cdn.bootcss.com/weui/1.1.1/style/weui.min.css">
    <link rel="stylesheet" href="//cdn.bootcss.com/jquery-weui/1.0.1/css/jquery-weui.min.css">
    <link rel="stylesheet" href="${staticHost}/css/reset.css">
    <link rel="stylesheet" href="${staticHost}/css/monthpay.min.css">
</head>
<body ontouchstart>
<div class="weui-cells weui-cells_form">
    <input type="hidden" id="parkLotCardId" value="${parkLotCardId!''}"/>
    <div class="weui-cell">
        <div class="weui-cell__hd"><label class="weui-label">车牌号</label></div>
        <div class="weui-cell__bd">
            <input class="weui-input" type="text" value="" maxlength="7" placeholder="请输入车牌号,必填" id="license_number">
        </div>
    </div>
    <div class="weui-cell">
        <div class="weui-cell__hd"><label class="weui-label">卡类别</label></div>
        <div class="weui-cell__bd" id="cardTypeRemark">
            <!--  蓝牌小车包月卡-->
        </div>
    </div>
</div>

<div class="weui-cells weui-cells_form">
    <div class="weui-cell">
        <div class="weui-cell__hd"><label class="weui-label">停车场</label></div>
        <input type="hidden" id="parkLotCode"/>
        <div class="weui-cell__bd" id="parkLotName"></div>
    </div>

    <div class="weui-cell">
        <div class="weui-cell__hd"><label for="date" class="weui-label">开始时间</label></div>
        <div class="weui-cell__bd">
            <input class="weui-input" id="date" type="text" placeholder="请选择开始时间">
        </div>
        <div class="weui-cell__ft">
        </div>
    </div>
    <div class="weui-cell">
        <div class="weui-cell__hd"><label for="date1" class="weui-label">有效期至</label></div>
        <div class="weui-cell__bd">
            <input class="weui-input" id="date1" type="text" readonly placeholder="请先选择开始时间">
        </div>
    </div>
    <div class="weui-cell">
        <div class="weui-cell__hd"><label class="weui-label">购买数量</label></div>
        <div class="weui-cell__bd">
            <span id="reduce_btn" class="reduce_btn">-</span><input class="weui-input inpt-num" id="numder" type="text"
                                                                    readonly="" value="1"><span id="add_btn"
                                                                                                class="add_btn">+</span>
        </div>
    </div>
    <div class="weui-cell">
        <div class="weui-cell__hd"><label class="weui-label">合计</label></div>
        <input type="hidden" id="cardAmount"/>
        <div class="weui-cell__bd pay-total">
            ¥<span id="totle_money">90</span>
        </div>
    </div>
</div>
<div class="pay-content-padded">
    <a href="javascript:;" class="weui-btn weui-btn_primary" id="pay_btn">提交订单</a>
</div>
<script src="//cdn.bootcss.com/jquery/1.11.0/jquery.min.js"></script>
<script src="//cdn.bootcss.com/jquery-weui/1.0.1/js/jquery-weui.min.js"></script>
<script src="${staticHost}/js/jsutil.js"></script>
<script src="${staticHost}/js/url.js"></script>
<script type="text/javascript">
    var func = {
        //1.初始化页面信息.<br/>
        initMonthCardInfo: function () {
            var parkLotCardId = $('#parkLotCardId').val();
            if (parkLotCardId == null || parkLotCardId == "") {
                $.alert("系统繁忙,请重新操作!");
                return false;
            }
            var jsonInfo = {};
            jsonInfo.parkLotCardId = parkLotCardId;
            jsutil.defaultReq(
                mUrl.queryParkLotCardForChoose,
                jsonInfo,
                function (data) {
                    if ("8888" == data.code) {
                        var parkLot = data.data;
                        $('#parkLotName').empty();
                        $('#cardTypeRemark').empty();
                        $('#totle_money').empty();
                        $('#parkLotName').text(parkLot.parkName);
                        $('#parkLotCode').val(parkLot.parkNo);
                        $('#cardTypeRemark').text(parkLot.parkCardCouponsList[0].goods_type_remark);
                        $('#totle_money').text(parkLot.parkCardCouponsList[0].goods_amount / 100);
                        $('#parkLotCardId').val(parkLot.parkCardCouponsList[0].id);
                        //将分转为元
                        $('#cardAmount').val(parkLot.parkCardCouponsList[0].goods_amount / 100);
                    } else {
                        $.alert("系统繁忙,请重新操作!");
                    }
                });
        }
    };

    $(function () {
        func.initMonthCardInfo();
        //当pick的值发生变化的时候
        function pickerOnClose() {
            var inputDateStr = formatDateStr($('#date').val());
            var inputDate = new Date(inputDateStr);
            var inputYear = inputDate.getFullYear();
            var inputMonth = inputDate.getMonth();
            var date = new Date();
            var thisYear = date.getFullYear();
            var thisMonth = date.getMonth();

            //当前时间大于选择的时间
            if (thisYear >= inputYear && thisMonth >= inputMonth) {
                $.toptip('开始时间不能小于下月 1号 ', 'warning');
                setPickerDefaultValue();
            }

            var num = $("#numder").val();
            var startDateStr = $("#date").val();
            var dateStr = formatDateStr(startDateStr);
            handelEndDateAndPrice(num, new Date(dateStr));

        }


        //初始化时间calendar组件的参数
        function initCalendarParam() {
            var currentDate = new Date()
            var currentDateStr = currentDate.format('yyyy-MM-dd');
            var param = {};
            $("#date").val(currentDateStr);
            currentDate.setDate(currentDate.getDate() - 1);
            //最小日期
            param.minDate = currentDate.format('yyyy-MM-dd');
            param.onClose = calendarOnclose;
            var startDate = new Date()
            //设置结束时间,总价
            handelEndDateAndPrice(1, startDate);
            return param;
        }

        //当开始时间变化时
        function calendarOnclose() {
            var startDate = new Date($("#date").val());
            var num = $("#numder").val();
            handelEndDateAndPrice(num, startDate);
        }

        //选择日期
        $("#date").calendar(
            initCalendarParam()
        );


        //根据数量,开始时间计算 结束时间,总价
        function handelEndDateAndPrice(num, startDate) {

            if (typeof num == 'string') {
                num = parseInt(num);
            }

            if (typeof startDate == 'string') {
                startDate = new Date(startDate);
            }
            var endDate = new Date(startDate.format('yyyy-MM-dd'));
            //设置数量
            $("#numder").val(num);


            var days = 0;
            var temp = startDate.getMonth();
            for (var i = 1; i <= num; i++) {
                startDate.setMonth(temp + i);
                startDate.setDate(0);
                days += startDate.getDate();
            }
            days--;
            endDate.setDate(endDate.getDate() + days);
            //设置失效日期
            $('#date1').val(endDate.format('yyyy-MM-dd'));
            //设置总价
            var price = $("#cardAmount").val();
            $("#totle_money").html(num * price);
        }


        //添加数量
        $("#add_btn").click(function () {

            var startDateStr = $("#date").val();
            if (null == startDateStr || startDateStr.length < 1) {
                $.toptip('请先选择开始时间', 2000, 'warning');
                return;
            }
            var num = $("#numder").val();
            num++;
            if (num > 1 && num < 12) {
                var startDate = new Date(startDateStr);
                handelEndDateAndPrice(num, startDate);
            } else {
                $.toptip('最多购买11个月', 2000, 'warning');
            }

        });
        //减去数量
        $("#reduce_btn").click(function () {
            var startDateStr = $("#date").val();
            if (null == startDateStr || startDateStr.length < 1) {
                $.toptip('请先选择开始时间', 2000, 'warning');
                return;
            }

            var num = $("#numder").val();
            num--;
            if (num > 0) {
                var startDate = new Date($("#date").val());
                handelEndDateAndPrice(num, startDate);
            } else {
                $.toptip('最少购买一个月', 2000, 'warning');
            }

        });


        //立即支付
        $('#pay_btn').on('click', function () {
            var carNum = $('#license_number').val();
            var parkLotCardId = $('#parkLotCardId').val();
            var buyNum = $('#numder').val();
            var startDate = $('#date').val();
            var endDate = $('#date1').val();
            var totleMoney = $('#totle_money').text();
            if (carNum == '' || carNum == null || carNum == undefined) {
                $.toptip('亲!请输入车牌号', 3000, 'warning');  //设置显示时间
                return false
            }
            //车牌校验
            var checkResult = jsutil.isVehicleNumber(jsutil.trim(carNum));
            if (!checkResult) {
                $.alert("亲!输入车牌号不正确,<br/> 正确格式如:陕K88888");
                return false;
            }
            /**
             *校验车牌号是否已经在对应的停车场已经订购? 是:跳转续费页面,否:继续订购
             *    parkLotCardId
             */

            jsutil.defaultReq(
                mUrl.checkIsbuyCard,
                {"carNum": carNum, "parkCardId": parkLotCardId},
                function (data) {
                    if ("8888" != data.code) {
                        //$.alert("");
                        return false;
                    } else {
                        if (data.data != null && data.data != '') {
                            $.confirm("亲!您已经办理该停车场卡,是否继续续费?", function () {
                                //点击确认后的回调函数
                                window.location.href = mUrl.renewView + "&custCardId=" + data.data;
                            }, function () {
                                window.location.href = mUrl.toParkInfoListView;
                            });

                        } else {
                            if (startDate == '' || startDate == null || startDate == undefined) {
                                $.toptip('亲!请选择开始时间', 3000, 'warning');  //设置显示时间
                                return false
                            } else {
                                var jsonInfo = {};
                                jsonInfo.carNum = carNum;
                                jsonInfo.parkLotCardId = parkLotCardId;
                                jsonInfo.buyNum = buyNum;
                                jsonInfo.startDate = startDate;
                                jsonInfo.endDate = endDate;
                                jsonInfo.totleMoney = totleMoney;
                                jsonInfo.orderType = 3;//
                                jsutil.defaultReq(
                                    mUrl.createOrderInfo,
                                    jsonInfo,
                                    function (data) {
                                        if ("8888" != data.code) {
                                            $.alert("亲!创建订单失败,请重新尝试!");
                                            return false;
                                        } else {
                                            window.location.href = mUrl.orderPayView + "&parkOrderId=" + data.data;
                                        }
                                    });
                            }
                        }//else
                    }
                });


        });


    })
</script>
</body>
</html>