1
zzzz
2024-03-23 b35e9e4aebcec3b36ccc7cab4639ff2ad74aea97
src/page/user/Warehouse.vue
@@ -1,1914 +1,113 @@
<template>
   <div class="warehouse_page">
      <div class="content">
         <!-- <div class="search">
        <div class="search_content">
          <div class="left_search">
            <div class="search_img">
              <img src="../../assets/img/searchs.png" alt />
            </div>
            <div class="search_input">
              <input type="text" class="searchs" :placeholder="$t('hj37')" ref="search" id="sousuo" v-model="gpcode"
                @input="gpinput" />
            </div>
          </div>
        </div>
      </div> -->
         <div style="width: 100%;height: 10px;"></div>
         <div class="top_class">
            <div class="top_class_box">
               <div :class="typeindex==0?'top_class_box_left':'top_class_box_right'" @click="typeclick(0)">
                  {{$t('ydgs')}}
               </div>
               <div :class="typeindex==1?'top_class_box_left':'top_class_box_right'" @click="typeclick(1)">
                  {{$t('mggs')}}
               </div>
            </div>
         </div>
         <!-- <div class="top_title" :class="titleDialog ? 'active' : ''" ref="topTitle">
        <div class="titles">
          <div class="left_title" @click="handleOpenDialog()">
            <div class="title">
              <span>{{ titleName }}</span>
            </div>
            <div class="img">
              <img src="../../assets/img/xiala.png" alt />
            </div>
          </div>
          <div class="right_box"></div>
  <div class="ware">
    <div style="padding: 0 0.4rem 0.4rem">
      <div class="tabs-box" onscroll="handleScroll">
        <div
          v-for="(item, index) in tabsArr"
          :key="index"
          :class="
            item.name == active ? 'tabs-item-active tabs-item' : 'tabs-item'
          "
          @click="onClick(item)"
        >
          {{ item.title }}
        </div>
        <div class="overflow_box item" @click="SetTitleIndex(0)">
          <div class="left_titles">
            <span>{{ $t('hj114') }}</span>
          </div>
          <div class="right_price">
            <span>{{ '' }}</span>
          </div>
      </div>
      <template v-if="active === '1'">
        <div v-for="(item, index) in tabsArr" :key="index">
          <card :item="item" />
        </div>
        <div class="overflow_box item" @click="SetTitleIndex(1)">
          <div class="left_titles">
            <span>{{ $t('hj115') }}</span>
          </div>
          <div class="right_price">
            <span>{{ '' }}</span>
          </div>
        </div>
        <div class="overflow_box item" @click="SetTitleIndex(2)">
          <div class="left_titles">
            <span>{{ $t('hj116') }}</span>
          </div>
          <div class="right_price">
            <span>{{ '' }}</span>
          </div>
        </div>
      </div> -->
         <div class="warehouse_card">
            <div class="top_card" v-if="typeindex == 0">
               <div class="card_content">
                  <div class="t_title">
                     <span>{{ $t('ihj49') }}</span>
                  </div>
                  <div class="t_price">
                     <p class="price">{{$store.state.userInfo.userAmt}}</p>
                     <img src="../../../static/img/ydgq.png"
                        style="width: 17px;height: 17px;border-radius: 25px;" />
                  </div>
                  <div class="ydy_box">≈${{$store.state.userInfo.userAmtToUsdt}}</div>
                  <div class="balance">
                     <div class="left_titles">
                        {{ $t('disan') }}
                     </div>
                     <div class="right_titles">
                        {{ $t('disana') }}
                     </div>
                  </div>
                  <div class="num">
                     <div class="left_price">
                        <span>${{$store.state.userInfo.enableAmt}}</span>
                     </div>
                     <div class="right_margin">
                        <span>${{$store.state.userInfo.allFreezAmt}}</span>
                     </div>
                  </div>
                  <div style="width: 100%;display: flex;">
                     <div class="ydy_box" style="width: 50%;">≈${{$store.state.userInfo.enableAmtToUsdt}}</div>
                     <div class="ydy_box" style="width: 50%;">≈${{$store.state.userInfo.allFreezAmtToUsdt}}</div>
                  </div>
                  <div class="margin">
                     <div class="left_titles">
                        {{ $t('aym') }}
                     </div>
                     <div class="right_titles">
                        {{ $t('ysa') }}
                     </div>
                  </div>
                  <div class="prices">
                     <div class="left_titles">
                        <span class="numDemo">$0.00</span>
                     </div>
                     <div class="right_titles">
                        <span>$0.00</span>
                     </div>
                  </div>
                  <div style="width: 100%;display: flex;">
                     <div class="ydy_box" style="width: 50%;">≈$0.00</div>
                     <div class="ydy_box" style="width: 50%;">≈$0.00</div>
                  </div>
               </div>
            </div>
            <div class="top_card" v-else>
               <div class="card_content">
                  <div class="t_title">
                     <span>{{ $t('uszzcaa') }}</span>
                  </div>
                  <div class="t_price">
                     <p class="price">{{$store.state.userInfo.userIndexAmt}}</p>
                     <img src="../../../static/img/usgq.png"
                        style="width: 17px;height: 17px;border-radius: 25px;" />
                  </div>
                  <div class="balance">
                     <div class="left_titles">
                        {{ $t('uszzc') }}
                     </div>
                     <div class="right_titles">
                        {{ $t('djzjmg') }}
                     </div>
                  </div>
                  <div class="num">
                     <div class="left_price">
                        <span>{{$store.state.userInfo.enableIndexAmt}}</span>
                     </div>
                     <div class="right_margin">
                        <span>{{ $store.state.userInfo.usAllFreezAmt }}</span>
                     </div>
                  </div>
                  <div class="margin">
                     <div class="left_titles">
                        {{ $t('accumbn') }}
                     </div>
                     <div class="right_titles">
                        {{ $t('tolaszasdf') }}
                     </div>
                  </div>
                  <div class="prices">
                     <div class="left_titles">
                        <span>{{$store.state.userInfo.usAllProfitAndLose}}</span>
                     </div>
                     <div class="right_titles">
                        <span class="numDemo">0.00</span>
                     </div>
                  </div>
               </div>
            </div>
            <div class="click_box">
               <div :class="zjtype==0?'click_box_left':'click_box_right'" @click="clickzj(0)">{{$t('nwetitle')}}
                  <div v-if="zjtype==0" class="click_box_g"></div>
               </div>
               <div :class="zjtype==1?'click_box_left':'click_box_right'" @click="clickzj(1)">{{$t('nwetitlea')}}
                  <div v-if="zjtype==1" class="click_box_g"></div>
               </div>
            </div>
            <div class="tabs_card">
               <div class="tabs_card_content">
                  <!-- 持仓 currentIndex: 0 -->
                  <div class="over">
                     <van-list v-model="loading" :finished="finished" v-if="zjtype==0&&cclist.length"
                        :finished-text="$t('hj43')" @load="onLoad" >
                        <div v-if="cclist.length>0" class="tabs_o">
                           <div class="tabs_o_items"  v-for="(item) in cclist"
                              :key="item.buyOrderId">
                              <div class="tabs_o_title">
                                 <div style="width: calc(100% - 3.5rem);display: flex;">
                                    <div>
                                       <span
                                          class="title">{{ item.stockName ? item.stockName : item.indexName }}</span>
                                    </div>
                                    <div>
                                       <div class="buy_to_sell"
                                          :class="item.orderDirection == '买跌' ? 'maichu' : 'mairu'">
                                          {{ item.orderDirection == "买跌" ? $t('hj84') : $t('hj85') }}
                                       </div>
                                    </div>
                                 </div>
                                 <div class="right_btn pingbtn" @click="getpingcang(item.positionSn)">
                                    <span style="margin-right: 0;width: 110px;">{{ $t('hj121') }}</span>
                                 </div>
                              </div>
                              <div class="bottom_price_title">
                                 <div class="start_price">
                                    <span>P/L(INR)</span>
                                 </div>
                                 <div class="new_price">
                                    <span>{{ $t('shou') }}</span>
                                 </div>
                              </div>
                              <div class="center_price">
                                 <div class="start_price">
                                    <span
                                       :style="item.profitAndLose>0?'color: rgb(3, 173, 143);':'color:rgb(208, 75, 100);'">{{ item.profitAndLose }}</span>
                                 </div>
                                 <div class="new_price">
                                    <span>{{ item.orderNum }}</span>
                                 </div>
                              </div>
                              <div class="bottom_price_title">
                                 <div class="new_price">
                                    <span>{{$t('ssdd')}}</span>
                                 </div>
                                 <div class="start_price" style="width: 123px;">
                                    <span style="color: #000;">{{ item.buyOrderPrice }}
                                       <span style="color: #bdbdbd;">/{{ item.now_price }}</span>
                                    </span>
                                 </div>
                              </div>
                              <div class="bottom_price_title">
                                 <div class="new_price">
                                    <span>{{$t('whpb')}}</span>
                                 </div>
                                 <div class="start_price">
                                    <span>{{ item.orderTotalPrice }}</span>
                                 </div>
                              </div>
                              <div class="bottom_price_title">
                                 <div class="new_price">
                                    <span>{{$t('gmsj')}}</span>
                                 </div>
                                 <div class="start_price">
                                    <span>{{ item.buyOrderTime | gettime }}</span>
                                 </div>
                              </div>
                           </div>
                        </div>
                     </van-list>
                     <van-list v-model="loading" v-if="zjtype==1" :finished="finished"
                        :finished-text="$t('hj43')" @load="onLoad" :immediate-check="immediate">
                        <div class="tabs_o">
                           <div class="tabs_o_items" v-if="cclist.length>0" v-for="(item) in cclist"
                              :key="item.buyOrderId">
                              <div class="tabs_o_title">
                                 <div style="width: calc(100% - 3.5rem);display: flex;">
                                    <div>
                                       <span
                                          class="title">{{ item.stockName ? item.stockName : item.indexName }}</span>
                                    </div>
                                    <div>
                                       <div class="buy_to_sell"
                                          :class="item.orderDirection == '买跌' ? 'maichu' : 'mairu'">
                                          {{ item.orderDirection == "买跌" ? $t('hj84') : $t('hj85') }}
                                       </div>
                                    </div>
                                 </div>
                                 <!-- <div class="right_btn pingbtn" @click="getpingcang(item.positionSn)">
                                    <span style="margin-right: 0;">{{ $t('hj121') }}</span>
                                 </div> -->
                              </div>
                              <div class="bottom_price_title">
                                 <div class="start_price">
                                    <span>P/L(INR)</span>
                                 </div>
                                 <div class="new_price">
                                    <span>{{ $t('shou') }}</span>
                                 </div>
                              </div>
                              <div class="center_price">
                                 <div class="start_price">
                                    <span
                                       :style="item.profitAndLose>0?'color: rgb(3, 173, 143);':'color:rgb(208, 75, 100);'">{{ item.profitAndLose }}</span>
                                 </div>
                                 <div class="new_price">
                                    <span>{{ item.orderNum }}</span>
                                 </div>
                              </div>
                              <div class="bottom_price_title">
                                 <div class="new_price">
                                    <span>{{$t('ssdd')}}</span>
                                 </div>
                                 <div class="start_price">
                                    <span style="color: #000;">{{ item.buyOrderPrice }}
                                    </span>
                                 </div>
                              </div>
                              <div class="bottom_price_title">
                                 <div class="new_price">
                                    <span>{{$t('whpb')}}</span>
                                 </div>
                                 <div class="start_price">
                                    <span>{{ item.orderTotalPrice }}</span>
                                 </div>
                              </div>
                              <div class="bottom_price_title">
                                 <div class="new_price">
                                    <span>{{$t('whpb')}}</span>
                                 </div>
                                 <div class="start_price">
                                    <span>{{ item.sellOrderPrice }}</span>
                                 </div>
                              </div>
                              <div class="bottom_price_title">
                                 <div class="new_price">
                                    <span>{{$t('gmsj')}}</span>
                                 </div>
                                 <div class="start_price">
                                    <span>{{ item.buyOrderTime | gettime }}</span>
                                 </div>
                              </div>
                              <div class="bottom_price_title">
                                 <div class="new_price">
                                    <span>{{$t('gbsj')}}</span>
                                 </div>
                                 <div class="start_price">
                                    <span>{{ item.sellOrderTime | gettime }}</span>
                                 </div>
                              </div>
                           </div>
                        </div>
                     </van-list>
                     <div class="waiting" v-if="total == 0 && tabsCurrentIndex === 0">
                        <div class="waiting_box">
                           <div class="img_cont">
                              <img src="../../assets/img/zhaobudao.png" alt />
                              <span class="gd">{{ $t('hj122') }}</span>
                              <div class="trading" @click="$router.push('/trading-list')">
                                 <span>{{ $t('hj123') }}</span>
                              </div>
                           </div>
                        </div>
                     </div>
                     <!-- 挂单 -->
                     <div class="waiting" v-if="totalss == 0 && tabsCurrentIndex === 1">
                        <div class="waiting_box">
                           <div class="img_cont">
                              <img src="../../assets/img/zhaobudao.png" alt />
                              <span class="gd">{{ $t('hj124') }}</span>
                              <div class="trading" @click="$router.push('/trading-list')">
                                 <span>{{ $t('hj123') }}</span>
                              </div>
                           </div>
                        </div>
                     </div>
                     <van-list v-model="loadingss" :finished="finishedss" :finished-text="$t('hj43')"
                        v-if="tabsCurrentIndex === 1 && totalss != 0" :immediate-check="immediate">
                        <div class="tabs_o">
                           <div class="tabs_o_items" v-if="tabsOrderList.length>0"
                              v-for="(item) in tabsOrderList" :key="item.id">
                              <div class="tabs_o_title">
                                 <div>
                                    <span
                                       class="title">{{ item.stockName ? item.stockName : item.indexName }}</span>
                                    <span class="buy_to_sell"
                                       :class="item.buyType == 1 ? 'maichu' : 'mairu'">{{
                          item.buyType == 1 ? $t('hj84') : $t('hj85')
                        }}</span>
                                    <span class="buy_to_sell"
                                       :class="item.status == 1 ? 'mairu' : 'maichu'">{{
                          item.status == 1 ? $t('hj254') : $t('hj255')
                        }}</span>
                                    <span class="multiple">{{ item.lever }}X</span>
                                    <span class="nums">{{ item.buyNum + $t('hj117') }}</span>
                                 </div>
                                 <div class="right_btn pingbtn" @click="gdClose(item)">
                                    <span style="margin-right: 0;">{{ $t('hj126') }}</span>
                                 </div>
                              </div>
                              <div class="center_price">
                                 <div class="start_price jiantou">
                                    <span>{{ item.targetPrice }}</span>
                                 </div>
                                 <div class="new_price">
                                    <span>{{ item.nowPrice }}</span>
                                 </div>
                              </div>
                              <div class="bottom_price_title">
                                 <div class="start_price">
                                    <span>{{ $t('hj125') }}</span>
                                 </div>
                                 <div class="new_price">
                                    <span>{{ $t('hj120') }}</span>
                                 </div>
                              </div>
                           </div>
                        </div>
                     </van-list>
                     <!-- 平仓 -->
                     <div class="waiting" v-if="totals == 0 && tabsCurrentIndex === 2">
                        <div class="waiting_box">
                           <div class="img_cont">
                              <img src="../../assets/img/zhaobudao.png" alt />
                              <span class="gd">{{ $t('hj127') }}</span>
                              <div class="trading" @click="$router.push('/trading-list')">
                                 <span>{{ $t('hj123') }}</span>
                              </div>
                           </div>
                        </div>
                     </div>
                     <van-list v-model="loadings" :finished="finisheds" :finished-text="$t('hj43')"
                        @load="onLoads" :immediate-check="immediate"
                        v-if="tabsCurrentIndex === 2 && totals != 0">
                        <div class="tabs_o">
                           <div class="tabs_o_items oes" v-if="tabsPcArr.length>0"
                              v-for="(item, index) in tabsPcArr" :key="index">
                              <div class="tabs_o_title">
                                 <div>
                                    <span
                                       class="title">{{ item.stockName ? item.stockName : item.indexName }}</span>
                                    <span class="buy_to_sell"
                                       :class="item.orderDirection == '买跌' ? 'maichu' : 'mairu'">{{
                          item.orderDirection == "买跌" ?
                          $t('hj84') : $t('hj85')
                        }}</span>
                                    <span class="multiple">{{ item.allProfitAndLose }}</span>
                                    <span class="nums">{{ item.orderNum + $t('hj117') }}</span>
                                 </div>
                                 <div class="right_count"
                                    :class="item.profitAndLose > 0 ? 'red' : item.profitAndLose == 0 ? '' : 'green'">
                                    <span style="margin-right: 0;">{{ item.profitAndLose }}</span>
                                 </div>
                              </div>
                              <div class="bottom_price_title">
                                 <div class="profit_res">
                                    <span>{{ $t('hj128') }}: {{ item.buyOrderTime | gettime }}</span>
                                 </div>
                              </div>
                           </div>
                        </div>
                     </van-list>
                     <!-- 新股 -->
                     <div class="waiting" v-if="xgTotal == 0 && tabsCurrentIndex === 3">
                        <div class="waiting_box">
                           <div class="img_cont">
                              <img src="../../assets/img/zhaobudao.png" alt />
                              <span class="gd">{{ $t('hj129') }}</span>
                              <div class="trading"
                                 @click="$router.push({ path: '/trading-list', query: { listid: 5 } })">
                                 <span>{{ $t('hj123') }}</span>
                              </div>
                           </div>
                        </div>
                     </div>
                     <van-list v-model="loadingXg" :finished="finishedXg" :finished-text="$t('hj43')"
                        v-show="tabsCurrentIndex === 3 && xgTotal != 0" @load="onLoadXg"
                        :immediate-check="immediate">
                        <div class="tabs_o">
                           <div class="tabs_o_items" v-for="(item) in tabsXgArr" :key="item.id">
                              <div class="tabs_o_title">
                                 <span class="title">{{ item.newName }}</span>
                                 <span class="buy_to_sell" :class="item.type == 1 ? 'mairu' : 'maichu'">{{
                        item.type == 1 ? $t('hj45') : $t('hj46')
                      }}</span>
                                 <!-- <span class="multiple">{{ item.lever  }}X</span>
                      <span class="nums">{{ item.buyNum / 100 + '手' }}</span> -->
                              </div>
                              <div style="display: flex;align-items: center;justify-content: space-between;">
                                 <div style="width: 100%;">
                                    <div class="center_price">
                                       <div class="start_price jiantou">
                                          <span>{{ item.buyPrice }}</span>
                                       </div>
                                       <div class="new_price" v-if="item.status != 3">
                                          <span>{{ item.applyNums }}</span>
                                       </div>
                                       <div class="new_price" v-else>
                                          <span>{{ item.applyNumber }}</span>
                                       </div>
                                    </div>
                                    <div class="bottom_price_title">
                                       <div class="start_price">
                                          <span>{{ $t('hj130') }}</span>
                                       </div>
                                       <div class="new_price" v-if="item.status != 3">
                                          <span>{{ $t('hj57') }}</span>
                                       </div>
                                       <div class="new_price" v-else>
                                          <span>{{ $t('hj253') }}</span>
                                       </div>
                                    </div>
                                 </div>
                                 <div class="right_btn" style="padding: 0 0.2rem;" @click="zcsg(item)"
                                    :class="item.status == 1 ? 'pink' : item.status == 2 ? 'red'
                          : (item.status == 3 && item.type != 1) ? 'green' : item.status == 4 ? 'blue' : item.status == 5 ? 'purple' : ''"
                                    v-if="!(item.type == 1 && item.status == 3)">
                                    <span>{{ item.status == 1 ?
                          $t('hj131') : item.status == 2 ? $t('hj132')
                            : (item.status == 3 && item.type != 1) ? $t('hj133') : item.status == 4 ? $t('hj134') :
                              item.status == 5 ?
                                $t('hj135')
                                : ''
                        }}</span>
                                 </div>
                                 <div v-if="item.type == 1 && item.status == 3" class="right_btn pingbtn"
                                    style="width: 2rem !important;" @click="getrenjiao(item.id)">
                                    {{ $t('hj250') }}
                                 </div>
                              </div>
                           </div>
                        </div>
                     </van-list>
                  </div>
               </div>
            </div>
         </div>
      </div>
      <div class="dialog" v-if="titleDialog" @click="titleDialog = false"></div>
   </div>
      </template>
      <template v-else>
        <itemCard :activeObj="activeObj" />
      </template>
    </div>
    <dataList />
  </div>
