From e01cee0f0c5c5c2eb2d8595eadb3c7a9df2a37fc Mon Sep 17 00:00:00 2001
From: 李凌 <344137771@qq.com>
Date: Wed, 21 Jan 2026 16:37:01 +0800
Subject: [PATCH] 1

---
 src/i18n/Deutsch.js                                 |    6 +
 src/i18n/Portuguese.js                              |    6 +
 src/i18n/korean.js                                  |    6 +
 src/views/ICO/icoRecord.vue                         |   80 ++++++++++++++++---
 src/components/Transform/trade-order-area/index.vue |   20 +++++
 src/i18n/th.js                                      |    6 +
 src/i18n/fa.js                                      |    6 +
 src/i18n/Italy.js                                   |    6 +
 src/i18n/Japanese.js                                |    6 +
 src/views/ICO/ico.vue                               |   10 +-
 src/i18n/vi.js                                      |    6 +
 src/components/fx-footer/index.vue                  |   12 +-
 src/views/homePage/index.vue                        |    5 
 src/i18n/cn.js                                      |    6 +
 src/i18n/en.js                                      |    6 +
 src/i18n/zhcn.js                                    |    6 +
 src/i18n/Spanish.js                                 |    6 +
 17 files changed, 172 insertions(+), 27 deletions(-)

diff --git a/src/components/Transform/trade-order-area/index.vue b/src/components/Transform/trade-order-area/index.vue
index c543156..1a4c523 100644
--- a/src/components/Transform/trade-order-area/index.vue
+++ b/src/components/Transform/trade-order-area/index.vue
@@ -91,6 +91,7 @@
 import TradeApi from "@/service/trading.js";
 import { strToArr } from '@/utils/utis'
 import { mapGetters } from "vuex";
+import { getStorage, setStorage } from '@/utils/index.js';
 // import PopupConfirmOrder from '@/components/popup-confirm-order'
 export default {
   name: "perpetualPosition",
@@ -136,6 +137,8 @@
     this.title = this.selectData[0].title
     this.type = this.selectData[0].type
     this.form.order_price_type = 'opponent'
+    // 检查是否有从其他页面传递的卖出参数
+    this.checkSellParams()
   },
   watch: {
     initOpen: { // 处理滚动条初始值
@@ -191,9 +194,26 @@
     this.title = this.selectData[0].title
     this.type = this.selectData[0].type
     this.form.order_price_type = 'opponent'
+    // 检查是否有从其他页面传递的卖出参数
+    this.checkSellParams()
   },
   methods: {
     strToArr,
+    // 检查是否有从其他页面传递的卖出参数
+    checkSellParams() {
+      const sellParams = getStorage('tradeSellParams')
+      if (sellParams && sellParams.mode === 'close' && sellParams.volume) {
+        // 切换到卖出模式
+        this.changeTab('close')
+        // 设置数量
+        this.$nextTick(() => {
+          this.form.volume = sellParams.volume
+          this.isTotal = false
+        })
+        // 清除存储的参数
+        window.localStorage.removeItem('tradeSellParams')
+      }
+    },
     checkIsTotal(val) {
       this.isTotal = val
       this.percentageVal = 0
diff --git a/src/components/fx-footer/index.vue b/src/components/fx-footer/index.vue
index ab54bc0..18a072c 100644
--- a/src/components/fx-footer/index.vue
+++ b/src/components/fx-footer/index.vue
@@ -21,10 +21,10 @@
         </template>
       </van-tabbar-item>
 
-      <van-tabbar-item name="STO" to="/ICO/ico">
-        <span :class="[active === 'STO' ? 'active' : '']">STO</span>
+      <van-tabbar-item name="ICO" to="/ICO/ico">
+        <span :class="[active === 'ICO' ? 'active' : '']">ICO</span>
         <template #icon="props">
-          <img :src="props.active ? icon.sto.active : icon.sto.inactive" />
+          <img :src="props.active ? icon.ICO.active : icon.ICO.inactive" />
         </template>
       </van-tabbar-item>
 
@@ -115,7 +115,7 @@
 } else if (route.path == "/documentation/index") {
   active.value = 'documentation'
 } else if (route.path == "/ICO/ico") {
-  active.value = 'sto'
+  active.value = 'ICO'
 }
 let quotesStore = useQuotesStore()
 
@@ -137,7 +137,7 @@
   } else if (route.path == "/documentation/index") {
     active.value = 'documentation'
   } else if (route.path == "/ICO/ico") {
-    active.value = 'sto'
+    active.value = 'ICO'
   }
 })
 // 底部列表
@@ -158,7 +158,7 @@
   //   active: new URL('@/assets/imgs/footer/news-active.png', import.meta.url),
   //   inactive: new URL('@/assets/imgs/footer/news.png', import.meta.url),
   // },
-  sto: {
+  ICO: {
     active: new URL('@/assets/imgs/footer/sto-active.png', import.meta.url),
     inactive: new URL('@/assets/imgs/footer/sto.png', import.meta.url),
   },
diff --git a/src/i18n/Deutsch.js b/src/i18n/Deutsch.js
index 232c142..2d32dae 100644
--- a/src/i18n/Deutsch.js
+++ b/src/i18n/Deutsch.js
@@ -2870,4 +2870,10 @@
     "DXCN白皮书":'DXCN-Whitepaper',
     "发售": "Verkauf",
     "资格": "Qualifikation",
+    "中签时间": "Zuteilungszeit",
+    "发行价": "Ausgabepreis",
+    "利润": "Gewinn",
+    "申购总额": "Gesamter Zeichnungsbetrag",
+    "现价总额": "Gesamter aktueller Preis",
+    "利润百分比": "Gewinnprozentsatz",
 }
\ No newline at end of file
diff --git a/src/i18n/Italy.js b/src/i18n/Italy.js
index efc2e31..87c7f01 100644
--- a/src/i18n/Italy.js
+++ b/src/i18n/Italy.js
@@ -2960,4 +2960,10 @@
     "DXCN白皮书":'Libro bianco DXCN',
     "发售": "Vendita",
     "资格": "Qualifica",
+    "中签时间": "Ora di assegnazione",
+    "发行价": "Prezzo di emissione",
+    "利润": "Profitto",
+    "申购总额": "Importo totale di sottoscrizione",
+    "现价总额": "Prezzo corrente totale",
+    "利润百分比": "Percentuale di profitto",
 }
\ No newline at end of file
diff --git a/src/i18n/Japanese.js b/src/i18n/Japanese.js
index 8521994..4ec9d74 100644
--- a/src/i18n/Japanese.js
+++ b/src/i18n/Japanese.js
@@ -2728,4 +2728,10 @@
     "DXCN白皮书":'DXCNホワイトペーパー',
     "发售": "発売",
     "资格": "資格",
+    "中签时间": "抽選時間",
+    "发行价": "発行価格",
+    "利润": "利益",
+    "申购总额": "申込総額",
+    "现价总额": "現在価格総額",
+    "利润百分比": "利益率",
 }
\ No newline at end of file
diff --git a/src/i18n/Portuguese.js b/src/i18n/Portuguese.js
index 7fa8669..b4b4017 100644
--- a/src/i18n/Portuguese.js
+++ b/src/i18n/Portuguese.js
@@ -679,4 +679,10 @@
     "DXCN白皮书":'Livro Branco do DXCN',
     "发售": "Venda",
     "资格": "Qualificação",
+    "中签时间": "Hora de alocação",
+    "发行价": "Preço de emissão",
+    "利润": "Lucro",
+    "申购总额": "Valor total da subscrição",
+    "现价总额": "Preço atual total",
+    "利润百分比": "Percentagem de lucro",
 }
\ No newline at end of file
diff --git a/src/i18n/Spanish.js b/src/i18n/Spanish.js
index c67c913..91d24c3 100644
--- a/src/i18n/Spanish.js
+++ b/src/i18n/Spanish.js
@@ -2643,4 +2643,10 @@
     "DXCN白皮书":'Libro blanco de DXCN',
     "发售": "Venta",
     "资格": "Calificación",
+    "中签时间": "Hora de asignación",
+    "发行价": "Precio de emisión",
+    "利润": "Beneficio",
+    "申购总额": "Importe total de suscripción",
+    "现价总额": "Precio actual total",
+    "利润百分比": "Porcentaje de beneficio",
 }
\ No newline at end of file
diff --git a/src/i18n/cn.js b/src/i18n/cn.js
index c0d815a..484fa8f 100644
--- a/src/i18n/cn.js
+++ b/src/i18n/cn.js
@@ -2849,4 +2849,10 @@
     "DXCN白皮书":'DXCN白皮書',
     "发售": "發售",
     "资格": "資格",
+    "中签时间": "中籤時間",
+    "发行价": "發行價",
+    "利润": "利潤",
+    "申购总额": "申購總額",
+    "现价总额": "現價總額",
+    "利润百分比": "利潤百分比",
 }
diff --git a/src/i18n/en.js b/src/i18n/en.js
index 0df39dd..9e3bf10 100644
--- a/src/i18n/en.js
+++ b/src/i18n/en.js
@@ -2824,4 +2824,10 @@
     "DXCN白皮书":'DXCN White Paper',
     "发售": "Sale",
     "资格": "Qualification",
+    "中签时间": "Allocation Time",
+    "发行价": "Issue Price",
+    "利润": "Profit",
+    "申购总额": "Total Subscription Amount",
+    "现价总额": "Total Current Price",
+    "利润百分比": "Profit Percentage",
 }
\ No newline at end of file
diff --git a/src/i18n/fa.js b/src/i18n/fa.js
index 81fb5c6..71c52c5 100644
--- a/src/i18n/fa.js
+++ b/src/i18n/fa.js
@@ -2767,4 +2767,10 @@
     "DXCN白皮书":'Livre blanc du DXCN',
     "发售": "Vente",
     "资格": "Qualification",
+    "中签时间": "Heure d'allocation",
+    "发行价": "Prix d'émission",
+    "利润": "Profit",
+    "申购总额": "Montant total de souscription",
+    "现价总额": "Prix actuel total",
+    "利润百分比": "Pourcentage de profit",
 }
\ No newline at end of file
diff --git a/src/i18n/korean.js b/src/i18n/korean.js
index 598ca93..a3d7178 100644
--- a/src/i18n/korean.js
+++ b/src/i18n/korean.js
@@ -2864,4 +2864,10 @@
     "DXCN白皮书":'DXCN 백서',
     "发售": "판매",
     "资格": "자격",
+    "中签时间": "배정 시간",
+    "发行价": "발행가",
+    "利润": "이익",
+    "申购总额": "청약 총액",
+    "现价总额": "현재가 총액",
+    "利润百分比": "이익률",
 }
\ No newline at end of file
diff --git a/src/i18n/th.js b/src/i18n/th.js
index 9136fe9..809ca30 100644
--- a/src/i18n/th.js
+++ b/src/i18n/th.js
@@ -2834,4 +2834,10 @@
     "DXCN白皮书":'เอกสารไวท์เปเปอร์ของ DXCN',
     "发售": "ขาย",
     "资格": "คุณสมบัติ",
+    "中签时间": "เวลาการจัดสรร",
+    "发行价": "ราคาออก",
+    "利润": "กำไร",
+    "申购总额": "จำนวนเงินสมัครซื้อทั้งหมด",
+    "现价总额": "ราคาปัจจุบันรวม",
+    "利润百分比": "เปอร์เซ็นต์กำไร",
 }
\ No newline at end of file
diff --git a/src/i18n/vi.js b/src/i18n/vi.js
index 3533730..1b3e4ea 100644
--- a/src/i18n/vi.js
+++ b/src/i18n/vi.js
@@ -2814,4 +2814,10 @@
     "DXCN白皮书":'Sách trắng DXCN',
     "发售": "Bán",
     "资格": "Tư cách",
+    "中签时间": "Thời gian phân bổ",
+    "发行价": "Giá phát hành",
+    "利润": "Lợi nhuận",
+    "申购总额": "Tổng số tiền đăng ký mua",
+    "现价总额": "Tổng giá hiện tại",
+    "利润百分比": "Tỷ lệ lợi nhuận",
 }
