diff --git a/package-lock.json b/package-lock.json
index 8260de0..3434c2c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,6 +11,7 @@
"core-js": "^3.6.5",
"vue": "^2.6.11",
"vue-router": "^3.2.0",
+ "vue-show-more-text": "^2.0.2",
"vue2-datepicker": "^3.11.1",
"vue2-editor": "^2.10.3",
"vue2-timepicker": "^1.1.6",
@@ -14488,6 +14489,15 @@
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.3.tgz",
"integrity": "sha512-FUlILrW3DGitS2h+Xaw8aRNvGTwtuaxrRkNSHWTizOfLUie7wuYwezeZ50iflRn8YPV5kxmU2LQuu3nM/b3Zsg=="
},
+ "node_modules/vue-show-more-text": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/vue-show-more-text/-/vue-show-more-text-2.0.2.tgz",
+ "integrity": "sha512-x/WuikWAx8Hm4gpZx6KHtJYiXDordGdSoXrd34lTiJeAnlT8Y7Yc0FfGBNdUv6mXncuET3LiRwwNz+X5gI+oiw==",
+ "dependencies": {
+ "core-js": "^3.6.5",
+ "vue": "^2.6.11"
+ }
+ },
"node_modules/vue-style-loader": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz",
@@ -27252,6 +27262,15 @@
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.5.3.tgz",
"integrity": "sha512-FUlILrW3DGitS2h+Xaw8aRNvGTwtuaxrRkNSHWTizOfLUie7wuYwezeZ50iflRn8YPV5kxmU2LQuu3nM/b3Zsg=="
},
+ "vue-show-more-text": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/vue-show-more-text/-/vue-show-more-text-2.0.2.tgz",
+ "integrity": "sha512-x/WuikWAx8Hm4gpZx6KHtJYiXDordGdSoXrd34lTiJeAnlT8Y7Yc0FfGBNdUv6mXncuET3LiRwwNz+X5gI+oiw==",
+ "requires": {
+ "core-js": "^3.6.5",
+ "vue": "^2.6.11"
+ }
+ },
"vue-style-loader": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz",
diff --git a/package.json b/package.json
index 3800d20..352a21e 100644
--- a/package.json
+++ b/package.json
@@ -13,6 +13,7 @@
"core-js": "^3.6.5",
"vue": "^2.6.11",
"vue-router": "^3.2.0",
+ "vue-show-more-text": "^2.0.2",
"vue2-datepicker": "^3.11.1",
"vue2-editor": "^2.10.3",
"vue2-timepicker": "^1.1.6",
diff --git a/src/api/audio_content_series.js b/src/api/audio_content_series.js
new file mode 100644
index 0000000..b7bfbe6
--- /dev/null
+++ b/src/api/audio_content_series.js
@@ -0,0 +1,68 @@
+import Vue from 'vue';
+
+async function getGenreList() {
+ return Vue.axios.get("/creator-admin/audio-content/series/genre");
+}
+
+async function getSeriesList(page) {
+ return Vue.axios.get("/creator-admin/audio-content/series?page=" + (page - 1) + "&size=10");
+}
+
+async function createSeries(formData) {
+ return Vue.axios.post("/creator-admin/audio-content/series", formData, {
+ headers: {
+ "Content-Type": "multipart/form-data",
+ },
+ });
+}
+
+async function modifySeries(formData) {
+ return Vue.axios.put("/creator-admin/audio-content/series", formData, {
+ headers: {
+ "Content-Type": "multipart/form-data",
+ },
+ });
+}
+
+async function getSeriesDetail(seriesId) {
+ return Vue.axios.get("/creator-admin/audio-content/series/" + seriesId);
+}
+
+async function getSeriesContent(seriesId, page) {
+ return Vue.axios.get(
+ "/creator-admin/audio-content/series/" + seriesId + "/content?page=" + (page - 1) + "&size=10"
+ );
+}
+
+async function searchContentNotInSeries(seriesId, searchWord) {
+ return Vue.axios.get(
+ "/creator-admin/audio-content/series/content/search?series_id=" + seriesId +
+ "&search_word=" + searchWord
+ )
+}
+
+async function addingContentToTheSeries(seriesId, contentIdList) {
+ return Vue.axios.post(
+ "/creator-admin/audio-content/series/add/content",
+ {seriesId: seriesId, contentIdList: contentIdList}
+ )
+}
+
+async function removeContentInTheSeries(seriesId, contentId) {
+ return Vue.axios.put(
+ "/creator-admin/audio-content/series/remove/content",
+ {seriesId: seriesId, contentId: contentId}
+ )
+}
+
+export {
+ getGenreList,
+ getSeriesList,
+ createSeries,
+ modifySeries,
+ getSeriesDetail,
+ getSeriesContent,
+ addingContentToTheSeries,
+ removeContentInTheSeries,
+ searchContentNotInSeries
+}
diff --git a/src/router/index.js b/src/router/index.js
index 9e3d825..caa22eb 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -25,6 +25,16 @@ const routes = [
name: 'ContentCategoryList',
component: () => import(/* webpackChunkName: "content" */ '../views/Content/ContentCategoryList.vue')
},
+ {
+ path: '/content/series/list',
+ name: 'ContentSeriesList',
+ component: () => import(/* webpackChunkName: "content" */ '../views/Content/ContentSeriesList.vue')
+ },
+ {
+ path: '/content/series/detail',
+ name: 'ContentSeriesDetail',
+ component: () => import(/* webpackChunkName: "content" */ '../views/Content/ContentSeriesDetail.vue')
+ },
{
path: '/calculate/live',
name: 'CalculateLive',
diff --git a/src/views/Content/ContentCategoryList.vue b/src/views/Content/ContentCategoryList.vue
index 12f54dc..5431067 100644
--- a/src/views/Content/ContentCategoryList.vue
+++ b/src/views/Content/ContentCategoryList.vue
@@ -339,33 +339,6 @@ export default {
page: 1,
total_page: 0,
-
- headers: [
- {
- text: '커버이미지',
- align: 'center',
- sortable: false,
- value: 'image',
- },
- {
- text: '제목',
- align: 'center',
- sortable: false,
- value: 'title',
- },
- {
- text: '19금',
- align: 'center',
- sortable: false,
- value: 'isAdult',
- },
- {
- text: '관리',
- align: 'center',
- sortable: false,
- value: 'management'
- },
- ]
}
},
diff --git a/src/views/Content/ContentList.vue b/src/views/Content/ContentList.vue
index 13424dd..1b990f0 100644
--- a/src/views/Content/ContentList.vue
+++ b/src/views/Content/ContentList.vue
@@ -617,20 +617,6 @@
-
-
-
-
-
-
-
-
diff --git a/src/views/Content/ContentSeriesDetail.vue b/src/views/Content/ContentSeriesDetail.vue
new file mode 100644
index 0000000..2810713
--- /dev/null
+++ b/src/views/Content/ContentSeriesDetail.vue
@@ -0,0 +1,517 @@
+
+
+
+
+
+
+
+
+ 제목 : {{ series_detail.title }}
+
+
+ 소개 :
+
+
+
+ 연재요일 : {{ series_detail.publishedDaysOfWeek }}
+
+
+ 장르 : {{ series_detail.genre }}
+
+
+ 키워드 : {{ series_detail.keywords }}
+
+
+ 연령제한 : 19세이상전체이용가
+
+
+ 완결여부 : {{ series_detail.state }}
+
+
+ 작가 : {{ series_detail.writer }}
+
+
+ 제작사 : {{ series_detail.studio }}
+
+
+
+
+
+
+
+
+ 콘텐츠 추가
+
+
+
+
+
+
+
+
+
+
+ 썸네일
+ |
+
+ 제목
+ |
+
+ 19금
+ |
+
+ 관리
+ |
+
+
+
+
+
+
+ |
+
+ {{ content.title }}
+ |
+
+
+ O
+
+
+ X
+
+ |
+
+
+ 삭제
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+ 등록된 콘텐츠가 없습니다.
+
+
+
+
+
+
+
+
+
+ 콘텐츠 추가
+
+
+
+
+ 검색
+
+
+
+
+
+
+ 검색결과
+
+
+
+
+
+ 제목
+ |
+ |
+
+
+
+
+ {{ content.title }} |
+
+
+ 추가
+
+ |
+
+
+
+
+
+
+ 추가할 콘텐츠
+
+
+
+
+
+ 제목
+ |
+ |
+
+
+
+
+ {{ content.title }} |
+
+
+ 제거
+
+ |
+
+
+
+
+
+
+
+
+
+
+ 취소
+
+
+ 추가
+
+
+
+
+
+
+
+
+
+ {{ selected_series_content.title }} 삭제하시겠습니까?
+
+
+ 삭제하시겠습니까?
+
+
+
+
+ 취소
+
+
+ 확인
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/Content/ContentSeriesList.vue b/src/views/Content/ContentSeriesList.vue
new file mode 100644
index 0000000..31cbeb6
--- /dev/null
+++ b/src/views/Content/ContentSeriesList.vue
@@ -0,0 +1,707 @@
+
+
+
+
+
+
+