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