核心变更: 1. 新增页面模块 - 快捷评语管理 (quick-comment) - 报告模板管理 (report-template) - 评估报告编辑 (report) - 风险分析页面 (risk) - 预警管理 (warning) - 服刑情况跟踪 (situation) 2. 功能优化 - 罪犯管理: 新增Workbench工作台页面 - 问卷模块: 完善QuestionForm组件 - 计分考核: 优化ScoreForm支持多种评分方式 - 危险评估: 完善RiskAssessmentForm 3. UI改进 - 登录页面: 新增监狱特色Loading动画 - 罪犯详情: 优化展示效果 - 消费记录: 增强查询功能 4. 基础设施 - 新增JusticeIcon图标组件 - 优化字典格式化工具 - 更新路由配置 Co-Authored-By: Claude <noreply@anthropic.com>
158 lines
3.9 KiB
TypeScript
158 lines
3.9 KiB
TypeScript
import request from '@/config/axios'
|
||
|
||
// 性别枚举:0-未知 1-男 2-女
|
||
export const GENDER_ENUM = {
|
||
UNKNOWN: 0,
|
||
MALE: 1,
|
||
FEMALE: 2
|
||
} as const
|
||
|
||
export type GenderType = typeof GENDER_ENUM[keyof typeof GENDER_ENUM]
|
||
|
||
export interface PrisonerVO {
|
||
id: number
|
||
prisonerNo: string
|
||
name: string
|
||
gender: number // 性别:0-未知 1-男 2-女
|
||
genderName?: string // 性别名称
|
||
birthday: string
|
||
idCard: string
|
||
ethnicity: string
|
||
nativePlace: string
|
||
education: number
|
||
educationName?: string // 文化程度名称
|
||
occupation: string
|
||
address: string
|
||
crime: string
|
||
sentenceYears: number
|
||
sentenceMonths: number
|
||
lifeImprisonment: number
|
||
deathSentenceReprieve: number
|
||
courtName: string
|
||
judgmentDate: string
|
||
judgmentNo: string
|
||
originalSentence: string
|
||
imprisonmentDate: string
|
||
releaseDate: string
|
||
supervisionLevel: number
|
||
supervisionLevelName?: string // 监管等级名称
|
||
riskLevel: number
|
||
riskLevelName?: string // 风险等级名称
|
||
prisonAreaId: number
|
||
prisonAreaName?: string // 监区名称
|
||
prisonCellId: number
|
||
prisonCellName?: string // 监室名称
|
||
status: number
|
||
statusName?: string // 状态名称
|
||
photo?: string // 照片URL
|
||
releaseType?: number // 释放类型
|
||
releaseReason?: string // 释放原因
|
||
remark: string
|
||
createTime: Date
|
||
}
|
||
|
||
// 服刑人员创建/更新请求
|
||
export interface PrisonerCreateVO {
|
||
id?: number
|
||
prisonerNo: string
|
||
name: string
|
||
gender: number // 性别:0-未知 1-男 2-女
|
||
birthday: string
|
||
idCard: string
|
||
ethnicity: string
|
||
nativePlace: string
|
||
education: number
|
||
occupation: string
|
||
address: string
|
||
crime: string
|
||
sentenceYears: number
|
||
sentenceMonths: number
|
||
lifeImprisonment: number
|
||
deathSentenceReprieve: number
|
||
courtName: string
|
||
judgmentDate: string
|
||
judgmentNo: string
|
||
originalSentence: string
|
||
imprisonmentDate: string
|
||
releaseDate: string
|
||
supervisionLevel: number
|
||
riskLevel: number
|
||
prisonAreaId: number
|
||
prisonCellId: number
|
||
photo?: string // 照片URL
|
||
remark: string
|
||
}
|
||
|
||
// PrisonerApi 对象 - 统一使用对象导出模式
|
||
export const PrisonerApi = {
|
||
// 分页查询
|
||
getPage: (params: PageParam) => {
|
||
return request.get({ url: '/prison/prisoner/page', params })
|
||
},
|
||
// 获取详情
|
||
get: (id: number) => {
|
||
return request.get({ url: '/prison/prisoner/get', params: { id } })
|
||
},
|
||
// 创建
|
||
create: (data: PrisonerCreateVO) => {
|
||
return request.post({ url: '/prison/prisoner/create', data })
|
||
},
|
||
// 更新
|
||
update: (data: PrisonerCreateVO) => {
|
||
return request.put({ url: '/prison/prisoner/update', data })
|
||
},
|
||
// 删除
|
||
delete: (id: number) => {
|
||
return request.delete({ url: '/prison/prisoner/delete', params: { id } })
|
||
},
|
||
// 批量删除
|
||
deleteList: (ids: number[]) => {
|
||
return request.delete({ url: '/prison/prisoner/delete-list', params: { ids: ids.join(',') } })
|
||
},
|
||
// 导出
|
||
export: (params: PageParam) => {
|
||
return request.download({ url: '/prison/prisoner/export-excel', params })
|
||
},
|
||
// 调监
|
||
doTransfer: (data: TransferReqVO) => {
|
||
return request.post({ url: '/prison/prisoner/transfer', params: data })
|
||
},
|
||
// 获取位置历史
|
||
getAreaHistory: (prisonerId: number) => {
|
||
return request.get({ url: '/prison/prisoner-area-log/list-by-prisoner-id', params: { prisonerId } })
|
||
},
|
||
// 导入
|
||
import: (data: FormData) => {
|
||
return request.upload({ url: '/prison/prisoner/import-excel', data })
|
||
}
|
||
}
|
||
|
||
// 调监请求
|
||
export interface TransferReqVO {
|
||
prisonerId: number
|
||
targetCellId: number
|
||
reason?: string
|
||
}
|
||
|
||
// 罪犯位置历史记录
|
||
export interface PrisonerAreaLogVO {
|
||
id: number
|
||
prisonerId: number
|
||
prisonerNo: string
|
||
prisonerName: string
|
||
fromAreaId: number
|
||
fromAreaName: string
|
||
fromCellId: number
|
||
fromCellName: string
|
||
toAreaId: number
|
||
toAreaName: string
|
||
toCellId: number
|
||
toCellName: string
|
||
transferType: number
|
||
transferTypeName: string
|
||
reason: string
|
||
operatorId: number
|
||
operatorName: string
|
||
createTime: string
|
||
}
|