e7874705
liuqimichale
init
|
1
|
<template>
|
eb4a88b5
liuqimichale
欠费缴纳
|
2
3
|
<div style="height: 100%">
<div v-if="parkList.length>0" style="height: 100%">
|
7bc83a97
liuqimichale
在停缴费
|
4
|
<ul class="tabWrap">
|
e7874705
liuqimichale
init
|
5
6
7
8
9
10
11
12
|
<li v-for="(i,index) in tabList"
:key="i.id"
:class="{tabActive:currentTabActive == index}"
@click="tabHandle(index)"
>{{i.text}}
</li>
</ul>
|
7bc83a97
liuqimichale
在停缴费
|
13
14
|
<!--本次缴费-->
|
e7874705
liuqimichale
init
|
15
16
|
<div v-show="currentTabActive==0">
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
17
|
<div v-if="parkingData.length>0">
|
7bc83a97
liuqimichale
在停缴费
|
18
19
|
<p class="free-tip">您为会员卡车辆无需缴费,请直接离场。</p>
|
afb48777
liuqimichale
赤峰本次停车费用
|
20
|
<div class="cost-main" v-for="i in parkingData">
|
7bc83a97
liuqimichale
在停缴费
|
21
|
<ul class="cost-header">
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
22
|
<li :class="carColor | formateColor">{{i.carNumber}}</li>
|
7bc83a97
liuqimichale
在停缴费
|
23
24
25
26
27
|
<li>本次费用</li>
</ul>
<div class="cost-body">
<p>车辆类型:临停车</p>
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
28
|
<p>车场名称:{{i.parkName}}
|
7bc83a97
liuqimichale
在停缴费
|
29
|
</p>
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
30
|
<p> 进场时间:{{i.parkInTime}}
|
7bc83a97
liuqimichale
在停缴费
|
31
|
</p>
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
32
|
<p>出场时间:{{i.parkOutTime}}
|
7bc83a97
liuqimichale
在停缴费
|
33
|
</p>
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
34
|
<p>停车时长:{{ $utils.dateFormat(i.parkDuration)}}</p>
|
7bc83a97
liuqimichale
在停缴费
|
35
|
<div class="out-wrap">
|
3c184204
liuqimichale
支付方式 -- 支付宝
|
36
|
<p class="mon-wrap">¥{{(i.unPayFee/100).toFixed(2)}}</p>
|
7bc83a97
liuqimichale
在停缴费
|
37
38
39
40
41
42
|
<p class="out-btn">出场缴费</p>
</div>
</div>
</div>
</div>
<!--没有在停费用-->
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
43
|
<div class="noRecord" v-else>暂无记录</div>
|
7bc83a97
liuqimichale
在停缴费
|
44
45
|
|
e7874705
liuqimichale
init
|
46
|
</div>
|
7bc83a97
liuqimichale
在停缴费
|
47
48
49
|
<!--历史缴费-->
|
eb4a88b5
liuqimichale
欠费缴纳
|
50
|
<div v-show="currentTabActive==1" class="history-con" >
|
afb48777
liuqimichale
赤峰本次停车费用
|
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
<div v-if="historyList.length>0">
<div class="history-body" >
<p class="money-all">总欠费金额:
<span>¥{{(allMoney/100).toFixed(2)}}</span>
</p>
<div class="cost-main cost-main-history" style="padding-left: 50px;"
v-for="(i, index) in historyList" :key="i.id"
@click="chooseHandle(i, index)"
:class="{isChecked: i.checked}"
>
<ul class="cost-header">
<li :class="carColor | formateColor">{{i.carNumber}}</li>
<li>欠费</li>
</ul>
<div class="cost-body">
<p>车辆类型:临停车</p>
<p>车场名称:{{i.parkName}}
</p>
<p> 进场时间:{{i.parkInTime}}
</p>
<p>出场时间:{{i.parkOutTime}}
</p>
<p>停车时长:{{ $utils.dateFormat(i.parkDuration)}}</p>
<div class="out-wrap">
<p class="mon-wrap">¥{{(i.unPayFee/100).toFixed(2)}}</p>
</div>
|
eb4a88b5
liuqimichale
欠费缴纳
|
81
|
|
eb4a88b5
liuqimichale
欠费缴纳
|
82
|
</div>
|
eb4a88b5
liuqimichale
欠费缴纳
|
83
|
</div>
|
eb4a88b5
liuqimichale
欠费缴纳
|
84
|
|
afb48777
liuqimichale
赤峰本次停车费用
|
85
|
</div>
|
eb4a88b5
liuqimichale
欠费缴纳
|
86
87
|
|
afb48777
liuqimichale
赤峰本次停车费用
|
88
89
90
91
92
93
94
95
96
97
98
|
<div class="history-footer">
<p class="statistical-data">您已选中
<span>{{historyCheckedLen}}</span>笔交易
合计:¥ <span>{{(historyCheckedMon/100).toFixed(2)}}</span>
</p>
<div class="opration-wrap">
<p class="check-btn" :class="{isAllChecked:allChecked}"
@click="checkedAll"
>全选</p>
<p class="settle-btn" @click="toPayPage">清缴欠费</p>
</div>
|
eb4a88b5
liuqimichale
欠费缴纳
|
99
100
101
102
103
|
</div>
</div>
<!--没有在停费用-->
|
afb48777
liuqimichale
赤峰本次停车费用
|
104
|
<div class="noRecord" v-else>暂无记录</div>
|
eb4a88b5
liuqimichale
欠费缴纳
|
105
106
|
</div>
|
e7874705
liuqimichale
init
|
107
108
109
110
|
</div>
|
7bc83a97
liuqimichale
在停缴费
|
111
112
|
<div v-else class="noRecord">
暂无记录
|
e7874705
liuqimichale
init
|
113
|
</div>
|
455431ac
liuqimichale
欠费缴纳--费用支付
|
114
115
116
117
118
119
120
121
122
|
<modal-alert ref="alert">
<div class="trave-tip-content txt-l" slot="content">
<div class="confirm-text">
<p>请至少选择一笔记录</p>
</div>
</div>
<span slot="button">知道了</span>
</modal-alert>
|
e7874705
liuqimichale
init
|
123
124
125
126
|
</div>
</template>
<script>
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
127
|
import { parkRecordList, historyQuery } from '@/api/parkRecord/parkRecord.js'
|
65d81c4b
liuqimichale
停车记录接口
|
128
|
import axios from 'axios'
|
26e543b8
liuqimichale
ajax 统一封装
|
129
|
|
e7874705
liuqimichale
init
|
130
131
132
133
|
export default {
name: 'parkRecord',
data() {
return {
|
7bc83a97
liuqimichale
在停缴费
|
134
|
tabList: [ // 切换数据
|
e7874705
liuqimichale
init
|
135
136
137
|
{ text: '在停缴费', id: 1 },
{ text: '离场待缴', id: 2 },
],
|
7bc83a97
liuqimichale
在停缴费
|
138
|
carColor: 1,// 车牌颜色
|
eb4a88b5
liuqimichale
欠费缴纳
|
139
|
currentTabActive: 1, // 显示当前哪个
|
7bc83a97
liuqimichale
在停缴费
|
140
|
carNumber: '', // 车牌号码
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
141
|
parkingData:[], // 在停数据
|
65d81c4b
liuqimichale
停车记录接口
|
142
|
parkList: [], // 停车记录数据
|
eb4a88b5
liuqimichale
欠费缴纳
|
143
144
|
historyList:[ // 历史欠费数据
{money:100,checked:false, id: 1},
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
145
|
|
eb4a88b5
liuqimichale
欠费缴纳
|
146
147
|
] ,
allChecked:false, // 全部选择事件
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
148
|
allMoney:0, // 欠费所有的费用
|
455431ac
liuqimichale
欠费缴纳--费用支付
|
149
150
|
historyCheckedLen:0, //选中了几笔交易
historyCheckedMon: 0, //选中了待缴纳的金额
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
151
|
orderIds: [] // 选中数据的订单 数组
|
e7874705
liuqimichale
init
|
152
153
|
}
},
|
455431ac
liuqimichale
欠费缴纳--费用支付
|
154
155
|
mounted(){
},
|
e7874705
liuqimichale
init
|
156
|
created() {
|
7bc83a97
liuqimichale
在停缴费
|
157
|
this.carNumber = this.$route.query.carNumber // 获取车牌号
|
d9a3b1aa
liuqimichale
赤峰分支
|
158
159
|
this.carColor = this.$route.query.carNumberColor // 获取颜色 0:蓝牌;1:黄牌;2:白牌;3:黑牌;4:绿色
|
e7874705
liuqimichale
init
|
160
|
console.log(this.carNumber)
|
26e543b8
liuqimichale
ajax 统一封装
|
161
|
this.parkRecordList(this.carNumber)
|
e7874705
liuqimichale
init
|
162
163
|
},
methods: {
|
26e543b8
liuqimichale
ajax 统一封装
|
164
|
parkRecordList(){
|
65d81c4b
liuqimichale
停车记录接口
|
165
|
var salt = this.$utils.myCommonSalt(32);
|
afb48777
liuqimichale
赤峰本次停车费用
|
166
|
|
65d81c4b
liuqimichale
停车记录接口
|
167
168
169
170
171
172
173
174
175
176
|
var jsondata = {
app_id: this.$utils.myVarAppid,
deviceInfo: this.$utils.myDeviceInfo,
salt: salt,
sign_type: "md5",
pageNum: 1,
pageSize: 1000,
parkState: 10,
terminalSource: 7,
carNumber: this.carNumber,
|
ae6e7e99
liuqimichale
支付方式
|
177
|
// sign: md5sign,
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
178
|
orgId: this.$utils.myOrgId
|
65d81c4b
liuqimichale
停车记录接口
|
179
|
}
|
ae6e7e99
liuqimichale
支付方式
|
180
181
|
jsondata.sign = this.$utils.signObject(jsondata)
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
182
183
184
|
// jsondata.sign = md5sign
|
65d81c4b
liuqimichale
停车记录接口
|
185
186
187
188
|
console.log('停车记录传参 ' + JSON.stringify(jsondata));
parkRecordList(jsondata).then(response => {
console.log(response)
this.parkList = response.data.dataList
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
189
|
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
190
191
|
this.parkingData = this.parkList.filter(item => {
return item.parkState == '10'
|
65d81c4b
liuqimichale
停车记录接口
|
192
|
})
|
afb48777
liuqimichale
赤峰本次停车费用
|
193
194
195
|
if(this.parkingData.length>0){
this.currentTabActive = 0
}
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
196
197
198
199
200
|
console.log(this.parkingData)
this.historyList = this.parkList.filter(item => {
return item.parkState == '20'
})
this.historyList.forEach( i => {
|
3c184204
liuqimichale
支付方式 -- 支付宝
|
201
|
this.allMoney += Number(i.unPayFee)
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
202
203
204
|
})
console.log(this.historyList)
|
26e543b8
liuqimichale
ajax 统一封装
|
205
206
207
208
209
|
})
},
|
7bc83a97
liuqimichale
在停缴费
|
210
|
tabHandle(index) { // tab 切换
|
e7874705
liuqimichale
init
|
211
|
this.currentTabActive = index
|
eb4a88b5
liuqimichale
欠费缴纳
|
212
213
214
|
},
chooseHandle(i, index) { // 历史欠费单个选择事件
i.checked = !i.checked
|
455431ac
liuqimichale
欠费缴纳--费用支付
|
215
|
let me = this
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
216
|
|
455431ac
liuqimichale
欠费缴纳--费用支付
|
217
218
|
if(i.checked ){ //单个选中
me.historyCheckedLen ++
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
219
220
|
if(me.historyCheckedLen == this.historyList.length){
this.allChecked = true
|
ae6e7e99
liuqimichale
支付方式
|
221
|
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
222
|
}
|
ae6e7e99
liuqimichale
支付方式
|
223
|
me.orderIds.push(i.orderId)
|
3c184204
liuqimichale
支付方式 -- 支付宝
|
224
|
me.historyCheckedMon += Number(i.unPayFee)
|
455431ac
liuqimichale
欠费缴纳--费用支付
|
225
|
}else{ //单个不选中
|
ae6e7e99
liuqimichale
支付方式
|
226
227
|
let _i = me.orderIds.indexOf(i.orderId)
me.orderIds.splice(_i,1)
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
228
|
this.allChecked = false
|
455431ac
liuqimichale
欠费缴纳--费用支付
|
229
|
me.historyCheckedLen --
|
3c184204
liuqimichale
支付方式 -- 支付宝
|
230
|
me.historyCheckedMon -= Number(i.unPayFee)
|
455431ac
liuqimichale
欠费缴纳--费用支付
|
231
232
233
|
}
|
eb4a88b5
liuqimichale
欠费缴纳
|
234
235
236
|
},
checkedAll() { // 全选选择事件
this.allChecked = !this.allChecked
|
455431ac
liuqimichale
欠费缴纳--费用支付
|
237
|
if(this.allChecked){ //全选
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
238
|
let me = this
|
455431ac
liuqimichale
欠费缴纳--费用支付
|
239
240
|
this.historyList.forEach(function(item){
item.checked = true;
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
241
|
me.orderIds.push(item.orderId)
|
455431ac
liuqimichale
欠费缴纳--费用支付
|
242
|
});
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
243
|
this.historyCheckedMon = this.allMoney
|
455431ac
liuqimichale
欠费缴纳--费用支付
|
244
|
this.historyCheckedLen = this.historyList.length
|
455431ac
liuqimichale
欠费缴纳--费用支付
|
245
|
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
246
|
}else{ //反选
|
455431ac
liuqimichale
欠费缴纳--费用支付
|
247
248
249
250
251
252
|
this.historyList.forEach(function(item){
item.checked = false;
});
this.historyCheckedLen = 0
this.historyCheckedMon = 0
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
253
|
this.orderIds = []
|
455431ac
liuqimichale
欠费缴纳--费用支付
|
254
255
256
257
258
259
260
|
}
},
toPayPage() { //缴纳费用
if(this.historyCheckedLen==0){
this.$refs.alert.open()
return
}
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
261
262
263
|
var salt = this.$utils.myCommonSalt(32);
var list = "[" + this.orderIds + "]"
|
6b286309
liuqimichale
支付方式 -- 微信
|
264
|
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
265
266
267
268
269
|
var jsondata = {
app_id: this.$utils.myVarAppid,
deviceInfo: this.$utils.myDeviceInfo,
salt: salt,
|
ae6e7e99
liuqimichale
支付方式
|
270
|
// sign: md5sign,
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
271
272
273
274
275
276
277
|
sign_type: "md5",
appId: this.$utils.myVxAppId,
orderIds: list,
terminalSource: '7',
payType: 4,
orgId: this.$utils.myOrgId,
}
|
ae6e7e99
liuqimichale
支付方式
|
278
|
jsondata.sign = this.$utils.signObject(jsondata)
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
279
280
281
|
historyQuery(jsondata).then(response => {
console.log(response)
|
3c184204
liuqimichale
支付方式 -- 支付宝
|
282
283
|
let res = response.data.carArrearages[0]
console.log(res)
|
6b286309
liuqimichale
支付方式 -- 微信
|
284
|
this.orderIds = JSON.stringify(this.orderIds)
|
ae6e7e99
liuqimichale
支付方式
|
285
286
287
288
289
|
this.$router.push(
{
path:'orderPay',
query:{
carColor:0,// 车牌颜色
|
3c184204
liuqimichale
支付方式 -- 支付宝
|
290
291
292
|
arrearageTotalFee: res.arrearageTotalFee,// 应收
arrearageDiscFee: res.arrearageDiscFee,// 优惠
arrearageActFee: res.arrearageActFee,// 实收
|
6b286309
liuqimichale
支付方式 -- 微信
|
293
294
295
|
carNumber: this.carNumber, // 车牌
paySrcType: 103, //支付的类型 101 是本次 103是历史欠费
ordeID: this.orderIds, //支付的订单号
|
ae6e7e99
liuqimichale
支付方式
|
296
297
298
|
}
}
)
|
21bb7bf6
liuqimichale
历史欠费缴纳
|
299
300
301
302
|
})
|
ae6e7e99
liuqimichale
支付方式
|
303
|
|
e7874705
liuqimichale
init
|
304
|
}
|
7bc83a97
liuqimichale
在停缴费
|
305
306
|
},
filters: {
|
7bc83a97
liuqimichale
在停缴费
|
307
|
|
e7874705
liuqimichale
init
|
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
|
}
}
</script>
<style scoped lang="scss">
.tabWrap {
height: 38px;
background: #FFF;
display: flex;
color: #666;
li {
flex: 1;
line-height: 38px;
text-align: center;
border-bottom: 1px solid #DFDFDF;
}
.tabActive {
color: #0564CC;
border-bottom: 1px solid #0564CC;
font-weight: bold;
}
}
|
7bc83a97
liuqimichale
在停缴费
|
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
|
.free-tip {
height: 25px;
line-height: 25px;
padding-left: 45px;
background: #FEF8DB url("../assets/images/free-tip.png") no-repeat 18px center;
background-size: 18px 18px;
}
.cost-main {
padding-left: 18px;
background: #fff;
}
.cost-header {
display: flex;
justify-content: space-between;
height: 45px;
line-height: 45px;
border-bottom: 1px solid #DFDFDF;
font-weight: bold;
li:first-child {
width: 150px;
&.carBlue {
background: url("../assets/images/carBlue.png") no-repeat 90px center;
background-size: 28px 17px;
}
&.carYellow {
background: url("../assets/images/carYellow.png") no-repeat 90px center;
background-size: 28px 17px;
}
&.carGreen {
background: url("../assets/images/carGreen.png") no-repeat 90px center;
background-size: 28px 17px;
}
&.carWhite {
background: url("../assets/images/carWhite.png") no-repeat 90px center;
background-size: 28px 17px;
}
&.carBlack {
background: url("../assets/images/carBlack.png") no-repeat 90px center;
background-size: 28px 17px;
}
}
li:last-child {
margin-right: 18px;
color: #BC0202;
}
}
.cost-body {
padding-top: 10px;
position: relative;
> p {
padding-bottom: 10px;
}
.out-wrap {
position: absolute;
right: 18px;
top: 50%;
transform: translateY(-50%);
.mon-wrap {
font-size: 16px;
color: #333;
font-weight: bold;
}
.out-btn {
width: 72px;
height: 24px;
margin-top: 18px;
line-height: 24px;
text-align: center;
background: linear-gradient(180deg, #3885D9 0%, #4194EF 100%);
border-radius: 4px;
color: #FFF;
cursor: pointer;
}
}
}
|
eb4a88b5
liuqimichale
欠费缴纳
|
410
411
412
413
414
415
416
417
418
419
420
421
422
|
.history-con{
height: calc(100% - 38px);
overflow: hidden;
}
.history-body{
height: calc(100% - 81px);
overflow-y: scroll;
}
.history-footer{
height: 81px;
background: #F8F8F8;
}
|
eb4a88b5
liuqimichale
欠费缴纳
|
423
424
425
426
427
428
429
430
|
.cost-main-history{
margin-bottom: 10px;
background:#fff url("../assets/images/choose.png") no-repeat 10px center;
background-size: 20px 20px;
cursor: pointer;
}
|
eb4a88b5
liuqimichale
欠费缴纳
|
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
|
.isChecked{
background:#fff url("../assets/images/choosed.png") no-repeat 10px center;
background-size: 20px 20px;
}
.money-all{
padding-left: 18px;
height: 25px;
line-height: 25px;
font-weight: 500;
background: #FEF8DB;
span{
color: #BC0202;
}
}
.statistical-data{
padding-left: 18px;
height: 32px;
line-height: 32px;
background: #E6FAFA;
span{
color: #D20000;
}
}
.opration-wrap{
padding-left: 18px;
height: 49px;
line-height: 49px;
background: #f8f8f8;
display: flex;
justify-content: space-between;
.check-btn{
padding-left: 30px;
background: url("../assets/images/choose.png") no-repeat 0 center;
background-size: 20px 20px;
cursor: pointer;
}
.isAllChecked{
background: url("../assets/images/choosed.png") no-repeat 0 center;
background-size: 20px 20px;
}
.settle-btn{
width: 106px;
height: 49px;
background: linear-gradient(145deg, #2783E9 0%, #227ADC 100%);
text-align: center;
color: #fff;
cursor: pointer;
}
}
|
7bc83a97
liuqimichale
在停缴费
|
483
484
485
486
487
488
|
.noRecord {
padding-top: 200px;
background: url("../assets/images/noRecord.png") no-repeat center 60px;
background-size: 161px 124px;
text-align: center;
}
|
e7874705
liuqimichale
init
|
489
|
</style>
|