From 98f494cf633e3acf5c20f3e9de0d708f2a6c2045 Mon Sep 17 00:00:00 2001 From: ZhangXianQiang <1135831638@qq.com> Date: 星期五, 05 七月 2024 09:39:59 +0800 Subject: [PATCH] feat:视频浏览 --- src/views/train/data-list/index.vue | 85 +++++++++++++++++++++++++----------------- 1 files changed, 51 insertions(+), 34 deletions(-) diff --git a/src/views/train/data-list/index.vue b/src/views/train/data-list/index.vue index 72bfe2c..70d7102 100644 --- a/src/views/train/data-list/index.vue +++ b/src/views/train/data-list/index.vue @@ -1,30 +1,34 @@ <template> <div class="list-container w-full h-full"> <el-scrollbar> - <el-row :gutter="20"> - <el-col :span="6" v-for="item in dataList"> - <el-card shadow="hover" class="list-card cursor-pointer" :body-style="{ padding: 0 }" @click="itemClick(item)"> - <div class="img-container w-full"> - <img src="@/assets/image/list-card-bg.jpg" class="w-full"> - </div> - <div class="item-info p-3"> - <div class="info-title font-bold">{{ item.title }}</div> - <div class="info-teacher flex text-sm text-gray-500"> - <div class="info-label">涓昏:</div> - <div class="info-text">{{ item.teacher }}</div> + <div class="list-content w-full overflow-x-hidden"> + <el-row :gutter="20"> + <el-col :span="6" v-for="item in props.dataList" class="mb-5"> + <el-card shadow="hover" class="list-card cursor-pointer" :body-style="{ padding: 0 }" + @click="itemClick(item)"> + <div class="img-container w-full"> + <img src="@/assets/image/list-card-bg.jpg" class="w-full"> </div> - <div class="info-time flex text-sm text-gray-500"> - <div class="info-label">寮�濮嬫椂闂�:</div> - <div class="info-text">{{ item.startTime }}</div> + <div class="item-info p-3"> + <div class="info-title font-bold">{{ item.meetName }}</div> + <div class="info-teacher flex text-sm text-gray-500"> + <div class="info-label">涓昏:</div> + <div class="info-text">{{ item.teacherName }}</div> + </div> + <div class="info-time flex text-sm text-gray-500"> + <div class="info-label">寮�濮嬫椂闂�:</div> + <div class="info-text">{{ item.startTime }}</div> + </div> + <div class="info-time flex text-sm text-gray-500"> + <div class="info-label">缁撴潫鏃堕棿:</div> + <div class="info-text">{{ item.endTime }}</div> + </div> </div> - <div class="info-time flex text-sm text-gray-500"> - <div class="info-label">缁撴潫鏃堕棿:</div> - <div class="info-text">{{ item.endTime }}</div> - </div> - </div> - </el-card> - </el-col> - </el-row> + </el-card> + </el-col> + </el-row> + </div> + </el-scrollbar> </div> </template> @@ -32,24 +36,37 @@ <script setup> import { ref } from 'vue'; import { Timer } from '@element-plus/icons-vue'; +import { storeToRefs } from 'pinia'; import { useRouter } from 'vue-router'; -const router = useRouter(); +import { useUserStore } from '@/store/index.js'; +import { classMeet } from '@/api/modules/meet.js'; -const dataList = ref([ - { - title: '娴嬭瘯1', - startTime: '2024-6-13 8:00', - endTime: '2024-6-13 8:00', - teacher: '娴嬭瘯娴嬭瘯', - roomName: 'test' +const userStore = useUserStore(); +const { userInfo } = storeToRefs(userStore); +const router = useRouter(); +const props = defineProps({ + dataList: { + type: Array, + default: () => [] } -]) +}); const itemClick = (item) => { - if(window.electron) { - window.electron.openNewWindow(); - } + classMeet(item.id).then(res => { + if (window.webBridge) { + window.webBridge.openNewWindow(JSON.stringify(item)); + } else { + let path = router.resolve({ + path: "/meet", + query: { meetName: item.meetName, id: item.id, userName: userInfo.value?.realName || '', userCode: userInfo.value?.phone || '' } + }); + window.open(path.href, '_blank'); + } + }).catch(err => { + + }); + } </script> -- Gitblit v1.8.0