|
@@ -38,11 +38,11 @@
|
|
|
|
|
|
<view v-if="store_summary" style="padding: 0 32upx;">{{store_summary}}</view>
|
|
|
<view>
|
|
|
- <van-tabs v-model="activeindex" @click="onChange">
|
|
|
+ <van-tabs v-model="activeindex" @click.stop="onChange">
|
|
|
<van-tab :name="0" title="服务">
|
|
|
<view>
|
|
|
<view class="giveList">
|
|
|
- <view class="giveItem" v-for="(item,index) in category_list" :key="index" @click="godetail(item)">
|
|
|
+ <view class="giveItem" v-for="(item,index) in category_list" :key="index" @click.stop="godetail(item)">
|
|
|
<image :src="item.pic"
|
|
|
style="width:100%;height: 100upx;background: #909399">
|
|
|
</image>
|
|
@@ -52,41 +52,62 @@
|
|
|
|
|
|
<view style="padding: 0upx 18upx;">
|
|
|
<view style="width: 95%;margin: 0 auto;">
|
|
|
- <view @click="choseType(1)" :class="tabIndex==1 ? 'active' : ''" class="typeItem">
|
|
|
+ <view @click.stop="choseType(1)" :class="tabIndex==1 ? 'active' : ''" class="typeItem">
|
|
|
综合
|
|
|
</view>
|
|
|
- <view @click="choseType(2)" class="typeItem">
|
|
|
+ <view@click.stop="choseType(2)" class="typeItem">
|
|
|
<view class="iconClass">
|
|
|
<view :class="tabIndex==2 ? 'active' : ''">上新</view>
|
|
|
<view style="display: flex;flex-direction: column;margin-left: 10rpx;">
|
|
|
- <view @click.stop="changeisclick(1)"><van-icon size="8px" name="arrow-up" :class="istopclick==1 ? 'active' : ''" /></view>
|
|
|
- <view @click.stop="changeisclick(2)">
|
|
|
- <van-icon :class="istopclick==2 ? 'active' : ''" size="8px" name="arrow-down" />
|
|
|
+ <view v-if="istopclick==0">
|
|
|
+ <!-- <van-icon size="8px" name="arrow-up" :class="istopclick==1 ? 'active' : ''" /> -->
|
|
|
+ <img style="width: 36upx;height: 36upx;vertical-align: middle;" src='../../static/sort.png' />
|
|
|
+ </view>
|
|
|
+ <view v-if="istopclick==1">
|
|
|
+ <!-- <van-icon size="8px" name="arrow-up" :class="istopclick==1 ? 'active' : ''" /> -->
|
|
|
+ <img style="width: 36upx;height: 36upx;vertical-align: middle;" src='../../static/sort_down.png' />
|
|
|
+ </view>
|
|
|
+ <view v-if="istopclick==2">
|
|
|
+ <!-- <van-icon :class="istopclick==2 ? 'active' : ''" size="8px" name="arrow-down" /> -->
|
|
|
+ <img style="width: 36upx;height: 36upx;vertical-align: middle;" src='../../static/sort_up.png' />
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view @click="choseType(3)" class="typeItem">
|
|
|
+ <view @click.stop="choseType(3)" class="typeItem">
|
|
|
<view class="iconClass">
|
|
|
<view :class="tabIndex==3 ? 'active' : ''">价格</view>
|
|
|
<view style="display: flex;flex-direction: column;margin-left: 10rpx;">
|
|
|
- <view @click.stop="changeisclick(3)" >
|
|
|
+ <!-- <view @click.stop="changeisclick(3)" >
|
|
|
<van-icon :class="istopclick==3 ? 'active' : ''" size="8px" name="arrow-up" />
|
|
|
</view>
|
|
|
<view @click.stop="changeisclick(4)">
|
|
|
<van-icon :class="istopclick==4 ? 'active' : ''" size="8px" name="arrow-down" />
|
|
|
+ </view> -->
|
|
|
+ <view v-if="isprice==0">
|
|
|
+ <img style="width: 36upx;height: 36upx;vertical-align: middle;" src='../../static/sort.png' />
|
|
|
+ </view>
|
|
|
+ <view v-if="isprice==3">
|
|
|
+ <img style="width: 36upx;height: 36upx;vertical-align: middle;" src='../../static/sort_down.png' />
|
|
|
</view>
|
|
|
+ <view v-if="isprice==4">
|
|
|
+ <img style="width: 36upx;height: 36upx;vertical-align: middle;" src='../../static/sort_up.png' />
|
|
|
+ </view>
|
|
|
+
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
<view @click.stop="choseType(4)" class="typeItem">
|
|
|
- <view :class="tabIndex==4 ? 'active' : ''">分类</view>
|
|
|
+ <view :class="tabIndex==4 ? 'active' : ''">分类
|
|
|
+ <img v-if="tabIndex != 4" style="width: 36upx;height: 36upx;" src='../../static/sortb.png' />
|
|
|
+ <img v-if="tabIndex == 4" style="width: 36upx;height: 36upx;" src='../../static/sortb_up.png' />
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
<view v-if="tabIndex==4">
|
|
|
- <view style="margin: 10upx 36upx;float: left;"
|
|
|
- v-for="(item, index) in category_list" :key="index"
|
|
|
+ <view style="margin: 18upx 36upx;float: left;width: 110upx;text-align: center;"
|
|
|
+ v-for="(item, index) in classify" :key="index"
|
|
|
@click.stop="confirm(item)" >
|
|
|
{{item.gc_name}}
|
|
|
</view>
|
|
@@ -110,8 +131,8 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
</scroll-view>
|
|
|
- <logionDialog @confirmDiaolog="confirmDiaolog" @cancelDiaolog="cancelDiaolog" :showdialog="showdialog"/>
|
|
|
- </view>
|
|
|
+ <Gobacktop @getop="getop" v-if="isTop" />
|
|
|
+ </view>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
@@ -119,11 +140,11 @@
|
|
|
mapMutations,mapState
|
|
|
} from 'vuex'
|
|
|
import uniIcon from '@/component/uni-icon/uni-icon.vue'
|
|
|
- import logionDialog from '@/component/loginDialog.vue'
|
|
|
import uniNavBar from '@/component/uni-nav-bar/uni-nav-bar.vue'
|
|
|
import commoNar from '@/component/commoNar.vue' // 筛选栏
|
|
|
import shopList from '@/component/shopList.vue' // 商品列表
|
|
|
import assess from '@/component/assess.vue' // 评价列表
|
|
|
+ import Gobacktop from '@/component/Gobacktop.vue'
|
|
|
export default {
|
|
|
components: {
|
|
|
uniIcon,
|
|
@@ -131,10 +152,11 @@
|
|
|
commoNar,
|
|
|
assess,
|
|
|
shopList,
|
|
|
- logionDialog
|
|
|
+ Gobacktop
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ isTop: 0,
|
|
|
hoteldetail: {},
|
|
|
has_collected: 0, // 收藏酒店
|
|
|
chosegoods_commonid: true,
|
|
@@ -160,8 +182,9 @@
|
|
|
goods_price :'',// 价格排序 desc-降序 asc-尚需
|
|
|
praise :'',// 好评率排序 desc-降序 asc-尚需
|
|
|
keyword:'',//g 关键字搜索
|
|
|
- category_list: [], // 一级菜单栏
|
|
|
+ category_list: [{gc_id_1:'',gc_name:'全部'}], // 一级菜单栏
|
|
|
tabIndex: 1,
|
|
|
+ isprice:0,
|
|
|
menu: [{
|
|
|
name: '综合',
|
|
|
id: '0'
|
|
@@ -177,6 +200,7 @@
|
|
|
id:'3'
|
|
|
}
|
|
|
],
|
|
|
+ classify: [],
|
|
|
background: ['color1', 'color2', 'color3'],
|
|
|
indicatorDots: true,
|
|
|
autoplay: true,
|
|
@@ -236,6 +260,13 @@
|
|
|
]),
|
|
|
},
|
|
|
methods: {
|
|
|
+ getop() {
|
|
|
+ this.scrollTop = this.old.scrollTop
|
|
|
+ this.$nextTick(function(){
|
|
|
+ this.scrollTop=0;
|
|
|
+ });
|
|
|
+ this.isTop = false;
|
|
|
+ },
|
|
|
// 入住酒店反馈
|
|
|
gofeedback() {
|
|
|
if(this.hoteldetail.can_feedback == 0) {
|
|
@@ -276,18 +307,19 @@
|
|
|
}
|
|
|
},
|
|
|
// 关闭弹窗
|
|
|
- cancelDiaolog() {
|
|
|
- this.showdialog = false;
|
|
|
- },
|
|
|
- // 确定
|
|
|
- confirmDiaolog() {
|
|
|
- this.showdialog = false;
|
|
|
- },
|
|
|
+ // cancelDiaolog() {
|
|
|
+ // this.showdialog = false;
|
|
|
+ // },
|
|
|
+ // // 确定
|
|
|
+ // confirmDiaolog() {
|
|
|
+ // this.showdialog = false;
|
|
|
+ // },
|
|
|
choseType(e) {
|
|
|
this.tabIndex = e;
|
|
|
- this.goods_list = [];
|
|
|
+ //this.goods_list = [];
|
|
|
if(this.tabIndex == 1) { // 服务
|
|
|
this.istopclick = 0;
|
|
|
+ this.isprice = 0;
|
|
|
this.gc_id_1 = '';
|
|
|
this.goods_price = '';
|
|
|
this.goods_commonid = '';
|
|
@@ -295,26 +327,28 @@
|
|
|
this.chosegoods_price = true;
|
|
|
console.log(this.chosegoods_commonid);
|
|
|
this.istopclick = this.chosegoods_commonid?1:2;
|
|
|
+ this.isprice = 0;
|
|
|
this.goods_price = '';
|
|
|
this.goods_commonid = this.chosegoods_commonid?'asc':'desc';
|
|
|
- this.gc_id_1 = '';
|
|
|
this.chosegoods_commonid = !this.chosegoods_commonid;
|
|
|
}else if(this.tabIndex == 3){ // 价格
|
|
|
this.chosegoods_commonid = true;
|
|
|
console.log(this.chosegoods_price);
|
|
|
- this.istopclick = this.chosegoods_price?3:4;
|
|
|
+ this.istopclick = 0;
|
|
|
+ this.isprice = this.chosegoods_price?3:4;
|
|
|
this.goods_price = this.chosegoods_price?'desc':'asc';
|
|
|
this.goods_commonid = '';
|
|
|
- this.gc_id_1 = '';
|
|
|
this.chosegoods_price = !this.chosegoods_price;
|
|
|
}else if(this.tabIndex ==4) { // 分类
|
|
|
this.istopclick = 0;
|
|
|
+ this.isprice = 0;
|
|
|
this.goods_price = '';
|
|
|
this.goods_commonid = '';
|
|
|
this.chosegoods_price = true;
|
|
|
this.chosegoods_commonid = true;
|
|
|
}
|
|
|
- this.getshopdetail();
|
|
|
+
|
|
|
+ this.getshopdetail(2);
|
|
|
},
|
|
|
// 点击切换上下
|
|
|
changeisclick(e) {
|
|
@@ -331,7 +365,7 @@
|
|
|
},
|
|
|
|
|
|
// 获取商品详情
|
|
|
- getshopdetail() {
|
|
|
+ getshopdetail(e) {
|
|
|
this.request({
|
|
|
url:"/v2/entry/storeGoods",
|
|
|
method:'get',
|
|
@@ -343,6 +377,9 @@
|
|
|
gc_id_1: this.gc_id_1
|
|
|
},
|
|
|
success: (res) => {
|
|
|
+ if(e == 2) {
|
|
|
+ this.goods_list = [];
|
|
|
+ }
|
|
|
this.goods_list = this.goods_list.concat(res.data.data.goods_list);
|
|
|
if(res.data.data.goods_list.length < 10) {
|
|
|
this.isDetail = 2;
|
|
@@ -365,7 +402,10 @@
|
|
|
item.text = item.gc_name;
|
|
|
item.value = idx;
|
|
|
})
|
|
|
+ let array = [{gc_id:'',gc_name:'全部'}];
|
|
|
+ _this.classify = array.concat(category_list);
|
|
|
_this.category_list = category_list;
|
|
|
+ console.log(_this.category_list)
|
|
|
},
|
|
|
})
|
|
|
},
|
|
@@ -425,7 +465,7 @@
|
|
|
confirm(e) {
|
|
|
this.tabIndex = 0;
|
|
|
this.gc_id_1 = e.gc_id;
|
|
|
- this.getshopdetail();
|
|
|
+ this.getshopdetail(2);
|
|
|
},
|
|
|
upper(e) {
|
|
|
console.log("顶部")
|
|
@@ -449,12 +489,17 @@
|
|
|
|
|
|
// 滚动时触发
|
|
|
scroll(e) {
|
|
|
- this.old.scrollTop = e.detail.scrollTop
|
|
|
+ if(e.detail.scrollTop > 400) {
|
|
|
+ this.isTop = true;
|
|
|
+ }else{ //当距离小于500时显示回到顶部按钮
|
|
|
+ this.isTop = false;
|
|
|
+ }
|
|
|
if(e.detail.scrollTop > 160) {
|
|
|
this.iScrolltop = 2;
|
|
|
}else {
|
|
|
this.iScrolltop = 1;
|
|
|
}
|
|
|
+ this.old.scrollTop = e.detail.scrollTop
|
|
|
},
|
|
|
|
|
|
// 返回上一页
|