| | |
| | | <img src="../../assets/img/zuojiantou.png" alt /> |
| | | </div> |
| | | <div class="right_title"> |
| | | <div class="t_t" style="white-space: nowrap"> |
| | | <span>{{ singDetails.spell }}</span> |
| | | <div class="t_t line-one" style="white-space: nowrap"> |
| | | <span>{{ singDetails.name }}</span> |
| | | </div> |
| | | <!-- <div class="t_t" style="white-space: nowrap"> |
| | | <span>{{ singDetails.name }}({{ singDetails.gid }})</span> |
| | | </div> |
| | | <div class="b_t"> |
| | | <span>{{ singDetails.code }}</span> |
| | | </div> |
| | | <span>{{ singDetails.spell }}</span> |
| | | </div> --> |
| | | </div> |
| | | </div> |
| | | <!-- 隐藏右侧金额显示 --> |
| | |
| | | ( |
| | | Number($store.state.userInfo.userIndexAmt) / 0.9 |
| | | ).toFixed(2) |
| | | : "₹" + $store.state.userInfo.userIndexAmt |
| | | : "" + $store.state.userInfo.userIndexAmt |
| | | }} |
| | | </span> |
| | | <span |
| | |
| | | style="white-space: nowarp" |
| | | > |
| | | {{ |
| | | "₹ " + |
| | | " " + |
| | | parseFloat( |
| | | $store.state.userInfo.enableAmt.toFixed(2) |
| | | ).toLocaleString() |
| | |
| | | </span> |
| | | </div> |
| | | <div class="sanjiao"> |
| | | |
| | | |
| | | </div> |
| | | </div> |
| | | <div class="bottom_balance"> |
| | |
| | | </div> |
| | | </div> --> |
| | | </div> |
| | | <div class="flex-start" style="font-size: .4rem;"> |
| | | <span class="i_icon">{{ bayType }}</span> |
| | | <span class="i_hint" style="color:#777">{{ singDetails.spell }}</span> |
| | | </div> |
| | | <div class="detail_title_a">{{ singDetails.name }}({{ singDetails.gid }})</div> |
| | | <div class="real_time_detail"> |
| | | <div class="left_now_price"> |
| | | <div class="top_now"> |
| | | <!-- <span :class="singDetails.nowPrice - singDetails.preclose_px > 0 ? 'price green' : 'price red'">{{ |
| | | singDetails.nowPrice |
| | | }}</span> --> |
| | | <span |
| | | :class="singDetails.hcrate > 0 ? 'price green' : 'price red'" |
| | | >{{ singDetails.nowPrice }}</span |
| | | > |
| | | <span :class="singDetails.hcrate > 0 ? 'price green' : 'price red'">{{ singDetails.nowPrice }}</span> |
| | | </div> |
| | | <div class="bottom_now"> |
| | | <div> |
| | |
| | | }}{{ (singDetails.nowPrice - singDetails.preclose_px).toFixed(2) }}</span> --> |
| | | <span v-else> |
| | | {{ |
| | | (singDetails.nowPrice - singDetails.preclose_px).toFixed( |
| | | 2 |
| | | ) || 0 |
| | | }}</span |
| | | > |
| | | (singDetails.nowPrice - singDetails.preclose_px).toFixed(2) |
| | | }}</span> |
| | | </div> |
| | | <div |
| | | class="tew" |
| | | :class="singDetails.hcrate > 0 ? 'number green' : 'number red'" |
| | | > |
| | | <div class="tew" :class="singDetails.hcrate > 0 ? 'number green' : 'number red'"> |
| | | <span v-if="singDetails.nowPrice === 0">-</span> |
| | | <!-- <span v-else>({{ singDetails.nowPrice - singDetails.preclose_px > 0 ? '+' : '' }} |
| | | {{ singDetails.hcrate ? singDetails.hcrate : '0' }}%)</span> --> |
| | | <span v-else |
| | | >({{ singDetails.hcrate > 0 ? "+" : "" }} |
| | | {{ singDetails.hcrate ? singDetails.hcrate : "0" }}%)</span |
| | | > |
| | | <span v-else> |
| | | ({{ singDetails.hcrate ? singDetails.hcrate : "0" }}%)</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <!-- <span :class="singDetails.preclose_px < 0 ? 'number green' : 'number red'">{{ |
| | | singDetails.open_px |
| | | }}</span> --> |
| | | <span |
| | | :class=" |
| | | singDetails.hcrate > 0 ? 'number green' : 'number red' |
| | | " |
| | | >{{ singDetails.open_px }}</span |
| | | > |
| | | <span :class="singDetails.hcrate > 0 ? 'number green' : 'number red' |
| | | ">{{ singDetails.open_px }}</span> |
| | | </div> |
| | | <div class="rights topes"> |
| | | <span class="titles">{{ $t("hj73") }}</span> |
| | | <!-- <span :class="singDetails.preclose_px < 0 ? 'number green' : 'number red'">{{ |
| | | singDetails.today_max |
| | | }}</span> --> |
| | | <span |
| | | :class=" |
| | | singDetails.hcrate > 0 ? 'number green' : 'number red' |
| | | " |
| | | >{{ singDetails.today_max }}</span |
| | | > |
| | | <span :class="singDetails.hcrate > 0 ? 'number green' : 'number red' |
| | | ">{{ singDetails.today_max }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="bottoms"> |
| | |
| | | <!-- <span :class="singDetails.preclose_px < 0 ? 'number green' : 'number red'">{{ |
| | | singDetails.preclose_px |
| | | }}</span> --> |
| | | <span |
| | | :class=" |
| | | singDetails.hcrate > 0 ? 'number green' : 'number red' |
| | | " |
| | | >{{ singDetails.preclose_px }}</span |
| | | > |
| | | <span :class="singDetails.hcrate > 0 ? 'number green' : 'number red' |
| | | ">{{ singDetails.preclose_px }}</span> |
| | | </div> |
| | | <div class="rights bots"> |
| | | <span class="titles">{{ $t("hj75") }}</span> |
| | | <!-- <span :class="singDetails.preclose_px < 0 ? 'number green' : 'number red'">{{ |
| | | singDetails.today_min |
| | | }}</span> --> |
| | | <span |
| | | :class=" |
| | | singDetails.hcrate > 0 ? 'number green' : 'number red' |
| | | " |
| | | >{{ singDetails.today_min }}</span |
| | | > |
| | | <span :class="singDetails.hcrate > 0 ? 'number green' : 'number red' |
| | | ">{{ singDetails.today_min }}</span> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="k_line_detail"> |
| | | <Kline :type="singDetails.type" /> |
| | | <Kline :key="key" :type="singDetails.type" /> |
| | | </div> |
| | | <div |
| | | class="priect_top_bottom" |
| | | style="display: none" |
| | | v-if=" |
| | | kLineDetails.if_us != 1 && |
| | | kLineDetails.type != 'hk' && |
| | | kLineDetails.type != 'hk' && |
| | | kLineDetails.if_zhishu == 0 |
| | | " |
| | | > |
| | | <div class="priect_top_bottom" style="display: none" v-if=" |
| | | kLineDetails.if_us != 1 && |
| | | kLineDetails.type != 'hk' && |
| | | kLineDetails.type != 'hk' && |
| | | kLineDetails.if_zhishu == 0 |
| | | "> |
| | | <div class="t_title"> |
| | | <span>{{ $t("hj76") }}</span> |
| | | </div> |
| | |
| | | <div class="t_ma"> |
| | | <span>{{ $t("hj80") }}</span> |
| | | </div> |
| | | <div |
| | | class="ets" |
| | | v-for="(item, i) in timedata.data.details" |
| | | :key="i" |
| | | > |
| | | <div class="ets" v-for="(item, i) in timedata.data.details" :key="i"> |
| | | <div class="left_sell1"> |
| | | <span>{{ item.split(",")[0] }}</span> |
| | | </div> |
| | |
| | | <div class="t_ma"> |
| | | <span>{{ $t("hj81") }}</span> |
| | | </div> |
| | | <div |
| | | class="ets" |
| | | v-for="(item, i) in timedata.data.details" |
| | | :key="i" |
| | | > |
| | | <div class="ets" v-for="(item, i) in timedata.data.details" :key="i"> |
| | | <div class="left_sell1"> |
| | | <span>{{ item.split(",")[1] }}</span> |
| | | </div> |
| | |
| | | <div class="t_ma"> |
| | | <span>{{ $t("hj82") }}</span> |
| | | </div> |
| | | <div |
| | | class="ets" |
| | | v-for="(item, i) in timedata.data.details" |
| | | :key="i" |
| | | > |
| | | <div class="ets" v-for="(item, i) in timedata.data.details" :key="i"> |
| | | <div class="left_sell1"> |
| | | <span>{{ item.split(",")[2] }}</span> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div |
| | | <!-- <div |
| | | class="jianjie" |
| | | v-if=" |
| | | !(kLineDetails.if_zhishu != '0' && singDetails.gid.indexOf('hk') > -1) |
| | |
| | | <div class="jet"> |
| | | <span>{{ jianjie }}</span> |
| | | </div> |
| | | </div> |
| | | <div |
| | | </div> --> |
| | | <!-- <div |
| | | class="hknews" |
| | | v-if=" |
| | | kLineDetails.if_zhishu != '0' && singDetails.gid.indexOf('hk') > -1 |
| | |
| | | </mt-tab-container-item> |
| | | </mt-tab-container> |
| | | </div> |
| | | </div> |
| | | <div class="hknews" v-else> |
| | | </div> --> |
| | | <!-- <div class="hknews" v-else> |
| | | <div class="news-tab"> |
| | | <div class="t_title"> |
| | | <span>{{ $t("hj6") }}</span> |
| | |
| | | </mt-tab-container-item> |
| | | </mt-tab-container> |
| | | </div> |
| | | </div> |
| | | </div> --> |
| | | <!-- <div class="border_bottom"></div> --> |
| | | </div> |
| | | <div class="btns"> |
| | | <div class="lefts"> |
| | | <div class="left_ca" @click="option()"> |
| | | <img |
| | | src="../../assets/img/meishoucang.png" |
| | | alt |
| | | v-if="isOptionOpt === false" |
| | | /> |
| | | <img src="../../assets/img/meishoucang.png" alt v-if="isOptionOpt === false" /> |
| | | <img src="../../assets/img/shoucangle.png" alt v-else /> |
| | | </div> |
| | | <div class="right_xx" @click="handleJj()"> |
| | | <a href="#"><img src="../../assets/img/xiaoxi.png" alt /></a> |
| | | </div> |
| | | <!-- <div class="right_xx" @click="handleJj()"> |
| | | <a href="#"><img src="../../assets/img/xiaoxi.png" alt/></a> |
| | | </div> --> |
| | | </div> |
| | | <div class="rights"> |
| | | <div class="buy_btn"> |
| | | <div class="top_buy" @click="goBuy(0)"> |
| | | <span>{{ $t("hj84") }}</span> |
| | | </div> |
| | | <div class="bottom_buy"> |
| | | <!-- <div class="bottom_buy"> |
| | | <span>{{ singDetails.nowPrice }}</span> |
| | | </div> |
| | | </div> --> |
| | | </div> |
| | | <div class="sell_btn" @click="goBuy(1)"> |
| | | <div class="top_sell"> |
| | | <span>{{ $t("hj85") }}</span> |
| | | </div> |
| | | <div class="bottom_sell"> |
| | | <!-- <div class="bottom_sell"> |
| | | <span>{{ singDetails.nowPrice }}</span> |
| | | </div> |
| | | </div> --> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | newsdetailList: [], |
| | | bayType: "", |
| | | timer: null, |
| | | key: 0 |
| | | }; |
| | | }, |
| | | components: { |
| | | Kline, |
| | | Kline |
| | | }, |
| | | |
| | | created() { |
| | |
| | | } else { |
| | | this.timer = setInterval(() => { |
| | | this.getSingDetails(); |
| | | }, 500); |
| | | }, 5000); |
| | | } |
| | | this.getOpation(); |
| | | // this.$Lazyload(); |
| | | this.getUserInfo(); |
| | | this.getNohknews(); |
| | | }, |
| | |
| | | // }, |
| | | methods: { |
| | | async getHknews() { |
| | | await api.queryIndexNews().then((res) => { |
| | | await api.queryIndexNews().then(res => { |
| | | if (res.status === 0) { |
| | | this.newsdetailList = res.data.data; |
| | | } |
| | |
| | | this.optionBtn = false; |
| | | this.$message({ |
| | | message: this.$t("hj97"), |
| | | type: "success", |
| | | type: "success" |
| | | }); |
| | | } else { |
| | | this.optionBtn = false; |
| | | this.$message({ |
| | | message: data.msg, |
| | | type: "warning", |
| | | type: "warning" |
| | | }); |
| | | } |
| | | } else { |
| | |
| | | this.optionBtn = false; |
| | | this.$message({ |
| | | message: this.$t("hj96"), |
| | | type: "success", |
| | | type: "success" |
| | | }); |
| | | } else { |
| | | this.$message({ |
| | | message: data.msg, |
| | | type: "warning", |
| | | type: "warning" |
| | | }); |
| | | this.optionBtn = false; |
| | | } |
| | |
| | | }, |
| | | async getOpation() { |
| | | let opts = { |
| | | code: this.$route.query.code, |
| | | code: this.$route.query.code |
| | | }; |
| | | let data = await api.isOption(opts); |
| | | if (data.status === 0) { |
| | |
| | | async getSingDetails() { |
| | | let opts = { |
| | | code: this.kLineDetails.code, |
| | | stockType: this.kLineDetails.type, |
| | | stockType: this.kLineDetails.type |
| | | }; |
| | | await api.getSingleStock(opts).then((res) => { |
| | | await api.getSingleStock(opts).then(res => { |
| | | if (res.status === 0) { |
| | | this.singDetails = res.data.stock; |
| | | this.bayType = res.data.stock.type; |
| | |
| | | } |
| | | const obj = { |
| | | pid: res.data.stock.code, |
| | | type: res.data.stock.type, |
| | | type: res.data.stock.type |
| | | }; |
| | | window.localStorage.setItem("kLine", JSON.stringify(obj)); |
| | | // console.log(this.singDetails) |
| | |
| | | async getSingDetailUs() { |
| | | let opts = { |
| | | code: this.kLineDetails.code, |
| | | stockType: this.kLineDetails.type, |
| | | stockType: this.kLineDetails.type |
| | | }; |
| | | await api.getUsDetail(opts).then((res) => { |
| | | await api.getUsDetail(opts).then(res => { |
| | | // console.log(res,1111123); |
| | | // var that = this |
| | | // if(!res){ |
| | |
| | | this.$router.push({ |
| | | path: "/newPage", |
| | | query: { |
| | | listid: item.id, |
| | | }, |
| | | listid: item.id |
| | | } |
| | | }); |
| | | }, |
| | | goBuy(index) { |
| | |
| | | type: this.kLineDetails.if_zhishu, |
| | | id: this.singDetails.id, |
| | | name: this.kLineDetails.name, |
| | | spell: this.singDetails.spell, |
| | | if_us: this.kLineDetails.if_us, |
| | | bayType: this.bayType, |
| | | }, |
| | | gid: this.singDetails.gid |
| | | } |
| | | }); |
| | | if (navigator.vibrate) { |
| | | // 支持 |
| | | navigator.vibrate([55]); |
| | | } |
| | | }, |
| | | } |
| | | }, |
| | | filters: { |
| | | getName(spell) { |
| | |
| | | .replace(/年|月/g, "-") |
| | | .replace(/日/g, " "); |
| | | return beijingDatetime; // 2017-03-31 16:02:06 |
| | | }, |
| | | }, |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | |
| | | height: calc(100% - 1.7rem); |
| | | overflow: auto; |
| | | |
| | | > .content { |
| | | >.content { |
| | | width: 100%; |
| | | height: 100%; |
| | | position: relative; |
| | |
| | | padding: 0 0.3rem; |
| | | background: #fff; |
| | | |
| | | .detail_title_a { |
| | | font-size: .45rem; |
| | | font-weight: 500; |
| | | margin-top: .2rem; |
| | | line-height: .45rem; |
| | | } |
| | | |
| | | .i_icon { |
| | | border-radius: 0 26em 26em 0; |
| | | background: #07c160; |
| | | color: #fff; |
| | | padding: 0.1em 0.5em 0.1em 0.4em; |
| | | margin-right: 0.3em; |
| | | font-size: 0.8em; |
| | | } |
| | | |
| | | .top_back { |
| | | width: 50%; |
| | | width: 90%; |
| | | height: 1.2rem; |
| | | display: flex; |
| | | align-items: center; |
| | |
| | | height: 80%; |
| | | display: flex; |
| | | align-items: center; |
| | | margin-right: 10vw; |
| | | |
| | | > img { |
| | | margin-top: 0.2rem; |
| | | >img { |
| | | // margin-top: 0.2rem; |
| | | width: 0.6rem; |
| | | height: 0.6rem; |
| | | } |
| | | } |
| | | |
| | | .right_title { |
| | | width: 3rem; |
| | | height: 80%; |
| | | width: 70%; |
| | | // height: 80%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | |
| | | .t_t { |
| | | width: 100%; |
| | | height: 70%; |
| | | display: flex; |
| | | height: 100%; |
| | | line-height: 1.2rem; |
| | | align-items: center; |
| | | font-size: 0.4615rem; |
| | | |
| | |
| | | |
| | | .k_line_detail { |
| | | width: 100%; |
| | | height: 8.3rem; |
| | | height: 100vw; |
| | | background: #fff; |
| | | border-radius: 0 0 0.3rem 0.3rem; |
| | | } |
| | |
| | | .top_now { |
| | | width: 100%; |
| | | // height: 65%; |
| | | font-size: 0.741rem; |
| | | font-size: 25px; |
| | | display: flex; |
| | | align-items: center; |
| | | font-weight: bold; |
| | | |
| | | span { |
| | | font-weight: 500; |
| | |
| | | } |
| | | |
| | | .right_ets { |
| | | max-width: 60%; |
| | | max-width: 70%; |
| | | height: 100%; |
| | | |
| | | > div { |
| | | >div { |
| | | width: 100%; |
| | | padding: 0.15rem 0; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | > div { |
| | | >div { |
| | | // width: 50%; |
| | | height: 100%; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | padding: 0 0.1rem; |
| | | |
| | | .titles { |
| | | padding-right: 0.1rem; |
| | | } |
| | |
| | | justify-content: space-between; |
| | | margin-top: 0.6rem; |
| | | |
| | | > div { |
| | | >div { |
| | | width: 49%; |
| | | height: 100%; |
| | | } |
| | |
| | | display: flex; |
| | | margin-top: 0.08rem; |
| | | |
| | | > div { |
| | | >div { |
| | | width: 50%; |
| | | height: 100%; |
| | | display: flex; |
| | |
| | | height: 70%; |
| | | display: flex; |
| | | align-items: center; |
| | | padding-left: .3rem; |
| | | |
| | | > div { |
| | | >div { |
| | | width: 50%; |
| | | height: 100%; |
| | | display: flex; |
| | |
| | | } |
| | | |
| | | .rights { |
| | | width: 70%; |
| | | width: 80%; |
| | | height: 70%; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-around; |
| | | justify-content: center; |
| | | padding-right: .2rem; |
| | | |
| | | > div { |
| | | >div { |
| | | border-radius: 0.15rem; |
| | | } |
| | | |
| | | .buy_btn { |
| | | width: 45%; |
| | | height: 100%; |
| | | width: 50%; |
| | | height: 80%; |
| | | background: rgb(225, 59, 69); |
| | | color: #fff; |
| | | border-radius: 3rem 0 0 3rem !important; |
| | | |
| | | .top_buy { |
| | | width: 100%; |
| | | height: 45%; |
| | | height: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: flex-end; |
| | | align-items: center; |
| | | font-size: 0.4rem; |
| | | } |
| | | |
| | | .bottom_buy { |
| | |
| | | } |
| | | |
| | | .sell_btn { |
| | | width: 45%; |
| | | height: 100%; |
| | | background: rgb(68, 155, 84); |
| | | width: 50%; |
| | | height: 80%; |
| | | background: #c4d600; |
| | | color: #fff; |
| | | border-radius: 0 3rem 3rem 0 !important; |
| | | |
| | | .top_sell { |
| | | width: 100%; |
| | | height: 45%; |
| | | height: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: flex-end; |
| | | align-items: center; |
| | | font-size: 0.4rem; |
| | | } |
| | | |
| | | .bottom_sell { |