import request from '@/config/axios' /** 问卷模板信息 */ export interface Questionnaire { id?: number // 问卷ID(创建时不需要) title: string // 问卷标题 type: number // 问卷类型:1-心理测评 2-行为评估 3-满意度调查 description?: string // 问卷说明 totalScore?: number | string // 总分(后端为BigDecimal,前端用number或string) passScore?: number | string // 及格分(后端为BigDecimal,前端用number或string) status: number // 状态:1-草稿 2-已发布 3-已禁用 coverImage?: string // 封面图片URL(单个图片地址) instruction?: string // 填写说明 estimatedTime?: number // 预计耗时(分钟) partCount?: number // 分区数量 allowAnonymous?: boolean // 是否允许匿名 creator?: string // 创建者 createTime?: string // 创建时间 updater?: string // 更新者 updateTime?: string // 更新时间 } /** 问卷模板分页参数 */ export interface QuestionnairePageParams { pageNo: number pageSize: number title?: string // 问卷标题 type?: number // 问卷类型 status?: number // 状态 description?: string // 问卷说明 coverImage?: string // 封面图片URL instruction?: string // 填写说明 estimatedTime?: number // 预计耗时 partCount?: number // 分区数量 allowAnonymous?: boolean // 是否允许匿名 createTime?: string[] // 创建时间范围 } // 问卷模板 API export const QuestionnaireApi = { // 查询问卷模板分页 getQuestionnairePage: async (params: QuestionnairePageParams) => { return await request.get<{ list: Questionnaire[]; total: number }>({ url: `/prison/questionnaire/page`, params }) }, // 查询问卷模板详情 getQuestionnaire: async (id: number) => { return await request.get({ url: `/prison/questionnaire/get`, params: { id } }) }, // 新增问卷模板 createQuestionnaire: async (data: Questionnaire) => { return await request.post({ url: `/prison/questionnaire/create`, data }) }, // 修改问卷模板 updateQuestionnaire: async (data: Questionnaire) => { return await request.put({ url: `/prison/questionnaire/update`, data }) }, // 删除问卷模板 deleteQuestionnaire: async (id: number) => { return await request.delete({ url: `/prison/questionnaire/delete`, params: { id } }) }, /** 批量删除问卷模板 */ deleteQuestionnaireList: async (ids: number[]) => { return await request.post({ url: `/prison/questionnaire/delete-list`, data: ids }) }, // 导出问卷模板 Excel exportQuestionnaire: async (params: QuestionnairePageParams) => { return await request.download({ url: `/prison/questionnaire/export-excel`, params }) } }