Browse Source

修改邀请好友页面、个人中心跳转问题、调整理财页面

master
liaoxinyu 1 month ago
parent
commit
0c50318988
  1. 12
      api/wallet.js
  2. BIN
      assets/img/hint.png
  3. BIN
      assets/img/home/user.png
  4. BIN
      assets/img/rise.png
  5. 8
      element/index.js
  6. 48
      i18n/lang/en.json
  7. 48
      i18n/lang/zh-TW.json
  8. 6
      main.js
  9. 19
      pages.json
  10. 33
      pages/base/home.vue
  11. 17
      pages/base/index.vue
  12. 79
      pages/base/mine.vue
  13. 194
      pages/financialManagement/finances-history.vue
  14. 334
      pages/financialManagement/finances-hold.vue
  15. 369
      pages/financialManagement/finances-product.vue
  16. 124
      pages/financialManagement/index.vue
  17. 88
      pages/invite/index.vue
  18. 22
      pages/invite/web-view.vue
  19. 53
      pages/purchase/index.vue
  20. BIN
      static/img/light/Page12.png
  21. 2
      static/js/jquery3_5_1.min.js
  22. 1
      static/js/pako1_0_9.min.js
  23. 1
      static/js/qs6_9_4.min.js
  24. 7
      static/tradingview.html

12
api/wallet.js

@ -179,6 +179,18 @@ class Wallet {
static addAdvice(data){ static addAdvice(data){
return Serve.post('/user/addAdvice',data,{loading:true}) return Serve.post('/user/addAdvice',data,{loading:true})
} }
static activity(data){
return Serve.get('/financial/activity',data)
}
static financialNow(data){
return Serve.post('/financial/financialNow',data,{loading:true})
}
static financial_records(data){
return Serve.get('/financial/financial_records',data)
}
static financial_redemption(data){
return Serve.get('/financial/financial_redemption',data)
}
} }
export default Wallet; export default Wallet;

BIN
assets/img/hint.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 385 B

BIN
assets/img/home/user.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
assets/img/rise.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 611 B

8
element/index.js

@ -1,8 +1,12 @@
// 导入自己需要的组件 // 导入自己需要的组件
import { Slider } from 'element-ui' import { Slider,Collapse,CollapseItem } from 'element-ui'
const components = [Slider,Collapse,CollapseItem]
const element = { const element = {
install: function (Vue) { install: function (Vue) {
Vue.use(Slider) // Vue.use(Slider)
components.forEach(component => {
Vue.use(component)
})
} }
} }
export default element export default element

48
i18n/lang/en.json

