Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
为 GitLab 提交贡献
登录
切换导航
S
shop-new
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
王天霸
shop-new
Commits
707b64d8
提交
707b64d8
authored
11月 16, 2021
作者:
郑伟娜
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'securityFund' into test
上级
33e17d66
ad7d3221
显示空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
998 行增加
和
47 行删除
+998
-47
securityFund.js
src/api/securityFund.js
+73
-0
index.js
src/router/index.js
+5
-0
PanelGroup.vue
src/views/dashboard/PanelGroup.vue
+92
-47
returnurl.vue
src/views/returnurl.vue
+16
-0
securityFund.vue
src/views/system/asset/securityFund.vue
+812
-0
没有找到文件。
src/api/securityFund.js
0 → 100644
浏览文件 @
707b64d8
import
request
from
'@/utils/request'
// 获取店铺信息
export
const
shopInfo
=
()
=>
{
return
request
({
url
:
'/local/getShopInfo'
,
method
:
'get'
})
}
// 获取交易流水
export
const
bondDetail
=
(
params
)
=>
{
return
request
({
url
:
'/local/shop/bond/detail'
,
method
:
'get'
,
params
})
}
// 充值保证金
export
const
addBond
=
(
data
)
=>
{
return
request
({
url
:
'/system/addBond'
,
method
:
'post'
,
data
})
}
// 保证金额度说明
export
const
bondByCate
=
(
params
)
=>
{
return
request
({
url
:
'/local/getBondByCate'
,
method
:
'get'
,
params
})
}
// 账户/列表
export
const
accountList
=
(
data
)
=>
{
return
request
({
url
:
'/system/bank/account/list'
,
method
:
'post'
,
data
})
}
// 申请退保
export
const
bondApply
=
(
data
)
=>
{
return
request
({
url
:
'/local/bondApply'
,
method
:
'post'
,
data
})
}
// 获取支付账户
export
const
payDetails
=
(
params
)
=>
{
return
request
({
url
:
'/system/payDetails'
,
method
:
'get'
,
params
})
}
// 保证金申请详情
export
const
applyDetail
=
(
params
)
=>
{
return
request
({
url
:
'/local/bond/apply/detail'
,
method
:
'get'
,
params
})
}
src/router/index.js
浏览文件 @
707b64d8
...
...
@@ -77,6 +77,11 @@ export const constantRoutes = [
component
:
(
resolve
)
=>
require
([
'@/views/error/401'
],
resolve
),
hidden
:
true
},
{
path
:
'/returnurl'
,
component
:
()
=>
import
(
'@/views/returnurl'
),
hidden
:
true
},
{
path
:
'/'
,
component
:
(
resolve
)
=>
require
([
'@/views/entry/newyuncang'
],
resolve
),
...
...
src/views/dashboard/PanelGroup.vue
浏览文件 @
707b64d8
<
template
>
<div>
<el-row
:gutter=
"40"
class=
"panel-group"
>
<el-col
:xs=
"12"
:sm=
"12"
:lg=
"6"
class=
"card-panel-col"
>
<div
class=
"card-panel"
@
click=
"handleSetLineChartData('newVisitis')"
>
...
...
@@ -54,14 +55,38 @@
</div>
</el-col>
</el-row>
<!-- 保证金充值提醒 -->
<el-dialog
style=
"margin-top: 200px;"
title=
"保证金充值提醒"
:visible
.
sync=
"dialogVisible"
:destroy-on-close=
"true"
width=
"35%"
center
:close-on-click-modal=
"false"
append-to-body
>
<div>
<div
style=
"background: rgba(58, 160, 255, .05); padding: 20px; line-height: 24px; text-align: center;"
>
<div>
当前保证金余额不足,部分功能受限,请您及时充值保证金
</div>
</div>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"danger"
@
click=
"goPay"
>
去充值
</el-button>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
CountTo
from
'vue-count-to'
import
{
shopInfo
}
from
'@/api/securityFund'
;
export
default
{
data
()
{
return
{}
return
{
dialogVisible
:
false
}
},
props
:
{
panelData
:
{
...
...
@@ -73,10 +98,30 @@ export default {
},
mounted
()
{
// console.log(75,this.panelData);
this
.
getShopInfo
()
},
methods
:
{
// 获取店铺信息
getShopInfo
()
{
shopInfo
().
then
(
res
=>
{
if
(
res
.
code
==
1
)
{
// 是否需要缴纳保证金 0否 1是
if
(
res
.
data
.
is_take_bond
==
1
||
res
.
data
.
bond
<
res
.
data
.
cate_bond
/
2
)
{
this
.
dialogVisible
=
true
}
else
{
this
.
dialogVisible
=
false
}
}
})
},
handleSetLineChartData
(
type
)
{
this
.
$emit
(
'handleSetLineChartData'
,
type
)
},
goPay
()
{
this
.
dialogVisible
=
false
this
.
$router
.
push
({
path
:
'/system/asset/securityFund'
})
}
}
}
...
...
src/views/returnurl.vue
0 → 100644
浏览文件 @
707b64d8
<
template
>
</
template
>
<
script
>
export
default
{
name
:
'returnurl'
,
created
(){
},
mounted
()
{
window
.
opener
=
null
window
.
open
(
''
,
self
)
window
.
close
()
},
}
</
script
>
src/views/system/asset/securityFund.vue
0 → 100644
浏览文件 @
707b64d8
<
template
>
<div
class=
"securityFund"
>
<el-card
class=
"box-card"
>
<div
class=
"header"
>
<i
class=
"el-icon-warning"
style=
"color: #F1914E; "
></i>
这里展示您保证金的交保、退保、补缴、扣除等记录,保证金并不是向云仓付费,而是作为专项资产在您的账户中。保证金余额不支持直接提现,当退出相应服务后可申请退还保证金!
</div>
<div
class=
"securityFund-title"
>
<i
class=
"title-icon"
></i>
保证金
</div>
<div
class=
"securityFund-content"
>
<div
style=
"display: flex; align-items: center;"
v-if=
"isPay"
>
<span><i
class=
"el-icon-success"
style=
"color: #67c23a; font-size: 26px;"
></i></span>
<span
style=
"margin: 0 20px 0 5px;"
>
已缴纳保证金
</span>
<span>
合约期内保证金不能提现,合作到期后双方如终止合作则退还保证金。
</span>
</div>
<div
style=
"display: flex; align-items: center;"
v-if=
"!isPay"
>
<span><i
class=
"el-icon-error"
style=
"color: red; font-size: 26px;"
></i></span>
<span
style=
"margin: 0 20px 0 5px;"
>
未缴纳保证金
</span>
<span>
根据您的商品所在类目,需缴纳【5000.00元】保证金,您还未缴纳!保证金用于您的信用保障和消费者的权益保护,如果您有违约责任,平台将根据规定扣除您一定比例的保证金。
</span>
</div>
<div
style=
"display: flex; justify-content: space-between; margin-top: 50px;"
>
<div
style=
"width: 33%; text-align: center; border-right: 2px solid #E8E7E7;"
>
<div>
保证金余额
</div>
<div
style=
"font-size: 30px; color: #3AA0FF; margin-top: 20px;"
>
¥
{{
getFixed
(
bond
)
}}
</div>
</div>
<div
style=
"width: 33%; text-align: center; border-right: 2px solid #E8E7E7;"
>
<div>
冻结金额
</div>
<div
style=
"font-size: 30px; color: #3AA0FF; margin-top: 20px;"
>
¥
{{
getFixed
(
frozen_bond
)
}}
</div>
</div>
<div
style=
"width: 33%; text-align: center; display: flex; justify-content: center; align-items: flex-end;"
>
<div>
<div>
初始应缴
</div>
<div
style=
"font-size: 30px; color: #3AA0FF; margin-top: 20px;"
>
¥
{{
getFixed
(
cate_bond
)
}}
</div>
</div>
<div
style=
"padding: 6px 0 6px 10px; cursor: pointer;"
class=
"desc"
@
click=
"limitDialog = true"
>
【保证金额度说明】
</div>
<div
style=
"padding: 6px 0; cursor: pointer;"
class=
"desc"
@
click=
"ruleDialog = true"
>
【保证金扣减说明】
</div>
</div>
</div>
<div
style=
"text-align: center; margin-top: 50px; width: 100%;"
>
<el-button
type=
"primary"
size=
"mini"
style=
"width: 80px;"
@
click=
"payDialog = true"
:disabled=
"isPay || !isShowPay"
>
充值
</el-button>
<el-button
size=
"mini"
style=
"width: 80px;"
@
click=
"cancellationDialog = true"
:disabled=
"bond == 0"
>
申请退保
</el-button>
</div>
</div>
<div
class=
"flowList"
>
<div>
<div
class=
"flow-title"
>
交易流水
</div>
</div>
<el-table
:data=
"tableData"
tooltip-effect=
"dark"
style=
"width: 100%; margin-top: 10px;"
>
<el-table-column
align=
"center"
label=
"流水单号"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
sn
}}
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"完成时间"
>
<
template
slot-scope=
"scope"
>
{{
formatter
(
scope
.
row
.
updated_time
)
}}
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"变动类型"
>
<
template
slot-scope=
"scope"
>
<div>
{{
scope
.
row
.
type
==
1
?
'增加'
:
'减少'
}}
</div>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"变动金额"
>
<
template
slot-scope=
"scope"
>
<div>
{{
getFixed
(
scope
.
row
.
money
)
}}
元
</div>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"explain"
label=
"变动说明"
>
</el-table-column>
</el-table>
<div
class=
"footer_pagination"
>
<el-pagination
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page=
"currentPage"
:page-sizes=
"[20, 40, 60, 80, 100]"
:page-size=
"pageSize"
layout=
"total, sizes, prev, pager, next, jumper"
:total=
"total"
>
</el-pagination>
</div>
</div>
</el-card>
<!-- 充值弹框 -->
<el-dialog
title=
"缴纳保证金"
:visible
.
sync=
"payDialog"
:destroy-on-close=
"true"
width=
"35%"
center
:close-on-click-modal=
"false"
append-to-body
@
close=
"initData"
>
<div>
<div
class=
"header"
style=
"text-align: center; font-size: 12px; line-height: 20px;"
>
根据您的商品所在类目,需缴纳5000.00元保证金,【不支持个人转账】
</div>
<el-form
ref=
"payForm"
:model=
"payForm"
label-width=
"110px"
style=
"margin-top: 20px;"
>
<el-form-item
label=
"应缴纳额度:"
>
<el-input
v-model=
"payForm.money"
:disabled=
"true"
></el-input>
</el-form-item>
<el-form-item
label=
"缴纳方式:"
>
<el-radio
v-model=
"payRadio"
label=
"1"
v-if=
"isShowPay1"
>
线下转账
</el-radio>
<el-radio
v-model=
"payRadio"
label=
"2"
v-if=
"isShowPay2"
>
支付宝
</el-radio>
</el-form-item>
<div
v-if=
"payRadio == 1"
>
<el-form-item
label=
"开户名称:"
>
<el-input
v-model=
"payForm.name"
placeholder=
"北京胜天半子科技有限公司"
:disabled=
"true"
></el-input>
</el-form-item>
<el-form-item
label=
"开户银行:"
>
<el-input
v-model=
"payForm.bank"
placeholder=
"招商银行北京分行丰台科技园支行"
:disabled=
"true"
></el-input>
</el-form-item>
<el-form-item
label=
"银行账号:"
>
<el-input
v-model=
"payForm.bankNum"
placeholder=
"110945259110901"
:disabled=
"true"
></el-input>
</el-form-item>
<el-form-item
label=
"汇款凭证:"
>
<el-upload
class=
"avatar-uploader"
action=
""
list-type=
"picture-card"
:http-request=
"uploadLogo"
:before-upload=
"beforeUpLogo"
:file-list=
"ruleFormdialogLogo"
:limit=
"2"
:on-exceed=
"limitCount1"
:before-remove=
"beforeRemoveLogo"
:on-remove=
"removeLogo"
:on-preview=
"handleMainImgLogo"
>
<i
class=
"el-icon-plus"
></i>
</el-upload>
<span>
最多上传2张,支持png/jpg,大小不超过500KB
</span>
</el-form-item>
<el-form-item
label=
"汇款公户名称:"
>
<el-input
v-model=
"payForm.account"
placeholder=
" 请输入您汇款的账户名称"
></el-input>
</el-form-item>
</div>
<div
v-if=
"payRadio == 2"
>
<el-form-item
label=
""
>
<div
style=
"background: rgba(58, 160, 255, .05); padding: 20px;"
>
<div>
温馨提示:
</div>
<div>
不支持信用卡方式充值
</div>
</div>
</el-form-item>
</div>
</el-form>
<div
style=
"text-align: right;"
>
<el-button
type=
"primary"
@
click=
"onSubmit(1)"
v-if=
"payRadio == 1"
>
提交
</el-button>
<el-button
type=
"primary"
@
click=
"onSubmit(2)"
v-if=
"payRadio == 2"
>
立即付款
</el-button>
</div>
</div>
</el-dialog>
<!-- 申请退保 -->
<el-dialog
title=
"申请退保"
:visible
.
sync=
"cancellationDialog"
:destroy-on-close=
"true"
width=
"38%"
center
:close-on-click-modal=
"false"
append-to-body
@
close=
"cancellationinitData"
>
<div
v-if=
"!isSubmit"
>
<div
class=
"header"
style=
"text-align: center; font-size: 12px; line-height: 20px;"
>
<div>
合约期内保证金不能提现,合作到期后双方如终止合作则退还保证金。
</div>
<div>
如果您意向停止合作,可在线提交申请,退保后双方自动解约,您的店铺将被关闭,商品将被下架,请知悉!
</div>
</div>
<el-form
ref=
"cancellationForm"
:model=
"cancellationForm"
label-width=
"110px"
style=
"margin-top: 20px;"
>
<el-form-item
label=
"退保金额:"
>
<el-input
v-model=
"cancellationForm.money"
:disabled=
"true"
></el-input>
</el-form-item>
<el-form-item
label=
"退保至:"
>
<el-select
v-model=
"cancellationForm.account"
placeholder=
"请选择退保的账户"
style=
"width: 100%;"
>
<el-option
:label=
"item.bank_name"
:value=
"item.id"
v-for=
"item in optionAcount"
:key=
"item.id"
/>
</el-select>
<div
style=
"font-size: 12px; color: #FF4D4F;"
>
选择您的提现账户,如果没有请在【资产】页面当中添加
</div>
</el-form-item>
<el-form-item
label=
"短信验证码:"
>
<el-input
v-model=
"cancellationForm.code"
style=
"width: 70%;"
:placeholder=
"`请输入手机${getTel(emergency_tel)}的验证码`"
></el-input>
<el-button
@
click=
"getCode"
v-if=
"isAccountCode"
>
获取短信验证码
</el-button>
<el-button
style=
"width: 109px"
:disabled=
"true"
v-if=
"!isAccountCode"
>
倒计时 {{ accountCountDown }}
S
</el-button>
</el-form-item>
</el-form>
<div
style=
"text-align: right;"
>
<el-button
type=
"primary"
@
click=
"submitCancellation"
>
提交
</el-button>
</div>
</div>
<!-- 提交成功提示 -->
<div
style=
"text-align: center;"
v-if=
"isSubmit"
>
<div><i
class=
"el-icon-success"
style=
"color: #67c23a; font-size: 34px;"
></i></div>
<div
style=
"margin: 10px 0 30px;"
>
审请已提交,工作人员将与您联系,请注意来电
</div>
<div
style=
"background: rgba(58, 160, 255, .05); padding: 20px; line-height: 30px;"
>
<div>
感谢您使用云仓!
</div>
<div>
您的退保申请已提交,工作人员将与您取得联系核实情况,大约需要1-3个工作日,请您耐心等待。
</div>
<div>
在此过程中请确保您的全部订单已发货、无售后订单、账户余额已全部提现!
</div>
<div>
如果您有其它的问题,可以拔打我们的服务电话与我们联系!
</div>
<div>
服务电话:
<span
style=
"color: #3AA0FF;"
>
4000-188-199
</span></div>
</div>
</div>
</el-dialog>
<!-- 保证金扣款说明 -->
<el-dialog
style=
"margin-top: 200px;"
title=
"扣减规则"
:visible
.
sync=
"ruleDialog"
:destroy-on-close=
"true"
width=
"35%"
center
:close-on-click-modal=
"false"
append-to-body
>
<div>
<div
style=
"background: rgba(58, 160, 255, .05); padding: 20px; line-height: 24px;"
>
<div>
1、订单延迟发货,延迟0-24小时不作处罚,延迟24-72小时,扣除该订单金额的10%作为处罚,超过72小时扣除50%作为处罚
</div>
</div>
</div>
</el-dialog>
<!-- 保证金额度说明 -->
<el-dialog
style=
"margin-top: 200px;"
title=
"各类目保证金收取标准"
:visible
.
sync=
"limitDialog"
:destroy-on-close=
"true"
width=
"70%"
center
:close-on-click-modal=
"false"
append-to-body
>
<div
style=
"height: 500px; overflow-y: auto;"
>
<el-table
:data=
"bondByCateList"
tooltip-effect=
"dark"
style=
"width: 100%;"
>
<el-table-column
align=
"center"
label=
"序号"
width=
"55"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
$index
+
1
}}
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"一级类目"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
cate_name
}}
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"保证金额度(元)"
>
<
template
slot-scope=
"scope"
>
{{
getFixed
(
scope
.
row
.
bond
)
}}
</
template
>
</el-table-column>
<el-table-column
align=
"center"
label=
"额度说明"
>
<
template
slot-scope=
"scope"
>
<div>
采取就高原则,取类目保证金最大值
</div>
</
template
>
</el-table-column>
</el-table>
<div
style=
"text-align: right; margin-top: 20px;"
>
<el-button
type=
"primary"
@
click=
"limitDialog = false"
>
确定
</el-button>
</div>
</div>
</el-dialog>
<el-dialog
:visible
.
sync=
"dialogVisibleLogo"
class=
"dialog-img-spe"
>
<img
width=
"100%"
:src=
"dialogImageLogo"
alt=
""
/>
</el-dialog>
</div>
</template>
<
script
>
import
{
UploadImg
}
from
'@/api/module/goods'
import
{
shopInfo
,
bondDetail
,
addBond
,
bondByCate
,
accountList
,
bondApply
,
payDetails
,
applyDetail
}
from
'@/api/securityFund'
;
import
{
getTelphoneCode
}
from
'@/api/module/settings'
import
{
dateFormat
}
from
'@/utils'
export
default
{
data
()
{
return
{
bond
:
0
,
// 保证金金额
frozen_bond
:
0
,
// 冻结金额
cate_bond
:
0
,
// 初始应缴
payRadio
:
'1'
,
isPay
:
true
,
// 是否需要缴纳保证金
isSubmit
:
false
,
cancellationDialog
:
false
,
ruleDialog
:
false
,
limitDialog
:
false
,
payDialog
:
false
,
payForm
:
{
money
:
''
,
name
:
'北京胜天半子科技有限公司'
,
bank
:
'招商银行北京分行丰台科技园支行'
,
bankNum
:
'110945259110901'
,
account
:
''
},
cancellationForm
:
{
money
:
''
,
account
:
''
,
code
:
''
},
currentPage
:
1
,
pageSize
:
20
,
total
:
0
,
tableData
:
[],
ruleFormdialogLogo
:
[],
// 汇款凭证
dialogVisibleLogo
:
false
,
dialogImageLogo
:
''
,
optionAcount
:
[],
bondByCateList
:
[],
seller_id
:
''
,
emergency_tel
:
''
,
isAccountCode
:
true
,
timer
:
null
,
accountCountDown
:
60
,
isShowPay1
:
true
,
isShowPay2
:
true
,
isShowPay
:
true
}
},
mounted
()
{
this
.
getShopInfo
()
this
.
getBondDetail
()
this
.
getbondByCate
()
this
.
getPayDetails
()
},
methods
:
{
formatter
(
time
)
{
return
dateFormat
(
time
*
1000
,
'Y-m-d H:i:s'
)
},
// 处理金额
getFixed
(
value
)
{
let
data
=
0
if
(
value
)
{
data
=
(
value
/
100
).
toFixed
(
2
)
}
return
data
},
getTel
(
val
)
{
let
tel
=
''
tel
=
val
.
substring
(
0
,
3
)
+
'****'
+
val
.
substring
(
7
,
val
.
length
)
return
tel
},
// 获取支付账户
getPayDetails
()
{
payDetails
().
then
(
res
=>
{
if
(
res
.
code
==
1
)
{
if
(
res
.
data
)
{
// 线下转账-是否开启 0关闭 1开启
if
(
res
.
data
.
BankSettings
.
is_bank_open
)
{
this
.
isShowPay1
=
true
}
else
{
this
.
isShowPay1
=
false
this
.
payRadio
=
'2'
}
// 支付宝--是否开启 0关闭 1开启
if
(
res
.
data
.
AlipaySettings
.
is_alipay_open
)
{
this
.
isShowPay2
=
true
}
else
{
this
.
isShowPay2
=
false
this
.
payRadio
=
'1'
}
}
else
{
// 没有设置支付账户
this
.
isShowPay
=
false
}
}
})
},
// 获取账户列表
getAccountList
()
{
let
params
=
{
page
:
1
,
limit
:
100
,
seller_id
:
this
.
seller_id
}
accountList
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
1
)
{
this
.
optionAcount
=
res
.
data
.
data
}
})
},
// 保证金额度说明
getbondByCate
()
{
bondByCate
().
then
(
res
=>
{
if
(
res
.
code
==
1
)
{
this
.
bondByCateList
=
res
.
data
}
})
},
// 获取店铺信息
getShopInfo
()
{
shopInfo
().
then
(
res
=>
{
if
(
res
.
code
==
1
)
{
this
.
bond
=
res
.
data
.
bond
||
0
this
.
frozen_bond
=
res
.
data
.
frozen_bond
||
0
this
.
cate_bond
=
res
.
data
.
cate_bond
||
0
this
.
seller_id
=
res
.
data
.
seller_id
this
.
emergency_tel
=
res
.
data
.
emergency_tel
this
.
cancellationForm
.
money
=
this
.
getFixed
(
this
.
bond
)
this
.
payForm
.
money
=
this
.
getFixed
(
this
.
cate_bond
-
this
.
bond
)
// 是否需要缴纳保证金 0否 1是
if
(
res
.
data
.
is_take_bond
==
1
||
this
.
bond
<
this
.
cate_bond
/
2
)
{
this
.
isPay
=
true
}
else
{
this
.
isPay
=
false
}
this
.
getAccountList
()
}
})
},
// 获取交易流水
getBondDetail
()
{
let
params
=
{
page
:
this
.
currentPage
,
limit
:
this
.
pageSize
}
bondDetail
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
1
)
{
this
.
tableData
=
res
.
data
.
data
this
.
total
=
res
.
data
.
count
}
})
},
initData
()
{
this
.
ruleFormdialogLogo
=
[]
this
.
payForm
.
account
=
''
},
// 充值保证金
getAddBond
(
type
)
{
let
params
if
(
type
==
1
)
{
params
=
{
recharge_type
:
1
,
voucher
:
this
.
ruleFormdialogLogo
||
undefined
,
remitting_public_account
:
this
.
payForm
.
account
||
undefined
}
}
else
{
params
=
{
recharge_type
:
2
}
}
addBond
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
1
)
{
if
(
type
==
1
)
{
this
.
$message
({
type
:
'success'
,
message
:
'提交成功'
})
}
else
{
// 支付宝支付
window
.
open
(
res
.
data
.
pay_url
,
'_blank'
)
this
.
$confirm
(
'请在支付宝充值页面进行充值。充值完成后,请回到此页面,根据您的情况,点击下方的按钮'
,
'充值'
,{
confirmButtonText
:
'充值成功'
,
cancelButtonText
:
'充值失败'
,
type
:
'warning'
}).
then
(
async
()
=>
{
let
payResult
=
await
applyDetail
({
id
:
res
.
data
.
id
})
if
(
payResult
.
code
===
1
)
{
if
(
payResult
.
data
.
audit_status
==
1
)
{
this
.
$message
({
type
:
'success'
,
message
:
'充值成功!'
})
}
else
{
this
.
$message
({
type
:
'error'
,
message
:
'充值失败!'
})
}
}
}).
catch
((
err
)
=>
{});
}
this
.
payDialog
=
false
this
.
getShopInfo
()
}
else
{
this
.
$message
({
type
:
'error'
,
message
:
res
.
message
})
}
})
},
// 提交凭证
onSubmit
(
type
)
{
if
(
type
==
1
)
{
if
(
!
this
.
ruleFormdialogLogo
.
length
)
{
this
.
$message
({
type
:
'warning'
,
message
:
'请上传汇款凭证'
})
return
}
if
(
!
this
.
payForm
.
account
)
{
this
.
$message
({
type
:
'warning'
,
message
:
'请输入汇款的账户名称'
})
return
}
this
.
getAddBond
(
1
)
}
else
{
this
.
getAddBond
(
2
)
}
},
// 获取短信验证码
getCode
()
{
const
TIME_COUNT
=
60
;
if
(
!
this
.
timer
)
{
this
.
accountCountDown
=
TIME_COUNT
;
this
.
isAccountCode
=
false
;
this
.
timer
=
setInterval
(()
=>
{
if
(
this
.
accountCountDown
>
0
&&
this
.
accountCountDown
<=
TIME_COUNT
)
{
this
.
accountCountDown
--
;
}
else
{
this
.
isAccountCode
=
true
;
clearInterval
(
this
.
timer
);
this
.
timer
=
null
;
}
},
1000
)
}
// 获取验证码
getTelphoneCode
(
this
.
emergency_tel
).
then
(
res
=>
{
if
(
res
.
code
==
1
)
{
this
.
$message
({
type
:
"success"
,
message
:
'验证码发送成功'
})
}
else
{
this
.
$message
({
type
:
"error"
,
message
:
'验证码发送失败'
})
}
});
},
// 清空申请退保数据
cancellationinitData
()
{
this
.
cancellationForm
.
account
=
''
this
.
cancellationForm
.
code
=
''
if
(
this
.
isSubmit
)
{
this
.
isSubmit
=
false
this
.
getShopInfo
()
}
},
// 申请退保
submitCancellation
()
{
if
(
!
this
.
cancellationForm
.
account
)
{
this
.
$message
({
type
:
'warning'
,
message
:
'请选择退保的账户'
})
return
}
if
(
!
this
.
cancellationForm
.
code
)
{
this
.
$message
({
type
:
'warning'
,
message
:
'请输入短信验证码'
})
return
}
let
params
=
{
money
:
this
.
cancellationForm
.
money
*
100
,
bank_id
:
this
.
cancellationForm
.
account
,
code
:
this
.
cancellationForm
.
code
}
bondApply
(
params
).
then
(
res
=>
{
if
(
res
.
code
==
1
)
{
this
.
$message
({
type
:
'warning'
,
message
:
'提交成功'
})
this
.
isSubmit
=
true
}
else
{
this
.
$message
({
type
:
'error'
,
message
:
res
.
message
})
}
})
},
// 商品主图 数量限制
limitCount1
(
files
,
fileList
)
{
this
.
$message
({
message
:
'最多上传2张图片'
,
type
:
'warning'
});
},
// 顶部logo 大小格式样式校验
beforeUpLogo
(
file
,
fileList
)
{
if
(
file
.
type
!==
"image/png"
&&
file
.
type
!==
"image/jpg"
&&
file
.
type
!=
"image/jpeg"
)
{
this
.
$message
({
message
:
'上传图片格式只支持png/png格式'
,
type
:
"warning"
});
return
false
;
}
let
isImgSize
=
(
file
.
size
/
1024
/
1024
)
>
2
;
if
(
isImgSize
)
{
this
.
$message
({
message
:
'上传图片大小不能超过2MB'
,
type
:
"warning"
});
return
false
;
}
// 图片宽高尺寸限制
// return new Promise(function (resolve, reject) {
// let _URL = window.URL || window.webkitURL;
// let img = new Image();
// img.onload = function () {
// // 图片是否是正方形 宽高比为 1
// let valid = img.width
<=
108
&&
img
.
height
<=
108
;
// valid ? resolve() : reject();
// }
// img.src = _URL.createObjectURL(file);
// }).then(() => {
// return file;
// }, () => {
// this.$message({
// message: '界面logo最大尺寸为108*108像素,请重新选择!',
// type: 'warning'
// });
// return Promise.reject();
// });
},
getBase64
(
file
)
{
return
new
Promise
(
function
(
resolve
,
reject
)
{
let
reader
=
new
FileReader
();
let
imgResult
=
""
;
reader
.
readAsDataURL
(
file
);
reader
.
onload
=
function
()
{
imgResult
=
reader
.
result
;
};
reader
.
onerror
=
function
(
error
)
{
reject
(
error
);
};
reader
.
onloadend
=
function
()
{
resolve
(
imgResult
);
};
});
},
// 上传顶部logo
uploadLogo
(
param
)
{
this
.
getBase64
(
param
.
file
).
then
((
res
)
=>
{
let
result
=
res
.
split
(
","
);
this
.
Base64img
=
result
[
1
];
let
data
=
{
"img_data"
:
this
.
Base64img
}
UploadImg
(
data
).
then
(
res
=>
{
if
(
res
&&
res
.
code
==
1
)
{
this
.
ruleFormdialogLogo
.
push
({
url
:
res
.
data
.
image_url
})
this
.
$message
({
message
:
'上传成功'
,
type
:
'success'
});
}
else
{
this
.
ruleFormdialogLogo
=
[];
this
.
$message
({
message
:
'上传失败,请重新上传'
,
type
:
'error'
});
}
})
});
},
// 顶部logo 删除移除前
beforeRemoveLogo
(
file
,
fileList
)
{
if
(
file
.
status
===
"success"
)
{
return
new
Promise
((
res
,
rej
)
=>
{
this
.
$confirm
(
`是否删除此图片`
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
return
res
();
}).
catch
(()
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'取消删除!'
});
return
rej
();
});
});
}
},
// 顶部logo删除
removeLogo
(
file
)
{
if
(
file
.
status
===
"success"
)
{
for
(
let
i
=
0
;
i
<
this
.
ruleFormdialogLogo
.
length
;
i
++
)
{
if
(
file
.
uid
===
this
.
ruleFormdialogLogo
[
i
].
uid
)
{
this
.
ruleFormdialogLogo
.
splice
(
i
,
1
);
}
}
this
.
$message
({
type
:
'success'
,
message
:
'删除成功!'
});
}
},
// 顶部logo 预览
handleMainImgLogo
(
file
)
{
this
.
dialogImageLogo
=
file
.
url
;
this
.
dialogVisibleLogo
=
true
;
},
handleSizeChange
(
val
)
{
this
.
pageSize
=
val
this
.
getBondDetail
()
},
handleCurrentChange
(
val
)
{
this
.
currentPage
=
val
this
.
getBondDetail
()
}
}
}
</
script
>
<
style
scoped
>
.securityFund
{
height
:
100%
;
overflow-y
:
auto
;
}
.securityFund
.box-card
{
margin
:
20px
;
}
.header
{
border
:
1px
solid
#F1914E
;
background
:
#FFF5ED
;
padding
:
10px
;
font-size
:
14px
;
margin
:
10px
auto
;
}
.securityFund-title
{
display
:
flex
;
align-items
:
center
;
font-weight
:
bold
;
font-size
:
15px
;
color
:
#333
;
border-bottom
:
2px
solid
#F6F6F8
;
padding-bottom
:
10px
;
margin-top
:
40px
;
}
.title-icon
{
display
:
inline-block
;
width
:
3px
;
height
:
15px
;
background
:
#3AA0FF
;
margin-right
:
5px
;
}
.securityFund-content
{
background
:
#F8FBFD
;
height
:
300px
;
color
:
#333
;
font-weight
:
bold
;
font-size
:
14px
;
padding
:
30px
;
margin-top
:
30px
;
}
.flowList
{
margin-top
:
20px
;
}
.flow-title
{
width
:
80px
;
height
:
30px
;
line-height
:
30px
;
text-align
:
center
;
background
:
#3AA0FF
;
border-radius
:
2px
;
display
:
inline-block
;
color
:
#fff
;
font-size
:
14px
;
}
.footer_pagination
{
text-align
:
center
;
margin-top
:
20px
;
}
.desc
:hover
{
color
:
#3AA0FF
;
}
</
style
>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论