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
+6
View File
@@ -92,6 +92,9 @@
display: flex;
flex-direction: column;
}
.text-w-400{
font-weight: 400;
}
.text-white{
color:#fff;
}
@@ -164,6 +167,9 @@
.text-52{
font-size:52rpx;
}
.text-64{
font-size:64rpx;
}
.text-88{
font-size:88rpx;
}
+21 -1
View File
@@ -223,5 +223,25 @@ export function getBonusStat() {
});
}
// 分红统计
export function getVcoinLocked() {
return request({
url: "/finance/getVcoinLocked",
method: "get",
});
}
// 分红统计
export function getVcoinReleaseLog(data) {
return request({
url: "/finance/getVcoinReleaseLog",
method: "get",
data,
});
}
export function getProfitSharingData() {
return request({
url: "/finance/getProfitSharingData",
method: "get",
});
}
+1 -2
View File
@@ -41,7 +41,7 @@
<view style="padding: 20rpx 0 0 20rpx;">
<up-image src="https://cex-pub.s3.ap-southeast-1.amazonaws.com/static/home/logo_banner.png" width="108" height="16" bgColor="#f1f6ff00"></up-image>
<view class="logo_banner_title">TB聚合商城</view>
<view class="logo_banner_msg">MALL+RWA+DAO的共创共享全球产业生态</view>
<view class="logo_banner_msg">全民共创共享的电商平台</view>
</view>
<up-image src="https://cex-pub.s3.ap-southeast-1.amazonaws.com/static/logo_banner2.png" width="140" height="98"
bgColor="#f1f6ff00"></up-image>
@@ -302,7 +302,6 @@ export default {
},
onClipboard(){
let _this = this;
console.log('11111')
uni.getClipboardData({
success: function(res) {
// http://localhost:5173/#/pages/other_package/productInfo/productInfo?id=1038
+1 -1
View File
@@ -398,7 +398,7 @@ export default {
},
{
id: 5,
title: "加速次数",
title: "数字积分",
url: "https://cex-pub.s3.ap-southeast-1.amazonaws.com/static/mine/tool_js.png",
path: "/pages/rwa_package/dongjian/jia",
},
@@ -77,7 +77,7 @@
<!-- 提成货币 -->
<view class="card_item_comm" style="padding: 30rpx 30rpx 0;">
<view class="card_title_comm">
提成货币
贡献值奖励
</view>
<view class="commission_count">
<view style="margin-right: 10rpx;">
@@ -90,7 +90,7 @@
</view>
<view class="card_item_comm">
<view class="card_title_comm card_title_comm2">
<view>提成统计</view>
<view>奖励统计</view>
<up-image src="/static/common/tips.png" width="16" height="16" bgColor="#f1f6ff00"
@click="openTcShow = true;" />
</view>
@@ -113,7 +113,7 @@
</view>
<view class="card_fg_comm"></view>
<view class="card_item_comm">
<view class="card_title_comm">提成来源</view>
<view class="card_title_comm">奖励来源</view>
<view class="royalty_list">
<scroll-view scroll-y="true" @scrolltolower="loadMore"
:style="{ 'height': 'calc(100vh - 1220rpx)' }">
@@ -147,14 +147,15 @@
<up-modal :show="openTeamShow" :showConfirmButton="false">
<view class="slot-content">
<view class="close_warp" @click="openTeamShow = false;">
<up-image src="/static/common/close.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
<u-icon size="22" name="close" ></u-icon>
<!-- <up-image src="/static/common/close.png" width="20" height="20" bgColor="#f1f6ff00"></up-image> -->
</view>
<view class="content_">
<view class="content_1">温馨提示</view>
<view class="content_2">1、订单金额:团队下的总业绩</view>
<view class="content_2">2、订单数量:团队下的总订单数</view>
<view class="content_2">3、直购订单金额:直推的总订单金额</view>
<view class="content_2">4、直购订单数:直推的总订单数</view>
<view class="content_2"><text style="font-weight: 400;color:#666">1、订单金额:邀请的所有人总消费金额</text></view>
<view class="content_2"><text style="font-weight: 400;color:#666">2、订单数量:邀请的所有人下单总订单数</text></view>
<view class="content_2"><text style="font-weight: 400;color:#666">3、直购订单金额:直接邀请的总订单金额</text></view>
<view class="content_2"><text style="font-weight: 400;color:#666">4、直购订单数:直接邀请的总订单数</text></view>
</view>
<view class="but_">
<view class="but_copy" @click="openTeamShow = false;">确定</view>
@@ -165,14 +166,15 @@
<up-modal :show="openTcShow" :showConfirmButton="false">
<view class="slot-content">
<view class="close_warp" @click="openTcShow = false;">
<up-image src="/static/common/close.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
<u-icon size="22" name="close" ></u-icon>
<!-- <up-image src="/static/common/close.png" width="20" height="20" bgColor="#f1f6ff00"></up-image> -->
</view>
<view class="content_">
<view class="content_1">温馨提示</view>
<view class="content_2">1、今日:今日0点到当前时间的数据</view>
<view class="content_2">2、当前未结算:当前所有收货后未结算的数据</view>
<view class="content_2">3、直购订单金额:直推的总订单金额</view>
<view class="content_2">4、已结算:所有已结算的数据</view>
<view class="content_2"><text style="font-weight: 400;color:#666">1、今日:今日0点到当前时间的数据</text></view>
<view class="content_2"><text style="font-weight: 400;color:#666">2、当前未结算:当前所有收货后未结算的数据</text></view>
<view class="content_2"><text style="font-weight: 400;color:#666">3、直购订单金额:直推的总订单金额</text></view>
<view class="content_2"><text style="font-weight: 400;color:#666">4、已结算:所有已结算的数据</text></view>
</view>
<view class="but_">
<view class="but_copy" @click="openTcShow = false;">确定</view>
@@ -1,415 +1,190 @@
<template>
<view class="my_team_list">
<Header :leftTitle="$t('mine.my.team.title')" left-path-type="navigateTo" :leftPath="leftPath" />
<view class="my_team_list_content">
<view class="team_list_card">
<view class="amount_">{{ (juniorSummaryData && juniorSummaryData.teamAmount) || 0 }}</view>
<view class="amount_sum">总订单金额</view>
<view class="comm_fg"></view>
<view class="people_number">
<view class="people_number_item">
<view class="title_">总人数</view>
<view class="value_">{{ (juniorSummaryData && juniorSummaryData.teamCount) || 0 }}</view>
<view class="content">
<TopSafe></TopSafe>
<Header title="我的邀请" />
<view class="contract-view">
<view class="top-panel">
<image src="/static/new/team_bg.png"></image>
</view>
<view class="comm_fg_s"></view>
<view class="people_number_item">
<view class="title_">推广人数</view>
<view class="value_">{{ (juniorSummaryData && juniorSummaryData.ztCount) || 0 }}</view>
<view class="top-text-view">
<image src="/static/new/icon_zy.png" class="icon-img"></image>
<text class="text-20 text-zi">注:所有数据均截止到进入页面的时间,返回再进入页面数据会更新。</text>
</view>
<!-- <view class="comm_fg_s"></view>
<view class="people_number_item">
<view class="title_">间推人数</view>
<view class="value_">{{ (juniorSummaryData && juniorSummaryData.jtCount) || 0 }}</view>
</view> -->
</view>
<view class="current_user_id" v-if="form.userId">当前用户ID:{{ form.userId }}</view>
<view class="current_user_tips">
<up-image src="/static/common/tips_b.png" width="20" height="20" bgColor="#f1f6ff00"
@click="openTcShow = true;" />
<text class="text-32 text-zu1" style="margin-top:40rpx;font-weight: 500;">用户信息</text>
<view class="bottom-view">
<view class="bottom-box" v-for="(item,index) in dataList" :key="index">
<view class="bottom-top">
<image src="/static/new/tab.png"></image>
<view class="bottom-top-right">
<text class="text-32 text-zu1" style="font-weight: 500;">{{item.userName}}
<text class="text-28 text-fu">({{item.gradeName}})</text>
</text>
<text class="text-26 text-fu1">ID:{{item.id}}
<text class="text-26 text-fu1" style="margin-left:48rpx">注册时间:{{item.time}}</text>
</text>
</view>
</view>
<view class="team_list_remarks">
<view>注:所有数据均截至到进入页面的时间为止,返回再进入页面数据会更新</view>
<view style="margin-left: 40rpx;">总订单金额统计的为所有已支付的订单金额</view>
<view class="bottom-bottom-panel">
<view class="bottom-bottom-box" style="border-right: 2rpx solid #F5F5F5;">
<text class="text-36 text-bold text-zu1">{{item.teamPerformance.teamAmount}}</text>
<text class="text-24 text-fu1">订单金额</text>
</view>
<scroll-view scroll-y="true" @scrolltolower="loadMore" :style="{ 'height': 'calc(100vh - 500rpx)' }">
<view class="team_item" v-for="(item, index) in listData" :key="item.id" v-if="listData && listData.length">
<view class="team_header" @click="queryLowerFun(item, index)">
<view class="header_left_">
<view style="margin-top: 10rpx;">
<up-image :src="item.userUrl || '/static/logo.png'" width="50" height="50" bgColor="#f1f6ff00"
shape="circle" radius='16'></up-image>
</view>
<view class="right_data">
<view class="name_">{{ item.userName || '信任桥优品用户' }}({{ item.gradeName }})</view>
<view class="msg_">
ID:{{ item.userId }}
</view>
<view class="msg_">
注册时间:{{ formatDate(item.registTime) }}
</view>
</view>
</view>
<view>
<up-image src="/static/common/right_x.png" width="20" height="20" bgColor="#f1f6ff00" radius='16'
v-if="!item.isOpen"></up-image>
<up-image src="/static/common/buttom_x.png" width="20" height="20" bgColor="#f1f6ff00" radius='16'
v-else></up-image>
</view>
</view>
<view style="padding: 10rpx;" v-if="item.isOpen && item.lowerData">
<view class="team_lower">
<view class="team_lower_item">
<view class="title_">总订单金额</view>
<view class="val_">{{ item.lowerData.teamAmount }}</view>
</view>
<view class="team_lower_fg"></view>
<view class="team_lower_item">
<view class="title_">直推人数</view>
<view class="val_">{{ item.lowerData.ztCount }}</view>
</view>
<view class="team_lower_fg"></view>
<view class="team_lower_item">
<view class="title_">间推人数</view>
<view class="val_">{{ item.lowerData.jtCount }}</view>
</view>
<view class="team_lower_fg"></view>
<view class="team_lower_item">
<view class="title_">总人数</view>
<view class="val_">{{ item.lowerData.teamCount }}</view>
<view class="bottom-bottom-box">
<text class="text-36 text-bold text-zu1">{{item.teamPerformance.teamCount}}</text>
<text class="text-24 text-fu1">团队人数</text>
</view>
</view>
</view>
</view>
<view v-else class="not_order_warp">
<up-image src="https://cex-pub.s3.ap-southeast-1.amazonaws.com/static/not_order.png" width="80" height="80"
bgColor="#f1f6ff00"></up-image>
<view class="not_order_msg_warp">暂无数据</view>
</view>
<view v-if="royaltyLoading" style="text-align: center;">加载中...</view>
</scroll-view>
</view>
<!-- 提成统计 -->
<up-modal :show="openTcShow" :showConfirmButton="false">
<view class="slot-content">
<view class="close_warp" @click="openTcShow = false;">
<up-image src="/static/common/close.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
</view>
<view class="content_">
<view class="content_1">温馨提示</view>
<view class="content_2">1、页面数据截至到进入该页面的时间统计</view>
<view class="content_2">2、当前页面数据为主用户的数据</view>
<view class="content_2">3、下方显示为全部的直推用户,点击后可跳转他/她的团队数据页,查看他/她的直推数据(也就是我的间推)</view>
</view>
<view class="but_">
<view class="but_copy" @click="openTcShow = false;">确定</view>
</view>
</view>
</up-modal>
</view>
</template>
<script>
import { getCascadeJunior, getJuniorSummary } from '@/api/team.js';
import { formatDate } from '@/utils/index.js';
import Header from '@/components/header.vue';
import { getUserInfo } from '@/api/auth.js';
import Header from '@/components/common/header.vue';
import TopSafe from '@/components/common/top-safe.nvue'
import func from '@/utils/func.js';
export default {
components: { Header },
components: { Header, TopSafe },
data() {
return {
form: {
userId: 0,
page: 1,
pageSize: 15,
},
loading: false,
listData: [],
juniorSummaryData: {},// 统计
leftPath: "/pages/mine_package/mine_my_team_list/mine_my_team_list",
openTcShow: false,
dataList:[],
curData:null
};
},
onLoad(option) {
const id = option.id;
if (id && id !== "null") {
this.form.userId = id;
} else {
this.leftPath = '/pages/mine_package/mine_my_team/mine_my_team';
}
onShow() {
},
mounted() {
this.loadData();
this.getJuniorSummary();
onLoad() {
this.init();
},
methods: {
formatDate,
jumpNextLevel(item) {
const path = "/pages/mine_package/mine_my_team_list/mine_my_team_list?id=" + item.userId;
this.leftPath = path;
uni.navigateTo({
url: path,
init() {
this.cascadeJunior();
this.juniorSummary();
},
cascadeJunior(){
getCascadeJunior().then(res=>{
if (res && res.bizcode === 100) {
this.dataList = res.data.entitys || [];
this.dataList.forEach(item=>{
item.time = func.formatDate(new Date(item.ctdate), 4);
})
}
})
},
/**
* 查询统计数据
*/
async getJuniorSummary() {
const resp = await getJuniorSummary();
console.log("getJuniorSummary", resp);
if (resp && resp.bizcode === 100) {
this.juniorSummaryData = resp.data;
juniorSummary(){
getJuniorSummary().then(res=>{
if (res && res.bizcode === 100) {
this.curData = res.data;
}
})
}
},
// 加载数据的方法
async loadData() {
if (this.loading) return; // 如果正在加载,则不重复加载
this.loading = true; // 设置加载状态为true
try {
// 模拟异步获取数据,实际应用中应该替换为你的数据获取逻辑,例如API调用
const newData = await this.fetchData();
if (newData.entitys && newData.entitys.length !== 0) {
const data = newData.entitys.map(item => ({ ...item, isOpen: false }));
this.listData = [...this.listData, ...data]; // 将新数据添加到列表中
this.form.page++; // 页码加1
}
} catch (error) {
console.error('加载数据失败:', error);
} finally {
this.loading = false; // 设置加载状态为false
}
},
// 模拟获取数据的方法,实际应用中应该替换为你的数据获取逻辑,例如从服务器获取数据
async fetchData() {
const params = {
...this.form,
}
const data = await getCascadeJunior(params);
if (data && data.bizcode === 100 && data.data) {
return data.data
} else {
return [];
}
},
// 当滚动到底部时触发的方法
loadMore() {
this.loadData(); // 加载更多数据
},
/**
* 查询团队下级数据
* @param {Object} item
* @param {Object} index
*/
async queryLowerFun(item, index) {
const data = this.listData[index];
const type = !data.isOpen
if (type) {
const params = {
userId: item.userId,
}
const resp = await getJuniorSummary(params);
if (resp && resp.bizcode === 100) {
data.lowerData = resp.data;
}
}
data.isOpen = type;
this.listData[index] = data;
}
}
}
</script>
<style lang="scss" scoped>
.my_team_list {
// height: calc(100vh - 58rpx);
// overflow: auto;
background-color: $app-bj;
.my_team_list_content {
padding: 30rpx;
}
.team_list_card {
background-color: $app-bt-bj;
text-align: center;
color: rgba(255, 255, 255, 0.9);
padding: 40rpx;
border-radius: 15rpx;
margin-bottom: 20rpx;
position: relative;
.current_user_id {
position: absolute;
top: 0;
left: 0;
background-color: #33333340;
padding: 10rpx;
font-size: 22rpx;
border-radius: 10rpx 0;
}
.current_user_tips {
position: absolute;
top: 20rpx;
right: 20rpx;
}
.amount_ {
font-weight: 500;
font-size: 58rpx;
color: rgba(255, 255, 255, 0.9);
}
.amount_sum {
font-size: 23rpx;
color: rgba(255, 255, 255, 0.55);
}
.comm_fg {
border: 2rpx dashed rgba(255, 255, 255, 0.55);
margin: 20rpx 0;
}
.comm_fg_s {
width: 1rpx;
height: 35rpx;
background-color: rgba(255, 255, 255, 0.9);
}
.people_number {
display: flex;
justify-content: space-between;
align-items: center;
}
.people_number_item {
width: 30%;
text-align: center;
.title_ {
font-size: 23rpx;
color: rgba(255, 255, 255, 0.55);
line-height: 33rpx;
}
.value_ {
font-size: 38rpx;
color: rgba(255, 255, 255, 0.9);
line-height: 54rpx;
}
}
}
.team_list_remarks {
font-size: 20rpx;
color: #9E9E9E;
margin-bottom: 10rpx;
}
.team_item {
margin-bottom: 20rpx;
}
.team_header {
display: flex;
align-content: center;
justify-content: space-between;
align-items: center;
border-radius: 8rpx;
background: #FFFFFF;
padding: 20rpx;
.header_left_ {
display: flex;
align-items: inherit;
width: calc(100% - 70rpx);
}
.right_data {
margin-left: 10rpx;
// display: grid;
}
.name_ {
font-weight: bold;
font-size: 30rpx;
color: #333333;
}
.msg_ {
font-weight: 500;
font-size: 24rpx;
color: #999999;
margin-top: 10rpx;
}
}
.team_lower {
display: flex;
justify-content: space-between;
align-items: center;
background: #E9E9E9;
border-radius: 4px;
padding: 30rpx 20rpx;
.team_lower_fg {
border-right: 1px solid rgba(0, 0, 0, 0.26);
height: 36rpx;
}
.team_lower_item {
text-align: center;
}
.title_ {
font-size: 10px;
color: rgba(0, 0, 0, 0.6);
}
.val_ {
font-weight: 500;
font-size: 14px;
color: rgba(0, 0, 0, 0.9);
margin-top: 20rpx;
}
}
.team_content {
border-top: 1rpx solid #EEEEEE;
padding: 20rpx 0 0;
display: flex;
flex-wrap: wrap;
.team_content_item {
width: 50%;
font-weight: 500;
display: flex;
margin-bottom: 10rpx;
}
.team_content2_item {
.contract-view {
width: 100%;
height: calc(100% - 88rpx - var(--status-bar-height));
display: flex;
flex-direction: column;
overflow-y: auto;
padding: 0 32rpx;
box-sizing: border-box;
background-color: #fff;
.bottom-view{
width:100%;
flex:1;
overflow-y: auto;
display: flex;
flex-direction: column;
.bottom-box{
width:100%;
height:296rpx;
min-height:296rpx;
display: flex;
flex-direction: column;
position: relative;
padding: 32rpx 28rpx;
box-sizing: border-box;
border:2rpx solid #eaeaea;
border-radius: 16rpx;
margin-top:28rpx;
.bottom-bottom-panel{
margin-top:24rpx;
width:100%;
flex:1;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
.bottom-bottom-box{
flex:1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
}
.title_ {
font-size: 24rpx;
color: #999999;
}
.content_ {
font-size: 26rpx;
color: #333333;
.bottom-top{
display: flex;
flex-direction: row;
align-items: center;
height:120rpx;
min-height:120rpx;
border-bottom:2rpx solid #F5F5F5;
.bottom-top-right{
height:88rpx;
flex:1;
margin-left:24rpx;
display: flex;
flex-direction: column;
justify-content: space-between;
}
image{
width:88rpx;
min-width:88rpx;
height:88rpx;
display: flex;
}
}
.content_1 {
margin-bottom: 40rpx;
}
}
.top-text-view{
width:100%;
flex-direction: row;
align-items: center;
display: flex;
margin-top:12rpx;
.icon-img{
width:20rpx;
height:20rpx;
margin-right:12rpx;
}
}
.top-panel{
margin-top:16rpx;
width:100%;
height:186rpx;
display: flex;
min-height:16rpx;
flex-direction: row;
justify-content: space-between;
image{
width:100%;
height:100%;
}
.content_2 {
text-align: left;
margin-top: 10rpx;
}
}
</style>
@@ -0,0 +1,415 @@
<template>
<view class="my_team_list">
<Header :leftTitle="$t('mine.my.team.title')" left-path-type="navigateTo" :leftPath="leftPath" />
<view class="my_team_list_content">
<view class="team_list_card">
<view class="amount_">{{ (juniorSummaryData && juniorSummaryData.teamAmount) || 0 }}</view>
<view class="amount_sum">总订单金额</view>
<view class="comm_fg"></view>
<view class="people_number">
<view class="people_number_item">
<view class="title_">总人数</view>
<view class="value_">{{ (juniorSummaryData && juniorSummaryData.teamCount) || 0 }}</view>
</view>
<view class="comm_fg_s"></view>
<view class="people_number_item">
<view class="title_">推广人数</view>
<view class="value_">{{ (juniorSummaryData && juniorSummaryData.ztCount) || 0 }}</view>
</view>
<!-- <view class="comm_fg_s"></view>
<view class="people_number_item">
<view class="title_">间推人数</view>
<view class="value_">{{ (juniorSummaryData && juniorSummaryData.jtCount) || 0 }}</view>
</view> -->
</view>
<view class="current_user_id" v-if="form.userId">当前用户ID:{{ form.userId }}</view>
<view class="current_user_tips">
<up-image src="/static/common/tips_b.png" width="20" height="20" bgColor="#f1f6ff00"
@click="openTcShow = true;" />
</view>
</view>
<view class="team_list_remarks">
<view>注:所有数据均截至到进入页面的时间为止,返回再进入页面数据会更新</view>
<view style="margin-left: 40rpx;">总订单金额统计的为所有已支付的订单金额</view>
</view>
<scroll-view scroll-y="true" @scrolltolower="loadMore" :style="{ 'height': 'calc(100vh - 500rpx)' }">
<view class="team_item" v-for="(item, index) in listData" :key="item.id" v-if="listData && listData.length">
<view class="team_header" @click="queryLowerFun(item, index)">
<view class="header_left_">
<view style="margin-top: 10rpx;">
<up-image :src="item.userUrl || '/static/logo.png'" width="50" height="50" bgColor="#f1f6ff00"
shape="circle" radius='16'></up-image>
</view>
<view class="right_data">
<view class="name_">{{ item.userName || '信任桥优品用户' }}({{ item.gradeName }})</view>
<view class="msg_">
ID:{{ item.userId }}
</view>
<view class="msg_">
注册时间:{{ formatDate(item.registTime) }}
</view>
</view>
</view>
<view>
<up-image src="/static/common/right_x.png" width="20" height="20" bgColor="#f1f6ff00" radius='16'
v-if="!item.isOpen"></up-image>
<up-image src="/static/common/buttom_x.png" width="20" height="20" bgColor="#f1f6ff00" radius='16'
v-else></up-image>
</view>
</view>
<view style="padding: 10rpx;" v-if="item.isOpen && item.lowerData">
<view class="team_lower">
<view class="team_lower_item">
<view class="title_">总订单金额</view>
<view class="val_">{{ item.lowerData.teamAmount }}</view>
</view>
<view class="team_lower_fg"></view>
<view class="team_lower_item">
<view class="title_">直推人数</view>
<view class="val_">{{ item.lowerData.ztCount }}</view>
</view>
<view class="team_lower_fg"></view>
<view class="team_lower_item">
<view class="title_">间推人数</view>
<view class="val_">{{ item.lowerData.jtCount }}</view>
</view>
<view class="team_lower_fg"></view>
<view class="team_lower_item">
<view class="title_">总人数</view>
<view class="val_">{{ item.lowerData.teamCount }}</view>
</view>
</view>
</view>
</view>
<view v-else class="not_order_warp">
<up-image src="https://cex-pub.s3.ap-southeast-1.amazonaws.com/static/not_order.png" width="80" height="80"
bgColor="#f1f6ff00"></up-image>
<view class="not_order_msg_warp">暂无数据</view>
</view>
<view v-if="royaltyLoading" style="text-align: center;">加载中...</view>
</scroll-view>
</view>
<!-- 提成统计 -->
<up-modal :show="openTcShow" :showConfirmButton="false">
<view class="slot-content">
<view class="close_warp" @click="openTcShow = false;">
<up-image src="/static/common/close.png" width="20" height="20" bgColor="#f1f6ff00"></up-image>
</view>
<view class="content_">
<view class="content_1">温馨提示</view>
<view class="content_2">1、页面数据截至到进入该页面的时间统计</view>
<view class="content_2">2、当前页面数据为主用户的数据</view>
<view class="content_2">3、下方显示为全部的直推用户,点击后可跳转他/她的团队数据页,查看他/她的直推数据(也就是我的间推)</view>
</view>
<view class="but_">
<view class="but_copy" @click="openTcShow = false;">确定</view>
</view>
</view>
</up-modal>
</view>
</template>
<script>
import { getCascadeJunior, getJuniorSummary } from '@/api/team.js';
import { formatDate } from '@/utils/index.js';
import Header from '@/components/header.vue';
export default {
components: { Header },
data() {
return {
form: {
userId: 0,
page: 1,
pageSize: 15,
},
loading: false,
listData: [],
juniorSummaryData: {},// 统计
leftPath: "/pages/mine_package/mine_my_team_list/mine_my_team_list",
openTcShow: false,
};
},
onLoad(option) {
const id = option.id;
if (id && id !== "null") {
this.form.userId = id;
} else {
this.leftPath = '/pages/mine_package/mine_my_team/mine_my_team';
}
},
mounted() {
this.loadData();
this.getJuniorSummary();
},
methods: {
formatDate,
jumpNextLevel(item) {
const path = "/pages/mine_package/mine_my_team_list/mine_my_team_list?id=" + item.userId;
this.leftPath = path;
uni.navigateTo({
url: path,
})
},
/**
* 查询统计数据
*/
async getJuniorSummary() {
const resp = await getJuniorSummary();
console.log("getJuniorSummary", resp);
if (resp && resp.bizcode === 100) {
this.juniorSummaryData = resp.data;
}
},
// 加载数据的方法
async loadData() {
if (this.loading) return; // 如果正在加载,则不重复加载
this.loading = true; // 设置加载状态为true
try {
// 模拟异步获取数据,实际应用中应该替换为你的数据获取逻辑,例如API调用
const newData = await this.fetchData();
if (newData.entitys && newData.entitys.length !== 0) {
const data = newData.entitys.map(item => ({ ...item, isOpen: false }));
this.listData = [...this.listData, ...data]; // 将新数据添加到列表中
this.form.page++; // 页码加1
}
} catch (error) {
console.error('加载数据失败:', error);
} finally {
this.loading = false; // 设置加载状态为false
}
},
// 模拟获取数据的方法,实际应用中应该替换为你的数据获取逻辑,例如从服务器获取数据
async fetchData() {
const params = {
...this.form,
}
const data = await getCascadeJunior(params);
if (data && data.bizcode === 100 && data.data) {
return data.data
} else {
return [];
}
},
// 当滚动到底部时触发的方法
loadMore() {
this.loadData(); // 加载更多数据
},
/**
* 查询团队下级数据
* @param {Object} item
* @param {Object} index
*/
async queryLowerFun(item, index) {
const data = this.listData[index];
const type = !data.isOpen
if (type) {
const params = {
userId: item.userId,
}
const resp = await getJuniorSummary(params);
if (resp && resp.bizcode === 100) {
data.lowerData = resp.data;
}
}
data.isOpen = type;
this.listData[index] = data;
}
}
}
</script>
<style lang="scss" scoped>
.my_team_list {
// height: calc(100vh - 58rpx);
// overflow: auto;
background-color: $app-bj;
.my_team_list_content {
padding: 30rpx;
}
.team_list_card {
background-color: $app-bt-bj;
text-align: center;
color: rgba(255, 255, 255, 0.9);
padding: 40rpx;
border-radius: 15rpx;
margin-bottom: 20rpx;
position: relative;
.current_user_id {
position: absolute;
top: 0;
left: 0;
background-color: #33333340;
padding: 10rpx;
font-size: 22rpx;
border-radius: 10rpx 0;
}
.current_user_tips {
position: absolute;
top: 20rpx;
right: 20rpx;
}
.amount_ {
font-weight: 500;
font-size: 58rpx;
color: rgba(255, 255, 255, 0.9);
}
.amount_sum {
font-size: 23rpx;
color: rgba(255, 255, 255, 0.55);
}
.comm_fg {
border: 2rpx dashed rgba(255, 255, 255, 0.55);
margin: 20rpx 0;
}
.comm_fg_s {
width: 1rpx;
height: 35rpx;
background-color: rgba(255, 255, 255, 0.9);
}
.people_number {
display: flex;
justify-content: space-between;
align-items: center;
}
.people_number_item {
width: 30%;
text-align: center;
.title_ {
font-size: 23rpx;
color: rgba(255, 255, 255, 0.55);
line-height: 33rpx;
}
.value_ {
font-size: 38rpx;
color: rgba(255, 255, 255, 0.9);
line-height: 54rpx;
}
}
}
.team_list_remarks {
font-size: 20rpx;
color: #9E9E9E;
margin-bottom: 10rpx;
}
.team_item {
margin-bottom: 20rpx;
}
.team_header {
display: flex;
align-content: center;
justify-content: space-between;
align-items: center;
border-radius: 8rpx;
background: #FFFFFF;
padding: 20rpx;
.header_left_ {
display: flex;
align-items: inherit;
width: calc(100% - 70rpx);
}
.right_data {
margin-left: 10rpx;
// display: grid;
}
.name_ {
font-weight: bold;
font-size: 30rpx;
color: #333333;
}
.msg_ {
font-weight: 500;
font-size: 24rpx;
color: #999999;
margin-top: 10rpx;
}
}
.team_lower {
display: flex;
justify-content: space-between;
align-items: center;
background: #E9E9E9;
border-radius: 4px;
padding: 30rpx 20rpx;
.team_lower_fg {
border-right: 1px solid rgba(0, 0, 0, 0.26);
height: 36rpx;
}
.team_lower_item {
text-align: center;
}
.title_ {
font-size: 10px;
color: rgba(0, 0, 0, 0.6);
}
.val_ {
font-weight: 500;
font-size: 14px;
color: rgba(0, 0, 0, 0.9);
margin-top: 20rpx;
}
}
.team_content {
border-top: 1rpx solid #EEEEEE;
padding: 20rpx 0 0;
display: flex;
flex-wrap: wrap;
.team_content_item {
width: 50%;
font-weight: 500;
display: flex;
margin-bottom: 10rpx;
}
.team_content2_item {
width: 100%;
}
.title_ {
font-size: 24rpx;
color: #999999;
}
.content_ {
font-size: 26rpx;
color: #333333;
}
}
.content_1 {
margin-bottom: 40rpx;
}
.content_2 {
text-align: left;
margin-top: 10rpx;
}
}
</style>
@@ -4,7 +4,7 @@
left-path="/pages/mine_package/mine_purse/mine_purse" />
<view class="info_warp">
<view v-if="form.category !== 'redpacket'">
<view v-if="form.category !== 'redpacket' && infoList.length > 1">
<view class="info_title_warp">
<view :class="selInfo === item.key ? 'info_title_item_warp info_title_item_sel_warp' : 'info_title_item_warp'"
v-for="item in infoList" :key="item.key" @click="selectInfo(item)">
@@ -16,9 +16,7 @@
</view>
<view
v-if="form.category === 'vcoin' || form.category === 'balance' || form.category === 'expend' || form.category === 'raffle'">
<view v-if="form.category === 'raffle'">
<view class="info_center_warp">
<view class="info_center_warp-item" v-for="item in source">
@@ -29,6 +27,36 @@
</view>
<view class="line"></view>
</view>
<view v-if="source.length ">
<view class="icon-top-view" v-if="form.category == 'expend' || form.category == 'balance'">
<view class="top-view">
<view class="top-left-view">
<text class="text-36 text-zu1 text-bold">{{headerData[source[0].key]}}</text>
<text class="text-24 text-fu1">{{source[0].name}}</text>
<text class="text-36 text-zu1 text-bold" style="margin-top:40rpx">{{headerData[source[2].key]}}</text>
<text class="text-24 text-fu1">{{source[2].name}}</text>
</view>
<view class="top-left-view" style="border-width: 0;">
<text class="text-36 text-zu1 text-bold">{{headerData[source[1].key]}}</text>
<text class="text-24 text-fu1">{{source[1].name}}</text>
<text class="text-36 text-zu1 text-bold" style="margin-top:40rpx">{{headerData[source[3].key]}}</text>
<text class="text-24 text-fu1">{{source[3].name}}</text>
</view>
</view>
</view>
<view class="icon-top-view" style="height:178rpx;min-height:178rpx;margin-top:24rpx" v-if="form.category == 'vcoin'">
<view class="top-view">
<view class="top-left-view">
<text class="text-36 text-zu1 text-bold">{{headerData[source[0].key]}}</text>
<text class="text-24 text-fu1">{{source[0].name}}</text>
</view>
<view class="top-left-view" style="border-width: 0;">
<text class="text-36 text-zu1 text-bold">{{headerData[source[1].key]}}</text>
<text class="text-24 text-fu1">{{source[1].name}}</text>
</view>
</view>
</view>
</view>
@@ -119,28 +147,30 @@ export default {
name: "活期账户",
key: "cur"
},
{
name: "预存款账户",
key: "pre"
},
// {
// name: "预存款账户",
// key: "pre"
// },
]
this.source = [
{
name: "今日分红数量",
key: "todayBonus"
name: "共享资金池余额",
key: "poolBonus"
},
{
name: "总分红数量",
key: "totalBonus"
},
{
name: "平台总分红",
name: "平台已分享金额",
key: "totalMallBonus"
},
{
name: "共享资金池剩余",
key: "poolBonus"
name: "今日分享金额",
key: "todayBonus"
},
{
name: "总分享金额",
key: "totalBonus"
},
];
}
@@ -157,18 +187,18 @@ export default {
key: "lockAmount"
},
{
name: "预存款账户",
key: "pre"
},
// {
// name: "预存款账户",
// key: "pre"
// },
]
this.source = [
{
name: "商城总挖矿数量",
name: "商城积分总量",
key: "mallTotalMiningSum"
},
{
name: "已兑换数量",
name: "已解锁数量",
key: "exchangeNumber"
},
];
@@ -183,10 +213,10 @@ export default {
name: "活期账户",
key: "cur"
},
{
name: "预存款账户",
key: "pre"
},
// {
// name: "预存款账户",
// key: "pre"
// },
]
this.source = [
@@ -199,7 +229,7 @@ export default {
key: "totalValue"
},
{
name: "商城日贡献",
name: "今日商城日贡献",
key: "todayMallValue"
},
{
@@ -223,24 +253,24 @@ export default {
key: "lockAmount"
},
{
name: "预存款账户",
key: "pre"
},
// {
// name: "预存款账户",
// key: "pre"
// },
];
this.source = [
{
name: "可用次数",
key: "curAmount"
},
{
name: "锁定次数",
key: "lockAmount"
},
{
name: "预发放次数",
key: "preAmount"
}
// {
// name: "可用次数",
// key: "curAmount"
// },
// {
// name: "锁定次数",
// key: "lockAmount"
// },
// {
// name: "预发放次数",
// key: "preAmount"
// }
];
}
@@ -339,11 +369,15 @@ export default {
selectInfo(item) {
selectInfo(item = null) {
// if(item == null){
// item.key = 'cur'
// }
this.orderList = [];
this.form.page = 1;
this.selInfo = item.key;
let id = 0;
if (item.key === "cur") {
id = this.curId;
}
@@ -412,6 +446,33 @@ export default {
</script>
<style lang="scss">
.icon-top-view{
width:100%;
height:298rpx;
min-height:298rpx;
box-sizing: border-box;
padding: 0 32rpx;
display: flex;
.top-view{
width:100%;
height:100%;
display: flex;
border-radius: 12rpx;
border: 2rpx solid rgba(121,52,246,0.08);
flex-direction: row;
justify-content: space-between;
align-items: center;
padding: 52rpx 0;
box-sizing: border-box;
.top-left-view{
flex:1;
display: flex;
flex-direction: column;
align-items: center;
border-right: 2px solid #F5F5F5;
}
}
}
.mine_purse_log_warp {
height: calc(100vh - var(--status-bar-height));
overflow-y: hidden;
+493 -270
View File
@@ -1,7 +1,7 @@
<template>
<view class="content">
<TopSafe></TopSafe>
<Header :isMid="true" borderWidth="1rpx" >
<Header :isMid="true" >
<template v-slot:mid>
<view class="top-view">
<view class="top-box-view flex-c" :style="{
@@ -15,53 +15,146 @@
</view>
</template>
</Header>
<view class="contract-view">
<view class="tu-view" v-if="topSelect == 0">
<view class="top-line"></view>
<view class="contract-view" v-if="topSelect == 0">
<view class="top-head">
<text class="text-32 text-zu1 text-bold">股权分布</text>
<text class="text-28 text-fu">51%的股权回馈消费者(免费赠予),股权以数字积分形式发放。</text>
</view>
<view class="tu-view">
<!-- <view class="tu-box"> -->
<qiun-data-charts
type="ring"
canvasId="four_b"
canvasId="four_one"
:canvas2d="isCanvas2d"
:resshow="delayload"
:opts="{legend:{position: 'bottom'},title:{name: '',},subtitle: {name: ''}}"
:chartData="dataSeries"/>
</view>
:opts="oneOps"
:chartData="oneData"/>
<!-- </view>
<view class="bottom-panel" v-if="topSelect == 0">
<view class="flex-col mt-24" style="width:50%" v-for="(item,index) in data" :key="item">
<view class="flex-r">
<view class="yuan" :style="{background:dataColor[index]}"></view>
<text class="text-28 text-zu" style="margin-left:10rpx">{{item.name}}</text>
<view class="zi-box" v-for="(item,index) in oneData.series" :key="index"
:style="{top:item.top,left:index == 0 ? item.left : 'auto',right:index != 0 ? item.right : 'none'}">
<text class="text-28" :style="{color:item.color,'text-align':index == 0 ? 'start' : 'end'}">{{item.data}}%</text>
<text class="text-28" :style="{color:item.color}">{{item.name}}</text>
</view> -->
</view>
<text class="text-24 text-fu" style="margin-top:12rpx">
总营收分红占比:
<text :style="{color:dataColor[index]}">{{item.value}}%</text>
</text>
<view class="top-line"></view>
<view class="top-head">
<text class="text-32 text-zu1 text-bold">股权分布</text>
<text class="text-28 text-fu">51%的股权分五期赠送,前4期每期10%,第五期11%其他分配则为:投资机构,基金会,活动激励,运营团队,推广奖励的集合。</text>
</view>
</view>
<view class="tu-view" v-if="topSelect == 1">
<view class="tu-view">
<qiun-data-charts
type="ring"
canvasId="four_b"
canvasId="four_two"
:canvas2d="isCanvas2d"
:resshow="delayload"
:opts="{legend:{position: 'bottom'},title:{name: '',},subtitle: {name: ''}}"
:chartData="dataSeriesTwo"/>
:opts="twoOps"
:chartData="twoData"/>
</view>
<view class="bottom-panel" v-if="topSelect == 1">
<view class="flex-col mt-24" style="width:50%" v-for="(item,index) in dataTwo" :key="item">
<view class="flex-r">
<view class="yuan" :style="{background:dataTwoColor[index]}"></view>
<text class="text-28 text-zu" style="margin-left:10rpx">{{item.name}}</text>
<view class="bottom-view">
<text class="text-32 text-zu1 text-bold">免费赠予详细规则</text>
<view class="bottom-head">
<view class="head-one">
<text class="text-24 text-fu">期数</text>
</view>
<text class="text-24 text-fu" style="margin-top:12rpx">
占比:
<text :style="{color:dataTwoColor[index]}">{{item.value}}%</text>
<view class="head-two">
<text class="text-24 text-fu">赠予规则</text>
</view>
<view class="head-three">
<text class="text-24 text-fu">开启下一期规则</text>
</view>
</view>
<view class="bottom-value-view">
<view class="bottom-value-view-row" v-for="(item,index) in oneList" :key="index">
<view class="head-one-one" :style="{'border-radius':index == 4 ? '0 0 0 16rpx' : 0,}">
<text class="text-24 text-fu">{{item.one}}</text>
</view>
<view class="head-two-two">
<text class="text-24 text-fu">{{item.two}}</text>
</view>
<view class="head-three-three"
:style="{'border-radius':index == 4 ? '0 0 16rpx 0' : 0,'border-left-color':index == 0 ? '#eaeaea' : 'rgba(0,0,0,0)'}">
<text class="text-24 text-fu">{{item.three}}</text>
</view>
</view>
</view>
</view>
</view>
<view class="contract-view" v-if="topSelect == 1 && curData">
<view class="top-head-1">
<text class="text-32 text-zu1 text-bold">总营收</text>
<text class="text-48 text-zu1 text-bold">¥
<text class="text-64 text-zu1 ">{{curData.totalProfitSharing || 0}}</text>
</text>
</view>
<view class="top-line"></view>
<view class="top-head">
<text class="text-32 text-zu1 text-bold">商城分配数据</text>
</view>
<view class="tu-view">
<qiun-data-charts
v-if="threeData.series.length"
type="ring"
canvasId="four_three"
:canvas2d="isCanvas2d"
:resshow="delayload"
:opts="threeOps"
:chartData="threeData"/>
</view>
<view class="bottom-view">
<text class="text-32 text-zu1 text-bold">分配明细数据</text>
<view class="bottom-head">
<view class="head-one" style="width:278rpx">
<text class="text-24 text-fu">名称</text>
</view>
<view class="head-two" style="width:234rpx">
<text class="text-24 text-fu">金额</text>
</view>
<view class="head-three">
<text class="text-24 text-fu">占比</text>
</view>
</view>
<view class="bottom-value-view">
<view class="bottom-value-view-row" v-for="(item,index) in threeData.series" :key="index">
<view class="head-one-one" style="width:278rpx" :style="{'border-radius':index == 4 ? '0 0 0 16rpx' : 0,}">
<text class="text-24 text-fu">{{item.name}}</text>
</view>
<view class="head-two-two" style="width:234rpx">
<text class="text-24 text-fu">{{item.amount}}</text>
</view>
<view class="head-three-three"
:style="{'border-radius':index == 4 ? '0 0 16rpx 0' : 0}">
<text class="text-24 text-fu">{{item.data}}%</text>
</view>
</view>
</view>
</view>
<view class="top-line" style="margin-top:20rpx;"></view>
<view class="top-head">
<text class="text-32 text-zu1 text-bold">商城营收数据</text>
</view>
<view class="tab-view-one">
<view v-for="(item,index) in tabOne" :key="index" @click="onOne(index)" :style="{
background:index == curOne ? 'rgba(121, 52, 246, 0.1)' : '#F5F5F5'
}">
<text class="text-24 text-zi" :style="{color:index == curOne ? '#7934F6' : '#999'}">{{item}}</text>
</view>
</view>
<view class="tu-view" style="margin-top:32rpx">
<qiun-data-charts type="area" :opts="fourOps" :chartData="fourData"/>
</view>
<view class="tab-view-two">
<view class="tab-view-two-two" v-for="(item,index) in tabTwo" :key="index" @click="onTwo(index)" >
<text class="text-32 text-zi" style="font-weight: 500;" :style="{color:index == curTwo ? '#7934F6' : '#999'}">{{item}}</text>
<view class="line-view" v-if="index == curTwo"></view>
</view>
</view>
<view class="top-head">
<text class="text-32 text-zu1 text-bold">已分配总额:{{fiveTotal}}</text>
</view>
<view class="tu-view" style="margin:32rpx 0">
<qiun-data-charts type="area" :opts="fourOps" :chartData="fiveData"/>
</view>
</view>
</view>
@@ -70,9 +163,8 @@
<script>
import Header from '@/components/common/header.vue';
import TopSafe from '@/components/common/top-safe.nvue'
import * as echarts from 'echarts'
import func from '@/utils/func.js';
import { getProfitSharingData } from '@/api/finance.js'
export default {
components: { Header,TopSafe },
data() {
@@ -81,141 +173,118 @@ export default {
topList:[
'股权架构','营收数据'
],
tabOne:['每日','每月'],
curOne:0,
tabTwo:['数字积分','贡献共享计划'],
curTwo:0,
delayload: false,
myChart:null,
myChartTwo:null,
data: [
{ value: '10', name: '用户股东第一期' },
{ value: '10', name: '用户股东第二期' },
{ value: '10', name: '用户股东第三期' },
{ value: '10', name: '用户股东第四期' },
{ value: '11', name: '用户股东第五期' },
{ value: '10', name: '推广奖励' },
{ value: '10', name: '运营团队' },
{ value: '10', name: '活动激励' },
{ value: '9', name: '投资机构' },
{ value: '10', name: '基金会' },
oneList:[
{one:'第一期',two:'商城优选区消费1:1获得贡献值,每消费1元获得1贡献值,次日根据当日商城营收占比获得数字积分直推用户消费10:1获得贡献值,直推用户优选区每消费10元您将获得1积分',three:'4000万数字积分分配完成则开启第2期'},
{one:'第二期',two:'待定,敬请期待',three:''},
{one:'第三期',two:'待定,敬请期待',three:''},
{one:'第四期',two:'待定,敬请期待',three:''},
{one:'第五期',two:'待定,敬请期待',three:''},
],
dataSeries:{
series:[
{
"name": "用户股东第一期",
"data": 10,
"color":"#FF8400"
oneOps:{
label:{show:false},
legend:{show:false},
title:{name: '100%',fontSize:16,color:'#333',},
subtitle: {name: '股权分布',fontSize:12,color:'#666',},
extra: {
ring: {
ringWidth: 60,
},
{
"name": "用户股东第二期",
"data": 10,
"color":"#6136FF"
},
{
"name": "用户股东第三期",
"data": 10,
"color":"#19CEB3"
},
{
"name": "用户股东第四期",
"data": 10,
"color":"#F1B900"
},
{
"name": "用户股东第五期",
"data": 11,
"color":"#AE9BF5"
},
{
"name": "推广奖励",
"data": 10,
"color":"#94F7A1"
},
{
"name": "运营团队",
"data": 10,
"color":"#006EFF"
},
{
"name": "投资机构",
"data": 10,
"color":"#FF2440"
},
{
"name": "活动激励",
"data": 9,
"color":"#00A776"
},
{
"name": "基金会",
"data": 10,
"color":"#FF2440"
}
},
oneData:{
series:[
{"name": "免费赠予消费者","data": 51,"color":"#7934F6",top:'108rpx',left:'32rpx'},
{"name": "投资机构","data": 9,"color":"#AF39C4",top:0,right:'32rpx'},
{"name": "基金会","data": 10,"color":"#0370FF",top:'108rpx',right:'32rpx'},
{"name": "活动激励","data": 10,"color":"#00A6CC",top:'208rpx',right:'32rpx'},
{"name": "运营团队","data": 10,"color":"#FFA700",top:'314rpx',right:'32rpx'},
{"name": "推广奖励","data": 10,"color":"#00A776",top:'402rpx',right:'32rpx'},
]
},
dataSeriesTwo:{
series:[
{
"name": "成本",
"data": 25,
"color":"#FF8400"
twoOps:{
legend:{show:false},
title:{name: '100%',fontSize:16,color:'#333',},
subtitle: {name: '五期分配比例',fontSize:12,color:'#666',},
extra: {
ring: {
ringWidth: 60,
},
{
"name": "分红",
"data": 15,
"color":"#6136FF"
},
{
"name": "销售增值税",
"data": 13,
"color":"#19CEB3"
},
{
"name": "市场激励",
"data": 12,
"color":"#F1B900"
},
{
"name": "次年发展资金",
"data": 10.5,
"color":"#AE9BF5"
},
{
"name": "RWA市值管理",
"data": 10,
"color":"#94F7A1"
},
{
"name": "股标护盘",
"data": 5,
"color":"#006EFF"
},
{
"name": "交易激励",
"data": 5,
"color":"#FF2440"
},
{
"name": "年终分红",
"data": 4.5,
"color":"#00A776"
}
},
twoData:{
series:[
{"name": "其他分配集合","data": 49,"color":"#7934F6"},
{"name": "第一期","data": 10,"color":"#AF39C4"},
{"name": "第二期","data": 10,"color":"#0370FF"},
{"name": "第三期","data": 10,"color":"#00A6CC"},
{"name": "第四期","data": 10,"color":"#FFA700"},
{"name": "第五期","data": 11,"color":"#00A776"},
]
},
dataColor:['#FF8400','#6136FF', '#19CEB3', '#F1B900',
'#AE9BF5','#94F7A1','#006EFF','#FF2440','#00A776','#FF2440'],
dataTwo:[
{ value: '25', name: '成本' },
{ value: '15', name: '消费贡献共享计划' },
{ value: '13', name: '销售增值税' },
{ value: '12', name: '市场激励' },
{ value: '10.5', name: '次年发展资金' },
{ value: '10', name: 'RWA市值管理' },
{ value: '5', name: '股标护盘' },
{ value: '5', name: '交易激励' },
{ value: '4.5', name: '年终共享' },
],
dataTwoColor:['#FF8400','#6136FF', '#19CEB3', '#F1B900', '#AE9BF5'
,'#94F7A1','#006EFF','#FF2440','#00A776'],
threeData:{
series:[]
},
threeOps:{
legend:{show:false},
title:{name: '100%',fontSize:16,color:'#333',},
subtitle: {name: '分配分布',fontSize:12,color:'#666',},
extra: {
ring: {
ringWidth: 60,
},
}
},
fourData:{
categories: [1,2,3,4],
series: [{
name: "",
data:[]
}]
},
fiveData:{
categories: [1,2,3,4],
series: [{
name: "",
data:[]
}]
},
fourOps:{
color: ["#7632FF","#7632FF","#B039C2"],
padding: [15,15,0,15],
enableScroll: false,
legend: {show:false},
xAxis: {
disableGrid: true
},
yAxis: {
gridType: "dash",
dashLength: 2
},
extra: {
area: {
type: "straight",
opacity: 0.2,
addLine: true,
width: 2,
gradient: false,
activeType: "hollow"
}
}
},
curData:null,
fiveTotal:0
};
},
@@ -228,110 +297,99 @@ export default {
// setTimeout(()=>{
// this.init()
// },500)
this.profitSharingData();
},
methods: {
onTop(index){
if(this.topSelect !== index){
this.topSelect = index;
// if(index == 0){
// setTimeout(()=>{
// this.init()
// },500)
// }else{
// setTimeout(()=>{
// this.initTwo()
// },500)
// }
}
},
onOne(index){
if(this.curOne !== index){
this.curOne = index;
this.getFour();
}
},
onTwo(index){
if(this.curTwo !== index){
this.curTwo = index;
this.getFive();
}
},
getFive(){
this.fiveData.categories = [];
this.fiveData.series[0].data = [];
this.fiveData.series[0].name = '';
if(this.curTwo == 0){
this.fiveTotal = this.curData.profitSharingTbcBonus.tbcTotal;
let arr = this.curData.profitSharingTbcBonus.tbcList.slice(-5);
arr.forEach((item,index)=>{
this.fiveData.categories.push(item.key);
this.fiveData.series[0].data.push(item.amount);
})
}else{
this.fiveTotal = this.curData.profitSharingTbcBonus.bonusTotal;
let arr = this.curData.profitSharingTbcBonus.bonusList.slice(-5);
arr.forEach((item,index)=>{
this.fiveData.categories.push(item.key);
this.fiveData.series[0].data.push(item.amount);
})
}
},
getFour(){
this.fourData.categories = [];
this.fourData.series[0].data = [];
this.fourData.series[0].name = '';
if(this.curOne == 0){
let arr = this.curData.profitSharingStat.dayList.slice(-5);
arr.forEach((item,index)=>{
this.fourData.categories.push(item.key);
this.fourData.series[0].data.push(item.amount);
})
}else{
let arr = this.curData.profitSharingStat.monthList.slice(-5);
arr.forEach((item,index)=>{
this.fourData.categories.push(item.key);
this.fourData.series[0].data.push(item.amount);
})
}
},
profitSharingData(){
getProfitSharingData().then(res=>{
if (res.bizcode == 100) {
this.curData = res.data;
if(this.curData){
this.threeData.series = [];
this.threeData.series.push(this.curData.profitSharingDetail.cost);
this.threeData.series.push(this.curData.profitSharingDetail.bonus);
this.threeData.series.push(this.curData.profitSharingDetail.addedTax);
this.threeData.series.push(this.curData.profitSharingDetail.encourrage);
this.threeData.series.push(this.curData.profitSharingDetail.nextYearFund);
this.threeData.series.push(this.curData.profitSharingDetail.rwaMarketManage);
this.threeData.series.push(this.curData.profitSharingDetail.stockStabilizing);
this.threeData.series.push(this.curData.profitSharingDetail.tradeEncourrage);
this.threeData.series.push(this.curData.profitSharingDetail.yearEndShare);
this.threeData.series.forEach((item,index)=>{
item.data = Number(item.percent);
if(index == 0)item.color = '#7934F6';
if(index == 1)item.color = '#AF39C4';
if(index == 2)item.color = '#0370FF';
if(index == 3)item.color = '#00A6CC';
if(index == 4)item.color = '#FFB322';
if(index == 5)item.color = '#FF9035';
if(index == 6)item.color = '#FF5369';
if(index == 7)item.color = '#00A776';
if(index == 8)item.color = '#5840FF';
})
this.getFour();
this.getFive();
}
},
async init(){
// let chartDom = document.getElementById('chart');
let chartDom = await uni.createSelectorQuery().select('#chart');
console.log('chartDom',chartDom)
this.myChart = echarts.init(chartDom);
const option = {
color: this.dataColor,
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b}: {c} ({d}%)'
},
// legend: {
// top: '5%',
// left: 'center'
// },
label:{
formatter: ' {d}% '
},
series: [
{
name: '股权架构',
type: 'pie',
radius: '50%',
// avoidLabelOverlap: false,
// label: {
// show: false,
// position: 'center'
// },
// emphasis: {
// label: {
// show: true,
// fontSize: 24,
// fontWeight: 'bold'
// }
// },
// labelLine: {
// show: false
// },
data: this.data
}
]
};
this.myChart.setOption(option);
},
initTwo(){
let chartDomTwo = document.getElementById('chartTwo');
this.myChartTwo = echarts.init(chartDomTwo);
const option = {
color: this.dataTwoColor,
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b}: {c} ({d}%)'
},
// legend: {
// top: '0',
// left: 'center'
// },
label:{
formatter: '{d}%'
},
series: [
{
name: '营收数据',
type: 'pie',
radius: '50%',
// avoidLabelOverlap: false,
// selectedMode: 'single',
// label: {
// show: false,
// position: 'center'
// },
// emphasis: {
// label: {
// show: true,
// fontSize: 24,
// fontWeight: 'bold'
// }
// },
// labelLine: {
// show: false
// },
data: this.dataTwo
}
]
};
this.myChartTwo.setOption(option);
})
}
}
@@ -354,37 +412,202 @@ export default {
}
}
.top-line{
width:100%;
height:12rpx;
min-height:12rpx;
display: flex;
background-color: #F5F5F5;
}
.contract-view{
width:100%;
height:calc(100% - 88rpx - var(--status-bar-height));
height:calc(100% - 88rpx - 12rpx - var(--status-bar-height));
display: flex;
flex-direction: column;
align-items: center;
overflow-y: auto;
padding: 0 32rpx;
box-sizing: border-box;
background-color: #fff;
position: relative;
.top-head-1{
width:100%;
display: flex;
flex-direction: column;
padding: 40rpx 32rpx;
box-sizing: border-box;
}
.tab-view-two{
width:100%;
height:54rpx;
min-height:54rpx;
margin-top:32rpx;
display: flex;
flex-direction: row;
align-items: center;
padding:0 32rpx;
box-sizing: border-box;
border-bottom: 1rpx solid #eaeaea;
.tab-view-two-two{
display: flex;
flex-direction: column;
align-items: center;
box-sizing: border-box;
justify-content: space-between;
margin-right:48rpx;
height:54rpx;
min-height:54rpx;
.line-view{
width:48rpx;
height:4rpx;
min-height:4rpx;
background-color: #7934F6;
}
}
}
.tab-view-one{
width:100%;
height:48rpx;
min-height:48rpx;
display: flex;
flex-direction: row;
align-items: center;
padding:0 32rpx;
box-sizing: border-box;
view{
display: flex;
align-items: center;
justify-content: center;
padding:0 32rpx;
box-sizing: border-box;
height:48rpx;
border-radius: 24rpx;
margin-right:24rpx;
}
}
.top-head{
width:100%;
display: flex;
flex-direction: column;
padding: 36rpx 32rpx;
box-sizing: border-box;
}
.tu-view{
margin:32rpx 0;
display: flex;
width:100%;
min-height:calc(100vw - 64rpx);
}
.bottom-panel{
display: flex;
width:100%;
border-radius: 24rpx;
box-shadow: 0rpx 0rpx 29rpx 0rpx #E5E5E5;
flex-wrap: wrap;
justify-content: space-between;
padding: 24rpx;
padding: 0 32rpx;
align-items: center;
justify-content: center;
box-sizing: border-box;
.yuan{
border-radius: 50%;
width:28rpx;
min-height:28rpx;
position: relative;
.tu-box{
width:calc(100% - 100rpx);
min-height:calc(100% - 200rpx);
}
.zi-box{
position: absolute;
left:32rpx;
top:0;
display: flex;
flex-direction: column;
}
}
.bottom-view{
width:100%;
display: flex;
flex-direction: column;
padding: 0 32rpx;
box-sizing: border-box;
margin-bottom:20rpx;
.bottom-value-view{
width:100%;
border-radius: 0 0 16rpx 16rpx;
flex-direction: column;
// border-bottom:1rpx solid #eaeaea;
// border-left:1rpx solid #eaeaea;
// border-right:1rpx solid #eaeaea;
display: flex;
.bottom-value-view-row{
width:100%;
display: flex;
flex-direction: row;
.head-one-one{
width:134rpx;
height:100%;
border-right:1rpx solid #eaeaea;
border-left:1rpx solid #eaeaea;
border-bottom:1rpx solid #eaeaea;
display: flex;
flex-direction: row;
box-sizing: border-box;
padding: 20rpx;
}
.head-two-two{
width:318rpx;
height:100%;
display: flex;
flex-direction: row;
box-sizing: border-box;
border-bottom:1rpx solid #eaeaea;
padding: 20rpx;
}
.head-three-three{
flex:1;
padding: 20rpx;
height:100%;
border-left:1rpx solid #eaeaea;
border-right:1rpx solid #eaeaea;
display: flex;
flex-direction: row;
border-bottom:1rpx solid #eaeaea;
box-sizing: border-box;
}
}
}
.bottom-head{
width:100%;
margin-top:28rpx;
display: flex;
flex-direction: row;
height:80rpx;
min-height:80rpx;
align-items: cneter;
border-radius: 16rpx 16rpx 0 0;
background-color: #F8F8F8;
borer:1rpx solid #F8F8F8;
.head-one{
width:134rpx;
height:100%;
border-right:1rpx solid #eaeaea;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
box-sizing: border-box;
}
.head-two{
width:318rpx;
max-height:318rpx;
height:100%;
border-right:1rpx solid #eaeaea;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
}
.head-three{
flex:1;
height:100%;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
box-sizing: border-box;
}
}
}
}
+226 -68
View File
@@ -1,40 +1,79 @@
<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" 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 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>
<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>
<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
<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="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-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>
<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>
@@ -42,21 +81,19 @@
</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 {
Binary file not shown.

After

Width:  |  Height:  |  Size: 656 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

+4 -4
View File
@@ -2,11 +2,11 @@
// export const BASE_URL="http://cl55un59859.vicp.fun:24346"; // 测试环境
export const BASE_URL = "https://api.tbmall.xin"; //生产
export const MILD_BASE_URL = "https://agent.tbmall.xin/"; //中台生产
// export const BASE_URL = "https://api.tbmall.xin"; //生产
// export const MILD_BASE_URL = "https://agent.tbmall.xin/"; //中台生产
// export const BASE_URL ='https://api.o.tbmall.xin'; // 本地测试
// export const MILD_BASE_URL = "https://agent.o.tbmall.xin/"; //中台测试
export const BASE_URL ='https://api.o.tbmall.xin'; // 本地测试
export const MILD_BASE_URL = "https://agent.o.tbmall.xin/"; //中台测试
export const SHARE_URL = 'https://h.tbmall.xin';
+2
View File
@@ -37,6 +37,8 @@ export default {
tmpTime = `${y}-${m}-${d} ${h}:${mm}:${s}`;
}else if(val == 3){
tmpTime = `${y}-${m}-${d}`;
}else if(val == 4){
tmpTime = `${y}-${m}-${d} ${h}:${mm}`;
}
return tmpTime;
},