From b35e9e4aebcec3b36ccc7cab4639ff2ad74aea97 Mon Sep 17 00:00:00 2001
From: zzzz <690498789@qq.com>
Date: Sat, 23 Mar 2024 18:10:25 +0800
Subject: [PATCH] 1

---
 src/page/trading/buy.vue |  879 ++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 485 insertions(+), 394 deletions(-)

diff --git a/src/page/trading/buy.vue b/src/page/trading/buy.vue
index 766e3de..7d74fe9 100644
--- a/src/page/trading/buy.vue
+++ b/src/page/trading/buy.vue
@@ -7,8 +7,8 @@
             <img src="../../assets/img/zuojiantou.png" alt />
           </div>
           <div class="right_title">
-            <div class="t_t">
-              <span>{{ name }}</span>
+            <div class="t_t" style="white-space: nowrap;">
+              <span>{{ name | getName }}</span>
             </div>
             <div class="b_t">
               <span>{{ code }}</span>
@@ -22,161 +22,155 @@
                 <span>{{ nowPrice }}</span>
               </div>
               <div class="bottom_es">
-                <span>{{ '买入价' }}</span>
+                <span>{{ $t('hj98') }}</span>
               </div>
             </div>
             <div class="rights">
               <div class="ese">
-                <div class="mc" 
-                @click="handleTradingClick(0)"
-                :class="tabsCurrentIndex === 0 ? 'actives' : ''"
-                >
-                  <span>卖出</span>
+                <div class="mc" @click="handleTradingClick(0)" :class="tabsCurrentIndex === 0 ? 'actives' : ''">
+                  <span>{{ $t('hj84') }}</span>
                 </div>
-                
-                <div class="mr" 
-                @click="handleTradingClick(1)"
-                :class="tabsCurrentIndex === 1 ? 'active' : ''"
-                >
-                  <span>买入</span>
+
+                <div class="mr" @click="handleTradingClick(1)" :class="tabsCurrentIndex === 1 ? 'active' : ''">
+                  <span>{{ $t('hj85') }}</span>
                 </div>
               </div>
             </div>
           </div>
         </div>
-        
+
       </div>
 
       <div class="price_tabs">
-          <div class="tabs">
-            <div class="tab_item" 
-            v-for="(item, index) in priceTabs" 
-            :key="index"
-            @click="handleTabsClick(item, index)"
-            :class="priceTabsCurrentIndex === index ? 'active' : ''"
-            
-            >
-              <span>{{ item }}</span>
+        <div class="tabs">
+          <div class="tab_item" v-for="(item, index) in priceTabs" :key="index" @click="handleTabsClick(item, index)"
+            :class="priceTabsCurrentIndex === index ? 'active' : ''">
+            <span>{{ item }}</span>
+          </div>
+        </div>
+        <div class="tabs_content">
+          <div class="num" v-show="priceTabsCurrentIndex == 1">
+            <span>{{ $t('hj99') }}</span>
+          </div>
+          <div class="tr_es flexJy" v-show="priceTabsCurrentIndex == 1">
+            <div class="top_input">
+              <input type="Number" v-model="nums">
+            </div>
+            <div class="right_sw flexJy" style="width:auto;">
+              <div class="addorj" @click="gdJian">
+
+                <img src="@/assets/img/ic_number_jian.png" alt />
+              </div>
+              <div class="addorj"></div>
+              <div class="addorj"
+                @click="typeof nums == 'string' ? nums = Number(Number(nums) + 1).toFixed(2) : nums = (Number(nums) + 1).toFixed(2)">
+                <img src="@/assets/img/ic_number_add.png" />
+              </div>
             </div>
           </div>
-          <div class="tabs_content">
-            <div class="num" v-show="priceTabsCurrentIndex==1">
-              <span>{{ '当价格满足条件时买入' }}</span>
+          <div class="num">
+            <span>{{ $t('hj100') }}</span>
+          </div>
+          <div class="tr_es flexJy">
+            <div class="top_input">
+              <input type="number" onkeyup="value=value.replace(/[^\d]/g,'')"  v-model="num">
             </div>
-            <div class="tr_es flexJy"  v-show="priceTabsCurrentIndex==1">
-              <div class="top_input">
-                <input type="text" v-model="nums"  onkeyup="value=value.replace(/[^\d]/g,'')" >
+            <div class="right_sw flexJy" style="width:auto;">
+              <div class="addorj" @click="jyslJian">
+                <img src="@/assets/img/ic_number_jian.png" />
               </div>
-              <div class="right_sw flexJy" style="width:auto;">
-              <div class="addorj"  @click="gdJian">
-                <img src="@/assets/img/ic_number_jian.png"/>
-              </div>
-              <div class="addorj" ></div>
-              <div class="addorj" @click="typeof nums =='string'?nums = Number((nums.match(/\d+/g))[0])+1:nums++">
-                <img src="@/assets/img/ic_number_add.png"/>
+              <div class="addorj"></div>
+              <div class="addorj"
+                @click="typeof num == 'string' ? num = Number(Number(num) + 1) : num = Number(Number(num) + 1)">
+                <img src="@/assets/img/ic_number_add.png" />
               </div>
             </div>
+          </div>
+          <div class="tr_rs gg" @click="showGg = true">
+            <div class="top_bzz">
+              <span>{{ $t('hj101') }}</span>
+              <span>{{ selectCycle + 'X' }}</span>
             </div>
