tangweijie 190093c47c refactor(prison): 统一批量删除接口调用方式
将 prison 模块 delete-list 调用统一为 POST 请求携带数组参数,和后端接口约定保持一致。
2026-03-06 16:54:11 +08:00

123 lines
3.7 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 Area {
id: number // 监区ID
name?: string // 监区名称
code?: string // 监区编码
parentId?: number // 父级ID0表示顶级监区
level?: number // 级别1-监区(大队) 2-分监区(中队)
type: number // 监区类型1-普通监区 2-严管监区 3-集训监区 4-出监监区 5-医院监区 6-禁闭室
capacity: number // 容纳人数
currentCount: number // 当前人数
sort: number // 排序
status?: number // 状态1-启用 2-禁用
remark: string // 备注
children?: Area[] // 子监区列表(树形结构)
createTime?: Date // 创建时间
}
// 监区树形节点
export interface AreaNode {
id: number
name: string
code: string
parentId: number
level: number
type: number
capacity: number
currentCount: number
sort: number
status: number
remark: string
children?: AreaNode[]
}
// 监区信息创建/更新请求
export interface AreaSaveReqVO {
id?: number
name: string
code: string
parentId?: number
level: number // 级别1-监区(大队) 2-分监区(中队),必填
type: number // 监区类型1-普通监区 2-严管监区 3-集训监区 4-出监监区 5-医院监区 6-禁闭室
capacity: number // 容纳人数
currentCount?: number // 当前人数,创建时可不传
sort?: number
status: number // 状态1-启用 2-禁用,必填
remark?: string
}
// 监区信息分页查询
export interface AreaPageReqVO {
pageNo: number
pageSize: number
name?: string // 监区名称
code?: string // 监区编码
type?: number // 监区类型
level?: number // 级别
capacity?: number // 容纳人数
currentCount?: number // 当前人数
sort?: number // 排序
status?: number // 状态1-启用 2-禁用
remark?: string // 备注
createTime?: string[] // 创建时间范围 [开始时间, 结束时间]
}
// 监区信息 API
export const AreaApi = {
// 查询监区信息分页
getAreaPage: async (params: AreaPageReqVO) => {
return await request.get({ url: `/prison/area/page`, params })
},
// 查询监区信息详情
getArea: async (id: number) => {
return await request.get({ url: `/prison/area/get?id=` + id })
},
// 查询监区树形结构
getAreaTree: async (params?: { name?: string; type?: number; level?: number; status?: number }) => {
return await request.get({ url: `/prison/area/tree`, params })
},
// 查询父级监区列表(用于新增/编辑时选择)
getParentAreas: async (level?: number) => {
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 })
},
// 修改监区信息
updateArea: async (data: AreaSaveReqVO) => {
return await request.put({ url: `/prison/area/update`, data })
},
// 删除监区信息
deleteArea: async (id: number) => {
return await request.delete({ url: `/prison/area/delete?id=` + id })
},
/** 批量删除监区信息 */
deleteAreaList: async (ids: number[]) => {
return await request.post({ url: `/prison/area/delete-list`, data: ids })
},
// 导出监区信息 Excel
exportArea: async (params) => {
return await request.download({ url: `/prison/area/export-excel`, params })
},
// 同步监区当前人数
syncCurrentCount: async (areaId: number) => {
return await request.post({ url: `/prison/area/sync-current-count?areaId=` + areaId })
}
}