From f8b256ef152e54c19adb85856f62432d59c16b6e Mon Sep 17 00:00:00 2001
From: DESKTOP-CVS3R96\我恁爹 <11>
Date: Mon, 14 Nov 2022 19:00:29 +0800
Subject: [PATCH] wener~
---
src/page/user/Warehouse.vue | 224 +++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 198 insertions(+), 26 deletions(-)
diff --git a/src/page/user/Warehouse.vue b/src/page/user/Warehouse.vue
index 504f0ee..f478e59 100644
--- a/src/page/user/Warehouse.vue
+++ b/src/page/user/Warehouse.vue
@@ -31,7 +31,7 @@
</div>
<div class="overflow_box item" @click="SetTitleIndex(2)">
<div class="left_titles">
- <span>{{ '期货账户' }}</span>
+ <span>{{ '新股账户' }}</span>
</div>
<div class="right_price">
<span>{{ '' }}</span>
@@ -113,7 +113,7 @@
$store.state.userInfo.allFreezAmt ? $store.state.userInfo.allFreezAmt : '0.00'
}}</span>
<span class="numDemo" v-show="titleIndex == 2">{{ '¥ ' +
- $store.state.userInfo.allFuturesFreezAmt ? $store.state.userInfo.allFuturesFreezAmt : '0.00'
+ $store.state.userInfo.djzj ? $store.state.userInfo.djzj : '0.00'
}}</span>
</div>
<div class="right_titles">
@@ -131,7 +131,8 @@
<span class="numDemo"
:class="$store.state.userInfo.allFuturesProfitAndLose > 0 ? 'red' : $store.state.userInfo.allFuturesProfitAndLose < 0 ? ' green' : ''"
v-show="titleIndex == 2">{{
- '¥' + $store.state.userInfo.allFuturesProfitAndLose ? Number($store.state.userInfo.allFuturesProfitAndLose).toFixed(2) : '0.00'
+ '¥' + $store.state.userInfo.allFuturesProfitAndLose ?
+ Number($store.state.userInfo.allFuturesProfitAndLose).toFixed(2) : '0.00'
}}</span>
</div>
@@ -143,8 +144,9 @@
<div class="tabs_top_title">
<div class="title_items" v-for="(item, index) in tabsArr" :key="index"
@click="handleTabsClick(item, index)" :class="index == 0 ? 'kuan' : 'kuan'">
- <span :class="tabsCurrentIndex === index ? 'active' : ''">{{ item }}{{ index == 0 ? '(' + total + ')' : index == 1 ? '(' + totalss + ')' :
- '(' + totals + ')'
+ <span :class="tabsCurrentIndex === index ? 'active' : ''">{{ item }}{{ index == 0 ? '(' + total + ')' :
+ index == 1 ? '(' + totalss + ')' :
+ index == 2 ? '(' + totals + ')' : '(' + xgTotal + ')'
}}</span>
</div>
</div>
@@ -194,7 +196,7 @@
<div class="waiting_box">
<div class="img_cont">
<img src="../../assets/img/zhaobudao.png" alt />
- <span class="gd">{{ '当前无挂单' }}</span>
+ <span class="gd">{{ '当前无持仓' }}</span>
<div class="trading" @click="$router.push('/trading-list')">
<span>{{ '开始交易' }}</span>
</div>
@@ -204,7 +206,7 @@
-
+ <!-- 挂单 -->
<div class="waiting" v-if="totalss == 0 && tabsCurrentIndex === 1">
<div class="waiting_box">
<div class="img_cont">
@@ -225,11 +227,11 @@
<span class="buy_to_sell" :class="item.buyType == 1 ? 'maichu' : 'mairu'">{{
item.buyType == 1 ? '卖出' : '买入'
}}</span>
- <span class="multiple">{{ item.lever }}X</span>
+ <span class="multiple">{{ item.lever }}X</span>
<span class="nums">{{ item.buyNum / 100 + '手' }}</span>
</div>
<div class="center_price">
-
+
<div class="start_price jiantou">
<span>{{ item.targetPrice }}</span>
</div>
@@ -238,7 +240,7 @@
</div>
</div>
<div class="bottom_price_title">
-
+
<div class="start_price">
<span>{{ '挂单价格' }}</span>
</div>
@@ -246,7 +248,7 @@
<span>{{ '当前价格' }}</span>
</div>
</div>
- <div class="right_btn">
+ <div class="right_btn" @click="gdClose(item)">
<span>{{ '撤销' }}</span>
</div>
</div>
@@ -256,12 +258,12 @@
-
+ <!-- 平仓 -->
<div class="waiting" v-if="totals == 0 && tabsCurrentIndex === 2">
<div class="waiting_box">
<div class="img_cont">
<img src="../../assets/img/zhaobudao.png" alt />
- <span class="gd">{{ '当前无挂单' }}</span>
+ <span class="gd">{{ '当前无平仓' }}</span>
<div class="trading" @click="$router.push('/trading-list')">
<span>{{ '开始交易' }}</span>
</div>
@@ -291,6 +293,61 @@
</div>
</div>
</van-list>
+ <!-- 新股 -->
+ <div class="waiting" v-if="xgTotal == 0 && tabsCurrentIndex === 3">
+ <div class="waiting_box">
+ <div class="img_cont">
+ <img src="../../assets/img/zhaobudao.png" alt />
+ <span class="gd">{{ '当前无申购' }}</span>
+ <div class="trading" @click="$router.push({ path: '/trading-list', query: { listid: 3 } })">
+ <span>{{ '开始交易' }}</span>
+ </div>
+ </div>
+ </div>
+ </div>
+ <van-list v-model="loadingXg" :finished="finishedXg" finished-text="没有更多了"
+ v-show="tabsCurrentIndex === 3 && xgTotal != 0" @load="onLoadXg" :immediate-check="immediate">
+ <div class="tabs_o">
+ <div class="tabs_o_items" v-for="(item, index) in tabsXgArr" :key="item.id">
+ <div class="tabs_o_title">
+ <span class="title">{{ item.newName }}</span>
+ <span class="buy_to_sell" :class="item.type == 1 ? 'mairu' : 'maichu'">{{
+ item.type == 1 ? '新股申购' : '线下配售'
+ }}</span>
+ <!-- <span class="multiple">{{ item.lever }}X</span>
+ <span class="nums">{{ item.buyNum / 100 + '手' }}</span> -->
+ </div>
+ <div class="center_price">
+
+ <div class="start_price jiantou">
+ <span>{{ item.buyPrice }}</span>
+ </div>
+ <div class="new_price">
+ <span>{{ item.applyNums }}</span>
+ </div>
+ </div>
+ <div class="bottom_price_title">
+
+ <div class="start_price">
+ <span>{{ '申购价格' }}</span>
+ </div>
+ <div class="new_price">
+ <span>{{ '申购数量' }}</span>
+ </div>
+ </div>
+ <div class="right_btn" @click="zcsg(item)" :class="item.status == 1 ? 'pink' : item.status == 2 ? 'red'
+ : item.status == 3 ? 'greeen' : item.status == 4 ? 'blue' : item.status == 5 ? 'purple' : ''">
+ <span>{{ item.status == 1 ?
+ '已认购' : item.status == 2 ? '未中签'
+ : item.status == 3 ? '已中签' : item.status == 4 ? '已缴纳' : item.status == 5 ? '已转持仓'
+ : ''
+ }}</span>
+ </div>
+ </div>
+ </div>
+ </van-list>
+
+
</div>
</div>
@@ -302,11 +359,12 @@
</template>
<script>
+import { Toast } from 'vant';
import * as api from "@/axios/api";
export default {
data() {
return {
- tabsArr: ["持仓", "挂单", "已平仓"],
+ tabsArr: ["持仓", "挂单", "已平仓", "新股"],
tabsCurrentIndex: 0,
titleName: "沪深京账户",
indexSettingInfo: {},
@@ -318,7 +376,7 @@
titleDialog: false,
total: 0,
totals: 0,
- totalss:0,
+ totalss: 0,
loading: false,
finished: false,
finisheds: false,
@@ -328,8 +386,12 @@
pagess: 1,
immediate: false,
loadings: false,
- loadingss:false,
- tabsOrderList:[]
+ loadingss: false,
+ tabsOrderList: [],
+ xgTotal: 0,
+ tabsXgArr: [],
+ loadingXg: false,
+ finishedXg: false,
};
},
mounted() {
@@ -340,6 +402,14 @@
this.getFuturesSetting();
this.getListDetails();
this.getorderList();
+ this.getNewXg();
+ },
+ created() {
+ if (this.$route.query.index) {
+ this.tabsCurrentIndex = Number(this.$route.query.index)
+ }
+
+
},
methods: {
onLoad() {
@@ -372,6 +442,51 @@
break;
}
},
+ onLoadXg() {
+ this.getNewXg();
+ },
+ async gdClose(item) {
+ let opts = {
+ id: item.id
+ }
+ let data = await api.delGuaDan(opts)
+ if (data.status == 1) {
+ Toast('撤单成功')
+ this.page = 1;
+ this.pages = 1;
+ this.finished = false;
+ this.finisheds = false;
+ this.tabsPositionNumArr = [];
+ this.tabsPcArr = [];
+ switch (this.titleIndex) {
+ case 0:
+ this.titleName = "沪深京账户";
+ this.getListDetail();
+ this.getListDetails();
+ this.getorderList();
+ break;
+ case 1:
+ this.titleName = "指数账户";
+ this.getzhishuListDetail();
+ this.getzhishuListDetails();
+ this.getorderList();
+ break;
+ case 2:
+ this.titleName = "新股账户";
+ this.getQhListDetail();
+ this.getQhListDetails();
+ this.getorderList();
+ break;
+ default:
+ break;
+ }
+ } else {
+ Toast(data.msg)
+ }
+ },
+ zcsg(item) {
+ this.$router.push({ path: '/trading-list', query: { listid: 3 } })
+ },
SetTitleIndex(index) {
//账户选项卡
this.titleIndex = index;
@@ -395,7 +510,7 @@
this.getorderList();
break;
case 2:
- this.titleName = "期货账户";
+ this.titleName = "新股账户";
this.getQhListDetail();
this.getQhListDetails();
this.getorderList();
@@ -404,17 +519,28 @@
break;
}
this.titleDialog = false;
+ if (navigator.vibrate) {
+ // 支持
+ navigator.vibrate([55]);
+ }
},
handleTabsClick(item, index) {
//持仓已平仓选项卡
this.tabsCurrentIndex = index;
+ if (index == 3) {
+ this.getNewXg();
+ }
+ if (navigator.vibrate) {
+ // 支持
+ navigator.vibrate([55]);
+ }
},
handleOpenDialog() {
this.titleDialog = !this.titleDialog;
},
//挂单
- async getorderList(){
- let opts={}
+ async getorderList() {
+ let opts = {}
let data = await api.getorderList(opts);
this.loadingss = false;
if (data.status === 0) {
@@ -614,6 +740,26 @@
Toast(data.msg)
}
},
+ async getNewXg() {
+ //获取新股
+ this.loadingXg = true;
+ let opt = {
+ }
+ let data = await api.getUserNewGuList(opt)
+ this.loadingXg = false;
+ if (data.data.length < 15) {
+ this.finishedXg = true;
+ }
+ if (data.status === 0) {
+ this.tabsXgArr = data.data
+ // data.data.list.forEach(element => {
+ // this.tabsXgArr.push(element)
+ // })
+ this.xgTotal = data.data.length
+ } else {
+ Toast(data.msg)
+ }
+ },
},
filters: {
gettime(time) {
@@ -650,6 +796,31 @@
</script>
<style scoped lang="less">
+.pink{
+ color: #eb2f96;
+ background: #fff0f6;
+ border-color: #ffadd2;
+}
+.red{
+ color: #f5222d;
+ background: #fff1f0;
+ border-color: #ffa39e;
+}
+.blue{
+ color: #1890ff;
+ background: #e6f7ff;
+ border-color: #91d5ff;
+}
+.green{
+ color: #52c41a;
+ background: #f6ffed;
+ border-color: #b7eb8f;
+}
+.purple{
+ color: #722ed1;
+ background: #f9f0ff;
+ border-color: #d3adf7;
+}
@boxCenter: {
display: flex;
justify-content: center;
@@ -885,7 +1056,8 @@
display: flex;
align-items: center;
font-size: 0.4103rem;
- padding-top: 0.2rem;
+ padding: 0.2rem 0.3rem 0;
+ justify-content: space-between;
>div {
width: 20%;
@@ -1065,13 +1237,13 @@
}
.right_btn {
- width: 1.7949rem;
- height: 0.6667rem;
+ width: 1.9949rem;
+ height: 0.7667rem;
position: absolute;
right: 1%;
top: 48%;
- background: #f7f7f7;
- color: #3773dd;
+ // background: #f7f7f7;
+ // color: #3773dd;
display: flex;
align-items: center;
justify-content: center;
@@ -1155,7 +1327,7 @@
.kuan {
width: auto !important;
- padding-left: 0.5rem;
+ // padding-left: 0.5rem;
letter-spacing: 0.02rem;
}
--
Gitblit v1.9.3