DESKTOP-CVS3R96\我恁爹
2022-11-10 8085cefd6a3437a8bb9e7b39628d444fc4203223
11.10 5
5 files modified
2 files added
291 ■■■■ changed files
src/assets/img/ic_number_add.png patch | view | raw | blame | history
src/assets/img/ic_number_jian.png patch | view | raw | blame | history
src/main.js 3 ●●●●● patch | view | raw | blame | history
src/page/home/home.vue 6 ●●●●● patch | view | raw | blame | history
src/page/kline/index.vue 48 ●●●●● patch | view | raw | blame | history
src/page/list/trading-list.vue 13 ●●●● patch | view | raw | blame | history
src/page/trading/buy.vue 221 ●●●●● patch | view | raw | blame | history
src/assets/img/ic_number_add.png
src/assets/img/ic_number_jian.png
src/main.js
@@ -16,6 +16,8 @@
import 'bootstrap/dist/css/bootstrap.min.css'
import 'mint-ui/lib/style.css'
import 'element-ui/lib/theme-chalk/index.css'
@@ -35,6 +37,7 @@
Vue.use(animated)
Vue.use(ElementUI)
Vue.use(VueClipboard)
// Vue.use(VueTouch, { name: 'v-touch' })
// // Vue.prototype.$md5 = md5
// VueTouch.config.swipe = {
src/page/home/home.vue
@@ -322,8 +322,8 @@
          name: item.name,
          stockplate: item.stock_plate,
          code: item.symbol.substring(2, item.symbol.length),
          type: item.stocktype,
          sok: 0,
          type: item.market,
          sok: this.filterSH(item.market),
          if_zhishu: '0',
        }
      });
@@ -816,6 +816,8 @@
        height: 100%;
        display: flex;
        align-items: center;
        text-align: center;
        justify-content: center;
      }
      .percentage span{
        height: 0.5rem;
src/page/kline/index.vue
@@ -25,32 +25,17 @@
                <div class="right">
                  <span v-if="$store.state.userInfo.userAmt==undefined">¥0.00</span>
                  <span
                    v-if="$store.state.userInfo&&tabsItemIndex == 1"
                    v-if="$store.state.userInfo&&kLineDetails.if_zhishu!='0'"
                    style="white-space: nowarp;"
                  >
                    {{ '¥' + $store.state.userInfo.userIndexAmt
                    }}
                  </span>
                  <span
                    v-if="$store.state.userInfo.userAmt!=undefined&&tabsItemIndex == 0"
                    v-if="$store.state.userInfo.userAmt!=undefined&&kLineDetails.if_zhishu=='0'"
                    style="white-space: nowarp;"
                  >
                    {{ '¥ ' + $store.state.userInfo.userAmt
                    }}
                  </span>
                  <span
                    v-if="$store.state.userInfo.userAmt!=undefined&&tabsItemIndex == 2"
                    style="white-space: nowarp;"
                  >
                    {{ '¥ ' + $store.state.userInfo.userAmt
                    }}
                  </span>
                  <span
                    v-if="$store.state.userInfo&&tabsItemIndex == 3"
                    style="white-space: nowarp;"
                  >
                    {{
                    '¥' + $store.state.userInfo.userFuturesAmt
                    }}
                  </span>
                </div>
@@ -252,7 +237,7 @@
            <span>{{ '卖出' }}</span>
          </div>
          <div class="bottom_buy">
            <span>{{ '145.533' }}</span>
            <span>{{ singDetails.nowPrice }}</span>
          </div>
        </div>
        <div class="sell_btn" @click="goBuy()">
@@ -260,7 +245,7 @@
            <span>{{ '买入' }}</span>
          </div>
          <div class="bottom_sell">
            <span>{{ '145.533' }}</span>
            <span>{{ singDetails.nowPrice }}</span>
          </div>
        </div>
      </div>
@@ -283,6 +268,7 @@
      jianjie: "",
      optionBtn:false,
      isOptionOpt:false,
      dialogFlag:false,
    };
  },
  components: {
@@ -294,6 +280,7 @@
    this.getOpation();
    // this.$Lazyload();
    this.getSingDetails();
    this.getUserInfo();
  },
  methods: {
    async option() {
@@ -321,6 +308,18 @@
          this.optionBtn = false;
        }
      }
    },
    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 getOpation () {
        let opts = {
@@ -365,7 +364,15 @@
    },
    goBuy() {
      this.$router.push({
        path: "/TradingBuy"
        path: "/TradingBuy",
        query: {
          t:1,
          code:this.kLineDetails.code,
          m:this.singDetails.nowPrice,
          type:this.kLineDetails.if_zhishu,
          name:this.kLineDetails.name,
        }
      });
    }
  }