-            <div class="num">
-              <span>{{ '交易数量(手)' }}</span>
-            </div>
-            <div class="tr_es flexJy">
-              <div class="top_input">
-                <input type="text" onkeyup="value=value.replace(/[^\d]/g,'')" v-model="num">
-              </div>
-              <div class="right_sw flexJy" style="width:auto;">
-              <div class="addorj"  @click="jyslJian">
-                <img src="@/assets/img/ic_number_jian.png"/>
-              </div>
-              <div class="addorj" ></div>
-              <div class="addorj" @click="typeof num =='string'?num = Number((num.match(/\d+/g))[0])+1:num++">
-                <img src="@/assets/img/ic_number_add.png"/>
-              </div>
-            </div>
-            </div>
-            <div class="tr_rs gg" @click="showGg=true">
-              <div class="top_bzz">
-                <span>{{ '杠杆' }}</span>
-                <span>{{ selectCycle+'X' }}</span>
-              </div>
-              <!-- <div class="bottom_bzz">
+            <!-- <div class="bottom_bzz">
                 <span>{{  }}</span>
                 <span>{{  }}</span>
               </div> -->
+          </div>
+          <div class="tr_rs">
+            <div class="top_bzz" style="padding-bottom: 0.2rem;">
+              <span style="text-align: left;">{{ if_us == 1 ? $t('hj102') + '($)' : if_us == '2' ? $t('hj102') + '(HK$)' : $t('hj102') + '(₹)'
+              }}</span>
+              <span style="text-align: right;">{{ if_us == 1 ? $t('hj103') + '($)' : if_us == '2' ? $t('hj103') + '(HK$)' : $t('hj103') + '(₹)'
+              }}</span>
             </div>
-            <div class="tr_rs">
-              <div class="top_bzz">
-                <span>{{ '需付保证金(¥)' }}</span>
-                <span>{{ '可用余额(¥)' }}</span>
-              </div>
-              <div class="bottom_bzz">
-                <!-- <span>{{ (nowPrice/ selectCycle).toFixed(2) }}</span> -->
-                <span>{{ (nowPrice/ selectCycle).toFixed(2) }}</span>
-                <span v-if="$store.state.userInfo.userAmt==undefined">¥0.00</span>
-                  <span
-                    v-if="$store.state.userInfo&&type!='0'"
-                    style="white-space: nowarp;"
-                  >
-                    {{ '¥' + $store.state.userInfo.userIndexAmt
-                    }}
-                  </span>
-                  <span
-                    v-if="$store.state.userInfo.userAmt!=undefined&&type=='0'"
-                    style="white-space: nowarp;"
-                  >
-                    {{ '¥ ' + $store.state.userInfo.userAmt
-                    }}
-                  </span>
-              </div>
+
+            <div class="bottom_bzz">
+              <!-- <span>{{ (nowPrice/ selectCycle).toFixed(2) }}</span> -->
+              <span>{{ (nowPrice / selectCycle * num).toFixed(2) }}</span>
+              <!-- <span>{{ (nowPrice / selectCycle * num * 100).toFixed(2) }}</span> -->
+              <span v-if="$store.state.userInfo.userAmt == undefined">₹0.00</span>
+              <span v-if="$store.state.userInfo.userIndexAmt != undefined && type != '0'" style="white-space: nowarp;">
+                {{ if_us == 1 ? '$' + (Number($store.state.userInfo.userIndexAmt) / 7.1).toFixed(2) : if_us == '2' ?
+                    'HK$' +
+                    Number($store.state.userInfo.userIndexAmt / 0.9).toFixed(2) : '₹' + $store.state.userInfo.userIndexAmt
+                }}
+              </span>
+              <span v-if="$store.state.userInfo.userAmt != undefined && type == '0'" style="white-space: nowarp;">
+                {{ if_us == 1 ? '$' + (Number($store.state.userInfo.userAmt) / 7.1).toFixed(2) : if_us == '2' ? 'HK$' +
+                    Number($store.state.userInfo.userAmt / 0.9).toFixed(2) : '₹ ' + $store.state.userInfo.userAmt
+                }}
+              </span>
             </div>
           </div>
         </div>
-        <div class="switchs">
-          <div class="zy">
-            <div class="left_zy">
-              <span>止盈</span>
+      </div>
+      <div class="switchs">
+        <div class="zy">
+          <div class="left_zy">
+            <span>{{ $t('hj104') }}</span>
+          </div>
+          <div class="right_sw">
+            <van-switch v-model="checkedZy" />
+          </div>
+        </div>
+        <div class="zy" v-show="checkedZy">
+          <div class="left_zy">
+            <input v-model="profitTarget" onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')"
+              @input="zyInt" />
+          </div>
+          <div class="right_sw" style="width:auto;">
+            <div class="addorj" @click="zYjian">
+              <img src="@/assets/img/ic_number_jian.png" />
             </div>
-            <div class="right_sw">
-              <van-switch v-model="checkedZy" />
+            <div class="addorj"></div>
+            <div class="addorj" @click="profitTarget = (Number(profitTarget) + 1).toFixed(2)">
+              <img src="@/assets/img/ic_number_add.png" />
             </div>
           </div>
