|
@@ -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 {
|