tangweijie 934f2935ac feat: 更新前端 API 接口和评估报告组件
- AreaApi 完善查询方法
- CellApi 新增获取列表方法
- ConsumptionApi 优化查询参数
- QuestionnaireApi 调整接口结构
- QuestionnaireRecordApi 完善类型定义
- RiskAssessmentApi 优化接口参数
- ReportDetailDialog 修复样式问题

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-19 23:14:40 +08:00

89 lines
2.8 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import request from '@/config/axios'
/** 问卷问题信息 */
export interface Question {
id?: number // 问题ID创建时不需要
questionnaireId: number // 所属问卷ID
title: string // 问题标题
type: number // 问题类型1-单选 2-多选 3-填空 4-评分 5-日期 6-数字
options?: string // 选项JSON单选/多选时使用)
score?: number // 分值
sort?: number // 排序
isRequired?: boolean // 是否必答
partName?: string // 分区名称
partSort?: number // 分区排序
helpText?: string // 帮助说明文字
placeholder?: string // 占位提示
defaultValue?: string // 默认值
autoFillType?: string // 自动填充类型NONE-无 AUTO-自动填充 MANUAL-手动输入
autoFillSource?: string // 自动填充来源
displayCondition?: string // 显示条件JSON
minValue?: number // 最小值
maxValue?: number // 最大值
createTime?: string // 创建时间
}
/** 问卷问题分页参数 */
export interface QuestionPageParams {
pageNo: number
pageSize: number
questionnaireId?: number // 所属问卷ID
title?: string // 问题标题
type?: number // 问题类型
partName?: string // 分区名称
createTime?: string[] // 创建时间范围
}
/** 批量更新请求 */
export interface QuestionBatchUpdateReq {
questions: Array<{
id: number
partName?: string
partSort?: number
sort?: number
}>
}
// 问卷问题 API
export const QuestionApi = {
// 查询问卷问题分页
getQuestionPage: async (params: QuestionPageParams) => {
return await request.get({ url: `/prison/question/page`, params })
},
// 查询问卷问题详情
getQuestion: async (id: number) => {
return await request.get<Question>({ url: `/prison/question/get`, params: { id } })
},
// 新增问卷问题
createQuestion: async (data: Question) => {
return await request.post<number>({ url: `/prison/question/create`, data })
},
// 修改问卷问题
updateQuestion: async (data: Question) => {
return await request.put<boolean>({ url: `/prison/question/update`, data })
},
// 删除问卷问题
deleteQuestion: async (id: number) => {
return await request.delete<boolean>({ url: `/prison/question/delete`, params: { id } })
},
/** 批量删除问卷问题 */
deleteQuestionList: async (ids: number[]) => {
return await request.delete<boolean>({ url: `/prison/question/delete-list`, params: { ids: ids.join(',') } })
},
// 批量更新问卷问题使用POST方法与后端一致
batchUpdate: async (data: QuestionBatchUpdateReq) => {
return await request.post<boolean>({ url: `/prison/question/batch-update`, data })
},
// 导出问卷问题 Excel
exportQuestion: async (params: QuestionPageParams) => {
return await request.download({ url: `/prison/question/export-excel`, params })
}
}