diff --git a/.gitignore b/.gitignore index 74776a4..9217064 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,5 @@ node_modules/ *.ntvs* *.njsproj *.sln +# GitNexus本地图谱不提交,刷新后可重新生成 - rqrq +.gitnexus diff --git a/src/api/haianWarehouse/autoIssueTask.js b/src/api/haianWarehouse/autoIssueTask.js new file mode 100644 index 0000000..876a0f3 --- /dev/null +++ b/src/api/haianWarehouse/autoIssueTask.js @@ -0,0 +1,19 @@ +import { createAPI } from '@/utils/httpRequest.js' + +/** + * 分页查询海安自动发料任务 - rqrq + * @param {Object} data 必须含 site/page/limit,以及 search* 筛选 - rqrq + */ +export const getAutoIssueTaskPage = data => createAPI('/autoWareHourceHaian/haiAnAutoIssueTask/getAutoIssueTaskPage', 'post', data) + +/** + * 查询海安自动发料任务标签明细 - rqrq + * @param {Object} data 必须含 site 与 searchIssueTaskId - rqrq + */ +export const getAutoIssueTaskLabelList = data => createAPI('/autoWareHourceHaian/haiAnAutoIssueTask/getAutoIssueTaskLabelList', 'post', data) + +/** + * 查询海安自动发料移库关联及队列结果 - rqrq + * @param {Object} data 必须含 site 与 searchIssueTaskId - rqrq + */ +export const getAutoIssueMoveRefList = data => createAPI('/autoWareHourceHaian/haiAnAutoIssueTask/getAutoIssueMoveRefList', 'post', data) diff --git a/src/api/haianWarehouse/sortingBoard.js b/src/api/haianWarehouse/sortingBoard.js new file mode 100644 index 0000000..9bb5c54 --- /dev/null +++ b/src/api/haianWarehouse/sortingBoard.js @@ -0,0 +1,4 @@ +import { createAPI } from '@/utils/httpRequest.js' + +// 海安分拣看板按显式site和sortingStation读取共享ALL快照,只查询不操作任务;失败交由页面展示 - rqrq +export const getSortingBoard = data => createAPI('/api/dashboard/haian/sorting/getSortingBoard', 'post', data) diff --git a/src/api/warehouse/labelInventoryStock.js b/src/api/warehouse/labelInventoryStock.js new file mode 100644 index 0000000..89064f9 --- /dev/null +++ b/src/api/warehouse/labelInventoryStock.js @@ -0,0 +1,4 @@ +import { createAPI } from '@/utils/httpRequest.js' + +// 新库存页面及分批导出统一使用标签聚合接口,旧库存API保留给old页面 - rqrq +export const getLabelInventoryStockList = data => createAPI('warehouse/getLabelInventoryStockList', 'post', data) diff --git a/src/router/index.js b/src/router/index.js index a87fc4c..bedb6ab 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -21,6 +21,13 @@ const _import = require('./import-' + process.env.NODE_ENV) const globalRoutes = [ { path: '/404', component: _import('common/404'), name: '404', meta: { title: '404未找到' } }, { path: '/login', component: _import('common/login'), name: 'login', meta: { title: '登录' } }, + // 海安六个看板独立入口共用海安展示页,固定分拣位防串屏;工厂由页面初始化并显式传给后端 - rqrq + { path: '/dashboard-haian-sorting-j1h', component: _import('modules/haianWarehouse/dashboard/sortingBoard54'), name: 'haian-sorting-j1h', props: { sortingStation: 'J1H', boardTitle: '自动分拣 1' }, meta: { title: '海安自动分拣1' } }, + { path: '/dashboard-haian-sorting-j2h', component: _import('modules/haianWarehouse/dashboard/sortingBoard54'), name: 'haian-sorting-j2h', props: { sortingStation: 'J2H', boardTitle: '自动分拣 2' }, meta: { title: '海安自动分拣2' } }, + { path: '/dashboard-haian-sorting-r1h', component: _import('modules/haianWarehouse/dashboard/sortingBoard54'), name: 'haian-sorting-r1h', props: { sortingStation: 'R1H', boardTitle: '人工分拣 1' }, meta: { title: '海安人工分拣1' } }, + { path: '/dashboard-haian-sorting-r2h', component: _import('modules/haianWarehouse/dashboard/sortingBoard54'), name: 'haian-sorting-r2h', props: { sortingStation: 'R2H', boardTitle: '人工分拣 2' }, meta: { title: '海安人工分拣2' } }, + { path: '/dashboard-haian-sorting-r3h', component: _import('modules/haianWarehouse/dashboard/sortingBoard54'), name: 'haian-sorting-r3h', props: { sortingStation: 'R3H', boardTitle: '人工分拣 3' }, meta: { title: '海安人工分拣3' } }, + { path: '/dashboard-haian-sorting-r4h', component: _import('modules/haianWarehouse/dashboard/sortingBoard54'), name: 'haian-sorting-r4h', props: { sortingStation: 'R4H', boardTitle: '人工分拣 4' }, meta: { title: '海安人工分拣4' } }, { path: '/dashboard-picking-board', component: _import('modules/dashboard/picking-board-1043'), name: 'dashboard-picking-board', meta: { title: '人工拣选看板' } }, { path: '/dashboard-picking2-board', component: _import('modules/dashboard/picking-board-1028'), name: 'dashboard-picking-board', meta: { title: '人工拣选看板' } }, { path: '/dashboard-robot-picking-board', component: _import('modules/dashboard/robot-picking-container'), name: 'dashboard-robot-picking-container', meta: { title: '机械臂拣选-周转箱' } }, diff --git a/src/views/modules/haianWarehouse/automatedWarehouse/autoIssueTask54.vue b/src/views/modules/haianWarehouse/automatedWarehouse/autoIssueTask54.vue new file mode 100644 index 0000000..840e9a7 --- /dev/null +++ b/src/views/modules/haianWarehouse/automatedWarehouse/autoIssueTask54.vue @@ -0,0 +1,450 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 查询 + 重置 + + + + + + + + + + {{ scope.row.status || '-' }} + + + + + {{ scope.row.errorCode || '-' }} + + + + {{ formatCount(scope.row.labelCount) }} + + + {{ formatCount(scope.row.successCount) }} / {{ formatCount(scope.row.failCount) }} + + + {{ formatCount(scope.row.unbindCount) }} + + + + {{ formatCount(scope.row.unknownCount) }} + + + + {{ formatDateTime(scope.row.createdTime) }} + + + {{ formatDateTime(scope.row.processedTime) }} + + + + + + + + 请选择一条任务 + + + 选中任务 #{{ currentTask.id }} 托盘 {{ currentTask.palletId || '-' }} 状态 {{ currentTask.status || '-' }} 失败码 {{ currentTask.errorCode || '-' }} + RFID明细ID {{ currentTask.transportDetailId || '-' }} 完结 {{ formatDateTime(currentTask.processedTime) || '-' }} + + 错误说明:{{ currentTask.errorMsg }} + + + + + + + + + {{ getIssueFlagLabel(scope.row.issueFlag) }} + + + + {{ scope.row.unbindFlag === 'Y' ? '已解绑' : '仍在托' }} + + + {{ isRemainOnPallet(scope.row) ? '是' : '否' }} + + + + {{ formatDateTime(scope.row.updatedTime) }} + + + + 发料成功才会解绑;请求已开始或待核实的标签禁止直接补发、解绑,请先核对 IFS 发料记录。任务已完成仅表示自动处理结束。 + + + + + + {{ scope.row.queueStatus || '-' }} + + + {{ getMoveResultLabel(scope.row.resultFlag) }} + + + + {{ formatDateTime(scope.row.createdTime) }} + + + 无需搬库,视为 IFS 已完成。 + + + + + + + + + + diff --git a/src/views/modules/haianWarehouse/dashboard/sortingBoard54.vue b/src/views/modules/haianWarehouse/dashboard/sortingBoard54.vue new file mode 100644 index 0000000..9a7fe95 --- /dev/null +++ b/src/views/modules/haianWarehouse/dashboard/sortingBoard54.vue @@ -0,0 +1,255 @@ + + + + + + + 海安 · {{ boardTitle }} + 分拣位 {{ sortingStation }} · 工厂 {{ site || '未设置' }} + + {{ currentTime }} + + + + + 标签 {{ visibleRows.length }} + 未完成 {{ pendingCount }} + 已完成 {{ completedCount }} + + + + {{ displayMessage }} + 刷新 + + + + + + + + + + + + + + + + + + 序号工单号产品编码物料编码物料名称RFID / 标签号状态说明 + + + + {{ index + 1 }} + {{ item.orderNo || '-' }} + {{ item.orderPartNo || '-' }} + {{ item.partNo || '-' }} + {{ item.partDesc || '-' }} + {{ item.rfidBarcode }} + {{ item.status }} + {{ item.message || '-' }} + + + {{ displayMessage }} + + + + + + + + + + + + diff --git a/src/views/modules/warehouse/inventoryStock.vue b/src/views/modules/warehouse/inventoryStock.vue index 6371842..22f7d24 100644 --- a/src/views/modules/warehouse/inventoryStock.vue +++ b/src/views/modules/warehouse/inventoryStock.vue @@ -1,771 +1,259 @@ - - - - - - - - - + + + + + + + - - + + - - + + - - + + - - + + - - - - - - - - - {{ $t('warehouse.common.search') }} - - {{ $t('warehouse.common.download') }} - + + {{ $t('warehouse.common.search') }} + {{ $t('warehouse.common.download') }} - - - - {{scope.row[item.columnProp]}} - - + + + + + + + + + + + + {{ formatQty(scope.row.qtyOnHand) }} - - + - - - - diff --git a/src/views/modules/warehouse/inventoryStockold.vue b/src/views/modules/warehouse/inventoryStockold.vue new file mode 100644 index 0000000..ebd279f --- /dev/null +++ b/src/views/modules/warehouse/inventoryStockold.vue @@ -0,0 +1,772 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ $t('warehouse.common.search') }} + + {{ $t('warehouse.common.download') }} + + + + + + + {{scope.row[item.columnProp]}} + + + + + + + + + + + + + + +