Browse Source

合并

master
j1ack 3 years ago
parent
commit
0668a3ebd1
  1. 7
      App.vue
  2. 12
      components/tabBar/tabBar.vue
  3. 19
      pages/markets/trade.vue
  4. 140
      pages/me/myTeam.vue
  5. 131
      pages/subscription/index.vue
  6. BIN
      static/me/myTeambg.png

7
App.vue

@ -37,7 +37,12 @@ export default {
margin: 0; margin: 0;
} }
/deep/ .u-empty{
position: absolute;
top: 150%;
left: 50%;
transform: translateX(-50%);
}
page { page {

12
components/tabBar/tabBar.vue

@ -192,18 +192,6 @@ export default {
display: flex; display: flex;
z-index: 8; z-index: 8;
box-sizing: border-box; box-sizing: border-box;
&::after {
display: block;
position: absolute;
content: '';
background: #fff;
width: 268rpx;
height: 10rpx;
border-radius: 10rpx;
top: 140rpx;
left: 242rpx;
}
} }
.tabbar_item { .tabbar_item {

19
pages/markets/trade.vue

@ -7,10 +7,11 @@
</navigation> </navigation>
<view class="content"> <view class="content">
<view class="transactionSide"> <view class="transactionSide">
<transaction></transaction> <transaction :contractInfo="contractInfo"></transaction>
</view> </view>
<view class="positionSide"> <view class="positionSide">
<positionList v-on:depthChange="depthChange" :marketDetail="marketDetail" :bboList="bboList"></positionList> <positionList v-on:depthChange="depthChange" :marketDetail="marketDetail" :bboList="bboList">
</positionList>
</view> </view>
</view> </view>
<view class="orderList"> <view class="orderList">
@ -52,6 +53,8 @@
name: "trade", name: "trade",
data() { data() {
return { return {
/* 配置信息 */
contractInfo: {},
popupShow: false, popupShow: false,
symbolList: [], symbolList: [],
symbol: null, symbol: null,
@ -82,6 +85,16 @@
console.log(11111, uni.getStorageSync('symbol')); console.log(11111, uni.getStorageSync('symbol'));
}, },
methods: { methods: {
//
contractConfig() {
this.$api.contractConfig({
pair: this.marketDetail.pair
}).then(res => {
this.contractInfo = res
this.contractInfo.leverageCon = [];
this.contractInfo.leverageCon = this.contractInfo.leverage.split(',')
})
},
getTradeList() { getTradeList() {
const tradeList = this.$api.tradeList({ const tradeList = this.$api.tradeList({
"symbol": this.symbol.symbol "symbol": this.symbol.symbol
@ -122,7 +135,7 @@
}); });
marketDetail.then(res => { marketDetail.then(res => {
this.marketDetail = res this.marketDetail = res
this.contractConfig()
}) })
.catch(e => { .catch(e => {
console.log(e) console.log(e)

140
pages/me/myTeam.vue

@ -3,13 +3,61 @@
<!-- nav --> <!-- nav -->
<navigation>{{ i18n.MyTeam }}</navigation> <navigation>{{ i18n.MyTeam }}</navigation>
<view class="body"> <view class="body">
<view class="userItem" v-for="(item, index) in 4" :key="index"> <view class="top flex">
<u-icon class="icon" :name="'../../static/me/Ellipse 85.png'" size="92rpx" width="92rpx"></u-icon> <view class="item">
<view> <view class="t1">
<view class="email">krichjmadif0985@gmail.com</view> 394
<view class="date">2022/08/06</view>
<u-button class="button" color="#F2FE8D" throttleTime="500">{{ i18n.Fresh }}</u-button>
</view> </view>
<view class="t2">
Number of clionts
</view>
</view>
<view class="item">
<view class="t1">
0
</view>
<view class="t2">
Earnlings yesterday
</view>
</view>
<view class="item">
<view class="t1">
9343492
</view>
<view class="t2">
Total income
</view>
</view>
</view>
<u-subsection :list="list" activeColor="#00E8A2" inactiveColor="#fff" :current="curNow"
@change="sectionChange" bgColor="#211F32"></u-subsection>
<view class="container">
<table class="table">
<thead class="thead">
<tr>
<td>User</td>
<td>Financial funds</td>
<td>Time</td>
</tr>
</thead>
<tbody class="tbody">
<tr>
<td>98374354705</td>
<td>349849</td>
<td>2021.10.14</td>
</tr>
<tr>
<td>98374354705</td>
<td>349849</td>
<td>2021.10.14</td>
</tr>
<tr>
<td>98374354705</td>
<td>349849</td>
<td>2021.10.14</td>
</tr>
</tbody>
</table>
</view> </view>
</view> </view>
</view> </view>
@ -20,6 +68,11 @@ export default {
name: "myTeam", name: "myTeam",
data() { data() {
return { return {
list: ['My client', 'Income record'],
// keyName
// list: [{name: ''}, {name: ''}, {name: ''}],
curNow: 0,
}; };
}, },
computed: { computed: {
@ -27,22 +80,89 @@ export default {
return this.$t("me"); return this.$t("me");
}, },
}, },
onLoad() { onLoad() {},
},
onShow() {}, onShow() {},
methods: { methods: {
sectionChange(index) {
this.curNow = index;
}
}, },
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.table{
width: 100%;
text-align: center;
border-collapse: collapse;
.thead{
height: 84rpx;
line-height: 84rpx;
tr{
td{
color: #A1A0A8;
font-size: 24rpx;
}
}
}
.tbody{
tr{
height: 84rpx;
line-height: 84rpx;
border-top: 2rpx solid #323045 !important;
td{
color: #fff;
font-size: 24rpx;
}
}
}
}
.container {
padding: 0 32rpx;
}
/deep/ .u-subsection--button {
height: 80rpx;
}
/deep/ .u-subsection--button__bar {
background: #323045;
height: 80rpx;
}
.flex {
display: flex;
align-items: center;
justify-content: space-between;
}
.top {
padding: 68rpx 32rpx;
background: url('@/static/me/myTeambg.png') no-repeat;
background-size: cover;
.item {
text-align: center;
line-height: 60rpx;
}
.t2 {
font-size: 24rpx;
color: #A1A0A8;
}
.t1 {
color: #00E8A2;
font-size: 32rpx;
font-weight: bolder;
}
}
.main { .main {
.body { .body {
overflow: hidden; overflow: hidden;
margin-top: 200rpx; margin-top: 200rpx;
padding: 0 32rpx;
.userItem { .userItem {
position: relative; position: relative;

131
pages/subscription/index.vue

@ -2,19 +2,23 @@
<view class="main"> <view class="main">
<!-- nav --> <!-- nav -->
<view class="nav-head"> <view class="nav-head">
<view class="navItem" @click="pageState = 'product'" :class="{ select: pageState === 'product' }"> <view class="navItem" @click="pageState = 'product',getInfo('product')"
:class="{ select: pageState === 'product' }">
{{ i18n.Product }} {{ i18n.Product }}
</view> </view>
<view class="navItem" @click="pageState = 'pending'" :class="{ select: pageState === 'pending' }"> <view class="navItem" @click="pageState = 'pending',getInfo('pending')"
:class="{ select: pageState === 'pending' }">
{{ i18n.Pending }} {{ i18n.Pending }}
</view> </view>
<view class="navItem" @click="pageState = 'complete'" :class="{ select: pageState === 'complete' }"> <view class="navItem" @click="pageState = 'complete',getInfo('complete')"
:class="{ select: pageState === 'complete' }">
{{ i18n.Complete }} {{ i18n.Complete }}
</view> </view>
</view> </view>
<!-- Product 产品列表 --> <!-- Product 产品列表 -->
<view class="cardList"> <view class="cardList">
<view class="card" v-for="(item, index) in info" :key="index" @click="gotoDetails(item,index)"> <view class="card" v-for="(item, index) in info" :key="index" @click="gotoDetails(item,index)"
v-if="pageState === 'product'">
<!-- 卡片条件渲染 --> <!-- 卡片条件渲染 -->
<!-- product --> <!-- product -->
<card-header v-if="pageState === 'product'" :iconName="baseURL+'/coins/'+item.coinCode+'.png'" <card-header v-if="pageState === 'product'" :iconName="baseURL+'/coins/'+item.coinCode+'.png'"
@ -26,44 +30,50 @@
<key-value-row :keyName="i18n.STLTotalCirculation" :value="item.issueAmount"></key-value-row> <key-value-row :keyName="i18n.STLTotalCirculation" :value="item.issueAmount"></key-value-row>
<key-value-row :keyName="i18n.PrivateSalePrice" :value="item.initalPrice+item.coinCode"> <key-value-row :keyName="i18n.PrivateSalePrice" :value="item.initalPrice+item.coinCode">
</key-value-row> </key-value-row>
<key-value-row :keyName="i18n.ICOTime" :value="item.startDate"></key-value-row> <key-value-row :keyName="i18n.ICOTime" :value="item.timestr"></key-value-row>
</view> </view>
</view>
<view class="card" v-for="(item, index) in userInfoObj" :key="index" v-if="pageState === 'pending'">
<!-- pending --> <!-- pending -->
<card-header v-if="pageState === 'pending'" :iconName="'../../static/maskets/bye.png'" <card-header v-if="pageState === 'pending'" :iconName="baseURL+'/coins/'+item.coinSymbol+'.png'"
:title="'973430980989323445'" :rightName="'Pending'" fontColor="#00E8A2"> :title="item.orderNo" :rightName="item.status" :fontColor="item.status=='undone'?'#A1A0A8':item.status=='cancel'?'#F4506A':'#00E8A2'">
</card-header> </card-header>
<view class="dataBody" v-if="pageState === 'pending'"> <view class="dataBody" v-if="pageState === 'pending'">
<key-value-row :keyName="i18n.Price" :value="'284145.61'"></key-value-row> <key-value-row :keyName="i18n.Price" :value="item.pendingPrice"></key-value-row>
<key-value-row :keyName="i18n.Quantity" :value="'1000'"></key-value-row> <key-value-row :keyName="i18n.Quantity" :value="item.pendingAmount"></key-value-row>
<key-value-row :keyName="i18n.USDT" :value="'3166.61'"></key-value-row> <key-value-row :keyName="i18n.USDT" :value="parseInt(item.usdtPrice,16)"></key-value-row>
<key-value-row :keyName="i18n.Time" :value="'2022/08/06 14:51'"></key-value-row> <key-value-row :keyName="i18n.Time" :value="item.addTimeStr"></key-value-row>
</view>
</view> </view>
<view class="card" v-for="(item, index) in userInfoObj" :key="index" v-if="pageState === 'complete'">
<!-- complete --> <!-- complete -->
<card-header v-if="pageState === 'complete'" :iconName="'../../static/maskets/bye.png'" <card-header v-if="pageState === 'complete'" :iconName="baseURL+'/coins/'+item.coinSymbol+'.png'"
:title="'973430980989323445'" :rightName="'complete'" fontColor="#00E8A2"> :title="item.orderNo" :rightName="item.status" :fontColor="item.status=='undone'?'#A1A0A8':item.status=='cancel'?'#F4506A':'#00E8A2'">
</card-header> </card-header>
<view class="dataBody" v-if="pageState === 'complete'"> <view class="dataBody" v-if="pageState === 'complete'">
<key-value-row :keyName="i18n.Price" :value="'284145.61'"></key-value-row> <key-value-row :keyName="i18n.Price" :value="item.pendingPrice"></key-value-row>
<key-value-row :keyName="i18n.Quantity" :value="'1000'"></key-value-row> <key-value-row :keyName="i18n.Quantity" :value="item.pendingAmount"></key-value-row>
<key-value-row :keyName="i18n.ConfirmAmount" :value="'999'" :leftColor="'#F2FE8D'" <key-value-row :keyName="i18n.ConfirmAmount" :value="item.tradeAmount" :leftColor="'#F2FE8D'"
:rightColor="'#F2FE8D'"></key-value-row> :rightColor="'#F2FE8D'"></key-value-row>
<key-value-row :keyName="i18n.USDT" :value="'3166.61'"></key-value-row> <key-value-row :keyName="i18n.USDT" :value="parseInt(item.usdtPrice,16)"></key-value-row>
<key-value-row :keyName="i18n.CheckTheNumberoOfUSDT" :value="'2000'" :leftColor="'#F2FE8D'" <key-value-row :keyName="i18n.CheckTheNumberoOfUSDT" :value="item.realAmount" :leftColor="'#F2FE8D'"
:rightColor="'#F2FE8D'"> :rightColor="'#F2FE8D'">
</key-value-row> </key-value-row>
<key-value-row :keyName="i18n.Time" :value="'2022/08/06 14:51'"></key-value-row> <key-value-row :keyName="i18n.Time" :value="item.addTimeStr"></key-value-row>
</view> </view>
</view> </view>
</view> </view>
<u-empty :text="i18n.Dataisempty" mode="data" v-if="info.length==0"></u-empty> <u-empty :text="i18n.Dataisempty" mode="data" v-if="info.length==0&&pageState=='product'"></u-empty>
<u-loadmore :status="loadStatus" :loading-text="loadingText" :loadmore-text="loadmoreText" <u-loadmore :status="loadStatus" :loading-text="loadingText" :loadmore-text="loadmoreText"
:nomore-text="nomoreText" v-if="info.length" height="80" /> :nomore-text="nomoreText" v-if="info.length&&pageState=='product'" height="80" />
<!-- 申购记录的为空提示 -->
<u-empty :text="i18n.Dataisempty" mode="data" v-if="userInfoObj.length==0" v-show="pageState=='undone'||pageState=='complete'"></u-empty>
<u-loadmore :status="loadStatus2" :loading-text="loadingText2" :loadmore-text="loadmoreText2"
:nomore-text="nomoreText2" v-if="userInfoObj.length" height="80" />
<!-- tabBar --> <!-- tabBar -->
<tab-bar :selectActive="4"></tab-bar> <tab-bar :selectActive="4"></tab-bar>
</view> </view>
@ -94,12 +104,17 @@
form: { form: {
pageNumber: 1, pageNumber: 1,
pageSize: 20, pageSize: 20,
type: 'crypto', status: '',
}, },
//
isLoadMore2: false, //
loadStatus2: 'loadmore',
loadingText2: this.$t("login").toload,
loadmoreText2: this.$t("login").pullup,
nomoreText2: this.$t("login").Nomore,
} }
}, },
onLoad() { onLoad() {},
},
onShow() { onShow() {
this.baseURL = constant.BASE_URL this.baseURL = constant.BASE_URL
this.getGoods(); this.getGoods();
@ -111,11 +126,71 @@
} }
}, },
methods: { methods: {
// product
getInfo(e) {
this.info=[];
this.userInfoObj=[]
if (e == 'product') {
this.getGoods()
}
if (e == 'pending') {
this.form.status = 'undone'
this.getList()
}
if (e == 'complete') {
this.form.status = 'complete'
this.getList()
}
},
//
getList() {
this.isLoadMore2 = true
api.subscriptionRecord(this.form).then(res => {
if (res.content.length) {
if (this.form.pageNumber > 1) {
this.userInfoObj = this.userInfoObj.concat(res.content)
for (var i = 0; i < this.userInfoObj.length; i++) {
if (this.userInfoObj[i].addTime) {
this.userInfoObj[i].timestr = this.$index.formatyymmddhhmmss(this.userInfoObj[
i].addTime)
}
}
} else {
this.userInfoObj = res.content
for (var i = 0; i < this.userInfoObj.length; i++) {
if (this.userInfoObj[i].addTime) {
this.userInfoObj[i].timestr = this.$index.formatyymmddhhmmss(this.userInfoObj[
i].addTime)
}
}
}
if (this.userInfoObj.length >= Number(res.totalElements)) { //
this.isLoadMore2 = true
this.loadStatus2 = 'nomore'
} else {
this.isLoadMore2 = false
}
} else {
this.isLoadMore2 = true
this.loadStatus2 = 'nomore'
this.userInfoObj = []
}
this.$forceUpdate()
})
},
//
getGoods() { getGoods() {
api.subscriptionList().then(res => { api.subscriptionList().then(res => {
this.info = res; this.info = res;
this.isLoadMore = true this.isLoadMore = true
this.loadStatus = 'nomore' this.loadStatus = 'nomore'
for (var i = 0; i < this.info.length; i++) {
if (this.info[i].startDate) {
this.info[i].timestr = this.$index.formatyymmddhhmmss(this.info[
i].startDate)
}
}
}) })
}, },
gotoDetails(i, index) { gotoDetails(i, index) {

BIN
static/me/myTeambg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Loading…
Cancel
Save