삭제버튼 제어 동작하지 않던 오류 수정

This commit is contained in:
kjs
2026-01-09 13:43:14 +09:00
parent 80cf20e142
commit ee3a648917
9 changed files with 400 additions and 116 deletions

View File

@@ -202,14 +202,19 @@ export class DynamicFormApi {
* 실제 테이블에서 폼 데이터 삭제
* @param id 레코드 ID
* @param tableName 테이블명
* @param screenId 화면 ID (제어관리 실행용, 선택사항)
* @returns 삭제 결과
*/
static async deleteFormDataFromTable(id: string | number, tableName: string): Promise<ApiResponse<void>> {
static async deleteFormDataFromTable(
id: string | number,
tableName: string,
screenId?: number
): Promise<ApiResponse<void>> {
try {
console.log("🗑️ 실제 테이블에서 폼 데이터 삭제 요청:", { id, tableName });
console.log("🗑️ 실제 테이블에서 폼 데이터 삭제 요청:", { id, tableName, screenId });
await apiClient.delete(`/dynamic-form/${id}`, {
data: { tableName },
data: { tableName, screenId },
});
console.log("✅ 실제 테이블에서 폼 데이터 삭제 성공");

View File

@@ -967,11 +967,11 @@ export class ButtonActionExecutor {
deletedItemIds,
});
// 삭제 API 호출
// 삭제 API 호출 - screenId 전달하여 제어관리 실행 가능하도록 함
for (const itemId of deletedItemIds) {
try {
console.log(`🗑️ [handleSave] 항목 삭제 중: ${itemId} from ${targetTable}`);
const deleteResult = await DynamicFormApi.deleteFormDataFromTable(itemId, targetTable);
const deleteResult = await DynamicFormApi.deleteFormDataFromTable(itemId, targetTable, context.screenId);
if (deleteResult.success) {
console.log(`✅ [handleSave] 항목 삭제 완료: ${itemId}`);
} else {
@@ -1967,7 +1967,8 @@ export class ButtonActionExecutor {
for (const deletedItem of deletedItems) {
console.log(`🗑️ [DELETE] 품목 삭제: id=${deletedItem.id}, tableName=${saveTableName}`);
const deleteResult = await DynamicFormApi.deleteFormDataFromTable(deletedItem.id, saveTableName);
// screenId 전달하여 제어관리 실행 가능하도록 함
const deleteResult = await DynamicFormApi.deleteFormDataFromTable(deletedItem.id, saveTableName, context.screenId);
if (!deleteResult.success) {
throw new Error(deleteResult.message || "품목 삭제 실패");
@@ -2434,7 +2435,8 @@ export class ButtonActionExecutor {
if (deleteId) {
console.log("다중 데이터 삭제:", { tableName, screenId, id: deleteId });
const deleteResult = await DynamicFormApi.deleteFormDataFromTable(deleteId, tableName);
// screenId 전달하여 제어관리 실행 가능하도록 함
const deleteResult = await DynamicFormApi.deleteFormDataFromTable(deleteId, tableName, screenId);
if (!deleteResult.success) {
throw new Error(`ID ${deleteId} 삭제 실패: ${deleteResult.message}`);
}
@@ -2469,8 +2471,8 @@ export class ButtonActionExecutor {
if (tableName && screenId && formData.id) {
console.log("단일 데이터 삭제:", { tableName, screenId, id: formData.id });
// 실제 삭제 API 호출
const deleteResult = await DynamicFormApi.deleteFormDataFromTable(formData.id, tableName);
// 실제 삭제 API 호출 - screenId 전달하여 제어관리 실행 가능하도록 함
const deleteResult = await DynamicFormApi.deleteFormDataFromTable(formData.id, tableName, screenId);
if (!deleteResult.success) {
throw new Error(deleteResult.message || "삭제에 실패했습니다.");
@@ -4251,7 +4253,8 @@ export class ButtonActionExecutor {
throw new Error("삭제할 항목의 ID를 찾을 수 없습니다.");
}
const result = await DynamicFormApi.deleteFormDataFromTable(deleteId, context.tableName);
// screenId 전달하여 제어관리 실행 가능하도록 함
const result = await DynamicFormApi.deleteFormDataFromTable(deleteId, context.tableName, context.screenId);
if (result.success) {
console.log("✅ 삭제 성공:", result);