jichoi / lms_front star
박민혁 박민혁 2024-08-22
Merge branch 'master' of http://210.180.118.83/jichoi/lms_front
@64d01a79dc3d9f8f452e685dd5bc7883135ee54f
client/views/pages/main/Dashboard.vue
--- client/views/pages/main/Dashboard.vue
+++ client/views/pages/main/Dashboard.vue
@@ -20,8 +20,10 @@
                                 :style="{ display: rabbitPos[1] ? 'block' : 'none' }"></div>
                         <button class="popTxt" v-for="(item, index) in items" :key="index" @click="toggleImage(index)"
                             data-num="1">
-                            <img :src="item.imgSrc1" :style="{ display: !rabbitCompl[1] ? 'block' : 'none' }">
-                            <img :src="item.imgSrc2" :style="{ display: rabbitCompl[1] ? 'block' : 'none' }">
+                            <img :src="labeledItems[0].label.length >= 4 ? item.imgSrc3 : item.imgSrc1"
+                                :style="{ display: !rabbitCompl[1] ? 'block' : 'none' }">
+                            <img :src="labeledItems[0].label.length >= 4 ? item.imgSrc4 : item.imgSrc2"
+                                :style="{ display: rabbitCompl[1] ? 'block' : 'none' }">
                         </button>
                         <p>{{ labeledItems[0].label }}</p>
                     </div>
@@ -30,8 +32,10 @@
                                 :style="{ display: rabbitPos[2] ? 'block' : 'none' }"></div>
                         <button class="popTxt" v-for="(item, index) in items" :key="index" @click="toggleImage(index)"
                             data-num="2">
-                            <img :src="item.imgSrc1" :style="{ display: !rabbitCompl[2] ? 'block' : 'none' }">
-                            <img :src="item.imgSrc2" :style="{ display: rabbitCompl[2] ? 'block' : 'none' }">
+                            <img :src="labeledItems[1].label.length >= 4 ? item.imgSrc3 : item.imgSrc1"
+                                :style="{ display: !rabbitCompl[2] ? 'block' : 'none' }">
+                            <img :src="labeledItems[1].label.length >= 4 ? item.imgSrc4 : item.imgSrc2"
+                                :style="{ display: rabbitCompl[2] ? 'block' : 'none' }">
                         </button>
                         <p>{{ labeledItems[1].label }}</p>
                     </div>
@@ -43,8 +47,10 @@
                                 :style="{ display: rabbitPos[7] ? 'block' : 'none' }"></div>
                         <button class="popTxt" v-for="(item, index) in items" :key="index" @click="toggleImage(index)"
                             data-num="7">
-                            <img :src="item.imgSrc1" :style="{ display: !rabbitCompl[7] ? 'block' : 'none' }">
-                            <img :src="item.imgSrc2" :style="{ display: rabbitCompl[7] ? 'block' : 'none' }">
+                            <img :src="labeledItems[6].label.length >= 4 ? item.imgSrc3 : item.imgSrc1"
+                                :style="{ display: !rabbitCompl[7] ? 'block' : 'none' }">
+                            <img :src="labeledItems[6].label.length >= 4 ? item.imgSrc4 : item.imgSrc2"
+                                :style="{ display: rabbitCompl[7] ? 'block' : 'none' }">
                         </button>
                         <p>{{ labeledItems[6].label }}</p>
                     </div>
@@ -53,8 +59,10 @@
                                 :style="{ display: rabbitPos[6] ? 'block' : 'none' }"></div>
                         <button class="popTxt" v-for="(item, index) in items" :key="index" @click="toggleImage(index)"
                             data-num="6">
-                            <img :src="item.imgSrc1" :style="{ display: !rabbitCompl[6] ? 'block' : 'none' }">
-                            <img :src="item.imgSrc2" :style="{ display: rabbitCompl[6] ? 'block' : 'none' }">
+                            <img :src="labeledItems[5].label.length >= 4 ? item.imgSrc3 : item.imgSrc1"
+                                :style="{ display: !rabbitCompl[6] ? 'block' : 'none' }">
+                            <img :src="labeledItems[5].label.length >= 4 ? item.imgSrc4 : item.imgSrc2"
+                                :style="{ display: rabbitCompl[6] ? 'block' : 'none' }">
                         </button>
                         <p>{{ labeledItems[5].label }}</p>
                     </div>
@@ -64,8 +72,10 @@
                                 :style="{ display: rabbitPos[5] ? 'block' : 'none' }"></div>
                         <button class="popTxt" v-for="(item, index) in items" :key="index" @click="toggleImage(index)"
                             data-num="5">