</template>
<script>
   import {
      Toast
   } from 'vant'
   import {
      MessageBox
   } from 'mint-ui'
   import * as api from '@/axios/api'
   export default {
      data() {
         return {
            zjtype: 0,
            tabsArr: [this.$t('hj2'), this.$t('hj109'), this.$t('hj136'), this.$t('hj3')],
            tabsCurrentIndex: 0,
            titleName: this.$t('hj114'),
            indexSettingInfo: {},
            futuresSettingInfo: {},
            tabsPositionNumArr: [],
            titleIndex: 0,
            settingInfo: {},
            tabsPcArr: [],
            typeindex: 0,
            titleDialog: false,
            total: 0,
            totals: 0,
            totalss: 0,
            loading: false,
            finished: false,
            finisheds: false,
            finishedss: false,
            page: 1,
            pages: 1,
            pagess: 1,
            state: 0,
            pageSize: 15,
            pageNum: 1,
            immediate: false,
            loadings: false,
            loadingss: false,
            tabsOrderList: [],
            xgTotal: 0,
            tabsXgArr: [],
            cclist: [],
            loadingXg: false,
            finishedXg: false
         }
      },
      mounted() {
         this.getListDetail()
         this.getUserInfo()
         this.getIndexSettingInfo()
         this.getSettingInfo()
         this.getFuturesSetting()
         this.getListDetails()
         this.getorderList()
         this.getNewXg()
         this.newchicang()
      },
      created() {
         if (this.$route.query.index) {
            this.tabsCurrentIndex = Number(this.$route.query.index)
         }
      },
      methods: {
         async newchicang() {
            let opt = {
               state: this.zjtype == 0 ? '0' : '1',
               stockType: this.typeindex == 0 ? 'IN' : 'US',
               pageNum: this.pageNum,
               pageSize: this.pageSize
            }
            let data = await api.getchicang(opt)
            if (data.status === 0) {
               this.cclist = data.data.list
            } else {
               Toast(data.msg)
            }
         },
         getrenjiao(val) {
            MessageBox.confirm(this.$t('hj251') + '?', this.$t('hj165'), {
               confirmButtonText: this.$t('hj161'),
               cancelButtonText: this.$t('hj106')
            }).then(async () => {
               let opt = {
                  id: val
               }
               let data = await api.submitSubscribe(opt)
               if (data.status === 0) {
                  Toast(data.msg)
                  this.finishedXg = false
                  this.getNewXg()
                  this.getUserInfo()
               } else {
                  Toast(data.msg)
               }
            }).catch(() => {
import card from "./Warehouse/card.vue";
import itemCard from "./Warehouse/item.card.vue";
import dataList from "./Warehouse/data.list.vue";
            })
         },
         getpingcang(val) {
            if (!this.$store.state.userInfo.idCard) {
               Toast(this.$t('hj138'))
               this.$router.push('/authentication')
               return
            }
            if (this.titleIndex === 0) {
               // 沪深京
               MessageBox.confirm(this.$t('hj139') + '?', this.$t('hj165'), {
                  confirmButtonText: this.$t('hj161'),
                  cancelButtonText: this.$t('hj106')
               }).then(async () => {
                  let opt = {
                     positionSn: val
                  }
                  let data = await api.sell(opt)
                  if (data.status === 0) {
                     Toast(data.msg)
                     // 沪深京持仓
                     this.finished = false
                     this.getListDetail()
                     this.tabsPositionNumArr = []
                     // 沪深京平仓
                     this.finisheds = false
                     this.tabsPcArr = []
                     this.getListDetails()
                  } else if (data.msg.indexOf('不在交易时段内') > -1) {
                     Toast(this.$t('hj140'))
                  } else {
                     Toast(data.msg)
                  }
               }).catch(() => {
               })
            } else {
               // 指数
               MessageBox.confirm(this.$t('hj139') + '?', this.$t('hj165'), {
                  confirmButtonText: this.$t('hj161'),
                  cancelButtonText: this.$t('hj106')
               }).then(async () => {
                  let opt = {
                     positionSn: val
                  }
                  let data = await api.sellIndex(opt)
                  if (data.status === 0) {
                     Toast(data.msg)
                     // 指数持仓
                     this.finished = false
                     this.getzhishuListDetail()
                     this.tabsPositionNumArr = []
                     // 指数平仓
                     this.finisheds = false
                     this.tabsPcArr = []
                     this.getzhishuListDetails()
                  } else if (data.msg.indexOf('不在交易时段内') > -1) {
                     Toast(this.$t('hj140'))
                  } else {
                     Toast(data.msg)
                  }
               }).catch(() => {
               })
            }
         },
         onLoad() {
            // 持仓
            this.page++
            switch (this.titleIndex) {
               case 0:
                  // 沪深京持仓
                  this.getListDetail()
                  break
               case 1:
                  // 指数持仓
                  this.getzhishuListDetail()
                  break
               default:
                  break
            }
         },
         onLoads() {
            // 平仓
            this.pages++
            switch (this.titleIndex) {
               case 0:
                  // 沪深京平仓
                  this.getListDetails()
                  break
               case 1:
                  // 指数平仓
                  this.getzhishuListDetails()
                  break
               default:
                  break
            }
         },
         onLoadss() {
            this.pagess++
            switch (this.titleIndex) {
               case 1:
                  this.getorderList()
                  break
               default:
                  break
            }
         },
         onLoadXg() {
            // this.getNewXg();
         },
         async gdClose(item) {
            let opts = {
               id: item.id
            }
            let data = await api.delGuaDan(opts)
            if (data.status === 1) {
               Toast(this.$t('hj137'))
               this.page = 1
               this.pages = 1
               this.finished = false
               this.finisheds = false
               this.finishedss = false
               this.tabsPositionNumArr = []
               this.tabsPcArr = []
               this.tabsOrderList = []
               switch (this.titleIndex) {
                  case 0:
                     this.titleName = this.$t('hj114')
                     this.getListDetail()
                     this.getListDetails()
                     this.getorderList()
                     break
                  case 1:
                     this.titleName = this.$t('hj115')
                     this.getzhishuListDetail()
                     this.getzhishuListDetails()
                     this.getorderList()
                     break
                  case 2:
                     this.titleName = this.$t('hj116')
                     // this.getQhListDetail();
                     // this.getQhListDetails();
                     this.getorderList()
                     break
                  default:
                     break
               }
            } else {
               Toast(data.msg)
            }
         },
         clickzj(e) {
            console.log(e);
            this.zjtype = e
            this.newchicang()
         },
         zcsg(item) {
            this.$router.push({
               path: '/trading-list',
               query: {
                  listid: 5
               }
            })
         },
         SetTitleIndex(index) {
            // 账户选项卡
            this.titleIndex = index
            this.page = 1
            this.pages = 1
            this.finished = false
            this.finisheds = false
            this.finishedss = false
            this.tabsPositionNumArr = []
            this.tabsPcArr = []
            this.tabsOrderList = []
            switch (index) {
               case 0:
                  this.titleName = this.$t('hj114')
                  this.getListDetail()
                  this.getListDetails()
                  this.getorderList()
                  this.handleTabsClick('', 0)
                  break
               case 1:
                  this.titleName = this.$t('hj115')
                  this.getzhishuListDetail()
                  this.getzhishuListDetails()
                  this.getorderList()
                  this.handleTabsClick('', 0)
                  break
               case 2:
                  this.totalss = 0
                  this.totals = 0
                  this.total = 0
                  this.titleName = this.$t('hj116')
                  this.handleTabsClick('', 3)
                  // this.getQhListDetail();
                  // this.getQhListDetails();
                  // this.getorderList();
                  break
               default:
                  break
            }
            this.titleDialog = false
            if (navigator.vibrate) {
               // 支持
               navigator.vibrate([55])
            }
         },
         handleTabsClick(item, index) {
            // 持仓已平仓选项卡
            this.tabsCurrentIndex = index
            if (index === 3) {
               this.finishedXg = false
               this.getNewXg()
            }
            if (navigator.vibrate) {
               // 支持
               navigator.vibrate([55])
            }
         },
         handleOpenDialog() {
            this.titleDialog = !this.titleDialog
         },
         // 挂单
         async getorderList() {
            let opts = {}
            let data = await api.getorderList(opts)
            this.loadingss = false
            if (data.status === 0) {
               data.data.forEach(element => {
                  this.tabsOrderList.push(element)
               })
               this.totalss = data.data.length
               this.finishedss = true // 只有一页,所以锁住翻页。有需要刷新数据的时候在调用方法前重新解锁
            } else {
               Toast(data.msg)
            }
         },
         typeclick(e) {
            console.log(e);
            this.typeindex = e
            this.newchicang()
         },
         async getIndexSettingInfo() {
            // 网站设置信息 指数
            let data = await api.getIndexSetting()
            if (data.status === 0) {
               // 成功
               this.indexSettingInfo = data.data
            } else {
               Toast(data.msg)
            }
         },
         async getFuturesSetting() {
            // 网站设置信息 期货
            let data = await api.getFuturesSetting()
            if (data.status === 0) {
               // 成功
               this.futuresSettingInfo = data.data
            } else {
               Toast(data.msg)
            }
         },
         async getSettingInfo() {
            let data = await api.getSetting()
            if (data.status === 0) {
               // 成功
               this.settingInfo = data.data
            } else {
               Toast(data.msg)
            }
         },
         async getUserInfo() {
            // 获取用户信息
            //   let showcookie = this.getCookie('USER_TOKEN');
            let data = await api.getUserInfo()
            if (data.status === 0) {
               // this.getProductSetting()
               this.$store.state.userInfo = data.data
            } else {
               Toast(data.msg)
            }
            this.$store.state.user = this.user
         },
         async getListDetail() {
            // 获取沪深我的持仓列表
            this.loading = true
            let opt = {
               state: 0,
               stockCode: '', // 代码
               stockSpell: '', // 简拼
               pageNum: this.page,
               pageSize: 15
            }
            let data = await api.getOrderList(opt)
            this.loading = false
            if (data.status === 0) {
               if (data.data.list.length < 15) {
                  this.finished = true
               }
               data.data.list.forEach(element => {
                  this.tabsPositionNumArr.push(element)
               })
               this.total = data.data.total
            } else {
               Toast(data.msg)
            }
         },
         async getzhishuListDetail() {
            // 获取指数持仓
            this.loading = true
            let opt = {
               state: 0,
               stockCode: '', // 代码
               stockSpell: '', // 简拼
               pageNum: this.pageNum,
               pageSize: this.pageSize
            }
            let data = await api.getIndexOrderList(opt)
            this.loading = false
            if (data.status === 0) {
               if (data.data.list.length < 15) {
                  this.finished = true
               }
               data.data.list.forEach(element => {
                  this.tabsPositionNumArr.push(element)
               })
               this.total = data.data.total
            } else {
               Toast(data.msg)
            }
         },
         async getQhListDetail() {
            // 获取期货持仓
            this.loading = true
            let opt = {
               state: 0,
               fnCode: '', // 代码
               fnName: '', // 简拼
               pageNum: this.pageNum,
               pageSize: this.pageSize
            }
            let data = await api.getFuturesOrderList(opt)
            this.loading = false
            if (data.status === 0) {
               if (data.data.list.length < 15) {
                  this.finished = true
               }
               data.data.list.forEach(element => {
                  this.tabsPositionNumArr.push(element)
               })
               this.total = data.data.total
            } else {
               Toast(data.msg)
            }
         },
         async getListDetails() {
            // 获取沪深我的平仓列表
            this.loadings = true
            let opt = {
               state: 1,
               stockCode: '', // 代码
               stockSpell: '', // 简拼
               pageNum: this.pages,
               pageSize: 15
            }
            let data = await api.getOrderList(opt)
            this.loadings = false
            if (data.status === 0) {
               if (data.data.list.length < 15) {
                  this.finisheds = true
               }
               data.data.list.forEach(element => {
                  this.tabsPcArr.push(element)
               })
               this.totals = data.data.total
            } else {
               Toast(data.msg)
            }
         },
         async getzhishuListDetails() {
            // 获取指数平仓
            this.loadings = true
            let opt = {
               state: 1,
               stockCode: '', // 代码
               stockSpell: '', // 简拼
               pageNum: this.pageNum,
               pageSize: 15
            }
            let data = await api.getIndexOrderList(opt)
            this.loadings = false
            if (data.data.list.length < 15) {
               this.finisheds = true
            }
            if (data.status === 0) {
               data.data.list.forEach(element => {
                  this.tabsPcArr.push(element)
               })
               this.totals = data.data.total
            } else {
               Toast(data.msg)
            }
         },
         async getQhListDetails() {
            // 获取期货平仓
            this.loadings = true
            let opt = {
               state: 1,
               fnCode: '', // 代码
               fnName: '', // 简拼
               pageNum: this.pageNum,
               pageSize: this.pageSize
            }
            let data = await api.getFuturesOrderList(opt)
            this.loadings = false
            if (data.status === 0) {
               if (data.data.list.length < 15) {
                  this.finisheds = true
               }
               data.data.list.forEach(element => {
                  this.tabsPcArr.push(element)
               })
               this.totals = data.data.total
            } else {
               Toast(data.msg)
            }
         },
         async getNewXg() {
            // 获取新股
            this.loadingXg = true
            let opt = {}
            let data = await api.getUserNewGuList(opt)
            this.loadingXg = false
            if (data.status === 0) {
               this.tabsXgArr = data.data
               // data.data.list.forEach(element => {
               //   this.tabsXgArr.push(element)
               // })
               this.xgTotal = data.data.length
               this.finishedXg = true // 只有一页,所以锁住翻页。有需要刷新数据的时候在调用方法前重新解锁
            } else {
               Toast(data.msg)
            }
         }
      },
      filters: {
         gettime(time) {
            if (!time) {
               return ''
            }
            var nd = new Date(time)
            var y = nd.getFullYear()
            var mm = nd.getMonth() + 1
            var d = nd.getDate()
            var h = nd.getHours()
            var m = nd.getMinutes()
            var c = nd.getSeconds()
            if (mm < 10) {
               mm = '0' + mm
            }
            if (d < 10) {
               d = '0' + d
            }
            if (h < 10) {
               h = '0' + h
            }
            if (m < 10) {
               m = '0' + m
            }
            if (c < 10) {
               c = '0' + c
            }
            // 17:35:2922-06-2022
            // return y + '/' + mm + '/' + d + ' ' + h + ':' + m + ':' + c
            return mm + '/' + d + '/' + y + ' ' + h + ':' + m + ':' + c
         }
      }
   }
