Pārlūkot izejas kodu

增加绑定 IMEI 入口

冯诚 3 gadi atpakaļ
vecāks
revīzija
ab709655f0

BIN
src/assets/d-ipad.png


BIN
src/assets/d-iphone.png


BIN
src/assets/d-other.png


BIN
src/assets/d-samsung.png


+ 10 - 1
src/components/nav-bar/index.vue

@@ -106,7 +106,16 @@
                       <div class="service-model tac ellipsis">
                         {{ item.phone_info }}
                       </div>
-                      <div class="service-code tac">{{ item.phone_imei }}</div>
+                      <div class="service-code tac">
+                        <router-link
+                          v-if="!item.phone_imei"
+                          class="primary bold"
+                          :to="`/imei/bind?id=${item.id}`"
+                          @click.stop
+                          >BIND IMEI ></router-link
+                        >
+                        <template v-else>{{ item.phone_imei }}</template>
+                      </div>
                     </div>
                   </div>
                 </div>

+ 10 - 1
src/pages/dashboard/index.vue

@@ -45,7 +45,16 @@
                   <div class="service-model tac ellipsis">
                     {{ item.phone_info }}
                   </div>
-                  <div class="service-code tac">{{ item.phone_imei }}</div>
+                  <div class="service-code tac">
+                    <router-link
+                      v-if="!item.phone_imei"
+                      class="primary bold"
+                      :to="`/imei/bind?id=${item.id}`"
+                      @click.stop
+                      >BIND IMEI ></router-link
+                    >
+                    <template v-else>{{ item.phone_imei }}</template>
+                  </div>
                 </div>
               </div>
             </div>

+ 20 - 2
src/pages/fill-order/StepTwo.vue

@@ -35,7 +35,7 @@
             <i
               :class="[
                 'device-img',
-                [, 'd-iphone', 'd-ipag', 'd-samsung'][brand.id] || 'd-other',
+                [, 'd-iphone', 'd-ipad', 'd-samsung'][brand.id] || 'd-other',
               ]"
             />
             <p class="device-name">{{ brand.name }}</p>
@@ -70,7 +70,13 @@
       </div>
       <div class="ptc-button-group">
         <div class="ptc-inner">
-          <button class="ptc-button" @click="$emit('go')">NEXT</button>
+          <button
+            class="ptc-button"
+            :class="{ disabled: !state.form.phone_id }"
+            @click="$emit('go')"
+          >
+            NEXT
+          </button>
         </div>
       </div>
     </div>
@@ -129,6 +135,18 @@ function onSelectModel() {
     height: 200px;
     background-color: #eee;
     background-size: contain;
+    &.d-iphone {
+      background-image: url(@img/d-iphone.png);
+    }
+    &.d-ipad {
+      background-image: url(@img/d-ipad.png);
+    }
+    &.d-samsung {
+      background-image: url(@img/d-samsung.png);
+    }
+    &.d-other {
+      background-image: url(@img/d-other.png);
+    }
   }
 
   &-name {

+ 2 - 2
src/pages/fill-order/index.vue

@@ -6,7 +6,7 @@
 </template>
 
 <script lang="ts">
-import { defineComponent, onUnmounted } from 'vue'
+import { defineComponent } from 'vue'
 import { initProducts } from './store'
 
 export default defineComponent({
@@ -18,7 +18,7 @@ export default defineComponent({
 </script>
 
 <script setup lang="ts">
-import { ref, computed, watch } from 'vue'
+import { ref, computed, watch, onUnmounted } from 'vue'
 import { useRoute } from 'vue-router'
 import StepOne from './StepOne.vue'
 import StepTwo from './StepTwo.vue'

+ 15 - 1
src/pages/imei/index.vue

@@ -1,7 +1,8 @@
 <template>
   <div v-if="action === 'bind'" class="p-imei">
     <h3 class="ptc-title">
-      You have a {{ $route.query.v }} version of membership service to be bound
+      You have a {{ state.currentOrder.product_name }} version of membership
+      service to be bound
     </h3>
     <div class="ptc-wrapper">
       <div class="ptc-block">
@@ -45,10 +46,23 @@
   </div>
 </template>
 
+<script lang="ts">
+import { defineComponent } from 'vue'
+import { getCurrentOrder } from '@/store'
+
+export default defineComponent({
+  name: 'IMEI',
+  async beforeRouteEnter(to) {
+    await getCurrentOrder(to.query.id as string)
+  },
+})
+</script>
+
 <script setup lang="ts">
 import { ref } from 'vue'
 import { useRoute, useRouter } from 'vue-router'
 import { bindIMEI } from '@/service/order'
+import { state } from '@/store'
 import Toast from '@/components/toast'
 
 defineProps<{ action: 'bind' | 'view' }>()

+ 1 - 5
src/pages/pay-result/index.vue

@@ -31,11 +31,7 @@
         <button
           v-if="info.subscribe_type != 3 && !info.renewal"
           class="ptc-button"
-          @click="
-            $router.push(
-              `/imei/bind?id=${$route.query.id}&v=${info.product_name}`
-            )
-          "
+          @click="$router.push(`/imei/bind?id=${$route.query.id}`)"
         >
           BIND IMEI
         </button>