Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Sign in
Toggle navigation
X
xzf_uniapp-wechat-web
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
李智书
xzf_uniapp-wechat-web
Commits
aba543d0
Commit
aba543d0
authored
Nov 30, 2021
by
李智书
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' into uat
parents
ac261528
affd1be8
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
2721 additions
and
5 deletions
+2721
-5
.hbuilderx/launch.json
.hbuilderx/launch.json
+16
-0
src/pages.json
src/pages.json
+36
-5
src/pages/BankModule/Recharge/Recharge.vue
src/pages/BankModule/Recharge/Recharge.vue
+1581
-0
src/pages/BankModule/Reflect/Reflect.vue
src/pages/BankModule/Reflect/Reflect.vue
+622
-0
src/pages/OpenAccountAgreement/OpenAccountAgreement.vue
src/pages/OpenAccountAgreement/OpenAccountAgreement.vue
+331
-0
src/pages/recharging/recharging.vue
src/pages/recharging/recharging.vue
+135
-0
No files found.
.hbuilderx/launch.json
0 → 100644
View file @
aba543d0
{
//
launch.json
配置了启动调试时相关设置,configurations下节点名称可为
app-plus/h
5
/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp
-360
/
//
launchtype项可配置值为local或remote
,
local代表前端连本地云函数,remote代表前端连云端云函数
"version"
:
"0.0"
,
"configurations"
:
[{
"default"
:
{
"launchtype"
:
"local"
},
"h5"
:
{
"launchtype"
:
"local"
},
"type"
:
"uniCloud"
}
]
}
src/pages.json
View file @
aba543d0
...
@@ -246,9 +246,9 @@
...
@@ -246,9 +246,9 @@
"navigationStyle"
:
"custom"
"navigationStyle"
:
"custom"
}
}
},
},
{
{
"path"
:
"pages/AgreementSZXY/agreement/main"
,
"path"
:
"pages/AgreementSZXY/agreement/main"
,
"style"
:
{
"style"
:
{
...
@@ -270,9 +270,40 @@
...
@@ -270,9 +270,40 @@
"enablePullDownRefresh"
:
false
,
"enablePullDownRefresh"
:
false
,
"navigationStyle"
:
"custom"
"navigationStyle"
:
"custom"
}
}
},
{
"path"
:
"pages/BankModule/Recharge/Recharge"
,
"style"
:
{
"navigationStyle"
:
"custom"
,
"navigationBarTitleText"
:
"充值"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/BankModule/Reflect/Reflect"
,
"style"
:
{
"navigationStyle"
:
"custom"
,
"navigationBarTitleText"
:
"提现"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/recharging/recharging"
,
"style"
:
{
"navigationStyle"
:
"custom"
,
"navigationBarTitleText"
:
"充值申请成功"
,
"enablePullDownRefresh"
:
false
}
},
{
"path"
:
"pages/OpenAccountAgreement/OpenAccountAgreement"
,
"style"
:
{
"navigationStyle"
:
"custom"
,
"navigationBarTitleText"
:
"三类户开户协议"
,
"enablePullDownRefresh"
:
false
}
}
}
],
],
"globalStyle"
:
{
"globalStyle"
:
{
"navigationBarTextStyle"
:
"black"
,
"navigationBarTextStyle"
:
"black"
,
...
...
src/pages/BankModule/Recharge/Recharge.vue
0 → 100644
View file @
aba543d0
<
template
>
<view
class=
"container"
>
<view
class=
"contentBox"
v-if=
"!depotMoneyother"
>
<!--
<image
mode=
'widthFix'
src=
"https://xiaopay2020.oss-cn-shenzhen.aliyuncs.com/static/weapp/images/xiaopaycard (31).png"
></image>
-->
<view
class=
"contentDiv"
>
<view
class=
"headview"
>
<view
class=
"schoolname"
>
{{
PersonalInfo
.
schoolname
}}
</view>
<view
class=
"IconCls"
>
电子校园卡
</view>
</view>
<!-- 卡号显示 -->
<view
class=
"cardNum"
>
<view
class=
"cardNumleft"
><span>
账户:
</span>
**** **** ****
{{
bankInfo_
.
accountNo
.
slice
(
bankInfo_
.
accountNo
.
length
-
4
)
}}
<span>
(
{{
accountEnum
[
bankInfo_
.
accountType
+
''
]
}}
III类户)
</span>
</view>
<view
class=
"cardNumright"
id=
"cardNumright"
@
click=
"CopyCardNumber"
>
复制
</view>
</view>
<view
class=
"HidenText"
>
<view
class=
"userName"
>
姓名:
<span>
{{
PersonalInfo
.
name
}}
</span></view>
<view
class=
"StudentCls"
v-if=
"PersonalInfo.usertype=='1'"
>
班级:
{{
PersonalInfo
.
gradename
}}
(
{{
PersonalInfo
.
classname
}}
)
</view>
<view
class=
'TeacherCls'
v-else
>
教职工
</view>
</view>
<view
class=
"Balance"
>
<view
class=
"cardBalanceTx"
>
余额:¥
<span>
{{
cardBalanceTx
}}
</span></view>
<view
@
click=
"ToWalletTx"
>
<span
style=
"display: inline-block;padding-right: 10rpx;"
>
余额提现
</span>
<image
style=
"position: relative;width: 13rpx;height: 20rpx;"
class=
'ImgIcon1'
mode=
'widthFix'
:src=
"ImgUrl+'images/xiaopaycard (17).png'"
alt=
""
></image>
</view>
</view>
</view>
<!-- 充值明细 -->
<view
class=
"RechargeDetailed"
@
click=
"BackToMini('purchaseDetail')"
>
账户明细
</view>
<!-- 充值账户 -->
<view
class=
"Recharge"
>
<span></span>
<span>
账户充值
</span>
</view>
<!-- 充值的金额 -->
<view
class=
"MoneyBox"
>
<view
class=
"depotMoney"
@
click=
"depotMoney(item.value,index)"
v-bind:class=
"(MoneyIndex==index)?'choiceClass':''"
:data-money=
"item.value||0"
v-for=
"(item,index) in MoneyList"
:key=
"index"
>
<span
class=
"value"
>
{{
item
.
value
}}
</span>
<span
style=
"font-size: 28rpx;font-weight: 600;margin-left: 7rpx;"
>
{{
item
.
lable
}}
</span>
<!--
<span
class=
"tips"
v-show=
"item.tips"
>
{{
item
.
tips
}}
</span>
-->
</view>
</view>
<!-- 充值限额提示 -->
<view
class=
"depositbox"
>
<image
mode=
'widthFix'
class=
"depositImg"
src=
"../../../static/img/depositIcon.png"
></image>
<span
style=
"vertical-align:middle;font-size: 28rpx;color: #333333;font-weight: 500;"
>
最大可充值金额:
<span
style=
"color:red;"
>
¥
<span
class=
"canDepositTx"
>
2000
</span></span></span>
</view>
<!-- 充值其它金额 -->
<view
class=
"OtherMoney"
v-if=
"isOtherMoney"
>
<span>
¥
</span>
<input
v-model=
"inputOtherM"
@
input=
"inputControl"
@
blur=
"ReturnToTop"
placeholder=
"请输入其他金额,最低3元"
placeholder-class=
"placeholderinputOtherM"
type=
"text"
maxlength=
"6"
/>
</view>
<!-- 支付方式 -->
<view
class=
"payType"
@
click=
"queryBindCardList"
>
<view>
付款方式
</view>
<view>
{{
bankInfo_
.
bindCardName
}}
{{
bankInfo_
.
bindCardNo
.
slice
(
bankInfo_
.
bindCardNo
.
length
-
4
)
}}
<span
class=
"arrow"
></span></view>
<!--
<view>
{{
bankInfo_
.
accountName
}}
(
{{
bankInfo_
.
accountNo
.
slice
(
bankInfo_
.
accountNo
.
length
-
4
)
}}
)
<span
class=
"arrow"
></span></view>
-->
</view>
<!--
<view
class=
""
style=
"height: 1rpx;background-color: #DFDFDF;"
></view>
-->
<!-- 充值生活费 -->
<view
class=
"bottomdiv"
>
<view
class=
"DepositID"
@
click=
"toDeposit"
v-bind:style=
"Money!=''?'':'background: #e6e6e6 !important;'"
>
<span>
充值生活费
</span>
</view>
<!-- -->
<view
class=
"switchbankCard"
@
click=
"ChangeBankPay"
>
我要换银行卡支付
</view>
</view>
</view>
<!-- 其他充值金额 -->
<view
class=
"contentBox"
v-if=
"depotMoneyother"
>
<view
class=
"OtherTitle"
>
充值金额
</view>
<view
class=
"inputOtherM"
>
<span>
¥
</span>
<input
v-model=
"inputOtherM"
@
input=
"inputControl"
placeholder-class=
"placeholderinputOtherM"
type=
"text"
maxlength=
"6"
/>
</view>
<view
class=
"OtherLine"
></view>
<!-- 充值范围 -->
<view
class=
"Recharge_"
>
<!--
<image
mode=
"widthFix"
class=
"depositImg"
src=
"../../static/img/depositIcon.png"
></image>
-->
<span>
最大可充值金额:
</span>
<span>
¥
<span>
3.00 ~ 2000.00
</span></span>
</view>
</view>
<!-- 弹出层 -->
<uni-popup
ref=
"popup"
:mask-click=
"false"
>
<!-- 充值确认 -->
<view
class=
"RechargeConfirmationBox"
>
<view
class=
"RechargeInfo"
>
<view
class=
"closePhoneBox"
@
click=
"close()"
>
<image
src=
"../../../static/img/close.png"
mode=
"aspectFit"
></image>
</view>
<view
class=
"RechargeInfo1"
>
验证校园卡开卡手机号
</view>
<van-field
label-class=
"openCardPhonTxt"
label=
"手机号:"
maxlength=
"11"
v-model=
"openCardPhon"
placeholder=
"校园卡开卡手机号"
center
:border=
"false"
/>
<view
style=
"width: 520rpx;height: 1rpx;background: #EEEEEE;"
></view>
<van-field
v-model=
"openCardPhonSms"
label-class=
"openCardPhonSmsTxt"
maxlength=
"6"
label=
"验证码:"
placeholder=
"输入短信验证码"
center
clearable
:border=
"false"
>
<van-button
slot=
"button"
size=
"small"
type=
"primary"
@
click=
"SendSms"
>
{{
CodeMsg
}}
</van-button>
</van-field>
<view
style=
"width: 520rpx;height: 1rpx;background: #EEEEEE;"
></view>
<!-- 取消 确认充值按钮 -->
<view
class=
"BtngGoup"
>
<view
class=
""
@
click=
"ExchangeRecharge"
>
充值
</view>
</view>
</view>
</view>
</uni-popup>
<!-- 选择银行卡 -->
<view
class=
"selectCard"
>
<van-popup
v-model=
"popshow"
round
position=
"bottom"
:style=
"
{ height: '30%' }">
<!-- 银行卡列表 -->
<view
class=
"accountlist"
>
<!-- 切换绑定的一类卡列表 -->
<view
class=
"showBindCardList"
>
<view
class=
"choiceBox"
>
选择付款账户
</view>
<view
class=
"ListItem"
@
click=
"ChangeCardPay(item)"
v-for=
"(item,index) in bindcardList"
:key=
"index"
>
<span
style=
"padding-right:10px;"
>
{{
item
.
bindCardName
}}
</span>
<span>
尾号:
{{
item
.
bindCardNo
.
slice
(
item
.
bindCardNo
.
length
-
4
)
}}
</span>
<!--
<image
class=
'BankListImg'
src=
'../../../static/img/choiceBank.png'
></image>
-->
</view>
</view>
</view>
</van-popup>
</view>
</view>
</
template
>
<
script
>
import
{
Dialog
,
Toast
}
from
'
vant
'
;
import
keyboardPackage
from
"
@/components/keyboard-package/keyboard-package.vue
"
import
cityData
from
"
@/common/js/city.js
"
var
gHost
=
"
https://
"
+
window
.
location
.
host
;
if
(
window
.
location
.
protocol
!=
"
https:
"
)
{
gHost
=
"
https://fpdev.xiaopay.net
"
;
// gHost = "/api";
}
let
times
=
0
;
var
limitClick
=
false
;
//禁止重复点击
var
sessionID
=
''
,
userID
=
''
;
var
payCardNumber
=
''
;
//一类卡号
var
orderSerialNo
=
''
;
//提现结果查询 指令号
var
businessNo
=
''
,
otpOrderNo
=
''
,
mobileNo
=
''
;
var
MyTimer
=
null
;
var
fromType
=
0
;
//0转账 1提现
var
opeType
=
0
;
//0充值 1提现 手机号验证
var
bankInfo
=
{
acctNoArray
:
''
,
idNo
:
''
,
schoolId
:
''
,
trueName
:
''
,
userId
:
''
,
sessionid
:
''
,
wechattype
:
1
}
/**
* 对象转拼接字符串
* @param {*} res Object 需要转换的数据对象
*/
function
OforS
(
res
)
{
var
resL
=
0
;
var
outS
=
""
;
for
(
var
i
in
res
)
{
if
(
resL
==
0
)
{
outS
+=
""
+
i
+
"
=
"
+
res
[
i
];
}
else
{
outS
+=
"
&
"
+
i
+
"
=
"
+
res
[
i
];
}
resL
++
;
}
return
outS
;
}
export
default
{
components
:
{
keyboardPackage
},
name
:
"
Recharge
"
,
data
()
{
return
{
popshow
:
false
,
// 输入其它金额
isOtherMoney
:
false
,
inputOtherM
:
''
,
RechargeException
:
false
,
depotMoneyother
:
false
,
//其他充值
Money
:
''
,
//选择金额
MoneyIndex
:
-
1
,
RechargeMax
:
'
2000
'
,
//最大充值限制
ReflectMoney
:
''
,
//提现金额
VerifyCode
:
''
,
//验证码
cardBalanceTx
:
'
0
'
,
//余额
CodeMsg
:
"
获取验证码
"
,
type
:
'
number
'
,
PersonalInfo
:
{
schoolname
:
""
,
name
:
""
,
usertype
:
"
1
"
},
bankInfo_
:
{
accountNo
:
'
**** **** **** 1234
'
,
bindCardName
:
''
,
bindCardNo
:
''
},
ImgUrl
:
this
.
$ImgUrl
,
MoneyList
:
Array
(
5
).
fill
(
1
).
map
((
v
,
index
)
=>
{
return
{
lable
:
index
==
4
?
'
其他金额
'
:
'
元
'
,
value
:
index
==
4
?
''
:
50
*
(
index
+
1
)
+
50
,
tips
:
index
==
1
?
"
推荐充值
"
:
null
}
}),
numberList
:
[],
tempFiles1
:
'
../../static/img/idCardBg1.png
'
,
//上传身份证临时选择文件
tempFiles2
:
'
../../static/img/idCardBg0.png
'
,
//绑定的一类卡列表
bindcardList
:
[],
// 20211126 银行账户类型
accountType
:
'
2
'
,
// 银行账户类型名称枚举
accountEnum
:
{
'
1
'
:
"
平安银行
"
,
'
2
'
:
"
工商银行
"
,
'
3
'
:
"
交通银行
"
,
},
/**
* 20211129新增
*/
// 充值手机号码
openCardPhon
:
""
,
openCardPhonSms
:
""
,
msCount
:
60
,
//定时器
RechargeSmsorderNoInfo
:
{}
//第三方合作交易标识
}
},
onLoad
:
function
(
options
)
{
console
.
log
(
options
);
// 初始化
userID
=
options
[
'
userID
'
]
||
''
;
sessionID
=
options
[
'
seesionID
'
]
||
''
;
fromType
=
options
[
'
fromType
'
]
||
''
;
bankInfo
.
sessionid
=
sessionID
||
''
;
this
.
QueryUserInfo
()
},
created
:
function
()
{
},
mounted
:
function
()
{
},
onShow
:
function
()
{
if
(
bankInfo
.
userId
)
{
this
.
queryBankInfo
();
}
},
methods
:
{
// 更换银行卡
async
ChangeBankPay
()
{
uni
.
showModal
({
title
:
"
系统提示
"
,
content
:
"
功能开发中!
"
})
return
uni
.
showLoading
({
mask
:
true
,
title
:
"
请稍后....
"
});
this
.
BackToMini
(
'
AssignAddCard
'
)
uni
.
hideLoading
()
},
// 验证码弹出框开启
toDeposit
()
{
if
(
this
.
isOtherMoney
)
{
if
(
this
.
inputOtherM
==
''
)
{
uni
.
showModal
({
title
:
"
系统提示
"
,
content
:
"
请输入要充值的金额!
"
})
return
}
if
(
parseFloat
(
this
.
inputOtherM
)
*
1
<
3
)
{
weui
.
topTips
(
'
充值金额必须大于3元
'
);
return
}
}
else
{
if
(
this
.
Money
==
''
)
{
uni
.
showModal
({
title
:
"
系统提示
"
,
content
:
"
请选择要充值的金额!
"
})
return
}
if
(
parseFloat
(
this
.
inputOtherM
)
*
1
<
3
)
{
weui
.
topTips
(
'
充值金额必须大于3元
'
);
return
}
}
if
(
MyTimer
)
{
window
.
clearInterval
(
MyTimer
);
//停止计时器
MyTimer
=
null
this
.
CodeMsg
=
"
获取验证码
"
this
.
msCount
=
60
;
}
this
.
$refs
.
popup
.
open
(
'
top
'
)
},
// 验证码弹出框关闭
close
()
{
this
.
$refs
.
popup
.
close
()
},
//切换到提现
ToWalletTx
()
{
$
(
'
#DepositBox
'
).
css
(
'
display
'
,
'
none
'
);
$
(
'
#TxWalletBox
'
).
css
(
'
display
'
,
'
block
'
);
// $('.TitleHeader').html('电子账户提现');
$
(
'
.doBtnTx
'
).
html
(
'
提现
'
);
opeType
=
1
;
uni
.
navigateTo
({
url
:
"
../Reflect/Reflect?
"
+
OforS
({
sessionID
:
sessionID
,
userID
:
userID
})
})
},
//全部提现
TxAllFun
()
{
this
.
ReflectMoney
=
this
.
cardBalanceTx
*
1
// $('.TxClsTx').val($('.cardBalanceTx')[0].textContent * 1);
},
// 输入限制
inputControl
(
e
)
{
let
this_
=
this
let
obj
=
e
.
detail
this
.
$nextTick
(
function
()
{
obj
.
value
=
obj
.
value
.
replace
(
/
[^\d
.
]
/g
,
""
);
//清除"数字"和"."以外的字符
obj
.
value
=
obj
.
value
.
replace
(
/^
\.
/g
,
""
);
//验证第一个字符是数字而不是.
obj
.
value
=
obj
.
value
.
replace
(
/
\.{2,}
/g
,
"
.
"
);
//只保留第一个. 清除多余的.
obj
.
value
=
obj
.
value
.
replace
(
"
.
"
,
"
$#$
"
).
replace
(
/
\.
/g
,
""
).
replace
(
"
$#$
"
,
"
.
"
);
//只允许输入一个小数点
obj
.
value
=
obj
.
value
.
replace
(
/^
(\-)
*
(\d
+
)\.(\d\d)
.*$/
,
'
$1$2.$3
'
);
//只能输入两个小数
obj
.
value
=
obj
.
value
*
1
>
2000
?
2000
:
obj
.
value
;
if
(
obj
.
value
==
''
||
obj
.
value
*
1
<
3
)
{
$
(
'
.DepositID
'
).
attr
(
'
style
'
,
'
background: rgb(230, 230, 230) !important;
'
);
}
else
{
$
(
'
.DepositID
'
).
removeAttr
(
'
style
'
);
}
this_
.
inputOtherM
=
obj
.
value
})
},
//input键盘弹起不会弹
ReturnToTop
()
{
this
.
$nextTick
(
function
()
{
document
.
scrollingElement
.
scrollTo
(
0
,
this
.
scrollTop
);
})
},
//定时器
IntervalFun
()
{
if
(
this
.
msCount
==
1
)
{
window
.
clearInterval
(
MyTimer
);
//停止计时器
MyTimer
=
null
this
.
CodeMsg
=
"
获取验证码
"
this
.
msCount
=
60
;
}
else
{
this
.
msCount
--
;
this
.
CodeMsg
=
this
.
msCount
+
"
s后获取
"
}
},
// 充值验证获取验证码
async
SendSms
()
{
if
(
MyTimer
)
{
return
}
if
(
!
this
.
openCardPhon
||
this
.
openCardPhon
.
length
!==
11
)
{
Dialog
({
title
:
'
系统提示
'
,
message
:
'
请收入正确的手机号码!
'
});
return
}
let
this_
=
this
;
let
loading
=
Toast
.
loading
({
message
:
'
加载中...
'
,
forbidClick
:
true
,
loadingType
:
'
spinner
'
,
duration
:
0
});
$
.
ajax
({
url
:
gHost
+
'
/bank-wechat/bocom/exchange/rechargeSms
'
,
type
:
"
POST
"
,
contentType
:
"
application/x-www-form-urlencoded
"
,
data
:
{
amount
:
(
this
.
Money
*
1
).
toFixed
(
2
),
//充值金额,单位元
schoolId
:
bankInfo
.
schoolId
,
//学校id
userId
:
userID
,
//用户id
sessionid
:
sessionID
,
wechattype
:
1
,
},
headers
:
{
'
sessionid
'
:
sessionID
,
},
success
:
function
(
res5
)
{
loading
.
clear
();
if
(
res5
.
code
==
"
10000
"
)
{
this_
.
IntervalFun
();
MyTimer
=
window
.
setInterval
(
this_
.
IntervalFun
,
1000
);
this_
.
RechargeSmsorderNoInfo
=
res5
.
results
?
res5
.
results
:
{}
}
else
{
weui
.
topTips
(
res5
.
message
)
uni
.
showModal
({
title
:
"
系统提示
"
,
content
:
res5
.
message
})
}
},
error
:
function
(
err
)
{
loading
.
clear
();
},
});
},
// 充值
async
ExchangeRecharge
()
{
let
amount
,
bindMedium
,
summary
;
if
(
this
.
isOtherMoney
)
{
if
(
this
.
inputOtherM
==
''
)
{
uni
.
showModal
({
title
:
"
系统提示
"
,
content
:
"
请输入要充值的金额!
"
})
return
}
amount
=
this
.
inputOtherM
*
1
}
else
{
if
(
this
.
Money
==
''
)
{
uni
.
showModal
({
title
:
"
系统提示
"
,
content
:
"
请选择要充值的金额!
"
})
return
}
amount
=
this
.
Money
*
1
}
let
this_
=
this
;
if
(
!
this
.
openCardPhon
||
this
.
openCardPhon
.
length
!==
11
)
{
Dialog
({
title
:
'
系统提示
'
,
message
:
'
请收入正确的手机号码!
'
});
return
}
if
(
!
this
.
RechargeSmsorderNoInfo
.
orderNo
)
{
Dialog
({
title
:
'
系统提示
'
,
message
:
'
请获取验证码!
'
});
return
}
if
(
!
this
.
openCardPhonSms
)
{
Dialog
({
title
:
'
系统提示
'
,
message
:
'
请收入验证码!
'
});
return
}
uni
.
showLoading
({
mask
:
true
,
title
:
"
处理中......
"
})
$
.
ajax
({
url
:
gHost
+
'
/bank-wechat/bocom/exchange/recharge
'
,
type
:
"
POST
"
,
contentType
:
"
application/x-www-form-urlencoded
"
,
data
:
{
amount
:
(
amount
*
1
).
toFixed
(
2
),
//充值金额,单位元
mobileCode
:
this
.
openCardPhonSms
,
//短信验证码
orderNo
:
this_
.
RechargeSmsorderNoInfo
.
orderNo
,
//第三方合作交易标识,取充值短信返回的orderNo值
schoolId
:
bankInfo
.
schoolId
,
//学校id
userId
:
userID
,
//用户id
sessionid
:
sessionID
,
wechattype
:
1
,
},
headers
:
{
'
sessionid
'
:
sessionID
,
},
success
:
function
(
res5
)
{
uni
.
hideLoading
()
if
(
res5
.
code
==
"
10000
"
)
{
this_
.
close
();
setTimeout
(()
=>
{
this_
.
queryBankInfo
();
},
3000
);
wx
.
showModal
({
title
:
'
充值申请已提交
'
,
content
:
'
银行处理需要1-5分钟时间,充值结果以余额查询为准。
'
,
showCancel
:
false
,
success
:
function
()
{
let
accountNo
=
this_
.
bankInfo_
.
accountNo
accountNo
=
accountNo
.
slice
(
accountNo
.
length
-
4
,
accountNo
.
length
);
let
thiTime
=
new
Date
();
let
str
=
''
if
(
thiTime
.
getMinutes
()
+
20
>=
60
)
{
str
=
thiTime
.
getHours
()
+
1
+
'
:
'
+
(
60
-
thiTime
.
getMinutes
())
}
else
{
str
=
thiTime
.
getHours
()
+
'
:
'
+
thiTime
.
getMinutes
()
}
uni
.
navigateTo
({
url
:
`../../recharging/recharging?bankName=
${
this_
.
accountEnum
[
this_
.
bankInfo_
.
accountType
+
''
]}
&bankNumber=
${
accountNo
}
&time=
${
str
}
&money=
${(
amount
*
1
).
toFixed
(
2
)}
`
})
}
})
// 20211129
this_
.
RechargeSmsorderNoInfo
=
{}
}
else
{
weui
.
topTips
(
res5
.
message
)
}
},
error
:
function
(
err
)
{
uni
.
hideLoading
();
},
});
},
// 充值结果查询
async
ExchangeRechargeQuery
(
flowId
,
oriCorpSerno
)
{
let
this_
=
this
;
let
loading
=
Toast
.
loading
({
message
:
'
加载中...
'
,
forbidClick
:
true
,
loadingType
:
'
spinner
'
,
duration
:
0
});
$
.
ajax
({
url
:
gHost
+
'
/bank-wechat/icbc/account/exchange/rechargeQuery
'
,
type
:
"
POST
"
,
contentType
:
"
application/x-www-form-urlencoded
"
,
data
:
{
schoolId
:
bankInfo
.
schoolId
,
userId
:
userID
,
sessionid
:
sessionID
,
wechattype
:
1
,
flowId
:
flowId
,
oriCorpSerno
:
oriCorpSerno
,
},
headers
:
{
'
sessionid
'
:
sessionID
,
},
success
:
function
(
res5
)
{
loading
.
clear
();
if
(
res5
.
code
==
"
10000
"
)
{
let
appStatus
=
res5
.
results
.
appStatus
;
if
(
appStatus
==
'
4
'
)
{
uni
.
showModal
({
title
:
"
系统提示
"
,
content
:
"
充值成功!
"
})
this_
.
queryBankInfo
();
}
else
{
uni
.
showModal
({
title
:
"
系统提示
"
,
content
:
appStatus
==
'
1
'
?
'
申请已受理
'
:
res5
.
message
})
}
}
else
{
weui
.
topTips
(
res5
.
message
)
uni
.
showModal
({
title
:
"
系统提示
"
,
content
:
res5
.
message
})
}
},
error
:
function
(
err
)
{
loading
.
clear
();
},
});
},
// 复制我卡号
async
CopyCardNumber
()
{
let
value
=
this
.
bankInfo_
.
accountNo
Dialog
({
title
:
'
系统提示
'
,
message
:
'
复制成功!
'
});
this
.
$nextTick
(
function
()
{
let
clipboard
=
new
ClipboardJS
(
'
#cardNumright
'
,
{
text
:
function
()
{
return
value
}
})
})
},
//选择输入其他金额
OtherMoney
()
{
this
.
depotMoneyother
=
true
},
// 快捷选择金额
async
depotMoney
(
value
,
MoneyIndex
)
{
console
.
log
(
value
)
if
(
!
value
)
{
this
.
isOtherMoney
=
true
this
.
Money
=
''
this
.
MoneyIndex
=
MoneyIndex
return
}
this
.
isOtherMoney
=
false
this
.
Money
=
parseInt
(
value
)
this
.
MoneyIndex
=
MoneyIndex
},
//按钮操作
HideHTML
(
dom
,
type
)
{
this
.
$nextTick
(
function
()
{
if
(
type
==
0
)
{
$
(
'
.
'
+
dom
).
css
(
'
display
'
,
'
none
'
);
}
else
{
$
(
'
.
'
+
dom
).
css
(
'
display
'
,
'
block
'
);
}
})
},
//返回小程序 跳转指定页面
BackToMini
(
page
)
{
if
(
page
==
'
UserMain
'
||
page
==
'
personalCenter
'
)
{
jWeixin
.
miniProgram
.
switchTab
({
url
:
`/pages/
${
page
}
/main`
,
});
}
else
{
jWeixin
.
miniProgram
.
redirectTo
({
url
:
`/pages/
${
page
}
/main`
,
});
}
},
//换绑卡
ChangeCardPay
(
item
)
{
let
this_
=
this
;
if
(
bankInfo
.
bindCardNo
==
item
.
bindCardNo
)
{
return
}
var
loading
=
weui
.
loading
(
'
请稍后
'
);
$
.
ajax
({
url
:
gHost
+
'
/bank-wechat/icbc/account/bindcard/changeDefaultBinding
'
,
type
:
"
POST
"
,
contentType
:
"
application/x-www-form-urlencoded
"
,
data
:
{
schoolId
:
bankInfo
.
schoolId
,
userId
:
userID
,
sessionid
:
sessionID
,
wechattype
:
1
,
bindMedium
:
item
.
bindCardNo
,
bindMediumName
:
item
.
bindCardName
},
success
:
function
(
res5
)
{
loading
.
hide
();
if
(
res5
.
code
==
"
10000
"
)
{
this_
.
queryUserBankInfo
();
this_
.
close
();
}
else
{
weui
.
topTips
(
res5
.
message
)
}
this_
.
popshow
=
false
;
},
error
:
function
(
err
)
{
loading
.
hide
();
},
});
},
//查询一类卡绑定列表
queryBindCardList
()
{
let
this_
=
this
;
let
loading
=
weui
.
loading
(
'
请稍后
'
);
$
.
ajax
({
url
:
gHost
+
'
/bank-wechat/user/bank/bindingList
'
,
type
:
"
POST
"
,
contentType
:
"
application/x-www-form-urlencoded
"
,
data
:
{
cardNo
:
bankInfo
.
accountNo
,
schoolId
:
bankInfo
.
schoolId
,
userId
:
userID
,
sessionid
:
sessionID
,
wechattype
:
1
},
success
:
function
(
res4
)
{
loading
.
hide
();
if
(
res4
.
code
==
"
10000
"
)
{
this_
.
bindcardList
=
res4
.
results
;
this_
.
popshow
=
true
}
else
{
weui
.
topTips
(
res4
.
message
)
}
},
error
:
function
(
err
)
{
loading
.
hide
();
},
});
},
//获取银行余额
queryBankInfo
()
{
let
this_
=
this
;
// let loading = weui.loading('请稍后');
$
.
ajax
({
url
:
gHost
+
'
/bank-wechat/bocom/balance/getBankBlanceAndSyncLocal
'
,
type
:
"
POST
"
,
timeout
:
8000
,
contentType
:
"
application/x-www-form-urlencoded
"
,
data
:
{
mediumId
:
bankInfo
.
accountNo
||
''
,
schoolId
:
bankInfo
.
schoolId
||
''
,
userId
:
bankInfo
.
userId
||
''
,
sessionid
:
sessionID
,
wechattype
:
1
,
},
success
:
function
(
res3
)
{
// loading.hide();
if
(
res3
.
code
==
"
10000
"
)
{
if
(
res3
.
results
.
accountBalance
==
null
)
{
weui
.
topTips
(
"
账户信息为空,余额查询失败
"
);
}
else
{
this_
.
cardBalanceTx
=
(
res3
.
results
.
accountBalance
*
1
).
toFixed
(
2
);
$
(
'
.TxClsTx
'
).
attr
(
'
placeholder
'
,
`可提现金额
${(
res3
.
results
.
accountBalance
*
1
).
toFixed
(
2
)}
元`
)
this_
.
RechargeMax
=
((
2000
-
((
res3
.
results
.
accountBalance
*
1
).
toFixed
(
2
)
*
1
)).
toFixed
(
2
));
}
}
else
{
weui
.
topTips
(
res3
.
message
)
}
},
error
:
function
(
err
)
{
// loading.hide();
},
complete
:
function
(
XMLHttpRequest
,
status
)
{
// loading.hide();
if
(
status
==
'
timeout
'
)
{
weui
.
topTips
(
"
请求超时,余额查询失败
"
);
}
}
})
},
//获取用户已填写银行信息
queryUserBankInfo
()
{
let
this_
=
this
;
// let loading = weui.loading('请稍后');
$
.
ajax
({
url
:
gHost
+
'
/bank-wechat/user/bank/get
'
,
type
:
"
POST
"
,
contentType
:
"
application/x-www-form-urlencoded
"
,
data
:
{
schoolId
:
bankInfo
.
schoolId
,
userId
:
userID
,
sessionid
:
sessionID
,
wechattype
:
1
},
success
:
function
(
res2
)
{
if
(
res2
.
code
==
"
10000
"
)
{
if
(
!
res2
.
results
)
{
weui
.
topTips
(
"
获取用户银行信息失败!
"
)
// loading.hide();
return
}
bankInfo
=
res2
.
results
;
bankInfo
.
sessionid
=
sessionID
;
this_
.
queryBankInfo
();
//查余额
this_
.
bankInfo_
=
bankInfo
;
// 20211129
this_
.
openCardPhon
=
bankInfo
.
mobileNo
}
else
{
weui
.
topTips
(
res2
.
message
)
}
},
error
:
function
(
err
)
{
// loading.hide();
},
});
},
//查询用户信息
QueryUserInfo
()
{
let
this_
=
this
;
let
loading
=
Toast
.
loading
({
message
:
'
加载中...
'
,
forbidClick
:
true
,
loadingType
:
'
spinner
'
,
duration
:
0
});
$
.
ajax
({
url
:
gHost
+
'
/wechat/svweapp/QueryPersonalInfo
'
,
type
:
"
POST
"
,
contentType
:
"
application/x-www-form-urlencoded
"
,
data
:
{
userid
:
userID
,
sessionid
:
sessionID
,
wechattype
:
1
},
success
:
function
(
res1
)
{
loading
.
clear
();
if
(
res1
.
code
==
"
10000
"
)
{
bankInfo
.
schoolId
=
res1
.
results
.
schoolid
;
bankInfo
.
userId
=
res1
.
results
.
id
;
this_
.
PersonalInfo
=
res1
.
results
if
(
res1
.
results
.
usertype
==
1
)
{
$
(
'
.StudentCls
'
).
css
(
'
display
'
,
'
block
'
);
$
(
'
.TeacherCls
'
).
css
(
'
display
'
,
'
none
'
);
}
else
{
$
(
'
.StudentCls
'
).
css
(
'
display
'
,
'
none
'
);
$
(
'
.TeacherCls
'
).
css
(
'
display
'
,
'
block
'
);
}
this_
.
queryUserBankInfo
();
}
else
{
weui
.
topTips
(
res1
.
message
);
setTimeout
(()
=>
{
this_
.
BackToMini
(
'
UserMain
'
);
},
1500
)
}
},
error
:
function
(
err
)
{
loading
.
clear
();
},
});
},
}
}
</
script
>
<
style
lang=
"scss"
>
html
,
body
,
page
{
width
:
750rpx
;
background
:
linear-gradient
(
180deg
,
#FFFFFF
0%
,
#FAFAFA
100%
);
}
.showBindCardList
{
.choiceBox
{
text-align
:
center
;
font-weight
:
bold
;
height
:
50px
;
line-height
:
50px
;
padding
:
0
;
border-bottom
:
0
.5px
solid
#e6e6e6
;
}
.ListItem
{
border-bottom
:
1rpx
solid
#e6e6e6
;
font-size
:
30rpx
;
padding
:
25rpx
0
;
background
:
#fff
;
position
:
relative
;
text-align
:
center
;
}
}
.SubmittedSuccessfully
{
width
:
400rpx
!
important
;
height
:
200rpx
!
important
;
margin
:
0
auto
!
important
;
background
:
#000000
;
opacity
:
0
.8
;
border-radius
:
8rpx
;
}
.cardNum
{
width
:
574rpx
;
margin
:
0
auto
;
display
:
flex
;
justify-content
:
space-between
;
padding-top
:
36rpx
;
font-size
:
24rpx
;
.cardNumleft
{
font-family
:
PingFang
SC
;
font-weight
:
500
;
color
:
#FFFFFF
;
}
.cardNumright
{
font-family
:
PingFang
SC
;
font-weight
:
500
;
text-decoration
:
underline
;
color
:
#FFFFFF
;
}
}
.RechargeDetailed
{
text-align
:
center
;
// width: 118rpx;
height
:
32rpx
;
margin
:
0
auto
;
font-size
:
30rpx
;
font-family
:
PingFang
SC
;
font-weight
:
500
;
text-decoration
:
underline
;
color
:
#36A8FF
;
margin-top
:
50rpx
;
}
.contentBox
{
width
:
670rpx
;
height
:
376rpx
;
margin
:
0
auto
;
}
.contentDiv
{
height
:
100%
;
// margin-top: 36rpx;
border-radius
:
15rpx
;
background-image
:
url('https://xiaopay2020.oss-cn-shenzhen.aliyuncs.com/static/weapp/images/xiaopaycard (31)
.
png
');
background-repeat: no-repeat;
background-size: 100% 100%;
position: relative;
top: 36rpx;
}
.HidenText {
width: 574rpx;
margin: 0 auto;
padding-top: 88rpx;
}
.HidenText,
.Balance {
padding-left: 46rpx;
padding-right: 40rpx;
display: flex;
justify-content: space-between;
font-size: 28rpx;
color: #FFFFFF;
}
.Balance {
width: 574rpx;
margin: 0 auto;
margin-top: 20rpx;
font-size: 30rpx;
font-family: PingFang SC;
font-weight: bold;
color: #FFFFFF;
}
.Recharge {
// height: 30rpx;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: bold;
color: #333333;
margin-top: 58rpx;
span:nth-child(1) {
width: 4rpx;
height: 30rpx;
background: #23D6A3;
border-radius: 2rpx;
display: inline-block;
position: relative;
top: 5rpx;
}
span:nth-child(2) {
display: inline-block;
margin-left: 16rpx;
}
}
.headview {
display: flex;
justify-content: space-between;
// padding-left: 40rpx;
// padding-right: 40rpx;
padding-top: 36rpx;
width: 574rpx;
margin: 0 auto;
}
.headview .schoolname {
// width: 252rpx;
height: 50rpx;
font-size: 36rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #FFFFFF;
line-height: 50rpx;
}
.headview .IconCls {
width: 170rpx;
height: 48rpx;
background: #20946D;
border-radius: 25rpx;
font-size: 24rpx;
font-weight: 400;
color: #FFFFFF;
line-height: 48rpx;
text-align: center;
}
.MoneyBox {
flex-wrap: wrap;
height: auto;
color: #888888;
width: 686rpx;
margin: 0 auto;
overflow: hidden;
}
.choiceClass {
background: rgba(39, 266, 148, 0.1) !important;
color: #28D79C;
}
.MoneyBox view {
width: 220rpx;
height: 120rpx;
background: #FFFFFF;
border-radius: 8rpx;
border: 1rpx solid #EEEEEE;
margin-top: 16rpx;
text-align: center;
position: relative;
box-shadow: 0px 9rpx 23rpx 0rpx rgba(25, 26, 88, 0.07);
margin-right: 2px;
float: left;
}
.depotMoney .value {
font-size: 45rpx;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
line-height: 120rpx;
text-align: center;
}
.depotMoney .tips {
// width: 79rpx;
// height: 33rpx;
// background: linear-gradient(180deg, #FA6400 0%, #FD9D00 100%);
// border-radius: 4rpx;
// font-size: 18rpx;
// font-weight: 500;
// padding: 4rpx;
// text-align: center;
// float: right;
// position: absolute;
// right: 0rpx;
// line-height: 33rpx;
}
.OtherMoney {
display: flex;
justify-content: flex-start;
// color: #999999;
// font-size: 28rpx;
// font-family: PingFangSC-Regular, PingFang SC;
// font-weight: 400;
// color: #999999;
// line-height: 40rpx;
width: 686rpx;
height: 100rpx;
background: #F7F6FB;
border-radius: 10rpx;
margin: 0 auto;
line-height: 100rpx;
margin-top: 32rpx;
span {
display: inline-block;
font-size: 40rpx;
font-family: PingFang SC;
font-weight: bold;
color: #000000;
padding-left: 26rpx;
}
input {
height: 100%;
}
}
.OtherMoney view:nth-child(2) {
// width: 30rpx;
// height: 30rpx;
// background: #F0F0F0;
// border-radius: 50%;
// text-align: center;
// line-height: 30rpx;
// margin-top: 7rpx;
// margin-left: 5rpx;
}
.payType {
height: 98rpx;
line-height: 98rpx;
display: flex;
justify-content: space-between;
}
.payType view:nth-child(1) {
// width: 120rpx;
height: 42rpx;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #888888;
line-height: 98rpx;
}
.payType view::nth-child(2) {
width: 225rpx;
height: 45rpx;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: bold;
color: #333333;
line-height: 45rpx;
}
.arrow {
transform: rotate(-45deg);
top: -3rpx;
border: solid #999999;
border-width: 0 1rpx 1rpx 0;
display: inline-block;
padding: 8rpx;
position: relative;
}
@media (min-height: 650px) {
.bottomdiv {
position: fixed;
left: 0;
right: 0;
bottom: 30rpx;
}
}
.DepositID {
width: 630rpx;
height: 92rpx;
background: #04BA73;
border-radius: 8rpx;
margin: 0 auto;
text-align: center;
bottom: 30rpx;
}
.DepositID span {
height: 50rpx;
font-size: 36rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #FFFFFF;
line-height: 92rpx;
}
.switchbankCard {
text-align: center;
/* width: 205px; */
// height: 28rpx;
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 500;
text-decoration: underline;
color: #268EF8;
margin-top: 23rpx;
}
.RechargeConfirmationBox {
position: fixed;
left: 0;
right: 0;
top: 400rpx;
width: 618rpx;
height: 520rpx;
background: #FFFFFF;
border-radius: 8rpx;
margin: 0 auto;
.RechargeInfo {
width: 560rpx;
height: 100%;
margin: 0 auto;
/deep/ .openCardPhonTxt {
font-weight: bold;
color: #000000;
width: auto;
}
/deep/ .openCardPhonSmsTxt {
font-weight: bold;
color: #000000;
width: auto;
}
/deep/ .van-cell {
padding-left: 0;
padding-right: 0;
height: 100rpx;
}
/deep/ .van-button {
background: #1CC48B;
border-radius: 8rpx;
font-size: 10rpx;
}
.RechargeInfo1 {
height: 120rpx;
line-height: 88rpx;
font-size: 30rpx;
font-family: PingFang SC;
font-weight: bold;
color: #000000;
text-align: center;
}
.ContenInfo {
text-align: center;
// width: 383rpx;
height: 159rpx;
margin: 0 auto;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #010101;
view {
line-height: 75rpx;
}
}
.BtngGoup {
justify-content: space-between;
display: flex;
margin-top: 40rpx;
view {
width: 100%;
height: 68rpx;
border-radius: 8rpx;
text-align: center;
line-height: 68rpx;
}
view:nth-child(1) {
background: #1CC48B;
font-size: 30rpx;
font-family: PingFang SC;
font-weight: 500;
color: #EBEBEB;
}
view:nth-child(2) {
background: #1CC48B;
font-size: 36rpx;
font-family: PingFang SC;
font-weight: 500;
color: #FFFFFF;
}
}
}
}
.closePhoneBox {
// width: 35rpx;
height: 35rpx;
position: relative;
right: -20rpx;
top: 20rpx;
text-align: right;
image {
width: 35rpx;
height: 35rpx;
position: relative;
right: 10rpx;
}
}
.doBtnTx {
width: 506rpx;
height: 92rpx;
background: #04BA73;
border-radius: 8rpx;
color: #FFFFFF;
position: absolute;
left: 0;
right: 0;
margin: 0 auto;
bottom: 38rpx;
}
.PhoneNum,
.VerifyCode {
width: 506rpx;
height: 80rpx;
line-height: 60rpx;
background: #F7F6FB;
margin: 0 auto;
margin-top: 20rpx;
}
.VerifyCode {
display: flex;
justify-content: space-between;
}
.VerifyCode input {
width: 200rpx;
}
.CodeMsg {
color: #01BC73;
background: #F7F6FB;
font-size: 32rpx;
font-weight: 600;
line-height: 80rpx;
letter-spacing: 3rpx;
}
.placeholderInput {
color: #AAAAAA;
font-size: 42rpx;
font-weight: 500;
letter-spacing: 3rpx;
// padding-left: 50rpx;
height: 80rpx;
}
.OtherTitle {
height: 67rpx;
font-size: 48rpx;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #010101;
line-height: 67rpx;
padding-top: 60rpx;
}
.inputOtherM {
display: flex;
height: 100rpx;
margin-top: 40rpx;
}
.inputOtherM input {
border: none;
outline: none;
height: 50rpx;
padding-left: 16rpx;
font-size: 72rpx;
font-weight: 600;
}
.inputOtherM span:nth-child(1) {
width: 72rpx;
font-size: 80rpx;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #010101;
line-height: 100rpx;
}
.OtherLine {
width: 631rpx;
height: 1rpx;
background-color: #CCCCCC;
margin-top: 19rpx;
}
.depositbox {
margin-top: 31rpx;
height: 30rpx;
line-height: 30rpx;
}
.depositImg {
width: 24rpx;
height: 24rpx;
vertical-align: middle;
margin-right: 8rpx;
position: relative;
top: -2rpx;
}
.Recharge_ {
height: 40rpx;
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #333333;
line-height: 40rpx;
margin-top: 40rpx;
}
.Recharge_ span:nth-child(2) {
font-size: 28rpx;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #FA6400;
}
.placeholderinputOtherM {
height: 50rpx;
// font-family: PingFangSC-Semibold, PingFang SC;
// font-weight: 600;
// color: #010101;
line-height: 50rpx;
width: 323rpx;
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 500;
color: #888888;
}
// 异常处理
.RechargeException {
padding-top: 20rpx;
}
.weui-label {
// width: 118rpx;
height: 42rpx;
font-size: 30rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #3D3D3D;
line-height: 42rpx;
font-weight: bold;
margin-left: 30rpx;
}
.tiptext {
height: 1.06rem;
font-size: 0.75rem;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #03BC73;
line-height: 1.06rem;
margin-bottom: 0.625rem;
text-align: center;
}
.bottomDetail {
width: 628rpx;
height: 88rpx;
color: white;
// position: fixed;
// left: 0;
// right: 0;
margin: 0 auto;
background-color: #03BC73;
text-align: center;
line-height: 88rpx;
margin-top: 84rpx;
}
.RechargeException input::placeholder {
color: #A1A4A8;
}
.RechargeException .weui-cell {
height: 4rem;
padding: 0 !important;
}
.idCardPhoto1,
.idCardPhoto2 {
width: 388rpx;
height: 224rpx;
margin: 0 auto;
margin-top: 20rpx;
}
.idCardPhoto1 image,
.idCardPhoto2 image {
width: 100%;
height: 100%;
position: relative;
}
.weui-toptips_success {
background-color: #03BC73 !important
}
.positionCam {
height: 32rpx;
font-size: 22rpx;
font-family: PingFang-SC-Medium, PingFang-SC;
font-weight: 500;
color: #6D7278;
line-height: 32rpx;
text-align: center;
position: relative;
top: -29px;
}
.BgCoverBox {
width: 100vw;
height: 100vh;
position: fixed;
left: 0;
top: 0;
z-index: 10;
background: #000000;
opacity: 0.5;
}
.hideListCover {
max-height: 50vh;
overflow-y: auto;
padding: 0;
}
.bottomDiv {
font-weight: bold;
height: 50px;
line-height: 50px;
border-bottom: 1px solid #e6e6e6;
}
</
style
>
src/pages/BankModule/Reflect/Reflect.vue
0 → 100644
View file @
aba543d0
<
template
>
<view
class=
"container"
>
<view
class=
"ReflectBox"
>
<view
class=
"left_"
>
提现金额
</view>
<view
class=
"right_"
>
每日可提现一次
</view>
</view>
<view
class=
"OtherMoney"
v-if=
"true"
>
<span>
¥
</span>
<input
class=
"TxClsTx"
v-model=
"inputOtherM"
@
input=
"inputControl"
@
blur=
"ReturnToTop"
:placeholder=
"placeholder"
placeholder-class=
"placeholderinputOtherM"
type=
"text"
maxlength=
"6"
/>
<span
class=
"ALL"
@
click=
"TxAllFun"
>
全部
</span>
</view>
<!-- 提现账户 -->
<view
class=
"payType"
@
click=
"queryBindCardList"
>
<view>
提现账户
</view>
<view>
{{
bankInfo_
.
accountName
}}
(
{{
bankInfo_
.
accountNo
.
slice
(
bankInfo_
.
accountNo
.
length
-
4
)
}}
)
<span
class=
"arrow"
></span></view>
</view>
<view
class=
"OtherMoney"
v-if=
"false"
style=
"color: #BFBFBF;font-weight: 500;"
>
每日仅可提现一次,请明日再来。
</view>
<view
class=
"bottomdiv"
>
<view
class=
"DepositID"
@
click=
"toDeposit(0)"
v-bind:style=
"inputOtherM>0?'':'opacity: 0.5 !important;'"
>
<span>
提现
</span>
</view>
<view
class=
"switchbankCard"
@
click=
"BackToMini('TxHistory')"
>
提现记录
</view>
</view>
</view>
</
template
>
<
script
>
import
{
Dialog
}
from
'
vant
'
;
import
keyboardPackage
from
"
@/components/keyboard-package/keyboard-package.vue
"
import
cityData
from
"
@/common/js/city.js
"
var
gHost
=
"
https://
"
+
window
.
location
.
host
;
if
(
window
.
location
.
protocol
!=
"
https:
"
)
{
gHost
=
"
https://fpdev.xiaopay.net
"
;
}
let
times
=
0
;
var
limitClick
=
false
;
//禁止重复点击
var
sessionID
=
''
,
userID
=
''
;
var
payCardNumber
=
''
;
//一类卡号
var
orderSerialNo
=
''
;
//提现结果查询 指令号
var
businessNo
=
''
,
otpOrderNo
=
''
,
mobileNo
=
''
;
var
msCount
=
60
;
//定时器
var
MyTimer
=
null
;
var
fromType
=
0
;
//0转账 1提现
var
opeType
=
0
;
//0充值 1提现 手机号验证
var
bankInfo
=
{
acctNoArray
:
''
,
idNo
:
''
,
schoolId
:
''
,
trueName
:
''
,
userId
:
''
,
sessionid
:
''
,
wechattype
:
1
}
export
default
{
components
:
{
},
name
:
"
Reflect
"
,
data
()
{
return
{
Money
:
''
,
inputOtherM
:
''
,
ImgUrl
:
this
.
$ImgUrl
,
ReflectMoney
:
3
,
cardBalanceTx
:
''
,
placeholder
:
"
可提现金额0.00元
"
,
bankInfo_
:
{
accountNo
:
'
**** **** **** 1234
'
},
}
},
onLoad
:
function
(
options
)
{
console
.
log
(
options
);
// 初始化
userID
=
options
[
'
userID
'
]
||
''
;
sessionID
=
options
[
'
sessionID
'
]
||
''
;
fromType
=
options
[
'
fromType
'
]
||
''
;
bankInfo
.
sessionid
=
sessionID
||
''
;
this
.
QueryUserInfo
()
},
created
:
function
()
{
},
mounted
:
function
()
{
},
methods
:
{
//全部提现
TxAllFun
()
{
let
this_
=
this
this
.
inputOtherM
=
this
.
cardBalanceTx
*
1
this
.
$nextTick
(
function
()
{
// if (this_.inputOtherM == '' || this_.inputOtherM * 1
<
3
)
{
// $('.DepositID').attr('style', 'background: rgb(230, 230, 230) !important;');
// } else {
// $('.DepositID').removeAttr('style');
// }
})
},
//查询一类卡绑定列表
queryBindCardList
()
{
return
let
this_
=
this
;
let
loading
=
weui
.
loading
(
'
请稍后
'
);
$
.
ajax
({
url
:
gHost
+
'
/bank-wechat/query/account
'
,
type
:
"
POST
"
,
contentType
:
"
application/x-www-form-urlencoded
"
,
data
:
{
schoolId
:
bankInfo
.
schoolId
,
userId
:
userID
,
sessionid
:
sessionID
,
wechattype
:
1
},
success
:
function
(
res4
)
{
loading
.
hide
();
if
(
res4
.
code
==
"
10000
"
)
{
this_
.
bindcardList
=
res4
.
results
.
accountList
[
0
].
bindcardList
this_
.
popshow
=
true
}
else
{
weui
.
topTips
(
res4
.
message
)
}
},
error
:
function
(
err
)
{
loading
.
hide
();
},
});
},
// 提现
async
toDeposit
()
{
if
(
!
this
.
inputOtherM
)
{
uni
.
showModal
({
title
:
"
系统提示
"
,
content
:
"
请输入要提现的金额!
"
})
return
}
if
(
this
.
inputOtherM
*
1
<
0.01
)
{
weui
.
topTips
(
'
提现金额须大于等于0.01元
'
);
return
}
if
(
this
.
inputOtherM
*
1
>
this
.
ReflectMoney
)
{
weui
.
topTips
(
`提现金额不可大于账户余额`
);
return
}
await
this
.
ExchangeWithdraw
()
},
// 提现
async
ExchangeWithdraw
()
{
let
this_
=
this
;
let
loading
=
weui
.
loading
(
'
请稍后
'
);
$
.
ajax
({
url
:
gHost
+
'
/bank-wechat/icbc/account/exchange/withdraw
'
,
type
:
"
POST
"
,
contentType
:
"
application/x-www-form-urlencoded
"
,
data
:
{
schoolId
:
bankInfo
.
schoolId
,
userId
:
userID
,
sessionid
:
sessionID
,
wechattype
:
1
,
amount
:
this_
.
inputOtherM
*
1
,
bindMedium
:
this_
.
bankInfo_
.
bindCardNo
,
summary
:
"
提现
"
,
},
headers
:
{
'
sessionid
'
:
sessionID
,
},
success
:
function
(
res5
)
{
loading
.
hide
();
if
(
res5
.
code
==
"
10000
"
)
{
// this_.ExchangeWithdrawQuery(res5.results.flowId, res5.results.corpSerno);
wx
.
showModal
({
title
:
'
提现申请已提交
'
,
content
:
'
银行处理需要1-5分钟时间,充值结果以余额查询为准。
'
,
showCancel
:
false
})
}
else
{
weui
.
topTips
(
res5
.
message
)
}
},
error
:
function
(
err
)
{
loading
.
hide
();
},
});
},
// 充值结果查询
async
ExchangeWithdrawQuery
(
flowId
,
oriCorpSerno
)
{
let
this_
=
this
;
let
loading
=
weui
.
loading
(
'
请稍后
'
);
$
.
ajax
({
url
:
gHost
+
'
/bank-wechat/icbc/account/exchange/withdrawQuery
'
,
type
:
"
POST
"
,
contentType
:
"
application/x-www-form-urlencoded
"
,
data
:
{
schoolId
:
bankInfo
.
schoolId
,
userId
:
userID
,
sessionid
:
sessionID
,
wechattype
:
1
,
flowId
:
flowId
,
oriCorpSerno
:
oriCorpSerno
,
},
headers
:
{
'
sessionid
'
:
sessionID
,
},
success
:
function
(
res5
)
{
loading
.
hide
();
if
(
res5
.
code
==
"
10000
"
)
{
let
appStatus
=
res5
.
results
.
appStatus
;
if
(
appStatus
==
'
4
'
)
{
uni
.
showModal
({
title
:
"
系统提示
"
,
content
:
"
提现成功!
"
})
uni
.
navigateBack
({})
}
else
{
uni
.
showModal
({
title
:
"
系统提示
"
,
content
:
appStatus
==
'
1
'
?
'
申请已受理
'
:
res5
.
message
})
}
}
else
{
weui
.
topTips
(
res5
.
message
)
uni
.
showModal
({
title
:
"
系统提示
"
,
content
:
res5
.
message
})
}
},
error
:
function
(
err
)
{
loading
.
hide
();
},
});
},
// 输入限制
inputControl
(
e
)
{
let
this_
=
this
let
obj
=
e
.
detail
this
.
$nextTick
(
function
()
{
obj
.
value
=
obj
.
value
.
replace
(
/
[^\d
.
]
/g
,
""
);
//清除"数字"和"."以外的字符
obj
.
value
=
obj
.
value
.
replace
(
/^
\.
/g
,
""
);
//验证第一个字符是数字而不是.
obj
.
value
=
obj
.
value
.
replace
(
/
\.{2,}
/g
,
"
.
"
);
//只保留第一个. 清除多余的.
obj
.
value
=
obj
.
value
.
replace
(
"
.
"
,
"
$#$
"
).
replace
(
/
\.
/g
,
""
).
replace
(
"
$#$
"
,
"
.
"
);
//只允许输入一个小数点
obj
.
value
=
obj
.
value
.
replace
(
/^
(\-)
*
(\d
+
)\.(\d\d)
.*$/
,
'
$1$2.$3
'
);
//只能输入两个小数
obj
.
value
=
obj
.
value
*
1
>
2000
?
2000
:
obj
.
value
;
// if (obj.value == '' || obj.value * 1
<
3
)
{
// $('.DepositID').attr('style', 'background: rgb(230, 230, 230) !important;');
// } else {
// $('.DepositID').removeAttr('style');
// }
this_
.
inputOtherM
=
obj
.
value
})
},
//input键盘弹起不会弹
ReturnToTop
()
{
this
.
$nextTick
(
function
()
{
document
.
scrollingElement
.
scrollTo
(
0
,
this
.
scrollTop
);
})
},
// 复制我卡号
async
CopyCardNumber
()
{
let
value
=
"
sdfsdf
"
Dialog
({
title
:
'
系统提示
'
,
message
:
'
复制成功!
'
});
this
.
$nextTick
(
function
()
{
let
clipboard
=
new
ClipboardJS
(
'
#cardNumright
'
,
{
text
:
function
()
{
return
value
}
})
})
},
//选择输入其他金额
OtherMoney
()
{
this
.
depotMoneyother
=
true
},
// 快捷选择金额
async
depotMoney
(
value
,
MoneyIndex
)
{
console
.
log
(
value
)
if
(
!
value
)
{
this
.
isOtherMoney
=
true
this
.
Money
=
''
this
.
MoneyIndex
=
MoneyIndex
return
}
this
.
isOtherMoney
=
false
this
.
Money
=
parseInt
(
value
)
this
.
MoneyIndex
=
MoneyIndex
},
//按钮操作
HideHTML
(
dom
,
type
)
{
if
(
type
==
0
)
{
$
(
'
.
'
+
dom
).
css
(
'
display
'
,
'
none
'
);
}
else
{
$
(
'
.
'
+
dom
).
css
(
'
display
'
,
'
block
'
);
}
},
//返回小程序 跳转指定页面
BackToMini
(
page
)
{
if
(
page
==
'
UserMain
'
||
page
==
'
personalCenter
'
)
{
jWeixin
.
miniProgram
.
switchTab
({
url
:
`/pages/
${
page
}
/main`
,
});
}
else
{
jWeixin
.
miniProgram
.
redirectTo
({
url
:
`/pages/
${
page
}
/main`
,
});
}
},
//换绑卡
ChangeCardPay
(
bankName
,
bindCard
)
{
let
this_
=
this
;
if
(
bindCard
==
payCardNumber
)
{
return
}
var
loading
=
weui
.
loading
(
'
请稍后
'
);
$
.
ajax
({
url
:
gHost
+
'
/bank-wechat/user/bank/change/bind
'
,
type
:
"
POST
"
,
contentType
:
"
application/x-www-form-urlencoded
"
,
data
:
{
schoolId
:
bankInfo
.
schoolId
,
userId
:
userID
,
sessionid
:
sessionID
,
wechattype
:
1
,
accountName
:
bankName
,
accountNo
:
bindCard
,
},
success
:
function
(
res5
)
{
loading
.
hide
();
if
(
res5
.
code
==
"
10000
"
)
{
this_
.
HideHTML
(
'
showBindCardList
'
,
0
);
this_
.
queryUserBankInfo
();
}
else
{
weui
.
topTips
(
res5
.
message
)
}
},
error
:
function
(
err
)
{
loading
.
hide
();
},
});
},
//获取银行余额
queryBankInfo
()
{
let
this_
=
this
;
let
loading
=
weui
.
loading
(
'
请稍后
'
);
$
.
ajax
({
url
:
gHost
+
'
/bank-wechat/bocom/balance/getBankBlanceAndSyncLocal
'
,
type
:
"
POST
"
,
timeout
:
8000
,
contentType
:
"
application/x-www-form-urlencoded
"
,
data
:
{
mediumId
:
bankInfo
.
accountNo
||
''
,
schoolId
:
bankInfo
.
schoolId
||
''
,
userId
:
bankInfo
.
userId
||
''
,
sessionid
:
sessionID
,
wechattype
:
1
,
},
success
:
function
(
res3
)
{
loading
.
hide
();
if
(
res3
.
code
==
"
10000
"
)
{
if
(
res3
.
results
.
accountBalance
==
null
)
{
weui
.
topTips
(
"
账户信息为空,余额查询失败
"
);
}
else
{
this_
.
ReflectMoney
=
res3
.
results
.
accountBalance
*
1
this_
.
cardBalanceTx
=
(
res3
.
results
.
accountBalance
*
1
).
toFixed
(
2
);
$
(
'
.TxClsTx
'
).
attr
(
'
placeholder
'
,
`可提现金额
${(
res3
.
results
.
accountBalance
*
1
).
toFixed
(
2
)}
元`
)
this_
.
RechargeMax
=
((
2000
-
((
res3
.
results
.
accountBalance
*
1
).
toFixed
(
2
)
*
1
)).
toFixed
(
2
));
this_
.
placeholder
=
`可提现金额
${(
res3
.
results
.
accountBalance
*
1
).
toFixed
(
2
)}
元`
}
}
else
{
weui
.
topTips
(
res3
.
message
)
}
},
error
:
function
(
err
)
{
loading
.
hide
();
},
complete
:
function
(
XMLHttpRequest
,
status
)
{
loading
.
hide
();
if
(
status
==
'
timeout
'
)
{
weui
.
topTips
(
"
请求超时,余额查询失败
"
);
}
}
})
},
//获取用户已填写银行信息
queryUserBankInfo
()
{
let
this_
=
this
;
let
loading
=
weui
.
loading
(
'
请稍后
'
);
$
.
ajax
({
url
:
gHost
+
'
/bank-wechat/user/bank/get
'
,
type
:
"
POST
"
,
contentType
:
"
application/x-www-form-urlencoded
"
,
data
:
{
schoolId
:
bankInfo
.
schoolId
,
userId
:
userID
,
sessionid
:
sessionID
,
wechattype
:
1
},
success
:
function
(
res2
)
{
if
(
res2
.
code
==
"
10000
"
)
{
bankInfo
=
res2
.
results
;
bankInfo
.
sessionid
=
sessionID
;
this_
.
bankInfo_
=
bankInfo
this_
.
queryBankInfo
();
}
else
{
weui
.
topTips
(
res2
.
message
)
}
},
error
:
function
(
err
)
{
loading
.
hide
();
},
});
},
//查询用户信息
QueryUserInfo
()
{
let
this_
=
this
;
let
loading
=
weui
.
loading
(
'
请稍后
'
);
$
.
ajax
({
url
:
gHost
+
'
/wechat/svweapp/QueryPersonalInfo
'
,
type
:
"
POST
"
,
contentType
:
"
application/x-www-form-urlencoded
"
,
data
:
{
userid
:
userID
,
sessionid
:
sessionID
,
wechattype
:
1
},
success
:
function
(
res1
)
{
loading
.
hide
();
if
(
res1
.
code
==
"
10000
"
)
{
bankInfo
.
schoolId
=
res1
.
results
.
schoolid
;
bankInfo
.
userId
=
res1
.
results
.
id
;
this_
.
PersonalInfo
=
res1
.
results
if
(
res1
.
results
.
usertype
==
1
)
{
$
(
'
.StudentCls
'
).
css
(
'
display
'
,
'
block
'
);
$
(
'
.TeacherCls
'
).
css
(
'
display
'
,
'
none
'
);
}
else
{
$
(
'
.StudentCls
'
).
css
(
'
display
'
,
'
none
'
);
$
(
'
.TeacherCls
'
).
css
(
'
display
'
,
'
block
'
);
}
this_
.
queryUserBankInfo
();
}
else
{
weui
.
topTips
(
res1
.
message
);
setTimeout
(()
=>
{
this_
.
BackToMini
(
'
UserMain
'
);
},
1500
)
}
},
error
:
function
(
err
)
{
loading
.
hide
();
},
});
},
}
}
</
script
>
<
style
scoped
lang=
"scss"
>
html
,
body
,
page
{
width
:
750rpx
;
background
:
linear-gradient
(
180deg
,
#FFFFFF
0%
,
#FAFAFA
100%
);
}
.OtherMoney
{
display
:
flex
;
justify-content
:
flex-start
;
// color: #999999;
// font-size: 28rpx;
// font-family: PingFangSC-Regular, PingFang SC;
// font-weight: 400;
// color: #999999;
// line-height: 40rpx;
width
:
686rpx
;
height
:
100rpx
;
background
:
#F7F6FB
;
border-radius
:
10rpx
;
margin
:
0
auto
;
line-height
:
100rpx
;
margin-top
:
32rpx
;
padding-left
:
26rpx
;
span
{
display
:
inline-block
;
font-size
:
40rpx
;
font-family
:
PingFang
SC
;
font-weight
:
bold
;
color
:
#000000
;
}
input
{
height
:
100%
;
}
.ALL
{
position
:
absolute
!
important
;
font-size
:
26rpx
!
important
;
font-family
:
PingFang
SC
;
font-weight
:
bold
!
important
;
color
:
#129A5E
!
important
;
right
:
31rpx
!
important
;
}
}
.ReflectBox
{
width
:
680rpx
;
margin
:
0
auto
;
display
:
flex
;
justify-content
:
space-between
;
height
:
100rpx
;
line-height
:
100rpx
;
.left_
{
font-size
:
36rpx
;
font-family
:
PingFang
SC
;
font-weight
:
bold
;
color
:
#000000
;
}
.right_
{
font-size
:
26rpx
;
font-family
:
PingFang
SC
;
font-weight
:
500
;
color
:
#888888
;
}
}
.bottomdiv
{
position
:
fixed
;
left
:
0
;
right
:
0
;
bottom
:
80rpx
;
}
.DepositID
{
width
:
654rpx
;
height
:
92rpx
;
background
:
#04BA73
;
border-radius
:
8rpx
;
margin
:
0
auto
;
text-align
:
center
;
bottom
:
30rpx
;
}
.DepositID
span
{
height
:
50rpx
;
font-size
:
36rpx
;
font-family
:
PingFangSC-Medium
,
PingFang
SC
;
font-weight
:
500
;
color
:
#FFFFFF
;
line-height
:
92rpx
;
}
.switchbankCard
{
text-align
:
center
;
/* width: 205px; */
// height: 28rpx;
font-size
:
26rpx
;
font-family
:
PingFang
SC
;
font-weight
:
500
;
text-decoration
:
underline
;
color
:
#268EF8
;
margin-top
:
23rpx
;
}
.payType
{
width
:
654rpx
;
margin
:
0
auto
;
height
:
98rpx
;
line-height
:
98rpx
;
display
:
flex
;
justify-content
:
space-between
;
}
.payType
view
:nth-child
(
1
)
{
// width: 120rpx;
height
:
42rpx
;
font-size
:
32rpx
;
font-family
:
PingFang
SC
;
font-weight
:
500
;
color
:
#888888
;
line-height
:
98rpx
;
}
.
payType
view
:
:
nth-child
(
2
)
{
width
:
225rpx
;
height
:
45rpx
;
font-size
:
32rpx
;
font-family
:
PingFang
SC
;
font-weight
:
bold
;
color
:
#333333
;
line-height
:
45rpx
;
}
.arrow
{
transform
:
rotate
(
-45deg
);
top
:
-3rpx
;
border
:
solid
#999999
;
border-width
:
0
1rpx
1rpx
0
;
display
:
inline-block
;
padding
:
8rpx
;
position
:
relative
;
}
</
style
>
src/pages/OpenAccountAgreement/OpenAccountAgreement.vue
0 → 100644
View file @
aba543d0
<
template
>
<view
class=
"container"
>
<view
v-if=
"type==1"
>
<div
class=
"title"
>
个人人民币银行结算账户管理协议
</div>
<view
class=
"bold"
style=
"width: 98%;margin: 0 auto;font-size: 30rpx;border: 1rpx solid;"
>
重要提示:请甲方认真阅读本协议全文,尤其是带有▲▲标记的条款。如有疑义,请及时提请乙方予以说明。
</view>
<div
class=
"paragraph"
>
<p>
为明确双方权利义务,根据有关法律法规及监管规定,甲方与乙方经协商一致,订立本协议。
</p>
<div
class=
"t bold"
>
第一条 定义
</div>
<p>
1.1 “账户”或“个人结算账户”,指乙方在本协议项下为甲方开立的个人人民币结算账户。
</p>
<p>
1.2 “支付结算指令”是指甲方发送给乙方的,要求乙方按照甲方的要求,办理确定金额的资金结算命令。支付结算指令的要素包括收款人户名、收款人账号、收款人开户银行名称、金额、备注。
</p>
<p>
1.3 “错误、不明确、不完整的支付结算指令”是指支付结算指令的要素内容错误、不明确或不完整。
</p>
</div>
<div
class=
"paragraph"
>
<div
class=
"t bold"
>
第二条 账户的申请与开立
</div>
<p>
▲▲ 2.1
甲方在乙方开立个人结算账户,需向乙方提交法律、法规和国家有关文件规定的有效身份证明文件,按乙方要求提供辅助证明材料,并接受乙方的审核。甲方按照乙方要求提供有关甲方身份信息(如客户姓名、性别、国籍、职业、住所地或者工作单位地址、联系方式、证件种类、证
件号码和证件有效期等),并承诺所提供的开户资料和信息真实、合法、有效、完整。如伪造、欺诈,需承担相应法律责任。
</p>
<p>
2.2 甲方可通过乙方渠道向乙方申请开立个人结算账户,甲方可申请开立的个人结算账户类型包括Ⅰ类账户、Ⅱ类账户和Ⅲ类账户。
</p>
<p>
2.2.1 乙方渠道是指乙方柜面、手持终端、智能机具、电子渠道等乙方届时开放的渠道,甲方在乙方不同渠道可申请开立的个人结算账户类型以法律法规及乙方届时规定为准。
</p>
<p>
2.2.2 甲方通过电子渠道非面对面开立人民币Ⅱ类结算账户时,应当绑定本人同名Ⅰ类账户或者信用卡账户进行身份验证。
</p>
<p>
2.2.3 甲方通过电子渠道非面对面开立人民币Ⅲ类结算账户时,应绑定本人同名Ⅰ类、Ⅱ类账户或者信用卡账户进行身份验证。
</p>
<p>
2.2.4 甲方通过乙方柜面、手持终端、智能机具加以乙方工作人员现场面对面确认身份后开立的Ⅱ类账户,无需绑定本人同名Ⅰ类账户或者信用卡账户进行身份验证。
</p>
<p>
▲▲ 2.2.5 甲方不能通过绑定以下账户进行身份验证:
</p>
<p>
(1)电子渠道开立的未发生资金转入的Ⅱ类账户;
</p>
<p>
(2)处于未激活、只收不付、已冻结、已注销等非正常状态的银行账户;
</p>
<p>
(3)信用卡附属卡账户。
</p>
<p>
2.3 甲方通过Ⅰ类账户可以办理存款、取款、转账结算、消费、投资、理财以及乙方届时提供的其他银行业务。甲方在乙方仅可开立一个Ⅰ类账户。
</p>
<p>
2.4甲方通过Ⅱ类账户可以办理存款、购买投资理财产品等金融产品、限定金额消费和缴费、限定金额的转账支付结算、接收乙方发放本行贷款资金(下称发放贷款)并通过Ⅱ类账户还款(下称贷款资金归还)等银行业务。经柜面、手持终端或智易通、自助票据现金一体机、自助发卡机等智能设备加以乙方工作人员现场面对面确认身份的,Ⅱ类账户还可以办理限定金额内存取现金、限定金额自非绑定账户转入资金业务,并可配发借记卡或存折、一本通对账簿实体账户介质。甲方最多可在乙方开立五个Ⅱ类账户。
</p>
<p>
Ⅱ类账户自非绑定账户转入资金、存入现金日累计限额合计为1万元,年累计限额合计为20万元;消费和缴费、向非绑定账户转出资金、取出现金日累计限额合计为1万元,年累计限额合计为20万元。Ⅱ类账户发放贷款和贷款资金归还,不受转账限额规定。
</p>
<p>
2.5
甲方通过Ⅲ类账户可办理限定金额消费、缴费、限定金额的转账支付结算以及接收乙方发放的小额消费贷款资金并通过Ⅲ类账户还款等银行业务。经柜面、智能机具加以乙方工作人员现场面对面确认身份的,Ⅲ类结算账户还可以办理限定金额自非绑定账户资金转入业务。Ⅲ类账户余额不得超过2000元。甲方最多可在乙方开立五个Ⅲ类账户。
</p>
<p>
通过电子渠道非面对面方式开立的Ⅲ类账户,通过绑定账户转入资金验证的,可以接收非绑定账户小额转入资金。消费和缴费支付、非绑定账户资金转出等出金日累计限额合计为2000元,年累计限额合计为5万元。乙方通过电子渠道非面对面为甲方只能开立一个允许非绑定账户入金的Ⅲ类账户。发放贷款和贷款资金归还,应遵守Ⅲ类账户余额限制规定,但贷款资金归还不受出金限额控制。
</p>
<p>
当甲方在乙方所有Ⅲ类账户资金双边收付金额累计达到5万元(含)以上时,应于7日内持有效身份证件至乙方柜台或登录乙方手机银行、个人网银等电子渠道进行身份信息登记,包括留存身份证件复印件、影印件或影像以及个人职业、住所地或者工作单位地址、证件有效期等其他身份基本信息。甲方未能在7日内按要求进行身份信息登记的,乙方将中止该账户所有业务,直到身份信息登记完毕。
</p>
<p>
2.6
乙方为甲方通过非面对面方式开立的Ⅱ、Ⅲ类账户向甲方同名支付账户充值的,充值资金可提回Ⅱ、Ⅲ类账户,但提现金额不得超过该Ⅱ、Ⅲ账类户向支付账户的原充值金额。除充值资金提回外,Ⅱ、Ⅲ类账户不支持由支付账户入金,但允许非绑定账户入金的Ⅱ、Ⅲ类账户除外。
</p>
</div>
<div
class=
"paragraph"
>
<div
class=
"t bold"
>
第三条 账户的使用
</div>
<p>
3.1 甲方应按照适用的法律法规、监管规定及本协议约定使用账户。
</p>
<p>
3.2
甲方通过个人网银、电话银行、手机银行等电子银行渠道使用本协议项下账户或使用本协议项下账户办理相关业务或服务需另行签署协议的,应按照乙方要求另行签署协议后方可办理,办理具体业务或服务使用过程中涉及的结算账户业务规则,以另行签署协议的约定为准。
</p>
<p>
▲▲3.3
乙方应及时、准确地完成甲方按照相关法律法规、监管规定及本协议的约定发出的支付结算指令,但对于错误、不明确、不完整或其他无法执行的支付结算指令,乙方没有义务执行,亦不承担任何责任。前述约定不免除因乙方过错依法应由乙方承担的责任。
</p>
<p>
4、数字校园负责向您提供刷脸服务的咨询,并在数字校园网站公布功能介绍、使用规则等内容。
</p>
<p>
▲▲3.4 甲方在使用账户时应按照法律法规、监管规定要求使用支付结算工具,遵守支付结算纪律,并同意遵守乙方相关业务制度规定及操作惯例。
</p>
<p>
▲▲3.5 甲方应对账户交易的合法性和结算收付资金的合法性负责。
</p>
<p>
▲▲3.6 账户使用及账户服务过程中,甲方应按乙方公布的届时有效的《交通银行服务收费名录》向乙方支付相关费用。甲方授权,乙方有权直接从甲方所涉及账户中扣收相关费用。
</p>
<p>
▲▲3.7
在甲方账户存续期间,乙方修改本协议,调整与账户或账户服务相关的收费事项,包括但不限于调整收费标准、收费项目、收费账户的类别、收费对象、收费时间或收费方式等,调整有关个人结算账户转账限额、账户余额、开立数量等事项的,在不违反法律法规和监管规定的强制性规范的前提下,乙方有权提前在交通银行门户网站、相关渠道或乙方营业网点公告或通过电话、短信等方式通知甲方。甲方不同意变更内容的,有权在公告执行前或在电话、短信载明的时间前办理销户。甲方在公告执行后或电话、短信载明的时间后继续使用账户的,视同接受变更内容。公告期满后或电话、短信载明的时间届满后即对本协议当事人具有约束力。
</p>
<p>
▲▲3.8因不可抗力、第三方过失、系统故障或其他非乙方所能控制的事件致使乙方无法按相关规定或双方约定执行甲方支付结算指令的,乙方不承担责任,但乙方应在知悉相关事件后及时采取相应的措施防止损失扩大。前述约定不免除因乙方过错依法应由乙方承担的责任。
</p>
<p>
▲▲3.9因执行甲方支付结算指令而造成甲方经济损失的,乙方不承担责任。
</p>
<p>
▲▲3.10甲方授权,因乙方操作失误,将不属于甲方的款项误入甲方账户的,经乙方查实确认的,乙方有权从甲方账户扣划该笔款项。
</p>
▲▲3.11 甲方发生包括但不限于下列情形的,乙方有权采取相应措施:
<p>
一)对于经设区的市级及以上公安机关认定并纳入电信网络新型违法犯罪交易风险事件管理平台“涉案账户”名单的甲方账户,乙方有权中止该账户的所有业务。乙方通知甲方重新核实身份的,甲方未在3日内完成身份重新核实的,乙方有权对甲方名下其他全部非涉案账户暂停非柜面业务,直至甲方完成身份核实后恢复。
</p>
<p>
(二)若甲方系经设区的市级及以上公安机关认定为出租、出借、出售、购买银行账户(含银行卡)的个人及相关组织者,或假冒他人身份或者虚构代理关系开立银行账户的个人,乙方有权暂停甲方银行账户非柜面业务5年,并在5年内不为甲方新开立账户。惩戒期满后,甲方办理新开立账户业务时,乙方将加大审核力度。
</p>
<p>
(三)甲方账户自开户之日起6个月内无账务交易记录,乙方有权暂停甲方该账户的非柜面业务,直至甲方向乙方重新核实身份后恢复。
</p>
<p>
(四)甲方留存在乙方的电话号码、手机号码存在多人使用情形,在乙方联系甲方后,甲方无法提供合理性证明的,乙方有权对甲方相关账户暂停非柜面业务。
</p>
<p>
(五)乙方认为甲方账户交易可疑的,将通知甲方进行交易核实。如甲方未按通知规定期限到乙方重新核实交易,或其账户经核实后仍然被认定可疑的,乙方有权对甲方该账户暂停非柜面业务。
</p>
<p>
(六)当甲方在乙方所有Ⅲ类户资金双边收付金额累计达到5万元(含)以上时,乙方通知甲方自通知载明的时间起7日内提供有效身份证件,甲方在7日内未按要求提供有效身份证件、登记身份信息的,乙方有权中止该账户所有业务。
</p>
<p>
(七)若发现甲方身份信息缺失或证件过期,乙方应联系甲方更新身份信息;如自乙方通知之日起90天内,甲方未更新身份信息且未提出合理理由的,乙方可采取包括但不限于限制非柜面业务、中止该账户所有业务等措施。
</p>
<p>
(八)发现甲方冒用身份开户、提供虚假身份信息、存在涉嫌洗钱或协助他人洗钱、恐怖融资、逃税等违法违规活动的,发现甲方及其关联方属于联合国、欧盟或美国等制裁名单,及中国政府部门或有权机关发布的涉恐及反洗钱相关风险名单内的企业或个人,或位于被联合国、欧盟或美国等制裁的国家和地区的,乙方有权采取包括但不限于停止甲方账户的对外支付、降低交易限额、限制交易渠道、限制或停止提供甲方任何账户服务、冻结甲方拥有或控制的资产、销户、终止业务关系等措施。
</p>
<p>
(九)甲方银行账户被用作互联网赌博、色情平台,互联网销售彩票平台,非法外汇、贵金属投资交易平台,非法证券期货类交易平台,代币发行融资及虚拟货币交易平台,未经监管部门批准通过互联网开展资产管理业务以及未取得省级政府批文的大宗商品交易场所收款账户的,乙方有权采取包括但不限于暂停非柜面业务等措施。
</p>
<p>
▲▲3.12
甲方应依法合规开立和使用本人相关账户,审慎与第三方非银行支付机构或商业机构(包括但不限于本行特约商户、银行卡收单机构)等建立关联业务,包括但不限于快捷支付、商业委托支付(自动扣款)等网络支付交易,妥善保管账户账号、密码、短信验证码、手机及其号码、开户资料等个人资料,不要将个人账户取款密码与第三方支付机构关联业务支付密码设置为相同密码,不得出租、出借、出售、购买个人账户或手机SIM卡等账户存取工具和安全认证工具,不得泄露个人账户资料等信息,否则由此产生的风险、损失、惩戒措施和法律责任等后果由甲方承担。
</p>
</div>
<div
class=
"paragraph"
>
<div
class=
"t bold"
>
第四条 账户的变更和撤销
</div>
<p>
▲▲ 4.1
甲方变更姓名、住址或其他开户资料的,应按法律法规、监管规定及乙方要求办理账户变更手续或将变更事项通知乙方并提交相关证明。甲方未按前款规定办理账户变更手续或通知变更事项的,出现乙方无法按规定程序和时间与甲方对账、账户往来的差错无法及时纠正等情形,由此造成的损失由甲方自行承担。
</p>
<p>
4.2 结算账户类型变更。
</p>
<p>
4.2.1若甲方名下未开立Ⅰ类户,甲方可向乙方申请将甲方名下的Ⅱ类户转为Ⅰ类户;若甲方名下未开立Ⅰ类户,甲方可向乙方申请将甲方名下的Ⅲ类户转为Ⅰ类户,或在Ⅱ类户数量未超过账户数量限额时,允许甲方将名下的Ⅲ类户转为Ⅱ类户。
</p>
<p>
4.2.2若甲方名下Ⅱ类户或Ⅲ类户数量未超过账户数量限额,甲方可向乙方申请将甲方名下的Ⅰ类户转为Ⅱ类户或Ⅲ类户;对于甲方名下的Ⅱ类户,若甲方名下Ⅲ类户数量未超过账户数量限额,则允许甲方将其转为Ⅲ类户。
</p>
<p>
4.3甲方存在下列情况之一的,应当及时向乙方提出撤销银行账户申请。
</p>
<p>
(一)银行卡有效期届满,且不再延期使用的。
</p>
<p>
(二)其他原因不再需要使用个人结算账户的。
</p>
<p>
▲▲ 4.4
甲方持有个人结算账户连续一定时间(活期存折为3年,太平洋借记卡为1年)无任何交易,余额为零;且账户未开通任何业务功能时,视同自愿销户,乙方有权予以销户。其中,业务功能内容包括但不限于基金交易账户、太平洋贷记卡自动还款、外汇宝、银信通、自助转账、定制转账等。
</p>
</div>
<div
class=
"paragraph"
>
<div
class=
"t bold"
>
▲▲ 第五条 纠纷处理
</div>
<p>
甲方如对协议条款有任何疑义,或需进行业务咨询和投诉,甲方可通过至乙方营业网点或拨打95559交通银行客户服务热线等方式反馈,由双方共同协商解决。
</p>
</div>
<div
class=
"paragraph"
>
<div
class=
"t bold"
>
▲▲第六条 甲方的陈述、保证及承诺
</div>
<p>
6.1 甲方具有开立个人人民币结算账户的资格,具备所有必要的权利能力和行为能力,能以自身名义履行本协议的义务并承担民事责任。
</p>
<p>
6.2 签署和履行本协议是甲方真实的意思表示,不存在任何法律上的瑕疵。
</p>
<p>
6.3 甲方在申请开立、变更和撤销账户时以及在履行本协议过程中向乙方提交的所有文件、资料及在各申请书中填写的信息都是真实、准确、完整和有效的。
</p>
<p>
6.4
甲方遵守法律法规,合法使用在乙方开立的个人结算账户,不得透支使用其在本协议项下开立的Ⅰ类账户、Ⅱ类账户和Ⅲ类账户,不得利用乙方服务从事洗钱、恐怖融资、逃税等违法违规活动或为他人从事洗钱等违法违规行为给予帮助。
</p>
<p>
6.5
甲方知悉根据相关法律法规规定,出租、出借、出售、购买银行账户将给予警告并处罚款,构成犯罪的将被追究刑事责任;非法持有他人银行账户,冒用他人居民身份证或者使用骗领的居民身份证,购买、出售、使用伪造、变造的居民身份证,构成犯罪的将被追究刑事责任。
</p>
<p>
甲方充分了解并清楚知晓出租、出借、出售、购买银行账户的相关法律责任和惩戒措施,承诺依法依规开立和使用本人银行账户。
</p>
<p>
6.6
甲方确认根据《非居民金融账户涉税信息尽职调查管理办法》等法律法规以及中国与境外国家签订的信息交换政府间协议,将如实申报其是否为非居民,并在符合上述条件的情况下提供税收居民身份信息。如上述税收居民身份发生变更,甲方将在30日内通知乙方。
</p>
<p>
6.7
甲方理解并同意,乙方为了保证甲方资金安全可根据监管机构的规定或风险管控需要,对甲方的异常开户申请或其账户发生的异常交易有权采用交易密码、动态验证码、生物识别技术、人工核实等身份鉴别手段,对甲方身份进行核实,并有权暂停甲方账户支付或临时关闭甲方非柜台渠道交易功能,或对甲方相关账户消费、转账、支付等渠道交易额度进行调整。
</p>
<p>
6.8 甲方理解并同意,乙方为保证甲方开户真实性,于开户时留存甲方有效身份证件电子影像、复印件、影印件及本人照片等身份认证信息。
</p>
</div>
<div
class=
"paragraph bold"
>
<div
class=
"t bold"
>
▲▲第七条 违约
</div>
<p
class=
"bold"
>
甲方出现下列违约情形之一时,乙方有权停止账户的对外支付、停止为甲方提供任何账户服务、或者撤销甲方账户并终止本协议,并有权采取法律、法规规定的其他救济措施:
</p>
<p
class=
"bold"
>
(一)伪造、变造证明文件欺骗乙方开立账户。
</p>
<p
class=
"bold"
>
(二)使用虚假证明文件骗取乙方办理支付结算。
</p>
<p
class=
"bold"
>
(三)违反本协议约定未及时撤销账户。
</p>
<p
class=
"bold"
>
(四)出租、出借账户。
</p>
<p
class=
"bold"
>
(五)变更姓名、住址以及其他开户资料记载事项后未在规定期限内通知乙方。
</p>
<p
class=
"bold"
>
(六)利用开立个人结算账户逃废银行债务。
</p>
<p
class=
"bold"
>
(七)在本协议第六条项下所做陈述、保证及承诺不真实。
</p>
<p
class=
"bold"
>
(八)账户或业务涉及制裁名单。
</p>
<p
class=
"bold"
>
(九)被乙方认定账户或行为可疑。
</p>
<p
class=
"bold"
>
(十)甲方违反协议其他约定。
</p>
</div>
<div
class=
"paragraph"
>
<div
class=
"t bold"
>
▲▲第八条 通知
</div>
<p>
8.1甲方保证向乙方提供的联系方式(包括地址、联系电话、传真号码、电子邮件等)均真实有效。任一联系方式发生变更,甲方应立即至甲方营业网点或根据甲方系统提示进行变更。该等信息变更在变更成功后生效。
</p>
<p>
8.2除本协议另有明确约定外,乙方对甲方的任何通知,乙方有权通过以下任一方式进行。乙方有权选择其认为合适的通知方式,且无需对邮递、传真、电话、电传或任何其他通讯系统所出现的传送失误、缺漏或延迟承担责任。乙方同时选择多种通知方式的,以其中较快到达甲方者为准。就同一事项,乙方对甲方发出一份以上通知且通知内容不同的,除非在通知中另有明确说明,以通知发出时间在后的为准。
</p>
<p>
(1)公告,以乙方在其网站、网上银行、电话银行或营业网点发布公告之日视为送达日;
</p>
<p>
(2)专人送达,以甲方签收之日视为送达日;
</p>
<p>
(3)邮递(包括特快专递、平信邮寄、挂号邮寄)送达于乙方最近所知的甲方通讯地址,以邮寄之日后的第3日(同城)/第5日(异地)视为送达日;
</p>
<p>
(4)传真、移动电话短信或其他电子通讯方式送达于乙方最近所知的甲方传真号码、甲方指定的移动电话号码或电子邮件地址,以发送之日视为送达日。前述送达指相关信息进入服务商的服务器终端而不以相关信息实际在客户终端显示为标准。
</p>
<p>
8.3甲方同意,除非乙方收到甲方关于变更通讯地址的书面通知,甲方在本协议填写的通讯地址是法院向甲方送达司法文书及其他书面文件的地址。上述送达地址适用的范围包括但不限于民事诉讼一审、二审、再审和执行程序等。如甲方应诉并直接向法院提交送达地址确认书,该确认地址与乙方最近所知的通讯地址不一致的,法院有权以送达地址确认书上的地址为准进行送达。
</p>
<p>
本协议争议解决过程中,法院可通过以下任一方式将判决书、裁定书、调解书送达于甲方:
</p>
<p>
(1)邮递送达(包括特快专递、平信邮寄、挂号邮寄),以甲方在送达回证上的签收日为送达之日;
</p>
<p>
(2)专人送达,以甲方在送达回证上签收之日视为送达之日。
</p>
<p>
法院采用邮递送达(包括特快专递、平信邮寄、挂号邮寄)方式的,如甲方未在送达回证上签收或甲方所填写的通讯地址不准确或通讯地址实际发生变更但乙方未收到甲方关于变更通讯地址的书面通知导致判决书、裁定书、调解书被退回的,以文书被退回之日视为送达之日。
</p>
<p>
法院采用专人送达方式的,如甲方未在送达回证上签收,以送达人当场在送达回证上记明情况之日为送达之日。
</p>
<p>
除判决书、裁定书、调解书外,法院对甲方的任何通知,法院有权通过第8.2条约定的任一通讯方式进行。法院有权选择其认为合适的通讯方式,且无需对邮递、传真、电话、电传或任何其他通讯系统所出现的传送失误、缺漏或延迟承担责任。法院同时选择多种通讯方式的,以其中较快到达甲方者为准。
</p>
<p>
8.4本条约定属于协议中独立存在的解决争议条款,本协议无效、被撤销或者终止的,不影响本条款的效力。
</p>
</div>
<div
class=
"paragraph"
>
<div
class=
"t bold"
>
▲▲第九条 信息披露与保密
</div>
<p
class=
""
>
9.1 乙方应依法为甲方在乙方开立的个人结算账户的存款和有关资料保密。除法律、法规和规章另有规定以及本协议另有约定外,乙方有权拒绝任何单位或个人查询。
</p>
<p
class=
""
>
9.2
除上述甲方在乙方开立的个人结算账户的存款和有关资料外,乙方对于在本协议签订和履行过程中获取和知悉的甲方的未公开信息和资料的使用不得违反法律法规和监管要求,并应依法承担保密责任,不向第三方披露该等信息和资料,但下列情形除外:
</p>
<p>
(一)适用法律法规要求披露的;
</p>
<p>
(二)司法部门或监管机构依法要求披露的;
</p>
<p>
(三)乙方为履行本协议义务及行使本协议权利需向乙方的外部专业顾问披露和允许乙方的外部专业顾问在保密的基础上使用的;
</p>
<p
class=
""
>
(四)甲方另行明确同意或授权乙方进行披露的。
</p>
</div>
<div
class=
"paragraph"
>
<div
class=
"t bold"
>
▲▲第十条 法律适用与争议解决
</div>
<p>
本协议适用中华人民共和国法律(为本协议目的,不包括香港、澳门和台湾地区的法律)。本协议项下争议由双方共同协商解决,通过协商不能解决争议的,任何一方可向乙方所在地有管辖权的法院起诉,协议另有约定除外。争议解决期间,双方仍应继续履行未涉争议的条款。
</p>
</div>
<div
class=
"paragraph"
>
<div
class=
"t bold"
>
第十一条 其他条款
</div>
<p>
11.1本协议自甲方在乙方开立个人结算账户之日起生效,至甲方在本协议项下开立的个人结算账户正式销户之日起终止。
</p>
<p>
11.2甲方开立的个人结算账户项下的存款受存款保险机制保障。
</p>
<p>
甲方:
乙方:_________
</p>
<p>
交通银行股份有限公司__________分行(指甲方开立个人人民币结算账户的具体银行营业机构所属分行)
</p>
<view
class=
"bold"
style=
"width: 98%;margin: 0 auto;font-size: 30rpx;border: 1rpx solid;"
>
甲方已通读协议全部条款,乙方已应甲方的要求作了详细说明,甲方签署本协议时对所有内容无疑问和异议,理解协议条款尤其是带▲▲标记条款的含义及其法律后果。
</view>
</div>
</view>
<!-- -->
<view
v-if=
"type==2"
>
<div
class=
"title"
>
买卖账户法律责任及惩戒措施相关条款
</div>
<view>
“本人充分了解并清楚知晓出租、出借、出售、购买账户的相关法律责任和惩戒措施,承诺依法依规开立和使用本人账户。”
</view>
<div
class=
"paragraph"
>
<div
class=
"t bold"
>
详细说明:
</div>
<p>
自2019年4月1日起,经设区的市级及以上公安机关认定的出租、出借、出售、购买银行账户(含银行卡)的单位和个人及相关组织者,假冒他人身份或者虚构代理关系开立银行账户的单位和个人,5年内暂停其银行账户非柜面业务,不得新开账户,并将承担相关法律责任。人民银行将上述单位和个人信息移送金融信用信息基础数据库并向社会公布。
</p>
</div>
</view>
<view
v-if=
"type==3"
>
<div
class=
"title"
>
涉税声明
</div>
<view>
本人承诺仅为中国税收居民,不是美国个人也不是其他国家(地区)税收居民。
</view>
<div
class=
"paragraph"
>
<div
class=
"t bold"
>
详细说明:
</div>
<p>
1.中国税收居民是指在中国境内有住所,或者无住所而在一个纳税年度内在中国境内居住累计满183天的个人。在中国境内有住所是指因户籍、家庭、经济利益关系而在中国境内习惯性居住。
</p>
<p>
2.非居民是指中国税收居民以外的个人。其他国家(地区)税收居民身份认定规则及纳税人识别号相关信息请参见国家税务总局网站。
<a
href=
"http://www.chinatax.gov.cn/aeoi_index.html"
target=
"_Self"
>
http://www.chinatax.gov.cn/aeoi_index.html
</a>
</p>
<p>
3.美国个人是指具有美国国籍,持有美国绿卡或者在美国长期停留的个人。在美国长期停留是指:当年在美国停留31天以上,并在3年内累计超过183天。累计方式是当年每一天算一天,去年每一天算1/3天,前一年每一天算1/6天。
</p>
</div>
</view>
</view>
</
template
>
<
script
>
export
default
{
name
:
"
OpenAccountAgreement
"
,
data
()
{
return
{
type
:
'
1
'
}
},
onLoad
:
function
(
options
)
{
// AppID
this
.
type
=
options
.
type
||
'
1
'
},
methods
:
{
async
ToOtherPage
(
name
)
{
uni
.
navigateTo
({
url
:
`../
${
name
}
/main`
})
}
}
}
</
script
>
<
style
scoped
>
.container
{
padding
:
20
rpx
;
}
.title
{
text-align
:
center
;
font-weight
:
bold
;
font-size
:
18px
;
padding
:
20
rpx
0
;
}
.paragraph
{
margin-top
:
20
rpx
;
font-size
:
14px
;
}
.paragraph
.t
{
font-size
:
16px
;
}
.bold
{
font-weight
:
bold
;
}
</
style
>
src/pages/recharging/recharging.vue
0 → 100644
View file @
aba543d0
<
template
>
<view>
<view
class=
"logs-box"
>
<view
class=
"item pass"
>
<view
class=
"item-a"
>
<view
class=
"title"
>
充值申请已提交
</view>
<view
class=
"price"
>
¥
{{
money
}}
</view>
<view
class=
"name"
>
来自
{{
bankName
}}
(
{{
bankNumber
}}
)
</view>
</view>
</view>
<view
class=
"item "
>
<view
class=
"item-a"
>
<image
:src=
"ImgUrl+'xzf/icon-05.png'"
class=
"bank-waitImg"
></image></image>
<view
class=
"title"
>
银行处理中
</view>
</view>
</view>
<view
class=
"item"
>
<view
class=
"item-a"
>
<view
class=
"title"
>
预计
{{
time
}}
前到账
</view>
<view
class=
"name"
>
如信息有误,资金将原路返回
</view>
</view>
</view>
</view>
<view
class=
"btn"
@
click=
"toback"
>
我知道了
</view>
</view>
</
template
>
<
script
>
export
default
{
name
:
"
recharging
"
,
data
()
{
return
{
ImgUrl
:
this
.
$ImgUrl
,
bankName
:
''
,
bankNumber
:
''
,
time
:
''
,
money
:
''
}
},
onLoad
(
options
){
this
.
bankName
=
options
.
bankName
;
//银行名称
this
.
bankNumber
=
options
.
bankNumber
;
//银行卡号
this
.
time
=
options
.
time
;
//预计到账时间
this
.
money
=
options
.
money
;
//到账金额
},
methods
:
{
toback
(){
wx
.
navigateBack
()
}
}
}
</
script
>
<
style
scoped
>
.logs-box
{
margin
:
85
upx
;
}
.item
{
padding
:
0
70
upx
70
upx
;
border-left
:
3
upx
solid
#DADADA
;
position
:
relative
;
min-height
:
139
upx
;
}
.item
:last-child
{
border
:
none
;
}
.item-a
{
position
:
relative
;
top
:
-20
upx
;
}
.bank-waitImg
{
position
:
absolute
;
left
:
-116
upx
;
top
:
-15
upx
;
width
:
92
upx
;
height
:
92
upx
;
z-index
:
2
;
}
.item
::after
{
content
:
""
;
position
:
absolute
;
left
:
-16
upx
;
top
:
-2
upx
;
width
:
30
upx
;
height
:
30
upx
;
border-radius
:
50%
;
background
:
#DADADA
;
}
.item.pass
{
border-color
:
#15B780
;
}
.item.pass
::after
{
background
:
#15B780
;
}
.title
{
font-size
:
32
upx
;
font-weight
:
500
;
color
:
#282828
;
}
.price
{
font-size
:
28
upx
;
font-weight
:
500
;
color
:
#999999
;
}
.name
{
font-size
:
28
upx
;
font-weight
:
500
;
color
:
#999999
;
}
.btn
{
width
:
522
upx
;
height
:
90
upx
;
line-height
:
90
upx
;
text-align
:
center
;
font-size
:
32
upx
;
font-weight
:
500
;
color
:
#15B780
;
margin
:
100
upx
auto
0
;
border
:
2
upx
solid
#15B780
;
border-radius
:
8
upx
;
}
</
style
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment