import { http } from '@/utils/http/axios'; import type { QueryPageRequest, QueryPageResponse } from '@/types/basic-query'; /** * 考核项目内容 */ export interface EvaluationContent { id: number; psemId: number; serialNum: number; exProgram: string; // 考核项目 exContent: string; // 考核内容 scoringWay: string; // 评分方式 isAdd?: number; // 是否加分项(0-否,1-是) reviewUserId?: number | null; // 复评人ID reviewUserName?: string; // 复评人姓名 } /** * 安全考核管理返回对象 */ export interface EvaluationSystemItem { id: number; exName: string; // 考核表名称 attachments: string; // 考核文档 ratingDescribe: string; // 评分说明 deptNames: string; // 下发部门 deptIds: string; // 下发部门ID planStartTime: string; // 计划开始时间 planEndTime: string; // 计划结束时间 status: number; // 状态(0-未下发/2-待反馈/3-待复核/4-待审核/5-已作废/1-已完成) statusName: string; // 状态名称 createdUserId: number; createdUserName: string; // 创建人 createdAt: string; // 创建时间 updatedAt: string; // 更新时间 isDeleted: number; exContents: EvaluationContent[]; // 考核项目列表 } /** * 安全考核管理查询参数 */ export interface EvaluationSystemQueryParam { psemId?: number; exName?: string; // 考核表名称 status?: number; // 状态 deptName?: string; // 所属部门 userName?: string; planStartTime?: string; // 计划开始时间 planEndTime?: string; // 计划结束时间 } /** * 导出月度扣分请求参数 */ export interface ExportMonthlyDeductionRequest { deductionTitle?: string; // 扣分标题 status?: boolean; // 状态 id?: number; // 考核表ID } /** * 查询安全考核管理列表 */ export function querySecurityExamine(query: QueryPageRequest) { return http.request>({ url: '/securityExamine/admin/querySecurityExamine', method: 'post', data: query, }); } /** * 导入考核项目详情 */ export function importSecurityExamineDet(formData: FormData) { return http.request({ url: '/securityExamine/admin/importSecurityExamineDet', method: 'post', data: formData, headers: { 'Content-Type': 'multipart/form-data', }, }); } /** * 保存安全考核管理请求参数 */ export interface SaveSecurityExamineRequest { id?: number; // 编辑时传ID,新增时为0或不传 exName: string; // 考核表名称 attachments: string; // 考核文档(附件URL字符串,多个用逗号分隔) ratingDescribe: string; // 评分说明 deptNames?: string; // 下发部门 deptIds?: number[]; // 下发部门ID数组 getUserGroupId?: number; planStartTime?: string; // 计划开始时间 planEndTime?: string; // 计划结束时间 status: number; // 状态(0-未下发) createdUserId?: number; // 创建人ID createdUserName?: string; // 创建人名称 exContents: EvaluationContent[]; // 考核项目列表 } /** * 保存安全考核管理(新增/编辑) */ export function saveSecurityExamine(data: SaveSecurityExamineRequest) { return http.request({ url: '/securityExamine/admin/saveSecurityExamine', method: 'post', data, }); } /** * 查询安全考核管理详情 */ export function querySecurityExamineDetail(id: number) { return http.request({ url: `/securityExamine/admin/querySecurityExamineDetail`, method: 'get', params: { id }, }); } /** * 删除安全考核管理 */ export function deleteSecurityExamine(id: number) { return http.request({ url: `/securityExamine/admin/deleteSecurityExamine?id=${id}`, method: 'delete', // params: { id }, }); } /** * 更新安全考核管理请求参数(编辑时使用) */ export interface UpdateSecurityExamineRequest { id: number; // 必须传ID exName: string; // 考核表名称 attachments: string; // 考核文档(附件URL字符串,多个用逗号分隔) ratingDescribe: string; // 评分说明 deptNames?: string; // 下发部门 deptIds?: number[]; // 下发部门ID数组 getUserGroupId?: number; planStartTime?: string; // 计划开始时间 planEndTime?: string; // 计划结束时间 status: number; // 状态 createdUserId?: number; // 创建人ID createdUserName?: string; // 创建人名称 exContents: EvaluationContent[]; // 考核项目列表 } /** * 更新安全考核管理(编辑) */ export function updateSecurityExamine(data: UpdateSecurityExamineRequest) { return http.request({ url: '/securityExamine/admin/updateSecurityExamine', method: 'put', data, }); } /** * 下发安全考核表请求参数 */ export interface SaveSecurityExamineIssueRequest { id: number; deptNames: string; // 部门名称(逗号分隔) deptIds: number[]; // 部门ID(多选) getUserGroupId?: number; // 分组ID deptSelfApproveUserId?: number; // 部门自评审核人ID planStartTime?: string; // 计划开始时间 planEndTime?: string; // 计划结束时间 } /** * 下发安全考核表 */ export function saveSecurityExamineIssue(data: SaveSecurityExamineIssueRequest) { return http.request({ url: '/securityExamine/admin/saveSecurityExamineIssue', method: 'post', data, }); } /** * 部门自评审核人 */ export interface SecurityExamineSelfApproveUser { id: number; realname: string; } /** * 查询部门自评审核人列表 * @param id 考核表ID */ export function querySecurityExamineSelfApprove(id: number) { return http.request({ url: '/securityExamine/admin/querySecurityExamineSelfApprove', method: 'get', params: { id }, }); } /** * 考核对象评分项 */ export interface EvaluationScoreItem { id: number; psemId: number; psedId: number; pseiId: number; serialNum: number; exProgram: string; // 考核项目 exContent: string; // 考核内容 scoringWay: string; // 评分方式 selfScore: number; // 自评分数 attachments: string; // 附件 reviewScore: number; // 审核分数 isAdd?: number; // 是否加分项(0-否,1-是) createdAt: string; updatedAt: string; isDeleted: number; } /** * 考核对象列表项 */ export interface EvaluationTargetItem { id: number; psemId: number; // 考核表ID deptName: string; // 部门名称 exName: string; // 考核表名称 attachments: string; // 考核文档 planEndTime: string; // 计划结束时间 deptId: number; // 部门ID status: number; // 状态(0-未下发/2-待反馈/3-待复核/4-待审核/5-已作废/1-已完成) statusName: string; // 状态名称 reviewRejectReson?: string; // 审核拒绝原因 approveRejectReson?: string; // 审批拒绝原因 deptUserId?: number; // 部门负责人ID deptUserName?: string; // 部门负责人姓名 deptUserLink?: string; // 部门负责人联系方式 reviewUserId?: number; // 审核人ID reviewUserName?: string; // 审核人姓名 createdAt: string; updatedAt: string; isDeleted: number; scores?: EvaluationScoreItem[]; // 评分详情 scoreRank?: number; // 排名 } /** * 查询考核对象列表请求参数(queryParam) */ export interface QuerySecurityExamineIssueQueryParam { psemId?: number; // 考核表ID(从路由参数获取) planStartTime?: string; // 计划开始时间 planEndTime?: string; // 计划结束时间 status?: number; // 状态(0-未下发/2-待反馈/3-待复核/4-待审核/5-已作废/1-已完成) deptName?: string; // 部门名称(考核对象) } /** * 查询考核对象列表请求参数 */ export interface QuerySecurityExamineIssueParams { pageNumber: number; // 页号 pageSize: number; // 每页数量 queryParam: QuerySecurityExamineIssueQueryParam; // 查询参数 } /** * 查询考核对象列表 */ export function querySecurityExamineIssue(params: QuerySecurityExamineIssueParams) { return http.request>({ url: '/securityExamine/admin/querySecurityExamineIssue', method: 'post', data: params, }); } /** * 作废安全考核表 */ export function updateSecurityExamineRepeal(id: number) { return http.request({ url: `/securityExamine/admin/updateSecurityExamineRepeal?id=${id}`, method: 'put', }); } /** * 作废考核对象 */ export function updateSecurityExamineIssueRepeal(id: number) { return http.request({ url: `/securityExamine/admin/updateSecurityExamineIssueRepeal?id=${id}`, method: 'put', }); } /** * 删除考核对象 */ export function deleteSecurityExamineIssue(id: number) { return http.request({ url: `/securityExamine/admin/deleteSecurityExamineIssue?id=${id}`, method: 'delete', }); } /** * 查询部门考核列表请求参数(queryParam) */ export interface QuerySecurityExamineDeptQueryParam { exName?: string; // 考核表名称 status?: number; // 状态 deptName?: string; // 部门名称 planStartTime?: string; // 计划开始时间 planEndTime?: string; // 计划结束时间 } /** * 查询部门考核列表请求参数 */ export interface QuerySecurityExamineDeptParams { pageNumber: number; // 页号 pageSize: number; // 每页数量 queryParam: QuerySecurityExamineDeptQueryParam; // 查询参数 } /** * 查询部门考核列表 */ export function querySecurityExamineDept(params: QuerySecurityExamineDeptParams) { return http.request>({ url: '/securityExamine/dept/querySecurityExamineDept', method: 'post', data: params, }); } /** * 查询部门考核详情 */ export function querySecurityExamineIssueDeptDetail(id: number) { return http.request({ url: `/securityExamine/dept/querySecurityExamineIssueDeptDetail?id=${id}`, method: 'get', }); } /** * 查询管理员端考核对象详情(用于评分) */ export function querySecurityExamineIssueDetail(id: number) { return http.request({ url: `/securityExamine/admin/querySecurityExamineIssueDetail?id=${id}`, method: 'get', }); } /** * 提交部门考核反馈请求参数 */ export interface UpdateSecurityExamineDeptSubmitParams { id: number; // 考核表ID (psemId) scores: Array<{ id?: number; // 评分项ID selfScore: number; // 自评得分 }>; } /** * 提交部门考核反馈 */ export function updateSecurityExamineDeptSubmit(params: UpdateSecurityExamineDeptSubmitParams) { return http.request({ url: '/securityExamine/dept/updateSecurityExamineDeptSubmit', method: 'put', data: params, }); } /** * 导出部门考核详情 */ export function exportSecurityExamineIssueDeptDetail(id: number) { return http.request({ url: '/securityExamine/dept/exportSecurityExamineIssueDeptDetail', method: 'post', data: { id }, responseType: 'blob', }); } /** * 导入部门考核详情 */ export function importSecurityExamineIssueDeptDetail(params: { id: number; file: File }) { const formData = new FormData(); formData.append('id', String(params.id)); formData.append('file', params.file); return http.request({ url: '/securityExamine/dept/importSecurityExamineIssueDeptDetail', method: 'post', data: formData, headers: { 'Content-Type': 'multipart/form-data', }, }); } /** * 管理员端复核提交 */ export function updateSecurityExamineIssueReviewSubmit(params: UpdateSecurityExamineDeptSubmitParams) { return http.request({ url: '/securityExamine/admin/updateSecurityExamineIssueReviewSubmit', method: 'put', data: params, }); } /** * 管理员端复核通过(提交) */ export function updateSecurityExamineIssueReviewAgree(params: UpdateSecurityExamineDeptSubmitParams) { return http.request({ url: '/securityExamine/admin/updateSecurityExamineIssueReviewAgree', method: 'put', data: params, }); } /** * 管理员端复核不通过 */ export function updateSecurityExamineIssueReviewDisagree(data: { id: number; reviewRejectReson?: string }) { return http.request({ url: '/securityExamine/admin/updateSecurityExamineIssueReviewDisagree', method: 'put', data, }); } /** * 管理员端审核通过 */ export function updateSecurityExamineIssueApproveAgree(id: number) { return http.request({ url: `/securityExamine/admin/updateSecurityExamineIssueApproveAgree?id=${id}`, method: 'put', }); } /** * 管理员端审核不通过 */ export function updateSecurityExamineIssueApproveDisagree(data: { id: number; approveRejectReson?: string; psemId?: number }) { return http.request({ url: '/securityExamine/admin/updateSecurityExamineIssueApproveDisagree', method: 'put', data, }); } /** * 查询先进集体 */ export interface QuerySecurityExamineIssueAdvancedParams extends QueryPageRequest { queryParam: { psemId?: number; deptName?: string; planStartTime?: string; planEndTime?: string; }; } export function querySecurityExamineIssueAdvanced(params: QuerySecurityExamineIssueAdvancedParams) { return http.request>({ url: '/securityExamine/admin/querySecurityExamineIssueAdvanced', method: 'post', data: params, }); } /** * 部门端先进个人查询请求参数(queryParam) */ export interface QuerySecurityExamineDeptAdvancedUserQueryParam { psemId?: number; // 考核表ID userName?: string; // 员工工号/名称 planStartTime?: string; // 计划开始时间 planEndTime?: string; // 计划结束时间 } /** * 部门端先进个人查询请求参数 */ export interface QuerySecurityExamineDeptAdvancedUserParams { pageNumber: number; // 页号 pageSize: number; // 每页数量 queryParam: QuerySecurityExamineDeptAdvancedUserQueryParam; // 查询参数 } /** * 部门端先进个人返回对象 */ export interface EvaluationDeptAdvancedUserItem { id?: number; // 记录ID deptName: string; // 所属部门 deptId?: number; // 部门ID deptUserId?: number; // 部门用户ID deptUserName: string; // 部门负责人 deptUserLink: string; // 部门负责人联系方式 advUserStaffNo: string; // 员工工号 advUserName: string; // 先进个人姓名 advUserLink: string; // 先进个人联系方式(员工联系方式) remark: string; // 先进个人描述 attachments: string; // 附件 planEndTime: string; // 上报日期(计划结束时间) } /** * 查询部门端先进个人列表 */ export function querySecurityExamineDeptAdvancedUser(params: QuerySecurityExamineDeptAdvancedUserParams) { return http.request>({ url: '/securityExamine/dept/querySecurityExamineDeptAdvancedUser', method: 'post', data: params, }); } /** * 管理员端先进个人查询请求参数(queryParam) */ export interface QuerySecurityExamineIssueAdvancedUserQueryParam { psemId?: number; // 考核表ID deptName?: string; // 部门名称 userName?: string; // 员工工号/名称 planStartTime?: string; // 计划开始时间 planEndTime?: string; // 计划结束时间 } /** * 管理员端先进个人查询请求参数 */ export interface QuerySecurityExamineIssueAdvancedUserParams { pageNumber: number; // 页号 pageSize: number; // 每页数量 queryParam: QuerySecurityExamineIssueAdvancedUserQueryParam; // 查询参数 } /** * 查询管理员端先进个人列表 */ export function querySecurityExamineIssueAdvancedUser(params: QuerySecurityExamineIssueAdvancedUserParams) { return http.request>({ url: '/securityExamine/admin/querySecurityExamineIssueAdvancedUser', method: 'post', data: params, }); } /** * 保存部门端先进个人请求参数 */ export interface SaveSecurityExamineDeptAdvUserRequest { psemId: number; // 考核表ID users: Array<{ deptId: number; // 部门ID advUserStaffNo: string; // 员工工号 advUserName: string; // 先进个人姓名 advUserLink: string; // 先进个人联系方式 remark: string; // 先进个人描述 }>; } /** * 保存部门端先进个人 */ export function saveSecurityExamineDeptAdvUser(data: SaveSecurityExamineDeptAdvUserRequest) { return http.request({ url: '/securityExamine/dept/saveSecurityExamineDeptAdvUser', method: 'post', data, }); } /** * 管理员端保存先进个人请求参数 */ export interface SaveSecurityExamineAdvUserAdminRequest { psemId: number; // 考核表ID(路由参数id) deptId: number; // 部门ID advUserStaffNo: string; // 员工工号 advUserName: string; // 先进个人姓名 advUserLink: string; // 先进个人联系方式 remark: string; // 先进个人描述 } /** * 管理员端保存先进个人 */ export function saveSecurityExamineAdvUserAdmin(data: SaveSecurityExamineAdvUserAdminRequest) { return http.request({ url: '/securityExamine/admin/saveSecurityExamineAdvUserAdmin', method: 'post', data, }); } /** * 管理员端更新先进个人 */ export interface UpdateSecurityExamineAdvUserAdminRequest extends EvaluationDeptAdvancedUserItem { psemId: number; // 考核表ID } export function updateSecurityExamineAdvUserAdmin(data: UpdateSecurityExamineAdvUserAdminRequest) { return http.request({ url: '/securityExamine/admin/updateSecurityExamineAdvUserAdmin', method: 'post', data, }); } /** * 查询部门端先进个人详情 */ export function querySecurityExamineDeptAdvUserDetail(id: number) { return http.request({ url: `/securityExamine/dept/querySecurityExamineDeptAdvUser?id=${id}`, method: 'get', }); } /** * 更新部门端先进个人请求参数 */ export interface UpdateSecurityExamineDeptAdvUserRequest { id: number; // 记录ID psemId: number; // 考核表ID deptName: string; // 部门名称 deptId: number; // 部门ID deptUserId: number; // 部门用户ID deptUserName: string; // 部门负责人姓名 deptUserLink: string; // 部门负责人联系方式 advUserStaffNo: string; // 员工工号 advUserName: string; // 先进个人姓名 advUserLink: string; // 先进个人联系方式 remark: string; // 先进个人描述 } /** * 更新部门端先进个人 */ export function updateSecurityExamineDeptAdvUser(data: UpdateSecurityExamineDeptAdvUserRequest) { return http.request({ url: '/securityExamine/dept/updateSecurityExamineDeptAdvUser', method: 'put', data, }); } /** * 管理员端查询先进个人详情 */ export function querySecurityExamineAdvUser(id: number) { return http.request({ url: `/securityExamine/admin/querySecurityExamineAdvUser?id=${id}`, method: 'get', }); } /** * 删除部门端先进个人 */ export function deleteSecurityExamineDeptAdvUser(id: number) { return http.request({ url: `/securityExamine/dept/deleteSecurityExamineDeptAdvUser?id=${id}`, method: 'delete', }); } /** * 考核对象 */ export function exportEvaluationTarget(query: ExportMonthlyDeductionRequest) { return http.request({ url: '/securityExamine/admin/exportSecurityExamineIssue', method: 'post', data: query, responseType: 'blob', }, { isTransformResponse: false, }); } /** * 导出先进个人 */ export function exportEvaluationAdvUser(query: ExportMonthlyDeductionRequest) { return http.request({ url: '/securityExamine/admin/exportSecurityExamineIssueAdvancedUser', method: 'post', data: query, responseType: 'blob', }, { isTransformResponse: false, }); } /** * 导出部门排序 */ export function exportEvaluationDeptSort(query: ExportMonthlyDeductionRequest) { return http.request({ url: '/securityExamine/admin/exportSecurityExamineIssueAdvanced', method: 'post', data: query, responseType: 'blob', }, { isTransformResponse: false, }); } /** * 下载模板 */ export function addDownloadTheTemplate(query: ExportMonthlyDeductionRequest) { return http.request({ url: '/securityExamine/admin/exportImportSecurityExamineDetTemplate', method: 'get', data: query, responseType: 'blob', }, { isTransformResponse: false, }); } /** * 导出安全检查详情 */ export function exportSecurityExamineDet(query: ExportMonthlyDeductionRequest) { return http.request({ url: '/securityExamine/admin/exportSecurityExamineDet?id=' + query.id, method: 'get', data: query, responseType: 'blob', }, { isTransformResponse: false, }); }