Commit 1b8be02a840999ed87b6be5c25e635ea83831138
1 parent
6fc5291d
修改购买卡时的费用
Showing
2 changed files
with
418 additions
and
334 deletions
src/main/webapp/WEB-INF/pages/monthpay.html
1 | <!DOCTYPE html> | 1 | <!DOCTYPE html> |
2 | <html lang="en"> | 2 | <html lang="en"> |
3 | <head> | 3 | <head> |
4 | - <meta charset="UTF-8"> | ||
5 | - <title>月卡支付</title> | ||
6 | - <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> | ||
7 | - <meta name="format-detection" content="telephone=no"/> | ||
8 | - <meta name="format-detection" content="email=no"/> | ||
9 | - <meta name="apple-mobile-web-app-status-bar-style" content="black"/> | ||
10 | - <meta name="apple-mobile-web-app-capable" content="yes"/> | ||
11 | - <meta name="apple-mobile-web-app-title" content=""> | ||
12 | - <meta name="google" value="notranslate"><!-- 禁止Chrome 浏览器中自动提示翻译 --> | ||
13 | - <link rel="apple-touch-icon-precomposed" href="favicon.ico"> | ||
14 | - <link rel="shortcut icon" href="favicon.ico"> | ||
15 | - <link rel="Bookmark" href="favicon.ico"> | ||
16 | - <link rel="stylesheet" href="//cdn.bootcss.com/weui/1.1.1/style/weui.min.css"> | ||
17 | - <link rel="stylesheet" href="//cdn.bootcss.com/jquery-weui/1.0.1/css/jquery-weui.min.css"> | ||
18 | - <link rel="stylesheet" href="${staticHost}/css/reset.css"> | ||
19 | - <link rel="stylesheet" href="${staticHost}/css/monthpay.min.css"> | 4 | + <meta charset="UTF-8"> |
5 | + <title>月卡支付</title> | ||
6 | + <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> | ||
7 | + <meta name="format-detection" content="telephone=no"/> | ||
8 | + <meta name="format-detection" content="email=no"/> | ||
9 | + <meta name="apple-mobile-web-app-status-bar-style" content="black"/> | ||
10 | + <meta name="apple-mobile-web-app-capable" content="yes"/> | ||
11 | + <meta name="apple-mobile-web-app-title" content=""> | ||
12 | + <meta name="google" value="notranslate"><!-- 禁止Chrome 浏览器中自动提示翻译 --> | ||
13 | + <link rel="apple-touch-icon-precomposed" href="favicon.ico"> | ||
14 | + <link rel="shortcut icon" href="favicon.ico"> | ||
15 | + <link rel="Bookmark" href="favicon.ico"> | ||
16 | + <link rel="stylesheet" href="//cdn.bootcss.com/weui/1.1.1/style/weui.min.css"> | ||
17 | + <link rel="stylesheet" href="//cdn.bootcss.com/jquery-weui/1.0.1/css/jquery-weui.min.css"> | ||
18 | + <link rel="stylesheet" href="${staticHost}/css/reset.css"> | ||
19 | + <link rel="stylesheet" href="${staticHost}/css/monthpay.min.css"> | ||
20 | </head> | 20 | </head> |
21 | <body ontouchstart> | 21 | <body ontouchstart> |
22 | <div class="weui-cells weui-cells_form"> | 22 | <div class="weui-cells weui-cells_form"> |
23 | - <input type="hidden" id="parkLotCardId" value="${parkLotCardId!''}"/> | ||
24 | - <div class="weui-cell"> | ||
25 | - <div class="weui-cell__hd"><label class="weui-label">车牌号</label></div> | ||
26 | - <div class="weui-cell__bd"> | ||
27 | - <input class="weui-input" type="text" value="" maxlength="7" placeholder="请输入车牌号,必填" id="license_number"> | 23 | + <input type="hidden" id="parkLotCardId" value="${parkLotCardId!''}"/> |
24 | + <div class="weui-cell"> | ||
25 | + <div class="weui-cell__hd"><label class="weui-label">车牌号</label></div> | ||
26 | + <div class="weui-cell__bd"> | ||
27 | + <input class="weui-input" type="text" value="" maxlength="7" placeholder="请输入车牌号,必填" id="license_number"> | ||
28 | + </div> | ||
28 | </div> | 29 | </div> |
29 | - </div> | ||
30 | - <div class="weui-cell"> | ||
31 | - <div class="weui-cell__hd"><label class="weui-label">卡类别</label></div> | ||
32 | - <div class="weui-cell__bd" id="cardTypeRemark"> | ||
33 | - <!-- 蓝牌小车包月卡--> | 30 | + <div class="weui-cell"> |
31 | + <div class="weui-cell__hd"><label class="weui-label">卡类别</label></div> | ||
32 | + <div class="weui-cell__bd" id="cardTypeRemark"> | ||
33 | + <!-- 蓝牌小车包月卡--> | ||
34 | + </div> | ||
34 | </div> | 35 | </div> |
35 | - </div> | ||
36 | </div> | 36 | </div> |
37 | 37 | ||
38 | <div class="weui-cells weui-cells_form"> | 38 | <div class="weui-cells weui-cells_form"> |
39 | - <div class="weui-cell"> | ||
40 | - <div class="weui-cell__hd"><label class="weui-label">停车场</label></div> | ||
41 | - <input type="hidden" id="parkLotCode"/> | ||
42 | - <div class="weui-cell__bd" id="parkLotName"></div> | ||
43 | - </div> | ||
44 | - <div class="weui-cell"> | ||
45 | - <div class="weui-cell__hd"><label class="weui-label">购买数量</label></div> | ||
46 | - <div class="weui-cell__bd"> | ||
47 | - <span id="reduce_btn" class="reduce_btn">-</span><input class="weui-input inpt-num" id="numder" type="text" | ||
48 | - readonly="" value="1"><span id="add_btn" | ||
49 | - class="add_btn">+</span> | 39 | + <div class="weui-cell"> |
40 | + <div class="weui-cell__hd"><label class="weui-label">停车场</label></div> | ||
41 | + <input type="hidden" id="parkLotCode"/> | ||
42 | + <div class="weui-cell__bd" id="parkLotName"></div> | ||
50 | </div> | 43 | </div> |
51 | - </div> | ||
52 | - <div class="weui-cell"> | ||
53 | - <div class="weui-cell__hd"><label for="date" class="weui-label">开始时间</label></div> | ||
54 | - <div class="weui-cell__bd"> | ||
55 | - <input class="weui-input" id="date" type="text" placeholder="请选择开始时间"> | 44 | + <div class="weui-cell"> |
45 | + <div class="weui-cell__hd"><label class="weui-label">购买数量</label></div> | ||
46 | + <div class="weui-cell__bd"> | ||
47 | + <span id="reduce_btn" class="reduce_btn">-</span><input class="weui-input inpt-num" id="numder" type="text" | ||
48 | + readonly="" value="1"><span id="add_btn" | ||
49 | + class="add_btn">+</span> | ||
50 | + </div> | ||
56 | </div> | 51 | </div> |
57 | - <div class="weui-cell__ft"> | 52 | + <div class="weui-cell"> |
53 | + <div class="weui-cell__hd"><label for="date" class="weui-label">开始时间</label></div> | ||
54 | + <div class="weui-cell__bd"> | ||
55 | + <input class="weui-input" id="date" type="text" placeholder="请选择开始时间"> | ||
56 | + </div> | ||
57 | + <div class="weui-cell__ft"> | ||
58 | + </div> | ||
58 | </div> | 59 | </div> |
59 | - </div> | ||
60 | - <div class="weui-cell"> | ||
61 | - <div class="weui-cell__hd"><label for="date1" class="weui-label">有效期至</label></div> | ||
62 | - <div class="weui-cell__bd"> | ||
63 | - <input class="weui-input" id="date1" type="text" readonly placeholder="请先选择开始时间"> | 60 | + <div class="weui-cell"> |
61 | + <div class="weui-cell__hd"><label for="date1" class="weui-label">有效期至</label></div> | ||
62 | + <div class="weui-cell__bd"> | ||
63 | + <input class="weui-input" id="date1" type="text" readonly placeholder="请先选择开始时间"> | ||
64 | + </div> | ||
64 | </div> | 65 | </div> |
65 | - </div> | ||
66 | - <div class="weui-cell"> | ||
67 | - <div class="weui-cell__hd"><label class="weui-label">合计</label></div> | ||
68 | - <input type="hidden" id="cardAmount"/> | ||
69 | - <div class="weui-cell__bd pay-total"> | ||
70 | - ¥<span id="totle_money">90</span> | 66 | + <div class="weui-cell"> |
67 | + <div class="weui-cell__hd"><label class="weui-label">合计</label></div> | ||
68 | + <input type="hidden" id="cardAmount"/> | ||
69 | + <div class="weui-cell__bd pay-total"> | ||
70 | + ¥<span id="totle_money">90</span> | ||
71 | + </div> | ||
71 | </div> | 72 | </div> |
72 | - </div> | ||
73 | </div> | 73 | </div> |
74 | <div class="pay-content-padded"> | 74 | <div class="pay-content-padded"> |
75 | - <a href="javascript:;" class="weui-btn weui-btn_primary" id="pay_btn">提交订单</a> | 75 | + <a href="javascript:;" class="weui-btn weui-btn_primary" id="pay_btn">提交订单</a> |
76 | </div> | 76 | </div> |
77 | <script src="//cdn.bootcss.com/jquery/1.11.0/jquery.min.js"></script> | 77 | <script src="//cdn.bootcss.com/jquery/1.11.0/jquery.min.js"></script> |
78 | <script src="//cdn.bootcss.com/jquery-weui/1.0.1/js/jquery-weui.min.js"></script> | 78 | <script src="//cdn.bootcss.com/jquery-weui/1.0.1/js/jquery-weui.min.js"></script> |
79 | <script src="${staticHost}/js/jsutil.js"></script> | 79 | <script src="${staticHost}/js/jsutil.js"></script> |
80 | <script src="${staticHost}/js/url.js"></script> | 80 | <script src="${staticHost}/js/url.js"></script> |
81 | <script type="text/javascript"> | 81 | <script type="text/javascript"> |
82 | - var func = { | ||
83 | - //1.初始化页面信息.<br/> | ||
84 | - initMonthCardInfo: function () { | ||
85 | - var parkLotCardId = $('#parkLotCardId').val(); | ||
86 | - if (parkLotCardId == null || parkLotCardId == "") { | ||
87 | - $.alert("系统繁忙,请重新操作!"); | ||
88 | - return false; | ||
89 | - } | ||
90 | - var jsonInfo = {}; | ||
91 | - jsonInfo.parkLotCardId = parkLotCardId; | ||
92 | - jsutil.defaultReq( | ||
93 | - mUrl.queryParkLotCardForChoose, | ||
94 | - jsonInfo, | ||
95 | - function (data) { | ||
96 | - if ("8888" == data.code) { | ||
97 | - var parkLot = data.data; | ||
98 | - $('#parkLotName').empty(); | ||
99 | - $('#cardTypeRemark').empty(); | ||
100 | - $('#totle_money').empty(); | ||
101 | - $('#parkLotName').text(parkLot.parkName); | ||
102 | - $('#parkLotCode').val(parkLot.parkNo); | ||
103 | - $('#cardTypeRemark').text(parkLot.parkCardCouponsList[0].goods_type_remark); | ||
104 | - $('#totle_money').text(parkLot.parkCardCouponsList[0].goods_amount); | ||
105 | - $('#parkLotCardId').val(parkLot.parkCardCouponsList[0].id); | ||
106 | - $('#cardAmount').val(parkLot.parkCardCouponsList[0].goods_amount); | ||
107 | - } else { | ||
108 | - $.alert("系统繁忙,请重新操作!"); | ||
109 | - } | ||
110 | - }); | ||
111 | - } | ||
112 | - }; | ||
113 | - $(function () { | ||
114 | - func.initMonthCardInfo(); | ||
115 | - function shownowtime() { | ||
116 | - var mydate = new Date(); | ||
117 | - var month = mydate.getMonth() + 1; | ||
118 | - var data = mydate.getDate(); | ||
119 | - if (data < 10) { | ||
120 | - data = '0' + data; | ||
121 | - } | ||
122 | - ; | ||
123 | - if (month < 10) { | ||
124 | - month = '0' + month; | ||
125 | - } | ||
126 | - ; | ||
127 | - | ||
128 | - var str = "" + mydate.getFullYear() + "-"; | ||
129 | - str += month + "-"; | ||
130 | - str += data; | ||
131 | - return str; | ||
132 | - } | ||
133 | - | ||
134 | - function showprevtime() { | ||
135 | - var mydate = new Date(); | ||
136 | - var month = mydate.getMonth() + 1; | ||
137 | - var data = mydate.getDate() - 1; | ||
138 | - if (data < 10) { | ||
139 | - data = '0' + data; | ||
140 | - } | ||
141 | - ; | ||
142 | - if (month < 10) { | ||
143 | - month = '0' + month; | ||
144 | - } | ||
145 | - ; | ||
146 | - | ||
147 | - var str = "" + mydate.getFullYear() + "-"; | ||
148 | - str += month + "-"; | ||
149 | - str += data; | ||
150 | - return str; | ||
151 | - } | ||
152 | - | ||
153 | - $("#date").calendar({ | ||
154 | - //最小时间为当前时间 | ||
155 | - minDate: showprevtime(), | ||
156 | - value: [shownowtime()], | ||
157 | - onChange: function (p, values, displayValues) { | ||
158 | - var num = $('#numder').val(); | ||
159 | - console.log(values[0]) | ||
160 | - var endD = addMoth(values[0], Number(num)); | ||
161 | - $('#date1').val(endD); | ||
162 | - | ||
163 | - }, | ||
164 | - | ||
165 | - }); | ||
166 | - //添加数量 | ||
167 | - $("#add_btn").click(function () { | ||
168 | - var cardAmount = $('#cardAmount').val();//月卡单价 | ||
169 | - var _numb = $("#numder").val(); | ||
170 | - _numb++; | ||
171 | - if (_numb >= 6) { | ||
172 | - return false; | ||
173 | - } | ||
174 | - $("#numder").val(_numb); | ||
175 | - $("#totle_money").text(_numb * cardAmount); | ||
176 | - var dataVal = $('#date').val(); | ||
177 | - if (dataVal) { | ||
178 | - var endD = addMoth(dataVal, Number(_numb)); | ||
179 | - $('#date1').val(endD); | ||
180 | - } | ||
181 | - | ||
182 | - }); | ||
183 | - //减去数量 | ||
184 | - $("#reduce_btn").click(function () { | ||
185 | - var cardAmount = $('#cardAmount').val();//月卡单价 | ||
186 | - var _numb = $("#numder").val(); | ||
187 | - if (_numb <= 1) { | ||
188 | - return false; | ||
189 | - } | ||
190 | - _numb--; | ||
191 | - $("#numder").val(_numb) | ||
192 | - $("#totle_money").text(_numb * cardAmount); | ||
193 | - var dataVal = $('#date').val(); | ||
194 | - if (dataVal) { | ||
195 | - var endD = addMoth(dataVal, Number(_numb)); | ||
196 | - $('#date1').val(endD); | ||
197 | - } | ||
198 | - }); | ||
199 | - function addMoth(d, m) { | ||
200 | - var ds = d.split('-'), _d = ds[2] - 0; | ||
201 | - var nextM = new Date(ds[0], ds[1] - 1 + m + 1, 0); | ||
202 | - var max = nextM.getDate(); | ||
203 | - var dsM = ds[1] - 1 + m; | ||
204 | -// if(dsM<10){ | ||
205 | -// dsM = '0'+dsM; | ||
206 | -// } | ||
207 | -// if(_d<10){ | ||
208 | -// _d = '0'+_d; | ||
209 | -// } | ||
210 | - d = new Date(ds[0], ds[1] - 1 + m, _d > max ? max : _d); | ||
211 | - var M = (d.getMonth() + 1); | ||
212 | - if (M < 10) { | ||
213 | - M = '0' + M | ||
214 | - } | ||
215 | - ; | ||
216 | - var D = d.getDate(); | ||
217 | - if (D < 10) { | ||
218 | - D = '0' + D | ||
219 | - } | ||
220 | - ; | ||
221 | - | ||
222 | - return d.getFullYear() + '-' + M + '-' + D; | 82 | + var func = { |
83 | + //1.初始化页面信息.<br/> | ||
84 | + initMonthCardInfo: function () { | ||
85 | + var parkLotCardId = $('#parkLotCardId').val(); | ||
86 | + if (parkLotCardId == null || parkLotCardId == "") { | ||
87 | + $.alert("系统繁忙,请重新操作!"); | ||
88 | + return false; | ||
89 | + } | ||
90 | + var jsonInfo = {}; | ||
91 | + jsonInfo.parkLotCardId = parkLotCardId; | ||
92 | + jsutil.defaultReq( | ||
93 | + mUrl.queryParkLotCardForChoose, | ||
94 | + jsonInfo, | ||
95 | + function (data) { | ||
96 | + if ("8888" == data.code) { | ||
97 | + var parkLot = data.data; | ||
98 | + $('#parkLotName').empty(); | ||
99 | + $('#cardTypeRemark').empty(); | ||
100 | + $('#totle_money').empty(); | ||
101 | + $('#parkLotName').text(parkLot.parkName); | ||
102 | + $('#parkLotCode').val(parkLot.parkNo); | ||
103 | + $('#cardTypeRemark').text(parkLot.parkCardCouponsList[0].goods_type_remark); | ||
104 | + $('#totle_money').text(parkLot.parkCardCouponsList[0].goods_amount); | ||
105 | + $('#parkLotCardId').val(parkLot.parkCardCouponsList[0].id); | ||
106 | + $('#cardAmount').val(parkLot.parkCardCouponsList[0].goods_amount); | ||
107 | + } else { | ||
108 | + $.alert("系统繁忙,请重新操作!"); | ||
109 | + } | ||
110 | + }); | ||
111 | + } | ||
223 | }; | 112 | }; |
224 | - //立即支付 | ||
225 | - $('#pay_btn').on('click', function () { | ||
226 | - var carNum = $('#license_number').val(); | ||
227 | - var parkLotCardId = $('#parkLotCardId').val(); | ||
228 | - var buyNum = $('#numder').val(); | ||
229 | - var startDate = $('#date').val(); | ||
230 | - var endDate = $('#date1').val(); | ||
231 | - var totleMoney = $('#totle_money').text(); | ||
232 | - if (carNum == '' || carNum == null || carNum == undefined) { | ||
233 | - $.toptip('亲!请输入车牌号', 3000, 'warning'); //设置显示时间 | ||
234 | - return false | ||
235 | - } | ||
236 | - //车牌校验 | ||
237 | - var checkResult = jsutil.isVehicleNumber(jsutil.trim(carNum)); | ||
238 | - if (!checkResult) { | ||
239 | - $.alert("亲!输入车牌号不正确,<br/> 正确格式如:陕K88888"); | ||
240 | - return false; | ||
241 | - } | ||
242 | - /** | ||
243 | - *校验车牌号是否已经在对应的停车场已经订购? 是:跳转续费页面,否:继续订购 | ||
244 | - * parkLotCardId | ||
245 | - */ | ||
246 | - | ||
247 | - jsutil.defaultReq( | ||
248 | - mUrl.checkIsbuyCard, | ||
249 | - {"carNum": carNum, "parkCardId": parkLotCardId}, | ||
250 | - function (data) { | ||
251 | - if ("8888" != data.code) { | ||
252 | - //$.alert(""); | ||
253 | - return false; | ||
254 | - } else { | ||
255 | - if (data.data != null && data.data != '') { | ||
256 | - $.confirm("亲!您已经办理该停车场卡,是否继续续费?", function () { | ||
257 | - //点击确认后的回调函数 | ||
258 | - window.location.href = mUrl.renewView + "&custCardId=" + data.data; | ||
259 | - }, function () { | ||
260 | - window.location.href = mUrl.toParkInfoListView; | ||
261 | - }); | 113 | + $(function () { |
114 | + func.initMonthCardInfo(); | ||
115 | + | ||
116 | + //当pick的值发生变化的时候 | ||
117 | + function pickerOnClose() { | ||
118 | + var inputDateStr = formatDateStr($('#date').val()); | ||
119 | + var inputDate = new Date(inputDateStr); | ||
120 | + var inputYear = inputDate.getFullYear(); | ||
121 | + var inputMonth = inputDate.getMonth(); | ||
122 | + var date = new Date(); | ||
123 | + var thisYear = date.getFullYear(); | ||
124 | + var thisMonth = date.getMonth(); | ||
125 | + | ||
126 | + //当前时间大于选择的时间 | ||
127 | + if (thisYear >= inputYear && thisMonth >= inputMonth) { | ||
128 | + $.toptip('开始时间不能小于下月 1号 ', 'warning'); | ||
129 | + setPickerDefaultValue(); | ||
130 | + } | ||
131 | + | ||
132 | + var num = $("#numder").val(); | ||
133 | + var startDateStr = $("#date").val(); | ||
134 | + var dateStr= formatDateStr(startDateStr); | ||
135 | + handelEndDateAndPrice(num, new Date(dateStr)); | ||
136 | + | ||
137 | + } | ||
138 | + | ||
139 | + //设置当前时间默认值 | ||
140 | + function setPickerDefaultValue() { | ||
141 | + var date = new Date(); | ||
142 | + var year = date.getFullYear() + '年'; | ||
143 | + var month = date.getMonth() + 2 + '月'; | ||
144 | + if (month.length < 3) { | ||
145 | + month = '0' + month; | ||
146 | + } | ||
147 | + | ||
148 | + var defaultDate = [year, month, '01日']; | ||
149 | + $("#date").picker("setValue", defaultDate); | ||
150 | + | ||
151 | + } | ||
152 | + | ||
153 | + //初始化时间picker选择器的参数 | ||
154 | + function initPickerParam() { | ||
155 | + var onClose = pickerOnClose; | ||
156 | + var years = []; | ||
157 | + var months = ['01月', '02月', '03月', '04月', '05月', '06月', '07月', '08月', '09月', '10月', '11月', '12月']; | ||
158 | + | ||
159 | + var date = new Date(); | ||
160 | + var thisYear = date.getFullYear(); | ||
161 | + for (var i = 0; i < 10; i++) { | ||
162 | + years[i] = thisYear + i + '年'; | ||
163 | + } | ||
164 | + var param = {}; | ||
165 | + param.onClose = onClose; | ||
166 | + param.title = '请选择开始时间'; | ||
167 | + var cols = [{"textAlign": 'center', values: years}, { | ||
168 | + "textAlign": 'center', | ||
169 | + values: months | ||
170 | + }, {"textAlign": 'center', values: ['01日']}] | ||
171 | + param.cols = cols; | ||
172 | + | ||
173 | + return param; | ||
174 | + } | ||
175 | + | ||
176 | + //选择日期 | ||
177 | + $("#date").picker( | ||
178 | + initPickerParam() | ||
179 | + ); | ||
180 | + | ||
181 | + | ||
182 | + //根据数量,开始时间计算 结束时间,总价 | ||
183 | + function handelEndDateAndPrice(num, startDate) { | ||
184 | + if(typeof num== 'string'){ | ||
185 | + num = parseInt(num); | ||
186 | + } | ||
187 | + //设置数量 | ||
188 | + $("#numder").val(num); | ||
189 | + startDate.setMonth(startDate.getMonth() + num); | ||
190 | + startDate.setDate(0)//设置为0,意思为取当前月最后一天 | ||
191 | + var year = startDate.getFullYear(); | ||
192 | + var month = startDate.getMonth() + 1 + ''; | ||
193 | + var day = startDate.getDate() + ''; | ||
194 | + if (month.length == 1) { | ||
195 | + //只有一位,需要补0 | ||
196 | + month = '0' + month; | ||
197 | + } | ||
198 | + | ||
199 | + if (day.length == 1) { | ||
200 | + //只有一位,需要补0 | ||
201 | + day = '0' + day; | ||
202 | + } | ||
203 | + var endDateStr = year + '年 ' + month + '月 ' + day + '日'; | ||
204 | + //设置失效日期 | ||
205 | + $('#date1').val(endDateStr); | ||
206 | + //设置总价 | ||
207 | + var price = $("#cardAmount").val(); | ||
208 | + $("#totle_money").html(num * price); | ||
209 | + } | ||
262 | 210 | ||
211 | + | ||
212 | + //将年月日的日期 格式化成 用 - 间隔的 | ||
213 | + function formatDateStr(dateStr) { | ||
214 | + return dateStr.replace('年', '-').replace('月', '-').replace('日', '').replace(' ', '').replace(' ', ''); | ||
215 | + } | ||
216 | + | ||
217 | + | ||
218 | + //添加数量 | ||
219 | + $("#add_btn").click(function () { | ||
220 | + | ||
221 | + var startDateStr = $("#date").val(); | ||
222 | + if (null == startDateStr || startDateStr.length < 1) { | ||
223 | + $.toptip('请先选择开始时间', 2000, 'warning'); | ||
224 | + return; | ||
225 | + } | ||
226 | + var num = $("#numder").val(); | ||
227 | + num++; | ||
228 | + if (num > 1 && num < 6) { | ||
229 | + var startDate = new Date(formatDateStr(startDateStr)); | ||
230 | + handelEndDateAndPrice(num, startDate); | ||
231 | + } else { | ||
232 | + $.toptip('最多购买5个月', 2000, 'warning'); | ||
233 | + } | ||
234 | + | ||
235 | + }); | ||
236 | + //减去数量 | ||
237 | + $("#reduce_btn").click(function () { | ||
238 | + | ||
239 | + var startDateStr = $("#date").val(); | ||
240 | + if (null == startDateStr || startDateStr.length < 1) { | ||
241 | + $.toptip('请先选择开始时间', 2000, 'warning'); | ||
242 | + return; | ||
243 | + } | ||
244 | + | ||
245 | + var num = $("#numder").val(); | ||
246 | + num--; | ||
247 | + if (num > 0) { | ||
248 | + var startDate = new Date(formatDateStr($("#date").val())); | ||
249 | + handelEndDateAndPrice(num, startDate); | ||
263 | } else { | 250 | } else { |
264 | - if (startDate == '' || startDate == null || startDate == undefined) { | ||
265 | - $.toptip('亲!请选择开始时间', 3000, 'warning'); //设置显示时间 | 251 | + $.toptip('最少购买一个月', 2000, 'warning'); |
252 | + } | ||
253 | + | ||
254 | + }); | ||
255 | + | ||
256 | + | ||
257 | + //立即支付 | ||
258 | + $('#pay_btn').on('click', function () { | ||
259 | + var carNum = $('#license_number').val(); | ||
260 | + var parkLotCardId = $('#parkLotCardId').val(); | ||
261 | + var buyNum = $('#numder').val(); | ||
262 | + var startDate = formatDateStr($('#date').val()); | ||
263 | + var endDate = formatDateStr($('#date1').val()); | ||
264 | + var totleMoney = $('#totle_money').text(); | ||
265 | + if (carNum == '' || carNum == null || carNum == undefined) { | ||
266 | + $.toptip('亲!请输入车牌号', 3000, 'warning'); //设置显示时间 | ||
266 | return false | 267 | return false |
267 | - } else { | ||
268 | - var jsonInfo = {}; | ||
269 | - jsonInfo.carNum = carNum; | ||
270 | - jsonInfo.parkLotCardId = parkLotCardId; | ||
271 | - jsonInfo.buyNum = buyNum; | ||
272 | - jsonInfo.startDate = startDate; | ||
273 | - jsonInfo.endDate = endDate; | ||
274 | - jsonInfo.totleMoney = totleMoney; | ||
275 | - jsonInfo.orderType = 3;// | ||
276 | - jsutil.defaultReq( | ||
277 | - mUrl.createOrderInfo, | ||
278 | - jsonInfo, | ||
279 | - function (data) { | 268 | + } |
269 | + //车牌校验 | ||
270 | + var checkResult = jsutil.isVehicleNumber(jsutil.trim(carNum)); | ||
271 | + if (!checkResult) { | ||
272 | + $.alert("亲!输入车牌号不正确,<br/> 正确格式如:陕K88888"); | ||
273 | + return false; | ||
274 | + } | ||
275 | + /** | ||
276 | + *校验车牌号是否已经在对应的停车场已经订购? 是:跳转续费页面,否:继续订购 | ||
277 | + * parkLotCardId | ||
278 | + */ | ||
279 | + | ||
280 | + jsutil.defaultReq( | ||
281 | + mUrl.checkIsbuyCard, | ||
282 | + {"carNum": carNum, "parkCardId": parkLotCardId}, | ||
283 | + function (data) { | ||
280 | if ("8888" != data.code) { | 284 | if ("8888" != data.code) { |
281 | - $.alert("亲!创建订单失败,请重新尝试!"); | ||
282 | - return false; | 285 | + //$.alert(""); |
286 | + return false; | ||
283 | } else { | 287 | } else { |
284 | - window.location.href = mUrl.orderPayView + "&parkOrderId=" + data.data; | 288 | + if (data.data != null && data.data != '') { |
289 | + $.confirm("亲!您已经办理该停车场卡,是否继续续费?", function () { | ||
290 | + //点击确认后的回调函数 | ||
291 | + window.location.href = mUrl.renewView + "&custCardId=" + data.data; | ||
292 | + }, function () { | ||
293 | + window.location.href = mUrl.toParkInfoListView; | ||
294 | + }); | ||
295 | + | ||
296 | + } else { | ||
297 | + if (startDate == '' || startDate == null || startDate == undefined) { | ||
298 | + $.toptip('亲!请选择开始时间', 3000, 'warning'); //设置显示时间 | ||
299 | + return false | ||
300 | + } else { | ||
301 | + var jsonInfo = {}; | ||
302 | + jsonInfo.carNum = carNum; | ||
303 | + jsonInfo.parkLotCardId = parkLotCardId; | ||
304 | + jsonInfo.buyNum = buyNum; | ||
305 | + jsonInfo.startDate = startDate; | ||
306 | + jsonInfo.endDate = endDate; | ||
307 | + jsonInfo.totleMoney = totleMoney; | ||
308 | + jsonInfo.orderType = 3;// | ||
309 | + jsutil.defaultReq( | ||
310 | + mUrl.createOrderInfo, | ||
311 | + jsonInfo, | ||
312 | + function (data) { | ||
313 | + if ("8888" != data.code) { | ||
314 | + $.alert("亲!创建订单失败,请重新尝试!"); | ||
315 | + return false; | ||
316 | + } else { | ||
317 | + window.location.href = mUrl.orderPayView + "&parkOrderId=" + data.data; | ||
318 | + } | ||
319 | + }); | ||
320 | + } | ||
321 | + }//else | ||
285 | } | 322 | } |
286 | - }); | ||
287 | - } | ||
288 | - }//else | ||
289 | - } | ||
290 | - }); | 323 | + }); |
291 | 324 | ||
292 | 325 | ||
293 | - }); | 326 | + }); |
294 | 327 | ||
295 | 328 | ||
296 | - }) | 329 | + }) |
297 | </script> | 330 | </script> |
298 | </body> | 331 | </body> |
299 | </html> | 332 | </html> |
src/main/webapp/WEB-INF/pages/yearpay.html
@@ -110,101 +110,152 @@ var func = { | @@ -110,101 +110,152 @@ var func = { | ||
110 | }; | 110 | }; |
111 | $(function () { | 111 | $(function () { |
112 | func.initYearCardInfo(); | 112 | func.initYearCardInfo(); |
113 | - //获取最小S时间 | ||
114 | - function shownowtime(){ | ||
115 | - var mydate = new Date(); | ||
116 | - var month = mydate.getMonth()+1; | ||
117 | - var data = mydate.getDate(); | ||
118 | - if(data<10){ | ||
119 | - data='0'+data; | ||
120 | - }; | ||
121 | - if(month<10){ | ||
122 | - month = '0'+month; | ||
123 | - }; | 113 | + //当pick的值发生变化的时候 |
114 | + function pickerOnClose() { | ||
115 | + var inputDateStr = formatDateStr($('#date').val()); | ||
116 | + var inputDate = new Date(inputDateStr); | ||
117 | + var inputYear = inputDate.getFullYear(); | ||
118 | + var inputMonth = inputDate.getMonth(); | ||
119 | + var date = new Date(); | ||
120 | + var thisYear = date.getFullYear(); | ||
121 | + var thisMonth = date.getMonth(); | ||
122 | + | ||
123 | + //当前时间大于选择的时间 | ||
124 | + if (thisYear >= inputYear && thisMonth >= inputMonth) { | ||
125 | + $.toptip('开始时间不能小于下月 1号 ', 'warning'); | ||
126 | + setPickerDefaultValue(); | ||
127 | + } | ||
128 | + | ||
129 | + var num = $("#numder").val(); | ||
130 | + var startDateStr = $("#date").val(); | ||
131 | + var dateStr= formatDateStr(startDateStr); | ||
132 | + handelEndDateAndPrice(num, new Date(dateStr)); | ||
124 | 133 | ||
125 | - var str = "" + mydate.getFullYear() + "-"; | ||
126 | - str += month + "-"; | ||
127 | - str += data ; | ||
128 | - return str; | ||
129 | } | 134 | } |
130 | - function showprevtime(){ | ||
131 | - var mydate = new Date(); | ||
132 | - var month = mydate.getMonth()+1; | ||
133 | - var data = mydate.getDate()-1; | ||
134 | - if(data<10){ | ||
135 | - data='0'+data; | ||
136 | - }; | ||
137 | - if(month<10){ | ||
138 | - month = '0'+month; | ||
139 | - }; | ||
140 | 135 | ||
141 | - var str = "" + mydate.getFullYear() + "-"; | ||
142 | - str += month + "-"; | ||
143 | - str += data ; | ||
144 | - return str; | 136 | + //设置当前时间默认值 |
137 | + function setPickerDefaultValue() { | ||
138 | + var date = new Date(); | ||
139 | + var year = date.getFullYear() + '年'; | ||
140 | + var month = date.getMonth() + 2 + '月'; | ||
141 | + if (month.length < 3) { | ||
142 | + month = '0' + month; | ||
143 | + } | ||
144 | + | ||
145 | + var defaultDate = [year, month, '01日']; | ||
146 | + $("#date").picker("setValue", defaultDate); | ||
147 | + | ||
145 | } | 148 | } |
146 | - $("#date").calendar({ | ||
147 | - //最小时间为当前时间 | ||
148 | - minDate:showprevtime(), | ||
149 | - value:[shownowtime()], | ||
150 | 149 | ||
151 | - onChange: function (p, values, displayValues) { | ||
152 | - var num = $('#numder').val(); | ||
153 | - var val1 = values[0].slice(0,4); | ||
154 | - var val2 = values[0].slice(4); | ||
155 | - console.log(Number(val1) +Number(num)); | ||
156 | - var endDate = Number(val1) +Number(num); | ||
157 | - $('#date1').val(endDate+val2); | 150 | + //初始化时间picker选择器的参数 |
151 | + function initPickerParam() { | ||
152 | + var onClose = pickerOnClose; | ||
153 | + var years = []; | ||
154 | + var months = ['01月', '02月', '03月', '04月', '05月', '06月', '07月', '08月', '09月', '10月', '11月', '12月']; | ||
158 | 155 | ||
156 | + var date = new Date(); | ||
157 | + var thisYear = date.getFullYear(); | ||
158 | + for (var i = 0; i < 10; i++) { | ||
159 | + years[i] = thisYear + i + '年'; | ||
159 | } | 160 | } |
160 | - }); | 161 | + var param = {}; |
162 | + param.onClose = onClose; | ||
163 | + param.title = '请选择开始时间'; | ||
164 | + var cols = [{"textAlign": 'center', values: years}, { | ||
165 | + "textAlign": 'center', | ||
166 | + values: months | ||
167 | + }, {"textAlign": 'center', values: ['01日']}] | ||
168 | + param.cols = cols; | ||
169 | + | ||
170 | + return param; | ||
171 | + } | ||
172 | + | ||
173 | + //选择日期 | ||
174 | + $("#date").picker( | ||
175 | + initPickerParam() | ||
176 | + ); | ||
177 | + | ||
178 | + | ||
179 | + //根据数量,开始时间计算 结束时间,总价 | ||
180 | + function handelEndDateAndPrice(num, startDate) { | ||
181 | + if(typeof num== 'string'){ | ||
182 | + num = parseInt(num); | ||
183 | + } | ||
184 | + //设置数量 | ||
185 | + $("#numder").val(num); | ||
186 | + startDate.setDate(0)//设置为0,意思为取当前月最后一天 | ||
187 | + var year = startDate.getFullYear()+num; | ||
188 | + var month = startDate.getMonth()+1+''; | ||
189 | + var day = startDate.getDate() + ''; | ||
190 | + if (month.length == 1) { | ||
191 | + //只有一位,需要补0 | ||
192 | + month = '0' + month; | ||
193 | + } | ||
194 | + | ||
195 | + if (day.length == 1) { | ||
196 | + //只有一位,需要补0 | ||
197 | + day = '0' + day; | ||
198 | + } | ||
199 | + var endDateStr = year + '年 ' + month + '月 ' + day + '日'; | ||
200 | + //设置失效日期 | ||
201 | + $('#date1').val(endDateStr); | ||
202 | + //设置总价 | ||
203 | + var price = $("#cardAmount").val(); | ||
204 | + $("#totle_money").html(num * price); | ||
205 | + } | ||
206 | + | ||
207 | + | ||
208 | + //将年月日的日期 格式化成 用 - 间隔的 | ||
209 | + function formatDateStr(dateStr) { | ||
210 | + return dateStr.replace('年', '-').replace('月', '-').replace('日', '').replace(' ', '').replace(' ', ''); | ||
211 | + } | ||
212 | + | ||
161 | 213 | ||
162 | //添加数量 | 214 | //添加数量 |
163 | - $("#add_btn").click(function(){ | ||
164 | - var cardAmount = $('#cardAmount').val();//年卡单价 | ||
165 | - var _numb = $("#numder").val(); | ||
166 | - _numb++; | ||
167 | - if(_numb>=6){ | ||
168 | - return false; | 215 | + $("#add_btn").click(function () { |
216 | + | ||
217 | + var startDateStr = $("#date").val(); | ||
218 | + if (null == startDateStr || startDateStr.length < 1) { | ||
219 | + $.toptip('请先选择开始时间', 2000, 'warning'); | ||
220 | + return; | ||
169 | } | 221 | } |
170 | - $("#numder").val(_numb); | ||
171 | - $("#totle_money").text(_numb*cardAmount); | ||
172 | - var dataVal = $('#date').val(); | ||
173 | - if(dataVal){ | ||
174 | - var val1 = dataVal.slice(0,4); | ||
175 | - var val2 = dataVal.slice(4); | ||
176 | - console.log(Number(val1) +Number(_numb)); | ||
177 | - var endDate = Number(val1) +Number(_numb); | ||
178 | - $('#date1').val(endDate+val2); | 222 | + var num = $("#numder").val(); |
223 | + num++; | ||
224 | + if (num > 1 && num < 6) { | ||
225 | + var startDate = new Date(formatDateStr(startDateStr)); | ||
226 | + handelEndDateAndPrice(num, startDate); | ||
227 | + } else { | ||
228 | + $.toptip('最多购买5年', 2000, 'warning'); | ||
179 | } | 229 | } |
180 | 230 | ||
181 | }); | 231 | }); |
182 | //减去数量 | 232 | //减去数量 |
183 | - $("#reduce_btn").click(function(){ | ||
184 | - var cardAmount = $('#cardAmount').val();//年卡单价 | ||
185 | - var _numb = $("#numder").val(); | ||
186 | - if(_numb<=1){ | ||
187 | - return false; | 233 | + $("#reduce_btn").click(function () { |
234 | + | ||
235 | + var startDateStr = $("#date").val(); | ||
236 | + if (null == startDateStr || startDateStr.length < 1) { | ||
237 | + $.toptip('请先选择开始时间', 2000, 'warning'); | ||
238 | + return; | ||
188 | } | 239 | } |
189 | - _numb--; | ||
190 | - $("#numder").val(_numb) | ||
191 | - $("#totle_money").text(_numb*cardAmount); | ||
192 | - var dataVal = $('#date').val(); | ||
193 | - if(dataVal){ | ||
194 | - var val1 = dataVal.slice(0,4); | ||
195 | - var val2 = dataVal.slice(4); | ||
196 | - console.log(Number(val1) +Number(_numb)); | ||
197 | - var endDate = Number(val1) +Number(_numb); | ||
198 | - $('#date1').val(endDate+val2); | 240 | + |
241 | + var num = $("#numder").val(); | ||
242 | + num--; | ||
243 | + if (num > 0) { | ||
244 | + var startDate = new Date(formatDateStr($("#date").val())); | ||
245 | + handelEndDateAndPrice(num, startDate); | ||
246 | + } else { | ||
247 | + $.toptip('最少购买一年', 2000, 'warning'); | ||
199 | } | 248 | } |
249 | + | ||
200 | }); | 250 | }); |
251 | + | ||
201 | //立即支付 | 252 | //立即支付 |
202 | $('#pay_btn').on('click',function () { | 253 | $('#pay_btn').on('click',function () { |
203 | var carNum = $('#license_number').val(); | 254 | var carNum = $('#license_number').val(); |
204 | var parkLotCardId = $('#parkLotCardId').val(); | 255 | var parkLotCardId = $('#parkLotCardId').val(); |
205 | var buyNum = $('#numder').val(); | 256 | var buyNum = $('#numder').val(); |
206 | - var startDate = $('#date').val(); | ||
207 | - var endDate = $('#date1').val(); | 257 | + var startDate = formatDateStr($('#date').val()); |
258 | + var endDate = formatDateStr($('#date1').val()); | ||
208 | var totleMoney =$('#totle_money').text(); | 259 | var totleMoney =$('#totle_money').text(); |
209 | if(carNum == '' || carNum ==null || carNum == undefined){ | 260 | if(carNum == '' || carNum ==null || carNum == undefined){ |
210 | $.toptip('亲!请输入车牌号', 3000, 'warning'); //设置显示时间 | 261 | $.toptip('亲!请输入车牌号', 3000, 'warning'); //设置显示时间 |