|
|
@@ -107,22 +107,26 @@
|
|
|
</van-grid-item> -->
|
|
|
</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
|
|
|
style="padding-bottom: 100px"
|
|
|
class="box-list"
|
|
|
@@ -141,6 +145,7 @@
|
|
|
</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>
|
|
|
</template>
|
|
|
|
|
|
@@ -154,7 +159,7 @@ import ShowInfo from '../components/asset/showInfo.vue';
|
|
|
|
|
|
export default {
|
|
|
name: 'discover',
|
|
|
- inject: ['bar', 'setKeeps', 'scrollWrapper', 'changeScroll'],
|
|
|
+ inject: ['bar', 'setKeeps', 'scrollWrapper', 'changeScroll', 'bodyScroll'],
|
|
|
mixins: [banner, product],
|
|
|
components: {
|
|
|
ProductInfo,
|
|
|
@@ -203,7 +208,7 @@ export default {
|
|
|
this.getInit();
|
|
|
|
|
|
if (window.cordova && StatusBar && StatusBar.isVisible) {
|
|
|
- StatusBar.backgroundColorByHexString('#222426');
|
|
|
+ StatusBar.backgroundColorByHexString('#272b2e');
|
|
|
StatusBar.styleLightContent();
|
|
|
}
|
|
|
},
|
|
|
@@ -281,6 +286,7 @@ export default {
|
|
|
if (isFirst) {
|
|
|
this.page = 0;
|
|
|
this.list = [];
|
|
|
+ this.changeScroll(this.$refs.box.offsetTop - 50);
|
|
|
}
|
|
|
this.loading = true;
|
|
|
this.finished = false;
|
|
|
@@ -356,6 +362,9 @@ export default {
|
|
|
this.isLoading = false;
|
|
|
});
|
|
|
},
|
|
|
+ goTop() {
|
|
|
+ this.changeScroll(0, true);
|
|
|
+ },
|
|
|
goHall() {
|
|
|
this.$http
|
|
|
.get('/sysConfig/get/hall_show')
|
|
|
@@ -375,6 +384,10 @@ export default {
|
|
|
this.$nextTick(() => {
|
|
|
this.changeScroll(this.scrollTop);
|
|
|
});
|
|
|
+ if (window.cordova && StatusBar && StatusBar.isVisible) {
|
|
|
+ StatusBar.backgroundColorByHexString('#272b2e');
|
|
|
+ StatusBar.styleLightContent();
|
|
|
+ }
|
|
|
},
|
|
|
beforeRouteLeave(to, from, next) {
|
|
|
if (!to.meta.menuPage || to.path === '/hall') {
|
|
|
@@ -393,7 +406,7 @@ export default {
|
|
|
.top {
|
|
|
display: flex;
|
|
|
padding: 9px 16px;
|
|
|
- background-color: #222426;
|
|
|
+ background-color: #272b2e;
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
.logo {
|
|
|
@@ -502,7 +515,7 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
.menu-left + .menu-right {
|
|
|
- margin-left: 16px;
|
|
|
+ margin-left: 12px;
|
|
|
}
|
|
|
.menu-left {
|
|
|
align-self: stretch;
|
|
|
@@ -579,6 +592,7 @@ export default {
|
|
|
border-radius: 12px;
|
|
|
}
|
|
|
}
|
|
|
+ min-height: 100vh;
|
|
|
}
|
|
|
|
|
|
/deep/.van-tabs__nav--line.van-tabs__nav--complete {
|
|
|
@@ -597,14 +611,27 @@ export default {
|
|
|
color: @prim;
|
|
|
}
|
|
|
}
|
|
|
-.box {
|
|
|
- border-top: 5px solid #373b3e;
|
|
|
-}
|
|
|
.casting {
|
|
|
padding-bottom: 10px;
|
|
|
}
|
|
|
-
|
|
|
+.van-tabs {
|
|
|
+ border-top: 2px solid #373b3e;
|
|
|
+}
|
|
|
/deep/.van-tab {
|
|
|
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>
|