From 09cd59e111da050db1e26621a231c7e2eb7a415b Mon Sep 17 00:00:00 2001
From: 李凌 <344137771@qq.com>
Date: Wed, 21 Jan 2026 21:55:11 +0800
Subject: [PATCH] 1
---
src/views/ICO/ico-old.vue | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 157 insertions(+), 0 deletions(-)
diff --git a/src/views/ICO/ico-old.vue b/src/views/ICO/ico-old.vue
new file mode 100644
index 0000000..b394c17
--- /dev/null
+++ b/src/views/ICO/ico-old.vue
@@ -0,0 +1,157 @@
+<template>
+ <div class="ico">
+ <fx-header :showLeft="false">
+ <template v-slot:title>
+ <div>ICO</div>
+ </template>
+ <template v-slot:right>
+ <van-icon name="todo-list-o" @click="$router.push('/ICO/icoRecord')" />
+ </template>
+ </fx-header>
+
+ <div class="ico_list">
+ <div class="ico_item mb-5" v-for="i in icoList" :key="i.id">
+ <div class="item_1">
+ {{ i.name }}
+ </div>
+ <div class="item_2 flex justify-between">
+ <div class="mr-5">{{ $t('申购时间') }}</div>
+ <div>{{ i.startDate }} ~ {{ i.endDate }}</div>
+ </div>
+ <div class="item_2 flex justify-between">
+ <div>{{ $t('最低认购') }}</div>
+ <div>{{ i.minContribution }}</div>
+ </div>
+ <div class="item_2 flex justify-between">
+ <div>{{ $t('币种数量') }}</div>
+ <div>{{ i.maxContribution }}</div>
+ </div>
+ <div class="item_2 flex justify-between">
+ <div>{{ $t('IssuePrice') }}</div>
+ <div>{{ i.unitAmount }}</div>
+ </div>
+
+ <div class="item_2 flex justify-between">
+ <div>{{ $t('listingDate') }}</div>
+ <div>{{ i.marketDate }}</div>
+ </div>
+ <div class="item_2 flex justify-between align-center">
+ <div>{{ $t('进度') }}</div>
+ <div style="width: 70%;padding-top: 1rem;">
+ <van-progress :percentage="i.progressRate || 0" track-color="#ccc" />
+ </div>
+ </div>
+ <div class="item_3 flex justify-center">
+ <van-button type="default" round size="large" @click="openBuy(i)">{{$t('申购')}}</van-button>
+ </div>
+ </div>
+ </div>
+
+
+ <!-- 购买弹窗 -->
+ <van-popup v-model:show="show" round>
+ <div class="buy_popup">
+ <div class="buy_title flex justify-center">{{ itemObj.symbol }}</div>
+
+ <van-field v-model="sgNum" type="digit" :label="$t('申购数量')" />
+
+ <div class="flex justify-center mt-5">
+ <van-button type="default" size="large" round @click="buy">{{ $t('confirm') }}</van-button>
+ </div>
+ </div>
+ </van-popup>
+ </div>
+</template>
+
+<script setup>
+import { ref } from "vue";
+import { showToast } from 'vant'
+import { _icoList, _icoSubscribe } from "@/service/ico.api.js";
+import { useI18n } from "vue-i18n";
+const { t } = useI18n()
+
+// 获取列表
+const icoList = ref([])
+_icoList().then(res => {
+ icoList.value = res.records
+}).catch(err => {
+ // showToast(err.msg)
+})
+
+// 打开申购弹窗
+const show = ref(false) // 控制弹窗显示
+const itemObj = ref({}) // ico列表项
+const sgNum = ref(0) // 申购数量
+const openBuy = (i) => {
+ show.value = true
+ itemObj.value = i
+}
+
+// 申购
+const buy = () => {
+ let opt = {
+ icoProjectId: itemObj.value.id,
+ subscribeNums: sgNum.value,
+ subscriptionType: 1,
+ }
+ _icoSubscribe(opt).then(res => {
+ showToast(t('submitSuccess'))
+ show.value = false
+ }).catch(err => {
+ showToast(err)
+ })
+}
+
+</script>
+
+<style lang="scss" scoped>
+.ico {
+ padding: 0rem 1.2rem 5rem 1.2rem;
+ font-size: 1.5rem;
+
+ .buy_popup {
+ width: 40rem;
+ padding: 1rem;
+
+ .buy_title {
+ font-size: 2.5rem;
+ font-weight: 700;
+ border-bottom: #aaa solid 1px;
+ padding: 1rem;
+ }
+ }
+
+ .ico_list {
+ padding: 1rem 0rem;
+
+ .ico_item {
+ background-color: #333;
+ padding: .5rem 1rem;
+ border: #aaa solid 1px;
+ border-radius: 1rem;
+
+ .item_1 {
+ padding: 1rem .5rem;
+ border-bottom: #ccc solid 1px;
+ font-size: 2rem;
+ font-weight: 700;
+ }
+
+ .item_2 {
+ padding: 1rem .5rem;
+ border-bottom: #ccc solid 1px;
+ font-size: 1.6rem;
+ font-weight: 500;
+
+ &>div:last-child {
+ color: #999;
+ }
+ }
+
+ .item_3 {
+ padding: .5rem;
+ }
+ }
+ }
+}
+</style>
\ No newline at end of file
--
Gitblit v1.9.3