From 74bcf0374dad94d352b68f10e2e3d6e0ebc2c9dc Mon Sep 17 00:00:00 2001
From: zzzz <690498789@qq.com>
Date: Sun, 07 Apr 2024 12:32:13 +0800
Subject: [PATCH] 1
---
src/page/list/trading-list.vue | 686 +++++---------------------------------------------------
1 files changed, 65 insertions(+), 621 deletions(-)
diff --git a/src/page/list/trading-list.vue b/src/page/list/trading-list.vue
index 65e2561..4ad06c2 100644
--- a/src/page/list/trading-list.vue
+++ b/src/page/list/trading-list.vue
@@ -1,661 +1,105 @@
<template>
- <div class="tr_list_page">
- <div class="content">
- <div class="tabs">
- <div class="bottom_content" v-if="tabsIndex === 1">
- <!-- 搜索框 -->
- <div class="search">
- <div class="search_content">
- <div class="left_search">
- <div class="search_img">
- <img src="../../assets/img/searchs.png" alt />
- </div>
- <div class="search_input">
- <input type="text" class="searchs" placeholder="输入品种名称/代码搜索" />
- </div>
- </div>
- </div>
+ <div>
+ <!-- 搜索框 -->
+ <div class="search">
+ <div class="search_content">
+ <div class="left_search">
+ <div class="search_img">
+ <img src="../../assets/img/searchs.png" alt />
</div>
- <div class="tab_class">
- <div class="scroll_tab">
- <div
- class="tab_items"
- v-for="(item, index) in tabsClassArr"
- :key="index"
- @click="handleTabsItem(item, index)"
- >
- <span :class="tabsItemIndex === index ? 'active' : ''">{{ item.name }}</span>
- </div>
- </div>
- </div>
- <div class="kai_mess">
- <div class="left_identity_img">
- <img src="../../assets/img/shenfen2.png" alt />
- </div>
- <div class="text">
- <span>{{ '开户即可入金交易' }}</span>
- </div>
- <div class="right_go">
- <img src="../../assets/img/yuoujiantou.png" alt />
- </div>
- </div>
- <div class="list_title">
- <div class="item_title varieties">
- <span>{{ '品种' }}</span>
- </div>
- <div class="item_title latest_price">
- <span>{{ '最新价' }}</span>
- </div>
- <div class="item_title applies">
- <span>{{ '涨跌幅' }}</span>
- </div>
- </div>
- <div class="list">
- <div class="list_items">
- <div class="item" v-for="(item, index) in listArr" :key="index">
- <div class="left_title">
- <div class="tp">
- <span class="collection" @click="handleCollectionClick(item)">
- <span class="shu"></span>
- </span>
- <span class="title_color">{{ item.name }}</span>
- </div>
- <div class="bt">
- <span>{{ item.referred }}</span>
- </div>
- </div>
- <div class="center_price">
- <div class="tp">
- <span class="price_color">{{ item.price }}</span>
- </div>
- <div class="bt">
- <span>{{ item.time }}</span>
- </div>
- </div>
- <div class="right_bs">
- <div class="tp">
- <span class="price_color">{{ item.applies + '%' }}</span>
- </div>
- <div class="bt"></div>
- </div>
- </div>
- </div>
+ <div class="search_input">
+ <input
+ type="text"
+ class="searchs"
+ :placeholder="$t('hj37')"
+ ref="search"
+ id="sousuo"
+ v-model="gpcode"
+ @input="gpinput"
+ />
</div>
</div>
+ <div class="right_search" @click="sousuo">Search</div>
</div>
</div>
- <div class="shai" v-if="dialogFlag" @click="openDialog()"></div>
- <div class="top_title" @click="openDialog()" ref="topTitle">
- <div>
- <div class="tabs_title">
- <div
- class="tb"
- v-for="(item, index) in tabsArr"
- :key="index"
- @click="handleTabsClick(item, index)"
- >
- <span :class="index === tabsIndex ? 'active' : ''">{{ item }}</span>
- </div>
- </div>
- <div class="right_money">
- <div class="content_money" v-if="tabsIndex === 1">
- <div class="top_price">
- <div class="left">
- <span>{{ '余额' }}</span>
- </div>
- <div class="right">
- <span>{{ '¥ 49,656.79' }}</span>
- </div>
- <div class="sanjiao">
- <img src="../../assets/img/xiala.png" alt />
- </div>
- </div>
- <div class="bottom_balance">
- <div>
- <span>{{ '可用余额' }}</span>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
+ <tabsList ref="tabsList" />
</div>
</template>
<script>
+import tabsList from "./tradingList/tabs";
export default {
- name: "trading",
+ components: { tabsList },
data() {
return {
- tabsIndex: 1,
- tabsArr: ["自选", "市场"],
- tabClassActive: 1,
- dialogFlag: false,
- tabsClassArr: [
- {
- name: "热门",
- type: 1
- },
- {
- name: "外汇",
- type: 2
- },
- {
- name: "商品",
- type: 3
- },
- {
- name: "股票",
- type: 4
- },
- {
- name: "指数",
- type: 5
- },
- {
- name: "加密",
- type: 6
- }
- ],
- tabsItemIndex: 0,
- listArr: [
- {
- name: "香港50指数",
- referred: "HK50",
- price: 16445.5,
- time: "02:59:58",
- applies: 5.93,
- collection: true
- },
- {
- name: "香港50指数",
- referred: "HK50",
- price: 16445.5,
- time: "02:59:58",
- applies: 5.93,
- collection: true
- },
- {
- name: "香港50指数",
- referred: "HK50",
- price: 16445.5,
- time: "02:59:58",
- applies: 5.93,
- collection: true
- },
- {
- name: "香港50指数",
- referred: "HK50",
- price: 16445.5,
- time: "02:59:58",
- applies: 5.93,
- collection: true
- },
- {
- name: "香港50指数",
- referred: "HK50",
- price: 16445.5,
- time: "02:59:58",
- applies: 5.93,
- collection: false
- },
- {
- name: "香港50指数",
- referred: "HK50",
- price: 16445.5,
- time: "02:59:58",
- applies: 5.93,
- collection: false
- },
- {
- name: "香港50指数",
- referred: "HK50",
- price: 16445.5,
- time: "02:59:58",
- applies: 5.93,
- collection: true
- },
- {
- name: "香港50指数",
- referred: "HK50",
- price: 16445.5,
- time: "02:59:58",
- applies: 5.93,
- collection: false
- },
- {
- name: "香港50指数",
- referred: "HK50",
- price: 16445.5,
- time: "02:59:58",
- applies: 5.93,
- collection: false
- },
- {
- name: "香港50指数",
- referred: "HK50",
- price: 16445.5,
- time: "02:59:58",
- applies: 5.93,
- collection: false
- },
- {
- name: "香港50指数",
- referred: "HK50",
- price: 16445.5,
- time: "02:59:58",
- applies: 5.93,
- collection: false
- },
- {
- name: "香港50指数",
- referred: "HK50",
- price: 16445.5,
- time: "02:59:58",
- applies: 5.93,
- collection: false
- },
- {
- name: "香港50指数",
- referred: "HK50",
- price: 16445.5,
- time: "02:59:58",
- applies: 5.93,
- collection: false
- }
- ]
+ gpcode: "",
};
},
methods: {
- handleTabsClick(item, index) {
- this.tabsIndex = index;
+ sousuo() {
+ this.$refs.tabsList.sousuo = this.gpcode;
},
- handleTabsItem(item, index) {
- this.tabsItemIndex = index;
+ gpinput(e) {
+ this.gpcode = e.target.value;
},
- handleCollectionClick(item) {
- item.collection = !item.collection;
- },
- openDialog() {
- if (!this.dialogFlag) {
- this.$refs['topTitle'].style.height = '7rem'
- }else {
- this.$refs['topTitle'].style.height = '1.2821rem'
- }
- this.dialogFlag = !this.dialogFlag;
- }
- }
+ },
};
</script>
<style scoped lang="less">
-.tr_list_page {
- width: 100%;
- height: calc(100% - 1.3rem);
- background: #fff;
- > .content {
+.search {
+ height: 1rem;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin: 15px 22px;
+ position: relative;
+ z-index: 99;
+
+ .search_content {
+ width: 100%;
+ height: 90%;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ }
+
+ .left_search {
width: 100%;
height: 100%;
- }
-}
-.tabs {
- width: 100%;
- height: 100%;
- position: relative;
- .search {
- width: 100%;
- height: 1rem;
+ background: #fff;
+ border-radius: 0.5rem;
display: flex;
- align-items: center;
- justify-content: center;
- padding: 0 0.3rem;
- .search_content {
- width: 100%;
- height: 90%;
- display: flex;
- align-items: center;
- }
- .left_search {
- width: 100%;
- height: 100%;
- background: #f6f6f6;
- border-radius: 0.15rem;
- display: flex;
- .search_img {
- width: 1rem;
- height: 100%;
- display: flex;
- justify-content: center;
- align-items: center;
- img {
- width: 0.5rem;
- height: 0.5rem;
- }
- }
- .search_input {
- width: 100%;
- overflow: hidden;
- height: 100%;
- display: flex;
- }
- }
- .right_search_class {
- width: 13%;
+ .search_img {
+ width: 1rem;
height: 100%;
display: flex;
- justify-content: flex-end;
+ justify-content: center;
align-items: center;
img {
- width: 0.6rem;
- height: 0.6rem;
+ width: 0.5rem;
+ height: 0.5rem;
}
}
- }
-}
-.top_title {
- width: 100%;
- height: 1.2821rem;
- padding: 0 0.3rem;
- position: fixed;
- background: #fff;
- top: 0;
- z-index: 9999999;
- transition: all 1s;
- >div {
- width: 100%;
- height: 1.2821rem;
- display: flex;
- align-items: center;
- justify-content: space-between;
- }
- .tabs_title {
- width: 23%;
- height: 100%;
- display: flex;
- }
- .tb {
- width: 50%;
- height: 100%;
- display: flex;
- justify-content: center;
- align-items: center;
- font-size: 0.4103rem;
- }
- .active {
- font-size: 0.5003rem;
- font-weight: 800;
- }
-}
-.bottom_content {
- width: 100%;
- height: calc(100% - 1.2821rem);
- position: relative;
- top: 7%;
-}
-.scroll_tab {
- width: 100%;
- height: 1rem;
- overflow-x: scroll;
- -webkit-overflow-scrolling: touch;
- display: -webkit-box;
- white-space: nowrap;
- > div {
- display: inline-block;
- width: 15%;
- height: 100%;
- display: flex;
- font-size: 0.4rem;
- align-items: center;
- span {
- display: inline-block;
- min-width: 40%;
- height: 100%;
- text-align: center;
- line-height: 1.1538rem;
- }
- }
- span.active {
- color: rgb(2, 99, 226);
- border-bottom: 0.07rem solid rgb(2, 99, 226);
- font-weight: 800;
- transition: all 0.5s;
- }
-}
-.scroll_tab::-webkit-scrollbar {
- display: none;
-}
-.kai_mess {
- width: 100%;
- height: 1.2821rem;
- background: #f5f9fe;
- display: flex;
- justify-content: space-between;
- position: absolute;
- .left_identity_img {
- width: 0.9744rem;
- height: 100%;
- display: flex;
- justify-content: center;
- align-items: center;
- margin-left: 0.2rem;
- img {
- width: 0.6rem;
- height: 0.6rem;
- }
- }
- .text {
- width: 80%;
- height: 100%;
- display: flex;
- align-items: center;
- color: rgb(2, 99, 226);
- font-weight: 800;
- font-size: 0.35rem;
- padding-left: 0.35rem;
- }
- .right_go {
- width: 10%;
- display: flex;
- align-items: center;
- justify-content: center;
- img {
- width: 0.6rem;
- height: 0.6rem;
- }
- }
-}
-.list::-webkit-scrollbar {
- display: none;
-}
-.list {
- width: 100%;
- height: calc(100% - 1.2821rem - 1rem - 1.1538rem - 1.3333rem);
- overflow-x: auto;
- padding-bottom: 1.2821rem;
- padding: 0 0.3rem;
- .list_items {
- width: 100%;
- > div {
+ .search_input {
width: 100%;
- height: 1.0256rem;
+ overflow: hidden;
+ height: 100%;
display: flex;
- margin: 0.5rem 0;
- > div {
- > div {
- display: flex;
- align-items: center;
- }
- .tp {
- width: 100%;
- height: 70%;
- }
- .bt {
- width: 100%;
- height: 30%;
- }
- }
- }
- .left_title {
- width: 45%;
- height: 100%;
- }
- .center_price {
- width: 35%;
- height: 100%;
- }
- .right_bs {
- width: 20%;
- height: 100%;
}
}
-}
-.list_title {
- width: 100%;
- height: 1rem;
- margin-top: 1.29rem;
- padding: 0 0.3rem;
- color: #a1a2a4;
- display: flex;
- > div {
- display: flex;
- align-items: center;
- }
- .varieties {
- width: 45%;
- }
- .latest_price {
- width: 35%;
- }
- .applies {
- width: 20%;
- }
-}
-.price_color {
- color: rgb(39, 171, 99);
- font-size: 0.4rem;
- font-weight: 600;
-}
-.title_color {
- color: rgb(2, 2, 2);
- font-size: 0.4rem;
- font-weight: 600;
-}
-.tab_items {
- font-size: 0.2rem;
-}
-.tab_class {
- padding: 0 0.3rem;
-}
-.searchs::placeholder {
- color: #8e8f92;
-}
-.searchs {
- width: 100%;
-}
-.collection {
- display: inline-block;
- width: 0.1rem;
- height: 50%;
- display: flex;
- align-items: center;
- justify-content: center;
- margin-right: 0.1rem;
- .shu {
- width: 60%;
+
+ .right_search {
+ width: 140px;
+ line-height: 0.9rem;
+ text-align: center;
height: 100%;
- background: #919191;
+ border-radius: 0.5rem;
+ background-color: #0066ed;
+ color: #ffffff;
+ font-weight: bold;
+ margin-left: 20px;
}
-}
-.right_money {
- width: 44%;
- height: 100%;
- display: flex;
- align-items: center;
- justify-content: flex-end;
- .content_money {
- width: 80%;
- height: 80%;
- }
- .top_price {
- width: 100%;
- height: 70%;
- display: flex;
- align-items: center;
- justify-content: space-between;
- .left {
- width: 0.8rem;
- height: 0.4103rem;
- border-radius: 0.1rem;
- background: #4d73b1;
- color: #fff;
- font-size: 0.3077rem;
- display: flex;
- align-items: center;
- justify-content: center;
- margin-left: 0.3rem;
- span {
- display: inline-block;
- transform: scale(0.8);
- font-weight: 600;
- }
- }
- .right {
- width: calc(100% - 1.2rem);
- height: 100%;
- display: flex;
- align-items: center;
- justify-content: flex-end;
- span {
- font-weight: 600;
- }
- }
- }
- .bottom_balance {
- width: 100%;
- height: 30%;
- display: flex;
- justify-content: flex-end;
- font-size: 0.3077rem;
- color: #acaeaf;
- transform: scale(0.9);
- margin-left: 0.2rem;
- padding-right: 0.48rem;
- }
-}
-.sanjiao {
- width: 0.4rem;
- height: 0.4rem;
- display: flex;
- align-items: center;
- justify-content: center;
- img {
- width: 0.4rem;
- height: 0.4rem;
- }
-}
-.dialog {
- position: absolute;
- width: 100%;
- height: 100%;
- background: rgba(0, 0, 0, 0.4);
- top: 7%;
- z-index: 9;
- transition: all 0.5s;
-}
-.dialog.open {
- top: 7%;
-}
-.shai {
- position: absolute;
- width: 100%;
- height: 100%;
- background: rgba(0, 0, 0, 0.4);
- top: 0%;
- z-index: 10;
- transition: all 0.5s;
-}
-.shai.open {
- top: 4%;
}
</style>
\ No newline at end of file
--
Gitblit v1.9.3