Browse Source

feat: 优化细节

叶静 3 weeks ago
parent
commit
890f2abb67
2 changed files with 41 additions and 103 deletions
  1. 1 1
      src/app/shop/admin/order/order/detail.vue
  2. 40 102
      src/app/shop/admin/order/order/index.vue

+ 1 - 1
src/app/shop/admin/order/order/detail.vue

@@ -174,7 +174,7 @@
           </el-table-column>
           <el-table-column :label="t('modules.order.trackingNumber')" align="center">
             <template #default>
-              {{ state.orderDetail.deliveryCode || '--' }}
+              {{ state.orderDetail.deliveryId || '--' }}
             </template>
           </el-table-column>
         </el-table>

+ 40 - 102
src/app/shop/admin/order/order/index.vue

@@ -312,6 +312,39 @@ const { pageData } = usePagination();
 // 保存当前搜索条件(不包含状态参数)
 const currentSearchParams = ref({});
 
+// 处理时间范围搜索的统一函数
+function processTimeRange(params) {
+  // 处理旧版createTime字段
+  if (params.createTime && params.createTime.length === 2) {
+    params.startTime = params.createTime[0];
+    params.endTime = params.createTime[1];
+    delete params.createTime;
+  }
+
+  // 处理新版时间类型筛选
+  if (params.date_range && params.date_range.length === 2) {
+    const timeType = params.timeType || 'create';
+    const [startTime, endTime] = params.date_range;
+
+    // 时间字段映射表
+    const timeFieldMap = {
+      pay: { start: 'payStartTime', end: 'payEndTime' },
+      delivery: { start: 'deliveryStartTime', end: 'deliveryEndTime' },
+      finish: { start: 'finishStartTime', end: 'finishEndTime' },
+      create: { start: 'startTime', end: 'endTime' }
+    };
+
+    const fields = timeFieldMap[timeType] || timeFieldMap.create;
+    params[fields.start] = startTime;
+    params[fields.end] = endTime;
+
+    delete params.date_range;
+    delete params.timeType;
+  }
+
+  return params;
+}
+
 // 获取数据
 async function getData(page, searchParams = null) {
   if (page) pageData.page = page;
@@ -336,40 +369,8 @@ async function getData(page, searchParams = null) {
       Object.assign(requestData, statusParams);
     }
 
-    // 处理时间范围搜索
-    if (requestData.createTime && requestData.createTime.length === 2) {
-      requestData.startTime = requestData.createTime[0];
-      requestData.endTime = requestData.createTime[1];
-      delete requestData.createTime;
-    }
-
-    // 处理不同时间类型的搜索
-    if (requestData.date_range && requestData.date_range.length === 2) {
-      const timeType = requestData.timeType || 'create';
-
-      switch (timeType) {
-        case 'pay':
-          requestData.payStartTime = requestData.date_range[0];
-          requestData.payEndTime = requestData.date_range[1];
-          break;
-        case 'delivery':
-          requestData.deliveryStartTime = requestData.date_range[0];
-          requestData.deliveryEndTime = requestData.date_range[1];
-          break;
-        case 'finish':
-          requestData.finishStartTime = requestData.date_range[0];
-          requestData.finishEndTime = requestData.date_range[1];
-          break;
-        case 'create':
-        default:
-          requestData.startTime = requestData.date_range[0];
-          requestData.endTime = requestData.date_range[1];
-          break;
-      }
-
-      delete requestData.date_range;
-      delete requestData.timeType;
-    }
+    // 使用统一的时间处理函数
+    processTimeRange(requestData);
 
     const { code, data } = await api.order.list(requestData);
 
@@ -428,40 +429,8 @@ async function onExport() {
       size: pageData.size,
     };
 
-    // 处理时间范围搜索
-    if (exportParams.createTime && exportParams.createTime.length === 2) {
-      exportParams.startTime = exportParams.createTime[0];
-      exportParams.endTime = exportParams.createTime[1];
-      delete exportParams.createTime;
-    }
-
-    // 处理不同时间类型的搜索
-    if (exportParams.date_range && exportParams.date_range.length === 2) {
-      const timeType = exportParams.timeType || 'create';
-
-      switch (timeType) {
-        case 'pay':
-          exportParams.payStartTime = exportParams.date_range[0];
-          exportParams.payEndTime = exportParams.date_range[1];
-          break;
-        case 'delivery':
-          exportParams.deliveryStartTime = exportParams.date_range[0];
-          exportParams.deliveryEndTime = exportParams.date_range[1];
-          break;
-        case 'finish':
-          exportParams.finishStartTime = exportParams.date_range[0];
-          exportParams.finishEndTime = exportParams.date_range[1];
-          break;
-        case 'create':
-        default:
-          exportParams.startTime = exportParams.date_range[0];
-          exportParams.endTime = exportParams.date_range[1];
-          break;
-      }
-
-      delete exportParams.date_range;
-      delete exportParams.timeType;
-    }
+    // 使用统一的时间处理函数
+    processTimeRange(exportParams);
 
     await api.order.export(exportParams, t('modules.order.orderRecords'));
   } catch (error) {
@@ -477,45 +446,14 @@ async function onExportDelivery() {
 
     // 构建导出发货单参数:合并搜索条件、当前tab状态和分页参数
     const exportParams = {
+      ...currentSearchParams.value,
       // 添加分页参数,与列表保持一致(默认先100)
       page: pageData.page,
       size: 100 || pageData.size,
     };
 
-    // 处理时间范围搜索
-    if (exportParams.createTime && exportParams.createTime.length === 2) {
-      exportParams.startTime = exportParams.createTime[0];
-      exportParams.endTime = exportParams.createTime[1];
-      delete exportParams.createTime;
-    }
-
-    // 处理不同时间类型的搜索
-    if (exportParams.date_range && exportParams.date_range.length === 2) {
-      const timeType = exportParams.timeType || 'create';
-
-      switch (timeType) {
-        case 'pay':
-          exportParams.payStartTime = exportParams.date_range[0];
-          exportParams.payEndTime = exportParams.date_range[1];
-          break;
-        case 'delivery':
-          exportParams.deliveryStartTime = exportParams.date_range[0];
-          exportParams.deliveryEndTime = exportParams.date_range[1];
-          break;
-        case 'finish':
-          exportParams.finishStartTime = exportParams.date_range[0];
-          exportParams.finishEndTime = exportParams.date_range[1];
-          break;
-        case 'create':
-        default:
-          exportParams.startTime = exportParams.date_range[0];
-          exportParams.endTime = exportParams.date_range[1];
-          break;
-      }
-
-      delete exportParams.date_range;
-      delete exportParams.timeType;
-    }
+    // 使用统一的时间处理函数
+    processTimeRange(exportParams);
 
     await api.order.exportDelivery(exportParams, t('modules.order.deliveryOrders'), 'exportDelivery');
   } finally {