no message

This commit is contained in:
2025-12-11 13:48:48 +08:00
parent f11a12a416
commit 6c92138283
17 changed files with 1446 additions and 785 deletions
+231 -73
View File
@@ -1,62 +1,99 @@
<template>
<view class="content">
<TopSafe></TopSafe>
<Header title="加速次数" />
<TopSafe bgColor="#fff"></TopSafe>
<Header title="数字积分" bgColor="#fff" />
<view class="contract-view">
<image src="https://cex-pub.s3.ap-southeast-1.amazonaws.com/static/mine-purse/jia_bg.png" class="jia-img">
<image src="/static/new/jia_bg.png" class="jia-img">
</image>
<view class="box-panel" style="margin-top:384rpx">
<view class="box-top flex-r-lr" style="margin-bottom:48rpx;">
<view class="flex-c-lr" v-for="(item, index) in tList" :key="index" style="align-items: center;width:40%;">
<text class="text-48 text-zu1 text-bold">{{ item.text }}</text>
<text class="text-28 text-zu1">{{ item.value }}</text>
<view class="box-panel">
<view class="box-top">
<view class="flex-c-lr" style="align-items: center;">
<text class="text-40 text-bold text-zu1">{{lockedData ? lockedData.selfBuyLocked : 0}}</text>
<text class="text-fu1 text-24 text-w-400">自购锁定量(数字积分)</text>
</view>
<view class="flex-c-lr" style="align-items: center;">
<text class="text-40 text-bold text-zu1">{{lockedData ? lockedData.spreadLocked : 0}}</text>
<text class="text-fu1 text-24 text-w-400">推广锁定量(数字积分)</text>
</view>
</view>
<view class="box-list flex-r-lr" style="align-items: center;" v-for="(item, index) in topList" :key="item.text">
<text class="text-28 text-zu1">{{ item.text }}</text>
<text class="text-32 text-bold text-zu1">{{ item.value }}</text>
<view class="box-list" style="margin-top:40rpx;">
<view class="head-box">
<text class="text-zu1 text-28 text-bold">推广解锁</text>
<text class="text-fu1 text-24 text-w-400">获得2贡献值解锁1贡献值对应的数字积分直推奖励。</text>
<image src="/static/new/jia_icon.png" class="icon-img" mode=""></image>
</view>
<view class="box-li">
<view class="box-biao">
<view class="box-head">
<view class="box-head-view" v-for="(item,index) in topHead" :key="item" :style="{
borderRightWidth:index == 2 ? 0 : '1rpx'
}">
<text class="text-fu text-24">{{item}}</text>
</view>
</view>
<view class="list-all-view">
<view class="list-view" v-for="(item,index) in topList" :key="index">
<view class="list-view-box">
<text class="text-fu text-24 text-bold">{{item.amount}}</text>
</view>
<view class="list-view-box">
<text class="text-fu text-24 text-bold">{{item.time}}</text>
</view>
<view class="list-view-box" style="borderRightWidth:0">
<text class="text-fu text-24 text-bold">{{item.source}}</text>
</view>
</view>
</view>
</view>
</view>
</view>
<text class="text-zu txt-28 mt-24">加速明细</text>
<view class="mt-12 table-view">
<view class="table-head ">
<view class="head-box flex-c" :class="{ 'border-lr': index == 1 }" v-for="(item, index) in tableHead"
:key="index">
<text class="text-20 text-zu1">{{ item }}</text>
</view>
<view class="box-list" style="margin-top:24rpx;">
<view class="head-box">
<text class="text-zu1 text-28 text-bold">自购解锁</text>
<text class="text-fu1 text-24 text-w-400">您的数字积分奖励将随着推广业绩的提升逐步解锁。</text>
<image src="/static/new/jia_icon.png" class="icon-img" mode=""></image>
</view>
<view class="table-list" v-for="(item, index) in tableList" :key="index">
<view class="list-box flex-c" v-for="(key, indexT) in 3" :key="indexT"
:style="{ 'border-bottom-right-radius': index == tableList.length - 1 && indexT == 2 ? '16rpx' : 0 }"
:class="{
'border-lr': indexT != 1,
'border-left-1': index == tableList.length - 1 && indexT == 0
}">
<text class="text-20 text-zu text-bold" v-if="indexT == 0">{{ item.one }}</text>
<text class="text-20 text-zu text-bold" v-if="indexT == 1">{{ item.two }}</text>
<text class="text-20 text-zu text-bold" v-if="indexT == 2">{{ item.three }}</text>
<view class="box-li">
<view class="box-biao">
<view class="box-head">
<view class="box-head-view" v-for="(item,index) in bottomHead" :key="item" :style="{
borderRightWidth:index == 1 ? 0 : '1rpx'
}">
<text class="text-fu text-24">{{item}}</text>
</view>
</view>
<view class="list-all-view">
<view class="list-view" v-for="(item,index) in bottomList" :key="index">
<view class="list-view-box">
<text class="text-fu text-24 text-bold">{{item.amount}}</text>
</view>
<view class="list-view-box" style="borderRightWidth:0">
<text class="text-fu text-24 text-bold">{{item.time}}</text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="box-panel mt-32 mb-32">
<text class="text-zu text-32" style="font-weight: bold;">加速说明</text>
<text class="text-zu1 text-28 mt-24">获取方式: </text>
<text class="text-zu1 text-28">加速包仅能通过【九宫格抽奖】获得</text>
<!-- <text class="text-zu1 text-28">(2)转盘抽奖获得</text> -->
<text class="text-zu1 text-28 mt-24" style="font-weight: bold; margin-bottom: 10px;">逻辑说明: </text>
<text class="text-zu1 text-28">(1)加速包是 TBC 股权快速释放的专属途径。</text>
<text class="text-zu1 text-28">(2)使用加速包释放的 TBC 股权可进行交割和出售。</text>
<text class="text-zu1 text-28">(2) 持有 TBC 股权,可享受商城每日分红,分红收益将直接发放至您的现金余额</text>
<text class="text-zu1 text-28 mt-24 " style="font-weight: bold; margin-bottom: 10px;">特别声明: </text>
<text class="text-zu1 text-28">本活动最终解释权归信任桥所有。</text>
<text class="text-zu1 text-28 text-bold" style="font-weight: bold;">数字积分获取说明</text>
<text class="text-fu text-24" style="margin-top:24rpx">1.商城优选区消费1:1获得贡献值,每消费1元获得1贡献值,次日根据当日商城营收占比获得数字积分。</text>
<text class="text-fu text-24 " style="margin-top:24rpx">2.直推用户消费10:1获得贡献值,直推用户优选区每消费10元您将获得1积分。</text>
<text class="text-fu text-24 " style="margin-top:24rpx">3.积分获得后均为锁定状态。</text>
<text class="text-zu1 text-28 text-bold" style="margin-top:48rpx">数字积分解锁说明</text>
<text class="text-fu text-24 " style="margin-top:24rpx">1.您本人在商城消费获得的积分,每日按1‰自然解锁。</text>
<text class="text-fu text-24 " style="margin-top:24rpx">2.直推用户消费获得的贡献值5:1解锁您本人消费获得的数字积分。</text>
<text class="text-fu text-24 " style="margin-top:24rpx">3.直推获得的奖励,根据您在商城的消费获得的贡献值2:1进行解锁,每获得2贡献值解锁1积分。</text>
<text class="text-fu text-24 " style="margin-top:24rpx">4.若发生退货退款等因素,信任桥将回收各部分奖励,若数字积分已兑换,则不符合7天无理由退货。</text>
<text class="text-fu text-24 " style="margin-top:24rpx">5.最终解释权归信任桥所有。</text>
</view>
<!-- (2)转盘抽奖获得 -->
</view>
<!-- <DownPopup :show="true"></DownPopup> -->
<up-toast ref="uToastRef"></up-toast>
@@ -65,40 +102,71 @@
<script>
import { getUserInfo } from '@/api/auth.js';
import { getVcoinLocked,getVcoinReleaseLog } from '@/api/finance.js';
import Header from '@/components/common/header.vue';
import TopSafe from '@/components/common/top-safe.nvue'
import DownPopup from '@/components/common/down-popup.vue';
import { quickens } from '@/api/contract.js'
import Decimal from 'decimal.js';
import func from '@/utils/func.js'
import func from '@/utils/func.js';
export default {
components: { Header, TopSafe, DownPopup },
data() {
return {
tList: [
{ text: '100', value: '锁仓TBC' },
{ text: '100', value: '剩余加速包' }
],
topList: [
{ text: '已获得加速包次数', value: '100' },
{ text: '已释放TBC数量', value: '20000' },
{ text: '剩余未使用加速包次数', value: '200' },
],
tableHead: ['加速比例', '释放TBC数量', '时间'],
tableList: [
]
lockedData:null,
topHead:['解锁数量','解锁时间','触发解锁订单'],
bottomHead:['解锁数量','解锁时间'],
topList:[],
bottomList:[]
};
},
onLoad() {
this.init();
},
methods: {
onJump(item){
uni.navigateTo({
url:`/pages/other_package/productInfo/productInfo?id=${item.refId}`
})
},
init() {
// this.isSignContract()
this.getQuichens()
this.vcoinLocked();
this.vcoinReleaseLog(1);
this.vcoinReleaseLog(2);
// this.getQuichens()
},
vcoinLocked(){
getVcoinLocked().then(res=>{
if (res.bizcode == 100) {
this.lockedData = res.data;
}
})
},
vcoinReleaseLog(val){
let params = {
page:1,
pageSize:10000,
type:val
}
getVcoinReleaseLog(params).then(res=>{
if (res.bizcode == 100) {
if(val == 1){
this.topList = res.data.entitys || [];
}else{
this.bottomList = res.data.entitys || [];
}
this.topList.forEach(item=>{
item.time = func.formatDate(new Date(item.ctdate), 4);
})
this.bottomList.forEach(item=>{
item.time = func.formatDate(new Date(item.ctdate), 4);
})
}
})
},
getQuichens() {
let params ={
@@ -155,15 +223,16 @@ export default {
overflow-y: auto;
padding: 0 32rpx;
box-sizing: border-box;
background: linear-gradient(315deg, #AF39C4 0%, #7732FF 100%);
position: relative;
background-color: #fff;
.jia-img {
width: 724rpx;
height: 400rpx;
position: absolute;
z-index: 0;
margin-top: calc(var(--status-bar-height) + 52rpx);
width: 100%;
height: 240rpx;
display: flex;
min-height:240rpx;
margin-bottom:40rpx;
}
.box-panel {
@@ -171,22 +240,111 @@ export default {
z-index: 1;
display: flex;
flex-direction: column;
padding: 50rpx 32rpx;
width: 690rpx;
border-radius: 36rpx;
width: 100%;
background-color: #fff;
box-sizing: border-box;
.box-top {
width: 100%;
height: 86rpx;
min-height: 86rpx;
height: 90rpx;
min-height: 90rpx;
display: flex;
flex-direction: row;
justify-content: space-between;
}
.box-list {
width: 100%;
min-height: 84rpx;
border-bottom: 1rpx solid #ececec;
width:100%;
display: flex;
padding:24rpx 0 4rpx;
box-sizing: border-box;
background: rgba(121,52,246,0.08);
border-radius: 12rpx;
flex-direction: column;
align-items: center;
.box-li{
width:calc(100% - 8rpx);
height:386rpx;
min-height:396rpx;
border-radius: 12rpx;
background-color: #fff;
display: flex;
flex-direction: column;
align-items: center;
padding: 16rpx 24rpx;
box-sizing: border-box;
.box-biao{
width:100%;
height:100%;
display: flex;
flex-direction: column;
align-items: center;
border:1rpx solid #eaeaea;
border-radius: 16rpx;
.list-all-view{
flex:1;
display: flex;
overflow-y: auto;
width:100%;
flex-direction: column;
.list-view{
width:100%;
height:64rpx;
display: flex;
flex-direction: row;
min-height:64rpx;
.list-view-box{
flex:1;
height:100%;
display: flex;
align-items: center;
justify-content: center;
border-right:1rpx solid #EAEAEA;
box-sizing: border-box;
border-bottom:1rpx solid #EAEAEA;
}
}
}
.box-head{
width:100%;
height:80rpx;
min-heihgt:80rpx;
display: flex;
flex-direction: row;
.box-head-view{
flex:1;
height:100%;
display: flex;
align-items: center;
justify-content: center;
border-right:1rpx solid #EAEAEA;
box-sizing: border-box;
border-bottom:1rpx solid #EAEAEA;
background-color: #F8F8F8;
}
}
}
}
.head-box{
width:100%;
height:88rpx;
min-height:88rpx;
position: relative;
display: flex;
flex-direction: column;
padding: 0 24rpx;
box-sizing: border-box;
.icon-img{
width:104rpx;
height:88rpx;
position: absolute;
right:24rpx;
bottom:0;
}
}
}
.table-view {