export default {
  components: { card, itemCard, dataList },
  data() {
    return {
      actives: "1",
      active: "1",
      activeObj: {},
      tabsArr: [
        {
          title: "总资产",
          name: "1",
          bgc: "rgb(8, 82, 196)",
          laber: "USD",
        },
        {
          title: this.$t("mggs"),
          name: "2",
          bgc: "rgb(12, 175, 226)",
          laber: "USD",
        },
        {
          title: this.$t("ydgs"),
          name: "3",
          bgc: "rgb(255, 91, 150)",
          laber: "THB",
        },
      ],
    };
  },
  methods: {
    onClick(e) {
      console.log(e);
      this.active = e.name;
      this.activeObj = e;
      // console.log(e);
    },
  },
};
</script>
<style scoped lang="less">
   /deep/ .mint-msgbox-title {
      font-size: 0.4rem !important;
   }
   .pingbtn {
      width: auto !important;
      height: auto !important;
      background: rgb(45, 106, 233);
      color: rgb(255, 255, 255);
      padding: 0.2rem 0.4rem;
      border-radius: 0.2rem !important;
   }
   .pink {
      color: #eb2f96;
      background: #fff0f6;
      border-color: #ffadd2;
   }
   .red {
      color: #f5222d;
      background: #fff1f0;
      border-color: #ffa39e;
   }
   .blue {
      color: #1890ff;
      background: #e6f7ff;
      border-color: #91d5ff;
   }
   .green {
      color: #52c41a;
      background: #f6ffed;
      border-color: #b7eb8f;
   }
   .purple {
      color: #722ed1;
      background: #f9f0ff;
      border-color: #d3adf7;
   }
   @boxCenter: {
      display: flex;
      justify-content: center;
      align-items: center;
   }
   ;
   @topCardColor: #bdbdbd;
   .warehouse_page {
      width: 100%;
      height: calc(100% - 1.2974rem);
      background: linear-gradient(to bottom, #3160FD, #ffffff);
   }
   .content {
      width: 100%;
      height: 100%;
      position: relative;
   }
   .top_title.active {
      height: 6.5rem;
   }
   .top_title {
      width: 100%;
      height: 0.9231rem;
      position: absolute;
      top: 0.6rem;
      z-index: 10;
      overflow: hidden;
      transition: all 0.3s;
      padding: 0 .3rem;
      .titles {
         width: 100%;
         height: 0.9231rem;
         display: flex;
         padding: 0 0.1rem;
      }
      .left_title,
      .right_box {
         // width: 50%;
         height: 100%;
         display: flex;
      }
      .title {
         width: auto;
         height: 100%;
         font-size: 0.4897rem;
         display: flex;
         align-items: center;
         span {
            font-size: 0.4897rem;
            font-weight: 600;
         }
      }
      .img {
         // width: 40%;
         height: 100%;
         display: flex;
         align-items: center;
         img {
            width: 0.6rem;
            height: 0.6rem;
         }
      }
   }
   .top_class_box_right {
      font-size: 0.4rem;
   }
   .click_box_rightclick {
      margin-right: 10px;
      // font-size: 10px;
      font-size: 0.4rem;
      color: #409eff;
      padding: 8px 12px;
      border-radius: 12px;
      border: 0.5px solid #409eff;
   }
   .search {
      width: 100%;
      height: 1rem;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0 0.3rem;
      position: relative;
      top: 10px;
      background-color: #fff;
      z-index: 3000;
      .search_content {
         width: 100%;
         height: 90%;
         display: flex;
         align-items: center;
      }
      .left_search {
         width: 100%;
         height: 100%;
         background: #f6f6f6;
         border-radius: 100px;
         display: flex;
         .search_img {
            width: 1rem;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            img {
               width: 0.5rem;
               height: 0.5rem;
            }
         }
         .search_input {
            width: 100%;
            overflow: hidden;
            height: 100%;
            display: flex;
         }
      }
      .right_search_class {
         width: 13%;
         height: 100%;
         display: flex;
         justify-content: flex-end;
         align-items: center;
         img {
            width: 0.6rem;
            height: 0.6rem;
         }
      }
   }
   .ydy_box {
      margin-top: 5px;
      font-size: 0.4rem;
      color: #9ea3ae;
   }
   .warehouse_card {
      width: 100%;
      height: calc(100% - 1rem);
      position: absolute;
      top: 60px;
      // top: 1.5231rem;
      z-index: 100;
      padding: 0 0.3333rem;
      // background: rgb(242, 243, 247);
      .top_card {
         width: 100%;
         // height: 4.2308rem;
         border-radius: 0.15rem;
         margin-top: 0.3rem;
         background: #fff;
         .card_content {
            width: 100%;
            height: 100%;
            padding: 0.4rem;
            .t_title {
               width: 100%;
               height: 0.5128rem;
               display: flex;
               align-items: center;
               font-size: 0.4rem;
               span {
                  font-size: 0.4rem;
                  font-weight: bold;
               }
            }
            .t_price {
               width: 100%;
               height: 0.5128rem;
               display: flex;
               align-items: center;
               justify-content: space-between;
               .price {
                  font-weight: 600;
                  font-size: 0.4246rem;
                  margin-top: 0.07rem;
               }
               .profits {
                  font-weight: 800;
                  font-size: 0.4rem;
                  color: #dd2c34;
                  margin-top: 0.2rem;
                  margin-left: 0.2rem;
               }
            }
            .balance {
               width: 100%;
               height: 0.3846rem;
               margin-top: 0.428rem;
               display: flex;
               font-size: 0.4rem;
               >div {
                  width: 50%;
                  height: 100%;
                  color: @topCardColor;
                  font-size: 0.4rem;
                  span {
                     font-weight: 600;
                     font-size: 0.4rem;
                  }
               }
            }
            .num {
               width: 100%;
               height: 0.3846rem;
               margin-top: 0.1rem;
               display: flex;
               >div {
                  width: 50%;
                  height: 100%;
                  span {
                     font-weight: 600;
                  }
               }
               .right_margin {
                  span {
                     font-weight: normal !important;
                  }
               }
            }
            .margin {
               width: 100%;
               height: 0.3846rem;
               margin-top: 0.428rem;
               display: flex;
               >div {
                  width: 50%;
                  height: 100%;
                  color: @topCardColor;
                  span {
                     font-weight: 600;
                  }
               }
            }
            .prices {
               width: 100%;
               height: 0.3846rem;
               margin-top: 0.1rem;
               display: flex;
               >div {
                  width: 50%;
                  height: 100%;
                  span {
                     font-weight: 600;
                  }
               }
            }
         }
      }
   }
   .over {
      width: 100%;
      height: calc(100% - 0.7179rem);
      overflow: auto;
      padding: 0 0.3rem;
   }
   .tabs_card {
      width: 100%;
      height: calc(100% - 4.24rem - 4rem - 0.6rem);
      margin-top: 0.3rem;
      background: #fff;
      border-radius: 0.2rem;
      padding-top: 0.15rem;
   }
   .over::-webkit-scrollbar {
      display: none;
   }
   .click_box {
      margin-top: 10px;
      width: 100%;
      border-radius: 0.15rem;
      height: 60px;
      display: flex;
      justify-content: center;
      align-items: center;
      background-color: #fff;
      font-size: 0.4rem;
   }
   .click_box_left {
      width: 50%;
      text-align: center;
      color: rgb(64, 158, 255);
      position: relative;
      font-size: 0.4rem;
   }
   .click_box_g {
      position: absolute;
      width: 20px;
      height: 4px;
      left: 2.07037rem;
      bottom: -10px;
      background-color: #3460F6;
   }
   .click_box_right {
      font-size: 0.4rem;
      position: relative;
      text-align: center;
      width: 50%;
   }
   .tabs_card_content {
      width: 100%;
      height: 100%;
      .tabs_top_title {
         width: 100%;
         height: 1rem;
         border-bottom: 0.01rem solid #ececec;
         display: flex;
         align-items: center;
         font-size: 0.4103rem;
         padding: 0.2rem 0.3rem 0;
         justify-content: space-between;
         overflow-x: scroll;
         background-color: #F2F3F7;
         &::-webkit-scrollbar {
            display: none;
         }
         >div {
            // width: 20%;
            height: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            white-space: nowrap;
            padding: 0 0.3rem;
            span {
               display: inline-block;
               height: 100%;
               font-weight: 550;
               // line-height: 0.7179rem;
               text-align: center;
            }
            span.active {
               color: rgb(62, 121, 226);
               text-align: center;
               // border-bottom: 0.1rem solid rgb(62, 121, 226);
            }
            span.active::after {
               content: '';
               width: 80%;
               height: 0.001rem;
               display: block;
               margin: 0 auto;
               margin-top: 0.3rem;
               border-bottom: 0.06rem solid rgb(62, 121, 226);
            }
         }
      }
      .tabs_o {
         width: 100%;
         margin-top: 0.3rem;
         >.tabs_o_items {
            width: 100%;
            // height: 2.2rem;
            position: relative;
            border-bottom: 0.01rem solid #ececec;
            // margin-bottom: 0.1rem;
            padding: 0.3rem 0;
            .tabs_o_title {
               width: 100%;
               // height: 0.7179rem;
               display: flex;
               align-items: center;
               justify-content: space-between;
               span {
                  display: inline-block;
                  margin-right: 0.2rem;
               }
               .title {
                  font-weight: 600;
                  font-size: 0.4059rem;
               }
               .buy_to_sell {
                  width: 80px;
                  text-align: center;
                  padding: 0.08rem 0.1rem;
                  font-weight: 600;
               }
               .multiple {
                  padding: 0.08rem 0.1rem;
                  background: rgb(236, 243, 252);
                  color: rgb(42, 108, 230);
                  font-weight: 600;
               }
               .nums {
                  color: @topCardColor;
               }
            }
            .center_price {
               width: 100%;
               // height: 0.3846rem;
               justify-content: space-between;
               display: flex;
               align-items: center;
               margin-top: 0.3rem;
               >div {
                  // width: 28%;
                  height: 100%;
                  span {
                     font-weight: 600;
                  }
               }
               .profit .lv {
                  color: #27ab63;
               }
               .profit .red {
                  color: #ff0000;
               }
            }
            .bottom_price_title {
               width: 100%;
               // height: 0.4rem;
               margin-top: 0.2rem;
               display: flex;
               align-items: center;
               justify-content: space-between;
               font-size: 0.4rem;
               >div {
                  height: 100%;
                  color: @topCardColor;
                  span {
                     font-weight: 600;
                  }
               }
            }
         }
      }
   }
   .waiting {
      width: 100%;
      margin-top: 0.3rem;
      position: relative;
      .waiting_box {
         width: 100%;
         height: 4rem;
         display: flex;
         align-items: center;
         justify-content: center;
         margin-top: 1rem;
         >div {
            width: 60%;
            height: 100%;
            img {
               width: 100%;
               height: 100%;
            }
            .gd {
               display: inline-block;
               width: 100%;
               text-align: center;
               color: rgb(133, 133, 133);
            }
            .trading {
               width: 100%;
               height: 2rem;
               display: flex;
               align-items: center;
               justify-content: center;
               span {
                  display: inline-block;
                  width: 4.1026rem;
                  height: 1.0256rem;
                  background: #f7f7f7;
                  color: #3773dd;
                  font-weight: 600;
                  font-size: 0.4615rem;
                  text-align: center;
                  line-height: 1.0256rem;
                  border-radius: 0.2rem;
               }
            }
         }
      }
   }
   .right_btn {
      width: 1.9949rem;
      height: 0.6667rem;
      // line-height: 0.6667rem;
      // position: absolute;
      right: 1%;
      top: 27%;
      // background: #f7f7f7;
      // color: #3773dd;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 0.15rem;
      span {
         font-weight: 600;
         font-size: 0.4rem;
      }
   }
   .right_count {
      width: 1.7949rem;
      height: 0.6667rem;
      position: absolute;
      right: 1%;
      top: 20%;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 0.3rem;
      span {
         font-weight: 600;
         font-size: 0.4rem;
      }
   }
   .profit_res {
      width: 100% !important;
      margin-top: .2rem;
   }
   .oes {
      // height: 1.5rem !important;
   }
   .dialog {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      background: rgba(0, 0, 0, .5);
      z-index: 9;
   }
   .overflow_box {
      width: 100%;
      height: 1.5rem;
      border-radius: .2rem;
      padding: 0 .3rem;
      margin: .3rem 0;
      background: #fff;
      display: flex;
      align-items: center;
      justify-content: space-between;
      >div {
         height: 50%;
         display: flex;
         justify-content: center;
         align-items: center;
      }
      .left_titles {
         color: rgb(129, 131, 133);
         font-size: 0.4rem;
         span {
            font-weight: normal !important;
         }
      }
      .right_price {
         color: rgb(128, 135, 145);
      }
   }
   .top_class_box_left {
      color: #fff;
      border-radius: 50px;
      background: #409eff;
      font-size: 0.4rem;
      padding: 4px 12px;
      height: 40px;
      display: flex;
      justify-content: center;
      align-items: center;
   }
   .kuan {
      width: auto !important;
      // padding-left: 0.5rem;
      letter-spacing: 0.02rem;
   }
   .kuans {
      width: auto !important;
      padding-left: 0.5rem;
      letter-spacing: 0.02rem;
   }
   .left_price {
      font-weight: normal;
      font-size: 0.4rem;
      span {
         font-size: 0.4rem;
         color: #000;
         font-weight: 500 !important;
         ;
      }
   }
   .left_price {
      font-weight: normal;
      font-size: 0.4rem;
      span {
         font-size: 0.4rem;
         color: #000;
         font-weight: 500 !important;
         ;
      }
   }
   .numDemo {
      font-size: 0.3rem;
      color: #000;
      font-weight: 500 !important;
      ;
   }
   .maichu {
      color: rgb(225, 57, 65);
      background: rgb(252, 238, 240);
   }
   .mairu {
      color: rgb(109, 175, 125);
      background: rgb(215, 243, 235);
   }
   .jiantou {
      // position: relative;
   }
   .top_class_box {
      padding: 0 0.3333rem;
      background: #fff;
      width: 100%;
      height: 50px;
      border-radius: 8px;
      display: flex;
      justify-content: space-around;
      align-items: center;
      padding: 4px 0;
      box-shadow: 0 2px 12px 0 rgba(0, 0, 0, .2);
   }
   .top_class {
      display: flex;
      justify-content: center;
      padding: 0 0.3333rem;
      align-items: center;
   }
   .jiantou::before {
      content: '';
      background-image: url('../../assets/img/youyou.png');
      background-size: 100% 100%;
      width: 0.6rem;
      height: 0.2rem;
      font-size: 0.8rem;
      position: absolute;
      right: 0.5rem;
      top: calc(50% - 0.15rem);
   }
<style lang="less" scoped>
.ware {
  overflow: hidden;
  min-height: 100vh;
  // padding: 0 0.4rem 0.4rem;
  background-color: #fff;
}
.tabs-box {
  display: flex;
  overflow-x: auto;
  width: 100%; /* Ensures it takes full width of the container */
  white-space: nowrap; /* Prevents text wrapping */
  background: rgb(247, 247, 250);
  margin-top: 20px;
  border-radius: 20px;
  padding-right: 20px;
}
.tabs-box::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Opera */
}
.tabs-item {
  cursor: pointer;
  flex: 0 0 auto; /* Ensures items do not grow or shrink */
  padding: 15px; /* Adjust padding as needed */
  // border: 1px solid #ccc; /* Just for demonstration, you can style as needed */
  margin-right: 10px; /* Adjust margin as needed */
  min-width: 100px; /* Minimum width for each item */
  text-align: center;
  color: rgb(140, 159, 173);
  font-size: 16px;
  // padding: 0.10667rem 0.34667rem;
}
.tabs-item-active {
  border-radius: 20px;
  background: #39a08e;
  // padding: 0.10667rem 0.34667rem;
  color: #fff;
}
</style>