|
@@ -1,6 +1,17 @@
|
|
|
<template>
|
|
|
<view class="box">
|
|
|
-
|
|
|
+ <view class="regionBox">
|
|
|
+ <view class="regionLine" @click="gocity">
|
|
|
+ <view class="regionTxt">{{cityName}}</view>
|
|
|
+ <image src="../../static/timg/icon_arrow_def@2x.png" mode="" class="jtbelow"></image>
|
|
|
+ </view>
|
|
|
+ <view class="regionSx"></view>
|
|
|
+ <view class="regionLine" @click="quCilck">
|
|
|
+ <view class="regionTxt">{{areaName}}</view>
|
|
|
+ <image src="../../static/timg/icon_arrow_def@2x.png" mode="" class="jtbelow"></image>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view style="height: 90rpx;"></view>
|
|
|
<view class="shopline" v-for="(item,index) in queryShopList" @click="goDetail(item)">
|
|
|
<view class="shoplineLeft">
|
|
|
<image :src="item.photoPath" mode="" class="shopImg" v-if="item.photoPath"></image>
|
|
@@ -28,7 +39,20 @@
|
|
|
<view class="noMore" v-if="noMoreShow && (queryShopList.length!=0)">没有更多数据</view>
|
|
|
<!-- 无数据空白页 -->
|
|
|
<nodata v-if="queryShopList.length==0"></nodata>
|
|
|
-
|
|
|
+ <uni-popup ref="popup" type="right" :mask-click="true">
|
|
|
+ <view class="popup-content">
|
|
|
+ <scroll-view class="brandList" scroll-y="true">
|
|
|
+ <!-- :class="{areaActvie:item.area==areaName}" -->
|
|
|
+ <view v-for="item in areaList" class="areaListLine"
|
|
|
+
|
|
|
+ @click="checkarea(item)">
|
|
|
+ <span >{{item.area}}</span>
|
|
|
+ <image v-if="item.code==area" class="areaCkIcon" src="http://dmsphoto.66km.com.cn/thFiles/0A1DADEA-1807-4ABC-B391-ECC8B1882DA4.png" mode=""></image>
|
|
|
+ </view>
|
|
|
+ </scroll-view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ </uni-popup>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
@@ -48,14 +72,21 @@
|
|
|
queryShopList: '',
|
|
|
noMoreShow: false,
|
|
|
goodsId:'',
|
|
|
-
|
|
|
-
|
|
|
+ cityName:'城市',
|
|
|
+ area:'',
|
|
|
+ cityCode:'',
|
|
|
+ areaName:'区域',
|
|
|
+ loading:false,
|
|
|
+ areaList:'',
|
|
|
+ type:'',
|
|
|
}
|
|
|
},
|
|
|
|
|
|
onLoad(opt) {
|
|
|
var that = this;
|
|
|
this.goodsId=opt.goodsId;
|
|
|
+ this.type=opt.type
|
|
|
+ uni.removeStorageSync('selectCity');
|
|
|
uni.authorize({
|
|
|
scope: 'scope.userLocation',
|
|
|
success() {
|
|
@@ -65,8 +96,9 @@
|
|
|
console.log(res)
|
|
|
that.location.lat = res.latitude
|
|
|
that.location.lng = res.longitude
|
|
|
-
|
|
|
that.getqueryShopList() //获取全部门店列表
|
|
|
+ that.getAdress();
|
|
|
+ //that.getqueryShopList() //获取全部门店列表
|
|
|
|
|
|
},
|
|
|
fail(err) {
|
|
@@ -79,26 +111,155 @@
|
|
|
that.getqueryShopList();
|
|
|
|
|
|
}})
|
|
|
- },
|
|
|
- methods: {
|
|
|
|
|
|
+ },
|
|
|
+ onShow() {
|
|
|
+ const selectCity = uni.getStorageSync('selectCity');
|
|
|
+ //console.log("onShow")
|
|
|
+ //console.log(selectCity)
|
|
|
+ if(selectCity){
|
|
|
+ this.cityName=selectCity.city
|
|
|
+ this.cityCode=selectCity.code
|
|
|
+ this.areaName='区域'
|
|
|
+ this.area=''
|
|
|
+ this.getAreaList()
|
|
|
+ this.getqueryShopList() //获取门店列表
|
|
|
+ }
|
|
|
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ quCilck(){
|
|
|
+ this.$refs.popup.open("right")
|
|
|
+ this.popupShow=true;
|
|
|
+ },
|
|
|
+ gocity(){
|
|
|
+ if(this.type==4){
|
|
|
+ uni.navigateTo({
|
|
|
+ url:'/pages/subPack/chooseCity?type=4&id='+this.goodsId
|
|
|
+ })
|
|
|
+ }else if(this.type==5){
|
|
|
+ uni.navigateTo({
|
|
|
+ url:'/pages/subPack/chooseCity?type=5&id='+this.goodsId
|
|
|
+ })
|
|
|
+ }else{
|
|
|
+ uni.navigateTo({
|
|
|
+ url:'/pages/subPack/chooseCity?type=2&id='+this.goodsId
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+ checkarea(item){
|
|
|
+ if(this.area==item.code){
|
|
|
+ this.areaName='区域'
|
|
|
+ this.area=''
|
|
|
+ this.getqueryShopList() //获取门店列表
|
|
|
+ }else{
|
|
|
+ this.areaName=item.area
|
|
|
+ this.area=item.code
|
|
|
+ this.getqueryShopList() //获取门店列表
|
|
|
+ }
|
|
|
+ this.$refs.popup.close()
|
|
|
+ },
|
|
|
getqueryShopList() {
|
|
|
uni.showLoading({
|
|
|
title: '加载中'
|
|
|
})
|
|
|
- this.$http('openMall/openStoreList', {
|
|
|
- goodsId:this.goodsId,
|
|
|
- lat: this.location.lat ? this.location.lat : '',
|
|
|
- lng: this.location.lng ? this.location.lng : '',
|
|
|
- }, 'GET').then(res => {
|
|
|
+ if(this.type==4){
|
|
|
+ var url='openIntegralMall/getShopList'
|
|
|
+ var params = {
|
|
|
+ id:this.goodsId,
|
|
|
+ city:this.cityCode,
|
|
|
+ area:this.area
|
|
|
+ }
|
|
|
+ }else if(this.type==5){
|
|
|
+ var url='openHome/queryShopList'
|
|
|
+ var params = {
|
|
|
+ collectingID:this.goodsId,
|
|
|
+ city:this.cityCode,
|
|
|
+ area:this.area
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ var url='openMall/openStoreList'
|
|
|
+ var params = {
|
|
|
+ goodsId:this.goodsId,
|
|
|
+ id:this.goodsId,
|
|
|
+ lat: this.location.lat ? this.location.lat : '',
|
|
|
+ lng: this.location.lng ? this.location.lng : '',
|
|
|
+ city:this.cityCode,
|
|
|
+ area:this.area
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ this.$http(url,params, 'GET').then(res => {
|
|
|
uni.hideLoading();
|
|
|
this.queryShopList = res.data
|
|
|
//console.log('list+=', this.queryShopList);
|
|
|
|
|
|
})
|
|
|
},
|
|
|
-
|
|
|
+ getAreaList(){
|
|
|
+ if(this.type==4){
|
|
|
+ var url='openIntegralMall/shop-area-list'
|
|
|
+ var params = {
|
|
|
+ city:this.cityCode,
|
|
|
+ id:this.goodsId,
|
|
|
+ }
|
|
|
+ }else if(this.type==5){
|
|
|
+ //集客
|
|
|
+ var url='openHome/shop-area-list'
|
|
|
+ var params = {
|
|
|
+ city:this.cityCode,
|
|
|
+ collectingID:this.goodsId,
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ var url='openMall/shop-area-list'
|
|
|
+ var params = {
|
|
|
+ city:this.cityCode,
|
|
|
+ id:this.goodsId,
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.$http(url, params, 'GET').then(res => {
|
|
|
+ this.areaList=res.data
|
|
|
+
|
|
|
+ })
|
|
|
+ },
|
|
|
+ getAdress(){
|
|
|
+ var that=this;
|
|
|
+ var location = this.location.lng + ',' + this.location.lat
|
|
|
+ console.log('location'+location)
|
|
|
+ uni.request({
|
|
|
+ url: 'https://restapi.amap.com/v3/geocode/regeo',
|
|
|
+ data: {
|
|
|
+ key: '389a059efa3f499d9145eb84b1c3248d',
|
|
|
+ location: location,
|
|
|
+ },
|
|
|
+ dataType: "json",
|
|
|
+ success: (res) => {
|
|
|
+ console.log('定位城市', res);
|
|
|
+ if(res.data.regeocode){
|
|
|
+ console.log("城市名称")
|
|
|
+ console.log(res.data.regeocode.addressComponent.city)
|
|
|
+ // console.log(res.data.pois[0].cityname)
|
|
|
+ let cityname = res.data.regeocode.addressComponent.city;
|
|
|
+ var cityCode = res.data.regeocode.addressComponent.adcode
|
|
|
+ cityCode = cityCode.slice(0, -2)
|
|
|
+ cityCode = cityCode + '00'
|
|
|
+ this.cityName = cityname
|
|
|
+ this.cityCode = cityCode
|
|
|
+ that.getqueryShopList() //获取全部门店列表
|
|
|
+ that.getAreaList()
|
|
|
+
|
|
|
+ }else{
|
|
|
+ console.log("接口获取失败")
|
|
|
+ that.cityCode = ''
|
|
|
+ that.getqueryShopList() //获取全部门店列表
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
goDetail(item) {
|
|
|
this.$store.commit('mutationsckshopInfo', item)
|
|
|
uni.navigateBack({
|
|
@@ -126,7 +287,7 @@
|
|
|
.box {
|
|
|
min-height: 100vh;
|
|
|
background-color: #F4F5F7;
|
|
|
- padding-top: 20rpx;
|
|
|
+ /* padding-top: 20rpx; */
|
|
|
padding-bottom: 60rpx;
|
|
|
}
|
|
|
|
|
@@ -362,4 +523,49 @@
|
|
|
color: #999999;
|
|
|
font-size: 28rpx;
|
|
|
}
|
|
|
+ .regionSx{
|
|
|
+ width: 2rpx;height: 33rpx;background:#EEEEEE;
|
|
|
+ }
|
|
|
+ .regionLine{
|
|
|
+ display: flex;justify-content: center;font-size: 26rpx;
|
|
|
+ width: 370rpx;line-height: 33rpx;color: #3C3C3C;
|
|
|
+ }
|
|
|
+ .regionBox{
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ background: #FFFFFF;
|
|
|
+ padding: 20rpx 0;
|
|
|
+ margin-bottom: 20rpx;
|
|
|
+ position: fixed;
|
|
|
+ width: 100vw;
|
|
|
+ top: 0;left: 0;
|
|
|
+ }
|
|
|
+ .jtbelow{
|
|
|
+ width: 14rpx;height: 7rpx;
|
|
|
+ margin-left: 10rpx;margin-top: 10rpx;
|
|
|
+ }
|
|
|
+ .popup-content{
|
|
|
+ width: 590rpx;
|
|
|
+ background: #FFFFFF;
|
|
|
+ height: 100vh;
|
|
|
+ }
|
|
|
+ .brandList{
|
|
|
+ height:99vh;
|
|
|
+ }
|
|
|
+ .areaListLine{
|
|
|
+ padding:30rpx 24rpx;
|
|
|
+ color: #666666;
|
|
|
+ font-size: 28rpx;
|
|
|
+ border-bottom: 1px solid #eaeaea;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ line-height: 28rpx;
|
|
|
+ }
|
|
|
+ .areaActvie{
|
|
|
+ background: #F19D01;
|
|
|
+ color: #FFFFFF;
|
|
|
+ }
|
|
|
+ .areaCkIcon{
|
|
|
+ width: 38rpx;height: 28rpx;
|
|
|
+ }
|
|
|
</style>
|