diff --git a/src/api/prison/area/index.ts b/src/api/prison/area/index.ts index 32861ba2..9b18c99d 100644 --- a/src/api/prison/area/index.ts +++ b/src/api/prison/area/index.ts @@ -39,11 +39,12 @@ export interface AreaSaveReqVO { name: string code: string parentId?: number - level?: number - type: number - capacity: number + level: number // 级别:1-监区(大队) 2-分监区(中队),必填 + type: number // 监区类型:1-普通监区 2-严管监区 3-集训监区 4-出监监区 5-医院监区 6-禁闭室 + capacity: number // 容纳人数 + currentCount?: number // 当前人数,创建时可不传 sort?: number - status?: number + status: number // 状态:1-启用 2-禁用,必填 remark?: string } @@ -51,11 +52,16 @@ export interface AreaSaveReqVO { export interface AreaPageReqVO { pageNo: number pageSize: number - name?: string - code?: string - type?: number - level?: number - status?: number + name?: string // 监区名称 + code?: string // 监区编码 + type?: number // 监区类型 + level?: number // 级别 + capacity?: number // 容纳人数 + currentCount?: number // 当前人数 + sort?: number // 排序 + status?: number // 状态:1-启用 2-禁用 + remark?: string // 备注 + createTime?: string[] // 创建时间范围 [开始时间, 结束时间] } // 监区信息 API @@ -80,6 +86,11 @@ export const AreaApi = { return await request.get({ url: `/prison/area/parent-list`, params: { level } }) }, + // 查询子监区列表(用于下拉选择) + getChildAreas: async (parentId: number) => { + return await request.get({ url: `/prison/area/children`, params: { parentId } }) + }, + // 新增监区信息 createArea: async (data: AreaSaveReqVO) => { return await request.post({ url: `/prison/area/create`, data }) diff --git a/src/api/prison/cell/index.ts b/src/api/prison/cell/index.ts index a0df8bff..40eac0f8 100644 --- a/src/api/prison/cell/index.ts +++ b/src/api/prison/cell/index.ts @@ -23,6 +23,7 @@ export interface CellCreateReqVO { name: string code: string capacity: number + currentCount?: number // 当前人数,创建时默认为0 sort: number status: number remark?: string @@ -39,7 +40,9 @@ export interface CellPageReqVO { pageSize: number areaId?: number name?: string + code?: string // 监室编码 status?: number + createTime?: string[] // 创建时间范围 } // ========== 监室信息 API ========== @@ -77,5 +80,10 @@ export const CellApi = { // 导出监室信息 Excel exportCell: async (params: CellPageReqVO) => { return await request.download({ url: '/prison/cell/export-excel', params }) + }, + + // 获取监室列表(下拉选择用) + getCellList: async (params: { areaId?: number; status?: number }) => { + return await request.get({ url: '/prison/cell/list', params }) } } diff --git a/src/api/prison/consumption/index.ts b/src/api/prison/consumption/index.ts index 4facb3d9..e0a124bf 100644 --- a/src/api/prison/consumption/index.ts +++ b/src/api/prison/consumption/index.ts @@ -8,15 +8,19 @@ export interface ConsumptionPageParams { prisonerName?: string // 罪犯姓名 prisonAreaId?: number // 监区ID prisonCellId?: number // 监室ID - type?: number - status?: number - totalAmount?: number - orderNo?: string + type?: number // 类型:1-购物 2-餐饮 3-医疗 4-通讯 5-其他 + status?: number // 状态:1-成功 2-失败 + totalAmount?: number // 订单总金额 + balance?: number // 账户余额 + orderNo?: string // 订单号 + tradeTime?: string[] // 交易时间范围 + createTime?: string[] // 创建时间范围 } /** 消费明细信息 */ export interface ConsumptionDetail { id?: number // 明细ID + consumptionId?: number // 消费订单ID goodsName: string // 商品名称 goodsCode?: string // 商品编码 goodsPrice: number // 商品单价 @@ -43,6 +47,7 @@ export interface Consumption { remark: string // 备注 details?: ConsumptionDetail[] // 消费明细列表 createTime?: Date // 创建时间 + updateTime?: Date // 更新时间 } // 消费订单 API diff --git a/src/api/prison/question/index.ts b/src/api/prison/question/index.ts index 3cefbbec..78e58e20 100644 --- a/src/api/prison/question/index.ts +++ b/src/api/prison/question/index.ts @@ -31,6 +31,7 @@ export interface QuestionPageParams { title?: string // 问题标题 type?: number // 问题类型 partName?: string // 分区名称 + createTime?: string[] // 创建时间范围 } /** 批量更新请求 */ @@ -75,9 +76,9 @@ export const QuestionApi = { return await request.delete({ url: `/prison/question/delete-list`, params: { ids: ids.join(',') } }) }, - // 批量更新问卷问题 + // 批量更新问卷问题(使用POST方法,与后端一致) batchUpdate: async (data: QuestionBatchUpdateReq) => { - return await request.put({ url: `/prison/question/batch-update`, data }) + return await request.post({ url: `/prison/question/batch-update`, data }) }, // 导出问卷问题 Excel diff --git a/src/api/prison/questionnaire/index.ts b/src/api/prison/questionnaire/index.ts index 43d99b10..b1b497dd 100644 --- a/src/api/prison/questionnaire/index.ts +++ b/src/api/prison/questionnaire/index.ts @@ -6,10 +6,10 @@ export interface Questionnaire { title: string // 问卷标题 type: number // 问卷类型:1-心理测评 2-行为评估 3-满意度调查 description?: string // 问卷说明 - totalScore: number // 总分 - passScore: number // 及格分 + totalScore?: number | string // 总分(后端为BigDecimal,前端用number或string) + passScore?: number | string // 及格分(后端为BigDecimal,前端用number或string) status: number // 状态:1-草稿 2-已发布 3-已禁用 - coverImage?: string // 封面图片URL + coverImage?: string // 封面图片URL(单个图片地址) instruction?: string // 填写说明 estimatedTime?: number // 预计耗时(分钟) partCount?: number // 分区数量 @@ -24,16 +24,16 @@ export interface Questionnaire { export interface QuestionnairePageParams { pageNo: number pageSize: number - title?: string - type?: number - status?: number - description?: string - coverImage?: string - instruction?: string - estimatedTime?: number - partCount?: number - allowAnonymous?: boolean - createTime?: string + title?: string // 问卷标题 + type?: number // 问卷类型 + status?: number // 状态 + description?: string // 问卷说明 + coverImage?: string // 封面图片URL + instruction?: string // 填写说明 + estimatedTime?: number // 预计耗时 + partCount?: number // 分区数量 + allowAnonymous?: boolean // 是否允许匿名 + createTime?: string[] // 创建时间范围 } // 问卷模板 API diff --git a/src/api/prison/questionnairerecord/index.ts b/src/api/prison/questionnairerecord/index.ts index a65f3d5d..adf9bafb 100644 --- a/src/api/prison/questionnairerecord/index.ts +++ b/src/api/prison/questionnairerecord/index.ts @@ -1,5 +1,13 @@ import request from '@/config/axios' +// ========== 风险等级枚举 ========== +export enum RiskLevelEnum { + LOW = 1, // 低风险 + MEDIUM = 2, // 中风险 + HIGH = 3, // 高风险 + EXTREME = 4 // 极高风险 +} + // ========== 问卷答题记录/测评记录类型 ========== /** 问卷答题记录/测评记录信息 */ @@ -13,13 +21,14 @@ export interface QuestionnaireRecord { status?: number // 状态:1-待测评 2-测评中 3-已完成 4-已过期 5-已取消 startTime?: string // 开始时间 endTime?: string // 结束时间 + answerTime?: string // 答题时间 deadline?: string // 截止日期 - objectiveScore?: number // 客观题得分 - subjectiveScore?: number // 主观题得分 - totalScore?: number // 总分 - passScore?: number // 及格分数 + objectiveScore?: number | string // 客观题得分(后端为BigDecimal) + subjectiveScore?: number | string // 主观题得分(后端为BigDecimal) + totalScore?: number | string // 总分(后端为BigDecimal) + passScore?: number | string // 及格分数(后端为BigDecimal) passStatus?: number // 及格状态:1-及格 2-不及格 3-待评阅 - riskLevel?: number // 风险等级:1-低风险 2-中风险 3-高风险 4-极高风险 + riskLevel?: RiskLevelEnum // 风险等级:1-低风险 2-中风险 3-高风险 4-极高风险 evaluatorId?: number // 评阅人ID evaluatorName?: string // 评阅人姓名 evaluateTime?: string // 评阅时间 @@ -34,16 +43,17 @@ export interface QuestionnaireRecord { export interface QuestionnaireRecordPageParams { pageNo: number pageSize: number - questionnaireId?: number - questionnaireName?: string - prisonerId?: number - prisonerNo?: string - status?: number - passStatus?: number - riskLevel?: number - startTime?: string[] - endTime?: string[] - createTime?: string[] + questionnaireId?: number // 问卷ID + questionnaireName?: string // 问卷名称 + prisonerId?: number // 罪犯ID + prisonerNo?: string // 罪犯编号 + status?: number // 状态:1-待测评 2-测评中 3-已完成 4-已过期 5-已取消 + passStatus?: number // 及格状态:1-及格 2-不及格 3-待评阅 + riskLevel?: RiskLevelEnum // 风险等级 + startTime?: string[] // 开始时间范围 + endTime?: string[] // 结束时间范围 + deadline?: string[] // 截止日期范围 + createTime?: string[] // 创建时间范围 } /** 发起测评请求 */ @@ -73,7 +83,7 @@ export interface AssessmentManualScoreReq { recordId: number // 测评记录ID subjectiveScore: number // 主观题得分 comment?: string // 评语 - riskLevel?: number // 风险等级:1-低风险 2-中风险 3-高风险 4-极高风险 + riskLevel?: RiskLevelEnum // 风险等级:1-低风险 2-中风险 3-高风险 4-极高风险 } /** 分数分布数据 */ diff --git a/src/api/prison/riskassessment/index.ts b/src/api/prison/riskassessment/index.ts index 34c85e92..1abfa0b1 100644 --- a/src/api/prison/riskassessment/index.ts +++ b/src/api/prison/riskassessment/index.ts @@ -4,12 +4,15 @@ import request from '@/config/axios' export interface RiskAssessmentPageParams { pageNo: number pageSize: number - prisonerId?: number - prisonerNo?: string - prisonerName?: string - assessmentType?: number - riskLevel?: number - status?: number + prisonerId?: number // 罪犯ID + prisonerNo?: string // 罪犯编号 + prisonerName?: string // 罪犯姓名 + assessmentType?: number // 评估类型:1-入狱评估 2-定期评估 3-专项评估 + assessmentDate?: string[] // 评估日期范围 + riskLevel?: number // 风险等级:1-低风险 2-中风险 3-高风险 4-极高风险 + status?: number // 状态:1-待审核 2-已通过 + createTime?: string[] // 创建时间范围 + updateTime?: string[] // 更新时间范围 } /** 危险评估信息 */ @@ -27,13 +30,11 @@ export interface RiskAssessment { riskLevel?: number // 风险等级:1-低风险 2-中风险 3-高风险 4-极高风险 riskFactors: string // 风险因素 suggestions: string // 管控建议 - assessorId: number // 评估人ID - assessorName: string // 评估人姓名 + // assessorId 和 assessorName 由后端自动从登录上下文获取,不需要前端传递 nextAssessmentDate: string // 下次评估日期 status?: number // 状态:1-待审核 2-已通过 remark: string // 备注 createTime?: string // 创建时间 - updateTime?: string // 更新时间 } // 危险评估 API diff --git a/src/views/prison/evaluation-mgmt/report/ReportDetailDialog.vue b/src/views/prison/evaluation-mgmt/report/ReportDetailDialog.vue index f3fbc979..15a5cac1 100644 --- a/src/views/prison/evaluation-mgmt/report/ReportDetailDialog.vue +++ b/src/views/prison/evaluation-mgmt/report/ReportDetailDialog.vue @@ -53,13 +53,13 @@