From b4c4556a5eddf6708ec55b07e3edc15b2217842e Mon Sep 17 00:00:00 2001
From: lxf <1371462558@qq.com>
Date: Wed, 30 Apr 2025 18:35:59 +0800
Subject: [PATCH] 0430号修改

---
 src/page/list/tradingList/data.list.vue |  130 +++++++++++++++++++++++++++++++++++--------
 1 files changed, 106 insertions(+), 24 deletions(-)

diff --git a/src/page/list/tradingList/data.list.vue b/src/page/list/tradingList/data.list.vue
index e0e5f29..0be5afe 100644
--- a/src/page/list/tradingList/data.list.vue
+++ b/src/page/list/tradingList/data.list.vue
@@ -2,16 +2,16 @@
   <div class="list-data">
     <div class="header-box">
       <van-row type="flex" align="center" gutter="20">
-        <van-col span="8">
+        <van-col span="11">
           <div>
             {{ $t("hj313") }}
           </div>
         </van-col>
-        <van-col span="3">
+        <!-- <van-col span="3">
           <div style="text-align: right">
             {{ $t("市场") }}
           </div>
-        </van-col>
+        </van-col> -->
         <van-col :span="active == 'DZ' ? '12' : '7'">
           <div style="text-align: right">
             {{ $t("hj314") }}
@@ -21,6 +21,19 @@
           <div style="text-align: right">
             {{ $t("hj315") }}
           </div>
+        </van-col>
+        <van-col span="6" v-if="active == 'ST'">
+          <van-popover
+            theme="dark"
+            v-model="showPopover"
+            trigger="click"
+            :actions="actions"
+            @select="onSelect"
+          >
+            <template #reference>
+              <van-button type="primary">{{ $t("排序") }}</van-button>
+            </template>
+          </van-popover>
         </van-col>
       </van-row>
     </div>
@@ -45,8 +58,13 @@
           v-for="(item, index) in listArr"
           :key="item.indexCode"
         >
-          <van-row type="flex" align="center" gutter="20">
-            <van-col span="8">
+          <van-row
+            type="flex"
+            align="center"
+            justify="space-between"
+            gutter="20"
+          >
+            <van-col span="13" style="padding-right: 0 !important;">
               <div>
                 <div class="tp">
                   <div class="collection" @click="optionszx(item)">
@@ -58,13 +76,14 @@
                   <div
                     class="title_color"
                     style="
+                      font-size: 14px;
                       width: 100%;
                       overflow: hidden;
                       text-overflow: ellipsis;
                       white-space: nowrap;
                     "
                   >
-                    {{ item.st_name || item.stockName }}
+                    {{ item.st_name || item.name || item.stockName }}
                   </div>
                 </div>
                 <div class="bt">
@@ -73,17 +92,17 @@
               </div>
             </van-col>
 
-            <van-col span="3" v-if="active != 'HJ'">
+            <!-- <van-col span="3" v-if="active != 'HJ'">
               <div style="text-align: right">
                 {{ (item.gid || item.stockGid).toUpperCase() }}
               </div>
-            </van-col>
+            </van-col> -->
 
-            <van-col :span="active == 'DZ' ? '12' : '7'">
+            <van-col :span="active == 'DZ' ? '12' : '5'">
               <div style="text-align: right">
                 <div class="tp">
                   <span class="price_color">
-                    {{ item.nowPrice | _toLocaleString(false) }}
+                    {{ item.nowPrice }}
                   </span>
                 </div>
                 <div class="bt" v-if="active != 'DZ'">
@@ -91,27 +110,48 @@
                 </div>
               </div>
             </van-col>
-            <van-col span="6" v-if="!['DZ', 'HJ'].includes(active)">
+            <van-col span="6" v-if="!['DZ'].includes(active)">
               <div style="text-align: right">
                 <div
                   class="tp right_bs"
-                  :class="`${item.hcrateP.charAt(0) == '+' ? 'green' : 'red'}`"
+                  :class="`${item.hcrate > 0 ? 'green' : 'red'}`"
                 >
                   <span class="price_color">{{ item.hcrateP }}</span>
                 </div>
               </div>
             </van-col>
+            <van-col span="6" v-if="active == 'DZ'">
+              <div>
+                <div style="text-align: center">
+                  {{ $t("差价") }}{{ Math.abs(item.priceSpread) }}
+                </div>
+                <van-circle
+                  v-model="currentRate"
+                  :rate="Math.abs(item.priceSpreadPercentum)"
+                  :speed="100"
+                  :text="textCircle"
+                  layer-color="#ebedf0"
+                  color="#ee0a24"
+                />
+              </div>
+            </van-col>
           </van-row>
           <div class="box-a" v-if="active == 'DZ'">
             <div class="box_a_left">
