parent
e1feff39f8
commit
21058bcb4f
|
@ -43,8 +43,8 @@ async function updateBannerOrders(ids) {
|
||||||
return Vue.axios.put('/admin/audio-content/banner/orders', {ids: ids})
|
return Vue.axios.put('/admin/audio-content/banner/orders', {ids: ids})
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getCurations() {
|
async function getCurations(tabId) {
|
||||||
return Vue.axios.get("/admin/audio-content/curation")
|
return Vue.axios.get("/admin/audio-content/curation?tabId=" + tabId)
|
||||||
}
|
}
|
||||||
|
|
||||||
async function saveCuration(request) {
|
async function saveCuration(request) {
|
||||||
|
|
|
@ -10,11 +10,25 @@
|
||||||
|
|
||||||
<v-container>
|
<v-container>
|
||||||
<v-row>
|
<v-row>
|
||||||
<v-col cols="10" />
|
<v-col cols="9">
|
||||||
|
<v-radio-group
|
||||||
|
v-model="selected_tab_id"
|
||||||
|
row
|
||||||
|
@change="getCurations"
|
||||||
|
>
|
||||||
|
<v-radio
|
||||||
|
v-for="tab in tabs"
|
||||||
|
:key="tab.tabId"
|
||||||
|
:label="tab.title"
|
||||||
|
:value="tab.tabId"
|
||||||
|
/>
|
||||||
|
</v-radio-group>
|
||||||
|
</v-col>
|
||||||
|
<v-spacer />
|
||||||
<v-col>
|
<v-col>
|
||||||
<v-btn
|
<v-btn
|
||||||
block
|
block
|
||||||
color="#9970ff"
|
color="#3bb9f1"
|
||||||
dark
|
dark
|
||||||
depressed
|
depressed
|
||||||
@click="showWriteDialog"
|
@click="showWriteDialog"
|
||||||
|
@ -103,6 +117,26 @@
|
||||||
<v-card-title v-else>
|
<v-card-title v-else>
|
||||||
콘텐츠 큐레이션 등록
|
콘텐츠 큐레이션 등록
|
||||||
</v-card-title>
|
</v-card-title>
|
||||||
|
<v-card-text>
|
||||||
|
<v-row align="center">
|
||||||
|
<v-col cols="4">
|
||||||
|
메인 탭
|
||||||
|
</v-col>
|
||||||
|
<v-col cols="8">
|
||||||
|
<v-radio-group
|
||||||
|
v-model="curation.tab_id"
|
||||||
|
row
|
||||||
|
>
|
||||||
|
<v-radio
|
||||||
|
v-for="tab in tabs"
|
||||||
|
:key="tab.tabId"
|
||||||
|
:label="tab.title"
|
||||||
|
:value="tab.tabId"
|
||||||
|
/>
|
||||||
|
</v-radio-group>
|
||||||
|
</v-col>
|
||||||
|
</v-row>
|
||||||
|
</v-card-text>
|
||||||
<v-card-text>
|
<v-card-text>
|
||||||
<v-row align="center">
|
<v-row align="center">
|
||||||
<v-col cols="4">
|
<v-col cols="4">
|
||||||
|
@ -222,6 +256,8 @@ export default {
|
||||||
selected_curation: {},
|
selected_curation: {},
|
||||||
curation: {is_adult: false},
|
curation: {is_adult: false},
|
||||||
curations: [],
|
curations: [],
|
||||||
|
tabs: [],
|
||||||
|
selected_tab_id: 1,
|
||||||
headers: [
|
headers: [
|
||||||
{
|
{
|
||||||
text: '제목',
|
text: '제목',
|
||||||
|
@ -252,7 +288,7 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
async created() {
|
async created() {
|
||||||
await this.getCurations()
|
await this.getAudioContentMainTabList()
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -273,6 +309,7 @@ export default {
|
||||||
this.selected_curation = item
|
this.selected_curation = item
|
||||||
|
|
||||||
this.curation.id = item.id
|
this.curation.id = item.id
|
||||||
|
this.curation.tab_id = item.tabId
|
||||||
this.curation.title = item.title
|
this.curation.title = item.title
|
||||||
this.curation.description = item.description
|
this.curation.description = item.description
|
||||||
this.curation.is_adult = item.isAdult
|
this.curation.is_adult = item.isAdult
|
||||||
|
@ -289,6 +326,15 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
validate() {
|
validate() {
|
||||||
|
if (
|
||||||
|
this.curation.tab_id === null ||
|
||||||
|
this.curation.tab_id === undefined ||
|
||||||
|
this.curation.tab_id <= 0
|
||||||
|
) {
|
||||||
|
this.notifyError("메인 탭을 선택하세요")
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
this.curation.title === null ||
|
this.curation.title === null ||
|
||||||
this.curation.title === undefined ||
|
this.curation.title === undefined ||
|
||||||
|
@ -320,6 +366,27 @@ export default {
|
||||||
this.show_delete_confirm_dialog = false
|
this.show_delete_confirm_dialog = false
|
||||||
},
|
},
|
||||||
|
|
||||||
|
async getAudioContentMainTabList() {
|
||||||
|
this.is_loading = true
|
||||||
|
|
||||||
|
try {
|
||||||
|
const res = await api.getAudioContentMainTabList()
|
||||||
|
if (res.status === 200 && res.data.success === true) {
|
||||||
|
const data = res.data.data
|
||||||
|
|
||||||
|
this.tabs = data.filter(item => item.title !== '홈' && item.title !== '단편')
|
||||||
|
this.selected_tab_id = this.tabs[0].tabId
|
||||||
|
await this.getCurations()
|
||||||
|
} else {
|
||||||
|
this.notifyError(res.data.message || '알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.')
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
this.notifyError('알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.')
|
||||||
|
} finally {
|
||||||
|
this.is_loading = false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
async submit() {
|
async submit() {
|
||||||
if (!this.validate()) return;
|
if (!this.validate()) return;
|
||||||
if (this.is_loading) return;
|
if (this.is_loading) return;
|
||||||
|
@ -328,6 +395,7 @@ export default {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const request = {
|
const request = {
|
||||||
|
tabId: this.curation.tab_id,
|
||||||
title: this.curation.title,
|
title: this.curation.title,
|
||||||
description: this.curation.description,
|
description: this.curation.description,
|
||||||
isAdult: this.curation.is_adult
|
isAdult: this.curation.is_adult
|
||||||
|
@ -357,6 +425,10 @@ export default {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
let request = {id: this.curation.id}
|
let request = {id: this.curation.id}
|
||||||
|
if (this.selected_curation.tab_id !== this.curation.tab_id) {
|
||||||
|
request.tabId = this.curation.tab_id
|
||||||
|
}
|
||||||
|
|
||||||
if (this.selected_curation.title !== this.curation.title && this.curation.title.trim().length > 0) {
|
if (this.selected_curation.title !== this.curation.title && this.curation.title.trim().length > 0) {
|
||||||
request.title = this.curation.title
|
request.title = this.curation.title
|
||||||
}
|
}
|
||||||
|
@ -439,7 +511,7 @@ export default {
|
||||||
this.is_loading = true
|
this.is_loading = true
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const res = await api.getCurations()
|
const res = await api.getCurations(this.selected_tab_id)
|
||||||
if (res.status === 200 && res.data.success === true) {
|
if (res.status === 200 && res.data.success === true) {
|
||||||
this.curations = res.data.data
|
this.curations = res.data.data
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue