import { request, type ApiResponse } from './request'
|
|
export type BatteryGroupFieldStatus = '启用' | '禁用'
|
export type BatteryGroupFieldType = '文本' | '数字' | '时间' | '备注'
|
|
interface BatteryGroupFieldDto {
|
fieldId: number
|
fieldName: string | null
|
fieldType: string | null
|
createBy: string | null
|
createTime: string | null
|
status: string | null
|
}
|
|
interface BatteryGroupFieldListResponse extends ApiResponse {
|
total: number
|
rows: BatteryGroupFieldDto[]
|
}
|
|
export interface BatteryGroupField {
|
id: number
|
name: string
|
type: BatteryGroupFieldType
|
creator: string
|
createdAt: string
|
status: BatteryGroupFieldStatus
|
}
|
|
export interface BatteryGroupFieldPayload {
|
fieldName: string
|
fieldType: string
|
status: '0' | '1'
|
}
|
|
const typeMap: Record<string, BatteryGroupFieldType> = {
|
text: '文本', number: '数字', time: '时间', date: '时间', remark: '备注',
|
}
|
|
export async function getBatteryGroupFields(): Promise<BatteryGroupField[]> {
|
const result = await request<BatteryGroupFieldListResponse>('/system/batteryGroupField/list?pageNum=1&pageSize=1000')
|
return (result.rows || []).map(item => ({
|
id: item.fieldId,
|
name: item.fieldName || '',
|
type: typeMap[item.fieldType || ''] || '文本',
|
creator: item.createBy || '-',
|
createdAt: item.createTime || '',
|
status: item.status === '1' ? '禁用' : '启用',
|
}))
|
}
|
|
export function createBatteryGroupField(payload: BatteryGroupFieldPayload): Promise<ApiResponse> {
|
return request<ApiResponse>('/system/batteryGroupField', { method: 'POST', body: JSON.stringify(payload) })
|
}
|
|
export function updateBatteryGroupField(fieldId: number, payload: BatteryGroupFieldPayload): Promise<ApiResponse> {
|
return request<ApiResponse>('/system/batteryGroupField', {
|
method: 'PUT', body: JSON.stringify({ fieldId, ...payload }),
|
})
|
}
|
|
export function changeBatteryGroupFieldStatus(fieldId: number, status: '0' | '1'): Promise<ApiResponse> {
|
return request<ApiResponse>('/system/batteryGroupField/changeStatus', {
|
method: 'PUT', body: JSON.stringify({ fieldId, status }),
|
})
|
}
|
|
export function deleteBatteryGroupField(fieldId: number): Promise<ApiResponse> {
|
return request<ApiResponse>(`/system/batteryGroupField/${fieldId}`, { method: 'DELETE' })
|
}
|