Browse Source

法币模块

master
bellezhuo 6 years ago
parent
commit
5516aa713a
  1. 62
      src/assets/css/other.css
  2. 75
      src/assets/data/en.js
  3. 73
      src/assets/data/zh.js
  4. 6
      src/components/header.vue
  5. 8
      src/router.js
  6. 4
      src/views/currency/currency_deal.vue
  7. 23
      src/views/currency/currency_order.vue
  8. 722
      src/views/currency/currency_order_details.vue
  9. 42
      src/views/currency/currency_release.vue
  10. 12
      src/views/login/login.vue

62
src/assets/css/other.css

@ -2102,6 +2102,9 @@ otc-index-btn:hover {
font-size: 12px;
color: #66718f;
}
.trade-detail-right .top-price-rm {
margin-right: 40px;
}
.fa-question {
width: 14px;
@ -2475,22 +2478,24 @@ otc-index-btn:hover {
/**************************法币交易-购买订单详情**************************/
.purchase-warp .ul-information {
margin-bottom: 30px;
display: flex;
}
.purchase-warp .ul-information li {
width: 170px;
flex: 1 1 170px;
}
.purchase-warp .ul-information li.li-4 {
width: 120px;
flex: 1 120px;
}
.purchase-warp .ul-information li.li-5 {
width: 102px;
flex: 1 1 102px;
}
.purchase-warp .ul-information li.li-6 {
width: 102px;
flex: 1 1 102px;
}
/***手续费-价格***/
@ -2613,11 +2618,12 @@ otc-index-btn:hover {
.order-person-info .one-body {
width: 370px;
height: 100px;
margin: 32px auto;
position: relative;
}
.tips-body .el-button+.el-button {
margin-left: 0;
}
.el-popover_reference {
background: #5f97ff;
border: 1px solid #5f97ff;
@ -2626,7 +2632,7 @@ otc-index-btn:hover {
display: block;
white-space: nowrap;
cursor: pointer;
margin: 0 auto;
margin: 10px auto;
padding: 12px 20px;
font-size: 14px;
border-radius: 4px;
@ -2650,7 +2656,7 @@ otc-index-btn:hover {
/***买家买入信息***/
.confirm-price {
width: 100%;
height: 164px;
overflow: hidden;
padding: 15px;
}
@ -2678,9 +2684,8 @@ otc-index-btn:hover {
}
.confirm-price-text {
display: inline-block;
width: 55%;
float: right;
width: 100%;
display: flex;
}
.confirm-price-text ul {
@ -2696,42 +2701,39 @@ otc-index-btn:hover {
line-height: 26px;
}
.confirm-price-text ul li span {
float: right;
}
/*弹出收款信息*/
.collection-information {
display: none;
width: 322px;
color: #66718f;
position: absolute;
top: -230px;
left: 24px;
text-align: center;
}
.collection-information .bank-card {
display: block;
width: 100%;
height: 220px;
border: 1px solid #3a3b54;
background: #161826;
padding-top: 20px;
background: #fff;
box-shadow: 0 2px 4px rgba(0,0,0,0.2);
overflow: hidden;
padding: 20px;
}
.collection-information .account_info {
height: 45px;
line-height: 40px;
padding-left: 26px;
font-size: 12px;
color: #ccc;
text-align: left;
}
.account_info_span {
.collection-information span {
color: #66718f;
}
.collection-information span.account_info_span {
color: #8e9eae;
font-size: 12px;
}
@ -2745,9 +2747,9 @@ otc-index-btn:hover {
line-height: 22px;
border-radius: 5px;
text-align: center;
background: #32a869;
background: #5f97ff;
cursor: pointer;
color: #12131f;
color: #fff;
}
.payment-code {
@ -2807,7 +2809,8 @@ otc-index-btn:hover {
width: 320px;
}
.person-info-left .el-button {
.person-info-left .el-button, .person-info-right .el-button {
width: 100%;
height: 40px;
margin: 0 0 20px 0;
font-size: 14px;
@ -2866,6 +2869,10 @@ otc-index-btn:hover {
border: 1px solid #5f97ff;
}
.choose-payment .el-select{
width: 100%;
}
.chat-title {
height: 40px;
line-height: 40px;
@ -2876,8 +2883,9 @@ otc-index-btn:hover {
.chat-body-div {
display: block;
width: 100%;
height: 500px;
overflow-y: hidden;
min-height: 500px;
overflow: hidden;
padding: 20px;
}
.chat-title-headimg {

75
src/assets/data/en.js

@ -277,7 +277,7 @@ module.exports = {
'用户昵称': '用户昵称',
'信用': '信用',
'交易方式': '交易方式',
'价格': '价格',
'价格': 'Price',
'数量': '数量',
'单笔交易限额': '单笔交易限额',
'操作': '操作',
@ -346,6 +346,79 @@ module.exports = {
'请输入金额!': '请输入金额!',
'金额不在限额范围之内!': '金额不在限额范围之内!',
'交易成功!': '交易成功!',
'法币订单管理': '法币订单管理',
'查看详情': '查看详情',
'订单详情': '订单详情',
'交易备注': '交易备注',
'请勿在汇款备注内填写比特币、BTC、OTC等任何数字币有关字眼,防止您的汇款被银行拦截。': '请勿在汇款备注内填写比特币、BTC、OTC等任何数字币有关字眼,防止您的汇款被银行拦截。',
'银行帐号:': '银行帐号:',
'支付宝帐号:': '支付宝帐号:',
'单后可以直接加我微信跟我联系,我会尽快回复。': '单后可以直接加我微信跟我联系,我会尽快回复。',
'订单编号': '订单编号',
'交易金额': '交易金额',
'请付款': '请付款',
'已取消': '已取消',
'已完成': '已完成',
'申诉中': '申诉中',
'手续费说明': '手续费说明',
'交易手续费扣除百分之零点一': '交易手续费扣除百分之零点一',
'总额:': '总额:',
'兑换:': '兑换:',
'该订单已经取消,请勿再执行任何转帐行为': '该订单已经取消,请勿再执行任何转帐行为',
'该订单已经取消': '该订单已经取消',
'订单已取消': '订单已取消',
'付款时间剩余': '付款时间剩余',
',逾期订单将自动取消,请及时付款并点击标记付款': ',逾期订单将自动取消,请及时付款并点击标记付款',
',逾期订单将自动取消,等待买家付款': ',逾期订单将自动取消,等待买家付款',
'商家收款账号': '商家收款账号',
'银行卡号': '银行卡号',
'复制': '复制',
'付款二维码': '付款二维码',
'看大图': 'view full photo',
'使用微信、支付宝、银行卡转账时,请不要添加任何备注内容! 否则可能会被支付系统拦截': '使用微信、支付宝、银行卡转账时,请不要添加任何备注内容! 否则可能会被支付系统拦截',
'标记付款已完成': '标记付款已完成',
'取消交易': '取消交易',
'等待买家付款': '等待买家付款',
'您是否确定取消订单?取消的订单无法恢复!': '您是否确定取消订单?取消的订单无法恢复!',
'订单取消成功!': '订单取消成功!',
'上传付款截图': '上传付款截图',
'选择付款方式': '选择付款方式',
'请上传付款凭证': '请上传付款凭证',
'请输入备注': '请输入备注',
'提交': 'Submit',
'请选择付款方式!': '请选择付款方式!',
'请上传付款凭证!': '请上传付款凭证!',
'支付凭证上传成功,请点击确认付款按钮完成支付!': '支付凭证上传成功,请点击确认付款按钮完成支付!',
'恶意点击将冻结帐户!您确定要标记为已支付吗?': '恶意点击将冻结帐户!您确定要标记为已支付吗?',
'成功标记订单为已支付!': '成功标记订单为已支付!',
'将持续由系统锁定托管': '将持续由系统锁定托管',
'待放行剩余时间': '待放行剩余时间',
'已标记付款,请等待卖家核实后释放数字币': '已标记付款,请等待卖家核实后释放数字币',
'请务必查收到账账户再确认收款': '请务必查收到账账户再确认收款',
'确认收款并放行': '确认收款并放行',
'我要申诉': '我要申诉',
'买家': '买家',
'查收买家付款': '查收买家付款',
'交易单价': '交易单价',
'交易数量': '交易数量',
'付款留言:': '付款留言:',
'请务必登录收款账户确认到账明细,避免因错误点击放行造成财产损失。': '请务必登录收款账户确认到账明细,避免因错误点击放行造成财产损失。',
'确定放行': '确定放行',
'放行成功!': '放行成功!',
'已完成交易': '已完成交易',
'数字货币已转到你的账户': '数字货币已转到你的账户',
'数字货币已转到买家的账户': '数字货币已转到买家的账户',
'查看账户': '查看账户',
'订单申诉': '订单申诉',
'申诉理由': '申诉理由',
'申诉内容': '申诉内容',
'请输入申诉内容': '请输入申诉内容',
'上传问题截图': '上传问题截图',
'请选择申诉理由!': '请选择申诉理由!',
'请输入申诉内容!': '请输入申诉内容!',
'申诉成功,请耐心等待申诉结果!': '申诉成功,请耐心等待申诉结果!',
'此订单已经入申诉状态,请耐心等待客服介入处理': '此订单已经入申诉状态,请耐心等待客服介入处理',
'申诉订单处理中': '申诉订单处理中',
'暂无昵称': '暂无昵称',
'币币账户': '币币账户',

73
src/assets/data/zh.js

@ -346,6 +346,79 @@ module.exports = {
'请输入金额!': '请输入金额!',
'金额不在限额范围之内!': '金额不在限额范围之内!',
'交易成功!': '交易成功!',
'法币订单管理': '法币订单管理',
'查看详情': '查看详情',
'订单详情': '订单详情',
'交易备注': '交易备注',
'请勿在汇款备注内填写比特币、BTC、OTC等任何数字币有关字眼,防止您的汇款被银行拦截。': '请勿在汇款备注内填写比特币、BTC、OTC等任何数字币有关字眼,防止您的汇款被银行拦截。',
'银行帐号:': '银行帐号:',
'支付宝帐号:': '支付宝帐号:',
'单后可以直接加我微信跟我联系,我会尽快回复。': '单后可以直接加我微信跟我联系,我会尽快回复。',
'订单编号': '订单编号',
'交易金额': '交易金额',
'请付款': '请付款',
'已取消': '已取消',
'已完成': '已完成',
'申诉中': '申诉中',
'手续费说明': '手续费说明',
'交易手续费扣除百分之零点一': '交易手续费扣除百分之零点一',
'总额:': '总额:',
'兑换:': '兑换:',
'该订单已经取消,请勿再执行任何转帐行为': '该订单已经取消,请勿再执行任何转帐行为',
'该订单已经取消': '该订单已经取消',
'订单已取消': '订单已取消',
'付款时间剩余': '付款时间剩余',
',逾期订单将自动取消,请及时付款并点击标记付款': ',逾期订单将自动取消,请及时付款并点击标记付款',
',逾期订单将自动取消,等待买家付款': ',逾期订单将自动取消,等待买家付款',
'商家收款账号': '商家收款账号',
'银行卡号': '银行卡号',
'复制': '复制',
'付款二维码': '付款二维码',
'看大图': '看大图',
'使用微信、支付宝、银行卡转账时,请不要添加任何备注内容! 否则可能会被支付系统拦截': '使用微信、支付宝、银行卡转账时,请不要添加任何备注内容! 否则可能会被支付系统拦截',
'标记付款已完成': '标记付款已完成',
'取消交易': '取消交易',
'等待买家付款': '等待买家付款',
'您是否确定取消订单?取消的订单无法恢复!': '您是否确定取消订单?取消的订单无法恢复!',
'订单取消成功!': '订单取消成功!',
'上传付款截图': '上传付款截图',
'选择付款方式': '选择付款方式',
'请上传付款凭证': '请上传付款凭证',
'请输入备注': '请输入备注',
'提交': '提交',
'请选择付款方式!': '请选择付款方式!',
'请上传付款凭证!': '请上传付款凭证!',
'支付凭证上传成功,请点击确认付款按钮完成支付!': '支付凭证上传成功,请点击确认付款按钮完成支付!',
'恶意点击将冻结帐户!您确定要标记为已支付吗?': '恶意点击将冻结帐户!您确定要标记为已支付吗?',
'成功标记订单为已支付!': '成功标记订单为已支付!',
'将持续由系统锁定托管': '将持续由系统锁定托管',
'待放行剩余时间': '待放行剩余时间',
'已标记付款,请等待卖家核实后释放数字币': '已标记付款,请等待卖家核实后释放数字币',
'请务必查收到账账户再确认收款': '请务必查收到账账户再确认收款',
'确认收款并放行': '确认收款并放行',
'我要申诉': '我要申诉',
'买家': '买家',
'查收买家付款': '查收买家付款',
'交易单价': '交易单价',
'交易数量': '交易数量',
'付款留言:': '付款留言:',
'请务必登录收款账户确认到账明细,避免因错误点击放行造成财产损失。': '请务必登录收款账户确认到账明细,避免因错误点击放行造成财产损失。',
'确定放行': '确定放行',
'放行成功!': '放行成功!',
'已完成交易': '已完成交易',
'数字货币已转到你的账户': '数字货币已转到你的账户',
'数字货币已转到买家的账户': '数字货币已转到买家的账户',
'查看账户': '查看账户',
'订单申诉': '订单申诉',
'申诉理由': '申诉理由',
'申诉内容': '申诉内容',
'请输入申诉内容': '请输入申诉内容',
'上传问题截图': '上传问题截图',
'请选择申诉理由!': '请选择申诉理由!',
'请输入申诉内容!': '请输入申诉内容!',
'申诉成功,请耐心等待申诉结果!': '申诉成功,请耐心等待申诉结果!',
'此订单已经入申诉状态,请耐心等待客服介入处理': '此订单已经入申诉状态,请耐心等待客服介入处理',
'申诉订单处理中': '申诉订单处理中',
'暂无昵称': '暂无昵称',
'币币账户': '币币账户',

6
src/components/header.vue

@ -7,7 +7,7 @@
</div>
<nav class="header-nav">
<ul class="navbar-nav" v-if="userIsActive">
<ul class="navbar-nav" v-if="!isLogin || userIsActive">
<li>
<router-link to="/index">{{$t('首页')}}</router-link>
</li>
@ -26,7 +26,7 @@
</li>
</ul>
<ul class="navbar-nav" v-if="!userIsActive">
<ul class="navbar-nav" v-if="isLogin && !userIsActive">
<li>
<router-link to="/index">{{$t('首页')}}</router-link>
</li>
@ -192,7 +192,7 @@
</li>
</ul>
<ul class="navbar-nav navbar-right nav-dropdown" v-if="!isLogin">
<ul class="navbar-nav navbar-right nav-dropdown" v-if="!isLogin">
<li>
<router-link to="/login">{{$t('登录')}}</router-link>
</li>

8
src/router.js

@ -217,6 +217,14 @@ export default new Router({
title: '法币订单',
},
},
{
path: 'currency_details/:id',
name: 'currencyOrderDetails',
component: () => import('./views/currency/currency_order_details'),
meta: {
title: '法币订单',
},
},
]
},
{

4
src/views/currency/currency_deal.vue

@ -335,6 +335,10 @@
this.loading = false;
this.loading2 = false;
this.showPassword = false;
setTimeout(() => {
this.$router.replace('/order/currency');
}, 800);
})
},

23
src/views/currency/currency_order.vue

@ -11,14 +11,14 @@
<div class="order-table-top hc-bgColor3">
<div class="el-select order-top-div1">
<div class="order-sort">
<el-select v-model="orderType">
<el-select v-model="orderType" @change="sortOrderTpye">
<el-option v-for="item in orderTypeOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</div>
<div class="order-sort">
<el-select v-model="orderStatus">
<el-select v-model="orderStatus" @change="sortOrderStatus">
<el-option v-for="item in orderStatusOptions" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
@ -98,14 +98,14 @@
</td> -->
<td>
<div class="cell" v-if="item.statusStr == '取消'">已取消</div>
<div class="cell" v-if="item.status == 'M_O_F_S_CANCEL'">已取消</div>
<div class="cell" v-else-if="item.appeal">申诉中</div>
<div class="cell" v-else>{{item.statusStr}}</div>
<div class="cell" :class="{'red-text': item.status == 'M_O_F_S_WAIT_PAY'}" v-else>{{item.statusStr}}</div>
</td>
<td>
<div class="cell">
<button class="operatione-btn">查看详情</button>
<button class="operatione-btn" @click="$router.push('/order/currency_details/' + item.flowId)">{{$t('查看详情')}}</button>
</div>
</td>
</tr>
@ -130,7 +130,7 @@
data() {
return {
orderType: '订单类型',
orderTypeVal: '0',
orderTypeVal: 0,
orderTypeOptions: [
{
value: 0,
@ -238,7 +238,16 @@
})
},
pagesChange(pages) {
this.getAdsList(pages);
this.getOrderList(pages);
},
sortOrderStatus(value) {
this.orderStatusVal = value;
this.getOrderList(1);
},
sortOrderTpye(value) {
this.orderTypeVal = value;
this.getOrderList(1);
},
},
created() {

722
src/views/currency/currency_order_details.vue

@ -0,0 +1,722 @@
<template>
<div class="global-width">
<div class="container">
<!--当前位置-->
<div class="hc-breadcrumb">
<span class="hc-color4">{{$t('法币订单管理')}}</span>
<i class="hc-breadcrumb-icon"></i>
<span class="margin0" v-if="orderDetails.dealType == 'E_I_D_T_BUY'">{{$t('购买')}} {{orderDetails.inCoin}}</span>
<span class="margin0" v-if="orderDetails.dealType == 'E_I_D_T_SELL'">{{$t('出售')}} {{orderDetails.outCoin}}</span>
</div>
<div class="hc-breadcrumb trade-center-top">
<span>{{$t('订单详情')}}</span>
</div>
<div class="trade-detail-warp purchase-warp">
<div class="trade-detail-left">
<router-link to="/" class="trade-detail-left-div1">
<div class="trade-detail-left-top">
<img src="../../assets/images/user-head-img.png" class="trade-detail-left-headimg">
</div>
<div class="trade-detail-left-top">
<div class="trade-detail-left-nickname">{{orderDetails.dealUserIdentity}}</div>
<div class="merchants-tag">
<img src="../../assets/images/trade/icon-authentication.png">
<span class="hc-color">{{($t('认证商家'))}}</span>
</div>
</div>
</router-link>
<div class="trade-detail-left-div2">
<div class="trade-detail-left-div3">
<div class="hc-color">{{$t('交易次数')}}</div>
<div class="div2-d1">{{dealerInfo.sumOfFinishedFlow || 0}}</div>
</div>
<div class="trade-detail-left-div4">
<div class="hc-color">{{$t('完成率')}}</div>
<div class="div2-d1">{{dealerInfo.finishedRate || 0}}%</div>
</div>
<div class="trade-detail-left-div5">
<div class="hc-color">{{$t('平均放行')}}</div>
<div class="div2-d1">{{dealerInfo.avgReleaseMinus || 0}}分钟</div>
</div>
</div>
<div class="trade-detail-explain">
<h3>{{$t('广告说明')}}:</h3>
<p class="hc-color">{{$t('1.订单有效期为15分钟,请您及时在有效期内付款并点击「标记付款已完成」按钮,我才可以释放数字币给您。')}}</p>
<p class="hc-color">{{$t('2.开始交易后数字币由系统锁定托管,请安心下单。')}}</p>
</div>
<div class="trade-detail-explain">
<h3>{{$t('交易备注')}}:</h3>
<p class="hc-color">{{$t('请勿在汇款备注内填写比特币、BTC、OTC等任何数字币有关字眼,防止您的汇款被银行拦截。')}}</p>
<p class="hc-color">{{$t('银行帐号:')}}xxxx xxxx xxxx xxxx</p>
<p class="hc-color">{{$t('支付宝帐号:')}}xxxxxxx</p>
<p class="hc-color">{{$t('单后可以直接加我微信跟我联系,我会尽快回复。')}}</p>
</div>
</div>
<div class="trade-detail-right">
<div class="top-price">
<span class="hc-color2" v-if="orderDetails.dealType == 'E_I_D_T_BUY'">{{$t('购买')}} {{orderDetails.inCoin}}</span>
<span class="hc-color1" v-if="orderDetails.dealType == 'E_I_D_T_SELL'">{{$t('出售')}} {{orderDetails.outCoin}}</span>
<div class="top-price-r">{{$t('订单编号')}}{{id}}</div>
<div class="top-price-r top-price-rm">{{$t('时间')}} {{orderDetails.createDatetime | dateFormat('YYYY-MM-DD HH:mm:ss')}}</div>
</div>
<ul class="ul-information">
<li class="li-1">
<div class="div1-d1">{{$t('价格')}}</div>
<p v-if="orderDetails.dealType == 'E_I_D_T_BUY'">¥{{orderDetails.amount}}/{{orderDetails.outCoin}}</p>
<p v-if="orderDetails.dealType == 'E_I_D_T_SELL'">¥{{orderDetails.amount}}/{{orderDetails.inCoin}}</p>
</li>
<li class="li-2">
<div class="div1-d1">{{$t('数量')}}</div>
<p v-if="orderDetails.dealType == 'E_I_D_T_BUY'">{{orderDetails.inAmount}}{{orderDetails.inCoin}}</p>
<p v-if="orderDetails.dealType == 'E_I_D_T_SELL'">{{orderDetails.outAmount}}{{orderDetails.outCoin}}</p>
</li>
<li class="li-3">
<div class="div1-d1">{{$t('交易金额')}}</div>
<p v-if="orderDetails.dealType == 'E_I_D_T_BUY'">¥{{orderDetails.outAmount}}</p>
<p v-if="orderDetails.dealType == 'E_I_D_T_SELL'">¥{{orderDetails.inAmount}}</p>
</li>
<!-- <li class="li-4">
<div class="div1-d1">{{$t('交易方式')}}</div>
<p>
<img src="../../theme/images/trade/icon-alipay.png" />
</p>
</li> -->
<li class="li-5">
<div class="div1-d1">{{$t('付款期限')}}</div>
<p>15分钟</p>
</li>
<li class="li-6">
<div class="div1-d1">{{$t('状态')}}</div>
<p v-if="orderDetails.statusStr == '待付款'">{{$t('请付款')}}</p>
<p v-else-if="orderDetails.status == 'M_O_F_S_CANCEL'">{{$t('已取消')}}</p>
<p v-else-if="orderDetails.statusStr == '完成'">{{$t('已完成')}}</p>
<p v-else-if="orderDetails.appeal">{{$t('申诉中')}}</p>
<p v-else>{{orderDetails.statusStr}}</p>
</li>
</ul>
<div class="order-list-total">
<div class="order-list-notice-one">
<span class="list-notice-title">{{$t('手续费')}}:</span><span>2</span>
<div class="question-box">
<img class="fa-question" src="../../assets/images/icon-question.png" />
<div class="free-explanation">
<h3>{{$t('手续费说明')}}:</h3>
<p>{{$t('交易手续费扣除百分之零点一')}}</p>
</div>
</div>
</div>
<div class="order-list-notice-two">
<p>
<span class="list-notice-title">{{$t('总额:')}}</span>
<span class="list-notice-detail" v-if="orderDetails.dealType == 'E_I_D_T_BUY'">¥{{orderDetails.outAmount}}</span>
<span class="list-notice-detail" v-if="orderDetails.dealType == 'E_I_D_T_SELL'">¥{{orderDetails.inAmount}}</span>
</p>
<p>
<span class="list-notice-title">{{$t('兑换:')}}</span>
<span v-if="orderDetails.dealType == 'E_I_D_T_BUY'">{{orderDetails.inAmount}}{{orderDetails.inCoin}}</span>
<span v-if="orderDetails.dealType == 'E_I_D_T_SELL'">{{orderDetails.outAmount}}{{orderDetails.outCoin}}</span>
</p>
</div>
</div>
<div class="order-person-info">
<div class="person-info-left">
<!-- 买家 待付款 -->
<div class="info-left-one" v-if="orderDetails.dealType == 'E_I_D_T_BUY' && orderDetails.status == 'M_O_F_S_WAIT_PAY' && !orderDetails.appeal">
<div class="one-title">{{$t('商家收款账号')}}</div>
<div class="one-body">
<button type="button" class="el-popover_reference" @click="showPaymentInfo(item)" v-for="item of memberPayWayList" :key="item.paymentType">
<span>
<img src="../../assets/images/trade/icon-wechat2.png" v-if="item.paymentType == 1">
<img src="../../assets/images/trade/icon-alipay2.png" v-if="item.paymentType == 2">
<img src="../../assets/images/trade/icon-bankpayicon2.png" v-if="item.paymentType == 3">
<span class="one-body-bank">{{item.paymentTypeStr}}</span>
</span>
</button>
<!--收款信息-->
<div class="collection-information" v-if="showPayment">
<!--银行卡-->
<div class="bank-card">
<div class="account_info">
<span class="account_info_span">{{$t('姓名')}}</span>
<span>{{paymentInfo.realName}}</span>
<div class="account-copy" v-clipboard:copy="paymentInfo.realName" v-clipboard:success="copySuccess">{{$t('复制')}}</div>
</div>
<div class="account_info" v-if="paymentInfo.paymentType == 3">
<span class="account_info_span">{{$t('开户行')}}</span>
<span>{{paymentInfo.remark}}</span>
<div class="account-copy" v-clipboard:copy="paymentInfo.remark" v-clipboard:success="copySuccess">{{$t('复制')}}</div>
</div>
<div class="account_info" v-if="paymentInfo.paymentType == 3">
<span class="account_info_span">{{$t('银行卡号')}}</span>
<span>{{paymentInfo.account}}</span>
<div class="account-copy" v-clipboard:copy="paymentInfo.account" v-clipboard:success="copySuccess">{{$t('复制')}}</div>
</div>
<div class="account_info" v-if="paymentInfo.paymentType != 3">
<span class="account_info_span">{{$t('账号')}}</span>
<span>{{paymentInfo.account}}</span>
<div class="account-copy" v-clipboard:copy="paymentInfo.account" v-clipboard:success="copySuccess">{{$t('复制')}}</div>
</div>
<div class="account_info" v-if="paymentInfo.paymentType != 3">
<span class="account_info_span">{{$t('付款二维码')}}</span>
<span><img :src="paymentInfo.img" style="width: 100%;"></span>
<a :href="paymentInfo.img" target="_blank" class="account-copy">{{$t('看大图')}}</a>
</div>
</div>
</div>
<div class="one-body-notice"> {{$t('使用微信、支付宝、银行卡转账时,请不要添加任何备注内容! 否则可能会被支付系统拦截')}}</div>
</div>
</div>
<div class="info-left-one" v-if="orderDetails.dealType == 'E_I_D_T_SELL' && orderDetails.status == 'M_O_F_S_WAIT_PASS' && !orderDetails.appeal">
<div class="chat-title">
<span class="chat-m">{{$t('买家')}}</span>
<img class="chat-title-headimg" src="../../assets/images/user-head-img.png">
<span class="chat-title-nickname co-nickname">{{orderDetails.dealUserIdentity}}</span>
<div class="merchants-tag">
<img src="../../assets/images/trade/icon-authentication.png"> <span class="hc-color">{{($t('认证商家'))}}</span>
</div>
</div>
<div class="confirm-price">
<div class="confirm-price-t">
<span>{{$t('查收买家付款')}}</span>
<h1 class="hc-color1">¥{{orderDetails.inAmount}}</h1>
</div>
<div class="confirm-price-t">
<div class="confirm-price-text">
<ul>
<li>
<span>{{$t('付款留言:')}}</span>{{payMessage ? payMessage : '无'}}
</li>
</ul>
</div>
</div>
<div class="one-body-notice"> 请务必登录收款账户确认到账明细避免因错误点击放行造成财产损失</div>
</div>
</div>
<div class="info-left-two">
<div class="two-title">
<div class="order-title-seven order-title" v-if="!orderDetails.appeal">
<!-- 已取消 -->
<p class="is-center" v-if="orderDetails.dealType == 'E_I_D_T_BUY' && orderDetails.status == 'M_O_F_S_CANCEL'">{{$t('该订单已经取消请勿再执行任何转帐行为')}}</p>
<p class="is-center" v-if="orderDetails.dealType == 'E_I_D_T_SELL' && orderDetails.status == 'M_O_F_S_CANCEL'">{{$t('该订单已经取消')}}</p>
<!-- 买家 待付款 -->
<p v-if="orderDetails.dealType == 'E_I_D_T_BUY' && orderDetails.status == 'M_O_F_S_WAIT_PAY'">
{{$t('付款时间剩余')}}<span>{{countDown | countDown}}</span>{{$t(',逾期订单将自动取消,请及时付款并点击标记付款')}}
</p>
<!-- 卖家 待付款 -->
<p v-if="orderDetails.dealType == 'E_I_D_T_SELL' && orderDetails.status == 'M_O_F_S_WAIT_PAY'">
{{$t('付款时间剩余')}}<span>{{countDown | countDown}}</span>{{$t(',逾期订单将自动取消,等待买家付款')}}
</p>
<!-- 买家 待放行 -->
<p class="is-center" v-if="orderDetails.dealType == 'E_I_D_T_BUY' && orderDetails.status == 'M_O_F_S_WAIT_PASS'">
{{orderDetails.inCoin}} {{$t('将持续由系统锁定托管')}}<br>{{$t('待放行剩余时间')}}<span>{{countDown | countDown}}</span>
</p>
<!-- 卖家 待放行 -->
<p class="is-center" v-if="orderDetails.dealType == 'E_I_D_T_SELL' && orderDetails.status == 'M_O_F_S_WAIT_PASS'">
{{$t('请务必查收到账账户再确认收款')}}<br>{{$t('待放行剩余时间')}}<span>{{countDown | countDown}}</span>
</p>
<!-- 已完成 -->
<p class="is-center" v-if="orderDetails.status == 'M_O_F_S_FINISH'">{{$t('已完成交易')}}</p>
</div>
<div class="order-title-seven order-title" v-if="orderDetails.appeal">
<p class="is-center">{{$t('此订单已经入申诉状态,请耐心等待客服介入处理')}}</p>
</div>
</div>
<div class="tips two-body">
<div class="tips-seven" v-if="!orderDetails.appeal">
<!-- 已取消 -->
<div class="tips-body" v-if="orderDetails.status == 'M_O_F_S_CANCEL'">
<button class="el-button el-button3 cursor-no">
<span>{{$t('订单已取消')}}</span>
</button>
</div>
<!-- 买家 待付款 -->
<div class="tips-body" v-if="orderDetails.dealType == 'E_I_D_T_BUY' && orderDetails.status == 'M_O_F_S_WAIT_PAY'">
<button type="button" class="el-button el-button2" @click="confirmPay">
<span>{{$t('标记付款已完成')}}</span>
</button>
<button type="button" class="el-button complete" @click="cancleOrder">
<span>{{$t('取消交易')}}</span>
</button>
</div>
<!-- 卖家 待付款 -->
<div class="tips-body" v-if="orderDetails.dealType == 'E_I_D_T_SELL' && orderDetails.status == 'M_O_F_S_WAIT_PAY'">
<button type="button" class="el-button el-button2 cursor-no">
<span>{{$t('等待买家付款')}}</span>
</button>
<button type="button" class="el-button complete" @click="cancleOrder">
<span>{{$t('取消交易')}}</span>
</button>
</div>
<!-- 买家 待放行 -->
<div class="tips-body" v-if="orderDetails.dealType == 'E_I_D_T_BUY' && orderDetails.status == 'M_O_F_S_WAIT_PASS'">
<button type="button" class="el-button el-button3 cursor-no">
<span>{{$t('已标记付款,请等待卖家核实后释放数字币')}}</span>
</button>
<button type="button" class="el-button complete" @click="openAppeal">
<span>{{$t('我要申诉')}}</span>
</button>
</div>
<!-- 卖家 待放行 -->
<div class="tips-body" v-if="orderDetails.dealType == 'E_I_D_T_SELL' && orderDetails.status == 'M_O_F_S_WAIT_PASS'">
<button type="button" @click="confirmPass" class="el-button el-button3 hc-color4">
<span>{{$t('确认收款并放行')}}</span>
</button>
<button type="button" class="el-button complete" @click="openAppeal">
<span>{{$t('我要申诉')}}</span>
</button>
</div>
<!-- 买家 已完成 -->
<div class="tips-body" v-if="orderDetails.dealType == 'E_I_D_T_BUY' && orderDetails.status == 'M_O_F_S_FINISH'">
<button type="button" class="el-button el-button3 cursor-no">
<span>{{$t('数字货币已转到你的账户')}}</span>
</button>
<button type="button" class="el-button complete">
<span>{{$t('查看账户')}}</span>
</button>
</div>
<!-- 买家 已完成 -->
<div class="tips-body" v-if="orderDetails.dealType == 'E_I_D_T_SELL' && orderDetails.status == 'M_O_F_S_FINISH'">
<button type="button" class="el-button el-button3 cursor-no">
<span>{{$t('数字货币已转到买家的账户')}}</span>
</button>
<button type="button" class="el-button complete">
<span>{{$t('查看账户')}}</span>
</button>
</div>
</div>
<div class="tips-text" v-if="orderDetails.appeal">
<h3 class="apeal-text">{{$t('申诉订单处理中')}}...</h3>
</div>
</div>
</div>
</div>
<!-- 买家 待付款 -->
<div class="person-info-right" v-if="orderDetails.dealType == 'E_I_D_T_BUY' && orderDetails.status == 'M_O_F_S_WAIT_PAY' && !orderDetails.appeal">
<div class="chat">
<div class="chat-title">
<span class="chat-title-nickname co-nickname">{{$t('上传付款截图')}}</span>
</div>
<div class="chat-body-div">
<div class="title-tips">{{$t('选择付款方式')}}</div>
<div class="address-form-input choose-payment">
<el-select v-model="payTypeText" @change="choosePayment">
<el-option v-for="(item, index) in paymentList" :key="index" :label="item.label" :value="item.value">
</el-option>
</el-select>
</div>
<div class="title-tips">{{$t('备注')}}</div>
<div class="address-form-input">
<el-input :placeholder="$t('请输入备注')" v-model="payRemark" type="text" clearable autocomplete="off" @keyup.enter.native="submitPay">
</el-input>
</div>
<div class="title-tips">{{$t('请上传付款凭证')}}</div>
<div class="upload-photo" :class="{'hide': payImage}">
<el-upload
:action="this.common.baseURL+'/user/api/file/image'"
:headers="{'Authorization': 'Bearer '+this.common.getItem(common.tokenKey)}"
list-type="picture-card"
accept="image/jpeg,image/gif,image/png"
:file-list="fileList"
:on-success="uploadSuccess"
:on-error="uploadError"
:on-remove="uploadDelete"
>
<i class="el-icon-plus"></i>
</el-upload>
</div>
<div class="pay-submit">
<el-button type="primary" :loading="true" v-if="upload">{{$t('提交中...')}}</el-button>
<el-button type="primary" @click="submitPay" v-else>{{$t('提交')}}</el-button>
</div>
</div>
</div>
</div>
<!-- 买家 待放行 -->
<div class="person-info-right" v-if="orderDetails.dealType == 'E_I_D_T_SELL' && orderDetails.status == 'M_O_F_S_WAIT_PASS' && !orderDetails.appeal">
<div class="chat">
<div class="chat-title">
<span class="chat-title-nickname co-nickname">买家付款截图</span>
</div>
<div class="chat-body-div">
<a :href="payVoucher" target="_blank">
<img :src="payVoucher" style="max-width: 100%;">
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 申诉的弹窗 -->
<el-dialog class="user-dialog" :title="$t('订单申诉')" :visible.sync="showAppeal" :before-close="closeAppeal">
<div class="title-tips">{{$t('申诉理由')}}</div>
<div class="address-form-input choose-payment">
<el-select v-model="reasonCodeText" @change="chooseReason">
<el-option v-for="(item, index) in reasonList" :key="index" :label="item.label" :value="item.value">
</el-option>
</el-select>
</div>
<div class="title-tips">{{$t('申诉内容')}}</div>
<div class="address-form-input">
<el-input :placeholder="$t('请输入申诉内容')" v-model="appealContent" type="text" clearable autocomplete="off" @keyup.enter.native="submitAppeal">
</el-input>
</div>
<div class="title-tips">{{$t('上传问题截图')}}</div>
<div class="upload-photo">
<el-upload
:action="this.common.baseURL+'/user/api/file/image'"
:headers="{'Authorization': 'Bearer '+this.common.getItem(common.tokenKey)}"
list-type="picture-card"
accept="image/jpeg,image/gif,image/png"
:file-list="fileList"
:on-success="uploadSuccess2"
:on-error="uploadError"
:on-remove="uploadDelete2"
>
<i class="el-icon-plus"></i>
</el-upload>
</div>
<span slot="footer" class="dialog-footer">
<el-button type="primary" :loading="true" v-if="appealLoading">{{$t('提交中...')}}</el-button>
<el-button type="primary" @click="submitAppeal" v-else>{{$t('确定')}}</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
let count; //
export default {
name: 'currencyOrderDetails',
data() {
return {
id: '', //id
orderDetails: {}, //
dealerInfo: {}, //
memberPayWayList: [], //
showPayment: false,
paymentInfo: {},
payVoucher: '', //
payMessage: '', //
fileList: [], //
payTypeText: '选择付款方式', //
payType: '', //
payImage: '', //
payRemark: '', //
upload: false, //
showAppeal: false, //
reasonList: [], //
reasonCodeText: '请选择理由',
reasonCode: '', //
appealContent: '', //
fileIds: [], //
appealLoading: '', //
countDown: 0, //
}
},
computed: {
paymentList() {
let list = [];
this.memberPayWayList.forEach(item => {
list.push({
value: item.paymentType,
label: item.paymentTypeStr
})
});
return list;
}
},
methods: {
getDetails() { //
this.getAxios('/api/market/order/flow/detail/' + this.id)
.then(data => {
if (data.data.cancel) { //
this.orderDetails = data.data.cancel.flowBaseInfo;
}
if (data.data.obligation) { //
this.orderDetails = data.data.obligation.flowBaseInfo;
this.timer(data.data.obligation.seconds);
let list = data.data.obligation.userPaymentVoList;
this.memberPayWayList = list;
}
if (data.data.release) { //
this.orderDetails = data.data.release.flowBaseInfo;
if (data.data.release.paymentVoucherImg) {
this.payVoucher = data.data.release.paymentVoucherImg;
}
this.payMessage = data.data.release.remark;
this.timer(data.data.release.seconds);
}
if (data.data.complaining) { //
this.orderDetails = data.data.complaining.flowBaseInfo;
}
if (data.data.finish) { //
this.orderDetails = data.data.finish.flowBaseInfo;
}
setTimeout(() => {
this.getDealerInfo(this.orderDetails.dealUserId);
}, 300)
})
},
getDealerInfo(id) { //
this.postAxios('/api/market/order/business/info/' + id)
.then(data => {
this.dealerInfo = data.data;
})
},
getReasonList() { //
this.getAxios('/api/user/appeal/reason/list')
.then(data => {
let list = data.data;
list.forEach(item => {
this.reasonList.push({
value: item.reasonCode,
label: item.reasonStr
})
});
})
},
timer(seconds) { //
//()
this.countDown = seconds; //
count = setInterval(() => { //
this.countDown--;
if (this.countDown == 0) {
clearInterval(count);
setTimeout(() => {
this.getDetails();
}, 1000);
}
}, 1000);
},
showPaymentInfo(item) { //
this.showPayment = !this.showPayment;
console.log(this.showPayment)
this.paymentInfo = item;
},
copySuccess() {
this.$message.success(this.$t('复制成功!'));
},
choosePayment(value) { //
this.payType = value;
},
chooseReason(value) { //
this.reasonCode = value;
},
//
uploadSuccess(res) {
this.payImage = res.data
},
uploadSuccess2(res) {
this.fileIds.push(res.data);
},
uploadDelete() {
this.payImage = '';
},
uploadDelete2() {
},
uploadError(err) { //
console.log(JSON.stringify(err))
},
//
submitPay() { //
if(this.upload) {
return;
}
if(!this.payType) {
this.$message.error(this.$t('请选择付款方式!'));
return;
}
if(!this.payImage) {
this.$message.error(this.$t('请上传付款凭证!'));
return;
}
this.upload = true;
let params = {
flowId: this.id,
paymentType: this.payType,
fileImg: this.payImage,
remark: this.payRemark
}
this.postAxios('/api/market/order/upload/payment', params)
.then(() => {
this.$message.success(this.$t('支付凭证上传成功,请点击确认付款按钮完成支付!'));
this.upload = false;
})
.catch(() => {
this.upload = false;
})
},
confirmPay() { //
this.$confirm(this.$t('恶意点击将冻结帐户!您确定要标记为已支付吗?'), this.$t('提示'), {
cancelButtonText: this.$t('取消'),
confirmButtonText: this.$t('确定'),
type: 'warning'
})
.then(() => {
this.putAxios('/api/market/order/confirm/play/' + this.id)
.then(() => {
this.$message.success('成功标记订单为已支付!');
setTimeout(() => {
this.getDetails();
}, 800);
})
})
},
confirmPass() { //
this.$confirm(this.$t('请务必登录收款账户确认到账明细,避免因错误点击放行造成财产损失。'), this.$t('提示'), {
cancelButtonText: this.$t('取消'),
confirmButtonText: this.$t('确定放行'),
type: 'warning'
})
.then(() => {
this.putAxios('/api/market/order/confirm/release/' + this.id)
.then(() => {
this.$message.success('放行成功!');
setTimeout(() => {
this.getDetails();
}, 800);
})
})
},
cancleOrder() { //
this.$confirm(this.$t('您是否确定取消订单?取消的订单无法恢复!'), this.$t('提示'), {
cancelButtonText: this.$t('取消'),
confirmButtonText: this.$t('确定'),
type: 'warning'
})
.then(() => {
this.putAxios('/api/market/order/cancel/' + this.id)
.then(() => {
this.$message.success('订单取消成功!');
setTimeout(() => {
this.getDetails();
}, 800);
})
})
},
openAppeal() { //
this.getReasonList();
this.showAppeal = true;
},
submitAppeal() { //
if(this.appealLoading) {
return;
}
if(!this.reasonCode) {
this.$message.error(this.$t('请选择申诉理由!'));
return;
}
if(!this.appealContent) {
this.$message.error(this.$t('请输入申诉内容!'));
return;
}
this.appealLoading = true;
let params = {
flowId: this.id,
reasonCode: this.reasonCode,
content: this.appealContent,
fileIds: this.fileIds
}
this.postAxios('/api/user/appeal/submit', params)
.then(() => {
this.$message.success('申诉成功,请耐心等待申诉结果!');
setTimeout(() => {
this.closeAppeal();
this.getDetails();
}, 800)
})
.catch(() => {
this.loading = false;
})
},
closeAppeal() { //
this.showAppeal = false;
//
this.appealContent = '';
this.reasonCode = '';
this.fileIds = [];
this.fileList = [];
},
},
created() {
this.id = this.$route.params.id;
this.getDetails();
}
}
</script>
<style scoped>
.pay-submit{
width: 100%;
clear: both;
padding-top: 20px;
}
.apeal-text {
font-size: 14px;
color: #8488f5;
text-align: center;
padding: 30px 0;
}
</style>

42
src/views/currency/currency_release.vue

@ -102,11 +102,9 @@
<label class="form-label">{{dealTypeText}}{{$t('金额')}}</label>
<div class="form-control release-form">
<div class="text-input">
<el-input :placeholder="$t('请输入金额')" v-model="totalPrice" type="text" clearable autocomplete="off" @input="setPrice" @keyup.enter.native="openPassword">
</el-input>
<div class="form-control-company">CNY</div>
</div>
<el-input class="text-input" :placeholder="$t('请输入金额')" v-model="totalPrice" type="text" clearable autocomplete="off" @input="setPrice" @keyup.enter.native="openPassword">
</el-input>
<div class="form-control-company">CNY</div>
</div>
</div>
@ -118,11 +116,9 @@
<label class="form-label">{{dealTypeText}}{{$t('数量')}}</label>
<div class="form-control release-form">
<div class="text-input">
<el-input :placeholder="$t('请输入数量')" v-model="quantity" type="text" clearable autocomplete="off" @input="setQuantity" @keyup.enter.native="openPassword">
</el-input>
<div class="form-control-company">{{currentCoin}}</div>
</div>
<el-input class="text-input" :placeholder="$t('请输入数量')" v-model="quantity" type="text" clearable autocomplete="off" @input="setQuantity" @keyup.enter.native="openPassword">
</el-input>
<div class="form-control-company">{{currentCoin}}</div>
</div>
</div>
</div>
@ -132,11 +128,9 @@
<label class="form-label">{{$t('最小限额')}}</label>
<div class="form-control release-form">
<div class="text-input">
<el-input :placeholder="$t('请输入最小限额')" v-model="minPrice" type="text" clearable autocomplete="off" @keyup.enter.native="openPassword">
</el-input>
<div class="form-control-company">CNY</div>
</div>
<el-input class="text-input" :placeholder="$t('请输入最小限额')" v-model="minPrice" type="text" clearable autocomplete="off" @keyup.enter.native="openPassword">
</el-input>
<div class="form-control-company">CNY</div>
</div>
</div>
@ -144,11 +138,9 @@
<label class="form-label">{{$t('设置单价')}}</label>
<div class="form-control release-form">
<div class="text-input">
<el-input :placeholder="$t('请输入单价')" v-model="price" type="text" clearable autocomplete="off" @keyup.enter.native="openPassword">
</el-input>
<div class="form-control-company">CNY</div>
</div>
<el-input class="text-input" :placeholder="$t('请输入单价')" v-model="price" type="text" clearable autocomplete="off" @keyup.enter.native="openPassword">
</el-input>
<div class="form-control-company">CNY</div>
</div>
</div>
</div>
@ -457,7 +449,15 @@
margin-bottom: 30px;
}
.release-form {
background: #f6f6f6;
display: flex;
align-items: center;
padding: 0 10px;
}
.release-form .text-input {
padding: 0 60px 0 10px;
width: auto;
flex: 1 1 auto;
padding: 0;
}
</style>

12
src/views/login/login.vue

@ -151,8 +151,8 @@
//
setTimeout(() => {
//
this.$store.dispatch('user/init');
this.$store.dispatch('trend/init');
// this.$store.dispatch('user/init');
// this.$store.dispatch('trend/init');
this.$router.replace("/");
}, 800);
@ -169,6 +169,10 @@
}
</script>
<style>
<style scoped>
.login-div6 {
line-height: 40px;
flex: 1 1 80px;
position: relative;
}
</style>
Loading…
Cancel
Save