Browse Source

提交

master
bellezhuo 6 years ago
parent
commit
1b5d0d76d8
  1. 22
      src/assets/css/element.css
  2. 20
      src/assets/css/other.css
  3. 30
      src/assets/data/en.js
  4. 30
      src/assets/data/zh.js
  5. 31
      src/components/footer.vue
  6. 4
      src/main.js
  7. 8
      src/router.js
  8. 2
      src/views/assets/carryout.vue
  9. 2
      src/views/assets/charge.vue
  10. 102
      src/views/assets/coincoin_assets.vue
  11. 2
      src/views/assets/coincoin_records.vue
  12. 95
      src/views/assets/currency_assets.vue
  13. 2
      src/views/assets/currency_records.vue
  14. 2
      src/views/assets/exchange.vue
  15. 12
      src/views/assets/transfer.vue
  16. 193
      src/views/assets/transfer_in.vue
  17. 2
      src/views/assets/withdraw.vue
  18. 2
      src/views/assets/withdraw_address.vue
  19. 12
      src/views/coincoin/components/trade_data_update.vue
  20. 66
      src/views/coincoin/components/trade_pair_list.vue
  21. 2
      src/views/currency/currency_ads.vue
  22. 2
      src/views/currency/currency_deal.vue
  23. 2
      src/views/currency/currency_order_details.vue
  24. 18
      src/views/currency/currency_release.vue
  25. 47
      src/views/index/components/banner.vue
  26. 43
      src/views/index/components/price.vue
  27. 242
      src/views/index/components/trend.vue
  28. 168
      src/views/index/index.vue
  29. 16
      src/views/login/findpw.vue
  30. 10
      src/views/release/components/release_data_update.vue
  31. 58
      src/views/release/components/release_pair_list.vue

22
src/assets/css/element.css

@ -67,3 +67,25 @@
float: right;
margin-top: 30px;
}
.swiper-box .el-carousel__button {
width: 12px;
height: 12px;
background: rgba(0, 0, 0, .2);
border-radius: 50%;
opacity: 1;
}
.swiper-box .is-active .el-carousel__button {
background: #007aff;
}
.swiper-box .el-carousel__arrow {
width: 44px;
height: 44px;
background: rgba(31, 45, 61, .6);
top: 75px;
}
.swiper-box .el-carousel__arrow i {
font-size: 26px;
}

20
src/assets/css/other.css

