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){
return Serve.get(`/stock/getCoinInfo`,data)
}
// 是否显示颜色
static getstocktradingOpen(data){
return Serve.get(`/stock/tradingOpen`,data)
}
}
export default Market;

9
layout/vButton.vue

@ -218,4 +218,13 @@ export default {
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>

6
pages/base/home.vue

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

192
pages/stockexchange/exchange-transaction.vue

@ -165,13 +165,21 @@
block
@click="storeEntrust"
ref="btn"
>{{
form.direction == "buy"
? this.$t("exchange.c3")
: this.$t("exchange.c4")
}}
v-if="tradingOpenshow==true">
{{form.direction == "buy" ? this.$t("exchange.c3") : this.$t("exchange.c4")}}
{{ 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 v-else>
<v-button
@ -330,41 +338,41 @@
<view class="p-x-md p-y-xs" style="line-height: 60rpx;">
<view class="row d-flex m-y-xs">
<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 class="d-flex w-50 justify-between">
<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 class="row d-flex m-y-xs">
<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 class="d-flex w-50 justify-between">
<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 class="row d-flex m-y-xs">
<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 class="d-flex w-50 justify-between">
<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 class="row d-flex m-y-xs">
<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 class="d-flex w-50 justify-between">
<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>
@ -461,7 +469,10 @@ export default {
refreshing:false,
active:0,
stockholdPositionlist:[],
holdPositiondtime: null
holdPositiondtime: null,
tradingOpenshow:false,
timer: null,
};
},
computed: {
@ -526,14 +537,27 @@ export default {
//
totalMoney() {
// todo
let totalMoney = 0;
if (this.form.type == 0) {
totalMoney = math.multiple(this.form.amount, this.form.entrust_price);
} else {
// totalMoney = this.form.amount;
totalMoney = math.multiple(this.form.amount, this.form.entrust_price);
}
return totalMoney;
// let totalMoney = 0;
// if (this.form.type == 0) {
// totalMoney = math.multiple(this.form.amount, this.form.entrust_price);
// } else {
// // totalMoney = this.form.amount;
// totalMoney = math.multiple(this.form.amount, this.form.entrust_price);
// }
// 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() {
@ -554,18 +578,22 @@ export default {
usable() {
if (this.form.direction == "buy") {
if (!this.targetBalance.usable_balance) return 0;
return this.omitTo(
// this.targetBalance.usable_balance,
// this.activeCoin.price_decimals
this.currentBalance.usable_balance,
this.activeCoin.qty_decimals
);
// return this.omitTo(
// // this.targetBalance.usable_balance,
// // this.activeCoin.price_decimals
// this.currentBalance.usable_balance,
// this.activeCoin.qty_decimals
// );
return this.currentBalance.usable_balance
} else {
// console.log(this.currentBalance);
if (!this.currentBalance.usable_balance) return 0;
return this.omitTo(
this.currentBalance.usable_balance,
this.activeCoin.qty_decimals
);
// return this.omitTo(
// this.currentBalance.usable_balance,
// // this.targetBalance.usable_balance,
// this.activeCoin.qty_decimals
// );
return this.currentBalance.usable_balance
}
},
usable1() {
@ -618,10 +646,13 @@ export default {
},3000)
this.getUserBalance();
this.linkSocket(this.activeCoin.symbol);
this.startSchedule();
} else if(!n&&this.isLogin){
this.unLink(this.activeCoin.symbol);
clearInterval(this.dtime);
clearInterval(this.holdPositiondtime);
clearInterval(this.timer);
}
},
@ -633,9 +664,11 @@ export default {
this.holdPositiondtime = setInterval(()=>{
this.stockholdPosition();
},3000)
this.startSchedule();
}else if(e!='stockexchange-operation'&&this.isLogin){
clearInterval(this.dtime);
clearInterval(this.holdPositiondtime);
clearInterval(this.timer);
}
},
list(e){
@ -708,6 +741,7 @@ export default {
//
sliderChange(n,i) {
// console.log(n, i, this.form.direction);
if(!n)return
let num = n/100;
this.sliderActive=i
if (this.form.direction == "buy") {
@ -788,12 +822,14 @@ export default {
if(ti===3){
clearInterval(timer);
}
}, 1000)
}, 2000)
}
console.log('123');
// console.log('123');
this.dtime = setInterval(() => {
this.getCurrentEntrust(true)
}, 3000);
this.sliderChange(null,-1)
this.sliderActive = -1
// this.getCurrentEntrust()
})
.catch(() => {});
@ -813,24 +849,85 @@ export default {
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() {
if (this.form.direction == "buy") {
this.form.entrust_price = Math.min(
...this.tradeList.map((item) => item.price)
);
} else {
this.form.entrust_price = Math.max(
...this.buyList.map((item) => item.price)
);
}
// if (this.form.direction == "buy") {
// this.form.entrust_price = Math.min(
// ...this.tradeList.map((item) => item.price)
// );
// } else {
// this.form.entrust_price = Math.max(
// ...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){
this.form.direction = type;
this.getDefaultPrice();
let n = this.progress[this.sliderActive];
// this.sliderChange(n, this.sliderActive);
this.sliderChange(n, this.sliderActive);
},
//
getValue(amount) {
@ -949,6 +1046,10 @@ export default {
this.getBooks();
this.getUserBalance();
this.socketMessage();
this.tradingOpen()
this.startSchedule();
if (this.query.direction) {
this.form.direction = this.query.direction;
}
@ -964,6 +1065,9 @@ export default {
// this.unLink(this.unSymbol);
clearInterval(this.dtime);
clearInterval(this.holdPositiondtime);
if (this.timer) {
clearInterval(this.timer);
}
},
};
</script>

Loading…
Cancel
Save