| @@ -55,8 +55,12 @@ Page({ | |||
| }, | |||
| onLoad: function () { | |||
| onLoad: function (options) { | |||
| console.log(options); | |||
| let that = this; | |||
| that.setData({ | |||
| flags:options.flags | |||
| }) | |||
| }, | |||
| jumpTo: function () { | |||
| // 返回 | |||
| @@ -106,8 +110,6 @@ Page({ | |||
| } | |||
| }, | |||
| chooseNum: function (e) { | |||
| //console.log(this.data.choose) | |||
| // console.log(e.target.dataset.msg); | |||
| if (e.target.dataset.msg == 'I') { | |||
| return | |||
| } | |||
| @@ -234,10 +236,8 @@ Page({ | |||
| specShow: false | |||
| }) | |||
| } | |||
| break; | |||
| } | |||
| } else if (e.target.dataset.msg == 'DEL') { | |||
| switch (this.data.choose) { | |||
| case "carData.title": | |||
| @@ -333,7 +333,6 @@ Page({ | |||
| this.buttonStatus(); | |||
| }, | |||
| submit: function () { | |||
| if (this.data.title != "" && this.data.numFir != "" && this.data.numSco != "" && this.data.numThr != "" && this.data.numFor != "" && this.data.numFive != "" && this.data.numSix != "") { | |||
| var carNumber = '' | |||
| @@ -345,11 +344,21 @@ Page({ | |||
| prevPage.setData({ | |||
| addCar: carNumber | |||
| }) | |||
| wx.navigateBack({ | |||
| url: '../passCar/passCar?addcar=' + carNumber, | |||
| }) | |||
| console.log(carNumber); | |||
| console.log("carNumber"); | |||
| if (this.data.flags =='managepalte'){ | |||
| wx.navigateBack({ | |||
| url: '/pages/managelicenseplate/managelicenseplate?addcar=' + carNumber, | |||
| }) | |||
| } | |||
| else{ | |||
| wx.navigateBack({ | |||
| url: '/pages/passCar/passCar?addcar=' + carNumber, | |||
| }) | |||
| } | |||
| } | |||
| }, | |||
| buttonStatus: function () { | |||
| if (this.data.title != "" && this.data.numFir != "" && this.data.numSco != "" && this.data.numThr != "" && this.data.numFor != "" && this.data.numFive != "" && this.data.numSix != "") { | |||
| this.setData({ | |||
| @@ -60,6 +60,6 @@ | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <button class="{{buttonStatus?'addpark-button-submit':'addpark-button-gray'}}" bindtap='submit'> 完成绑定 </button> | |||
| <button class="{{buttonStatus?'addpark-button-submit':'addpark-button-gray'}}" bindtap='submit' hover-class='active'> 完成绑定 </button> | |||
| <label class="addpark-back" bindtap="jumpTo">返回</label> | |||
| @@ -58,7 +58,8 @@ | |||
| border: 2rpx solid #12c67a; | |||
| border-radius: 10rpx; | |||
| } | |||
| .newsource{ | |||
| .newsource { | |||
| font-size: 16rpx; | |||
| position: absolute; | |||
| top: 100rpx; | |||
| @@ -71,8 +72,8 @@ | |||
| border-radius: 14rpx; | |||
| text-align: center; | |||
| line-height: 30rpx; | |||
| } | |||
| .addpark-choose { | |||
| width: 672rpx; | |||
| margin: 34rpx auto; | |||
| @@ -96,17 +97,19 @@ | |||
| border: 1 px solid #f8f8f8; | |||
| border-radius: 8rpx; | |||
| margin: 5rpx; | |||
| } | |||
| .addpark-choose-font p{ | |||
| .addpark-choose-font p { | |||
| display: block; | |||
| } | |||
| .addpark-choose-font p image{ | |||
| width:5vmin; | |||
| height:3.5vmin; | |||
| .addpark-choose-font p image { | |||
| width: 5vmin; | |||
| height: 3.5vmin; | |||
| margin-top: -0.8vmin; | |||
| vertical-align: middle; | |||
| vertical-align: middle; | |||
| } | |||
| .addpark-choose-num { | |||
| width: 672rpx; | |||
| margin: 34rpx auto; | |||
| @@ -117,41 +120,43 @@ | |||
| } | |||
| .choose { | |||
| color:#58abfa; | |||
| color: #58abfa; | |||
| } | |||
| .choose-title{ | |||
| border:6rpx solid #ffd255; | |||
| .choose-title { | |||
| border: 6rpx solid #ffd255; | |||
| } | |||
| .addpark-button-submit{ | |||
| width: 710rpx; | |||
| height: 80rpx; | |||
| .addpark-button-submit { | |||
| width: 670rpx; | |||
| height: 94rpx; | |||
| margin: 0 auto; | |||
| background: #60b4fc; | |||
| color: #ffffff; | |||
| border-radius: 10rpx; | |||
| line-height: 80rpx; | |||
| color: #fff; | |||
| border-radius: 60rpx; | |||
| line-height: 94rpx; | |||
| } | |||
| .addpark-button-gray{ | |||
| .active{ | |||
| opacity: .6; | |||
| } | |||
| .addpark-button-gray { | |||
| width: 670rpx; | |||
| height: 94rpx; | |||
| margin: 0 auto; | |||
| background: #cbcccd; | |||
| color: #ffffff; | |||
| color: #fff; | |||
| border-radius: 60rpx; | |||
| line-height: 94rpx; | |||
| } | |||
| .addpark-back{ | |||
| .addpark-back { | |||
| font-size: 30rpx; | |||
| color: #5aadfb; | |||
| float: right; | |||
| margin: 25rpx 25rpx; | |||
| } | |||
| .plaza-parking-info { | |||
| box-sizing: border-box; | |||
| height: 235rpx; | |||
| @@ -493,4 +498,3 @@ | |||
| .car-outting .car-name { | |||
| color: #fff; | |||
| } | |||
| @@ -1,10 +1,120 @@ | |||
| var app = getApp(); | |||
| let config = require("../../config/config.js"); | |||
| let Http = require("../../utils/HttpBasics"); | |||
| let app = getApp(); | |||
| Page({ | |||
| /** | |||
| * 页面的初始数据 | |||
| */ | |||
| data: { | |||
| carList: [] | |||
| }, | |||
| initUsrCarList: function() { | |||
| var that = this; | |||
| // 绑定车获取 | |||
| Http.get({ | |||
| url: config.api.getUserCarList, | |||
| data: {} | |||
| }).then(res => { | |||
| that.setData({ | |||
| carList: res.data | |||
| }); | |||
| }) | |||
| }, | |||
| unbindCarBtn: function(e) { | |||
| console.log(e); | |||
| var that = this; | |||
| var carNum = e.currentTarget.dataset.car; | |||
| that.unbindCar(carNum); | |||
| }, | |||
| unbindCar: function(carNum) { | |||
| var that = this; | |||
| var postData = | |||
| app.globalData.parkVendor == 1 ? { | |||
| etcpToken: app.globalData.etcpToken, | |||
| carNumber: carNum | |||
| } : { | |||
| carNumber: carNum | |||
| }; | |||
| Http.post({ | |||
| url: config.api.unbindCar, | |||
| data: postData | |||
| }) | |||
| .then(res => { | |||
| console.log(res); | |||
| that.initUsrCarList(); | |||
| wx.showModal({ | |||
| title: "提示", | |||
| showCancel: false, | |||
| content: "解绑车牌成功!", | |||
| success: function() {} | |||
| }); | |||
| }) | |||
| .catch(error => { | |||
| wx.showModal({ | |||
| title: "提示", | |||
| showCancel: false, | |||
| content: "解绑车牌失败!", | |||
| }); | |||
| }); | |||
| }, | |||
| bindCar: function(carNum) { | |||
| var that = this; | |||
| // ETCP | |||
| var etcpData = { | |||
| etcpToken: app.globalData.etcpToken, | |||
| carNumber: carNum | |||
| }; | |||
| var tjdData = { | |||
| carNumber: carNum | |||
| }; | |||
| var postData = app.globalData.parkVendor == 1 ? etcpData : tjdData; | |||
| Http.post({ | |||
| url: config.api.bindCar, | |||
| data: postData | |||
| }) | |||
| .then(res => { | |||
| console.log(res); | |||
| that.setData({ | |||
| addCar: null | |||
| }); | |||
| that.initUsrCarList(); | |||
| wx.showModal({ | |||
| title: "提示", | |||
| showCancel: false, | |||
| content: "绑车牌成功!", | |||
| success: function() {} | |||
| }); | |||
| }) | |||
| .catch(error => { | |||
| console.log(error); | |||
| wx.showModal({ | |||
| title: "提示", | |||
| showCancel: false, | |||
| content: error.data.message, | |||
| success: function() {} | |||
| }); | |||
| }); | |||
| }, | |||
| jumpToAdd: function() { | |||
| wx.navigateTo({ | |||
| url: `/pages/addPark/addPark?flags=managepalte` | |||
| }); | |||
| }, | |||
| onShow: function(options) { | |||
| var that = this; | |||
| that.initUsrCarList(); | |||
| if (that.data.addCar) { | |||
| // 绑车牌 | |||
| if (app.globalData.carLogin) { | |||
| that.bindCar(that.data.addCar); | |||
| } else { | |||
| that.bindCar(that.data.addCar); | |||
| } | |||
| that.setData({ | |||
| addCar: null | |||
| }); | |||
| } | |||
| }, | |||
| }) | |||
| @@ -1,3 +1,3 @@ | |||
| { | |||
| "navigationBarTitleText": "管理车牌" | |||
| "navigationBarTitleText": "车辆管理" | |||
| } | |||
| @@ -0,0 +1,23 @@ | |||
| <view class='title'>30天内最多绑定4辆不同的车</view> | |||
| <!-- 车牌 --> | |||
| <!-- 有车牌的时候显示 --> | |||
| <view class='passUp'> | |||
| <view class='addicense_active'> | |||
| <block wx:for="{{carList}}" wx:key="unique"> | |||
| <view class="swiper-item" data-memberKeyword='{{item.carNumber}}'> | |||
| <view class='clearfix'> | |||
| <text class='txt01'>{{item.carNumber}}</text> | |||
| <view class='tche' hover-class='button_active' bindtap='gotopay'> | |||
| <button class='btn001' bindtap='unbindCarBtn' data-car='{{item.carNumber}}'>解绑</button> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </block> | |||
| </view> | |||
| </view> | |||
| <!-- 没有车牌的时候显示 --> | |||
| <view class='borderUp' hover-class='active' bindtap='jumpToAdd' bindtap='jumpToAdd' wx:if="{{carList.length>=0&&3>=carList.length}}"> | |||
| <view class="myCars"> | |||
| <image src='./../../assets/img/add.png' mode="widthFix"></image>我的爱车</view> | |||
| <text class='carNumber'>车辆入场后,才能绑车牌</text> | |||
| </view> | |||
| @@ -0,0 +1,565 @@ | |||
| @import "../../app.wxss"; | |||
| .title { | |||
| font-size: 26rpx; | |||
| color: #999; | |||
| letter-spacing: 0; | |||
| height: 88rpx; | |||
| line-height: 88rpx; | |||
| width: 690rpx; | |||
| border-bottom:1rpx solid #eee; | |||
| margin-bottom: 40rpx; | |||
| margin: 0 auto; | |||
| } | |||
| .title text { | |||
| font-size: 26rpx; | |||
| color: #02c0ff; | |||
| letter-spacing: 0; | |||
| line-height: 26rpx; | |||
| } | |||
| page { | |||
| background-color: #fff; | |||
| } | |||
| .headBox { | |||
| margin-top: 13rpx; | |||
| width: 750rpx; | |||
| height: 210rpx; | |||
| box-sizing: border-box; | |||
| padding: 30rpx 40rpx; | |||
| display: flex; | |||
| background-color: white; | |||
| } | |||
| .headBox image { | |||
| width: 150rpx; | |||
| height: 150rpx; | |||
| margin: 10rpx 30rpx 0 0; | |||
| border-radius: 16rpx; | |||
| } | |||
| .numberBox { | |||
| width: 400rpx; | |||
| height: 150rpx; | |||
| } | |||
| .titleName { | |||
| line-height: 60rpx; | |||
| height: 60rpx; | |||
| color: #666; | |||
| font-size: 32rpx; | |||
| width: 400rpx; | |||
| word-break: break-all; | |||
| text-align: justify; | |||
| margin-bottom: 10rpx; | |||
| } | |||
| ::-webkit-scrollbar { | |||
| width: 0; | |||
| height: 0; | |||
| color: transparent; | |||
| } | |||
| .carLocation, .locationNumber { | |||
| width: 400rpx; | |||
| height: 40rpx; | |||
| color: #666; | |||
| font-size: 24rpx; | |||
| line-height: 30rpx; | |||
| } | |||
| .price { | |||
| font-size: 28rpx; | |||
| } | |||
| .borderBox { | |||
| width: 750rpx; | |||
| margin-top: 26rpx; | |||
| } | |||
| .borderUp { | |||
| width: 680rpx; | |||
| margin: 0 auto; | |||
| font-size: 36rpx; | |||
| border: 2rpx dashed #979797; | |||
| border-radius: 16rpx; | |||
| padding-bottom: 40rpx; | |||
| height: 202rpx; | |||
| } | |||
| .active{ | |||
| background: #eee; | |||
| } | |||
| .addicense_active { | |||
| width: 690rpx; | |||
| /* box-shadow: 0 4rpx 20rpx 0 rgba(153, 153, 153, 0.35); */ | |||
| border-radius: 12rpx; | |||
| /* background: #02c0ff; *//* padding-bottom: 40rpx; */ | |||
| margin: 0 auto; | |||
| } | |||
| .myCar { | |||
| display: block; | |||
| text-align: center; | |||
| font-size: 34rpx; | |||
| color: #02c0ff; | |||
| letter-spacing: 0; | |||
| } | |||
| .carNumber { | |||
| display: block; | |||
| height: 50rpx; | |||
| line-height: 50rpx; | |||
| text-align: center; | |||
| font-size: 26rpx; | |||
| color: #999; | |||
| letter-spacing: 0; | |||
| margin-top: 10rpx; | |||
| } | |||
| .addBox { | |||
| width: 750rpx; | |||
| position: relative; | |||
| background-color: white; | |||
| } | |||
| .add { | |||
| position: absolute; | |||
| left: 50%; | |||
| top: 50%; | |||
| transform: translate(-50%, -50%); | |||
| font-size: 34rpx; | |||
| color: #666; | |||
| border: 2px dashed #eee; | |||
| padding: 30rpx 50rpx; | |||
| border-radius: 16rpx; | |||
| } | |||
| .add text { | |||
| font-size: 40rpx; | |||
| } | |||
| .bottonBox { | |||
| width: 750rpx; | |||
| margin-top: 30rpx; | |||
| } | |||
| .textStyle { | |||
| background-color: white; | |||
| height: 88rpx; | |||
| line-height: 88rpx; | |||
| padding-left: 92rpx; | |||
| border-bottom: 1px #f8f8f8 solid; | |||
| position: relative; | |||
| font-size: 30rpx; | |||
| color: #333; | |||
| letter-spacing: 1.16rpx; | |||
| } | |||
| .textStyle image { | |||
| width: 50rpx; | |||
| height: 50rpx; | |||
| top: 20rpx; | |||
| left: 27rpx; | |||
| position: absolute; | |||
| } | |||
| .swiper { | |||
| position: relative; | |||
| } | |||
| .swiper-item { | |||
| font-size: 75rpx; | |||
| margin: 0 auto; | |||
| width: 690rpx; | |||
| font-weight: 400; | |||
| text-align: center; | |||
| color: rgba(255, 255, 255, 1); | |||
| margin-bottom: 40rpx; | |||
| } | |||
| .swiper-item > view { | |||
| background: #bbe6ff; | |||
| border-radius: 12rpx; | |||
| padding: 6rpx; | |||
| } | |||
| .tche { | |||
| width: 157rpx; | |||
| height: 180rpx; | |||
| line-height: 180rpx; | |||
| margin: 0 auto; | |||
| float: right; | |||
| border-radius: 12rpx; | |||
| background: #56bdf8; | |||
| border: 3px solid #fff; | |||
| position: relative; | |||
| } | |||
| .txt01 { | |||
| width: 497rpx; | |||
| height: 180rpx; | |||
| line-height: 180rpx; | |||
| float: left; | |||
| background: #56bdf8; | |||
| border-radius: 12rpx; | |||
| border: 3px solid #fff; | |||
| text-align: center; | |||
| } | |||
| .passNumberBox { | |||
| position: relative; | |||
| background-color: white; | |||
| /* border-bottom: 1rpx #f8f8f8 solid; */ | |||
| margin-top: 30rpx; | |||
| } | |||
| .passNumber { | |||
| width: 400rpx; | |||
| height: 100rpx; | |||
| font-size: 32rpx; | |||
| font-weight: 600; | |||
| line-height: 100rpx; | |||
| left: 55rpx; | |||
| position: absolute; | |||
| } | |||
| .nopay { | |||
| height: 80rpx; | |||
| line-height: 80rpx; | |||
| font-weight: 400; | |||
| } | |||
| .number { | |||
| font-size: 48rpx; | |||
| color: #1f2d3d; | |||
| letter-spacing: 0; | |||
| line-height: 52rpx; | |||
| font-weight: 400; | |||
| } | |||
| .manage_plate { | |||
| width: 65%; | |||
| border-radius: 80rpx; | |||
| margin: 40rpx auto 0; | |||
| background: #02c0ff; | |||
| color: #fff; | |||
| text-align: center; | |||
| font-size: 30rpx; | |||
| } | |||
| .button_active { | |||
| opacity: 0.6; | |||
| } | |||
| .btn001 { | |||
| margin: 0 auto; | |||
| width: 120rpx; | |||
| height: 180rpx; | |||
| line-height: 180rpx; | |||
| font-size: 32rpx; | |||
| font-weight: 400; | |||
| color: rgba(255, 255, 255, 1); | |||
| background: none; | |||
| } | |||
| .parkPrice { | |||
| font-size: 30rpx; | |||
| font-weight: 500; | |||
| } | |||
| .deleteButton { | |||
| font-size: 28rpx; | |||
| line-height: 50rpx; | |||
| height: 50rpx; | |||
| top: 50%; | |||
| right: 30rpx; | |||
| position: absolute; | |||
| transform: translate(0, -50%); | |||
| color: white; | |||
| background-color: #00c0ff !important; | |||
| } | |||
| .deleteButton button { | |||
| background-color: #00c0ff !important; | |||
| } | |||
| .detail { | |||
| width: 32rpx; | |||
| height: 32rpx; | |||
| right: 34rpx; | |||
| top: 32rpx; | |||
| position: absolute; | |||
| } | |||
| .detail image { | |||
| width: 44rpx; | |||
| height: 44rpx; | |||
| position: absolute; | |||
| left: 0; | |||
| top: 0; | |||
| } | |||
| .voucher { | |||
| width: 90%; | |||
| padding: 0 5%; | |||
| background-color: #fff; | |||
| /* background-color: #cbcbcb; */ | |||
| height: 80rpx; | |||
| position: relative; | |||
| margin: 0 0 12rpx 0; | |||
| border-bottom: 2rpx #fff solid; | |||
| display: flex; | |||
| justify-content: space-between;; | |||
| } | |||
| .textV1, .textV2 { | |||
| height: 58rpx; | |||
| width: 100rpx; | |||
| padding-top: 26rpx; | |||
| text-align: center; | |||
| line-height: 80rxp; | |||
| font-size: 24rpx; | |||
| color: #333; | |||
| } | |||
| .textV2 { | |||
| margin-top: 0rpx; | |||
| padding: 0; | |||
| /* background-color: rgb(0, 192, 255); */ | |||
| border-radius: 10rpx; | |||
| width: 300rpx; | |||
| height: 80rpx; | |||
| line-height: 80rpx; | |||
| font-size: 20rpx; | |||
| border: 4rpx #fff solid; | |||
| margin-bottom: 20rpx; | |||
| } | |||
| .textV3 { | |||
| width: 225rpx; | |||
| } | |||
| /* .textV1{ | |||
| position: absolute; | |||
| left: 10rpx; | |||
| top: 22rpx; | |||
| } */ | |||
| /* .textV2{ | |||
| position: absolute; | |||
| top: 22rpx; | |||
| right: 80rpx; | |||
| } */ | |||
| .choice { | |||
| width: 80rpx; | |||
| height: 80rpx; | |||
| position: relative; | |||
| } | |||
| .choice image { | |||
| position: absolute; | |||
| left: 50%; | |||
| top: 50%; | |||
| transform: translate(-50%, -50%); | |||
| width: 30rpx; | |||
| height: 30rpx; | |||
| } | |||
| .buy-view { | |||
| background: #fff; | |||
| position: relative; | |||
| padding-top: 10rpx; | |||
| height: 98rpx; | |||
| bottom: 0rpx; | |||
| margin-top: 50rpx; | |||
| /* left: 0; | |||
| right: 0; */ | |||
| } | |||
| .buy { | |||
| background: #00c0ff; | |||
| height: 88rpx; | |||
| width: 98%; | |||
| margin: 0 auto; | |||
| color: #fff; | |||
| font-size: 36rpx; | |||
| line-height: 88rpx; | |||
| border-radius: 6rpx; | |||
| position: relative; | |||
| z-index: 100; | |||
| } | |||
| .borderBox { | |||
| width: 690rpx; | |||
| margin: 20rpx auto 0; | |||
| } | |||
| .carmanage { | |||
| position: relative; | |||
| width: 690rpx; | |||
| margin: 0 auto; | |||
| height: 88rpx; | |||
| line-height: 88rpx; | |||
| border-bottom: 1rpx solid #eee; | |||
| } | |||
| .carmanage .fr { | |||
| font-size: 28rpx; | |||
| color: #888; | |||
| letter-spacing: 1.16rpx; | |||
| text-align: right; | |||
| margin-right: 40rpx; | |||
| } | |||
| .fl { | |||
| float: left; | |||
| } | |||
| .fr { | |||
| float: right; | |||
| } | |||
| .carmanage .fl { | |||
| width: 400rpx; | |||
| } | |||
| .carmanage .fr image { | |||
| position: absolute; | |||
| top: 0; | |||
| right: 0; | |||
| bottom: 0; | |||
| margin: auto; | |||
| width: 44rpx; | |||
| height: 44rpx; | |||
| } | |||
| .carmanage image { | |||
| width: 40rpx; | |||
| vertical-align: middle; | |||
| } | |||
| .mycar { | |||
| display: inline-block; | |||
| margin-left: 20rpx; | |||
| font-size: 30rpx; | |||
| color: #333; | |||
| letter-spacing: 1.16rpx; | |||
| } | |||
| .num { | |||
| display: inline-block; | |||
| font-size: 26rpx; | |||
| color: #999; | |||
| letter-spacing: 0; | |||
| margin-left: 20rpx; | |||
| } | |||
| .orderBox { | |||
| width: 100%; | |||
| height: 100rpx; | |||
| border-top: 1rpx #f8f8f8 solid; | |||
| position: relative; | |||
| display: flex; | |||
| } | |||
| .priceBox { | |||
| width: 420rpx; | |||
| } | |||
| .priceBox text { | |||
| margin-top: 35rpx; | |||
| color: #333; | |||
| font-size: 24rpx; | |||
| margin-left: 50rpx; | |||
| display: block; | |||
| } | |||
| .payBox { | |||
| width: 250rpxpx; | |||
| } | |||
| .payBox button { | |||
| width: 230rpx; | |||
| border: 0; | |||
| font-size: 32rpx; | |||
| margin-top: 13rpx; | |||
| margin-right: 20rpx; | |||
| background-color: lightgreen; | |||
| color: white; | |||
| } | |||
| input { | |||
| outline: none; | |||
| border: none; | |||
| list-style: none; | |||
| } | |||
| button::after { | |||
| border: none; | |||
| } | |||
| .right { | |||
| width: 328rpx; | |||
| } | |||
| .textRight { | |||
| margin-left: 0; | |||
| margin-right: 25rpx; | |||
| text-align: right; | |||
| font-size: 30rpx !important; | |||
| color: red !important; | |||
| } | |||
| .buyBox { | |||
| width: 750rpx; | |||
| height: 88rpx; | |||
| position: absolute; | |||
| left: 0; | |||
| top: 0; | |||
| z-index: 100000000; | |||
| } | |||
| .myCars image { | |||
| width: 44rpx; | |||
| height: 44rpx; | |||
| vertical-align: middle; | |||
| margin-right: 14rpx; | |||
| } | |||
| .myCars { | |||
| font-size: 34rpx; | |||
| color: #02c0ff; | |||
| letter-spacing: 0; | |||
| text-align: center; | |||
| padding-top: 58rpx; | |||
| } | |||
| .dots { | |||
| position: absolute; | |||
| left: 0; | |||
| right: 0; | |||
| bottom: 19rpx; | |||
| display: flex; | |||
| justify-content: center; | |||
| height: 19rpx; | |||
| background: #fff; | |||
| } | |||
| .dots .dot { | |||
| margin: 0 8rpx; | |||
| width: 32rpx; | |||
| height: 14rpx; | |||
| background: #fff; | |||
| border-radius: 8rpx; | |||
| transition: all 0.6s; | |||
| } | |||
| .dots .dot.active { | |||
| width: 49rpx; | |||
| height: 4rpx; | |||
| background: rgba(86, 189, 248, 1); | |||
| border-radius: 6rpx; | |||
| } | |||
| @@ -3,41 +3,42 @@ | |||
| <i-tabs class='tabs' current="{{ current_scroll }}" scroll bindchange="handleChangeScroll"> | |||
| <i-tab class='i-tab' wx:for="{{tabs}}" wx:key="unique" key="{{item.key}}" title="{{item.name}}"></i-tab> | |||
| </i-tabs> | |||
| <view> | |||
| <view style='padding-top:120rpx;'> | |||
| <view class="nocoupon" wx:if="{{list.length==0}}"> | |||
| <!-- <image src="./../../../assets/img/cou.png" mode="widthFix" /> --> | |||
| <text>暂无优惠券可用</text> | |||
| <navigator url="/pages/index/index" open-type="switchTab" hover-class="other-navigator-hover"> | |||
| <button>去领券</button> | |||
| <image src="./../../../assets/img/coupon.png" mode="widthFix" /> | |||
| <text class="txt001">请您敬请期待</text> | |||
| <text class='txt002'>我们正在筹备一大波优惠活动</text> | |||
| <navigator class='nav' url="/pages/index/index" open-type="switchTab" hover-class="other-navigator-hover"> | |||
| <button hover-class='active'>前往首页看看</button> | |||
| </navigator> | |||
| </view> | |||
| <view class='section' wx:for='{{list}}' wx:key='{{index}}' bindtap="gotouse" data-quancode="{{item.id}}" > | |||
| <view class='detail_msg'> | |||
| <view class='logo'> | |||
| <image src='{{item.coverImg}}'></image> | |||
| </view> | |||
| <view class='info'> | |||
| <view> | |||
| <text>{{item.title}}</text> | |||
| <view class='section' wx:for='{{list}}' wx:key='{{index}}' bindtap="gotouse" data-quancode="{{item.id}}" data-couponorderstatus="{{item.couponOrderStatus}}"> | |||
| <view class='mms'> | |||
| <view class='detail_msg'> | |||
| <view class='logo'> | |||
| <image mode="aspectFill" src='{{item.coverImg}}'></image> | |||
| </view> | |||
| <view> | |||
| <text class="txt1">有效期至:</text> | |||
| <text class="txt2">{{item.expiredTime}}</text> | |||
| <view class='info'> | |||
| <view class='title'> | |||
| <text>{{item.title}}</text> | |||
| </view> | |||
| <view class='subtitle'> | |||
| <text>{{item.subTitle}}</text> | |||
| </view> | |||
| <view hover-class='active' wx:if="{{item.couponOrderStatus==0}}" class="btns">去使用</view> | |||
| <view hover-class='active' wx:elif="{{item.couponOrderStatus==1||item.couponOrderStatus==2||item.couponOrderStatus==3}}" class="btns">查看</view> | |||
| </view> | |||
| <view wx:if="{{item.couponOrderStatus==0}}" class="btns" bindtap="gotouse" data-quancode="{{item.id}}">查看详情</view> | |||
| <view wx:elif="{{item.couponOrderStatus==1||item.couponOrderStatus==2||item.couponOrderStatus==3}}" class="btns">查看</view> | |||
| </view> | |||
| <image class="liness" src='./../../../assets/img/liness.png' mode="widthFix"></image> | |||
| <view class='expiretime'> | |||
| <text class="txt1">有效期至:</text> | |||
| <text class="txt2">{{item.expiredTime}}</text> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <!-- <view class='imageBox'> | |||
| <image src="../../../assets/img/parkCoupon.png"></image> | |||
| <text class='text2'>2小时免费停车券</text> | |||
| <text class='text5'>京A88888</text> | |||
| <text class='text3'>2018-08-30</text> | |||
| <text class='text6'>至</text> | |||
| <text class='text4'>2018-09-30</text> | |||
| <text class='text1'>朝阳大悦城</text> | |||
| </view> --> | |||
| <view class="loading" wx:if="{{loading}}"> | |||
| <image src="./../../../assets/img/loading.gif" mode="widthFix"></image>{{content}} | |||
| </view> | |||
| </view> | |||
| </view> | |||
| @@ -1,12 +1,18 @@ | |||
| .market { | |||
| width: 100%; | |||
| height: 100%; | |||
| /* background: #f5f5f5; */ | |||
| } | |||
| .tabs { | |||
| width: 100% !important; | |||
| height: 88rpx; | |||
| text-align: center; | |||
| position: fixed; | |||
| top: 0; | |||
| left: 0; | |||
| right: 0; | |||
| z-index: 100000; | |||
| } | |||
| .i-tab { | |||
| @@ -15,37 +21,61 @@ | |||
| } | |||
| .section { | |||
| margin-top: 2%; | |||
| position: relative; | |||
| } | |||
| .section:nth-of-type(1) { | |||
| margin-top: 30rpx; | |||
| .mms { | |||
| width: 690rpx; | |||
| height: 170rpx !important; | |||
| background: #fff; | |||
| padding: 30rpx 0 0; | |||
| margin: 0 auto 40rpx; | |||
| border-radius: 16rpx; | |||
| border-top: 8rpx solid #02b7ff; | |||
| box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.10); | |||
| } | |||
| .detail_msg { | |||
| width: 92%; | |||
| height: 202rpx !important; | |||
| background: #fff; | |||
| display: flex; | |||
| padding: 0 4%; | |||
| margin-top: 2%; | |||
| border-bottom: 1px solid #ededed; | |||
| padding-bottom: 26rpx; | |||
| } | |||
| .expiretime { | |||
| display: block; | |||
| width: 100%; | |||
| text-align: left; | |||
| text-indent: 1em; | |||
| height: 40rpx; | |||
| line-height: 36rpx; | |||
| font-size: 22rpx; | |||
| color: #333; | |||
| letter-spacing: 0; | |||
| } | |||
| .liness { | |||
| display: block; | |||
| width: 100%; | |||
| } | |||
| .logo { | |||
| width: 348rpx; | |||
| height: 184rpx; | |||
| width: 60rpx; | |||
| height: 60rpx; | |||
| border: 1px solid #f8f8f8; | |||
| border-radius: 50rpx; | |||
| display: block; | |||
| margin-left: 20rpx; | |||
| } | |||
| .logo image { | |||
| width: 100%; | |||
| height: 100%; | |||
| border-radius: 15rpx; | |||
| width: 60rpx; | |||
| height: 60rpx; | |||
| border-radius: 50%; | |||
| } | |||
| .info view:nth-child(1) { | |||
| display: flex; | |||
| justify-content: space-between; | |||
| padding: 0 4%; | |||
| padding: 0 2%; | |||
| } | |||
| .info { | |||
| @@ -53,16 +83,29 @@ | |||
| } | |||
| .info view:nth-child(1) text { | |||
| font-size: 30rpx; | |||
| margin-top: 10rpx; | |||
| color: #666; | |||
| font-size: 32rpx; | |||
| line-height: 32rpx; | |||
| height: 32rpx; | |||
| color: #333; | |||
| letter-spacing: 0; | |||
| width: 400rpx; | |||
| display: inline-block; | |||
| white-space: nowrap; | |||
| text-overflow: ellipsis; | |||
| overflow: hidden; | |||
| } | |||
| .info view:nth-child(2) { | |||
| color: #ff3434; | |||
| font-size: 24rpx; | |||
| padding-left: 4%; | |||
| margin-top: 1%; | |||
| padding-left: 2%; | |||
| font-size: 22rpx; | |||
| color: #333; | |||
| letter-spacing: 0; | |||
| margin-top: 6rpx; | |||
| display: inline-block; | |||
| white-space: nowrap; | |||
| text-overflow: ellipsis; | |||
| overflow: hidden; | |||
| width: 400rpx; | |||
| } | |||
| .info view:nth-child(3) { | |||
| @@ -70,96 +113,93 @@ | |||
| } | |||
| .btns { | |||
| width: 200rpx; | |||
| height: 60rpx; | |||
| line-height: 60rpx; | |||
| position: absolute; | |||
| right: 57rpx; | |||
| top: 38rpx; | |||
| width: 120rpx; | |||
| height: 48rpx; | |||
| line-height: 48rpx; | |||
| text-align: center; | |||
| background: #00c0ff; | |||
| color: #fff; | |||
| float: right; | |||
| border-radius: 15rpx; | |||
| border: 2rpx solid #02c0ff; | |||
| border-radius: 60rpx; | |||
| color: #02c0ff; | |||
| font-size: 28rpx; | |||
| margin-top: 20rpx; | |||
| } | |||
| .active { | |||
| color: #fff; | |||
| background: #02c0ff; | |||
| } | |||
| .txt1 { | |||
| font-size: 22rpx; | |||
| color: #999; | |||
| color: #333; | |||
| letter-spacing: 0; | |||
| } | |||
| .txt2 { | |||
| font-size: 22rpx; | |||
| color: #f96563; | |||
| .nocoupon image { | |||
| width: 300rpx; | |||
| display: block; | |||
| margin: 3% auto 0; | |||
| } | |||
| .nocoupon image{ | |||
| width: 203rpx; | |||
| .txt001 { | |||
| display: block; | |||
| margin: 200rpx auto 0; | |||
| line-height: 48rpx; | |||
| font-size: 34rpx; | |||
| color: #333; | |||
| letter-spacing: 0; | |||
| text-align: center; | |||
| } | |||
| .nocoupon text{ | |||
| .txt002 { | |||
| display: block; | |||
| margin-top: 1%; | |||
| font-size: 28rpx; | |||
| color: #999; | |||
| letter-spacing: 0; | |||
| line-height: 40rpx; | |||
| text-align: center; | |||
| font-size:30rpx; | |||
| color: #00C0FF; | |||
| } | |||
| .nocoupon button{ | |||
| background: #00C0FF; | |||
| .nocoupon button { | |||
| background: #00c0ff; | |||
| color: #fff; | |||
| font-style: 30rpx; | |||
| width: 70%; | |||
| margin: 30rpx auto 0; | |||
| } | |||
| .imageBox,imageBox image{ | |||
| width: 100%; | |||
| height: 250rpx; | |||
| margin-top: 30rpx; | |||
| position: relative; | |||
| } | |||
| image{ | |||
| width: 100%; | |||
| height: 100%; | |||
| } | |||
| .text1{ | |||
| color: white; | |||
| font-size: 28rpx; | |||
| position: absolute; | |||
| top: 32rpx; | |||
| left: 50rpx; | |||
| border-radius: 60rpx; | |||
| } | |||
| .text2{ | |||
| color: white; | |||
| font-size: 40rpx; | |||
| position: absolute; | |||
| top: 90rpx; | |||
| left: 50rpx; | |||
| .loading { | |||
| text-align: center; | |||
| height: 80rpx; | |||
| line-height: 80rpx; | |||
| font-size: 26rpx; | |||
| color: #999; | |||
| } | |||
| .text3{ | |||
| color: white; | |||
| font-size: 32rpx; | |||
| position: absolute; | |||
| top: 60rpx; | |||
| right: 50rpx; | |||
| .loading image { | |||
| width: 60rpx; | |||
| height: 60rpx; | |||
| vertical-align: middle; | |||
| margin-right: 10rpx; | |||
| } | |||
| .text4{ | |||
| color: white; | |||
| font-size: 32rpx; | |||
| position: absolute; | |||
| top: 150rpx; | |||
| right: 50rpx; | |||
| .active { | |||
| opacity: 0.6; | |||
| } | |||
| .text5{ | |||
| color: white; | |||
| font-size: 28rpx; | |||
| .nav { | |||
| position: absolute; | |||
| bottom: 32rpx; | |||
| left: 50rpx; | |||
| bottom: 3.3%; | |||
| left: 0; | |||
| right: 0; | |||
| margin: auto; | |||
| width: 670rpx; | |||
| border-radius: 60rpx; | |||
| background: #02c0ff; | |||
| font-size: 32px; | |||
| color: #fff; | |||
| text-align: center; | |||
| line-height: 32px; | |||
| } | |||
| .text6{ | |||
| color: white; | |||
| font-size: 24rpx; | |||
| position: absolute; | |||
| top: 110rpx; | |||
| right: 120rpx; | |||
| font-weight: 600; | |||
| } | |||
| @@ -11,19 +11,19 @@ Page({ | |||
| tcq: 2, | |||
| flag: "", | |||
| extraData: {}, | |||
| desc:'', | |||
| title:'', | |||
| desc: '', | |||
| title: '', | |||
| indicatorDots: true, | |||
| autoplay: false, | |||
| interval: 5000, | |||
| duration: 1000, | |||
| current: 0, | |||
| list:[] | |||
| list: [] | |||
| }, | |||
| /** | |||
| * 轮播图 | |||
| */ | |||
| onSlideChangeEnd: function (e) { | |||
| * 轮播图 | |||
| */ | |||
| onSlideChangeEnd: function(e) { | |||
| var that = this; | |||
| console.log(e); | |||
| console.log(e.detail.current); | |||
| @@ -34,7 +34,7 @@ Page({ | |||
| }) | |||
| console.log(that.data.listCardNum); | |||
| }, | |||
| gotomange:function(){ | |||
| gotomange: function() { | |||
| wx.navigateTo({ | |||
| url: '/pages/managelicenseplate/managelicenseplate', | |||
| }) | |||
| @@ -54,11 +54,11 @@ Page({ | |||
| var that = this; | |||
| that.getList(); | |||
| Http.get({ | |||
| url: config.api.getWeapNote, | |||
| data: { | |||
| appId: config.weapp.AppId, | |||
| } | |||
| }) | |||
| url: config.api.getWeapNote, | |||
| data: { | |||
| appId: config.weapp.AppId, | |||
| } | |||
| }) | |||
| .then(res => { | |||
| console.log(res.data.weapNote); | |||
| let weapNote = JSON.parse(res.data.weapNote); | |||
| @@ -72,7 +72,6 @@ Page({ | |||
| onShow: function(options) { | |||
| var that = this; | |||
| console.log("车牌号"); | |||
| if (that.data.addCar) { | |||
| // 绑车牌 | |||
| if (app.globalData.carLogin) { | |||
| @@ -111,9 +110,10 @@ Page({ | |||
| //券绑定车牌 | |||
| bindCoupon: function(e) { | |||
| var that = this; | |||
| wx.showLoading({ | |||
| title: '加载中...', | |||
| }); | |||
| if (that.data.couponList.length > 0) { | |||
| console.log("00000000000000"); | |||
| console.log(e.currentTarget.dataset.checkbind); | |||
| /** | |||
| * 如果1 已经绑定 | |||
| * 0 没有绑定 | |||
| @@ -125,9 +125,9 @@ Page({ | |||
| } | |||
| var etcpData = { | |||
| etcpToken: app.globalData.etcpToken, | |||
| carNumber: that.data.payList[0].carNumber | |||
| ? that.data.payList[0].carNumber | |||
| : "", | |||
| carNumber: that.data.payList[0].carNumber ? | |||
| that.data.payList[0].carNumber : | |||
| "", | |||
| couponOrderId: that.data.couponList[0].id | |||
| }; | |||
| console.log(etcpData); | |||
| @@ -138,20 +138,16 @@ Page({ | |||
| var postCouponData = app.globalData.parkVendor == 1 ? etcpData : tjdData; | |||
| Http.post({ | |||
| url: config.api.getCarCoupon, | |||
| data: postCouponData | |||
| }) | |||
| url: config.api.getCarCoupon, | |||
| data: postCouponData | |||
| }) | |||
| .then(res => { | |||
| that.setData({ | |||
| flag: "1" | |||
| }); | |||
| // that.initUsrCarList() | |||
| wx.showModal({ | |||
| title: "提示", | |||
| showCancel: false, | |||
| content: "车牌绑定优免券成功!", | |||
| success: function(res) {} | |||
| }); | |||
| that.initUsrCarList(); | |||
| console.log("loading") | |||
| wx.hideLoading(); | |||
| }) | |||
| .catch(error => { | |||
| console.log(error); | |||
| @@ -162,11 +158,10 @@ Page({ | |||
| } | |||
| }); | |||
| } else { | |||
| console.log("1111111111111111111"); | |||
| wx.hideLoading(); | |||
| that.setData({ | |||
| flags: "alreadybind" | |||
| }); | |||
| console.log(that.data.flags); | |||
| } | |||
| }, | |||
| @@ -203,9 +198,9 @@ Page({ | |||
| }; | |||
| var postData = app.globalData.parkVendor == 1 ? etcpData : tjdData; | |||
| Http.post({ | |||
| url: config.api.bindCar, | |||
| data: postData | |||
| }) | |||
| url: config.api.bindCar, | |||
| data: postData | |||
| }) | |||
| .then(res => { | |||
| console.log(res); | |||
| that.setData({ | |||
| @@ -229,79 +224,82 @@ Page({ | |||
| }); | |||
| }); | |||
| }, | |||
| unbindCar: function(carNum) { | |||
| var that = this; | |||
| var postData = | |||
| app.globalData.parkVendor == 1 | |||
| ? { | |||
| etcpToken: app.globalData.etcpToken, | |||
| carNumber: carNum | |||
| } | |||
| : { | |||
| carNumber: carNum | |||
| }; | |||
| Http.post({ | |||
| url: config.api.unbindCar, | |||
| data: postData | |||
| }) | |||
| .then(res => { | |||
| console.log(res); | |||
| that.initUsrCarList(); | |||
| wx.showModal({ | |||
| title: "提示", | |||
| showCancel: false, | |||
| content: "解绑车牌成功!", | |||
| success: function() {} | |||
| }); | |||
| }) | |||
| .catch(error => { | |||
| wx.showModal({ | |||
| title: "提示", | |||
| showCancel: false, | |||
| content: "解绑车牌失败!", | |||
| success: function() {} | |||
| }); | |||
| }); | |||
| }, | |||
| unbindCarBtn: function(e) { | |||
| console.log(e); | |||
| var that = this; | |||
| var carNum = e.currentTarget.dataset.car; | |||
| that.unbindCar(carNum); | |||
| }, | |||
| // unbindCar: function(carNum) { | |||
| // var that = this; | |||
| // var postData = | |||
| // app.globalData.parkVendor == 1 | |||
| // ? { | |||
| // etcpToken: app.globalData.etcpToken, | |||
| // carNumber: carNum | |||
| // } | |||
| // : { | |||
| // carNumber: carNum | |||
| // }; | |||
| // Http.post({ | |||
| // url: config.api.unbindCar, | |||
| // data: postData | |||
| // }) | |||
| // .then(res => { | |||
| // console.log(res); | |||
| // that.initUsrCarList(); | |||
| // wx.showModal({ | |||
| // title: "提示", | |||
| // showCancel: false, | |||
| // content: "解绑车牌成功!", | |||
| // success: function() {} | |||
| // }); | |||
| // }) | |||
| // .catch(error => { | |||
| // wx.showModal({ | |||
| // title: "提示", | |||
| // showCancel: false, | |||
| // content: "解绑车牌失败!", | |||
| // success: function() {} | |||
| // }); | |||
| // }); | |||
| // }, | |||
| // unbindCarBtn: function(e) { | |||
| // console.log(e); | |||
| // var that = this; | |||
| // var carNum = e.currentTarget.dataset.car; | |||
| // that.unbindCar(carNum); | |||
| // }, | |||
| getStopFeeItem: function(carItem, i) { | |||
| var that = this; | |||
| var postData = | |||
| app.globalData.parkVendor == 1 | |||
| ? { | |||
| etcpToken: app.globalData.etcpToken, | |||
| carNumber: carItem.carNumber | |||
| } | |||
| : { | |||
| carNumber: carItem.carNumber, | |||
| outCarId: carItem.outCarId | |||
| }; | |||
| app.globalData.parkVendor == 1 ? | |||
| { | |||
| etcpToken: app.globalData.etcpToken, | |||
| carNumber: carItem.carNumber | |||
| } : | |||
| { | |||
| carNumber: carItem.carNumber, | |||
| outCarId: carItem.outCarId | |||
| }; | |||
| var stopFee = "carList[" + i + "].stopFee"; | |||
| var extraData = "carList[" + i + "].extraData"; | |||
| console.log(extraData); | |||
| var extraDataStr = { params: { CarNumber: carItem.carNumber } }; | |||
| var extraDataStr = { | |||
| params: { | |||
| CarNumber: carItem.carNumber | |||
| } | |||
| }; | |||
| that.setData({ | |||
| extraData: extraDataStr | |||
| }); | |||
| Http.post({ | |||
| url: config.api.getCarStopFee, | |||
| data: postData | |||
| }) | |||
| url: config.api.getCarStopFee, | |||
| data: postData | |||
| }) | |||
| .then(res => { | |||
| /** | |||
| * 停车费用 | |||
| */ | |||
| that.setData({ | |||
| [stopFee]: res.data, | |||
| [extraData]: extraDataStr, | |||
| buttonBox: res.data.parkingFee | |||
| }), | |||
| console.log("res>>>" + JSON.stringify(that.data.buttonBox)); | |||
| [stopFee]: res.data, | |||
| [extraData]: extraDataStr, | |||
| buttonBox: res.data.parkingFee | |||
| }) | |||
| }) | |||
| .catch(error => { | |||
| console.log(error); | |||
| @@ -313,7 +311,6 @@ Page({ | |||
| for (var i = 0; i < that.data.carList.length; i++) { | |||
| that.getStopFeeItem(that.data.carList[i], i); | |||
| } | |||
| // console.log(JSON.stringify(getStopFeeItem)) | |||
| }, | |||
| initPark: function() { | |||
| @@ -323,6 +320,7 @@ Page({ | |||
| url: config.api.getParkInfo, | |||
| data: {} | |||
| }).then(res => { | |||
| console.log(res); | |||
| that.setData({ | |||
| park: res.data | |||
| }); | |||
| @@ -338,12 +336,10 @@ Page({ | |||
| that.setData({ | |||
| carList: res.data | |||
| }); | |||
| console.log("aaaa" + JSON.stringify(that.data.carList)); | |||
| }); | |||
| }, | |||
| init: function() { | |||
| var that = this; | |||
| app.parkInitCallback = token => { | |||
| that.initPark(); | |||
| that.initUsrCarList(); | |||
| @@ -371,17 +367,17 @@ Page({ | |||
| } | |||
| }, | |||
| // 用户点击右上角分享 | |||
| onShareAppMessage: function () { | |||
| onShareAppMessage: function() { | |||
| return { | |||
| title: this.data.title, | |||
| desc: this.data.desc, | |||
| success: function (res) { | |||
| success: function(res) { | |||
| wx.showToast({ | |||
| title: "分享成功", | |||
| duration: 1000, | |||
| icon: "success" | |||
| }); | |||
| } | |||
| }} | |||
| }); | |||
| } | |||
| } | |||
| }); | |||
| @@ -10,40 +10,29 @@ | |||
| <image src='./../../assets/img/jian.png' mode='widthFix'></image> | |||
| </view> | |||
| </view> | |||
| <!-- <view class='headBox'> | |||
| <image src='../../assets/img/timg.jpg'></image> | |||
| <view class='headBox'> | |||
| <view class='numberBox'> | |||
| <view class='titleName'>{{park.addr}}</view> | |||
| <view class='carLocation price'>停车费: | |||
| <label class='locationNumber'>{{park.stopFee}}</label> | |||
| <view class='titleName clearfix'>{{park.addr}}</view> | |||
| <view class='price clearfix'> | |||
| <text class='fl'>总车位:</text> | |||
| <label class='locationNumber fr'>{{park.number}}个</label> | |||
| </view> | |||
| <view class='carLocation'>总车位: | |||
| <label class='locationNumber'> {{park.number}}个</label> | |||
| <view class='price clearfix'> | |||
| <text class='fl'>停车费:</text> | |||
| <label class='locationNumber fr'>{{park.stopFee}}</label> | |||
| </view> | |||
| </view> | |||
| </view> --> | |||
| </view> | |||
| <view class='borderBox'> | |||
| <view class='passNumberBox' wx:for='{{carList}}' wx:key='{{index}}'> | |||
| <!-- <view class='passUp'> | |||
| <view class='passNumber' bindtap='orderPay'> | |||
| <text class='number'>{{item.carNumber}}</text> | |||
| </view> | |||
| <button class='deleteButton' bindtap='unbindCarBtn' data-car='{{item.carNumber}}'>解绑</button> | |||
| </view> --> | |||
| <!-- 有车牌的时候显示 --> | |||
| <view class='passUp'> | |||
| <view class='addicense_active'> | |||
| <swiper current="{{current}}" bindchange='onSlideChangeEnd' class='swiper' circular='true' indicator-dots='{{indicatorDots}}' autoplay='{{autoplay}}' interval='2000' duration='2000'> | |||
| <block wx:for="{{carList}}" wx:key="unique"> | |||
| <swiper-item class="swiper-item" data-memberKeyword='{{item.carNumber}}'> | |||
| <view class='clearfix'> | |||
| <view class='clearfix clearfix1'> | |||
| <text class='txt01'>{{item.carNumber}}</text> | |||
| <view class='tche' hover-class='button_active' bindtap='gotopay'> | |||
| <button class='btn001'>停车缴费</button> | |||
| </view> | |||
| </view> | |||
| </swiper-item> | |||
| </block> | |||
| @@ -55,23 +44,37 @@ | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <!-- 没有车牌的时候显示 --> | |||
| <view class='borderUp' bindtap='jumpToAdd' wx:if="{{carList.length==0}}"> | |||
| <view class="myCars"> | |||
| <image src='./../../assets/img/add.png' mode="widthFix"></image>我的爱车</view> | |||
| <text class='carNumber'>车辆入场后,才能绑车牌</text> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view class='orderBox' wx:if='{{item.stopFee.parkingFee}}'> | |||
| <view class='priceBox'> | |||
| <text>入场时间:{{item.stopFee.entranceTime}}</text> | |||
| </view> | |||
| <view class='priceBox right'> | |||
| <text class="textRight">停车费用:¥{{item.stopFee.parkingFee}}</text> | |||
| </view> | |||
| </view> | |||
| <!-- <view class='orderBox clearfix' wx:if='{{item.stopFee.parkingFee}}'> --> | |||
| <view class='orderBox' wx:key="{{index}}" wx:for="{{carList}}" wx:if="{{carList.length>0&&3>=carList.length}}"> | |||
| <view class='clearfix'> | |||
| <text class="fl">入场时间:</text> | |||
| <text class='fr time'>{{item.stopFee.entranceTime}}</text> | |||
| </view> | |||
| <view class='coupon clearfix'> | |||
| <text class='fl'><text class='jians'>惠</text>优免券:</text> | |||
| <text class='fr'>2小时优免券</text> | |||
| </view> | |||
| <view class="clearfix"> | |||
| <text class="fl">待缴费用:</text> | |||
| <text class='fr'>{{item.stopFee.parkingFee}}<text class='yuan'>元</text></text> | |||
| </view> | |||
| <view bindtap='bindCoupon' class="buy-view" wx:if="{{buttonBox&&carList.length>0&&3>=carList.length}}"> | |||
| <navigator class='buyBox' target="miniProgram" open-type="navigate" app-id="wx192b7d2e8dcbefd0" path="" extra-data='{{extraData}}' version="release"> | |||
| </navigator> | |||
| <button class='buy' hover-class='active'>立即支付</button> | |||
| </view> | |||
| </view> | |||
| <!-- 没有车牌的时候显示 --> | |||
| <view class='borderUp' bindtap='jumpToAdd' wx:if="{{carList.length==0}}"> | |||
| <view class="myCars"> | |||
| <image src='./../../assets/img/add.png' mode="widthFix"></image>我的爱车</view> | |||
| <text class='carNumber'>车辆入场后,才能绑车牌</text> | |||
| </view> | |||
| <view class='bottonBox'> | |||
| <navigator url="/pages/passCar/couponList/couponList"> | |||
| <view class='textStyle' bindtap='showquan'> | |||
| @@ -82,16 +85,7 @@ | |||
| </view> | |||
| </view> | |||
| </navigator> | |||
| <!-- <view class='passNumberBox' wx:for='{{couponList}}' wx:key='{{index}}'> | |||
| <view class='voucher' wx:if="!{{tcq==1}}"> | |||
| <text class='textV1 textV3'>{{item.title}}</text> | |||
| <text class='textV2'>{{item.merchantName}}</text> | |||
| <text class='textV1'>{{'- '+item.price/100+'小时'}}</text> | |||
| <view class='choice'> | |||
| <image src='../../assets/img/choiced.png'></image> | |||
| </view> | |||
| </view> | |||
| </view> --> | |||
| <view class='textStyle' bindtap='passc'> | |||
| <image src='../../assets/img/wenti.png'></image> | |||
| 常见问题 | |||
| @@ -100,9 +94,19 @@ | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <view bindtap='bindCoupon' class="buy-view app-border-top" wx:if="{{buttonBox}}"> | |||
| <view class='passNumberBox' wx:for='{{couponList}}' wx:key='{{index}}'> | |||
| <view class='voucher' wx:if="!{{tcq==1}}"> | |||
| <text class='textV1 textV3'>{{item.title}}</text> | |||
| <text class='textV2'>{{item.merchantName}}</text> | |||
| <text class='textV1'>{{'- '+item.price/100+'小时'}}</text> | |||
| <view class='choice'> | |||
| <image src='../../assets/img/choiced.png'></image> | |||
| </view> | |||
| </view> | |||
| </view> | |||
| <!-- <view bindtap='bindCoupon' class="buy-view app-border-top" wx:if="{{buttonBox}}"> | |||
| <navigator wx:if="{{flag==1||flags=='alreadybind'}}" class='buyBox' target="miniProgram" open-type="navigate" app-id="wx192b7d2e8dcbefd0" path="" extra-data='{{extraData}}' version="trial"> | |||
| </navigator> | |||
| <button class='buy'>立即支付</button> | |||
| </view> | |||
| </view> --> | |||
| </view> | |||
| @@ -5,11 +5,9 @@ page { | |||
| } | |||
| .headBox { | |||
| margin-top: 13rpx; | |||
| width: 750rpx; | |||
| height: 210rpx; | |||
| width: 690rpx; | |||
| margin: 30rpx auto 0; | |||
| box-sizing: border-box; | |||
| padding: 30rpx 40rpx; | |||
| display: flex; | |||
| background-color: white; | |||
| } | |||
| @@ -21,20 +19,15 @@ page { | |||
| border-radius: 16rpx; | |||
| } | |||
| .numberBox { | |||
| width: 400rpx; | |||
| height: 150rpx; | |||
| } | |||
| .titleName { | |||
| line-height: 60rpx; | |||
| height: 60rpx; | |||
| width: 100%; | |||
| line-height: 35rpx; | |||
| height: 35rpx; | |||
| color: #666; | |||
| font-size: 32rpx; | |||
| width: 400rpx; | |||
| word-break: break-all; | |||
| text-align: justify; | |||
| margin-bottom: 10rpx; | |||
| font-weight:bold; | |||
| } | |||
| ::-webkit-scrollbar { | |||
| @@ -44,17 +37,48 @@ page { | |||
| } | |||
| .carLocation, .locationNumber { | |||
| width: 400rpx; | |||
| display: inline-block; | |||
| height: 40rpx; | |||
| color: #666; | |||
| color: #999; | |||
| font-size: 24rpx; | |||
| line-height: 30rpx; | |||
| } | |||
| .price { | |||
| .carLocation { | |||
| width: 206rpx; | |||
| font-size: 28rpx; | |||
| } | |||
| .yuan { | |||
| display: inline-block; | |||
| margin-left: 6rpx; | |||
| color: #333; | |||
| } | |||
| .price { | |||
| font-size: 28rpx; | |||
| color: #999; | |||
| width: 100%; | |||
| margin-top: 10rpx; | |||
| line-height: 40rpx; | |||
| } | |||
| .time{ | |||
| color: #999!important; | |||
| } | |||
| .price .fl{ | |||
| width: 15%; | |||
| color: #666; | |||
| } | |||
| .price .fr{ | |||
| width: 85%; | |||
| color: #999; | |||
| line-height: 40rpx; | |||
| font-size: 26rpx; | |||
| } | |||
| .titleName .fr{ | |||
| color: #999; | |||
| font-size: 27rpx; | |||
| } | |||
| .borderBox { | |||
| width: 750rpx; | |||
| margin-top: 26rpx; | |||
| @@ -68,6 +92,7 @@ page { | |||
| border-radius: 16rpx; | |||
| padding-bottom: 40rpx; | |||
| height: 202rpx; | |||
| margin-top: 47rpx; | |||
| } | |||
| .addicense_active { | |||
| @@ -136,9 +161,9 @@ page { | |||
| } | |||
| .textStyle image { | |||
| width: 50rpx; | |||
| height: 50rpx; | |||
| top: 20rpx; | |||
| width: 40rpx; | |||
| height: 40rpx; | |||
| top: 27rpx; | |||
| left: 27rpx; | |||
| position: absolute; | |||
| } | |||
| @@ -146,6 +171,7 @@ page { | |||
| .swiper { | |||
| position: relative; | |||
| margin: 0 auto; | |||
| height: 262rpx; | |||
| } | |||
| .swiper-item { | |||
| @@ -156,41 +182,44 @@ page { | |||
| color: rgba(255, 255, 255, 1); | |||
| } | |||
| .swiper-item > view { | |||
| .swiper-item .clearfix1 { | |||
| background: #bbe6ff; | |||
| border-radius: 12rpx; | |||
| padding: 6rpx; | |||
| } | |||
| .tche { | |||
| width: 157rpx; | |||
| height: 211rpx; | |||
| width: 685rpx; | |||
| height: 88rpx; | |||
| line-height: 88rpx; | |||
| margin: 0 auto; | |||
| float: right; | |||
| border-radius: 12rpx; | |||
| background: #56bdf8; | |||
| border: 3px solid #fff; | |||
| border-radius: 60rpx; | |||
| position: relative; | |||
| margin-top: 30rpx; | |||
| } | |||
| .txt01 { | |||
| width: 497rpx; | |||
| height: 211rpx; | |||
| line-height: 211rpx; | |||
| width: 667rpx; | |||
| height: 180rpx; | |||
| line-height: 180rpx; | |||
| float: left; | |||
| background: #56bdf8; | |||
| border-radius: 12rpx; | |||
| border: 3px solid #fff; | |||
| text-align: center; | |||
| font-size: 60rpx; | |||
| } | |||
| .passNumberBox { | |||
| position: relative; | |||
| background-color: white; | |||
| /* border-bottom: 1rpx #f8f8f8 solid; */ | |||
| margin-top: 30rpx; | |||
| margin-top: 60rpx; | |||
| } | |||
| .numberBox{ | |||
| width: 100%; | |||
| } | |||
| .passNumber { | |||
| width: 400rpx; | |||
| height: 100rpx; | |||
| @@ -226,19 +255,17 @@ page { | |||
| } | |||
| .button_active { | |||
| opacity: .6; | |||
| opacity: 0.6; | |||
| } | |||
| .btn001 { | |||
| height: 88rpx; | |||
| line-height: 88rpx; | |||
| margin: 0 auto; | |||
| width: 120rpx; | |||
| height: 75rpx; | |||
| font-size: 32rpx; | |||
| font-size: 30rpx; | |||
| font-weight: 400; | |||
| color: rgba(255, 255, 255, 1); | |||
| line-height: 38rpx; | |||
| color: #fff; | |||
| background: none; | |||
| margin-top: 67rpx; | |||
| } | |||
| .parkPrice { | |||
| @@ -348,30 +375,40 @@ page { | |||
| .buy-view { | |||
| background: #fff; | |||
| position: relative; | |||
| padding-top: 10rpx; | |||
| height: 98rpx; | |||
| bottom: 0rpx; | |||
| height: 88rpx; | |||
| margin-top: 50rpx; | |||
| /* left: 0; | |||
| right: 0; */ | |||
| } | |||
| .buy { | |||
| background: #00c0ff; | |||
| background: #56bdf8; | |||
| height: 88rpx; | |||
| width: 98%; | |||
| margin: 0 auto; | |||
| color: #fff; | |||
| font-size: 36rpx; | |||
| line-height: 88rpx; | |||
| border-radius: 6rpx; | |||
| border-radius: 60rpx; | |||
| position: relative; | |||
| z-index: 100; | |||
| } | |||
| .buyBox { | |||
| height: 88rpx; | |||
| width: 98%; | |||
| position: absolute; | |||
| left: 0; | |||
| top: 0; | |||
| z-index: 100000000; | |||
| border-radius:60rpx; | |||
| } | |||
| .active { | |||
| opacity: 0.6; | |||
| } | |||
| .borderBox { | |||
| width: 690rpx; | |||
| margin: 20rpx auto 0; | |||
| margin: 50rpx auto 0; | |||
| } | |||
| .carmanage { | |||
| @@ -435,23 +472,20 @@ page { | |||
| } | |||
| .orderBox { | |||
| width: 100%; | |||
| height: 100rpx; | |||
| border-top: 1rpx #f8f8f8 solid; | |||
| padding: 0 20rpx; | |||
| position: relative; | |||
| display: flex; | |||
| } | |||
| .priceBox { | |||
| width: 420rpx; | |||
| display: inline-block; | |||
| width: 355rpx; | |||
| } | |||
| .priceBox text { | |||
| margin-top: 35rpx; | |||
| color: #333; | |||
| font-size: 24rpx; | |||
| margin-left: 50rpx; | |||
| font-size: 28rpx; | |||
| display: block; | |||
| text-align: left; | |||
| } | |||
| .payBox { | |||
| @@ -479,24 +513,16 @@ button::after { | |||
| } | |||
| .right { | |||
| display: inline-block; | |||
| width: 328rpx; | |||
| } | |||
| .textRight { | |||
| margin-left: 0; | |||
| margin-right: 25rpx; | |||
| text-align: right; | |||
| text-align: left; | |||
| font-size: 30rpx !important; | |||
| color: red !important; | |||
| } | |||
| .buyBox { | |||
| width: 750rpx; | |||
| height: 88rpx; | |||
| position: absolute; | |||
| left: 0; | |||
| top: 0; | |||
| z-index: 100000000; | |||
| color: #333 !important; | |||
| } | |||
| .myCars image { | |||
| @@ -540,3 +566,33 @@ button::after { | |||
| background: rgba(86, 189, 248, 1); | |||
| border-radius: 6rpx; | |||
| } | |||
| .coupon { | |||
| font-size: 28rpx; | |||
| color: #666; | |||
| } | |||
| .orderBox .fl { | |||
| line-height: 60rpx; | |||
| font-size: 28rpx; | |||
| color: #333; | |||
| } | |||
| .orderBox .fr { | |||
| line-height: 60rpx; | |||
| font-size: 28rpx; | |||
| color: #FF4949; | |||
| } | |||
| .jians { | |||
| font-size: 22rpx; | |||
| display: inline-block; | |||
| width: 34rpx; | |||
| height: 34rpx; | |||
| text-align: center; | |||
| background: orange; | |||
| line-height: 34rpx; | |||
| color: #fff; | |||
| border-radius: 6rpx; | |||
| margin-right: 6rpx; | |||
| } | |||
| @@ -98,10 +98,10 @@ class HttpBasics { | |||
| resolve(res.data); | |||
| } else { | |||
| // wx.hideLoading(); | |||
| wx.showToast({ | |||
| title: res.data.message, | |||
| image:'./../../assets/img/fail.png' | |||
| }); | |||
| // wx.showToast({ | |||
| // title: res.data.message, | |||
| // image:'./../../assets/img/fail.png' | |||
| // }); | |||
| reject(res.data); | |||
| } | |||
| } | |||