\ No newline at end of file
diff --git a/src/i18n/zhcn.js b/src/i18n/zhcn.js
index 333bc9c..28350b3 100644
--- a/src/i18n/zhcn.js
+++ b/src/i18n/zhcn.js
@@ -2829,4 +2829,10 @@
     "DXCN白皮书":'DXCN白皮书',
     "发售": "发售",
     "资格": "資格",
+    "中签时间": "中签时间",
+    "发行价": "发行价",
+    "利润": "利润",
+    "申购总额": "申购总额",
+    "现价总额": "现价总额",
+    "利润百分比": "利润百分比",
 }
\ No newline at end of file
diff --git a/src/views/ICO/ico.vue b/src/views/ICO/ico.vue
index b278d6c..b394c17 100644
--- a/src/views/ICO/ico.vue
+++ b/src/views/ICO/ico.vue
@@ -2,11 +2,11 @@
     <div class="ico">
         <fx-header :showLeft="false">
             <template v-slot:title>
-                <div>STO</div>
+                <div>ICO</div>
             </template>
-            <!-- <template v-slot:right>
+            <template v-slot:right>
                 <van-icon name="todo-list-o" @click="$router.push('/ICO/icoRecord')" />
-            </template> -->
+            </template>
         </fx-header>
 
         <div class="ico_list">
@@ -41,9 +41,9 @@
                         <van-progress :percentage="i.progressRate || 0" track-color="#ccc" />
                     </div>
                 </div>
-                <!-- <div class="item_3 flex justify-center">
+                <div class="item_3 flex justify-center">
                     <van-button type="default" round size="large" @click="openBuy(i)">{{$t('申购')}}</van-button>
-                </div> -->
+                </div>
             </div>
         </div>
 
diff --git a/src/views/ICO/icoRecord.vue b/src/views/ICO/icoRecord.vue
index 4b4847d..5579fb5 100644
--- a/src/views/ICO/icoRecord.vue
+++ b/src/views/ICO/icoRecord.vue
@@ -2,7 +2,7 @@
     <div class="icoRecord">
         <fx-header>
             <template v-slot:title>
-                <div>{{$t('申购记录')}}</div>
+                <div>{{ $t('申购记录') }}</div>
             </template>
         </fx-header>
 
@@ -16,7 +16,7 @@
         </van-tabs>
 
         <div class="icoRecord_list">
-            <div class="icoRecord_item mb-5" v-for="(item,index) in recordLIst" :key="index">
+            <div class="icoRecord_item mb-5" v-for="(item, index) in recordLIst" :key="index">
                 <div class="item_1">
                     {{ item.symbol }} ({{ item.name }})
                 </div>
@@ -32,6 +32,38 @@
                     <div>{{ $t('中签数量') }}</div>
                     <div>{{ item.ballotNumber }}</div>
                 </div>
+
+                <div class="item_2 flex justify-between">
+                    <div>{{ $t('中签时间') }}</div>
+                    <div>{{ item.endTime }}</div>
+                </div>
+                <div class="item_2 flex justify-between">
+                    <div>{{ $t('发行价') }}</div>
+                    <div>{{ item.issuePrice }}</div>
+                </div>
+                <div class="item_2 flex justify-between">
+                    <div>{{ $t('现价') }}</div>
+                    <div>{{ item.currentPrice }}</div>
+                </div>
+                <div class="item_2 flex justify-between">
+                    <div>{{ $t('利润') }}</div>
+                    <div>{{ item.profit }}</div>
+                </div>
+                <div class="item_2 flex justify-between">
+                    <div>{{ $t('申购总额') }}</div>
+                    <div>{{ item.subscriptionTotalAmount }}</div>
+                </div>
+                <div class="item_2 flex justify-between">
+                    <div>{{ $t('现价总额') }}</div>
+                    <div>{{ item.currentTotalPrice }}</div>
+                </div>
+                <div class="item_2 flex justify-between">
+                    <div>{{ $t('利润百分比') }}</div>
+                    <div>{{ item.profitPercent ? (item.profitPercent + '%') : '0' }}</div>
+                </div>
+                <div class="item_3" v-if="item.status == 5">
+                    <van-button type="primary" block round @click="goToSell(item)">{{ $t('卖出') }}</van-button>
+                </div>
             </div>
         </div>
     </div>