-              {{ $t("kpsj") }}:{{
-                $moment(item.startTime).format("DD-MM-YYYY hh:mm:ss A")
-              }}
+              <div class="box_a_left-t">
+                {{ $t("gbsj") }}
+              </div>
+              <div class="box_a_left-b">
+                {{ $moment(item.endTime).format("DD-MM-YYYY") }}
+              </div>
             </div>
             <div class="box_a_right">
-              {{ $t("gbsj") }}:{{
+              <!-- {{ $t("gbsj") }}:{{
                 $moment(item.endTime).format("DD-MM-YYYY hh:mm:ss A")
-              }}
+              }} -->
+              <van-tag type="danger" size="large"
+                >{{ $t("申请竞拍") }}
+              </van-tag>
             </div>
           </div>
         </div>
@@ -177,19 +217,32 @@
   },
   data() {
     return {
+      showPopover: false,
       loadings: false,
       finished: false,
       listArr: [],
       pageNumVal: 1,
       getInterval: null,
       num: 1,
-      refreshing: false
+      orderBy: "",
+      refreshing: false,
+      actions: [
+        { text: this.$t("升序"), zh: "升序", val: "asc" },
+        { text: this.$t("降序"), zh: "降序", val: "desc" },
+        { text: this.$t("正常"), zh: "正常", val: "" }
+      ],
+      currentRate: 0
     };
   },
   beforeDestroy() {
     if (this.Trade) {
       this.Trade.close();
       console.log("WebSocket disconnected");
+    }
+  },
+  computed: {
+    textCircle() {
+      return `${this.currentRate.toFixed(0)}%` + this.$t("溢价率");
     }
   },
   mounted() {
@@ -202,6 +255,10 @@
     // }, 5000);
   },
   methods: {
+    onSelect(action) {
+      this.orderBy = action.val;
+      this.getStock(this.active, this.zxactive, 1);
+    },
     filterSH(val) {
       if (val === "sh") {
         return 1;
@@ -231,7 +288,6 @@
       var ifZhishu = "0";
       var ifUs =
         item.stock_type === "us" ? "1" : item.stock_type === "hk" ? "2" : "";
-      console.log("td_item:", item);
       this.$router.push({
         path: "/kline",
         query: {
@@ -266,7 +322,7 @@
         stockPlate: "",
         keyWords: this.sousuo,
         stockType: stockType,
-        orderBy: ""
+        orderBy: this.orderBy
       };
 
       // console.log();
@@ -282,17 +338,29 @@
 
           data.data.list = Object.entries(data.data).map(([name, nowPrice]) => {
             let nowPriceArr = Object.entries(nowPrice);
+            let nowPriceObj = {};
+            nowPriceArr.map(item => {
+              if (name === item[0]) {
+                nowPriceObj.st_name = item[0];
+                nowPriceObj.nowPrice = item[1];
+              }
+              nowPriceObj = {
+                ...nowPriceObj,
+                [item[0]]: item[1]
+              };
+            });
             return {
               name,
-              st_name: nowPriceArr[0][0],
-              nowPrice: nowPriceArr[0][1],
-              stock_type: "HJ"
+              stock_type: "HJ",
+              ...nowPriceObj
             };
           });
         } else {
           //大宗
           opt.stockType = "";
           data = await api.stockgetDzList(opt);
+          this.loadings = false;
+          this.finished = true;
         }
       } else {
         // 自选
@@ -315,7 +383,6 @@
               this.listArr = data.data.list;
               this.loadings = false;
               // this.finished = true;
-              console.log("listArr", this.listArr);
               if (this.listArr.length % 20) {
                 this.finished = true;
               }
@@ -390,6 +457,7 @@
 .box-a {
   display: flex;
   justify-content: space-between;
+  align-items: center;
   font-size: 14px;
   margin-top: 10px;
 }
@@ -459,4 +527,18 @@
   text-align: left;
   color: #14181f;
 }
+
+.box_a_left-t {
+  background: #ee0a24;
+  color: #fff;
+  padding: 0.1rem 0.3rem;
+  border-radius: 0.2rem 0.2rem 0 0;
+}
+.box_a_left-b {
+  background: #fff;
+  color: #ee0a24;
+  padding: 0.1rem 0.3rem;
+  border-radius: 0 0 0.2rem 0.2rem;
+  border: 1px #ee0a24 solid;
+}
 </style>

--
Gitblit v1.9.3