From b6ade76d1e99a873edf6419689b82d1b66ab7edb Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期三, 30 十月 2024 20:28:52 +0800 Subject: [PATCH] 文字调整 --- src/views/train/data-list/index.vue | 86 ++++++++++++++++++++++++++++-------------- 1 files changed, 57 insertions(+), 29 deletions(-) diff --git a/src/views/train/data-list/index.vue b/src/views/train/data-list/index.vue index 3fe4394..c2865a2 100644 --- a/src/views/train/data-list/index.vue +++ b/src/views/train/data-list/index.vue @@ -4,63 +4,91 @@ <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)"> + <el-card + shadow="hover" + :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"> + <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> </el-col> </el-row> </div> - </el-scrollbar> </div> </template> <script setup> -import { ref } from 'vue'; -import { Timer } from '@element-plus/icons-vue'; -import { useRouter } from 'vue-router'; +import { storeToRefs } from "pinia"; +import { useRouter } from "vue-router"; +import { useUserStore } from "@/store/index.js"; +import { classMeet } from "@/api/modules/meet.js"; + +const userStore = useUserStore(); +const { userInfo } = storeToRefs(userStore); const router = useRouter(); const props = defineProps({ dataList: { type: Array, - default: () => [] - } + default: () => [], + }, }); - - +const userId = JSON.parse(localStorage.getItem('user')).userInfo.id const itemClick = (item) => { - if (window.webBridge) { - window.webBridge.openNewWindow(JSON.stringify(item)); - } else { - let path = router.resolve({ - path: "/meet", - query: { meetName: item.meetName, id: item.id } - }); - window.open(path.href, '_blank'); - } -} - + 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 + "_" + userId || "", + userCode: userInfo.value?.phone + "_" + userId || "", + }, + }); + window.open(path.href, "_blank"); + } + }) + .catch((err) => {}); +}; </script> <style lang="scss" scoped> +.disable-click { + pointer-events: none; +} .item { width: 100%; min-height: 120px; @@ -81,4 +109,4 @@ .list-card { border-radius: 10px; } -</style> \ No newline at end of file +</style> -- Gitblit v1.8.0