import { http } from '@/utils/http/axios'; import type { QueryPageResponse } from '@/types/basic-query'; // import exp from 'node:constants'; import { DeptTree, addDeptProps, editDeptProps } from '@/types/dept/type'; /** * 安全文化基础接口 */ export interface safetyCultureFile { materialName: string; description: string; categoryName: string; caseName: string; id?: number; bizType?: string; fileCode: string; // 文件编号 fileName: string; // 文件名称 classifyName: string; // 分类名称 fileVersion: string; // 文件版本号 fileFormat: number; // 文件格式:PDF/WORD releaseDate: string; // 发布日期(格式:yyyy-MM-dd) fileUrl?: string; // 文件存储路径 content?: string; // 文档内容(富文本) status?: number; // 启用状态:1-启用,0-禁用 createdAt?: string; // 创建时间 updatedAt?: string; // 更新时间 uploadTime?: string; // 上传时间 publishDate?: string; // 发布日期(格式:yyyy-MM-dd) attachmentUrl?: string; // 文档上传(多个文件路径) imageUrls?: string; // 图片上传(多个图片路径) } /** * 查询参数 */ export interface safetyCultureFileQuery { keyword?: string; // 文件名称/编号(模糊查询) status?: number; // 状态:1-启用,0-禁用 classifyName?: string; // 分类名称 startDate?: string; // 上传日期范围-开始日期 endDate?: string; // 上传日期范围-结束日期 } /** * 分页查询参数(Pageable 格式) */ export interface safetyCultureFilePageQuery { pageNumber: number; // 页码,从1开始 pageSize: number; // 每页数量 queryParam?: safetyCultureFileQuery; // 查询条件对象 } /** * 导出参数 */ export interface safetyCultureFileExportQuery extends safetyCultureFileQuery { } export interface ProductionSafetyFileExportQuery extends safetyCultureFileExportQuery { } /** * 新增事故案例参数 */ export interface newAccidentCases { id?: number; // 事故案例ID caseName: string; // 事故案例名称 categoryName: string; // 分类名称 description: string; // 案例描述 attachmentUrl: string[] | string; // 文档上传(多个文件路径) status?: number; // 启用状态:1-启用,0-禁用 } /** * 保存安全活动 */ export interface addSafetyCultureFilePageQuery { id?: number; planName: string; actionContent: string; categoryName: string; responsibleDeptId: number; responsiblePersonId: number; cooperateDeptIds: string; attachmentUrl: string[] | string; // 文档上传(多个文件路径) } /** * 导入响应 */ export interface ImportRes { successCount: number; // 成功数量 failCount: number; // 失败数量 failMessages: string[]; // 失败信息列表 } export interface ActivityRegistrationTargetItem { id?: number; // 活动注册目标项ID planName: string; // 计划名称 createdByName: string; // 创建人姓名 responsibleDeptName: string; // 负责部门名称 startTime: string; // 开始时间(格式:yyyy-MM-dd HH:mm:ss) departmentName: string; // 部门名称 isAdvancedGroup: boolean; // 是否先进集体 departmentSort: number; // 部门排序 departmentLeader: string; // 部门负责人 baseScore: number; // 基础分 totalScore: number; // 总分数 addScore: number; // 加分项分数 subtractScore: number; // 减分项分数 } export interface IssueHiddenDangerRequest { id: number; specificDeptId: string; specificPersonId: string; startTime: string; endTime: string; } // =============================== 事故案例管理 ============================ /** * 分页查询事故案例管理 */ export function accidentCaseManagementFilePage(query: safetyCultureFilePageQuery, classifyName?: string) { return http.request>({ url: '/accidentCase/queryPage', method: 'post', data: query, params: classifyName ? { classifyName } : undefined, }); } /** * 查询事故案例详情 */ export function queryAccidentCaseDetail(id: number) { return http.request({ url: `/accidentCase/queryDetail?id=${id}`, method: 'get', }); } /** * 新增事故案例 */ export function saveAccidentCase(data: newAccidentCases) { return http.request({ url: '/accidentCase/save', method: 'post', data, }); } /** * 更新事故案例 */ export function updateAccidentCase(data: newAccidentCases) { return http.request({ url: '/accidentCase/update', method: 'put', data, }); } /** * 删除事故案例 */ export function deleteAccidentCase(id: number) { return http.request({ url: `/accidentCase/delete?id=${id}`, method: 'delete', }); } /** * 查询安全文化材料分页 */ export function querySafetyCultureMaterialsPage(query: safetyCultureFilePageQuery, classifyName?: string) { return http.request({ url: '/safety-culture/query-page', method: 'post', data: query, params: classifyName ? { classifyName } : undefined, }); } /** * 删除安全文化材料 */ export function deleteSafetyCultureMaterials(id: number) { return http.request({ url: `/safety-culture/delete?id=${id}`, method: 'delete', }); } /** * 根据ID查询院级文件详情 */ export function queryAcademyFileById(id: number) { return http.request({ url: `/safety-culture/detail?id=${id}`, method: 'get', }); } /** *新增安全文化资料 */ export function saveAcademyFile(data: safetyCultureFile) { return http.request({ url: '/safety-culture/save', method: 'post', data, }); } /** *更新安全文化资料 */ export function updateAcademyFile(data: safetyCultureFile) { return http.request({ url: '/safety-culture/update', method: 'put', data, }); } /** * 安全文化活动列表 */ export function safetyCultureActivityManagementFilePage(data: safetyCultureFilePageQuery) { return http.request({ url: '/safetyCulture/activity/queryPage', method: 'post', data, }); } /** * 安全文化活动执行人列表 */ export function safetyCultureActivityManagementExecutorFilePage(data: safetyCultureFilePageQuery) { return http.request({ url: '/safetyCulture/activity/queryPageIssue', method: 'post', data, }); } /** * 删除安全文化活动 */ export function deleteSafetyCultureActivityManagement(id: number) { return http.request({ url: `/safetyCulture/activity/delete?id=${id}`, method: 'delete', }); } /** * 新增安全文化活动 */ export function addSafetyCultureActivityManagement(data: addSafetyCultureFilePageQuery) { return http.request({ url: '/safetyCulture/activity/save', method: 'post', data, }); } /** * 更新安全文化活动 */ export function updateSafetyCultureActivity(data: addSafetyCultureFilePageQuery) { return http.request({ url: '/safetyCulture/activity/update', method: 'put', data, }); } /** * 查询安全文化活动详情 */ export function querySafetyCultureActivityDetail(id: number) { return http.request({ url: `/safetyCulture/activity/queryDetail?id=${id}`, method: 'get', }); } /** * 查询安全文化活动报名分页 */ export function saveSafetyCultureActivityManagement(data) { return http.request({ url: '/safetyCulture/registration/queryPage', method: 'post', data, }); } /** * 查询执行人安全文化活动报名分页 */ export function saveSafetyCultureActivityExecutorManagement(data) { return http.request({ url: '/safetyCulture/registration/queryPageDept', method: 'post', data, }); } export function getAllDepartments(): Promise { return http.request({ url: '/admin/dept/queryAllDeptTree', method: 'post', }); } /** * 添加安全文化活动报名 */ export function addSafetyCultureActivityRegistration(data) { return http.request({ url: '/safetyCulture/registration/save', method: 'post', data, }); } /** * 删除安全文化活动报名 */ export function deleteSafetyCultureActivityRegistration(id: number) { return http.request({ url: `/safetyCulture/registration/delete?id=${id}`, method: 'post' }); } /** * 更新安全文化活动 */ export function updateSafetyCultureActivityManagement(data) { return http.request({ url: '/safetyCulture/registration/update', method: 'post', data, }); } /** * 安全宣传栏管理分页查询 */ export function querySafetyPublicityBoardPage(data: safetyCultureFilePageQuery) { return http.request({ url: '/safetypublicitybulletinboard/query-page', method: 'post', data, }); } /** * 添加安全宣传栏管理分页查询 */ export function saveSafetyPublicityBoardPage(data) { return http.request({ url: '/safetypublicitybulletinboard/save', method: 'post', data, }); } /** * 安全宣传栏管理详情 */ export function querySafetyPublicityBoardDetail(id: number) { return http.request({ url: `/safetypublicitybulletinboard/detail?id=${id}`, method: 'get', }); } /** * 更新安全宣传栏管理 */ export function updateSafetyPublicityBoardPage(data) { return http.request({ url: '/safetypublicitybulletinboard/update', method: 'put', data, }); } /** * 删除安全宣传栏管理 */ export function deleteSafetyPublicityBoardPage(id: number) { return http.request({ url: `/safetypublicitybulletinboard/delete?id=${id}`, method: 'delete', }); } /** * 导出事故案例管理文件 */ export function exportAccidentCaseManagementFile(params?: ProductionSafetyFileExportQuery, classifyName?: string) { return http.request({ url: '/accidentCase/export', method: 'post', data: params, params: classifyName ? { classifyName } : undefined, responseType: 'blob', }, { isTransformResponse: false, }); } /** * 安全文化活动下发 * PUT /api/safetyCulture/activity/assign */ export function activityDistribution(data: IssueHiddenDangerRequest) { return http.request({ url: '/safetyCulture/activity/assign', method: 'put', data, }); } /** * 添加安全文化活动反馈 */ export function feedbackSafetyCultureActivityManagement(data: addSafetyCultureFilePageQuery) { return http.request({ url: '/safetyCulture/activity/feedback', method: 'put', data, }); }