@@ -25,7 +25,8 @@ | |||||
"pages/addPark/addPark", | "pages/addPark/addPark", | ||||
"pages/orderquanma/index", | "pages/orderquanma/index", | ||||
"pages/passCar/couponList/couponList", | "pages/passCar/couponList/couponList", | ||||
"pages/passCar/couponDetail/couponDetail" | |||||
"pages/passCar/couponDetail/couponDetail", | |||||
"pages/managelicenseplate/managelicenseplate" | |||||
], | ], | ||||
"tabBar": { | "tabBar": { | ||||
"color": "#9F9F9F", | "color": "#9F9F9F", | ||||
@@ -38,7 +39,7 @@ | |||||
"text": "首页" | "text": "首页" | ||||
}, | }, | ||||
{ | { | ||||
"pagePath": "pages/cartest/cartest", | |||||
"pagePath": "pages/passCar/passCar", | |||||
"iconPath": "assets/img/pass1.png", | "iconPath": "assets/img/pass1.png", | ||||
"selectedIconPath": "assets/img/pass0.png", | "selectedIconPath": "assets/img/pass0.png", | ||||
"text": "停车" | "text": "停车" | ||||
@@ -0,0 +1,10 @@ | |||||
var app = getApp(); | |||||
Page({ | |||||
/** | |||||
* 页面的初始数据 | |||||
*/ | |||||
data: { | |||||
}, | |||||
}) |
@@ -0,0 +1,3 @@ | |||||
{ | |||||
"navigationBarTitleText": "管理车牌" | |||||
} |
@@ -5,7 +5,7 @@ | |||||
</i-tabs> | </i-tabs> | ||||
<view> | <view> | ||||
<view class="nocoupon" wx:if="{{list.length==0}}"> | <view class="nocoupon" wx:if="{{list.length==0}}"> | ||||
<image src="./../../../assets/img/cou.png" mode="widthFix" /> | |||||
<!-- <image src="./../../../assets/img/cou.png" mode="widthFix" /> --> | |||||
<text>暂无优惠券可用</text> | <text>暂无优惠券可用</text> | ||||
<navigator url="/pages/index/index" open-type="switchTab" hover-class="other-navigator-hover"> | <navigator url="/pages/index/index" open-type="switchTab" hover-class="other-navigator-hover"> | ||||
<button>去领券</button> | <button>去领券</button> | ||||
@@ -12,7 +12,32 @@ Page({ | |||||
flag: "", | flag: "", | ||||
extraData: {}, | extraData: {}, | ||||
desc:'', | desc:'', | ||||
title:'' | |||||
title:'', | |||||
indicatorDots: true, | |||||
autoplay: false, | |||||
interval: 5000, | |||||
duration: 1000, | |||||
current: 0, | |||||
list:[] | |||||
}, | |||||
/** | |||||
* 轮播图 | |||||
*/ | |||||
onSlideChangeEnd: function (e) { | |||||
var that = this; | |||||
console.log(e); | |||||
console.log(e.detail.current); | |||||
var listCardNum = (that.data.list)[e.detail.current].memberKeyword; | |||||
console.log(listCardNum); | |||||
that.setData({ | |||||
listCardNum: listCardNum | |||||
}) | |||||
console.log(that.data.listCardNum); | |||||
}, | |||||
gotomange:function(){ | |||||
wx.navigateTo({ | |||||
url: '/pages/managelicenseplate/managelicenseplate', | |||||
}) | |||||
}, | }, | ||||
/*车牌动态样式 */ | /*车牌动态样式 */ | ||||
changeStyle: function() { | changeStyle: function() { | ||||
@@ -5,7 +5,7 @@ | |||||
<text class='mycar'>我的爱车</text> | <text class='mycar'>我的爱车</text> | ||||
<text class='num'>最多可添加3辆</text> | <text class='num'>最多可添加3辆</text> | ||||
</view> | </view> | ||||
<view class='fr'> | |||||
<view class='fr' bindtap='gotomange'> | |||||
车辆管理 | 车辆管理 | ||||
<image src='./../../assets/img/jian.png' mode='widthFix'></image> | <image src='./../../assets/img/jian.png' mode='widthFix'></image> | ||||
</view> | </view> | ||||
@@ -22,26 +22,52 @@ | |||||
</view> | </view> | ||||
</view> | </view> | ||||
</view> --> | </view> --> | ||||
<view class='borderBox'> | <view class='borderBox'> | ||||
<view class='borderUp' bindtap='jumpToAdd' wx:if="{{carList.length<3}}"> | |||||
<view class="myCars"> | |||||
<image src='./../../assets/img/add.png' mode="widthFix"></image>我的爱车</view> | |||||
<text class='carNumber'>车辆入场后,才能绑车牌</text> | |||||
</view> | |||||
<view class='passNumberBox' wx:for='{{carList}}' wx:key='{{index}}'> | <view class='passNumberBox' wx:for='{{carList}}' wx:key='{{index}}'> | ||||
<view class='passUp'> | |||||
<!-- <view class='passUp'> | |||||
<view class='passNumber' bindtap='orderPay'> | <view class='passNumber' bindtap='orderPay'> | ||||
<text class='number'>{{item.carNumber}}</text> | <text class='number'>{{item.carNumber}}</text> | ||||
</view> | </view> | ||||
<button class='deleteButton' bindtap='unbindCarBtn' data-car='{{item.carNumber}}'>解绑</button> | <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'> | |||||
<text class='txt01'>{{item.carNumber}}</text> | |||||
<view class='tche' hover-class='button_active' bindtap='gotopay'> | |||||
<button class='btn001'>停车缴费</button> | |||||
</view> | |||||
</view> | |||||
</swiper-item> | |||||
</block> | |||||
</swiper> | |||||
<view class="dots"> | |||||
<block wx:for="{{carList}}" wx:key="unique"> | |||||
<view class="dot{{index == current ? ' active' : ''}}"></view> | |||||
</block> | |||||
</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 class='orderBox' wx:if='{{item.stopFee.parkingFee}}'> | <view class='orderBox' wx:if='{{item.stopFee.parkingFee}}'> | ||||
<view class='priceBox'> | <view class='priceBox'> | ||||
<text>入场时间:{{item.stopFee.entranceTime}}</text> | <text>入场时间:{{item.stopFee.entranceTime}}</text> | ||||
</view> | </view> | ||||
<view class='priceBox right'> | <view class='priceBox right'> | ||||
<text class="textRight">停车费用:¥{{item.stopFee.parkingFee}}</text> | <text class="textRight">停车费用:¥{{item.stopFee.parkingFee}}</text> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
@@ -56,7 +82,7 @@ | |||||
</view> | </view> | ||||
</view> | </view> | ||||
</navigator> | </navigator> | ||||
<view class='passNumberBox' wx:for='{{couponList}}' wx:key='{{index}}'> | |||||
<!-- <view class='passNumberBox' wx:for='{{couponList}}' wx:key='{{index}}'> | |||||
<view class='voucher' wx:if="!{{tcq==1}}"> | <view class='voucher' wx:if="!{{tcq==1}}"> | ||||
<text class='textV1 textV3'>{{item.title}}</text> | <text class='textV1 textV3'>{{item.title}}</text> | ||||
<text class='textV2'>{{item.merchantName}}</text> | <text class='textV2'>{{item.merchantName}}</text> | ||||
@@ -65,7 +91,7 @@ | |||||
<image src='../../assets/img/choiced.png'></image> | <image src='../../assets/img/choiced.png'></image> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
</view> | |||||
</view> --> | |||||
<view class='textStyle' bindtap='passc'> | <view class='textStyle' bindtap='passc'> | ||||
<image src='../../assets/img/wenti.png'></image> | <image src='../../assets/img/wenti.png'></image> | ||||
常见问题 | 常见问题 | ||||
@@ -1,4 +1,4 @@ | |||||
/**passCar.wxss**/ | |||||
@import "../../app.wxss"; | |||||
page { | page { | ||||
background-color: #fff; | background-color: #fff; | ||||
@@ -64,6 +64,17 @@ page { | |||||
width: 680rpx; | width: 680rpx; | ||||
margin: 0 auto; | margin: 0 auto; | ||||
font-size: 36rpx; | font-size: 36rpx; | ||||
border: 2rpx dashed #979797; | |||||
border-radius: 16rpx; | |||||
padding-bottom: 40rpx; | |||||
height: 202rpx; | |||||
} | |||||
.addicense_active { | |||||
width: 690rpx; | |||||
/* box-shadow: 0 4rpx 20rpx 0 rgba(153, 153, 153, 0.35); */ | |||||
border-radius: 12rpx; | |||||
/* background: #02c0ff; *//* padding-bottom: 40rpx; */ | |||||
} | } | ||||
.myCar { | .myCar { | ||||
@@ -87,7 +98,6 @@ page { | |||||
.addBox { | .addBox { | ||||
width: 750rpx; | width: 750rpx; | ||||
height: 220rpx; | |||||
position: relative; | position: relative; | ||||
background-color: white; | background-color: white; | ||||
} | } | ||||
@@ -110,7 +120,7 @@ page { | |||||
.bottonBox { | .bottonBox { | ||||
width: 750rpx; | width: 750rpx; | ||||
margin-top: 50rpx; | |||||
margin-top: 30rpx; | |||||
} | } | ||||
.textStyle { | .textStyle { | ||||
@@ -118,7 +128,7 @@ page { | |||||
height: 88rpx; | height: 88rpx; | ||||
line-height: 88rpx; | line-height: 88rpx; | ||||
padding-left: 92rpx; | padding-left: 92rpx; | ||||
border-bottom: 1rpx #f8f8f8 solid; | |||||
border-bottom: 1px #f8f8f8 solid; | |||||
position: relative; | position: relative; | ||||
font-size: 30rpx; | font-size: 30rpx; | ||||
color: #333; | color: #333; | ||||
@@ -133,11 +143,52 @@ page { | |||||
position: absolute; | position: absolute; | ||||
} | } | ||||
.swiper { | |||||
position: relative; | |||||
margin: 0 auto; | |||||
} | |||||
.swiper-item { | |||||
width: 365rpx; | |||||
font-size: 75rpx; | |||||
font-weight: 400; | |||||
text-align: center; | |||||
color: rgba(255, 255, 255, 1); | |||||
} | |||||
.swiper-item > view { | |||||
background: #bbe6ff; | |||||
border-radius: 12rpx; | |||||
padding: 6rpx; | |||||
} | |||||
.tche { | |||||
width: 157rpx; | |||||
height: 211rpx; | |||||
margin: 0 auto; | |||||
float: right; | |||||
border-radius: 12rpx; | |||||
background: #56bdf8; | |||||
border: 3px solid #fff; | |||||
position: relative; | |||||
} | |||||
.txt01 { | |||||
width: 497rpx; | |||||
height: 211rpx; | |||||
line-height: 211rpx; | |||||
float: left; | |||||
background: #56bdf8; | |||||
border-radius: 12rpx; | |||||
border: 3px solid #fff; | |||||
text-align: center; | |||||
} | |||||
.passNumberBox { | .passNumberBox { | ||||
width: 750rpx; | |||||
position: relative; | position: relative; | ||||
background-color: white; | background-color: white; | ||||
border-bottom: 1rpx #f8f8f8 solid; | |||||
/* border-bottom: 1rpx #f8f8f8 solid; */ | |||||
margin-top: 30rpx; | |||||
} | } | ||||
.passNumber { | .passNumber { | ||||
@@ -157,7 +208,37 @@ page { | |||||
} | } | ||||
.number { | .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: .6; | |||||
} | |||||
.btn001 { | |||||
margin: 0 auto; | |||||
width: 120rpx; | |||||
height: 75rpx; | |||||
font-size: 32rpx; | font-size: 32rpx; | ||||
font-weight: 400; | |||||
color: rgba(255, 255, 255, 1); | |||||
line-height: 38rpx; | |||||
background: none; | |||||
margin-top: 67rpx; | |||||
} | } | ||||
.parkPrice { | .parkPrice { | ||||
@@ -291,9 +372,6 @@ page { | |||||
.borderBox { | .borderBox { | ||||
width: 690rpx; | width: 690rpx; | ||||
margin: 20rpx auto 0; | margin: 20rpx auto 0; | ||||
border: 2rpx dashed #979797; | |||||
border-radius: 16rpx; | |||||
height: 200rpx; | |||||
} | } | ||||
.carmanage { | .carmanage { | ||||
@@ -364,12 +442,6 @@ page { | |||||
display: flex; | display: flex; | ||||
} | } | ||||
.passUp { | |||||
width: 100%; | |||||
height: 100rpx; | |||||
position: relative; | |||||
} | |||||
.priceBox { | .priceBox { | ||||
width: 420rpx; | width: 420rpx; | ||||
} | } | ||||
@@ -439,5 +511,32 @@ button::after { | |||||
color: #02c0ff; | color: #02c0ff; | ||||
letter-spacing: 0; | letter-spacing: 0; | ||||
text-align: center; | text-align: center; | ||||
padding-top: 50rpx; | |||||
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; | |||||
} | } |
@@ -72,7 +72,7 @@ class HttpBasics { | |||||
data: data, | data: data, | ||||
method: "POST", | method: "POST", | ||||
success: res => { | success: res => { | ||||
// wx.hideLoading(); | |||||
wx.hideLoading(); | |||||
this.responseMap(res, resolve, reject); | this.responseMap(res, resolve, reject); | ||||
}, | }, | ||||
fail: err => { | fail: err => { | ||||
@@ -97,9 +97,10 @@ class HttpBasics { | |||||
if (res.data.code == 200) { | if (res.data.code == 200) { | ||||
resolve(res.data); | resolve(res.data); | ||||
} else { | } else { | ||||
wx.hideLoading(); | |||||
// wx.hideLoading(); | |||||
wx.showToast({ | wx.showToast({ | ||||
title: res.data.message | |||||
title: res.data.message, | |||||
image:'./../../assets/img/fail.png' | |||||
}); | }); | ||||
reject(res.data); | reject(res.data); | ||||
} | } | ||||