-          <div class="zy" v-show="checkedZy">
-            <div class="left_zy">
-              <input v-model="profitTarget" onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" @input="zyInt"/>
+        </div>
+        <div class="zy">
+          <div class="left_zy">
+            <span>{{ $t('hj105') }}</span>
+          </div>
+          <div class="right_sw">
+            <van-switch v-model="checkedZs" />
+          </div>
+        </div>
+        <div class="zy" v-show="checkedZs">
+          <div class="left_zy">
+            <input v-model="zhisun" onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" @input="zsInt" />
+          </div>
+          <div class="right_sw" style="width:auto;">
+            <div class="addorj" @click="zhisun--">
+              <img src="@/assets/img/ic_number_jian.png" />
             </div>
-            <div class="right_sw" style="width:auto;">
-              <div class="addorj"  @click="zYjian">
-                <img src="@/assets/img/ic_number_jian.png"/>
-              </div>
-              <div class="addorj" ></div>
-              <div class="addorj" @click="profitTarget=(Number(profitTarget)+1).toFixed(2)">
-                <img src="@/assets/img/ic_number_add.png"/>
-              </div>
+            <div class="addorj"></div>
+            <div class="addorj" @click="zSjia">
+              <img src="@/assets/img/ic_number_add.png" />
             </div>
           </div>
-          <div class="zy">
-            <div class="left_zy">
-              <span>止损</span>
-            </div>
-            <div class="right_sw">
-              <van-switch v-model="checkedZs" />
-            </div>
-          </div>
-          <div class="zy" v-show="checkedZs">
-            <div class="left_zy">
-              <input v-model="zhisun"  onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" @input="zsInt"/>
-            </div>
-            <div class="right_sw" style="width:auto;">
-              <div class="addorj"  @click="zhisun--">
-                <img src="@/assets/img/ic_number_jian.png"/>
-              </div>
-              <div class="addorj" ></div>
-              <div class="addorj" @click="zSjia">
-                <img src="@/assets/img/ic_number_add.png"/>
-              </div>
-            </div>
-          </div>
-          <!-- <div class="zy">
+        </div>
+        <!-- <div class="zy">
             <div class="left_zy">
               <span>追踪止损</span>
             </div>
@@ -184,57 +178,57 @@
               <van-switch v-model="profitArr[2].checked" />
             </div>
           </div> -->
+      </div>
+      <div class="btn_buy" @click="gdOrSetBuy()">
+        <div :class="tabsCurrentIndex == 0 ? 'maichu' : ''">
+          <span>{{ tabsCurrentIndex == 0 ? $t('hj84') : $t('hj85') }}</span>
         </div>
-        <div class="btn_buy" @click="gdOrSetBuy()" >
-          <div :class="tabsCurrentIndex == 0 ? 'maichu':''">
-            <span>{{ tabsCurrentIndex==0?'卖出':'买入' }}</span>
-          </div>
-        </div>
+      </div>
     </div>
-    <van-action-sheet
-  v-model="showGg"
-  :actions="siteLeverList"
-  cancel-text="取消"
-  description="选择杠杆"
-  close-on-click-action
-  @select="onSelect"
-/>
+    <van-action-sheet v-model="showGg" :actions="siteLeverList" :cancel-text="$t('hj106')" :description="$t('hj107')"
+      close-on-click-action @select="onSelect" />
   </div>
 </template>
 
 <script>
