From 691b86ca853959f5beb3db9b25d0a4a9929dd40f Mon Sep 17 00:00:00 2001
From: lxf <1371462558@qq.com>
Date: Tue, 15 Jul 2025 17:42:58 +0800
Subject: [PATCH] style
---
src/components/Transform/list-quotation/index.vue | 145 +++++++++++++++++++++++------------------------
1 files changed, 71 insertions(+), 74 deletions(-)
diff --git a/src/components/Transform/list-quotation/index.vue b/src/components/Transform/list-quotation/index.vue
index f5da2b7..88d4499 100644
--- a/src/components/Transform/list-quotation/index.vue
+++ b/src/components/Transform/list-quotation/index.vue
@@ -16,94 +16,58 @@
</p>
</div>
</van-cell> -->
-
- <div class="flex items-end justify-between">
- <div class="block text-22 font-medium">行情</div>
- <div class="relative text-13">
- <!-- <div class="flex px-10 justify-between rounded-full bg-black text-white min-w-100 box-border">
- <div class="block">貨幣</div>
- <div class="i-material-symbols:arrow-drop-down-rounded"></div>
- </div> -->
- <!-- <div class="px-9 py-10 bg-black text-white flex flex-col absolute min-w-100 box-border top-25 rounded-11 leading-28" style="display: none;">
- <div>貨幣</div>
- <div>數字貨幣</div>
- <div>期貨</div>
- <div>收藏</div>
- </div> -->
+ <!-- 热门 -->
+ <div class="flex items-end justify-between" style="margin: 14px 0;">
+ <div class="block text-22 font-medium">{{ $t('Market') }}</div>
+ <div class="relative text-13" @click="toggleDropdown">
+ <div class="flex px-20 justify-between rounded-full bg-black text-white min-w-140 box-border">
+ <div class="block">{{ $t(topTitle) }}</div>
+ <van-icon name="play" style="align-content:center;transform: rotate(90deg);" />
+ </div>
+ <div
+ class="px-16 py-20 bg-black text-white flex flex-col absolute min-w-140 box-border top-25 rounded-11 leading-28"
+ style="z-index:999;margin-top: 0.8rem;" v-show="isTopShow">
+ <div @click="changeType('货币兑换', 2)">{{ $t('货币兑换') }}</div>
+ <div @click="changeType('外汇交易', 1)">{{ $t('外汇交易') }}</div>
+ <!-- <div>期貨</div>
+ <div>收藏</div> -->
+ </div>
</div>
</div>
<transition-group :name="type" tag="div">
- <div v-if="active == 0" :key="active">
+ <div>
<van-cell v-for="item in listData" :key="item.id" style="background-color: #f0f0f0;margin-bottom: 10px;">
<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')"
- alt="logo" class="w-72 h-72 rounded-full mr-16" />
+ alt="logo" class="w-72 h-72 mr-16" />
<p class="flex flex-col">
<span class="flex items-end font-32 flex items-center">
- <span class="textColor font-600 font-30">{{ item.symbol_data && item.symbol_data.toUpperCase() || '--'
- }}</span>
- <span class="font-24 text-grey" style="position: relative; top: 1px">
+ <span class="textColor font-600 font-30">{{ item.name || '--'
+ }}</span>
+ <!-- <span class="font-24 text-grey" style="position: relative; top: 1px">
/USDT
- </span>
+ </span> -->
<!-- <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">{{ (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="font-24 text-grey">{{ currency.currency_symbol }}
+ <!-- <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(2) || '--' }}</p>
+ currency.rate).toFixed(2) || '--' }}</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">
- +{{ item.change_ratio || (item.change_ratio === 0 ? 0 : '--') }}%</p>
+ {{ (item.change_ratio === 0 ? 0 : item.change_ratio) }}%</p>
<p class="w-153 font-31 h-71 bg-red text-white border-0 text-center btn" v-else>
- {{ item.change_ratio || (item.change_ratio === 0 ? 0 : '--') }}%</p>
- </li>
- </ul>
- </van-cell>
- </div>
- <div v-else :key="active">
- <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" />
- <p class="flex flex-col">
- <span class="flex items-end font-32 flex items-center">
- <span class="textColor font-600 font-30">{{ item.symbol_data && item.symbol_data.toUpperCase() || '--'
- }}</span>
- <!-- <span class="font-24 text-grey" style="position: relative; top: 1px">
- {{ item.name && item.name.replace(item.symbol.toUpperCase(), '') || '--' }}</span> -->
- <span class="font-24 text-grey" style="position: relative; top: 1px">
- /USDT
- </span>
- </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="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(2) || '--' }}</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">
- {{ (item.volume * 1).toFixed(2) }}
- </div>
- <template v-else>
- <p class="w-153 font-31 h-71 bg-green text-white border-0 text-center btn" v-if="item.change_ratio > 0">
- +{{ item.change_ratio }}%</p>
- <p class="w-153 font-31 h-71 bg-red text-white border-0 text-center btn" v-else>
- {{ item.change_ratio || (item.change_ratio === 0 ? 0 : '--') }}%</p>
- </template>
+ {{ (item.change_ratio === 0 ? 0 : item.change_ratio) }}%</p>
</li>
</ul>
</van-cell>
@@ -116,7 +80,6 @@
</div> -->
</div>
</template>
-
<script>
import { List, Cell } from 'vant'
import { mapGetters, mapActions } from 'vuex'
@@ -124,6 +87,8 @@
import ExTabs from "@/components/Transform/ex-tabs/index.vue";
import { HOST_URL } from '@/config'
import { SET_CURRENCY } from "@/store/const.store";
+// import { useI18n } from "vue-i18n";
+// const t = useI18n()
export default {
name: 'ListQuotation',
data() {
@@ -131,6 +96,9 @@
fixDate,
HOST_URL,
active: 0,
+ isTopShow: false,
+ topTitle: this.$t('货币兑换'),
+ topValue: 2,
type: 'left' //left 从左往右 right 从有王座
}
},
@@ -163,17 +131,37 @@
},
methods: {
...mapActions('home', [SET_CURRENCY]),
+ changeType(tit, val) {
+ this.topTitle = tit
+ this.topValue = val
+ this.$emit('onfetchQList', val)
+ },
+ toggleDropdown() {
+ if (this.isTopShow) {
+ this.isTopShow = false
+ } else {
+ this.isTopShow = true
+ }
+ },
onItemClick(item) {
- if (this.tabActive == 2) { //现货
+ if (this.topValue == 2) { //现货
+ setStorage('symbol', item.symbol)
this.$router.push({
- path: `/cryptos/trade/${item.symbol}`
+ path: `/cryptos/perpetualContract/${item.symbol}`,
+ query: { selectIndex: 2 }
});
} else {
setStorage('symbol', item.symbol)
- this.$router.push({
- path: `/foreign/deliveryContract/${item.symbol}`,
- query: { type: 'cryptos' }
+ // /cryptos/perpetualContract/btcusdt?selectIndex=2
+ this.$router.push({
+ path: `/cryptos/trade/${item.symbol}`,
+ // path: `/cryptos/perpetualContract/${item.symbol}`,
+ // query: { selectIndex: 2 }
});
+ // this.$router.push({
+ // path: `/foreign/deliveryContract/${item.symbol}`,
+ // query: { type: 'cryptos' }
+ // });
// this.$router.push({
// path: `/cryptos/perpetualContract/${item.symbol}`,
// query: { type: 'cryptos' }
@@ -193,9 +181,9 @@
if (val == 0) {
this.showList = [...this.listData];
} else if (val == 1) {
- this.showList = [...this.listData].sort(this.compare("change_ratio", 'up'))
+ this.showList = [...this.listData].sort(this.compare("change_ratio_str", 'up'))
} else if (val == 2) {
- this.showList = [...this.listData].sort(this.compare("change_ratio", 'down'))
+ this.showList = [...this.listData].sort(this.compare("change_ratio_str", 'down'))
} else if (val == 3) {
this.showList = [...this.listData].sort(this.compare("volume", 'up'))
}
@@ -222,9 +210,9 @@
if (this.active == 0) {
this.showList = [...this.listData];
} else if (this.active == 1) {
- this.showList = [...this.listData].sort(this.compare("change_ratio", 'up'))
+ this.showList = [...this.listData].sort(this.compare("change_ratio_str", 'up'))
} else if (this.active == 2) {
- this.showList = [...this.listData].sort(this.compare("change_ratio", 'down'))
+ this.showList = [...this.listData].sort(this.compare("change_ratio_str", 'down'))
} else if (this.active == 3) {
this.showList = [...this.listData].sort(this.compare("volume", 'up'))
}
@@ -296,7 +284,16 @@
color: #242629;
}
-.text-grey{
+.text-grey {
// color: #8c8c8c;
}
+
+#cryptos .list-quatation .van-cell {
+ padding: 24px !important;
+ border-radius: 1rem;
+}
+
+.list-quatation {
+ margin: 0 20px;
+}
</style>
--
Gitblit v1.9.3