From 34e76f7de6d67dc4f3b754a6ab2ef8326182dd72 Mon Sep 17 00:00:00 2001 From: liang <594755172@qq.com> Date: Tue, 10 Mar 2026 15:48:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=95=B0=E6=8D=AE=E5=88=86?= =?UTF-8?q?=E6=9E=90=E8=AE=B0=E5=BD=95=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/excel.js | 13 +- src/api/record.js | 11 +- src/layout/analysisRecord.vue | 264 ++++++++++++++++++++++++++++++++++ src/router/index.js | 125 ++++++++-------- 4 files changed, 349 insertions(+), 64 deletions(-) create mode 100644 src/layout/analysisRecord.vue diff --git a/src/api/excel.js b/src/api/excel.js index c1fd003..360ecac 100644 --- a/src/api/excel.js +++ b/src/api/excel.js @@ -218,6 +218,16 @@ const downloadPickTaskRecordsExcel = (data) => { }) } +const downloadAnalysisRecordsExcel = (data) => { + return request({ + url: '/excel/downloadAnalysisRecordsExcel', + method: 'post', + responseType: 'blob', + data: data, + timeout: 600000 + }) +} + export { uploadExcelStock, uploadExcelGoods, @@ -241,5 +251,6 @@ export { uploadExcelWorkDate, downloadWorkFlowExcel, downloadKateOrdersExcel, - downloadPickTaskRecordsExcel + downloadPickTaskRecordsExcel, + downloadAnalysisRecordsExcel } \ No newline at end of file diff --git a/src/api/record.js b/src/api/record.js index 6128fff..d929a5d 100644 --- a/src/api/record.js +++ b/src/api/record.js @@ -8,6 +8,15 @@ const getTaskRecords = (params) => { }) } +const getAnalysisRecordByPage = (params) => { + return request({ + url: '/record/getAnalysisRecordByPage', + method: 'post', + data: params + }) +} + export { - getTaskRecords + getTaskRecords, + getAnalysisRecordByPage } \ No newline at end of file diff --git a/src/layout/analysisRecord.vue b/src/layout/analysisRecord.vue new file mode 100644 index 0000000..89a4858 --- /dev/null +++ b/src/layout/analysisRecord.vue @@ -0,0 +1,264 @@ + + + + + + \ No newline at end of file diff --git a/src/router/index.js b/src/router/index.js index aa003a6..3a72325 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -1,77 +1,78 @@ -import { createRouter, createWebHashHistory } from 'vue-router' +import {createRouter, createWebHashHistory} from 'vue-router' import HomeView from '@/views/HomeView.vue' import stock from '@/layout/stock.vue' import login from '@/views/login.vue' -import systemCenter from'@/views/SystemCenter.vue' +import systemCenter from '@/views/SystemCenter.vue' const routes = [ - { - path: '/home', - name: 'home', - component: HomeView, - children: [ - { path: '/stock', component: stock },// 库存 - { path: '/goodsIn', component: () => import('@/layout/goodsIn.vue') },// 入库 - { path: '/goodsOut', component: () => import('@/layout/goodsOut.vue') },// 出库 - { path: '/inTaskRecord', component: () => import('@/layout/inTaskRecord.vue') },// 入库记录 - { path: '/outTaskRecord', component: () => import('@/layout/outTaskRecord.vue') },// 出库记录 - { path: '/location', component: () => import('@/layout/locationsTable.vue') },// 库位 - { path: '/goods', component: () => import('@/layout/goods.vue') },// 物料 - { path: '/standSettings', component: () => import('@/layout/standSettings.vue') },// 站台(库口)设置 - { path: '/config', component: () => import('@/layout/wmsConfig.vue') },// 系统配置 - { path: '/taskMonitor', component: () => import('@/layout/taskMonitor.vue') },// 任务监控 - { path: '/vehicles', component: () => import('@/layout/vehicle.vue') },// 料箱监控 - { path: '/inventory', component: () => import('@/layout/inventory.vue') },// 盘点 - { path: '/inventoryRecord', component: () => import('@/layout/inventoryRecord.vue') },// 盘点记录 - { path: '/wmsLog', component: () => import('@/layout/wmsLog.vue') },// 日志 - { path: '/testDoKitting', component: () => import('@/layout/doKitting.vue') },// 备料执行 - { path: '/testFinishKitting', component: () => import('@/layout/finishKitting.vue') },// 备料完成 - { path: '/testCallEmptyVehicle', component: () => import('@/layout/callEmptyVehicle.vue') },// 呼叫空箱 - { path: '/testSortBoxs', component: () => import('@/layout/sortBoxs.vue') },// 整理盒子 - { path: '/uploadDbs', component: () => import('@/layout/dbsTable.vue') },// 上传DBS - { path: '/uploadOrders', component: () => import('@/layout/kateOrdersTable.vue') },// 上传工单 - { path: '/stationConfig', component: () => import('@/layout/stationConfig.vue') },// 工站配置 - { path: '/workFlow', component: () => import('@/layout/workFlow.vue') },// 工作流 - { path: '/workSummary', component: () => import('@/layout/workSummary.vue') },// 工作总结 - { path: '/pickTask', component: () => import('@/layout/pickTaskMonitor.vue') },// 拣选任务 - { path: '/eLocationConfig', component: () => import('@/layout/eLocationConfig.vue') },// 标签配置 - { path: '/eLocationMonitor', component: () => import('@/layout/eLocationTable.vue') },// 标签库位监控 - { path: '/goodsToStation', component: () => import('@/layout/goodsToStation.vue') },// 站台要料 - { path: '/clcNoPlan', component: () => import('@/layout/clcNoPlan.vue') },// 非计划领料 - { path: '/clcKanban', component: () => import('@/layout/clcKanban.vue') },// 需求看板 - { path: '/goodsInQR', component: () => import('@/layout/goodsInQR.vue') },// 二维码入库 - { path: '/stockUpdateRecord', component: () => import('@/layout/stockUpdateRecord.vue') },// 库存更新记录 - { path: '/roleUser', component: () => import('@/layout/role_user.vue') },// 角色——用户列表 - { path: '/rolePermission', component: () => import('@/layout/role_permission.vue') },// 角色——权限列表 - { path: '/workDateTable', component: () => import('@/layout/workDateTable.vue') },// 工作日历 - { path: '/stockForInv', component: () => import('@/layout/stockForInv.vue') },// 库存(盘点用) - ] - }, - { - path: '/', - name: 'login', - component: login - }, - { - path: '/systemCenter', - name: 'systemCenter', - component: systemCenter - } + { + path: '/home', + name: 'home', + component: HomeView, + children: [ + {path: '/stock', component: stock},// 库存 + {path: '/goodsIn', component: () => import('@/layout/goodsIn.vue')},// 入库 + {path: '/goodsOut', component: () => import('@/layout/goodsOut.vue')},// 出库 + {path: '/inTaskRecord', component: () => import('@/layout/inTaskRecord.vue')},// 入库记录 + {path: '/outTaskRecord', component: () => import('@/layout/outTaskRecord.vue')},// 出库记录 + {path: '/location', component: () => import('@/layout/locationsTable.vue')},// 库位 + {path: '/goods', component: () => import('@/layout/goods.vue')},// 物料 + {path: '/standSettings', component: () => import('@/layout/standSettings.vue')},// 站台(库口)设置 + {path: '/config', component: () => import('@/layout/wmsConfig.vue')},// 系统配置 + {path: '/taskMonitor', component: () => import('@/layout/taskMonitor.vue')},// 任务监控 + {path: '/vehicles', component: () => import('@/layout/vehicle.vue')},// 料箱监控 + {path: '/inventory', component: () => import('@/layout/inventory.vue')},// 盘点 + {path: '/inventoryRecord', component: () => import('@/layout/inventoryRecord.vue')},// 盘点记录 + {path: '/wmsLog', component: () => import('@/layout/wmsLog.vue')},// 日志 + {path: '/testDoKitting', component: () => import('@/layout/doKitting.vue')},// 备料执行 + {path: '/testFinishKitting', component: () => import('@/layout/finishKitting.vue')},// 备料完成 + {path: '/testCallEmptyVehicle', component: () => import('@/layout/callEmptyVehicle.vue')},// 呼叫空箱 + {path: '/testSortBoxs', component: () => import('@/layout/sortBoxs.vue')},// 整理盒子 + {path: '/uploadDbs', component: () => import('@/layout/dbsTable.vue')},// 上传DBS + {path: '/uploadOrders', component: () => import('@/layout/kateOrdersTable.vue')},// 上传工单 + {path: '/stationConfig', component: () => import('@/layout/stationConfig.vue')},// 工站配置 + {path: '/workFlow', component: () => import('@/layout/workFlow.vue')},// 工作流 + {path: '/workSummary', component: () => import('@/layout/workSummary.vue')},// 工作总结 + {path: '/pickTask', component: () => import('@/layout/pickTaskMonitor.vue')},// 拣选任务 + {path: '/eLocationConfig', component: () => import('@/layout/eLocationConfig.vue')},// 标签配置 + {path: '/eLocationMonitor', component: () => import('@/layout/eLocationTable.vue')},// 标签库位监控 + {path: '/goodsToStation', component: () => import('@/layout/goodsToStation.vue')},// 站台要料 + {path: '/clcNoPlan', component: () => import('@/layout/clcNoPlan.vue')},// 非计划领料 + {path: '/clcKanban', component: () => import('@/layout/clcKanban.vue')},// 需求看板 + {path: '/goodsInQR', component: () => import('@/layout/goodsInQR.vue')},// 二维码入库 + {path: '/stockUpdateRecord', component: () => import('@/layout/stockUpdateRecord.vue')},// 库存更新记录 + {path: '/roleUser', component: () => import('@/layout/role_user.vue')},// 角色——用户列表 + {path: '/rolePermission', component: () => import('@/layout/role_permission.vue')},// 角色——权限列表 + {path: '/workDateTable', component: () => import('@/layout/workDateTable.vue')},// 工作日历 + {path: '/stockForInv', component: () => import('@/layout/stockForInv.vue')},// 库存(盘点用) + {path: '/analysisRecord', component: () => import('@/layout/analysisRecord.vue')},// 盘点记录 + ] + }, + { + path: '/', + name: 'login', + component: login + }, + { + path: '/systemCenter', + name: 'systemCenter', + component: systemCenter + } ] const router = createRouter({ - base: '/', - history: createWebHashHistory(), - routes + base: '/', + history: createWebHashHistory(), + routes }) // 挂载路由导航守卫 router.beforeEach((to, from, next) => { - if (to.path === '/') return next() - // 获取token - const user = sessionStorage.getItem('user') - if (!user) return next('/') - next() + if (to.path === '/') return next() + // 获取token + const user = sessionStorage.getItem('user') + if (!user) return next('/') + next() }) export default router