冯诚 3 anos atrás
pai
commit
867231e8b9
1 arquivos alterados com 51 adições e 12 exclusões
  1. 51 12
      src/pages/gift-card/index.vue

+ 51 - 12
src/pages/gift-card/index.vue

@@ -5,27 +5,38 @@
       <div class="tabs border-bottom">
         <div class="tab" :class="{ active: type === 0 }" @click="type = 0">
           <span>NOT USED</span>
-          <span class="num">13</span>
+          <span class="num">{{ stat.unused }}</span>
         </div>
         <div class="tab" :class="{ active: type === 1 }" @click="type = 1">
           <span>USED</span>
-          <span class="num">1</span>
+          <span class="num">{{ stat.used }}</span>
         </div>
         <div class="tab" :class="{ active: type === 2 }" @click="type = 2">
           <span>EXPIRED</span>
-          <span class="num">1</span>
+          <span class="num">{{ stat.expired }}</span>
         </div>
       </div>
     </div>
     <div class="card-list-wrap">
       <div class="card-list">
-        <div class="card card-a">
-          <p class="card-title">Pull new reward gift card</p>
-          <p class="card-period">Validity: 2020/12/01-2020/05/01</p>
-          <p class="card-value">- $10</p>
+        <div
+          v-for="(item, index) of list"
+          :key="index"
+          class="card"
+          :class="{
+            'card-a': type === 0,
+            'card-c': type === 1,
+            'card-e': type === 2,
+          }"
+        >
+          <p class="card-title">{{ item.title }}</p>
+          <p class="card-period">
+            Validity: {{ item.used_at }}-{{ item.expired_at }}
+          </p>
+          <p class="card-value">- {{ item.gift_card_amount }}</p>
           <p class="card-desc">PTC offline store use</p>
         </div>
-        <div class="card card-b">
+        <!-- <div class="card card-b">
           <p class="card-title">Pull new reward gift card</p>
           <p class="card-period">Validity: 2020/12/01-2020/05/01</p>
           <p class="card-value">- $10 <span class="sub">100 available</span></p>
@@ -48,16 +59,40 @@
           <p class="card-period">Validity: 2020/12/01-2020/05/01</p>
           <p class="card-value">- $10 <span class="sub">100 available</span></p>
           <p class="card-desc">PTC offline store use</p>
-        </div>
+        </div> -->
       </div>
     </div>
   </div>
 </template>
 
-<script setup lang="ts">
-import { ref } from 'vue'
+<script>
+import { defineComponent } from 'vue'
+import { getGiftCardList } from '@/service/order'
 
-const type = ref(0)
+export default defineComponent({
+  async beforeRouteEnter(to, from, next) {
+    const { results } = await getGiftCardList(0)
+    next(vm => {
+      vm.list = results.items
+      vm.stat = results.stat
+    })
+  },
+  data() {
+    return {
+      type: 0,
+      /** @type {any[]} */
+      list: [],
+      /** @type {any} */
+      stat: {},
+    }
+  },
+  watch: {
+    async type(val) {
+      const { results } = await getGiftCardList(val)
+      this.list = results.items
+    },
+  },
+})
 </script>
 
 <style lang="scss">
@@ -113,6 +148,10 @@ const type = ref(0)
   .card-list-wrap {
     padding: 50px 34px 0;
     background: #fff;
+    @include media-breakpoint-up(md) {
+      height: 1000px;
+      overflow: auto;
+    }
   }
   .card-list {
     margin: auto;