dcc
2024-07-18 cd8f893536de2effea165aa7119bdc8d976eee28
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,20 @@
        </div>
      </template>
      <template v-else>
        <itemCard :activeObj="activeObj" />
        <itemCard
          @closingPosition="closingPosition"
          :activeObj="activeObj"
          :itemClick="itemClick"
        />
      </template>
      <div v-show="active !== '1'">
        <dataList
          ref="dataListref"
          :activeObj="activeObj"
          @closingPosition="closingPosition"
        />
      </div>
    </div>
    <dataList />
  </div>
</template>
@@ -31,42 +41,108 @@
import card from "./Warehouse/card.vue";
import itemCard from "./Warehouse/item.card.vue";
import dataList from "./Warehouse/data.list.vue";
import { getMoney } from "../../axios/api";
export default {
  components: { card, itemCard, dataList },
  data() {
    return {
      actives: "1",
      active: "1",
      actives: "2",
      active: "2",
      activeObj: {},
      tabsArr: [
        {
          title: "总资产",
          name: "1",
          bgc: "rgb(8, 82, 196)",
          laber: "USD",
        },
        // {
        //   title: this.$t("hometips"),
        //   name: "1",
        //   bgc: "rgb(8, 82, 196)",
        //   laber: "ALL",
        //   symbolCode: "USD",
        //   symbol: "$",
        // },
        {
          title: this.$t("mggs"),
          assname: this.$t("美股总资产"),
          name: "2",
          bgc: "rgb(12, 175, 226)",
          laber: "USD",
          laber: "US",
          symbolCode: "USD",
          symbol: "$",
        },
        {
          title: this.$t("ydgs"),
          name: "3",
          bgc: "rgb(255, 91, 150)",
          laber: "THB",
        },
        // {
        //   title: this.$t("ydgs"),
        //   assname: this.$t("印股总资产"),
        //   name: "2",
        //   bgc: "rgb(12, 175, 226)",
        //   laber: "IN",
        //   symbolCode: "INR",
        //   symbol: "₹",
        // },
        // {
        //   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: [],
    };
  },
  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();
      if (res.status === 0) {
        let arr = [];
        this.tabsArr.map((item) => {
          res.data.map((items) => {
            if (items.accectType === item.laber) {
              item = { ...item, ...items, laber: items.accectType };
              arr.push(item);
            }
          });
        });
        let obj = arr.filter((item) => item.name == this.active)[0];
        this.activeObj = obj;
        this.tabsArr = arr;
        this.$forceUpdate(); // 强制Vue重新渲染
      }
    },
    onClick(e) {
      console.log(e);
      this.active = e.name;
      this.activeObj = e;
      // console.log(e);
      this.getMoneys();
      if (e.name !== "1") {
        this.$refs.dataListref.getList(e.laber);
      }
    },
  },
};
@@ -78,6 +154,7 @@
  min-height: 100vh;
  // padding: 0 0.4rem 0.4rem;
  background-color: #fff;
  padding-bottom: 100px;
}
.tabs-box {
  display: flex;
@@ -110,4 +187,4 @@
  // padding: 0.10667rem 0.34667rem;
  color: #fff;
}
</style>
</style>