1
jhzh
2025-08-06 7bcd24ae1799be6a652fd58afd7f88665a6d0af7
src/page/user/Warehouse.vue
@@ -1,7 +1,7 @@
<template>
  <div class="ware">
    <div style="padding: 0 0.4rem 0.4rem">
      <div class="tabs-box" onscroll="handleScroll">
      <!-- <div class="tabs-box" onscroll="handleScroll">
        <div
          v-for="(item, index) in tabsArr"
          :key="index"
@@ -12,7 +12,7 @@
        >
          {{ item.title }}
        </div>
      </div>
      </div> -->
      <template v-if="active === '1'">
        <div v-for="(item, index) in tabsArr" :key="index">
@@ -20,10 +20,18 @@
        </div>
      </template>
      <template v-else>
        <itemCard :activeObj="activeObj" :itemClick="itemClick" />
        <itemCard
          @closingPosition="closingPosition"
          :activeObj="activeObj"
          :itemClick="itemClick"
        />
      </template>
      <div v-show="active !== '1'">
        <dataList ref="dataListref" :activeObj="activeObj" />
        <dataList
          ref="dataListref"
          :activeObj="activeObj"
          @closingPosition="closingPosition"
        />
      </div>
    </div>
  </div>
@@ -39,42 +47,45 @@
  components: { card, itemCard, dataList },
  data() {
    return {
      actives: "1",
      active: "1",
      actives: "2",
      active: "2",
      activeObj: {},
      tabsArr: [
        {
          title: this.$t("hometips"),
          name: "1",
          bgc: "rgb(8, 82, 196)",
          laber: "ALL",
          symbolCode: "USD",
          symbol: "$",
        },
        {
          title: this.$t("mggs"),
          name: "2",
          bgc: "rgb(12, 175, 226)",
          laber: "US",
          symbolCode: "USD",
          symbol: "$",
        },
        // {
        //   title: this.$t("hometips"),
        //   name: "1",
        //   bgc: "rgb(8, 82, 196)",
        //   laber: "ALL",
        //   symbolCode: "USD",
        //   symbol: "$",
        // },
        {
          title: this.$t("ydgs"),
          name: "3",
          bgc: "rgb(255, 91, 150)",
          laber: "IN",
          symbolCode: "USD",
          symbol: "$",
          assname: this.$t("日股总资产"),
          name: "2",
          bgc: "rgb(12, 175, 226)",
          laber: "JP",
          symbolCode: "JPY",
          symbol: "¥",
        },
        {
          title: this.$t("马来西亚"),
          name: "4",
          bgc: "rgb(163, 91, 255)",
          laber: "MAS",
          symbolCode: "MYR",
          symbol: "RM",
        },
        // {
        //   title: this.$t("马来西亚"),
        //   assname: this.$t("馬股总资产"),
        //   name: "4",
        //   bgc: "rgb(163, 91, 255)",
        //   laber: "MAS",
        //   symbolCode: "MYR",
        //   symbol: "RM",
        // },
        // {
        //   title: this.$t("港股"),
        //   assname: this.$t("港股总资产"),
        //   name: "5",
        //   bgc: "rgb(255 91 230)",
        //   laber: "HK",
        //   symbolCode: "HKD",
        //   symbol: "HK$",
        // },
      ],
      getMoneyList: [],
    };
@@ -82,9 +93,21 @@
  created() {
    this.getMoneys();
  },
  mounted() {
    if (this.$route.query.buyType) {
      let arr = this.tabsArr.filter(
        (item) => item.laber == this.$route.query.buyType
      )[0];
      this.onClick(arr);
    }
  },
  methods: {
    closingPosition() {
      this.getMoneys();
    },
    itemClick() {
      this.$refs.dataListref.getList(this.activeObj.laber);
      this.getMoneys();
    },
    async getMoneys() {
      const res = await getMoney();
@@ -98,6 +121,8 @@
            }
          });
        });
        let obj = arr.filter((item) => item.name == this.active)[0];
        this.activeObj = obj;
        this.tabsArr = arr;
        this.$forceUpdate(); // 强制Vue重新渲染
      }
@@ -109,8 +134,6 @@
      if (e.name !== "1") {
        this.$refs.dataListref.getList(e.laber);
      }
      // console.log(e);
    },
  },
};
@@ -121,7 +144,7 @@
  overflow: hidden;
  min-height: 100vh;
  // padding: 0 0.4rem 0.4rem;
  background-color: #fff;
  background-color: #F8FAF9;
  padding-bottom: 100px;
}
.tabs-box {
@@ -155,4 +178,4 @@
  // padding: 0.10667rem 0.34667rem;
  color: #fff;
}
</style>
</style>