unis_crm/frontend1/src/features/dashboard-analytics/api.ts

35 lines
1.4 KiB
TypeScript

import http from "@/api/http";
import type {
BusinessCalendarSyncResult,
DashboardAnalyticsConfig,
DashboardAnalyticsPanelPreview,
DashboardAnalyticsPreviewCard,
} from "./types";
export async function getDashboardAnalyticsConfig(tenantId?: number) {
const resp = await http.get("/sys/api/admin/dashboard-analytics-config", { params: { tenantId } });
return resp.data.data as DashboardAnalyticsConfig;
}
export async function updateDashboardAnalyticsConfig(payload: DashboardAnalyticsConfig) {
const resp = await http.put("/sys/api/admin/dashboard-analytics-config", payload);
return resp.data.data as boolean;
}
export async function previewDashboardAnalyticsConfig(tenantId?: number) {
const resp = await http.get("/sys/api/admin/dashboard-analytics-config/preview", { params: { tenantId } });
return resp.data.data as DashboardAnalyticsPanelPreview;
}
export async function previewDashboardAnalyticsCardDetail(cardKey: string, tenantId?: number, dimension?: string) {
const resp = await http.get("/sys/api/admin/dashboard-analytics-config/preview/card-detail", { params: { tenantId, cardKey, dimension } });
return resp.data.data as DashboardAnalyticsPreviewCard;
}
export async function syncCurrentYearBusinessCalendar(tenantId?: number) {
const resp = await http.post("/sys/api/admin/dashboard-analytics-config/calendar/sync-current-year", undefined, {
params: { tenantId },
});
return resp.data.data as BusinessCalendarSyncResult;
}