Commit f07190b8 authored by 李智书's avatar 李智书

Merge branch 'develop'

parents 22581a45 9b20edec
const baseUrl = 'https://szcf.superbest.wang/API' //稳定版本环境
let baseUrl = window.location.origin //稳定版本环境
let UrlReg = /^http:\/\/.*/i
let UrlReg2 = /^https:\/\/.*/i
if (process.env.NODE_ENV === 'development') {
console.log('开发环境');
// baseUrl = 'https://dev-az-order-api.xiaopay.net/insure-order';
} else {
// baseUrl = 'https://dev-az-order-api.xiaopay.net/insure-orders';
}
function uploadFile(params) {
var _this = this,
......@@ -52,7 +57,8 @@ function downloadFile(params) {
function request(params, data) {
return new Promise((resolve, reject) => {
uni.request({
url: (UrlReg.test(params.url) || UrlReg2.test(params.url)) ? params.url : baseUrl + params.url,
url: (UrlReg.test(params.url) || UrlReg2.test(params.url)) ? params.url : baseUrl + params
.url,
method: params.method,
dataType: params.dataType,
data,
......@@ -63,7 +69,9 @@ function request(params, data) {
resolve(res)
},
fail: function(fail) {
reject(fail)
reject({
message: fail.errMsg
})
}
});
})
......@@ -81,25 +89,31 @@ function request(params, data) {
function postRequest(params, data = {}) {
return new Promise((resolve, reject) => {
uni.showLoading({
title: params.Ltitle ? params.Ltitle : "加载中..."
title: params.Ltitle ? params.Ltitle : "加载中...",
mask: true
});
try {
//登录错误提示
let duration;
if(params.url == '/user/login/pwd'){
if (params.url == '/user/login/pwd') {
duration = 20000
}else{
} else {
duration = 3000
}
//token
let token = uni.getStorageSync("token")
//用户id
let userId = uni.getStorageSync("userId")
data.userId = data.userId || userId;
let personalInfo = uni.getStorageSync("personalInfo");
params.header = {
"token": token || ""
// seesionID: personalInfo.seesionID || '',
// sessionid: personalInfo.seesionID || '',
// token: personalInfo.seesionID || '',
// wechattype: 1
};
data = Object.assign({
seesionID: personalInfo.seesionID || '',
sessionid: personalInfo.seesionID || '',
token: personalInfo.seesionID || '',
wechattype: 1
}, data)
params.method = "POST";
params.dataType = "JSON"
if (!params.url) {
......@@ -118,38 +132,11 @@ function postRequest(params, data = {}) {
reslt.data = reslt.data
//TODO handle the exception
}
if (reslt.data.code != 200) {
//token失效或者错误 ----401
//账号已在其他地方登录! -----1006
if (reslt.data.code == 401 || reslt.data.code == 1006) {
uni.showToast({
icon: "none",
title: reslt.data.message,
duration
})
uni.hideLoading();
//401跳转登录
uni.redirectTo({
// url: "/pages/notecheck/notecheck?phone=13428967050",
// url: "/pages/notecheck/notecheck",
url: "/pages/login/login"
})
reject(reslt.data.message)
}
uni.showToast({
icon: "none",
title: reslt.data.message,
duration
})
uni.hideLoading();
reject(reslt.data.message)
}
console.log(reslt);
uni.hideLoading();
resolve(reslt.data)
}).catch(e => {
reject(e.message)
uni.hideLoading();
reject(e)
})
} catch (e) {
console.log(e);
......@@ -171,24 +158,31 @@ function postRequest(params, data = {}) {
function getRequest(params, data) {
return new Promise((resolve, reject) => {
uni.showLoading({
title: params.Ltitle ? params.Ltitle : "加载中..."
title: params.Ltitle ? params.Ltitle : "加载中...",
mask: true
});
try {
//token
let token = uni.getStorageSync("token")
//用户id
let userId = uni.getStorageSync("userId")
data.userId = data.userId || userId;
let personalInfo = uni.getStorageSync("personalInfo");
params.header = {
"token": token || ""
// seesionID: personalInfo.seesionID || '',
// sessionid: personalInfo.seesionID || '',
// token: personalInfo.seesionID || '',
// wechattype: 1
};
data = Object.assign({
seesionID: personalInfo.seesionID || '',
sessionid: personalInfo.seesionID || '',
token: personalInfo.seesionID || '',
wechattype: 1
}, data)
params.method = "GET";
params.dataType = "JSON"
if (!params.url) {
uni.showToast({
icon: "none",
title: "url不能为空",
duration:3000
duration: 3000
})
uni.hideLoading();
reject("url不能为空")
......@@ -200,35 +194,10 @@ function getRequest(params, data) {
reslt.data = reslt.data
//TODO handle the exception
}
if (reslt.data.code != 200) {
//token失效或者错误
if (reslt.data.code == 401) {
uni.showToast({
icon: "none",
title: reslt.data.message,
duration:3000
})
uni.hideLoading();
//401跳转登录
uni.redirectTo({
// url: "/pages/notecheck/notecheck?phone=13428967050",
// url: "/pages/notecheck/notecheck",
url: "/pages/login/login"
})
reject(reslt.data.message)
}
uni.showToast({
icon: "none",
title: reslt.data.message,
duration:3000
})
uni.hideLoading();
reject(reslt.data.message)
}
console.log(reslt);
uni.hideLoading();
resolve(reslt.data)
}).catch(e => {
uni.hideLoading();
reject(e.message)
})
} catch (e) {
......@@ -252,7 +221,8 @@ function getRequest(params, data) {
async function Login(params, data) {
try {
await uni.showLoading({
title: params.Ltitle ? params.Ltitle : "加载中..."
title: params.Ltitle ? params.Ltitle : "加载中...",
mask: true
});
params.method = "POST";
params.dataType = "JSON"
......@@ -260,7 +230,7 @@ async function Login(params, data) {
await uni.showToast({
icon: "none",
title: "url不能为空",
duration:3000
duration: 3000
})
await uni.hideLoading();
throw Error("url不能为空")
......@@ -278,16 +248,16 @@ async function Login(params, data) {
await uni.showToast({
icon: "none",
title: JSON.stringify(err),
duration:3000
duration: 3000
})
await uni.hideLoading();
throw Error(JSON.stringify(err))
}
if (reslt.data.code != 200) {
if (reslt.data.code != 1000) {
await uni.showToast({
icon: "none",
title: reslt.data.message,
duration:3000
duration: 3000
})
await uni.hideLoading();
throw Error(reslt.data.message)
......@@ -310,7 +280,7 @@ async function Login(params, data) {
await uni.showToast({
icon: "none",
title: JSON.stringify(LoginErr),
duration:3000
duration: 3000
})
await uni.hideLoading();
throw Error(JSON.stringify(LoginErr))
......@@ -319,7 +289,7 @@ async function Login(params, data) {
await uni.showToast({
icon: "none",
title: LoginInfo.data.message,
duration:3000
duration: 3000
})
await uni.hideLoading();
throw Error(LoginInfo.data.message)
......
......@@ -24,6 +24,52 @@ Vue.prototype.$ImgUrl = 'https://xiaopay2020.oss-cn-shenzhen.aliyuncs.com/static
import Vant from 'vant';
Vue.use(Vant);
let ua = navigator.userAgent.toLocaleString();
if (ua.match("/MicroMessenger/i") == "micromessenger") {
console.log("微信浏览器环境");
Vue.prototype.env = "wx"
} else {
console.log("普通览器环境");
Vue.prototype.env = "h5"
}
// JSSDK授权
async function JssdkAuth() {
try {
let [err, res] = await uni.request({
url: "https://pay.xiaopay.net/mp_wechat/svmpwechat/GetWechatJSSDKConfig",
method: "POST",
data: {
"mp_session_id": uni.getStorageSync("personalInfo").seesionID,
"url": encodeURIComponent(window.location.href.split("#")[0]),
}
})
console.log(err, res);
} catch (e) {
//TODO handle the exception
//TODO handle the exception
console.log(e);
uni.showToast({
icon: "none",
mask: true,
title: e.message
})
}
}
// WeixinJSBridge内置对象在其他浏览器中无效。
setTimeout(function() {
if (typeof WeixinJSBridge == "undefined") {
if (document.addEventListener) {
Vue.prototype.JSBridge = false
} else if (document.attachEvent) {
Vue.prototype.JSBridge = false
}
} else {
Vue.prototype.JSBridge = true
}
}, 1000)
// echarts图标
var echarts = require('echarts')
......
{
"name" : "xzf_uniapp-wechat-web",
"appid" : "__UNI__6500A3F",
"description" : "",
"versionName" : "1.0.0",
"versionCode" : "100",
"transformPx" : false,
/* 5+App特有相关 */
"app-plus" : {
"usingComponents" : true,
"nvueStyleCompiler" : "uni-app",
"compilerVersion" : 3,
"splashscreen" : {
"alwaysShowBeforeRender" : true,
"waiting" : true,
"autoclose" : true,
"delay" : 0
},
/* 模块配置 */
"modules" : {},
/* 应用发布信息 */
"distribute" : {
/* android打包配置 */
"android" : {
"permissions" : [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
]
},
/* ios打包配置 */
"ios" : {},
/* SDK配置 */
"sdkConfigs" : {}
},
"uniStatistics" : {
"enable" : true
}
},
/* 快应用特有相关 */
"quickapp" : {},
/* 小程序特有相关 */
"mp-weixin" : {
"appid" : "",
"setting" : {
"urlCheck" : false
},
"usingComponents" : true,
"uniStatistics" : {
"enable" : true
}
},
"mp-alipay" : {
"usingComponents" : true,
"uniStatistics" : {
"enable" : true
}
},
"mp-baidu" : {
"usingComponents" : true,
"uniStatistics" : {
"enable" : true
}
},
"mp-toutiao" : {
"usingComponents" : true,
"uniStatistics" : {
"enable" : true
}
},
"uniStatistics" : {
"enable" : true
},
"h5" : {
"devServer" : {
"port" : 80,
"disableHostCheck" : true,
"proxy" : {
"/api" : {
"target" : "https://uat.xiaopay.net",
"changeOrigin" : true,
"secure" : false,
"pathRewrite" : {
"^/api" : "/"
}
}
}
},
"router" : {
"mode" : "hash",
"base" : "./"
},
"title" : "电子校园卡",
"optimization" : {
"treeShaking" : {
"enable" : false
}
},
"uniStatistics" : {
"enable" : true
},
"template" : "template.h5.html"
},
"mp-qq" : {
"uniStatistics" : {
"enable" : true
}
}
"name": "xzf_uniapp-wechat-web",
"appid": "__UNI__6500A3F",
"description": "",
"versionName": "1.0.0",
"versionCode": "100",
"transformPx": false,
/* 5+App特有相关 */
"app-plus": {
"usingComponents": true,
"nvueStyleCompiler": "uni-app",
"compilerVersion": 3,
"splashscreen": {
"alwaysShowBeforeRender": true,
"waiting": true,
"autoclose": true,
"delay": 0
},
/* 模块配置 */
"modules": {},
/* 应用发布信息 */
"distribute": {
/* android打包配置 */
"android": {
"permissions": [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
]
},
/* ios打包配置 */
"ios": {},
/* SDK配置 */
"sdkConfigs": {}
},
"uniStatistics": {
"enable": true
}
},
/* 快应用特有相关 */
"quickapp": {},
/* 小程序特有相关 */
"mp-weixin": {
"appid": "",
"setting": {
"urlCheck": false
},
"usingComponents": true,
"uniStatistics": {
"enable": true
}
},
"mp-alipay": {
"usingComponents": true,
"uniStatistics": {
"enable": true
}
},
"mp-baidu": {
"usingComponents": true,
"uniStatistics": {
"enable": true
}
},
"mp-toutiao": {
"usingComponents": true,
"uniStatistics": {
"enable": true
}
},
"uniStatistics": {
"enable": true
},
"h5": {
"devServer": {
"port": 80,
"disableHostCheck": true,
"proxy": {
"/": {
"target": "https://dev-az-order-api.xiaopay.net",
"changeOrigin": true,
"secure": false
}
}
},
"router": {
"mode": "hash",
"base": "./"
},
"title": "电子校园卡",
"optimization": {
"treeShaking": {
"enable": false
}
},
"uniStatistics": {
"enable": true
},
"template": "template.h5.html"
},
"mp-qq": {
"uniStatistics": {
"enable": true
}
}
}
......@@ -6,7 +6,7 @@
"navigationBarTitleText": "校智付电子校园卡",
"navigationStyle": "custom",
"usingComponents": {
},
"h5": {
"titleNView": "transparent"
......@@ -29,7 +29,7 @@
"navigationStyle": "custom"
}
},
},
{
"path": "pages/wxWorkAuth/wxWorkAuth",
"style": {
......@@ -137,7 +137,7 @@
"enablePullDownRefresh": false
}
}, {
}, {
"path": "pages/StudentsGraduate/StudentsGraduate",
"style": {
"navigationStyle": "custom",
......@@ -292,38 +292,58 @@
"enablePullDownRefresh": false
}
}
,{
"path" : "pages/pdfPreview/pdfPreview",
"style" :
{
}, {
"path": "pages/pdfPreview/pdfPreview",
"style": {
"navigationStyle": "custom",
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
}, {
"path": "pages/OpenAccountAgreementBOC/OpenAccountAgreementBOC",
"style": {
"navigationStyle": "custom",
"navigationBarTitleText": "渤海银行线上个人银行Ⅱ、Ⅲ类账户服务协议",
"enablePullDownRefresh": false
}
}, {
"path": "pages/UserAgreement/UserAgreement",
"style": {
"navigationStyle": "custom",
"navigationBarTitleText": "消费用户协议",
"enablePullDownRefresh": false
}
}, {
"path": "pages/StudentPayment/StudentPayment",
"style": {
"navigationStyle": "custom",
"navigationBarTitleText": "日常收费",
"enablePullDownRefresh": false
}
}, {
"path": "pages/StudentPayment/PayProject/PayProject",
"style": {
"navigationStyle": "custom",
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
}
,{
"path" : "pages/OpenAccountAgreementBOC/OpenAccountAgreementBOC",
"style" :
{
"navigationBarTitleText": "日常收费",
"enablePullDownRefresh": false
}
}, {
"path": "pages/StudentPayment/PayOrderDetails/PayOrderDetails",
"style": {
"navigationStyle": "custom",
"navigationBarTitleText": "渤海银行线上个人银行Ⅱ、Ⅲ类账户服务协议",
"enablePullDownRefresh": false
}
}
,{
"path" : "pages/UserAgreement/UserAgreement",
"style" :
{
"navigationStyle": "custom",
"navigationBarTitleText": "消费用户协议",
"enablePullDownRefresh": false
}
}
],
"navigationBarTitleText": "交费订单明细",
"navigationBarTextStyle":"white",
"navigationBarBackgroundColor":"#01CB88",
"enablePullDownRefresh": false
}
}
],
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "校智付",
......
<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+'']}})</span>
</view>
<view class="cardNumright" id="cardNumright" @click="CopyCardNumber">复制</view>
</view>
<view class="HidenText">
<view class="userName" style="text-overflow: ellipsis;overflow: hidden; white-space: nowrap;">
姓名:<span>{{PersonalInfo.name}}</span></view>
<view class="StudentCls" style="text-overflow: ellipsis;overflow: hidden; white-space: nowrap;"
v-if="PersonalInfo.usertype=='1'">
班级:{{PersonalInfo.gradename}}({{PersonalInfo.classname}})</view>
<view class='TeacherCls' style="text-overflow: ellipsis;overflow: hidden; white-space: nowrap;"
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">
<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 + ""] }})</span>
</view>
<view class="cardNumright" id="cardNumright" @click="CopyCardNumber"
>复制</view
>
</view>
<view class="HidenText">
<view
class="userName"
style="
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
"
>
姓名:<span>{{ PersonalInfo.name }}</span></view
>
<view
class="StudentCls"
style="
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
"
v-if="PersonalInfo.usertype == '1'"
>
班级:{{ PersonalInfo.gradename }}({{
PersonalInfo.classname
}})</view
>
<view
class="TeacherCls"
style="
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
"
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">{{RechargeMax}}</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
</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">{{ RechargeMax }}</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 slot="right-icon" v-if="bankInfo_.accountType==4">
<view class="changPhone" style="display: flex;justify-content: center;"
@click="changePhone">变更手机号
<van-icon name="arrow" />
</view>
</view>
</van-field>
<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">
<div style="font-size:28rpx;">{{CodeMsg}}</div>
</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>
</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 ~ {{ RechargeMax }}</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 slot="right-icon" v-if="bankInfo_.accountType == 4">
<view
class="changPhone"
style="display: flex; justify-content: center"
@click="changePhone"
>变更手机号
<van-icon name="arrow" />
</view>
</view>
</van-field>
<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"
>
<div style="font-size: 28rpx">{{ CodeMsg }}</div>
</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: [{
lable: '',
value: 100
}, {
lable: '',
value: 200
}, {
lable: '',
value: 500
}, {
lable: '',
value: 1000
}, {
lable: '其他金额',
value: ''
}],
numberList: [],
tempFiles1: '../../static/img/idCardBg1.png', //上传身份证临时选择文件
tempFiles2: '../../static/img/idCardBg0.png',
//绑定的一类卡列表
bindcardList: [],
// 20211126 银行账户类型
accountType: '2',
// 银行账户类型名称枚举
accountEnum: {
'1': "平安银行III类户",
'2': "工商银行III类户",
'3': "交通银行III类户",
'4': "渤海银行II类户",
},
/**
* 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: "请稍后...."
});
if (bankInfo.accountType == 4) {
jWeixin.miniProgram.navigateTo({
url: `/pages_subpack/pages/changeBindCard/main`,
});
uni.hideLoading()
return
}
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.openCardPhonSms = '';
}
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
});
// 20211230
let exchangeUrl = gHost;
switch (bankInfo.accountType) {
case 3:
exchangeUrl = exchangeUrl + '/bank-wechat/bocom/exchange/rechargeSms';
break;
case 4:
exchangeUrl = exchangeUrl + '/bank-wechat/bohai/comprehensive/otpSms';
break;
default:
Dialog({
title: '系统提示',
message: '银行账号类型错误!'
});
throw ("银行账号类型错误!")
break;
}
$.ajax({
url: exchangeUrl,
type: "POST",
contentType: "application/x-www-form-urlencoded",
data: {
amount: ((this.Money || this.inputOtherM) * 1).toFixed(2), //充值金额,单位元
schoolId: bankInfo.schoolId, //学校id
userId: userID, //用户id
sessionid: sessionID,
wechattype: 1,
// 20211230渤海
mobilePhone: this.openCardPhon,
msg: "充值"
},
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 (bankInfo.accountType != 4) {
if (!this.RechargeSmsorderNoInfo.orderNo) {
Dialog({
title: '系统提示',
message: '请获取验证码!'
});
return
}
}
if (!this.openCardPhonSms) {
Dialog({
title: '系统提示',
message: '请收入验证码!'
});
return
}
uni.showLoading({
mask: true,
title: "处理中......"
})
// 20211230
let exchangeUrl = gHost;
switch (bankInfo.accountType) {
case 3:
exchangeUrl = exchangeUrl + '/bank-wechat/bocom/exchange/recharge';
break;
case 4:
exchangeUrl = exchangeUrl + '/bank-wechat/bohai/exchange/recharge';
break;
default:
Dialog({
title: '系统提示',
message: '银行账号类型错误!'
});
throw ("银行账号类型错误!")
break;
}
$.ajax({
url: exchangeUrl,
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,
// 21211230渤海银行
transAmount: (amount * 1).toFixed(2),
verifyNo: this.openCardPhonSms
},
headers: {
'sessionid': sessionID,
},
success: function(res5) {
uni.hideLoading()
if (res5.code == "10000") {
this_.close();
setTimeout(() => {
this_.queryBankInfo();
}, 3000);
let thiTime = new Date();
let str = '';
let accountNo = this_.bankInfo_.bindCardNo
accountNo = accountNo.slice(accountNo.length - 4,
accountNo
.length);
let minutes_ = (thiTime.getMinutes().toString().length) < 2 ? (thiTime
.getMinutes().toString().padStart(2, "0")) : (thiTime.getMinutes()
.toString())
switch (bankInfo.accountType) {
case 3:
if (thiTime.getMinutes() + 20 >= 60) {
str = thiTime.getHours() + 1 + ':' + (60 -
thiTime
.getMinutes())
} else {
str = thiTime.getHours() + ':' + (thiTime
.getMinutes() + 20)
}
wx.showModal({
title: '充值申请已提交',
content: '银行处理需要1-20分钟时间,充值结果以余额查询为准。',
showCancel: false,
success: function() {
uni.navigateTo({
url: `../../recharging/recharging?bankName=${this_.bankInfo_.bindCardName}&bankNumber=${accountNo}&time=${str}&money=${(amount * 1).toFixed(2)}`
})
}
})
break;
case 4:
str = (thiTime.getHours() + 2) + ':' + minutes_
uni.navigateTo({
url: `../../recharging/recharging?bankName=${this_.bankInfo_.bindCardName}&bankNumber=${accountNo}&time=${str}&money=${(amount * 1).toFixed(2)}`
})
break;
default:
break;
}
// 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');
}
})
},
// 更换手机号码
changePhone() {
uni.showLoading({
mask: true,
title: "请稍后...."
});
jWeixin.miniProgram.navigateTo({
url: `/pages_subpack/pages/changePhone/main`,
});
uni.hideLoading()
},
//返回小程序 跳转指定页面
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 queryBankInfoUrl = gHost;
// 20211230
switch (bankInfo.accountType) {
case 3:
queryBankInfoUrl = queryBankInfoUrl + '/bank-wechat/bocom/balance/getBankBlanceAndSyncLocal';
break;
case 4:
queryBankInfoUrl = queryBankInfoUrl + '/bank-wechat/bohai/exchange/balanceQuery';
break;
default:
Dialog({
title: '系统提示',
message: '银行账号类型错误!'
});
throw ("银行账号类型错误!")
break;
}
// let loading = weui.loading('请稍后');
$.ajax({
url: queryBankInfoUrl,
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 (bankInfo.accountType == 4) {
if (res3.results.eacTotalAmt == null) {
weui.topTips("账户信息为空,余额查询失败");
} else {
this_.cardBalanceTx = (res3.results.eacTotalAmt * 1).toFixed(2);
$('.TxClsTx').attr('placeholder',
`可提现金额${(res3.results.eacTotalAmt * 1).toFixed(2)}元`
)
this_.RechargeMax = ((2000 - ((res3.results.eacTotalAmt * 1).toFixed(
2) *
1)).toFixed(2));
}
return
}
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();
},
});
},
}
}
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: [
{
lable: "",
value: 100,
},
{
lable: "",
value: 200,
},
{
lable: "",
value: 500,
},
{
lable: "",
value: 1000,
},
{
lable: "其他金额",
value: "",
},
],
numberList: [],
tempFiles1: "../../static/img/idCardBg1.png", //上传身份证临时选择文件
tempFiles2: "../../static/img/idCardBg0.png",
//绑定的一类卡列表
bindcardList: [],
// 20211126 银行账户类型
accountType: "2",
// 银行账户类型名称枚举
accountEnum: {
1: "平安银行III类户",
2: "工商银行III类户",
3: "交通银行III类户",
4: "渤海银行II类户",
},
/**
* 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: "请稍后....",
});
if (bankInfo.accountType == 4) {
jWeixin.miniProgram.navigateTo({
url: `/pages_subpack/pages/changeBindCard/main`,
});
uni.hideLoading();
return;
}
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.openCardPhonSms = "";
}
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 > this_.RechargeMax ? this_.RechargeMax : 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() {
// 若最后一位为小数点则去掉
let str = this.inputOtherM + "";
if (str.lastIndexOf(".") == str.length - 1) {
this.inputOtherM = str.substring(0, str.length - 1);
}
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,
});
// 20211230
let exchangeUrl = gHost;
switch (bankInfo.accountType) {
case 3:
exchangeUrl = exchangeUrl + "/bank-wechat/bocom/exchange/rechargeSms";
break;
case 4:
exchangeUrl = exchangeUrl + "/bank-wechat/bohai/comprehensive/otpSms";
break;
default:
Dialog({
title: "系统提示",
message: "银行账号类型错误!",
});
throw "银行账号类型错误!";
break;
}
$.ajax({
url: exchangeUrl,
type: "POST",
contentType: "application/x-www-form-urlencoded",
data: {
amount: ((this.Money || this.inputOtherM) * 1).toFixed(2), //充值金额,单位元
schoolId: bankInfo.schoolId, //学校id
userId: userID, //用户id
sessionid: sessionID,
wechattype: 1,
// 20211230渤海
mobilePhone: this.openCardPhon,
msg: "充值",
},
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 (bankInfo.accountType != 4) {
if (!this.RechargeSmsorderNoInfo.orderNo) {
Dialog({
title: "系统提示",
message: "请获取验证码!",
});
return;
}
}
if (!this.openCardPhonSms) {
Dialog({
title: "系统提示",
message: "请收入验证码!",
});
return;
}
uni.showLoading({
mask: true,
title: "处理中......",
});
// 20211230
let exchangeUrl = gHost;
switch (bankInfo.accountType) {
case 3:
exchangeUrl = exchangeUrl + "/bank-wechat/bocom/exchange/recharge";
break;
case 4:
exchangeUrl = exchangeUrl + "/bank-wechat/bohai/exchange/recharge";
break;
default:
Dialog({
title: "系统提示",
message: "银行账号类型错误!",
});
throw "银行账号类型错误!";
break;
}
$.ajax({
url: exchangeUrl,
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,
// 21211230渤海银行
transAmount: (amount * 1).toFixed(2),
verifyNo: this.openCardPhonSms,
},
headers: {
sessionid: sessionID,
},
success: function (res5) {
uni.hideLoading();
if (res5.code == "10000") {
this_.close();
setTimeout(() => {
this_.queryBankInfo();
}, 3000);
let thiTime = new Date();
let str = "";
let accountNo = this_.bankInfo_.bindCardNo;
accountNo = accountNo.slice(accountNo.length - 4, accountNo.length);
let minutes_ =
thiTime.getMinutes().toString().length < 2
? thiTime.getMinutes().toString().padStart(2, "0")
: thiTime.getMinutes().toString();
switch (bankInfo.accountType) {
case 3:
if (thiTime.getMinutes() + 20 >= 60) {
str =
thiTime.getHours() + 1 + ":" + (60 - thiTime.getMinutes());
} else {
str = thiTime.getHours() + ":" + (thiTime.getMinutes() + 20);
}
wx.showModal({
title: "充值申请已提交",
content: "银行处理需要1-20分钟时间,充值结果以余额查询为准。",
showCancel: false,
success: function () {
uni.navigateTo({
url: `../../recharging/recharging?bankName=${
this_.bankInfo_.bindCardName
}&bankNumber=${accountNo}&time=${str}&money=${(
amount * 1
).toFixed(2)}`,
});
},
});
break;
case 4:
str = thiTime.getHours() + 2 + ":" + minutes_;
uni.navigateTo({
url: `../../recharging/recharging?bankName=${
this_.bankInfo_.bindCardName
}&bankNumber=${accountNo}&time=${str}&money=${(
amount * 1
).toFixed(2)}`,
});
break;
default:
break;
}
// 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");
}
});
},
// 更换手机号码
changePhone() {
uni.showLoading({
mask: true,
title: "请稍后....",
});
jWeixin.miniProgram.navigateTo({
url: `/pages_subpack/pages/changePhone/main`,
});
uni.hideLoading();
},
//返回小程序 跳转指定页面
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 queryBankInfoUrl = gHost;
// 20211230
switch (bankInfo.accountType) {
case 3:
queryBankInfoUrl =
queryBankInfoUrl +
"/bank-wechat/bocom/balance/getBankBlanceAndSyncLocal";
break;
case 4:
queryBankInfoUrl =
queryBankInfoUrl + "/bank-wechat/bohai/exchange/balanceQuery";
break;
default:
Dialog({
title: "系统提示",
message: "银行账号类型错误!",
});
throw "银行账号类型错误!";
break;
}
// let loading = weui.loading('请稍后');
$.ajax({
url: queryBankInfoUrl,
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 (bankInfo.accountType == 4) {
if (res3.results.eacTotalAmt == null) {
weui.topTips("账户信息为空,余额查询失败");
} else {
this_.cardBalanceTx = (res3.results.eacTotalAmt * 1).toFixed(2);
$(".TxClsTx").attr(
"placeholder",
`可提现金额${(res3.results.eacTotalAmt * 1).toFixed(2)}元`
);
this_.RechargeMax = (
2000 -
(res3.results.eacTotalAmt * 1).toFixed(2) * 1
).toFixed(2);
}
return;
}
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%);
}
.changPhone {
font-size: 14px;
color: #39F;
text-align: right;
}
.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;
}
html,
body,
page {
width: 750rpx;
background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
}
.changPhone {
font-size: 14px;
color: #39f;
text-align: right;
}
.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>
......@@ -463,6 +463,11 @@
},
//input键盘弹起不会弹
ReturnToTop() {
// 若最后一位为小数点则去掉
let str = this.inputOtherM + "";
if(str.lastIndexOf('.') == str.length - 1) {
this.inputOtherM = str.substring(0, str.length - 1)
}
this.$nextTick(function() {
document.scrollingElement.scrollTo(0, this.scrollTop);
})
......
......@@ -48,7 +48,7 @@
</view>
<view
class="consumption-total-number-trend-item consumption-total-number-trend-percent">
{{weekConsumerAmout.rate+'%'}}
{{weekConsumerAmout.rate?weekConsumerAmout.rate+'%':'%'}}
</view>
</view>
</view>
......
<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>(工商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">
<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>(工商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">{{RechargeMax}}</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
</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">{{ RechargeMax }}</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>
<view style="width: 520rpx;height: 1rpx;background: #EEEEEE;"></view>
<view class="ContenInfo">
<view class="" v-if="isOtherMoney">
充值金额:{{inputOtherM}}
</view>
<view class="" v-else>
充值金额:{{Money}}
</view>
<view class="">
付款账户:{{bankInfo_.bindCardName}}({{bankInfo_.bindCardNo && bankInfo_.bindCardNo.slice(bankInfo_.accountNo.length-4)}})
</view>
</view>
<view style="width: 520rpx;height: 1rpx;background: #EEEEEE;"></view>
<!-- 取消 确认充值按钮 -->
<view class="BtngGoup">
<view class="" @click="close()">
取消
</view>
<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>
</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 ~ {{ RechargeMax }}</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>
<view style="width: 520rpx; height: 1rpx; background: #eeeeee"></view>
<view class="ContenInfo">
<view class="" v-if="isOtherMoney">
充值金额:{{ inputOtherM }}
</view>
<view class="" v-else> 充值金额:{{ Money }}</view>
<view class="">
付款账户:{{ bankInfo_.bindCardName }}({{
bankInfo_.bindCardNo &&
bankInfo_.bindCardNo.slice(bankInfo_.accountNo.length - 4)
}})
</view>
</view>
<view style="width: 520rpx; height: 1rpx; background: #eeeeee"></view>
<!-- 取消 确认充值按钮 -->
<view class="BtngGoup">
<view class="" @click="close()"> 取消 </view>
<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 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
}
/**
* 对象转拼接字符串
* @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:[{
lable:'',
value:100
},{
lable:'',
value:200
},{
lable:'',
value:500
},{
lable:'',
value:1000
},{
lable:'其他金额',
value:''
}],
numberList: [],
tempFiles1: '../../static/img/idCardBg1.png', //上传身份证临时选择文件
tempFiles2: '../../static/img/idCardBg0.png',
//绑定的一类卡列表
bindcardList: []
}
},
onLoad: function(options) {
console.log(options);
// 初始化
userID = options['userID'] || '';
sessionID = options['seesionID'] || '';
fromType = options['fromType'] || '';
bankInfo.sessionid = sessionID || '';
this.QueryUserInfo()
},
created: function() {
},
mounted: function() {
},
methods: {
async ChangeBankPay(){
uni.showLoading({ mask:true });
let status = await this.accountCloseacceptStatusQuery();
uni.hideLoading();
if( status !== 0 ) return false;
this.BackToMini('AssignAddCard')
},
accountCloseacceptStatusQuery(){
return new Promise(( resolve,reject) => {
$.ajax({ //查询是否提交销户
url:gHost + "/bank-wechat/icbc/account/manager/accountCloseacceptStatusQuery",
type:'post',
data:{
schoolId:this.PersonalInfo.schoolid,
userId:this.PersonalInfo.id,
wechattype: 1,
'sessionid': sessionID,
},
contentType: "application/x-www-form-urlencoded",
headers: {
'sessionid': sessionID,
},
success:( { code , message , results } ) => {
let status = results && results.status ; // 0表示未申请,1申请中,2已销户,3销户申请失败
if(code === '10000' && status == '0'){
}else if(code === '10000' && status == '1'){
uni.showToast({
title: "您已提交销户申请,银行正在审核中。",
icon:'none',
})
}else{
uni.showToast({
title: message,
icon:'none',
})
}
resolve(status)
},
error: function(err) {
uni.showToast({
title: err.message || '请求失败',
icon:'none',
});
reject(-1)
},
});
})
},
// 验证码弹出框开启
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
}
}
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);
})
},
// 充值
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;
uni.showLoading({
mask: true,
title: "处理中......"
})
try{
let status = await this.accountCloseacceptStatusQuery();
if(status !== 0) { uni.hideLoading(); return false };
}catch(e){
uni.hideLoading();
return false
}
$.ajax({
url: gHost + '/bank-wechat/icbc/account/exchange/recharge',
type: "POST",
contentType: "application/x-www-form-urlencoded",
data: {
schoolId: bankInfo.schoolId,
userId: userID,
sessionid: sessionID,
wechattype: 1,
amount: amount,
bindMedium: this.bankInfo_.bindCardNo,
summary: "充值",
},
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
})
} 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/icbc/account/bindcard/bindingList',
type: "POST",
contentType: "application/x-www-form-urlencoded",
data: {
mediumId: 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/icbc/account/balance/balanceQuery',
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;
// this_.getBindingList(bankInfo.accountNo,bankInfo.schoolId,bankInfo.id);
} 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();
},
});
},
}
}
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 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,
};
/**
* 对象转拼接字符串
* @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: [
{
lable: "",
value: 100,
},
{
lable: "",
value: 200,
},
{
lable: "",
value: 500,
},
{
lable: "",
value: 1000,
},
{
lable: "其他金额",
value: "",
},
],
numberList: [],
tempFiles1: "../../static/img/idCardBg1.png", //上传身份证临时选择文件
tempFiles2: "../../static/img/idCardBg0.png",
//绑定的一类卡列表
bindcardList: [],
};
},
onLoad: function (options) {
console.log(options);
// 初始化
userID = options["userID"] || "";
sessionID = options["seesionID"] || "";
fromType = options["fromType"] || "";
bankInfo.sessionid = sessionID || "";
this.QueryUserInfo();
},
created: function () {},
mounted: function () {},
methods: {
async ChangeBankPay() {
uni.showLoading({ mask: true });
let status = await this.accountCloseacceptStatusQuery();
uni.hideLoading();
if (status !== 0) return false;
this.BackToMini("AssignAddCard");
},
accountCloseacceptStatusQuery() {
return new Promise((resolve, reject) => {
$.ajax({
//查询是否提交销户
url:
gHost +
"/bank-wechat/icbc/account/manager/accountCloseacceptStatusQuery",
type: "post",
data: {
schoolId: this.PersonalInfo.schoolid,
userId: this.PersonalInfo.id,
wechattype: 1,
sessionid: sessionID,
},
contentType: "application/x-www-form-urlencoded",
headers: {
sessionid: sessionID,
},
success: ({ code, message, results }) => {
let status = results && results.status; // 0表示未申请,1申请中,2已销户,3销户申请失败
if (code === "10000" && status == "0") {
} else if (code === "10000" && status == "1") {
uni.showToast({
title: "您已提交销户申请,银行正在审核中。",
icon: "none",
});
} else {
uni.showToast({
title: message,
icon: "none",
});
}
resolve(status);
},
error: function (err) {
uni.showToast({
title: err.message || "请求失败",
icon: "none",
});
reject(-1);
},
});
});
},
// 验证码弹出框开启
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;
}
}
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 > this_.RechargeMax ? this_.RechargeMax : 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() {
// 若最后一位为小数点则去掉
let str = this.inputOtherM + "";
if (str.lastIndexOf(".") == str.length - 1) {
this.inputOtherM = str.substring(0, str.length - 1);
}
this.$nextTick(function () {
document.scrollingElement.scrollTo(0, this.scrollTop);
});
},
// 充值
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;
uni.showLoading({
mask: true,
title: "处理中......",
});
try {
let status = await this.accountCloseacceptStatusQuery();
if (status !== 0) {
uni.hideLoading();
return false;
}
} catch (e) {
uni.hideLoading();
return false;
}
$.ajax({
url: gHost + "/bank-wechat/icbc/account/exchange/recharge",
type: "POST",
contentType: "application/x-www-form-urlencoded",
data: {
schoolId: bankInfo.schoolId,
userId: userID,
sessionid: sessionID,
wechattype: 1,
amount: amount,
bindMedium: this.bankInfo_.bindCardNo,
summary: "充值",
},
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,
});
} 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/icbc/account/bindcard/bindingList",
type: "POST",
contentType: "application/x-www-form-urlencoded",
data: {
mediumId: 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/icbc/account/balance/balanceQuery",
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;
// this_.getBindingList(bankInfo.accountNo,bankInfo.schoolId,bankInfo.id);
} 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: 478rpx;
background: #FFFFFF;
border-radius: 8rpx;
margin: 0 auto;
.RechargeInfo {
width: 520rpx;
height: 100%;
margin: 0 auto;
.RechargeInfo1 {
height: 124rpx;
line-height: 124rpx;
font-size: 36rpx;
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: 250rpx;
height: 88rpx;
border-radius: 8rpx;
text-align: center;
line-height: 88rpx;
}
view:nth-child(1) {
background: #EBEBEB;
font-size: 36rpx;
font-family: PingFang SC;
font-weight: 500;
color: #1CC48B;
}
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: 40rpx;
height: 40rpx;
position: relative;
}
}
.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;
}
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: 478rpx;
background: #ffffff;
border-radius: 8rpx;
margin: 0 auto;
.RechargeInfo {
width: 520rpx;
height: 100%;
margin: 0 auto;
.RechargeInfo1 {
height: 124rpx;
line-height: 124rpx;
font-size: 36rpx;
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: 250rpx;
height: 88rpx;
border-radius: 8rpx;
text-align: center;
line-height: 88rpx;
}
view:nth-child(1) {
background: #ebebeb;
font-size: 36rpx;
font-family: PingFang SC;
font-weight: 500;
color: #1cc48b;
}
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: 40rpx;
height: 40rpx;
position: relative;
}
}
.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>
<template>
<view class="tainer">
<van-dialog v-model="dialogShow" @closed="dialogClosed" :show-confirm-button="false"
:closeOnClickOverlay="true">
<view class="PaymentRsults">
<image v-if="PaymentRsults==1" style="width: 160rpx;height: 160rpx;" mode='widthFix'
:src="ImgUrl+'StudentPayment/success-icon.png'">
</image>
<image v-if="PaymentRsults==2" style="width: 160rpx;height: 160rpx;" mode='widthFix'
:src="ImgUrl+'StudentPayment/fail-icon.png'">
</image>
<view class="PaymentRsultsTxt" @click="dialogClosed" v-if="PaymentRsults==1">
支付成功
</view>
<view class="PaymentRsultsTxt" @click="clickPay" v-if="PaymentRsults==2">
请重新支付
</view>
</view>
</van-dialog>
<view class="headerImg">
<view class="cardInfo">
<view class="title">
{{ChargeProDetail.chargeName||""}}
</view>
<view class="title2">
<van-notice-bar :scrollable="ChargeProDetail.descInfo.length>20?true:false" background="#ffffff"
color="#333333" style="padding: 0;" :text="ChargeProDetail.descInfo||''" />
</view>
<van-divider />
<view class="botto">
<view class="rowInfo">
<text class="name">学生姓名:</text>
<text class="value">{{ChargeProDetail.userName||""}}</text>
</view>
<view class="rowInfo">
<text class="name">年级班级:</text>
<text class="value">{{ChargeProDetail.userGrade||""}} {{ChargeProDetail.userClass||""}}</text>
</view>
<view class="rowInfo">
<text class="name">订单编号:</text>
<text class="value">{{ChargeProDetail.tradeId||""}}</text>
</view>
</view>
</view>
</view>
<!-- 收费项目 -->
<view class="PayProject">
<view class="tabNames">
<view style="padding-left: 70rpx;">
收费子项
</view>
<view style="padding-left: 70rpx;">
收费类型
</view>
<view style="padding-left: 70rpx;">
金额(元)
</view>
</view>
<!-- Project -->
<view class="ProjectBox">
<view class="ProjectItem" v-for="(item,index) in ChargeProDetail.items" :key="index"
:class="SPayProject(index)?'selectProjectItem':''" v-if="!(item.itemAmount==0&&item.mustFlag==0)">
<view class="tabNames" @click="selectProject(item,index)">
<view class="ProjectName">
<image v-if="SPayProject(index)" style="width: 32rpx;height: 32rpx;"
:src="ImgUrl+'StudentPayment/gx.png'" mode='widthFix'></image>
<image v-else style="width: 32rpx;height: 32rpx;" :src="ImgUrl+'StudentPayment/wgx.png'"
mode='widthFix'></image>
<text>{{item.itemName}}</text>
</view>
<view class="ProjectType">
{{['选交项目','必交项目'][item.mustFlag]}}
</view>
<view class="money">
{{itemAmount(item.itemAmount)}}
</view>
</view>
</view>
</view>
</view>
<!-- 备注 -->
<view class="remarks">
<text class="remarksTxt">
{{remarksType[ChargeProDetail.notesType-1]}}
</text>
<textarea :placeholder="ChargeProDetail.notesTips" :cursor="10" placeholder-class="remarksTextarea"
:maxlength="40" :auto-height="true" v-model="remarks" />
</view>
<!-- 底部操作按钮 -->
<view class="bottomOper">
<view class="buttonContent">
<view class="left">
<view class="">
<text class="zongji">总计:</text>
<text class="money">
{{payMoney}}
</text>
</view>
<view class="xieyi">
<text>点击交费,即表示我已阅读</text>
<text @click="Agreement">《线上缴纳协议》</text>
</view>
</view>
<view class="right" @click="clickPay">
点击交费
</view>
</view>
</view>
</view>
</template>
<script>
/**
* 对象转拼接字符串
* @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;
}
let orderApi = window.location.origin
export default {
name: "PayOrderDetails",
data() {
return {
ImgUrl: this.$ImgUrl,
payMoney: "0.00",
// 选择收费子项目
selectPayProject: [],
// 选择收费子项目
selectPayProjectObj: {},
selectCount: 0,
dialogShow: false,
PaymentRsults: -1,
allData: {},
// 交费项目详情信息
ChargeProDetail: {
descInfo: ''
},
// 备注信息
remarks: "",
remarksType: ["备注", "邮箱", "手机号码", "身份证"],
// 费用id
chargeItemIds: []
}
},
onLoad: function(options) {
let this_ = this;
let personalInfo = uni.getStorageSync("personalInfo")
let PayOrderDetails = uni.getStorageSync("PayOrderDetails")
this.allData = Object.assign(options, personalInfo, {
chargeId: PayOrderDetails.id
})
if (options.PaymentRsults) {
this_.dialogShow = true
this.PaymentRsults = parseInt(options.PaymentRsults);
// 上报支付结果
this.returnPaymentResult(uni.getStorageSync("prepayId").tradeId, this.PaymentRsults)
}
this.queryChargeProDetail()
},
onShow: function() {
// uni.showLoading({
// mask: true,
// title: "查询支付结果"
// })
// setTimeout(function() {
// uni.hideLoading()
// this_.dialogShow = true
// }, 1000)
},
computed: {
itemAmount() {
return function(Amount) {
if (Amount) {
return (Amount / 100).toFixed(2)
} else {
return "0.00"
}
}
},
SPayProject() {
return function(index) {
if (index == 0 || index > 0) {
return this.selectPayProject.includes(index)
} else {
return false
}
}
}
},
methods: {
Agreement() {
uni.navigateTo({
url: "../../pdfPreview/pdfPreview?pdfName=xzfjfxy"
})
},
// 查询交费订单明细信息
async queryChargeProDetail() {
try {
let data = await this.$http.post({
url: orderApi + '/order-charge/app/charge/project/queryChargeProDetail'
}, {
"chargeId": this.allData.chargeId,
"schoolId": this.allData.schoolId,
"userId": this.allData.userId
})
if (data.code != 200 || !data.data) {
uni.showToast({
icon: "none",
mask: true,
title: data.msg
})
return
}
this.ChargeProDetail = data.data;
// 收费类型必缴项目默认选择
for (let i = 0; i < data.data.items.length; i++) {
if (data.data.items[i].mustFlag == 1) {
this.selectProject(data.data.items[i], i)
}
}
} catch (e) {
//TODO handle the exception
console.log(e);
uni.showToast({
icon: "none",
mask: true,
title: e.message
})
}
},
// 支付结果页面关闭
async dialogClosed() {
try {
console.log("dialogClosed");
this.dialogShow = false
if (this.PaymentRsults == 1) {
// 支付成功返回交费项目列表
uni.redirectTo({
url: "../PayProject/PayProject"
})
return
}
} catch (e) {
//TODO handle the exception
console.log(e);
}
},
// 选择支付的项目
async selectProject(data, index) {
try {
if (!this.selectPayProject.includes(index)) {
this.selectPayProject.push(index)
this.selectPayProjectObj[index + ''] = data
} else {
let indexOf = this.selectPayProject.indexOf(index)
this.selectPayProject.splice(indexOf, 1)
delete this.selectPayProjectObj[index + '']
}
// 计算金额
let payMoney = 0,
// 选择的项目数
selectCount = 0,
// 费用id
chargeItemIds = [];
for (let key in this.selectPayProjectObj) {
selectCount++
payMoney += this.selectPayProjectObj[key].itemAmount;
chargeItemIds.push(this.selectPayProjectObj[key].id)
}
this.selectCount = selectCount;
this.payMoney = (payMoney / 100).toFixed(2);
this.chargeItemIds = chargeItemIds;
} catch (e) {
//TODO handle the exception
console.log(e);
}
},
// 微信公众号H5支付
async getBrandWCPayRequest() {
try {
if (this.JSBridge) {
WeixinJSBridge.invoke(
'getBrandWCPayRequest', {
"appId": "wx2421b1c4370ec43b", //公众号ID,由商户传入
"timeStamp": "1395712654", //时间戳,自1970年以来的秒数
"nonceStr": "e61463f8efa94090b1f366cccfbbb444", //随机串
"package": "prepay_id=u802345jgfjsdfgsdg888",
"signType": "MD5", //微信签名方式:
"paySign": "70EA570631E4BB79628FBCA90534C63FF7FADD89" //微信签名
},
function(res) {
if (res.err_msg == "get_brand_wcpay_request:ok") {
// 使用以上方式判断前端返回,微信团队郑重提示:
//res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
} else {
uni.showToast({
icon: "none",
mask: true,
title: "支付异常"
})
}
});
return
}
uni.showToast({
icon: "none",
mask: true,
title: "支付环境异常"
})
} catch (e) {
//TODO handle the exception
console.log(e);
uni.showToast({
icon: "none",
mask: true,
title: e.message
})
}
},
// 点击缴费下单接口
async clickPay() {
try {
console.log(this.JSBridge);
this.dialogShow = false
if (this.selectCount == 0) {
uni.showToast({
icon: "none",
mask: true,
title: "请选择缴费项目"
})
return
}
if (this.ChargeProDetail.notesFlag == 1) {
if (!this.remarks) {
uni.showToast({
icon: "none",
mask: true,
title: "请填写备注信息"
})
return
}
}
let data = await this.$http.post({
url: orderApi + '/order-charge/app/charge/project/createOrder'
}, {
amount: this.payMoney * 100, // 金额 false
chargeItemIds: this.chargeItemIds.join(","), // 交费用项id集合多个交费项之间使用逗号分隔 false
mchId: this.ChargeProDetail.mchid, // 微信商户号 false
openId: this.allData.openId, // 用户标识 false
payPeopleType: 1, // 交费人类型1家长、2教师、3运营人员 false
payway: 1, // 交费方式1.小程序交费、2.现金交费 false
tradeId: this.ChargeProDetail.tradeId, // 订单号 false
userName: this.ChargeProDetail.userName, // 用户姓名 false
remark: this.remarks || '', // 备注 false
wechatChannel: 1, //微信交费渠道1.小程序交费 2.微信公众号交费
chargeId: this.allData.chargeId,
schoolId: this.allData.schoolId,
userId: this.allData.userId
})
if (data.code != 200) {
uni.showToast({
icon: "none",
mask: true,
title: data.msg || "缴费下单失败"
})
return
}
// 获取支付参数
await this.getPayParams(data.data)
uni.setStorageSync("prepayId", data.data)
} catch (e) {
//TODO handle the exception
console.log(e);
uni.showToast({
icon: "none",
mask: true,
title: e.message
})
}
},
// 获取支付参数
async getPayParams(prepayId) {
try {
let data = await this.$http.post({
url: orderApi + '/order-charge/app/charge/project/getPayParams'
}, prepayId)
if (data.code != 200 || !data.data) {
uni.showToast({
icon: "none",
mask: true,
title: data.msg || "获取支付参数失败"
})
return
}
data.data.package = encodeURIComponent(data.data.package)
data.data.paySign = encodeURIComponent(data.data.paySign)
console.warn(`/pages/toPayAuth/main?` + OforS(data.data))
jWeixin.miniProgram.redirectTo({
url: `/pages/toPayAuth/main?` + OforS(data.data)
});
} catch (e) {
//TODO handle the exception
console.log(e);
uni.showToast({
icon: "none",
mask: true,
title: e.message
})
}
},
// 返回支付结果
async returnPaymentResult(tradeId, payStatus) {
try {
if (!tradeId && !payStatus) {
return
}
let data = await this.$http.get({
url: orderApi + '/order-charge/app/charge/project/returnPaymentResult'
}, {
tradeId,
payStatus
})
console.log(data)
if (data.code != 200) {
uni.showToast({
icon: "none",
mask: true,
title: data.msg || "返回支付结果失败"
})
return
}
} catch (e) {
//TODO handle the exception
console.log(e);
uni.showToast({
icon: "none",
mask: true,
title: e.message
})
}
}
}
}
</script>
<style lang="scss">
page {
background: #F3F5F6;
}
.PaymentRsults {
width: 580rpx;
height: 480rpx;
background: #FFFFFF;
border-radius: 16rpx;
text-align: center;
text-align: center;
margin: 0 auto;
font-family: PingFang SC;
image {
top: 115rpx;
}
.PaymentRsultsTxt {
height: 34rpx;
font-size: 36rpx;
font-weight: bold;
color: #333333;
text-align: center;
margin: 0 auto;
margin-top: 115rpx;
}
}
.PayProject,
.remarks {
width: 686rpx;
background: #FFFFFF;
border-radius: 16rpx;
margin: 0 auto;
}
.PayProject {
height: 460rpx;
margin-top: 20rpx;
.ProjectBox {
height: 350rpx;
overflow: auto;
.tabNames {
justify-content: flex-start;
height: 100%;
}
.ProjectItem {
width: 628rpx;
height: 100rpx;
margin: 0 auto;
border: 2rpx solid #E6E6E6;
border-radius: 16rpx;
margin-top: 19rpx;
}
.selectProjectItem {
border: 2rpx solid #01CB88 !important;
background-color: rgba(1, 203, 136, 0.1);
}
.ProjectName {
margin-left: 25rpx;
display: flex;
justify-content: flex-start;
align-items: center;
image {
display: inline-block;
}
text {
display: inline-block;
width: 176rpx;
overflow: hidden;
word-break: break-all;
margin-left: 16rpx;
white-space: nowrap;
text-overflow: ellipsis;
}
}
.ProjectName,
.ProjectType {
font-size: 30rpx;
font-family: PingFang SC;
font-weight: 500;
color: #333333;
}
.ProjectType {
width: 120rpx;
margin-left: 40rpx;
}
.money {
font-size: 32rpx;
font-family: DIN;
font-weight: bold;
color: #01CB88;
width: 32%;
text-align: right;
}
.money::before {
content: "¥";
font-size: 28rpx;
font-family: PingFang SC;
font-weight: bold;
color: #01CB88;
}
}
.tabNames {
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 500;
color: #999999;
justify-content: space-around;
display: flex;
align-items: center;
height: 87rpx;
line-height: 87rpx;
}
}
.remarks {
height: 220rpx;
margin-top: 20rpx;
textarea {
width: 100%;
height: 100%;
padding-left: 30rpx;
}
.remarksTxt {
height: 80rpx;
line-height: 80rpx;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: bold;
color: #333333;
margin-left: 66rpx;
position: relative;
}
.remarksTxt:before {
content: " ";
width: 25rpx;
height: 25rpx;
background: #01CB88;
border-radius: 50%;
position: absolute;
z-index: 100;
top: 10rpx;
left: -40rpx;
}
.remarksTxt:after {
content: " ";
width: 25rpx;
height: 25rpx;
background: #FFB62D;
border-radius: 50%;
position: absolute;
z-index: 99;
left: -32rpx;
top: 10rpx;
}
.remarksTextarea {
width: 222rpx;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #CCCCCC;
// padding-left: 30rpx;
}
}
@media (min-height: 650px) {
.bottomOper {
position: fixed;
left: 0;
right: 0;
bottom: 30rpx;
}
}
.bottomOper {
height: 128rpx;
background: #FFFFFF;
width: 100%;
margin-top: 20rpx;
margin-bottom: 30rpx;
.buttonContent {
display: flex;
align-items: center;
height: 100%;
justify-content: space-around;
width: 689rpx;
margin: 0 auto;
.left {
.zongji {
width: 65rpx;
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 500;
color: #333333;
}
.money {
width: 125rpx;
font-size: 36rpx;
font-family: DIN;
font-weight: bold;
color: #01CB88;
line-height: 36rpx;
}
.money::before {
content: "¥";
font-size: 28rpx;
font-family: PingFang SC;
font-weight: bold;
color: #01CB88;
}
.xieyi {
font-size: 20rpx;
font-family: PingFang SC;
font-weight: 500;
}
.xieyi text:nth-child(1) {
color: #999999;
}
.xieyi text:nth-child(2) {
color: #01CB88;
}
}
.right {
width: 240rpx;
height: 72rpx;
background: rgba(1, 203, 136, 1);
border-radius: 36rpx;
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 500;
color: #FFFFFF;
text-align: center;
line-height: 72rpx;
// margin-right: 32rpx;
}
}
}
.headerImg {
width: 750rpx;
height: 480rpx;
background-image: url(https://xiaopay2020.oss-cn-shenzhen.aliyuncs.com/static/weapp/StudentPayment/bg.png);
background-repeat: no-repeat;
background-size: 100% 100%;
}
.cardInfo {
width: 686rpx;
height: 444rpx;
background: #FFFFFF;
border-radius: 16rpx;
position: relative;
margin: 0 auto;
top: 37rpx;
overflow: hidden;
font-family: PingFang SC;
.title {
width: 370rpx;
// height: 34rpx;
font-size: 36rpx;
font-weight: 800;
color: #333333;
margin: 0 auto;
margin-top: 60rpx;
text-align: center;
}
.title2 {
width: 599rpx;
height: 55rpx;
font-size: 24rpx;
font-weight: 500;
color: #999999;
margin: 0 auto;
text-align: center;
margin-top: 24rpx;
}
.botto {
.rowInfo {
font-size: 30rpx;
font-family: PingFang SC;
font-weight: 500;
margin-left: 30rpx;
line-height: 60rpx;
}
.name {
width: 128rpx;
color: #999999;
}
.value {
width: 58rpx;
color: #333333;
}
}
}
.cardInfo:before,
.cardInfo:after {
content: " ";
width: 100%;
height: 0px;
position: absolute;
}
.cardInfo:before {
border-top: 16rpx dotted #01CB88;
left: 16rpx;
top: -6rpx;
}
</style>
<template>
<view class="tainer">
<van-tabs ref="tabs" title-inactive-color="#999999" title-active-color="#333333" sticky animated
v-model:active="active" swipeable color="#01CB88" background="#FFFFFF" line-width="30px" line-height="4px"
@change="PayProjectTab">
<van-tab :title="vanTab[0]" title-class="PayProjectTab PayProjectList">
<!-- 收费项目 -->
<view class="ListBox">
<view class="" v-if="PayProjectList.length>0">
<view class="container ProjectList" v-for="(item,index) in PayProjectList" :key="index"
@tap="PayOrderDetails(item)">
<view class="listitem top">
<view class="title">
{{item.chargeName}}
</view>
<view class="money">
{{item.amountMust}}
</view>
</view>
<view class="listitem center">
<text class="describe">
{{item.descInfo||""}}
</text>
</view>
<view class="listitem botto" style="align-items: baseline;">
<van-icon name="clock-o" /> <text class="Tips">{{item.diffTime}}收费结束</text>
</view>
</view>
<view class="bottomtxt">已经到底啦~</view>
</view>
<!-- 没有数据 -->
<view class="noData" v-else>
<image style="width: 301rpx;height: 258rpx;" :src="ImgUrl+'StudentPayment/NoRecord.png'"
mode='widthFix'></image>
<view>暂无收费项目</view>
</view>
</view>
</van-tab>
<van-tab :title="vanTab[1]" title-class="PayProjectTab PayProjectHistory">
<!-- 缴费历史 -->
<view class="ListBox">
<view class="" v-if="PayProjectHistory.length>0">
<view class="container ProjectHistory" v-for="(item,index) in PayProjectHistory" :key="index"
@tap="PayOrderDetails(item)">
<view class="listitem top">
<view class="title">
2022高一春季收费
</view>
<view class="money">
100.00
</view>
</view>
<view class="listitem center">
<text class="describe">
本次收费需要收取高一春季开学相关费用,并根据
备注输入相关信息。
</text>
</view>
<view class="listitem botto" style="align-items: baseline;">
<van-icon name="clock-o" /> <text class="Tips">5天后收费结束</text>
</view>
</view>
<view class="bottomtxt">已经到底啦~</view>
</view>
<!-- 没有数据 -->
<view class="noData" v-else>
<image style="width: 290rpx;height: 242rpx;" :src="ImgUrl+'StudentPayment/development.png'"
mode='widthFix'></image>
<view>程序员正在玩命开发</view>
<view class="bottomtxt">详情请联系客服</view>
</view>
</view>
</van-tab>
</van-tabs>
</view>
</template>
<script>
// 时间处理模块
import dayjs from 'dayjs'
let orderApi = window.location.origin
export default {
name: "PayProject",
data() {
return {
ImgUrl: this.$ImgUrl,
active: 0,
vanTab: ['收费项目', '交费历史'],
PayProjectList: [],
PayProjectHistory: [],
pageCurrent: 1,
pageSize: 10,
total: 0,
allData: {}
}
},
onLoad: function(options) {
console.log("PayProject", options);
if (options.seesionID && options.userID && options.schoolId) {
uni.setStorageSync("personalInfo", {
userId: options.userID || '',
seesionID: options.seesionID || '',
schoolId: options.schoolId || '',
openId: options.openId
})
this.allData = options
} else {
let personalInfo = uni.getStorageSync("personalInfo")
this.allData = Object.assign(options, personalInfo)
}
this.getPayProject()
},
onPullDownRefresh: function(e) {
console.log("onPullDownRefresh", e);
},
onReachBottom: function(e) {
console.log("onReachBottom", e);
this.pageCurrent = this.pageCurrent + 1
this.getPayProject()
},
methods: {
// 切换tab
async PayProjectTab(index) {
try {
if (index > 0) {
return
}
this.getPayProject(index)
} catch (e) {
//TODO handle the exception
console.log(e);
}
},
// 交费项目信息分页查询
async getPayProject(index) {
try {
let data = await this.$http.post({
url: orderApi + '/order-charge/app/charge/project/queryChargeProjectPage'
}, {
"pageCurrent": this.pageCurrent,
"pageSize": this.pageSize,
"schoolId": this.allData.schoolId,
"userId": this.allData.userId || this.allData.userID
})
if (data.code != 200) {
uni.showToast({
icon: "none",
mask: true,
title: data.msg
})
this.PayProjectList = []
return
}
if (data.data.records && Array.isArray(data.data.records)) {
let tmp = data.data.records;
let newArr = []
for (let s of tmp) {
let diffTime = dayjs(s.endTime).diff(new Date(), 'hour');
if (diffTime > 24) {
diffTime = dayjs(s.endTime).diff(new Date(), 'day');
s.diffTime = diffTime + ' 天后'
} else {
s.diffTime = (diffTime + 1) + ' 天后'
}
s.amountMust = (s.amountMust / 100).toFixed(2)
newArr.push(s)
}
if (this.pageCurrent == 1) {
this.PayProjectList = newArr
return
}
if (this.pageCurrent > 1) {
this.PayProjectList.push(...newArr)
return
}
} else {
this.PayProjectList = []
}
} catch (e) {
//TODO handle the exception
console.log(e);
uni.showToast({
icon: "none",
mask: true,
title: e.message
})
}
},
// 收费项目详情
async PayOrderDetails(data) {
try {
console.log(data);
uni.setStorageSync("PayOrderDetails", data)
uni.navigateTo({
url: "../PayOrderDetails/PayOrderDetails?chargeId=" + data.id || ''
})
} catch (e) {
//TODO handle the exception
console.log(e);
}
}
}
}
</script>
<style lang="scss">
page {
background: #F3F5F6;
}
.noData {
text-align: center;
margin-top: 316rpx;
image {
position: relative;
}
}
.ListBox {
width: 750rpx;
min-height: 100%;
background: #F3F5F6;
padding-top: 12rpx;
padding-bottom: 100rpx;
.container {
width: 686rpx;
height: 250rpx;
background: #FFFFFF;
border-radius: 16rpx;
margin: 0 auto;
margin-top: 20rpx;
}
.container {
font-family: PingFang SC;
.top {
.title {
width: 266rpx;
font-size: 32rpx;
font-weight: bold;
color: #333333;
line-height: 36rpx;
padding-left: 31rpx;
padding-top: 30rpx;
word-break: break-all;
white-space: nowrap;
text-overflow: ellipsis;
}
.money {
font-size: 36rpx;
font-family: DIN;
font-weight: bold;
color: #01CB88;
line-height: 36rpx;
padding-left: 230rpx;
padding-top: 30rpx;
}
.money::before {
content: "¥";
font-size: 32rpx;
font-family: PingFang SC;
font-weight: bold;
color: #01CB88;
}
}
.center {
.describe {
width: 614rpx;
height: 63rpx;
font-size: 28rpx;
font-weight: 500;
color: #666666;
line-height: 36rpx;
padding-top: 38rpx;
padding-left: 32rpx;
overflow-y: auto;
}
}
.botto {
padding-top: 30rpx;
padding-left: 32rpx;
font-size: 24rpx;
font-weight: 500;
color: #BABABA;
.Tips {
padding-left: 10rpx;
}
}
}
.ProjectHistory {}
.listitem {
display: flex;
align-items: center;
}
.bottomtxt {
height: 21rpx;
font-size: 22rpx;
font-family: PingFang SC;
font-weight: 400;
color: #999999;
line-height: 90rpx;
text-align: center;
}
}
.van-tabs__content {
width: 100%;
height: 100%;
position: fixed;
left: 0;
z-index: 999;
overflow: scroll
}
.van-tabs {
.PayProjectTab {
height: 200rpx;
}
}
</style>
<template>
<view>
</view>
</template>
<script>
export default {
name: "StudentPayment",
data() {
return {
}
},
methods: {
}
}
</script>
<style lang="scss">
</style>
......@@ -65,7 +65,7 @@
<view class="OtherTitle">充值金额</view>
<view class="inputOtherM">
<span></span>
<input @focus="openKeyBoard('number')" v-model="inputOtherM" @input="inputControl"
<input @focus="openKeyBoard('number')" v-model="inputOtherM" @input="inputControl" @blur="clearPoint"
placeholder-class="placeholderinputOtherM" type="text" maxlength="6" />
</view>
<view class="OtherLine"></view>
......@@ -73,7 +73,7 @@
<view class="Recharge_">
<!-- <image mode="widthFix" class="depositImg" src="../../static/img/depositIcon.png"></image> -->
<span>最大可充值金额:</span>
<span><span>3.00 ~ 2000.00</span></span>
<span><span>3.00 ~ {{RechargeMax}}</span></span>
</view>
</view>
<!-- 短信发送 -->
......@@ -168,1539 +168,1598 @@
</template>
<script>
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
}
// 20210422 充值账户异常资料补充参数
var acctErrorUpdateParms = {
backSideImgId: '', //反面身份证图片Id
frontSideImgId: '', //正面身份证图片Id
homeAddress: '', //家庭住址
occupation: '', //职业代码
StreetInformation: '', //街道
businessNo: ''
}
// /wefile/wefileId
// 获取上传影像的Token接口
let wefileId = {}
// bizCode: "000000"
// bizMsg: "获取上传影像token成功"
// businessNo: "OB89d5ed802cRA202104226389071452"
// expiredTime: 1619072725503
// project: "BOBS-OBP"
// uuid: "8238f256d8f54209a0e9a2a3b25e7393"
// wefileToken: "QplB0tfvjtzOU+tWgKI2+L+4B9HE8kbpJVREUTwXZCsVqXcUwyDxHAbTU3bW8ziGb4hKAaWiLQXAyZUbYRB9hBKhSt1VVvoFl5qOCR4GT+X1KpcQgBlhKYi/NYPkmsjeZO/qn9YXGDp/1sGmxazv6T05y8EbU9HXreRhF/jh8G1HtUCwprFoaulGFShvV819EUBdHifDF5IjpPekLtgzIm8C/kYYX8xproKvxV4maRji5p1Krkyv/U1K3C18/TyjHwPpC4KlOEqA6QpFujR8yZ42qvLZqfqgUkRFZ4WC27/nN3+do9VNpNbK4MAMSLTRaxdGmKe2wStKbZ5OQ+1WFA=="
// wefileUrl: "https://bfiles-stg.pingan.com.cn/brcp/secfile/sec_wefiles_udmp_upload.do"
export default {
components: {
keyboardPackage
},
name: "assignDeposit",
data() {
return {
inputOtherM: '',
RechargeException: false,
depotMoneyother: false, //其他充值
Money: '', //选择金额
MoneyIndex: '',
RechargeMax: '2000', //最大充值限制
ReflectMoney: '', //提现金额
VerifyCode: '', //验证码
cardBalanceTx: '0', //余额
CodeMsg: "获取验证码",
type: 'number',
PersonalInfo: {
schoolname: "微微学测试",
name: "李智书",
usertype: "1"
},
ImgUrl: this.$ImgUrl,
MoneyList: Array(6).fill(1).map((v, index) => {
return {
lable: '',
value: 50 * (index + 1),
tips: index == 1 ? "推荐充值" : null
}
}),
numberList: [],
tempFiles1: '../../static/img/idCardBg1.png', //上传身份证临时选择文件
tempFiles2: '../../static/img/idCardBg0.png'
}
},
created: function() {
},
mounted: function() {
let this_ = this
this.$nextTick(function() {
// $(".RechargeException").siblings().hide()
// $(".RechargeException").show()
// 家庭住址
$('#homeAddress').on('click', function() {
weui.picker(cityData, {
defaultValue: [110000, 110000, 110101],
depth: 3,
onChange: function(result) {
console.log(result);
},
onConfirm: function(result) {
console.log(result);
console.log(result);
acctErrorUpdateParms.homeAddress = result[0].label + '/' +
result[1].label + '/' +
result[2].label
$("#homeAddress")[0].innerText = result[0].label + '/' +
result[1].label + '/' +
result[2].label
$("#homeAddress").css("color", "#000");
},
title: '家庭地址'
});
});
// 选择职业
$('#showPicker').on('click', function() {
// 获取职业信息
this_.getOccupationList().then(OccupationList => {
let data = OccupationList.map(v => {
return {
label: v.comment,
value: v.code
}
})
weui.picker(data, {
onChange: function(result) {
console.log(result);
},
onConfirm: function(result) {
console.log(result[0].value);
acctErrorUpdateParms.occupation = result[0].value
$("#showPicker")[0].innerText = result[0].label
$("#showPicker").css("color", "#000");
},
title: '职业信息选择'
});
}).catch(err => {
weui.topTips("获取职业信息列表失败");
})
});
// 初始化
userID = this_.getQueryParams('userID');
sessionID = this_.getQueryParams('seesionID');
fromType = this_.getQueryParams('fromType');
let windowHeight = window.innerHeight;
if (this_.getQueryParams('tabbar')) { //usermain打开加返回按钮
$('#ReturnBox').css('display', 'block');
$('.bottom2').css('margin-top', (windowHeight - 370 < 0 ? 30 : windowHeight -
370) + 'px');
$('.bottom1').css('margin-top', (windowHeight - 570 < 0 ? 30 : windowHeight -
570) + 'px');
} else {
$('.bottom2').css('margin-top', (windowHeight - 320 < 0 ? 30 : windowHeight -
320) + 'px');
$('.bottom1').css('margin-top', (windowHeight - 590 < 0 ? 30 : windowHeight -
590) + 'px');
}
bankInfo.sessionid = sessionID;
this_.QueryUserInfo();
$('#AssginBox').css('display', 'block');
if (fromType == 0) {
// $('.TitleHeader').html('电子账户充值');
} else {
this_.ToWalletTx();
}
setTimeout(function() {
this_.getWefileId()
}, 500)
})
},
methods: {
// 身份证上传
async idCardUpload(type) {
let this_ = this
uni.chooseImage({
count: 6, //默认9
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'], //从相册选择
success: function(res) {
this_['tempFiles' + type] = res.tempFilePaths[0]
this_.uploaderInput(res.tempFiles, type)
}
});
},
// 验证码弹出框开启
open() {
this.$refs.popup.open('top')
},
// 验证码弹出框关闭
close() {
this.$refs.popup.close()
},
//键盘谈起
openKeyBoard(key) {
this.type = key;
this.$refs[key].open();
},
onInput(val) {
this.numberList.push(val);
this.inputOtherM = this.inputOtherM + val
console.log(val);
},
onDelete() {
this.numberList.pop()
this.inputOtherM = this.numberList.join("")
},
onConfirm() {
// 充值提现输入验证码确认框
this.open()
},
//选择输入其他金额
OtherMoney() {
this.depotMoneyother = true
},
// 快捷选择金额
async depotMoney(value, MoneyIndex) {
console.log(value)
this.Money = parseInt(value)
this.MoneyIndex = MoneyIndex
},
//定时器
IntervalFun() {
if (msCount == 1) {
window.clearInterval(MyTimer); //停止计时器
$('.CodeMsg').css('color', '#01BC73');
this.CodeMsg = "获取验证码"
msCount = 60;
} else {
msCount--;
$('.CodeMsg').css('color', 'gray');
this.CodeMsg = (msCount + "s后获取")
}
},
//按钮操作
HideHTML(dom, type) {
if (type == 0) {
$('.' + dom).css('display', 'none');
} else {
$('.' + dom).css('display', 'block');
}
},
//切换到提现
ToWalletTx() {
$('#DepositBox').css('display', 'none');
$('#TxWalletBox').css('display', 'block');
// $('.TitleHeader').html('电子账户提现');
$('.doBtnTx').html('提现');
opeType = 1;
},
//全部提现
TxAllFun() {
this.ReflectMoney = this.cardBalanceTx * 1
// $('.TxClsTx').val($('.cardBalanceTx')[0].textContent * 1);
},
//隐藏验证码弹框
hidePhoneBox() {
$('.PhoneConfirmBox').css('display', 'none');
// $('.VerifyCode').val('');
this.VerifyCode = ''
orderSerialNo = '';
businessNo = '';
otpOrderNo = '';
},
//返回小程序 跳转指定页面
BackToMini(page) {
if (page == 'UserMain' || page == 'personalCenter') {
jWeixin.miniProgram.switchTab({
url: `/pages/${page}/main`,
});
} else {
jWeixin.miniProgram.redirectTo({
url: `/pages/${page}/main`,
});
}
},
// 输入限制
inputControl(obj, val) {
console.log(obj, val);
obj.value = obj.target.value
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;
this.Money = obj.value + '';
this.ReflectMoney = obj.value + '';
if (obj.value == '' || obj.value * 1 < 3) {
$('.DepositID').addClass('DisaBledBtn');
} else {
$('.DepositID').removeClass('DisaBledBtn');
}
},
//input键盘弹起不会弹
ReturnToTop() {
document.scrollingElement.scrollTo(0, this.scrollTop);
},
//提现结果查询
transferResults() {
let this_ = this;
times++;
let loading = weui.loading('请稍后');
let params = {
accountNo: bankInfo.acctNoArray,
businessNo: businessNo,
orderSerialNo: orderSerialNo, //提现指令号
schoolId: bankInfo.schoolId,
userId: userID,
sessionid: sessionID,
wechattype: 1,
}
$.ajax({
url: gHost + '/bank-wechat/transfer/query',
type: "POST",
contentType: "application/x-www-form-urlencoded",
data: params,
success: function(res7) {
if (res7.code == "10000") {
if (res7.results.status == 0 || res7.results.status ==
1) { //status 状态 0:失败;1:成功;2:处理中 返回处理中,需要调用“提现(提现)结果查询”接口查结果
loading.hide();
if (res7.results.status == 0) {
weui.topTips(res7.results.bizMsg)
} else {
weui.toast('提现成功!', 1500);
}
setTimeout(() => {
location.reload();
}, 2000)
} else {
if (times == 3) {
loading.hide();
weui.topTips('当前提现人数过多,请至我的账户中查看余额');
setTimeout(() => {
this_.BackToMini('UserMain');
}, 1500)
} else {
setTimeout(res => {
this_.transferResults();
}, 2000)
}
}
} else {
loading.hide();
weui.topTips(res7.message)
}
},
error: function(err) {
loading.hide();
},
});
},
//充值结果查询
depositResults() {
let this_ = this;
times++;
let loading = weui.loading('请稍后');
let params = {
businessNo: businessNo,
schoolId: bankInfo.schoolId,
userId: userID,
sessionid: sessionID,
wechattype: 1,
}
$.ajax({
url: gHost + '/bank-wechat/recharge/query',
type: "POST",
contentType: "application/x-www-form-urlencoded",
data: params,
success: function(res8) {
if (res8.code == "10000") {
if (res8.results.orderStatus == 3 || res8.results.orderStatus ==
4) { //orderStatus 0:初始值,1:已提交,2:未知,3:失败,4:成功,5:成功未打款
loading.hide();
if (res8.results.orderStatus == 3) {
weui.topTips(res8.results.errMsg)
} else {
weui.toast('充值成功!', 1500);
}
setTimeout(() => {
location.reload();
}, 2000)
} else {
if (times == 3) {
loading.hide();
weui.topTips('当前充值人数过多,请至我的账户中查看余额');
setTimeout(() => {
this_.BackToMini('UserMain');
}, 1500)
} else {
setTimeout(res => {
this_.depositResults();
}, 2000)
}
}
} else {
loading.hide();
weui.topTips(res8.message);
}
},
error: function(err) {
loading.hide();
},
});
},
//充值/提现方法
DoNextStep() {
let this_ = this;
console.log('请填写验证码');
if (this_.VerifyCode == '') {
weui.topTips('请填写验证码')
return
};
if (limitClick) {
return
} else {
limitClick = true;
setTimeout(() => {
limitClick = false;
}, 3000);
}
let loading = weui.loading('请稍后');
times = 0;
if (opeType == 0) { //充值
let params = {
businessNo: businessNo,
otpOrderNo: otpOrderNo,
fromAccNo: payCardNumber, //付款账户
otpValue: this.VerifyCode, //验证码
transAmt: this.inputOtherM * 1, //交易金额
schoolId: bankInfo.schoolId,
userId: userID,
sessionid: sessionID,
wechattype: 1,
}
$.ajax({
url: gHost + '/bank-wechat/recharge',
type: "POST",
contentType: "application/x-www-form-urlencoded",
data: params,
success: function(res5) {
if (res5.code == "10000") {
if (res5.errCode && res5.errCode == 'TI009') {
loading.hide();
weui.topTips(res5.results.errMsg);
setTimeout(function() {
$(".RechargeException").siblings().hide()
$(".RechargeException").show()
})
return
};
if (res5.results.orderStatus == 3 || res5.results.orderStatus ==
4) { //orderStatus 0:初始值,1:已提交,2:未知,3:失败,4:成功,5:成功未打款
if (res5.results.orderStatus == 3) {
loading.hide();
weui.topTips(res5.results.errMsg);
} else {
loading.hide();
weui.toast('充值成功!', 1500);
}
setTimeout(() => {
location.reload();
}, 2000)
} else {
setTimeout(() => {
// loading.hide();
this_.depositResults();
}, 2000)
}
} else {
loading.hide();
weui.topTips(res5.message)
}
},
error: function(err) {
loading.hide();
},
});
} else if (opeType == 1) { //提现
let params = {
accountName: bankInfo.trueName,
amount: $('.TxClsTx')[0].value * 1,
businessNo: businessNo,
fromAccountName: bankInfo.trueName,
fromAccountNo: bankInfo.acctNoArray,
otpOrderNo: otpOrderNo,
otpValue: $('.VerifyCode')[0].value, //验证码
toAccountNo: payCardNumber,
schoolId: bankInfo.schoolId,
userId: userID,
sessionid: sessionID,
wechattype: 1,
}
$.ajax({
url: gHost + '/bank-wechat/transfer/withdrawal',
type: "POST",
contentType: "application/x-www-form-urlencoded",
data: params,
success: function(res6) {
if (res6.code == "10000") {
orderSerialNo = res6.results.orderSerialNo;
if (res6.results.status == 1 || res6.results.status ==
0) { //状态 0:失败;1:成功;2:处理中 返回处理中,需要调用“提现(转账)结果查询”接口查结果
if (res6.results.status == 0) {
loading.hide();
weui.topTips(res6.results.bizMsg)
} else {
loading.hide();
weui.toast('提现成功!', 1500);
}
setTimeout(() => {
location.reload();
}, 2000)
} else {
setTimeout(() => {
// loading.hide();
transferResults();
}, 2000)
}
} else {
loading.hide();
weui.topTips(res6.message)
}
},
error: function(err) {
loading.hide();
},
});
}
},
//充值/提现判断
toDeposit(type) { //type 0充值 1提现
let this_ = this;
businessNo = '';
otpOrderNo = '';
opeType = type;
if (type == 0) {
if (this.Money * 1 < 3) {
weui.topTips('充值金额必须大于3元');
return
}
if (this.Money * 1 > this.RechargeMax * 1) {
weui.topTips(`充值金额不能大于${this.RechargeMax*1}元`);
return
}
} else {
if ($('.TxClsTx')[0].value * 1 < 0.01) {
weui.topTips('提现金额须大于等于0.01元');
return
}
if ($('.TxClsTx')[0].value * 1 > this.RechargeMax * 1) {
weui.topTips(
`提现金额不可大于账户余额`);
return
}
}
this.open()
},
//发送验证码
SendMsg() {
let this_ = this;
if (this_.CodeMsg != '获取验证码') return false;
let loading = weui.loading('发送中');
if (opeType == 0) { //充值
let params = {
fromAccNo: payCardNumber, //付款账户,
transAmt: this.Money * 1, //交易金额
schoolId: bankInfo.schoolId,
userId: userID,
sessionid: sessionID,
wechattype: 1,
}
$.ajax({
url: gHost + '/bank-wechat/otp/send/recharge',
type: "POST",
contentType: "application/x-www-form-urlencoded",
data: params,
success: function(res5) {
loading.hide();
if (res5.code == "10000") {
otpOrderNo = res5.results.otpOrderNo;
businessNo = res5.results.businessNo;
weui.toast('验证码已发送,请注意查收!', 1000);
this_.IntervalFun();
MyTimer = window.setInterval(IntervalFun, 1000);
} else {
weui.topTips(res5.message)
}
},
error: function(err) {
loading.hide();
},
});
} else if (opeType == 1) { //提现
let params = {
accountNo: bankInfo.acctNoArray, //银行卡号
mobileNo: mobileNo, //手机号
'transferAccountBizKeyVO.accountName': bankInfo.trueName, //收款方户名
'transferAccountBizKeyVO.amount': $('.TxClsTx')[0].value * 1, //提现金额
'transferAccountBizKeyVO.fromAccountName': bankInfo.trueName, //转出户名
'transferAccountBizKeyVO.fromAccountNo': bankInfo.acctNoArray, //转出卡号(互联网账户卡号)
'transferAccountBizKeyVO.toAccountNo': payCardNumber, //收款方卡号(绑定卡卡号)
schoolId: bankInfo.schoolId,
userId: userID,
sessionid: sessionID,
wechattype: 1,
}
$.ajax({
url: gHost + '/bank-wechat/otp/send/transfer/account',
type: "POST",
contentType: "application/x-www-form-urlencoded",
data: params,
success: function(res5) {
loading.hide();
if (res5.code == "10000") {
otpOrderNo = res5.results.otpOrderNo;
businessNo = res5.results.businessNo;
weui.toast('验证码已发送,请注意查收!', 1000);
this_.IntervalFun();
MyTimer = window.setInterval(this_.IntervalFun, 1000);
} else {
weui.topTips(res5.message)
}
},
error: function(err) {
loading.hide(res5.message);
},
});
}
},
//换绑卡
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();
},
});
},
//查询一类卡绑定列表
queryBindCardList() {
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") {
var divList = '';
var choiceIndex = 0;
for (let i = 0; i < res4.results.accountList[0].bindcardList.length; i++) {
divList += `<div onclick=ChangeCardPay('${res4.results.accountList[0].bindcardList[i].bankName}','${res4.results.accountList[0].bindcardList[i].bindCardNo}')>
<p>${res4.results.accountList[0].bindcardList[i].bankName}</p>
<p>${res4.results.accountList[0].bindcardList[i].bindCardNo.substr(0,4)+" **** **** "+res4.results.accountList[0].bindcardList[i].bindCardNo.substr(-4)}</p>
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,
};
// 20210422 充值账户异常资料补充参数
var acctErrorUpdateParms = {
backSideImgId: "", //反面身份证图片Id
frontSideImgId: "", //正面身份证图片Id
homeAddress: "", //家庭住址
occupation: "", //职业代码
StreetInformation: "", //街道
businessNo: "",
};
// /wefile/wefileId
// 获取上传影像的Token接口
let wefileId = {};
// bizCode: "000000"
// bizMsg: "获取上传影像token成功"
// businessNo: "OB89d5ed802cRA202104226389071452"
// expiredTime: 1619072725503
// project: "BOBS-OBP"
// uuid: "8238f256d8f54209a0e9a2a3b25e7393"
// wefileToken: "QplB0tfvjtzOU+tWgKI2+L+4B9HE8kbpJVREUTwXZCsVqXcUwyDxHAbTU3bW8ziGb4hKAaWiLQXAyZUbYRB9hBKhSt1VVvoFl5qOCR4GT+X1KpcQgBlhKYi/NYPkmsjeZO/qn9YXGDp/1sGmxazv6T05y8EbU9HXreRhF/jh8G1HtUCwprFoaulGFShvV819EUBdHifDF5IjpPekLtgzIm8C/kYYX8xproKvxV4maRji5p1Krkyv/U1K3C18/TyjHwPpC4KlOEqA6QpFujR8yZ42qvLZqfqgUkRFZ4WC27/nN3+do9VNpNbK4MAMSLTRaxdGmKe2wStKbZ5OQ+1WFA=="
// wefileUrl: "https://bfiles-stg.pingan.com.cn/brcp/secfile/sec_wefiles_udmp_upload.do"
export default {
components: {
keyboardPackage,
},
name: "assignDeposit",
data() {
return {
inputOtherM: "",
RechargeException: false,
depotMoneyother: false, //其他充值
Money: "", //选择金额
MoneyIndex: "",
RechargeMax: "2000", //最大充值限制
ReflectMoney: "", //提现金额
VerifyCode: "", //验证码
cardBalanceTx: "0", //余额
CodeMsg: "获取验证码",
type: "number",
PersonalInfo: {
schoolname: "微微学测试",
name: "李智书",
usertype: "1",
},
ImgUrl: this.$ImgUrl,
MoneyList: Array(6)
.fill(1)
.map((v, index) => {
return {
lable: "",
value: 50 * (index + 1),
tips: index == 1 ? "推荐充值" : null,
};
}),
numberList: [],
tempFiles1: "../../static/img/idCardBg1.png", //上传身份证临时选择文件
tempFiles2: "../../static/img/idCardBg0.png",
};
},
created: function () {},
mounted: function () {
let this_ = this;
this.$nextTick(function () {
// $(".RechargeException").siblings().hide()
// $(".RechargeException").show()
// 家庭住址
$("#homeAddress").on("click", function () {
weui.picker(cityData, {
defaultValue: [110000, 110000, 110101],
depth: 3,
onChange: function (result) {
console.log(result);
},
onConfirm: function (result) {
console.log(result);
console.log(result);
acctErrorUpdateParms.homeAddress =
result[0].label + "/" + result[1].label + "/" + result[2].label;
$("#homeAddress")[0].innerText =
result[0].label + "/" + result[1].label + "/" + result[2].label;
$("#homeAddress").css("color", "#000");
},
title: "家庭地址",
});
});
// 选择职业
$("#showPicker").on("click", function () {
// 获取职业信息
this_
.getOccupationList()
.then((OccupationList) => {
let data = OccupationList.map((v) => {
return {
label: v.comment,
value: v.code,
};
});
weui.picker(data, {
onChange: function (result) {
console.log(result);
},
onConfirm: function (result) {
console.log(result[0].value);
acctErrorUpdateParms.occupation = result[0].value;
$("#showPicker")[0].innerText = result[0].label;
$("#showPicker").css("color", "#000");
},
title: "职业信息选择",
});
})
.catch((err) => {
weui.topTips("获取职业信息列表失败");
});
});
// 初始化
userID = this_.getQueryParams("userID");
sessionID = this_.getQueryParams("seesionID");
fromType = this_.getQueryParams("fromType");
let windowHeight = window.innerHeight;
if (this_.getQueryParams("tabbar")) {
//usermain打开加返回按钮
$("#ReturnBox").css("display", "block");
$(".bottom2").css(
"margin-top",
(windowHeight - 370 < 0 ? 30 : windowHeight - 370) + "px"
);
$(".bottom1").css(
"margin-top",
(windowHeight - 570 < 0 ? 30 : windowHeight - 570) + "px"
);
} else {
$(".bottom2").css(
"margin-top",
(windowHeight - 320 < 0 ? 30 : windowHeight - 320) + "px"
);
$(".bottom1").css(
"margin-top",
(windowHeight - 590 < 0 ? 30 : windowHeight - 590) + "px"
);
}
bankInfo.sessionid = sessionID;
this_.QueryUserInfo();
$("#AssginBox").css("display", "block");
if (fromType == 0) {
// $('.TitleHeader').html('电子账户充值');
} else {
this_.ToWalletTx();
}
setTimeout(function () {
this_.getWefileId();
}, 500);
});
},
methods: {
// 身份证上传
async idCardUpload(type) {
let this_ = this;
uni.chooseImage({
count: 6, //默认9
sizeType: ["original", "compressed"],
sourceType: ["album", "camera"], //从相册选择
success: function (res) {
this_["tempFiles" + type] = res.tempFilePaths[0];
this_.uploaderInput(res.tempFiles, type);
},
});
},
// 验证码弹出框开启
open() {
this.$refs.popup.open("top");
},
// 验证码弹出框关闭
close() {
this.$refs.popup.close();
},
//键盘谈起
openKeyBoard(key) {
this.type = key;
this.$refs[key].open();
},
onInput(val) {
this.numberList.push(val);
this.inputOtherM = this.inputOtherM + val;
console.log(val);
},
onDelete() {
this.numberList.pop();
this.inputOtherM = this.numberList.join("");
},
onConfirm() {
// 充值提现输入验证码确认框
this.open();
},
//选择输入其他金额
OtherMoney() {
this.depotMoneyother = true;
},
// 快捷选择金额
async depotMoney(value, MoneyIndex) {
console.log(value);
this.Money = parseInt(value);
this.MoneyIndex = MoneyIndex;
},
//定时器
IntervalFun() {
if (msCount == 1) {
window.clearInterval(MyTimer); //停止计时器
$(".CodeMsg").css("color", "#01BC73");
this.CodeMsg = "获取验证码";
msCount = 60;
} else {
msCount--;
$(".CodeMsg").css("color", "gray");
this.CodeMsg = msCount + "s后获取";
}
},
//按钮操作
HideHTML(dom, type) {
if (type == 0) {
$("." + dom).css("display", "none");
} else {
$("." + dom).css("display", "block");
}
},
//切换到提现
ToWalletTx() {
$("#DepositBox").css("display", "none");
$("#TxWalletBox").css("display", "block");
// $('.TitleHeader').html('电子账户提现');
$(".doBtnTx").html("提现");
opeType = 1;
},
//全部提现
TxAllFun() {
this.ReflectMoney = this.cardBalanceTx * 1;
// $('.TxClsTx').val($('.cardBalanceTx')[0].textContent * 1);
},
//隐藏验证码弹框
hidePhoneBox() {
$(".PhoneConfirmBox").css("display", "none");
// $('.VerifyCode').val('');
this.VerifyCode = "";
orderSerialNo = "";
businessNo = "";
otpOrderNo = "";
},
//返回小程序 跳转指定页面
BackToMini(page) {
if (page == "UserMain" || page == "personalCenter") {
jWeixin.miniProgram.switchTab({
url: `/pages/${page}/main`,
});
} else {
jWeixin.miniProgram.redirectTo({
url: `/pages/${page}/main`,
});
}
},
// 输入限制
inputControl(obj, val) {
console.log(obj, val);
obj.value = obj.target.value;
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 > this.RechargeMax ? this.RechargeMax : obj.value;
this.Money = obj.value + "";
this.ReflectMoney = obj.value + "";
if (obj.value == "" || obj.value * 1 < 3) {
$(".DepositID").addClass("DisaBledBtn");
} else {
$(".DepositID").removeClass("DisaBledBtn");
}
},
clearPoint() {
// 若最后一位为小数点则去掉
let str = this.inputOtherM + "";
if (str.lastIndexOf(".") == str.length - 1) {
this.inputOtherM = str.substring(0, str.length - 1);
}
},
//input键盘弹起不会弹
ReturnToTop() {
document.scrollingElement.scrollTo(0, this.scrollTop);
},
//提现结果查询
transferResults() {
let this_ = this;
times++;
let loading = weui.loading("请稍后");
let params = {
accountNo: bankInfo.acctNoArray,
businessNo: businessNo,
orderSerialNo: orderSerialNo, //提现指令号
schoolId: bankInfo.schoolId,
userId: userID,
sessionid: sessionID,
wechattype: 1,
};
$.ajax({
url: gHost + "/bank-wechat/transfer/query",
type: "POST",
contentType: "application/x-www-form-urlencoded",
data: params,
success: function (res7) {
if (res7.code == "10000") {
if (res7.results.status == 0 || res7.results.status == 1) {
//status 状态 0:失败;1:成功;2:处理中 返回处理中,需要调用“提现(提现)结果查询”接口查结果
loading.hide();
if (res7.results.status == 0) {
weui.topTips(res7.results.bizMsg);
} else {
weui.toast("提现成功!", 1500);
}
setTimeout(() => {
location.reload();
}, 2000);
} else {
if (times == 3) {
loading.hide();
weui.topTips("当前提现人数过多,请至我的账户中查看余额");
setTimeout(() => {
this_.BackToMini("UserMain");
}, 1500);
} else {
setTimeout((res) => {
this_.transferResults();
}, 2000);
}
}
} else {
loading.hide();
weui.topTips(res7.message);
}
},
error: function (err) {
loading.hide();
},
});
},
//充值结果查询
depositResults() {
let this_ = this;
times++;
let loading = weui.loading("请稍后");
let params = {
businessNo: businessNo,
schoolId: bankInfo.schoolId,
userId: userID,
sessionid: sessionID,
wechattype: 1,
};
$.ajax({
url: gHost + "/bank-wechat/recharge/query",
type: "POST",
contentType: "application/x-www-form-urlencoded",
data: params,
success: function (res8) {
if (res8.code == "10000") {
if (
res8.results.orderStatus == 3 ||
res8.results.orderStatus == 4
) {
//orderStatus 0:初始值,1:已提交,2:未知,3:失败,4:成功,5:成功未打款
loading.hide();
if (res8.results.orderStatus == 3) {
weui.topTips(res8.results.errMsg);
} else {
weui.toast("充值成功!", 1500);
}
setTimeout(() => {
location.reload();
}, 2000);
} else {
if (times == 3) {
loading.hide();
weui.topTips("当前充值人数过多,请至我的账户中查看余额");
setTimeout(() => {
this_.BackToMini("UserMain");
}, 1500);
} else {
setTimeout((res) => {
this_.depositResults();
}, 2000);
}
}
} else {
loading.hide();
weui.topTips(res8.message);
}
},
error: function (err) {
loading.hide();
},
});
},
//充值/提现方法
DoNextStep() {
let this_ = this;
console.log("请填写验证码");
if (this_.VerifyCode == "") {
weui.topTips("请填写验证码");
return;
}
if (limitClick) {
return;
} else {
limitClick = true;
setTimeout(() => {
limitClick = false;
}, 3000);
}
let loading = weui.loading("请稍后");
times = 0;
if (opeType == 0) {
//充值
let params = {
businessNo: businessNo,
otpOrderNo: otpOrderNo,
fromAccNo: payCardNumber, //付款账户
otpValue: this.VerifyCode, //验证码
transAmt: this.inputOtherM * 1, //交易金额
schoolId: bankInfo.schoolId,
userId: userID,
sessionid: sessionID,
wechattype: 1,
};
$.ajax({
url: gHost + "/bank-wechat/recharge",
type: "POST",
contentType: "application/x-www-form-urlencoded",
data: params,
success: function (res5) {
if (res5.code == "10000") {
if (res5.errCode && res5.errCode == "TI009") {
loading.hide();
weui.topTips(res5.results.errMsg);
setTimeout(function () {
$(".RechargeException").siblings().hide();
$(".RechargeException").show();
});
return;
}
if (
res5.results.orderStatus == 3 ||
res5.results.orderStatus == 4
) {
//orderStatus 0:初始值,1:已提交,2:未知,3:失败,4:成功,5:成功未打款
if (res5.results.orderStatus == 3) {
loading.hide();
weui.topTips(res5.results.errMsg);
} else {
loading.hide();
weui.toast("充值成功!", 1500);
}
setTimeout(() => {
location.reload();
}, 2000);
} else {
setTimeout(() => {
// loading.hide();
this_.depositResults();
}, 2000);
}
} else {
loading.hide();
weui.topTips(res5.message);
}
},
error: function (err) {
loading.hide();
},
});
} else if (opeType == 1) {
//提现
let params = {
accountName: bankInfo.trueName,
amount: $(".TxClsTx")[0].value * 1,
businessNo: businessNo,
fromAccountName: bankInfo.trueName,
fromAccountNo: bankInfo.acctNoArray,
otpOrderNo: otpOrderNo,
otpValue: $(".VerifyCode")[0].value, //验证码
toAccountNo: payCardNumber,
schoolId: bankInfo.schoolId,
userId: userID,
sessionid: sessionID,
wechattype: 1,
};
$.ajax({
url: gHost + "/bank-wechat/transfer/withdrawal",
type: "POST",
contentType: "application/x-www-form-urlencoded",
data: params,
success: function (res6) {
if (res6.code == "10000") {
orderSerialNo = res6.results.orderSerialNo;
if (res6.results.status == 1 || res6.results.status == 0) {
//状态 0:失败;1:成功;2:处理中 返回处理中,需要调用“提现(转账)结果查询”接口查结果
if (res6.results.status == 0) {
loading.hide();
weui.topTips(res6.results.bizMsg);
} else {
loading.hide();
weui.toast("提现成功!", 1500);
}
setTimeout(() => {
location.reload();
}, 2000);
} else {
setTimeout(() => {
// loading.hide();
transferResults();
}, 2000);
}
} else {
loading.hide();
weui.topTips(res6.message);
}
},
error: function (err) {
loading.hide();
},
});
}
},
//充值/提现判断
toDeposit(type) {
//type 0充值 1提现
let this_ = this;
businessNo = "";
otpOrderNo = "";
opeType = type;
if (type == 0) {
if (this.Money * 1 < 3) {
weui.topTips("充值金额必须大于3元");
return;
}
if (this.Money * 1 > this.RechargeMax * 1) {
weui.topTips(`充值金额不能大于${this.RechargeMax * 1}元`);
return;
}
} else {
if ($(".TxClsTx")[0].value * 1 < 0.01) {
weui.topTips("提现金额须大于等于0.01元");
return;
}
if ($(".TxClsTx")[0].value * 1 > this.RechargeMax * 1) {
weui.topTips(`提现金额不可大于账户余额`);
return;
}
}
this.open();
},
//发送验证码
SendMsg() {
let this_ = this;
if (this_.CodeMsg != "获取验证码") return false;
let loading = weui.loading("发送中");
if (opeType == 0) {
//充值
let params = {
fromAccNo: payCardNumber, //付款账户,
transAmt: this.Money * 1, //交易金额
schoolId: bankInfo.schoolId,
userId: userID,
sessionid: sessionID,
wechattype: 1,
};
$.ajax({
url: gHost + "/bank-wechat/otp/send/recharge",
type: "POST",
contentType: "application/x-www-form-urlencoded",
data: params,
success: function (res5) {
loading.hide();
if (res5.code == "10000") {
otpOrderNo = res5.results.otpOrderNo;
businessNo = res5.results.businessNo;
weui.toast("验证码已发送,请注意查收!", 1000);
this_.IntervalFun();
MyTimer = window.setInterval(IntervalFun, 1000);
} else {
weui.topTips(res5.message);
}
},
error: function (err) {
loading.hide();
},
});
} else if (opeType == 1) {
//提现
let params = {
accountNo: bankInfo.acctNoArray, //银行卡号
mobileNo: mobileNo, //手机号
"transferAccountBizKeyVO.accountName": bankInfo.trueName, //收款方户名
"transferAccountBizKeyVO.amount": $(".TxClsTx")[0].value * 1, //提现金额
"transferAccountBizKeyVO.fromAccountName": bankInfo.trueName, //转出户名
"transferAccountBizKeyVO.fromAccountNo": bankInfo.acctNoArray, //转出卡号(互联网账户卡号)
"transferAccountBizKeyVO.toAccountNo": payCardNumber, //收款方卡号(绑定卡卡号)
schoolId: bankInfo.schoolId,
userId: userID,
sessionid: sessionID,
wechattype: 1,
};
$.ajax({
url: gHost + "/bank-wechat/otp/send/transfer/account",
type: "POST",
contentType: "application/x-www-form-urlencoded",
data: params,
success: function (res5) {
loading.hide();
if (res5.code == "10000") {
otpOrderNo = res5.results.otpOrderNo;
businessNo = res5.results.businessNo;
weui.toast("验证码已发送,请注意查收!", 1000);
this_.IntervalFun();
MyTimer = window.setInterval(this_.IntervalFun, 1000);
} else {
weui.topTips(res5.message);
}
},
error: function (err) {
loading.hide(res5.message);
},
});
}
},
//换绑卡
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();
},
});
},
//查询一类卡绑定列表
queryBindCardList() {
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") {
var divList = "";
var choiceIndex = 0;
for (
let i = 0;
i < res4.results.accountList[0].bindcardList.length;
i++
) {
divList += `<div onclick=ChangeCardPay('${
res4.results.accountList[0].bindcardList[i].bankName
}','${res4.results.accountList[0].bindcardList[i].bindCardNo}')>
<p>${
res4.results.accountList[0].bindcardList[i].bankName
}</p>
<p>${
res4.results.accountList[0].bindcardList[
i
].bindCardNo.substr(0, 4) +
" **** **** " +
res4.results.accountList[0].bindcardList[
i
].bindCardNo.substr(-4)
}</p>
<img class='myImg${i} BankListImg' src='img/choiceBank.png'>
</div>`
if (res4.results.accountList[0].bindcardList[i].bindCardNo == payCardNumber) {
choiceIndex = i;
}
}
$('.hideListCover').html(divList);
$(`.myImg${choiceIndex}`).css('display', 'block');
$('.showBindCardList').css('display', 'block');
} else {
weui.topTips(res4.message)
}
},
error: function(err) {
loading.hide();
},
});
},
//获取银行余额
queryBankInfo() {
let this_ = this;
let loading = weui.loading('请稍后');
$.ajax({
url: gHost + '/bank-wechat/query/balance',
type: "POST",
timeout: 8000,
contentType: "application/x-www-form-urlencoded",
data: bankInfo,
success: function(res3) {
loading.hide();
if (res3.code == "10000") {
if (res3.results.acctInfoList == null) {
weui.topTips("账户信息为空,余额查询失败");
} else {
this_.cardBalanceTx = ((res3.results.acctInfoList[0].hqBalanceDTOList[0]
.balance *
1).toFixed(2));
$('.TxClsTx').attr('placeholder',
`可提现金额${(res3.results.acctInfoList[0].hqBalanceDTOList[0].balance*1).toFixed(2)}元`
)
this_.RechargeMax = ((2000 - ((res3.results.acctInfoList[0]
.hqBalanceDTOList[0]
.balance * 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") {
bankInfo.acctNoArray = res2.results.accountNo;
bankInfo.idNo = res2.results.idNo;
bankInfo.trueName = res2.results.trueName;
payCardNumber = res2.results.bindCardNo;
$('.bankNameClass').html(
`${res2.results.bindCardName}(${res2.results.bindCardNo.substr(-4)})`);
$('.bankNameClass1').html(res2.results.bindCardName + '(储蓄卡)');
$('.payCardEndNo').html('尾号' + res2.results.bindCardNo.substr(-4));
$('.myPhoneTx').html(res2.results.mobileNo);
mobileNo = res2.results.mobileNo;
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;
$('.userNameTx').html(res1.results.name);
$('.schoolNameTx').html(res1.results.schoolname);
$('.ClsNameTx').html(res1.results.gradename + res1.results.classname);
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();
},
});
},
// 充值账户异常资料补充
// recharge/acctErrorUpdateResource
acctErrorUpdateResource() {
acctErrorUpdateParms.businessNo = wefileId.businessNo; //业务流水号
acctErrorUpdateParms.schoolId = bankInfo.schoolId;
acctErrorUpdateParms.userId = userID;
acctErrorUpdateParms.homeAddress = acctErrorUpdateParms.homeAddress + acctErrorUpdateParms
.StreetInformation
let {
backSideImgId,
frontSideImgId,
homeAddress,
occupation
} = acctErrorUpdateParms
acctErrorUpdateParms.sessionid = sessionID
acctErrorUpdateParms.wechattype = 1
if (!occupation) {
weui.topTips("请选择职业信息");
return
}
if (!homeAddress) {
weui.topTips("请选择家庭住址");
return
}
if (!backSideImgId) {
weui.topTips("请上传反面身份证图片");
return
}
if (!frontSideImgId) {
weui.topTips("请上传正面身份证图片");
return
}
let loading = weui.loading('信息更新中,请稍后');
return new Promise((resolve, reject) => {
$.ajax({
url: gHost + '/bank-wechat/recharge/acctErrorUpdateResource',
type: "POST",
contentType: "application/x-www-form-urlencoded",
data: acctErrorUpdateParms,
timeout: 8000, //超时时间设置,单位毫秒
success: function(res) {
loading.hide();
if (res.code == '000000') {
weui.topTips("信息更新成功", {
duration: 3000, //3秒后消失
className: 'weui-toptips_success', //自定义类名
callback: function() {
//回调函数
console.log('close')
window.location.reload()
}
});
resolve(res)
} else {
weui.topTips("信息更新失败," + res.message);
loading.hide();
reject(res.message)
}
},
error: function(err) {
loading.hide();
reject(err)
},
})
})
},
//点击上传文件
uploaderInput(e, CredType) {
let fileInfo = e[0];
let fileTypeList = fileInfo.name.split(".");
let fileType = fileTypeList[fileTypeList.length - 1];
if (!(fileType == "jpg" || fileType == "png")) {
weui.topTips("不符合的文件格式,请重新选择");
return;
}
let formData = new FormData();
formData.append("project", wefileId.project)
formData.append("file", fileInfo)
formData.append("fileName", fileInfo.name)
formData.append("expiredTime", wefileId.expiredTime)
formData.append("uuid", wefileId.uuid)
formData.append("wefileToken", wefileId.wefileToken)
formData.append("wefileUrl", wefileId.wefileUrl)
formData.append("sessionid", sessionID)
formData.append("wechattype", 1)
this.UploadIDCardInfo(wefileId.wefileUrl, formData, CredType)
},
// 【获取上传影像token接口】中已经返回了请求地址
UploadIDCardInfo(url, formData, type) {
let loading = weui.loading('请稍后,正在上传');
return new Promise((resolve, reject) => {
return new Promise((resolve, reject) => {
$.ajax({
url: gHost +
`/bank-wechat-server/wefile/upload?wechattype=1&sessionid=${sessionID}`,
type: "post",
data: formData,
processData: false,
contentType: false,
success: function(res) {
console.log(res);
if (res.code == '10000') {
if (type == 1) {
acctErrorUpdateParms.frontSideImgId = res.results;
} else {
acctErrorUpdateParms.backSideImgId = res.results;
}
weui.topTips("上传成功", {
duration: 3000, //3秒后消失
className: 'weui-toptips_success', //自定义类名
callback: function() {}
});
loading.hide();
resolve(res)
} else {
weui.topTips(res.message);
loading.hide();
reject(res.message)
}
},
error: function(err) {
loading.hide();
weui.topTips("上传失败!请检查");
reject(err)
},
})
})
})
},
getWefileId(fileType = 'jpg/png/jpeg') {
let loading = weui.loading('请稍后');
return new Promise((resolve, reject) => {
$.ajax({
url: gHost + '/bank-wechat/wefile/wefileId',
type: "post",
data: {
Authorization: this.getQueryParams('seesionID'),
businessNo: businessNo,
fileType: fileType, //jpg/png/doc/docx/txt/pdf/ppt/xls/xlsx/pptx/jpeg
schoolId: bankInfo.schoolId,
userId: userID,
sessionid: sessionID,
wechattype: 1
},
success: function(res) {
loading.hide();
if (res.code == "10000") {
wefileId = res.results
resolve(res.results)
} else {
reject(res.message)
}
},
error: function(err) {
loading.hide();
reject(err)
},
})
})
},
//街道信息
StreetInformation(e) {
let value = $(e)[0].value;
console.log(value);
acctErrorUpdateParms.StreetInformation = value
},
//立即更新
UpdateRechargeException() {
this.acctErrorUpdateResource()
},
// query/getOccupationList职业信息接口
getOccupationList() {
let loading = weui.loading('请稍后');
return new Promise((resolve, reject) => {
$.ajax({
url: gHost + '/bank-wechat/query/getOccupationList',
type: "post",
data: {
sessionid: sessionID,
wechattype: 1
},
headers: {
'Authorization': getQueryParams('seesionID'),
},
success: function(res) {
loading.hide();
if (res.code == "10000") {
resolve(res.results)
} else {
reject(res.message)
}
},
error: function(err) {
loading.hide();
reject(err)
},
})
})
},
//获取参数
getQueryParams(params) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
if (pair[0] == params) {
return pair[1];
}
}
return (false);
}
}
}
</div>`;
if (
res4.results.accountList[0].bindcardList[i].bindCardNo ==
payCardNumber
) {
choiceIndex = i;
}
}
$(".hideListCover").html(divList);
$(`.myImg${choiceIndex}`).css("display", "block");
$(".showBindCardList").css("display", "block");
} else {
weui.topTips(res4.message);
}
},
error: function (err) {
loading.hide();
},
});
},
//获取银行余额
queryBankInfo() {
let this_ = this;
let loading = weui.loading("请稍后");
$.ajax({
url: gHost + "/bank-wechat/query/balance",
type: "POST",
timeout: 8000,
contentType: "application/x-www-form-urlencoded",
data: bankInfo,
success: function (res3) {
loading.hide();
if (res3.code == "10000") {
if (res3.results.acctInfoList == null) {
weui.topTips("账户信息为空,余额查询失败");
} else {
this_.cardBalanceTx = (
res3.results.acctInfoList[0].hqBalanceDTOList[0].balance * 1
).toFixed(2);
$(".TxClsTx").attr(
"placeholder",
`可提现金额${(
res3.results.acctInfoList[0].hqBalanceDTOList[0].balance * 1
).toFixed(2)}元`
);
this_.RechargeMax = (
2000 -
(
res3.results.acctInfoList[0].hqBalanceDTOList[0].balance * 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") {
bankInfo.acctNoArray = res2.results.accountNo;
bankInfo.idNo = res2.results.idNo;
bankInfo.trueName = res2.results.trueName;
payCardNumber = res2.results.bindCardNo;
$(".bankNameClass").html(
`${res2.results.bindCardName}(${res2.results.bindCardNo.substr(
-4
)})`
);
$(".bankNameClass1").html(res2.results.bindCardName + "(储蓄卡)");
$(".payCardEndNo").html(
"尾号" + res2.results.bindCardNo.substr(-4)
);
$(".myPhoneTx").html(res2.results.mobileNo);
mobileNo = res2.results.mobileNo;
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;
$(".userNameTx").html(res1.results.name);
$(".schoolNameTx").html(res1.results.schoolname);
$(".ClsNameTx").html(
res1.results.gradename + res1.results.classname
);
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();
},
});
},
// 充值账户异常资料补充
// recharge/acctErrorUpdateResource
acctErrorUpdateResource() {
acctErrorUpdateParms.businessNo = wefileId.businessNo; //业务流水号
acctErrorUpdateParms.schoolId = bankInfo.schoolId;
acctErrorUpdateParms.userId = userID;
acctErrorUpdateParms.homeAddress =
acctErrorUpdateParms.homeAddress +
acctErrorUpdateParms.StreetInformation;
let { backSideImgId, frontSideImgId, homeAddress, occupation } =
acctErrorUpdateParms;
acctErrorUpdateParms.sessionid = sessionID;
acctErrorUpdateParms.wechattype = 1;
if (!occupation) {
weui.topTips("请选择职业信息");
return;
}
if (!homeAddress) {
weui.topTips("请选择家庭住址");
return;
}
if (!backSideImgId) {
weui.topTips("请上传反面身份证图片");
return;
}
if (!frontSideImgId) {
weui.topTips("请上传正面身份证图片");
return;
}
let loading = weui.loading("信息更新中,请稍后");
return new Promise((resolve, reject) => {
$.ajax({
url: gHost + "/bank-wechat/recharge/acctErrorUpdateResource",
type: "POST",
contentType: "application/x-www-form-urlencoded",
data: acctErrorUpdateParms,
timeout: 8000, //超时时间设置,单位毫秒
success: function (res) {
loading.hide();
if (res.code == "000000") {
weui.topTips("信息更新成功", {
duration: 3000, //3秒后消失
className: "weui-toptips_success", //自定义类名
callback: function () {
//回调函数
console.log("close");
window.location.reload();
},
});
resolve(res);
} else {
weui.topTips("信息更新失败," + res.message);
loading.hide();
reject(res.message);
}
},
error: function (err) {
loading.hide();
reject(err);
},
});
});
},
//点击上传文件
uploaderInput(e, CredType) {
let fileInfo = e[0];
let fileTypeList = fileInfo.name.split(".");
let fileType = fileTypeList[fileTypeList.length - 1];
if (!(fileType == "jpg" || fileType == "png")) {
weui.topTips("不符合的文件格式,请重新选择");
return;
}
let formData = new FormData();
formData.append("project", wefileId.project);
formData.append("file", fileInfo);
formData.append("fileName", fileInfo.name);
formData.append("expiredTime", wefileId.expiredTime);
formData.append("uuid", wefileId.uuid);
formData.append("wefileToken", wefileId.wefileToken);
formData.append("wefileUrl", wefileId.wefileUrl);
formData.append("sessionid", sessionID);
formData.append("wechattype", 1);
this.UploadIDCardInfo(wefileId.wefileUrl, formData, CredType);
},
// 【获取上传影像token接口】中已经返回了请求地址
UploadIDCardInfo(url, formData, type) {
let loading = weui.loading("请稍后,正在上传");
return new Promise((resolve, reject) => {
return new Promise((resolve, reject) => {
$.ajax({
url:
gHost +
`/bank-wechat-server/wefile/upload?wechattype=1&sessionid=${sessionID}`,
type: "post",
data: formData,
processData: false,
contentType: false,
success: function (res) {
console.log(res);
if (res.code == "10000") {
if (type == 1) {
acctErrorUpdateParms.frontSideImgId = res.results;
} else {
acctErrorUpdateParms.backSideImgId = res.results;
}
weui.topTips("上传成功", {
duration: 3000, //3秒后消失
className: "weui-toptips_success", //自定义类名
callback: function () {},
});
loading.hide();
resolve(res);
} else {
weui.topTips(res.message);
loading.hide();
reject(res.message);
}
},
error: function (err) {
loading.hide();
weui.topTips("上传失败!请检查");
reject(err);
},
});
});
});
},
getWefileId(fileType = "jpg/png/jpeg") {
let loading = weui.loading("请稍后");
return new Promise((resolve, reject) => {
$.ajax({
url: gHost + "/bank-wechat/wefile/wefileId",
type: "post",
data: {
Authorization: this.getQueryParams("seesionID"),
businessNo: businessNo,
fileType: fileType, //jpg/png/doc/docx/txt/pdf/ppt/xls/xlsx/pptx/jpeg
schoolId: bankInfo.schoolId,
userId: userID,
sessionid: sessionID,
wechattype: 1,
},
success: function (res) {
loading.hide();
if (res.code == "10000") {
wefileId = res.results;
resolve(res.results);
} else {
reject(res.message);
}
},
error: function (err) {
loading.hide();
reject(err);
},
});
});
},
//街道信息
StreetInformation(e) {
let value = $(e)[0].value;
console.log(value);
acctErrorUpdateParms.StreetInformation = value;
},
//立即更新
UpdateRechargeException() {
this.acctErrorUpdateResource();
},
// query/getOccupationList职业信息接口
getOccupationList() {
let loading = weui.loading("请稍后");
return new Promise((resolve, reject) => {
$.ajax({
url: gHost + "/bank-wechat/query/getOccupationList",
type: "post",
data: {
sessionid: sessionID,
wechattype: 1,
},
headers: {
Authorization: getQueryParams("seesionID"),
},
success: function (res) {
loading.hide();
if (res.code == "10000") {
resolve(res.results);
} else {
reject(res.message);
}
},
error: function (err) {
loading.hide();
reject(err);
},
});
});
},
//获取参数
getQueryParams(params) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
if (pair[0] == params) {
return pair[1];
}
}
return false;
},
},
};
</script>
<style scoped lang="scss">
html,
body,
page {
width: 750rpx;
background: linear-gradient(180deg, #FFFFFF 0%, #FAFAFA 100%);
}
.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 {
margin-top: 147rpx;
}
.HidenText,
.Balance {
padding-left: 46rpx;
padding-right: 40rpx;
display: flex;
justify-content: space-between;
font-size: 28rpx;
color: #FFFFFF;
}
.Balance {
margin-top: 20rpx;
}
.Recharge {
display: flex;
justify-content: space-between;
margin-top: 70rpx;
}
.Recharge .leftdiv {
width: 192rpx;
height: 67rpx;
font-size: 48rpx;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #010101;
line-height: 67rpx;
}
.Recharge .rightdiv {
height: 67rpx;
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #999999;
line-height: 67rpx;
}
.Recharge .rightdiv image {
position: relative;
width: 20rpx;
height: 20rpx;
}
.headview {
display: flex;
justify-content: space-between;
padding-left: 40rpx;
padding-right: 40rpx;
padding-top: 36rpx;
}
.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 {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
height: auto;
color: #333333;
}
.choiceClass {
background: #01BC73 !important;
color: #fff;
}
.MoneyBox view {
width: 206rpx;
height: 133rpx;
background: #F5F5F5;
border-radius: 8rpx;
margin-top: 26rpx;
text-align: center;
position: relative;
}
.depotMoney .value {
font-size: 48rpx;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
line-height: 133rpx;
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: center;
color: #999999;
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #999999;
line-height: 40rpx;
margin-top: 26rpx;
}
.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: 30rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #666666;
line-height: 98rpx;
}
.payType view::nth-child(2) {
width: 225rpx;
height: 45rpx;
font-size: 32rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
line-height: 45rpx;
}
.switchbankCard {
width: 224px;
height: 40rpx;
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #999999;
line-height: 40rpx;
margin-top: 12rpx;
}
.arrow {
transform: rotate(-45deg);
top: -1rpx;
border: solid #999999;
border-width: 0 1rpx 1rpx 0;
display: inline-block;
padding: 8rpx;
position: relative;
}
.DepositID {
width: 630rpx;
height: 92rpx;
background: #04BA73;
border-radius: 8rpx;
margin: 0 auto;
text-align: center;
bottom: 30rpx;
position: fixed;
left: 0;
right: 0;
}
.DepositID span {
height: 50rpx;
font-size: 36rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #FFFFFF;
line-height: 92rpx;
}
.MyPhoneCls {
position: fixed;
width: 562rpx;
height: 497rpx;
left: 0;
right: 0;
top: 460rpx;
margin: 0 auto;
font-size: 30rpx;
background: #fff;
border-radius: 8rpx;
}
.closePhoneBox {
width: 35rpx;
height: 35rpx;
background: #7E7E7E;
position: relative;
left: 522rpx;
top: -52rpx;
line-height: 30rpx;
text-align: center;
color: #BEBEBE;
border-radius: 100%;
border: 2px solid #BEBEBE;
}
.doBtnTx {
width: 506rpx;
height: 92rpx;
background: #04BA73;
border-radius: 8rpx;
color: #FFFFFF;
position: absolute;
left: 0;
right: 0;
margin: 0 auto;
bottom: 38rpx;
}
.MyPhoneCls input {
border: none;
outline: none;
height: 80rpx;
line-height: 80rpx;
padding-left: 50rpx;
}
.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: 28rpx;
font-weight: 600;
line-height: 80rpx;
letter-spacing: 3rpx;
}
.placeholderInput {
color: #AAAAAA;
font-size: 32rpx;
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;
}
.depositImg {
width: 14rpx;
vertical-align: middle;
margin-right: 8rpx;
}
.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;
}
// 异常处理
.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;
}
html,
body,
page {
width: 750rpx;
background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
}
.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 {
margin-top: 147rpx;
}
.HidenText,
.Balance {
padding-left: 46rpx;
padding-right: 40rpx;
display: flex;
justify-content: space-between;
font-size: 28rpx;
color: #ffffff;
}
.Balance {
margin-top: 20rpx;
}
.Recharge {
display: flex;
justify-content: space-between;
margin-top: 70rpx;
}
.Recharge .leftdiv {
width: 192rpx;
height: 67rpx;
font-size: 48rpx;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: #010101;
line-height: 67rpx;
}
.Recharge .rightdiv {
height: 67rpx;
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #999999;
line-height: 67rpx;
}
.Recharge .rightdiv image {
position: relative;
width: 20rpx;
height: 20rpx;
}
.headview {
display: flex;
justify-content: space-between;
padding-left: 40rpx;
padding-right: 40rpx;
padding-top: 36rpx;
}
.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 {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
height: auto;
color: #333333;
}
.choiceClass {
background: #01bc73 !important;
color: #fff;
}
.MoneyBox view {
width: 206rpx;
height: 133rpx;
background: #f5f5f5;
border-radius: 8rpx;
margin-top: 26rpx;
text-align: center;
position: relative;
}
.depotMoney .value {
font-size: 48rpx;
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
line-height: 133rpx;
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: center;
color: #999999;
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #999999;
line-height: 40rpx;
margin-top: 26rpx;
}
.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: 30rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #666666;
line-height: 98rpx;
}
.payType view::nth-child(2) {
width: 225rpx;
height: 45rpx;
font-size: 32rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
line-height: 45rpx;
}
.switchbankCard {
width: 224px;
height: 40rpx;
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #999999;
line-height: 40rpx;
margin-top: 12rpx;
}
.arrow {
transform: rotate(-45deg);
top: -1rpx;
border: solid #999999;
border-width: 0 1rpx 1rpx 0;
display: inline-block;
padding: 8rpx;
position: relative;
}
.DepositID {
width: 630rpx;
height: 92rpx;
background: #04ba73;
border-radius: 8rpx;
margin: 0 auto;
text-align: center;
bottom: 30rpx;
position: fixed;
left: 0;
right: 0;
}
.DepositID span {
height: 50rpx;
font-size: 36rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #ffffff;
line-height: 92rpx;
}
.MyPhoneCls {
position: fixed;
width: 562rpx;
height: 497rpx;
left: 0;
right: 0;
top: 460rpx;
margin: 0 auto;
font-size: 30rpx;
background: #fff;
border-radius: 8rpx;
}
.closePhoneBox {
width: 35rpx;
height: 35rpx;
background: #7e7e7e;
position: relative;
left: 522rpx;
top: -52rpx;
line-height: 30rpx;
text-align: center;
color: #bebebe;
border-radius: 100%;
border: 2px solid #bebebe;
}
.doBtnTx {
width: 506rpx;
height: 92rpx;
background: #04ba73;
border-radius: 8rpx;
color: #ffffff;
position: absolute;
left: 0;
right: 0;
margin: 0 auto;
bottom: 38rpx;
}
.MyPhoneCls input {
border: none;
outline: none;
height: 80rpx;
line-height: 80rpx;
padding-left: 50rpx;
}
.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: 28rpx;
font-weight: 600;
line-height: 80rpx;
letter-spacing: 3rpx;
}
.placeholderInput {
color: #aaaaaa;
font-size: 32rpx;
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;
}
.depositImg {
width: 14rpx;
vertical-align: middle;
margin-right: 8rpx;
}
.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;
}
// 异常处理
.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;
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment