From e7d6535987ff742b8c623fff73975282185f9668 Mon Sep 17 00:00:00 2001 From: syruan <15555146157@163.com> Date: Sun, 16 Nov 2025 23:55:09 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=80=E5=BD=B9=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/EquipmentRetireApply/index.js | 54 +++ src/router/index.js | 33 ++ .../EquipmentRetireApply/audit-detail.vue | 305 +++++++++++++++ src/views/EquipmentRetireApply/audit.vue | 231 +++++++++++ .../components/AddItemDialog.vue | 200 ++++++++++ src/views/EquipmentRetireApply/detail.vue | 367 ++++++++++++++++++ src/views/EquipmentRetireApply/index.vue | 261 +++++++++++++ 7 files changed, 1451 insertions(+) create mode 100644 src/api/EquipmentRetireApply/index.js create mode 100644 src/views/EquipmentRetireApply/audit-detail.vue create mode 100644 src/views/EquipmentRetireApply/audit.vue create mode 100644 src/views/EquipmentRetireApply/components/AddItemDialog.vue create mode 100644 src/views/EquipmentRetireApply/detail.vue create mode 100644 src/views/EquipmentRetireApply/index.vue diff --git a/src/api/EquipmentRetireApply/index.js b/src/api/EquipmentRetireApply/index.js new file mode 100644 index 00000000..cd4a60dd --- /dev/null +++ b/src/api/EquipmentRetireApply/index.js @@ -0,0 +1,54 @@ +import request from '@/utils/request' + +// 获取退役申请列表 +export const getRetireApplyListAPI = (data) => { + return request({ + url: '/material-mall/deviceRetireApply/list', + method: 'GET', + params: data, + }) +} + +// 获取任务明细(装备和工具列表) +export const getRetireApplyDetailAPI = (id) => { + return request({ + url: `/material-mall/deviceRetireApply/detail/${id}`, + method: 'GET', + }) +} + +// 获取在修装备和工具列表(统一接口) +export const getScrapItemListAPI = (data) => { + return request({ + url: '/material-mall/deviceRetireApply/scrapItemList', + method: 'GET', + params: data, + }) +} + +// 提交退役申请任务(包含创建任务和保存明细) +export const submitRetireApplyTaskAPI = (data) => { + return request({ + url: '/material-mall/deviceRetireApply/submitTask', + method: 'POST', + data: data, + }) +} + +// 删除退役申请任务 +export const deleteRetireApplyTaskAPI = (id) => { + return request({ + url: `/material-mall/deviceRetireApply/deleteTask/${id}`, + method: 'DELETE', + }) +} + +// 批量审批(通过reviewStatus字段区分通过或驳回) +export const auditRetireApplyBatchAPI = (data) => { + return request({ + url: '/material-mall/deviceRetireApply/audit', + method: 'POST', + data: data, + }) +} + diff --git a/src/router/index.js b/src/router/index.js index 07c73a77..f51fba38 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -267,6 +267,39 @@ export const dynamicRoutes = [ meta: { title: '修改生成配置', activeMenu: '/tool/gen' } } ] + }, + + { + path: '/equipment/retire-apply', + component: Layout, + hidden: true, + permissions: ['system:dict:list'], + children: [ + { + path: 'index', + component: () => import('@/views/EquipmentRetireApply/index'), + name: 'RetireApply', + meta: { title: '退役申请', activeMenu: '/equipment/retire-apply' } + }, + { + path: 'detail/:id', + component: () => import('@/views/EquipmentRetireApply/detail'), + name: 'RetireApplyDetail', + meta: { title: '退役申请明细', activeMenu: '/equipment/retire-apply' } + }, + { + path: 'audit', + component: () => import('@/views/EquipmentRetireApply/audit'), + name: 'RetireApplyAudit', + meta: { title: '退役申请审核', activeMenu: '/equipment/retire-apply' } + }, + { + path: 'audit-detail/:id', + component: () => import('@/views/EquipmentRetireApply/audit-detail'), + name: 'RetireApplyAuditDetail', + meta: { title: '退役申请审核明细', activeMenu: '/equipment/retire-apply' } + } + ] } ] diff --git a/src/views/EquipmentRetireApply/audit-detail.vue b/src/views/EquipmentRetireApply/audit-detail.vue new file mode 100644 index 00000000..dccf44a8 --- /dev/null +++ b/src/views/EquipmentRetireApply/audit-detail.vue @@ -0,0 +1,305 @@ + + + + + 退役申请审核 + + + + + + + + {{ baseInfo.code }} + + + + + + {{ getStatusLabel() }} + + + + + + + + {{ baseInfo.createUser }} + + + + + {{ baseInfo.createTime }} + + + + + + + + + 申请明细 + + + + + + + + + + + + + + + + 查看附件 + + + + + + + {{ getReviewStatusLabel(scope.row.reviewStatus) }} + + + + + + + + + 批量通过 + 批量驳回 + 返回 + + + + + + + + + diff --git a/src/views/EquipmentRetireApply/audit.vue b/src/views/EquipmentRetireApply/audit.vue new file mode 100644 index 00000000..11af7e58 --- /dev/null +++ b/src/views/EquipmentRetireApply/audit.vue @@ -0,0 +1,231 @@ + + + + + + + + + + + + + + + + + + + + + + + 查询 + + 重置 + + + + + + + + + + + + + + + + {{ getStatusLabel(scope.row.reviewStatus) }} + + + + + + + + 审核 + + + + + + + + + + + + + + + + diff --git a/src/views/EquipmentRetireApply/components/AddItemDialog.vue b/src/views/EquipmentRetireApply/components/AddItemDialog.vue new file mode 100644 index 00000000..5e0ef602 --- /dev/null +++ b/src/views/EquipmentRetireApply/components/AddItemDialog.vue @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + + + + + + 查询 + 重置 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 取消 + 确定 + + + + + + + + diff --git a/src/views/EquipmentRetireApply/detail.vue b/src/views/EquipmentRetireApply/detail.vue new file mode 100644 index 00000000..df50b938 --- /dev/null +++ b/src/views/EquipmentRetireApply/detail.vue @@ -0,0 +1,367 @@ + + + + + {{ isNew ? '新增退役申请' : '退役申请明细' }} + + + + + + + + {{ baseInfo.code }} + 新增 + + + + + + {{ getStatusLabel() }} + + + + + + + + {{ baseInfo.createUser }} + + + + + {{ baseInfo.createTime }} + + + + + + + + + 申请明细 + + 添加装备/工具 + + + + + + + + + + + + + + + + + + + + + + 上传附件 + + + 查看 + + + + + + + + 删除 + + + + + + + + + 确认申请 + 返回 + + + + + + + + + + + + diff --git a/src/views/EquipmentRetireApply/index.vue b/src/views/EquipmentRetireApply/index.vue new file mode 100644 index 00000000..8a346ab6 --- /dev/null +++ b/src/views/EquipmentRetireApply/index.vue @@ -0,0 +1,261 @@ + + + + + + + + + + + + + + + + + + + + + + + 查询 + + 重置 + 新增 + + + + + + + + + + + + + + + + {{ getStatusLabel(scope.row.reviewStatus) }} + + + + + + + + 查看 + 编辑 + 删除 + + + + + + + + + + + + + + + +