-                            <img :src="item.imgSrc1" :style="{ display: !rabbitCompl[5] ? 'block' : 'none' }">
-                            <img :src="item.imgSrc2" :style="{ display: rabbitCompl[5] ? 'block' : 'none' }">
+                            <img :src="labeledItems[4].label.length >= 4 ? item.imgSrc3 : item.imgSrc1"
+                                :style="{ display: !rabbitCompl[5] ? 'block' : 'none' }">
+                            <img :src="labeledItems[4].label.length >= 4 ? item.imgSrc4 : item.imgSrc2"
+                                :style="{ display: rabbitCompl[5] ? 'block' : 'none' }">
                         </button>
                         <p>{{ labeledItems[4].label }}</p>
                     </div>
@@ -75,8 +85,10 @@
                                 :style="{ display: rabbitPos[4] ? 'block' : 'none' }"></div>
                         <button class="popTxt" v-for="(item, index) in items" :key="index" @click="toggleImage(index)"
                             data-num="4">
-                            <img :src="item.imgSrc1" :style="{ display: !rabbitCompl[4] ? 'block' : 'none' }">
-                            <img :src="item.imgSrc2" :style="{ display: rabbitCompl[4] ? 'block' : 'none' }">
+                            <img :src="labeledItems[3].label.length >= 4 ? item.imgSrc3 : item.imgSrc1"
+                                :style="{ display: !rabbitCompl[4] ? 'block' : 'none' }">
+                            <img :src="labeledItems[3].label.length >= 4 ? item.imgSrc4 : item.imgSrc2"
+                                :style="{ display: rabbitCompl[4] ? 'block' : 'none' }">
                         </button>
                         <p>{{ labeledItems[3].label }}</p>
                     </div>
@@ -86,8 +98,10 @@
                                 :style="{ display: rabbitPos[3] ? 'block' : 'none' }"></div>
                         <button class="popTxt" v-for="(item, index) in items" :key="index" @click="toggleImage(index)"
                             data-num="3">
-                            <img :src="item.imgSrc1" :style="{ display: !rabbitCompl[3] ? 'block' : 'none' }">
-                            <img :src="item.imgSrc2" :style="{ display: rabbitCompl[3] ? 'block' : 'none' }">
+                            <img :src="labeledItems[2].label.length >= 4 ? item.imgSrc3 : item.imgSrc1"
+                                :style="{ display: !rabbitCompl[3] ? 'block' : 'none' }">
+                            <img :src="labeledItems[2].label.length >= 4 ? item.imgSrc4 : item.imgSrc2"
+                                :style="{ display: rabbitCompl[3] ? 'block' : 'none' }">
                         </button>
                         <p>{{ labeledItems[2].label }}</p>
                     </div>
@@ -98,8 +112,10 @@
                                 :style="{ display: rabbitPos[8] ? 'block' : 'none' }"></div>
                         <button class="popTxt" v-for="(item, index) in items" :key="index" @click="toggleImage(index)"
                             data-num="8">
-                            <img :src="item.imgSrc3" :style="{ display: !rabbitCompl[8] ? 'block' : 'none' }">
-                            <img :src="item.imgSrc4" :style="{ display: rabbitCompl[8] ? 'block' : 'none' }">
+                            <img :src="labeledItems[7].label.length >= 4 ? item.imgSrc3 : item.imgSrc1"
+                                :style="{ display: !rabbitCompl[8] ? 'block' : 'none' }">
+                            <img :src="labeledItems[7].label.length >= 4 ? item.imgSrc4 : item.imgSrc2"
+                                :style="{ display: rabbitCompl[8] ? 'block' : 'none' }">
                         </button>
                         <p class="long">{{ labeledItems[7].label }}</p>
                     </div>
@@ -109,8 +125,10 @@
                                 :style="{ display: rabbitPos[9] ? 'block' : 'none' }"></div>
                         <button class="popTxt" v-for="(item, index) in items" :key="index" @click="toggleImage(index)"
                             data-num="9">
-                            <img :src="item.imgSrc1" :style="{ display: !rabbitCompl[9] ? 'block' : 'none' }">
-                            <img :src="item.imgSrc2" :style="{ display: rabbitCompl[9] ? 'block' : 'none' }">
+                            <img :src="labeledItems[8].label.length >= 4 ? item.imgSrc3 : item.imgSrc1"
+                                :style="{ display: !rabbitCompl[9] ? 'block' : 'none' }">
+                            <img :src="labeledItems[8].label.length >= 4 ? item.imgSrc4 : item.imgSrc2"
+                                :style="{ display: rabbitCompl[9] ? 'block' : 'none' }">
                         </button>
                         <p>{{ labeledItems[8].label }}</p>
                     </div>
@@ -120,8 +138,10 @@
                                 :style="{ display: rabbitPos[10] ? 'block' : 'none' }"></div>
                         <button class="popTxt" v-for="(item, index) in items" :key="index" @click="toggleImage(index)"
                             data-num="10">
