From 3aa23d97f5ced2482106d86bf5dd0858a3627657 Mon Sep 17 00:00:00 2001 From: "HUOJIN\\92525" Date: Thu, 13 Nov 2025 16:58:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E5=BA=93=E7=AE=A1=E7=90=86=E3=80=81?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=AE=A1=E7=90=86=E3=80=81=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/settings/siteSetting.ts | 2 +- src/views/agvTask/AgvTask.api.ts | 24 ++ src/views/agvTask/HikAgvList.vue | 48 ++- src/views/agvTask/TesAgvList.vue | 45 ++- src/views/agvTask/components/HikAgvForm.vue | 4 +- src/views/agvTask/components/TesAgvForm.vue | 4 +- src/views/base/area/AreaList.vue | 2 +- src/views/base/point/PointList.vue | 15 +- src/views/inventory/Inventory.data.ts | 68 ++-- src/views/inventory/InventoryList.vue | 111 +++---- .../inventory/components/InventoryForm.vue | 207 +++++++----- .../inventory/components/InventoryModal.vue | 12 +- src/views/inventoryLog/InventoryLog.api.ts | 72 +++++ src/views/inventoryLog/InventoryLog.data.ts | 76 +++++ src/views/inventoryLog/InventoryLogList.vue | 300 ++++++++++++++++++ .../V20251110_1__menu_insert_InventoryLog.sql | 40 +++ .../components/InventoryLogForm.vue | 219 +++++++++++++ .../components/InventoryLogModal.vue | 92 ++++++ src/views/monitor/log/index.vue | 2 +- src/views/receive/asn/Asn.data.ts | 4 +- 20 files changed, 1149 insertions(+), 198 deletions(-) create mode 100644 src/views/inventoryLog/InventoryLog.api.ts create mode 100644 src/views/inventoryLog/InventoryLog.data.ts create mode 100644 src/views/inventoryLog/InventoryLogList.vue create mode 100644 src/views/inventoryLog/V20251110_1__menu_insert_InventoryLog.sql create mode 100644 src/views/inventoryLog/components/InventoryLogForm.vue create mode 100644 src/views/inventoryLog/components/InventoryLogModal.vue diff --git a/src/settings/siteSetting.ts b/src/settings/siteSetting.ts index a594b9e..5d99ddf 100644 --- a/src/settings/siteSetting.ts +++ b/src/settings/siteSetting.ts @@ -5,4 +5,4 @@ export const GITHUB_URL = 'http://47.103.100.52:3000/huojin/ZhongYou-Vue3.git'; export const DOC_URL = 'https://help.cpte.com'; // site url -export const SITE_URL = 'http://www.cpte.com'; +export const SITE_URL = '10.180.9.60:80'; diff --git a/src/views/agvTask/AgvTask.api.ts b/src/views/agvTask/AgvTask.api.ts index 8975ea5..79dcbd8 100644 --- a/src/views/agvTask/AgvTask.api.ts +++ b/src/views/agvTask/AgvTask.api.ts @@ -11,6 +11,8 @@ enum Api { deleteBatch = '/agvTask/deleteBatch', importExcel = '/agvTask/importExcel', exportXls = '/agvTask/exportXls', + taskReporter = '/api/robot/reporter/task', + callBackTask='/tes/apiv2/callBackTask', } /** @@ -70,3 +72,25 @@ export const saveOrUpdate = (params, isUpdate) => { let url = isUpdate ? Api.edit : Api.save; return defHttp.post({ url: url, params }, { isTransformResponse: false }); } + +/** + * AGV任务上报 + * @param params + */ +export const taskReporter = (params) => { + return defHttp.post({url: Api.taskReporter, params}, { + joinParamsToUrl: false, + isTransformResponse: false + }); +} + +/** + * TES任务上报 + * @param params + */ +export const callBackTask = (params) => { + return defHttp.post({url: Api.callBackTask, params}, { + joinParamsToUrl: false, + isTransformResponse: false + }); +} diff --git a/src/views/agvTask/HikAgvList.vue b/src/views/agvTask/HikAgvList.vue index 7f209f3..e48c068 100644 --- a/src/views/agvTask/HikAgvList.vue +++ b/src/views/agvTask/HikAgvList.vue @@ -53,7 +53,7 @@ import { BasicTable, TableAction } from '/@/components/Table'; import { useListPage } from '/@/hooks/system/useListPage'; import { columns } from './HikAgv.data'; - import { list, deleteOne, batchDelete, getImportUrl, getExportUrl } from './AgvTask.api'; + import { list, deleteOne, batchDelete, getImportUrl, getExportUrl, taskReporter } from './AgvTask.api'; import HikAgvModal from './components/HikAgvModal.vue'; import { useUserStore } from '/@/store/modules/user'; import { useMessage } from '/@/hooks/web/useMessage'; @@ -144,6 +144,35 @@ await deleteOne({ id: record.id }, handleSuccess); } + /** + * 任务完成事件 + */ + async function hanndleComplete(record) { + const params = { + robotTaskCode: record.id, + singleRobotCode: '', + extra: { + async: '0', + values: { + method: 'end', + carrierCode: record.carrierCode, + slotCode: record.endCode, + }, + }, + }; + try { + const res = await taskReporter(params); + if (res && res.code === 'SUCCESS') { + createMessage.success('操作成功'); + handleSuccess(); + } else { + createMessage.error(res.message || '任务处理失败'); + } + } catch (error) { + createMessage.error('请求异常: ' + error.message); + } + } + /** * 批量删除事件 */ @@ -177,17 +206,28 @@ function getDropDownAction(record) { return [ { - label: '详情', + label: '任务详情', onClick: handleDetail.bind(null, record), }, { - label: '删除', + label: '任务完成', popConfirm: { - title: '是否确认删除', + title: '是否确认完成?', + confirm: hanndleComplete.bind(null, record), + placement: 'topLeft', + }, + auth: 'agvTask:data_agv_task:edit', + disabled: record.status === 4 || record.status === 1 + }, + { + label: '任务删除', + popConfirm: { + title: '是否确认删除?', confirm: handleDelete.bind(null, record), placement: 'topLeft', }, auth: 'agvTask:data_agv_task:delete', + disabled: record.status != 1 }, ]; } diff --git a/src/views/agvTask/TesAgvList.vue b/src/views/agvTask/TesAgvList.vue index a99d445..9648949 100644 --- a/src/views/agvTask/TesAgvList.vue +++ b/src/views/agvTask/TesAgvList.vue @@ -53,7 +53,7 @@ import { BasicTable, TableAction } from '/@/components/Table'; import { useListPage } from '/@/hooks/system/useListPage'; import { columns } from './TesAgv.data'; - import { list, deleteOne, batchDelete, getImportUrl, getExportUrl } from './AgvTask.api'; + import { list, deleteOne, batchDelete, getImportUrl, getExportUrl, callBackTask } from './AgvTask.api'; import TesAgvModal from './components/TesAgvModal.vue'; import { useUserStore } from '/@/store/modules/user'; import { useMessage } from '/@/hooks/web/useMessage'; @@ -151,6 +151,32 @@ await batchDelete({ ids: selectedRowKeys.value }, handleSuccess); } + /** + * 任务完成事件 + */ + async function hanndleComplete(record) { + const params = { + messageType: 10, + content: { + bizID: record.id, + status: 4, + podID: record.carrierCode, + }, + }; + + try { + const res = await callBackTask(params); + if (res && res.returnCode === 0) { + createMessage.success('操作成功'); + handleSuccess(); + } else { + createMessage.error(res.message || '任务处理失败'); + } + } catch (error) { + createMessage.error('请求异常: ' + error.message); + } + } + /** * 成功回调 */ @@ -177,17 +203,28 @@ function getDropDownAction(record) { return [ { - label: '详情', + label: '任务详情', onClick: handleDetail.bind(null, record), }, { - label: '删除', + label: '任务完成', popConfirm: { - title: '是否确认删除', + title: '是否确认完成?', + confirm: hanndleComplete.bind(null, record), + placement: 'topLeft', + }, + auth: 'agvTask:data_agv_task:edit', + disabled: record.status === 4 || record.status === 1, + }, + { + label: '删除任务', + popConfirm: { + title: '是否确认删除?', confirm: handleDelete.bind(null, record), placement: 'topLeft', }, auth: 'agvTask:data_agv_task:delete', + disabled: record.status != 1, }, ]; } diff --git a/src/views/agvTask/components/HikAgvForm.vue b/src/views/agvTask/components/HikAgvForm.vue index 5eb2d89..b1e03c2 100644 --- a/src/views/agvTask/components/HikAgvForm.vue +++ b/src/views/agvTask/components/HikAgvForm.vue @@ -14,11 +14,11 @@ - + - + - +