From 7fe6b3bb309df924a034c51d1704a6c9c520c173 Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Tue, 7 Apr 2026 14:09:49 +0900 Subject: [PATCH] =?UTF-8?q?feat(content):=20=EC=A0=95=EC=82=B0=EC=9A=94?= =?UTF-8?q?=EC=9C=A8=20=ED=95=AD=EB=AA=A9=20=EB=B0=8F=20=EA=B0=9C=EB=B3=84?= =?UTF-8?q?=20=EC=82=AD=EC=A0=9C=20=ED=94=8C=EB=9E=98=EA=B7=B8=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 콘텐츠 리스트 테이블에 정산요율 컬럼 표시(null/빈값은 공란) - 수정 다이얼로그에 정산요율 입력 필드 추가(number, 빈값 허용) - isSettlementRatioDeleted 플래그 추가: 체크 시 입력 비활성화 및 요청 전송 제외 - 수정 요청 시 변경된 값만 전송, 삭제 플래그 true면 settlementRatio 미포함 - created/show/cancel 시 데이터 모델 초기화 로직 반영 --- src/views/Content/ContentList.vue | 64 +++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) diff --git a/src/views/Content/ContentList.vue b/src/views/Content/ContentList.vue index b4a2775..c69d5e5 100644 --- a/src/views/Content/ContentList.vue +++ b/src/views/Content/ContentList.vue @@ -75,6 +75,9 @@ 가격 + + 정산요율 + 한정판 @@ -157,6 +160,12 @@ 무료 + + + + {{ item.settlementRatio }} + + + + 정산요율 + + + + + + + + + + 정산요율 삭제 + + + + + + @@ -497,6 +536,8 @@ export default { is_adult: false, is_comment_available: false, is_default_cover_image: false, + is_settlement_ratio_deleted: false, + settlement_ratio: "", }; await this.getAudioContentThemeList(); await this.getAudioContent(); @@ -531,6 +572,11 @@ export default { this.audio_content.is_adult = item.isAdult; this.audio_content.is_comment_available = item.isCommentAvailable; this.audio_content.is_default_cover_image = false; + this.audio_content.is_settlement_ratio_deleted = false; + this.audio_content.settlement_ratio = + item.settlementRatio !== null && item.settlementRatio !== undefined + ? String(item.settlementRatio) + : ""; this.image_preview = item.coverImageUrl; this.cover_image_file = null; @@ -590,6 +636,8 @@ export default { is_adult: false, is_comment_available: false, is_default_cover_image: false, + is_settlement_ratio_deleted: false, + settlement_ratio: "", }; this.image_preview = null; this.cover_image_file = null; @@ -629,6 +677,7 @@ export default { const request = { id: this.audio_content.id, isDefaultCoverImage: this.audio_content.is_default_cover_image, + isSettlementRatioDeleted: this.audio_content.is_settlement_ratio_deleted, }; if ( @@ -657,6 +706,21 @@ export default { request.isCommentAvailable = this.audio_content.is_comment_available; } + // settlementRatio 처리 (null/빈문자 케이스 포함) + const originalRatio = + this.selected_audio_content.settlementRatio !== null && + this.selected_audio_content.settlementRatio !== undefined + ? String(this.selected_audio_content.settlementRatio) + : ""; + const newRatio = + this.audio_content.settlement_ratio !== null && + this.audio_content.settlement_ratio !== undefined + ? String(this.audio_content.settlement_ratio) + : ""; + if (!this.audio_content.is_settlement_ratio_deleted && newRatio !== originalRatio) { + request.settlementRatio = newRatio; + } + const formData = new FormData(); formData.append("request", JSON.stringify(request));