fuliqi
2024-10-17 0cefa99d2ae9ba43e60fe3e1beceb000dd186931
src/views/train/data-list/index.vue
@@ -1,82 +1,67 @@
<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 '已结束'
      }
    }
  }
}
@@ -103,4 +88,35 @@
.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>