From 0537b6df7dcc1672fe714cb81ec72c97750a5c90 Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Fri, 27 Dec 2024 01:40:31 +0900 Subject: [PATCH] =?UTF-8?q?=EC=98=A4=EB=94=94=EC=85=98=20=EA=B4=80?= =?UTF-8?q?=EB=A6=AC=20-=20=ED=8E=98=EC=9D=B4=EC=A7=80=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 --- package-lock.json | 45 +++ package.json | 2 + src/api/audition.js | 29 ++ src/router/index.js | 5 + src/views/Audition/AuditionView.vue | 571 ++++++++++++++++++++++++++++ 5 files changed, 652 insertions(+) create mode 100644 src/api/audition.js create mode 100644 src/views/Audition/AuditionView.vue 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 @@ + + + + +