jichoi / lms_front star
이은진 이은진 2024-08-08
240808 이은진 교사 지문 수정
@f47706ff2173a3d567651947ee557f36c73c0d48
client/views/pages/teacher/TextDetail.vue
--- client/views/pages/teacher/TextDetail.vue
+++ client/views/pages/teacher/TextDetail.vue
@@ -5,43 +5,31 @@
     <div class="board-wrap">
         <div class="flex align-center mb20">
             <label for="" class="title2">제목</label>
-            <div v-if="isEditing">
-                <input type="text" v-model="newData.textTtl" class="data-wrap">
-            </div>
-            <div v-else>
-                <p class="data-wrap">{{ post.text_ttl }}</p>
-            </div>
+            <input v-if="isEditing" type="text" v-model="post.textTtl" class="data-wrap">
+            <p v-else class="data-wrap">{{ post.textTtl }}</p>
         </div>
         <div class="flex align-center mb20">
             <label for="" class="title2">URL</label>
-            <div v-if="isEditing">
-                <input type="text" v-model="newData.textUrl" class="data-wrap">
-            </div>
-            <div v-else>
-                <p class="data-wrap">{{ post.text_url }}</p>
-            </div>
+            <input v-if="isEditing" type="text" v-model="post.textUrl" class="data-wrap">
+            <p v-else class="data-wrap">{{ post.textUrl }}</p>
         </div>
-        <div class="flex align-center">
+        <div class="flex align-center mb20">
             <label class="title2">형식</label>
             <label class="title2">
-                <input type="radio" v-model="radio" value="1" class="data-wrap" :disabled="!isEditing"> 일반
+                <input type="radio" v-model="post.textTypeId" value="1" class="data-wrap" :disabled="!isEditing"> 일반
             </label>
             <label class="title2">
-                <input type="radio" v-model="radio" value="2" class="data-wrap" :disabled="!isEditing"> 대화
+                <input type="radio" v-model="post.textTypeId" value="2" class="data-wrap" :disabled="!isEditing"> 대화
             </label>
             <label class="title2">
-                <input type="radio" v-model="radio" value="3" class="data-wrap" :disabled="!isEditing"> 책 리스닝
+                <input type="radio" v-model="post.textTypeId" value="3" class="data-wrap" :disabled="!isEditing"> 책 리스닝
             </label>
         </div>
         <hr>
         <div class="flex align-center">
             <label for="" class="title2">스크립트</label>
-            <div v-if="isEditing">
-                <textarea v-model="newData.textCnt" class="data-wrap"></textarea>
-            </div>
-            <div v-else>
-                <p class="data-wrap">{{ post.text_cnt }}</p>
-            </div>
+            <textarea v-if="isEditing" v-model="post.textCnt" class="data-wrap"></textarea>
+            <p v-else class="data-wrap">{{ post.textCnt }}</p>
         </div>
     </div>
     <div class="flex justify-between mt50">
@@ -68,15 +56,11 @@
     data() {
         return {
             mdiMagnify: mdiMagnify,
-            post: {},
-            newData: {
-                "textId": "",
+            post: {"textId": "",
                 "textTtl": "",
                 "textCnt": "",
                 "textUrl": "",
-                "textTypeId": ""
-            },
-            radio: null,
+                "textTypeId": ""}, 
             isEditing: false // Add this property to toggle edit mode
         };
     },
@@ -98,8 +82,11 @@
             })
                 .then(response => {
                     if (response.data && response.data[0]) {
-                        this.post = response.data[0];
-                        this.radio = this.post.text_type_id;
+                        this.post.textId = response.data[0].text_id;
+                        this.post.textTtl = response.data[0].text_ttl;
+                        this.post.textCnt = response.data[0].text_cnt;
+                        this.post.textUrl = response.data[0].text_url;
+                        this.post.textTypeId = response.data[0].text_type_id; 
                     } else {
                         this.error = "Failed to fetch post details.";
                     }
@@ -109,9 +96,8 @@
                     this.error = "Failed to fetch post details.";
                 });
         },
-        dataInsert() {
-            this.newData.textId=this.textId;
-            axios.post("/text/textUpdate.json", this.newData, {
+        dataInsert() { 
+            axios.post("/text/textUpdate.json", this.post, {
                 headers: {
                     "Content-Type": "application/json; charset=UTF-8",
                 }
@@ -126,9 +112,7 @@
                 });
         },
         toggleEdit() {
-            if (this.isEditing) {
-                // Save changes if in edit mode
-                this.newData.textTypeId = this.radio;
+            if (this.isEditing) { 
                 this.dataInsert();
                 this.isEditing = false;
             } else {
Add a comment
List