소스 검색

锁单中

panhui 3 년 전
부모
커밋
a7ec99a255
1개의 변경된 파일20개의 추가작업 그리고 9개의 파일을 삭제
  1. 20 9
      src/components/product/SaleInfo.vue

+ 20 - 9
src/components/product/SaleInfo.vue

@@ -14,30 +14,26 @@
     </div>
     <van-action-sheet teleport="#app" ref="action" v-model:show="show" :title="`当前寄售(${totalElements}份)`">
         <van-list v-model="loading" :finished="finished" finished-text="没有更多了" @load="getData">
-            <router-link
-                :to="{ path: '/productDetail/' + item.id }"
-                class="product-info"
-                v-for="(item, index) in list"
-                :key="index"
-            >
+            <div @click="goDetail(item)" class="product-info" v-for="(item, index) in list" :key="index">
                 <div class="top">
                     <div class="user">
                         <van-image width="24" height="24" radius="24" :src="item.ownerAvatar" fit="cover" />
                         <span>{{ item.owner }}</span>
-                        <span class="status">寄售</span>
+                        <span class="status out" v-if="item.soldOut">支付中</span>
+                        <span class="status prim" v-else>寄售</span>
                     </div>
                     <div class="price">¥{{ item.price }}</div>
                 </div>
                 <div class="bottom">
                     <div class="name">{{ item.name }}</div>
                     <div class="num" v-if="getNum(item)">#{{ getNum(item) }}</div>
-                    <div class="buy">
+                    <div class="buy" v-if="!item.soldOut">
                         <span>去购买</span>
 
                         <img src="../../assets/icon-jiantou2.png" alt="" />
                     </div>
                 </div>
-            </router-link>
+            </div>
         </van-list>
     </van-action-sheet>
 </template>
@@ -94,6 +90,13 @@ export default {
         }
     },
     methods: {
+        goDetail(info) {
+            if (!info.soldOut) {
+                this.$router.push({
+                    path: '/productDetail/' + info.id
+                });
+            }
+        },
         beforeData() {
             return {
                 query: {
@@ -246,6 +249,14 @@ export default {
                 text-align: center;
                 line-height: 20px;
                 margin-left: 10px;
+                // &.prim {
+                //     color: @prim;
+                //     border-color: @prim;
+                // }
+                &.out {
+                    background-color: #c8c9cc;
+                    color: #fff;
+                }
             }
         }