|
|
@@ -2,131 +2,161 @@ import { http } from '@/utils/http/axios';
|
|
|
import type { QueryPageRequest, QueryPageResponse } from '@/types/basic-query';
|
|
|
|
|
|
/**
|
|
|
- * ==================== 员工上报隐患管理 hiddenDanger ====================
|
|
|
+ * ==================== 员工上报隐患管理 employeeHazardReport ====================
|
|
|
*/
|
|
|
|
|
|
-// 隐患上报数据对象(详情 / 列表返回)
|
|
|
-export interface HiddenDanger {
|
|
|
+// 员工上报隐患数据对象(详情 / 列表返回)
|
|
|
+export interface EmployeeHazardReportDTO {
|
|
|
id: number;
|
|
|
- dangerName: string;
|
|
|
- dangerType: number;
|
|
|
- dangerTypeName?: string;
|
|
|
- dangerLevel: number;
|
|
|
- dangerLevelName?: string;
|
|
|
- location: string;
|
|
|
- description: string;
|
|
|
- reporterName: string;
|
|
|
- reporterPhone: string;
|
|
|
- reporterDept: string;
|
|
|
- reportTime: string;
|
|
|
- images?: string[];
|
|
|
- status: number;
|
|
|
- statusName?: string;
|
|
|
- handlerName?: string;
|
|
|
- handleTime?: string;
|
|
|
- handleResult?: string;
|
|
|
- createdAt?: string;
|
|
|
- updatedAt?: string;
|
|
|
+ hazardNo: string; // 隐患编号
|
|
|
+ categoryId: number; // 隐患类别 ID
|
|
|
+ categoryName: string; // 隐患类别名称
|
|
|
+ hazardDesc: string; // 隐患问题描述
|
|
|
+ location: string; // 隐患地点
|
|
|
+ reportTime: string; // 上报时间
|
|
|
+ sourceType: number; // 提交类型:1-员工,2-供应商,3-第三方
|
|
|
+ sourceTypeName: string; // 提交类型名称
|
|
|
+ reporterName: string; // 上报人姓名
|
|
|
+ reporterJobNo: string; // 上报人工号
|
|
|
+ reporterMobile: string; // 联系电话
|
|
|
+ attachment: string; // 附件 JSON
|
|
|
+ status: number; // 状态:1-待审核,2-需求部门通过,3-需求部门驳回,4-安全部门通过,5-安全部门驳回,6-已入账,7-已关闭
|
|
|
+ statusName: string; // 状态名称
|
|
|
+ isRewardApplied: number; // 是否申请奖品:1-是,0-否
|
|
|
+ createdById: number; // 创建人 ID
|
|
|
+ createdByName: string; // 创建人姓名
|
|
|
+ createdAt: string; // 创建时间
|
|
|
+ updatedAt: string; // 更新时间
|
|
|
}
|
|
|
|
|
|
-// 新增隐患上报
|
|
|
-export interface SaveHiddenDangerReq {
|
|
|
- dangerName: string;
|
|
|
- dangerType: number;
|
|
|
- dangerLevel: number;
|
|
|
- location: string;
|
|
|
- description: string;
|
|
|
- reporterName: string;
|
|
|
- reporterPhone: string;
|
|
|
- reporterDept: string;
|
|
|
- reportTime: string;
|
|
|
- images?: string[];
|
|
|
- status?: number;
|
|
|
+// 新增员工上报隐患
|
|
|
+export interface SaveEmployeeHazardReportReq {
|
|
|
+ categoryId: number; // 隐患类别 ID
|
|
|
+ hazardDesc: string; // 隐患问题描述
|
|
|
+ location: string; // 隐患地点
|
|
|
+ reportTime: string; // 上报时间
|
|
|
+ sourceType: number; // 提交类型:1-员工,2-供应商,3-第三方
|
|
|
+ reporterName: string; // 上报人姓名
|
|
|
+ reporterJobNo: string; // 上报人工号
|
|
|
+ reporterMobile: string; // 联系电话
|
|
|
+ attachment?: string; // 附件 JSON,格式 [{file_name, url}]
|
|
|
}
|
|
|
|
|
|
-// 编辑隐患上报
|
|
|
-export interface UpdateHiddenDangerReq extends SaveHiddenDangerReq {
|
|
|
- id: number;
|
|
|
+// 编辑员工上报隐患
|
|
|
+export interface UpdateEmployeeHazardReportReq {
|
|
|
+ id: number; // 主键 ID
|
|
|
+ categoryId?: number; // 隐患类别 ID
|
|
|
+ hazardDesc?: string; // 隐患问题描述
|
|
|
+ location?: string; // 隐患地点
|
|
|
+ reportTime?: string; // 上报时间
|
|
|
+ sourceType?: number; // 提交类型:1-员工,2-供应商,3-第三方
|
|
|
+ reporterName?: string; // 上报人姓名
|
|
|
+ reporterJobNo?: string; // 上报人工号
|
|
|
+ reporterMobile?: string; // 联系电话
|
|
|
+ attachment?: string; // 附件 JSON
|
|
|
}
|
|
|
|
|
|
// 查询条件
|
|
|
-export interface QueryHiddenDangerReq {
|
|
|
- keyword?: string;
|
|
|
- dangerType?: number;
|
|
|
- dangerLevel?: number;
|
|
|
- status?: number;
|
|
|
- startDate?: string;
|
|
|
- endDate?: string;
|
|
|
+export interface QueryEmployeeHazardReportReq {
|
|
|
+ hazardDesc?: string; // 隐患问题描述(模糊查询)
|
|
|
+ status?: number; // 状态:1–7
|
|
|
+ sourceTypeName?: string; // 任务来源/提交类型名称(模糊查询)
|
|
|
+ startDate?: string; // 上报时间范围-开始
|
|
|
+ endDate?: string; // 上报时间范围-结束
|
|
|
+ categoryId?: number; // 隐患类别 ID
|
|
|
+ reporterJobNo?: string; // 上报人工号
|
|
|
}
|
|
|
|
|
|
-// 处理隐患
|
|
|
-export interface HandleHiddenDangerReq {
|
|
|
- id: number;
|
|
|
- status: number;
|
|
|
- handlerName: string;
|
|
|
- handleTime: string;
|
|
|
- handleResult?: string;
|
|
|
+// 审核员工上报隐患
|
|
|
+export interface ApproveEmployeeHazardReportReq {
|
|
|
+ hazardId: number; // 隐患主表 ID
|
|
|
+ node: number; // 审批节点:1-需求部门,2-安全部门
|
|
|
+ approvalStatus: number; // 审批状态:2-通过,3-驳回
|
|
|
+ approvalContent?: string; // 审批意见
|
|
|
}
|
|
|
|
|
|
-// 新增隐患上报
|
|
|
-export function saveHiddenDanger(data: SaveHiddenDangerReq) {
|
|
|
+// 兼容旧接口名称(向后兼容)
|
|
|
+export type HiddenDanger = EmployeeHazardReportDTO;
|
|
|
+export type SaveHiddenDangerReq = SaveEmployeeHazardReportReq;
|
|
|
+export type UpdateHiddenDangerReq = UpdateEmployeeHazardReportReq;
|
|
|
+export type QueryHiddenDangerReq = QueryEmployeeHazardReportReq;
|
|
|
+
|
|
|
+// 新增员工上报隐患
|
|
|
+export function saveEmployeeHazardReport(data: SaveEmployeeHazardReportReq) {
|
|
|
return http.request<number>({
|
|
|
- url: '/admin/prod/hiddenDanger/saveHiddenDanger',
|
|
|
+ url: '/employeeHazardReport/saveEmployeeHazardReport',
|
|
|
method: 'post',
|
|
|
data,
|
|
|
});
|
|
|
}
|
|
|
|
|
|
-// 编辑隐患上报
|
|
|
-export function updateHiddenDanger(data: UpdateHiddenDangerReq) {
|
|
|
+// 编辑员工上报隐患
|
|
|
+export function updateEmployeeHazardReport(data: UpdateEmployeeHazardReportReq) {
|
|
|
return http.request({
|
|
|
- url: '/admin/prod/hiddenDanger/updateHiddenDanger',
|
|
|
+ url: '/employeeHazardReport/updateEmployeeHazardReport',
|
|
|
method: 'put',
|
|
|
data,
|
|
|
});
|
|
|
}
|
|
|
|
|
|
-// 删除隐患上报
|
|
|
-export function deleteHiddenDanger(id: number) {
|
|
|
+// 删除员工上报隐患
|
|
|
+export function deleteEmployeeHazardReport(id: number) {
|
|
|
return http.request({
|
|
|
- url: `/admin/prod/hiddenDanger/deleteHiddenDanger?id=${id}`,
|
|
|
+ url: `/employeeHazardReport/deleteEmployeeHazardReport?id=${id}`,
|
|
|
method: 'delete',
|
|
|
});
|
|
|
}
|
|
|
|
|
|
-// 根据 ID 查询隐患详情
|
|
|
-export function queryHiddenDangerById(id: number) {
|
|
|
- return http.request<HiddenDanger>({
|
|
|
- url: `/admin/prod/hiddenDanger/queryHiddenDangerById?id=${id}`,
|
|
|
+// 根据 ID 查询员工上报隐患详情
|
|
|
+export function queryEmployeeHazardReportById(id: number) {
|
|
|
+ return http.request<EmployeeHazardReportDTO>({
|
|
|
+ url: `/employeeHazardReport/queryEmployeeHazardReportById?id=${id}`,
|
|
|
method: 'get',
|
|
|
});
|
|
|
}
|
|
|
|
|
|
-// 查询隐患上报列表(不分页)
|
|
|
-export function queryHiddenDangerList(params?: QueryHiddenDangerReq) {
|
|
|
- return http.request<HiddenDanger[]>({
|
|
|
- url: '/admin/prod/hiddenDanger/queryHiddenDangerList',
|
|
|
+// 查看员工上报隐患列表(不分页)
|
|
|
+export function queryEmployeeHazardReportList(params?: QueryEmployeeHazardReportReq) {
|
|
|
+ return http.request<EmployeeHazardReportDTO[]>({
|
|
|
+ url: '/employeeHazardReport/queryEmployeeHazardReportList',
|
|
|
method: 'post',
|
|
|
- data: params,
|
|
|
+ data: params || {},
|
|
|
});
|
|
|
}
|
|
|
|
|
|
-// 分页查询隐患上报
|
|
|
-export function queryHiddenDangerPage(query: QueryPageRequest<QueryHiddenDangerReq>) {
|
|
|
- return http.request<QueryPageResponse<HiddenDanger>>({
|
|
|
- url: '/admin/prod/hiddenDanger/queryHiddenDangerPage',
|
|
|
+// 分页查询员工上报隐患
|
|
|
+export function queryEmployeeHazardReportPage(query: QueryPageRequest<QueryEmployeeHazardReportReq>) {
|
|
|
+ return http.request<QueryPageResponse<EmployeeHazardReportDTO>>({
|
|
|
+ url: '/employeeHazardReport/queryEmployeeHazardReportPage',
|
|
|
method: 'post',
|
|
|
data: query,
|
|
|
});
|
|
|
}
|
|
|
|
|
|
-// 导出隐患上报
|
|
|
-export function exportHiddenDanger(params?: QueryHiddenDangerReq) {
|
|
|
+// 审核员工上报隐患
|
|
|
+export function approveEmployeeHazardReport(data: ApproveEmployeeHazardReportReq) {
|
|
|
+ return http.request({
|
|
|
+ url: '/employeeHazardReport/approveEmployeeHazardReport',
|
|
|
+ method: 'post',
|
|
|
+ data,
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+// 入账员工上报隐患
|
|
|
+export function accountEmployeeHazardReport(hazardId: number) {
|
|
|
+ return http.request({
|
|
|
+ url: `/employeeHazardReport/accountEmployeeHazardReport?hazardId=${hazardId}`,
|
|
|
+ method: 'post',
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+// 导出员工上报隐患
|
|
|
+export function exportEmployeeHazardReport(params?: QueryEmployeeHazardReportReq) {
|
|
|
return http.request(
|
|
|
{
|
|
|
- url: '/admin/prod/hiddenDanger/exportHiddenDanger',
|
|
|
+ url: '/employeeHazardReport/exportEmployeeHazardReport',
|
|
|
method: 'post',
|
|
|
- data: params,
|
|
|
+ data: params || {},
|
|
|
responseType: 'blob',
|
|
|
},
|
|
|
{
|
|
|
@@ -135,137 +165,126 @@ export function exportHiddenDanger(params?: QueryHiddenDangerReq) {
|
|
|
);
|
|
|
}
|
|
|
|
|
|
-// 导入隐患上报
|
|
|
+// 导入结果
|
|
|
export interface ImportRes {
|
|
|
successCount: number;
|
|
|
failCount: number;
|
|
|
- failMessages: string[];
|
|
|
+ failInfoList?: Array<{
|
|
|
+ rowNum: number;
|
|
|
+ failReason: string;
|
|
|
+ }>;
|
|
|
+ failMessages?: string[]; // 兼容旧版本
|
|
|
}
|
|
|
|
|
|
-export function importHiddenDanger(file: File) {
|
|
|
- const formData = new FormData();
|
|
|
- formData.append('file', file);
|
|
|
- return http.request<ImportRes>({
|
|
|
- url: '/admin/prod/hiddenDanger/importHiddenDanger',
|
|
|
- method: 'post',
|
|
|
- data: formData,
|
|
|
- headers: {
|
|
|
- 'Content-Type': 'multipart/form-data',
|
|
|
- },
|
|
|
- });
|
|
|
-}
|
|
|
-
|
|
|
-// 处理隐患
|
|
|
-export function handleHiddenDanger(data: HandleHiddenDangerReq) {
|
|
|
- return http.request({
|
|
|
- url: '/admin/prod/hiddenDanger/handleHiddenDanger',
|
|
|
- method: 'put',
|
|
|
- data,
|
|
|
- });
|
|
|
-}
|
|
|
+// 向后兼容的接口函数(使用旧接口名称)
|
|
|
+export const saveHiddenDanger = saveEmployeeHazardReport;
|
|
|
+export const updateHiddenDanger = updateEmployeeHazardReport;
|
|
|
+export const deleteHiddenDanger = deleteEmployeeHazardReport;
|
|
|
+export const queryHiddenDangerById = queryEmployeeHazardReportById;
|
|
|
+export const queryHiddenDangerList = queryEmployeeHazardReportList;
|
|
|
+export const queryHiddenDangerPage = queryEmployeeHazardReportPage;
|
|
|
+export const exportHiddenDanger = exportEmployeeHazardReport;
|
|
|
|
|
|
/**
|
|
|
- * ==================== 隐患类别管理 dangerType ====================
|
|
|
+ * ==================== 隐患类别管理 hazardCategory ====================
|
|
|
*/
|
|
|
|
|
|
-export interface DangerType {
|
|
|
+export interface HazardCategoryDTO {
|
|
|
id: number;
|
|
|
- typeName: string;
|
|
|
- parentId: number | null;
|
|
|
- parentName?: string | null;
|
|
|
- sort?: number;
|
|
|
- status: number;
|
|
|
- statusName?: string;
|
|
|
- createdAt?: string;
|
|
|
- updatedAt?: string;
|
|
|
- children?: DangerType[];
|
|
|
+ categoryName: string; // 类别名称
|
|
|
+ description: string; // 类别描述
|
|
|
+ status: number; // 状态:1-启用,0-禁用
|
|
|
+ parentId: number; // 父级 ID,一级为 0
|
|
|
+ sortOrder: number; // 排序
|
|
|
+ createdAt: string; // 创建时间
|
|
|
+ updatedAt: string; // 更新时间
|
|
|
}
|
|
|
|
|
|
-export interface SaveDangerTypeReq {
|
|
|
- typeName: string;
|
|
|
- parentId?: number | null;
|
|
|
- sort?: number;
|
|
|
- status?: number;
|
|
|
+export interface SaveHazardCategoryReq {
|
|
|
+ categoryName: string; // 类别名称
|
|
|
+ description?: string; // 类别描述,最多 300 字
|
|
|
+ status: number; // 启用状态:1-启用,0-禁用
|
|
|
}
|
|
|
|
|
|
-export interface UpdateDangerTypeReq extends SaveDangerTypeReq {
|
|
|
- id: number;
|
|
|
+export interface UpdateHazardCategoryReq {
|
|
|
+ id: number; // 主键 ID
|
|
|
+ categoryName?: string; // 类别名称
|
|
|
+ description?: string; // 类别描述,最多 300 字
|
|
|
+ status?: number; // 启用状态:1-启用,0-禁用
|
|
|
}
|
|
|
|
|
|
-export interface QueryDangerTypeReq {
|
|
|
- keyword?: string;
|
|
|
- parentId?: number | null;
|
|
|
- status?: number;
|
|
|
+export interface QueryHazardCategoryReq {
|
|
|
+ keyword?: string; // 关键词,模糊查询类别名称、描述等
|
|
|
+ status?: number; // 状态:1-启用,0-禁用
|
|
|
+ startDate?: string; // 创建时间范围-开始
|
|
|
+ endDate?: string; // 创建时间范围-结束
|
|
|
}
|
|
|
|
|
|
+// 兼容旧接口名称(向后兼容)
|
|
|
+export type DangerType = HazardCategoryDTO;
|
|
|
+export type SaveDangerTypeReq = SaveHazardCategoryReq;
|
|
|
+export type UpdateDangerTypeReq = UpdateHazardCategoryReq;
|
|
|
+export type QueryDangerTypeReq = QueryHazardCategoryReq;
|
|
|
+
|
|
|
// 新增隐患类别
|
|
|
-export function saveDangerType(data: SaveDangerTypeReq) {
|
|
|
+export function saveHazardCategory(data: SaveHazardCategoryReq) {
|
|
|
return http.request<number>({
|
|
|
- url: '/admin/prod/dangerType/saveDangerType',
|
|
|
+ url: '/hazardCategory/saveHazardCategory',
|
|
|
method: 'post',
|
|
|
data,
|
|
|
});
|
|
|
}
|
|
|
|
|
|
// 编辑隐患类别
|
|
|
-export function updateDangerType(data: UpdateDangerTypeReq) {
|
|
|
+export function updateHazardCategory(data: UpdateHazardCategoryReq) {
|
|
|
return http.request({
|
|
|
- url: '/admin/prod/dangerType/updateDangerType',
|
|
|
+ url: '/hazardCategory/updateHazardCategory',
|
|
|
method: 'put',
|
|
|
data,
|
|
|
});
|
|
|
}
|
|
|
|
|
|
// 删除隐患类别
|
|
|
-export function deleteDangerType(id: number) {
|
|
|
+export function deleteHazardCategory(id: number) {
|
|
|
return http.request({
|
|
|
- url: `/admin/prod/dangerType/deleteDangerType?id=${id}`,
|
|
|
+ url: `/hazardCategory/deleteHazardCategory?id=${id}`,
|
|
|
method: 'delete',
|
|
|
});
|
|
|
}
|
|
|
|
|
|
// 根据 ID 查询隐患类别详情
|
|
|
-export function queryDangerTypeById(id: number) {
|
|
|
- return http.request<DangerType>({
|
|
|
- url: `/admin/prod/dangerType/queryDangerTypeById?id=${id}`,
|
|
|
+export function queryHazardCategoryById(id: number) {
|
|
|
+ return http.request<HazardCategoryDTO>({
|
|
|
+ url: `/hazardCategory/queryHazardCategoryById?id=${id}`,
|
|
|
method: 'get',
|
|
|
});
|
|
|
}
|
|
|
|
|
|
-// 查询隐患类别列表(不分页)
|
|
|
-export function queryDangerTypeList(params?: QueryDangerTypeReq) {
|
|
|
- return http.request<DangerType[]>({
|
|
|
- url: '/admin/prod/dangerType/queryDangerTypeList',
|
|
|
+// 查看隐患类别列表(不分页)
|
|
|
+export function queryHazardCategoryList(params?: QueryHazardCategoryReq) {
|
|
|
+ return http.request<HazardCategoryDTO[]>({
|
|
|
+ url: '/hazardCategory/queryHazardCategoryList',
|
|
|
method: 'post',
|
|
|
- data: params,
|
|
|
+ data: params || {},
|
|
|
});
|
|
|
}
|
|
|
|
|
|
// 分页查询隐患类别
|
|
|
-export function queryDangerTypePage(query: QueryPageRequest<QueryDangerTypeReq>) {
|
|
|
- return http.request<QueryPageResponse<DangerType>>({
|
|
|
- url: '/admin/prod/dangerType/queryDangerTypePage',
|
|
|
+export function queryHazardCategoryPage(query: QueryPageRequest<QueryHazardCategoryReq>) {
|
|
|
+ return http.request<QueryPageResponse<HazardCategoryDTO>>({
|
|
|
+ url: '/hazardCategory/queryHazardCategoryPage',
|
|
|
method: 'post',
|
|
|
data: query,
|
|
|
});
|
|
|
}
|
|
|
|
|
|
-// 获取隐患类别树形结构
|
|
|
-export function getDangerTypeTree(status?: number) {
|
|
|
- return http.request<DangerType[]>({
|
|
|
- url: '/admin/prod/dangerType/getDangerTypeTree',
|
|
|
- method: 'get',
|
|
|
- params: typeof status === 'number' ? { status } : undefined,
|
|
|
- });
|
|
|
-}
|
|
|
-
|
|
|
// 导出隐患类别
|
|
|
-export function exportDangerType(params?: QueryDangerTypeReq) {
|
|
|
+export function exportHazardCategory(params?: QueryHazardCategoryReq) {
|
|
|
return http.request(
|
|
|
{
|
|
|
- url: '/admin/prod/dangerType/exportDangerType',
|
|
|
+ url: '/hazardCategory/exportHazardCategory',
|
|
|
method: 'post',
|
|
|
- data: params,
|
|
|
+ data: params || {},
|
|
|
responseType: 'blob',
|
|
|
},
|
|
|
{
|
|
|
@@ -275,11 +294,11 @@ export function exportDangerType(params?: QueryDangerTypeReq) {
|
|
|
}
|
|
|
|
|
|
// 导入隐患类别
|
|
|
-export function importDangerType(file: File) {
|
|
|
+export function importHazardCategory(file: File) {
|
|
|
const formData = new FormData();
|
|
|
formData.append('file', file);
|
|
|
return http.request<ImportRes>({
|
|
|
- url: '/admin/prod/dangerType/importDangerType',
|
|
|
+ url: '/hazardCategory/importHazardCategory',
|
|
|
method: 'post',
|
|
|
data: formData,
|
|
|
headers: {
|
|
|
@@ -287,3 +306,13 @@ export function importDangerType(file: File) {
|
|
|
},
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
+// 向后兼容的接口函数(使用旧接口名称)
|
|
|
+export const saveDangerType = saveHazardCategory;
|
|
|
+export const updateDangerType = updateHazardCategory;
|
|
|
+export const deleteDangerType = deleteHazardCategory;
|
|
|
+export const queryDangerTypeById = queryHazardCategoryById;
|
|
|
+export const queryDangerTypeList = queryHazardCategoryList;
|
|
|
+export const queryDangerTypePage = queryHazardCategoryPage;
|
|
|
+export const exportDangerType = exportHazardCategory;
|
|
|
+export const importDangerType = importHazardCategory;
|