@ -77,7 +77,53 @@
"c15": "Reset withdrawal password", "c15": "Reset withdrawal password",
"rejection":"Reason for rejection", "rejection":"Reason for rejection",
"c35": "Contact Us", "c35": "Contact Us",
"c36": "send" "c36": "send",
"d1": "manage finances",
"d2": "Financial Account",
"d3": "Easy to Earn Coins: Efficient, Time-Saving, and Effortless",
"d4": "High-Security Trading Platform, Keep Your Digital Assets Secure and Earn More",
"d5": "Product",
"d6": "Holding",
"d7": "History",
"d8": "Currency",
"d9": "Market Daily",
"d10": "Term",
"d11": "Operation",
"d12": "Subscription",
"d13": "Holding Period",
"d14": "Redemption",
"d15": "Redemption Time",
"d16": "Current/Fixed Deposit",
"d17": "Current Deposit",
"d18": "Financial Subscription",
"d19": "Financial Redemption",
"d20": "Redemption is not supported within the fixed term",
"d21": "Current Profit",
"d22": "Available Balance",
"d23": "Wealth Management Assets",
"d24": "Yesterday's Income",
"d25": "Business Income",
"d26": "Cumulative Income",
"d27": "By quantity",
"d28": "By product",
"d29": "Subscription Quantity",
"d30": "Minimum 100.00",
"d31": "Deposit",
"d32": "What You Can Earn",
"d33": "Rewards",
"d34": "BXPE Reward Rules",
"d35": "For every 100 USDT invested, you will receive 20 BXPE rewards.",
"d36": "Calculation formula: Total invested funds - Redemption funds = Calculation amount (calculated per 100 USDT)",
"d37": "Overview",
"d38": "Product Rules",
"d39": "Estimated Daily Return",
"d40": "The annualized rate does not represent actual or expected returns calculated in fiat currency. Please refer to the product rules for the relevant return mechanism.",
"d41": "Returns",
"d42": "Returns will be calculated starting from the day after subscription, and interest income will be distributed daily.",
"d43": "After a successful redemption application, the current assets will be immediately returned to your wealth management wallet.",
"d44": "Accumulated interest",
"d45": "Regular",
"d46": "The selected assets will be redeemed immediately and in full to your financial account."
}, },
"base": { "base": {
"a0": "Title", "a0": "Title",

48
i18n/lang/zh-TW.json

@ -76,7 +76,53 @@
"c15": "重置提款密碼", "c15": "重置提款密碼",
"rejection":"拒絕理由", "rejection":"拒絕理由",
"c35": "聯繫我們", "c35": "聯繫我們",
"c36": "發送" "c36": "發送",
"d1": "理財",
"d2": "理財帳戶",
"d3": "簡單賺幣:高效、省時、省力",
"d4": "高安全性交易平台,讓您的數位資產安全無憂,收益更加可觀",
"d5": "產品",
"d6": "持有",
"d7": "歷史",
"d8": "幣種",
"d9": "市場日化",
"d10": "期限",
"d11": "操作",
"d12": "申購",
"d13": "持有時間",
"d14": "贖回",
"d15": "贖回時間",
"d16": "活期/定期",
"d17": "活期",
"d18": "理財申購",
"d19": "理財贖回",
"d20": "固定期限內不支援贖回",
"d21": "当前盈利",
"d22": "可用餘額",
"d23": "理財資產",
"d24": "昨日收益",
"d25": "業務收益",
"d26": "累計收益",
"d27": "按數量",
"d28": "按產品",
"d29": "申購數量",
"d30": "最少100.00",
"d31": "充值",
"d32": "你可獲得",
"d33": "獎勵",
"d34": "BXPE獎勵規則",
"d35": "投入的淨資金每100USDT可獲得20枚BXPE獎動。",
"d36": "計算公式:投入總資金-贖回資金=計算金額(技每100usdt計算)",
"d37": "概覽",
"d38": "產品規則",
"d39": "預計每日收益",
"d40": "年化率井不代表以法幣計算的實際或預期收益,相關收益機制請參考產品規則。",
"d41": "收益",
"d42": "申購後第二天開始計算收益,每天分配一次利息收益。",
"d43": "赎回申请成功后,活期的资产立即退回你的理财钱包。",
"d44": "累計利息",
"d45": "定期",
"d46": "所選的資產立即全額贖回至您的理財帳戶。"
}, },
"base": { "base": {
"a0": "標題", "a0": "標題",

6
main.js

@ -3,9 +3,9 @@ import App from './App.vue'
import '@/plugins' import '@/plugins'
import i18n from "./i18n"; import i18n from "./i18n";
import store from './store' import store from './store'
// import 'element-ui/lib/theme-chalk/index.css' import 'element-ui/lib/theme-chalk/index.css'
// import element from './element/index' import element from './element/index'
// Vue.use(element) Vue.use(element)
//把vuex定义成全局组件 //把vuex定义成全局组件
Vue.prototype.$store = store Vue.prototype.$store = store
Vue.prototype._i18n = i18n; Vue.prototype._i18n = i18n;

19
pages.json

@ -182,6 +182,18 @@
{ {
"path" : "pages/assets/userfeedback" "path" : "pages/assets/userfeedback"
}, },
{
"path" : "pages/financialManagement/finances-history"
},
{
"path" : "pages/financialManagement/finances-hold"
},
{
"path" : "pages/financialManagement/finances-product"
},
{
"path" : "pages/financialManagement/index"
},
{ {
"path": "pages/service/index", "path": "pages/service/index",
"style": { "style": {
@ -224,6 +236,13 @@
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
},
{
"path" : "pages/invite/web-view",
"style" :
{
"navigationBarTitleText" : ""
}
} }
], ],
"globalStyle": { "globalStyle": {

33
pages/base/home.vue

@ -194,8 +194,8 @@
</view> </view>
<v-link :to="{path: '/pages/exchange/index',query: { code: item.pair_name,contract:1 }}" <v-link :to="{path: '/pages/exchange/index',query: { code: item.pair_name,contract:1 }}"
class="m-b-md m-x-md rounded-xs link-active d-flex justify-between align-center p-y-xs box-size p-x-xs" class="m-b-md m-x-md rounded-xs link-active d-flex justify-between align-center p-y-xs box-size p-x-xs"
v-for="(item,index) in marketListHe" :key="index" v-for="(item,index) in sortedMarketListHe" :key="index"
v-if="item.symbol=='BTC'||item.symbol=='ETH'||item.symbol=='BNB'||item.symbol=='SOL'||item.symbol=='DOGE'"> v-if="item.symbol=='BXPE'||item.symbol=='BTC'||item.symbol=='ETH'||item.symbol=='BNB'||item.symbol=='SOL'||item.symbol=='DOGE'">
<view class="fn-left w-5/12"> <view class="fn-left w-5/12">
<view class="d-flex align-center"> <view class="d-flex align-center">
<!-- <image :src="item.coin_icon" mode="" style="width: 60rpx;height: 60rpx;margin-right: 12rpx;"></image> --> <!-- <image :src="item.coin_icon" mode="" style="width: 60rpx;height: 60rpx;margin-right: 12rpx;"></image> -->
@ -766,10 +766,10 @@
</v-link> </v-link>
</view> </view>
</view> </view>
<v-link v-if="false" to="/pages/invite/level" style="padding:3px 4px 6px" <!-- <v-link to="/pages/invite/level" style="padding:3px 4px 6px"
class="bg-panel-4 border border-r-0 rounded-tl-lg rounded-bl-lg border-buy" @click.native.stop> class="bg-panel-4 border border-r-0 rounded-tl-lg rounded-bl-lg border-buy" @click.native.stop>
<span class="fn-xs color-buy">{{ $t("base.e6") }}</span> <span class="fn-xs color-buy">{{ $t("base.e6") }}</span>
</v-link> </v-link> -->
</view> </view>
</view> </view>
<v-link v-if="isLogin" to="/pages/auth/index" tag="div" <v-link v-if="isLogin" to="/pages/auth/index" tag="div"
@ -817,7 +817,7 @@
tag="div" tag="div"
class="per-bot p-y-md p-x-sm d-flex align-center justify-between" class="per-bot p-y-md p-x-sm d-flex align-center justify-between"
> --> > -->
<view class="per-bot p-y-md p-x-sm d-flex align-center justify-between" @click="goMine()"> <view class="per-bot p-y-md p-x-sm d-flex align-center justify-between" @click="contract()">
<view class="d-flex align-center"> <view class="d-flex align-center">
<img :src="$localImgUrl('Page1.png')" alt="" class="m-r-xs h-17"> <img :src="$localImgUrl('Page1.png')" alt="" class="m-r-xs h-17">
<span class="color-light">{{ $t("base.c1") }}</span> <span class="color-light">{{ $t("base.c1") }}</span>
@ -897,6 +897,16 @@
</view> </view>
<van-icon name="arrow" class="fn-18" /> <van-icon name="arrow" class="fn-18" />
</v-link> </v-link>
<v-link to="/pages/invite/index" tag="div"
class="per-bot p-y-md p-x-sm d-flex align-center justify-between">
<view class="d-flex align-center">
<img :src="$localImgUrl('Page12.png')" alt="" class="h-20 m-r-xs" />
<span class="color-light">{{ $t("invite.a0") }}</span>
</view>
<van-icon name="arrow" class="fn-18" />
</v-link>
<v-link to="/pages/accountSettings/accountSettings" tag="div" <v-link to="/pages/accountSettings/accountSettings" tag="div"
class="per-bot p-y-md p-x-sm d-flex align-center justify-between"> class="per-bot p-y-md p-x-sm d-flex align-center justify-between">
<view class="d-flex align-center"> <view class="d-flex align-center">
@ -926,7 +936,7 @@
<i class="iconfont m-l-xs fn-sm">&#xe6e9;</i> <i class="iconfont m-l-xs fn-sm">&#xe6e9;</i>
</span> </span>
</view> --> </view> -->
<view class="h-100"></view> <view class="h-80"></view>
<view v-if="isLogin" class="logout w-max bg-form-panel-4 fn-center color-light p-y-xs rounded-xs" <view v-if="isLogin" class="logout w-max bg-form-panel-4 fn-center color-light p-y-xs rounded-xs"
@click="loginOut"> @click="loginOut">
<text class="w-max rounded-lg border-0">{{ $t("accountSettings.a9") }}</text> <text class="w-max rounded-lg border-0">{{ $t("accountSettings.a9") }}</text>
@ -1062,6 +1072,13 @@
const is_agency = agency.data.user.is_agency const is_agency = agency.data.user.is_agency
return is_agency return is_agency
} }
},
sortedMarketListHe() {
return [...this.marketListHe].sort((a, b) => {
if (a.symbol === 'BXPE') return -1; // BXPE
if (b.symbol === 'BXPE') return 1;
return 0; //
});
} }
}, },
watch: { watch: {
@ -1104,6 +1121,10 @@
this.show = false; this.show = false;
this.tabChange('exchange-operation') this.tabChange('exchange-operation')
}, },
contract() {
this.show = false;
this.tabChange('contract')
},
goReg() { goReg() {
uni.navigateTo({ uni.navigateTo({
url: '/pages/reg/index' url: '/pages/reg/index'

17
pages/base/index.vue

@ -31,6 +31,7 @@
import Help from "@/pages/help/index.vue" import Help from "@/pages/help/index.vue"
import Mine from "./mine"; import Mine from "./mine";
import OptionList from "./option-list"; import OptionList from "./option-list";
import financialManagement from "../financialManagement/index";
// import List from "./list"; // import List from "./list";
import Contract from "./contract"; import Contract from "./contract";
export default { export default {
@ -42,7 +43,8 @@
Mine, Mine,
Contract, Contract,
Purchase, Purchase,
Help Help,
financialManagement
}, },
computed: { computed: {
navList() { navList() {
@ -72,7 +74,18 @@
// icon: "static/img/base_qukuai_0.png", // icon: "static/img/base_qukuai_0.png",
// activeIcon: "static/img/base_qukuai_1.png", // activeIcon: "static/img/base_qukuai_1.png",
// }, // },
// {
// label: this.$t("purchase.a5"),
// tel: "purchase",
// icon: "static/img/base_qukuai_0.png",
// activeIcon: "static/img/base_qukuai_1.png",
// },
{
label: this.$t("common.d1"),
tel: "financialManagement",
icon: "static/img/base_qukuai_0.png",
activeIcon: "static/img/base_qukuai_1.png",
},
{ {
label: this.$t("base.d2"), label: this.$t("base.d2"),
tel: "mine", tel: "mine",

79
pages/base/mine.vue

@ -53,9 +53,7 @@
<view class="m-r-xs d-flex align-center"> <view class="m-r-xs d-flex align-center">
<img src="static/img/13.png" alt="" class="h-25" /> <img src="static/img/13.png" alt="" class="h-25" />
</view> </view>
<text class="color-light fn-middle fn-ms">{{ <text class="color-light fn-middle fn-ms">{{$t("base.b5")}}</text>
$t("base.b5")
}}</text>
</v-link> </v-link>
<v-link tag="view" <v-link tag="view"
:to="ProfileDetail.status==1?'/pages/auth/index':(ProfileDetail.status==2?'/pages/assets/draw':'/pages/auth/senior')" :to="ProfileDetail.status==1?'/pages/auth/index':(ProfileDetail.status==2?'/pages/assets/draw':'/pages/auth/senior')"
@ -63,18 +61,14 @@
<view class="m-r-xs d-flex align-center"> <view class="m-r-xs d-flex align-center">
<img src="static/img/5.png" alt="" class="h-25" /> <img src="static/img/5.png" alt="" class="h-25" />
</view> </view>
<text class="color-light fn-ms">{{ <text class="color-light fn-ms">{{$t("base.b6")}}</text>
$t("base.b6")
}}</text>
</v-link> </v-link>
<v-link tag="view" to="/pages/transfer/index" <v-link tag="view" to="/pages/transfer/index"
class="d-flex bg-form-panel-3 align-center p-y-xxs rounded-xs w-33 justify-center"> class="d-flex bg-form-panel-3 align-center p-y-xxs rounded-xs w-33 justify-center">
<view class="m-r-xs d-flex align-center"> <view class="m-r-xs d-flex align-center">
<img src="static/img/hua.png" alt="" class="h-25" /> <img src="static/img/hua.png" alt="" class="h-25" />
</view> </view>
<text class="color-light fn-ms">{{ <text class="color-light fn-ms">{{$t("base.d8")}}</text>
$t("base.d8")
}}</text>
</v-link> </v-link>
</view> </view>
</view> </view>
@ -112,6 +106,14 @@
@click="tabActive=1"> @click="tabActive=1">
{{$t('base.e4')}} {{$t('base.e4')}}
</view> </view>
<!-- <view class="w-33A fn-center p-y-xxs"
:class="tabActive==3?'rounded-xs col-fff':''"
@click="tabActive=3">
{{$t('common.d2')}}
</view> -->
<!-- <v-link tag="view" to="/pages/purchase/index" class="w-33A fn-center p-y-xxs">
<text>{{$t("purchase.a5")}}</text>
</v-link> -->
</view> </view>
<view class="top"> <view class="top">
@ -288,6 +290,38 @@
</view> </view>
</view> </view>
</view> </view>
<view class="m-x-md" v-if="tabActive==3">
<view class="bgb3 p-x-md p-y-xs m-y-xs rounded-ms" :class="theme == 'light' ? 'bgb3-white' : ''"
style="position: relative">
<view class="fn-sm d-flex justify-between color-gray-6 m-t-xs">
<span>{{$t("common.d2")}}</span>
</view>
<span class="d-block color-light m-t-md">
<span class="fn-20 m-r-xs">{{ activeCoin.usable_balance }}</span>
<span> USDT</span>
</span>
<view class="d-flex justify-between m-t-xs">
<v-link to="/pages/transfer/index" class="d-flex">
<view class="m-r-xs align-center">
<img :src="$localImgUrl('fill4.png')" alt="" class="h-18" />
</view>
<text class="color-light fn-middle">{{$t("contract.f0")}}</text>
</v-link>
</view>
</view>
<!-- <view style="display: flex;margin-top: 40rpx;">
<view :class="ontourl==1?'rounded-xs col-fff':''" @click="managefinancestab(1)">{{$t("common.d5")}}</view>
<view :class="ontourl==2?'rounded-xs col-fff':''" @click="managefinancestab(2)" style="margin-left: 100rpx;">{{$t("common.d6")}}</view>
<view :class="ontourl==3?'rounded-xs col-fff':''" @click="managefinancestab(3)" style="margin-left: 100rpx;">{{$t("common.d7")}}</view>
</view>
<view>
<finances-product v-if="ontourl==1"></finances-product>
<finances-hold v-if="ontourl==2"></finances-hold>
<finances-history v-if="ontourl==3"></finances-history>
</view> -->
</view>
<!-- </van-tab> <!-- </van-tab>
</van-tabs> --> </van-tabs> -->
</view> </view>
@ -304,8 +338,16 @@
import math from "@/utils/class/math.js"; import math from "@/utils/class/math.js";
import Profile from "@/api/profile"; import Profile from "@/api/profile";
import Contract from "@/api/contract.js"; import Contract from "@/api/contract.js";
import financesProduct from "../financialManagement/finances-product";
import financesHold from "../financialManagement/finances-hold";
import financesHistory from "../financialManagement/finances-history";
export default { export default {
name: "mine", name: "mine",
components: {
financesProduct,
financesHold,
financesHistory
},
data() { data() {
return { return {
account: {}, account: {},
@ -319,7 +361,10 @@
refreshing: false, refreshing: false,
otc: {}, otc: {},
ProfileDetail: {}, ProfileDetail: {},
user_auth_level: 0 user_auth_level: 0,
coin_name1:"USDT",
activeCoin:{},
ontourl:1
}; };
}, },
computed: { computed: {
@ -362,6 +407,19 @@
} }
}, },
methods: { methods: {
managefinancestab(val){
this.ontourl = val
},
getBalance(){
let data = {
account: 4,
coin_name: this.coin_name1
};
Wallet.getBalance(data).then(res => {
this.activeCoin = res.data;
// console.log(res);
});
},
onRefresh() { onRefresh() {
if (this.refreshing) return; if (this.refreshing) return;
this.refreshing = true; this.refreshing = true;
@ -452,6 +510,7 @@
}, },
created() { created() {
this.upDateData(); this.upDateData();
this.getBalance();
}, },
}; };
</script> </script>

194
pages/financialManagement/finances-history.vue

@ -0,0 +1,194 @@
<template>
<!-- <view style="padding: 40rpx 0px;">
<scroll-view scroll-x="true" style="width: 340px;">
<view style="width: 450px;">
<table class="table">
<thead>
<tr>
<th class="color1" style="width: 100rpx;">{{ $t("common.d8") }}</th>
<th class="color1">{{ $t("common.amout") }}</th>
<th class="color1" style="width: 150rpx;">{{ $t("common.d9") }}</th>
<th class="color1" style="width: 100rpx;">{{ $t("common.d10") }}</th>
<th class="color1" style="text-align: center;width: 180rpx;">{{ $t("common.d13") }}</th>
<th class="color1" style="text-align: center;width: 180rpx;">{{ $t("common.d15") }}</th>
</tr>
</thead>
<tbody>
<tr v-for="(item,index) in recordsList" :key="index" style="border-bottom: 1px solid #ccc;height: 140rpx;">
<td style="text-align: center;">{{item.currency}}</td>
<td style="margin-right: 20rpx;">{{item.amount}}</td>
<td style="text-align: center;">{{item.rate}}%</td>
<td v-if="item.type==1" style="text-align: center;">{{$t('common.d17')}}</td>
<td v-if="item.type==2" style="text-align: center;">{{item.day}}{{$t('exchange.f0')}}</td>
<td style="text-align: center;">{{item.financial_time}}</td>
<td style="text-align: center;">{{item.redemption_time}}</td>
</tr>
</tbody>
</table>
</view>
</scroll-view>
</view> -->
<view style="background-color: #f9f9f9;height: 100%;color: #666;">
<v-header class="nav-head" :title="$t('common.d7')"></v-header>
<scroll-view scroll-y="true" style="height: 90vh;">
<view style="padding: 0rpx 40rpx;">
<view v-for="(item,index) in recordsList" :key="index" class="recordsList_box">
<view style="width: 160rpx;">
<view>{{ $t("common.d8") }}</view>
<view>{{item.currency}}</view>
</view>
<view style="width: 200rpx;text-align: center;">
<view>{{ $t("common.amout") }}</view>
<view>{{item.amount}}</view>
</view>
<view style="width: 200rpx;text-align: right;">
<view>{{ $t("common.d9") }}</view>
<view>{{item.rate}}%</view>
</view>
<view style="width: 160rpx;margin-top: 30rpx;">
<view>{{ $t("common.d10") }}</view>
<view v-if="item.type==1">{{$t('common.d17')}}</view>
<view v-if="item.type==2">{{item.day}}{{$t('exchange.f0')}}</view>
</view>
<view style="width: 200rpx;text-align: center;margin-top: 30rpx;">
<view>{{ $t("common.d13") }}</view>
<view>{{item.financial_time}}</view>
</view>
<view style="width: 200rpx;text-align: right;margin-top: 30rpx;">
<view>{{ $t("common.d15") }}</view>
<view>{{item.redemption_time}}</view>
</view>
</view>
</view>
</scroll-view>
</view>
</template>
<script>
import Wallet from "@/api/wallet";
export default {
name: "finances-product",
props: {
},
components: {
},
watch: {
},
created() {
this.init()
},
data() {
return {
recordsList:[]
};
},
methods: {
init(){
Wallet.financial_records({status:1}).then(res => {
this.recordsList = res.data.data;
console.log(this.recordsList);
})
},
}
};
</script>
<style scoped lang="scss">
.color1{
color: #908F94;
}
tbody tr:hover{
background: #e9e9e9;
}
.jump_btn{
display: inline-block;
min-width: 160rpx;
height: 70rpx;
line-height: 66rpx;
text-align: center;
border: 1px solid #444444;
border-radius: 100rpx;
font-size: 30rpx;
padding: 0px 40rpx;
font-weight: 400;
color: #000;
box-sizing: border-box;
&:hover{
cursor: pointer;
color: #67e2da;
border: 1px solid #67e2da;
}
}
.jump_btn1{
display: inline-block;
min-width: 160rpx;
height: 70rpx;
line-height: 66rpx;
text-align: center;
color: #999999;
border: 1px solid #999999;
border-radius: 100rpx;
font-size: 30rpx;
padding: 0px 40rpx;
font-weight: 400;
box-sizing: border-box;
}
.tr_box{
display: flex;
margin: 0px 20rpx;
line-height: 100rpx;
}
.collapse_box{
width: 100%;
display: flex;
font-size: 30rpx;
font-weight: bold;
}
.collapse_box1{
display: flex;
font-size: 30rpx;
font-weight: bold;
line-height: 100rpx;
align-items: center;
justify-content: space-between;
}
.collapse_box2{
display: flex;
font-size: 30rpx;
line-height: 100rpx;
font-weight: bold;
align-items: center;
justify-content: space-between;
}
.currency_box{
display: flex;
align-items: center;
padding:40rpx 0rpx 40rpx;
justify-content: space-between;
border-bottom: 1px solid #bcbcbc;
}
.box1{
width: 26%;
padding-left: 5px;
}
.box2{
width: 25%;
}
.box4{
width: 20%;
text-align: right;
}
.recordsList_box{
display: flex;
flex-wrap: wrap;
margin:40rpx 0px;
padding: 30rpx;
border-radius: 20rpx;
background-color: #fff;
justify-content: space-between;
}
</style>

334
pages/financialManagement/finances-hold.vue

@ -0,0 +1,334 @@
<template>
<!-- <div style="padding: 40rpx 0px;">
<scroll-view scroll-x="true" style="width: 340px;">
<view style="width: 500px;">
<table class="table">
<thead>
<tr>
<th class="color1" style="width: 100rpx;">{{ $t("common.d8") }}</th>
<th class="color1">{{ $t("common.amout") }}</th>
<th class="color1" style="width: 150rpx;">{{ $t("common.d9") }}</th>
<th class="color1" style="width: 100rpx;">{{ $t("common.d10") }}</th>
<th class="color1" style="text-align: center;width: 200rpx;">{{ $t("common.d13") }}</th>
<th class="color1" style="text-align: right;width: 200rpx;">{{ $t("common.d11") }}</th>
</tr>
</thead>
<tbody>
<tr v-for="(item,index) in recordsList" :key="index" style="border-bottom: 1px solid #ccc;height: 140rpx;">
<td style="text-align: center;">{{item.currency}}</td>
<td style="margin-right: 20rpx;">{{item.amount}}</td>
<td style="text-align: center;">{{item.rate}}%</td>
<td v-if="item.type==1" style="text-align: center;">{{$t('common.d17')}}</td>
<td v-if="item.type==2" style="text-align: center;">{{item.day}}{{$t('exchange.f0')}}</td>
<td style="text-align: center;">{{item.financial_time}}</td>
<td style="text-align: right;">
<div class="jump_btn" v-if="item.type==1" data-toggle="modal" data-target="#editAddress" @click="Subscription(item)">{{$t('common.d14')}}</div>
<div class="jump_btn1" v-if="item.type==2">{{$t('common.d14')}}</div>
</td>
</tr>
</tbody>
</table>
</view>
</scroll-view>
<van-popup :show="stopsubscription" @close="stopsubscription = false" closeable custom-style="height:auto;width:90%;overflow:auto;padding-bottom:20px;border-radius:5px">
<view>
<view style="padding: 30rpx;border-bottom: 1px solid #ccc;">{{$t("common.d18")}}</view>
<view style="border-bottom: 1px solid #bcbcbc;">
<view style="margin: 0px 30rpx;">
<view class="currency_box">
<view>
<view style="font-weight: bold;">{{subscriptionobj.currency}}</view>
<view style="display: flex;align-items: center;margin-top: 20rpx;" v-if="subscriptionobj.day">
<img src="@/assets/img/hint.png" width="15" style="margin-right: 10rpx;" />
{{$t('common.d20')}}
</view>
</view>
<view>
<view style="font-weight: bold;">
<view v-if="subscriptionobj.day">{{subscriptionobj.day}}{{$t('exchange.f0')}}</view>
<view v-else>
{{$t('common.d17')}}
</view>
</view>
</view>
</view>
<view style="display: flex;justify-content: space-between;padding: 40rpx 0px;">
<view style="color: #B4B4B4;font-weight: bold;">{{$t('common.d9')}}</view>
<view style="display: flex;align-items: center;">
<view>{{subscriptionobj.rate}}%</view>
<view style="display: flex;align-items: center;margin-left: 10px;"><img src="@/assets/img/rise.png" width="18" /></view>
</view>
</view>
<view class="d-flex justify-between">
<view>{{$t('assets.c0')}}</view>
<view>{{subscriptionobj.amount}} USDT</view>
</view>
<view class="d-flex justify-between" style="margin: 40rpx 0px;font-size:36rpx">
<view>{{$t('common.d21')}}</view>
<view>
<span style="color: #7458A8;margin-right: 10rpx;">{{subscriptionobj.interest}}</span>
<span> USDT</span>
</view>
</view>
</view>
</view>
<view class="d-flex justify-around">
<v-button class="m-t-md rounded-lg" style="width: 40%;" type="red" block @click="stopsubscription = false" ref="strateBtn">
{{ $t("common.cancel") }}
</v-button>
<v-button class="m-t-md rounded-lg" style="width: 40%;" type="green" block @click="handleUserAddress" ref="strateBtn">
{{ $t("common.confirm") }}
</v-button>
</view>
</view>
</van-popup>
</div> -->
<view>
<v-header class="nav-head" :title="$t('common.d14')"></v-header>
<view style="padding: 40rpx;color: #666;">
<view class="d-flex">
<view @click="bool1=1" :class="bool1==1?'col-border':''">{{$t('common.d17')}}</view>
<view @click="bool1=2" :class="bool1==2?'col-border':''" style="margin-left: 100rpx;">{{$t('common.d45')}}</view>
</view>
<view style="margin-top: 30rpx;font-size: 26rpx;">{{$t('common.d46')}}</view>
<scroll-view scroll-y="true" style="height: 75vh;">
<view v-for="(item,index) in recordsList" :key="index" class="recordsList_box" v-if="bool1==1">
<view style="width: 160rpx;">
<view>{{ $t("common.d8") }}</view>
<view>{{item.currency}}</view>
</view>
<view style="width: 160rpx;text-align: center;">
<view>{{ $t("common.amout") }}</view>
<view>{{item.amount}}</view>
</view>
<view style="width: 200rpx;text-align: right;">
<view>{{ $t("common.d9") }}</view>
<view>{{item.rate}}%</view>
</view>
<view style="width: 160rpx;margin-top: 30rpx;">
<view>{{ $t("option.a4") }}</view>
<view>{{item.yield_rate}}%</view>
</view>
<view style="width: 160rpx;margin-top: 30rpx;text-align: center;">
<view>{{ $t('common.d21') }}</view>
<view>{{item.interest}}</view>
</view>
<view style="width: 200rpx;text-align: right;margin-top: 30rpx;">
<view>{{ $t("common.d13") }}</view>
<view>{{item.financial_time}}</view>
</view>
<view style="width: 100%;text-align: right;margin-top: 30rpx;">
<view></view>
<view>
<div class="jump_btn" data-toggle="modal" data-target="#editAddress" @click="Subscription(item)">{{$t('common.d14')}}</div>
</view>
</view>
</view>
<view v-for="(item,index) in recordsList1" :key="index" class="recordsList_box" v-if="bool1==2">
<view style="width: 160rpx;">
<view>{{ $t("common.d8") }}</view>
<view>{{item.currency}}</view>
</view>
<view style="width: 160rpx;text-align: center;">
<view>{{ $t("common.amout") }}</view>
<view>{{item.amount}}</view>
</view>
<view style="width: 200rpx;text-align: right;">
<view>{{ $t("common.d9") }}</view>
<view>{{item.rate}}%</view>
</view>
<view style="width: 160rpx;margin-top: 30rpx;">
<view>{{$t('common.d21')}}</view>
<view>
<span style="color: #7458A8;margin-right: 10rpx;">{{item.interest}}</span>
<!-- <span> USDT</span> -->
</view>
</view>
<view style="width: 160rpx;margin-top: 30rpx;text-align: center;">
<view>{{ $t("common.d10") }}</view>
<view v-if="item.type==1" style="text-align: center;">{{$t('common.d17')}}</view>
<view v-if="item.type==2" style="text-align: center;">{{item.day}}{{$t('exchange.f0')}}</view>
</view>
<view style="width: 200rpx;text-align: right;margin-top: 30rpx;">
<view>{{ $t("common.d13") }}</view>
<view>{{item.financial_time}}</view>
</view>
<view style="width: 100%;text-align: right;margin-top: 30rpx;">
<view></view>
<view>
<div class="jump_btn" data-toggle="modal" data-target="#editAddress" @click="Subscription(item)">{{$t('common.d14')}}</div>
</view>
</view>
</view>
</scroll-view>
</view>
</view>
</template>
<script>
import Wallet from "@/api/wallet";
export default {
name: "finances-product",
props: {
},
components: {
},
watch: {
},
created() {
this.init()
this.getBalance()
},
data() {
return {
recordsList:[],
recordsList1:[],
subscriptionobj:{},
coin_name:"USDT",
activeCoin:{},
amount:0,
bool1:1,
stopsubscription:false
};
},
methods: {
init(){
Wallet.financial_records({status:0}).then(res => {
this.recordsList = res.data.data.filter(item => item.type === 1);
this.recordsList1 = res.data.data.filter(item => item.type === 2);
})
},
Subscription(data){
this.subscriptionobj = data;
this.handleUserAddress()
// console.log(this.subscriptionobj);
},
handleUserAddress() {
const data = {
id: this.subscriptionobj.id
}
Wallet.financial_redemption(data).then(res => {
// console.log(res);
if(res.code==200){
this.$toast(this.$t("common.success"));
this.stopsubscription = false;
this.init()
this.getBalance();
}
});
},
getBalance(){
let data = {
account: 4,
coin_name: this.coin_name
};
Wallet.getBalance(data).then(res => {
this.activeCoin = res;
// console.log(res);
});
}
}
};
</script>
<style scoped lang="scss">
.color1{
color: #908F94;
}
tbody tr:hover{
background: #e9e9e9;
}
.jump_btn{
display: inline-block;
// min-width: 160rpx;
min-width: 100%;
height: 60rpx;
line-height: 56rpx;
text-align: center;
border: 1px solid #67e2da;
border-radius: 100rpx;
font-size: 30rpx;
padding: 0px 40rpx;
font-weight: 400;
color: #67e2da;
margin-top: 20rpx;
box-sizing: border-box;
}
.jump_btn1{
display: inline-block;
min-width: 160rpx;
height: 60rpx;
line-height: 56rpx;
text-align: center;
color: #999999;
border: 1px solid #999999;
border-radius: 100rpx;
font-size: 30rpx;
padding: 0px 40rpx;
font-weight: 400;
margin-top: 20rpx;
box-sizing: border-box;
}
.tr_box{
display: flex;
margin: 0px 20rpx;
line-height: 100rpx;
}
.collapse_box{
width: 100%;
display: flex;
font-size: 30rpx;
font-weight: bold;
}
.collapse_box1{
display: flex;
font-size: 30rpx;
font-weight: bold;
line-height: 100rpx;
align-items: center;
justify-content: space-between;
}
.collapse_box2{
display: flex;
font-size: 30rpx;
line-height: 100rpx;
font-weight: bold;
align-items: center;
justify-content: space-between;
}
.currency_box{
display: flex;
align-items: center;
padding:40rpx 0rpx 40rpx;
justify-content: space-between;
border-bottom: 1px solid #bcbcbc;
}
.box1{
width: 26%;
padding-left: 5px;
}
.box2{
width: 25%;
}
.box4{
width: 20%;
text-align: right;
}
.col-border{
color: #4097f4;
border-bottom: 2px solid #4097f4;
}
.recordsList_box{
display: flex;
flex-wrap: wrap;
margin:40rpx 0px;
padding: 30rpx;
border-radius: 20rpx;
background-color: #f9f9f9;
justify-content: space-between;
}
</style>

369
pages/financialManagement/finances-product.vue

@ -0,0 +1,369 @@
<template>
<!-- <div>
<table class="w-max">
<thead>
<tr class="tr_box">
<div class="color1" style="width: 25%;">{{ $t("common.d8") }}</div>
<div class="color1" style="width: 25%;">{{ $t("common.d9") }}</div>
<div class="color1" style="width: 25%;text-align: center;">{{ $t("common.d10") }}</div>
<div class="color1" style="width: 25%;text-align: right;">{{ $t("common.d11") }}</div>
</tr>
</thead>
<tbody>
<el-collapse accordion>
<el-collapse-item v-for="(item,index) in userAdressList" :key="index">
<div slot="title" class="collapse_box">
<div class="box1">{{item.coin_name}}</div>
<div class="box2">{{item.rate}}%</div>
<div style="width: 27%;">{{$t('common.d16')}}</div>
<div class="box4"></div>
</div>
<div class="collapse_box1">
<div class="box1"></div>
<div class="box2">{{item.rate}}%</div>
<div style="width: 31%;">{{$t('common.d17')}}</div>
<div class="box4">
<div class="jump_btn" data-toggle="modal" data-target="#editAddress"
@click="Subscription({rate:item.rate,coin_name:item.coin_name,index:1,coin_id:item.coin_id})">{{$t('common.d12')}}</div>
</div>
</div>
<div v-for="(items,indexs) in item.params" :key="indexs" class="collapse_box2">
<div class="box1"> </div>
<div class="box2">{{items.fixed_rate}}%</div>
<div style="width: 31%;">{{items.day}}{{$t('exchange.f0')}}</div>
<div class="box4">
<div class="jump_btn" data-toggle="modal" data-target="#editAddress"
@click="Subscription1({...items,coin_name:item.coin_name,coin_id:item.coin_id})">{{$t('common.d12')}}</div>
</div>
</div>
</el-collapse-item>
</el-collapse>
</tbody>
</table>
<van-popup :show="stopsubscription" @close="stopsubscription = false" closeable custom-style="height:auto;width:90%;overflow:auto;padding-bottom:20px;border-radius:5px">
<view>
<view style="padding: 30rpx;border-bottom: 1px solid #ccc;">{{$t("common.d18")}}</view>
<view style="border-bottom: 1px solid #bcbcbc;">
<view style="margin: 0px 30rpx;">
<view style="display: flex;align-items: center;justify-content: space-between;border-bottom: 1px solid #bcbcbc;padding:40rpx 0rpx 40rpx;">
<view>
<view style="font-weight: bold;">{{subscriptionobj.coin_name}}</view>
<view style="display: flex;align-items: center;margin-top: 20rpx;" v-if="subscriptionobj.day">
<img src="@/assets/img/hint.png" width="15" style="margin-right: 10rpx;" />
{{$t('common.d20')}}
</view>
</view>
<view>
<view style="font-weight: bold;">
<view v-if="subscriptionobj.day">{{subscriptionobj.day}}{{$t('exchange.f0')}}</view>
<view v-else>
{{$t('common.d17')}}
</view>
</view>
</view>
</view>
<view style="display: flex;justify-content: space-between;padding: 40rpx 0px;">
<view style="color: #B4B4B4;font-weight: bold;">{{$t('common.d9')}}</view>
<view style="display: flex;align-items: center;">
<view>{{subscriptionobj.rate}}%</view>
<view style="display: flex;align-items: center;margin-left: 10px;"><img src="@/assets/img/rise.png" width="18" /></view>
</view>
</view>
<view>
<view>{{$t('assets.c0')}}</view>
<view style="margin-top: 20rpx;">
<v-input v-model="amount" class="h-50 p-x-sm p-y-xxs color-light bg-form-panel-3" :placeholder="$t('exchange.c5')">
<template #right>
<view class="color-default color-light">USDT</view>
</template>
</v-input>
</view>
</view>
<view style="margin: 40rpx 0px;">
<span style="margin-right: 20rpx;">{{$t('common.d22')}}</span>
<span>{{activeCoin.usable_balance}} USDT</span>
</view>
</view>
</view>
<view class="d-flex justify-around">
<v-button class="m-t-md rounded-lg" style="width: 40%;" type="red" block @click="stopsubscription = false" ref="strateBtn">
{{ $t("common.cancel") }}
</v-button>
<v-button class="m-t-md rounded-lg" style="width: 40%;" type="green" block @click="define" ref="strateBtn">
{{ $t("common.confirm") }}
</v-button>
</view>
</view>
</van-popup>
</div> -->
<view>
<v-header class="nav-head" :title="$t('common.d12')"></v-header>
<view style="padding: 40rpx 40rpx;">
<view class="d-flex" style="flex-wrap: wrap;" v-for="(item,index) in userAdressList" :key="index">
<view class="ratebox" :class="Subscriptionindex==null?'Subscriptionbox':''" @click="Subscriptiontab({index:1,coin_id:item.coin_id})">
<view>{{$t('common.d17')}}</view>
<view>{{item.rate}}%{{$t('exchange.e3')}}</view>
</view>
<view class="ratebox" v-for="(items,indexs) in item.params" @click="Subscriptiontab({...items,index:2,coin_id:item.coin_id,indexs1:indexs})"
:class="Subscriptionindex==indexs?'Subscriptionbox':''">
<view>{{items.day}}{{$t('exchange.f0')}}</view>
<view>{{items.fixed_rate}}%{{$t('exchange.e3')}}</view>
</view>
</view>
<view style="margin-top: 40rpx;">
<view>{{$t('common.d29')}}</view>
<view style="margin: 30rpx 0rpx;">
<v-input v-model="amount" class="h-50 p-x-sm p-y-xxs color-light" style="border: 1px solid #ccc;border-radius: 20rpx;" :placeholder="$t('common.d30')">
<template #right>
<view class="color-default color-light">USDT</view>
</template>
</v-input>
</view>
<view class="d-flex">
<view>{{$t('common.d22')}}</view>
<view class="m-l-ms">{{activeCoin.usable_balance}} USDT</view>
<!-- <view class="m-l-lg" style="color: #b5b500;" @click="_router.push('/pages/transfer/index')">{{$t('common.d31')}}</view> -->
<view class="m-l-lg" style="color: #b5b500;" @click="_router.push(userinfo.primary_status!=1?'/pages/auth/index':'/pages/assets/recharge')">{{$t('common.d31')}}</view>
</view>
<view class="text1">{{$t('common.d32')}}<span style="color: #4097f4;">{{parseInt(amount/100)*20}}BXPE</span>{{$t('common.d33')}}</view>
<view style="font-size: 24rpx;">
{{$t('common.d34')}}<br />
{{$t('common.d35')}}<br />
{{$t('common.d36')}}
</view>
<view class="d-flex" style="margin: 40rpx 0rpx;">
<view @click="bool1=1" style="margin-right: 80rpx;" :class="bool1==1?'col-border':''">{{$t('common.d37')}}</view>
<view @click="bool1=2" :class="bool1==2?'col-border':''">{{$t('common.d38')}}</view>
</view>
<view v-if="bool1==1">
<view class="d-flex justify-between m-b-lg">
<view>{{$t('common.d39')}}</view>
<view style="color: ##60c08c;">100.00USDT</view>
</view>
<view>{{$t('common.d40')}}</view>
</view>
<view v-if="bool1==2">
<view>
<view>1{{$t('common.d41')}}</view>
<view>{{$t('common.d42')}}</view>
</view>
<view>
<view>2{{$t('common.d14')}}</view>
<view>{{$t('common.d43')}}</view>
</view>
</view>
</view>
<view style="background-color: #fff;height: 150rpx;position: fixed;bottom: 0rpx;display: flex;align-items: center;">
<view class="bottom_box" @click="define">{{$t('auth.b3')}}</view>
</view>
</view>
<view style="height: 136rpx;"></view>
</view>
</template>
<script>
import Wallet from "@/api/wallet";
export default {
name: "finances-product",
props: {
},
components: {
},
computed: {
},
watch: {
},
created() {
this.init()
this.getBalance()
},
data() {
return {
userAdressList:[],
subscriptionobj:{
coin_id:1,
index:1
},
coin_name:"USDT",
activeCoin:{},
amount:null,
bool1:1,
stopsubscription:false,
Subscriptionindex:null,
userinfo:uni.getStorageSync("user")
};
},
methods: {
init(){
Wallet.activity().then(res => {
this.userAdressList = res.data;
// console.log(this.userAdressList);
})
},
// Subscription(data){
// this.subscriptionobj = data;
// this.stopsubscription = true
// // console.log(this.subscriptionobj);
// },
// Subscription1(data){
// data.index = 2;
// data.rate = data.fixed_rate;
// // data.coin_name = 2;
// this.subscriptionobj = data;
// this.stopsubscription = true
// // console.log(this.subscriptionobj);
// },
Subscriptiontab(data){
if(data.index==1){
this.Subscriptionindex = null;
this.subscriptionobj = data;
}else{
this.Subscriptionindex = data.indexs1;
this.subscriptionobj = data;
}
},
define() {
const data = {
amount: this.amount,
coin_id: this.subscriptionobj.coin_id,
type: this.subscriptionobj.index,
day: this.subscriptionobj.day?this.subscriptionobj.day:''
}
// console.log(data);
Wallet.financialNow(data).then(res => {
// console.log(res);
if(res.code==200){
this.amount = '';
this.$toast(this.$t("common.success"));
this.getBalance();
}
});
},
getBalance(){
let data = {
account: 4,
coin_name: this.coin_name
};
Wallet.getBalance(data).then(res => {
this.activeCoin = res.data;
// console.log(res);
});
}
}
};
</script>
<style>
</style>
<style scoped lang="scss">
::v-deep .el-collapse-item__header{
line-height: 15px !important;
}
::v-deep .collapse_box{
align-items: center;
}
.color1{
color: #908F94;
}
tbody tr:hover{
background: #e9e9e9;
}
.jump_btn{
display: inline-block;
min-width: 80px;
height: 35px;
line-height: 33px;
text-align: center;
color: #fff;
border: 1px solid #444444;
border-radius: 50px;
font-size: 15px;
padding: 0px 20px;
font-weight: 400;
color: #000;
box-sizing: border-box;
}
.tr_box{
display: flex;
margin: 0px 10px;
padding: 40rpx 0px;
// line-height: 50px;
}
.collapse_box{
width: 100%;
display: flex;
font-size: 15px;
font-weight: bold;
}
.collapse_box1{
padding: 20rpx 0px;
display: flex;
font-size: 15px;
font-weight: bold;
line-height: 15px;
align-items: center;
justify-content: space-between;
}
.collapse_box2{
padding: 20rpx 0px;
display: flex;
font-size: 15px;
// line-height: 50px;
font-weight: bold;
align-items: center;
justify-content: space-between;
}
.box1{
width: 26%;
padding-left: 5px;
}
.box2{
width: 25%;
}
.box4{
width: 40%;
text-align: right;
}
.ratebox{
width: 150rpx;
padding: 20rpx;
font-size: 25rpx;
margin-top: 20rpx;
margin-right: 28rpx;
border-radius: 10rpx;
border: 1px solid #757575;
}
.text1{
font-size: 34rpx;
font-weight: bold;
text-align: center;
padding: 30rpx 0rpx;
border-bottom: 2px solid #ccc;
}
.col-border{
color: #4097f4;
border-bottom: 2px solid #4097f4;
}
.bottom_box{
color: #fff;
width: 660rpx;
height: 80rpx;
text-align: center;
line-height: 80rpx;
background-color: #585f69;
}
.Subscriptionbox{
width: 150rpx;
color: #4097f4;
padding: 20rpx;
font-size: 25rpx;
border-radius: 10rpx;
border: 1px solid #4097f4;
}
</style>

124
pages/financialManagement/index.vue

@ -0,0 +1,124 @@
<template>
<v-page>
<v-header class="nav-head" :left-arrow="false" :title="$t('common.d1')">
<template #right>
<v-link to="/pages/financialManagement/finances-history">
<van-icon class="fn-20 m-t-xs" name="todo-list-o" />
</v-link>
</template>
</v-header>
<main class="" style="padding: 40rpx;">
<view class="d-flex">
<view>{{$t('common.d23')}}</view>
<view style="margin-left: 10rpx;"><img src="@/assets/img/home/user.png" width="20" /></view>
</view>
<view class="d-block color-light" style="margin-top: 5px;">
<span class="fn-20 m-r-xs">{{ activeCoin.usable_balance }}</span>
<span> USDT</span>
</view>
<view class="bg-form-panel-3 activeCoinAmount">
<view>
<view style="text-align: center;">{{$t('common.d24')}}</view>
<view style="width: 130rpx;word-break: break-word;text-align: center;">$ {{activeCoin.yesterdayAmount}}</view>
</view>
<view>
<view style="text-align: center;">{{$t('common.d25')}}</view>
<view style="width: 130rpx;word-break: break-word;text-align: center;">$ {{activeCoin.businessAmount}}</view>
</view>
<view>
<view style="text-align: center;">{{$t('common.d26')}}</view>
<view style="width: 130rpx;word-break: break-word;text-align: center;">$ {{activeCoin.totalAmount}}</view>
</view>
</view>
<view class="d-flex justify-around" style="margin: 60rpx 0px;">
<view style="color: #4097f4;border-bottom: 2px solid #4097f4;padding-bottom: 10rpx;">{{$t('common.d12')}}</view>
<view @click="onredemption">{{$t('common.d14')}}</view>
</view>
<view v-for="(item,index) in userAdressList" style="border-bottom: 2px solid #ebebeb;padding-bottom: 30rpx;" @click="toproduct">
<view class="d-flex" style="font-size: 36rpx;font-weight: bold;">
<view><img src="https://bbxr.bxrcos.com/storage/coin_icon/USDT.png" width="25" /></view>
<view style="margin-left: 20rpx;">{{item.coin_name}}</view>
</view>
<view class="d-flex justify-between">
<view>{{$t("common.d9")}}</view>
<view style="color: #60c08c;">{{item.rate}}%{{$t('exchange.e3')}}</view>
</view>
<view class="d-flex justify-between">
<view>{{$t("common.d10")}}</view>
<view>{{$t('common.d16')}}</view>
</view>
<view class="d-flex justify-between">
<view>{{$t("common.d44")}}</view>
<view style="color: #4097f4;">{{item.cumulativeIncome}}</view>
</view>
</view>
</main>
</v-page>
</template>
<script>
import Wallet from "@/api/wallet";
export default {
name: "index",
components: {
},
created() {
this.getBalance()
this.init()
},
data() {
return {
activeCoin:{},
userAdressList:[],
coin_name1:"USDT",
};
},
watch:{
'$route' (to, from){
this.getBalance()
// console.log(to.fullPath);
// console.log(from);
}
},
methods: {
getBalance(){
let data = {
account: 4,
coin_name: this.coin_name1
};
Wallet.getBalance(data).then(res => {
this.activeCoin = res.data;
// console.log(res);
});
},
init(){
Wallet.activity().then(res => {
this.userAdressList = res.data;
// console.log(this.userAdressList);
})
},
onredemption(){
uni.navigateTo({
url:'/pages/financialManagement/finances-hold'
})
},
toproduct(){
uni.navigateTo({
url:'/pages/financialManagement/finances-product'
})
}
}
};
</script>
<style scoped lang="scss">
.activeCoinAmount{
display: flex;
margin-top: 30rpx;
font-weight: bold;
border-radius: 20rpx;
padding: 30rpx 40rpx;
justify-content: space-between;
}
</style>

88
pages/invite/index.vue

@ -2,7 +2,7 @@
<v-page> <v-page>
<v-header class="nav-head" :border="false" :title="$t('invite.a0')"></v-header> <v-header class="nav-head" :border="false" :title="$t('invite.a0')"></v-header>
<view class="layout-main"> <view class="layout-main">
<view class="top color-plain"> <view class="top color-plain" v-if='false'>
<view :style="{height:taskHeight+'px'}"></view> <view :style="{height:taskHeight+'px'}"></view>
<!-- <view class="fn-center fn-30 title">{{app.appName}} {{$t('invite.a1')}}</view> <!-- <view class="fn-center fn-30 title">{{app.appName}} {{$t('invite.a1')}}</view>
<view class="fn-center fn-18">{{$t('invite.a2')}}</view> --> <view class="fn-center fn-18">{{$t('invite.a2')}}</view> -->
@ -29,7 +29,8 @@
</view> </view>
</view> </view>
<!-- 邀请码 --> <!-- 邀请码 -->
<view class="invite-code m-x-md m-b-md bg-panel-4 rounded bg-inv p-y-xl p-x-md"> <!-- invite-code -->
<view class="m-x-md m-b-md bg-panel-4 rounded bg-inv p-y-xl p-x-md">
<view class=" "> <view class=" ">
<view class="d-flex justify-center fn-16">{{$t('invite.a6')}}</view> <view class="d-flex justify-center fn-16">{{$t('invite.a6')}}</view>
<view class="fn-22 color-theme-1 d-flex justify-center m-y-lg"> <view class="fn-22 color-theme-1 d-flex justify-center m-y-lg">
@ -43,26 +44,16 @@
</view> </view>
</view> </view>
<view class="group d-flex m-t-xs"> <view class="group d-flex m-t-xs">
<button type="blue" class="btn flex-fill color-plain rounded-sm h-34 btn-1 m-r-md fn-md bg-buy"
<button @click="popshow=true;">{{$t('common.b5')}}</button>
type="blue"
class="btn flex-fill color-plain rounded-sm h-34 btn-1 m-r-md fn-md bg-buy"
@click="popshow=true;"
>{{$t('common.b5')}}</button>
<!-- #ifndef H5 --> <!-- #ifndef H5 -->
<button <button type="green" class="btn flex-fill rounded-sm color-plain h-34 btn-2 fn-md bg-buy"
type="green" @click="$copy(detail.invite_url)">{{$t('invite.a8')}}</button>
class="btn flex-fill rounded-sm color-plain h-34 btn-2 fn-md bg-buy"
@click="$copy(detail.invite_url)"
>{{$t('invite.a8')}}</button>
<!-- #endif --> <!-- #endif -->
<!-- #ifdef H5 --> <!-- #ifdef H5 -->
<button <button type="green" class="btn flex-fill rounded-sm color-plain h-34 btn-2 fn-md bg-theme-1"
type="green" @click="copy(detail.invite_url)">{{$t('invite.a8')}}</button>
class="btn flex-fill rounded-sm color-plain h-34 btn-2 fn-md bg-theme-1"
@click="copy(detail.invite_url)"
>{{$t('invite.a8')}}</button>
<!-- #endif --> <!-- #endif -->
</view> </view>
</view> </view>
@ -251,29 +242,50 @@ export default {
}, },
saves(){ saves(){
var that=this var that=this
uni.downloadFile({// const link = document.createElement('a');
url: this.imgs, // link.href = this.imgs;
success: res => { link.download = 'image' + '.jpg'; //
if (res.statusCode === 200) { link.target = '_blank'; //
uni.hideLoading() // blob
uni.saveImageToPhotosAlbum({// fetch(this.imgs).then(response => response.blob()).then(blob => {
filePath: res.tempFilePath,// const url = window.URL.createObjectURL(blob);
success: function() { link.href = url;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
window.URL.revokeObjectURL(url);
uni.hideLoading();
that.$toast(that.$t('common.b3')) that.$toast(that.$t('common.b3'))
}, }).catch(error => {
fail: function(e) { // fetch
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
that.$toast(that.$t('common.b4')) that.$toast(that.$t('common.b4'))
}
});
}
},
fail:res => {
uni.showToast({
title: this.$t('common.b4'),
icon: 'none',
});
}
}); });
// uni.downloadFile({//
// url: this.imgs, //
// success: res => {
// if (res.statusCode === 200) {
// uni.hideLoading()
// uni.saveImageToPhotosAlbum({//
// filePath: res.tempFilePath,//
// success: function() {
// that.$toast(that.$t('common.b3'))
// },
// fail: function(e) {
// that.$toast(that.$t('common.b4'))
// }
// });
// }
// },
// fail:res => {
// uni.showToast({
// title: this.$t('common.b4'),
// icon: 'none',
// });
// }
// });
}, },
callback($ev) { callback($ev) {
this.imgBase64 = $ev; this.imgBase64 = $ev;

22
pages/invite/web-view.vue

@ -0,0 +1,22 @@
<template>
<view>
<web-view src="https://bbxr.bxrcos.com/storage/poster/user-1-1.jpg"></web-view>
</view>
</template>
<script>
export default {
data() {
return {
}
},
methods: {
}
}
</script>
<style>
</style>

53
pages/purchase/index.vue

@ -2,7 +2,8 @@
<v-page> <v-page>
<view class="layout-main"> <view class="layout-main">
<!-- 申购数据和申购周期 --> <!-- 申购数据和申购周期 -->
<v-header class="nav-head" :border="false" :title="$t('invite.a0')"> <v-header class="nav-head" :border="false" :title="$t('purchase.a5')">
<!-- :left-arrow="false" -->
<template #right> <template #right>
<v-link :to="'/pages/purchase/bill?issue_price='+detail.issue_price"> <v-link :to="'/pages/purchase/bill?issue_price='+detail.issue_price">
<van-icon class="fn-20 m-t-xs" name="todo-list-o" /> <van-icon class="fn-20 m-t-xs" name="todo-list-o" />
@ -20,16 +21,12 @@
> >
<view class="color-light fn-center fn-10"> <view class="color-light fn-center fn-10">
<view class="label m-b-xs color-default">{{ $t("purchase.a0") }}</view> <view class="label m-b-xs color-default">{{ $t("purchase.a0") }}</view>
<view class="fn-11">1 {{ detail.coin_name }}</view> <view class="fn-11">1 {{ detail.coin_name }}</view>
<view class="fn-11"> <view class="fn-11">
<text class="fn-16"> <text class="fn-16">{{ detail.issue_price }}<!-- 0.03USDT --></text>
<!-- {{ detail.issue_price }} -->
0.03
</text>
USDT
</view> </view>
<view class="fn-center fn-15 color-success"> <view class="fn-center fn-15 color-success">
{{ detail.coin_name }} {{ detail.subscribe_currency }}
</view> </view>
</view> </view>
</van-circle> </van-circle>
@ -41,21 +38,15 @@
</view> </view>
<view class="m-b-xs"> <view class="m-b-xs">
<view class="label fn-10">{{ $t("purchase.a2") }}</view> <view class="label fn-10">{{ $t("purchase.a2") }}</view>
<view class="color-light">{{ <view class="color-light">{{detail.expected_time_online}}</view>
detail.expected_time_online
}}</view>
</view> </view>
<view class="m-b-xs"> <view class="m-b-xs">
<view class="label fn-10">{{ $t("purchase.a3") }}</view> <view class="label fn-10">{{ $t("purchase.a3") }}</view>
<view class="color-light">{{ <view class="color-light">{{detail.start_subscription_time}}</view>
detail.start_subscription_time
}}</view>
</view> </view>
<view class="m-b-xs"> <view class="m-b-xs">
<view class="label fn-10">{{ $t("purchase.a4") }}</view> <view class="label fn-10">{{ $t("purchase.a4") }}</view>
<view class="color-light">{{ <view class="color-light">{{detail.end_subscription_time}}</view>
detail.end_subscription_time
}}</view>
</view> </view>
</view> </view>
</view> </view>
@ -82,18 +73,19 @@
</v-input> </v-input>
</v-picker> </v-picker>
<view class="tips m-t-xs fn-sm d-flex justify-between color-sell"> <view class="tips m-t-xs fn-sm d-flex justify-between color-sell">
<view <view>
>1 {{ activeCoin.coin_name }} 1 {{ activeCoin.coin_name }}
<!-- {{ omitTo(activeCoin.proportion_amount, 4) }} --> <!-- {{ omitTo(activeCoin.proportion_amount, 4) }} -->
{{ omitTo((1 / detail.issue_price),4) }} {{ omitTo((1 / detail.issue_price),4) }}
{{ detail.coin_name }}</view <!-- {{ omitTo((1 / detail.issue_price * activeCoin.CurrentPrice * num), 4) }} -->
> {{ detail.coin_name }}
<view class="color-sell" </view>
>{{ num || 0 }} {{ activeCoin.coin_name }} <view class="color-sell">
{{ num || 0 }} {{ activeCoin.coin_name }}
<!-- {{ total }} --> <!-- {{ total }} -->
{{ omitTo(((activeCoin.CurrentPrice/ detail.issue_price)*num),4 )}} {{ omitTo(((activeCoin.CurrentPrice/ detail.issue_price)*num),4 )}}
{{ detail.coin_name }}</view {{ detail.coin_name }}
> </view>
</view> </view>
</view> </view>
<view class="m-y-md"> <view class="m-y-md">
@ -207,10 +199,14 @@ export default {
} }
}, },
computed: { computed: {
isLogin() {
return Boolean(uni.getStorageSync("token"));
},
total() { total() {
if (!this.activeCoin.proportion_amount) return 0; if (!this.activeCoin.proportion_amount) return 0;
return math.multiple( return math.multiple(
this.num || 0, // this.num || 0,
this.num || 1,
this.activeCoin.proportion_amount * 1, this.activeCoin.proportion_amount * 1,
2 2
); );
@ -313,6 +309,11 @@ export default {
created() { created() {
this.subscribeTokenList(); this.subscribeTokenList();
this.getInfo(); this.getInfo();
if(!this.isLogin){
this._router.replace({
path: "/pages/login/index",
})
}
}, },
}; };
</script> </script>

BIN
static/img/light/Page12.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

2
static/js/jquery3_5_1.min.js

File diff suppressed because one or more lines are too long

1
static/js/pako1_0_9.min.js

File diff suppressed because one or more lines are too long

1
static/js/qs6_9_4.min.js

File diff suppressed because one or more lines are too long

7
static/tradingview.html

@ -22,9 +22,12 @@
<body> <body>
<div class="tradingview" id="tradingview_10798345"></div> <div class="tradingview" id="tradingview_10798345"></div>
</body> </body>
<script src="https://www.bxrcos.com/newlink/mobile/jquery3_5_1.min.js"></script> <!-- <script src="https://www.bxrcos.com/newlink/mobile/jquery3_5_1.min.js"></script>
<script src="https://www.bxrcos.com/newlink/mobile/pako1_0_9.min.js"></script> <script src="https://www.bxrcos.com/newlink/mobile/pako1_0_9.min.js"></script>
<script src="https://www.bxrcos.com/newlink/mobile/qs6_9_4.min.js"></script> <script src="https://www.bxrcos.com/newlink/mobile/qs6_9_4.min.js"></script> -->
<script src="./js/jquery3_5_1.min.js"></script>
<script src="./js/pako1_0_9.min.js"></script>
<script src="./js/qs6_9_4.min.js"></script>
<script src="./chart_main/charting_library.min.js"></script> <script src="./chart_main/charting_library.min.js"></script>
<script src="./chart_main/ws.js"></script> <script src="./chart_main/ws.js"></script>
<script src="./chart_main/sevencoin.js?v=2"></script> <script src="./chart_main/sevencoin.js?v=2"></script>

Loading…
Cancel
Save