|
@@ -100,6 +100,10 @@
|
|
|
</span>
|
|
|
<!-- 课件缩略图 -->
|
|
|
<img class="page-mini-img" @click="openViewer(item.img)" :src="item.img" />
|
|
|
+ <p class="class-time">
|
|
|
+ <!-- <Icon size="16" type="md-time" /> -->
|
|
|
+ <span class="class-time-value">{{item.time}}</span>
|
|
|
+ </p>
|
|
|
<!-- <Timeline style="margin-top:10px;margin-left:-5px">
|
|
|
<TimelineItem v-for="(rtItem, rtIndex) in item.pageData" :key="rtIndex +''+index">
|
|
|
<Icon type="md-arrow-dropright" slot="dot" />
|
|
@@ -330,6 +334,31 @@ export default {
|
|
|
this.curPage = event.pageIndex + 1
|
|
|
this.$refs.videoPlayer.player.currentTime(event.Time)
|
|
|
},
|
|
|
+ /**
|
|
|
+ * 处理TimeLine的异常
|
|
|
+ * 页面重复的IRS作答
|
|
|
+ */
|
|
|
+ fixEventData() {
|
|
|
+ this.pageEvents = this.pageEvents.filter((item, index) => {
|
|
|
+ if (item.Event == 'PopQuesLoad') {
|
|
|
+ let firstIndex = this.pageEvents.findIndex(i => i.Pgid == item.Pgid && item.Event == i.Event)
|
|
|
+ return firstIndex == index
|
|
|
+ } else {
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //小于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)}`
|
|
|
+ },
|
|
|
//根据SokratesRecords.json处理page数据
|
|
|
async getPageList() {
|
|
|
this.pageList = []
|
|
@@ -344,6 +373,7 @@ export default {
|
|
|
this.sokratesRecords = JSON.parse(res)
|
|
|
this.pageIds = this.sokratesRecords.PgIdList || []
|
|
|
this.pageEvents = this.sokratesRecords.events || []
|
|
|
+ this.fixEventData()
|
|
|
} catch (e) {
|
|
|
hasTimeLine = false
|
|
|
}
|
|
@@ -357,6 +387,8 @@ export default {
|
|
|
let pageidEvent = resJson.find(item => item.Event == 'PgidList')
|
|
|
this.pageIds = pageidEvent && pageidEvent.PgIdList ? pageidEvent.PgIdList : []
|
|
|
this.pageEvents = resJson.filter(item => this.events.includes(item.Event))
|
|
|
+ this.fixEventData()
|
|
|
+
|
|
|
this.sokratesRecords = {
|
|
|
events: this.pageEvents,
|
|
|
PgIdList: this.pageIds
|
|
@@ -425,6 +457,7 @@ export default {
|
|
|
page.page = index + 1
|
|
|
//当前页面对应的功能事件
|
|
|
page.pageData = this.pageEvents.filter(record => record.Pgid === item && this.fnEvents.includes(record.Event))
|
|
|
+ page.time = this.formatTime(page.pageData[0]?.Time)
|
|
|
page.pageData.forEach(e => {
|
|
|
e.pageIndex = index
|
|
|
e.eventName = this.hiTeachEvent[e.Event]?.text
|