| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349 |
- import { http } from '@/utils/http/axios';
- import type { QueryPageRequest, QueryPageResponse } from '@/types/basic-query';
- /**
- * ==================== 员工上报隐患管理 employeeHazardReport ====================
- */
- // 员工上报隐患数据对象(详情 / 列表返回)
- export interface EmployeeHazardReportDTO {
- id: number;
- hazardNo: string; // 隐患编号
- categoryId: number; // 隐患类别 ID
- categoryName: string; // 隐患类别名称
- hazardDesc: string; // 隐患问题描述
- location: string; // 隐患地点
- reportTime: string; // 上报时间
- sourceType: number; // 提交类型:1-员工,2-供应商,3-第三方
- sourceTypeName: string; // 提交类型名称
- taskSource: string; // 任务来源
- reporterName: string; // 上报人姓名
- reporterJobNo: string; // 上报人工号
- reporterMobile: string; // 联系电话
- attachment: string; // 附件 JSON
- status: number; // 状态:1-待审核,2-需求部门通过,3-需求部门驳回,4-安全部门通过,5-安全部门驳回,6-已入账,7-已关闭
- statusName: string; // 状态名称
- statusType?: number; // 状态类型:1-待审核,2-审核通过,3-审核不通过
- canApprove?: boolean; // 可审核
- canAccount?: boolean; // 可入账
- canView?: boolean; // 可查看
- isRewardApplied?: number; // 是否申请奖品:1-是,0-否
- createdById?: number; // 创建人 ID
- createdByName?: string; // 创建人姓名
- createdAt: string; // 创建时间
- updatedAt: string; // 更新时间
- approvalOrder?: number; // 审核顺序
- }
- // 新增员工上报隐患
- export interface SaveEmployeeHazardReportReq {
- categoryId: number; // 隐患类别 ID
- hazardDesc: string; // 隐患问题描述
- location: string; // 隐患地点
- reportTime: string; // 上报时间
- sourceType: number; // 提交类型:1-员工,2-供应商,3-第三方
- taskSource: string; // 任务来源
- reporterName: string; // 上报人姓名
- reporterJobNo: string; // 上报人工号
- reporterMobile: string; // 联系电话
- attachment?: string; // 附件 JSON,格式 [{file_name, url}]
- }
- // 编辑员工上报隐患
- export interface UpdateEmployeeHazardReportReq {
- id: number; // 主键 ID
- categoryId?: number; // 隐患类别 ID
- hazardDesc?: string; // 隐患问题描述
- location?: string; // 隐患地点
- reportTime?: string; // 上报时间
- sourceType?: number; // 提交类型:1-员工,2-供应商,3-第三方
- taskSource?: string; // 任务来源
- reporterName?: string; // 上报人姓名
- reporterJobNo?: string; // 上报人工号
- reporterMobile?: string; // 联系电话
- attachment?: string; // 附件 JSON
- }
- // 查询条件
- export interface QueryEmployeeHazardReportReq {
- keyword?: string; // 搜索隐患问题(支持全部非格式化字段关键词:隐患问题描述、隐患地点、姓名、工号、联系电话)
- statusType?: number; // 隐患状态下拉:0或null=全部,1=待审核,2=审核通过,3=审核不通过
- status?: number; // 状态精确值(1~7),与 statusType 二选一
- sourceTypeName?: string; // 搜索任务来源(模糊查询)
- startDate?: string; // 上报时间范围-开始日期(格式:YYYY-MM-DD)
- endDate?: string; // 上报时间范围-结束日期(格式:YYYY-MM-DD)
- categoryId?: number; // 隐患类别 ID
- reporterJobNo?: string; // 上报人工号
- hazardDesc?: string; // 仅按隐患问题描述查询(兼容用,建议使用 keyword)
- }
- // 审核员工上报隐患
- export interface ApproveEmployeeHazardReportReq {
- hazardId: number; // 隐患主表 ID
- node: number; // 审批节点:1-需求部门,2-安全部门
- approvalStatus: number; // 审批状态:2-通过,3-驳回
- approvalContent?: string; // 审批意见
- approvalOrder?: number; // 审核顺序
- }
- // 兼容旧接口名称(向后兼容)
- 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: '/employeeHazardReport/saveEmployeeHazardReport',
- method: 'post',
- data,
- });
- }
- // 编辑员工上报隐患
- export function updateEmployeeHazardReport(data: UpdateEmployeeHazardReportReq) {
- return http.request({
- url: '/employeeHazardReport/updateEmployeeHazardReport',
- method: 'put',
- data,
- });
- }
- // 删除员工上报隐患
- export function deleteEmployeeHazardReport(id: number) {
- return http.request({
- url: `/employeeHazardReport/deleteEmployeeHazardReport?id=${id}`,
- method: 'delete',
- });
- }
- // 根据 ID 查询员工上报隐患详情
- export function queryEmployeeHazardReportById(id: number) {
- return http.request<EmployeeHazardReportDTO>({
- url: `/employeeHazardReport/queryEmployeeHazardReportById?id=${id}`,
- method: 'get',
- });
- }
- // 获取templateID
- export function queryTemplateID() {
- return http.request({
- url: `/employeeHazardReport/queryReportHazardApprovalFlowId`,
- method: 'get',
- });
- }
- // 查看员工上报隐患列表(不分页)
- export function queryEmployeeHazardReportList(params?: QueryEmployeeHazardReportReq) {
- return http.request<EmployeeHazardReportDTO[]>({
- url: '/employeeHazardReport/queryEmployeeHazardReportList',
- method: 'post',
- data: params || {},
- });
- }
- // 分页查询员工上报隐患
- export function queryEmployeeHazardReportPage(query: QueryPageRequest<QueryEmployeeHazardReportReq>) {
- return http.request<QueryPageResponse<EmployeeHazardReportDTO>>({
- url: '/employeeHazardReport/queryEmployeeHazardReportPage',
- method: 'post',
- data: query,
- });
- }
- // 分页查询员工上报隐患(管理员审核列表)
- export function queryEmployeeHazardReportPendingPage(query: QueryPageRequest<QueryEmployeeHazardReportReq>) {
- return http.request<QueryPageResponse<EmployeeHazardReportDTO>>({
- url: '/employeeHazardReport/queryEmployeeHazardReportPendingPage',
- method: 'post',
- data: query,
- });
- }
- // 审核员工上报隐患
- 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`,
- method: 'post',
- data: {
- hazardId,
- },
- });
- }
- // 导出员工上报隐患
- export function exportEmployeeHazardReport(params?: QueryEmployeeHazardReportReq) {
- return http.request(
- {
- url: '/employeeHazardReport/exportEmployeeHazardReport',
- method: 'post',
- data: params || {},
- responseType: 'blob',
- },
- {
- isTransformResponse: false,
- },
- );
- }
- // 导入结果
- export interface ImportRes {
- successCount: number;
- failCount: number;
- failInfoList?: Array<{
- rowNum: number;
- failReason: string;
- }>;
- failMessages?: string[]; // 兼容旧版本
- }
- // 向后兼容的接口函数(使用旧接口名称)
- 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;
- /**
- * ==================== 隐患类别管理 hazardCategory ====================
- */
- export interface HazardCategoryDTO {
- id: number;
- categoryName: string; // 类别名称
- description: string; // 类别描述
- status: number; // 状态:1-启用,0-禁用
- parentId: number; // 父级 ID,一级为 0
- sortOrder: number; // 排序
- createdAt: string; // 创建时间
- updatedAt: string; // 更新时间
- }
- export interface SaveHazardCategoryReq {
- categoryName: string; // 类别名称
- description?: string; // 类别描述,最多 300 字
- status: number; // 启用状态:1-启用,0-禁用
- }
- export interface UpdateHazardCategoryReq {
- id: number; // 主键 ID
- categoryName?: string; // 类别名称
- description?: string; // 类别描述,最多 300 字
- status?: number; // 启用状态:1-启用,0-禁用
- }
- 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 saveHazardCategory(data: SaveHazardCategoryReq) {
- return http.request<number>({
- url: '/hazardCategory/saveHazardCategory',
- method: 'post',
- data,
- });
- }
- // 编辑隐患类别
- export function updateHazardCategory(data: UpdateHazardCategoryReq) {
- return http.request({
- url: '/hazardCategory/updateHazardCategory',
- method: 'put',
- data,
- });
- }
- // 删除隐患类别
- export function deleteHazardCategory(id: number) {
- return http.request({
- url: `/hazardCategory/deleteHazardCategory?id=${id}`,
- method: 'delete',
- });
- }
- // 根据 ID 查询隐患类别详情
- export function queryHazardCategoryById(id: number) {
- return http.request<HazardCategoryDTO>({
- url: `/hazardCategory/queryHazardCategoryById?id=${id}`,
- method: 'get',
- });
- }
- // 查看隐患类别列表(不分页)
- export function queryHazardCategoryList(params?: QueryHazardCategoryReq) {
- return http.request<HazardCategoryDTO[]>({
- url: '/hazardCategory/queryHazardCategoryList',
- method: 'post',
- data: params || {},
- });
- }
- // 分页查询隐患类别
- export function queryHazardCategoryPage(query: QueryPageRequest<QueryHazardCategoryReq>) {
- return http.request<QueryPageResponse<HazardCategoryDTO>>({
- url: '/hazardCategory/queryHazardCategoryPage',
- method: 'post',
- data: query,
- });
- }
- // 导出隐患类别
- export function exportHazardCategory(params?: QueryHazardCategoryReq) {
- return http.request(
- {
- url: '/hazardCategory/exportHazardCategory',
- method: 'post',
- data: params || {},
- responseType: 'blob',
- },
- {
- isTransformResponse: false,
- },
- );
- }
- // 导入隐患类别
- export function importHazardCategory(file: File) {
- const formData = new FormData();
- formData.append('file', file);
- return http.request<ImportRes>({
- url: '/hazardCategory/importHazardCategory',
- method: 'post',
- data: formData,
- headers: {
- 'Content-Type': 'multipart/form-data',
- },
- });
- }
- // 向后兼容的接口函数(使用旧接口名称)
- 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;
|