@ -0,0 +1,104 @@ |
|||||
|
<template> |
||||
|
<view class="showMore"> |
||||
|
<view class="showMoreContent" :class="collapseFlag ? 'up' : 'down'"> |
||||
|
<slot></slot> |
||||
|
</view> |
||||
|
<view class="showMoreTool"> |
||||
|
<view class="showMoreTitle">{{ title }}</view> |
||||
|
<view class="showMoreIcon" :class="collapseFlag ? 'up' : 'down'" @click="collapse"></view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
const COMPONENT_NAME = 'showMore' |
||||
|
export default { |
||||
|
name: COMPONENT_NAME, |
||||
|
props: { |
||||
|
showBack: { // 是否显示返回按钮 |
||||
|
type: Boolean, |
||||
|
default() { |
||||
|
return true |
||||
|
} |
||||
|
}, |
||||
|
bgTransparent: { // 背景是否透明 |
||||
|
type: Boolean, |
||||
|
default() { |
||||
|
return false |
||||
|
} |
||||
|
}, |
||||
|
bgnum: { |
||||
|
type: Boolean, |
||||
|
default() { |
||||
|
return false |
||||
|
} |
||||
|
}, |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
title: 'Show more', |
||||
|
collapseFlag: false, // 折叠状态 |
||||
|
} |
||||
|
}, |
||||
|
computed: { |
||||
|
|
||||
|
}, |
||||
|
mounted() { |
||||
|
|
||||
|
}, |
||||
|
methods: { |
||||
|
collapse() { |
||||
|
this.collapseFlag = !this.collapseFlag; |
||||
|
this.title = this.collapseFlag ? 'Pick up' : 'Show more' |
||||
|
|
||||
|
|
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped lang="scss"> |
||||
|
.showMoreContent { |
||||
|
padding-top: 16rpx; |
||||
|
margin-bottom: 16rpx; |
||||
|
// border-top: 2rpx solid #323045; |
||||
|
overflow: hidden; |
||||
|
transition: max-height 0.5s ease-in-out; |
||||
|
|
||||
|
&.up { |
||||
|
max-height: 500rpx; |
||||
|
} |
||||
|
|
||||
|
&.down { |
||||
|
max-height: 0; |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.showMoreTool { |
||||
|
position: relative; |
||||
|
color: #00E8A2; |
||||
|
font-size: 28rpx; |
||||
|
|
||||
|
.showMoreIcon { |
||||
|
width: 32rpx; |
||||
|
height: 32rpx; |
||||
|
|
||||
|
position: absolute; |
||||
|
top: 4rpx; |
||||
|
right: 8rpx; |
||||
|
background-image: url(../../static/me/ic_input_arrow_down.png); |
||||
|
background-repeat: no-repeat; |
||||
|
background-size: 32rpx; |
||||
|
transition: transform 0.3s; |
||||
|
|
||||
|
&.up { |
||||
|
transform: rotate(-180deg); |
||||
|
} |
||||
|
|
||||
|
&.down { |
||||
|
transform: rotate(0deg); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,101 @@ |
|||||
|
<template> |
||||
|
<view class="transaction"> |
||||
|
<view class="tab"> |
||||
|
<view class="buy uni-bg-up" :class="type == 2 ? 'normal' : ''" @click="onChangeType(1)">买入</view> |
||||
|
<view class="sell uni-bg-down " :class="type == 1 ? 'normal' : ''" @click="onChangeType(2)">卖出</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
const COMPONENT_NAME = 'transaction' |
||||
|
export default { |
||||
|
name: COMPONENT_NAME, |
||||
|
props: { |
||||
|
showBack: { // 是否显示返回按钮 |
||||
|
type: Boolean, |
||||
|
default() { |
||||
|
return true |
||||
|
} |
||||
|
}, |
||||
|
bgTransparent: { // 背景是否透明 |
||||
|
type: Boolean, |
||||
|
default() { |
||||
|
return false |
||||
|
} |
||||
|
}, |
||||
|
bgnum: { |
||||
|
type: Boolean, |
||||
|
default() { |
||||
|
return false |
||||
|
} |
||||
|
}, |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
title: 'Show more', |
||||
|
collapseFlag: false, // 折叠状态 |
||||
|
} |
||||
|
}, |
||||
|
computed: { |
||||
|
i18n() { |
||||
|
return this.$t("markets"); |
||||
|
}, |
||||
|
}, |
||||
|
mounted() { |
||||
|
|
||||
|
}, |
||||
|
methods: { |
||||
|
collapse() { |
||||
|
this.collapseFlag = !this.collapseFlag; |
||||
|
this.title = this.collapseFlag ? 'Pick up' : 'Show more' |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped lang="scss"> |
||||
|
.showMoreContent { |
||||
|
padding-top: 16rpx; |
||||
|
margin-bottom: 16rpx; |
||||
|
// border-top: 2rpx solid #323045; |
||||
|
overflow: hidden; |
||||
|
transition: max-height 0.5s ease-in-out; |
||||
|
|
||||
|
&.up { |
||||
|
max-height: 500rpx; |
||||
|
} |
||||
|
|
||||
|
&.down { |
||||
|
max-height: 0; |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.showMoreTool { |
||||
|
position: relative; |
||||
|
color: #00E8A2; |
||||
|
font-size: 28rpx; |
||||
|
|
||||
|
.showMoreIcon { |
||||
|
width: 32rpx; |
||||
|
height: 32rpx; |
||||
|
|
||||
|
position: absolute; |
||||
|
top: 4rpx; |
||||
|
right: 8rpx; |
||||
|
background-image: url(../../static/me/ic_input_arrow_down.png); |
||||
|
background-repeat: no-repeat; |
||||
|
background-size: 32rpx; |
||||
|
transition: transform 0.3s; |
||||
|
|
||||
|
&.up { |
||||
|
transform: rotate(-180deg); |
||||
|
} |
||||
|
|
||||
|
&.down { |
||||
|
transform: rotate(0deg); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,82 @@ |
|||||
|
<template> |
||||
|
<view class="main"> |
||||
|
<!-- nav --> |
||||
|
<navigation>{{ 'BTC/USDT' }}<view slot="right" class="right" @click="goto('kLine')"></view> |
||||
|
</navigation> |
||||
|
<view class="content"> |
||||
|
<view class="transactionSide"> |
||||
|
<!-- <tradePanel ref="trade" :type="type"></tradePanel> --> |
||||
|
<transaction></transaction> |
||||
|
</view> |
||||
|
<view class="positionSide"> |
||||
|
<!-- <positionList v-on:depthChange="depthChange"></positionList> --> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="uni-gap"></view> |
||||
|
<!-- <entrustOrderList></entrustOrderList> --> |
||||
|
<!-- <uni-drawer :visible="drawerVisible" mask="false" mode="left" @close="closeDrawer"> |
||||
|
<marketDrawer :areaList="areaList" :marketList="marketList"></marketDrawer> |
||||
|
</uni-drawer> --> |
||||
|
|
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import transaction from '../../components/transaction/transaction.vue'; |
||||
|
export default { |
||||
|
components: { transaction }, |
||||
|
name: "trade", |
||||
|
data() { |
||||
|
return { |
||||
|
|
||||
|
}; |
||||
|
}, |
||||
|
computed: { |
||||
|
i18n() { |
||||
|
return this.$t("markets"); |
||||
|
}, |
||||
|
}, |
||||
|
onLoad() { |
||||
|
|
||||
|
}, |
||||
|
onShow() { }, |
||||
|
methods: { |
||||
|
|
||||
|
|
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.main { |
||||
|
|
||||
|
.right { |
||||
|
width: 48rpx; |
||||
|
height: 48rpx; |
||||
|
position: absolute; |
||||
|
right: 32rpx; |
||||
|
font-size: 24rpx; |
||||
|
background-image: url(../../static/home/ic_increase.png); |
||||
|
background-repeat: no-repeat; |
||||
|
background-size: 48rpx; |
||||
|
color: #FFBC1F; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
.content { |
||||
|
margin-top: 200rpx; |
||||
|
padding: 40rpx; |
||||
|
|
||||
|
.transactionSide{ |
||||
|
width: 444rpx; |
||||
|
margin-left: 28rpx; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,125 @@ |
|||||
|
<template> |
||||
|
<view class="main"> |
||||
|
<!-- nav --> |
||||
|
<navigation>{{ i18n.MinePool }}</navigation> |
||||
|
<view class="poolContent"> |
||||
|
<!-- pool选择框 --> |
||||
|
<view class="pool-item" v-for="(item, index) in 4" :key="index"> |
||||
|
<u-icon class="icon" :name="'../../static/mine/img_mine01.png'" size="92rpx" width="92rpx"></u-icon> |
||||
|
<view class="right"> |
||||
|
<view class="title">0.1 BTC 30 days</view> |
||||
|
<view class="description">every time lock 0.1 BTC,Lock 30 Mine poolLock,to produce 300 ACTA per 1 |
||||
|
day</view> |
||||
|
</view> |
||||
|
<u-button class="button" @click="gotoDetails(index)" color="#00E8A2" throttleTime="500">{{ i18n.OpenMine }}</u-button> |
||||
|
</view> |
||||
|
|
||||
|
|
||||
|
</view> |
||||
|
|
||||
|
|
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
name: "mine", |
||||
|
data() { |
||||
|
return { |
||||
|
pageState: 'coinRecharge', |
||||
|
coin: '', |
||||
|
USDTPopupShow: false, |
||||
|
USDTRadioValue: '', |
||||
|
selectNumberValue: 100, |
||||
|
selectMethod: '1', |
||||
|
}; |
||||
|
}, |
||||
|
computed: { |
||||
|
i18n() { |
||||
|
return this.$t("mine"); |
||||
|
}, |
||||
|
}, |
||||
|
onLoad() { |
||||
|
}, |
||||
|
onShow() { }, |
||||
|
methods: { |
||||
|
gotoDetails(index) { |
||||
|
console.log(index); |
||||
|
uni.navigateTo({ |
||||
|
url: `/pages/mine/mineDetails?id=${index}` |
||||
|
}); |
||||
|
}, |
||||
|
|
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.main { |
||||
|
|
||||
|
.poolContent { |
||||
|
overflow: hidden; |
||||
|
margin-top: 200rpx; |
||||
|
padding: 0 60rpx; |
||||
|
|
||||
|
|
||||
|
.pool-item { |
||||
|
position: relative; |
||||
|
background: #211F32; |
||||
|
margin-top: 32rpx; |
||||
|
padding: 32rpx 24rpx; |
||||
|
background-image: url(../../static/mine/Line.png); |
||||
|
background-repeat: no-repeat; |
||||
|
background-size: 630rpx 2rpx; |
||||
|
|
||||
|
.icon { |
||||
|
display: inline-block; |
||||
|
width: 92rpx; |
||||
|
margin-top: 10rpx; |
||||
|
margin-right: 28rpx; |
||||
|
border-radius: 16rpx; |
||||
|
vertical-align: top; |
||||
|
} |
||||
|
|
||||
|
.right { |
||||
|
display: inline-block; |
||||
|
width: 460rpx; |
||||
|
|
||||
|
.title { |
||||
|
font-weight: 600; |
||||
|
width: 460rpx; |
||||
|
height: 52rpx; |
||||
|
line-height: 52rpx; |
||||
|
font-size: 32rpx; |
||||
|
} |
||||
|
|
||||
|
.description { |
||||
|
width: 460rpx; |
||||
|
font-size: 24rpx; |
||||
|
color: #A1A0A8; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
.button { |
||||
|
height: 64rpx; |
||||
|
line-height:64rpx; |
||||
|
font-size: 28rpx; |
||||
|
color: #15141F !important; |
||||
|
margin-top: 48rpx; |
||||
|
border-radius: 16rpx; |
||||
|
text-align: center; |
||||
|
font-weight: 600; |
||||
|
} |
||||
|
|
||||
|
&:last-child{ |
||||
|
margin-bottom: 80rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,233 @@ |
|||||
|
<template> |
||||
|
<view class="main"> |
||||
|
<!-- nav --> |
||||
|
<navigation>{{ i18n.MineDetails }}<view slot="right" class="right" @click="goto('mineRecord')">{{ i18n.Record }} |
||||
|
</view> |
||||
|
</navigation> |
||||
|
<view class="content"> |
||||
|
<view class="card"> |
||||
|
<view class="top"> |
||||
|
<u-icon class="icon" :name="'../../static/mine/coinLogo.png'" size="80rpx" width="80rpx"></u-icon> |
||||
|
<view class="title">{{ i18n.YourBTC }}</view> |
||||
|
<view class="coinValue">{{ coinValue }}</view> |
||||
|
</view> |
||||
|
<view class="bottom"> |
||||
|
<view class="item"> |
||||
|
<view class="title">{{ i18n.LockBTC }}</view> |
||||
|
<view class="value">0.1</view> |
||||
|
</view> |
||||
|
<view class="item"> |
||||
|
<view class="title">{{ i18n.dayproduce }}</view> |
||||
|
<view class="value">300 ACTA</view> |
||||
|
</view> |
||||
|
<view class="item"> |
||||
|
<view class="title">{{ i18n.MinLockTime }}</view> |
||||
|
<view class="value">30{{ i18n.days }}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
</view> |
||||
|
<input class="input" v-model="codeValue" focus :placeholder="i18n.invuteCode" |
||||
|
placeholder-style="color:#A1A0A8" /> |
||||
|
<view class="allItem"> |
||||
|
<input class="input" v-model="coinQuantity" :placeholder="i18n.lockBTC" |
||||
|
placeholder-style="color:#A1A0A8" /> |
||||
|
<view class="all">{{ i18n.ALL }}</view> |
||||
|
</view> |
||||
|
|
||||
|
<u-button class="button" color="#00E8A2" throttleTime="500" :disabled="true">{{ i18n.LockBTCBtn }} |
||||
|
</u-button> |
||||
|
</view> |
||||
|
|
||||
|
|
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import uniCopy from '@/utils/uni-copy' |
||||
|
export default { |
||||
|
name: "mineDetails", |
||||
|
data() { |
||||
|
return { |
||||
|
coinValue: 1000.001, |
||||
|
codeValue: '', |
||||
|
coinQuantity: '', |
||||
|
}; |
||||
|
}, |
||||
|
computed: { |
||||
|
i18n() { |
||||
|
return this.$t("mine"); |
||||
|
}, |
||||
|
}, |
||||
|
onLoad() { |
||||
|
}, |
||||
|
onShow() { }, |
||||
|
methods: { |
||||
|
goto(id) { |
||||
|
// console.log(id); |
||||
|
let url = ''; |
||||
|
switch (id) { |
||||
|
case 'mineRecord': |
||||
|
url = '/pages/mine/mineRecord' |
||||
|
break; |
||||
|
default: |
||||
|
break; |
||||
|
} |
||||
|
if (url) { |
||||
|
// console.log(url); |
||||
|
uni.navigateTo({ |
||||
|
url, |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
USDTRadioChange(e) { |
||||
|
console.log(e); |
||||
|
}, |
||||
|
|
||||
|
copyAddress(value = "") { |
||||
|
console.log(value) |
||||
|
uniCopy({ |
||||
|
content: value, |
||||
|
success: (res) => { |
||||
|
uni.showToast({ |
||||
|
title: "复制成功", |
||||
|
duration: 3000, |
||||
|
}) |
||||
|
}, |
||||
|
error: (e) => { |
||||
|
uni.showToast({ |
||||
|
title: e, |
||||
|
icon: 'none', |
||||
|
duration: 2000, |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.main { |
||||
|
|
||||
|
.right { |
||||
|
position: absolute; |
||||
|
right: 32rpx; |
||||
|
font-size: 24rpx; |
||||
|
} |
||||
|
|
||||
|
.content { |
||||
|
overflow: hidden; |
||||
|
margin-top: 200rpx; |
||||
|
padding: 0 32rpx; |
||||
|
|
||||
|
.card { |
||||
|
margin-top: 40rpx; |
||||
|
height: 274rpx; |
||||
|
padding: 0 24rpx; |
||||
|
background-image: url(../../static/mine/bg_mine.png); |
||||
|
background-repeat: no-repeat; |
||||
|
background-size: 686rpx 274rpx; |
||||
|
|
||||
|
.top { |
||||
|
display: flex; |
||||
|
height: 132rpx; |
||||
|
border-bottom: 2rpx solid rgba(255, 255, 255, 0.2); |
||||
|
|
||||
|
.icon { |
||||
|
margin: 0 24rpx 0 16rpx; |
||||
|
} |
||||
|
|
||||
|
.title { |
||||
|
font-size: 28rpx; |
||||
|
line-height: 136rpx; |
||||
|
} |
||||
|
|
||||
|
.coinValue { |
||||
|
flex: 1; |
||||
|
text-align: right; |
||||
|
font-size: 68rpx; |
||||
|
line-height: 144rpx; |
||||
|
padding-right: 20rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.bottom { |
||||
|
display: flex; |
||||
|
height: 140rpx; |
||||
|
padding: 0 20rpx; |
||||
|
|
||||
|
.item { |
||||
|
flex: 1; |
||||
|
|
||||
|
.title { |
||||
|
font-size: 20rpx; |
||||
|
line-height: 64rpx; |
||||
|
} |
||||
|
|
||||
|
.value { |
||||
|
font-size: 35rpx; |
||||
|
line-height: 40rpx; |
||||
|
font-weight: 600; |
||||
|
} |
||||
|
|
||||
|
&:nth-child(1) { |
||||
|
text-align: left; |
||||
|
} |
||||
|
|
||||
|
&:nth-child(2) { |
||||
|
text-align: center; |
||||
|
} |
||||
|
|
||||
|
&:nth-child(3) { |
||||
|
text-align: right; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
.input { |
||||
|
margin-top: 32rpx; |
||||
|
height: 112rpx; |
||||
|
background: #323045; |
||||
|
border-radius: 32rpx; |
||||
|
padding-left: 32rpx; |
||||
|
font-size: 26rpx; |
||||
|
color: #fff; |
||||
|
} |
||||
|
|
||||
|
.allItem { |
||||
|
position: relative; |
||||
|
|
||||
|
.all { |
||||
|
position: absolute; |
||||
|
display: inline; |
||||
|
font-size: 20rpx; |
||||
|
color: #00E8A2; |
||||
|
top: 44rpx; |
||||
|
right: 30rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
.button { |
||||
|
margin-top: 60rpx; |
||||
|
border-radius: 32rpx; |
||||
|
height: 112rpx; |
||||
|
line-height: 112rpx; |
||||
|
color: #15141F !important; |
||||
|
font-weight: bold; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,80 @@ |
|||||
|
<template> |
||||
|
<view class="main"> |
||||
|
<!-- nav --> |
||||
|
<navigation>{{ i18n.MinePool }}</navigation> |
||||
|
<!-- 数据为空格显示 --> |
||||
|
<u-empty :show="dataList.length === 0" marginTop="350rpx" :text="i18n.NoData" textColor="#818197" |
||||
|
textSize="36rpx" icon="../../static/mine/img_data.png"></u-empty> |
||||
|
<view class="content" v-if="dataList.length > 0"> |
||||
|
<view class="dataBody" v-for="(item, index) in 4" :key="index"> |
||||
|
<Key-value-row :keyName="i18n.BaseCoin" :value="'100BTC'" ></Key-value-row> |
||||
|
<Key-value-row :keyName="i18n.ProfitCoin" :value="'CEH'"></Key-value-row> |
||||
|
<Key-value-row :keyName="i18n.DayRebate" :value="'75000'"></Key-value-row> |
||||
|
<u-divider text="" lineColor="#B9C1D9"></u-divider> |
||||
|
<Key-value-row :keyName="i18n.RebateDay" :value="'0/120'"></Key-value-row> |
||||
|
<Key-value-row :keyName="i18n.RebateAmount" :value="'150000/9000000'"></Key-value-row> |
||||
|
<u-divider text="" lineColor="#B9C1D9"></u-divider> |
||||
|
<Key-value-row :keyName="i18n.AddTime" :value="'2022/08/06 14:50:34'"></Key-value-row> |
||||
|
<Key-value-row :keyName="i18n.ReleaseTime" :value="'2022/08/06 14:50:34'"></Key-value-row> |
||||
|
</view> |
||||
|
|
||||
|
</view> |
||||
|
|
||||
|
|
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import KeyValueRow from '../../components/KeyValueRow/KeyValueRow.vue'; |
||||
|
export default { |
||||
|
components: { KeyValueRow }, |
||||
|
name: "mineRecord", |
||||
|
data() { |
||||
|
return { |
||||
|
dataList: [{}], |
||||
|
}; |
||||
|
}, |
||||
|
computed: { |
||||
|
i18n() { |
||||
|
return this.$t("mine"); |
||||
|
}, |
||||
|
}, |
||||
|
onLoad() { |
||||
|
}, |
||||
|
onShow() { }, |
||||
|
methods: { |
||||
|
|
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.main { |
||||
|
.content { |
||||
|
margin-top: 200rpx; |
||||
|
padding: 32rpx; |
||||
|
|
||||
|
.dataBody { |
||||
|
margin-bottom: 32rpx; |
||||
|
padding: 32rpx; |
||||
|
box-sizing: border-box; |
||||
|
background: #211F32; |
||||
|
border-radius: 20rpx; |
||||
|
|
||||
|
.text { |
||||
|
margin-top: 20rpx; |
||||
|
padding: 10rpx 16rpx; |
||||
|
background: #323045; |
||||
|
border-radius: 8rpx; |
||||
|
font-size: 24rpx; |
||||
|
color: #A1A0A8; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,527 @@ |
|||||
|
<template> |
||||
|
<view class="main"> |
||||
|
<!-- nav --> |
||||
|
<navigation>{{ i18n.Recharge }}<view slot="right" class="right" @click="goto('rechargeRecord')">{{ i18n.Record |
||||
|
}} |
||||
|
</view> |
||||
|
</navigation> |
||||
|
<!-- headBtn --> |
||||
|
<view class="head"> |
||||
|
<view class="headItem" @click="pageState = 'coinRecharge'" |
||||
|
:class="{ select: pageState === 'coinRecharge' }"> |
||||
|
{{ i18n.CoinRecharge }} |
||||
|
</view> |
||||
|
<view class="headItem" @click="pageState = 'cashRecharge'" |
||||
|
:class="{ select: pageState === 'cashRecharge' }"> |
||||
|
{{ i18n.CashRecharge }} |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="coinContent" v-if="pageState === 'coinRecharge'"> |
||||
|
<!-- coin选择框 --> |
||||
|
<view class="input-item"> |
||||
|
<u-input class="input" v-model="coin" color="#fff" fontSize="32rpx" border="none" |
||||
|
:placeholder="i18n.PleaseChooseCoin"> |
||||
|
</u-input> |
||||
|
<view class="selectCoinBtn" @click="USDTPopupShow = true">USDT |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<view class="coin-item"> |
||||
|
<view class="QRCode"> |
||||
|
<u-image class="QRCodeImg" src="../../static/me/QR-code.png" width="310rpx" height="310rpx"> |
||||
|
</u-image> |
||||
|
</view> |
||||
|
<view class="CoinAddressTitle">{{ i18n.CoinDepositAddress }}</view> |
||||
|
<view class="Copy" @click="copyAddress('123')">{{ i18n.CopyAddress }}</view> |
||||
|
<view class="CoinAddress">{{ 'MBDLNKJ9080FWO83RHFKSJLIRJF9S9890DKJ90' }}</view> |
||||
|
<u-divider text="" :dashed="true"></u-divider> |
||||
|
<view class="ScanQR">{{ i18n.ScanQR }}</view> |
||||
|
</view> |
||||
|
<view class="message-item"> |
||||
|
{{ i18n.message }} |
||||
|
</view> |
||||
|
|
||||
|
<!-- USDT按钮通知弹出层 --> |
||||
|
<u-popup class="USDTPopup" :show="USDTPopupShow" round="40rpx" mode="bottom" @close="USDTPopupShow = false" |
||||
|
@open="USDTPopupShow = true" bgColor="#211F32"> |
||||
|
<view class="content"> |
||||
|
<view class="close" @click="USDTPopupShow = false"></view> |
||||
|
<scroll-view scroll-y="true" style="height: 432rpx;" scroll-with-animation="true" @touchmove.stop> |
||||
|
<radio-group class="radioGroup" @change="USDTRadioChange" v-model="USDTRadioValue"> |
||||
|
<label class="checkBox" v-for="(item, index) in 10" :key="index"> |
||||
|
<view class="icon"> |
||||
|
<u-icon name="../../static/maskets/logo.png" size="64rpx" width="64rpx"></u-icon> |
||||
|
</view> |
||||
|
<view class="iconName"> |
||||
|
<view class="top">USDT</view> |
||||
|
<view class="bottom">BTC</view> |
||||
|
</view> |
||||
|
|
||||
|
<radio color="#00E8A2" shape="square"></radio> |
||||
|
</label> |
||||
|
|
||||
|
</radio-group> |
||||
|
</scroll-view> |
||||
|
|
||||
|
<u-button class="button" color="#00E8A2" throttleTime="500" @click="USDTPopupShow = false">OK |
||||
|
</u-button> |
||||
|
</view> |
||||
|
</u-popup> |
||||
|
</view> |
||||
|
|
||||
|
<view class="cashContent" v-if="pageState === 'cashRecharge'"> |
||||
|
<view class="enter"> |
||||
|
<view class="selectTitle">{{ i18n.selectAmount }}</view> |
||||
|
<view class="numberSelect"> |
||||
|
<view class="item" :class="{ select: selectNumberValue === 100 }" @click="selectNumberValue = 100"> |
||||
|
$100 |
||||
|
</view> |
||||
|
<view class="item" :class="{ select: selectNumberValue === 200 }" @click="selectNumberValue = 200"> |
||||
|
$200 |
||||
|
</view> |
||||
|
<view class="item" :class="{ select: selectNumberValue === 300 }" @click="selectNumberValue = 300"> |
||||
|
$300 |
||||
|
</view> |
||||
|
<view class="item" :class="{ select: selectNumberValue === 1000 }" |
||||
|
@click="selectNumberValue = 1000"> |
||||
|
$1000</view> |
||||
|
<view class="item" :class="{ select: selectNumberValue === 5000 }" |
||||
|
@click="selectNumberValue = 5000"> |
||||
|
$5000</view> |
||||
|
<view class="item" :class="{ select: selectNumberValue === 10000 }" |
||||
|
@click="selectNumberValue = 10000"> |
||||
|
$10000</view> |
||||
|
</view> |
||||
|
<input class="input" v-model="selectNumberValue" focus :placeholder="i18n.EnterNumber" placeholder-style="color:#A1A0A8" /> |
||||
|
</view> |
||||
|
<view class="RechargeMethod"> |
||||
|
<view class="methodTitle">{{ i18n.RechargeMethod }}</view> |
||||
|
<view class="methodSelect"> |
||||
|
<view class="item" :class="{ select: selectMethod === '1' }" @click="selectMethod = '1'"> |
||||
|
Online payment1 |
||||
|
</view> |
||||
|
<view class="item" :class="{ select: selectMethod === '2' }" @click="selectMethod = '2'"> |
||||
|
Online payment2 |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<u-button class="button" color="#00E8A2" throttleTime="500">{{ i18n.Submit }} |
||||
|
</u-button> |
||||
|
</view> |
||||
|
|
||||
|
|
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import uniCopy from '@/utils/uni-copy' |
||||
|
export default { |
||||
|
name: "recharge", |
||||
|
data() { |
||||
|
return { |
||||
|
pageState: 'coinRecharge', |
||||
|
coin: '', |
||||
|
USDTPopupShow: false, |
||||
|
USDTRadioValue: '', |
||||
|
selectNumberValue: 100, |
||||
|
selectMethod: '1', |
||||
|
}; |
||||
|
}, |
||||
|
computed: { |
||||
|
i18n() { |
||||
|
return this.$t("recharge"); |
||||
|
}, |
||||
|
}, |
||||
|
onLoad() { |
||||
|
}, |
||||
|
onShow() { }, |
||||
|
methods: { |
||||
|
goto(id) { |
||||
|
// console.log(id); |
||||
|
let url = ''; |
||||
|
switch (id) { |
||||
|
case 'rechargeRecord': |
||||
|
url = '/pages/recharge/rechargeRecord' |
||||
|
break; |
||||
|
default: |
||||
|
break; |
||||
|
} |
||||
|
if (url) { |
||||
|
// console.log(url); |
||||
|
uni.navigateTo({ |
||||
|
url, |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
USDTRadioChange(e) { |
||||
|
console.log(e); |
||||
|
}, |
||||
|
|
||||
|
copyAddress(value = "") { |
||||
|
console.log(value) |
||||
|
uniCopy({ |
||||
|
content: value, |
||||
|
success: (res) => { |
||||
|
uni.showToast({ |
||||
|
title: "复制成功", |
||||
|
duration: 3000, |
||||
|
}) |
||||
|
}, |
||||
|
error: (e) => { |
||||
|
uni.showToast({ |
||||
|
title: e, |
||||
|
icon: 'none', |
||||
|
duration: 2000, |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.main { |
||||
|
|
||||
|
.right { |
||||
|
position: absolute; |
||||
|
right: 32rpx; |
||||
|
font-size: 24rpx; |
||||
|
} |
||||
|
|
||||
|
.head { |
||||
|
margin-top: 200rpx; |
||||
|
margin-left: 60rpx; |
||||
|
width: 632rpx; |
||||
|
display: flex; |
||||
|
justify-content: space-around; |
||||
|
align-items: center; |
||||
|
padding: 48rpx 0; |
||||
|
|
||||
|
.headItem { |
||||
|
width: 300rpx; |
||||
|
height: 68rpx; |
||||
|
line-height: 68rpx; |
||||
|
background: #211F32; |
||||
|
border-radius: 16rpx; |
||||
|
text-align: center; |
||||
|
font-size: 32rpx; |
||||
|
color: #A1A0A8; |
||||
|
|
||||
|
&.select { |
||||
|
background: #00E8A2; |
||||
|
color: #15141F; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.coinContent { |
||||
|
padding: 0 32rpx; |
||||
|
|
||||
|
.input-item { |
||||
|
overflow: hidden; |
||||
|
position: relative; |
||||
|
height: 124rpx; |
||||
|
line-height: 124rpx; |
||||
|
background: #211F32; |
||||
|
margin-bottom: 48rpx; |
||||
|
border-radius: 32rpx; |
||||
|
padding: 0 40rpx; |
||||
|
|
||||
|
/deep/.u-form-item__body { |
||||
|
padding: 0; |
||||
|
} |
||||
|
|
||||
|
.input { |
||||
|
width: 460rpx; |
||||
|
height: 124rpx; |
||||
|
display: inline-block; |
||||
|
} |
||||
|
|
||||
|
.selectCoinBtn { |
||||
|
position: absolute; |
||||
|
width: 170rpx; |
||||
|
height: 54rpx; |
||||
|
top: 36rpx; |
||||
|
right: 32rpx; |
||||
|
line-height: 56rpx; |
||||
|
font-size: 36rpx; |
||||
|
padding: 0; |
||||
|
color: #fff; |
||||
|
|
||||
|
&::after { |
||||
|
display: block; |
||||
|
position: absolute; |
||||
|
content: ''; |
||||
|
background-image: url(../../static/me/ic_input_arrow_down.png); |
||||
|
background-repeat: no-repeat; |
||||
|
background-size: 32rpx; |
||||
|
width: 32rpx; |
||||
|
height: 32rpx; |
||||
|
top: 12rpx; |
||||
|
right: 10rpx; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.coin-item { |
||||
|
height: 622rpx; |
||||
|
background: #211F32; |
||||
|
border-radius: 10px; |
||||
|
overflow: hidden; |
||||
|
padding: 0 40rpx; |
||||
|
|
||||
|
.QRCode { |
||||
|
margin: 60rpx auto 32rpx; |
||||
|
width: 310rpx; |
||||
|
} |
||||
|
|
||||
|
.CoinAddressTitle { |
||||
|
width: 340rpx; |
||||
|
height: 40rpx; |
||||
|
font-size: 14px; |
||||
|
display: inline-block; |
||||
|
color: #00E8A2; |
||||
|
} |
||||
|
|
||||
|
.Copy { |
||||
|
position: relative; |
||||
|
height: 40rpx; |
||||
|
display: inline-block; |
||||
|
color: #00E8A2; |
||||
|
font-size: 20rpx; |
||||
|
margin-left: 70rpx; |
||||
|
padding-left: 40rpx; |
||||
|
|
||||
|
&::before { |
||||
|
display: block; |
||||
|
position: absolute; |
||||
|
content: ''; |
||||
|
background-image: url(../../static/recharge/ic_copy.png); |
||||
|
background-repeat: no-repeat; |
||||
|
background-size: 32rpx; |
||||
|
width: 32rpx; |
||||
|
height: 32rpx; |
||||
|
top: 0rpx; |
||||
|
left: 0rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.CoinAddress { |
||||
|
margin-top: 12rpx; |
||||
|
font-size: 20rpx; |
||||
|
// transform: scale(0.83333); |
||||
|
// transform-origin: 0 0; |
||||
|
color: #A1A0A8; |
||||
|
} |
||||
|
|
||||
|
.ScanQR { |
||||
|
font-size: 20rpx; |
||||
|
// transform: scale(0.83333); |
||||
|
// transform-origin: 0 0; |
||||
|
color: #A1A0A8; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
.message-item { |
||||
|
margin: 32rpx 0 120rpx; |
||||
|
padding: 0 16rpx; |
||||
|
font-size: 24rpx; |
||||
|
|
||||
|
color: #A1A0A8; |
||||
|
} |
||||
|
|
||||
|
.USDTPopup { |
||||
|
.content { |
||||
|
height: 730rpx; |
||||
|
|
||||
|
.close { |
||||
|
margin: 48rpx 346rpx; |
||||
|
width: 58rpx; |
||||
|
height: 20rpx; |
||||
|
background-image: url(../../static/charity/Turn.png); |
||||
|
background-repeat: no-repeat; |
||||
|
background-size: 58rpx 20rpx; |
||||
|
} |
||||
|
|
||||
|
.radioGroup { |
||||
|
height: 432rpx; |
||||
|
|
||||
|
.checkBox { |
||||
|
height: 84rpx; |
||||
|
width: 670rpx; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
margin: 0 40rpx 32rpx; |
||||
|
|
||||
|
.icon { |
||||
|
width: 64rpx; |
||||
|
height: 64rpx; |
||||
|
border-radius: 20rpx; |
||||
|
overflow: hidden; |
||||
|
display: inline-block; |
||||
|
box-sizing: border-box; |
||||
|
margin-right: 20rpx; |
||||
|
} |
||||
|
|
||||
|
.iconName { |
||||
|
width: 520rpx; |
||||
|
|
||||
|
.top { |
||||
|
font-size: 32rpx; |
||||
|
color: #fff; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
.bottom { |
||||
|
font-size: 24rpx; |
||||
|
color: #A1A0A8; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
/deep/.uni-radio-input { |
||||
|
width: 48rpx; |
||||
|
height: 48rpx; |
||||
|
border-radius: 16rpx; |
||||
|
background: #323045; |
||||
|
} |
||||
|
|
||||
|
/deep/.uni-radio-input-checked::before { |
||||
|
font-size: 36rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
.button { |
||||
|
width: 654rpx; |
||||
|
margin: 40rpx 48rpx; |
||||
|
border-radius: 32rpx; |
||||
|
height: 112rpx; |
||||
|
line-height: 112rpx; |
||||
|
color: #15141F !important; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.cashContent { |
||||
|
.enter { |
||||
|
box-sizing: border-box; |
||||
|
height: 422rpx; |
||||
|
margin: 0 32rpx; |
||||
|
background: #211F32; |
||||
|
border-radius: 20rpx; |
||||
|
padding: 24rpx 32rpx; |
||||
|
|
||||
|
.selectTitle { |
||||
|
font-size: 24rpx; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
.numberSelect { |
||||
|
margin-top: 32rpx; |
||||
|
height: 168rpx; |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
align-content: space-between; |
||||
|
flex-wrap: wrap; |
||||
|
|
||||
|
.item { |
||||
|
height: 68rpx; |
||||
|
line-height: 68rpx; |
||||
|
width: 186rpx; |
||||
|
color: #A1A0A8; |
||||
|
background: #323045; |
||||
|
border-radius: 40rpx; |
||||
|
text-align: center; |
||||
|
font-size: 32rpx; |
||||
|
|
||||
|
&.select { |
||||
|
background: #FF844B; |
||||
|
color: #FFFFFF; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.input { |
||||
|
height: 112rpx; |
||||
|
background: #323045; |
||||
|
border-radius: 32rpx; |
||||
|
padding-left: 40rpx; |
||||
|
margin-top: 32rpx; |
||||
|
color: #fff; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.RechargeMethod { |
||||
|
box-sizing: border-box; |
||||
|
height: 178rpx; |
||||
|
margin: 32rpx; |
||||
|
background: #211F32; |
||||
|
border-radius: 20rpx; |
||||
|
padding: 24rpx 32rpx; |
||||
|
|
||||
|
.methodTitle { |
||||
|
font-size: 24rpx; |
||||
|
} |
||||
|
|
||||
|
.methodSelect { |
||||
|
margin-top: 32rpx; |
||||
|
height: 112rpx; |
||||
|
display: flex; |
||||
|
flex-direction: row; |
||||
|
justify-content: space-between; |
||||
|
align-items: center; |
||||
|
align-content: space-between; |
||||
|
flex-wrap: wrap; |
||||
|
|
||||
|
.item { |
||||
|
height: 68rpx; |
||||
|
line-height: 68rpx; |
||||
|
width: 306rpx; |
||||
|
color: #A1A0A8; |
||||
|
background: #323045; |
||||
|
border-radius: 40rpx; |
||||
|
text-align: center; |
||||
|
font-size: 32rpx; |
||||
|
|
||||
|
&.select { |
||||
|
background: #FF844B; |
||||
|
color: #FFFFFF; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
.button { |
||||
|
width: 686rpx; |
||||
|
box-sizing: border-box; |
||||
|
height: 112rpx; |
||||
|
margin: 16rpx 32rpx; |
||||
|
background: #00E8A2; |
||||
|
border-radius: 32rpx; |
||||
|
font-weight: 700; |
||||
|
font-size: 32rpx; |
||||
|
color: #15141F !important; |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,159 @@ |
|||||
|
<template> |
||||
|
<view class="main"> |
||||
|
<!-- nav --> |
||||
|
<navigation>{{ i18n.RechargeRecord }}</navigation> |
||||
|
<!-- headBtn --> |
||||
|
<view class="head"> |
||||
|
<view class="headItem" @click="pageState = 'coinRecharge'" |
||||
|
:class="{ select: pageState === 'coinRecharge' }"> |
||||
|
{{ i18n.CoinRecharge }} |
||||
|
</view> |
||||
|
<view class="headItem" @click="pageState = 'cashRecharge'" |
||||
|
:class="{ select: pageState === 'cashRecharge' }"> |
||||
|
{{ i18n.CashRecharge }} |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<view class="cardList"> |
||||
|
<view class="card" v-for="(item, index) in 4" :key="index"> |
||||
|
<!-- 卡片条件渲染 --> |
||||
|
<!-- balance --> |
||||
|
<card-header v-if="pageState === 'coinRecharge'" iconName="../../static/recharge/money-recive.png" |
||||
|
:title="'904.29483230ACTA'" rightName="Succeed" fontColor="#00E8A2"> |
||||
|
</card-header> |
||||
|
<view class="dataBody" v-if="pageState === 'coinRecharge'"> |
||||
|
<view style="padding:20rpx 32rpx;"> |
||||
|
<Key-value-row :keyName="i18n.OrderID" :value="'293829773920223873676'"></Key-value-row> |
||||
|
<Key-value-row :keyName="i18n.Fees" :value="'10.0922'"></Key-value-row> |
||||
|
<Key-value-row :keyName="i18n.Time" :value="'2022/08/06 14:50:34'"></Key-value-row> |
||||
|
</view> |
||||
|
<view style="border-top: 2rpx solid #323045;padding:0rpx 32rpx; margin-bottom: 20rpx;"> |
||||
|
<show-more> |
||||
|
<Key-value-row :keyName="i18n.Address" :value="'dhiukyfdhi8797979870800'"></Key-value-row> |
||||
|
<Key-value-row :keyName="i18n.Hash" :value="'dhiukyfdhi8797979870800'"></Key-value-row> |
||||
|
<view class="text">Postscript : ontact customer service on the top-left corner for identity |
||||
|
verific |
||||
|
</view> |
||||
|
</show-more> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
|
||||
|
<!-- contarct --> |
||||
|
<card-header v-if="pageState === 'cashRecharge'" iconName="../../static/recharge/money-recive.png" |
||||
|
:title="'904.29483230ACTA'" rightName="Succeed" fontColor="#00E8A2"> |
||||
|
</card-header> |
||||
|
<view class="dataBody" v-if="pageState === 'cashRecharge'"> |
||||
|
<view style="padding:20rpx 32rpx;"> |
||||
|
<Key-value-row :keyName="i18n.OrderID" :value="'293829773920223873676'"></Key-value-row> |
||||
|
<Key-value-row :keyName="i18n.Fees" :value="'10.0922'"></Key-value-row> |
||||
|
<Key-value-row :keyName="i18n.Time" :value="'2022/08/06 14:50:34'"></Key-value-row> |
||||
|
</view> |
||||
|
<view style="border-top: 2rpx solid #323045;padding:0rpx 32rpx; margin-bottom: 20rpx;"> |
||||
|
<show-more> |
||||
|
<Key-value-row :keyName="i18n.USDTRate" :value="'19298'"></Key-value-row> |
||||
|
<Key-value-row :keyName="i18n.USDT" :value="'298237'"></Key-value-row> |
||||
|
<view class="text">Postscript : ontact customer service on the top-left corner for identity |
||||
|
verific |
||||
|
</view> |
||||
|
</show-more> |
||||
|
</view> |
||||
|
|
||||
|
</view> |
||||
|
|
||||
|
|
||||
|
|
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import KeyValueRow from '../../components/KeyValueRow/KeyValueRow.vue'; |
||||
|
import CardHeader from '../../components/cardHeader/cardHeader.vue'; |
||||
|
import ShowMore from '../../components/showMore/showMore.vue'; |
||||
|
export default { |
||||
|
components: { KeyValueRow, CardHeader, ShowMore }, |
||||
|
name: "rechargeRecord", |
||||
|
data() { |
||||
|
return { |
||||
|
pageState: 'coinRecharge', |
||||
|
}; |
||||
|
}, |
||||
|
computed: { |
||||
|
i18n() { |
||||
|
return this.$t("recharge"); |
||||
|
}, |
||||
|
}, |
||||
|
onLoad() { |
||||
|
}, |
||||
|
onShow() { }, |
||||
|
methods: { |
||||
|
change(e) { |
||||
|
console.log(e); |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.main { |
||||
|
|
||||
|
.head { |
||||
|
margin-top: 200rpx; |
||||
|
margin-left: 60rpx; |
||||
|
width: 632rpx; |
||||
|
display: flex; |
||||
|
justify-content: space-around; |
||||
|
align-items: center; |
||||
|
padding: 48rpx 0; |
||||
|
|
||||
|
.headItem { |
||||
|
width: 300rpx; |
||||
|
height: 68rpx; |
||||
|
line-height: 68rpx; |
||||
|
background: #211F32; |
||||
|
border-radius: 16rpx; |
||||
|
text-align: center; |
||||
|
font-size: 32rpx; |
||||
|
color: #A1A0A8; |
||||
|
|
||||
|
&.select { |
||||
|
background: #00E8A2; |
||||
|
color: #15141F; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.cardList { |
||||
|
padding-bottom: 40rpx; |
||||
|
|
||||
|
.card { |
||||
|
overflow: hidden; |
||||
|
background: #211F32; |
||||
|
border-radius: 32rpx; |
||||
|
margin: 0 32rpx 32rpx; |
||||
|
|
||||
|
|
||||
|
|
||||
|
.dataBody { |
||||
|
box-sizing: border-box; |
||||
|
|
||||
|
.text { |
||||
|
margin-top: 20rpx; |
||||
|
padding: 10rpx 16rpx; |
||||
|
background: #323045; |
||||
|
border-radius: 8rpx; |
||||
|
font-size: 24rpx; |
||||
|
color: #A1A0A8; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,352 @@ |
|||||
|
<template> |
||||
|
<view class="main"> |
||||
|
<!-- nav --> |
||||
|
<navigation>{{ i18n.AddAddress }} </navigation> |
||||
|
<view class="body"> |
||||
|
<!-- coin选择框 --> |
||||
|
<view class="choose-item"> |
||||
|
<u-input class="input" v-model="coin" color="#fff" fontSize="32rpx" border="none" |
||||
|
:placeholder="i18n.PleaseChooseCoin"> |
||||
|
</u-input> |
||||
|
<view class="selectCoinBtn" @click="USDTPopupShow = true">USDT |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<view class="addressBody"> |
||||
|
<view class="address-title">{{ i18n.Address }}</view> |
||||
|
<view class="input-item"> |
||||
|
<u-input class="input" v-model="address" color="#fff" fontSize="32rpx" border="none" |
||||
|
:placeholder="i18n.enterAddressTips"> |
||||
|
</u-input> |
||||
|
</view> |
||||
|
<view class="address-title">{{ i18n.Remarks }}</view> |
||||
|
<view class="input-item"> |
||||
|
<u-input class="input" v-model="remarks" color="#fff" fontSize="32rpx" border="none" |
||||
|
:placeholder="i18n.enterRemarksTips"> |
||||
|
</u-input> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<u-button class="button" color="#00E8A2" throttleTime="500" :disabled="btnIsCanClick">{{ i18n.Confirm }} |
||||
|
</u-button> |
||||
|
|
||||
|
<!-- USDT按钮通知弹出层 --> |
||||
|
<u-popup class="USDTPopup" :show="USDTPopupShow" round="40rpx" mode="bottom" @close="USDTPopupShow = false" |
||||
|
@open="USDTPopupShow = true" bgColor="#211F32"> |
||||
|
<view class="content"> |
||||
|
<view class="close" @click="USDTPopupShow = false"></view> |
||||
|
<scroll-view scroll-y="true" style="height: 432rpx;" scroll-with-animation="true" @touchmove.stop> |
||||
|
<radio-group class="radioGroup" @change="USDTRadioChange" v-model="USDTRadioValue"> |
||||
|
<label class="checkBox" v-for="(item, index) in 10" :key="index"> |
||||
|
<view class="icon"> |
||||
|
<u-icon name="../../static/maskets/logo.png" size="64rpx" width="64rpx"></u-icon> |
||||
|
</view> |
||||
|
<view class="iconName"> |
||||
|
<view class="top">USDT</view> |
||||
|
<view class="bottom">BTC</view> |
||||
|
</view> |
||||
|
|
||||
|
<radio color="#00E8A2" shape="square"></radio> |
||||
|
</label> |
||||
|
|
||||
|
</radio-group> |
||||
|
</scroll-view> |
||||
|
|
||||
|
<u-button class="button" color="#00E8A2" throttleTime="500" @click="USDTPopupShow = false">OK |
||||
|
</u-button> |
||||
|
</view> |
||||
|
</u-popup> |
||||
|
|
||||
|
</view> |
||||
|
|
||||
|
|
||||
|
|
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import uniCopy from '@/utils/uni-copy' |
||||
|
import KeyValueRow from '../../components/KeyValueRow/KeyValueRow.vue'; |
||||
|
export default { |
||||
|
components: { KeyValueRow }, |
||||
|
name: "withdrawal", |
||||
|
data() { |
||||
|
return { |
||||
|
coin: '', |
||||
|
address: '', |
||||
|
address: '', |
||||
|
USDTRadioValue: '', |
||||
|
USDTPopupShow: false, |
||||
|
|
||||
|
}; |
||||
|
}, |
||||
|
computed: { |
||||
|
i18n() { |
||||
|
return this.$t("withdrawal"); |
||||
|
}, |
||||
|
btnIsCanClick() { // 按钮是否可以点击 |
||||
|
if (this.coin && this.address && this.address) { |
||||
|
return false; // 有值才可以点 |
||||
|
}else{ |
||||
|
return true |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
onLoad() { |
||||
|
// 监听事件 |
||||
|
uni.$on('coinAddressChang', (data) => { |
||||
|
this.coinAddress = data.coinAddress |
||||
|
}) |
||||
|
}, |
||||
|
onUnload() { |
||||
|
// 移除监听事件 |
||||
|
uni.$off('coinAddressChang'); |
||||
|
}, |
||||
|
onShow() { }, |
||||
|
methods: { |
||||
|
goto(id) { |
||||
|
// console.log(id); |
||||
|
let url = ''; |
||||
|
switch (id) { |
||||
|
case 'withdrawalRecord': |
||||
|
url = '/pages/withdrawal/withdrawalRecord' |
||||
|
break; |
||||
|
case 'chooseAddress': |
||||
|
url = '/pages/withdrawal/chooseAddress?form=withdrawal' |
||||
|
break; |
||||
|
default: |
||||
|
break; |
||||
|
} |
||||
|
if (url) { |
||||
|
// console.log(url); |
||||
|
uni.navigateTo({ |
||||
|
url, |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
USDTRadioChange(e) { |
||||
|
console.log(e); |
||||
|
}, |
||||
|
|
||||
|
copyAddress(value = "") { |
||||
|
console.log(value) |
||||
|
uniCopy({ |
||||
|
content: value, |
||||
|
success: (res) => { |
||||
|
uni.showToast({ |
||||
|
title: "复制成功", |
||||
|
duration: 3000, |
||||
|
}) |
||||
|
}, |
||||
|
error: (e) => { |
||||
|
uni.showToast({ |
||||
|
title: e, |
||||
|
icon: 'none', |
||||
|
duration: 2000, |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.main { |
||||
|
|
||||
|
.right { |
||||
|
position: absolute; |
||||
|
right: 32rpx; |
||||
|
font-size: 24rpx; |
||||
|
} |
||||
|
|
||||
|
.body { |
||||
|
margin-top: 200rpx; |
||||
|
padding: 32rpx; |
||||
|
} |
||||
|
|
||||
|
.choose-item { |
||||
|
overflow: hidden; |
||||
|
position: relative; |
||||
|
height: 124rpx; |
||||
|
line-height: 124rpx; |
||||
|
background: #211F32; |
||||
|
margin-bottom: 48rpx; |
||||
|
border-radius: 32rpx; |
||||
|
padding: 0 40rpx; |
||||
|
|
||||
|
/deep/.u-form-item__body { |
||||
|
padding: 0; |
||||
|
} |
||||
|
|
||||
|
.input { |
||||
|
width: 460rpx; |
||||
|
height: 124rpx; |
||||
|
display: inline-block; |
||||
|
} |
||||
|
|
||||
|
.selectCoinBtn { |
||||
|
position: absolute; |
||||
|
width: 170rpx; |
||||
|
height: 54rpx; |
||||
|
top: 36rpx; |
||||
|
right: 32rpx; |
||||
|
line-height: 56rpx; |
||||
|
font-size: 36rpx; |
||||
|
padding: 0; |
||||
|
color: #fff; |
||||
|
|
||||
|
&::after { |
||||
|
display: block; |
||||
|
position: absolute; |
||||
|
content: ''; |
||||
|
background-image: url(../../static/me/ic_input_arrow_down.png); |
||||
|
background-repeat: no-repeat; |
||||
|
background-size: 32rpx; |
||||
|
width: 32rpx; |
||||
|
height: 32rpx; |
||||
|
top: 12rpx; |
||||
|
right: 10rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.all { |
||||
|
position: absolute; |
||||
|
display: inline; |
||||
|
font-size: 20rpx; |
||||
|
color: #00E8A2; |
||||
|
top: 0rpx; |
||||
|
right: 30rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.addressBody { |
||||
|
overflow: hidden; |
||||
|
background: #211F32; |
||||
|
border-radius: 32rpx; |
||||
|
padding: 32rpx; |
||||
|
|
||||
|
.address-title { |
||||
|
font-size: 32rpx; |
||||
|
color: #A1A0A8; |
||||
|
margin-bottom: 20rpx; |
||||
|
} |
||||
|
|
||||
|
.input-item { |
||||
|
height: 112rpx; |
||||
|
background: #323045; |
||||
|
border-radius: 32rpx; |
||||
|
padding-left: 40rpx; |
||||
|
margin-bottom: 20rpx; |
||||
|
|
||||
|
.input { |
||||
|
height: 112rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
.button { |
||||
|
position: fixed; |
||||
|
bottom: 40rpx; |
||||
|
width: 686rpx; |
||||
|
box-sizing: border-box; |
||||
|
height: 112rpx; |
||||
|
background: #00E8A2; |
||||
|
border-radius: 32rpx; |
||||
|
font-weight: 700; |
||||
|
font-size: 32rpx; |
||||
|
color: #15141F !important; |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
.USDTPopup { |
||||
|
.content { |
||||
|
height: 730rpx; |
||||
|
|
||||
|
.close { |
||||
|
margin: 48rpx 346rpx; |
||||
|
width: 58rpx; |
||||
|
height: 20rpx; |
||||
|
background-image: url(../../static/charity/Turn.png); |
||||
|
background-repeat: no-repeat; |
||||
|
background-size: 58rpx 20rpx; |
||||
|
} |
||||
|
|
||||
|
.radioGroup { |
||||
|
height: 432rpx; |
||||
|
|
||||
|
.checkBox { |
||||
|
height: 84rpx; |
||||
|
width: 670rpx; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
margin: 0 40rpx 32rpx; |
||||
|
|
||||
|
.icon { |
||||
|
width: 64rpx; |
||||
|
height: 64rpx; |
||||
|
border-radius: 20rpx; |
||||
|
overflow: hidden; |
||||
|
display: inline-block; |
||||
|
box-sizing: border-box; |
||||
|
margin-right: 20rpx; |
||||
|
} |
||||
|
|
||||
|
.iconName { |
||||
|
width: 520rpx; |
||||
|
|
||||
|
.top { |
||||
|
font-size: 32rpx; |
||||
|
color: #fff; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
.bottom { |
||||
|
font-size: 24rpx; |
||||
|
color: #A1A0A8; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
/deep/.uni-radio-input { |
||||
|
width: 48rpx; |
||||
|
height: 48rpx; |
||||
|
border-radius: 16rpx; |
||||
|
background: #323045; |
||||
|
} |
||||
|
|
||||
|
/deep/.uni-radio-input-checked::before { |
||||
|
font-size: 36rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
.button { |
||||
|
width: 654rpx; |
||||
|
margin: 40rpx 48rpx; |
||||
|
border-radius: 32rpx; |
||||
|
height: 112rpx; |
||||
|
font-weight: 600; |
||||
|
line-height: 112rpx; |
||||
|
color: #15141F !important; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,138 @@ |
|||||
|
<template> |
||||
|
<view class="main"> |
||||
|
<!-- nav --> |
||||
|
<navigation>{{ pageState === 'addBank' ? i18n.AddBankInformation : i18n.EditBankInformation }}</navigation> |
||||
|
<view class="content"> |
||||
|
<view class="inputBody"> |
||||
|
<view class="title">{{ i18n.FirstName }}</view> |
||||
|
<view class="input-item"> |
||||
|
<u-input class="input" v-model="name" color="#fff" fontSize="32rpx" border="none" |
||||
|
:placeholder="i18n.enterName"> |
||||
|
</u-input> |
||||
|
</view> |
||||
|
<view class="title">{{ i18n.Account }}</view> |
||||
|
<view class="input-item"> |
||||
|
<u-input class="input" v-model="account" color="#fff" fontSize="32rpx" border="none" |
||||
|
:placeholder="i18n.enterAccount"> |
||||
|
</u-input> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="inputBody"> |
||||
|
<view class="title">{{ i18n.BankName }}</view> |
||||
|
<view class="input-item"> |
||||
|
<u-input class="input" v-model="bankName" color="#fff" fontSize="32rpx" border="none" |
||||
|
:placeholder="i18n.enterBankName"> |
||||
|
</u-input> |
||||
|
</view> |
||||
|
<view class="title">{{ i18n.BankCode }}</view> |
||||
|
<view class="input-item"> |
||||
|
<u-input class="input" type="password" v-model="bankCode" color="#fff" fontSize="32rpx" |
||||
|
border="none" :placeholder="i18n.enterBankCode"> |
||||
|
</u-input> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
|
||||
|
<u-button class="button" color="#00E8A2" throttleTime="500" :disabled="btnIsCanClick">{{ i18n.Confirm }} |
||||
|
</u-button> |
||||
|
|
||||
|
</view> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
export default { |
||||
|
name: "withdrawalRecord", |
||||
|
data() { |
||||
|
return { |
||||
|
pageState: 'addBank', // 页面状态,是添加还是编辑银行卡 |
||||
|
name: '', |
||||
|
account: '', |
||||
|
bankName: '', |
||||
|
bankCode: '', |
||||
|
}; |
||||
|
}, |
||||
|
computed: { |
||||
|
i18n() { |
||||
|
return this.$t("withdrawal"); |
||||
|
}, |
||||
|
btnIsCanClick() { // 按钮是否可以点击 |
||||
|
if (this.name && this.account && this.bankName && this.bankCode) { |
||||
|
return false; // 有值才可以点 |
||||
|
} else { |
||||
|
return true |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
onLoad(option) { |
||||
|
console.log(option); |
||||
|
this.pageState = option.mode || 'addBank'; |
||||
|
}, |
||||
|
onShow() { }, |
||||
|
methods: { |
||||
|
change(e) { |
||||
|
console.log(e); |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.main { |
||||
|
|
||||
|
.content { |
||||
|
margin-top: 200rpx; |
||||
|
padding: 32rpx; |
||||
|
|
||||
|
.inputBody { |
||||
|
overflow: hidden; |
||||
|
background: #211F32; |
||||
|
border-radius: 32rpx; |
||||
|
padding: 32rpx; |
||||
|
margin-bottom: 32rpx; |
||||
|
|
||||
|
.title { |
||||
|
font-size: 32rpx; |
||||
|
color: #A1A0A8; |
||||
|
margin-bottom: 20rpx; |
||||
|
} |
||||
|
|
||||
|
.input-item { |
||||
|
height: 112rpx; |
||||
|
background: #323045; |
||||
|
border-radius: 32rpx; |
||||
|
padding-left: 40rpx; |
||||
|
margin-bottom: 20rpx; |
||||
|
|
||||
|
.input { |
||||
|
height: 112rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
.button { |
||||
|
position: fixed; |
||||
|
bottom: 40rpx; |
||||
|
width: 686rpx; |
||||
|
box-sizing: border-box; |
||||
|
height: 112rpx; |
||||
|
background: #00E8A2; |
||||
|
border-radius: 32rpx; |
||||
|
font-weight: 700; |
||||
|
font-size: 32rpx; |
||||
|
color: #15141F !important; |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,289 @@ |
|||||
|
<template> |
||||
|
<view class="main"> |
||||
|
<!-- nav --> |
||||
|
<navigation>{{ i18n.ChooseAddress }}<view slot="right" class="right" @click="editFlag = !editFlag;">{{ |
||||
|
editFlag ? i18n.OK : i18n.Edit |
||||
|
}} |
||||
|
</view> |
||||
|
</navigation> |
||||
|
<view class="content"> |
||||
|
<view class="message-item"> |
||||
|
{{ i18n.message4 }} |
||||
|
</view> |
||||
|
<view class="message-item last"> |
||||
|
{{ i18n.message5 }} |
||||
|
</view> |
||||
|
<view class="card" v-if="coinList.length > 0"> |
||||
|
<view class="dataBody" v-for="(item, index) in 4" :key="index"> |
||||
|
<view class="coinTitle">USDT</view> |
||||
|
<view class="addressItem" v-for="(addressItem, addressIndex) in 2" :key="addressIndex" |
||||
|
@click="itemClick(index, addressIndex)"> |
||||
|
<view class="radio" |
||||
|
:class="{ select: (editCoinIndex === index && editCoinAddressIndex === addressIndex) }" |
||||
|
v-if="editFlag"></view> |
||||
|
<view class="addressInfo"> |
||||
|
<view class="addressTitle">{{ i18n.myOmniAddress }}</view> |
||||
|
<view class="address">SDIHJSD9809U9ERF9IOU0980970</view> |
||||
|
<view class="time">2022/08/06 14:50:34</view> |
||||
|
</view> |
||||
|
|
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- 确认框 --> |
||||
|
<u-modal :show="modalShow" :confirmText="i18n.OK" :cancelText="i18n.Cancel" :showCancelButton="true" |
||||
|
:title="i18n.WarmTips" :content='i18n.WarmTipsText' @confirm="deleteAddress" @cancel="modalShow = false" |
||||
|
confirmColor="#00E8A2"> |
||||
|
</u-modal> |
||||
|
<!-- 编辑按钮 --> |
||||
|
<view class="buttonBg"> |
||||
|
<u-button class="button" :color="editFlag ? '#F4506A' : '#00E8A2'" throttleTime="500" @click="btnClick" |
||||
|
:disabled="btnIsCanClick"> |
||||
|
{{ editFlag ? i18n.DeleteAddress : i18n.AddAddress }} |
||||
|
</u-button> |
||||
|
</view> |
||||
|
|
||||
|
</view> |
||||
|
|
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import KeyValueRow from '../../components/KeyValueRow/KeyValueRow.vue'; |
||||
|
export default { |
||||
|
components: { KeyValueRow }, |
||||
|
name: "chooseAddress", |
||||
|
data() { |
||||
|
return { |
||||
|
coinList: [{}], |
||||
|
coinAddressList: [{}], |
||||
|
editFlag: false, // 是否在编辑状态 |
||||
|
editCoinIndex: '', |
||||
|
editCoinAddressIndex: '', |
||||
|
coinAddress: 'SDIHJSD9809U9ERF9IOU0980970', |
||||
|
currentCoin: 'USDT', |
||||
|
modalShow: false, |
||||
|
|
||||
|
}; |
||||
|
}, |
||||
|
computed: { |
||||
|
i18n() { |
||||
|
return this.$t("withdrawal"); |
||||
|
}, |
||||
|
btnIsCanClick() { // 按钮是否可以点击 |
||||
|
if (this.editFlag) { |
||||
|
// console.log(`${this.editCoinIndex}` ? false : true); |
||||
|
return `${this.editCoinIndex}` ? false : true; // 在编辑模式,有值才能点 |
||||
|
} else { |
||||
|
return false; // 不在编辑模式始终可以点 |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
onLoad() { |
||||
|
|
||||
|
}, |
||||
|
onShow() { }, |
||||
|
methods: { |
||||
|
itemClick(index, addressIndex) { |
||||
|
// 编辑模式下 |
||||
|
if (this.editFlag) { |
||||
|
// console.log(index, addressIndex); |
||||
|
if (this.editCoinIndex === index && this.editCoinAddressIndex === addressIndex) { // 取消选择 |
||||
|
this.editCoinIndex = ''; |
||||
|
this.editCoinAddressIndex = ''; |
||||
|
} else { // 选择 |
||||
|
this.editCoinIndex = index; |
||||
|
this.editCoinAddressIndex = addressIndex; |
||||
|
} |
||||
|
} else { |
||||
|
// 选择地址情况下 点击地址返回传参有问题 可能要通用vuex解决 |
||||
|
uni.$emit('coinAddressChang', { |
||||
|
coinAddress: this.coinAddress, |
||||
|
}); |
||||
|
uni.navigateBack() |
||||
|
|
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
btnClick() { |
||||
|
// 在编辑模式弹出确认框 |
||||
|
if (this.editFlag) { |
||||
|
this.modalShow = true |
||||
|
} else { |
||||
|
// 在非编辑模式下直接跳转 |
||||
|
uni.navigateTo({ |
||||
|
url : '/pages/withdrawal/addAddress' |
||||
|
}); |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
deleteAddress() { |
||||
|
this.modalShow = false; |
||||
|
console.log('deleteAddress'); |
||||
|
}, |
||||
|
|
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.main { |
||||
|
|
||||
|
.right { |
||||
|
width: 82rpx; |
||||
|
height: 56rpx; |
||||
|
line-height: 56rpx; |
||||
|
position: absolute; |
||||
|
right: 32rpx; |
||||
|
font-size: 24rpx; |
||||
|
background: rgba(246, 166, 9, 0.1); |
||||
|
border-radius: 8px; |
||||
|
color: #FFBC1F; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
.content { |
||||
|
margin-top: 200rpx; |
||||
|
padding: 40rpx; |
||||
|
|
||||
|
.message-item { |
||||
|
padding: 0 16rpx; |
||||
|
font-size: 24rpx; |
||||
|
color: #A1A0A8; |
||||
|
line-height: 36rpx; |
||||
|
|
||||
|
&.last { |
||||
|
margin-bottom: 30rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
.card { |
||||
|
|
||||
|
.dataBody { |
||||
|
margin-bottom: 32rpx; |
||||
|
padding: 32rpx; |
||||
|
box-sizing: border-box; |
||||
|
background: #211F32; |
||||
|
border-radius: 20rpx; |
||||
|
|
||||
|
.coinTitle { |
||||
|
font-size: 24rpx; |
||||
|
line-height: 28rpx; |
||||
|
margin-bottom: 32rpx; |
||||
|
} |
||||
|
|
||||
|
.addressItem { |
||||
|
height: 180rpx; |
||||
|
box-sizing: border-box; |
||||
|
padding: 32rpx 0; |
||||
|
border-top: 2rpx solid #323045; |
||||
|
display: flex; |
||||
|
|
||||
|
.radio { |
||||
|
margin-top: 32rpx; |
||||
|
margin-right: 24rpx; |
||||
|
box-sizing: border-box; |
||||
|
width: 48rpx; |
||||
|
height: 48rpx; |
||||
|
background: #323045; |
||||
|
border: 3rpx solid #DCDBE0; |
||||
|
border-radius: 16rpx; |
||||
|
|
||||
|
|
||||
|
&.select { |
||||
|
background-image: url(../../static/withdrawal/Checkbox_pr.png); |
||||
|
background-repeat: no-repeat; |
||||
|
background-size: 48rpx; |
||||
|
border: none; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.addressInfo { |
||||
|
flex: 1; |
||||
|
|
||||
|
.addressTitle { |
||||
|
position: relative; |
||||
|
font-size: 24rpx; |
||||
|
margin-bottom: 20rpx; |
||||
|
|
||||
|
&::after { |
||||
|
display: block; |
||||
|
position: absolute; |
||||
|
content: ''; |
||||
|
background-image: url(../../static/charity/ic_ma_arrow_down.png); |
||||
|
background-repeat: no-repeat; |
||||
|
background-size: 32rpx; |
||||
|
width: 32rpx; |
||||
|
height: 32rpx; |
||||
|
top: 0rpx; |
||||
|
right: 0rpx; |
||||
|
transform: rotate(270deg); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.address { |
||||
|
font-size: 24rpx; |
||||
|
line-height: 28rpx; |
||||
|
color: #A1A0A8; |
||||
|
} |
||||
|
|
||||
|
.time { |
||||
|
font-size: 24rpx; |
||||
|
line-height: 28rpx; |
||||
|
color: #A1A0A8; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
&:last-child { |
||||
|
margin-bottom: 160rpx; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
/deep/.u-popup__content { |
||||
|
background: #323045; |
||||
|
|
||||
|
.u-modal__title { |
||||
|
color: #fff; |
||||
|
} |
||||
|
|
||||
|
.u-modal__content__text { |
||||
|
text-align: center; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.buttonBg { |
||||
|
position: fixed; |
||||
|
bottom: 0rpx; |
||||
|
background-color: #15141F; |
||||
|
|
||||
|
.button { |
||||
|
width: 670rpx; |
||||
|
box-sizing: border-box; |
||||
|
height: 112rpx; |
||||
|
margin-bottom: 40rpx; |
||||
|
border-radius: 32rpx; |
||||
|
font-weight: 700; |
||||
|
font-size: 32rpx; |
||||
|
color: #15141F !important; |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,688 @@ |
|||||
|
<template> |
||||
|
<view class="main"> |
||||
|
<!-- nav --> |
||||
|
<navigation>{{ i18n.Withdrawal }}<view slot="right" class="right" @click="goto('withdrawalRecord')">{{ |
||||
|
i18n.Record |
||||
|
}} |
||||
|
</view> |
||||
|
</navigation> |
||||
|
<!-- headBtn --> |
||||
|
<view class="head"> |
||||
|
<view class="headItem" @click="pageState = 'digitalCurrency'" |
||||
|
:class="{ select: pageState === 'digitalCurrency' }"> |
||||
|
{{ i18n.DigitalCurrency }} |
||||
|
</view> |
||||
|
<view class="headItem" @click="pageState = 'onLine'" :class="{ select: pageState === 'onLine' }"> |
||||
|
{{ i18n.OnLine }} |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="DCContent" v-if="pageState === 'digitalCurrency'"> |
||||
|
<!-- coin选择框 --> |
||||
|
<view class="input-item"> |
||||
|
<u-input class="input" v-model="coin" color="#fff" fontSize="32rpx" border="none" |
||||
|
:placeholder="i18n.PleaseChooseCoin"> |
||||
|
</u-input> |
||||
|
<view class="selectCoinBtn" @click="USDTPopupShow = true">USDT |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<view class="coin-item"> |
||||
|
<!-- choose地址 --> |
||||
|
<view class="title">{{ i18n.WithdrawAddress }} |
||||
|
<view class="choose" @click="goto('chooseAddress')">{{ i18n.Choose }}</view> |
||||
|
</view> |
||||
|
<!-- 地址 --> |
||||
|
<view class="address" v-if="coinAddress">{{ coinAddress }} |
||||
|
</view> |
||||
|
<!-- 分割线 --> |
||||
|
<u-divider text="" lineColor="#B9C1D9"></u-divider> |
||||
|
<!-- 可用数量 --> |
||||
|
<Key-value-row :keyName="i18n.Quantity" :value="`${i18n.Available} ${AvailableValue} ${currentCoin}`" |
||||
|
rightColor="#A1A0A8"></Key-value-row> |
||||
|
<!-- 数量输入框 --> |
||||
|
<view class="input-item"> |
||||
|
<u-input class="input" v-model="coin" color="#fff" fontSize="32rpx" border="none" |
||||
|
:placeholder="i18n.EnterTheQuantity"> |
||||
|
</u-input> |
||||
|
<view class="all">{{ i18n.ALL }}</view> |
||||
|
</view> |
||||
|
<!-- 最低体现金额 --> |
||||
|
<Key-value-row :keyName="i18n.MinimumWithdrawAmount" size="24rpx" |
||||
|
:value="`${AvailableValue} ${currentCoin}`" rightColor="#A1A0A8"></Key-value-row> |
||||
|
<!-- 手续费 --> |
||||
|
<Key-value-row :keyName="i18n.HandlingFee" size="24rpx" :value="`${AvailableValue} ${currentCoin}`" |
||||
|
rightColor="#A1A0A8"></Key-value-row> |
||||
|
</view> |
||||
|
<view class="message-item first"> |
||||
|
{{ i18n.message1 }} |
||||
|
</view> |
||||
|
<view class="message-item"> |
||||
|
{{ i18n.message2 }} |
||||
|
</view> |
||||
|
<view class="message-item last"> |
||||
|
{{ i18n.message3 }} |
||||
|
</view> |
||||
|
<u-button class="withdrawBtn" color="#00E8A2" throttleTime="500">{{ i18n.withdraw }} |
||||
|
</u-button> |
||||
|
|
||||
|
<!-- USDT按钮通知弹出层 --> |
||||
|
<u-popup class="USDTPopup" :show="USDTPopupShow" round="40rpx" mode="bottom" @close="USDTPopupShow = false" |
||||
|
@open="USDTPopupShow = true" bgColor="#211F32"> |
||||
|
<view class="content"> |
||||
|
<view class="close" @click="USDTPopupShow = false"></view> |
||||
|
<scroll-view scroll-y="true" style="height: 432rpx;" scroll-with-animation="true" @touchmove.stop> |
||||
|
<radio-group class="radioGroup" @change="USDTRadioChange" v-model="USDTRadioValue"> |
||||
|
<label class="checkBox" v-for="(item, index) in 10" :key="index"> |
||||
|
<view class="icon"> |
||||
|
<u-icon name="../../static/maskets/logo.png" size="64rpx" width="64rpx"></u-icon> |
||||
|
</view> |
||||
|
<view class="iconName"> |
||||
|
<view class="top">USDT</view> |
||||
|
<view class="bottom">BTC</view> |
||||
|
</view> |
||||
|
|
||||
|
<radio color="#00E8A2" shape="square"></radio> |
||||
|
</label> |
||||
|
|
||||
|
</radio-group> |
||||
|
</scroll-view> |
||||
|
|
||||
|
<u-button class="button" color="#00E8A2" throttleTime="500" @click="USDTPopupShow = false"> |
||||
|
{{ i18n.OK }} |
||||
|
</u-button> |
||||
|
</view> |
||||
|
</u-popup> |
||||
|
</view> |
||||
|
|
||||
|
<view class="OLContent" v-if="pageState === 'onLine'"> |
||||
|
<view class="bankCard" v-if="!ifNextStep"> |
||||
|
<view class="header"> |
||||
|
<view class="bankTitle">{{ i18n.BankCardWithdrawal }}</view> |
||||
|
<view class="BeneficiaryTitle">{{ i18n.Beneficiary }}</view> |
||||
|
</view> |
||||
|
|
||||
|
<view class="addBankCardBtn" v-if="!hasBankCard" @click="goto('addBankCard')">{{ i18n.AddBankCard }} |
||||
|
</view> |
||||
|
<view class="bankCardInfo" v-if="hasBankCard"> |
||||
|
<view class="username">ZHOU JIELUN</view> |
||||
|
<view class="BankCardCode">4349 9545 9893 9854 027</view> |
||||
|
<Key-value-row :keyName="'Bank of Melbourne'" size="24rpx" :value="'CODE98Y'" rightColor="#F2FE8D" |
||||
|
leftColor="#fff"> |
||||
|
</Key-value-row> |
||||
|
|
||||
|
</view> |
||||
|
</view> |
||||
|
<u-button class="editBankCardBtn" v-if="!ifNextStep && hasBankCard" @click="goto('editBankCard')" |
||||
|
color="#323045" throttleTime="500">{{ i18n.EditCard }} |
||||
|
</u-button> |
||||
|
<view class="nextStep" v-if="ifNextStep"> |
||||
|
<view class="inputBody"> |
||||
|
<view class="title">{{ i18n.WithdrawableAmount }}</view> |
||||
|
<view class="withdrawableAmount-item"> |
||||
|
<view class="withdrawableAmount">₹ {{ withdrawableAmount }} </view> |
||||
|
</view> |
||||
|
<view class="title">{{ i18n.Amount }}</view> |
||||
|
<view class="input-item"> |
||||
|
<u-input class="input" v-model="amount" color="#fff" fontSize="32rpx" border="none" |
||||
|
:placeholder="i18n.enterAmount"> |
||||
|
</u-input> |
||||
|
</view> |
||||
|
<view class="title">{{ i18n.PaymentPassword }}</view> |
||||
|
<view class="input-item"> |
||||
|
<u-input class="input" type="password" v-model="paymentPassword" color="#fff" fontSize="32rpx" |
||||
|
border="none" :placeholder="i18n.enterPaymentPassword"> |
||||
|
</u-input> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<u-button class="button" color="#00E8A2" throttleTime="500" :disabled="btnIsCanClick" @click="btnClick"> |
||||
|
{{ ifNextStep ? i18n.Withdrawal : i18n.NextStep }} |
||||
|
</u-button> |
||||
|
</view> |
||||
|
|
||||
|
|
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import uniCopy from '@/utils/uni-copy' |
||||
|
import KeyValueRow from '../../components/KeyValueRow/KeyValueRow.vue'; |
||||
|
export default { |
||||
|
components: { KeyValueRow }, |
||||
|
name: "withdrawal", |
||||
|
data() { |
||||
|
return { |
||||
|
pageState: 'digitalCurrency', |
||||
|
coinAddress: '', |
||||
|
AvailableValue: 3399, |
||||
|
currentCoin: 'USDT', |
||||
|
coin: '', |
||||
|
USDTPopupShow: false, |
||||
|
USDTRadioValue: '', |
||||
|
hasBankCard: true, |
||||
|
ifNextStep: false, |
||||
|
withdrawableAmount: '4680671.89', |
||||
|
amount: '', |
||||
|
paymentPassword: '', |
||||
|
}; |
||||
|
}, |
||||
|
computed: { |
||||
|
i18n() { |
||||
|
return this.$t("withdrawal"); |
||||
|
}, |
||||
|
btnIsCanClick() { // 按钮是否可以点击 |
||||
|
if (this.hasBankCard && !this.ifNextStep) { // 在第一步,有银行卡可以点击 |
||||
|
return false; |
||||
|
} if (this.amount && this.paymentPassword && this.ifNextStep) { // 在第二步,有值才可以点 |
||||
|
return false; |
||||
|
} else { |
||||
|
return true |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
onLoad() { |
||||
|
// 监听事件 |
||||
|
uni.$on('coinAddressChang', (data) => { |
||||
|
this.coinAddress = data.coinAddress |
||||
|
}) |
||||
|
}, |
||||
|
onUnload() { |
||||
|
// 移除监听事件 |
||||
|
uni.$off('coinAddressChang'); |
||||
|
}, |
||||
|
onShow() { }, |
||||
|
methods: { |
||||
|
goto(id) { |
||||
|
// console.log(id); |
||||
|
let url = ''; |
||||
|
switch (id) { |
||||
|
case 'withdrawalRecord': |
||||
|
url = '/pages/withdrawal/withdrawalRecord' |
||||
|
break; |
||||
|
case 'chooseAddress': |
||||
|
url = '/pages/withdrawal/chooseAddress?form=withdrawal' |
||||
|
break; |
||||
|
case 'addBankCard': |
||||
|
url = '/pages/withdrawal/addOrEditBankCard?mode=addBank' |
||||
|
break; |
||||
|
case 'editBankCard': |
||||
|
url = '/pages/withdrawal/addOrEditBankCard?mode=editBank' |
||||
|
break; |
||||
|
default: |
||||
|
break; |
||||
|
} |
||||
|
if (url) { |
||||
|
// console.log(url); |
||||
|
uni.navigateTo({ |
||||
|
url, |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
USDTRadioChange(e) { |
||||
|
console.log(e); |
||||
|
}, |
||||
|
|
||||
|
copyAddress(value = "") { |
||||
|
console.log(value) |
||||
|
uniCopy({ |
||||
|
content: value, |
||||
|
success: (res) => { |
||||
|
uni.showToast({ |
||||
|
title: "复制成功", |
||||
|
duration: 3000, |
||||
|
}) |
||||
|
}, |
||||
|
error: (e) => { |
||||
|
uni.showToast({ |
||||
|
title: e, |
||||
|
icon: 'none', |
||||
|
duration: 2000, |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
btnClick() { |
||||
|
if (!this.ifNextStep) { // 第一步是切换到提现菜单 |
||||
|
this.ifNextStep = true |
||||
|
}else{ // 提现逻辑 |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.main { |
||||
|
|
||||
|
.right { |
||||
|
position: absolute; |
||||
|
right: 32rpx; |
||||
|
font-size: 24rpx; |
||||
|
} |
||||
|
|
||||
|
.head { |
||||
|
margin-top: 200rpx; |
||||
|
margin-left: 60rpx; |
||||
|
width: 632rpx; |
||||
|
display: flex; |
||||
|
justify-content: space-around; |
||||
|
align-items: center; |
||||
|
padding: 48rpx 0; |
||||
|
|
||||
|
.headItem { |
||||
|
width: 300rpx; |
||||
|
height: 68rpx; |
||||
|
line-height: 68rpx; |
||||
|
background: #211F32; |
||||
|
border-radius: 16rpx; |
||||
|
text-align: center; |
||||
|
font-size: 32rpx; |
||||
|
color: #A1A0A8; |
||||
|
|
||||
|
&.select { |
||||
|
background: #00E8A2; |
||||
|
color: #15141F; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.DCContent { |
||||
|
padding: 0 32rpx; |
||||
|
|
||||
|
.input-item { |
||||
|
overflow: hidden; |
||||
|
position: relative; |
||||
|
height: 124rpx; |
||||
|
line-height: 124rpx; |
||||
|
background: #211F32; |
||||
|
margin-bottom: 48rpx; |
||||
|
border-radius: 32rpx; |
||||
|
padding: 0 40rpx; |
||||
|
|
||||
|
/deep/.u-form-item__body { |
||||
|
padding: 0; |
||||
|
} |
||||
|
|
||||
|
.input { |
||||
|
width: 460rpx; |
||||
|
height: 124rpx; |
||||
|
display: inline-block; |
||||
|
} |
||||
|
|
||||
|
.selectCoinBtn { |
||||
|
position: absolute; |
||||
|
width: 170rpx; |
||||
|
height: 54rpx; |
||||
|
top: 36rpx; |
||||
|
right: 32rpx; |
||||
|
line-height: 56rpx; |
||||
|
font-size: 36rpx; |
||||
|
padding: 0; |
||||
|
color: #fff; |
||||
|
|
||||
|
&::after { |
||||
|
display: block; |
||||
|
position: absolute; |
||||
|
content: ''; |
||||
|
background-image: url(../../static/me/ic_input_arrow_down.png); |
||||
|
background-repeat: no-repeat; |
||||
|
background-size: 32rpx; |
||||
|
width: 32rpx; |
||||
|
height: 32rpx; |
||||
|
top: 12rpx; |
||||
|
right: 10rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.all { |
||||
|
position: absolute; |
||||
|
display: inline; |
||||
|
font-size: 20rpx; |
||||
|
color: #00E8A2; |
||||
|
top: 0rpx; |
||||
|
right: 30rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.coin-item { |
||||
|
background: #211F32; |
||||
|
border-radius: 10px; |
||||
|
overflow: hidden; |
||||
|
padding: 30rpx 40rpx; |
||||
|
|
||||
|
.title { |
||||
|
position: relative; |
||||
|
font-size: 32rpx; |
||||
|
color: #A1A0A8; |
||||
|
margin-bottom: 32rpx; |
||||
|
|
||||
|
.choose { |
||||
|
position: absolute; |
||||
|
top: 0; |
||||
|
right: 0; |
||||
|
font-size: 36rpx; |
||||
|
color: #fff; |
||||
|
padding-right: 60rpx; |
||||
|
|
||||
|
&::after { |
||||
|
display: block; |
||||
|
position: absolute; |
||||
|
content: ''; |
||||
|
background-image: url(../../static/charity/ic_ma_arrow_down.png); |
||||
|
background-repeat: no-repeat; |
||||
|
background-size: 32rpx; |
||||
|
width: 32rpx; |
||||
|
height: 32rpx; |
||||
|
top: 12rpx; |
||||
|
right: 10rpx; |
||||
|
transform: rotate(270deg); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.address { |
||||
|
position: relative; |
||||
|
background: #323045; |
||||
|
border-radius: 16px; |
||||
|
color: #00E8A2; |
||||
|
font-size: 28rpx; |
||||
|
padding: 8rpx 20rpx 8rpx 68rpx; |
||||
|
// 超出字符省略成... |
||||
|
overflow: hidden; |
||||
|
text-overflow: ellipsis; |
||||
|
display: -webkit-box; //兼容 |
||||
|
word-wrap: break-word; |
||||
|
white-space: normal !important; |
||||
|
-webkit-line-clamp: 1; //显示行数 |
||||
|
-webkit-box-orient: vertical; |
||||
|
|
||||
|
&::before { |
||||
|
display: block; |
||||
|
position: absolute; |
||||
|
content: ''; |
||||
|
top: 20rpx; |
||||
|
left: 30rpx; |
||||
|
width: 16rpx; |
||||
|
height: 16rpx; |
||||
|
border-radius: 100%; |
||||
|
background: #00E8A2; |
||||
|
box-shadow: 0 8rpx 16rpx 0 rgba(0, 0, 0, .2); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.input-item { |
||||
|
margin-top: 36rpx; |
||||
|
background: #323045; |
||||
|
|
||||
|
.input { |
||||
|
width: 486rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
.message-item { |
||||
|
padding: 0 16rpx; |
||||
|
font-size: 24rpx; |
||||
|
color: #A1A0A8; |
||||
|
line-height: 48rpx; |
||||
|
|
||||
|
&.first { |
||||
|
margin-top: 30rpx; |
||||
|
} |
||||
|
|
||||
|
&.last { |
||||
|
margin-bottom: 30rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
.withdrawBtn { |
||||
|
margin: 100rpx 0; |
||||
|
border-radius: 32rpx; |
||||
|
height: 112rpx; |
||||
|
line-height: 112rpx; |
||||
|
font-weight: 600; |
||||
|
color: #15141F !important; |
||||
|
} |
||||
|
|
||||
|
.USDTPopup { |
||||
|
.content { |
||||
|
height: 730rpx; |
||||
|
|
||||
|
.close { |
||||
|
margin: 48rpx 346rpx; |
||||
|
width: 58rpx; |
||||
|
height: 20rpx; |
||||
|
background-image: url(../../static/charity/Turn.png); |
||||
|
background-repeat: no-repeat; |
||||
|
background-size: 58rpx 20rpx; |
||||
|
} |
||||
|
|
||||
|
.radioGroup { |
||||
|
height: 432rpx; |
||||
|
|
||||
|
.checkBox { |
||||
|
height: 84rpx; |
||||
|
width: 670rpx; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
margin: 0 40rpx 32rpx; |
||||
|
|
||||
|
.icon { |
||||
|
width: 64rpx; |
||||
|
height: 64rpx; |
||||
|
border-radius: 20rpx; |
||||
|
overflow: hidden; |
||||
|
display: inline-block; |
||||
|
box-sizing: border-box; |
||||
|
margin-right: 20rpx; |
||||
|
} |
||||
|
|
||||
|
.iconName { |
||||
|
width: 520rpx; |
||||
|
|
||||
|
.top { |
||||
|
font-size: 32rpx; |
||||
|
color: #fff; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
.bottom { |
||||
|
font-size: 24rpx; |
||||
|
color: #A1A0A8; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
||||
|
/deep/.uni-radio-input { |
||||
|
width: 48rpx; |
||||
|
height: 48rpx; |
||||
|
border-radius: 16rpx; |
||||
|
background: #323045; |
||||
|
} |
||||
|
|
||||
|
/deep/.uni-radio-input-checked::before { |
||||
|
font-size: 36rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
.button { |
||||
|
width: 654rpx; |
||||
|
margin: 40rpx 48rpx; |
||||
|
border-radius: 32rpx; |
||||
|
height: 112rpx; |
||||
|
font-weight: 600; |
||||
|
line-height: 112rpx; |
||||
|
color: #15141F !important; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.OLContent { |
||||
|
.bankCard { |
||||
|
overflow: hidden; |
||||
|
box-sizing: border-box; |
||||
|
height: 360rpx; |
||||
|
margin: 0 64rpx; |
||||
|
border-radius: 32rpx; |
||||
|
background-image: url(../../static/withdrawal/bg_card.png); |
||||
|
background-repeat: no-repeat; |
||||
|
background-size: 622rpx 360rpx; |
||||
|
|
||||
|
.header { |
||||
|
box-sizing: border-box; |
||||
|
height: 164rpx; |
||||
|
margin: 0 32rpx 0; |
||||
|
padding-top: 32rpx; |
||||
|
|
||||
|
.bankTitle { |
||||
|
line-height: 60rpx; |
||||
|
font-size: 44rpx; |
||||
|
font-weight: 700; |
||||
|
} |
||||
|
|
||||
|
.BeneficiaryTitle { |
||||
|
font-size: 24rpx; |
||||
|
line-height: 50rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
.addBankCardBtn { |
||||
|
box-sizing: border-box; |
||||
|
position: relative; |
||||
|
width: 558rpx; |
||||
|
height: 116rpx; |
||||
|
line-height: 116rpx; |
||||
|
background: #211F32; |
||||
|
border-radius: 32rpx; |
||||
|
margin: 34rpx 32rpx; |
||||
|
padding-left: 40rpx; |
||||
|
opacity: 1; |
||||
|
|
||||
|
|
||||
|
&::after { |
||||
|
display: block; |
||||
|
position: absolute; |
||||
|
content: ''; |
||||
|
background-image: url(../../static/withdrawal/add-circle.png); |
||||
|
background-repeat: no-repeat; |
||||
|
background-size: 48rpx; |
||||
|
width: 48rpx; |
||||
|
height: 48rpx; |
||||
|
top: 34rpx; |
||||
|
right: 52rpx; |
||||
|
} |
||||
|
|
||||
|
&:active { |
||||
|
opacity: 0.6; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.bankCardInfo { |
||||
|
border-top: 2rpx solid #A1A0A8; |
||||
|
padding: 0 32rpx; |
||||
|
|
||||
|
.username { |
||||
|
margin-top: 24rpx; |
||||
|
font-size: 24rpx; |
||||
|
} |
||||
|
|
||||
|
.BankCardCode { |
||||
|
margin-top: 20rpx; |
||||
|
margin-bottom: 20rpx; |
||||
|
font-size: 24rpx; |
||||
|
color: #00E8A2; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
.editBankCardBtn { |
||||
|
width: 622rpx; |
||||
|
height: 116rpx; |
||||
|
margin: 32rpx 64rpx; |
||||
|
border-radius: 16px; |
||||
|
font-size: 32rpx; |
||||
|
} |
||||
|
|
||||
|
.nextStep { |
||||
|
.inputBody { |
||||
|
overflow: hidden; |
||||
|
background: #211F32; |
||||
|
border-radius: 32rpx; |
||||
|
padding: 32rpx; |
||||
|
margin-bottom: 32rpx; |
||||
|
|
||||
|
.title { |
||||
|
font-size: 32rpx; |
||||
|
color: #A1A0A8; |
||||
|
margin-bottom: 20rpx; |
||||
|
} |
||||
|
|
||||
|
.input-item { |
||||
|
height: 112rpx; |
||||
|
background: #323045; |
||||
|
border-radius: 32rpx; |
||||
|
padding-left: 40rpx; |
||||
|
margin-bottom: 20rpx; |
||||
|
|
||||
|
.input { |
||||
|
height: 112rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.withdrawableAmount-item { |
||||
|
height: 112rpx; |
||||
|
background: #323045; |
||||
|
border-radius: 32rpx; |
||||
|
padding-left: 40rpx; |
||||
|
margin-bottom: 20rpx; |
||||
|
|
||||
|
.withdrawableAmount { |
||||
|
color: #00E8A2; |
||||
|
height: 112rpx; |
||||
|
line-height: 112rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
.button { |
||||
|
position: fixed; |
||||
|
bottom: 40rpx; |
||||
|
width: 686rpx; |
||||
|
box-sizing: border-box; |
||||
|
height: 112rpx; |
||||
|
background: #00E8A2; |
||||
|
border-radius: 32rpx; |
||||
|
font-weight: 700; |
||||
|
font-size: 32rpx; |
||||
|
color: #15141F !important; |
||||
|
margin: 0 32rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,172 @@ |
|||||
|
<template> |
||||
|
<view class="main"> |
||||
|
<!-- nav --> |
||||
|
<navigation>{{ i18n.WithdrawalRecord }}</navigation> |
||||
|
<!-- headBtn --> |
||||
|
<view class="head"> |
||||
|
<view class="headItem" @click="pageState = 'digitalCurrency'" |
||||
|
:class="{ select: pageState === 'digitalCurrency' }"> |
||||
|
{{ i18n.DigitalCurrency }} |
||||
|
</view> |
||||
|
<view class="headItem" @click="pageState = 'onLine'" :class="{ select: pageState === 'onLine' }"> |
||||
|
{{ i18n.OnLine }} |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<view class="cardList"> |
||||
|
<view class="card" v-for="(item, index) in 4" :key="index"> |
||||
|
<!-- 卡片条件渲染 --> |
||||
|
<!-- balance --> |
||||
|
<card-header v-if="pageState === 'digitalCurrency'" iconName="../../static/withdrawal/money-send.png" |
||||
|
:title="'904.29483230ACTA'" rightName="Succeed" fontColor="#00E8A2"> |
||||
|
</card-header> |
||||
|
<view class="dataBody" v-if="pageState === 'digitalCurrency'"> |
||||
|
<view style="padding:20rpx 32rpx;"> |
||||
|
<Key-value-row :keyName="i18n.OrderID" :value="'293829773920223873676'"></Key-value-row> |
||||
|
<Key-value-row :keyName="i18n.Fees" :value="'10.0922'"></Key-value-row> |
||||
|
<Key-value-row :keyName="i18n.Time" :value="'2022/08/06 14:50:34'"></Key-value-row> |
||||
|
</view> |
||||
|
<view style="border-top: 2rpx solid #323045;padding:0rpx 32rpx; margin-bottom: 20rpx;"> |
||||
|
<show-more class="digitalShowMore"> |
||||
|
<Key-value-row :keyName="i18n.Address" :value="'dhiukyfdhi8797979870800'"></Key-value-row> |
||||
|
<Key-value-row :keyName="i18n.Hash" :value="'dhiukyfdhi8797979870800'"></Key-value-row> |
||||
|
<view class="text">Postscript : ontact customer service on the top-left corner for identity |
||||
|
verific |
||||
|
</view> |
||||
|
</show-more> |
||||
|
</view> |
||||
|
|
||||
|
</view> |
||||
|
|
||||
|
|
||||
|
<!-- contarct --> |
||||
|
<card-header v-if="pageState === 'onLine'" iconName="../../static/withdrawal/money-send.png" |
||||
|
:title="'904.29483230ACTA'" rightName="Succeed" fontColor="#00E8A2"> |
||||
|
</card-header> |
||||
|
<view class="dataBody" v-if="pageState === 'onLine'"> |
||||
|
<view style="padding:20rpx 32rpx;"> |
||||
|
<Key-value-row :keyName="i18n.OrderID" :value="'293829773920223873676'"></Key-value-row> |
||||
|
<Key-value-row :keyName="i18n.Fees" :value="'10.0922'"></Key-value-row> |
||||
|
<Key-value-row :keyName="i18n.Time" :value="'2022/08/06 14:50:34'"></Key-value-row> |
||||
|
</view> |
||||
|
<show-more class="onLineShowMore" style="border-top: 2rpx solid #323045;margin-bottom: 20rpx;"> |
||||
|
<view style="padding:20rpx 32rpx;"> |
||||
|
<Key-value-row :keyName="i18n.USDTRate" :value="'19298'"></Key-value-row> |
||||
|
<Key-value-row :keyName="i18n.USDT" :value="'298237'"></Key-value-row> |
||||
|
</view> |
||||
|
<view style="border-top: 2rpx solid #323045;padding:20rpx 32rpx;"> |
||||
|
<Key-value-row :keyName="i18n.CardNo" :value="'4349 9545 9893 9854 027'"> |
||||
|
</Key-value-row> |
||||
|
<Key-value-row :keyName="i18n.Bank" :value="'Bank of Melbourne'"></Key-value-row> |
||||
|
<Key-value-row :keyName="i18n.Payee" :value="'Zhou jielun'"></Key-value-row> |
||||
|
<view class="text">Postscript :ontact customer service on the top-left corner for identity |
||||
|
verific |
||||
|
</view> |
||||
|
</view> |
||||
|
</show-more> |
||||
|
|
||||
|
</view> |
||||
|
|
||||
|
|
||||
|
|
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import KeyValueRow from '../../components/KeyValueRow/KeyValueRow.vue'; |
||||
|
import CardHeader from '../../components/cardHeader/cardHeader.vue'; |
||||
|
import ShowMore from '../../components/showMore/showMore.vue'; |
||||
|
export default { |
||||
|
components: { KeyValueRow, CardHeader, ShowMore }, |
||||
|
name: "withdrawalRecord", |
||||
|
data() { |
||||
|
return { |
||||
|
pageState: 'digitalCurrency', |
||||
|
}; |
||||
|
}, |
||||
|
computed: { |
||||
|
i18n() { |
||||
|
return this.$t("withdrawal"); |
||||
|
}, |
||||
|
}, |
||||
|
onLoad() { |
||||
|
}, |
||||
|
onShow() { }, |
||||
|
methods: { |
||||
|
change(e) { |
||||
|
console.log(e); |
||||
|
} |
||||
|
|
||||
|
}, |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.main { |
||||
|
|
||||
|
.head { |
||||
|
margin-top: 200rpx; |
||||
|
margin-left: 60rpx; |
||||
|
width: 632rpx; |
||||
|
display: flex; |
||||
|
justify-content: space-around; |
||||
|
align-items: center; |
||||
|
padding: 48rpx 0; |
||||
|
|
||||
|
.headItem { |
||||
|
width: 300rpx; |
||||
|
height: 68rpx; |
||||
|
line-height: 68rpx; |
||||
|
background: #211F32; |
||||
|
border-radius: 16rpx; |
||||
|
text-align: center; |
||||
|
font-size: 32rpx; |
||||
|
color: #A1A0A8; |
||||
|
|
||||
|
&.select { |
||||
|
background: #00E8A2; |
||||
|
color: #15141F; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
.cardList { |
||||
|
padding-bottom: 40rpx; |
||||
|
|
||||
|
.card { |
||||
|
overflow: hidden; |
||||
|
background: #211F32; |
||||
|
border-radius: 32rpx; |
||||
|
margin: 0 32rpx 32rpx; |
||||
|
|
||||
|
|
||||
|
|
||||
|
.dataBody { |
||||
|
box-sizing: border-box; |
||||
|
|
||||
|
.onLineShowMore { |
||||
|
/deep/.showMoreTool { |
||||
|
margin: 0 32rpx; |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
|
||||
|
.text { |
||||
|
margin-top: 20rpx; |
||||
|
padding: 10rpx 16rpx; |
||||
|
background: #323045; |
||||
|
border-radius: 8rpx; |
||||
|
font-size: 24rpx; |
||||
|
color: #A1A0A8; |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
</style> |
||||
|
Before Width: | Height: | Size: 257 B After Width: | Height: | Size: 345 B |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 96 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 73 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 753 B |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 1.6 KiB |