feat: 前端全量更新 - 含所有本次需求
- 移除秒合约页面及UI - 合约页Tab改为Position Held/Transaction Record - 存款/提款/转账页增加BTC/ETH - 资产页重构(用户信息+盈亏+多语言) - 注册页改版(匹配新设计稿) - 日文全面翻译+首页菜单多语言 - 代理专属注册链接支持(?code=) - 10个locale文件同步更新
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
<template>
|
||||
<view class="">
|
||||
<myNav :title="i18n.Investors.investTitle"></myNav>
|
||||
|
||||
<view class="padding-30" v-html="content">
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
content:'',
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
i18n() {
|
||||
return this.$t('message');
|
||||
},
|
||||
},
|
||||
onLoad(e) {
|
||||
this.content = e.text
|
||||
},
|
||||
methods: {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
page{
|
||||
background-color: #FFFFFF
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,159 @@
|
||||
<template>
|
||||
<view class="">
|
||||
<myNav title="" background="rgba(255,255,255,0)" blackColor="#fff" :isRight="true" righturl="/static/imgs/index/touziRIght@2x.png" @Jump="router.push('/pages/index/investor/record')"></myNav>
|
||||
<image style="position: fixed;top: 0rpx;height: calc(100vh);z-index: 0;" class="width-100b" src="/static/imgs/index/touyziBG@2x.png" mode=""></image>
|
||||
|
||||
<view class="padding-w-30 relative">
|
||||
<p class="font-42 color-white nummedium-font">{{i18n.Investors.title}}</p>
|
||||
<view class="font-28 color-white margin-c-28 line-height-48">
|
||||
{{data.content_txt}}......<text @click="router.push('/pages/index/investor/details?text='+data.content)" class="">{{i18n.Investors.more}}<i class="cuIcon-right"></i></text>
|
||||
</view>
|
||||
|
||||
<view class="padding-w-20 padding-c-10 bj-white radiu-4 margin-c-28" style="box-shadow: 0px 3px 6px rgba(232, 232, 232, 0.16);">
|
||||
<view class="height-60 flex align-center justify-between">
|
||||
<text class="font-26 nummedium-font color-333333">{{i18n.Investors.totalSales}}:</text>
|
||||
<text class="font-32 numbold-font color-333333">{{data.all_num}} {{data.curr_name}}</text>
|
||||
</view>
|
||||
<view class="height-60 flex align-center justify-between">
|
||||
<text class="font-26 nummedium-font color-333333">{{data.jieduan}}:</text>
|
||||
<text class="font-32 numbold-font color-333333">{{data.count_num}} {{data.curr_name}}</text>
|
||||
</view>
|
||||
<view class="height-60 flex align-center justify-between">
|
||||
<text class="font-26 nummedium-font color-333333">{{i18n.Investors.lave}}:</text>
|
||||
<text class="font-32 numbold-font color-333333">{{data.real_num}} {{data.curr_name}}</text>
|
||||
</view>
|
||||
<view class="height-60 flex align-center justify-between">
|
||||
<text class="font-26 nummedium-font color-333333">{{i18n.Investors.price}}:</text>
|
||||
<text class="font-32 numbold-font color-333333">1 APT = {{data.price}} USDT</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="padding-w-20 padding-c-10 bj-white radiu-4 margin-c-28" style="box-shadow: 0px 3px 6px rgba(232, 232, 232, 0.16);">
|
||||
<view class="height-60 flex align-center">
|
||||
<text class="font-26 weight-bold numbold-font color-333333">{{i18n.Investors.num}}</text>
|
||||
</view>
|
||||
<view class="height-96 flex align-center justify-between font-30">
|
||||
<input class="color-333333 nummedium-font" type="number" v-model="touziNum" :placeholder="i18n.Investors.inputNum" placeholder-style="color:#8B99A2;"/>
|
||||
<text class="color-333333 nummedium-font">USDT</text>
|
||||
</view>
|
||||
<view class="height-60 flex align-center nummedium-font font-24">
|
||||
<text class="color-333333">
|
||||
{{i18n.Investors.zehe}}:
|
||||
</text>
|
||||
<text class="color-0165EE">
|
||||
{{allNum}} APT
|
||||
</text>
|
||||
</view>
|
||||
<view class="height-60 flex align-center">
|
||||
<text class="font-26 weight-bold numbold-font color-333333">{{i18n.Investors.pay_pwd}}</text>
|
||||
</view>
|
||||
<view class="height-96 flex align-center justify-between font-30">
|
||||
<input class="color-333333 nummedium-font flex-1" type="text" password v-model="pay_pwd" :placeholder="i18n.Investors.inputPwd" placeholder-style="color:#8B99A2;"/>
|
||||
</view>
|
||||
</view>
|
||||
<view @click="touzi" v-if="data.status==1" class="canyuBtn nummedium-font">{{i18n.Investors.canyu}}</view>
|
||||
<view v-else class="canyuBtn_hui nummedium-font">{{i18n.Investors.canyu}}</view>
|
||||
|
||||
</view>
|
||||
<view class="height-40"></view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
data:'',
|
||||
|
||||
touziNum:'',
|
||||
pay_pwd:'',
|
||||
|
||||
flag:true
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
i18n() {
|
||||
return this.$t('message');
|
||||
},
|
||||
allNum(){
|
||||
let temp = 0
|
||||
temp = this.touziNum / this.data.price
|
||||
return temp.toFixed(4)
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
this.getInfo()
|
||||
},
|
||||
methods: {
|
||||
getInfo(){
|
||||
this.post('/angel/angel_content').then(res => {
|
||||
console.log('天使投资返回',res)
|
||||
if(res.code == 1){
|
||||
this.data = res.data
|
||||
}
|
||||
})
|
||||
},
|
||||
touzi(){
|
||||
if(!this.flag) return
|
||||
if(this.touziNum == ''){
|
||||
this.tos(this.i18n.Investors.inputNum)
|
||||
return
|
||||
}
|
||||
if(this.pay_pwd == ''){
|
||||
this.tos(this.i18n.Investors.inputPwd)
|
||||
return
|
||||
}
|
||||
uni.showLoading({
|
||||
mask:true
|
||||
})
|
||||
this.flag = false
|
||||
this.post('/angel/angel_sub',{
|
||||
id:this.data.id,
|
||||
num:this.touziNum,
|
||||
pay_pwd:this.pay_pwd
|
||||
}).then(res => {
|
||||
console.log('天使投资参与',res)
|
||||
uni.hideLoading()
|
||||
this.flag = true
|
||||
if(res.code == 1){
|
||||
this.tos(res.msg)
|
||||
this.touziNum = ''
|
||||
this.pay_pwd = ''
|
||||
setTimeout(()=>{
|
||||
uni.navigateTo({
|
||||
url:'/pages/index/investor/record'
|
||||
})
|
||||
},500)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
page{
|
||||
background-color: #398CFF;
|
||||
}
|
||||
.canyuBtn{
|
||||
width: 600rpx;
|
||||
height: 86rpx;
|
||||
margin: 30rpx auto;
|
||||
background: #FFFFFF;
|
||||
color: #0165EE;
|
||||
text-align: center;
|
||||
line-height: 86rpx;
|
||||
font-size: 32rpx;
|
||||
border-radius: 20rpx;
|
||||
}
|
||||
.canyuBtn_hui{
|
||||
width: 600rpx;
|
||||
height: 86rpx;
|
||||
margin: 30rpx auto;
|
||||
background: #999;
|
||||
color: #ddd;
|
||||
text-align: center;
|
||||
line-height: 86rpx;
|
||||
font-size: 32rpx;
|
||||
border-radius: 20rpx;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,116 @@
|
||||
<template>
|
||||
<view class="">
|
||||
<z-paging :language="$i18n.locale" ref="paging" v-model="list" @query="queryList" :pageSize="20">
|
||||
<!-- 下拉刷新 -->
|
||||
<custom-refresher slot="refresher" slot-scope="{refresherStatus}" :status="refresherStatus">
|
||||
</custom-refresher>
|
||||
|
||||
<!-- 头部 -->
|
||||
<myNav slot="top" :title="i18n.Investors.recordTitle"></myNav>
|
||||
<!-- 身体 -->
|
||||
<view>
|
||||
<view class="height-140 bj-white flex align-center justify-between">
|
||||
<view class="flex-1 height-90 flex direction-column align-center justify-between">
|
||||
<text class="font-24 color-C3C3C3 nummedium-font">{{i18n.Investors.total_investment}} APT</text>
|
||||
<text class="font-36 numbold-font color-333333">{{count_num}}</text>
|
||||
</view>
|
||||
<view class="geduan"></view>
|
||||
<view class="flex-1 height-90 flex direction-column align-center justify-between">
|
||||
<text class="font-24 color-C3C3C3 nummedium-font">{{i18n.Investors.total_revenue}}</text>
|
||||
<text class="font-36 numbold-font color-333333">{{count_sy}}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view @click="goDetails(item.id)" class="listBox" v-for="(item,index) in list" :key="index">
|
||||
<view class="flex-1 height-100b flex direction-column align-start justify-between">
|
||||
<text class="font-24 color-C3C3C3 nummedium-font">{{i18n.Investors.invest_num}}</text>
|
||||
<text class="font-26 numbold-font color-333333">{{item.num}} APT</text>
|
||||
</view>
|
||||
<view class="flex-1 height-100b flex direction-column align-center justify-between">
|
||||
<text class="font-24 color-C3C3C3 nummedium-font">{{i18n.Investors.invest_price}}</text>
|
||||
<text class="font-26 numbold-font color-333333">{{item.price}} USDT</text>
|
||||
</view>
|
||||
<view class="flex-1 height-100b flex direction-column align-end justify-between">
|
||||
<text class="font-24 color-C3C3C3 nummedium-font">{{i18n.Investors.invest_time}}</text>
|
||||
<text class="font-26 numbold-font color-C3C3C3">{{item.addtime}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</z-paging>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
count_num: 0,
|
||||
count_sy: 0,
|
||||
list: [],
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
i18n() {
|
||||
return this.$t('message');
|
||||
},
|
||||
},
|
||||
// onPullDownRefresh() {
|
||||
// console.log('refresh');
|
||||
// this.list = []
|
||||
// this.count_num = 0
|
||||
// this.count_sy = 0
|
||||
// this.getList()
|
||||
// setTimeout(function() {
|
||||
// uni.stopPullDownRefresh();
|
||||
// }, 1000);
|
||||
// },
|
||||
onShow() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
queryList(pageNo, pageSize) {
|
||||
setTimeout(() => {
|
||||
this.post('/angel/angel_user', {
|
||||
page: pageNo,
|
||||
page_num: pageSize
|
||||
}).then(res => {
|
||||
if (res.code == 1) {
|
||||
console.log(res)
|
||||
this.count_num = res.data.count_num
|
||||
this.count_sy = res.data.count_sy
|
||||
this.$refs.paging.complete(res.data.list);
|
||||
}
|
||||
})
|
||||
}, 500)
|
||||
},
|
||||
goDetails(id) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/index/investor/record_details?id=' + id
|
||||
})
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.geduan {
|
||||
width: 2rpx;
|
||||
height: 61rpx;
|
||||
background-color: #707070;
|
||||
opacity: 0.17;
|
||||
}
|
||||
|
||||
.listBox {
|
||||
width: 690rpx;
|
||||
height: 117rpx;
|
||||
margin: 30rpx auto;
|
||||
padding: 18rpx 22rpx;
|
||||
background: #FFFFFF;
|
||||
box-shadow: 0rpx 4rpx 10rpx rgba(205, 206, 219, 0.3);
|
||||
border-radius: 20rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,143 @@
|
||||
<template>
|
||||
<view class="">
|
||||
<z-paging :language="$i18n.locale" ref="paging" v-model="list" @query="queryList" :pageSize="20">
|
||||
<!-- 下拉刷新 -->
|
||||
<custom-refresher slot="refresher" slot-scope="{refresherStatus}" :status="refresherStatus">
|
||||
</custom-refresher>
|
||||
|
||||
<!-- 头部 -->
|
||||
<myNav slot="top" :title="i18n.Investors.invest_title"></myNav>
|
||||
<!-- 身体 -->
|
||||
<view>
|
||||
<view class="topBox">
|
||||
<view class="height-142 flex align-center justify-between">
|
||||
<view class="flex-1 height-90 flex direction-column align-center justify-between">
|
||||
<text class="font-24 color-F6F8FB nummedium-font" style="opacity: 0.8;">{{i18n.Investors.leiji_all}}</text>
|
||||
<text class="font-36 numbold-font color-white">{{count_all}}</text>
|
||||
</view>
|
||||
<view class="flex-1 height-90 flex direction-column align-center justify-between">
|
||||
<text class="font-24 color-F6F8FB nummedium-font" style="opacity: 0.8;">{{i18n.Investors.leiji_day}}</text>
|
||||
<text class="font-36 numbold-font color-white">{{day}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="geduan"></view>
|
||||
<view class="height-164 flex align-center justify-between">
|
||||
<view class="flex-1 height-100 flex direction-column align-center justify-between">
|
||||
<text class="font-24 color-F6F8FB nummedium-font" style="opacity: 0.8;">{{i18n.Investors.leiji_lixi}}</text>
|
||||
<text class="font-36 numbold-font color-white">{{count_lixi}}</text>
|
||||
</view>
|
||||
<view class="flex-1 height-100 flex direction-column align-center justify-between">
|
||||
<text class="font-24 color-F6F8FB nummedium-font" style="opacity: 0.8;">{{i18n.Investors.leiji_bj}}</text>
|
||||
<text class="font-36 numbold-font color-white">{{count_bj}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="listBox" v-for="(item,index) in list" :key="index">
|
||||
<view class="height-117 padding-w-10 flex align-center justify-between">
|
||||
<view class="flex-1 height-80 flex direction-column align-start justify-between">
|
||||
<text class="font-24 color-C3C3C3 nummedium-font">{{i18n.Investors.leiji_time}}</text>
|
||||
<text class="font-28 nummedium-font color-C3C3C3">{{item.addtime}}</text>
|
||||
</view>
|
||||
<view class="flex-1 height-80 flex direction-column align-end justify-between">
|
||||
<text class="font-24 color-C3C3C3 nummedium-font" style="opacity: 0.8;">{{item.type==1?i18n.Investors.freed_lixi:i18n.Investors.freed_bj}}</text>
|
||||
<text class="font-34 numbold-font color-333333">+{{item.num}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</z-paging>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
count_lixi:0,
|
||||
count_all:0,
|
||||
count_bj:0,
|
||||
day:0,
|
||||
|
||||
list:[],
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
i18n() {
|
||||
return this.$t('message');
|
||||
},
|
||||
},
|
||||
// onPullDownRefresh() {
|
||||
// console.log('refresh');
|
||||
// this.list = []
|
||||
// this.page = 1
|
||||
// this.state = 'more'
|
||||
// this.getInfo()
|
||||
// this.getList()
|
||||
// setTimeout(function () {
|
||||
// uni.stopPullDownRefresh();
|
||||
// }, 1000);
|
||||
// },
|
||||
// onReachBottom:function(){
|
||||
// this.page++
|
||||
// this.getList()
|
||||
// },
|
||||
onLoad(e) {
|
||||
this.id = e.id
|
||||
this.getInfo()
|
||||
},
|
||||
methods: {
|
||||
getInfo(){
|
||||
this.post('/angel/angel_detail_head',{
|
||||
id:this.id
|
||||
}).then(res => {
|
||||
console.log('释放记录头部',res)
|
||||
if(res.code == 1){
|
||||
this.count_lixi = res.data.count_lixi
|
||||
this.count_all = res.data.count_all
|
||||
this.count_bj = res.data.count_bj
|
||||
this.day = res.data.day
|
||||
}
|
||||
})
|
||||
},
|
||||
queryList(pageNo, pageSize) {
|
||||
setTimeout(()=>{
|
||||
this.post('/angel/angel_detail_log', {
|
||||
page: pageNo,
|
||||
page_num: pageSize,
|
||||
id:this.id
|
||||
}).then(res => {
|
||||
if (res.code == 1) {
|
||||
console.log(res)
|
||||
this.$refs.paging.complete(res.data.data);
|
||||
}
|
||||
})
|
||||
},500)
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.topBox{
|
||||
width: 690rpx;
|
||||
// height: 306rpx;
|
||||
margin: 20rpx auto;
|
||||
border-radius: 8rpx;
|
||||
background: linear-gradient(117deg, #066FFF 0%, #72AEFF 100%);
|
||||
}
|
||||
.geduan{
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
background-color: #FFFFFF;
|
||||
opacity: 0.42;
|
||||
}
|
||||
.listBox{
|
||||
width: 100%;
|
||||
padding: 0 30rpx;
|
||||
// height: 234rpx;
|
||||
background: #FFFFFF;
|
||||
margin: 16rpx auto;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user