|
|
|
@ -1,56 +1,58 @@ |
|
|
|
|
<template> |
|
|
|
|
<view> |
|
|
|
|
<image src="@/static/bg.png" mode="" style="width: 100%;height: 928rpx;"></image> |
|
|
|
|
<view class="top"> |
|
|
|
|
<image class="dw" src="@/static/定位.png" mode="" style="width: 30rpx;height: 30rpx;"></image> |
|
|
|
|
<view class="xuzou">{{city}}</view> |
|
|
|
|
<!-- <picker @change="bindPickerChange" :value="index" :range="array"> |
|
|
|
|
<image class="jiantou" src="@/static/jiantou.png" mode="" style="width: 15rpx;height: 15rpx;"></image> |
|
|
|
|
</picker> --> |
|
|
|
|
</view> |
|
|
|
|
<view class="topimg"> |
|
|
|
|
<image class="topimg1" :src="tuijianlist[0].image.url" mode=""></image> |
|
|
|
|
<image src="@/static/bg.png" mode="" class="bg" style="width: 100%;height: 928rpx;"></image> |
|
|
|
|
<view class="top" :style="{'padding-top': top+'px'}"> |
|
|
|
|
<view class="location"> |
|
|
|
|
<image class="dw" src="@/static/定位.png" mode="" style="width: 30rpx;height: 30rpx;"></image> |
|
|
|
|
<view class="xuzou">{{city}}</view> |
|
|
|
|
</view> |
|
|
|
|
<image src="@/static/bg.png" mode="widthFix" class="hs"></image> |
|
|
|
|
</view> |
|
|
|
|
<view class="mendian"> |
|
|
|
|
<view class="mendian1"> |
|
|
|
|
<view class="tj">门店推荐</view> |
|
|
|
|
<view class="" @click="mendianlist"> |
|
|
|
|
找门店<uni-icons type="right" size="18"></uni-icons> |
|
|
|
|
</view> |
|
|
|
|
<view class="content" :style="{'top': (top+44)+'px'}"> |
|
|
|
|
<view class="topimg"> |
|
|
|
|
<image class="topimg1" src="https://bodybuilding.bsdong.cn/images/banner.png" mode=""></image> |
|
|
|
|
</view> |
|
|
|
|
<view class="mddz" v-for="(item,index) in tuijianlist" :key="index"> |
|
|
|
|
<view class="mddz1"> |
|
|
|
|
<image class="mddz1img" :src="item.image.url" mode=""></image> |
|
|
|
|
<view class="mddz1wz">{{item.name}}</view> |
|
|
|
|
<view class="mendian"> |
|
|
|
|
<view class="mendian1"> |
|
|
|
|
<view class="tj">门店推荐</view> |
|
|
|
|
<view class="data1" @click="mendianlist"> |
|
|
|
|
找门店<uni-icons type="right" color="#999" size="18"></uni-icons> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="mddz2"> |
|
|
|
|
<view style='width:570rpx' @click="handleNavigation(item)"> |
|
|
|
|
<image class="mddz1img1" src="@/static/定位1.png" mode=""></image> |
|
|
|
|
<text class="dz">{{item.address}}</text> |
|
|
|
|
<view class="mddz" v-for="(item,index) in tuijianlist" :key="index"> |
|
|
|
|
<view class="mddz1"> |
|
|
|
|
<image class="mddz1img" style="border-radius: 10rpx;" :src="item.image.url" mode=""></image> |
|
|
|
|
<view class="mddz1wz">{{item.name}}</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="mddz2"> |
|
|
|
|
<view style='width:570rpx' @click="handleNavigation(item)"> |
|
|
|
|
<image class="mddz1img1" src="@/static/定位1.png" mode=""></image> |
|
|
|
|
<text class="dz">{{item.address}}</text> |
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
<image class="mddz1img2" src="@/static/电话o.png" mode="" @click="makePhoneCall(item.mobile)"></image> |
|
|
|
|
</view> |
|
|
|
|
|
|
|
|
|
<image class="mddz1img2" src="@/static/电话o.png" mode="" @click="makePhoneCall(item.mobile)"></image> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="btn" @click="tuanquan"> |
|
|
|
|
<view class="btnwz">团购验券</view> |
|
|
|
|
<view class="btnwz1">美团/抖音,验券进场</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="hy">会员套餐</view> |
|
|
|
|
<view class="btboxs"> |
|
|
|
|
<view class="btbox" v-for="(item,index) in viplist" :key="index" @click="taochan(item)"> |
|
|
|
|
<image :src="item.img.url" mode="" class="btimg"></image> |
|
|
|
|
<view class="bttitle">{{item.name}}</view> |
|
|
|
|
<view class="btwz" v-if="item.validity_day>0">期限:{{item.validity_day}}天</view> |
|
|
|
|
<view class="btwz" v-if='item.validity_num>0'>次数:{{item.validity_num}}次</view> |
|
|
|
|
<view class="btwzjg"> |
|
|
|
|
<text class="btwzjg1">¥{{item.price}}</text> |
|
|
|
|
<text class="btwzjg2">原价:¥{{item.original_price}}</text> |
|
|
|
|
<view class="btn" @click="tuanquan"> |
|
|
|
|
<view class="btnwz">团购验券</view> |
|
|
|
|
<view class="btnwz1">美团/抖音,验券进场</view> |
|
|
|
|
</view> |
|
|
|
|
<view class="hy">会员套餐</view> |
|
|
|
|
<view class="btboxs"> |
|
|
|
|
<view class="btbox" v-for="(item,index) in viplist" :key="index" @click="taochan(item)"> |
|
|
|
|
<image :src="item.img.url" mode="" class="btimg"></image> |
|
|
|
|
<view class="bttitle">{{item.name}}</view> |
|
|
|
|
<view class="btwz" v-if="item.validity_day>0">期限:{{item.validity_day}}天</view> |
|
|
|
|
<view class="btwz" v-if='item.validity_num>0'>次数:{{item.validity_num}}次</view> |
|
|
|
|
<view class="btwzjg"> |
|
|
|
|
<text class="btwzjg1">¥{{item.price}}</text> |
|
|
|
|
<text class="btwzjg2">原价:¥{{item.original_price}}</text> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
</view> |
|
|
|
|
<uni-popup ref="popup" background-color="#fff" :mask-click='false'> |
|
|
|
|
<uni-popup ref="popup" background-color="#fff" :mask-click='false' :animation="false"> |
|
|
|
|
<view class="popbox"> |
|
|
|
|
<view class="close"> |
|
|
|
|
<image src="@/static/close-l.png" mode="" style="width: 44rpx;height: 44rpx;" @click="close"> |
|
|
|
@ -60,8 +62,8 @@ |
|
|
|
|
团购验券 |
|
|
|
|
</view> |
|
|
|
|
<view class="input"> |
|
|
|
|
<input class="input1" type="text" placeholder="请输入抖音/美团券码" v-model="number"/> |
|
|
|
|
<image class="saoma" src="@/static/扫一扫.png" mode=""></image> |
|
|
|
|
<input class="input1" type="text" placeholder="请输入抖音/美团券码" v-model="scanCode"/> |
|
|
|
|
<image class="saoma" @click="openScan()" src="@/static/扫一扫.png" mode=""></image> |
|
|
|
|
</view> |
|
|
|
|
<view class="yqbtn" @click="numberCheck"> |
|
|
|
|
验券 |
|
|
|
@ -75,6 +77,7 @@ |
|
|
|
|
export default { |
|
|
|
|
data() { |
|
|
|
|
return { |
|
|
|
|
scanCode: "", |
|
|
|
|
city:'', |
|
|
|
|
number:'', |
|
|
|
|
viplist:[], |
|
|
|
@ -83,7 +86,8 @@ |
|
|
|
|
longitude:'', |
|
|
|
|
tuijianlist:[], |
|
|
|
|
iswanjie:false, |
|
|
|
|
shoujidingwei:true |
|
|
|
|
shoujidingwei:true, |
|
|
|
|
top: 0 |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
@ -93,11 +97,16 @@ |
|
|
|
|
path: '/pages/index/index' |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
onShow() { |
|
|
|
|
onLoad() { |
|
|
|
|
this.top = uni.getSystemInfoSync().statusBarHeight |
|
|
|
|
}, |
|
|
|
|
onReady() { |
|
|
|
|
this.viplist=[] |
|
|
|
|
this.cardList(1) |
|
|
|
|
// this.storeList(1) |
|
|
|
|
this.getLocation() |
|
|
|
|
if(!this.city){ |
|
|
|
|
this.getLocation() |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
onReachBottom(){ |
|
|
|
|
if(!this.iswanjie){ |
|
|
|
@ -105,6 +114,14 @@ |
|
|
|
|
} |
|
|
|
|
}, |
|
|
|
|
methods: { |
|
|
|
|
openScan() { |
|
|
|
|
const that = this; |
|
|
|
|
uni.scanCode({ |
|
|
|
|
success(res) { |
|
|
|
|
that.scanCode = res.result; |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
}, |
|
|
|
|
handleNavigation(i) { |
|
|
|
|
uni.openLocation({ |
|
|
|
|
longitude:Number(i.longitude), |
|
|
|
@ -119,7 +136,7 @@ |
|
|
|
|
}) |
|
|
|
|
}, |
|
|
|
|
numberCheck(){ |
|
|
|
|
this.$api.numberCheck({number:this.number}).then(res=>{ |
|
|
|
|
this.$api.numberCheck({number:this.scanCode}).then(res=>{ |
|
|
|
|
if(res.code==200){ |
|
|
|
|
uni.showToast({ |
|
|
|
|
icon: "none", |
|
|
|
@ -142,7 +159,7 @@ |
|
|
|
|
that.$api.nearStore({latitude:that.latitude,longitude:that.longitude,limit:1}).then(res=>{ |
|
|
|
|
that.tuijianlist=res.data |
|
|
|
|
}) |
|
|
|
|
that.$api.ipGetCity().then(res=>{ |
|
|
|
|
that.$api.newGetCity({locations:that.longitude+","+that.latitude}).then(res=>{ |
|
|
|
|
console.log('res',res); |
|
|
|
|
that.city=res.data.city |
|
|
|
|
}) |
|
|
|
@ -212,6 +229,12 @@ |
|
|
|
|
this.$refs.popup.close('center') |
|
|
|
|
}, |
|
|
|
|
taochan(i) { |
|
|
|
|
if(!uni.getStorageSync("token")) { |
|
|
|
|
uni.navigateTo({ |
|
|
|
|
url: "/pages/login/login" |
|
|
|
|
}) |
|
|
|
|
return ; |
|
|
|
|
} |
|
|
|
|
uni.setStorageSync('xzmd','') |
|
|
|
|
var that=this |
|
|
|
|
var tuijianlist=JSON.stringify(that.tuijianlist[0]) |
|
|
|
@ -248,17 +271,32 @@ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.input1 { |
|
|
|
|
height: 91rpx; |
|
|
|
|
flex: 1; |
|
|
|
|
font-size: 30rpx; |
|
|
|
|
color: #333; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.saoma { |
|
|
|
|
width: 44rpx; |
|
|
|
|
height: 44rpx; |
|
|
|
|
} |
|
|
|
|
.bg{ |
|
|
|
|
width: 100%; |
|
|
|
|
height: 100%; |
|
|
|
|
position: absolute; |
|
|
|
|
left: 0; |
|
|
|
|
top: 0; |
|
|
|
|
z-index: 1; |
|
|
|
|
background: #f5f5f5; |
|
|
|
|
} |
|
|
|
|
.content{ |
|
|
|
|
width: 100%; |
|
|
|
|
min-height: 100vh; |
|
|
|
|
position: relative; |
|
|
|
|
left: 481rpx; |
|
|
|
|
top: -70rpx |
|
|
|
|
left: 0; |
|
|
|
|
top: 0; |
|
|
|
|
z-index: 2; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.input { |
|
|
|
|
width: 531rpx; |
|
|
|
|
height: 91rpx; |
|
|
|
@ -268,9 +306,9 @@ |
|
|
|
|
padding: 0 20rpx; |
|
|
|
|
margin: 0 auto; |
|
|
|
|
margin-top: 48rpx; |
|
|
|
|
/* background: url("@/static/扫一扫.png") no-repeat; |
|
|
|
|
background-position: 501rpx 15px; |
|
|
|
|
background-size: 44rpx; */ |
|
|
|
|
display: flex; |
|
|
|
|
align-items: center; |
|
|
|
|
justify-content: space-between; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.popbox { |
|
|
|
@ -300,11 +338,16 @@ |
|
|
|
|
margin-left: 24rpx; |
|
|
|
|
background: #FFFFFF; |
|
|
|
|
margin-top: 30rpx; |
|
|
|
|
box-shadow: 0px 4rpx 13rpx 0px rgba(19,14,4,0.08); |
|
|
|
|
border-radius: 20rpx; |
|
|
|
|
overflow: hidden; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.btboxs { |
|
|
|
|
display: flex; |
|
|
|
|
flex-wrap: wrap; |
|
|
|
|
padding-bottom: 25rpx; |
|
|
|
|
overflow: hidden; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.btwz { |
|
|
|
@ -318,23 +361,25 @@ |
|
|
|
|
|
|
|
|
|
.btwzjg { |
|
|
|
|
margin-top: 15rpx; |
|
|
|
|
margin-left: 24rpx; |
|
|
|
|
margin-left: 15rpx; |
|
|
|
|
margin-bottom: 26rpx; |
|
|
|
|
white-space: nowrap; |
|
|
|
|
overflow: hidden; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.btwzjg1 { |
|
|
|
|
font-family: Alibaba PuHuiTi; |
|
|
|
|
font-weight: 400; |
|
|
|
|
font-size: 30rpx; |
|
|
|
|
font-size: 28rpx; |
|
|
|
|
color: #EF3D25; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.btwzjg2 { |
|
|
|
|
font-family: Alibaba PuHuiTi; |
|
|
|
|
font-weight: 400; |
|
|
|
|
font-size: 24rpx; |
|
|
|
|
font-size: 22rpx; |
|
|
|
|
color: #CCCCCC; |
|
|
|
|
padding-left: 15rpx; |
|
|
|
|
padding-left: 10rpx; |
|
|
|
|
text-decoration-line: line-through; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -396,11 +441,13 @@ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.mddz2 { |
|
|
|
|
margin-top: 32rpx; |
|
|
|
|
margin-top: 25rpx; |
|
|
|
|
display: flex; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.dz { |
|
|
|
|
font-size: 26rpx; |
|
|
|
|
color: #999; |
|
|
|
|
margin-left: 17rpx; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -443,7 +490,12 @@ |
|
|
|
|
font-size: 34rpx; |
|
|
|
|
color: #222222; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.mendian1 .data1{ |
|
|
|
|
font-size: 24rpx; |
|
|
|
|
color: #999; |
|
|
|
|
display: flex; |
|
|
|
|
align-items: center; |
|
|
|
|
} |
|
|
|
|
.mendian1 { |
|
|
|
|
display: flex; |
|
|
|
|
justify-content: space-between; |
|
|
|
@ -460,11 +512,30 @@ |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.top { |
|
|
|
|
width: 100%; |
|
|
|
|
left: 0; |
|
|
|
|
z-index: 22; |
|
|
|
|
height: 88rpx; |
|
|
|
|
overflow: hidden; |
|
|
|
|
position: fixed; |
|
|
|
|
} |
|
|
|
|
.top .location{ |
|
|
|
|
width: 100%; |
|
|
|
|
height: 88rpx; |
|
|
|
|
display: flex; |
|
|
|
|
position: fixed; |
|
|
|
|
align-items: center; |
|
|
|
|
position: relative; |
|
|
|
|
z-index: 23; |
|
|
|
|
} |
|
|
|
|
.top .hs{ |
|
|
|
|
width: 100%; |
|
|
|
|
height: 100%; |
|
|
|
|
position: absolute; |
|
|
|
|
top: 96rpx; |
|
|
|
|
left: 0; |
|
|
|
|
top: 0; |
|
|
|
|
z-index: 1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.jiantou { |
|
|
|
|
margin-left: 18rpx; |
|
|
|
|
margin-top: 10rpx; |
|
|
|
@ -490,7 +561,6 @@ |
|
|
|
|
box-shadow: 0rpx 4rpx 13rpx 0rpx rgba(19, 14, 4, 0.14); |
|
|
|
|
border-radius: 20rpx; |
|
|
|
|
margin: 0 auto; |
|
|
|
|
margin-top: -750rpx; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.topimg1 { |
|
|
|
|