@@ -393,6 +400,7 @@
  height: 1.2rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.detail_title {
  width: 100%;
src/page/list/trading-list.vue
@@ -685,9 +685,14 @@
          this.finished = true;
        }
        if (this.tabsItemIndex == 0) {
          data.data.list.forEach(element => {
          if(this.gpcode){
            this.listArr = data.data.list;
          }else{
            data.data.list.forEach(element => {
            this.listArr.push(element);
          });
          }
        }
      } else {
        this.texts = data.msg;
@@ -709,9 +714,13 @@
          this.finished = true;
        }
        if (this.tabsItemIndex == 2) {
          data.data.list.forEach(element => {
          if(this.gpcode){
            this.listArr = data.data.list;
          }else{
            data.data.list.forEach(element => {
            this.listArr.push(element);
          });
          }
        }
      } else {
        this.texts = data.msg;
src/page/trading/buy.vue
@@ -8,10 +8,10 @@
          </div>
          <div class="right_title">
            <div class="t_t">
              <span>{{ '人民币' }}</span>
              <span>{{ name }}</span>
            </div>
            <div class="b_t">
              <span>{{ 'CNY' }}</span>
              <span>{{ code }}</span>
            </div>
          </div>
        </div>
@@ -19,7 +19,7 @@
          <div class="cot">
            <div class="lefts">
              <div class="top_new">
                <span>{{ '1.34609' }}</span>
                <span>{{ nowPrice }}</span>
              </div>
              <div class="bottom_es">
                <span>{{ '买入价' }}</span>
@@ -39,7 +39,10 @@
            </div>
          </div>
        </div>
        <div class="price_tabs">
      </div>
      <div class="price_tabs">
          <div class="tabs">
            <div class="tab_item" 
            v-for="(item, index) in priceTabs" 
@@ -59,7 +62,7 @@
                <input type="text" v-model="num">
              </div>
            </div>
            <div class="tr_rs gg">
            <div class="tr_rs gg" @click="showGg=true">
              <div class="top_bzz">
                <span>{{ '杠杆' }}</span>
                <span>{{ '200X' }}</span>
@@ -75,22 +78,77 @@
                <span>{{ '可用余额(¥)' }}</span>
              </div>
              <div class="bottom_bzz">
                <span>{{ '5.00' }}</span>
                <span>{{ '49,698.61' }}</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>
          </div>
        </div>
        <div class="switchs">
          <div class="zy"
          v-for="(item, index) in profitArr"
          :key="index"
          >
          <div class="zy">
            <div class="left_zy">
              <span>{{ item.name }}</span>
              <span>止盈</span>
            </div>
            <div class="right_sw">
              <van-switch v-model="item.checked" />
              <van-switch v-model="checkedZy" />
            </div>
          </div>
          <div class="zy" v-show="checkedZy">
            <div class="left_zy">
              <input v-model="profitTarget" />
            </div>
            <div class="right_sw" style="width:auto;">
              <div class="addorj"  @click="profitTarget--">
                <img src="@/assets/img/ic_number_jian.png"/>
              </div>
              <div class="addorj" ></div>
              <div class="addorj" @click="profitTarget++">
                <img src="@/assets/img/ic_number_add.png"/>
              </div>
            </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" />
            </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="zhisun++">
                <img src="@/assets/img/ic_number_add.png"/>
              </div>
            </div>
          </div>
          <div class="zy">
            <div class="left_zy">
              <span>追踪止损</span>
            </div>
            <div class="right_sw">
              <van-switch v-model="profitArr[2].checked" />
            </div>
          </div>
        </div>
@@ -99,14 +157,39 @@
            <span>{{ '买入' }}</span>
          </div>
        </div>
      </div>
    </div>
    <van-action-sheet
  v-model="showGg"
  :actions="actions"
  cancel-text="取消"
  description="选择杠杆"
  close-on-click-action
/>
  </div>
</template>
<script>
import * as api from "@/axios/api";
export default {
  name: 'trBuy',
  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.code){
      this.code= this.$route.query.code
    }
    if(this.$route.query.name){
      this.name= this.$route.query.name
    }
    if(this.$route.query.type){
      this.type= this.$route.query.type
    }
  },
  data() {
    return {
      tradingArr: ['卖出', '买入'],
@@ -115,6 +198,23 @@
      priceTabsCurrentIndex: 0,
      num: 0.01,
      profit: false,
      nowPrice: 0,
      type: 0,
      code: '',
      name: '',
      settingInfo:[],
      selectCycle: 20,
      siteLeverList:[],
      checkedZy:false,
      checkedZs:false,
      zhisun:0,
      showGg: false,
      profitTarget: 0,
      actions: [
        { name: '100X', subname: '需付保证金:' },
        { name: '200X', subname: '需付保证金:'},
        { name: '300X', subname: '需付保证金:' },
      ],
      profitArr: [
        {
          name: '止盈',
@@ -131,6 +231,10 @@
      ]
    }
  },
  mounted() {
    this.getSettingInfo();
    this.getUserInfo();
  },
  methods: {
    handleBack() {
      this.$router.go(-1);
@@ -140,7 +244,48 @@
    },
    handleTabsClick(item, index) {
      this.priceTabsCurrentIndex = index;
    }
    },
    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 getSettingInfo () {
      // 网站设置信息
      let data = await api.getSetting()
      if (data.status === 0) {
        // 成功
        this.settingInfo = data.data
        // 杠杆倍数
        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]
              let item = { label: val + '倍', value: val }
              this.siteLeverList.push(item)
            }
          }
      } else {
        Toast(data.msg)
      }
    },
  }
};
</script>
@@ -148,11 +293,13 @@
<style scoped lang="less">
.buy_page {
  width: 100%;
  height: calc(100% - 1.7rem);
  min-height: 100vh;
  background-color: #fff;
  > .content {
    width: 100%;
    height: 100%;
    height: calc(100% - 1.6rem);
    position: relative;
    background-color: rgb(241,242,246);
  }
}
.top_cny {
@@ -266,6 +413,7 @@
  padding: .2rem .8rem;
  background: #fff;
  margin-top: .1rem;
  border-radius: 0.3rem;
  .tabs {
    width: 100%;
    height: .8205rem;
@@ -346,11 +494,14 @@
}
.switchs{
  width: 100%;
  height: 6rem;
  height: auto;
  padding: 0 .8rem;
  background: #fff;
  margin-top: .3rem;
  border-radius: 0.3rem 0.3rem 0 0;
  transition: all 0.5s;
  .zy {
    transition: all 0.5s;
    width: 100%;
    height: 1.8rem;
    display: flex;
@@ -371,7 +522,7 @@
}
.btn_buy{
  width: 100%;
  height: 4.8rem;
  height: auto;
  background: #fff;
  padding: .2rem .8rem;
  display: flex;
@@ -388,4 +539,36 @@
    border-radius: .15rem;
  }
}
/deep/.van-action-sheet__name{
  font-size: .3846rem;
  color: #000;
}
/deep/.van-action-sheet__gap{
  height: 0.25rem;
}
/deep/.van-action-sheet__cancel{
  font-size: .4246rem;
  height: 1.3rem;
  color: #000;
}
/deep/.van-action-sheet__description{
  font-size: 0.3846rem;
  height: 1.45rem;
  line-height: 0.7rem;
}
.left_zy input{
  font-size: 0.48rem;
  font-weight: 500;
}
.addorj{
  width:0.7rem;
  height: 0.7rem;
  color: #000;
  font-weight: 500;
}
.addorj img{
  width: 100%;
  height: 100%;
}
</style>