Browse Source

修改股票页面

master
liaoxinyu 2 weeks ago
parent
commit
beee8c1e8d
  1. 6
      api/market.js
  2. 9
      layout/vButton.vue
  3. 6
      pages/base/home.vue
  4. 192
      pages/stockexchange/exchange-transaction.vue

6
api/market.js

@ -65,7 +65,11 @@ class Market {
static getstockCoinInfo(data){ static getstockCoinInfo(data){
return Serve.get(`/stock/getCoinInfo`,data) return Serve.get(`/stock/getCoinInfo`,data)
} }
// 是否显示颜色
static getstocktradingOpen(data){
return Serve.get(`/stock/tradingOpen`,data)
}
} }
export default Market; export default Market;

9
layout/vButton.vue

@ -218,4 +218,13 @@ export default {
margin-left: 20rpx; margin-left: 20rpx;
} }
} }
.colorless {
::v-deep uni-button {
background: #999999;
color: #fff;
border:none;
border-radius:inherit;
box-shadow: 0px 0px 15px 0px rgba(199, 199, 199, 0.7);
}
}
</style> </style>

6
pages/base/home.vue

@ -1233,9 +1233,9 @@
this.getCurrencyExCny(); this.getCurrencyExCny();
this.getHelpList(); this.getHelpList();
if (this.isLogin) { if (this.isLogin) {
this.chatcount = setInterval(()=>{ // this.chatcount = setInterval(()=>{
this.chat() // this.chat()
},5000) // },5000)
this.createWalletAddress(); this.createWalletAddress();
this.getAuthInfo() this.getAuthInfo()
this.personalAssets(); this.personalAssets();

192
pages/stockexchange/exchange-transaction.vue

@ -165,13 +165,21 @@
block block
@click="storeEntrust" @click="storeEntrust"
ref="btn" ref="btn"
>{{ v-if="tradingOpenshow==true">
form.direction == "buy" {{form.direction == "buy" ? this.$t("exchange.c3") : this.$t("exchange.c4")}}
? this.$t("exchange.c3")
: this.$t("exchange.c4")
}}
{{ activeCoin.coin_name }}</v-button {{ activeCoin.coin_name }}</v-button
> >
<v-button
size="small"
type="colorless"
class="w-max rounded-md"
block
@click="storeEntrust"
ref="btn"
v-if="tradingOpenshow==false">
{{form.direction == "buy" ? this.$t("exchange.c3") : this.$t("exchange.c4")}}
{{ activeCoin.coin_name }}</v-button
>
</template> </template>
<template v-else> <template v-else>
<v-button <v-button
@ -330,41 +338,41 @@
<view class="p-x-md p-y-xs" style="line-height: 60rpx;"> <view class="p-x-md p-y-xs" style="line-height: 60rpx;">
<view class="row d-flex m-y-xs"> <view class="row d-flex m-y-xs">
<view class="d-flex w-50 align-end"> <view class="d-flex w-50 align-end">
{{$t("exchange.g8")}}<span class="color-light"></span>{{item.pair_name}} {{$t("exchange.g9")}}<span class="color-light"></span>{{item.coin_name}}
</view> </view>
<view class="d-flex w-50 justify-between"> <view class="d-flex w-50 justify-between">
<view> <view>
{{$t("exchange.g9")}}<span class="color-light"></span>{{item.market}} {{$t("exchange.g10")}}<span class="color-light"></span>{{item.market}}
</view> </view>
</view> </view>
</view> </view>
<view class="row d-flex m-y-xs"> <view class="row d-flex m-y-xs">
<view class="d-flex w-50 align-end"> <view class="d-flex w-50 align-end">
{{$t("exchange.g10")}}<span class="color-light"></span>{{item.usable_balance}} {{$t("exchange.g11")}}<span class="color-light"></span>{{item.usable_balance}}
</view> </view>
<view class="d-flex w-50 justify-between"> <view class="d-flex w-50 justify-between">
<view> <view>
{{$t("exchange.g11")}}<span class="color-light"></span>{{item.realtimePrice}} {{$t("exchange.g12")}}<span class="color-light"></span>{{item.realtimePrice}}
</view> </view>
</view> </view>
</view> </view>
<view class="row d-flex m-y-xs"> <view class="row d-flex m-y-xs">
<view class="d-flex w-50 align-end"> <view class="d-flex w-50 align-end">
{{$t("exchange.g12")}}<span class="color-light"></span>{{item.cost_price}} {{$t("exchange.g13")}}<span class="color-light"></span>{{item.cost_price}}
</view> </view>
<view class="d-flex w-50 justify-between"> <view class="d-flex w-50 justify-between">
<view> <view>
{{$t("exchange.g13")}}<span class="color-light"></span>{{item.dayProfit}} {{$t("exchange.g14")}}<span :class="item.dayProfit>0?'color-buy':item.dayProfit<0?'color-sell':''">{{item.dayProfit}}</span>
</view> </view>
</view> </view>
</view> </view>
<view class="row d-flex m-y-xs"> <view class="row d-flex m-y-xs">
<view class="d-flex w-50 align-end"> <view class="d-flex w-50 align-end">
{{$t("exchange.g14")}}<span class="color-light"></span>{{item.unRealProfit}} {{$t("exchange.g15")}}<span class="color-light" :class="item.unRealProfit>0?'color-buy':item.unRealProfit<0?'color-sell':''">{{item.unRealProfit}}</span>
</view> </view>
<view class="d-flex w-50 justify-between"> <view class="d-flex w-50 justify-between">
<view> <view>
{{$t("exchange.g15")}}<span class="color-light"></span>{{item.profitRate}} {{$t("exchange.g16")}}<span class="color-light" :class="item.profitRate>0?'color-buy':item.profitRate<0?'color-sell':''">{{item.profitRate}}</span>
</view> </view>
</view> </view>
</view> </view>
@ -461,7 +469,10 @@ export default {
refreshing:false, refreshing:false,
active:0, active:0,
stockholdPositionlist:[], stockholdPositionlist:[],
holdPositiondtime: null holdPositiondtime: null,
tradingOpenshow:false,
timer: null,
}; };
}, },
computed: { computed: {
@ -526,14 +537,27 @@ export default {
// //
totalMoney() { totalMoney() {
// todo // todo
let totalMoney = 0; // let totalMoney = 0;
if (this.form.type == 0) { // if (this.form.type == 0) {
totalMoney = math.multiple(this.form.amount, this.form.entrust_price); // totalMoney = math.multiple(this.form.amount, this.form.entrust_price);
} else { // } else {
// totalMoney = this.form.amount; // // totalMoney = this.form.amount;
totalMoney = math.multiple(this.form.amount, this.form.entrust_price); // totalMoney = math.multiple(this.form.amount, this.form.entrust_price);
} // }
return totalMoney; // return totalMoney;
let totalMoney = 0;
// amount price -Infinity 0
let amount = Number(this.form.amount) || 0;
let price = Number(this.form.entrust_price) || 0;
if (this.form.type == 0) {
totalMoney = math.multiple(amount, price);
} else {
totalMoney = math.multiple(amount, price);
}
//
return isNaN(totalMoney) ? 0 : totalMoney;
}, },
// //
activeStep() { activeStep() {
@ -554,18 +578,22 @@ export default {
usable() { usable() {
if (this.form.direction == "buy") { if (this.form.direction == "buy") {
if (!this.targetBalance.usable_balance) return 0; if (!this.targetBalance.usable_balance) return 0;
return this.omitTo( // return this.omitTo(
// this.targetBalance.usable_balance, // // this.targetBalance.usable_balance,
// this.activeCoin.price_decimals // // this.activeCoin.price_decimals
this.currentBalance.usable_balance, // this.currentBalance.usable_balance,
this.activeCoin.qty_decimals // this.activeCoin.qty_decimals
); // );
return this.currentBalance.usable_balance
} else { } else {
// console.log(this.currentBalance);
if (!this.currentBalance.usable_balance) return 0; if (!this.currentBalance.usable_balance) return 0;
return this.omitTo( // return this.omitTo(
this.currentBalance.usable_balance, // this.currentBalance.usable_balance,
this.activeCoin.qty_decimals // // this.targetBalance.usable_balance,
); // this.activeCoin.qty_decimals
// );
return this.currentBalance.usable_balance
} }
}, },
usable1() { usable1() {
@ -618,10 +646,13 @@ export default {
},3000) },3000)
this.getUserBalance(); this.getUserBalance();
this.linkSocket(this.activeCoin.symbol); this.linkSocket(this.activeCoin.symbol);
this.startSchedule();
} else if(!n&&this.isLogin){ } else if(!n&&this.isLogin){
this.unLink(this.activeCoin.symbol); this.unLink(this.activeCoin.symbol);
clearInterval(this.dtime); clearInterval(this.dtime);
clearInterval(this.holdPositiondtime); clearInterval(this.holdPositiondtime);
clearInterval(this.timer);
} }
}, },
@ -633,9 +664,11 @@ export default {
this.holdPositiondtime = setInterval(()=>{ this.holdPositiondtime = setInterval(()=>{
this.stockholdPosition(); this.stockholdPosition();
},3000) },3000)
this.startSchedule();
}else if(e!='stockexchange-operation'&&this.isLogin){ }else if(e!='stockexchange-operation'&&this.isLogin){
clearInterval(this.dtime); clearInterval(this.dtime);
clearInterval(this.holdPositiondtime); clearInterval(this.holdPositiondtime);
clearInterval(this.timer);
} }
}, },
list(e){ list(e){
@ -708,6 +741,7 @@ export default {
// //
sliderChange(n,i) { sliderChange(n,i) {
// console.log(n, i, this.form.direction); // console.log(n, i, this.form.direction);
if(!n)return
let num = n/100; let num = n/100;
this.sliderActive=i this.sliderActive=i
if (this.form.direction == "buy") { if (this.form.direction == "buy") {
@ -788,12 +822,14 @@ export default {
if(ti===3){ if(ti===3){
clearInterval(timer); clearInterval(timer);
} }
}, 1000) }, 2000)
} }
console.log('123'); // console.log('123');
this.dtime = setInterval(() => { this.dtime = setInterval(() => {
this.getCurrentEntrust(true) this.getCurrentEntrust(true)
}, 3000); }, 3000);
this.sliderChange(null,-1)
this.sliderActive = -1
// this.getCurrentEntrust() // this.getCurrentEntrust()
}) })
.catch(() => {}); .catch(() => {});
@ -813,24 +849,85 @@ export default {
this.newPrice = this.tradeList[0]||{}; this.newPrice = this.tradeList[0]||{};
}); });
}, },
tradingOpen(){
Market.getstocktradingOpen().then(res => {
this.tradingOpenshow = res.data
}).catch(err => {});
},
startSchedule() {
this.timer = setInterval(() => {
const now = new Date();
const minutes = now.getMinutes();
const seconds = now.getSeconds();
let remainingSeconds = 0;
// 1. 0000 3000
if (minutes % 30 === 0 && seconds === 0) {
remainingSeconds = 0;
console.log(`距离下次刷新还有 ${remainingSeconds} 秒,正在执行刷新...`);
//
this.tradingOpen();
}
// 2.
else {
if (minutes < 30) {
// 0~29 30
remainingSeconds = (30 - minutes) * 60 - seconds;
} else {
// 30~59 60 ()
remainingSeconds = (60 - minutes) * 60 - seconds;
}
//
// console.log(` ${remainingSeconds} `);
}
}, 1000);
},
// //
getDefaultPrice() { getDefaultPrice() {
if (this.form.direction == "buy") { // if (this.form.direction == "buy") {
this.form.entrust_price = Math.min( // this.form.entrust_price = Math.min(
...this.tradeList.map((item) => item.price) // ...this.tradeList.map((item) => item.price)
); // );
} else { // } else {
this.form.entrust_price = Math.max( // this.form.entrust_price = Math.max(
...this.buyList.map((item) => item.price) // ...this.buyList.map((item) => item.price)
); // );
} // }
if (this.form.direction == "buy") {
// tradeList
if (this.tradeList && this.tradeList.length > 0) {
this.form.entrust_price = Math.min(
...this.tradeList.map((item) => Number(item.price))
);
} else {
// 使0
this.form.entrust_price = this.newPrice.price || 0;
}
} else { //
// buyList
if (this.buyList && this.buyList.length > 0) {
this.form.entrust_price = Math.max(
...this.buyList.map((item) => Number(item.price))
);
} else {
// 使0
this.form.entrust_price = this.newPrice.price || 0;
}
}
}, },
// //
changeDirection(type){ changeDirection(type){
this.form.direction = type; this.form.direction = type;
this.getDefaultPrice(); this.getDefaultPrice();
let n = this.progress[this.sliderActive]; let n = this.progress[this.sliderActive];
// this.sliderChange(n, this.sliderActive); this.sliderChange(n, this.sliderActive);
}, },
// //
getValue(amount) { getValue(amount) {
@ -949,6 +1046,10 @@ export default {
this.getBooks(); this.getBooks();
this.getUserBalance(); this.getUserBalance();
this.socketMessage(); this.socketMessage();
this.tradingOpen()
this.startSchedule();
if (this.query.direction) { if (this.query.direction) {
this.form.direction = this.query.direction; this.form.direction = this.query.direction;
} }
@ -964,6 +1065,9 @@ export default {
// this.unLink(this.unSymbol); // this.unLink(this.unSymbol);
clearInterval(this.dtime); clearInterval(this.dtime);
clearInterval(this.holdPositiondtime); clearInterval(this.holdPositiondtime);
if (this.timer) {
clearInterval(this.timer);
}
}, },
}; };
</script> </script>

Loading…
Cancel
Save