From f9b6f3b5147ce3e3a4e1ccdc36c0fbd8241ca283 Mon Sep 17 00:00:00 2001 From: yangjun <1173114630@qq.com> Date: Fri, 20 Dec 2024 14:05:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=9B=9B=E5=88=86=E5=B1=8F?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=B8=A6=E8=A7=86=E9=A2=91=E6=BA=90?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../site/common/video/videojs/viewPage.vue | 214 ++++++++++++++++-- .../checkKecheng/dqxqkcMenu.vue | 17 +- .../checkKecheng/dqxqkcMenuHistory.vue | 2 +- 3 files changed, 199 insertions(+), 34 deletions(-) diff --git a/src/views/site/common/video/videojs/viewPage.vue b/src/views/site/common/video/videojs/viewPage.vue index 4002428..6f6ebec 100644 --- a/src/views/site/common/video/videojs/viewPage.vue +++ b/src/views/site/common/video/videojs/viewPage.vue @@ -27,28 +27,60 @@
-
{{ mainVideoCardBoxTitle || '' }}
- -
- 本教室容量:{{ktangInfo?.jiaoshirongliang?.jsrl || ' '}}座位 - 选课人数:{{ ktangInfo.xkrs || ' ' }} - AI识别出勤人数: {{ ktangInfo?.kcDetectionDetailed?.num||'-' }} - - - - - ? - - + + +
{{ mainVideoCardBoxTitle || '' }}
+
+ 本教室容量:{{ktangInfo?.jiaoshirongliang?.jsrl || ' '}}座位 + 选课人数:{{ ktangInfo.xkrs || ' ' }} + AI识别出勤人数: {{ ktangInfo?.kcDetectionDetailed?.num||'-' }} + + + + + ? + + + +
+
+ +
+ 说明:目前部分教室摄像头拍摄画面无法覆盖到全体学生,AI识别出勤人数仅供参考 +
+
+
+ + + +
+
+ +
+
+ {{checkTitle}} +
+
+
+ + + +
+
+ +
+
+ {{item.xm}} +
+
+
+
+
-
+ -
@@ -77,6 +109,7 @@ +
@@ -89,8 +122,28 @@
 
- - + +
+
+ + + + +
+
+ 分屏模式 + + + + 视频源 + +
@@ -158,14 +211,18 @@ const kcErrorreportIndexModal = ref(); const tingKeZuJiAddModal = ref({}); const curentPlayerVideo = ref({}); const kcCardBoxTitle = ref(''); +const spyCheck = ref([]); const ktangInfo = ref({}); // const jxdgInfo = ref({}); const mainVideoCardBoxTitle = ref(''); +const checkTitle = ref(''); const tableData = ref([]) +const fpData = ref([]) const suibiList = ref([]) const isError = ref(false); const tkbjVisible = ref(false); const playStatus = ref(false); +const fpxsShow = ref('1'); const model = reactive>({ notes:'' }); @@ -196,6 +253,33 @@ const savePlayLog = (params) => defHttp.post({ url: Api.savePlayLog, params, }, const changeAvyLiveByJsbhsApi = (params) => defHttp.get({ url: Api.changeAvyLiveByJsbhsApi, params,timeout: 9000000 }); // const editSuibi = (params) => defHttp.post({ url: Api.editSuibi, params }); +function getJvmClass(){ + var className = ""; + if(spyCheck.value.length == 4){ + + }else if(spyCheck.value.length == 3){ + className = "className3"; + }else if(spyCheck.value.length == 2){ + className = "className2"; + } + console.log("🚀 ~ getJvmClass ~ className:", className) + return className; +} + +function handleSpy(record){ + console.log("🚀 ~ handleSpy ~ record:", record) + for(var i=0;i { if(route.query.id){ model.notes = ''; @@ -203,6 +287,15 @@ onMounted(() => { list({ pageSize: -1, sfyx: '0', jsbh: route.query.id }).then(res => { let list = (res?.records) ?? []; tableData.value = list; + fpData.value = list; + var tta = ""; + for(var i=0;i x.isShow = true);//默认展开 let zjData = tableData.value.find(x => x.xm == '教师近景') || {}; nextTick(() => { @@ -218,6 +311,9 @@ onMounted(() => { getKcxx(); //记录播放日志 isError.value = false; + + + }else{ isError.value = true; } @@ -265,6 +361,20 @@ function funpingjia(record) { * @param player */ function loadEnd(player){ + nextTick(() => { + // player.on('play',() => { + // setTimeout(() => { + // player.pause(); + // },2000); + // }) + }) +} + +/** + * 子页加载完成后回调 + * @param player + */ + function loadEnd2(player){ nextTick(() => { player.on('play',() => { setTimeout(() => { @@ -282,6 +392,7 @@ function initVideo(key){ } function changeLive(item:any){ + fpxsShow.value = '1' let url = item.pullUrl let mainVideo = document.querySelector('#mainVideo'); // mainVideo?.player?.src([{ type:'application/x-mpegURL',src: 'http://127.0.0.1/live_hls/a.m3u8' }]) @@ -304,6 +415,29 @@ function changeLive(item:any){ // }) } + +function changeLive2(item:any){ + fpxsShow.value = '2' + let url = item.pullUrl + let mainVideo = document.querySelector('#mainVideo'); + mainVideo?.player?.src([{ type:'application/x-mpegURL',src: url }]) + mainVideoCardBoxTitle.value = item.jsmc+" "+item.xm; + curentPlayerVideo.value = item; + checkTitle.value = item.xm; +} + + +function changeJfpLive(type){ + fpxsShow.value = type; + let item= tableData.value.find(x => x.xm == '教师近景') || {}; + let url = item.pullUrl + let mainVideo = document.querySelector('#mainVideo'); + mainVideo?.player?.src([{ type:'application/x-mpegURL',src: url }]) + checkTitle.value = "教师近景"; + curentPlayerVideo.value = item; +} + + function mainVideoLoadEnd(player){ setTimeout(() => { setTimeout(() => { @@ -563,4 +697,40 @@ video::-webkit-media-controls-timeline { border: 1px #1c84c6 solid; cursor: pointer; } +.handClass{ + cursor: pointer; +} +.fptitle{ + background: black; + color: white; + font-weight: 700; + text-align: center; +} + + +.s-video-all { + width: 100%; + position: relative; +} + +.s-full { + text-align: center; + position: absolute; + left: 10px; + top: 10px; + width: 70px; + color: white; + cursor: pointer; + background: #c0c0c0; + border-radius: 5px; +} + + +.className3 { + margin-top: 50px; +} + +.className2 { + margin-top: 100px; +} \ No newline at end of file diff --git a/src/views/site/renKeJiaoCheng/checkKecheng/dqxqkcMenu.vue b/src/views/site/renKeJiaoCheng/checkKecheng/dqxqkcMenu.vue index b48f7b6..a12d6e5 100644 --- a/src/views/site/renKeJiaoCheng/checkKecheng/dqxqkcMenu.vue +++ b/src/views/site/renKeJiaoCheng/checkKecheng/dqxqkcMenu.vue @@ -49,11 +49,11 @@ 课程资源 -
@@ -127,14 +121,15 @@ 课程资源 + + + 上传考核材料 - +