@@ -42,7 +74,10 @@
 import { showToast } from 'vant'
 import { _icoRecordList } from "@/service/ico.api.js";
 import { useI18n } from "vue-i18n";
+import { useRouter } from "vue-router";
+import { setStorage } from "@/utils/index.js";
 const { t } = useI18n()
+const router = useRouter()
 
 // tab切换
 const active = ref('0');
@@ -56,7 +91,7 @@
     let opt = {
         status: active.value
     }
-    if(opt.status == '0') delete opt.status
+    if (opt.status == '0') delete opt.status
     _icoRecordList(opt).then((res) => {
         console.log(res);
         recordLIst.value = res.records
@@ -88,38 +123,57 @@
     }
     return str
 }
+
+// 跳转到卖出页面
+const goToSell = (item) => {
+    // 将卖出参数存储到 localStorage,供交易页面读取
+    setStorage('tradeSellParams', {
+        volume: item.ballotNumber || '0',
+        mode: 'close' // 卖出模式
+    })
+    if (item.symbol) {
+        router.push(`/cryptos/trade/${item.symbol}`)
+    } else {
+        showToast(t('交易对信息错误'))
+    }
+}
 </script>
 
 <style lang="scss" scoped>
-.icoRecord{
+.icoRecord {
     padding: 0rem 1.2rem 2rem 1.2rem;
     font-size: 1.5rem;
 
-    .icoRecord_list{
+    .icoRecord_list {
         padding: 1rem 0rem;
-        .icoRecord_item{
-            background-color: #eee;
-            padding:.5rem 1rem;
+
+        .icoRecord_item {
+            background-color: #333;
+            padding: .5rem 1rem;
             border: #aaa solid 1px;
             border-radius: 1rem;
-            .item_1{
+
+            .item_1 {
                 padding: 1rem .5rem;
                 border-bottom: #ccc solid 1px;
                 font-size: 2rem;
                 font-weight: 700;
             }
-            .item_2{
+
+            .item_2 {
                 padding: 1rem .5rem;
                 border-bottom: #ccc solid 1px;
                 font-size: 1.6rem;
                 font-weight: 500;
 
-                &>div:last-child{
+                &>div:last-child {
                     color: #999;
                 }
             }
-            .item_3{
-                padding: .5rem;
+
+            .item_3 {
+                padding: 1rem .5rem;
+                margin-top: 1rem;
             }
         }
     }
diff --git a/src/views/homePage/index.vue b/src/views/homePage/index.vue
index 031b536..1cc2d70 100644
--- a/src/views/homePage/index.vue
+++ b/src/views/homePage/index.vue
@@ -131,12 +131,11 @@
     // { key: 9, name: t('闪兑'), icon: new URL('@/assets/imgs/home/home_8.png', import.meta.url), path: '/cryptos/exchangePage' },
     // { key: 9, name: t('划转'), icon: new URL('@/assets/imgs/home/home_8.png', import.meta.url), path: '/my/transfer' },
     // { key: 10, name: t('更多'), icon: new URL('@/assets/imgs/home/home_9.png', import.meta.url) },
-
-    // { key: 11, name: "STO", icon: new URL('@/assets/imgs/home/home_1.png', import.meta.url), path: '/ICO/ico' },
     // { key: 12, name: "C2C", icon: new URL('@/assets/imgs/home/home_1.png', import.meta.url), path: '/wantBuy' },
     // { key: 13, name: t('质押'), icon: new URL('@/assets/imgs/home/home_1.png', import.meta.url), path: '' },
     { key: 14, name: t('onLineService'), icon: new URL('@/assets/imgs/home/home_10.png', import.meta.url), path: '/customerService' },
     // { key: 15, name: 'DXCM PDF', icon: new URL('@/assets/imgs/home/home_1.png', import.meta.url), path: 'https://www.dexm-whitepaper.com/' },
+    { key: 11, name: "ICO", icon: new URL('@/assets/imgs/home/home_1.png', import.meta.url), path: '/ICO/ico' },
 ]
 
 // 获取公告数据
@@ -365,7 +364,7 @@
         width: 100%;
 
         .grid_item {
-            width: 33%;
+            width: 25%;
             color: $tab-c;
             font-size: 1.6rem;
 

--
Gitblit v1.9.3