| | |
| | | </div> |
| | | </van-cell> |
| | | <transition-group :name="type" tag="div"> |
| | | <div v-if="active == 0" :key="active"> |
| | | <div v-if="active == 0"> |
| | | <van-cell v-for="item in listData" :key="item.id"> |
| | | <ul class="flex justify-between w-full items-center" @click="onItemClick(item)"> |
| | | <ul class="flex justify-between w-full items-center" @click="onItemClick(item)"> |
| | | <li class="flex items-center left"> |
| | | <img |
| | | :src="item.symbol ? `${HOST_URL}/symbol/${item.symbol_data}.png` : handleImage('../../../assets/loading-default.png')" |
| | | :src="getSymbolImg(item)" |
| | | @error="onSymbolImgError" |
| | | alt="logo" class="w-72 h-72 rounded-full mr-16" /> |
| | | <p class="flex flex-col"> |
| | | <span class="flex items-end font-32 flex items-center"> |
| | |
| | | <!-- <span class="font-24 text-grey" style="position: relative; top: 1px"> |
| | | {{ item.name && item.name.replace(item.symbol.toUpperCase(), '') || '--' }}</span> --> |
| | | </span> |
| | | <span class="font-24 text-grey text-left">{{ $t('成交量') + ' ' + (item.amount * 1).toFixed(2) }}</span> |
| | | <!-- <span class="font-24 text-grey text-left">{{ $t('成交量') + ' ' + (item.amount * 1).toFixed(2) }}</span> --> |
| | | </p> |
| | | </li> |
| | | <li class="flex flex-col items-end mid"> |
| | | <p class="textColor font-32 font-600">{{ item.close || '--' }}</p> |
| | | <p class="textColor font-32 font-600">{{ item.close.toFixed(4) || '--' }}</p> |
| | | <p class="font-24 text-grey">{{ currency.currency_symbol }} |
| | | {{ item.close && item.symbol_data.toUpperCase() == 'SHIB' ? (item.close * currency.rate).toFixed(8) : |
| | | (item.close * |
| | | currency.rate).toFixed(6)/1 || '--' }}</p> |
| | | currency.rate).toFixed(4) || '--' }}</p> |
| | | </li> |
| | | <li class="right flex items-center justify-end"> |
| | | <p class="w-153 font-31 h-71 bg-green text-white border-0 text-center btn" v-if="item.change_ratio > 0"> |
| | |
| | | </ul> |
| | | </van-cell> |
| | | </div> |
| | | <div v-else :key="active"> |
| | | <div v-else> |
| | | <van-cell v-for="item in showList" :key="item.id"> |
| | | <ul class="flex justify-between w-full items-center" @click="onItemClick(item)"> |
| | | <li class="flex items-center left"> |
| | | <img :src="`${HOST_URL}/symbol/${item.symbol_data}.png`" alt="logo" |
| | | class="w-72 h-72 rounded-full mr-16" /> |
| | | <img :src="getSymbolImg(item)" |
| | | @error="onSymbolImgError" |
| | | alt="logo" class="w-72 h-72 rounded-full mr-16" /> |
| | | <p class="flex flex-col"> |
| | | <span class="flex items-end font-32 flex items-center"> |
| | | <span class="textColor font-600 font-30">{{ arrGk(item.name.toUpperCase())[0] }}</span> |
| | |
| | | </p> |
| | | </li> |
| | | <li class="flex flex-col items-end mid"> |
| | | <p class="textColor font-32 font-600">{{ item.close }}</p> |
| | | <p class="textColor font-32 font-600">{{ item.close.toFixed(4) }}</p> |
| | | <p class="font-24 text-grey">{{ currency.currency_symbol }} {{ item.close && |
| | | item.symbol_data.toUpperCase() == 'SHIB' ? (item.close * currency.rate).toFixed(8) : (item.close * |
| | | currency.rate).toFixed(6) / 1 || '--' }}</p> |
| | | currency.rate).toFixed(4) || '--' }}</p> |
| | | </li> |
| | | <li class="right flex items-center justify-end text-right"> |
| | | <div v-if="active == 3" class="textColor w-182 font-700 font-24"> |
| | |
| | | import ExTabs from "@/components/Transform/ex-tabs/index.vue"; |
| | | import { HOST_URL } from '@/config' |
| | | import { SET_CURRENCY } from "@/store/const.store"; |
| | | const defaultLogo = new URL('@/assets/imgs/logo.png', import.meta.url).href; |
| | | export default { |
| | | name: 'ListQuotation', |
| | | data() { |
| | | return { |
| | | fixDate, |
| | | HOST_URL, |
| | | defaultLogo, |
| | | active: 0, |
| | | showList: [], |
| | | type: 'left' //left 从左往右 right 从有王座 |
| | | } |
| | | }, |
| | |
| | | }); |
| | | } |
| | | }, |
| | | handleImage(url) { |
| | | return new URL(url, import.meta.url).href |
| | | getSymbolImg(item) { |
| | | if (item?.symbol && item?.symbol_data && this.HOST_URL) { |
| | | return `${this.HOST_URL}/symbol/${(item.symbol_data + '').toLowerCase()}.png`; |
| | | } |
| | | return this.defaultLogo; |
| | | }, |
| | | onSymbolImgError(e) { |
| | | if (e?.target) e.target.src = this.defaultLogo; |
| | | }, |
| | | onTabs(val) { |
| | | if (this.active < val) { |
| | |
| | | this.showList = [...this.listData].sort(this.compare("volume", 'up')) |
| | | } |
| | | this.$forceUpdate() |
| | | // console.log("aaaaaaaaa", this.showList, this.listData); |
| | | } |
| | | } |
| | | } |
| | |
| | | @import "@/assets/init.scss"; |
| | | |
| | | #cryptos { |
| | | |
| | | |
| | | .left-enter-active, |
| | | .left-leave-active, |
| | | .right-enter-active, |
| | |
| | | will-change: transform; |
| | | transition: all 250ms; |
| | | } |
| | | |
| | | .van-cell { |
| | | padding: 25px 15px !important; |
| | | background-color: #fff !important; |
| | | border-radius: 10px !important; |
| | | } |
| | | .textColor { |
| | | color: $text_color4; |
| | | } |