Просмотр исходного кода

:cry:feat: 倒计时,无法退回toto

Ritchie 1 год назад
Родитель
Сommit
16e6920086

BIN
src/assets/trading/trade.png


+ 15 - 1
src/router/index.js

@@ -77,7 +77,7 @@ const router = createRouter({
       component: () => import("@/views/buyOrSell/BuyConfList.vue"),
       meta: { index: 1 },
     },
-    // 买家付款图片
+    // 买家付款
     {
       path: "/buyConf",
       name: "buyConf",
@@ -147,6 +147,20 @@ const router = createRouter({
       component: () => import("@/views/msgNotice/OrderMatchNotice.vue"),
       meta: { index: 1 },
     },
+    // 挂单匹配列表页
+    {
+      path: "/pendingOrderList",
+      name: "pendingOrderList",
+      component: () => import("@views/taskMessage/pendingOrderList.vue"),
+      meta: { index: 1 }
+    },
+    // 挂单匹配页
+    {
+      path: "/pendingOrder",
+      name: "pendingOrder",
+      component: () => import("@views/taskMessage/pendingOrder.vue"),
+      meta: { index: 1 }
+    },
     // 成交通知
     {
       path: "/closingNotice",

+ 6 - 0
src/service/buyOrSell/index.js

@@ -0,0 +1,6 @@
+import axios from '@/utils/axios';
+
+// 获取买入确定列表
+export function getUnconfirmedTradeOrderList() {
+    return axios.get(`/myCenter/unconfirmedTradeOrder/buy`);
+}

+ 2 - 2
src/views/buyOrSell/BuyConf.vue

@@ -8,9 +8,9 @@ const value = ref([
 
 <template>
     <div class="buyConf">
-        <s-header :name="'交易确认'" :noback="false"></s-header>
+        <s-header :name="'交易买入确认'" :noback="false"></s-header>
         
-        <!-- 买家操作 -->
+        <!-- 买家操作,付款 -->
         <van-form @submit="onSubmit">
             <van-cell-group inset>
                 <van-field name="uploader" label="买家上传付款截图">

+ 26 - 14
src/views/buyOrSell/BuyConfList.vue

@@ -1,5 +1,6 @@
 <template>
-    <div class="buyConfList">
+    <!-- 买家确认列表 -->
+    <div class="buyConfList flex-col">
         <s-header name="买家确认列表" :noback="false"></s-header>
 
         <div class="headCon l-flex-between o-plr-20 o-pt-26 o-pb-12 kBordBott">
@@ -71,8 +72,8 @@ import sHeader from "@/components/SimpleHeader";
 import { ref, onMounted, toRefs, reactive } from "vue";
 import { styleUrl } from "../../common/js/utils";
 import { useRouter } from "vue-router";
-import { getPageUserApply } from "@/service/taskAccount";
 import { Format_time } from "@/common/js/utils";
+import { getUnconfirmedTradeOrderList } from "@/service/buyOrSell"
 
 export default {
     components: { sHeader },
@@ -81,7 +82,8 @@ export default {
         onMounted(() => {
             // 加载样式
             styleUrl('taskAccount');
-            onRefresh();
+            // onRefresh();
+            getList();
         });
 
         // 多少条规则
@@ -108,8 +110,7 @@ export default {
             pageNo.value = 1;
             pageSize.value = 10;
             getList();
-
-
+            console.log("getList >>>");
         };
 
         // 上拉加载
@@ -120,11 +121,22 @@ export default {
         // 下拉刷新
         const refreshing = ref(false);
         const getList = () => {
-            let param = {
-                current: pageNo.value,
-                size: pageSize.value,
-            };
-            getPageUserApply(param).then((res) => {
+            // let param = {
+            //     current: pageNo.value,
+            //     size: pageSize.value,
+            // };
+
+            // 获取买入确定列表 /myCenter/unconfirmedTradeOrder/buy
+            // const getListFunc = await getUnconfirmedTradeOrderList();
+            const { data } = getUnconfirmedTradeOrderList();
+            if ( data.code === '00000') {
+                console.log("data.code >>>", data.data);
+                console.log("data.data.records >>>", ruleData.tableData.value);
+                ruleData.tableData.value = data.data.records;
+            }
+            
+
+            getUnconfirmedTradeOrderList().then((res) => {
                 const { data } = res.data;
                 refreshing.value = false;
                 ruleData.tableData.push(...data.records);
@@ -151,10 +163,10 @@ export default {
         const router = useRouter();
 
         const setupAccountObj = ref({});
-        // 点击卡片,跳转对应的审核
-        const toTaskAccount = (item) => {
+        // 点击卡片,跳转确认买入
+        const toBuyConf = (item) => {
             setupAccountObj.value = item;
-            router.push("/taskAccount");
+            router.push("/buyConf");
         }
 
         return {
@@ -168,7 +180,7 @@ export default {
             refreshing,
             // getTargetAreasText,
             Format_time,
-            toTaskAccount
+            toBuyConf
         };
     }
 };

+ 0 - 0
src/views/taskMessage/PendingOrder.vue


+ 0 - 0
src/views/taskMessage/PendingOrderList.vue


+ 41 - 12
src/views/trading/TradingIndex.vue

@@ -3,7 +3,7 @@
   <div class="tradingPage flex-col">
     <div class="listBox">
       <s-header :name="sys ? sys.title : $t('trading.tradingCenter')" :noback="true" :isFixed="false"></s-header>
-
+      <van-notice-bar scrollable text="每周日15:00停盘,周一00:00开始新的一轮。" left-icon="info-o" />
       <!-- 挂单交易 -->
       <div class="tradingBox1 flex-col">
         <div class="searchRow flex-row justify-between">
@@ -18,14 +18,17 @@
 
       <!-- 交易时间 倒计时 -->
       <div class="countDown" style="text-align: center; display: flex; align-items: center; justify-content: center;">
-        <span>距离今日停盘还有:</span>
+        <span>距离每周停盘还有:</span>
         <van-count-down :time="countDownTime">
           <template #default="timeData">
+            <span class="block">{{ timeData.days }}</span>
+            <span class="colon">日</span>
             <span class="block">{{ timeData.hours }}</span>
-            <span class="colon">:</span>
+            <span class="colon"></span>
             <span class="block">{{ timeData.minutes }}</span>
-            <span class="colon">:</span>
+            <span class="colon"></span>
             <span class="block">{{ timeData.seconds }}</span>
+            <span class="colon">秒</span>
           </template>
         </van-count-down>
       </div>
@@ -83,7 +86,7 @@
       </div>
       <!-- 买家挂单详情 -->
 
-      <div class="buy-box" >
+      <div class="buy-box">
         <van-row justify="center" class="bold-row" style="font-weight: bold; color: #CD5C5C;">
           <van-col span="8">用户名</van-col>
           <van-col span="8">交易数量</van-col>
@@ -137,7 +140,7 @@ import { onMounted, reactive, toRefs, ref } from "vue";
 import sHeader from "@/components/SimpleHeader";
 import { getLoginUser, Format_calcuDecial, styleUrl } from "@/common/js/utils";
 import {
- 
+
 } from "../../service/trading/index";
 import { useRouter } from "vue-router";
 
@@ -157,7 +160,33 @@ export default {
     const user = getLoginUser();
     const labelList = ref([]);
 
-    const countDownTime = ref(0);
+    // const countDownTime = ref(0);
+
+    const countDownTime = ref(calculateCountDownTime());
+
+    function calculateCountDownTime() {
+      const now = new Date();
+      const day = now.getDay();
+      const hours = now.getHours();
+      const minutes = now.getMinutes();
+      const seconds = now.getSeconds();
+
+      let remainingTime = 0;
+
+      // Sunday 3 PM to Monday 12 AM (0 AM)
+      if (day === 0 && hours >= 15) {
+        remainingTime = (8 - hours) * 3600 - minutes * 60 - seconds;
+      } else {
+        remainingTime = (7 - day) * 24 * 3600 + (15 - hours) * 3600 - minutes * 60 - seconds;
+      }
+
+      return remainingTime * 1000; // Convert to milliseconds
+    }
+
+    setInterval(() => {
+      countDownTime.value = calculateCountDownTime();
+    }, 1000);
+
 
     const buyerList = ref([]);
     buyerList.value = [
@@ -178,8 +207,8 @@ export default {
     const pushPageList = (url) => {
       router.push(url);
     }
-    
-    
+
+
     // 页面列表查询参数
     let searchParams = reactive({
       current: 1, // 当前页,默认第一页,1
@@ -191,7 +220,7 @@ export default {
       init();
       // 加载样式
       styleUrl('trading');
-     
+
     });
     // 初始化
     const init = () => {
@@ -212,8 +241,8 @@ export default {
         searchParams.current = searchParams.current + 1;
       }
     };
-    
-   
+
+
     return {
       ...toRefs(searchParams),
       list,

+ 0 - 1
src/views/user/UserIndex.vue

@@ -187,7 +187,6 @@ import { updateAdmin } from "@/service/merchantManage";
 import kDialog from "@/components/commom/kDialog/index.vue";
 import { onMounted, reactive, ref, computed } from "vue";
 import sHeader from "@/components/SimpleHeader";
-// import navBar from "@/components/NavBar";
 import {
   getLoginUser,
   $M_EmailAvailable,