panhui 3 лет назад
Родитель
Сommit
9ffc563cb9
4 измененных файлов с 52 добавлено и 27 удалено
  1. BIN
      src/assets/icon_zhiding.png
  2. 4 1
      src/components/product/SaleInfo.vue
  3. 0 1
      src/router/index.js
  4. 48 25
      src/views/Discover.vue

BIN
src/assets/icon_zhiding.png


+ 4 - 1
src/components/product/SaleInfo.vue

@@ -82,7 +82,10 @@ export default {
         },
         search() {
             if (this.info.type === 'BLIND_BOX') {
-                return this.blindBoxItems.length > 0 ? this.blindBoxItems[0].name.split('#')[0] : '';
+                let name = this.blindBoxItems.length > 0 ? this.blindBoxItems[0].name.split('#')[0] : '';
+                name = name.replace(/:/, '·');
+                name = name.replace(/:/, '·');
+                return name.split('·')[0];
             }
             return this.info.name;
         }

+ 0 - 1
src/router/index.js

@@ -420,7 +420,6 @@ const routes = [
         component: () => import('../views/asset/Detail.vue'),
         meta: {
             pageType: Page.Every,
-
             tabColor: '#181818'
         }
     },

+ 48 - 25
src/views/Discover.vue

@@ -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"
@@ -139,6 +143,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>
 
@@ -151,7 +156,7 @@ import CreatorSmall from '../components/creator/CreatorSmall.vue';
 
 export default {
     name: 'discover',
-    inject: ['bar', 'setKeeps', 'scrollWrapper', 'changeScroll'],
+    inject: ['bar', 'setKeeps', 'scrollWrapper', 'changeScroll', 'bodyScroll'],
     mixins: [banner, product],
     components: {
         ProductInfo,
@@ -199,7 +204,7 @@ export default {
         this.getInit();
 
         if (window.cordova && StatusBar && StatusBar.isVisible) {
-            StatusBar.backgroundColorByHexString('#222426');
+            StatusBar.backgroundColorByHexString('#272b2e');
             StatusBar.styleLightContent();
         }
     },
@@ -282,6 +287,7 @@ export default {
             if (isFirst) {
                 this.page = 0;
                 this.list = [];
+                this.changeScroll(this.$refs.box.offsetTop - 50);
             }
             this.loading = true;
             this.finished = false;
@@ -348,6 +354,9 @@ export default {
                 this.isLoading = false;
             });
         },
+        goTop() {
+            this.changeScroll(0, true);
+        },
         goHall() {
             this.$http
                 .get('/sysConfig/get/hall_show')
@@ -368,7 +377,7 @@ export default {
             this.changeScroll(this.scrollTop);
         });
         if (window.cordova && StatusBar && StatusBar.isVisible) {
-            StatusBar.backgroundColorByHexString('#222426');
+            StatusBar.backgroundColorByHexString('#272b2e');
             StatusBar.styleLightContent();
         }
     },
@@ -389,7 +398,7 @@ export default {
 .top {
     display: flex;
     padding: 9px 16px;
-    background-color: #222426;
+    background-color: #272b2e;
     display: flex;
     align-items: center;
     .logo {
@@ -498,7 +507,7 @@ export default {
         }
     }
     .menu-left + .menu-right {
-        margin-left: 16px;
+        margin-left: 12px;
     }
     .menu-left {
         align-self: stretch;
@@ -562,6 +571,7 @@ export default {
     // display: flex;
     // flex-wrap: wrap;
     padding: 0 8px 2px;
+    min-height: 100vh;
 }
 
 /deep/.van-tabs__nav--line.van-tabs__nav--complete {
@@ -580,14 +590,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>