ifcheng 2 years ago
parent
commit
e2917eca64
3 changed files with 9 additions and 15 deletions
  1. 6 2
      src/pages/imei/index.vue
  2. 1 11
      src/pages/repair/appointment.vue
  3. 2 2
      src/pages/repair/steps/StepOne.vue

+ 6 - 2
src/pages/imei/index.vue

@@ -62,7 +62,7 @@ export default defineComponent({
 import { ref } from 'vue'
 import { useRoute, useRouter } from 'vue-router'
 import { bindIMEI } from '@/service/order'
-import { state } from '@/store'
+import { state, getUserInfo } from '@/store'
 import Toast from '@/components/toast'
 
 defineProps<{ action: 'bind' | 'view' }>()
@@ -71,6 +71,7 @@ const router = useRouter()
 const imei = ref('')
 const loading = ref(false)
 const { id } = useRoute().query as any
+const fromPath = history.state.back || '/'
 
 async function applyBind() {
   if (!imei.value) return Toast('Please enter IMEI')
@@ -78,7 +79,10 @@ async function applyBind() {
   try {
     const { message } = await bindIMEI({ id, imei: imei.value })
     Toast(message)
-    router.push(`/order/${id}`)
+    getUserInfo()
+    state.currentOrder.id = -1
+    const matched = fromPath.match(/order\/(\d+)/)
+    matched?.[1] === id ? router.back() : router.push(`/order/${id}`)
   } catch {}
   loading.value = false
 }

+ 1 - 11
src/pages/repair/appointment.vue

@@ -6,7 +6,7 @@
 
 <script setup lang="ts">
 import { computed, watch, onUnmounted } from 'vue'
-import { onBeforeRouteLeave, useRouter, useRoute } from 'vue-router'
+import { useRouter, useRoute } from 'vue-router'
 import StepOne from './steps/StepOne.vue'
 import StepTwo from './steps/StepTwo.vue'
 import StepThree from './steps/StepThree.vue'
@@ -18,21 +18,11 @@ import { state as rootState } from '@/store'
 const Component = computed(
   () => [StepOne, StepTwo, StepThree, StepFive][state.step]
 )
-const fromPath = history.state.back
 const { id, right_id } = useRoute().query as any
 
 id && (state.repairId = id)
 right_id && (state.rightId = right_id)
 
-onBeforeRouteLeave((to, from) => {
-  if (to.path === fromPath && to.path !== '/' && state.step > 0) {
-    state.step--
-    return false
-  } else {
-    state.step = 0
-  }
-})
-
 onUnmounted(() => resetState())
 
 watch(

+ 2 - 2
src/pages/repair/steps/StepOne.vue

@@ -2,7 +2,7 @@
   <h3 class="ptc-title">Choose a store</h3>
   <div class="ptc-block">
     <div class="ptc-inner-md pr">
-      <form class="search-wrap" action="" @submit.prevent>
+      <form class="search-wrap fls0" action="" @submit.prevent>
         <input
           v-model="code"
           type="search"
@@ -60,7 +60,7 @@
               </div>
             </li>
           </ul>
-          <div v-else-if="!loading" class="ptc-empty">
+          <div v-else-if="!loading" class="ptc-empty" style="height: auto">
             <i class="ptc-empty-img"></i>
             <p class="ptc-empty-txt">No results</p>
           </div>