feat: 导出订单

feature/task1.0.0__0514__ch
向文可 2 years ago
parent b1b9b01eb4
commit 897b1eabf4

@ -6,6 +6,19 @@ export const search = (params) => {
params, params,
}); });
}; };
export const exportAll = (params) => {
return request({
url: '/mall/trade/admin/tradeOrder/page',
method: 'get',
params: {
...params,
export: true,
},
headers: {
download: true,
},
});
};
export const detail = (id) => { export const detail = (id) => {
return request({ return request({
url: '/mall/trade/admin/tradeOrder/' + id, url: '/mall/trade/admin/tradeOrder/' + id,

@ -6,6 +6,19 @@ export const search = (params) => {
params, params,
}); });
}; };
export const exportAll = (params) => {
return request({
url: '/mall/trade/admin/refundOrder/page',
method: 'get',
params: {
...params,
export: true,
},
headers: {
download: true,
},
});
};
export const refundDetail = (id) => { export const refundDetail = (id) => {
return request({ return request({
url: '/mall/trade/admin/refundOrder/refundInfo/' + id, url: '/mall/trade/admin/refundOrder/refundInfo/' + id,

@ -1,5 +1,6 @@
import * as api from '@/api/sales/order.js'; import * as api from '@/api/sales/order.js';
import { ElMessage, ElMessageBox } from '@/plugins/element-plus'; import { ElMessage, ElMessageBox } from '@/plugins/element-plus';
import { excel } from '@/plugins/global-api';
const state = () => ({ const state = () => ({
code: 'OrderManagement', code: 'OrderManagement',
condition: {}, condition: {},
@ -65,6 +66,25 @@ const actions = {
} }
return res; return res;
}, },
export: async ({ state }) => {
let data = { ...state.condition, pageIndex: 1, length: 9999 };
if (data.dateRange?.length) {
data.startTime = data.dateRange[0];
data.endTime = data.dateRange[1];
}
delete data.dateRange;
data.orderStatus = (data.orderStatus || []).join(',');
if (data.orderStatus === '0') {
delete data.orderStatus;
}
let res = await api.exportAll(data);
if (res) {
excel('订单导出.xlsx', res);
} else {
ElMessage.error('导出订单列表失败');
}
return res;
},
load: async ({ commit, state }) => { load: async ({ commit, state }) => {
commit('setOpts', { commit('setOpts', {
...state.opts, ...state.opts,

@ -1,5 +1,6 @@
import * as api from '@/api/sales/service.js'; import * as api from '@/api/sales/service.js';
import { ElMessage } from '@/plugins/element-plus'; import { ElMessage } from '@/plugins/element-plus';
import { excel } from '@/plugins/global-api';
const state = () => ({ const state = () => ({
code: 'ServiceOrderManagement', code: 'ServiceOrderManagement',
condition: {}, condition: {},
@ -92,6 +93,25 @@ const actions = {
} }
return res; return res;
}, },
export: async ({ state }) => {
let data = { ...state.condition, pageIndex: 1, length: 9999 };
if (data.dateRange?.length) {
data.applyStartTime = data.dateRange[0];
data.applyEndTime = data.dateRange[1];
}
delete data.dateRange;
data.refundStatus = (data.refundStatus || []).join(',');
if (data.refundStatus === '0') {
delete data.refundStatus;
}
let res = await api.exportAll(data);
if (res) {
excel('售后服务单导出.xlsx', res);
} else {
ElMessage.error('导出售后服务单列表失败');
}
return res;
},
load: async ({ commit, state }) => { load: async ({ commit, state }) => {
commit('setOpts', { commit('setOpts', {
...state.opts, ...state.opts,

@ -9,6 +9,9 @@ const handleResponse = async ({ config: requestConfig, data, status }) => {
.get('key') .get('key')
.replace('${filename}', requestConfig.data.get('name'))}`; .replace('${filename}', requestConfig.data.get('name'))}`;
} }
if (requestConfig.headers.download === true) {
return data;
}
let code = data.code || status; let code = data.code || status;
console.info('[api]', code, requestConfig.method, requestConfig.url, data.data); console.info('[api]', code, requestConfig.method, requestConfig.url, data.data);
if (code !== 'SUCCESS') { if (code !== 'SUCCESS') {

@ -142,7 +142,9 @@
/* 导出订单 */ /* 导出订单 */
const handleExport = async () => { const handleExport = async () => {
console.info('export'); loading.value = true;
await store.dispatch('order/export');
loading.value = false;
}; };
/* 查看详情 */ /* 查看详情 */

@ -135,7 +135,9 @@
/* 导出订单 */ /* 导出订单 */
const handleExport = async () => { const handleExport = async () => {
console.info('export'); loading.value = true;
await store.dispatch('service/export');
loading.value = false;
}; };
/* 查看详情 */ /* 查看详情 */

Loading…
Cancel
Save