콘텐츠 배너 등록/수정 페이지
- 탭 추가
This commit is contained in:
		| @@ -19,8 +19,8 @@ async function modifyAudioContent(request) { | |||||||
|     return Vue.axios.put("/admin/audio-content", request) |     return Vue.axios.put("/admin/audio-content", request) | ||||||
| } | } | ||||||
|  |  | ||||||
| async function getBannerList() { | async function getBannerList(tabId) { | ||||||
|     return Vue.axios.get("/admin/audio-content/banner") |     return Vue.axios.get("/admin/audio-content/banner?tabId=" + tabId) | ||||||
| } | } | ||||||
|  |  | ||||||
| async function saveBanner(formData) { | async function saveBanner(formData) { | ||||||
| @@ -63,6 +63,10 @@ async function getAudioContentThemeList() { | |||||||
|     return Vue.axios.get("/admin/audio-content/theme") |     return Vue.axios.get("/admin/audio-content/theme") | ||||||
| } | } | ||||||
|  |  | ||||||
|  | async function getAudioContentMainTabList() { | ||||||
|  |     return Vue.axios.get("/admin/audio-content/main/tab") | ||||||
|  | } | ||||||
|  |  | ||||||
| export { | export { | ||||||
|     getAudioContentList, |     getAudioContentList, | ||||||
|     searchAudioContent, |     searchAudioContent, | ||||||
| @@ -75,5 +79,6 @@ export { | |||||||
|     saveCuration, |     saveCuration, | ||||||
|     modifyCuration, |     modifyCuration, | ||||||
|     updateCurationOrders, |     updateCurationOrders, | ||||||
|     getAudioContentThemeList |     getAudioContentThemeList, | ||||||
|  |     getAudioContentMainTabList | ||||||
| } | } | ||||||
|   | |||||||
| @@ -16,11 +16,25 @@ | |||||||
|       <template v-slot:activator="{ on, attrs }"> |       <template v-slot:activator="{ on, attrs }"> | ||||||
|         <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="getBanners" | ||||||
|  |               > | ||||||
|  |                 <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 | ||||||
|                 v-bind="attrs" |                 v-bind="attrs" | ||||||
| @@ -300,6 +314,8 @@ export default { | |||||||
|             series: [], |             series: [], | ||||||
|             search_query_creator: '', |             search_query_creator: '', | ||||||
|             search_query_series: '', |             search_query_series: '', | ||||||
|  |             tabs: [], | ||||||
|  |             selected_tab_id: 1 | ||||||
|         } |         } | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
| @@ -319,7 +335,7 @@ export default { | |||||||
|  |  | ||||||
|     async created() { |     async created() { | ||||||
|         await this.getEvents() |         await this.getEvents() | ||||||
|         await this.getBanners() |         await this.getAudioContentMainTabList() | ||||||
|     }, |     }, | ||||||
|  |  | ||||||
|     mounted() { |     mounted() { | ||||||
| @@ -357,6 +373,27 @@ export default { | |||||||
|             this.$dialog.notify.success(message) |             this.$dialog.notify.success(message) | ||||||
|         }, |         }, | ||||||
|  |  | ||||||
|  |         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 | ||||||
|  |               this.selected_tab_id = data[0].tabId | ||||||
|  |               await this.getBanners() | ||||||
|  |             } else { | ||||||
|  |               this.notifyError(res.data.message || '알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.') | ||||||
|  |             } | ||||||
|  |           } catch (e) { | ||||||
|  |             this.notifyError('알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.') | ||||||
|  |           } finally { | ||||||
|  |             this.is_loading = false | ||||||
|  |           } | ||||||
|  |         }, | ||||||
|  |  | ||||||
|         showModifyBannerDialog(banner) { |         showModifyBannerDialog(banner) { | ||||||
|             this.is_modify = true |             this.is_modify = true | ||||||
|             this.selected_banner = banner |             this.selected_banner = banner | ||||||
| @@ -680,7 +717,7 @@ export default { | |||||||
|         async getBanners() { |         async getBanners() { | ||||||
|             this.is_loading = true |             this.is_loading = true | ||||||
|             try { |             try { | ||||||
|                 const res = await api.getBannerList() |                 const res = await api.getBannerList(this.selected_tab_id) | ||||||
|                 if (res.status === 200 && res.data.success === true) { |                 if (res.status === 200 && res.data.success === true) { | ||||||
|                     this.banners = res.data.data |                     this.banners = res.data.data | ||||||
|                 } else { |                 } else { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Yu Sung
					Yu Sung