|
@@ -0,0 +1,231 @@
|
|
|
+<!-- 货币列表 -->
|
|
|
+<template>
|
|
|
+ <div class="currency-list-wrapper">
|
|
|
+ <div class="search-input-wrapper">
|
|
|
+ <input class="input" v-model="keywords" @input="onInput" placeholder="Search name or paste address" />
|
|
|
+ <img :src="require('../../assets/svg/icon-form-refresh.svg')" class="icon">
|
|
|
+ <img :src="require('../../assets/svg/icon-clear-search.svg')" class="icon-clear"
|
|
|
+ @click="clearIpt" v-if="keywords">
|
|
|
+ </div>
|
|
|
+ <div class="list-wrapper">
|
|
|
+ <div class="page-list" v-if="!showSearch">
|
|
|
+ <div class="list-item">
|
|
|
+ <div class="item-title">
|
|
|
+ <img
|
|
|
+ class="icon"
|
|
|
+ src="../../assets/subject/icon-USD.png"
|
|
|
+ />
|
|
|
+ Legal Tender
|
|
|
+ </div>
|
|
|
+ <div class="item-detail" @click="selectCurrency">
|
|
|
+ <div class="left">
|
|
|
+ <img
|
|
|
+ class="icon-currency"
|
|
|
+ src="../../assets/subject/icon-USD.png"
|
|
|
+ />
|
|
|
+ <div class="currency-info">
|
|
|
+ <div class="name">USD</div>
|
|
|
+ <div class="desc">PayPal</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="right">
|
|
|
+ <div class="num">1.02546572</div>
|
|
|
+ <div class="amount">$21.26</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="list-item">
|
|
|
+ <div class="item-title">
|
|
|
+ <img
|
|
|
+ class="icon"
|
|
|
+ src="../../assets/subject/icon-USD.png"
|
|
|
+ />
|
|
|
+ Token
|
|
|
+ </div>
|
|
|
+ <div class="item-detail" @click="selectCurrency">
|
|
|
+ <div class="left">
|
|
|
+ <img
|
|
|
+ class="icon-currency"
|
|
|
+ src="../../assets/subject/icon-USD.png"
|
|
|
+ />
|
|
|
+ <div class="currency-info">
|
|
|
+ <div class="name">USD</div>
|
|
|
+ <div class="desc">PayPal</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="right">
|
|
|
+ <div class="num">1.02546572</div>
|
|
|
+ <div class="amount">$21.26</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="item-detail" @click="selectCurrency">
|
|
|
+ <div class="left">
|
|
|
+ <img
|
|
|
+ class="icon-currency"
|
|
|
+ src="../../assets/subject/icon-USD.png"
|
|
|
+ />
|
|
|
+ <div class="currency-info">
|
|
|
+ <div class="name">USD</div>
|
|
|
+ <div class="desc">PayPal</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="right">
|
|
|
+ <div class="num">1.02546572</div>
|
|
|
+ <div class="amount">$21.26</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- 显示搜索结果列表 -->
|
|
|
+ <div class="search-list" v-else>
|
|
|
+ <div class="item-detail" @click="selectCurrency">
|
|
|
+ <div class="left">
|
|
|
+ <img
|
|
|
+ class="icon-currency"
|
|
|
+ src="../../assets/subject/icon-USD.png"
|
|
|
+ />
|
|
|
+ <div class="currency-info">
|
|
|
+ <div class="name">USD</div>
|
|
|
+ <div class="desc">PayPal</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="right">
|
|
|
+ <div class="num">1.02546572</div>
|
|
|
+ <div class="amount">$21.26</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup>
|
|
|
+/* eslint-disable */
|
|
|
+import { defineProps, defineEmits, ref } from "vue";
|
|
|
+
|
|
|
+let keywords = ref('');
|
|
|
+let showSearch = ref(false)
|
|
|
+
|
|
|
+const emits = defineEmits(["selectCurrency"]);
|
|
|
+
|
|
|
+const selectCurrency = () => {
|
|
|
+ emits("selectCurrency", { amount: 0, id: 1, value: "USDT" });
|
|
|
+};
|
|
|
+
|
|
|
+const onInput = (val) => {
|
|
|
+ console.log(keywords.value);
|
|
|
+ if(keywords.value) {
|
|
|
+ showSearch.value = true;
|
|
|
+ } else {
|
|
|
+ showSearch.value = false;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+const clearIpt = () => {
|
|
|
+ keywords.value = '';
|
|
|
+ showSearch.value = false;
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style scoped lang="scss">
|
|
|
+.currency-list-wrapper {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ background-color: #fff;
|
|
|
+ box-sizing: border-box;
|
|
|
+
|
|
|
+ .search-input-wrapper {
|
|
|
+ padding: 10px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ background: #f7f7f7;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ position: relative;
|
|
|
+ .input {
|
|
|
+ background: #f1f1f1;
|
|
|
+ border-radius: 110px;
|
|
|
+ width: 88%;
|
|
|
+ height: 40px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ border: none;
|
|
|
+ outline: none;
|
|
|
+ padding: 10px 80px 10px 22px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .icon {
|
|
|
+ width: 32px;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+
|
|
|
+ .icon-clear {
|
|
|
+ position: absolute;
|
|
|
+ right: 16%;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .list-wrapper {
|
|
|
+ height: calc(100% - 60px);
|
|
|
+ .list-item {
|
|
|
+ .item-title {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ height: 42px;
|
|
|
+ padding: 0 10px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ background: #f7f7f7;
|
|
|
+ font-weight: 500;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #a2a2a2;
|
|
|
+ .icon {
|
|
|
+ width: 24px;
|
|
|
+ height: 24px;
|
|
|
+ margin-right: 6px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .item-detail {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ padding: 12px 20px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ cursor: pointer;
|
|
|
+ .left {
|
|
|
+ display: flex;
|
|
|
+
|
|
|
+ .icon-currency {
|
|
|
+ width: 24px;
|
|
|
+ height: 24px;
|
|
|
+ margin-right: 12px;
|
|
|
+ }
|
|
|
+ .currency-info {
|
|
|
+ .name {
|
|
|
+ font-weight: 500;
|
|
|
+ font-size: 15px;
|
|
|
+ margin-bottom: 5px;
|
|
|
+ }
|
|
|
+ .desc {
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 12px;
|
|
|
+ color: #a2a2a2;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .right {
|
|
|
+ text-align: right;
|
|
|
+ .num {
|
|
|
+ font-weight: 500;
|
|
|
+ font-size: 15px;
|
|
|
+ margin-bottom: 5px;
|
|
|
+ }
|
|
|
+ .amount {
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 12px;
|
|
|
+ color: #a2a2a2;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|