PC-20250623MANY\Administrator
2025-09-29 58b0f1e9bd03a472321acf1dfc4e89fc4ce9df7a
src/page/user/myOrder.vue
@@ -66,6 +66,9 @@
    </van-tabs>
    <div class="mo_list" v-if="active == '0'">
      <div class="mo_all_sell" @click="allsellclick()">
        <div>{{ $t("gball") }}</div>
      </div>
      <div class="mol_item" v-for="(i, index) in list" :key="i.id" @click="open(i, index)">
        <div class="moli_title flex-between">
          <div>
@@ -294,9 +297,11 @@
</template>
<script>
let teimss = null;
let teimss = null; // 轮询获取账户金额计时器
let teimss2 = null; // 轮询获取持仓数据计时器
import tabHead from "@/components/tabHead.vue";
import * as api from "@/axios/api";
import { Notify } from "vant";
export default {
  components: {
    tabHead
@@ -319,6 +324,13 @@
      handler(state) {
        this.pageNum = 1;
        this.getList(state);
        clearInterval(teimss2);
        // 判断如果是获取平仓数据就不再轮询
        if(state == '1') return
        teimss2 = setInterval(() => {
          this.getList(state);
        }, 3000);
      },
      immediate: true
    }
@@ -334,10 +346,11 @@
    this.getMoney();
    teimss = setInterval(() => {
      this.getMoney();
    }, 10000);
    }, 3000);
  },
  beforeDestroy() {
    clearInterval(teimss);
    clearInterval(teimss2);
  },
  methods: {
    // 获取 持仓 数据
@@ -347,11 +360,21 @@
        pageNum: this.pageNum,
        pageSize: this.pageSize
      };
      let data = await api.getchicang(opt);
      if (data.status === 0) {
        if (this.active == "0") this.list = data.data.list;
        else this.list2 = data.data.list;
      }
    },
    // 一键平仓
    async allsellclick(){
      let data = await api.allsell();
      if (data.status === 0) {
        Notify({ type: "success", message: data.msg });
        this.getList(state);
      } else {
        Notify({ type: "danger", message: data.msg });
      }
    },
    open(i, index) {
@@ -396,6 +419,16 @@
</script>
<style lang="less" scoped>
.mo_all_sell{
  padding: 20px 10px;
  background: linear-gradient(90deg, #585fb4, #48529e);
  border-radius: 25px;
  text-align: center;
  margin: 15px ;
  display: flex;
  justify-content: center;
  align-items: center;
}
/deep/ .van-tabs__nav {
  background: none;