|
@@ -4,18 +4,43 @@
|
|
</img></div>
|
|
</img></div>
|
|
<div class="close" @click="getExit"></div>
|
|
<div class="close" @click="getExit"></div>
|
|
<div class="menu">
|
|
<div class="menu">
|
|
- <div class="li" v-for="(item, index) in projectList" :key="index" @click="getOption(item)">
|
|
|
|
|
|
+
|
|
|
|
+ <swiper :slides-per-view="6" :modules="[Grid]" :grid="{
|
|
|
|
+ fill: 'row',
|
|
|
|
+ rows: 2,
|
|
|
|
+ }" :space-between="20">
|
|
|
|
+ <swiper-slide v-for="(item, index) in projectList" :key="index" @click="getOption(item)">
|
|
|
|
+
|
|
|
|
+ <div class="li">
|
|
|
|
+ <div class="pic"><img :src="'/src/assets/images/train/' + item.key + '.png'"></div>
|
|
|
|
+ <div class="name">
|
|
|
|
+ {{ item.name }}
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ </swiper-slide>
|
|
|
|
+
|
|
|
|
+ </swiper>
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ <!-- <div class="li" v-for="(item, index) in projectList" :key="index" @click="getOption(item)">
|
|
<div class="pic"><img :src="'/src/assets/images/train/' + item.key + '.png'"></div>
|
|
<div class="pic"><img :src="'/src/assets/images/train/' + item.key + '.png'"></div>
|
|
<div class="name">
|
|
<div class="name">
|
|
{{ item.name }}
|
|
{{ item.name }}
|
|
</div>
|
|
</div>
|
|
- </div>
|
|
|
|
|
|
+ </div> -->
|
|
</div>
|
|
</div>
|
|
<OptionWindow ref="optionWindowRef" :projectList="projectList" />
|
|
<OptionWindow ref="optionWindowRef" :projectList="projectList" />
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup name="TrainIndex" lang="ts">
|
|
<script setup name="TrainIndex" lang="ts">
|
|
|
|
+import { Swiper, SwiperSlide } from 'swiper/vue';
|
|
|
|
+import { Grid } from 'swiper/modules';
|
|
|
|
+import 'swiper/css';
|
|
|
|
+import 'swiper/css/grid';
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
const router = useRouter();
|
|
const router = useRouter();
|
|
const { proxy } = getCurrentInstance() as any;
|
|
const { proxy } = getCurrentInstance() as any;
|
|
const optionWindowRef = ref();
|
|
const optionWindowRef = ref();
|
|
@@ -125,25 +150,26 @@ $waiPadding: 6.51rem;
|
|
|
|
|
|
.menu {
|
|
.menu {
|
|
width: calc(100% - ($waiPadding * 2));
|
|
width: calc(100% - ($waiPadding * 2));
|
|
|
|
+ height: 72vh;
|
|
padding-top: 10rem;
|
|
padding-top: 10rem;
|
|
margin: 0 auto;
|
|
margin: 0 auto;
|
|
display: flex;
|
|
display: flex;
|
|
- height: 52vh;
|
|
|
|
|
|
|
|
.li {
|
|
.li {
|
|
- width: calc((100% / 6) - 1rem + (1rem/6));
|
|
|
|
- margin-right: 1rem;
|
|
|
|
- margin-bottom: 1rem;
|
|
|
|
|
|
+ // width: calc((100% / 6) - 1rem + (1rem/6));
|
|
|
|
+ // margin-right: 1rem;
|
|
|
|
+ // margin-bottom: 1rem;
|
|
|
|
+ width: 100%;
|
|
|
|
+ height: 100%;
|
|
padding: 2.2vh 0;
|
|
padding: 2.2vh 0;
|
|
border-radius: 1.6rem;
|
|
border-radius: 1.6rem;
|
|
- opacity: 1;
|
|
|
|
box-sizing: border-box;
|
|
box-sizing: border-box;
|
|
box-shadow: inset 0px 1px 0px 2px rgba(255, 255, 255, 0.9046), inset 0px 3px 6px 0px rgba(0, 0, 0, 0.0851);
|
|
box-shadow: inset 0px 1px 0px 2px rgba(255, 255, 255, 0.9046), inset 0px 3px 6px 0px rgba(0, 0, 0, 0.0851);
|
|
display: flex;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
flex-wrap: wrap;
|
|
justify-content: center;
|
|
justify-content: center;
|
|
text-align: center;
|
|
text-align: center;
|
|
- transition: all 1s;
|
|
|
|
|
|
+
|
|
flex-shrink: 0;
|
|
flex-shrink: 0;
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
|
|
|
|
@@ -156,37 +182,60 @@ $waiPadding: 6.51rem;
|
|
|
|
|
|
|
|
|
|
.pic {
|
|
.pic {
|
|
- width: 20.2vh;
|
|
|
|
- height: 20.2vh;
|
|
|
|
|
|
+ width: 11.36vw;
|
|
|
|
+ height: 11.36vw;
|
|
border-radius: 50%;
|
|
border-radius: 50%;
|
|
background: radial-gradient(78% 78% at 53% 50%, #07121A 0%, #2A4256 49%, #5180A9 100%);
|
|
background: radial-gradient(78% 78% at 53% 50%, #07121A 0%, #2A4256 49%, #5180A9 100%);
|
|
box-shadow: 0px 0px 2px 2px #FFFFFF;
|
|
box-shadow: 0px 0px 2px 2px #FFFFFF;
|
|
- margin-bottom: 2.2vh;
|
|
|
|
|
|
+ margin-bottom: 2vh;
|
|
overflow: hidden;
|
|
overflow: hidden;
|
|
display: flex;
|
|
display: flex;
|
|
align-items: center;
|
|
align-items: center;
|
|
justify-content: center;
|
|
justify-content: center;
|
|
|
|
+ flex-shrink: 0;
|
|
|
|
|
|
img {
|
|
img {
|
|
max-width: 88%;
|
|
max-width: 88%;
|
|
max-height: 88%;
|
|
max-height: 88%;
|
|
|
|
+ transition: all 1s;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
- &:active {
|
|
|
|
- transform: translateY(-0.5rem);
|
|
|
|
|
|
+ &:hover {
|
|
|
|
+ img {
|
|
|
|
+ transform: translateY(-0.5vw);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ .swiper-slide {
|
|
|
|
+ border-radius: 1.6rem;
|
|
|
|
+ overflow: hidden;
|
|
|
|
+ }
|
|
|
|
|
|
- .li:nth-of-type(odd) {
|
|
|
|
|
|
+ .swiper-slide:nth-of-type(odd) {
|
|
background: radial-gradient(96% 96% at 2% 32%, #FFFFFF 0%, #FCFDFD 54%, #E1E4E7 100%);
|
|
background: radial-gradient(96% 96% at 2% 32%, #FFFFFF 0%, #FCFDFD 54%, #E1E4E7 100%);
|
|
}
|
|
}
|
|
|
|
|
|
- .li:nth-of-type(even) {
|
|
|
|
|
|
+ .swiper-slide:nth-of-type(even) {
|
|
background: radial-gradient(167% 126% at 97% 6%, #35FFC6 0%, #00FFE8 100%);
|
|
background: radial-gradient(167% 126% at 97% 6%, #35FFC6 0%, #00FFE8 100%);
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+@media screen and (max-width: 1450px) {
|
|
|
|
+ .menu {
|
|
|
|
+
|
|
|
|
+ .li {
|
|
|
|
+ .name {
|
|
|
|
+ font-size: 1.8rem;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .pic {
|
|
|
|
+ width: 10vw;
|
|
|
|
+ height: 10vw;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
</style>
|
|
</style>
|