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