| | |
| | | <template> |
| | | <div class="index_component" :class="dataObj.chg > 0 ? 'bg-green' : 'bg-red'"> |
| | | <div class="item_title line-one">{{ dataObj.name }}</div> |
| | | <div class="index_component" :class="dataObj.chg < 0 ? 'bg-green' : 'bg-red'" @click="toLine"> |
| | | <div class="item_title"> |
| | | <span class="line-one">{{ dataObj.symbol }}</span> |
| | | </div> |
| | | <div class="item_price">{{ dataObj.last }}</div> |
| | | <div class="item_index flex-between"> |
| | | <span>{{ dataObj.chg }}</span> |
| | | <span>{{ dataObj.chgPct }}</span> |
| | | <span>{{ dataObj.chgPct }}%</span> |
| | | </div> |
| | | <div style="width:100%;flex:1"> |
| | | <Echart :ids="ids" :colorType="dataObj.chg / 1" :data="klist"></Echart> |
| | | <div style="width:100%;flex:1" class="flex-center"> |
| | | <!-- <Echart :ids="ids" :colorType="dataObj.chg / 1" :data="klist"></Echart> --> |
| | | <img src="@/assets/img/down_5.png" style="width:80%;" v-if="dataObj.chg < 0" /> |
| | | <img src="@/assets/img/down_4.png" style="width:80%;" v-else /> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | }, |
| | | dataObj: { |
| | | type: Object, |
| | | default: () => { |
| | | return { |
| | | name: "", |
| | | last: "", |
| | | chg: "", |
| | | chgPct: "", |
| | | kdata: [] |
| | | }; |
| | | } |
| | | default: () => { } |
| | | } |
| | | }, |
| | | computed: { |
| | | klist() { |
| | | return this.dataObj.kdata.map(item => { |
| | | if (!this.dataObj.kData || this.dataObj.kData.length == 0) return []; |
| | | return this.dataObj.kData.map(item => { |
| | | return item.c; |
| | | }); |
| | | } |
| | | }, |
| | | components: { |
| | | Echart |
| | | }, |
| | | methods: { |
| | | // 跳转到指数图 |
| | | toLine() { |
| | | return |
| | | // 点击进入详情 |
| | | const obj = { |
| | | pid: this.dataObj.id || "", |
| | | type: "US", |
| | | }; |
| | | window.localStorage.setItem("kLine", JSON.stringify(obj)); |
| | | |
| | | this.$router.push({ |
| | | path: "/kLineIndex", |
| | | // path: "/kline", |
| | | query: { |
| | | code: this.dataObj.id, |
| | | type: "US" |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | @red: #ee0a24; |
| | | |
| | | .bg-red { |
| | | background-color: rgba(red, 0.1); |
| | | color: @red; |
| | | background: linear-gradient(180deg, #2d1b23, #161a23); |
| | | color: #f54346; |
| | | } |
| | | |
| | | .bg-green { |
| | | background-color: rgba(green, 0.1); |
| | | background: linear-gradient(180deg, #152B28, #161A23); |
| | | color: green; |
| | | } |
| | | |
| | |
| | | |
| | | .item_title { |
| | | padding: 0 0.5em; |
| | | font-size: 0.4em; |
| | | font-size: 0.35em; |
| | | color: #fff; |
| | | text-align: center; |
| | | |
| | | span { |
| | | width: 100%; |
| | | display: inline-block; |
| | | font-weight: 800; |
| | | } |
| | | } |
| | | |
| | | .item_price { |
| | | padding: 0.5em 0.5em; |
| | | padding: 0.4em 0.5em; |
| | | font-size: 0.4em; |
| | | } |
| | | |