From 1e4dcffc170ac6294a8a2f6a23ca52709213c228 Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Sat, 13 Sep 2025 05:25:35 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat(character-calculator):=20=EC=BA=90?= =?UTF-8?q?=EB=A6=AD=ED=84=B0=EB=B3=84=20=EC=A0=95=EC=82=B0=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 --- src/api/character.js | 11 +- src/components/SideMenu.vue | 7 +- src/router/index.js | 5 + src/views/Chat/CharacterCalculateList.vue | 315 ++++++++++++++++++++++ 4 files changed, 336 insertions(+), 2 deletions(-) create mode 100644 src/views/Chat/CharacterCalculateList.vue diff --git a/src/api/character.js b/src/api/character.js index 62b7829..915ea0c 100644 --- a/src/api/character.js +++ b/src/api/character.js @@ -247,6 +247,14 @@ async function getCharactersInCuration(curationId) { return Vue.axios.get(`/admin/chat/character/curation/${curationId}/characters`) } +// 캐릭터별 정산 목록 +// params: { startDateStr, endDateStr, sort, page, size } +async function getCharacterCalculateList({ startDateStr, endDateStr, sort = 'TOTAL_SALES_DESC', page = 0, size = 30 }) { + return Vue.axios.get('/admin/chat/calculate/characters', { + params: { startDateStr, endDateStr, sort, page, size } + }) +} + export { getCharacterList, searchCharacters, @@ -273,5 +281,6 @@ export { addCharacterToCuration, removeCharacterFromCuration, updateCurationCharactersOrder, - getCharactersInCuration + getCharactersInCuration, + getCharacterCalculateList } diff --git a/src/components/SideMenu.vue b/src/components/SideMenu.vue index 16a3ade..6c66ce0 100644 --- a/src/components/SideMenu.vue +++ b/src/components/SideMenu.vue @@ -116,7 +116,12 @@ export default { title: '큐레이션', route: '/character/curation', items: null - } + }, + { + title: '정산', + route: '/character/calculate', + items: null + }, ] }) } else { diff --git a/src/router/index.js b/src/router/index.js index 5cbf3a9..acf9fd3 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -290,6 +290,11 @@ const routes = [ name: 'CharacterCurationDetail', component: () => import(/* webpackChunkName: "character" */ '../views/Chat/CharacterCurationDetail.vue') }, + { + path: '/character/calculate', + name: 'CharacterCalculate', + component: () => import(/* webpackChunkName: "character" */ '../views/Chat/CharacterCalculateList.vue') + }, ] }, { diff --git a/src/views/Chat/CharacterCalculateList.vue b/src/views/Chat/CharacterCalculateList.vue new file mode 100644 index 0000000..9b6864b --- /dev/null +++ b/src/views/Chat/CharacterCalculateList.vue @@ -0,0 +1,315 @@ + + + + + -- 2.40.1 From cd86973b60f850c820cc15b1f63a9e9ba15d8be6 Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Sat, 13 Sep 2025 05:27:12 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix(character):=20=EC=BA=90=EB=A6=AD?= =?UTF-8?q?=ED=84=B0=20=EB=93=B1=EB=A1=9D=20=ED=8F=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 코드 포맷팅 적용 --- src/views/Chat/CharacterForm.vue | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/src/views/Chat/CharacterForm.vue b/src/views/Chat/CharacterForm.vue index 42abbd0..bafc043 100644 --- a/src/views/Chat/CharacterForm.vue +++ b/src/views/Chat/CharacterForm.vue @@ -10,9 +10,29 @@ {{ isEdit ? '캐릭터 수정' : '캐릭터 등록' }} - JSON 다운로드 - - JSON 업로드 + + JSON 다운로드 + + + + JSON 업로드 + -- 2.40.1