| | |
| | | <el-col :span="6" v-for="item in props.dataList" class="mb-5"> |
| | | <el-card |
| | | shadow="hover" |
| | | class="list-card cursor-pointer" |
| | | :class="{'list-card': true, 'cursor-pointer':item.status === 1, 'disable-click': item.status !== 1}" |
| | | :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="item-info p-3" style="position: relative"> |
| | | <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 class="info-teacher flex text-sm text-gray-500" style="margin-top: 5px"> |
| | | <div class="info-label">主讲:</div> |
| | | <div class="info-text">{{ item.teacherNamesStr }}</div> |
| | | </div> |
| | | <div class="info-time flex text-sm text-gray-500"> |
| | | <div class="info-label">开始时间:</div> |
| | | <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-label">结束时间:</div> |
| | | <div class="info-text">{{ item.endTime }}</div> |
| | | </div> |
| | | <div class="info-text" style="position: absolute; top: 12px; right: 2px"> |
| | | <el-tag type="info" effect="dark" v-if="item.status === 0"> |
| | | 待开始 |
| | | </el-tag> |
| | | <el-tag type="danger" effect="dark" v-else-if="item.status === 1"> |
| | | 进行中 |
| | | </el-tag> |
| | | <el-tag type="warning" effect="dark" v-else-if="item.status === 2"> |
| | | 已结束 |
| | | </el-tag> |
| | | </div> |
| | | </div> |
| | | </el-card> |
| | |
| | | default: () => [], |
| | | }, |
| | | }); |
| | | |
| | | const userId = JSON.parse(localStorage.getItem('user')).userInfo.id |
| | | const itemClick = (item) => { |
| | | classMeet(item.id) |
| | | .then((res) => { |
| | |
| | | query: { |
| | | meetName: item.meetName, |
| | | id: item.id, |
| | | userName: userInfo.value?.realName + "_" + item.id || "", |
| | | userCode: userInfo.value?.phone + "_" + item.id || "", |
| | | userName: userInfo.value?.realName + "_" + userId || "", |
| | | userCode: userInfo.value?.phone + "_" + userId || "", |
| | | }, |
| | | }); |
| | | window.open(path.href, "_blank"); |
| | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .disable-click { |
| | | pointer-events: none; |
| | | } |
| | | .item { |
| | | width: 100%; |
| | | min-height: 120px; |