15 flex-direction: column;
19 .my-vote .vote-number{
37 border-bottom: 1px solid #F0F0F0;
42 border:1px solid #E0E0E0;
47 .vote-item .vote-title{
50 .vote-item .vote-number{
58 vertical-align: middle;
90 border-bottom: 1px solid #F0F0F0;
97 <div class="warp-chlid bg-gray">
98 <section class="header bg-header">
99 <i class="iconfont icon-back" @click="close"></i>
100 <p>{{ $t('listVote.title') }}</p>
103 <section class="my-vote transfer-header">
104 <div>{{ $t('listVote.myVote') }}</div>
105 <div class="vote-number">{{myVote}}</div>
106 <div>{{ $t('listVote.totalVote')}} {{formatNue(totalVote)}}</div>
109 <section class="vote-container bg-white">
111 <button>{{ $t('listVote.voteRecord')}}</button>
112 <button>{{ $t('listVote.voteRules')}}</button>
113 <button>{{ $t('listVote.cancelVote')}}</button>
115 <div class="vote-label color-black">
117 {{ $t('listVote.bp') }}
119 <div>{{ $t('listVote.standbyBP') }}</div>
120 <div class="search-wrapper">
121 <input type="text" v-model="search" placeholder="Search title.."/>
124 <div class="vote-list">
125 <table class="list accounts">
126 <tr class="vote-item" v-for="(vote, index) in filteredList" :key="index">
128 <div :class="voteRole(vote.role)">
133 <div class="vote-title" >
134 <img :src="vote.logo" alt="">
135 <div v-if="net === 'mainnet'">
136 <a :href="`https://vapor.blockmeta.com/node/${vote.pub_key}`" target="_blank">
144 <div class="vote-number">{{$t('listVote.votes')}} {{formatNue(vote.vote_num)}} ({{formatFraction(vote.vote_num, totalVote)}})</div>
147 <router-link :to="{name: 'vote', params: { vote: vote }}">
148 {{$t('listVote.vote')}}
159 import query from "@/models/query";
160 import { BTM } from "@/utils/constants";
161 import Number from "@/utils/Number"
162 import { mapActions, mapGetters, mapState } from 'vuex'
163 import _ from 'lodash';
177 return this.assets[this.transaction.asset];
180 return function (roleNum) {
183 return 'vote-role bp';
185 return 'vote-role stanbybp';
187 return 'vote-role otherbp';
189 return 'vote-role otherbp';
195 const votes = this.currentAccount.votes
196 if(votes && votes.length >0 ){
197 vote = _.sumBy(votes,'total')
199 return (vote != null && vote != 0) ? Number.formatNue(vote) : '0.00'
202 return this.votes.filter(post => {
203 return post.name.toLowerCase().includes(this.search.toLowerCase())
222 formatNue: function (nue) {
223 return Number.formatNue(nue);
225 formatFraction: function (upper, lower) {
226 return Number.fractionalNum(upper, lower);
230 query.chainStatus().then(resp => {
232 this.totalVote = resp.total_vote_num;
233 this.votes = resp.consensus_nodes.map( (item, index) => {