-                            <img :src="item.imgSrc1" :style="{ display: !rabbitCompl[10] ? 'block' : 'none' }">
-                            <img :src="item.imgSrc2" :style="{ display: rabbitCompl[10] ? 'block' : 'none' }">
+                            <img :src="labeledItems[9].label.length >= 4 ? item.imgSrc3 : item.imgSrc1"
+                                :style="{ display: !rabbitCompl[10] ? 'block' : 'none' }">
+                            <img :src="labeledItems[9].label.length >= 4 ? item.imgSrc4 : item.imgSrc2"
+                                :style="{ display: rabbitCompl[10] ? 'block' : 'none' }">
                         </button>
                         <p>{{ labeledItems[9].label }}</p>
                     </div>
@@ -132,8 +152,10 @@
                                 :style="{ display: rabbitPos[11] ? 'block' : 'none' }"></div>
                         <button class="popTxt" v-for="(item, index) in items" :key="index"
                             @click="toggleImageAndShowPopup(index, '11')" data-num="11">
-                            <img :src="item.imgSrc3" :style="{ display: !rabbitCompl[11] ? 'block' : 'none' }">
-                            <img :src="item.imgSrc4" :style="{ display: rabbitCompl[11] ? 'block' : 'none' }">
+                            <img :src="labeledItems[10].label.length >= 4 ? item.imgSrc3 : item.imgSrc1"
+                                :style="{ display: !rabbitCompl[11] ? 'block' : 'none' }">
+                            <img :src="labeledItems[10].label.length >= 4 ? item.imgSrc4 : item.imgSrc2"
+                                :style="{ display: rabbitCompl[11] ? 'block' : 'none' }">
                         </button>
                         <p class="long">{{ labeledItems[10].label }}</p>
                     </div>
@@ -805,4 +827,8 @@
     bottom: 0;
     width: 40%;
 }
+
+.race-btn p {
+    width: auto;
+}
 </style>
(No newline at end of file)
client/views/pages/main/MyPlan.vue
--- client/views/pages/main/MyPlan.vue
+++ client/views/pages/main/MyPlan.vue
@@ -50,18 +50,18 @@
             <div class="wrap mt30">
                 <p class="title1 mb20">AI 맞춤형 학습 코스는 어떨까요?</p>
                 <div class="imgGroup flex justify-between">
-                    <div class="text-lf aiClick" @click="goToPage2('AIDashboard')">
+                    <div class="text-lf aiClick" v-for="(ai_learning, index) in aiLearningList" :key="index" @click="goToPage('Dashboard', aiLearningList[index].unit_id)">
+                        <img src="../../../resources/img/img215_22s.png" alt="" />
+                        <p class="title2 mt10">추천 학습 단원</p>
+                    </div>
+                    <!-- <div class="text-lf aiClick" @click="goToPage2('AIDashboard')">
                         <img src="../../../resources/img/img215_22s.png" alt="" />
                         <p class="title2 mt10">추천 학습 단원</p>
                     </div>
                     <div class="text-lf aiClick" @click="goToPage2('AIDashboard')">
                         <img src="../../../resources/img/img215_22s.png" alt="" />
                         <p class="title2 mt10">추천 학습 단원</p>
-                    </div>
-                    <div class="text-lf aiClick" @click="goToPage2('AIDashboard')">
-                        <img src="../../../resources/img/img215_22s.png" alt="" />
-                        <p class="title2 mt10">추천 학습 단원</p>
-                    </div>
+                    </div> -->
                 </div>
             </div>
         </div>
@@ -92,6 +92,8 @@
                 { label: "5교시", time: "13:00 ~ 14:00", value: "5" },
                 { label: "6교시", time: "14:00 ~ 15:00", value: "6" },
             ],
+
+            aiLearningList: [],
         };
     },
     methods: {
@@ -238,6 +240,29 @@
                     alert("단원 목록을 불러오는 중 오류가 발생했습니다.");
                 });
         },
+
+        selectAiLearning: function () {
+            const vm = this;
+            axios({
+                url: "/aiLearning/selectAILearning.json",
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json; charset=UTF-8",
+                },
+                data: {
+                    std_id: this.stdId
+                }
+            })
+                .then(function (response) {
+                    console.log("aiLearningList - response : ", response.data);
+                    vm.aiLearningList = response.data;
+                })
+                .catch(function (error) {
+                    console.log("aiLearningList - error : ", error);
+                    alert("ai learning 조회에 오류가 발생했습니다.");
+                });
+        },
+
     },
     watch: {},
     computed: {
@@ -249,6 +274,7 @@
     mounted() {
         console.log("Main2 mounted");
         this.fetchSchedules();
+        this.selectAiLearning();
     },
 };
 </script>
Add a comment
List