import { requestClient } from '#/api/request';
|
|
export namespace DecisionKpiApi {
|
export interface KpiItem {
|
code: string;
|
name: string;
|
category: string;
|
unit: string;
|
value: number;
|
alertStatus: 'normal' | 'warn' | 'critical';
|
chartType: string;
|
status: number;
|
}
|
|
export interface KpiOverview {
|
kpis: KpiItem[];
|
total: number;
|
}
|
|
export interface KpiDefinition {
|
id?: number;
|
code: string;
|
name: string;
|
category: string;
|
unit?: string;
|
dataSource?: string;
|
querySql?: string;
|
chartType?: string;
|
thresholdWarn?: number;
|
thresholdCritical?: number;
|
comparisonOperator?: string;
|
refreshInterval?: number;
|
sort?: number;
|
status?: number;
|
remark?: string;
|
}
|
}
|
|
export function getKpiOverview() {
|
return requestClient.get<DecisionKpiApi.KpiOverview>('/bi/decision/kpi/overview');
|
}
|
|
export function getKpiDetail(kpiCode: string) {
|
return requestClient.get<Record<string, unknown>>(`/bi/decision/kpi/detail/${kpiCode}`);
|
}
|
|
export function getKpiByCategory(category: string) {
|
return requestClient.get<Record<string, unknown>>(`/bi/decision/kpi/category/${category}`);
|
}
|
|
export function refreshKpi(kpiCode: string) {
|
return requestClient.post<number>(`/bi/decision/kpi/refresh/${kpiCode}`);
|
}
|
|
export function getKpiDefinitionPage(params: Record<string, unknown>) {
|
return requestClient.get('/bi/decision/kpi-definition/page', { params });
|
}
|
|
export function getKpiDefinitionList() {
|
return requestClient.get('/bi/decision/kpi-definition/list-all');
|
}
|
|
export function getKpiDefinition(id: number) {
|
return requestClient.get<DecisionKpiApi.KpiDefinition>('/bi/decision/kpi-definition/get', { params: { id } });
|
}
|
|
export function createKpiDefinition(data: DecisionKpiApi.KpiDefinition) {
|
return requestClient.post('/bi/decision/kpi-definition/create', data);
|
}
|
|
export function updateKpiDefinition(data: DecisionKpiApi.KpiDefinition) {
|
return requestClient.put('/bi/decision/kpi-definition/update', data);
|
}
|
|
export function deleteKpiDefinition(id: number) {
|
return requestClient.delete('/bi/decision/kpi-definition/delete', { params: { id } });
|
}
|