Browse Source

Merge branch 'develop' of http://52.130.252.100:10000/TEAMMODEL/TEAMModelOS into develop

HiITEdenX 2 years ago
parent
commit
d8b5d5e3cd

+ 14 - 10
TEAMModelOS/ClientApp/src/api/schoolSetting.js

@@ -6,7 +6,7 @@ export default {
     findSchoolSystem: function (data) {
         return post('/school/init/find', data)
     },
-    findSchoolBase: function(schoolCode) {
+    findSchoolBase: function (schoolCode) {
         let format = {
             "school_code": schoolCode
         }
@@ -62,9 +62,9 @@ export default {
     getClassByIds: function (data) {
         return post('/school/classroom/name', data)
     },
-	
-	// 申请建立学校
-	applySchool:function (data) {
+
+    // 申请建立学校
+    applySchool: function (data) {
         return post('/core/apply-school', data)
     },
 
@@ -72,21 +72,25 @@ export default {
     applyManager: function (data) {
         return post('/core/apply-manager', data)
     },
-	
-	setDefaultSch:function (data) {
+
+    setTchInfo: function (data) {
+        return post('/teacher/init/set-teacher-info', data)
+    },
+
+    setDefaultSch: function (data) {
         return post('/teacher/init/set-teacher-info', data)
     },
     //转让管理员身份
-    TransferAdminRole:function (data) {
+    TransferAdminRole: function (data) {
         return post('/teacher/init/set-teacher-info', data)
     },
     //保存/更新学校基础设置
-    upsertSchoolSetting:function (data) {
+    upsertSchoolSetting: function (data) {
         return post('/school/setting/opt-setting', data)
     },
     //查询学校基础设置
-    getSchoolSetting:function (data) {
+    getSchoolSetting: function (data) {
         return post('/school/setting/find-id', data)
     },
-    
+
 }

+ 3 - 2
TEAMModelOS/ClientApp/src/components/student-web/ClassRecord/Exam.vue

@@ -6,9 +6,9 @@
             {{ $t("studentWeb.courseContent.noExam") }}
         </div>
         <div v-else class="exam-chart-wrap">
+            <ExamTable :examDetaiInfo="examDetaiInfo" :examInfo="examInfo" :recordInfo="recordInfo"></ExamTable>
             <ScoreBarChart :total="classTotal" :subjectNames="subjectName"></ScoreBarChart>
             <ExamQu :quData="correctData[0] ? correctData[0].data : []"></ExamQu>
-            <ExamTable :examDetaiInfo="examDetaiInfo" :examInfo="examInfo" :recordInfo="recordInfo"></ExamTable>
         </div>
         <div>
             <Icon type="ios-person" class="owner-student-client-icon"/>
@@ -238,7 +238,8 @@ export default {
 }
 .exam-chart-wrap{
     display: flex;
-    overflow-x: scroll;
+    // overflow-x: scroll;
+    flex-wrap: wrap;
 }
 
 .clt-type {

+ 2 - 2
TEAMModelOS/ClientApp/src/components/student-web/ClassRecord/ExamQu.vue

@@ -264,8 +264,8 @@ export default {
 </script>
 <style scoped lang="less">
 .qu-score {
-    padding: 15px 40px 0 40px;
-    width: 400px;
+    padding: 15px 20px 0 20px;
+    width: 500px;
     height: 250px;
 }
 .qu-score-count {

+ 1 - 1
TEAMModelOS/ClientApp/src/components/student-web/ClassRecord/ExamTable.vue

@@ -321,7 +321,7 @@ export default {
 .exam-table-wrap {
     margin-top: 5px;
     padding: 10px;
-    width: 250px;
+    width: 135px;
     height: 270px;
     box-shadow: 0px 2px 5px #e9e9e9;
     display: flex;

+ 2 - 1
TEAMModelOS/ClientApp/src/components/student-web/ClassRecord/RecordView.less

@@ -178,6 +178,7 @@
                         height: auto;
                         padding: 3px 10px;
                         border-radius: 4px;
+                        width: 130px;
     
                         &:hover {
                             cursor: pointer;
@@ -405,7 +406,7 @@
                         border: 1px dashed transparent;
                         margin-bottom: 15px;
                         padding: 5px 5px;
-                        overflow-x: scroll;
+                        // overflow-x: scroll;
                         
                         &:hover {
                             border: 1px dashed #e0e0e0;

+ 52 - 3
TEAMModelOS/ClientApp/src/components/student-web/ClassRecord/RecordView.vue

@@ -137,8 +137,12 @@
                                         <div v-for="(items, index) in showPageList" :key="index" :id="'page' + (items.page)">
                                             <div v-if="items.pageData.length" class="message-box">
                                                 <div class="message-page">
-                                                    <div @click="toVideo(index + 1, $event)">
+                                                    <div class="messagetoPPT-tag" @click="toVideo(index + 1, $event)">
+                                                        {{`${$t('cusMgt.rcd.cw')}${items.page}${$t('cusMgt.rcd.page')}`}}
+                                                    </div>
+                                                    <div>
                                                         <img :src="items.img" @click="openViewer(items.img)">
+                                                        <span style="color: #9e9e9e;">{{ items.time }}</span>
                                                     </div>
                                                 </div>
                                                 <div class="message-record">
@@ -147,7 +151,7 @@
                                                             <!-- 即问即答 -->
                                                             <div v-if="currentfilterType === '' || currentfilterType === 'ShowAnsLoad'">
                                                                 <ShowQues class="event-item student-event" v-if="event.Event === 'PopQuesLoad' || event.Event === 'ReAtmpAnsStrt'" :nowStuInfo="nowStuInfo" :evtType="event.Event" :irsData="event.data"></ShowQues>
-                                                                <PopQues class="event-item" v-if="event.Event === 'PopQuesLoad' || event.Event === 'ReAtmpAnsStrt'" :evtType="event.Event" :irsData="event.data"></PopQues>
+                                                                <PopQues class="event-item" v-if="(event.Event === 'PopQuesLoad' || event.Event === 'ReAtmpAnsStrt') && baseData" :evtType="event.Event" :irsData="event.data" :students="baseData.student"></PopQues>
                                                             </div>
                                                             <!-- 抢权 -->
                                                             <Buzr class="event-item student-event" v-if="event.Event === 'BuzrAns' && baseData" :buzrData="event.data" :students="baseData.student"></Buzr>
@@ -561,6 +565,7 @@ export default {
                 page.page = index + 1
                 //当前页面对应的sokrates
                 page.pageData = pageEvents.filter(record => record.Pgid === item && this.fnEvents.includes(record.Event))
+                page.time = this.formatTime(page.pageData[0]?.Time)
                 havePage += (page.pageData.length ? 1 : 0)
                 page.pageData.forEach(e => {
                     e.pageIndex = index
@@ -701,6 +706,35 @@ export default {
             // this.$refs["datawrap"].scrollIntoView('#page' + page, 500)
             this.player.play()
         },
+        // 点击互动记录页面tag
+        toVideo(page, e) {
+            this.curPage = page
+            //页面滚动
+            /* let dataLoacation = this.$refs["datawrap"].getPosition()
+            let pageLocaltion = this.$refs["pagewrap"].getPosition()
+            let y = e.pageY - 770 + pageLocaltion.scrollTop + dataLoacation.scrollTop
+            this.$nextTick(() => {
+                this.$refs["pagewrap"].scrollTo(
+                    {
+                        x: 0,
+                        y: 0
+                    }
+                )
+                this.$refs["datawrap"].scrollTo(
+                    {
+                        x: 0,
+                        y: y
+                    }
+                )
+            }) */
+            //视频时间定位
+            let pageInfo = this.markers.find(item => {
+                return item.page === page
+            })
+            if (pageInfo) {
+                this.player.currentTime(pageInfo.time)
+            }
+        },
         // 点击课件page
         getCurHTEX(page) {
             this.curPage = page
@@ -717,7 +751,7 @@ export default {
                     this.player.pause()
                 }
                 //互动记录滚动
-                // this.$refs["datawrap"].scrollIntoView('#page' + page, 500)
+                this.$refs["datawrap"].scrollIntoView('#page' + page, 500)
             } else {
             }
         },
@@ -755,6 +789,21 @@ export default {
             var S = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()) + " "
             return Y + M + D + H + Min;
         },
+        //小于10 补0
+        fullZero(n) {
+            return n < 10 ? `0${n}` : `${n}`
+        },
+        formatTime(time) {
+            let h = Math.floor(time / (60 * 60))
+            time = time % (60 * 60)
+            let m = Math.floor(time / 60)
+            let s = Math.floor(time % 60)
+            return `${this.fullZero(h)}:${this.fullZero(m)}:${this.fullZero(s)}`
+        },
+        //查看图片
+        openViewer(url) {
+            this.$hevueImgPreview(url)
+        },
     },
     computed: {
         ...mapGetters(["getNowCourse", "getSidebarisOpen",]),

+ 1 - 1
TEAMModelOS/ClientApp/src/components/student-web/ClassRecord/ScoreBarChart.vue

@@ -152,7 +152,7 @@ export default {
 
 <style scoped>
 .score-bar-chart {
-    width: 400px;
+    width: 300px;
     /* margin: auto; */
     /* margin-bottom: 50px; */
     padding: 15px 40px 0px 40px;

+ 14 - 3
TEAMModelOS/ClientApp/src/view/settings/Index.vue

@@ -96,9 +96,20 @@ export default {
   methods: {
 
     onSelectLang(val) {
-      localStorage.setItem('cloudSetting', JSON.stringify(this.cloudSetting))
-      this.$tools.changeLang(val)
-      this.$store.commit("setLanguage", val);
+      this.$api.schoolSetting.setTchInfo({
+        "opt": "UpdateLang",
+        "lang": val
+      }).then(res => {
+        if (!res.error) {
+          localStorage.setItem('cloudSetting', JSON.stringify(this.cloudSetting))
+          this.$tools.changeLang(val)
+          this.$store.commit("setLanguage", val);
+        } else {
+          this.$Message.error('Fail')
+        }
+      }).catch(e => {
+        this.$Message.error('Fail')
+      })
     },
 
     onMenuStatusChange(val) {