feat(dispatch): 新增报修派单与维保派单模块全栈实现
- 后端: repair_request/repair_dispatch/maintenance_order/maintenance_detail 实体、DTO、Service(事务/单号/状态流转/行级权限)、Controller - 安全: JWT+RBAC 接入(dispatch:repair/dispatch:maintenance)、全参数化防SQL注入、操作日志埋点 - 前端: 报修派单(双页签)、维保派单(主从表单)页面, API封装, /dispatch 路由 - 菜单: db_seed.sql 与远程库同步 id=36/37, ADMIN/SALESMAN 角色绑定
This commit is contained in:
1 parent
1803ad679c
commit
d42e858fb0
21 files changed
+3760
-4
No files matched your search
@@ -0,0 +1,22 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 维保派单(维保工单)
|
||||
export const maintenanceApi = {
|
||||
// 分页查询维保工单
|
||||
getList: (params?: any) => request.get<any>('/maintenance-orders', { params }),
|
||||
|
||||
// 维保工单详情
|
||||
getDetail: (id: number) => request.get<any>(`/maintenance-orders/${id}`),
|
||||
|
||||
// 创建维保工单
|
||||
create: (data: any) => request.post<any>('/maintenance-orders', data),
|
||||
|
||||
// 更新维保工单
|
||||
update: (id: number, data: any) => request.put<any>(`/maintenance-orders/${id}`, data),
|
||||
|
||||
// 标记完成
|
||||
complete: (id: number) => request.put<any>(`/maintenance-orders/${id}/complete`),
|
||||
|
||||
// 删除维保工单
|
||||
remove: (id: number) => request.delete(`/maintenance-orders/${id}`)
|
||||
};
|
||||
@@ -0,0 +1,32 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 报修申请
|
||||
export const repairRequestApi = {
|
||||
// 分页查询报修申请
|
||||
getList: (params?: any) => request.get<any>('/repair-requests', { params }),
|
||||
|
||||
// 报修申请详情
|
||||
getDetail: (id: number) => request.get<any>(`/repair-requests/${id}`)
|
||||
};
|
||||
|
||||
// 报修派单
|
||||
export const repairDispatchApi = {
|
||||
// 分页查询报修派单
|
||||
getList: (params?: any) => request.get<any>('/repair-dispatchs', { params }),
|
||||
|
||||
// 报修派单详情
|
||||
getDetail: (id: number) => request.get<any>(`/repair-dispatchs/${id}`),
|
||||
|
||||
// 创建报修派单
|
||||
create: (data: any) => request.post<any>('/repair-dispatchs', data),
|
||||
|
||||
// 更新报修派单
|
||||
update: (id: number, data: any) => request.put<any>(`/repair-dispatchs/${id}`, data),
|
||||
|
||||
// 标记完成
|
||||
complete: (id: number, data?: any) =>
|
||||
request.put<any>(`/repair-dispatchs/${id}/complete`, data),
|
||||
|
||||
// 删除报修派单
|
||||
remove: (id: number) => request.delete(`/repair-dispatchs/${id}`)
|
||||
};
|
||||
@@ -154,9 +154,21 @@ const routes: RouteRecordRaw[] = [
|
||||
{
|
||||
path: "dispatch",
|
||||
name: "Dispatch",
|
||||
component: () => import("@/views/Placeholder.vue"),
|
||||
redirect: "/dispatch/repair",
|
||||
meta: { requiresAuth: true, title: "运营派单", permission: "dispatch:list" }
|
||||
},
|
||||
{
|
||||
path: "dispatch/repair",
|
||||
name: "DispatchRepair",
|
||||
component: () => import("@/views/dispatch/repair/index.vue"),
|
||||
meta: { requiresAuth: true, title: "报修派单", permission: "dispatch:repair" }
|
||||
},
|
||||
{
|
||||
path: "dispatch/maintenance",
|
||||
name: "DispatchMaintenance",
|
||||
component: () => import("@/views/dispatch/maintenance/index.vue"),
|
||||
meta: { requiresAuth: true, title: "维保派单", permission: "dispatch:maintenance" }
|
||||
},
|
||||
{
|
||||
path: "device",
|
||||
name: "Device",
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user