diff --git a/package-lock.json b/package-lock.json
index 3ddd1ad..1b68638 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14,7 +14,9 @@
"vue-excel-xlsx": "^1.2.2",
"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",
"vuedraggable": "^2.24.3",
"vuejs-datetimepicker": "^1.1.13",
"vuetify": "2.6.10",
@@ -5239,6 +5241,11 @@
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz",
"integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw=="
},
+ "node_modules/date-format-parse": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/date-format-parse/-/date-format-parse-0.2.7.tgz",
+ "integrity": "sha512-/+lyMUKoRogMuTeOVii6lUwjbVlesN9YRYLzZT/g3TEZ3uD9QnpjResujeEqUW+OSNbT7T1+SYdyEkTcRv+KDQ=="
+ },
"node_modules/de-indent": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
@@ -14644,6 +14651,17 @@
"integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
"dev": true
},
+ "node_modules/vue2-datepicker": {
+ "version": "3.11.1",
+ "resolved": "https://registry.npmjs.org/vue2-datepicker/-/vue2-datepicker-3.11.1.tgz",
+ "integrity": "sha512-6PU/+pnp2mgZAfnSXmbdwj9516XsEvTiw61Q5SNrvvdy8W/FCxk1GAe9UZn/m9YfS5A47yK6XkcjMHbp7aFApA==",
+ "dependencies": {
+ "date-format-parse": "^0.2.7"
+ },
+ "peerDependencies": {
+ "vue": "^2.5.0"
+ }
+ },
"node_modules/vue2-editor": {
"version": "2.10.3",
"resolved": "https://registry.npmjs.org/vue2-editor/-/vue2-editor-2.10.3.tgz",
@@ -14652,6 +14670,14 @@
"quill": "^1.3.6"
}
},
+ "node_modules/vue2-timepicker": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/vue2-timepicker/-/vue2-timepicker-1.1.6.tgz",
+ "integrity": "sha512-DhO2UH4CTer/lMWxg+jqxn/+h6g2vZrsM6vCe9u7/Ie+Pej9yA+8mQA3C3VPApZ+LauKc43WxCspOXb6SGBOTw==",
+ "peerDependencies": {
+ "vue": "^2.6.5"
+ }
+ },
"node_modules/vuedraggable": {
"version": "2.24.3",
"resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.24.3.tgz",
@@ -19946,6 +19972,11 @@
"resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz",
"integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw=="
},
+ "date-format-parse": {
+ "version": "0.2.7",
+ "resolved": "https://registry.npmjs.org/date-format-parse/-/date-format-parse-0.2.7.tgz",
+ "integrity": "sha512-/+lyMUKoRogMuTeOVii6lUwjbVlesN9YRYLzZT/g3TEZ3uD9QnpjResujeEqUW+OSNbT7T1+SYdyEkTcRv+KDQ=="
+ },
"de-indent": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
@@ -27496,6 +27527,14 @@
"integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
"dev": true
},
+ "vue2-datepicker": {
+ "version": "3.11.1",
+ "resolved": "https://registry.npmjs.org/vue2-datepicker/-/vue2-datepicker-3.11.1.tgz",
+ "integrity": "sha512-6PU/+pnp2mgZAfnSXmbdwj9516XsEvTiw61Q5SNrvvdy8W/FCxk1GAe9UZn/m9YfS5A47yK6XkcjMHbp7aFApA==",
+ "requires": {
+ "date-format-parse": "^0.2.7"
+ }
+ },
"vue2-editor": {
"version": "2.10.3",
"resolved": "https://registry.npmjs.org/vue2-editor/-/vue2-editor-2.10.3.tgz",
@@ -27504,6 +27543,12 @@
"quill": "^1.3.6"
}
},
+ "vue2-timepicker": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/vue2-timepicker/-/vue2-timepicker-1.1.6.tgz",
+ "integrity": "sha512-DhO2UH4CTer/lMWxg+jqxn/+h6g2vZrsM6vCe9u7/Ie+Pej9yA+8mQA3C3VPApZ+LauKc43WxCspOXb6SGBOTw==",
+ "requires": {}
+ },
"vuedraggable": {
"version": "2.24.3",
"resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.24.3.tgz",
diff --git a/package.json b/package.json
index e59af1b..a4fb6b2 100644
--- a/package.json
+++ b/package.json
@@ -16,7 +16,9 @@
"vue-excel-xlsx": "^1.2.2",
"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",
"vuedraggable": "^2.24.3",
"vuejs-datetimepicker": "^1.1.13",
"vuetify": "2.6.10",
diff --git a/src/api/audition.js b/src/api/audition.js
new file mode 100644
index 0000000..9cc8b17
--- /dev/null
+++ b/src/api/audition.js
@@ -0,0 +1,29 @@
+import Vue from 'vue';
+
+async function getAuditionList(page) {
+ return Vue.axios.get("/admin/audition?page=" + (page - 1) + "&size=20");
+}
+
+async function createAudition(formData) {
+ return Vue.axios.post("/admin/audition", formData, {
+ headers: {
+ "Content-Type": "multipart/form-data",
+ },
+ });
+}
+
+async function updateAudition(formData) {
+ return Vue.axios.put("/admin/audition", formData, {
+ headers: {
+ "Content-Type": "multipart/form-data",
+ },
+ });
+}
+
+async function getAuditionDetail(id) {
+ return Vue.axios.get("/admin/audition/" + id);
+}
+
+export {
+ getAuditionList, createAudition, updateAudition, getAuditionDetail
+}
diff --git a/src/router/index.js b/src/router/index.js
index 1912aa1..a9bee22 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -195,6 +195,11 @@ const routes = [
name: 'PrivacyView',
component: () => import(/* webpackChunkName: "support" */ '../views/Support/PrivacyView.vue')
},
+ {
+ path: '/audition',
+ name: 'AuditionListView',
+ component: () => import(/* webpackChunkName: "audition" */ '../views/Audition/AuditionView.vue')
+ },
]
},
{
diff --git a/src/views/Audition/AuditionView.vue b/src/views/Audition/AuditionView.vue
new file mode 100644
index 0000000..45d70b7
--- /dev/null
+++ b/src/views/Audition/AuditionView.vue
@@ -0,0 +1,571 @@
+
+
+
+
+ 오디션 관리
+
+
+
+
+
+
+
+
+
+ 오디션 작품 등록
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.title }}
+
+
+
+
+ 수정
+
+
+ 삭제
+
+
+
+
+
+
+
+
+ 등록된 오디션이 없습니다.
+
+
+
+
+
+
+
+
+
+
+
+
+ 오디션 작품 등록
+
+
+
+
+
+
+
+
+
+
+ 오디션 제목*
+
+
+
+
+
+
+
+
+
+ 오디션 정보*
+
+
+
+
+
+
+
+
+
+ 원작
+
+
+
+
+
+
+
+
+
+ 마감날짜
+
+
+
+
+
+
+
+
+
+
+
+ 연령제한
+
+
+
+
+
+
+
+
+
+ 취소
+
+
+ 수정
+
+
+ 등록
+
+
+
+
+
+
+
+
+
+ 삭제하시겠습니까?
+
+
+
+
+ 취소
+
+
+ 확인
+
+
+
+
+
+
+
+
+
+