|
@@ -107,22 +107,26 @@
|
|
|
</van-grid-item> -->
|
|
</van-grid-item> -->
|
|
|
</van-grid>
|
|
</van-grid>
|
|
|
|
|
|
|
|
- <div class="box">
|
|
|
|
|
- <van-tabs
|
|
|
|
|
- v-model:active="sort"
|
|
|
|
|
- shrink
|
|
|
|
|
- line-width="16"
|
|
|
|
|
- :before-change="beforeChange"
|
|
|
|
|
- line-height="2"
|
|
|
|
|
- @change="getList(true)"
|
|
|
|
|
- >
|
|
|
|
|
- <van-tab
|
|
|
|
|
- v-for="(item, index) in selectOptions"
|
|
|
|
|
- :key="index"
|
|
|
|
|
- :title="item.label"
|
|
|
|
|
- :name="item.value"
|
|
|
|
|
- ></van-tab>
|
|
|
|
|
- </van-tabs>
|
|
|
|
|
|
|
+ <div class="box" ref="box">
|
|
|
|
|
+ <van-sticky :offset-top="50">
|
|
|
|
|
+ <van-tabs
|
|
|
|
|
+ class="box-tabs"
|
|
|
|
|
+ v-model:active="sort"
|
|
|
|
|
+ shrink
|
|
|
|
|
+ line-width="16"
|
|
|
|
|
+ :before-change="beforeChange"
|
|
|
|
|
+ line-height="2"
|
|
|
|
|
+ @change="getList(true)"
|
|
|
|
|
+ >
|
|
|
|
|
+ <van-tab
|
|
|
|
|
+ v-for="(item, index) in selectOptions"
|
|
|
|
|
+ :key="index"
|
|
|
|
|
+ :title="item.label"
|
|
|
|
|
+ :name="item.value"
|
|
|
|
|
+ ></van-tab>
|
|
|
|
|
+ </van-tabs>
|
|
|
|
|
+ </van-sticky>
|
|
|
|
|
+
|
|
|
<van-list
|
|
<van-list
|
|
|
style="padding-bottom: 100px"
|
|
style="padding-bottom: 100px"
|
|
|
class="box-list"
|
|
class="box-list"
|
|
@@ -139,6 +143,7 @@
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="tabbar-placeholder"></div>
|
|
<div class="tabbar-placeholder"></div>
|
|
|
|
|
+ <img src="../assets/icon_zhiding.png" @click="goTop" class="goTop" v-if="bodyScroll.value > 100" alt="" />
|
|
|
</van-pull-refresh>
|
|
</van-pull-refresh>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -151,7 +156,7 @@ import CreatorSmall from '../components/creator/CreatorSmall.vue';
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
name: 'discover',
|
|
name: 'discover',
|
|
|
- inject: ['bar', 'setKeeps', 'scrollWrapper', 'changeScroll'],
|
|
|
|
|
|
|
+ inject: ['bar', 'setKeeps', 'scrollWrapper', 'changeScroll', 'bodyScroll'],
|
|
|
mixins: [banner, product],
|
|
mixins: [banner, product],
|
|
|
components: {
|
|
components: {
|
|
|
ProductInfo,
|
|
ProductInfo,
|
|
@@ -199,7 +204,7 @@ export default {
|
|
|
this.getInit();
|
|
this.getInit();
|
|
|
|
|
|
|
|
if (window.cordova && StatusBar && StatusBar.isVisible) {
|
|
if (window.cordova && StatusBar && StatusBar.isVisible) {
|
|
|
- StatusBar.backgroundColorByHexString('#222426');
|
|
|
|
|
|
|
+ StatusBar.backgroundColorByHexString('#272b2e');
|
|
|
StatusBar.styleLightContent();
|
|
StatusBar.styleLightContent();
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
@@ -282,6 +287,7 @@ export default {
|
|
|
if (isFirst) {
|
|
if (isFirst) {
|
|
|
this.page = 0;
|
|
this.page = 0;
|
|
|
this.list = [];
|
|
this.list = [];
|
|
|
|
|
+ this.changeScroll(this.$refs.box.offsetTop - 50);
|
|
|
}
|
|
}
|
|
|
this.loading = true;
|
|
this.loading = true;
|
|
|
this.finished = false;
|
|
this.finished = false;
|
|
@@ -348,6 +354,9 @@ export default {
|
|
|
this.isLoading = false;
|
|
this.isLoading = false;
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
|
|
+ goTop() {
|
|
|
|
|
+ this.changeScroll(0, true);
|
|
|
|
|
+ },
|
|
|
goHall() {
|
|
goHall() {
|
|
|
this.$http
|
|
this.$http
|
|
|
.get('/sysConfig/get/hall_show')
|
|
.get('/sysConfig/get/hall_show')
|
|
@@ -368,7 +377,7 @@ export default {
|
|
|
this.changeScroll(this.scrollTop);
|
|
this.changeScroll(this.scrollTop);
|
|
|
});
|
|
});
|
|
|
if (window.cordova && StatusBar && StatusBar.isVisible) {
|
|
if (window.cordova && StatusBar && StatusBar.isVisible) {
|
|
|
- StatusBar.backgroundColorByHexString('#222426');
|
|
|
|
|
|
|
+ StatusBar.backgroundColorByHexString('#272b2e');
|
|
|
StatusBar.styleLightContent();
|
|
StatusBar.styleLightContent();
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
@@ -389,7 +398,7 @@ export default {
|
|
|
.top {
|
|
.top {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
padding: 9px 16px;
|
|
padding: 9px 16px;
|
|
|
- background-color: #222426;
|
|
|
|
|
|
|
+ background-color: #272b2e;
|
|
|
display: flex;
|
|
display: flex;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
.logo {
|
|
.logo {
|
|
@@ -498,7 +507,7 @@ export default {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
.menu-left + .menu-right {
|
|
.menu-left + .menu-right {
|
|
|
- margin-left: 16px;
|
|
|
|
|
|
|
+ margin-left: 12px;
|
|
|
}
|
|
}
|
|
|
.menu-left {
|
|
.menu-left {
|
|
|
align-self: stretch;
|
|
align-self: stretch;
|
|
@@ -562,6 +571,7 @@ export default {
|
|
|
// display: flex;
|
|
// display: flex;
|
|
|
// flex-wrap: wrap;
|
|
// flex-wrap: wrap;
|
|
|
padding: 0 8px 2px;
|
|
padding: 0 8px 2px;
|
|
|
|
|
+ min-height: 100vh;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/deep/.van-tabs__nav--line.van-tabs__nav--complete {
|
|
/deep/.van-tabs__nav--line.van-tabs__nav--complete {
|
|
@@ -580,14 +590,27 @@ export default {
|
|
|
color: @prim;
|
|
color: @prim;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-.box {
|
|
|
|
|
- border-top: 5px solid #373b3e;
|
|
|
|
|
-}
|
|
|
|
|
.casting {
|
|
.casting {
|
|
|
padding-bottom: 10px;
|
|
padding-bottom: 10px;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+.van-tabs {
|
|
|
|
|
+ border-top: 2px solid #373b3e;
|
|
|
|
|
+}
|
|
|
/deep/.van-tab {
|
|
/deep/.van-tab {
|
|
|
margin-right: 0;
|
|
margin-right: 0;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+/deep/.van-sticky--fixed {
|
|
|
|
|
+ background-color: #272b2e;
|
|
|
|
|
+}
|
|
|
|
|
+.goTop {
|
|
|
|
|
+ position: fixed;
|
|
|
|
|
+ right: 16px;
|
|
|
|
|
+ bottom: 70px;
|
|
|
|
|
+ bottom: calc(env(safe-area-inset-bottom) + 70px);
|
|
|
|
|
+ width: 44px;
|
|
|
|
|
+ height: 44px;
|
|
|
|
|
+ display: block;
|
|
|
|
|
+ z-index: 20;
|
|
|
|
|
+}
|
|
|
</style>
|
|
</style>
|