diff --git a/inventory-web/src/api/outbound.ts b/inventory-web/src/api/outbound.ts index e934cef..c20c83b 100644 --- a/inventory-web/src/api/outbound.ts +++ b/inventory-web/src/api/outbound.ts @@ -195,3 +195,47 @@ export function getStockAlternatives( } }) } + +/** + * 我的申请单(申请人视角) + * + * 走专用端点,仅需登录态 —— 服务端硬编码 applicant_id = 当前用户, + * 普通申请人无需持有 outbound_approval(那是管理权限)即可查看自己的单据。 + */ +export function getMyOutboundRequests(params: { page?: number; limit?: number; status?: number | '' }) { + return request({ + url: '/v1/outbound/my-requests', + method: 'get', + params + }) +} + +/** + * 撤回自己的申请单(待审批 或 已通过但未执行) + * 服务端会断言单据归属,非本人且非管理者将返回 403。 + */ +export function withdrawOutboundRequest(id: number) { + return request({ + url: `/v1/outbound/request/${id}/withdraw`, + method: 'post' + }) +} + +/** + * 我的申请单(跨模块聚合:出库 + 借库 + 报废) + * + * 走专用的 /my-requests 聚合端点,仅需登录态 —— 服务端硬编码 + * applicant_id = 当前用户,普通员工无需任何审批类权限即可查看自己的单据。 + */ +export function getMyRequests(params: { + page?: number + limit?: number + status?: number | '' + type?: 'all' | 'outbound' | 'borrow' | 'scrap' +}) { + return request({ + url: '/v1/my-requests', + method: 'get', + params + }) +} diff --git a/inventory-web/src/router/index.ts b/inventory-web/src/router/index.ts index a3ad2ed..87de087 100644 --- a/inventory-web/src/router/index.ts +++ b/inventory-web/src/router/index.ts @@ -201,6 +201,25 @@ const routes: Array = [ ] }, + // 6.0 我的申请单(申请人视角,跨模块聚合) + // + // ★ 独立模块而非挂在某个业务页下:申请人可能提交出库/借库/报废三类单据, + // 放在任一业务模块下都会让其它模块的人找不到。 + // 本页数据来自 /my-requests 聚合端点(仅需登录态,服务端硬编码 + // applicant_id=当前用户),因此不需要也不应配置审批类权限码。 + { + path: '/my-requests', + component: Layout, + children: [ + { + path: '', + name: 'MyRequests', + component: () => import('@/views/my-requests/index.vue'), + meta: { title: '我的申请单', icon: 'Tickets' } + } + ] + }, + // 6. 借库管理 { path: '/operation', diff --git a/inventory-web/src/views/my-requests/index.vue b/inventory-web/src/views/my-requests/index.vue new file mode 100644 index 0000000..a22685c --- /dev/null +++ b/inventory-web/src/views/my-requests/index.vue @@ -0,0 +1,238 @@ + + + + + diff --git a/inventory-web/src/views/outbound/Selection.vue b/inventory-web/src/views/outbound/Selection.vue index a74e9f8..4a447e1 100644 --- a/inventory-web/src/views/outbound/Selection.vue +++ b/inventory-web/src/views/outbound/Selection.vue @@ -115,6 +115,11 @@ 共 {{ selectedItems.length }} 种物品, 合计出库 {{ totalExportCount }} 件 +
+ + 查看我的申请单 > + +
@@ -1345,10 +1350,10 @@ const confirmExport = () => { exportLoading.value = false; } } +