Browse Source

fix: 下单修复提示

laiqi 1 year ago
parent
commit
49da736f1b
4 changed files with 54 additions and 22 deletions
  1. 10 19
      src/pages/form/formStep4.vue
  2. 6 0
      src/service/order/index.ts
  3. 24 1
      src/store/order.ts
  4. 14 2
      src/utils/http.ts

+ 10 - 19
src/pages/form/formStep4.vue

@@ -391,29 +391,20 @@ async function handleSubmit() {
       filesid: fileIdsString, // 文件ID,已获取
     }
 
-    console.log('提交订单数据:', orderData)
-
     // 调用下单接口
-    const result = await orderStore.submitOrder(orderData)
+    const result = await orderStore.submitOrderTel(orderData)
 
-    if (result && result.Status === 0) {
-      message.alert({
-        title: '提示',
-        msg: '下单成功',
-      })
+    message.alert({
+      title: '提示',
+      msg: '下单成功',
+    })
 
-      // 下单成功后跳转到订单列表页
-      setTimeout(() => {
-        uni.reLaunch({
-          url: '/pages/order/index',
-        })
-      }, 1500)
-    } else {
-      message.alert({
-        title: '提示',
-        msg: result?.Message || '下单失败,请稍后再试',
+    // 下单成功后跳转到订单列表页
+    setTimeout(() => {
+      uni.reLaunch({
+        url: '/pages/order/index',
       })
-    }
+    }, 1500)
   } catch (error) {
     console.error('下单出错:', error)
     message.alert({

+ 6 - 0
src/service/order/index.ts

@@ -8,6 +8,7 @@ export const getOrderListApi = (params: Partial<OrderType>, page: Partial<ListTy
   return http.get<ListResponseType<OrderType>>('/api/query/list?pagevalue=51', {
     ...page,
     ...parseQueryValues(params),
+    'ordersorderdate.sort': '1', // desc
   })
 }
 
@@ -28,3 +29,8 @@ export const getOrderDetailApi = (id: string) => {
 export const submitOrderApi = (params: { ordersproductid: string; orderscouponid: string }) => {
   return http.get<any>('/api/nlua/call?pagevalue=44', params)
 }
+
+/** 使用优惠劵提交订单tel */
+export const submitOrderTelApi = (params: { ordersproductid: string; orderscouponid: string }) => {
+  return http.get<any>('/api/nlua/call?pagevalue=99', params)
+}

+ 24 - 1
src/store/order.ts

@@ -1,5 +1,10 @@
 import { defineStore } from 'pinia'
-import { getOrderDetailApi, getOrderListApi, submitOrderApi } from '@/service/order'
+import {
+  getOrderDetailApi,
+  getOrderListApi,
+  submitOrderApi,
+  submitOrderTelApi,
+} from '@/service/order'
 import { until } from '@vueuse/core'
 
 export const useOrderStore = defineStore(
@@ -45,10 +50,28 @@ export const useOrderStore = defineStore(
       return order.value
     }
 
+    // 使用优惠劵提交订单tel
+    const submitOrderTel = async (params: {
+      ordersproductid: string
+      orderscouponid: string
+      ordersproductsn: string
+      ordersuserid1: string
+      ordersphone?: string
+      filesid: string
+    }) => {
+      const { data: order, loading } = useRequest(() => submitOrderTelApi(params), {
+        immediate: true,
+      })
+
+      await until(loading).toBe(false)
+      return order.value
+    }
+
     return {
       getOrderList,
       getOrderDetail,
       submitOrder,
+      submitOrderTel,
     }
   },
   {

+ 14 - 2
src/utils/http.ts

@@ -38,6 +38,7 @@ export const http = <T>(options: CustomRequestOptions & { formatData?: boolean }
           // 3. 业务状态码
           switch (Status) {
             case 0: // 请求成功
+              // console.log('请求成功:', res.data)
               // 如果不需要格式化数据,则直接返回
               if (!options.formatData) {
                 resolve(res.data as IResData<T>)
@@ -52,12 +53,18 @@ export const http = <T>(options: CustomRequestOptions & { formatData?: boolean }
               }
               break
             case -1: // 请求失败
+              // console.log('请求失败:', res.data)
               uni.showToast({
                 icon: 'none',
                 title: Message || '请求错误',
                 duration: 3000,
               })
-              reject(res)
+              resolve({
+                Status: (res.data as any).Status,
+                Message: (res.data as any).Message,
+                Data: (res.data as any).Data,
+                OtherData: (res.data as any).OtherData,
+              } as IResData<T>)
               break
             case -2: // token过期
               // 判断是否已登录
@@ -73,7 +80,12 @@ export const http = <T>(options: CustomRequestOptions & { formatData?: boolean }
                   },
                 })
               }
-              reject(res)
+              resolve({
+                Status: (res.data as any).Status,
+                Message: (res.data as any).Message,
+                Data: (res.data as any).Data,
+                OtherData: (res.data as any).OtherData,
+              } as IResData<T>)
               break
             default:
               break