| | |
| | | <el-scrollbar> |
| | | <div class="list-content w-full overflow-x-hidden"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="6" v-for="item in dataList" class="mb-5"> |
| | | <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="item-info p-3"> |
| | | <div class="info-title font-bold">{{ item.title }}</div> |
| | | <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.teacher }}</div> |
| | | <div class="info-text">{{ item.teacherName }}</div> |
| | | </div> |
| | | <div class="info-time flex text-sm text-gray-500"> |
| | | <div class="info-label">开始时间:</div> |
| | |
| | | <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' |
| | | }, |
| | | { |
| | | title: '测试1', |
| | | startTime: '2024-6-13 8:00', |
| | | endTime: '2024-6-13 8:00', |
| | | teacher: '测试测试', |
| | | roomName: 'test' |
| | | }, |
| | | { |
| | | title: '测试1', |
| | | startTime: '2024-6-13 8:00', |
| | | endTime: '2024-6-13 8:00', |
| | | teacher: '测试测试', |
| | | roomName: 'test' |
| | | }, |
| | | { |
| | | title: '测试1', |
| | | startTime: '2024-6-13 8:00', |
| | | endTime: '2024-6-13 8:00', |
| | | teacher: '测试测试', |
| | | roomName: 'test' |
| | | }, |
| | | { |
| | | 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> |