2025-01-09 11:01:35 +00:00
|
|
|
<script setup>
|
2025-01-22 07:44:50 +00:00
|
|
|
import liveRoom from '@/pages/liveRoom/index.client.vue';
|
2025-01-20 08:17:49 +00:00
|
|
|
import {goodStore} from "@/stores/goods/index.js";
|
|
|
|
import ItemList from './components/ItemList/index.vue'
|
|
|
|
import Cescribe from './components/Cescribe/index.vue'
|
2025-02-27 08:41:17 +00:00
|
|
|
|
2025-02-11 03:34:24 +00:00
|
|
|
import {liveStore} from "~/stores/live/index.js";
|
2025-02-20 06:53:43 +00:00
|
|
|
const {getAuctionDetail, auctionDetail,getArtworkList} = goodStore();
|
2025-02-12 08:50:52 +00:00
|
|
|
const {fullLive} = liveStore()
|
2025-01-17 03:06:19 +00:00
|
|
|
const changeLive = () => {
|
2025-02-24 06:05:49 +00:00
|
|
|
if (!fullLive.value){
|
|
|
|
if (auctionDetail.value.isLiving===1){
|
|
|
|
fullLive.value = true;
|
|
|
|
getArtworkList(true)
|
|
|
|
}
|
2025-02-17 11:54:11 +00:00
|
|
|
}
|
2025-01-23 08:34:34 +00:00
|
|
|
}
|
2025-02-20 06:47:57 +00:00
|
|
|
|
2025-02-17 11:54:11 +00:00
|
|
|
await getAuctionDetail()
|
2025-01-09 11:01:35 +00:00
|
|
|
</script>
|
|
|
|
<template>
|
2025-02-14 08:47:56 +00:00
|
|
|
<div class="grow-1">
|
2025-01-20 08:17:49 +00:00
|
|
|
<client-only>
|
2025-02-12 08:50:52 +00:00
|
|
|
<div class="relative" @click="changeLive">
|
|
|
|
<liveRoom :class="['changeLive', fullLive ? 'expanded' : 'collapsed']"/>
|
2025-02-17 11:54:11 +00:00
|
|
|
<div v-if="auctionDetail.isLiving===1" class="absolute h-188px w-screen pt-36px flex flex-col text-#fff top-0 left-0 items-center">
|
2025-02-12 08:50:52 +00:00
|
|
|
<div class="text-18px mb-5px">{{ auctionDetail.title }}</div>
|
|
|
|
<div class="text-12px mb-54px">{{ $t('home.text1') }}<van-icon name="arrow" /></div>
|
2025-02-20 07:42:27 +00:00
|
|
|
<div><span>-</span> <span class="text-12px mx-5px">{{auctionDetail.totalNum}}{{ $t('common.items') }}{{ $t('common.auction') }}</span> <span>-</span></div>
|
2025-02-27 08:51:52 +00:00
|
|
|
<div class="text-12px">{{auctionDetail.startDate}} {{auctionDetail.startTitle}}</div>
|
2025-02-12 08:50:52 +00:00
|
|
|
</div>
|
2025-02-17 11:54:11 +00:00
|
|
|
<div v-else class="absolute h-188px w-screen pt-36px flex flex-col text-#fff top-0 left-0 items-center bg-[url('@/static/images/z6022@2x.png')]">
|
|
|
|
<div class="text-18px mb-5px">{{ auctionDetail.title }}</div>
|
2025-02-27 08:41:17 +00:00
|
|
|
<div class="text-12px mb-54px">{{$t('home.text3')}}{{auctionDetail.isLiving===2?$t('home.text4'):$t('home.text5')}}</div>
|
2025-02-17 11:54:11 +00:00
|
|
|
<div><span>-</span> <span class="text-12px mx-5px">{{auctionDetail.totalNum}}{{ $t('common.items') }}{{ $t('common.auction') }}</span> <span>-</span></div>
|
2025-02-27 08:51:52 +00:00
|
|
|
<div class="text-12px">{{auctionDetail.startDate}} {{auctionDetail.startTitle}}</div>
|
2025-02-17 11:54:11 +00:00
|
|
|
</div>
|
2025-02-12 08:50:52 +00:00
|
|
|
</div>
|
2025-01-22 05:28:21 +00:00
|
|
|
</client-only>
|
2025-02-06 08:29:17 +00:00
|
|
|
<div v-if="!fullLive" class="bg-#fff">
|
2025-01-21 03:43:27 +00:00
|
|
|
<van-tabs sticky animated>
|
2025-02-12 06:34:05 +00:00
|
|
|
<van-tab :title="$t('home.tab1')">
|
2025-01-21 03:43:27 +00:00
|
|
|
<ItemList></ItemList>
|
|
|
|
</van-tab>
|
2025-02-12 06:34:05 +00:00
|
|
|
<van-tab :title="$t('home.tab2')">
|
2025-01-21 03:43:27 +00:00
|
|
|
<Cescribe></Cescribe>
|
|
|
|
</van-tab>
|
|
|
|
</van-tabs>
|
|
|
|
<van-back-top right="15vw" bottom="10vh"/>
|
|
|
|
</div>
|
2025-02-11 03:34:24 +00:00
|
|
|
|
2025-01-13 03:12:11 +00:00
|
|
|
</div>
|
2025-01-09 11:37:03 +00:00
|
|
|
</template>
|
2025-01-16 03:27:12 +00:00
|
|
|
<style scoped lang="scss">
|
2025-01-22 05:28:21 +00:00
|
|
|
.ellipsis {
|
|
|
|
display: -webkit-box;
|
|
|
|
-webkit-box-orient: vertical;
|
|
|
|
-webkit-line-clamp: 2;
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
}
|
2025-02-12 08:50:52 +00:00
|
|
|
|
2025-01-13 03:12:11 +00:00
|
|
|
:deep(.van-swipe__indicator) {
|
2025-01-10 06:59:54 +00:00
|
|
|
width: 8px;
|
|
|
|
height: 8px;
|
|
|
|
}
|
2025-01-16 03:23:46 +00:00
|
|
|
|
2025-01-15 02:55:22 +00:00
|
|
|
.fade-enter-active, .fade-leave-active {
|
|
|
|
transition: opacity 1s;
|
|
|
|
}
|
2025-01-16 03:23:46 +00:00
|
|
|
|
|
|
|
.fade-enter, .fade-leave-to {
|
2025-01-15 02:55:22 +00:00
|
|
|
opacity: 0;
|
|
|
|
}
|
2025-01-16 03:23:46 +00:00
|
|
|
|
|
|
|
:deep(.van-swipe__indicator:not(.van-swipe__indicator--active)) {
|
2025-01-13 03:12:11 +00:00
|
|
|
background: rgba(0, 0, 0, 0.8);
|
2025-01-10 06:59:54 +00:00
|
|
|
}
|
2025-01-16 03:23:46 +00:00
|
|
|
|
2025-01-15 02:55:22 +00:00
|
|
|
.changeLive {
|
|
|
|
width: 100%;
|
|
|
|
overflow: hidden;
|
2025-01-23 05:56:18 +00:00
|
|
|
transition: height 0.4s ease, transform 0.4s ease;
|
2025-01-15 02:55:22 +00:00
|
|
|
}
|
2025-01-13 12:59:25 +00:00
|
|
|
|
2025-01-15 02:55:22 +00:00
|
|
|
.changeLive.collapsed {
|
|
|
|
height: 188px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.changeLive.expanded {
|
2025-01-15 04:00:19 +00:00
|
|
|
position: absolute;
|
|
|
|
z-index: 10;
|
2025-01-15 02:55:22 +00:00
|
|
|
height: calc(100vh - var(--van-nav-bar-height));
|
2025-01-17 02:19:01 +00:00
|
|
|
}
|
2025-01-16 03:23:46 +00:00
|
|
|
</style>
|