Commit 55202e4a authored by dragondean@qq.com's avatar dragondean@qq.com

订单导出改异步下载

parent 77558614
...@@ -632,7 +632,6 @@ export function orderExportSearch(params){ ...@@ -632,7 +632,6 @@ export function orderExportSearch(params){
url: '/ecw/order/export/search', url: '/ecw/order/export/search',
method: 'GET', method: 'GET',
timeout: 5 * 60000, timeout: 5 * 60000,
responseType: 'arraybuffer',
params params
}) })
} }
...@@ -641,7 +640,6 @@ export function orderExportSearch(params){ ...@@ -641,7 +640,6 @@ export function orderExportSearch(params){
export function orderExportMySearch(params){ export function orderExportMySearch(params){
return request({ return request({
url: '/ecw/order/export/my/search', url: '/ecw/order/export/my/search',
responseType: 'arraybuffer',
method: 'GET', method: 'GET',
timeout: 5 * 60000, timeout: 5 * 60000,
params params
...@@ -653,7 +651,6 @@ export function orderExportDeptSearch(params){ ...@@ -653,7 +651,6 @@ export function orderExportDeptSearch(params){
return request({ return request({
url: '/ecw/order/export/dept/search', url: '/ecw/order/export/dept/search',
method: 'GET', method: 'GET',
responseType: 'arraybuffer',
timeout: 5 * 60000, timeout: 5 * 60000,
params params
}) })
...@@ -666,7 +663,6 @@ export function exportAbnormal(params){ ...@@ -666,7 +663,6 @@ export function exportAbnormal(params){
method: 'get', method: 'get',
params: params, params: params,
timeout: 5 * 60000, timeout: 5 * 60000,
responseType: 'blob'
}) })
} }
...@@ -678,7 +674,6 @@ export function exportHeavyOrder(params){ ...@@ -678,7 +674,6 @@ export function exportHeavyOrder(params){
method: 'get', method: 'get',
params: params, params: params,
timeout: 5 * 60000, timeout: 5 * 60000,
responseType: 'blob'
}) })
} }
...@@ -689,7 +684,6 @@ export function exportReturnOrder(params){ ...@@ -689,7 +684,6 @@ export function exportReturnOrder(params){
method: 'get', method: 'get',
params: params, params: params,
timeout: 5 * 60000, timeout: 5 * 60000,
responseType: 'blob'
}) })
} }
...@@ -700,7 +694,6 @@ export function exportSaleRepay(params){ ...@@ -700,7 +694,6 @@ export function exportSaleRepay(params){
method: 'get', method: 'get',
params: params, params: params,
timeout: 5 * 60000, timeout: 5 * 60000,
responseType: 'blob'
}) })
} }
...@@ -712,7 +705,6 @@ export function exportCustomsDatas(params){ ...@@ -712,7 +705,6 @@ export function exportCustomsDatas(params){
method: 'get', method: 'get',
params: params, params: params,
timeout: 5 * 60000, timeout: 5 * 60000,
responseType: 'blob'
}) })
} }
...@@ -724,7 +716,6 @@ export function exportShippingDatas(params){ ...@@ -724,7 +716,6 @@ export function exportShippingDatas(params){
method: 'get', method: 'get',
params: params, params: params,
timeout: 5 * 60000, timeout: 5 * 60000,
responseType: 'blob'
}) })
} }
...@@ -736,7 +727,6 @@ export function exportShipFee(params){ ...@@ -736,7 +727,6 @@ export function exportShipFee(params){
method: 'get', method: 'get',
params: params, params: params,
timeout: 5 * 60000, timeout: 5 * 60000,
responseType: 'blob'
}) })
} }
...@@ -748,7 +738,6 @@ export function exportUnload(params){ ...@@ -748,7 +738,6 @@ export function exportUnload(params){
method: 'get', method: 'get',
params: params, params: params,
timeout: 5 * 60000, timeout: 5 * 60000,
responseType: 'blob'
}) })
} }
......
import request from '@/utils/request' import request from '@/utils/request'
import axios from "axios";
// 下载日志分页 // 下载日志分页
export function downloadPage(params) { export function downloadPage(params) {
...@@ -8,3 +9,15 @@ export function downloadPage(params) { ...@@ -8,3 +9,15 @@ export function downloadPage(params) {
params params
}) })
} }
// 下载
export function download(id){
return request({
url: 'system/download-log/down/' + id
})
}
// 获取文件二进制
export function downloadFileResponse(url){
return axios.get(url)
}
...@@ -123,6 +123,8 @@ export const DICT_TYPE = { ...@@ -123,6 +123,8 @@ export const DICT_TYPE = {
STOCK_UP_EXCEPTION_TYPE: 'stock_up_exception_type', // 备货异常类型, STOCK_UP_EXCEPTION_TYPE: 'stock_up_exception_type', // 备货异常类型,
ORDER_ITEM_PACK_STATUS: 'order_item_pack_status', // 空运备货打包状态 ORDER_ITEM_PACK_STATUS: 'order_item_pack_status', // 空运备货打包状态
RECEIPT_FEE_TYPE:'receipt_fee_type', RECEIPT_FEE_TYPE:'receipt_fee_type',
DOWNLOAD_LOG_STATUS: 'download_log_status', // 下载日志状态
DOWNLOAD_TYPE: 'download_type', // 下载类型
//--------ecw--------- //--------ecw---------
CUSTOMER_STATUS: 'customer_status', CUSTOMER_STATUS: 'customer_status',
CUSTOMER_SOURCE: 'customer_source', CUSTOMER_SOURCE: 'customer_source',
......
...@@ -792,7 +792,8 @@ export default { ...@@ -792,7 +792,8 @@ export default {
if(!fileName){ if(!fileName){
fileName = this.$t('订单') fileName = this.$t('订单')
} }
this.$download.excel(res, fileName + '.xls'); this.$message.success(this.$t('已加入导出队列,请稍后在下载日志中下载'))
// this.$download.excel(res, fileName + '.xls');
}).finally(() => { }).finally(() => {
this.exportLoading = false this.exportLoading = false
}) })
......
<template> <template>
<div class="app-container"> <div class="app-container">
<div class="mb-10"> <div class="mb-10 flex items-center">
<div class="flex-1">
<h2 class="page-title mb-5">下载队列</h2> <h2 class="page-title mb-5">下载队列</h2>
<div>*{{$t('文件生成成功后,保留12小时,12小时后自动删除')}}</div> <div>*{{$t('文件生成成功后,保留12小时,12小时后自动删除')}}</div>
</div> </div>
<el-button class="" @click="handleQuery" type="primary">刷新</el-button>
</div>
<!--el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px"> <!--el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item :label="$t('文件名称')" prop="fileName"> <el-form-item :label="$t('文件名称')" prop="fileName">
<el-input v-model="queryParams.fileName" :placeholder="$t('请输入文件名称')" clearable @keyup.enter.native="handleQuery"/> <el-input v-model="queryParams.fileName" :placeholder="$t('请输入文件名称')" clearable @keyup.enter.native="handleQuery"/>
...@@ -16,9 +19,13 @@ ...@@ -16,9 +19,13 @@
<el-table v-loading="loading" :data="list"> <el-table v-loading="loading" :data="list">
<el-table-column :label="$t('下载编号')" align="center" prop="id" width="100" /> <el-table-column :label="$t('下载编号')" align="center" prop="id" width="100" />
<el-table-column :label="$t('分类')" align="center" prop="type" :show-overflow-tooltip="true"/> <el-table-column :label="$t('分类')" align="center" prop="type" width="100" >
<template v-slot:default="{row}">
<dict-tag :type="DICT_TYPE.DOWNLOAD_TYPE" :value="row.type"/>
</template>
</el-table-column>
<!--<el-table-column :label="$t('业务编号')" align="center" prop="type" width="100" /--> <!--<el-table-column :label="$t('业务编号')" align="center" prop="type" width="100" /-->
<el-table-column :label="$t('下载内容')" align="center" prop="fileName" width="100" /> <el-table-column :label="$t('下载内容')" align="center" prop="name" />
<el-table-column :label="$t('开始下载时间')" align="center" prop="createTime" width="150"> <el-table-column :label="$t('开始下载时间')" align="center" prop="createTime" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span> <span>{{ parseTime(scope.row.createTime) }}</span>
...@@ -26,10 +33,13 @@ ...@@ -26,10 +33,13 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('下载状态')" align="center" prop="createBy" width="150"> <el-table-column :label="$t('下载状态')" align="center" prop="createBy" width="150">
<template v-slot:default="{row}"> <template v-slot:default="{row}">
{{statusMap[row.status]}} <!--status ==2 表示已处理,配合downNum来判断是否已下载-->
<template v-if="row.status == 2 && row.downNum > 0">{{$t('已下载')}}</template>
<template v-else-if="row.status == 2">{{$t('待下载')}}</template>
<dict-tag v-else :type="DICT_TYPE.DOWNLOAD_LOG_STATUS" :value="row.status"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width" width="200"> <el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width" width="100">
<template slot-scope="scope" > <template slot-scope="scope" >
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleDownload(scope.row)" <el-button size="mini" type="text" icon="el-icon-edit" @click="handleDownload(scope.row)"
v-hasPermi="['system:notice:update']">{{$t('下载')}}</el-button> v-hasPermi="['system:notice:update']">{{$t('下载')}}</el-button>
...@@ -44,7 +54,7 @@ ...@@ -44,7 +54,7 @@
</template> </template>
<script> <script>
import {downloadPage} from "@/api/system/download"; import {download, downloadFileArrayBuffer, downloadFileResponse, downloadPage} from "@/api/system/download";
import {parseTime} from "../../../utils/ruoyi"; import {parseTime} from "../../../utils/ruoyi";
import Template from "@/views/cms/template/index.vue"; import Template from "@/views/cms/template/index.vue";
...@@ -61,12 +71,6 @@ export default { ...@@ -61,12 +71,6 @@ export default {
queryParams: { queryParams: {
pageNo: 1, pageNo: 1,
pageSize: 10 pageSize: 10
},
statusMap: {
0: "待处理",
1:"处理中",
2: "处理成功",
3: "处理失败"
} }
}; };
}, },
...@@ -76,13 +80,20 @@ export default { ...@@ -76,13 +80,20 @@ export default {
methods: { methods: {
parseTime, parseTime,
handleDownload(row){ handleDownload(row){
console.log('下载', row) const loading = this.$loading()
download(row.id).then(res => {
return downloadFileResponse(res.data)
}).then(res => {
this.$download.download0(res.data, row.name + row.fileSuffix, res.headers['content-type'])
}).finally(() => {
loading.close()
})
}, },
/** 查询公告列表 */ /** 查询公告列表 */
getList() { getList() {
this.loading = true; this.loading = true;
downloadPage(this.queryParams).then(response => { downloadPage(this.queryParams).then(response => {
this.noticeList = response.data.list; this.list = response.data.list;
this.total = response.data.total; this.total = response.data.total;
this.loading = false; this.loading = false;
}).finally(() => { }).finally(() => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment