drew 5 tahun lalu
induk
melakukan
43512ea3ea
5 mengubah file dengan 73 tambahan dan 6 penghapusan
  1. 5 0
      src/App.vue
  2. 15 0
      src/pages/car.vue
  3. 16 0
      src/pages/detail.vue
  4. 26 2
      src/pages/home.vue
  5. 11 4
      src/pages/register.vue

+ 5 - 0
src/App.vue

@@ -163,4 +163,9 @@ export default {
 .b {
     font-weight: bold;
 }
+.dialog-index--custom-class-name {
+    .dialog-index--van-dialog__confirm {
+        color: @prim !important;
+    }
+}
 </style>

+ 15 - 0
src/pages/car.vue

@@ -145,9 +145,11 @@
             </div>
             <div class="btn" @click="submit">生成配置单</div>
         </div>
+        <van-dialog id="van-dialog" />
     </div>
 </template>
 <script>
+import Dialog from '../vant/dialog/dialog';
 export default {
     data() {
         return {
@@ -278,6 +280,19 @@ export default {
             }
         },
         submit() {
+            if (!this.$store.state.loginInfo.link) {
+                Dialog.alert({
+                    title: '提示',
+                    message: '你还没有登录,是否立即登录',
+                    className: 'custom-class-name',
+                    showCancelButton: true
+                }).then(() => {
+                    wx.navigateTo({
+                        url: '/pages/login'
+                    });
+                });
+                return;
+            }
             let bookForm = {
                 carId: this.carId,
                 carDesc: this.carDesc,

+ 16 - 0
src/pages/detail.vue

@@ -157,10 +157,13 @@
                 id="dealerPicker"
             />
         </van-action-sheet>
+
+        <van-dialog id="van-dialog" />
     </div>
 </template>
 <script>
 import qs from 'qs';
+import Dialog from '../vant/dialog/dialog';
 var QQMapWX = require('../qqmap-wx-jssdk.js');
 let qqmapsdk;
 export default {
@@ -306,6 +309,19 @@ export default {
             });
         },
         submit() {
+            if (!this.$store.state.loginInfo.link) {
+                Dialog.alert({
+                    title: '提示',
+                    message: '你还没有登录,是否立即登录',
+                    className: 'custom-class-name',
+                    showCancelButton: true
+                }).then(() => {
+                    wx.navigateTo({
+                        url: '/pages/login'
+                    });
+                });
+                return;
+            }
             if (!this.cityId) {
                 wx.showToast({
                     icon: 'none',

+ 26 - 2
src/pages/home.vue

@@ -13,7 +13,7 @@
             indicator-color="rgba(255,255,255,0.3)"
             indicator-active-color="#ffffff"
         >
-            <swiper-item class="swiper-item" v-for="item in banners" :key="item.id">
+            <swiper-item class="swiper-item" v-for="item in banners" :key="item.id" @click="bannerClick(item)">
                 <img class="swiper-item-img" :src="item.carouselImage" mode="aspectFill" />
             </swiper-item>
         </swiper>
@@ -43,7 +43,7 @@
                     <div class="desc">{{ event.description }}</div>
                     <div class="time-btn">
                         <div class="time">{{ event.updateTime.split(' ')[0] }}</div>
-                        <div class="btn">立即参与</div>
+                        <div class="btn" @click="articleDetail(event)">立即参与</div>
                     </div>
                 </div>
             </div>
@@ -57,6 +57,8 @@
                 id="scrollView"
                 :scroll-into-view="scrollTo"
                 scroll-with-animation="true"
+                enhanced
+                :show-scrollbar="false"
             >
                 <div
                     v-for="(item, i) in carModels"
@@ -162,6 +164,28 @@ export default {
             wx.navigateTo({
                 url
             });
+        },
+        articleDetail(item) {
+            if (item.articleUrl.startsWith('skuId:')) {
+                wx.navigateTo({
+                    url: '/pages/detail?id=' + item.articleUrl.replace('skuId:', '')
+                });
+            } else {
+                wx.navigateTo({
+                    url: '/pages/ArticleDetail?id=' + item.id
+                });
+            }
+        },
+        bannerClick(item) {
+            if (item.buttonLink.startsWith('skuId:')) {
+                wx.navigateTo({
+                    url: '/pages/detail?id=' + item.buttonLink.replace('skuId:', '')
+                });
+            } else {
+                wx.navigateTo({
+                    url: '/pages/ArticleDetail?id=' + item.buttonLink
+                });
+            }
         }
     }
 };

+ 11 - 4
src/pages/register.vue

@@ -165,10 +165,17 @@ export default {
                 .catch(e => {
                     console.log(e);
                     wx.hideLoading();
-                    wx.showToast({
-                        icon: 'none',
-                        title: e
-                    });
+                    if (typeof e === 'string') {
+                        wx.showToast({
+                            icon: 'none',
+                            title: e
+                        });
+                    } else {
+                        wx.showToast({
+                            icon: 'none',
+                            title: '操作失败,请稍后再试'
+                        });
+                    }
                 });
         },
         login() {