Merge branch 'feature/v2-renewal' of http://39.117.244.52:3000/kjs/ERP-node into jskim-node

This commit is contained in:
kjs
2026-02-09 16:03:27 +09:00
parent 0ea5f3d5e4
commit f8c0fe9499
10 changed files with 8264 additions and 276 deletions

View File

@@ -235,6 +235,57 @@ export const screenApi = {
await apiClient.put(`/screen-management/screens/${screenId}/layers/${layerId}/condition`, { conditionConfig, layerName });
},
// ========================================
// 조건부 영역(Zone) 관리
// ========================================
// Zone 목록 조회
getScreenZones: async (screenId: number): Promise<any[]> => {
const response = await apiClient.get(`/screen-management/screens/${screenId}/zones`);
return response.data.data || [];
},
// Zone 생성
createZone: async (screenId: number, zoneData: {
zone_name?: string;
x: number;
y: number;
width: number;
height: number;
trigger_component_id?: string;
trigger_operator?: string;
}): Promise<any> => {
const response = await apiClient.post(`/screen-management/screens/${screenId}/zones`, zoneData);
return response.data.data;
},
// Zone 업데이트 (위치/크기/트리거)
updateZone: async (zoneId: number, updates: {
zone_name?: string;
x?: number;
y?: number;
width?: number;
height?: number;
trigger_component_id?: string;
trigger_operator?: string;
}): Promise<void> => {
await apiClient.put(`/screen-management/zones/${zoneId}`, updates);
},
// Zone 삭제
deleteZone: async (zoneId: number): Promise<void> => {
await apiClient.delete(`/screen-management/zones/${zoneId}`);
},
// Zone에 레이어 추가
addLayerToZone: async (screenId: number, zoneId: number, conditionValue: string, layerName?: string): Promise<{ layerId: number }> => {
const response = await apiClient.post(`/screen-management/screens/${screenId}/zones/${zoneId}/layers`, {
conditionValue,
layerName,
});
return response.data.data;
},
// ========================================
// POP 레이아웃 관리 (모바일/태블릿)
// ========================================