2025-10-10 15:50:21 +08:00
|
|
|
<script setup lang="ts">
|
2025-10-16 11:01:54 +08:00
|
|
|
import { ref, onMounted, inject } from 'vue'
|
|
|
|
|
import HeaderTitle from '@/components/HeaderTitle.vue'
|
|
|
|
|
import FooterNavigation from '@/components/FooterNavigation.vue'
|
|
|
|
|
const emit = defineEmits(['view-type'])
|
2025-10-10 15:50:21 +08:00
|
|
|
|
2025-10-16 11:01:54 +08:00
|
|
|
onMounted(() => {
|
|
|
|
|
emit('view-type', 1)
|
|
|
|
|
})
|
2025-10-10 15:50:21 +08:00
|
|
|
|
2025-10-16 11:01:54 +08:00
|
|
|
const onRetrieveItem = (i: number) => {
|
|
|
|
|
console.log('检索' + i)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const deleteItem = (i: number) => {
|
|
|
|
|
console.log('删除' + i)
|
|
|
|
|
}
|
2025-10-10 15:50:21 +08:00
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<template>
|
2025-10-16 11:01:54 +08:00
|
|
|
<header-title style-type="2" />
|
2025-10-10 15:50:21 +08:00
|
|
|
<div class="library">
|
|
|
|
|
<div class="title">Library</div>
|
|
|
|
|
<div class="list">
|
|
|
|
|
<div class="item" v-for="i in 10" :key="i">
|
|
|
|
|
<div class="image">
|
|
|
|
|
<img src="@/assets/images/workshop/posture/posture_1.png" />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="content">
|
2025-10-16 11:01:54 +08:00
|
|
|
<span class="userID">User ID: 1234567890</span>
|
2025-10-10 15:50:21 +08:00
|
|
|
<span class="datetime">7/22/2025 18:20</span>
|
|
|
|
|
<span class="lastopened">Last opened 18:20</span>
|
|
|
|
|
<button @click="onRetrieveItem(i)">Retrieve</button>
|
|
|
|
|
</div>
|
2025-10-14 13:55:36 +08:00
|
|
|
<div class="delete" @click="deleteItem(i)"><SvgIcon name="delete2" size="30" /></div>
|
2025-10-10 15:50:21 +08:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2025-10-16 11:01:54 +08:00
|
|
|
<footer-navigation is-placeholder />
|
2025-10-10 15:50:21 +08:00
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<style scoped lang="less">
|
2025-10-16 11:01:54 +08:00
|
|
|
.workshop {
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
}
|
2025-10-10 15:50:21 +08:00
|
|
|
.library {
|
|
|
|
|
width: 100%;
|
2025-10-16 11:01:54 +08:00
|
|
|
flex: 1;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
background-color: #fff;
|
2025-10-10 15:50:21 +08:00
|
|
|
border-radius: 1rem;
|
|
|
|
|
position: relative;
|
|
|
|
|
color: #000;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
2025-10-16 11:01:54 +08:00
|
|
|
&::before {
|
|
|
|
|
content: '';
|
|
|
|
|
position: absolute;
|
|
|
|
|
width: 92rem;
|
|
|
|
|
height: 92rem;
|
|
|
|
|
z-index: 0;
|
|
|
|
|
top: -40rem;
|
|
|
|
|
right: -40rem;
|
|
|
|
|
background: linear-gradient(88.42deg, #ffffff 32.58%, #d9d9d9 94.9%);
|
|
|
|
|
transform: rotate(-45deg);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2025-10-10 15:50:21 +08:00
|
|
|
> .title {
|
|
|
|
|
font-family: satoshiRegular;
|
|
|
|
|
font-size: 9rem;
|
|
|
|
|
text-align: left;
|
|
|
|
|
line-height: 124%;
|
|
|
|
|
margin: 5rem;
|
|
|
|
|
}
|
|
|
|
|
> .list {
|
|
|
|
|
flex: 1;
|
|
|
|
|
overflow-y: auto;
|
|
|
|
|
padding: 0 3.8rem;
|
|
|
|
|
margin: 0 3rem;
|
|
|
|
|
> .item {
|
|
|
|
|
position: relative;
|
|
|
|
|
padding: 2.8rem;
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 34.4rem;
|
|
|
|
|
border-radius: 1.88rem;
|
|
|
|
|
margin-bottom: 7.66rem;
|
|
|
|
|
background-color: #f3f3f3;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
> .image {
|
|
|
|
|
width: 21.4rem;
|
|
|
|
|
height: 100%;
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
border-radius: 2rem;
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
> img {
|
|
|
|
|
width: 100%;
|
|
|
|
|
height: 100%;
|
|
|
|
|
object-fit: contain;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
> .content {
|
|
|
|
|
margin-left: 5.6rem;
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
2025-10-16 11:01:54 +08:00
|
|
|
height: 90%;
|
|
|
|
|
> .userID {
|
|
|
|
|
font-family: satoshiRegular;
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
font-size: 3.8rem;
|
|
|
|
|
line-height: 89%;
|
|
|
|
|
color: #000;
|
|
|
|
|
}
|
2025-10-10 15:50:21 +08:00
|
|
|
> .datetime {
|
2025-10-16 11:01:54 +08:00
|
|
|
margin-top: 1.8rem;
|
2025-10-10 15:50:21 +08:00
|
|
|
font-family: satoshiRegular;
|
|
|
|
|
font-weight: 400;
|
2025-10-16 11:01:54 +08:00
|
|
|
font-size: 3.2rem;
|
2025-10-10 15:50:21 +08:00
|
|
|
line-height: 89%;
|
|
|
|
|
color: #000;
|
|
|
|
|
}
|
|
|
|
|
> .lastopened {
|
2025-10-16 11:01:54 +08:00
|
|
|
margin-top: 1rem;
|
2025-10-10 15:50:21 +08:00
|
|
|
font-family: satoshiRegular;
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-style: Regular;
|
2025-10-16 11:01:54 +08:00
|
|
|
font-size: 2.6rem;
|
2025-10-10 15:50:21 +08:00
|
|
|
line-height: 89%;
|
|
|
|
|
color: #6f6f6f;
|
|
|
|
|
}
|
|
|
|
|
> button {
|
|
|
|
|
margin-top: auto;
|
|
|
|
|
width: 12.3rem;
|
|
|
|
|
height: 3.8rem;
|
|
|
|
|
border-radius: 0.5rem;
|
|
|
|
|
box-sizing: content-box;
|
|
|
|
|
border: 0.193rem solid #000;
|
|
|
|
|
background: transparent;
|
|
|
|
|
font-family: satoshiRegular;
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
font-size: 2.576rem;
|
|
|
|
|
color: #000;
|
|
|
|
|
margin-right: 5rem;
|
|
|
|
|
&:active {
|
|
|
|
|
opacity: 0.7;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
> .delete {
|
|
|
|
|
position: absolute;
|
2025-10-16 11:01:54 +08:00
|
|
|
top: 2.5rem;
|
|
|
|
|
right: 2rem;
|
2025-10-10 15:50:21 +08:00
|
|
|
width: 5.5rem;
|
|
|
|
|
height: 5.5rem;
|
|
|
|
|
border: 0.188rem solid #000;
|
|
|
|
|
border-radius: 1.88rem;
|
|
|
|
|
display: flex;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: center;
|
|
|
|
|
&:active {
|
|
|
|
|
opacity: 0.7;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|