| | |
| | | <template> |
| | | <div class="list-container w-full h-full"> |
| | | <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-card shadow="hover" class="list-card cursor-pointer" :body-style="{ padding: 0 }"> |
| | | <div class="img-container w-full"> |
| | | <img src="@/assets/list-card-bg.jpg" class="w-full"> |
| | | <div class="list-content w-full overflow-x-hidden"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="6" v-for="item in tableData" class="margin-col"> |
| | | <el-card shadow="hover" class="list-card cursor-pointer" :body-style="{ padding: 0 }"> |
| | | <div class="img-container w-full"> |
| | | <img src="@/assets/list-card-bg.jpg" class="width-img"> |
| | | </div> |
| | | <div class="item-info p-3"> |
| | | <div class="info-title">{{ item.meetName }}</div> |
| | | <div class="info-teacherName"> |
| | | <div class="info-label">主讲:</div> |
| | | <div class="info-text">{{ item.teacherName }}</div> |
| | | </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> |
| | | <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 class="info-time"> |
| | | <div class="info-label">状态:</div> |
| | | <div class="info-text">{{ translateStatus(item.status) }}</div> |
| | | </div> |
| | | <el-button size="mini" @click="start" >开始上课</el-button> |
| | | </el-card> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | <div class="info-time"> |
| | | <div class="info-label">开始时间:</div> |
| | | <div class="info-text">{{ item.startTime }}</div> |
| | | </div> |
| | | <div class="info-time"> |
| | | <div class="info-label">结束时间:</div> |
| | | <div class="info-text">{{ item.endTime }}</div> |
| | | </div> |
| | | <div class="button-container"> |
| | | <el-button v-if="item.status!==2" @click="start(item)" type="primary" size="small">开始上课</el-button> |
| | | <el-button @click="handleUpdate(item)" type="warning" size="small">编辑</el-button> |
| | | <el-button @click="remove(item)" type="danger" size="small">删除</el-button> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | | </el-col> |
| | | </el-row> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | |
| | | export default { |
| | | data () { |
| | | return { |
| | | dataList: [ |
| | | { |
| | | 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' |
| | | } |
| | | ] |
| | | } |
| | | props: { |
| | | tableData: [] |
| | | }, |
| | | methods: { |
| | | start(){ |
| | | // this.$router.push({path:'/train/meet/index'}) |
| | | window.open('https://ycl.easyblog.vip:8443/test'); |
| | | handleUpdate (item) { |
| | | this.$emit('handleUpdate', item) |
| | | }, |
| | | remove (item) { |
| | | this.$emit('remove', item) |
| | | }, |
| | | start (item) { |
| | | this.$emit('start', item) |
| | | }, |
| | | translateStatus (status) { |
| | | if (status === 0) { |
| | | return '待开始' |
| | | } else if (status === 1) { |
| | | return '进行中' |
| | | } else { |
| | | return '已结束' |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | .list-card { |
| | | border-radius: 10px; |
| | | } |
| | | |
| | | .item-info { |
| | | padding: 12px; |
| | | color: #8a8a8a; |
| | | } |
| | | |
| | | .info-title { |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .info-teacherName { |
| | | display: flex; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .info-time { |
| | | display: flex; |
| | | } |
| | | |
| | | .margin-col { |
| | | margin-bottom: 20px; |
| | | } |
| | | |
| | | .width-img { |
| | | width: 100%; |
| | | } |
| | | |
| | | .button-container { |
| | | display: flex; |
| | | margin-top: 10px; |
| | | } |
| | | </style> |