@ -106,7 +106,7 @@
width: 100%;
}
.banner-img-warp li a img {
.banner-img-warp li img {
display: block;
width: 100%;
/*border: 1px solid #8767d6;*/
@ -288,7 +288,7 @@
}
.trade-block dt {
color: #ccc;
color: #66718f;
font-size: 14px;
line-height: 14px;
height: 14px;
@ -302,11 +302,11 @@
.trade-block dd.price {
font-size: 20px;
line-height: 20px;
color: #ccc;
color: #66718f;
}
.trade-block dd.price em {
color: #66718f;
color: #ccc;
line-height: 12px;
font-size: 12px;
}
@ -402,7 +402,7 @@
background-position: center center;
background-repeat: no-repeat;
background-size: 16px;
cursor: pointer;
/* cursor: pointer; */
}
.soso-box .icon-searchs {
@ -410,7 +410,7 @@
background-position: center center;
background-repeat: no-repeat;
background-size: 16px;
cursor: pointer;
/* cursor: pointer; */
}
/*tab*/
@ -543,15 +543,15 @@
margin: 0 auto;
}
.quotation-tab .tab-box td .optional.fa-star {
background-image: url(../images/fa-star.png);
.quotation-tab .tab-box td .optional.fa-star-0 {
background-image: url(../images/fa-star-0.png);
background-position: center center;
background-repeat: no-repeat;
background-size: 16px;
}
.quotation-tab .tab-box td .optional.fa-star-0 {
background-image: url(../images/fa-star-0.png);
.quotation-tab .tab-box td .optional.fa-star {
background-image: url(../images/fa-star.png);
background-position: center center;
background-repeat: no-repeat;
background-size: 16px;

30
src/assets/data/en.js

@ -30,6 +30,15 @@ module.exports = {
'取消': 'cancle',
'确定': 'confirm',
'退出登录成功!': '退出登录成功!',
'市场有风险,投资需谨慎': '市场有风险,投资需谨慎',
'本站域名': '本站域名',
'关于': 'About',
'关于我们': 'About Us',
'条款说明': '条款说明',
'用户协议': 'User agreement',
'联系我们': 'Contact us',
'在线交谈': '在线交谈',
'客服邮箱': '客服邮箱',
'登录': 'Login',
'注册': 'Register',
'账号': 'account',
@ -113,6 +122,8 @@ module.exports = {
'最高': 'highest',
'最低': 'lowest',
'量': 'volunm',
'涨幅': '涨幅',
'深度图': '深度图',
'现货交易': '现货交易',
'安全保障': '安全保障',
'超过10年金融风控管理团队全方位可定制的安全策路体系': '超过10年金融风控管理团队全方位可定制的安全策路体系',
@ -325,7 +336,17 @@ module.exports = {
'请输入单价': '请输入单价',
'付款方式': '付款方式',
'您还未添加收款方式': '您还未添加收款方式',
'去设置': 'go to set',
'立即发布': 'release immediatly',
'当前数字货币价格为系统自动计算,实际交易价格以发起交易时的价格为准,请点击查看关于': '当前数字货币价格为系统自动计算,实际交易价格以发起交易时的价格为准,请点击查看关于',
'浮动价格的说明': '浮动价格的说明',
'交易发起前,请您确认已阅读并同意卖家提出的条款,并再次确认交易内容无误后,再点击购买按钮。': '交易发起前,请您确认已阅读并同意卖家提出的条款,并再次确认交易内容无误后,再点击购买按钮。',
'交易发起后,请您于付款期限截止前转帐至指定账户,并标记已付款完毕,逾期系统将自动取消交易。': '交易发起后,请您于付款期限截止前转帐至指定账户,并标记已付款完毕,逾期系统将自动取消交易。',
'交易发起后,系统会自动将卖家的数字货币锁定,待卖家确认收到您的转帐后,将会释放数字货币至您的账户中。': '交易发起后,系统会自动将卖家的数字货币锁定,待卖家确认收到您的转帐后,将会释放数字货币至您的账户中。',
'建议您在交易前先查看卖家信息,检视相关交易记录及评价,以减少交易纠纷。': '建议您在交易前先查看卖家信息,检视相关交易记录及评价,以减少交易纠纷。',
'交易过程请使用平台的聊天系统进行沟通,平台外的对话记录将无法作为交易纠纷的依据。': '交易过程请使用平台的聊天系统进行沟通,平台外的对话记录将无法作为交易纠纷的依据。',
'温馨提示:超过三笔取消订单,将被冻结当天下单权限。': '温馨提示:超过三笔取消订单,将被冻结当天下单权限。',
'下单后请履行契约精神,恶意抬价或者是反悔,被投诉将冻结账户 3-14 天不等。': '下单后请履行契约精神,恶意抬价或者是反悔,被投诉将冻结账户 3-14 天不等。',
'您还不是承兑商,不能发布广告!': '您还不是承兑商,不能发布广告!',
'您还未设置支付密码!': '您还未设置支付密码!',
'请输入金额!': '请输入金额!',
@ -534,9 +555,16 @@ module.exports = {
'请选择目标币种!': '请选择目标币种!',
'请输入兑换数量!': '请输入兑换数量!',
'兑换提交成功!': '兑换提交成功!',
'选择转入币种': '选择转入币种',
'转入数量': '转入数量',
'请输入转入数量': '请输入转入数量',
'确认转入': '确认转入',
'请输入转入数量!': '请输入转入数量!',
'转入提交成功!': '转入提交成功!',
'净资产折合': '净资产折合',
'市场': '市场',
'添加自选成功!': '添加自选成功!',
'自选取消成功!': '自选取消成功!',
'限价交易': '限价交易',
'市价交易': '市价交易',
'止盈止损': '止盈止损',

30
src/assets/data/zh.js

@ -30,6 +30,15 @@ module.exports = {
'取消': '取消',
'确定': '确定',
'退出登录成功!': '退出登录成功!',
'市场有风险,投资需谨慎': '市场有风险,投资需谨慎',
'本站域名': '本站域名',
'关于': '关于',
'关于我们': '关于我们',
'条款说明': '条款说明',
'用户协议': '用户协议',
'联系我们': '联系我们',
'在线交谈': '在线交谈',
'客服邮箱': '客服邮箱',
'登录': '登录',
'注册': '注册',
'账号': '账号',
@ -113,6 +122,8 @@ module.exports = {
'最高': '最高',
'最低': '最低',
'量': '量',
'涨幅': '涨幅',
'深度图': '深度图',
'现货交易': '现货交易',
'安全保障': '安全保障',
'超过10年金融风控管理团队全方位可定制的安全策路体系': '超过10年金融风控管理团队全方位可定制的安全策路体系',
@ -325,7 +336,17 @@ module.exports = {
'请输入单价': '请输入单价',
'付款方式': '付款方式',
'您还未添加收款方式': '您还未添加收款方式',
'去设置': '去设置',
'立即发布': '立即发布',
'当前数字货币价格为系统自动计算,实际交易价格以发起交易时的价格为准,请点击查看关于': '当前数字货币价格为系统自动计算,实际交易价格以发起交易时的价格为准,请点击查看关于',
'浮动价格的说明': '浮动价格的说明',
'交易发起前,请您确认已阅读并同意卖家提出的条款,并再次确认交易内容无误后,再点击购买按钮。': '交易发起前,请您确认已阅读并同意卖家提出的条款,并再次确认交易内容无误后,再点击购买按钮。',
'交易发起后,请您于付款期限截止前转帐至指定账户,并标记已付款完毕,逾期系统将自动取消交易。': '交易发起后,请您于付款期限截止前转帐至指定账户,并标记已付款完毕,逾期系统将自动取消交易。',
'交易发起后,系统会自动将卖家的数字货币锁定,待卖家确认收到您的转帐后,将会释放数字货币至您的账户中。': '交易发起后,系统会自动将卖家的数字货币锁定,待卖家确认收到您的转帐后,将会释放数字货币至您的账户中。',
'建议您在交易前先查看卖家信息,检视相关交易记录及评价,以减少交易纠纷。': '建议您在交易前先查看卖家信息,检视相关交易记录及评价,以减少交易纠纷。',
'交易过程请使用平台的聊天系统进行沟通,平台外的对话记录将无法作为交易纠纷的依据。': '交易过程请使用平台的聊天系统进行沟通,平台外的对话记录将无法作为交易纠纷的依据。',
'温馨提示:超过三笔取消订单,将被冻结当天下单权限。': '温馨提示:超过三笔取消订单,将被冻结当天下单权限。',
'下单后请履行契约精神,恶意抬价或者是反悔,被投诉将冻结账户 3-14 天不等。': '下单后请履行契约精神,恶意抬价或者是反悔,被投诉将冻结账户 3-14 天不等。',
'您还不是承兑商,不能发布广告!': '您还不是承兑商,不能发布广告!',
'您还未设置支付密码!': '您还未设置支付密码!',
'请输入金额!': '请输入金额!',
@ -534,9 +555,16 @@ module.exports = {
'请选择目标币种!': '请选择目标币种!',
'请输入兑换数量!': '请输入兑换数量!',
'兑换提交成功!': '兑换提交成功!',
'选择转入币种': '选择转入币种',
'转入数量': '转入数量',
'请输入转入数量': '请输入转入数量',
'确认转入': '确认转入',
'请输入转入数量!': '请输入转入数量!',
'转入提交成功!': '转入提交成功!',
'净资产折合': '净资产折合',
'市场': '市场',
'添加自选成功!': '添加自选成功!',
'自选取消成功!': '自选取消成功!',
'限价交易': '限价交易',
'市价交易': '市价交易',
'止盈止损': '止盈止损',

31
src/components/footer.vue

@ -5,31 +5,42 @@
<a href="javascript:;" class="footer-logo">BSEX</a>
<p>Copyright © 2019 DIGIFINEX.COM , DIGIFINEX LIMITED</p>
<p>All trading products offered through digifinex.com should be considered HIGH RISK.</p>
<p>市场有风险投资需谨慎</p>
<p>本站域名&nbsp;&nbsp;<a href="javascript:;">DigiFinex.com</a>&nbsp;&nbsp;<a href="//www.digifinex.vip/zh-cn">DigiFinex.vip</a></p>
<p>{{$t('市场有风险,投资需谨慎')}}</p>
<p>
{{$t('本站域名')}}&nbsp;&nbsp;
<a href="javascript:;">DigiFinex.com</a>&nbsp;&nbsp;
<a href="javascript:;">DigiFinex.vip</a>
</p>
</div>
<div class="footer-center">
<ul class="footer-list footer-list-a">
<h3>关于</h3>
<li> <a href="javascript:;">关于我们</a> </li>
<li> <a href="javascript:;">公告</a> </li>
<h3>{{$t('关于')}}</h3>
<li>
<a href="javascript:;">{{$t('关于我们')}}</a>
</li>
<li>
<a href="javascript:;">{{$t('公告')}}</a>
</li>
</ul>
<ul class="footer-list footer-list-b">
<h3>条款说明</h3>
<h3>{{$t('条款说明')}}</h3>
<li>
<a href="javascript:;" data-i18n="a_clause">用户协议</a>
<a href="javascript:;" data-i18n="a_clause">{{$t('用户协议')}}</a>
</li>
</ul>
</div>
<div class="footer-right">
<h3>联系我们</h3>
<h3>{{$t('联系我们')}}</h3>
<div class="contact-us">
<span class="conversation">
<a href="javascript:;">在线交谈</a>
<a href="javascript:;">{{$t('在线交谈')}}</a>
</span>
</div>
<p class="contact-msg">DigiFinex客服邮箱 support(a)digifinex.com</p>
<p class="contact-msg">DigiFinex {{$t('客服邮箱')}} support(a)digifinex.com</p>
</div>
</div>
</footer>

4
src/main.js

@ -22,7 +22,7 @@ Vue.use(Element, {
//常用Element UI组件全局引用
import 'element-ui/lib/theme-chalk/index.css'
import { Message, MessageBox, Dialog, Button, Tooltip, Popconfirm, Input, Select, Option, DatePicker, Cascader, Pagination, Upload, Tree, Image,} from 'element-ui';
import { Message, MessageBox, Dialog, Button, Tooltip, Popconfirm, Input, Select, Option, DatePicker, Cascader, Pagination, Upload, Tree, Image, Carousel, CarouselItem,} from 'element-ui';
Vue.prototype.$message = Message;
Vue.prototype.$messageBox = MessageBox;
Vue.prototype.$confirm = MessageBox.confirm;
@ -41,6 +41,8 @@ Vue.use(Pagination);
Vue.use(Upload);
Vue.use(Tree);
Vue.use(Image);
Vue.use(Carousel);
Vue.use(CarouselItem);
//api请求

8
src/router.js

@ -215,6 +215,14 @@ export default new Router({
title: '提币地址管理',
},
},
{
path: 'transferIn/:id',
name: 'assetsTransferIn',
component: () => import('./views/assets/transfer_in'),
meta: {
title: '转入',
},
},
{
path: 'transfer/:type/:id',
name: 'assetsTransfer',

2
src/views/assets/carryout.vue

@ -3,7 +3,7 @@
<div class="container">
<!--当前位置-->
<div class="hc-breadcrumb">
<span class="hc-color4">{{$t('币币账户')}}</span>
<span class="hc-color4" @click="$router.push('/assets/coincoin')">{{$t('币币账户')}}</span>
<i class="hc-breadcrumb-icon"></i>
<span class="margin0">{{$t('转账')}}</span>
</div>

2
src/views/assets/charge.vue

@ -3,7 +3,7 @@
<div class="container">
<!--当前位置-->
<div class="hc-breadcrumb">
<span class="hc-color4">{{$t('币币账户')}}</span>
<span class="hc-color4" @click="$router.push('/assets/coincoin')">{{$t('币币账户')}}</span>
<i class="hc-breadcrumb-icon"></i>
<span class="margin0">{{$t('充币')}}</span>
</div>

102
src/views/assets/coincoin_assets.vue

@ -80,7 +80,7 @@
</tr>
</thead>
<tbody v-if="searchList.length == 0">
<tbody>
<tr v-for="(item, index) of coincoinList" :key="index">
<td>
<div class="cell">
@ -110,79 +110,7 @@
</span>
</li>
<li>
<span class="hc-color2 el-dropdown-selfdefine">
<img src="../../assets/images/zru.png">
<span>{{$t('转入')}}</span>
</span>
</li>
<li>
<span class="hc-color2 el-dropdown-selfdefine" @click="$router.push('/assets/transfer/1/' + item.coinEngName)">
<img src="../../assets/images/trade/icon-transfer.png">
<span>{{$t('划转')}}</span>
</span>
</li>
<li>
<span class="hc-color2 el-dropdown-selfdefine" @click="$router.push('/assets/carryout/' + item.coinEngName)">
<img src="../../assets/images/icon-coin.png">
<span>{{$t('转账')}}</span>
</span>
</li>
<li>
<span class="hc-color2 el-dropdown-selfdefine" @click="$router.push('/assets/charge/' + item.coinEngName)">
<img src="../../assets/images/icon-coin.png">
<span>{{$t('充币')}}</span>
</span>
</li>
<li>
<span class="hc-color1 el-dropdown-selfdefine" @click="$router.push('/assets/withdraw/' + item.coinEngName)">
<img src="../../assets/images/icon-money.png">
<span>{{$t('提币')}}</span>
</span>
</li>
<li class="chdui">
<span class="hc-color1 el-dropdown-selfdefine" @click="$router.push('/assets/exchange/1/' + item.coinEngName)">
<img src="../../assets/images/dui.png">
<span>{{$t('兑换')}}</span>
</span>
</li>
</ul>
</div>
</td>
</tr>
</tbody>
<!-- 搜索结果 -->
<tbody v-else>
<tr v-for="(item, index) of searchList" :key="index">
<td>
<div class="cell">
<img class="quotation-table-img" :src="'data:img/jpg;base64,' + item.iconUrl" v-if="item.iconUrl">
<div class="quotation-table-text">{{item.coinEngName}}</div>
</div>
</td>
<td>
<div class="cell">{{item.normalAmount}}</div>
</td>
<td>
<div class="cell">{{item.freezeAmount}}</div>
</td>
<td>
<div class="cell">0.0000</div>
</td>
<td>
<div class="cell">0.0000</div>
</td>
<td class="is-right">
<div class="cell">
<ul class="operation-ul nav-dropdown">
<li>
<span class="hc-color4 el-dropdown-selfdefine" @click="gotoTrade(item.coinEngName)">
<img src="../../assets/images/icon-deal-with.png">
<span>{{$t('去交易')}}</span>
</span>
</li>
<li>
<span class="hc-color2 el-dropdown-selfdefine">
<span class="hc-color2 el-dropdown-selfdefine" @click="$router.push('/assets/transferIn/' + item.coinEngName)">
<img src="../../assets/images/zru.png">
<span>{{$t('转入')}}</span>
</span>
@ -223,6 +151,8 @@
</tr>
</tbody>
</table>
<no-content :isText="$t('暂无数据')" :isContent="coincoinList.length == 0"></no-content>
</div>
</div>
</div>
@ -230,14 +160,16 @@
<script>
import { mapState } from 'vuex'
import noContent from '@/components/no_content'
export default {
name: 'coincoinAssets',
components: {
noContent,
},
data() {
return {
assetsList: [], //
isView: false, //
searchList: [], //
searchKeywords: '',
}
},
@ -260,7 +192,15 @@
},
coincoinList() { //
let list = [];
if (this.isView) { //0
if(this.searchKeywords && this.isView) {
this.assetsList.forEach(item => {
if (item.coinEngName.toUpperCase().indexOf(this.searchKeywords.toUpperCase()) > -1 && item.normalAmount > 0) {
let icon = this.getIcon(item.coinId);
this.$set(item, 'iconUrl', icon);
list.push(item);
}
});
} else if (!this.searchKeywords && this.isView) { //0
this.assetsList.forEach(item => {
if (item.normalAmount > 0) {
let icon = this.getIcon(item.coinId);
@ -268,6 +208,14 @@
list.push(item);
}
})
} else if(this.searchKeywords && !this.isView) {
this.assetsList.forEach(item => {
if (item.coinEngName.toUpperCase().indexOf(this.searchKeywords.toUpperCase()) > -1) {
let icon = this.getIcon(item.coinId);
this.$set(item, 'iconUrl', icon);
list.push(item);
}
});
} else {
list = this.assetsList;
list.forEach(item => {

2
src/views/assets/coincoin_records.vue

@ -2,7 +2,7 @@
<div class="global-width">
<div class="container">
<div class="hc-breadcrumb">
<span class="hc-color4">{{$t('币币账户')}}</span>
<span class="hc-color4" @click="$router.push('/assets/coincoin')">{{$t('币币账户')}}</span>
<i class="hc-breadcrumb-icon"></i>
<span class="margin0">{{$t('财务记录')}}</span>
</div>

95
src/views/assets/currency_assets.vue

@ -21,9 +21,9 @@
<div class="order-top-div1">
<div class="soso-box soso-boxs">
<el-input class="inp" :placeholder="$t('搜索币种')" v-model="searchKeywords" type="text" clearable autocomplete="off" @keyup.enter.native="search">
<el-input class="inp" :placeholder="$t('搜索币种')" v-model="searchKeywords" type="text" clearable autocomplete="off">
</el-input>
<i class="icon-search icon-searchs" @click="search"></i>
<i class="icon-search icon-searchs"></i>
</div>
</div>
@ -62,7 +62,7 @@
</tr>
</thead>
<tbody v-if="searchList.length == 0">
<tbody>
<tr v-for="(item, index) of currencyList" :key="index">
<td>
<div class="cell">
@ -102,54 +102,9 @@
</td>
</tr>
</tbody>
<tbody v-else>
<tr v-for="(item, index) of searchList" :key="index">
<td>
<div class="cell">
<img class="quotation-table-img" :src="'data:img/jpg;base64,' + item.iconUrl" v-if="item.iconUrl">
<div class="quotation-table-text">{{item.coinEngName}}</div>
</div>
</td>
<td>
<div class="cell">{{item.normalAmount}}</div>
</td>
<td>
<div class="cell">{{item.freezeAmount}}</div>
</td>
<td>
<div class="cell">0.0000</div>
</td>
<td>
<div class="cell">0.0000</div>
</td>
<td class="is-right">
<div class="cell">
<ul class="operation-ul nav-dropdown">
<li>
<span class="hc-color4 el-dropdown-selfdefine" @click="gotoTrade(item.coinEngName)">
<img src="../../assets/images/icon-deal-with.png">
<span>{{$t('去交易')}}</span>
</span>
</li>
<li>
<span class="hc-color2 el-dropdown-selfdefine" @click="$router.push('/assets/transfer/2/' + item.coinEngName)">
<img src="../../assets/images/trade/icon-transfer.png">
<span>{{$t('划转')}}</span>
</span>
</li>
<li class="chdui">
<span class="hc-color1 el-dropdown-selfdefine" @click="$router.push('/assets/exchange/2/' + item.coinEngName)">
<img src="../../assets/images/dui.png">
<span>{{$t('兑换')}}</span>
</span>
</li>
</ul>
</div>
</td>
</tr>
</tbody>
</table>
<no-content :isText="$t('暂无数据')" :isContent="currencyList.length == 0"></no-content>
</div>
</div>
</div>
@ -157,15 +112,17 @@
<script>
import { mapState } from 'vuex'
import noContent from '@/components/no_content'
export default {
name: 'coincoinAssets',
components: {
noContent,
},
data() {
return {
assetsList: [], //
isView: false, //
searchList: [], //
searchKeywords: '',
searchKeywords: '', //
}
},
computed: {
@ -187,7 +144,15 @@
},
currencyList() { //
let list = [];
if (this.isView) { //0
if(this.searchKeywords && this.isView) {
this.assetsList.forEach(item => {
if (item.coinEngName.toUpperCase().indexOf(this.searchKeywords.toUpperCase()) > -1 && item.normalAmount > 0) {
let icon = this.getIcon(item.coinId);
this.$set(item, 'iconUrl', icon);
list.push(item);
}
});
} else if (!this.searchKeywords && this.isView) { //0
this.assetsList.forEach(item => {
if (item.normalAmount > 0) {
let icon = this.getIcon(item.coinId);
@ -195,6 +160,14 @@
list.push(item);
}
})
} else if(this.searchKeywords && !this.isView) {
this.assetsList.forEach(item => {
if (item.coinEngName.toUpperCase().indexOf(this.searchKeywords.toUpperCase()) > -1) {
let icon = this.getIcon(item.coinId);
this.$set(item, 'iconUrl', icon);
list.push(item);
}
});
} else {
list = this.assetsList;
list.forEach(item => {
@ -221,18 +194,8 @@
})
return img;
},
search() { //
this.searchList = [];
this.currencyList.forEach(item => {
if (item.coinEngName.toUpperCase().indexOf(this.searchKeywords.toUpperCase()) > -1) {
this.searchList.push(item);
}
});
if(this.searchList.length == 0) {
this.$message.warning(this.$t('请换一个关键字进行搜索!'));
}
},
gotoTrade(id) {
gotoTrade(id) { //
this.$router.push({
path: '/currency/trade',
query: {

2
src/views/assets/currency_records.vue

@ -2,7 +2,7 @@
<div class="global-width">
<div class="container">
<div class="hc-breadcrumb">
<span class="hc-color4">{{$t('法币账户')}}</span>
<span class="hc-color4" @click="$router.push('/assets/currency')">{{$t('法币账户')}}</span>
<i class="hc-breadcrumb-icon"></i>
<span class="margin0">{{$t('财务记录')}}</span>
</div>

2
src/views/assets/exchange.vue

@ -3,7 +3,7 @@
<div class="container">
<!--当前位置-->
<div class="hc-breadcrumb">
<span class="hc-color4">{{$t('币币账户')}}</span>
<span class="hc-color4" @click="$router.push('/assets/coincoin')">{{$t('币币账户')}}</span>
<i class="hc-breadcrumb-icon"></i>
<span class="margin0">{{$t('兑换')}}</span>
</div>

12
src/views/assets/transfer.vue

@ -3,7 +3,7 @@
<div class="container">
<!--当前位置-->
<div class="hc-breadcrumb">
<span class="hc-color4">{{$t('币币账户')}}</span>
<span class="hc-color4" @click="goBack">{{$route.params.type == 1 ? $t('币币账户') : $t('法币账户')}}</span>
<i class="hc-breadcrumb-icon"></i>
<span class="margin0">{{$t('划转')}}</span>
</div>
@ -362,7 +362,15 @@
clearData() {
this.amount = '';
this.password = '';
}
},
goBack() {
if(this.$route.params.type == 1) {
this.$router.push('/assets/coincoin');
} else {
this.$router.push('/assets/currency');
}
},
},
created() {
this.transferCoin = this.$route.params.id;

193
src/views/assets/transfer_in.vue

@ -0,0 +1,193 @@
<template>
<div class="global-width">
<div class="container">
<!--当前位置-->
<div class="hc-breadcrumb">
<span class="hc-color4" @click="$router.push('/assets/coincoin')">{{$t('币币账户')}}</span>
<i class="hc-breadcrumb-icon"></i>
<span class="margin0">{{$t('转入')}}</span>
</div>
<div class="hc-breadcrumb second-position">
<span class="hc-color1">
<img src="../../assets/images/icon-money.png" />{{transferCoin}} {{$t('转入')}}
</span>
</div>
<div class="recharge-warp">
<div class="withdrawmoney-box">
<div class="form-box">
<div class="form-group">
<label class="form-label">{{$t('选择转入币种')}}</label>
<div class="form-control">
<div class="hc-form-warp" @click="showCoin = !showCoin" v-if="transferCoin">
<img class="hc-select-img" :src="'data:img/jpg;base64,' + transferCoinImg" v-if="transferCoinImg">
<span class="hc-select-span1">{{transferCoin}}</span>
<span class="hc-form-down-icon">
<i class="fa-caret-down"></i>
</span>
</div>
<div class="hc-form-warp" @click="showCoin = !showCoin" v-else>
<span class="hc-select-span1">{{$t('选择转入币种')}}</span>
<span class="hc-form-down-icon">
<i class="fa-caret-down"></i>
</span>
</div>
<!-- 选择币种弹框 -->
<div class="choose-currencies" v-if="showCoin">
<div class="hc-select-options" v-for="item of allCoinList" :key="item.id" @click="chooseCoin(item)">
<img class="hc-select-img" :src="'data:img/jpg;base64,' + item.image" v-if="item.image">
<span class="hc-select-span1">{{item.id}}</span>
</div>
</div>
</div>
</div>
<div class="form-group">
<label class="form-label">
{{$t('转入数量')}}
<span class="hc-color3">( {{$t('可用')}}:{{account}} )</span>
</label>
<div class="form-control">
<el-input class="text-input" :placeholder="$t('请输入转入数量')" v-model="amount" type="text" clearable autocomplete="off" @keyup.enter.native="submit">
</el-input>
</div>
</div>
<div class="form-group">
<label class="form-label">{{$t('支付密码')}}</label>
<div class="form-control">
<el-input class="text-input" :placeholder="$t('请输入支付密码')" v-model="password" type="password" clearable autocomplete="off" @keyup.enter.native="submit">
</el-input>
</div>
</div>
<div class="form-group">
<el-button class="form-submit-btn" type="primary" :loading="true" v-if="loading">{{$t('提交中...')}}</el-button>
<el-button class="form-submit-btn" type="primary" @click="submit" v-else>{{$t('确认转入')}}</el-button>
</div>
</div>
</div>
<div class="address-line"></div>
<div class="recharge-reminder">
<div class="recharge-r-top">
<i class="fa-exclamation"></i>
<span>{{$t('温馨提示')}}</span>
</div>
<p>{{$t('1. 最小兑换数量为:')}}{{minAmount}}{{transferCoin}}{{$t(',最大兑换数量为:')}}{{maxAmount}}{{transferCoin}}</p>
<p>{{$t('2. 请务必确认电脑及浏览器安全,防止信息被篡改或泄露。')}}</p>
</div>
</div>
</div>
</div>
</template>
<script>
import { mapState } from 'vuex'
export default {
name: 'transfer',
data() {
return {
transferCoin: '', //
showCoin: false, //
account: 0, //
maxAmount: 0, //
minAmount: 0, //
amount: '', //
password: '', //
loading: false,
}
},
computed: {
...mapState('trend', ['allCoinList']),
transferCoinImg() { //
let img;
this.allCoinList.forEach(item => {
if (item.id == this.transferCoin) {
img = item.image;
}
})
return img;
},
},
methods: {
getBalance() { //
this.getAxios('/api/user/assets/list?type=' + this.assetsCaseCode)
.then(data => {
let list = data.data;
list.forEach(item => {
if(item.coinId == this.transferCoin) {
this.account = item.normalAmount;
}
})
})
},
chooseCoin(item) { //
this.transferCoin = item.id;
this.showCoin = false;
this.getBalance();
},
submit() {
if(this.loading) {
return;
}
if(!this.amount) {
this.$message.error(this.$t('请输入转入数量!'));
return;
}
if(!this.password) {
this.$message.error(this.$t('请输入支付密码!'));
return;
}
this.loading = true;
let params = {
coinId: this.transferCoin,
amount: this.amount,
paymentPassword: this.password
}
this.postAxios('/api/unblock/lock/up/into', params)
.then(() => {
this.$message.success(this.$t('转入提交成功!'));
this.loading = false;
this.getBalance();
this.clearData();
})
.catch(() => {
this.loading = false;
})
},
clearData() {
this.amount = '';
this.password = '';
}
},
created() {
this.transferCoin = this.$route.params.id;
this.getBalance();
}
}
</script>
<style scoped>
.address-form-div4 {
width: 32px;
display: inline-block;
margin: 0 9px;
}
</style>

2
src/views/assets/withdraw.vue

@ -3,7 +3,7 @@
<div class="container">
<!--当前位置-->
<div class="hc-breadcrumb">
<span class="hc-color4">{{$t('币币账户')}}</span>
<span class="hc-color4" @click="$router.push('/assets/coincoin')">{{$t('币币账户')}}</span>
<i class="hc-breadcrumb-icon"></i>
<span class="margin0">{{$t('提币')}}</span>
</div>

2
src/views/assets/withdraw_address.vue

@ -3,7 +3,7 @@
<div class="container">
<!--当前位置-->
<div class="hc-breadcrumb">
<span class="hc-color4">{{$t('币币账户')}}</span>
<span class="hc-color4" @click="$router.push('/assets/coincoin')">{{$t('币币账户')}}</span>
<i class="hc-breadcrumb-icon"></i>
<span class="margin0">{{$t('提币地址管理')}}</span>
</div>

12
src/views/coincoin/components/trade_data_update.vue

@ -20,30 +20,30 @@
<span class="hc-color1" v-else>{{currentPair.price}}</span>
</div>
<div class="span-text2">
<span>1.63 CNY</span>
<span>{{currentPair.price * 7 | Decimal(2)}} CNY</span>
</div>
</div>
<div class="line-div1">
<p>涨幅</p>
<p>{{$t('涨幅')}}</p>
<span class="hc-color2" v-if="currentPair.changes > 0">+{{currentPair.changes * 100 | Decimal(2)}}%</span>
<span class="hc-color1" v-else>{{currentPair.changes * 100 | Decimal(2)}}%</span>
</div>
<div class="line-div1">
<p>24H高</p>
<p>24H {{$t('')}}</p>
<span>0</span>
</div>
<div class="line-div1">
<p>24H低</p>
<p>24H {{$t('')}}</p>
<span>0</span>
</div>
<div class="line-div1">
<p>24H量</p>
<p>24H {{$t('')}}</p>
<span>{{currentPair.baseVolume}} {{currentPair.dealCoin}}</span>
</div>
<div class="line-btn">
<span class="line-btn-span">深度图</span>
<span class="line-btn-span">{{$t('深度图')}}</span>
</div>
</div>
</div>

66
src/views/coincoin/components/trade_pair_list.vue

@ -22,18 +22,22 @@
<thead>
<tr>
<th style="width: 40%">
<div class="cell">交易对</div>
<div class="cell">{{$t('交易对')}}</div>
</th>
<th>
<div class="cell">最新价
<div class="cell">
{{$t('最新价')}}
<span class="caret-wrapper">
<i class="sort-caret ascending active"></i>
<i class="sort-caret descending"></i>
</span>
</div>
</th>
<th>
<div class="cell">涨幅
<div class="cell">
{{$t('涨幅')}}
<span class="caret-wrapper">
<i class="sort-caret ascending"></i>
<i class="sort-caret descending"></i>
@ -49,21 +53,19 @@
<div class="table-content-div1">
<table class="table el-table">
<tbody>
<tr :class="{'selected': item.symbolId == currentPair.symbolId}" v-for="item of tradePairList" :key="item.symbolId" @click="choosePair(item)">
<tr :class="{'selected': item.symbolId == currentPair.symbolId}" v-for="item of tradePairList" :key="item.symbolId">
<td style="width: 40%">
<div class="cell">
<span>
<i class="optional fa-star" :class="{'fa-stars': item.collected}"></i>
{{item.dealCoin}}/{{item.convertType}}
</span>
<div class="cell" style="padding: 0;">
<i class="optional fa-star" :class="{'fa-stars': item.collected}" @click="handleCollect(item)"></i>
<span @click="choosePair(item)">{{item.dealCoin}}/{{item.convertType}}</span>
</div>
</td>
<td>
<td @click="choosePair(item)">
<div class="cell">
<span>{{item.price}}</span>
</div>
</td>
<td>
<td @click="choosePair(item)">
<div class="cell">
<div class="green-text" v-if="item.changes > 0">
+{{item.changes * 100 | Decimal(2)}}%<i class="icon-arrow"></i>
@ -109,7 +111,7 @@
});
return list;
},
tradePairList() {
tradePairList() { //
let list = [];
this.allPairList.forEach(item => {
if(item.caseCode == this.caseIndex) {
@ -123,6 +125,8 @@
list.forEach(item => {
if(this.checkCollected(item.symbolId)) {
this.$set(item, 'collected', true);
} else {
this.$set(item, 'collected', false);
}
})
return list;
@ -139,6 +143,44 @@
return val;
},
handleCollect(item) {
if(item.collected) { //
this.cancleCollect(item); //
} else {
this.addCollect(item);
}
},
addCollect(item) { //
let params = [item.symbolId];
params = params.concat(this.myCollectList); //
this.putAxios('/api/user/config/update/or/save', {
key: 'U_COLLECTION',
newValue: JSON.stringify(params),
})
.then(() => {
this.$message.success(this.$t('添加自选成功!'));
setTimeout(() => {
this.$store.dispatch('trend/getCollect');
}, 500)
})
},
cancleCollect(item) { //
let choiceArray = [item.symbolId];
let delArray = this.myCollectList.filter(item => choiceArray.indexOf(item) == -1);
this.putAxios('/api/user/config/update/or/save', {
key: 'U_COLLECTION',
newValue: JSON.stringify(delArray),
})
.then(() => {
this.$message.success(this.$t('自选取消成功!'));
setTimeout(() => {
this.$store.dispatch('trend/getCollect');
}, 500)
})
},
chooseCase(item) { //
if(item.caseName == '解封区') {
this.$router.push('/release/trade');

2
src/views/currency/currency_ads.vue

@ -3,7 +3,7 @@
<div class="container">
<!--当前位置-->
<div class="hc-breadcrumb">
<span class="hc-color4">{{$t('发布广告')}}</span>
<span class="hc-color4" @click="$router.push('/currency/release')">{{$t('发布广告')}}</span>
<i class="hc-breadcrumb-icon"></i>
<span class="margin0">{{$t('我的广告')}}</span>
</div>

2
src/views/currency/currency_deal.vue

@ -14,7 +14,7 @@
<div class="trade-detail-warp">
<div class="trade-detail-left">
<router-link to="/" class="trade-detail-left-div1">
<router-link :to="'/currency/merchant/' + dealInfo.userId" class="trade-detail-left-div1">
<div class="trade-detail-left-top">
<img class="trade-detail-left-headimg" :src="dealerInfo.avatar" v-if="dealerInfo.avatar">
<img class="trade-detail-left-headimg" src="../../assets/images/user-head-img.png" v-else>

2
src/views/currency/currency_order_details.vue

@ -15,7 +15,7 @@
<div class="trade-detail-warp purchase-warp">
<div class="trade-detail-left">
<router-link to="/" class="trade-detail-left-div1">
<router-link :to="'/currency/merchant/' + orderDetails.dealUserId" class="trade-detail-left-div1">
<div class="trade-detail-left-top">
<img class="trade-detail-left-headimg" :src="dealerInfo.avatar" v-if="dealerInfo.avatar">
<img class="trade-detail-left-headimg" src="../../assets/images/user-head-img.png" v-else>

18
src/views/currency/currency_release.vue

@ -170,7 +170,7 @@
</div>
<span class="buy-payment-tips" v-if="hasPayment">
{{$t('您还未添加收款方式')}}
<router-link to="/user/setting">去设置</router-link>
<router-link to="/user/setting">{{$t('去设置')}}</router-link>
</span>
</div>
</div>
@ -187,14 +187,14 @@
</div>
<div class="trade-detail-right-tips">
<h3>当前数字货币价格为系统自动计算实际交易价格以发起交易时的价格为准请点击查看关于 <span>浮动价格的说明.</span></h3>
<p>1. 交易发起前请您确认已阅读并同意卖家提出的条款并再次确认交易内容无误后再点击购买按钮</p>
<p>2. 交易发起后请您于付款期限截止前转帐至指定账户并标记已付款完毕逾期系统将自动取消交易</p>
<p>3. 交易发起后系统会自动将卖家的数字货币锁定待卖家确认收到您的转帐后将会释放数字货币至您的账户中</p>
<p>4. 建议您在交易前先查看卖家信息检视相关交易记录及评价以減少交易纠纷</p>
<p>5. 交易过程请使用平台的聊天系统进行沟通平台外的对话记录将无法作为交易纠纷的依据</p>
<p>6. 温馨提示超过三笔取消订单将被冻结当天下单权限</p>
<p>7. 下单后请履行契约精神恶意抬价或者是反悔被投诉将冻结账户 3-14 天不等</p>
<h3>{{$t('当前数字货币价格为系统自动计算,实际交易价格以发起交易时的价格为准,请点击查看关于')}} <span>{{$t('浮动价格的说明')}}</span></h3>
<p>1. {{$t('交易发起前,请您确认已阅读并同意卖家提出的条款,并再次确认交易内容无误后,再点击购买按钮。')}}</p>
<p>2. {{$t('交易发起后,请您于付款期限截止前转帐至指定账户,并标记已付款完毕,逾期系统将自动取消交易。')}}</p>
<p>3. {{$t('交易发起后,系统会自动将卖家的数字货币锁定,待卖家确认收到您的转帐后,将会释放数字货币至您的账户中。')}}</p>
<p>4. {{$t('建议您在交易前先查看卖家信息,检视相关交易记录及评价,以减少交易纠纷。')}}</p>
<p>5. {{$t('交易过程请使用平台的聊天系统进行沟通,平台外的对话记录将无法作为交易纠纷的依据。')}}</p>
<p>6. {{$t('温馨提示:超过三笔取消订单,将被冻结当天下单权限。')}}</p>
<p>7. {{$t('下单后请履行契约精神,恶意抬价或者是反悔,被投诉将冻结账户 3-14 天不等。')}}</p>
</div>
</div>
</div>

47
src/views/index/components/banner.vue

@ -0,0 +1,47 @@
<template>
<div class="swiper-box">
<el-carousel height="200px" :autoplay="false">
<el-carousel-item v-for="(item, index) of bannerList" :key="index">
<ul class="banner-img-warp" v-html="item">
</ul>
</el-carousel-item>
</el-carousel>
</div>
</template>
<script>
export default {
name: 'indexBanner',
data() {
return {
bannerList: []
}
},
methods: {
getBanner() {
this.getAxios('/api/adv/list')
.then(data => {
let list = data.data;
let all = data.data.length;
let str = '';
list.forEach((item, index) => {
str = str + `<li><img src="${item.imgUrl}"></li>`;
if((index+1) % 4 == 0 || (index+1) == all) { //4
this.bannerList.push(str);
str = '';
}
})
})
}
},
created() {
this.getBanner();
}
}
</script>
<style>
</style>

43
src/views/index/components/price.vue

@ -0,0 +1,43 @@
<template>
<div class="trade-block">
<ul class="market-ticker">
<li v-for="item of priceList" :key="item.symbolId">
<dl class="btcusdt">
<dt>
<strong>{{item.dealCoin}}/{{item.convertType}}</strong>
</dt>
<dd class="price">
{{item.price}} <em> {{item.price * 7 | Decimal(2)}} CNY</em>
</dd>
<dd class="vol">24H {{item.quoteVolume}} </dd>
<dd class="rate up" v-if="item.changes > 0">+{{item.changes}}%</dd>
<dd class="rate down" v-if="item.changes <= 0">{{item.changes}}%</dd>
</dl>
</li>
</ul>
</div>
</template>
<script>
import { mapState } from 'vuex'
export default {
name: 'indexPrice',
computed: {
...mapState('trend', ['allPairList', 'allTrendList']),
priceList() {
let list = [];
this.allTrendList.forEach((item, index) => {
if(index < 6) {
list.push(item)
}
});
return list;
}
}
}
</script>
<style>
</style>

242
src/views/index/components/trend.vue

@ -0,0 +1,242 @@
<template>
<div class="quotation-main">
<div class="quotation-main-soso">
<div class="soso-box">
<input placeholder="搜索币种">
<i class="icon-search"></i>
</div>
</div>
<div class="quotation-tab">
<div class="tab-title">
<ul>
<li :class="{'active': caseIndex == item.caseCode}" v-for="item of caseList" :key="item.caseCode" @click="chooseCase(item)">
<span>{{item.caseName}}</span>
</li>
</ul>
</div>
<div class="tab-container">
<div class="tab-box">
<div class="table-quotation-wrapper">
<table class="table">
<thead>
<tr>
<th class="is-center">
<div class="cell"></div>
</th>
<th>
<div class="cell">{{$t('交易对')}}</div>
</th>
<th>
<div class="cell">
{{$t('最新价')}}(USDT)
<span class="caret-wrapper">
<i class="sort-caret ascending active"></i>
<i class="sort-caret descending"></i>
</span>
</div>
</th>
<th>
<div class="cell">
24H {{$t('涨跌')}}
<span class="caret-wrapper">
<i class="sort-caret ascending"></i>
<i class="sort-caret descending"></i>
</span>
</div>
</th>
<th>
<div class="cell">24H {{$t('最高')}}(USDT)</div>
</th>
<th>
<div class="cell">24H {{$t('最低')}}(USDT)</div>
</th>
<th>
<div class="cell">
24H {{$t('量')}}
<span class="caret-wrapper">
<i class="sort-caret ascending"></i>
<i class="sort-caret descending"></i>
</span>
</div>
</th>
<th class="is-center">
<div class="cell">{{$t('现货交易')}}</div>
</th>
</tr>
</thead>
</table>
</div>
<div class="table-responsive">
<table class="table">
<tbody>
<tr v-for="item of tradePairList" :key="item.symbolId">
<td class="is-center">
<div class="cell">
<i class="optional fa-star-0" :class="{'fa-star': item.collected}" @click="handleCollect(item)"></i>
</div>
</td>
<td>
<div class="cell">
<!-- <img class="quotation-table-img" src="../../assets/images/bi/btc.png" /> -->
<div class="quotation-table-text">
{{item.dealCoin}}<span class="hc-color"> / {{item.convertType}}</span>
</div>
</div>
</td>
<td>
<div class="cell">
{{item.price}}
<div class="hc-color"> {{item.price * 7 | Decimal(2)}} CNY</div>
</div>
</td>
<td>
<div class="cell">
<div class="green-text" v-if="item.changes > 0">
+{{item.changes * 100 | Decimal(2)}}<i class="icon-arrow"></i>
</div>
<div class="red-text" v-else>
{{item.changes * 100 | Decimal(2)}}<i class="icon-arrow"></i>
</div>
</div>
</td>
<td>
<div class="cell">
0
<div class="hc-color"> 0 CNY</div>
</div>
</td>
<td>
<div class="cell">
0
<div class="hc-color"> 0 CNY</div>
</div>
</td>
<td>
<div class="cell">
{{item.quoteVolume}}
<div class="hc-color"> 0(USDT)</div>
</div>
</td>
<td class="is-center">
<div class="cell">
<img src="@/assets/images/icon-transaction-2.png" />
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { mapState } from 'vuex'
export default {
name: 'indexTrend',
data() {
return {
caseIndex: 1, //
}
},
computed: {
...mapState('trend', ['allPairList', 'myCollectList']),
caseList() { //
let list = [];
this.allPairList.forEach(item => {
if(item.status == 'C_C_S_NORMAL') {
list.push({
caseCode: item.caseCode,
caseName: item.caseName,
status: item.status,
})
}
});
return list;
},
tradePairList() { //
let list = [];
this.allPairList.forEach(item => {
if(item.caseCode == this.caseIndex) {
item.childen.forEach(item2 => {
item2.prices.forEach(item3 => {
list.push(item3);
})
})
}
});
list.forEach(item => {
if(this.checkCollected(item.symbolId)) {
this.$set(item, 'collected', true);
} else {
this.$set(item, 'collected', false);
}
})
return list;
}
},
methods: {
checkCollected(id) { //
let val = false;
this.myCollectList.forEach(data => {
if (data == id) {
val = true;
}
});
return val;
},
handleCollect(item) {
if(item.collected) { //
this.cancleCollect(item); //
} else {
this.addCollect(item);
}
},
addCollect(item) { //
let params = [item.symbolId];
params = params.concat(this.myCollectList); //
this.putAxios('/api/user/config/update/or/save', {
key: 'U_COLLECTION',
newValue: JSON.stringify(params),
})
.then(() => {
this.$message.success(this.$t('添加自选成功!'));
setTimeout(() => {
this.$store.dispatch('trend/getCollect');
}, 500)
})
},
cancleCollect(item) { //
let choiceArray = [item.symbolId];
let delArray = this.myCollectList.filter(item => choiceArray.indexOf(item) == -1);
this.putAxios('/api/user/config/update/or/save', {
key: 'U_COLLECTION',
newValue: JSON.stringify(delArray),
})
.then(() => {
this.$message.success(this.$t('自选取消成功!'));
setTimeout(() => {
this.$store.dispatch('trend/getCollect');
}, 500)
})
},
chooseCase(item) { //
this.caseIndex = item.caseCode;
},
}
}
</script>
<style>
</style>

168
src/views/index/index.vue

@ -7,6 +7,8 @@
<p>最安全最便利的多币种全球交易平台</p>
</div>
<banner-list></banner-list>
<div class="gliding-wave">
<div class="gliding-wave-box">
<div class="gliding-wave-bg wave1">
@ -23,156 +25,9 @@
</div>
</div>
<div class="trade-block">
<ul class="market-ticker">
<li>
<a href="#" class="">
<dl class="btcusdt">
<dt><strong>BTC/USDT</strong></dt>
<dd class="price">8238.50 <em> 58369.77 CNY</em></dd>
<dd class="vol">24H量 21,359 </dd>
<dd class="rate up">+0.58%</dd>
</dl>
</a>
</li>
<li>
<a href="#" class="">
<dl class="btcusdt">
<dt><strong>BTC/USDT</strong></dt>
<dd class="price">8238.50 <em> 58369.77 CNY</em></dd>
<dd class="vol">24H量 21,359 </dd>
<dd class="rate up">+0.58%</dd>
</dl>
</a>
</li>
</ul>
</div>
<div class="quotation-main">
<div class="quotation-main-soso">
<div class="soso-box">
<input placeholder="搜索币种">
<i class="icon-search"></i>
</div>
</div>
<div class="quotation-tab">
<div class="tab-title">
<ul>
<li class="active">
<span>{{$t('涨幅榜')}}</span>
</li>
<li>
<span>{{$t('成交额榜')}}</span>
</li>
<li>
<span>{{$t('新币榜')}}</span>
</li>
<li>
<span>{{$t('主区')}}</span>
</li>
<li>
<span>{{$t('创新区')}}</span>
</li>
<li>
<span>{{$t('解封区')}}</span>
</li>
</ul>
</div>
<div class="tab-container">
<div class="tab-box">
<div class="table-quotation-wrapper">
<table class="table">
<thead>
<tr>
<th class="is-center">
<div class="cell"></div>
</th>
<th>
<div class="cell">{{$t('交易对')}}</div>
</th>
<th>
<div class="cell">
{{$t('最新价')}}(USDT)<span class="caret-wrapper"><i class="sort-caret ascending active"></i><i class="sort-caret descending"></i></span>
</div>
</th>
<th>
<div class="cell">
24H {{$t('涨跌')}}<span class="caret-wrapper"><i class="sort-caret ascending"></i><i class="sort-caret descending"></i></span>
</div>
</th>
<th>
<div class="cell">24H {{$t('最高')}}(USDT)</div>
</th>
<th>
<div class="cell">24H {{$t('最低')}}(USDT)</div>
</th>
<th>
<div class="cell">
24H {{$t('量')}}<span class="caret-wrapper"><i class="sort-caret ascending"></i><i class="sort-caret descending"></i></span>
</div>
</th>
<th class="is-center">
<div class="cell">{{$t('现货交易')}}</div>
</th>
</tr>
</thead>
</table>
</div>
<price-list></price-list>
<div class="table-responsive">
<table class="table">
<tbody>
<tr>
<td class="is-center">
<div class="cell"><i class="optional fa-star-0"></i></div>
</td>
<td>
<div class="cell">
<img class="quotation-table-img" src="../../assets/images/bi/btc.png" />
<div class="quotation-table-text">
BTC<span class="hc-color"> / GAVC</span>
</div>
</div>
</td>
<td>
<div class="cell">8035.09
<div class="hc-color"> 56996.91 CNY</div>
</div>
</td>
<td>
<div class="cell">
<div class="hc-color1 red-text">-1.86%<i class="icon-arrow"></i></div>
</div>
</td>
<td>
<div class="cell">8290.51
<div class="hc-color">58985.32 CNY</div>
</div>
</td>
<td>
<div class="cell">8005.06
<div class="hc-color">56954.40 CNY</div>
</div>
</td>
<td>
<div class="cell">15796.2201
<div class="hc-color"> 126969227.35(USDT)</div>
</div>
</td>
<td class="is-center">
<div class="cell">
<img src="../../assets/images/icon-transaction-2.png" />
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<trend-list></trend-list>
<div class="home-propaganda-main">
<ul class="home-propaganda-ul">
@ -225,20 +80,20 @@
<h1 class="logo">BSEX</h1>
<h2>BSEX数字资产交易所移动端APP即将推出</h2>
<p>集多种活交易模式于体一站式字货币交易服务币财富一手掌握</p>
<div class="home-download-qrcode">
<div class="android">
<img src="../../assets/images/qr-code.png" />
<p><span>android版</span><br>扫码立即下载</p>
</div>
<div class="ios">
<img src="../../assets/images/qr-code.png" />
<p><span>ios版</span><br>扫码立即下载</p>
</div>
</div>
</div>
<div class="home-download-r">
<img src="../../assets/images/app_hsj.png" />
</div>
@ -248,20 +103,23 @@
</template>
<script>
import bannerList from './components/banner'
import announceList from './components/announce'
import priceList from './components/price'
import trendList from './components/trend'
export default {
name: 'home',
components: {
bannerList, //
announceList, //
priceList, //
trendList, //
},
data() {
return {
}
},
methods: {
},
}
</script>

16
src/views/login/findpw.vue

@ -35,6 +35,14 @@
</el-input>
</div>
<div class="login-form">
<div class="login-label">{{$t('图形验证码')}}</div>
<el-input class="login-input verify-input" :placeholder="$t('请输入图形验证码')" v-model="imgVerifyCode" type="text" clearable autocomplete="off" @keyup.enter.native="submit">
</el-input>
<img class="val" :src="imagesUrl" @click="getImageCode">
</div>
<div class="login-form">
<div class="login-label">{{passwordTypeText}}{{$t('验证码')}}</div>
<el-input class="login-input verify-input" :placeholder="$t('请输入验证码')" v-model="verifyCode" type="text" clearable autocomplete="off" @keyup.enter.native="submit">
@ -56,14 +64,6 @@
</el-input>
</div>
<div class="login-form">
<div class="login-label">{{$t('图形验证码')}}</div>
<el-input class="login-input verify-input" :placeholder="$t('请输入图形验证码')" v-model="imgVerifyCode" type="text" clearable autocomplete="off" @keyup.enter.native="submit">
</el-input>
<img class="val" :src="imagesUrl" @click="getImageCode">
</div>
<div class="login-logbtn">
<div class="logbtn regbtn" @click="submit">
<el-button type="primary" :loading="true" v-if="loading">{{$t('提交中...')}}</el-button>

10
src/views/release/components/release_data_update.vue

@ -25,25 +25,25 @@
</div>
<div class="line-div1">
<p>涨幅</p>
<p>{{$t('涨幅')}}</p>
<span class="hc-color2" v-if="currentPair.changes > 0">+{{currentPair.changes * 100 | Decimal(2)}}%</span>
<span class="hc-color1" v-else>{{currentPair.changes * 100 | Decimal(2)}}%</span>
</div>
<div class="line-div1">
<p>24H高</p>
<p>24H {{$t('')}}</p>
<span>0</span>
</div>
<div class="line-div1">
<p>24H低</p>
<p>24H {{$t('')}}</p>
<span>0</span>
</div>
<div class="line-div1">
<p>24H量</p>
<p>24H {{$t('')}}</p>
<span>{{currentPair.baseVolume}} {{currentPair.dealCoin}}</span>
</div>
<div class="line-btn">
<span class="line-btn-span">深度图</span>
<span class="line-btn-span">{{$t('深度图')}}</span>
</div>
</div>
</div>

58
src/views/release/components/release_pair_list.vue

@ -22,10 +22,11 @@
<thead>
<tr>
<th style="width: 40%">
<div class="cell">交易对</div>
<div class="cell">{{$t('交易对')}}</div>
</th>
<th>
<div class="cell">最新价
<div class="cell">
{{$t('最新价')}}
<span class="caret-wrapper">
<i class="sort-caret ascending active"></i>
<i class="sort-caret descending"></i>
@ -33,7 +34,8 @@
</div>
</th>
<th>
<div class="cell">涨幅
<div class="cell">
{{$t('涨幅')}}
<span class="caret-wrapper">
<i class="sort-caret ascending"></i>
<i class="sort-caret descending"></i>
@ -49,13 +51,11 @@
<div class="table-content-div1">
<table class="table el-table">
<tbody>
<tr :class="{'selected': item.symbolId == currentPair.symbolId}" v-for="item of tradePairList" :key="item.symbolId" @click="choosePair(item)">
<tr :class="{'selected': item.symbolId == currentPair.symbolId}" v-for="item of tradePairList" :key="item.symbolId">
<td style="width: 40%">
<div class="cell">
<span>
<i class="optional fa-star" :class="{'fa-stars': item.collected}"></i>
{{item.dealCoin}}/{{item.convertType}}
</span>
<div class="cell" style="padding: 0;">
<i class="optional fa-star" :class="{'fa-stars': item.collected}" @click="handleCollect(item)"></i>
<span @click="choosePair(item)">{{item.dealCoin}}/{{item.convertType}}</span>
</div>
</td>
<td>
@ -123,6 +123,8 @@
list.forEach(item => {
if(this.checkCollected(item.symbolId)) {
this.$set(item, 'collected', true);
} else {
this.$set(item, 'collected', false);
}
})
return list;
@ -139,6 +141,44 @@
return val;
},
handleCollect(item) {
if(item.collected) { //
this.cancleCollect(item); //
} else {
this.addCollect(item);
}
},
addCollect(item) { //
let params = [item.symbolId];
params = params.concat(this.myCollectList); //
this.putAxios('/api/user/config/update/or/save', {
key: 'U_COLLECTION',
newValue: JSON.stringify(params),
})
.then(() => {
this.$message.success(this.$t('添加自选成功!'));
setTimeout(() => {
this.$store.dispatch('trend/getCollect');
}, 500)
})
},
cancleCollect(item) { //
let choiceArray = [item.symbolId];
let delArray = this.myCollectList.filter(item => choiceArray.indexOf(item) == -1);
this.putAxios('/api/user/config/update/or/save', {
key: 'U_COLLECTION',
newValue: JSON.stringify(delArray),
})
.then(() => {
this.$message.success(this.$t('自选取消成功!'));
setTimeout(() => {
this.$store.dispatch('trend/getCollect');
}, 500)
})
},
// chooseCase(item) { //
// this.caseIndex = item.caseCode;
// },

Loading…
Cancel
Save