-import * as api from "@/axios/api";
-import {
-  Toast
-} from "mint-ui";
+import * as api from '@/axios/api'
+// import {
+//   Toast
+// } from 'mint-ui'
 export default {
   name: 'trBuy',
-  created() {
-    if(this.$route.query.t){
-      this.tabsCurrentIndex=  Number(this.$route.query.t)
+  created () {
+    if (this.$route.query.t) {
+      this.tabsCurrentIndex = Number(this.$route.query.t)
       console.log(this.tabsCurrentIndex)
     }
-    if(this.$route.query.m){
-      this.nowPrice= Number(this.$route.query.m)
+    if (this.$route.query.m) {
+      this.nowPrice = Number(this.$route.query.m)
       this.profitTarget = Number(this.$route.query.m)
-      this.zhisun =  Number(this.$route.query.m)
+      this.zhisun = Number(this.$route.query.m)
       this.nums = Number(this.$route.query.m)
     }
-    if(this.$route.query.code){
-      this.code= this.$route.query.code
+    if (this.$route.query.id) {
+      this.id = this.$route.query.id
     }
-    if(this.$route.query.name){
-      this.name= this.$route.query.name
+    if (this.$route.query.code) {
+      this.code = this.$route.query.code
     }
-    if(this.$route.query.type){
-      this.type= this.$route.query.type
+    if (this.$route.query.name) {
+      this.name = this.$route.query.name
+    }
+    if (this.$route.query.type) {
+      this.type = this.$route.query.type
+    }
+    if (this.$route.query.if_us) {
+      this.if_us = this.$route.query.if_us
     }
   },
-  data() {
+  data () {
     return {
-      tradingArr: ['卖出', '买入'],
+      tradingArr: [this.$t('hj84'), this.$t('hj85')],
       tabsCurrentIndex: 0,
-      priceTabs: ['市单价', '挂单'],
+      priceTabs: [this.$t('hj108'), this.$t('hj109')],
       priceTabsCurrentIndex: 0,
       num: 1,
       nums: 1,
@@ -243,166 +237,185 @@
       type: 0,
       code: '',
       name: '',
-      settingInfo:[],
+      settingInfo: [],
       selectCycle: 20,
-      siteLeverList:[],
-      checkedZy:false,
-      checkedZs:false,
-      buying:false,
-      zhisun:0,
+      siteLeverList: [],
+      checkedZy: false,
+      checkedZs: false,
+      buying: false,
+      zhisun: 0,
       showGg: false,
       profitTarget: 0,
+      if_us: 0,
+      bayType: '',
+      id: '',
       actions: [
-        { name: '100X', subname: '需付保证金:' },
-        { name: '200X', subname: '需付保证金:'},
-        { name: '300X', subname: '需付保证金:' },
+        { name: '100X', subname: this.$t('hj102') },
+        { name: '200X', subname: this.$t('hj102') },
+        { name: '300X', subname: this.$t('hj102') }
       ],
       profitArr: [
         {
-          name: '止盈',
+          name: this.$t('hj104'),
           checked: false
         },
         {
-          name: '止损',
+          name: this.$t('hj105'),
           checked: false
         },
         {
-          name: '追踪止损',
+          name: this.$t('hj110'),
           checked: false
         }
       ]
+
     }
   },
-  mounted() {
-    this.getUserInfo();
-    this.getSettingInfo();
-    
+  mounted () {
+    this.getUserInfo()
+    this.getSettingInfo()
+    this.bayType = this.$route.query.bayType
+    if (this.bayType == 'in') {
+      this.priceTabs = [this.$t('hj108'), this.$t('hj109')]
+    } else if (this.bayType == 'qh') {
+      this.priceTabs = [this.$t('hj108')]
+    }
+  },
+  watch: {
+    checkedZy (val) {
+      if (navigator.vibrate) {
+        // 支持
+        navigator.vibrate([55])
+      }
+    },
+    checkedZs (val) {
+      if (navigator.vibrate) {
+        // 支持
+        navigator.vibrate([55])
+      }
+    }
   },
   methods: {
-    handleBack() {
-      this.$router.go(-1);
+    handleBack () {
+      this.$router.go(-1)
     },
-    handleTradingClick(index) {
-      this.tabsCurrentIndex = index;
+    handleTradingClick (index) {
+      this.tabsCurrentIndex = index
     },
-    handleTabsClick(item, index) {
-      this.priceTabsCurrentIndex = index;
+    handleTabsClick (item, index) {
+      this.priceTabsCurrentIndex = index
     },
-    jyslJian(){
-      if(typeof this.num =='string'){
-       this.num = 1
-      }else{
-      if(this.num>1){
-        if(typeof this.num =='string'){
-         this.num =  Number((this.num.match(/\d+/g))[0])-1
-        }else{
-          this.num--
+    jyslJian () {
+      if (typeof this.num === 'string') {
+        this.num = 1
+      } else {
+        if (this.num > 1) {
+          if (typeof this.num === 'string') {
+            this.num = Number((this.num) - 1)
+          } else {
+            this.num = Number((this.num) - 1)
+          }
+        } else {
+          this.num = 1
         }
-      }else{
-        this.num=1
       }
-    }
     },
-    gdJian(){
-      if(typeof this.nums =='string'){
-       this.nums = this.nowPrice
-      }else{
-      if(this.nums>1){
-        if(typeof this.nums =='string'){
-         this.nums =  Number((this.nums.match(/\d+/g))[0])-1
-        }else{
-          this.nums--
+    gdJian () {
+      if (this.nums > 1) {
+        if (typeof this.nums === 'string') {
+          this.nums = Number(Number(this.nums) - 1).toFixed(2)
+        } else {
+          this.nums = Number(Number(this.nums) - 1).toFixed(2)
         }
-      }else{
-        this.nums=1
+      } else {
+        this.nums = this.nowPrice
       }
-    }
     },
-    zYjian(){
-      if((Number(this.profitTarget)-1).toFixed(2)<this.nowPrice){
+    zYjian () {
+      if ((Number(this.profitTarget) - 1).toFixed(2) < this.nowPrice) {
         this.profitTarget = this.nowPrice
-      }else{
-        this.profitTarget=(Number(this.profitTarget)-1).toFixed(2)
+      } else {
+        this.profitTarget = (Number(this.profitTarget) - 1).toFixed(2)
       }
-      
     },
-    zSjia(){
-      if((Number(this.zhisun)+1).toFixed(2)>this.nowPrice){
+    zSjia () {
+      if ((Number(this.zhisun) + 1).toFixed(2) > this.nowPrice) {
         this.zhisun = this.nowPrice
-      }else{
-      this.zhisun++
+      } else {
+        this.zhisun++
       }
     },
-    zsInt(e){
-      if(typeof e.target.value =='string'){
-       this.zhisun = this.nowPrice
-      }else{
-        if(Number(e.target.value)>this.nowPrice){
+    zsInt (e) {
+      if (typeof e.target.value === 'string') {
         this.zhisun = this.nowPrice
-      }
-      }
-      
-    },
-    zyInt(e){
-      if(typeof e.target.value =='string'){
-       this.profitTarget = this.nowPrice
-      }else{
-      if(Number(e.target.value)<Number(this.nowPrice)){
-       this.profitTarget = Number(this.nowPrice)
-      }
+      } else {
+        if (Number(e.target.value) > this.nowPrice) {
+          this.zhisun = this.nowPrice
+        }
       }
     },
-    onSelect(val){
+    zyInt (e) {
+      if (typeof e.target.value === 'string') {
+        this.profitTarget = this.nowPrice
+      } else {
+        if (Number(e.target.value) < Number(this.nowPrice)) {
+          this.profitTarget = Number(this.nowPrice)
+        }
+      }
+    },
+    onSelect (val) {
       this.selectCycle = val.gg
-      
     },
-    gdOrSetBuy(){
-      if(this.priceTabsCurrentIndex==0){
+    gdOrSetBuy () {
+      if (this.priceTabsCurrentIndex == 0) {
         this.setBuy()
-      }else{
+      } else {
         this.gdBuy()
       }
+      if (navigator.vibrate) {
+        // 支持
+        navigator.vibrate([55])
+      }
     },
-    //挂单
-    async gdBuy(){
-      if(this.buying){
-        return;
+    // 挂单
+    async gdBuy () {
+      if (this.buying) {
+        return
       }
-        this.buying = true
-        console.log(this.tabsCurrentIndex,"啊是对啊是给丢啊施工队啊收到过")
-      let opts={
-        stockId:this.code,
-        buyNum:this.num * 100,
+      this.buying = true
+      let opts = {
+        stockId: this.code,
+        buyNum: this.num,
         lever: this.selectCycle ? this.selectCycle : 0,
-        targetPrice:this.nums,
+        targetPrice: this.nums
       }
-      if(this.tabsCurrentIndex==0){
-          opts.buyType=1
-        }else{
-          opts.buyType=0
-        }
-      if(this.checkedZy){
-          //opts.profitTarget = this.profitTarget.substring(0,this.profitTarget.indexOf(".")+3)
-          opts.profitTarget = this.profitTarget
-        }
-        if(this.checkedZs){
-          opts.stopTarget = this.zhisun
-        }
+      if (this.tabsCurrentIndex == 0) {
+        opts.buyType = 1
+      } else {
+        opts.buyType = 0
+      }
+      if (this.checkedZy) {
+        // opts.profitTarget = this.profitTarget.substring(0,this.profitTarget.indexOf(".")+3)
+        opts.profitTarget = this.profitTarget
+      }
+      if (this.checkedZs) {
+        opts.stopTarget = this.zhisun
+      }
       let data = await api.guadan(opts)
       this.buying = false
       if (data.status === 0) {
-          this.$store.commit('elAlertShow',{'elAlertShow':true,'elAlertText': data.msg,'elAlertType':'success'});
-          this.getUserInfo()
-          this.$router.push('/orderlist?index=2')
-        } else {
-          this.$store.commit('elAlertShow',{'elAlertShow':true,'elAlertText': data.msg});
-        }
+        this.$store.commit('elAlertShow', { 'elAlertShow': true, 'elAlertText': data.msg, 'elAlertType': 'success' })
+        this.getUserInfo()
+        this.$router.push('/warehouse?index=1')
+      } else {
+        this.$store.commit('elAlertShow', { 'elAlertShow': true, 'elAlertText': data.msg })
+      }
     },
-    //买卖
-    setBuy(){
+    // 买卖
+    setBuy () {
       if (!this.$store.state.userInfo.idCard) {
-        this.$store.commit('elAlertShow',{'elAlertShow':true,'elAlertText': '您还未实名认证,请先实名认证了再下单'});
-        this.$router.push('/authentication')
+        this.$store.commit('elAlertShow', { 'elAlertShow': true, 'elAlertText': this.$t('hj111') })
+        this.$router.push('/authentications')
         return
       }
       // if (!this.agree) {
@@ -414,86 +427,88 @@
       // } else if(isNull(this.subaccountNumber)) {
       //   Toast('请选择子账户')
       // } else {}
-      if(this.buying){
-        return;
+      if (this.buying) {
+        return
       }
-        this.buying = true
-        let opts={}
-         opts = {
-          // stockId: this.detail.id,
-          // buyNum: this.selectNumber ? this.selectNumber * 100 : 0, // 单位为手
-          // buyType: this.selectType,
-          // lever: this.selectCycle ? this.selectCycle : 0,
-          // subaccountNumber:this.subaccountNumber
-          
-          //买入是买涨buyType:0, 卖出是买跌buyType:1,卖出的状态是0,买入的状态是1
-          buyNum: this.num * 100, // 单位为手
-          //buyNum: (this.num.match(/\d+/g))[0] * 100, // 单位为手
-          lever: this.selectCycle ? this.selectCycle : 0,
-        }
-        if(this.tabsCurrentIndex==0){
-          opts.buyType=1
-        }else{
-          opts.buyType=0
-        }
-        if(this.checkedZy){
-          //opts.profitTarget = this.profitTarget.substring(0,this.profitTarget.indexOf(".")+3)
-          opts.profitTarget = this.profitTarget
-        }
-        if(this.checkedZs){
-          opts.stopLoss = this.zhisun
-        }
-        if(this.type==0){
-          //股票
-          this.gpBuy(opts)
+      this.buying = true
+      let opts = {}
+      opts = {
+        // stockId: this.detail.id,
+        // buyNum: this.selectNumber ? this.selectNumber * 100 : 0, // 单位为手
+        // buyType: this.selectType,
+        // lever: this.selectCycle ? this.selectCycle : 0,
+        // subaccountNumber:this.subaccountNumber
+
+        // 买入是买涨buyType:0, 卖出是买跌buyType:1,卖出的状态是0,买入的状态是1
+        buyNum: this.num, // 单位为手
+        // buyNum: (this.num.match(/\d+/g))[0] * 100, // 单位为手
+        lever: this.selectCycle ? this.selectCycle : 0
+      }
+      if (this.tabsCurrentIndex == 0) {
+        opts.buyType = 1
+      } else {
+        opts.buyType = 0
+      }
+      if (this.checkedZy) {
+        // opts.profitTarget = this.profitTarget.substring(0,this.profitTarget.indexOf(".")+3)
+        opts.profitTarget = this.profitTarget
+      }
+      if (this.checkedZs) {
+        opts.stopLoss = this.zhisun
+      }
+      if (this.type == 0) {
+        // 股票
+        this.gpBuy(opts)
         //   opts.stockId= this.code,
-        //  data = await api.buy(opts)  
-        }else{
-          //指数
-          this.zsBuy(opts)
+        //  data = await api.buy(opts)
+      } else {
+        // 指数
+        this.zsBuy(opts)
         //   opts.indexId= this.code,
         //  data = await api.indexBuy(opts)
-        }
-        
-      
+      }
     },
-    //股票买入
-    async gpBuy(opts){
-      opts.stockId= this.code
+    // 股票买入
+    async gpBuy (opts) {
+      opts.stockId = this.id
       let data = await api.buy(opts)
       this.buying = false
-        if (data.status === 0) {
-          this.$store.commit('elAlertShow',{'elAlertShow':true,'elAlertText': data.msg,'elAlertType':'success'});
-          this.getUserInfo()
-          this.$router.push('/orderlist?index=2')
+      if (data.status === 0) {
+        this.$store.commit('elAlertShow', { 'elAlertShow': true, 'elAlertText': data.msg, 'elAlertType': 'success' })
+        this.getUserInfo()
+        this.$router.push('/warehouse?index=0')
+      } else {
+        if (data.msg.indexOf('不在交易时段内') > -1) {
+          this.$store.commit('elAlertShow', { 'elAlertShow': true, 'elAlertText': this.$t('hj113') })
         } else {
-          this.$store.commit('elAlertShow',{'elAlertShow':true,'elAlertText': data.msg});
+          this.$store.commit('elAlertShow', { 'elAlertShow': true, 'elAlertText': data.msg })
         }
+      }
     },
-    //指数买入
-    async zsBuy(opts){
-      opts.indexId= this.type
+    // 指数买入
+    async zsBuy (opts) {
+      opts.indexId = this.id
       let data = await api.indexBuy(opts)
       this.buying = false
-        if (data.status === 0) {
-          this.$store.commit('elAlertShow',{'elAlertShow':true,'elAlertText': data.msg,'elAlertType':'success'});
-          this.getUserInfo()
-          this.$router.push('/orderlist?index=2')
-        } else {
-          this.$store.commit('elAlertShow',{'elAlertShow':true,'elAlertText': data.msg});
-        }
+      if (data.status === 0) {
+        this.$store.commit('elAlertShow', { 'elAlertShow': true, 'elAlertText': data.msg, 'elAlertType': 'success' })
+        this.getUserInfo()
+        this.$router.push('/warehouse?index=0')
+      } else {
+        this.$store.commit('elAlertShow', { 'elAlertShow': true, 'elAlertText': data.msg })
+      }
     },
-    async getUserInfo() {
+    async getUserInfo () {
       // 获取用户信息
       //   let showcookie = this.getCookie('USER_TOKEN');
-      let data = await api.getUserInfo();
+      let data = await api.getUserInfo()
       if (data.status === 0) {
         // this.getProductSetting()
-        this.$store.state.userInfo = data.data;
+        this.$store.state.userInfo = data.data
       } else {
-        this.$store.commit('elAlertShow',{'elAlertShow':true,'elAlertText': data.msg});
+        this.$store.commit('elAlertShow', { 'elAlertShow': true, 'elAlertText': data.msg })
       }
-      this.$store.state.user = this.user;
+      this.$store.state.user = this.user
     },
     async getSettingInfo () {
       // 网站设置信息
@@ -502,38 +517,44 @@
         // 成功
         this.settingInfo = data.data
         // 杠杆倍数
-        //data.data.siteLever根据/分割成数组
-        //this.siteLeverList = data.data.siteLever.split('/')
-        
+        // data.data.siteLever根据/分割成数组
+        // this.siteLeverList = data.data.siteLever.split('/')
 
         this.selectCycle = data.data.siteLever
-        if(this.$store.state.userInfo !== undefined && this.$store.state.userInfo !== null && this.$store.state.userInfo.phone !== '' && this.$store.state.userInfo.siteLever != null){
-            this.selectCycle = this.$store.state.userInfo.siteLever.split('/')[0]
-            this.siteLeverList = []
-            for (let i = 0; i < this.$store.state.userInfo.siteLever.split('/').length; i++) {
-              let val = this.$store.state.userInfo.siteLever.split('/')[i]
-              let item = { label: val + '倍', value: val }
-              this.siteLeverList.push(item)
-            }
-          } else {
-            this.selectCycle = data.data.siteLever.split('/')[0]
-            this.siteLeverList = []
-            for (let i = 0; i < data.data.siteLever.split('/').length; i++) {
-              
-              let val = data.data.siteLever.split('/')[i]
-              var ccet = (Number(this.nowPrice)/ Number(val)).toFixed(2)
-              //let item = { label: val + '倍', value: val ,bzj:ccet}
-              let item = { name: val + 'X', subname: '需付保证金:' + ccet,gg:val,bzj:ccet}
-              this.siteLeverList.push(item)
-            }
+        if (this.$store.state.userInfo !== undefined && this.$store.state.userInfo !== null && this.$store.state.userInfo.phone !== '' && this.$store.state.userInfo.siteLever != null) {
+          this.selectCycle = this.$store.state.userInfo.siteLever.split('/')[0]
+          this.siteLeverList = []
+          for (let i = 0; i < this.$store.state.userInfo.siteLever.split('/').length; i++) {
+            let val = this.$store.state.userInfo.siteLever.split('/')[i]
+            let item = { label: val + this.$t('hj112'), value: val }
+            this.siteLeverList.push(item)
           }
-         
+        } else {
+          this.selectCycle = data.data.siteLever.split('/')[0]
+          this.siteLeverList = []
+          for (let i = 0; i < data.data.siteLever.split('/').length; i++) {
+            let val = data.data.siteLever.split('/')[i]
+            var ccet = (Number(this.nowPrice) / Number(val)).toFixed(2)
+            // let item = { label: val + '倍', value: val ,bzj:ccet}
+            let item = { name: val + 'X', subname: this.$t('hj102') + ':' + (ccet * 100).toFixed(2), gg: val, bzj: ccet }
+            this.siteLeverList.push(item)
+          }
+        }
       } else {
-        this.$store.commit('elAlertShow',{'elAlertShow':true,'elAlertText': data.msg});
+        this.$store.commit('elAlertShow', { 'elAlertShow': true, 'elAlertText': data.msg })
       }
-    },
+    }
+  },
+  filters: {
+    getName (name) {
+      if (name.length > 15) {
+        return name.substring(0, 14)
+      } else {
+        return name
+      }
+    }
   }
-};
+}
 </script>
 
 <style scoped lang="less">
@@ -541,46 +562,55 @@
   width: 100%;
   min-height: 100vh;
   background-color: #fff;
-  > .content {
+
+  >.content {
     width: 100%;
     height: calc(100% - 1.6rem);
     position: relative;
-    background-color: rgb(241,242,246);
+    background-color: rgb(241, 242, 246);
   }
 }
+
 .top_cny {
   width: 100%;
   height: 3.5385rem;
+
   .top_back {
     width: 100%;
     height: 1.2rem;
     display: flex;
     align-items: center;
     padding: 0 .1rem;
+
     .left_back {
       width: 0.8rem;
       height: 80%;
       display: flex;
       align-items: center;
-      > img {
+
+      >img {
         margin-top: 0.2rem;
         width: 0.6rem;
         height: 0.6rem;
       }
     }
+
     .right_title {
       width: 3rem;
       height: 80%;
+
       .t_t {
         width: 100%;
         height: 70%;
         display: flex;
         align-items: center;
         font-size: 0.4615rem;
+
         span {
           font-weight: 600;
         }
       }
+
       .b_t {
         width: 100%;
         height: 30%;
@@ -591,6 +621,7 @@
       }
     }
   }
+
   .bottom_buy_price {
     width: 100%;
     height: 2rem;
@@ -598,40 +629,48 @@
     align-items: center;
     padding: 0 .8rem;
     margin-top: .3rem;
+
     .cot {
       width: 100%;
       height: 1.2rem;
       display: flex;
+
       .lefts {
         width: 40%;
         height: 100%;
+
         .top_new {
           width: 100%;
           height: 60%;
           font-size: .5615rem;
-          color: rgb(232,55,70);
+          color: rgb(232, 55, 70);
+
           span {
             font-weight: 600;
           }
         }
+
         .bottom_es {
           width: 100%;
           height: 40%;
           color: rgb(173, 173, 173);
         }
       }
+
       .rights {
         width: 60%;
         height: 100%;
         display: flex;
         align-items: center;
         justify-content: flex-end;
+
         >div {
           width: 65%;
           height: 80%;
           display: flex;
           justify-content: center;
-          > div {
+
+          >div {
             width: 45%;
             height: 70%;
             background: rgb(236, 236, 236);
@@ -641,16 +680,20 @@
             border-radius: .1rem;
             color: rgb(173, 173, 173);
           }
+
           .active {
             background: #fff;
-            color: rgb(110,169,118);
+            color: rgb(110, 169, 118);
+
             span {
               font-weight: 600;
             }
           }
-          .actives{
+
+          .actives {
             background: #fff;
-            color: rgb(212,71,78);
+            color: rgb(212, 71, 78);
+
             span {
               font-weight: 600;
             }
@@ -660,6 +703,7 @@
     }
   }
 }
+
 .price_tabs {
   width: 100%;
   height: auto;
@@ -667,15 +711,17 @@
   background: #fff;
   margin-top: .1rem;
   border-radius: 0.3rem;
+
   .tabs {
     width: 100%;
     height: .8205rem;
-    background: rgb(247,247,247);
+    background: rgb(247, 247, 247);
     display: flex;
     align-items: center;
     justify-content: center;
     border-radius: .15rem;
-    > div {
+
+    >div {
       width: 49%;
       height: 80%;
       border-radius: .15rem;
@@ -683,16 +729,20 @@
       justify-content: center;
       align-items: center;
     }
+
     .active {
       background: #fff;
+
       span {
         font-weight: 600;
       }
     }
   }
+
   .tabs_content {
     width: 100%;
     margin-top: .3rem;
+
     .num {
       width: 100%;
       height: .5rem;
@@ -700,59 +750,71 @@
       position: relative;
       top: 0.2rem;
     }
+
     .tr_es {
       width: 100%;
       height: 1.3rem;
       margin-top: .15rem;
       border-bottom: 0.05rem solid rgb(236, 236, 236);
+
       .top_input {
         width: 70%;
         height: 70%;
         font-size: .6615rem;
+
         input {
           font-weight: 600;
         }
       }
     }
+
     .tr_rs {
       width: 100%;
       height: 1.3rem;
       margin-top: .4rem;
-      > div {
+
+      >div {
         width: 100%;
         height: 50%;
         color: rgb(160, 160, 160);
         display: flex;
         justify-content: space-between;
+
         span {
           font-weight: 600;
         }
       }
+
       .bottom_bzz {
         color: #000;
         font-size: .3846rem;
+
         span {
           font-weight: 600;
         }
       }
+
       .top_bzz {
         align-items: center;
       }
     }
+
     .gg {
-      margin-top: 0!important;
+      margin-top: 0 !important;
       height: 1.8rem;
       display: flex;
       align-items: center;
       font-size: .3803rem;
       border-bottom: 0.05rem solid rgb(236, 236, 236);
-      > div {
+
+      >div {
         color: #000;
       }
     }
   }
 }
-.switchs{
+
+.switchs {
   width: 100%;
   height: auto;
   padding: 0 .8rem;
@@ -760,6 +822,7 @@
   margin-top: .3rem;
   border-radius: 0.3rem 0.3rem 0 0;
   transition: all 0.5s;
+
   .zy {
     transition: all 0.5s;
     width: 100%;
@@ -768,84 +831,102 @@
     justify-content: space-between;
     align-items: center;
     border-bottom: 0.05rem solid rgb(236, 236, 236);
+
     >div {
-      width: 20%;
+      // width: 20%;
       height: 50%;
       display: flex;
       align-items: center;
       font-size: .3346rem;
     }
+
     .right_sw {
       justify-content: flex-end;
     }
   }
 }
-.btn_buy{
+
+.btn_buy {
   width: 100%;
   height: auto;
   background: #fff;
-  padding: .2rem .8rem;
+  padding: .8rem .8rem;
   display: flex;
   align-items: flex-end;
-  padding-top: 0.8rem;
-  > div {
+  // padding-top: 0.8rem;
+
+  >div {
     width: 100%;
     height: 1.2821rem;
     display: flex;
     justify-content: center;
     align-items: center;
-    background: rgb(68,155,84);
+    background: rgb(68, 155, 84);
     color: #fff;
     font-size: .3846rem;
     border-radius: .15rem;
   }
 }
-/deep/.van-action-sheet__name{
+
+/deep/.van-action-sheet__name {
   font-size: .3846rem;
   color: #000;
 }
-/deep/.van-action-sheet__gap{
+
+/deep/.van-action-sheet__gap {
   height: 0.25rem;
-  
+
 }
-/deep/.van-action-sheet__cancel{
+
+/deep/.van-action-sheet__cancel {
   font-size: .4246rem;
   height: 1.3rem;
   color: #000;
 }
-/deep/.van-action-sheet__description{
+
+/deep/.van-action-sheet__description {
   font-size: 0.3846rem;
   height: 1.45rem;
   line-height: 0.7rem;
 }
-.left_zy input{
+
+.left_zy input {
   font-size: 0.48rem;
   font-weight: 500;
 }
-.addorj{
-  width:0.7rem;
+
+.addorj {
+  width: 0.7rem;
   height: 0.7rem;
   color: #000;
   font-weight: 500;
+  cursor: pointer;
 }
-.addorj img{
+
+.addorj img {
   width: 100%;
   height: 100%;
+  cursor: pointer;
 }
-.flexJy{
+
+.flexJy {
   display: flex;
   justify-content: space-between;
   align-items: center;
 }
-.top_input input{
+
+.top_input input {
   width: 100%;
 }
-.maichu{
-  background-color: rgb(225,59,69)!important;
+
+.maichu {
+  background-color: rgb(225, 59, 69) !important;
 }
-.mr{
+
+.mr {
   position: relative;
-    &::after {
+
+  &::after {
     content: " ";
     position: absolute;
     display: block;
@@ -854,17 +935,19 @@
     top: 0;
     left: -.1rem;
     z-index: 10000;
-    background: rgba(255,255,255,0);
-    border-left: 0.12rem solid rgb(241,242,246);
+    background: rgba(255, 255, 255, 0);
+    border-left: 0.12rem solid rgb(241, 242, 246);
     transform-origin: bottom right;
     -ms-transform: skew(-10deg, 0deg);
     -webkit-transform: skew(-10deg, 0deg);
     transform: skew(-10deg, 0deg);
+  }
 }
-}
-.mc{
+
+.mc {
   position: relative;
-    &::after {
+
+  &::after {
     content: " ";
     position: absolute;
     display: block;
@@ -873,12 +956,20 @@
     top: 0;
     left: 0;
     z-index: 10000;
-    background: rgba(255,255,255,0);
-    border-right: 0.1rem solid rgb(241,242,246);
+    background: rgba(255, 255, 255, 0);
+    border-right: 0.1rem solid rgb(241, 242, 246);
     transform-origin: bottom left;
     -ms-transform: skew(-10deg, 0deg);
     -webkit-transform: skew(-10deg, 0deg);
     transform: skew(-10deg, 0deg);
+
+  }
 }
+/deep/.van-overlay{
+  z-index: 10000!important;
 }
-</style>
\ No newline at end of file
+
+/deep/.van-popup{
+  z-index: 10001!important;
+}
+</style>

--
Gitblit v1.9.3