From 5d36d4c48e0f92bbd10ff9eafa0cc519d8458d71 Mon Sep 17 00:00:00 2001 From: liangzhou <594755172@qq.com> Date: Mon, 17 Mar 2025 19:31:38 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E5=89=8D=E7=AB=AF=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=B8=AD=E6=96=87=E6=96=99=E7=9B=92=E5=8F=B7=E7=9A=84=E5=85=BC?= =?UTF-8?q?=E5=AE=B9=E6=80=A7=202.=20=E5=89=8D=E7=AB=AF=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=9C=8B=E6=9D=BF=E9=9C=80=E6=B1=82=E5=AF=BC=E5=87=BA=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dev_wms_client/src/api/excel.js | 11 + dev_wms_client/src/layout/clcKanban.vue | 58 +- dev_wms_client/src/layout/kitting.vue | 3 +- dev_wms_client/src/layout/scanForImage.vue | 28 +- .../src/layout/stockUpdateRecord.vue | 720 +++++++++++++----- 5 files changed, 590 insertions(+), 230 deletions(-) diff --git a/dev_wms_client/src/api/excel.js b/dev_wms_client/src/api/excel.js index 159ce2a..e8d53f8 100644 --- a/dev_wms_client/src/api/excel.js +++ b/dev_wms_client/src/api/excel.js @@ -113,6 +113,17 @@ export const exportWorkSummaryExcel = (data) => { }) } +export const exportKanbanExcel = (data) => { + return request({ + url: '/excel/exportKanbanExcel', + method: 'post', + responseType: 'blob', + data: data, + timeout: 600000 + }) +} + +// 以下待废弃 export const downloadInRecordExcel = (data) => { return request({ url: '/excel/downloadInRecordExcel', diff --git a/dev_wms_client/src/layout/clcKanban.vue b/dev_wms_client/src/layout/clcKanban.vue index 8a81aec..33646c2 100644 --- a/dev_wms_client/src/layout/clcKanban.vue +++ b/dev_wms_client/src/layout/clcKanban.vue @@ -19,12 +19,12 @@ @change="search()"> - + - +
@@ -90,9 +90,12 @@ import { labelPosition, shortcuts } from '@/constant/form' import { kanbanStatusOptions } from '@/constant/options' import { loading } from '@/utils/loading.js' import { dateFormatter } from '@/utils/formatter.js' +import { exportKanbanExcel } from '@/api/excel.js' /** * 常量定义 */ +const STAND_ID = store.getters.getStandId +const USER_NAME = store.getters.getUserName /** * 变量定义 */ @@ -104,8 +107,8 @@ let baseTableQuery = reactive({ pageSize: 10, total: 0, sortBy: new Map([['goodsId', true]]), - standId: store.getters.getStandId, - userName: store.getters.getUserName + standId: STAND_ID, + userName: USER_NAME }) let kanbanQuery = reactive({ goodsId: '', @@ -119,7 +122,7 @@ let recordId = '' /** * 系统方法 */ - onMounted(() => { +onMounted(() => { nextTick(() => { window.addEventListener('resize', resizeHeight) search() @@ -197,11 +200,9 @@ const genKanban = () => { const request = { planStartDateFrom: dateFormatter(kanbanQuery.planStartDateFrom), planStartDateTo: dateFormatter(kanbanQuery.planStartDateTo), - standId: store.getters.getStandId, - userName: store.getters.getUserName + standId: STAND_ID, + userName: USER_NAME } - console.log(request) - console.log(kanbanQuery) loading.open('生成中...') genClcKanbanRequirement(request).then(res => { loading.close() @@ -218,6 +219,41 @@ const genKanban = () => { ElMessage.error('生成看板需求异常。') }) } +// 导出看板 +const exportExcel = () => { + const params = { + goodsId: kanbanQuery.goodsId, + kanbanId: kanbanQuery.kanbanId, + kanbanStatus: kanbanQuery.kanbanStatus == -99 ? null : kanbanQuery.kanbanStatus, + standId: STAND_ID, + userName: USER_NAME + } + exportKanbanExcel(params).then(res => { + const link = document.createElement('a');//创建a标签 + try { + // let blob = new Blob([res.data],{type: 'application/vnd.ms-excel'}); //如果后台返回的不是blob对象类型,先定义成blob对象格式,该type导出为xls格式, + let blob = res.data //如果后台返回的直接是blob对象类型,直接获取数据 + // let _fileName = res.headers['content-disposition'].split(';')[1].split('=')[1]; //拆解获取文件名,如果后端有给返回文件名的话 + let _fileName = '看板需求' + dateFormatter(new Date) + '.xlsx' + link.style.display = 'none'//隐藏 + + // 兼容不同浏览器的URL对象 + const url = window.URL || window.webkitURL || window.moxURL + link.href = url.createObjectURL(blob) + link.setAttribute('download', _fileName.substring(_fileName.lastIndexOf('_') + 1)) + document.body.appendChild(link) + link.click() + document.body.removeChild(link) + url.revokeObjectURL(link.href)//移除url对象 + } catch (e) { + console.log(e) + ElMessage.error('下载文件失败') + } + }).catch(err => { + console.log(err) + ElMessage.error('导出失败') + }) +} \ No newline at end of file