jichoi / lms_front star
[jichoi] 08-08
240808최정임
@bf3678826453bf4dee23531b4fa258e7401d667a
client/resources/css/reset.css
--- client/resources/css/reset.css
+++ client/resources/css/reset.css
@@ -80,20 +80,20 @@
     
 }
 html,
-body{height: 100%;  background-color: #eaedf4;}
+body{ background-color: #eaedf4;}
 body{position:relative;text-align: left; overflow-x: hidden; width: 1920px;}
 ::-webkit-scrollbar {width: 10px; height: 10px;}
 ::-webkit-scrollbar-track {border-radius: 5px;background-color: #EAEDF4;}
 ::-webkit-scrollbar-thumb {	border-radius: 5px; background-color: #FFBA08;}
 #root, #app{
-    height: 100%; 
+    /* height: 100%;  */
    }
 input, select, span,p, label {
     font-size: 16px;
 }
 input::placeholder{color: #8C8E92;}
 input[type="text"]{ padding:10px 20px; width: 100%; }
-
+input#file-upload-button{padding: 10px ;} 
   
 button{
     border: none;
@@ -112,4 +112,24 @@
 border: 0;}
 thead{background-color: #eaedf4;}
 tbody tr{border-bottom: #eaedf4 1px solid; cursor: pointer;}
-td{padding: 10px ; text-align: center;} 
(파일 끝에 줄바꿈 문자 없음)
+td{padding: 10px ; text-align: center;} 
+
+/* .btn-upload {
+    width: 100px;
+    height: 40px;
+    background: #f0f0f0;
+    border: 1px solid rgb(77,77,77);
+    font-weight: 500;
+    cursor: pointer;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    &:hover {
+      background: rgb(77,77,77);
+      color: #fff;
+    }
+  }
+  
+  #file {
+    display: none;
+  } */
(파일 끝에 줄바꿈 문자 없음)
client/resources/css/style.css
--- client/resources/css/style.css
+++ client/resources/css/style.css
@@ -277,7 +277,7 @@
   background-image: url('../img/img199_12p.png');
   width: 367px;
   height: 182px;
-  padding: 20px 60px 20px 50px;
+  padding: 20px 50px 20px 40px;
   color: #fff;
 }
 .mypage .textbook{font-family: 'ONEMobilePOPOTF';}
@@ -830,7 +830,7 @@
 .side_t{
   background-color: #fff;
   width: 360px;
-  height: 100%;
+  /* height: 100%; */
   padding: 25px 40px;
 }
 
@@ -849,7 +849,7 @@
     to { opacity:1; transform:translate3d(0, 0, 0); }
 }
 
-select{min-width: 128px; border-radius: 5px; padding: 10px 20px; font-size: 18px;}
+select{min-width: 128px; border-radius: 5px; padding: 10px 20px; font-size: 18px; }
 select option{font-size: 20px; font-weight: bold;}
 
 
@@ -917,7 +917,7 @@
     font-family: 'Pretendard-Bold';
 }
 .new-btn{
-  padding: 5px 20px;
+  padding: 10px 30px;
   font-size: 20px;
     font-family: 'Pretendard-Bold';
     border-radius: 5px;
client/views/pages/AppRouter.js
--- client/views/pages/AppRouter.js
+++ client/views/pages/AppRouter.js
@@ -81,11 +81,16 @@
 import ClassDetail from "./teacher/ClassDetail.vue";
 import TextList from "./teacher/TextList.vue";
 import TextInsert from "./teacher/TextInsert.vue";
+import TextDetail from "./teacher/TextDetail.vue";
 import QuestionList from "./teacher/QuestionList.vue";
 import QuestionInsert from "./teacher/QuestionInsert.vue";
+import QuestionDetail from "./teacher/QuestionDetail.vue";
 import VocaList from "./teacher/VocaList.vue";
+import VocaInsert from "./teacher/VocaInsert.vue";
+import VocaDetail from "./teacher/VocaDetail.vue";
 import ExamList from "./teacher/ExamList.vue";
 import ExamDetail from "./teacher/ExamDetail.vue";
+import ExamInsert from "./teacher/ExamInsert.vue";
 import RoadMap from "./teacher/RoadMap.vue";
 
 const routes = [
@@ -184,11 +189,16 @@
             { path: '/C_TextBookDetail.page', name: 'C_TextBookDetail', component: C_TextBookDetail },
             { path: '/TextList.page', name: 'TextList', component: TextList },
             { path: '/TextInsert.page', name: 'TextInsert', component: TextInsert },
+            { path: '/TextDetail.page', name: 'TextDetail', component: TextDetail },
             { path: '/QuestionList.page', name: 'QuestionList', component: QuestionList },
             { path: '/QuestionInsert.page', name: 'QuestionInsert', component: QuestionInsert },
+            { path: '/QuestionDetail.page', name: 'QuestionDetail', component: QuestionDetail },
             { path: '/VocaList.page', name: 'VocaList', component: VocaList },
+            { path: '/VocaInsert.page', name: 'VocaInsert', component: VocaInsert },
+            { path: '/VocaDetail.page', name: 'VocaDetail', component: VocaDetail },
             { path: '/ExamList.page', name: 'ExamList', component: ExamList },
             { path: '/ExamDetail.page', name: 'ExamDetail', component: ExamDetail },
+            { path: '/ExamInsert.page', name: 'ExamInsert', component: ExamInsert },
             { path: '/C_TextList.page', name: 'C_TextList', component: C_TextList },
             { path: '/C_TextInsert.page', name: 'C_TextInsert', component: C_TextInsert },
             { path: '/C_QuestionList.page', name: 'C_QuestionList', component: C_QuestionList },
 
client/views/pages/teacher/ExamInsert.vue (added)
+++ client/views/pages/teacher/ExamInsert.vue
@@ -0,0 +1,93 @@
+<template>
+    <div class="title-box flex justify-between mb40">
+        <p class="title">문제 등록 페이지</p>
+    </div>
+    <!-- <label for="" class="title1">문제 리스트</label>
+    <table class="mt20 mb100">
+        <colgroup>
+            <col style="width: 10%;">
+            <col style="width: 70%;">
+            <col style="width: 20%;">
+        </colgroup>
+        <thead>
+            <td>No.</td>
+            <td>문제</td>
+            <td>보기</td>
+        </thead>
+        <tbody>
+            <tr>
+                <td>1</td>
+                <td>1</td>
+                <td><button type="button" title="수정" class="new-btn">
+                        수정
+                    </button></td>
+            </tr>
+        </tbody>
+    </table> -->
+    <label for="" class="title1">상세 내용</label>
+    <div class="board-wrap mt20">
+        <div class="flex align-center mb20">
+            <label for="" class="title2">문제</label>
+            <input type="text" class="data-wrap">
+        </div>
+
+        <hr>
+        <div class="flex align-center">
+            <label for="" class="title2">내용</label>
+            <textarea name="" id="" class="data-wrap"></textarea>
+        </div>
+        <hr>
+        <div class="flex align-center mb20">
+            <label for="" class="title2">첨부파일</label>
+            <input type="file" ref="fileInput" @change="handleFileUpload" />
+        </div>
+        <div class="flex align-center">
+            <label for="" class="title2">답</label>
+            <input type="text" class="data-wrap">
+        </div>
+    </div>
+    <div class="flex justify-between mt50">
+        <button type="button" title="글쓰기" class="new-btn" @click="goToPage('C_ExamList')">
+            목록
+        </button>
+        <div class="flex">
+            <button type="button" title="글쓰기" class="new-btn mr10">
+                취소
+            </button>
+            <button type="button" title="글쓰기" class="new-btn">
+                등록
+            </button>
+        </div>
+    </div>
+</template>
+
+<script>
+import SvgIcon from '@jamescoyle/vue-icon';
+import { mdiMagnify } from '@mdi/js';
+
+
+export default {
+    data() {
+        return {
+            mdiMagnify: mdiMagnify,
+        }
+    },
+    methods: {
+        goToPage(page) {
+            this.$router.push({ name: page });
+        },
+    },
+    watch: {
+
+    },
+    computed: {
+
+    },
+    components: {
+        SvgIcon
+    },
+    mounted() {
+        console.log('Main2 mounted');
+    }
+}
+</script>(파일 끝에 줄바꿈 문자 없음)
client/views/pages/teacher/ExamList.vue
--- client/views/pages/teacher/ExamList.vue
+++ client/views/pages/teacher/ExamList.vue
@@ -78,7 +78,7 @@
                     <button><img src="../../../resources/img/btn28_90t_normal.png" alt=""></button>
                 </article>
                 <div class="flex justify-end ">
-                <button type="button" title="등록" class="new-btn" @click="goToPage('ExamDetail')">
+                <button type="button" title="등록" class="new-btn" @click="goToPage('ExamInsert')">
                     등록
                 </button>
         </div>
client/views/pages/teacher/Main_t.vue
--- client/views/pages/teacher/Main_t.vue
+++ client/views/pages/teacher/Main_t.vue
@@ -1,7 +1,7 @@
 <template>
     <div class="flex justify-between" style="height: 100%;">
        <Side_t></Side_t>
-       <div style="padding: 15px 60px 90px 60px; ">
+       <div style="padding: 15px 60px 120px 0px ">
         <Header></Header>
           <div class="main-wrap">
               <router-view />
 
client/views/pages/teacher/QuestionDetail.vue (added)
+++ client/views/pages/teacher/QuestionDetail.vue
@@ -0,0 +1,232 @@
+<template>
+    <div class="title-box flex justify-between mb40">
+        <p class="title">문제 등록</p>
+    </div>
+    <div class="board-wrap">
+        <div class="tab-box" >
+            <label class="mr20 title1">
+               <input type="radio" v-model="selectedTab" value="tab1" />
+               문제 유형 (일반형)
+            </label>
+            <label class="mr20 title1">
+               <input type="radio" v-model="selectedTab" value="tab2" />
+               문제 유형 (O,X형)
+            </label>
+            <label class="mr20 title1">
+               <input type="radio" v-model="selectedTab" value="tab3" />
+               문제 유형 (연결형)
+            </label>
+            <label class="mr20 title1">
+               <input type="radio" v-model="selectedTab" value="tab4" />
+               문제 유형 (다중 정답형)
+            </label>
+        </div>
+        <hr>
+       <div class="gd-col2 " >
+            <div class="flex align-center mb20">
+                <label for="" class="title2">카테고리</label>
+                <select v-model="selectedSearchOption" class="mr10 data-wrap">
+                    <option value="bbsTtl">제목</option>
+                    <option value="bbsCnt">내용</option>
+                    <option value="userNm">작성자</option>
+                    <option value="bbsCls">카테고리</option>
+                </select>
+            </div>
+            <div class="flex align-center mb20">
+                <label for="" class="title2">문제 유형</label>
+                <select v-model="selectedSearchOption" class="mr10 data-wrap">
+                    <option value="bbsTtl">제목</option>
+                    <option value="bbsCnt">내용</option>
+                    <option value="userNm">작성자</option>
+                    <option value="bbsCls">카테고리</option>
+                </select>
+            </div>
+            <div class="flex align-center">
+                <label for="" class="title2">지문</label>
+                <select v-model="selectedSearchOption" class="mr10 data-wrap">
+                    <option value="bbsTtl">제목</option>
+                    <option value="bbsCnt">내용</option>
+                    <option value="userNm">작성자</option>
+                    <option value="bbsCls">카테고리</option>
+                </select>
+            </div>
+            <div class="flex align-center">
+                <label for="" class="title2">문제 지표</label>
+                <select v-model="selectedSearchOption" class="mr10 data-wrap">
+                    <option value="bbsTtl">제목</option>
+                    <option value="bbsCnt">내용</option>
+                    <option value="userNm">작성자</option>
+                    <option value="bbsCls">카테고리</option>
+                </select>
+            </div>
+       </div>
+        <div class="flex align-center mb20 mt40">
+            <label for="" class="title2">문제 배점</label>
+            <input type="text" class="data-wrap">
+        </div>
+
+        <div class="flex align-center mb20">
+            <label for="" class="title2">내용</label>
+            <textarea name="" id="" class="data-wrap"></textarea>
+        </div>
+        <div class="flex align-center mb20">
+            <label for="" class="title2">힌트</label>
+            <input type="text" class="data-wrap">
+        </div>
+        <div class="flex align-center mb20">
+            <label for="" class="title2">첨부파일</label>
+            <input type="file" ref="fileInput" @change="handleFileUpload" />
+        </div>
+        <hr>
+        <div v-if="selectedTab === 'tab1'">
+            <div class="flex align-center mb20">
+                <label for="" class="title2">답1</label>
+                <input type="text" class="data-wrap">
+            </div>
+            <div class="flex align-center mb20">
+                <label for="" class="title2">답2</label>
+                <input type="text" class="data-wrap">
+            </div>
+            <div class="flex align-center mb20">
+                <label for="" class="title2">답3</label>
+                <input type="text" class="data-wrap">
+            </div>
+            <div class="flex align-center mb20">
+                <label for="" class="title2">답4</label>
+                <input type="text" class="data-wrap">
+            </div>
+            <div class="flex align-center mb20">
+                <label for="" class="title2">해설</label>
+                <textarea name="" id="" class="data-wrap"></textarea>
+            </div>
+        </div>
+       <div v-else-if="selectedTab === 'tab2'">
+            <div class="flex align-center mb20">
+                <label for="" class="title2">답</label>
+                    <select v-model="selectedSearchOption" class="mr10 data-wrap">
+                            <option value="bbsTtl">O</option>
+                            <option value="bbsCnt">X</option>
+                        </select>
+            </div>
+            <div class="flex align-center mb20">
+                <label for="" class="title2">해설</label>
+                <textarea name="" id="" class="data-wrap"></textarea>
+            </div>
+       </div>
+       <div v-else-if="selectedTab === 'tab3'">
+            <div class="gd-col2 " >
+                <div class="flex align-center mb20 mr40" >
+                    <label for="" class="title2">문제1</label>
+                    <input type="text" class="data-wrap">
+                </div>
+                <div class="flex align-center mb20">
+                    <label for="" class="title2">답1</label>
+                    <input type="text" class="data-wrap">
+                </div>
+                <div class="flex align-center mb20 mr40">
+                    <label for="" class="title2">문제2</label>
+                    <input type="text" class="data-wrap">
+                </div>
+                <div class="flex align-center mb20">
+                    <label for="" class="title2">답2</label>
+                    <input type="text" class="data-wrap">
+                </div>
+                <div class="flex align-center mb20 mr40">
+                    <label for="" class="title2">문제3</label>
+                    <input type="text" class="data-wrap">
+                </div>
+                <div class="flex align-center mb20 ">
+                    <label for="" class="title2">답3</label>
+                    <input type="text" class="data-wrap">
+                </div>
+                <div class="flex align-center mb20 mr40">
+                    <label for="" class="title2">문제4</label>
+                    <input type="text" class="data-wrap">
+                </div>
+                <div class="flex align-center mb20">
+                    <label for="" class="title2">답4</label>
+                    <input type="text" class="data-wrap">
+                </div>
+            </div>
+            <div class="flex align-center mb20">
+                <label for="" class="title2">해설</label>
+                <textarea name="" id="" class="data-wrap"></textarea>
+            </div>
+       </div>
+       <div v-else-if="selectedTab === 'tab4'">
+                <div class="flex align-center mb20 mr40" >
+                    <label for="" class="title2">문제1</label>
+                    <input type="text" class="data-wrap">
+                    <input type="checkbox" class="ui-checkbox ml30">
+                </div>
+                <div class="flex align-center mb20 mr40">
+                    <label for="" class="title2">문제2</label>
+                    <input type="text" class="data-wrap">
+                    <input type="checkbox" class="ui-checkbox ml30">
+                </div>
+                <div class="flex align-center mb20 mr40">
+                    <label for="" class="title2">문제3</label>
+                    <input type="text" class="data-wrap">
+                    <input type="checkbox" class="ui-checkbox ml30">
+                </div>
+                <div class="flex align-center mb20 mr40">
+                    <label for="" class="title2">문제4</label>
+                    <input type="text" class="data-wrap">
+                    <input type="checkbox" class="ui-checkbox ml30">
+                </div>
+            <div class="flex align-center mb20">
+                <label for="" class="title2">해설</label>
+                <textarea name="" id="" class="data-wrap"></textarea>
+            </div>
+       </div>
+       
+    </div>
+    <div class="flex justify-between mt50">
+        <button type="button" title="글쓰기" class="new-btn" @click="goToPage('QuestionList')">
+            목록
+        </button>
+        <div class="flex">
+            <button type="button" title="글쓰기" class="new-btn mr10">
+                삭제
+            </button>
+            <button type="button" title="글쓰기" class="new-btn">
+                수정
+            </button>
+        </div>
+    </div>
+</template>
+
+<script>
+import SvgIcon from '@jamescoyle/vue-icon';
+import { mdiMagnify } from '@mdi/js';
+
+
+export default {
+    data() {
+        return {
+            mdiMagnify: mdiMagnify,
+            selectedTab: 'tab1',
+        }
+    },
+    methods: {
+        goToPage(page) {
+            this.$router.push({ name: page });
+        },
+    },
+    watch: {
+
+    },
+    computed: {
+
+    },
+    components: {
+        SvgIcon
+    },
+    mounted() {
+        console.log('Main2 mounted');
+    }
+}
+</script>
+<style scoped>
+.ui-checkbox{width: 30px; height: 30px;}
+</style>(파일 끝에 줄바꿈 문자 없음)
client/views/pages/teacher/QuestionInsert.vue
--- client/views/pages/teacher/QuestionInsert.vue
+++ client/views/pages/teacher/QuestionInsert.vue
@@ -3,54 +3,183 @@
         <p class="title">문제 등록</p>
     </div>
     <div class="board-wrap">
-        <div class="flex align-center mb20">
-            <label for="" class="title2">제목</label>
-            <input type="text" class="data-wrap">
+        <div class="tab-box" >
+            <label class="mr20 title1">
+               <input type="radio" v-model="selectedTab" value="tab1" />
+               문제 유형 (일반형)
+            </label>
+            <label class="mr20 title1">
+               <input type="radio" v-model="selectedTab" value="tab2" />
+               문제 유형 (O,X형)
+            </label>
+            <label class="mr20 title1">
+               <input type="radio" v-model="selectedTab" value="tab3" />
+               문제 유형 (연결형)
+            </label>
+            <label class="mr20 title1">
+               <input type="radio" v-model="selectedTab" value="tab4" />
+               문제 유형 (다중 정답형)
+            </label>
         </div>
         <hr>
-        <div class="flex align-center">
+       <div class="gd-col2 " >
+            <div class="flex align-center mb20">
+                <label for="" class="title2">카테고리</label>
+                <select v-model="selectedSearchOption" class="mr10 data-wrap">
+                    <option value="bbsTtl">제목</option>
+                    <option value="bbsCnt">내용</option>
+                    <option value="userNm">작성자</option>
+                    <option value="bbsCls">카테고리</option>
+                </select>
+            </div>
+            <div class="flex align-center mb20">
+                <label for="" class="title2">문제 유형</label>
+                <select v-model="selectedSearchOption" class="mr10 data-wrap">
+                    <option value="bbsTtl">제목</option>
+                    <option value="bbsCnt">내용</option>
+                    <option value="userNm">작성자</option>
+                    <option value="bbsCls">카테고리</option>
+                </select>
+            </div>
+            <div class="flex align-center">
+                <label for="" class="title2">지문</label>
+                <select v-model="selectedSearchOption" class="mr10 data-wrap">
+                    <option value="bbsTtl">제목</option>
+                    <option value="bbsCnt">내용</option>
+                    <option value="userNm">작성자</option>
+                    <option value="bbsCls">카테고리</option>
+                </select>
+            </div>
+            <div class="flex align-center">
+                <label for="" class="title2">문제 지표</label>
+                <select v-model="selectedSearchOption" class="mr10 data-wrap">
+                    <option value="bbsTtl">제목</option>
+                    <option value="bbsCnt">내용</option>
+                    <option value="userNm">작성자</option>
+                    <option value="bbsCls">카테고리</option>
+                </select>
+            </div>
+       </div>
+        <div class="flex align-center mb20 mt40">
+            <label for="" class="title2">문제 배점</label>
+            <input type="text" class="data-wrap">
+        </div>
+
+        <div class="flex align-center mb20">
             <label for="" class="title2">내용</label>
             <textarea name="" id="" class="data-wrap"></textarea>
         </div>
-        <hr>
+        <div class="flex align-center mb20">
+            <label for="" class="title2">힌트</label>
+            <input type="text" class="data-wrap">
+        </div>
         <div class="flex align-center mb20">
             <label for="" class="title2">첨부파일</label>
             <input type="file" ref="fileInput" @change="handleFileUpload" />
         </div>
-        <div class="flex align-center mb20">
-            <label for="" class="title2">답</label>
-            <input type="text" class="data-wrap">
-        </div>
-        <div>
-            <label for="" class="title2">오답 학생</label>
-            <div class="table-wrap mt20">
-                <table>
-                    <thead>
-                        <td>No.</td>
-                        <td>이름</td>
-                        <td>학년</td>
-                        <td>반</td>
-                        <td>오답</td>
-                    </thead>
-                    <tbody>
-                        <tr @click="goToPage('noticeDetail')">
-                            <td></td>
-                            <td></td>
-                            <td></td>
-                            <td></td>
-                            <td></td>
-                        </tr>
-                    </tbody>
-                </table>
-                <!-- <article class="table-pagination flex justify-center align-center mb20 mt30" style="gap: 10px;">
-                    <button><img src="../../../resources/img/btn27_90t_normal.png" alt=""></button>
-                    <button class="selected-btn">1</button>
-                    <button>2</button>
-                    <button>3</button>
-                    <button><img src="../../../resources/img/btn28_90t_normal.png" alt=""></button>
-                </article> -->
+        <hr>
+        <div v-if="selectedTab === 'tab1'">
+            <div class="flex align-center mb20">
+                <label for="" class="title2">답1</label>
+                <input type="text" class="data-wrap">
+            </div>
+            <div class="flex align-center mb20">
+                <label for="" class="title2">답2</label>
+                <input type="text" class="data-wrap">
+            </div>
+            <div class="flex align-center mb20">
+                <label for="" class="title2">답3</label>
+                <input type="text" class="data-wrap">
+            </div>
+            <div class="flex align-center mb20">
+                <label for="" class="title2">답4</label>
+                <input type="text" class="data-wrap">
+            </div>
+            <div class="flex align-center mb20">
+                <label for="" class="title2">해설</label>
+                <textarea name="" id="" class="data-wrap"></textarea>
             </div>
         </div>
+       <div v-else-if="selectedTab === 'tab2'">
+            <div class="flex align-center mb20">
+                <label for="" class="title2">답</label>
+                    <select v-model="selectedSearchOption" class="mr10 data-wrap">
+                            <option value="bbsTtl">O</option>
+                            <option value="bbsCnt">X</option>
+                        </select>
+            </div>
+            <div class="flex align-center mb20">
+                <label for="" class="title2">해설</label>
+                <textarea name="" id="" class="data-wrap"></textarea>
+            </div>
+       </div>
+       <div v-else-if="selectedTab === 'tab3'">
+            <div class="gd-col2 " >
+                <div class="flex align-center mb20 mr40" >
+                    <label for="" class="title2">문제1</label>
+                    <input type="text" class="data-wrap">
+                </div>
+                <div class="flex align-center mb20">
+                    <label for="" class="title2">답1</label>
+                    <input type="text" class="data-wrap">
+                </div>
+                <div class="flex align-center mb20 mr40">
+                    <label for="" class="title2">문제2</label>
+                    <input type="text" class="data-wrap">
+                </div>
+                <div class="flex align-center mb20">
+                    <label for="" class="title2">답2</label>
+                    <input type="text" class="data-wrap">
+                </div>
+                <div class="flex align-center mb20 mr40">
+                    <label for="" class="title2">문제3</label>
+                    <input type="text" class="data-wrap">
+                </div>
+                <div class="flex align-center mb20 ">
+                    <label for="" class="title2">답3</label>
+                    <input type="text" class="data-wrap">
+                </div>
+                <div class="flex align-center mb20 mr40">
+                    <label for="" class="title2">문제4</label>
+                    <input type="text" class="data-wrap">
+                </div>
+                <div class="flex align-center mb20">
+                    <label for="" class="title2">답4</label>
+                    <input type="text" class="data-wrap">
+                </div>
+            </div>
+            <div class="flex align-center mb20">
+                <label for="" class="title2">해설</label>
+                <textarea name="" id="" class="data-wrap"></textarea>
+            </div>
+       </div>
+       <div v-else-if="selectedTab === 'tab4'">
+                <div class="flex align-center mb20 mr40" >
+                    <label for="" class="title2">문제1</label>
+                    <input type="text" class="data-wrap">
+                    <input type="checkbox" class="ui-checkbox ml30">
+                </div>
+                <div class="flex align-center mb20 mr40">
+                    <label for="" class="title2">문제2</label>
+                    <input type="text" class="data-wrap">
+                    <input type="checkbox" class="ui-checkbox ml30">
+                </div>
+                <div class="flex align-center mb20 mr40">
+                    <label for="" class="title2">문제3</label>
+                    <input type="text" class="data-wrap">
+                    <input type="checkbox" class="ui-checkbox ml30">
+                </div>
+                <div class="flex align-center mb20 mr40">
+                    <label for="" class="title2">문제4</label>
+                    <input type="text" class="data-wrap">
+                    <input type="checkbox" class="ui-checkbox ml30">
+                </div>
+            <div class="flex align-center mb20">
+                <label for="" class="title2">해설</label>
+                <textarea name="" id="" class="data-wrap"></textarea>
+            </div>
+       </div>
+       
     </div>
     <div class="flex justify-between mt50">
         <button type="button" title="글쓰기" class="new-btn" @click="goToPage('QuestionList')">
@@ -58,10 +187,10 @@
         </button>
         <div class="flex">
             <button type="button" title="글쓰기" class="new-btn mr10">
-                수정
+                취소
             </button>
             <button type="button" title="글쓰기" class="new-btn">
-                삭제
+                등록
             </button>
         </div>
     </div>
@@ -76,6 +205,7 @@
     data() {
         return {
             mdiMagnify: mdiMagnify,
+            selectedTab: 'tab1',
         }
     },
     methods: {
@@ -96,4 +226,7 @@
         console.log('Main2 mounted');
     }
 }
-</script>
(파일 끝에 줄바꿈 문자 없음)
+</script>
+<style scoped>
+.ui-checkbox{width: 30px; height: 30px;}
+</style>
(파일 끝에 줄바꿈 문자 없음)
client/views/pages/teacher/QuestionList.vue
--- client/views/pages/teacher/QuestionList.vue
+++ client/views/pages/teacher/QuestionList.vue
@@ -19,13 +19,13 @@
                 <thead>
                     <td>No.</td>
                     <td>제목</td>
-                    <td>문제</td>
-                    <td>작성자</td>
-                    <td>오답률</td>
+                    <td>내용</td>
+                    <td>유형</td>
+                    <td>지문</td>
                     <td>등록일</td>
                 </thead>
                 <tbody>
-                    <tr @click="goToPage('QuestionInsert')">
+                    <tr @click="goToPage('QuestionDetail')">
                         <td></td>
                         <td></td>
                         <td></td>
 
client/views/pages/teacher/TextDetail.vue (added)
+++ client/views/pages/teacher/TextDetail.vue
@@ -0,0 +1,64 @@
+<template>
+    <div class="title-box flex justify-between mb40">
+        <p class="title">지문 등록</p>
+    </div>
+        <div class="board-wrap">
+            <div class="flex align-center mb20">
+                <label for="" class="title2">제목</label>
+                <input type="text" class="data-wrap">
+            </div>
+            <div class="flex align-center">
+                <label for="" class="title2">URL</label>
+                <input type="text" class="data-wrap">
+            </div>
+            <hr>
+            <div class="flex align-center">
+                <label for="" class="title2">스크립트</label>
+                <textarea name="" id="" class="data-wrap"></textarea>
+            </div>
+        </div>
+        <div class="flex justify-between mt50">
+                <button type="button" title="글쓰기" class="new-btn"  @click="goToPage('TextList')">
+                    목록
+                </button>
+               <div class="flex">
+                    <button type="button" title="글쓰기" class="new-btn mr10"  >
+                        수정
+                    </button>
+                    <button type="button" title="글쓰기" class="new-btn"  >
+                        삭제
+                    </button>
+               </div>
+        </div>
+</template>
+
+<script>
+import SvgIcon from '@jamescoyle/vue-icon';
+import { mdiMagnify} from '@mdi/js';
+
+
+export default {
+    data () {
+        return {
+            mdiMagnify: mdiMagnify,
+        }
+    },
+    methods: {
+        goToPage(page) {
+         this.$router.push({ name: page });
+      },
+    },
+    watch: {
+
+    },
+    computed: {
+       
+    },
+    components:{
+        SvgIcon
+    },
+    mounted() {
+        console.log('Main2 mounted');
+    }
+}
+</script>(파일 끝에 줄바꿈 문자 없음)
client/views/pages/teacher/TextInsert.vue
--- client/views/pages/teacher/TextInsert.vue
+++ client/views/pages/teacher/TextInsert.vue
@@ -23,10 +23,10 @@
                 </button>
                <div class="flex">
                     <button type="button" title="글쓰기" class="new-btn mr10"  >
-                        수정
+                        취소
                     </button>
                     <button type="button" title="글쓰기" class="new-btn"  >
-                        삭제
+                        등록
                     </button>
                </div>
         </div>
client/views/pages/teacher/TextList.vue
--- client/views/pages/teacher/TextList.vue
+++ client/views/pages/teacher/TextList.vue
@@ -24,7 +24,7 @@
                     <td>등록일</td>
                 </thead>
                 <tbody>
-                    <tr @click="goToPage('TextInsert')">
+                    <tr @click="goToPage('TextDetail')">
                         <td></td>
                         <td></td>
                         <td></td>
 
client/views/pages/teacher/VocaDetail.vue (added)
+++ client/views/pages/teacher/VocaDetail.vue
@@ -0,0 +1,64 @@
+<template>
+    <div class="title-box flex justify-between mb40">
+        <p class="title">지문 등록</p>
+    </div>
+        <div class="board-wrap">
+            <div class="flex align-center mb20">
+                <label for="" class="title2">제목</label>
+                <input type="text" class="data-wrap">
+            </div>
+            <div class="flex align-center">
+                <label for="" class="title2">URL</label>
+                <input type="text" class="data-wrap">
+            </div>
+            <hr>
+            <div class="flex align-center">
+                <label for="" class="title2">스크립트</label>
+                <textarea name="" id="" class="data-wrap"></textarea>
+            </div>
+        </div>
+        <div class="flex justify-between mt50">
+                <button type="button" title="글쓰기" class="new-btn"  @click="goToPage('TextList')">
+                    목록
+                </button>
+               <div class="flex">
+                    <button type="button" title="글쓰기" class="new-btn mr10"  >
+                        취소
+                    </button>
+                    <button type="button" title="글쓰기" class="new-btn"  >
+                        등록
+                    </button>
+               </div>
+        </div>
+</template>
+
+<script>
+import SvgIcon from '@jamescoyle/vue-icon';
+import { mdiMagnify} from '@mdi/js';
+
+
+export default {
+    data () {
+        return {
+            mdiMagnify: mdiMagnify,
+        }
+    },
+    methods: {
+        goToPage(page) {
+         this.$router.push({ name: page });
+      },
+    },
+    watch: {
+
+    },
+    computed: {
+       
+    },
+    components:{
+        SvgIcon
+    },
+    mounted() {
+        console.log('Main2 mounted');
+    }
+}
+</script>(파일 끝에 줄바꿈 문자 없음)
 
client/views/pages/teacher/VocaInsert.vue (added)
+++ client/views/pages/teacher/VocaInsert.vue
@@ -0,0 +1,64 @@
+<template>
+    <div class="title-box flex justify-between mb40">
+        <p class="title">지문 등록</p>
+    </div>
+        <div class="board-wrap">
+            <div class="flex align-center mb20">
+                <label for="" class="title2">제목</label>
+                <input type="text" class="data-wrap">
+            </div>
+            <div class="flex align-center">
+                <label for="" class="title2">URL</label>
+                <input type="text" class="data-wrap">
+            </div>
+            <hr>
+            <div class="flex align-center">
+                <label for="" class="title2">스크립트</label>
+                <textarea name="" id="" class="data-wrap"></textarea>
+            </div>
+        </div>
+        <div class="flex justify-between mt50">
+                <button type="button" title="글쓰기" class="new-btn"  @click="goToPage('TextList')">
+                    목록
+                </button>
+               <div class="flex">
+                    <button type="button" title="글쓰기" class="new-btn mr10"  >
+                        취소
+                    </button>
+                    <button type="button" title="글쓰기" class="new-btn"  >
+                        등록
+                    </button>
+               </div>
+        </div>
+</template>
+
+<script>
+import SvgIcon from '@jamescoyle/vue-icon';
+import { mdiMagnify} from '@mdi/js';
+
+
+export default {
+    data () {
+        return {
+            mdiMagnify: mdiMagnify,
+        }
+    },
+    methods: {
+        goToPage(page) {
+         this.$router.push({ name: page });
+      },
+    },
+    watch: {
+
+    },
+    computed: {
+       
+    },
+    components:{
+        SvgIcon
+    },
+    mounted() {
+        console.log('Main2 mounted');
+    }
+}
+</script>(파일 끝에 줄바꿈 문자 없음)
client/views/pages/teacher/VocaList.vue
--- client/views/pages/teacher/VocaList.vue
+++ client/views/pages/teacher/VocaList.vue
@@ -28,7 +28,7 @@
                 <td>등록일</td>
             </thead>
             <tbody>
-                <tr v-for="(wordBook, index) in dataList" :key="wordBook.wdBookId" @click="goToViewPage('noticeDetail')">
+                <tr v-for="(wordBook, index) in dataList" :key="wordBook.wdBookId" @click="goToViewPage('VocaDetail')">
                     <td>{{ createNo(index) }}</td>
                     <td>{{ wordBook.textTtl }}</td>
                     <td>{{ wordBook.wordsPreview }}</td>
@@ -49,7 +49,7 @@
             </button>
         </article>
         <div class="flex justify-end ">
-            <button type="button" title="등록" class="new-btn" @click="goToPage('noticeInsert')">
+            <button type="button" title="등록" class="new-btn" @click="goToPage('VocaInsert')">
                 등록
             </button>
         </div>
Add a comment
List