jwyu 2 жил өмнө
parent
commit
c6d9b7b559

+ 2 - 1
src/router/index.js

@@ -487,7 +487,8 @@ const routes=[
         meta: {
           title: "持仓详情",
           keepAlive:false,
-          isRoot:false
+          isRoot:false,
+          hasBack:true
         }
       },
     ]

+ 46 - 24
src/views/positionAnalysis/components/IndexContent.vue

@@ -1,4 +1,6 @@
 <script setup>
+import moment from 'moment'
+import {computed,ref} from 'vue'
 import { useRouter } from "vue-router"
 
 
@@ -11,13 +13,42 @@ const props=defineProps({
     list:null
 })
 
-function goDetail(_item,item){
-    // const queryObj={
-    //     classify_name:item.classify_name,
-    //     classify_type:_item.classify_type,
-    //     exchange:props.exchange
-    // }
+const isHistory=ref(false)//是否显示历史合约
+
+const clist=computed(()=>{
+    if(isHistory.value){
+        console.log('看历史');
+        return props.list
+    }
 
+    const now=moment().format('YYMM')//当前时间
+    const arr=props.list?JSON.parse(JSON.stringify(props.list)):[]
+    let resArr=[]
+    if(props.exchange!='郑商所'){
+        resArr=arr.map(item=>{
+            item.items=item.items.filter(_item=>{
+                const t=_item.classify_type.substr(-4)
+                return Number(t)>=now
+            })
+            return item
+        })
+    }else{
+        resArr=arr.map(item=>{
+            item.items=item.items.filter(_item=>{
+                // 如果合约编号没有含日期 肯定是少于4位的 因为至少为一个字母加三位数的日期
+                if(_item.classify_type.length<4) return true
+                const t=2+_item.classify_type.substr(-3)
+                return Number(t)>=now
+            })
+            return item
+        })
+    }
+
+    return resArr
+})
+
+
+function goDetail(_item,item){
     router.push({
         path:"/positionanalysis/detail",
         query:{
@@ -25,23 +56,7 @@ function goDetail(_item,item){
             classify_type:_item.classify_type,
             exchange:props.exchange
         }
-    })
-
-    // let queryObjStr=''
-    //         for (const key in queryObj) {
-    //             if(!queryObjStr){
-    //                     queryObjStr=`${key}=${queryObj[key]}`
-    //             }else{
-    //                 queryObjStr=`${queryObjStr}&${key}=${queryObj[key]}`
-    //             }
-    //         }
-            // uni.navigateTo({
-            //     url: `/pages/positionAnalysis/detail?${queryObjStr}`,
-            //     success: (result) => {},
-            //     fail: () => {},
-            //     complete: () => {}
-            // });
-              
+    })      
 }
 
 </script>
@@ -52,8 +67,15 @@ function goDetail(_item,item){
             <span style="margin-right:20px">{{num}}品种</span>
             <span>{{time}}</span>
         </div>
+        <div style="margin:30px 0">
+            <el-switch
+                v-model="isHistory"
+                size="large"
+                active-text="历史合约"
+            />
+        </div>
         <div class="list-wrap">
-            <div class="flex item" v-for="item in list" :key="item.classify_name">
+            <div class="flex item" v-for="item in clist" :key="item.classify_name">
                 <div class="label">{{item.classify_name}}</div>
                 <div style="flex:1">
                     <div