fix(样式): 修复屏幕高度不够时,背景图截断的问题

This commit is contained in:
hzj 2025-09-18 11:31:01 +08:00
parent 737ff22320
commit 66f4ff209c
5 changed files with 683 additions and 615 deletions

View File

@ -1,5 +1,6 @@
<template> <template>
<div class="fullPage"> <div class="fullPage">
<div class="bg">
<MobileHeader title="Admin Center" :isHomePage="true"> <MobileHeader title="Admin Center" :isHomePage="true">
<template v-slot:extraFunction> <template v-slot:extraFunction>
<div style="color: rgba(187, 146, 255, 1) !important; font-weight: 600" @click="send"> <div style="color: rgba(187, 146, 255, 1) !important; font-weight: 600" @click="send">
@ -106,7 +107,9 @@
transition: all 0.3s ease-out; transition: all 0.3s ease-out;
" "
> >
<div style="font-weight: 500; color: rgba(0, 0, 0, 0.4)">Total recharge for the month:</div> <div style="font-weight: 500; color: rgba(0, 0, 0, 0.4)">
Total recharge for the month:
</div>
<div style="font-weight: 600; color: rgba(0, 0, 0, 0.8)"> <div style="font-weight: 600; color: rgba(0, 0, 0, 0.8)">
${{ totalRechargeDetail[0]?.totalAmount || 0 }} ${{ totalRechargeDetail[0]?.totalAmount || 0 }}
</div> </div>
@ -133,14 +136,19 @@
<img :src="agency.userAvatar" alt="" style="width: 36px; border-radius: 50%" /> <img :src="agency.userAvatar" alt="" style="width: 36px; border-radius: 50%" />
<div style="margin-left: 8px"> <div style="margin-left: 8px">
<div style="font-weight: 700">{{ agency.name }}</div> <div style="font-weight: 700">{{ agency.name }}</div>
<div style="font-weight: 700; color: rgba(0, 0, 0, 0.4)">ID:{{ agency.account }}</div> <div style="font-weight: 700; color: rgba(0, 0, 0, 0.4)">
ID:{{ agency.account }}
</div>
</div> </div>
</div> </div>
<div style="display: flex; align-items: center"> <div style="display: flex; align-items: center">
<img <img
src="../assets/icon/arrow.png" src="../assets/icon/arrow.png"
alt="" alt=""
style="width: 24px; transition: transform 0.5s cubic-bezier(0.68, -0.55, 0.27, 1.55)" style="
width: 24px;
transition: transform 0.5s cubic-bezier(0.68, -0.55, 0.27, 1.55);
"
:class="{ rotated: aIndex == selectedAgencyIndex }" :class="{ rotated: aIndex == selectedAgencyIndex }"
/> />
</div> </div>
@ -168,6 +176,7 @@
<div ref="Agloadmore" v-if="showAgLoading"></div> <div ref="Agloadmore" v-if="showAgLoading"></div>
</div> </div>
</div> </div>
</div>
</template> </template>
<script setup> <script setup>
@ -346,6 +355,21 @@ const formatPrice = (value) => {
<style scoped> <style scoped>
* { * {
color: black; color: black;
font-family: 'SF Pro';
}
.fullPage {
background-color: #ffffff;
min-height: 100vh;
position: relative;
}
.bg {
width: 100vw;
min-height: 100vh;
background-image: url(../assets/images/secondBg.png);
background-size: 100% auto;
background-repeat: no-repeat;
} }
.tabName { .tabName {
@ -357,15 +381,6 @@ const formatPrice = (value) => {
font-weight: 500; font-weight: 500;
} }
/* 添加页面样式 */
.fullPage {
width: 100vw;
height: 100vh;
background-image: url(../assets/images/secondBg.png);
background-size: 100% 100%;
background-repeat: no-repeat;
}
.info-fade-enter-from, .info-fade-enter-from,
.info-fade-leave-to { .info-fade-leave-to {
transform: translateY(-10px); transform: translateY(-10px);

View File

@ -1,5 +1,6 @@
<template> <template>
<div class="fullPage"> <div class="fullPage">
<div class="bg">
<MobileHeader title="Item Distribution" /> <MobileHeader title="Item Distribution" />
<!-- 标签 --> <!-- 标签 -->
<div <div
@ -138,6 +139,7 @@
</div> </div>
</div> </div>
</div> </div>
</div>
</template> </template>
<script setup> <script setup>
@ -321,12 +323,22 @@ onMounted(() => {
</script> </script>
<style scoped> <style scoped>
/* 添加页面样式 */ * {
color: black;
font-family: 'SF Pro';
}
.fullPage { .fullPage {
background-color: #ffffff;
min-height: 100vh;
position: relative;
}
.bg {
width: 100vw; width: 100vw;
height: 100vh; min-height: 100vh;
background-image: url(../assets/images/secondBg.png); background-image: url(../assets/images/secondBg.png);
background-size: 100% 100%; background-size: 100% auto;
background-repeat: no-repeat; background-repeat: no-repeat;
} }

View File

@ -1,6 +1,7 @@
<!-- Recharge.vue --> <!-- Recharge.vue -->
<template> <template>
<div class="fullPage"> <div class="fullPage">
<div class="bg">
<!-- 顶部 --> <!-- 顶部 -->
<MobileHeader title="Recharge" showHelp="true" @help="popupHelp" /> <MobileHeader title="Recharge" showHelp="true" @help="popupHelp" />
@ -122,8 +123,8 @@
thecoin seller account. thecoin seller account.
</p> </p>
<p> <p>
3How to obtain an lD for an account:(1)In Likei open the 'My' page.(2)You can confrm 3How to obtain an lD for an account:(1)In Likei open the 'My' page.(2)You can
the account lD at the topof the page. confrm the account lD at the topof the page.
</p> </p>
<p> <p>
4lf the lD account you enter is a coinseller account, the coin will be sent to 4lf the lD account you enter is a coinseller account, the coin will be sent to
@ -134,6 +135,7 @@
</div> </div>
</div> </div>
</div> </div>
</div>
</template> </template>
<script setup> <script setup>
@ -187,13 +189,20 @@ const checkUserId = async () => {
<style scoped> <style scoped>
* { * {
color: black; color: black;
font-family: 'SF Pro';
} }
.fullPage { .fullPage {
background-color: #ffffff;
min-height: 100vh;
position: relative;
}
.bg {
width: 100vw; width: 100vw;
height: 100vh; min-height: 100vh;
background-image: url(../assets/images/secondBg.png); background-image: url(../assets/images/secondBg.png);
background-size: 100% 100%; background-size: 100% auto;
background-repeat: no-repeat; background-repeat: no-repeat;
} }

View File

@ -1,5 +1,6 @@
<template> <template>
<div class="fullPage"> <div class="fullPage">
<div class="bg">
<!-- 顶部 --> <!-- 顶部 -->
<MobileHeader title="Recharge"> <MobileHeader title="Recharge">
<template v-slot:extraFunction> <template v-slot:extraFunction>
@ -67,12 +68,22 @@
<img <img
:src="userProfile.userAvatar" :src="userProfile.userAvatar"
alt="" alt=""
style="width: 10%; margin: 10px; border-radius: 50%; aspect-ratio: 1/1; object-fit: cover" style="
width: 10%;
margin: 10px;
border-radius: 50%;
aspect-ratio: 1/1;
object-fit: cover;
"
/> />
<div style=""> <div style="">
<div style="font-weight: 700; display: flex; align-items: center"> <div style="font-weight: 700; display: flex; align-items: center">
{{ userProfile.userNickname }} {{ userProfile.userNickname }}
<img src="../assets/icon/sellerTab.png" alt="" style="height: 20px; margin-left: 5px" /> <img
src="../assets/icon/sellerTab.png"
alt=""
style="height: 20px; margin-left: 5px"
/>
</div> </div>
<div style="font-weight: 500; color: rgba(0, 0, 0, 0.4)">ID:{{ userProfile.id }}</div> <div style="font-weight: 500; color: rgba(0, 0, 0, 0.4)">ID:{{ userProfile.id }}</div>
</div> </div>
@ -138,6 +149,7 @@
</div> </div>
</div> </div>
</div> </div>
</div>
</template> </template>
<script setup> <script setup>
@ -279,13 +291,20 @@ watch(selectedCountry, (New, Old) => {
<style scoped> <style scoped>
* { * {
color: black; color: black;
font-family: 'SF Pro';
} }
.fullPage { .fullPage {
background-color: #ffffff;
min-height: 100vh;
position: relative;
}
.bg {
width: 100vw; width: 100vw;
height: 100vh; min-height: 100vh;
background-image: url(../assets/images/secondBg.png); background-image: url(../assets/images/secondBg.png);
background-size: 100% 100%; background-size: 100% auto;
background-repeat: no-repeat; background-repeat: no-repeat;
} }

View File

@ -1,5 +1,6 @@
<template> <template>
<div class="fullPage"> <div class="fullPage">
<div class="bg">
<div> <div>
<!-- 顶部 --> <!-- 顶部 -->
<MobileHeader title="Country&Region"> <MobileHeader title="Country&Region">
@ -71,81 +72,93 @@
</div> </div>
</div> </div>
</div> </div>
</div>
</template> </template>
<script setup> <script setup>
import { computed, onMounted, ref } from "vue"; import { computed, onMounted, ref } from 'vue'
import MobileHeader from "../components/MobileHeader.vue"; import MobileHeader from '../components/MobileHeader.vue'
import { useRoute } from "vue-router"; import { useRoute } from 'vue-router'
import { useCountryStore } from "@/stores/country"; import { useCountryStore } from '@/stores/country'
import { storeToRefs } from "pinia"; import { storeToRefs } from 'pinia'
const route = useRoute(); const route = useRoute()
const countryStore = useCountryStore(); const countryStore = useCountryStore()
const { list: countryList, selectedCountry } = storeToRefs(countryStore); // const { list: countryList, selectedCountry } = storeToRefs(countryStore) //
const groupIndex = ref(-1); // const groupIndex = ref(-1) //
const countryIndex = ref(-1); // const countryIndex = ref(-1) //
const selectC = (gIndex, cIndex, country) => { const selectC = (gIndex, cIndex, country) => {
groupIndex.value = gIndex; groupIndex.value = gIndex
countryIndex.value = cIndex; countryIndex.value = cIndex
countryStore.setCountry(country); countryStore.setCountry(country)
}; // } //
const groupedCountries = computed(() => { const groupedCountries = computed(() => {
const groups = {}; const groups = {}
countryList.value.forEach((item) => { countryList.value.forEach((item) => {
let firstLetter = item.countryName.charAt(0)?.toUpperCase() || "#"; // let firstLetter = item.countryName.charAt(0)?.toUpperCase() || '#' //
const normalizedLetter = /[A-Z]/.test(firstLetter) ? firstLetter : "#"; // const normalizedLetter = /[A-Z]/.test(firstLetter) ? firstLetter : '#' //
if (!groups.hasOwnProperty(normalizedLetter)) { if (!groups.hasOwnProperty(normalizedLetter)) {
groups[normalizedLetter] = []; groups[normalizedLetter] = []
} }
groups[normalizedLetter].push(item); groups[normalizedLetter].push(item)
}); })
let resCountryList = Object.keys(groups) let resCountryList = Object.keys(groups)
.sort() .sort()
.map((letter) => ({ .map((letter) => ({
letter, letter,
countries: groups[letter].sort((a, b) => a.countryName.localeCompare(b.countryName)), countries: groups[letter].sort((a, b) => a.countryName.localeCompare(b.countryName)),
})); }))
let firstLetter = selectedCountry.value.countryName.charAt(0)?.toUpperCase() || "#"; // let firstLetter = selectedCountry.value.countryName.charAt(0)?.toUpperCase() || '#' //
resCountryList.forEach((resitem, gIndex) => { resCountryList.forEach((resitem, gIndex) => {
if (resitem.letter == firstLetter) { if (resitem.letter == firstLetter) {
resitem.countries.forEach((citem, cIndex) => { resitem.countries.forEach((citem, cIndex) => {
if (citem.countryName == selectedCountry.value.countryName) { if (citem.countryName == selectedCountry.value.countryName) {
groupIndex.value = gIndex; groupIndex.value = gIndex
countryIndex.value = cIndex; countryIndex.value = cIndex
} }
}); })
} }
}); })
return resCountryList; return resCountryList
}); })
onMounted(() => { onMounted(() => {
const countryListStr = sessionStorage.getItem("countryList"); const countryListStr = sessionStorage.getItem('countryList')
selectedCountry.value = sessionStorage.getItem("selectedCountry"); selectedCountry.value = sessionStorage.getItem('selectedCountry')
if (countryListStr) { if (countryListStr) {
countryList.value = JSON.parse(countryListStr); countryList.value = JSON.parse(countryListStr)
// //
// sessionStorage.removeItem('tempCountryList'); // sessionStorage.removeItem('tempCountryList');
} }
}); })
</script> </script>
<style scoped> <style scoped>
* {
color: black;
font-family: 'SF Pro';
}
.fullPage { .fullPage {
background-color: #ffffff;
min-height: 100vh;
position: relative;
}
.bg {
width: 100vw; width: 100vw;
height: 100vh; min-height: 100vh;
background-image: url(../assets/images/secondBg.png); background-image: url(../assets/images/secondBg.png);
background-size: 100% 100%; background-size: 100% auto;
background-repeat: no-repeat; background-repeat: no-repeat;
} }
</style> </style>