Commit df8f58a4967529cc578b2dc211712393225cd51f
1 parent
620e6ed9
货车30分钟免费
Showing
1 changed file
with
99 additions
and
112 deletions
src/views/parkPay/parkRecord.vue
| ... | ... | @@ -10,11 +10,12 @@ |
| 10 | 10 | </li> |
| 11 | 11 | </ul> |
| 12 | 12 | |
| 13 | + | |
| 13 | 14 | <!--本次缴费--> |
| 14 | 15 | <div v-show="currentTabActive==0"> |
| 15 | 16 | |
| 16 | 17 | <div v-if="parkingData.length>0"> |
| 17 | - <p class="free-tip" v-if="parkingData[0].parkDuration<=2100">停车15分钟内无需缴费,请申请离场。</p> | |
| 18 | + <p class="free-tip" v-if="parkingData[0].parkDuration<=900">停车15分钟内(货车30分钟内)无需缴费!</p> | |
| 18 | 19 | |
| 19 | 20 | <div class="cost-main" v-for="i in parkingData"> |
| 20 | 21 | <ul class="cost-header"> |
| ... | ... | @@ -23,7 +24,7 @@ |
| 23 | 24 | </ul> |
| 24 | 25 | |
| 25 | 26 | <div class="cost-body"> |
| 26 | - <p>车辆类型:临停车</p> | |
| 27 | + <!--<p>车辆类型:临停车</p>--> | |
| 27 | 28 | <p>车场名称:{{i.parkName}} |
| 28 | 29 | </p> |
| 29 | 30 | <p> 进场时间:{{i.parkInTime}} |
| ... | ... | @@ -33,23 +34,25 @@ |
| 33 | 34 | <p>停车时长:{{ $utils.dateFormat(i.parkDuration)}}</p> |
| 34 | 35 | <div class="out-wrap"> |
| 35 | 36 | <p class="mon-wrap">¥{{(i.unPayFee/100).toFixed(2)}}</p> |
| 36 | - <p class="out-btn" @click="toPayCurrent1(i,parkingData[0].parkDuration)" v-if="parkingData[0].parkDuration<=900">申请离场</p> | |
| 37 | + <p class="out-btn" @click="toPayCurrent(i,parkingData[0].parkDuration)" v-if="parkingData[0].parkDuration<=900">申请离场</p> | |
| 38 | + <p class="out-btn" @click="toPayCurrent(i,parkingData[0].parkDuration)" v-else-if="parkingData[0].parkDuration<=1800&parkingData[0].carType==7">申请离场</p> | |
| 39 | + <p class="out-btn" @click="toPayCurrent(i,parkingData[0].parkDuration)" v-else-if="parkingData[0].parkDuration<=1800&parkingData[0].carType==8">申请离场</p> | |
| 37 | 40 | <p class="out-btn" @click="toPayCurrent(i,parkingData[0].parkDuration)" v-else>出场缴费</p> |
| 38 | 41 | </div> |
| 39 | 42 | </div> |
| 40 | 43 | </div> |
| 41 | 44 | </div> |
| 42 | 45 | <!--没有在停费用--> |
| 43 | - <div class="noRecord" v-else> 本次停车暂未产生费用,请及时离场</div> | |
| 46 | + <div class="noRecord" v-else>暂无记录</div> | |
| 44 | 47 | |
| 45 | 48 | |
| 46 | 49 | </div> |
| 47 | 50 | |
| 48 | 51 | |
| 49 | 52 | <!--历史缴费--> |
| 50 | - <div v-show="currentTabActive==1" class="history-con" > | |
| 53 | + <div v-show="currentTabActive==1" class="history-con"> | |
| 51 | 54 | <div v-if="historyList.length>0" style="height: 100%;"> |
| 52 | - <div class="history-body" > | |
| 55 | + <div class="history-body"> | |
| 53 | 56 | <p class="money-all">总欠费金额: |
| 54 | 57 | <span>¥{{(allMoney/100).toFixed(2)}}</span> |
| 55 | 58 | </p> |
| ... | ... | @@ -66,7 +69,7 @@ |
| 66 | 69 | </ul> |
| 67 | 70 | |
| 68 | 71 | <div class="cost-body"> |
| 69 | - <!--<p>车辆颜色:临停车</p>--> | |
| 72 | + <!--<p>车辆类型:临停车</p>--> | |
| 70 | 73 | |
| 71 | 74 | <p>车场名称:{{i.parkName}} |
| 72 | 75 | </p> |
| ... | ... | @@ -100,8 +103,8 @@ |
| 100 | 103 | </div> |
| 101 | 104 | |
| 102 | 105 | |
| 103 | - <!--没有历史费用--> | |
| 104 | - <div class="noRecord" v-else> 暂无历史费用</div> | |
| 106 | + <!--没有在停费用--> | |
| 107 | + <div class="noRecord" v-else>暂无记录</div> | |
| 105 | 108 | |
| 106 | 109 | </div> |
| 107 | 110 | |
| ... | ... | @@ -109,17 +112,35 @@ |
| 109 | 112 | |
| 110 | 113 | |
| 111 | 114 | <div v-else class="noRecord"> |
| 112 | - 本次停车暂未产生费用,请及时离场 | |
| 115 | + 暂无记录 | |
| 113 | 116 | </div> |
| 114 | 117 | |
| 118 | + <!--<modal-alert ref="alert">--> | |
| 119 | + <!--<div class="trave-tip-content txt-l" slot="content">--> | |
| 120 | + <!--<div class="confirm-text">--> | |
| 121 | + <!--<p>请至少选择一笔记录</p>--> | |
| 122 | + <!--</div>--> | |
| 123 | + <!--</div>--> | |
| 124 | + <!--<span slot="button">知道了</span>--> | |
| 125 | + <!--</modal-alert>--> | |
| 126 | + | |
| 127 | + | |
| 128 | + <!--<modal-alert ref="zeroAlert">--> | |
| 129 | + <!--<div class="trave-tip-content txt-l" slot="content">--> | |
| 130 | + <!--<div class="confirm-text">--> | |
| 131 | + <!--<p>停车15分钟内无需缴费,申请成功。</p>--> | |
| 132 | + <!--</div>--> | |
| 133 | + <!--</div>--> | |
| 134 | + <!--<span slot="button">知道了</span>--> | |
| 135 | + <!--</modal-alert>--> | |
| 136 | + | |
| 115 | 137 | |
| 116 | 138 | </div> |
| 117 | 139 | </template> |
| 118 | 140 | |
| 119 | 141 | <script> |
| 120 | - | |
| 121 | -import { parkRecordList, historyQuery, parkingQuery, appApplyParkOut } from '@/api/parkRecord/parkRecord.js' | |
| 122 | - | |
| 142 | +import {parkRecordList, historyQuery, parkingQuery, appApplyParkOut} from '@/api/parkRecord/parkRecord.js' | |
| 143 | +import axios from 'axios' | |
| 123 | 144 | |
| 124 | 145 | export default { |
| 125 | 146 | name: 'parkRecord', |
| ... | ... | @@ -127,40 +148,40 @@ export default { |
| 127 | 148 | return { |
| 128 | 149 | tabList: [ // 切换数据 |
| 129 | 150 | { text: '在停缴费', id: 1 }, |
| 130 | - { text: '欠费待缴', id: 2 }, | |
| 151 | + { text: '离场待缴', id: 2 }, | |
| 131 | 152 | ], |
| 132 | 153 | carColor: 1,// 车牌颜色 |
| 133 | 154 | currentTabActive: 0, // 显示当前哪个 |
| 134 | 155 | carNumber: '', // 车牌号码 |
| 135 | - parkingData:[], // 在停数据 | |
| 156 | + parkingData: [], // 在停数据 | |
| 136 | 157 | parkList: [], // 停车记录数据 |
| 137 | - historyList:[ // 历史欠费数据 | |
| 138 | - {money:100,checked:false, id: 1}, | |
| 139 | - ] , | |
| 140 | - allChecked:false, // 全部选择事件 | |
| 141 | - allMoney:0, // 欠费所有的费用 | |
| 142 | - historyCheckedLen:0, //选中了几笔交易 | |
| 158 | + historyList: [ // 历史欠费数据 | |
| 159 | + { money: 100, checked: false, id: 1 }, | |
| 160 | + ], | |
| 161 | + allChecked: false, // 全部选择事件 | |
| 162 | + allMoney: 0, // 欠费所有的费用 | |
| 163 | + historyCheckedLen: 0, //选中了几笔交易 | |
| 143 | 164 | historyCheckedMon: 0, //选中了待缴纳的金额 |
| 144 | 165 | orderIds: [] // 选中数据的订单 数组 |
| 145 | 166 | } |
| 146 | 167 | }, |
| 147 | - mounted(){ | |
| 148 | - | |
| 168 | + mounted() { | |
| 149 | 169 | |
| 150 | 170 | }, |
| 151 | 171 | created() { |
| 172 | + // this.$Indicator.open({ | |
| 173 | + // text: '加载中...', | |
| 174 | + // spinnerType: 'fading-circle' | |
| 175 | + // }) | |
| 152 | 176 | this.carNumber = this.$route.query.carNumber // 获取车牌号 |
| 153 | 177 | this.carColor = this.$route.query.carNumberColor // 获取颜色 0:蓝牌;1:黄牌;2:白牌;3:黑牌;4:绿色 |
| 154 | - this.currentTabActive = this.$route.query.parkFlag ? this.$route.query.parkFlag : 0 // 0在停 1历史 | |
| 178 | + this.currentTabActive = this.$route.query.parkFlag ? this.$route.query.parkFlag : 0 | |
| 179 | + console.log(this.currentTabActive) | |
| 155 | 180 | console.log(this.carNumber) |
| 156 | 181 | this.parkRecordList(this.carNumber) |
| 157 | - | |
| 158 | - | |
| 159 | - // | |
| 160 | - | |
| 161 | 182 | }, |
| 162 | 183 | methods: { |
| 163 | - parkRecordList(){ // 获取停车记录数据 | |
| 184 | + parkRecordList() { // 获取停车记录数据 | |
| 164 | 185 | var salt = this.$utils.myCommonSalt(32); |
| 165 | 186 | var jsondata = { |
| 166 | 187 | app_id: this.$utils.myVarAppid, |
| ... | ... | @@ -173,8 +194,8 @@ export default { |
| 173 | 194 | terminalSource: 7, |
| 174 | 195 | carNumber: this.carNumber, |
| 175 | 196 | carNumberColor: this.carColor, |
| 176 | - // sign: md5sign, | |
| 177 | - orgId: this.$utils.myOrgId | |
| 197 | + orgId: this.$utils.myOrgId, | |
| 198 | + | |
| 178 | 199 | } |
| 179 | 200 | jsondata.sign = this.$utils.signObject(jsondata) |
| 180 | 201 | |
| ... | ... | @@ -187,14 +208,13 @@ export default { |
| 187 | 208 | this.parkingData = this.parkList.filter(item => { |
| 188 | 209 | return item.parkState == '10' |
| 189 | 210 | }) |
| 190 | - // if(this.parkingData.length>0){ | |
| 211 | + // if (this.parkingData.length > 0) { | |
| 191 | 212 | // this.currentTabActive = 0 |
| 192 | 213 | // } |
| 193 | 214 | console.log(this.parkingData) |
| 194 | 215 | this.historyList = this.parkList.filter(item => { |
| 195 | 216 | return item.parkState == '20' |
| 196 | 217 | }) |
| 197 | - | |
| 198 | 218 | this.historyList.forEach( i => { |
| 199 | 219 | this.allMoney += Number(i.unPayFee) |
| 200 | 220 | }) |
| ... | ... | @@ -208,6 +228,9 @@ export default { |
| 208 | 228 | this.checkedAll() |
| 209 | 229 | } |
| 210 | 230 | console.log(this.historyList) |
| 231 | + | |
| 232 | + this.$Indicator.close() | |
| 233 | + | |
| 211 | 234 | }) |
| 212 | 235 | }, |
| 213 | 236 | |
| ... | ... | @@ -217,37 +240,36 @@ export default { |
| 217 | 240 | chooseHandle(i, index) { // 历史欠费单个选择事件 |
| 218 | 241 | i.checked = !i.checked |
| 219 | 242 | let me = this |
| 220 | - if(i.checked ){ //单个选中 | |
| 221 | - me.historyCheckedLen ++ | |
| 222 | - if(me.historyCheckedLen == this.historyList.length){ | |
| 243 | + if (i.checked) { //单个选中 | |
| 244 | + me.historyCheckedLen++ | |
| 245 | + if (me.historyCheckedLen == this.historyList.length) { | |
| 223 | 246 | this.allChecked = true |
| 224 | 247 | |
| 225 | 248 | } |
| 226 | 249 | me.orderIds.push(i.orderId) |
| 227 | 250 | me.historyCheckedMon += Number(i.unPayFee) |
| 228 | - }else{ //单个不选中 | |
| 251 | + } else { //单个不选中 | |
| 229 | 252 | let _i = me.orderIds.indexOf(i.orderId) |
| 230 | - me.orderIds.splice(_i,1) | |
| 253 | + me.orderIds.splice(_i, 1) | |
| 231 | 254 | this.allChecked = false |
| 232 | - me.historyCheckedLen -- | |
| 255 | + me.historyCheckedLen-- | |
| 233 | 256 | me.historyCheckedMon -= Number(i.unPayFee) |
| 234 | 257 | } |
| 235 | 258 | |
| 236 | - | |
| 237 | 259 | }, |
| 238 | 260 | checkedAll() { // 全选选择事件 |
| 239 | 261 | this.allChecked = !this.allChecked |
| 240 | - if(this.allChecked){ //全选 | |
| 241 | - let me = this | |
| 242 | - this.historyList.forEach(function(item){ | |
| 262 | + if (this.allChecked) { //全选 | |
| 263 | + let me = this | |
| 264 | + this.historyList.forEach(function (item) { | |
| 243 | 265 | item.checked = true; |
| 244 | 266 | me.orderIds.push(item.orderId) |
| 245 | 267 | }); |
| 246 | 268 | this.historyCheckedMon = this.allMoney |
| 247 | 269 | this.historyCheckedLen = this.historyList.length |
| 248 | 270 | |
| 249 | - }else{ //反选 | |
| 250 | - this.historyList.forEach(function(item){ | |
| 271 | + } else { //反选 | |
| 272 | + this.historyList.forEach(function (item) { | |
| 251 | 273 | item.checked = false; |
| 252 | 274 | |
| 253 | 275 | }); |
| ... | ... | @@ -258,45 +280,6 @@ export default { |
| 258 | 280 | }, |
| 259 | 281 | toPayCurrent(i, num) { // 缴纳本次在停费用 |
| 260 | 282 | var salt = this.$utils.myCommonSalt(32); |
| 261 | - var jsondata = { | |
| 262 | - app_id: this.$utils.myVarAppid, | |
| 263 | - deviceInfo: this.$utils.myDeviceInfo, | |
| 264 | - salt: salt, | |
| 265 | - sign_type: "md5", | |
| 266 | - payType: this.$utils.clientBrowsePayType(), | |
| 267 | - appId: this.$utils.myVxAppId, | |
| 268 | - orderId: i.orderId, | |
| 269 | - terminalSource: '7', | |
| 270 | - parkCode: i.parkCode, | |
| 271 | - carNumber: this.carNumber, | |
| 272 | - } | |
| 273 | - jsondata.sign = this.$utils.signObject(jsondata) | |
| 274 | - parkingQuery(jsondata).then(result => { | |
| 275 | - console.log(result) | |
| 276 | - let res = result.data | |
| 277 | - let _dis = res.discountFee | |
| 278 | - let discountFee = _dis.slice(1, _dis.length - 1) | |
| 279 | - | |
| 280 | - this.$router.push( | |
| 281 | - { | |
| 282 | - path: 'orderPay', | |
| 283 | - query: { | |
| 284 | - carColor: this.carColor,// 车牌颜色 | |
| 285 | - arrearageTotalFee: res.orderTotalFee,// 应收 | |
| 286 | - arrearageDiscFee: discountFee * 100,// 优惠 | |
| 287 | - arrearageActFee: res.orderFee,// 实收 | |
| 288 | - carNumber: this.carNumber, // 车牌 | |
| 289 | - paySrcType: 101, //支付的类型 101 是本次 103是历史欠费 | |
| 290 | - ordeID: i.orderId, //支付的订单号 | |
| 291 | - appOrderTimeout: res.appOrderTimeout, // 超时描述 | |
| 292 | - } | |
| 293 | - } | |
| 294 | - ) | |
| 295 | - }) | |
| 296 | - | |
| 297 | - }, | |
| 298 | - toPayCurrent1(i, num) { // 缴纳本次在停费用 | |
| 299 | - var salt = this.$utils.myCommonSalt(32); | |
| 300 | 283 | var params = { |
| 301 | 284 | app_id: this.$utils.myVarAppid, |
| 302 | 285 | deviceInfo: this.$utils.myDeviceInfo, |
| ... | ... | @@ -310,7 +293,7 @@ export default { |
| 310 | 293 | appApplyParkOut(params).then(response => { |
| 311 | 294 | console.log(response) |
| 312 | 295 | |
| 313 | - if (response.code == '0') { | |
| 296 | + if (response.code == '5005') { | |
| 314 | 297 | var salt = this.$utils.myCommonSalt(32); |
| 315 | 298 | var jsondata = { |
| 316 | 299 | app_id: this.$utils.myVarAppid, |
| ... | ... | @@ -350,14 +333,14 @@ export default { |
| 350 | 333 | |
| 351 | 334 | } else { |
| 352 | 335 | //$('.dialog-out').show() |
| 353 | - this.$msgbox('提示', response.message) | |
| 336 | + this.$msgbox('提示', '您已成功申请离场!') | |
| 354 | 337 | } |
| 355 | 338 | |
| 356 | 339 | }) |
| 357 | 340 | |
| 358 | 341 | }, |
| 359 | 342 | toPayHisroryPage() { // 缴纳历史费用 |
| 360 | - if(this.historyCheckedLen==0){ | |
| 343 | + if (this.historyCheckedLen == 0) { | |
| 361 | 344 | this.$msgbox('提示', '请至少选择一条记录') |
| 362 | 345 | |
| 363 | 346 | return |
| ... | ... | @@ -375,37 +358,39 @@ export default { |
| 375 | 358 | appId: this.$utils.myVxAppId, |
| 376 | 359 | orderIds: list, |
| 377 | 360 | terminalSource: '7', |
| 378 | - payType: 4, | |
| 361 | + payType: this.$utils.clientBrowsePayType(), | |
| 379 | 362 | orgId: this.$utils.myOrgId, |
| 363 | + backDeveloperCode: this.$route.query.backDeveloperCode | |
| 380 | 364 | } |
| 381 | 365 | jsondata.sign = this.$utils.signObject(jsondata) |
| 382 | - | |
| 366 | + console.log(jsondata) | |
| 383 | 367 | historyQuery(jsondata).then(response => { |
| 384 | 368 | console.log(response) |
| 385 | 369 | let res = response.data.carArrearages[0] |
| 386 | 370 | console.log(res) |
| 371 | + | |
| 387 | 372 | this.orderIds = JSON.stringify(this.orderIds) |
| 373 | + console.log(this.orderIds) | |
| 388 | 374 | this.$router.push( |
| 389 | 375 | { |
| 390 | - path:'orderPay', | |
| 391 | - query:{ | |
| 392 | - carColor:this.carColor,// 车牌颜色 | |
| 376 | + path: 'orderPay', | |
| 377 | + query: { | |
| 378 | + carColor: this.carColor,// 车牌颜色 | |
| 393 | 379 | arrearageTotalFee: res.arrearageTotalFee,// 应收 |
| 394 | 380 | arrearageDiscFee: res.arrearageDiscFee,// 优惠 |
| 395 | 381 | arrearageActFee: res.arrearageActFee,// 实收 |
| 396 | 382 | carNumber: this.carNumber, // 车牌 |
| 397 | 383 | paySrcType: 103, //支付的类型 101 是本次 103是历史欠费 |
| 398 | 384 | ordeID: this.orderIds, //支付的订单号 |
| 399 | - appOrderTimeout: '' | |
| 385 | + appOrderTimeout: '', | |
| 386 | + backDeveloperCode: response.data.inChargerCode | |
| 400 | 387 | } |
| 401 | 388 | } |
| 402 | 389 | ) |
| 403 | 390 | }) |
| 404 | 391 | } |
| 405 | 392 | }, |
| 406 | - filters: { | |
| 407 | - | |
| 408 | - } | |
| 393 | + filters: {} | |
| 409 | 394 | } |
| 410 | 395 | </script> |
| 411 | 396 | |
| ... | ... | @@ -507,70 +492,72 @@ export default { |
| 507 | 492 | } |
| 508 | 493 | } |
| 509 | 494 | |
| 510 | - .history-con{ | |
| 495 | + .history-con { | |
| 511 | 496 | height: calc(100% - 38px); |
| 512 | 497 | overflow: hidden; |
| 513 | 498 | } |
| 514 | - .history-body{ | |
| 499 | + | |
| 500 | + .history-body { | |
| 515 | 501 | height: calc(100% - 81px); |
| 516 | 502 | overflow-y: scroll; |
| 517 | 503 | } |
| 518 | - .history-footer{ | |
| 504 | + | |
| 505 | + .history-footer { | |
| 519 | 506 | height: 81px; |
| 520 | 507 | background: #F8F8F8; |
| 521 | 508 | } |
| 522 | 509 | |
| 523 | - .cost-main-history{ | |
| 510 | + .cost-main-history { | |
| 524 | 511 | margin-bottom: 10px; |
| 525 | - background:#fff url("../../assets/images/parkPay/choose.png") no-repeat 10px center; | |
| 512 | + background: #fff url("../../assets/images/parkPay/choose.png") no-repeat 10px center; | |
| 526 | 513 | background-size: 20px 20px; |
| 527 | 514 | cursor: pointer; |
| 528 | 515 | } |
| 529 | 516 | |
| 530 | - | |
| 531 | - .isChecked{ | |
| 532 | - background:#fff url("../../assets/images/parkPay/choosed.png") no-repeat 10px center; | |
| 517 | + .isChecked { | |
| 518 | + background: #fff url("../../assets/images/parkPay/choosed.png") no-repeat 10px center; | |
| 533 | 519 | background-size: 20px 20px; |
| 534 | 520 | } |
| 535 | 521 | |
| 536 | - .money-all{ | |
| 522 | + .money-all { | |
| 537 | 523 | padding-left: 18px; |
| 538 | 524 | height: 25px; |
| 539 | 525 | line-height: 25px; |
| 540 | 526 | font-weight: 500; |
| 541 | 527 | background: #FEF8DB; |
| 542 | - span{ | |
| 528 | + span { | |
| 543 | 529 | color: #BC0202; |
| 544 | 530 | } |
| 545 | 531 | } |
| 546 | 532 | |
| 547 | - .statistical-data{ | |
| 533 | + .statistical-data { | |
| 548 | 534 | padding-left: 18px; |
| 549 | 535 | height: 32px; |
| 550 | 536 | line-height: 32px; |
| 551 | 537 | background: #E6FAFA; |
| 552 | - span{ | |
| 538 | + span { | |
| 553 | 539 | color: #D20000; |
| 554 | 540 | } |
| 555 | 541 | } |
| 556 | - .opration-wrap{ | |
| 542 | + | |
| 543 | + .opration-wrap { | |
| 557 | 544 | padding-left: 18px; |
| 558 | 545 | height: 49px; |
| 559 | 546 | line-height: 49px; |
| 560 | 547 | background: #f8f8f8; |
| 561 | 548 | display: flex; |
| 562 | 549 | justify-content: space-between; |
| 563 | - .check-btn{ | |
| 550 | + .check-btn { | |
| 564 | 551 | padding-left: 30px; |
| 565 | 552 | background: url("../../assets/images/parkPay/choose.png") no-repeat 0 center; |
| 566 | 553 | background-size: 20px 20px; |
| 567 | 554 | cursor: pointer; |
| 568 | 555 | } |
| 569 | - .isAllChecked{ | |
| 556 | + .isAllChecked { | |
| 570 | 557 | background: url("../../assets/images/parkPay/choosed.png") no-repeat 0 center; |
| 571 | 558 | background-size: 20px 20px; |
| 572 | 559 | } |
| 573 | - .settle-btn{ | |
| 560 | + .settle-btn { | |
| 574 | 561 | width: 106px; |
| 575 | 562 | height: 49px; |
| 576 | 563 | background: linear-gradient(145deg, #2783E9 0%, #227ADC 100%); | ... | ... |