Commit 81d2a368 authored by 李智书's avatar 李智书

Merge branch 'develop' into uat

parents 50dec480 2a5c403c
...@@ -125,7 +125,7 @@ ...@@ -125,7 +125,7 @@
"path": "pages/IcbcModule/Recharge/Recharge", "path": "pages/IcbcModule/Recharge/Recharge",
"style": { "style": {
"navigationStyle": "custom", "navigationStyle": "custom",
"navigationBarTitleText": "充值", "navigationBarTitleText": "电子校园卡",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
...@@ -263,7 +263,7 @@ ...@@ -263,7 +263,7 @@
"path": "pages/BankModule/Recharge/Recharge", "path": "pages/BankModule/Recharge/Recharge",
"style": { "style": {
"navigationStyle": "custom", "navigationStyle": "custom",
"navigationBarTitleText": "充值", "navigationBarTitleText": "电子校园卡",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
...@@ -433,7 +433,25 @@ ...@@ -433,7 +433,25 @@
} }
} }
], , {
"path": "pages/commonProblem/commonProblem",
"style": {
"navigationBarTitleText": "常见问题",
"navigationStyle": "custom",
"enablePullDownRefresh": false
}
}
,{
"path" : "pages/problemDetail/problemDetail",
"style" :
{
"navigationBarTitleText": "",
"enablePullDownRefresh": false
}
}
],
"globalStyle": { "globalStyle": {
"navigationBarTextStyle": "black", "navigationBarTextStyle": "black",
"navigationBarTitleText": "校智付", "navigationBarTitleText": "校智付",
......
This source diff could not be displayed because it is too large. You can view the blob instead.
<template> <template>
<view class="container"> <view class="container">
<view class="contentBox" v-if="!depotMoneyother"> <view class="userInfoBox">
<!-- <image mode='widthFix' src="https://xiaopay2020.oss-cn-shenzhen.aliyuncs.com/static/weapp/images/xiaopaycard (31).png"></image> --> <view class="firstLine">
<view class="contentDiv"> <view class="avatar">
<view class="headview"> <image :src="ImgUrl + 'user/personAva.png'" alt=""></image>
<view class="schoolname">{{ PersonalInfo.schoolname }}</view> </view>
<view class="IconCls">电子校园卡</view> <view class="name">{{ PersonalInfo.name }}</view>
</view> <view v-if="PersonalInfo.usertype == '1'">{{ PersonalInfo.gradename }}{{ PersonalInfo.classname }}</view>
<!-- 卡号显示 --> <view v-else>教职工</view>
<view class="cardNum"> </view>
<view class="cardNumleft" <view class="secondLine">{{ PersonalInfo.schoolname }}</view>
><span>账户:</span> **** **** **** </view>
{{ bankInfo_.accountNo.slice(bankInfo_.accountNo.length - 4) }} <view class="contentWrapper" v-if="!depotMoneyother">
<span>(工商III类户)</span> <view class="balanceWrapper">
</view> <view class="firstLine">
<view class="cardNumright" id="cardNumright" @click="CopyCardNumber" <view class="left">
>复制</view <view>可用余额(元) </view>
> <view>{{ cardBalanceTx }}</view>
</view> </view>
<view class="HidenText"> <view class="right">
<view class="userName" <van-popover v-model="showPopover" trigger="click" placement="bottom-end">
>姓名:<span>{{ PersonalInfo.name }}</span></view <view class="popoverItem" v-for="(item, index) in actions" @click="onSelect(item)" :id="item.id ? item.id : '#item'+index">
> {{item.text}}
<view class="StudentCls" v-if="PersonalInfo.usertype == '1'"> </view>
班级:{{ PersonalInfo.gradename }}({{ <template #reference>
<image class="icon" :src="ImgUrl + 'user/more.png'" alt=""></image>
</template>
</van-popover>
</view>
</view>
<view class="lastLine">
<view>**** **** **** {{ bankInfo_.accountNo.slice(bankInfo_.accountNo.length - 4)}}</view>
<view class="right" @click="ToWalletTx">
<!-- <image class="btn" :src="ImgUrl + 'user/cashBtn.png'" alt=""></image> -->
提现
</view>
</view>
</view>
</view>
<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" style="display: none">
<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 PersonalInfo.classname
}})</view }})</view>
> <view class="TeacherCls" v-else>教职工</view>
<view class="TeacherCls" v-else>教职工</view> </view>
</view> <view class="Balance">
<view class="Balance"> <view class="cardBalanceTx">余额:¥<span>{{ cardBalanceTx }}</span></view>
<view class="cardBalanceTx" <view @click="ToWalletTx">
>余额:¥<span>{{ cardBalanceTx }}</span></view <span style="display: inline-block; padding-right: 10rpx">余额提现</span>
> <image style="position: relative; width: 13rpx; height: 20rpx" class="ImgIcon1" mode="widthFix"
<view @click="ToWalletTx"> :src="ImgUrl + 'images/xiaopaycard (17).png'" alt=""></image>
<span style="display: inline-block; padding-right: 10rpx" </view>
>余额提现</span </view>
> </view>
<image <!-- 充值明细 -->
style="position: relative; width: 13rpx; height: 20rpx" <!-- <view style="display: none" class="RechargeDetailed" @click="BackToMini('purchaseDetail')">
class="ImgIcon1" 账户明细
mode="widthFix" </view> -->
:src="ImgUrl + 'images/xiaopaycard (17).png'" <!-- 充值账户 -->
alt="" <view class="Recharge">
></image> <span></span>
</view> <span>账户充值</span>
</view> </view>
</view> <!-- 充值的金额 -->
<!-- 充值明细 --> <!-- <view class="MoneyBox">
<view class="RechargeDetailed" @click="BackToMini('purchaseDetail')"> <view class="depotMoney" @click="depotMoney(item.value, index)"
账户明细 v-bind:class="MoneyIndex == index ? 'choiceClass' : ''" :data-money="item.value || 0"
</view> v-for="(item, index) in MoneyList" :key="index">
<!-- 充值账户 --> <span class="value">
<view class="Recharge"> {{ item.value }}
<span></span> </span>
<span>账户充值</span> <span style="font-size: 28rpx; font-weight: 600; margin-left: 7rpx">{{
</view> item.lable
<!-- 充值的金额 --> }}</span>
<view class="MoneyBox"> </view>
<view </view> -->
class="depotMoney" <view class="moneyWrapper">
@click="depotMoney(item.value, index)" <view class="moneyItem" @click="depotMoney(item.value, index)"
v-bind:class="MoneyIndex == index ? 'choiceClass' : ''" v-bind:class="MoneyIndex == index ? 'active' : ''" :data-money="item.value || 0"
:data-money="item.value || 0" v-for="(item, index) in MoneyList" :key="index">
v-for="(item, index) in MoneyList" <view> {{ item.value }}</view>
:key="index" <view> {{ item.lable }}</view>
> </view>
<span class="value"> <view class="other">
{{ item.value }} <input v-model="inputOtherM" @input="inputControl" @blur="ReturnToTop" placeholder="其他金额,最低3元"
</span> placeholder-class="placeholderinputOtherM" type="text" maxlength="6" />
<span style="font-size: 28rpx; font-weight: 600; margin-left: 7rpx">{{ </view>
item.lable </view>
}}</span> <!-- <view class="MoneyBox" style="display: none !important;">
<!-- <span class="tips" v-show="item.tips"> <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>
</view>
</view> -->
<!-- <span class="tips" v-show="item.tips">
{{item.tips}} {{item.tips}}
</span> --> </span> -->
</view> <!-- 充值限额提示 -->
</view> <view class="depositbox">
<!-- 充值限额提示 --> <image mode="widthFix" class="depositImg" src="../../../static/img/depositIcon.png"></image>
<view class="depositbox"> <span style="
<image
mode="widthFix"
class="depositImg"
src="../../../static/img/depositIcon.png"
></image>
<span
style="
vertical-align: middle; vertical-align: middle;
font-size: 28rpx; font-size: 28rpx;
color: #333333; color: #333333;
font-weight: 500; font-weight: 500;
" ">最大可充值金额:<span style="color: red"><span class="canDepositTx">{{ RechargeMax }}</span></span></span>
>最大可充值金额:<span style="color: red" </view>
><span class="canDepositTx">{{ RechargeMax }}</span></span <!-- 充值其它金额 -->
></span <!-- <view class="OtherMoney" v-if="isOtherMoney"> -->
> <view class="OtherMoney" style="display: none">
</view> <span></span>
<!-- 充值其它金额 --> <input v-model="inputOtherM" @input="inputControl" @blur="ReturnToTop" placeholder="请输入其他金额,最低3元"
<!-- <view class="OtherMoney" v-if="isOtherMoney"> --> placeholder-class="placeholderinputOtherM" type="text" maxlength="6" />
<view class="OtherMoney"> </view>
<span></span> <!-- 支付方式 -->
<input <view class="paytype">
v-model="inputOtherM" <view class="left">付款账户 </view>
@input="inputControl" <view class="right" @click="queryBindCardList">
@blur="ReturnToTop" {{ bankInfo_.bindCardName }}({{ bankInfo_.bindCardNo.slice(bankInfo_.bindCardNo.length - 4)}})
placeholder="请输入其他金额,最低3元" <van-icon name="arrow" />
placeholder-class="placeholderinputOtherM" </view>
type="text" </view>
maxlength="6" <view class="payType" style="display: none" @click="queryBindCardList">
/> <view>付款方式</view>
</view> <view>
<!-- 支付方式 --> {{ bankInfo_.bindCardName }}
<view class="payType" @click="queryBindCardList"> {{ bankInfo_.bindCardNo.slice(bankInfo_.bindCardNo.length - 4)
<view>付款方式</view> }}<span class="arrow"></span>
<view> </view>
{{ bankInfo_.bindCardName }} <!-- <view>{{bankInfo_.accountName}}({{bankInfo_.accountNo.slice(bankInfo_.accountNo.length-4)}}) <span
{{ 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> --> class="arrow"></span></view> -->
</view> </view>
<!-- <view class="" style="height: 1rpx;background-color: #DFDFDF;"></view> --> <!-- <view class="" style="height: 1rpx;background-color: #DFDFDF;"></view> -->
<!-- 充值生活费 --> <!-- 充值生活费 -->
<view class="bottomdiv"> <view class="bottomdiv">
<view <view class="DepositID" @click="toDeposit"
class="DepositID" v-bind:style="Money != '' ? '' : 'background: #e6e6e6 !important;'">
@click="toDeposit" <span>充值生活费</span>
v-bind:style="Money != '' ? '' : 'background: #e6e6e6 !important;'" </view>
> <!-- -->
<span>充值生活费</span> <!-- <view class="switchbankCard" @click="ChangeBankPay"
</view>
<!-- -->
<view class="switchbankCard" @click="ChangeBankPay"
>我要换银行卡支付</view >我要换银行卡支付</view
> > -->
</view> <view class="service">{{bankInfo_.accountName}}Ⅲ类户为您提供服务</view>
</view> </view>
<!-- 其他充值金额 --> </view>
<view class="contentBox" v-if="depotMoneyother"> <!-- 其他充值金额 -->
<view class="OtherTitle">充值金额</view> <view class="contentBox" style="display: none;" v-if="depotMoneyother">
<view class="inputOtherM"> <view class="OtherTitle">充值金额</view>
<span></span> <view class="inputOtherM">
<input <span></span>
v-model="inputOtherM" <input v-model="inputOtherM" @input="inputControl" placeholder-class="placeholderinputOtherM"
@input="inputControl" type="text" maxlength="6" />
placeholder-class="placeholderinputOtherM" </view>
type="text" <view class="OtherLine"></view>
maxlength="6" <!-- 充值范围 -->
/> <view class="Recharge_">
</view> <!-- <image mode="widthFix" class="depositImg" src="../../static/img/depositIcon.png"></image> -->
<view class="OtherLine"></view> <span>最大可充值金额:</span>
<!-- 充值范围 --> <span><span>3.00 ~ {{ RechargeMax }}</span></span>
<view class="Recharge_"> </view>
<!-- <image mode="widthFix" class="depositImg" src="../../static/img/depositIcon.png"></image> --> </view>
<span>最大可充值金额:</span> <!-- 弹出层 -->
<span <uni-popup ref="popup" :mask-click="false">
><span>3.00 ~ {{ RechargeMax }}</span></span <!-- 充值确认 -->
> <view class="RechargeConfirmationBox">
</view> <view class="RechargeInfo">
</view> <view class="closePhoneBox" @click="close()">
<!-- 弹出层 --> <image src="../../../static/img/close.png" mode="aspectFit"></image>
<uni-popup ref="popup" :mask-click="false"> </view>
<!-- 充值确认 --> <view class="RechargeInfo1"> 充值生活费 </view>
<view class="RechargeConfirmationBox"> <view style="width: 520rpx; height: 1rpx; background: #eeeeee"></view>
<view class="RechargeInfo"> <view class="ContenInfo">
<view class="closePhoneBox" @click="close()"> <view class="" v-if="isOtherMoney">
<image src="../../../static/img/close.png" mode="aspectFit"></image> 充值金额:{{ inputOtherM }}元
</view> </view>
<view class="RechargeInfo1"> 充值生活费 </view> <view class="" v-else> 充值金额:{{ Money }}元 </view>
<view style="width: 520rpx; height: 1rpx; background: #eeeeee"></view> <view class="">
<view class="ContenInfo"> 付款账户:{{ bankInfo_.bindCardName }}({{
<view class="" v-if="isOtherMoney">
充值金额:{{ inputOtherM }}
</view>
<view class="" v-else> 充值金额:{{ Money }}</view>
<view class="">
付款账户:{{ bankInfo_.bindCardName }}({{
bankInfo_.bindCardNo && bankInfo_.bindCardNo &&
bankInfo_.bindCardNo.slice(bankInfo_.bindCardNo.length - 4) bankInfo_.bindCardNo.slice(bankInfo_.bindCardNo.length - 4)
}}) }})
</view> </view>
</view> </view>
<view style="width: 520rpx; height: 1rpx; background: #eeeeee"></view> <view style="width: 520rpx; height: 1rpx; background: #eeeeee"></view>
<!-- 取消 确认充值按钮 --> <!-- 取消 确认充值按钮 -->
<view class="BtngGoup"> <view class="BtngGoup">
<view class="" @click="close()"> 取消 </view> <view class="" @click="close()"> 取消 </view>
<view class="" @click="ExchangeRecharge"> 确认充值 </view> <view class="" @click="ExchangeRecharge"> 确认充值 </view>
</view> </view>
</view> </view>
</view> </view>
</uni-popup> </uni-popup>
<!-- 选择银行卡 --> <!-- 选择银行卡 -->
<view class="selectCard"> <view class="selectCard">
<van-popup <van-popup v-model="popshow" round position="bottom" :style="{ height: '40%' }">
v-model="popshow" <!-- 银行卡列表 -->
round <view class="accountlist">
position="bottom" <!-- 切换绑定的一类卡列表 -->
:style="{ height: '30%' }" <view class="showBindCardList">
> <view class="choiceBox">选择付款账户</view>
<!-- 银行卡列表 --> <view class="cardsList">
<view class="accountlist"> <view class="ListItem" @click="ChangeCardPay(item)" v-for="(item, index) in bindcardList"
<!-- 切换绑定的一类卡列表 --> :key="index">
<view class="showBindCardList"> <span style="padding-right: 10px">{{ item.bindCardName }} </span>
<view class="choiceBox">选择付款账户</view> <span>尾号:{{item.bindCardNo.slice(item.bindCardNo.length - 4)}}</span>
<view <!-- <image class="BankListImg" src="../../../static/img/choiceBank.png"></image> -->
class="ListItem" </view>
@click="ChangeCardPay(item)" </view>
v-for="(item, index) in bindcardList" <view class="changeCard" @click="ChangeBankPay">我要换卡支付</view>
:key="index" </view>
> </view>
<span style="padding-right: 10px">{{ item.bindCardName }} </span> </van-popup>
<span </view>
>尾号:{{ </view>
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> </template>
<script> <script>
import { Dialog, Toast } from "vant"; import {
import keyboardPackage from "@/components/keyboard-package/keyboard-package.vue"; Dialog,
import cityData from "@/common/js/city.js"; Toast
var gHost = "https://" + window.location.host; } from "vant";
if (window.location.protocol != "https:") { import keyboardPackage from "@/components/keyboard-package/keyboard-package.vue";
gHost = "https://fpdev.xiaopay.net"; import cityData from "@/common/js/city.js";
// gHost = "/api"; var gHost = "https://" + window.location.host;
} if (window.location.protocol != "https:") {
let times = 0; gHost = "https://fpdev.xiaopay.net";
var limitClick = false; //禁止重复点击 // gHost = "/api";
var sessionID = "", }
userID = ""; let times = 0;
var payCardNumber = ""; //一类卡号 var limitClick = false; //禁止重复点击
var orderSerialNo = ""; //提现结果查询 指令号 var sessionID = "",
var businessNo = "", userID = "";
otpOrderNo = "", var payCardNumber = ""; //一类卡号
mobileNo = ""; var orderSerialNo = ""; //提现结果查询 指令号
var msCount = 60; //定时器 var businessNo = "",
var MyTimer = null; otpOrderNo = "",
var fromType = 0; //0转账 1提现 mobileNo = "";
var opeType = 0; //0充值 1提现 手机号验证 var msCount = 60; //定时器
var bankInfo = { var MyTimer = null;
acctNoArray: "", var fromType = 0; //0转账 1提现
idNo: "", var opeType = 0; //0充值 1提现 手机号验证
schoolId: "", var bankInfo = {
trueName: "", acctNoArray: "",
userId: "", idNo: "",
sessionid: "", schoolId: "",
wechattype: 1, trueName: "",
}; userId: "",
/** sessionid: "",
* 对象转拼接字符串 wechattype: 1,
* @param {*} res Object 需要转换的数据对象 };
*/ /**
function OforS(res) { * 对象转拼接字符串
var resL = 0; * @param {*} res Object 需要转换的数据对象
var outS = ""; */
for (var i in res) { function OforS(res) {
if (resL == 0) { var resL = 0;
outS += "" + i + "=" + res[i]; var outS = "";
} else { for (var i in res) {
outS += "&" + i + "=" + res[i]; if (resL == 0) {
} outS += "" + i + "=" + res[i];
resL++; } else {
} outS += "&" + i + "=" + res[i];
return outS; }
} resL++;
export default { }
components: { return outS;
keyboardPackage, }
}, export default {
name: "Recharge", components: {
data() { keyboardPackage,
return { },
popshow: false, name: "Recharge",
// 输入其它金额 data() {
isOtherMoney: false, return {
inputOtherM: "", showPopover: false,
RechargeException: false, // 通过 actions 属性来定义菜单选项
depotMoneyother: false, //其他充值 actions: [{
Money: "", //选择金额 text: "复制卡号",
MoneyIndex: -1, id: "cardNumright"
RechargeMax: "2000", //最大充值限制 }, {
ReflectMoney: "", //提现金额 text: "账户明细"
VerifyCode: "", //验证码 }, {
cardBalanceTx: "0", //余额 text: "常见问题"
CodeMsg: "获取验证码", }],
type: "number", popshow: false,
PersonalInfo: { // 输入其它金额
schoolname: "", isOtherMoney: false,
name: "", inputOtherM: "",
usertype: "1", RechargeException: false,
}, depotMoneyother: false, //其他充值
bankInfo_: { Money: "", //选择金额
accountNo: "**** **** **** 1234", MoneyIndex: -1,
bindCardName: "", RechargeMax: "2000", //最大充值限制
bindCardNo: "", ReflectMoney: "", //提现金额
}, VerifyCode: "", //验证码
ImgUrl: this.$ImgUrl, cardBalanceTx: "0", //余额
MoneyList: [ CodeMsg: "获取验证码",
{ type: "number",
lable: "", PersonalInfo: {
value: 100, schoolname: "",
}, name: "",
{ usertype: "1",
lable: "", },
value: 200, bankInfo_: {
}, accountNo: "**** **** **** 1234",
{ bindCardName: "",
lable: "", bindCardNo: "",
value: 500, },
}, ImgUrl: this.$ImgUrl,
{ MoneyList: [{
lable: "", lable: "",
value: 1000, value: 100,
}, },
], {
numberList: [], lable: "",
tempFiles1: "../../static/img/idCardBg1.png", //上传身份证临时选择文件 value: 200,
tempFiles2: "../../static/img/idCardBg0.png", },
//绑定的一类卡列表 {
bindcardList: [], lable: "",
}; value: 500,
}, },
onLoad: function (options) { {
console.log(options); lable: "",
// 初始化 value: 1000,
userID = options["userID"] || ""; },
sessionID = options["seesionID"] || ""; ],
fromType = options["fromType"] || ""; numberList: [],
bankInfo.sessionid = sessionID || ""; tempFiles1: "../../static/img/idCardBg1.png", //上传身份证临时选择文件
this.QueryUserInfo(); tempFiles2: "../../static/img/idCardBg0.png",
}, //绑定的一类卡列表
created: function () {}, bindcardList: [],
mounted: function () {}, };
methods: { },
async ChangeBankPay() { onLoad: function(options) {
uni.showLoading({ mask: true }); console.log(options);
let status = await this.accountCloseacceptStatusQuery(); // 初始化
uni.hideLoading(); userID = options["userID"] || "";
if (status !== 0) return false; sessionID = options["seesionID"] || "";
this.BackToMini("AssignAddCard"); fromType = options["fromType"] || "";
}, bankInfo.sessionid = sessionID || "";
accountCloseacceptStatusQuery() { this.QueryUserInfo();
return new Promise((resolve, reject) => { },
$.ajax({ created: function() {},
//查询是否提交销户 mounted: function() {},
url: methods: {
gHost + onSelect(action) {
"/bank-wechat/icbc/account/manager/accountCloseacceptStatusQuery", if (action.text == "复制卡号") {
type: "post", this.CopyCardNumber();
data: { } else if (action.text == "账户明细") {
schoolId: this.PersonalInfo.schoolid, this.BackToMini('purchaseDetail');
userId: this.PersonalInfo.id, } else if (action.text == "常见问题") {
wechattype: 1, uni.navigateTo({
sessionid: sessionID, url: `../../commonProblem/commonProblem`
}, })
contentType: "application/x-www-form-urlencoded", }
headers: { },
sessionid: sessionID, async ChangeBankPay() {
}, uni.showLoading({
success: ({ code, message, results }) => { mask: true
let status = results && results.status; // 0表示未申请,1申请中,2已销户,3销户申请失败 });
if (code === "10000" && status == "0") { let status = await this.accountCloseacceptStatusQuery();
} else if (code === "10000" && status == "1") { uni.hideLoading();
uni.showToast({ if (status !== 0) return false;
title: "您已提交销户申请,银行正在审核中。", this.BackToMini("AssignAddCard");
icon: "none", },
}); accountCloseacceptStatusQuery() {
} else { return new Promise((resolve, reject) => {
uni.showToast({ $.ajax({
title: message, //查询是否提交销户
icon: "none", url: gHost +
}); "/bank-wechat/icbc/account/manager/accountCloseacceptStatusQuery",
} type: "post",
resolve(status); data: {
}, schoolId: this.PersonalInfo.schoolid,
error: function (err) { userId: this.PersonalInfo.id,
uni.showToast({ wechattype: 1,
title: err.message || "请求失败", sessionid: sessionID,
icon: "none", },
}); contentType: "application/x-www-form-urlencoded",
reject(-1); headers: {
}, sessionid: sessionID,
}); },
}); success: ({
}, code,
// 验证码弹出框开启 message,
toDeposit() { results
if (this.isOtherMoney) { }) => {
if (this.inputOtherM == "") { let status = results && results.status; // 0表示未申请,1申请中,2已销户,3销户申请失败
uni.showModal({ if (code === "10000" && status == "0") {} else if (code === "10000" &&
title: "系统提示", status == "1") {
content: "请输入要充值的金额!", uni.showToast({
}); title: "您已提交销户申请,银行正在审核中。",
return; icon: "none",
} });
if (parseFloat(this.inputOtherM) * 1 < 3) { } else {
weui.topTips("充值金额必须大于3元"); uni.showToast({
return; title: message,
} icon: "none",
} else { });
if (this.Money == "") { }
uni.showModal({ resolve(status);
title: "系统提示", },
content: "请选择要充值的金额!", error: function(err) {
}); uni.showToast({
return; title: err.message || "请求失败",
} icon: "none",
if (parseFloat(this.inputOtherM) * 1 < 3) { });
weui.topTips("充值金额必须大于3元"); reject(-1);
return; },
} });
} });
this.$refs.popup.open("top"); },
}, // 验证码弹出框开启
// 验证码弹出框关闭 toDeposit() {
close() { if (this.isOtherMoney) {
this.$refs.popup.close(); if (this.inputOtherM == "") {
}, uni.showModal({
//切换到提现 title: "系统提示",
ToWalletTx() { content: "请输入要充值的金额!",
$("#DepositBox").css("display", "none"); });
$("#TxWalletBox").css("display", "block"); return;
// $('.TitleHeader').html('电子账户提现'); }
$(".doBtnTx").html("提现"); if (parseFloat(this.inputOtherM) * 1 < 3) {
opeType = 1; weui.topTips("充值金额必须大于3元");
uni.navigateTo({ return;
url: }
"../Reflect/Reflect?" + } else {
OforS({ if (this.Money == "") {
sessionID: sessionID, uni.showModal({
userID: userID, title: "系统提示",
}), content: "请选择要充值的金额!",
}); });
}, return;
//全部提现 }
TxAllFun() { if (parseFloat(this.inputOtherM) * 1 < 3) {
this.ReflectMoney = this.cardBalanceTx * 1; weui.topTips("充值金额必须大于3元");
// $('.TxClsTx').val($('.cardBalanceTx')[0].textContent * 1); return;
}, }
// 输入限制 }
inputControl(e) { this.$refs.popup.open("top");
let this_ = this; },
this_.MoneyIndex = -1; // 验证码弹出框关闭
this_.isOtherMoney = true; close() {
let obj = e.detail; this.$refs.popup.close();
this.$nextTick(function () { },
obj.value = obj.value.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符 //切换到提现
obj.value = obj.value.replace(/^\./g, ""); //验证第一个字符是数字而不是. ToWalletTx() {
obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的. $("#DepositBox").css("display", "none");
obj.value = obj.value $("#TxWalletBox").css("display", "block");
.replace(".", "$#$") // $('.TitleHeader').html('电子账户提现');
.replace(/\./g, "") $(".doBtnTx").html("提现");
.replace("$#$", "."); //只允许输入一个小数点 opeType = 1;
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3"); //只能输入两个小数 uni.navigateTo({
obj.value = url: "../Reflect/Reflect?" +
obj.value * 1 > this_.RechargeMax ? this_.RechargeMax : obj.value; OforS({
if (obj.value == "" || obj.value * 1 < 3) { sessionID: sessionID,
$(".DepositID").attr( userID: userID,
"style", }),
"background: rgb(230, 230, 230) !important;" });
); },
} else { //全部提现
$(".DepositID").removeAttr("style"); TxAllFun() {
} this.ReflectMoney = this.cardBalanceTx * 1;
this_.inputOtherM = obj.value; // $('.TxClsTx').val($('.cardBalanceTx')[0].textContent * 1);
}); },
}, // 输入限制
//input键盘弹起不会弹 inputControl(e) {
ReturnToTop() { let this_ = this;
// 若最后一位为小数点则去掉 this_.MoneyIndex = -1;
let str = this.inputOtherM + ""; this_.isOtherMoney = true;
if (str.lastIndexOf(".") == str.length - 1) { let obj = e.detail;
this.inputOtherM = str.substring(0, str.length - 1); this.$nextTick(function() {
} obj.value = obj.value.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符
this.$nextTick(function () { obj.value = obj.value.replace(/^\./g, ""); //验证第一个字符是数字而不是.
document.scrollingElement.scrollTo(0, this.scrollTop); obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的.
}); obj.value = obj.value
}, .replace(".", "$#$")
// 充值 .replace(/\./g, "")
async ExchangeRecharge() { .replace("$#$", "."); //只允许输入一个小数点
let amount, bindMedium, summary; obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3"); //只能输入两个小数
if (this.isOtherMoney) { obj.value =
if (this.inputOtherM == "") { obj.value * 1 > this_.RechargeMax ? this_.RechargeMax : obj.value;
uni.showModal({ if (obj.value == "" || obj.value * 1 < 3) {
title: "系统提示", $(".DepositID").attr(
content: "请输入要充值的金额!", "style",
}); "background: rgb(230, 230, 230) !important;"
return; );
} } else {
amount = this.inputOtherM * 1; $(".DepositID").removeAttr("style");
} else { }
if (this.Money == "") { this_.inputOtherM = obj.value;
uni.showModal({ });
title: "系统提示", },
content: "请选择要充值的金额!", //input键盘弹起不会弹
}); ReturnToTop() {
return; // 若最后一位为小数点则去掉
} let str = this.inputOtherM + "";
amount = this.Money * 1; if (str.lastIndexOf(".") == str.length - 1) {
} this.inputOtherM = str.substring(0, str.length - 1);
let this_ = this; }
uni.showLoading({ this.$nextTick(function() {
mask: true, document.scrollingElement.scrollTo(0, this.scrollTop);
title: "处理中......", });
}); },
try { // 充值
let status = await this.accountCloseacceptStatusQuery(); async ExchangeRecharge() {
if (status !== 0) { let amount, bindMedium, summary;
uni.hideLoading(); if (this.isOtherMoney) {
return false; if (this.inputOtherM == "") {
} uni.showModal({
} catch (e) { title: "系统提示",
uni.hideLoading(); content: "请输入要充值的金额!",
return false; });
} return;
}
$.ajax({ amount = this.inputOtherM * 1;
url: gHost + "/bank-wechat/icbc/account/exchange/recharge", } else {
type: "POST", if (this.Money == "") {
contentType: "application/x-www-form-urlencoded", uni.showModal({
data: { title: "系统提示",
schoolId: bankInfo.schoolId, content: "请选择要充值的金额!",
userId: userID, });
sessionid: sessionID, return;
wechattype: 1, }
amount: amount, amount = this.Money * 1;
bindMedium: this.bankInfo_.bindCardNo, }
summary: "充值", let this_ = this;
}, uni.showLoading({
headers: { mask: true,
sessionid: sessionID, title: "处理中......",
}, });
success: function (res5) { try {
uni.hideLoading(); let status = await this.accountCloseacceptStatusQuery();
if (res5.code == "10000") { if (status !== 0) {
this_.close(); uni.hideLoading();
setTimeout(() => { return false;
this_.queryBankInfo(); }
}, 3000); } catch (e) {
wx.showModal({ uni.hideLoading();
title: "充值申请已提交", return false;
content: "银行处理需要1-5分钟时间,充值结果以余额查询为准。", }
showCancel: false,
}); $.ajax({
} else { url: gHost + "/bank-wechat/icbc/account/exchange/recharge",
weui.topTips(res5.message); type: "POST",
} contentType: "application/x-www-form-urlencoded",
}, data: {
error: function (err) { schoolId: bankInfo.schoolId,
uni.hideLoading(); userId: userID,
}, sessionid: sessionID,
}); wechattype: 1,
}, amount: amount,
// 充值结果查询 bindMedium: this.bankInfo_.bindCardNo,
async ExchangeRechargeQuery(flowId, oriCorpSerno) { summary: "充值",
let this_ = this; },
let loading = Toast.loading({ headers: {
message: "加载中...", sessionid: sessionID,
forbidClick: true, },
loadingType: "spinner", success: function(res5) {
duration: 0, uni.hideLoading();
}); if (res5.code == "10000") {
$.ajax({ this_.close();
url: gHost + "/bank-wechat/icbc/account/exchange/rechargeQuery", setTimeout(() => {
type: "POST", this_.queryBankInfo();
contentType: "application/x-www-form-urlencoded", }, 3000);
data: { wx.showModal({
schoolId: bankInfo.schoolId, title: "充值申请已提交",
userId: userID, content: "银行处理需要1-5分钟时间,充值结果以余额查询为准。",
sessionid: sessionID, showCancel: false,
wechattype: 1, });
flowId: flowId, } else {
oriCorpSerno: oriCorpSerno, weui.topTips(res5.message);
}, }
headers: { },
sessionid: sessionID, error: function(err) {
}, uni.hideLoading();
success: function (res5) { },
loading.clear(); });
if (res5.code == "10000") { },
let appStatus = res5.results.appStatus; // 充值结果查询
if (appStatus == "4") { async ExchangeRechargeQuery(flowId, oriCorpSerno) {
uni.showModal({ let this_ = this;
title: "系统提示", let loading = Toast.loading({
content: "充值成功!", message: "加载中...",
}); forbidClick: true,
this_.queryBankInfo(); loadingType: "spinner",
} else { duration: 0,
uni.showModal({ });
title: "系统提示", $.ajax({
content: appStatus == "1" ? "申请已受理" : res5.message, url: gHost + "/bank-wechat/icbc/account/exchange/rechargeQuery",
}); type: "POST",
} contentType: "application/x-www-form-urlencoded",
} else { data: {
weui.topTips(res5.message); schoolId: bankInfo.schoolId,
uni.showModal({ userId: userID,
title: "系统提示", sessionid: sessionID,
content: res5.message, wechattype: 1,
}); flowId: flowId,
} oriCorpSerno: oriCorpSerno,
}, },
error: function (err) { headers: {
loading.clear(); sessionid: sessionID,
}, },
}); success: function(res5) {
}, loading.clear();
// 复制我卡号 if (res5.code == "10000") {
async CopyCardNumber() { let appStatus = res5.results.appStatus;
let value = this.bankInfo_.accountNo; if (appStatus == "4") {
Dialog({ uni.showModal({
title: "系统提示", title: "系统提示",
message: "复制成功!", content: "充值成功!",
}); });
this.$nextTick(function () { this_.queryBankInfo();
let clipboard = new ClipboardJS("#cardNumright", { } else {
text: function () { uni.showModal({
return value; title: "系统提示",
}, content: appStatus == "1" ? "申请已受理" : res5.message,
}); });
}); }
}, } else {
//选择输入其他金额 weui.topTips(res5.message);
OtherMoney() { uni.showModal({
this.depotMoneyother = true; title: "系统提示",
}, content: res5.message,
// 快捷选择金额 });
async depotMoney(value, MoneyIndex) { }
// console.log(value); },
// if (!value) { error: function(err) {
// this.isOtherMoney = true; loading.clear();
// this.Money = ""; },
// this.MoneyIndex = MoneyIndex; });
// return; },
// } // 复制我卡号
this.isOtherMoney = false; async CopyCardNumber() {
this.inputOtherM = ""; let value = this.bankInfo_.accountNo;
this.Money = parseInt(value); console.log(value, 'valuevaluevaluevaluevalue')
this.MoneyIndex = MoneyIndex; Dialog({
}, title: "系统提示",
//按钮操作 message: "复制成功!",
HideHTML(dom, type) { });
this.$nextTick(function () { this.$nextTick(function() {
if (type == 0) { let clipboard = new ClipboardJS("#cardNumright", {
$("." + dom).css("display", "none"); text: function() {
} else { return value;
$("." + dom).css("display", "block"); },
} });
}); });
}, },
//返回小程序 跳转指定页面 //选择输入其他金额
BackToMini(page) { OtherMoney() {
if (page == "UserMain" || page == "personalCenter") { this.depotMoneyother = true;
jWeixin.miniProgram.switchTab({ },
url: `/pages/${page}/main`, // 快捷选择金额
}); async depotMoney(value, MoneyIndex) {
} else { // console.log(value);
jWeixin.miniProgram.redirectTo({ // if (!value) {
url: `/pages/${page}/main`, // this.isOtherMoney = true;
}); // this.Money = "";
} // this.MoneyIndex = MoneyIndex;
}, // return;
//换绑卡 // }
ChangeCardPay(item) { this.isOtherMoney = false;
let this_ = this; this.inputOtherM = "";
if (bankInfo.bindCardNo == item.bindCardNo) { this.Money = parseInt(value);
return; this.MoneyIndex = MoneyIndex;
} },
var loading = weui.loading("请稍后"); //按钮操作
$.ajax({ HideHTML(dom, type) {
url: gHost + "/bank-wechat/icbc/account/bindcard/changeDefaultBinding", this.$nextTick(function() {
type: "POST", if (type == 0) {
contentType: "application/x-www-form-urlencoded", $("." + dom).css("display", "none");
data: { } else {
schoolId: bankInfo.schoolId, $("." + dom).css("display", "block");
userId: userID, }
sessionid: sessionID, });
wechattype: 1, },
bindMedium: item.bindCardNo, //返回小程序 跳转指定页面
bindMediumName: item.bindCardName, BackToMini(page) {
}, if (page == "UserMain" || page == "personalCenter") {
success: function (res5) { jWeixin.miniProgram.switchTab({
loading.hide(); url: `/pages/${page}/main`,
if (res5.code == "10000") { });
this_.queryUserBankInfo(); } else {
this_.close(); jWeixin.miniProgram.redirectTo({
} else { url: `/pages/${page}/main`,
weui.topTips(res5.message); });
} }
this_.popshow = false; },
}, //换绑卡
error: function (err) { ChangeCardPay(item) {
loading.hide(); let this_ = this;
}, if (bankInfo.bindCardNo == item.bindCardNo) {
}); return;
}, }
//查询一类卡绑定列表 var loading = weui.loading("请稍后");
queryBindCardList() { $.ajax({
let this_ = this; url: gHost + "/bank-wechat/icbc/account/bindcard/changeDefaultBinding",
let loading = weui.loading("请稍后"); type: "POST",
$.ajax({ contentType: "application/x-www-form-urlencoded",
url: gHost + "/bank-wechat/icbc/account/bindcard/bindingList", data: {
type: "POST", schoolId: bankInfo.schoolId,
contentType: "application/x-www-form-urlencoded", userId: userID,
data: { sessionid: sessionID,
mediumId: bankInfo.accountNo, wechattype: 1,
schoolId: bankInfo.schoolId, bindMedium: item.bindCardNo,
userId: userID, bindMediumName: item.bindCardName,
sessionid: sessionID, },
wechattype: 1, success: function(res5) {
}, loading.hide();
success: function (res4) { if (res5.code == "10000") {
loading.hide(); this_.queryUserBankInfo();
if (res4.code == "10000") { this_.close();
this_.bindcardList = res4.results; } else {
this_.popshow = true; weui.topTips(res5.message);
} else { }
weui.topTips(res4.message); this_.popshow = false;
} },
}, error: function(err) {
error: function (err) { loading.hide();
loading.hide(); },
}, });
}); },
}, //查询一类卡绑定列表
//获取银行余额 queryBindCardList() {
queryBankInfo() { let this_ = this;
let this_ = this; let loading = weui.loading("请稍后");
// let loading = weui.loading('请稍后'); $.ajax({
$.ajax({ url: gHost + "/bank-wechat/icbc/account/bindcard/bindingList",
url: gHost + "/bank-wechat/icbc/account/balance/balanceQuery", type: "POST",
type: "POST", contentType: "application/x-www-form-urlencoded",
timeout: 8000, data: {
contentType: "application/x-www-form-urlencoded", mediumId: bankInfo.accountNo,
data: { schoolId: bankInfo.schoolId,
mediumId: bankInfo.accountNo || "", userId: userID,
schoolId: bankInfo.schoolId || "", sessionid: sessionID,
userId: bankInfo.userId || "", wechattype: 1,
sessionid: sessionID, },
wechattype: 1, success: function(res4) {
}, loading.hide();
success: function (res3) { if (res4.code == "10000") {
// loading.hide(); this_.bindcardList = res4.results;
if (res3.code == "10000") { this_.popshow = true;
if (res3.results.accountBalance == null) { } else {
weui.topTips("账户信息为空,余额查询失败"); weui.topTips(res4.message);
} else { }
this_.cardBalanceTx = (res3.results.accountBalance * 1).toFixed( },
2 error: function(err) {
); loading.hide();
$(".TxClsTx").attr( },
"placeholder", });
`可提现金额${(res3.results.accountBalance * 1).toFixed(2)}元` },
); //获取银行余额
this_.RechargeMax = ( queryBankInfo() {
2000 - let this_ = this;
(res3.results.accountBalance * 1).toFixed(2) * 1 // let loading = weui.loading('请稍后');
).toFixed(2); $.ajax({
} url: gHost + "/bank-wechat/icbc/account/balance/balanceQuery",
} else { type: "POST",
weui.topTips(res3.message); timeout: 8000,
} contentType: "application/x-www-form-urlencoded",
}, data: {
error: function (err) { mediumId: bankInfo.accountNo || "",
// loading.hide(); schoolId: bankInfo.schoolId || "",
}, userId: bankInfo.userId || "",
complete: function (XMLHttpRequest, status) { sessionid: sessionID,
// loading.hide(); wechattype: 1,
if (status == "timeout") { },
weui.topTips("请求超时,余额查询失败"); success: function(res3) {
} // loading.hide();
}, if (res3.code == "10000") {
}); if (res3.results.accountBalance == null) {
}, weui.topTips("账户信息为空,余额查询失败");
//获取用户已填写银行信息 } else {
queryUserBankInfo() { this_.cardBalanceTx = (res3.results.accountBalance * 1).toFixed(
let this_ = this; 2
// let loading = weui.loading('请稍后'); );
$.ajax({ $(".TxClsTx").attr(
url: gHost + "/bank-wechat/user/bank/get", "placeholder",
type: "POST", `可提现金额${(res3.results.accountBalance * 1).toFixed(2)}元`
contentType: "application/x-www-form-urlencoded", );
data: { this_.RechargeMax = (
schoolId: bankInfo.schoolId, 2000 -
userId: userID, (res3.results.accountBalance * 1).toFixed(2) * 1
sessionid: sessionID, ).toFixed(2);
wechattype: 1, }
}, } else {
success: function (res2) { weui.topTips(res3.message);
if (res2.code == "10000") { }
if (!res2.results) { },
weui.topTips("获取用户银行信息失败!"); error: function(err) {
// loading.hide(); // loading.hide();
return; },
} complete: function(XMLHttpRequest, status) {
bankInfo = res2.results; // loading.hide();
bankInfo.sessionid = sessionID; if (status == "timeout") {
this_.queryBankInfo(); //查余额 weui.topTips("请求超时,余额查询失败");
this_.bankInfo_ = bankInfo; }
// this_.getBindingList(bankInfo.accountNo,bankInfo.schoolId,bankInfo.id); },
} else { });
weui.topTips(res2.message); },
} //获取用户已填写银行信息
}, queryUserBankInfo() {
error: function (err) { let this_ = this;
// loading.hide(); // let loading = weui.loading('请稍后');
}, $.ajax({
}); url: gHost + "/bank-wechat/user/bank/get/v2",
}, type: "POST",
//查询用户信息 contentType: "application/x-www-form-urlencoded",
QueryUserInfo() { data: {
let this_ = this; schoolId: bankInfo.schoolId,
let loading = Toast.loading({ userId: userID,
message: "加载中...", sessionid: sessionID,
forbidClick: true, wechattype: 1,
loadingType: "spinner", },
duration: 0, success: function(res2) {
}); if (res2.code == "10000") {
$.ajax({ if (!res2.results) {
url: gHost + "/wechat/svweapp/QueryPersonalInfo", weui.topTips("获取用户银行信息失败!");
type: "POST", // loading.hide();
contentType: "application/x-www-form-urlencoded", return;
data: { }
userid: userID, bankInfo = res2.results;
sessionid: sessionID, bankInfo.sessionid = sessionID;
wechattype: 1, this_.queryBankInfo(); //查余额
}, this_.bankInfo_ = bankInfo;
success: function (res1) { // this_.getBindingList(bankInfo.accountNo,bankInfo.schoolId,bankInfo.id);
loading.clear(); } else {
if (res1.code == "10000") { weui.topTips(res2.message);
bankInfo.schoolId = res1.results.schoolid; }
bankInfo.userId = res1.results.id; },
this_.PersonalInfo = res1.results; error: function(err) {
if (res1.results.usertype == 1) { // loading.hide();
$(".StudentCls").css("display", "block"); },
$(".TeacherCls").css("display", "none"); });
} else { },
$(".StudentCls").css("display", "none"); //查询用户信息
$(".TeacherCls").css("display", "block"); QueryUserInfo() {
} let this_ = this;
this_.queryUserBankInfo(); let loading = Toast.loading({
} else { message: "加载中...",
weui.topTips(res1.message); forbidClick: true,
setTimeout(() => { loadingType: "spinner",
this_.BackToMini("UserMain"); duration: 0,
}, 1500); });
} $.ajax({
}, url: gHost + "/wechat/svweapp/QueryPersonalInfo",
error: function (err) { type: "POST",
loading.clear(); 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> </script>
<style lang="scss"> <style lang="scss">
html, html,
body, body,
page { page {
width: 750rpx; width: 750rpx;
background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%); background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
} }
.showBindCardList { .userInfoBox {
.choiceBox { display: flex;
text-align: center; flex-direction: column;
font-weight: bold; width: calc(100% - 64rpx);
height: 50px; height: 150rpx;
line-height: 50px; margin: 0 32rpx;
padding: 0; margin-top: 30rpx;
border-bottom: 0.5px solid #e6e6e6; background: linear-gradient(270deg, #f4f4f4 0%, #ebebeb 100%);
} border-radius: 16px;
.ListItem { .firstLine {
border-bottom: 1rpx solid #e6e6e6; display: flex;
font-size: 30rpx; flex-direction: row;
padding: 25rpx 0; width: calc(100% - 68rpx);
background: #fff; height: 56rpx;
position: relative; line-height: 56rpx;
text-align: center; margin: 0 34rpx;
} margin-top: 28rpx;
} overflow: hidden;
.SubmittedSuccessfully { view {
width: 400rpx !important; white-space: nowrap;
height: 200rpx !important; }
margin: 0 auto !important;
background: #000000; .avatar {
opacity: 0.8; width: 56rpx;
border-radius: 8rpx; height: 56rpx;
}
uni-image {
.cardNum { width: 56rpx;
width: 574rpx; height: 56rpx;
margin: 0 auto; }
display: flex; }
justify-content: space-between;
padding-top: 36rpx; .name {
font-size: 24rpx; margin-left: 17rpx;
font-size: 36rpx;
.cardNumleft { font-weight: 600;
font-family: PingFang SC; color: rgba(0, 0, 0, 0.85);
font-weight: 500; }
color: #ffffff;
} view:last-child {
margin-left: 10rpx;
.cardNumright { align-self: center;
font-family: PingFang SC; align-items: center;
font-weight: 500; padding: 0 8rpx;
text-decoration: underline; height: 40rpx;
color: #ffffff; line-height: 40rpx;
} background: rgba(0, 0, 0, 0.08);
} border-radius: 4rpx;
font-size: 26rpx;
.RechargeDetailed { font-weight: 500;
text-align: center; color: rgba(0, 0, 0, 0.5);
// width: 118rpx; }
height: 32rpx; }
margin: 0 auto;
font-size: 30rpx; .secondLine {
font-family: PingFang SC; display: flex;
font-weight: 500; width: calc(100% - 62rpx);
text-decoration: underline; margin: 0 31rpx;
color: #36a8ff; margin-top: 8rpx;
margin-top: 50rpx; height: 37rpx;
} line-height: 37rpx;
font-size: 26rpx;
.contentBox { color: rgba(0, 0, 0, 0.45);
width: 670rpx; }
height: 376rpx; }
margin: 0 auto;
} .contentWrapper {
width: 100%;
.contentDiv { display: flex;
height: 100%; flex-direction: column;
// margin-top: 36rpx; }
border-radius: 15rpx;
background-image: url("https://xiaopay2020.oss-cn-shenzhen.aliyuncs.com/static/weapp/images/xiaopaycard (31).png"); .balanceWrapper {
background-repeat: no-repeat; width: calc(100% - 144rpx);
background-size: 100% 100%; margin: 0 32rpx;
margin-top: 24rpx;
position: relative; height: 249rpx;
top: 36rpx; padding: 40rpx 40rpx 0;
} background-image: url("https://xiaopay2020.oss-cn-shenzhen.aliyuncs.com/static/weapp/user/bankBg.png");
background-repeat: no-repeat;
.HidenText { background-size: 100% 100%;
width: 574rpx; position: relative;
margin: 0 auto; display: flex;
padding-top: 88rpx; flex-direction: column;
}
.firstLine {
.HidenText, display: flex;
.Balance { justify-content: space-between;
padding-left: 46rpx;
padding-right: 40rpx; .left {
display: flex; view:first-child {
justify-content: space-between; height: 33rpx;
font-size: 24rpx;
font-size: 28rpx; font-weight: 600;
color: #ffffff; color: rgba(255, 255, 255, 0.85);
} line-height: 33rpx;
}
.Balance {
width: 574rpx; view:last-child {
margin: 0 auto; height: 84rpx;
margin-top: 20rpx; font-size: 60rpx;
font-weight: 600;
font-size: 30rpx; color: #ffffff;
font-family: PingFang SC; line-height: 84rpx;
font-weight: bold; }
color: #ffffff; }
}
.right {
.Recharge { width: 60rpx;
// height: 30rpx; height: 60rpx;
font-size: 32rpx; align-self: flex-start;
font-family: PingFang SC;
font-weight: bold; .icon {
color: #333333; width: 60rpx;
margin-top: 58rpx; height: 60rpx;
}
span:nth-child(1) { }
width: 4rpx; }
height: 30rpx;
background: #23d6a3; .lastLine {
border-radius: 2rpx; display: flex;
display: inline-block; width: 100%;
position: relative; justify-content: space-between;
top: 5rpx; margin-top: 20rpx;
} view:first-child {
height: 60rpx;
span:nth-child(2) { font-size: 40rpx;
display: inline-block; font-weight: 600;
margin-left: 16rpx; color: #ffffff;
} line-height: 60rpx;
} }
.headview { .right {
display: flex; width: 140rpx;
justify-content: space-between; height: 60rpx;
// padding-left: 40rpx; line-height: 60rpx;
// padding-right: 40rpx; font-size: 30rpx;
font-weight: 600;
padding-top: 36rpx; color: #04b871;
width: 574rpx; background-image: url("https://xiaopay2020.oss-cn-shenzhen.aliyuncs.com/static/weapp/user/cashBtn.png");
margin: 0 auto; background-repeat: no-repeat;
} background-size: cover;
text-align: center;
.headview .schoolname { }
width: 252rpx;
height: 50rpx; .btn {
font-size: 36rpx; width: 140rpx;
font-family: PingFangSC-Medium, PingFang SC; height: 60rpx;
font-weight: 500; }
color: #ffffff; }
line-height: 50rpx; }
}
.accountlist {
.headview .IconCls { width: 100%;
width: 170rpx; height: 100%;
height: 48rpx; }
background: #20946d;
border-radius: 25rpx; .showBindCardList {
width: 100%;
font-size: 24rpx; height: 100%;
font-weight: 400;
color: #ffffff; .choiceBox {
line-height: 48rpx; text-align: center;
text-align: center; font-weight: bold;
} height: 100rpx;
line-height: 100rpx;
.MoneyBox { padding: 0;
flex-wrap: wrap; border-bottom: 1rpx solid #e6e6e6;
height: auto; }
color: #888888;
width: 686rpx; .cardsList {
margin: 0 auto; width: 100%;
overflow: hidden; height: calc(100% - 260rpx);
} overflow-y: scroll;
}
.choiceClass {
background: rgba(39, 266, 148, 0.1) !important; .ListItem {
color: #28d79c; border-bottom: 1rpx solid #e6e6e6;
} font-size: 30rpx;
padding: 25rpx 0;
.MoneyBox view { background: #fff;
width: 220rpx; position: relative;
height: 120rpx; text-align: center;
background: #ffffff; }
border-radius: 8rpx;
border: 1rpx solid #eeeeee; .changeCard {
margin-top: 16rpx; margin: 0 auto;
text-align: center; margin-top: 40rpx;
position: relative; height: 40rpx;
box-shadow: 0px 9rpx 23rpx 0rpx rgba(25, 26, 88, 0.07); font-size: 28rpx;
margin-right: 2px; font-weight: 400;
float: left; color: #04B871;
} line-height: 40rpx;
text-align: center;
.depotMoney .value { }
font-size: 45rpx; }
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600; .SubmittedSuccessfully {
line-height: 120rpx; width: 400rpx !important;
text-align: center; height: 200rpx !important;
} margin: 0 auto !important;
background: #000000;
.depotMoney .tips { opacity: 0.8;
// width: 79rpx; border-radius: 8rpx;
// height: 33rpx; }
// background: linear-gradient(180deg, #FA6400 0%, #FD9D00 100%);
// border-radius: 4rpx; .cardNum {
// font-size: 18rpx; width: 574rpx;
// font-weight: 500; margin: 0 auto;
// padding: 4rpx; display: flex;
// text-align: center; justify-content: space-between;
// float: right; padding-top: 36rpx;
// position: absolute; font-size: 24rpx;
// right: 0rpx;
// line-height: 33rpx; .cardNumleft {
} font-family: PingFang SC;
font-weight: 500;
.OtherMoney { color: #ffffff;
display: flex; }
justify-content: flex-start;
// color: #999999; .cardNumright {
// font-size: 28rpx; font-family: PingFang SC;
// font-family: PingFangSC-Regular, PingFang SC; font-weight: 500;
// font-weight: 400; text-decoration: underline;
// color: #999999; color: #ffffff;
// line-height: 40rpx; }
width: 686rpx; }
height: 100rpx;
background: #f7f6fb; .RechargeDetailed {
border-radius: 10rpx; text-align: center;
margin: 0 auto; // width: 118rpx;
line-height: 100rpx; height: 32rpx;
margin-top: 32rpx; margin: 0 auto;
font-size: 30rpx;
span { font-family: PingFang SC;
display: inline-block; font-weight: 500;
font-size: 40rpx; text-decoration: underline;
font-family: PingFang SC; color: #36a8ff;
font-weight: bold; margin-top: 50rpx;
color: #000000; }
padding-left: 26rpx;
} .contentBox {
width: 670rpx;
input { display: flex;
height: 100%; flex-direction: column;
} margin: 0 auto;
} }
.OtherMoney view:nth-child(2) { .contentDiv {
// width: 30rpx; height: 100%;
// height: 30rpx; // margin-top: 36rpx;
// background: #F0F0F0; border-radius: 15rpx;
// border-radius: 50%; background-image: url("https://xiaopay2020.oss-cn-shenzhen.aliyuncs.com/static/weapp/images/xiaopaycard (31).png");
// text-align: center; background-repeat: no-repeat;
// line-height: 30rpx; background-size: 100% 100%;
// margin-top: 7rpx;
// margin-left: 5rpx; position: relative;
} top: 36rpx;
}
.payType {
height: 98rpx; .HidenText {
line-height: 98rpx; width: 574rpx;
display: flex; margin: 0 auto;
justify-content: space-between; padding-top: 88rpx;
} }
.payType view:nth-child(1) { .HidenText,
// width: 120rpx; .Balance {
height: 42rpx; padding-left: 46rpx;
font-size: 32rpx; padding-right: 40rpx;
font-family: PingFang SC; display: flex;
font-weight: 500; justify-content: space-between;
color: #888888;
line-height: 98rpx; font-size: 28rpx;
} color: #ffffff;
}
.payType view::nth-child(2) {
width: 225rpx; .Balance {
height: 45rpx; width: 574rpx;
font-size: 32rpx; margin: 0 auto;
font-family: PingFang SC; margin-top: 20rpx;
font-weight: bold;
color: #333333; font-size: 30rpx;
line-height: 45rpx; font-family: PingFang SC;
} font-weight: bold;
color: #ffffff;
.arrow { }
transform: rotate(-45deg);
top: -3rpx; .Recharge {
border: solid #999999; width: 100%;
border-width: 0 1rpx 1rpx 0; height: 40rpx;
display: inline-block; margin-top: 40rpx;
padding: 8rpx; font-size: 28rpx;
position: relative; font-family: PingFangSC-Medium, PingFang SC;
} font-weight: 500;
color: rgba(0, 0, 0, 0.4);
@media (min-height: 650px) { line-height: 40rpx;
.bottomdiv { }
position: fixed;
left: 0; .headview {
right: 0; display: flex;
bottom: 30rpx; justify-content: space-between;
} // padding-left: 40rpx;
} // padding-right: 40rpx;
.DepositID { padding-top: 36rpx;
width: 630rpx; width: 574rpx;
height: 92rpx; margin: 0 auto;
background: #04ba73; }
border-radius: 8rpx;
margin: 0 auto; .headview .schoolname {
text-align: center; width: 252rpx;
bottom: 30rpx; height: 50rpx;
} font-size: 36rpx;
font-family: PingFangSC-Medium, PingFang SC;
.DepositID span { font-weight: 500;
height: 50rpx; color: #ffffff;
font-size: 36rpx; line-height: 50rpx;
font-family: PingFangSC-Medium, PingFang SC; }
font-weight: 500;
color: #ffffff; .headview .IconCls {
line-height: 92rpx; width: 170rpx;
} height: 48rpx;
background: #20946d;
.switchbankCard { border-radius: 25rpx;
text-align: center;
/* width: 205px; */ font-size: 24rpx;
// height: 28rpx; font-weight: 400;
font-size: 26rpx; color: #ffffff;
font-family: PingFang SC; line-height: 48rpx;
font-weight: 500; text-align: center;
text-decoration: underline; }
color: #268ef8;
margin-top: 23rpx; .moneyWrapper {
} margin-top: 10rpx;
width: 100%;
.RechargeConfirmationBox { display: flex;
position: fixed; flex-wrap: wrap;
left: 0;
right: 0; .moneyItem {
top: 400rpx; width: 210rpx;
width: 618rpx; height: 120rpx;
height: 478rpx; background: #f8f8f8;
background: #ffffff; border-radius: 12rpx;
border-radius: 8rpx; display: flex;
margin: 0 auto; justify-content: center;
margin-right: 8rpx;
.RechargeInfo { font-family: PingFangSC-Medium, PingFang SC;
width: 520rpx; margin-bottom: 24rpx;
height: 100%; border: 3rpx solid transparent;
margin: 0 auto; view {
align-self: center;
.RechargeInfo1 { color: #333333;
height: 124rpx; }
line-height: 124rpx;
font-size: 36rpx; view:first-child {
font-family: PingFang SC; font-size: 40rpx;
font-weight: bold; font-weight: 500;
color: #000000; }
text-align: center;
} view:last-child {
font-size: 30rpx;
.ContenInfo { }
text-align: center; }
// width: 383rpx;
height: 159rpx; .moneyItem:nth-child(3n) {
margin: 0 auto; margin-right: 0;
font-size: 32rpx; }
font-family: PingFang SC;
font-weight: 500; .active {
color: #010101; border: 3rpx solid #04b871;
view { view {
line-height: 75rpx; color: #04b871;
} }
} }
.BtngGoup { .other {
justify-content: space-between; width: 444rpx;
display: flex; height: 120rpx;
margin-top: 40rpx; line-height: 120rpx;
text-align: center;
view { background: #f8f8f8;
width: 250rpx; border-radius: 12rpx;
height: 88rpx; border: 3rpx solid transparent;
border-radius: 8rpx; /deep/.uni-input-wrapper {
text-align: center; position: absolute;
line-height: 88rpx; width: 444rpx;
} height: 120rpx;
font-size: 40rpx;
view:nth-child(1) { font-weight: 500;
background: #ebebeb; color: #333333;
font-size: 36rpx; }
font-family: PingFang SC;
font-weight: 500; /deep/.uni-input-input {
color: #1cc48b; height: 120rpx;
} line-height: 120rpx;
}
view:nth-child(2) { }
background: #1cc48b; }
font-size: 36rpx;
font-family: PingFang SC;
font-weight: 500; .MoneyBox {
color: #ffffff; flex-wrap: wrap;
} height: auto;
} color: #888888;
} width: 686rpx;
} margin: 0 auto;
overflow: hidden;
.closePhoneBox { }
// width: 35rpx;
height: 35rpx; .choiceClass {
position: relative; background: rgba(39, 266, 148, 0.1) !important;
right: -20rpx; color: #28d79c;
top: 20rpx; }
text-align: right;
.MoneyBox view {
image { width: 220rpx;
width: 40rpx; height: 120rpx;
height: 40rpx; background: #ffffff;
position: relative; border-radius: 8rpx;
} border: 1rpx solid #eeeeee;
} margin-top: 16rpx;
text-align: center;
.doBtnTx { position: relative;
width: 506rpx; box-shadow: 0px 9rpx 23rpx 0rpx rgba(25, 26, 88, 0.07);
height: 92rpx; margin-right: 2px;
background: #04ba73; float: left;
border-radius: 8rpx; }
color: #ffffff;
.depotMoney .value {
position: absolute; font-size: 45rpx;
left: 0; font-family: PingFangSC-Semibold, PingFang SC;
right: 0; font-weight: 600;
margin: 0 auto; line-height: 120rpx;
bottom: 38rpx; text-align: center;
} }
.PhoneNum, .depotMoney .tips {
.VerifyCode { // width: 79rpx;
width: 506rpx; // height: 33rpx;
height: 80rpx; // background: linear-gradient(180deg, #FA6400 0%, #FD9D00 100%);
line-height: 60rpx; // border-radius: 4rpx;
background: #f7f6fb; // font-size: 18rpx;
margin: 0 auto; // font-weight: 500;
margin-top: 20rpx; // padding: 4rpx;
} // text-align: center;
// float: right;
.VerifyCode { // position: absolute;
display: flex; // right: 0rpx;
justify-content: space-between; // line-height: 33rpx;
} }
.VerifyCode input { .OtherMoney {
width: 200rpx; display: flex;
} justify-content: flex-start;
// color: #999999;
.CodeMsg { // font-size: 28rpx;
color: #01bc73; // font-family: PingFangSC-Regular, PingFang SC;
background: #f7f6fb; // font-weight: 400;
font-size: 32rpx; // color: #999999;
font-weight: 600; // line-height: 40rpx;
line-height: 80rpx; width: 686rpx;
letter-spacing: 3rpx; height: 100rpx;
} background: #f7f6fb;
border-radius: 10rpx;
.placeholderInput { margin: 0 auto;
color: #aaaaaa; line-height: 100rpx;
font-size: 42rpx; margin-top: 32rpx;
font-weight: 500;
letter-spacing: 3rpx; span {
// padding-left: 50rpx; display: inline-block;
height: 80rpx; font-size: 40rpx;
} font-family: PingFang SC;
font-weight: bold;
.OtherTitle { color: #000000;
height: 67rpx; padding-left: 26rpx;
font-size: 48rpx; }
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600; input {
color: #010101; height: 100%;
line-height: 67rpx; }
}
padding-top: 60rpx;
} .OtherMoney view:nth-child(2) {
// width: 30rpx;
.inputOtherM { // height: 30rpx;
display: flex; // background: #F0F0F0;
height: 100rpx; // border-radius: 50%;
margin-top: 40rpx; // text-align: center;
} // line-height: 30rpx;
// margin-top: 7rpx;
.inputOtherM input { // margin-left: 5rpx;
border: none; }
outline: none;
height: 50rpx; .paytype {
padding-left: 16rpx; display: flex;
font-size: 72rpx; margin-top: 39rpx;
font-weight: 600; width: 100%;
} height: 40rpx;
justify-content: space-between;
.inputOtherM span:nth-child(1) { font-size: 28rpx;
width: 72rpx;
font-size: 80rpx; .left {
font-family: PingFangSC-Semibold, PingFang SC; font-weight: 500;
font-weight: 600; color: rgba(0, 0, 0, 0.4);
color: #010101; }
line-height: 100rpx;
} .right {
color: rgba(0, 0, 0, 0.85);
.OtherLine {
width: 631rpx; .van-icon {
height: 1rpx; font-size: 28rpx;
background-color: #cccccc; color: #161616;
margin-top: 19rpx; }
} }
}
.depositbox {
margin-top: 31rpx; .payType {
height: 30rpx; height: 98rpx;
line-height: 30rpx; line-height: 98rpx;
} display: flex;
justify-content: space-between;
.depositImg { }
width: 24rpx;
height: 24rpx; .payType view:nth-child(1) {
vertical-align: middle; // width: 120rpx;
margin-right: 8rpx; height: 42rpx;
position: relative; font-size: 32rpx;
top: -2rpx; font-family: PingFang SC;
} font-weight: 500;
color: #888888;
.Recharge_ { line-height: 98rpx;
height: 40rpx; }
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC; .payType view::nth-child(2) {
font-weight: 400; width: 225rpx;
color: #333333; height: 45rpx;
line-height: 40rpx; font-size: 32rpx;
margin-top: 40rpx; font-family: PingFang SC;
} font-weight: bold;
color: #333333;
.Recharge_ span:nth-child(2) { line-height: 45rpx;
font-size: 28rpx; }
font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600; .arrow {
color: #fa6400; transform: rotate(-45deg);
} top: -3rpx;
border: solid #999999;
.placeholderinputOtherM { border-width: 0 1rpx 1rpx 0;
height: 50rpx; display: inline-block;
// font-family: PingFangSC-Semibold, PingFang SC; padding: 8rpx;
// font-weight: 600; position: relative;
// color: #010101; }
line-height: 50rpx;
width: 323rpx; @media (min-height: 1040px) {
font-size: 28rpx; .bottomdiv {
font-family: PingFang SC; position: fixed;
font-weight: 500; left: 0;
color: #888888; right: 0;
} bottom: 30rpx;
}
// 异常处理 }
.RechargeException {
padding-top: 20rpx; .DepositID {
} width: 100%;
height: 90rpx;
.weui-label { background: #04b871;
// width: 118rpx; border-radius: 45px;
height: 42rpx; line-height: 90rpx;
font-size: 30rpx; text-align: center;
font-family: PingFangSC-Medium, PingFang SC; font-size: 34rpx;
font-weight: 500; font-weight: 500;
color: #3d3d3d; color: #ffffff;
line-height: 42rpx; margin: 0 auto;
font-weight: bold; margin-top: 29rpx;
margin-left: 30rpx; text-align: center;
} }
.tiptext { .DepositID span {
height: 1.06rem; height: 50rpx;
font-size: 0.75rem; font-size: 36rpx;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Medium, PingFang SC;
font-weight: 400; font-weight: 500;
color: #03bc73; color: #ffffff;
line-height: 1.06rem; line-height: 92rpx;
margin-bottom: 0.625rem; }
text-align: center;
} .service {
margin-top: 118rpx;
.bottomDetail { width: 100%;
width: 628rpx; height: 40rpx;
height: 88rpx; font-size: 28rpx;
color: white; font-weight: 400;
// position: fixed; color: rgba(0, 0, 0, 0.5);
// left: 0; line-height: 40rpx;
// right: 0; text-align: center;
margin: 0 auto; }
background-color: #03bc73;
text-align: center; .switchbankCard {
line-height: 88rpx; text-align: center;
/* width: 205px; */
margin-top: 84rpx; // height: 28rpx;
} font-size: 26rpx;
font-family: PingFang SC;
.RechargeException input::placeholder { font-weight: 500;
color: #a1a4a8; text-decoration: underline;
} color: #268ef8;
margin-top: 23rpx;
.RechargeException .weui-cell { }
height: 4rem;
padding: 0 !important; .RechargeConfirmationBox {
} position: fixed;
left: 0;
.idCardPhoto1, right: 0;
.idCardPhoto2 { top: 400rpx;
width: 388rpx; width: 618rpx;
height: 224rpx; height: 478rpx;
margin: 0 auto; background: #ffffff;
margin-top: 20rpx; border-radius: 8rpx;
} margin: 0 auto;
.idCardPhoto1 image, .RechargeInfo {
.idCardPhoto2 image { width: 520rpx;
width: 100%; height: 100%;
height: 100%; margin: 0 auto;
position: relative;
} .RechargeInfo1 {
height: 124rpx;
.weui-toptips_success { line-height: 124rpx;
background-color: #03bc73 !important; font-size: 36rpx;
} font-family: PingFang SC;
font-weight: bold;
.positionCam { color: #000000;
height: 32rpx; text-align: center;
font-size: 22rpx; }
font-family: PingFang-SC-Medium, PingFang-SC;
font-weight: 500; .ContenInfo {
color: #6d7278; text-align: center;
line-height: 32rpx; // width: 383rpx;
text-align: center; height: 159rpx;
position: relative; margin: 0 auto;
top: -29px; font-size: 32rpx;
} font-family: PingFang SC;
font-weight: 500;
.BgCoverBox { color: #010101;
width: 100vw;
height: 100vh; view {
position: fixed; line-height: 75rpx;
left: 0; }
top: 0; }
z-index: 10;
background: #000000; .BtngGoup {
opacity: 0.5; justify-content: space-between;
} display: flex;
margin-top: 40rpx;
.hideListCover {
max-height: 50vh; view {
overflow-y: auto; width: 250rpx;
padding: 0; height: 88rpx;
} border-radius: 8rpx;
text-align: center;
.bottomDiv { line-height: 88rpx;
font-weight: bold; }
height: 50px;
line-height: 50px; view:nth-child(1) {
border-bottom: 1px solid #e6e6e6; 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: 40rpx;
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: 120rpx;
line-height: 120rpx;
font-size: 32rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: rgba(0, 0, 0, 0.25);
}
/deep/uni-input {
line-height: 120rpx;
}
// 异常处理
.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;
}
.popoverItem {
width: 225rpx;
margin: 0 20rpx;
padding: 16rpx 0;
text-align: center;
font-size: 30rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #000000;
border-bottom: 1rpx solid #dddddd;
}
.popoverItem:last-child {
border-bottom: 0;
}
</style> </style>
<template> <template>
<view class="tainer" :style="{height:containerHeight+'rpx'}"> <view class="tainer" :style="{height:containerHeight+'rpx'}">
<view v-if="showReport"> <view v-if="showReport">
<view class="school-report-header"> <view class="school-report-header-bg">
<view class="school-report-header-item"> </view>
<view class="user-avatar"> <view class="school-report-header-position">
</view> <view class="school-report-header">
<view class="user-info"> <view class="school-report-header-item">
<view class="user-name"> <view class="user-avatar">
<text>{{userInfo.userName}}</text>
</view>
<view class="class-name">
<text>{{userInfo.gradeName}} {{userInfo.className}}</text>
</view> </view>
</view> <view class="user-info">
</view> <view class="user-name">
<view class="school-report-header-item"> <text>{{userInfo.userName}}</text>
<view class="school-report-screen">
<view class="school-report-screen-item">
<view class="school-report-type">
<picker @change="schoolReportChange" :value="reportTypeIndex" :range="reportTypeArr">
<view class="uni-input">{{reportTypeArr[reportTypeIndex]}}</view>
</picker>
</view> </view>
<view class="triangle"> <view class="class-name">
<text>{{userInfo.gradeName}} {{userInfo.className}}</text>
</view> </view>
</view> </view>
<view class="school-report-screen-item-two"> </view>
<view class="school-report-date"> <view class="school-report-header-item">
<picker @change="dataRangeChange" :value="dataRangeIndex" :range="dataRangeArr" <view class="school-report-screen">
range-key="week"> <view class="school-report-screen-item">
<view class="uni-input">{{dataRangeArr[dataRangeIndex].weekstr||""}}</view> <view class="school-report-type">
</picker> <picker @change="schoolReportChange" :value="reportTypeIndex"
:range="reportTypeArr">
<view class="uni-input">{{reportTypeArr[reportTypeIndex]}}</view>
</picker>
</view>
<view class="triangle">
</view>
</view> </view>
<view class="triangle"> <view class="school-report-screen-item-two">
<view class="school-report-date">
<picker @change="dataRangeChange" :value="dataRangeIndex" :range="dataRangeArr"
range-key="week">
<view class="uni-input">{{dataRangeArr[dataRangeIndex].weekstr||""}}</view>
</picker>
</view>
<view class="triangle">
</view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
</view>
<view class="school-report-context">
<view class="school-report-context-tab"> <view class="school-report-context-tab">
<view class="school-report-context-tab-item"> <view class="school-report-context-tab-item">
<view v-if="isService" class="school-report-context-tab-item-one" <view v-if="isService" class="school-report-context-tab-item-one"
:class="tabIndex==1?'active':''" @tap="tabTap(1)"> :class="tabIndex==1?'active':''" @tap="tabTap(1)">
<text>消费报告</text> <view class="tab-title"><text>消费报告</text></view>
<view :class="tabIndex==1?'active-bottomline':''">
</view>
</view> </view>
<view v-if="isAttendanceService" class="school-report-context-tab-item-one" <view v-if="isAttendanceService" class="school-report-context-tab-item-one"
:class="tabIndex==2?'active':''" @tap="tabTap(2)"> :class="tabIndex==2?'active':''" @tap="tabTap(2)">
<text>出入校报告</text> <view class="tab-title"><text>出入校报告</text></view>
<view :class="tabIndex==2?'active-bottomline':''">
</view>
</view> </view>
<view v-if="isPubTalkService" class="school-report-context-tab-item-one" <view v-if="isPubTalkService" class="school-report-context-tab-item-one"
:class="tabIndex==3?'active':''" @tap="tabTap(3)"> :class="tabIndex==3?'active':''" @tap="tabTap(3)">
<text>公话报告</text> <view class="tab-title"><text>公话报告</text></view>
<view :class="tabIndex==3?'active-bottomline':''">
</view>
</view> </view>
</view> </view>
<view class="school-report-context-tab-item-two"> <view class="school-report-context-tab-item-two">
...@@ -64,10 +73,13 @@ ...@@ -64,10 +73,13 @@
</view> </view>
</view> </view>
</view> </view>
</view>
<view v-if="tabIndex" class="school-report-context">
<view :class="['consumer-report-bgImg','attendance-report-bgImg','pubTalk-report-bgImg'][tabIndex-1]"> <view :class="['consumer-report-bgImg','attendance-report-bgImg','pubTalk-report-bgImg'][tabIndex-1]">
</view> </view>
<view class="school-report-context-card"> <view class="school-report-context-card">
<view class="school-report-context-card-one" :style="{height:[598,256,525][tabIndex-1]+'rpx'}"> <view class="school-report-context-card-one"
:style="{height:[804,256,pubTalkSummaryHeight][tabIndex-1]+'rpx'}">
<view :class="['consumer-report-img','attendance-report-img','pubTalk-report-img'][tabIndex-1]"> <view :class="['consumer-report-img','attendance-report-img','pubTalk-report-img'][tabIndex-1]">
</view> </view>
<!-- 消费报告 --> <!-- 消费报告 -->
...@@ -109,8 +121,7 @@ ...@@ -109,8 +121,7 @@
的同学<text v-if="isReasonable">,请及时评估生活费是否合理</text> 的同学<text v-if="isReasonable">,请及时评估生活费是否合理</text>
</view> </view>
</view> </view>
<view <view class="school-report-context-card-one-context-item">
class="school-report-context-card-one-context-item school-report-context-card-one-context-item-last">
<view class="school-report-context-card-one-context-dot"> <view class="school-report-context-card-one-context-dot">
<view class="school-report-context-card-one-context-dot-item"> <view class="school-report-context-card-one-context-dot-item">
</view> </view>
...@@ -121,12 +132,41 @@ ...@@ -121,12 +132,41 @@
<text v-else>每日消费金额较稳定,继续保持哦</text> <text v-else>每日消费金额较稳定,继续保持哦</text>
</view> </view>
</view> </view>
<view class="school-report-context-card-one-context-item">
<view class="school-report-context-card-one-context-dot">
<view class="school-report-context-card-one-context-dot-item">
</view>
</view>
<view v-if="!abnormalStr" class="school-report-context-card-one-context-txt">
早、中、晚餐就餐时间较稳定,按时吃饭,自律如昔,你就赢了大多数人
</view>
<view v-else class="school-report-context-card-one-context-txt">
<text class="txt-important">{{abnormalStr}}</text>的就餐时间跟同班同学相差超20分钟,如果快乐很难,那么按时吃饭
</view>
</view>
<view
class="school-report-context-card-one-context-item school-report-context-card-one-context-item-last">
<view class="school-report-context-card-one-context-dot">
<view class="school-report-context-card-one-context-dot-item">
</view>
</view>
<view v-if="!mealPalArr.length" class="school-report-context-card-one-context-txt">
独立的<text class="txt-important">{{userInfo.userName}}</text>很棒,偶尔也可以叫上朋友一起吃饭哦</text>
</view>
<view v-else-if="mealPalArr.length==1"
class="school-report-context-card-one-context-txt">
最佳饭友非<text class="txt-important">{{mealPalStr}}</text>莫属,有饭友吃嘛嘛香</text>
</view>
<view v-else class="school-report-context-card-one-context-txt">
最佳干饭组合,赶快叫上<text class="txt-important">{{mealPalStr}}</text>一起吃饭吧</text>
</view>
</view>
</view> </view>
<!-- 出入校报告 --> <!-- 出入校报告 -->
<view v-show="tabIndex==2" class="attendance-report-context-card-one-context"> <view v-show="tabIndex==2" class="attendance-report-context-card-one-context">
<view class="attendance-report-context-card-one-context-item"> <view class="attendance-report-context-card-one-context-item">
<text v-if="attendanceReport.abnormalNum&&attendanceReport.abnormalNum!=-1"><text <text v-if="attendanceReport.abnormalNum&&attendanceReport.abnormalNum!=-1"><text
class="txt-important">{{attendanceReport.abnormalNum}}</text>天出异常,请及时关注</text> class="txt-important">{{attendanceReport.abnormalNum}}</text>天出异常,请及时关注</text>
<text v-else-if="attendanceReport.abnormalNum==-1">风雨无阻上学路,继续加油哦</text> <text v-else-if="attendanceReport.abnormalNum==-1">风雨无阻上学路,继续加油哦</text>
<text v-else>恭喜<text <text v-else>恭喜<text
class="txt-important">{{userInfo.userName}}</text>荣获全勤好学生,风雨无阻上学路</text> class="txt-important">{{userInfo.userName}}</text>荣获全勤好学生,风雨无阻上学路</text>
...@@ -260,7 +300,7 @@ ...@@ -260,7 +300,7 @@
</view> </view>
</view> </view>
</view> </view>
<view v-if="tabIndex==1&&isOpen" class="school-report-context-card-three"> <view v-show="tabIndex==1&&isOpen" class="school-report-context-card-three">
<view class="school-report-context-card-title"> <view class="school-report-context-card-title">
<view class="school-report-context-card-title-img"> <view class="school-report-context-card-title-img">
<text>消费偏好</text> <text>消费偏好</text>
...@@ -277,7 +317,7 @@ ...@@ -277,7 +317,7 @@
<view id="consumer-preferences-pie"> <view id="consumer-preferences-pie">
</view> </view>
</view> </view>
<view v-if="tabIndex==1&&isOpen" class="school-report-context-card-four"> <view v-show="tabIndex==1&&isOpen" class="school-report-context-card-four">
<view class="school-report-context-card-title"> <view class="school-report-context-card-title">
<view class="school-report-context-card-title-img"> <view class="school-report-context-card-title-img">
<text>生活费额度</text> <text>生活费额度</text>
...@@ -329,7 +369,7 @@ ...@@ -329,7 +369,7 @@
</view> </view>
</view> </view>
</view> </view>
<view v-if="tabIndex==1&&isOpen" class="school-report-context-card-five"> <view v-show="tabIndex==1&&isOpen" class="school-report-context-card-five">
<view class="school-report-context-card-title"> <view class="school-report-context-card-title">
<view class="school-report-context-card-title-img"> <view class="school-report-context-card-title-img">
<text>消费趋势</text> <text>消费趋势</text>
...@@ -360,17 +400,173 @@ ...@@ -360,17 +400,173 @@
</view> </view>
</view> </view>
</view> </view>
<view v-show="tabIndex==1&&isOpen" class="school-report-context-card-six">
<view class="school-report-context-card-title">
<view class="school-report-context-card-title-img">
<text>就餐时间趋势</text>
</view>
</view>
<view class="school-report-context-card-six-conclusion">
<view class="school-report-context-card-six-conclusion-item">
<text v-if="!abnormalStr">早、中、晚餐就餐时间较稳定,按时吃饭,自律如昔,你就赢了大多数人</text>
<text v-else>
<text class="abnormal-date">{{abnormalStr}}</text>的就餐时间跟同班同学相差超20分钟,如果快乐很难,那么按时吃饭
</text>
</view>
</view>
<view v-if="mealtypeArr.indexOf(1)!=-1" class="mealtime-trends">
<view class="mealtime-trends-theme">
<view class="meal-type">
<text>早餐</text>
</view>
<view class="user-meal-time">
<view class="user-meal-time-logo">
<view class="user-meal-time-logo-left">
</view>
<view class="user-meal-time-logo-middle">
</view>
<view class="user-meal-time-logo-right">
</view>
</view>
<view class="user-meal-time-txt">
<text>就餐时间</text>
</view>
</view>
<view class="class-meal-time">
<view class="user-meal-time-logo">
<view class="user-meal-time-logo-left" style="background: rgba(0, 0, 0, 0.5)">
</view>
<view class="user-meal-time-logo-middle"
style="border: 3rpx solid rgba(0, 0, 0, 0.5)">
</view>
<view class="user-meal-time-logo-right" style="background: rgba(0, 0, 0, 0.5)">
</view>
</view>
<view class="user-meal-time-txt">
<text>班级集中就餐时间</text>
</view>
</view>
</view>
</view>
<view v-if="mealtypeArr.indexOf(1)!=-1" id="breakfast-time-line">
</view>
<view v-if="mealtypeArr.indexOf(2)!=-1" class="mealtime-trends"
style="position: relative;top:-134rpx">
<view class="mealtime-trends-theme">
<view class="meal-type">
<text>中餐</text>
</view>
<view class="user-meal-time">
<view class="user-meal-time-logo">
<view class="user-meal-time-logo-left">
</view>
<view class="user-meal-time-logo-middle">
</view>
<view class="user-meal-time-logo-right">
</view>
</view>
<view class="user-meal-time-txt">
<text>就餐时间</text>
</view>
</view>
<view class="class-meal-time">
<view class="user-meal-time-logo">
<view class="user-meal-time-logo-left" style="background: rgba(0, 0, 0, 0.5)">
</view>
<view class="user-meal-time-logo-middle"
style="border: 3rpx solid rgba(0, 0, 0, 0.5)">
</view>
<view class="user-meal-time-logo-right" style="background: rgba(0, 0, 0, 0.5)">
</view>
</view>
<view class="user-meal-time-txt">
<text>班级集中就餐时间</text>
</view>
</view>
</view>
</view>
<view v-if="mealtypeArr.indexOf(2)!=-1" id="lunch-time-line">
</view>
<view v-if="mealtypeArr.indexOf(3)!=-1" class="mealtime-trends"
style="position: relative;top:-286rpx">
<view class="mealtime-trends-theme">
<view class="meal-type">
<text>晚餐</text>
</view>
<view class="user-meal-time">
<view class="user-meal-time-logo">
<view class="user-meal-time-logo-left">
</view>
<view class="user-meal-time-logo-middle">
</view>
<view class="user-meal-time-logo-right">
</view>
</view>
<view class="user-meal-time-txt">
<text>就餐时间</text>
</view>
</view>
<view class="class-meal-time">
<view class="user-meal-time-logo">
<view class="user-meal-time-logo-left" style="background: rgba(0, 0, 0, 0.5)">
</view>
<view class="user-meal-time-logo-middle"
style="border: 3rpx solid rgba(0, 0, 0, 0.5)">
</view>
<view class="user-meal-time-logo-right" style="background: rgba(0, 0, 0, 0.5)">
</view>
</view>
<view class="user-meal-time-txt">
<text>班级集中就餐时间</text>
</view>
</view>
</view>
</view>
<view v-if="mealtypeArr.indexOf(3)!=-1" id="dinner-time-line">
</view>
</view>
<view v-show="tabIndex==1&&isOpen" class="school-report-context-card-seven">
<view class="school-report-context-card-title">
<view class="school-report-context-card-title-img">
<text>饭友分析</text>
</view>
</view>
<view class="school-report-context-card-seven-conclusion">
<view class="school-report-context-card-seven-conclusion-item">
<text v-if="!mealPalArr.length">
独立的<text class="abnormal-date">{{userInfo.userName}}</text>很棒,偶尔也可以叫上朋友一起吃饭哦</text>
</text>
<text v-else-if="mealPalArr.length==1">
最佳饭友非<text class="abnormal-date">{{mealPalStr}}</text>莫属,有饭友吃嘛嘛香</text>
</text>
<text v-else>
最佳干饭组合,赶快叫上<text class="abnormal-date">{{mealPalStr}}</text>一起吃饭吧</text>
</text>
</view>
</view>
<view class="meal-pal-bar-unit">
<view class="meal-pal-bar-unit-item">
<view class="meal-pal-bar-icon">
</view>
<view class="meal-pal-bar-txt">
<text>一起就餐天数</text>
</view>
</view>
</view>
<view id="meal-pal-bar">
</view>
</view>
<!-- 出入校报告 --> <!-- 出入校报告 -->
<view v-show="tabIndex==2" class="attendance-report-context-card-two"> <view v-show="tabIndex==2" class="attendance-report-context-card-two">
<view class="school-report-context-card-title"> <view class="school-report-context-card-title">
<view class="school-report-context-card-title-img"> <view class="school-report-context-card-title-img">
<text>情况</text> <text>入校情况</text>
</view> </view>
</view> </view>
<view class="attendance-report-context-card-two-conclusion"> <view class="attendance-report-context-card-two-conclusion">
<view class="attendance-report-context-card-two-conclusion-txt"> <view class="attendance-report-context-card-two-conclusion-txt">
<text v-if="attendanceReport.abnormalNum!=-1">{{['',''][reportTypeIndex]}}<text <text v-if="attendanceReport.abnormalNum!=-1">{{['',''][reportTypeIndex]}}<text
class="abnormal-days">{{attendanceReport.abnormalNum}}</text>天出异常</text> class="abnormal-days">{{attendanceReport.abnormalNum}}</text>天出异常</text>
</view> </view>
<view class="attendance-report-context-card-two-conclusion-logo"> <view class="attendance-report-context-card-two-conclusion-logo">
<view class="attendance-report-context-card-two-conclusion-logo-item"> <view class="attendance-report-context-card-two-conclusion-logo-item">
...@@ -397,14 +593,16 @@ ...@@ -397,14 +593,16 @@
<template #top-info="item"> <template #top-info="item">
<span v-if="item.topInfo=='请假'" class="mark-green">请假</span> <span v-if="item.topInfo=='请假'" class="mark-green">请假</span>
<span v-if="item.topInfo=='迟到'" class="mark-orange">迟到</span> <span v-if="item.topInfo=='迟到'" class="mark-orange">迟到</span>
<span v-if="item.topInfo=='旷课'" class="mark-orange">旷课</span> <span v-if="item.topInfo=='未到校'" class="mark-orange">未到校</span>
<span v-if="item.topInfo=='早退'" class="mark-orange">早退</span> <span v-if="item.topInfo=='早退'" class="mark-orange">早退</span>
<span v-if="item.topInfo=='冠军'" class="mark-yellow">冠军</span> <span v-if="item.topInfo=='冠军'" class="mark-yellow">冠军</span>
<span v-if="item.topInfo=='进步'" class="mark-yellow">进步</span>
</template> </template>
</van-calendar> </van-calendar>
</view> </view>
</view> </view>
<view v-if="tabIndex==2&&attendanceReportDatail.length" class="attendance-report-context-details"> <view v-if="tabIndex==2&&isAttendanceOpen" class="attendance-report-context-details"
:style="{height:attendanceReportDatail.length?858:620+'rpx',overflow:attendanceReportDatail.length?'scroll':'none',top:attendanceReportDatail.length?-30:0+'rpx'}">
<view v-for="(detailItem,detailIndex) in attendanceReportDatail" :key="detailIndex"> <view v-for="(detailItem,detailIndex) in attendanceReportDatail" :key="detailIndex">
<view v-if="detailItem.attendIntervalType&&detailItem.attendIntervalType!=-1" <view v-if="detailItem.attendIntervalType&&detailItem.attendIntervalType!=-1"
class="attendance-report-context-card-two-details"> class="attendance-report-context-card-two-details">
...@@ -428,6 +626,8 @@ ...@@ -428,6 +626,8 @@
class="attendance-report-context-card-two-details"> class="attendance-report-context-card-two-details">
<view class="attendance-report-context-card-two-details-item"> <view class="attendance-report-context-card-two-details-item">
<view class="attendance-report-context-card-two-details-time"> <view class="attendance-report-context-card-two-details-time">
<view class="attendance-report-context-card-two-details-time-img">
</view>
<view class="attendance-report-context-card-two-details-time-txt txt-details"> <view class="attendance-report-context-card-two-details-time-txt txt-details">
<text>未设置考勤时间</text> <text>未设置考勤时间</text>
</view> </view>
...@@ -437,7 +637,7 @@ ...@@ -437,7 +637,7 @@
</view> </view>
</view> </view>
</view> </view>
<view class="attendance-report-context-card-three"> <view v-if="attendanceReportDatail.length" class="attendance-report-context-card-three">
<view v-for="(item,index) in detailItem.attendDetailReportDTOList" :key="index"> <view v-for="(item,index) in detailItem.attendDetailReportDTOList" :key="index">
<view class="attendance-report-details"> <view class="attendance-report-details">
<view class="dashed-line-box"> <view class="dashed-line-box">
...@@ -469,17 +669,26 @@ ...@@ -469,17 +669,26 @@
<text>早到冠军</text> <text>早到冠军</text>
</view> </view>
</view> </view>
<view v-else-if="item.describeContent=='非常不错哦,比昨天早到'"
class="early-champions" style="width: 368rpx">
<view class="progress-img">
</view>
<view class="early-champions-txt">
<text>非常不错哦,比昨天早到</text>
</view>
</view>
</view> </view>
</view>
<view class="attendance-report-details-img-item">
<view class="attendance-report-time-details"> <view class="attendance-report-time-details">
<view v-if="item.describeContent!='当日早到冠军'" <view
v-if="item.describeContent!='当日早到冠军'&&item.describeContent!='非常不错哦,比昨天早到'"
class="attendance-report-time-details-item"> class="attendance-report-time-details-item">
<text>{{item.describeContent}}</text> <text>{{item.describeContent}}</text>
</view> </view>
<view class="attendance-report-time-details-icon"> <view class="attendance-report-time-details-icon">
</view> </view>
</view> </view>
</view>
<view class="attendance-report-details-img-item">
<view class="attendance-report-details-img-box"> <view class="attendance-report-details-img-box">
<image v-if="item.attendImage" :src="item.attendImage" mode="" <image v-if="item.attendImage" :src="item.attendImage" mode=""
@click="imageClick(item.attendImage)"> @click="imageClick(item.attendImage)">
...@@ -491,6 +700,24 @@ ...@@ -491,6 +700,24 @@
</view> </view>
</view> </view>
</view> </view>
<view v-if="!attendanceReportDatail.length" class="noAttendanceReportDatail">
<view class="attendance-report-context-card-two-details">
<view class="attendance-report-context-card-two-details-item">
<view class="attendance-report-context-card-two-details-time">
<view class="attendance-report-context-card-two-details-time-img">
</view>
<view class="attendance-report-context-card-two-details-time-txt txt-details">
<text>未设置考勤时间</text>
</view>
</view>
<view class="attendance-report-context-card-two-details-date">
<text>{{attendanceSituations.attendanceDate}}</text>
</view>
</view>
</view>
<view class="noAttendanceReportDatailImg">
</view>
</view>
</view> </view>
<van-dialog v-model="imageDialogShow" width="620rpx"> <van-dialog v-model="imageDialogShow" width="620rpx">
<view class="image-dialog"> <view class="image-dialog">
...@@ -548,7 +775,7 @@ ...@@ -548,7 +775,7 @@
<view id="leave-message-bar"> <view id="leave-message-bar">
</view> </view>
</view> </view>
<view v-if="isOpen||isPubTalkOpen||isAttendanceOpen" class="school-report-footer"> <view v-if="tabIndex&&flag!=tabIndex" class="school-report-footer">
<view class="school-report-footer-item"> <view class="school-report-footer-item">
<view class="school-report-footer-item-txt"> <view class="school-report-footer-item-txt">
<text>到期后将无法查看完整报告</text> <text>到期后将无法查看完整报告</text>
...@@ -566,76 +793,120 @@ ...@@ -566,76 +793,120 @@
</view> </view>
</view> </view>
</view> </view>
<view v-if="flag==tabIndex" class="no-open" <view v-if="tabIndex&&flag==tabIndex" class="no-open"
:style="{height:[915,845,891][tabIndex-1]+'rpx',top:[1425,1099,1260][tabIndex-1]+'rpx'}"> :style="{height:[992,845,891][tabIndex-1]+'rpx',top:[1620,1099,pubTalkNoopenHeight][tabIndex-1]+'rpx'}">
<view class="no-open-solution" @tap="equityPay"> <view class="no-open-solution" @tap="equityPay">
<view class="no-open-solution-txt"> <view class="no-open-solution-txt">
<text>最低{{memberInfo.leastAmount||''}}元/天开通,查看完整{{['消费','出入校','公话'][tabIndex-1]}}报告</text> <text>最低{{memberInfo.leastAmount}}元/天开通,查看完整{{['消费','出入校','公话'][tabIndex-1]}}报告</text>
</view> </view>
<view class="no-open-solution-item"> <view class="no-open-solution-item">
</view> </view>
</view> </view>
<view class="open-results"> <view class="open-results">
<view class="open-results-title"> <!-- 消费报告 -->
<view v-if="tabIndex==1" class="open-results-title consume-open-results-title">
<text>开通后,掌握消费动态、更省心</text>
</view>
<view v-else class="open-results-title">
<text>开通后,你将解锁</text> <text>开通后,你将解锁</text>
</view> </view>
<view class="open-results-items"> <view class="open-results-items" :class="tabIndex==1?'consume-open-results-items':''">
<view class="open-results-items-summary"> <view v-if="tabIndex==2||tabIndex==3" class="open-results-items-summary">
<view class="summary-item"> <view class="summary-item">
<text>{{['月度消费报告','实时推送','音视频通话'][tabIndex-1]}}</text> <text>{{['实时推送','音视频通话'][tabIndex-2]}}</text>
</view> </view>
<view class="summary-item-icon" <view class="summary-item-icon"
:class="['consumer-report-icon','attendance-report-icon','pubTalk-report-icon'][tabIndex-1]"> :class="['attendance-report-icon','pubTalk-report-icon'][tabIndex-2]">
<text>+</text> <text>+</text>
</view> </view>
<view class="summary-item"> <view class="summary-item">
<text>{{['消费总结','月度出入校报告','月度公话报告'][tabIndex-1]}}</text> <text>{{['月度出入校报告','月度公话报告'][tabIndex-2]}}</text>
</view> </view>
</view> </view>
<view class="open-results-items-details"> <!-- 消费报告 -->
<!-- 消费报告 --> <view v-if="tabIndex==1" class="consume-open-results-items-details">
<view v-if="tabIndex==1"> <view class="consume-open-results-items-details-item">
<view class="open-results-items-details-item"> <view class="details-item-left">
<view class="dining-situations-img"> <view class="details-item-up">
<text>孩子是否缺餐?</text>
</view> </view>
<view class="open-results-items-details-item-txt"> <view class="details-item-down">
<text>就餐情况分析</text> <view class="dining-situations-img">
</view>
<view class="details-item-down-txt">
<text>【就餐情况】告诉你</text>
</view>
</view> </view>
<view class="consumer-rationality-img"> </view>
<view class="details-item-left">
<view class="details-item-up">
<text>孩子在校交友了?</text>
</view> </view>
<view class="open-results-items-details-item-txt"> <view class="details-item-down">
<text>消费合理性</text> <view class="meal-pal-img">
</view>
<view class="details-item-down-txt">
<text>【饭友分析】告诉你</text>
</view>
</view> </view>
</view> </view>
<view class="open-results-items-details-item"> </view>
<view class="consumer-preference-img"> <view class="consume-open-results-items-details-item">
<view class="details-item-left">
<view class="details-item-up">
<text>消费偏高还是偏低?</text>
</view> </view>
<view class="open-results-items-details-item-txt"> <view class="details-item-down">
<text>消费偏好分析</text> <view class="consumer-num-img">
</view>
<view class="details-item-down-txt">
<text>【生活费额度】直观看</text>
</view>
</view> </view>
<view class="consumer-advice-img"> </view>
<view class="details-item-left">
<view class="details-item-up">
<text>孩子正餐超市消费多?</text>
</view> </view>
<view class="open-results-items-details-item-txt"> <view class="details-item-down">
<text>消费建议</text> <view class="consumer-preference-img">
</view>
<view class="details-item-down-txt">
<text>【消费偏好】直观看</text>
</view>
</view> </view>
</view> </view>
<view class="open-results-items-details-item"> </view>
<view class="consumer-num-img"> <view class="consume-open-results-items-details-item">
<view class="details-item-left">
<view class="details-item-up">
<text>担心孩子被迫高额消费?</text>
</view> </view>
<view class="open-results-items-details-item-txt"> <view class="details-item-down">
<text>生活费额度分析</text> <view class="consumer-trend-img">
</view>
<view class="details-item-down-txt">
<text>【消费趋势】告诉你</text>
</view>
</view> </view>
</view> </view>
<view class="open-results-items-details-item"> <view class="details-item-left">
<view class="consumer-trend-img"> <view class="details-item-up">
<text>孩子是否准时就餐?</text>
</view> </view>
<view class="open-results-items-details-item-txt"> <view class="details-item-down">
<text>消费趋势分析</text> <view class="time-trends-img">
</view>
<view class="details-item-down-txt">
<text>【就餐时间趋势】告诉你</text>
</view>
</view> </view>
</view> </view>
</view> </view>
</view>
<view v-else class="open-results-items-details">
<!-- 出入校报告 --> <!-- 出入校报告 -->
<view v-else-if="tabIndex==2"> <view v-if="tabIndex==2">
<view class="open-results-items-details-item"> <view class="open-results-items-details-item">
<view class="admission-notice-img"> <view class="admission-notice-img">
</view> </view>
...@@ -645,7 +916,7 @@ ...@@ -645,7 +916,7 @@
<view class="admission-analysis-img"> <view class="admission-analysis-img">
</view> </view>
<view class="open-results-items-details-item-txt"> <view class="open-results-items-details-item-txt">
<text>情况分析</text> <text>情况分析</text>
</view> </view>
</view> </view>
<view class="open-results-items-details-item"> <view class="open-results-items-details-item">
...@@ -719,7 +990,7 @@ ...@@ -719,7 +990,7 @@
</view> </view>
</view> </view>
</view> </view>
<view v-else class="nodata"> <view v-else class="nodata" @click="nodataClick">
<view class="nodataImg"> <view class="nodataImg">
<img style="width: 100%" <img style="width: 100%"
src="https://xiaopay2020.oss-cn-shenzhen.aliyuncs.com/static/weapp/images/purchaseChart.gif" /> src="https://xiaopay2020.oss-cn-shenzhen.aliyuncs.com/static/weapp/images/purchaseChart.gif" />
...@@ -728,8 +999,20 @@ ...@@ -728,8 +999,20 @@
<text>当前为使用高峰期,请稍后再试</text> <text>当前为使用高峰期,请稍后再试</text>
</view> </view>
</view> </view>
<van-dialog class="htmlCanvas" id="htmlCanvas" ref="imgCanvas" v-model="dialogShow" confirm-button-text='长按保存' <van-dialog v-model="dialogShow" :showConfirmButton="false" close-on-click-overlay
close-on-click-overlay style="width: 100%; max-height: 80% !important;overflow: scroll"> style="width: 90%;background: linear-gradient(225deg, #0ADD80 0%, #04B871 100%);margin: 100rpx 0 0;">
<view class="htmlCanvasTxt">
<view class="htmlCanvasTxt1">
<text>长按下方图片分享</text>
</view>
<view class="htmlCanvasTxt2">
<text>您可以分享给好友,或者保存到手机</text>
</view>
</view>
<view class="htmlCanvasBox">
<view class="htmlCanvas" id="htmlCanvas" ref="imgCanvas">
</view>
</view>
</van-dialog> </van-dialog>
</view> </view>
</view> </view>
...@@ -777,7 +1060,7 @@ ...@@ -777,7 +1060,7 @@
maxDate: new Date(), maxDate: new Date(),
imgUrl: '', // 存储base64图片 imgUrl: '', // 存储base64图片
dialogShow: false, dialogShow: false,
tabIndex: 1, tabIndex: 0,
// 就餐情况 // 就餐情况
diningSituations: { diningSituations: {
diningSituationsDate: '', diningSituationsDate: '',
...@@ -802,6 +1085,16 @@ ...@@ -802,6 +1085,16 @@
consumerTrend: {}, consumerTrend: {},
isAbnormal: false, isAbnormal: false,
lineDatas: [], lineDatas: [],
// 饭友分析
mealPalData: [],
mealPalArr: [],
mealPalStr: '',
// 就餐时间趋势
breakfastAbnormalStr: '',
lunchAbnormalStr: '',
dinnerAbnormalStr: '',
mealtypeArr: [],
mealtimeTrendsData: [],
// 出入校报告数据 // 出入校报告数据
attendanceSituations: { attendanceSituations: {
attendanceDate: '', attendanceDate: '',
...@@ -842,110 +1135,198 @@ ...@@ -842,110 +1135,198 @@
differDay: '' differDay: ''
}, },
containerHeight: '', containerHeight: '',
pubTalkSummaryHeight: 275,
pubTalkNoopenHeight: 1260,
isnodataClick: false
} }
}, },
mounted() { computed: {
if (this.isPeakPeriod()) { abnormalStr() {
this.showReport = false; if (this.mealtypeArr.length) {
return var breakfastAbnormalStr = this.mealtimeAbnormalDate(1);
var lunchAbnormalStr = this.mealtimeAbnormalDate(2);
var dinnerAbnormalStr = this.mealtimeAbnormalDate(3);
var str1 = breakfastAbnormalStr ? breakfastAbnormalStr + '早餐' : '';
var str2 = lunchAbnormalStr ? lunchAbnormalStr + '中餐' : '';
var str3 = dinnerAbnormalStr ? dinnerAbnormalStr + '晚餐' : '';
var str = str1 ? (str1 + (str2 ? ('' + str2 + (str3 ? '' + str3 : '')) : (str3 ? '' + str3 : ''))) :
(str2 ? (str2 + (str3 ? '' + str3 : '')) : (str3 ? str3 : ''));
} else {
var str = ''
}
return str;
} }
this.showReport = true; },
// 有无消费报告入口 mounted() {
if (new Date().getTime() <= new Date('2022/06/30').getTime()) { this.init()
this.isService = true; },
} else { methods: {
init() {
if (this.isPeakPeriod() && !this.isnodataClick) {
this.showReport = false;
return
}
this.showReport = true;
// 有无消费报告入口
if (new Date().getTime() <= new Date('2022/06/30').getTime()) {
this.isService = true;
} else {
this.queryMemberServcieItem().then(() => {
if (this.queryMemberServcieItemList.length) {
this.isService = this.queryMemberServcieItemList.indexOf(1002) == -1 ? false : true;
}
})
}
// 有无进出校、公话入口
this.queryMemberServcieItem().then(() => { this.queryMemberServcieItem().then(() => {
if (this.queryMemberServcieItemList.length) { if (this.queryMemberServcieItemList.length) {
this.isService = this.queryMemberServcieItemList.indexOf(1002) == -1 ? false : true; this.isAttendanceService = this.queryMemberServcieItemList.indexOf(3002) == -1 ? false :
true;
this.isPubTalkService = this.queryMemberServcieItemList.indexOf(2002) == -1 ? false : true;
} }
}) })
} // 消费报告
// 有无进出校、公话入口 this.queryIsDredgeMember(1002).then(() => {
this.queryMemberServcieItem().then(() => { if (this.isOpen) {
if (this.queryMemberServcieItemList.length) { this.queryMemberValidTime(1002).then(e => {
this.isAttendanceService = this.queryMemberServcieItemList.indexOf(3002) == -1 ? false : true; if (new Date(this.memberInfo.invalidDate).getTime() <= new Date('2022/06/30')
this.isPubTalkService = this.queryMemberServcieItemList.indexOf(2002) == -1 ? false : true; .getTime()) {
} this.flag = 0;
}) this.tabIndex = 1;
// 消费报告 this.memberInfo.invalidDateStr = '2022年6月30日';
this.queryIsDredgeMember(1002).then(() => { this.memberInfo.differDay = dayjs('2022/06/30').diff(dayjs(), 'day') + 1;
if (this.isOpen) { this.containerHeight = 4200;
this.queryMemberValidTime(1002).then(e => { this.queryConsumerSummaryAmount(1).then(e => this.piechart());
if (new Date(this.memberInfo.invalidDate).getTime() <= new Date('2022/06/30') this.queryDayConsumerTrend(1).then(e => this.linechart(this
.getTime()) { .reportTypeIndex));
this.queryMealPalAnalyse().then(() => this.mealPalBarchart());
this.queryRepastTimeTrend().then(() => {
if (this.mealtypeArr.indexOf(1) != -1) {
this.breakfastTimeLinechart(this.reportTypeIndex,
'breakfast-time-line',
1);
}
if (this.mealtypeArr.indexOf(2) != -1) {
this.breakfastTimeLinechart(this.reportTypeIndex,
'lunch-time-line',
2);
}
if (this.mealtypeArr.indexOf(3) != -1) {
this.breakfastTimeLinechart(this.reportTypeIndex,
'dinner-time-line',
3);
}
})
} else {
this.tabIndex = 1;
this.queryIsDredgeMember(1002, 1).then(() => {
this.queryConsumerSummaryAmount(1).then(e => this
.piechart());
this.queryDayConsumerTrend(1).then(e => this.linechart(this
.reportTypeIndex));
this.queryMealPalAnalyse().then(() => this.mealPalBarchart());
this.queryRepastTimeTrend().then(() => {
if (this.mealtypeArr.indexOf(1) != -1) {
this.breakfastTimeLinechart(this
.reportTypeIndex,
'breakfast-time-line',
1);
}
if (this.mealtypeArr.indexOf(2) != -1) {
this.breakfastTimeLinechart(this
.reportTypeIndex, 'lunch-time-line',
2);
}
if (this.mealtypeArr.indexOf(3) != -1) {
this.breakfastTimeLinechart(this
.reportTypeIndex, 'dinner-time-line',
3);
}
})
});
}
})
} else {
if (new Date().getTime() <= new Date('2022/06/30').getTime()) {
this.isOpen = true; this.isOpen = true;
this.flag = 0; this.flag = 0;
this.tabIndex = 1;
this.memberInfo.invalidDateStr = '2022年6月30日'; this.memberInfo.invalidDateStr = '2022年6月30日';
this.memberInfo.differDay = dayjs('2022/06/30').diff(dayjs(), 'day') + 1; this.memberInfo.differDay = dayjs('2022/06/30').diff(dayjs(), 'day') + 1;
this.containerHeight = 4200; this.containerHeight = 4200;
this.queryConsumerSummaryAmount(1).then(e => this.piechart()); this.queryConsumerSummaryAmount(1).then(e => this.piechart());
this.queryDayConsumerTrend(1).then(e => this.linechart(this.reportTypeIndex)); this.queryDayConsumerTrend(1).then(e => this.linechart(this.reportTypeIndex));
this.queryMealPalAnalyse().then(() => this.mealPalBarchart());
this.queryRepastTimeTrend().then(() => {
if (this.mealtypeArr.indexOf(1) != -1) {
this.breakfastTimeLinechart(this.reportTypeIndex,
'breakfast-time-line',
1);
}
if (this.mealtypeArr.indexOf(2) != -1) {
this.breakfastTimeLinechart(this.reportTypeIndex, 'lunch-time-line',
2);
}
if (this.mealtypeArr.indexOf(3) != -1) {
this.breakfastTimeLinechart(this.reportTypeIndex, 'dinner-time-line',
3);
}
})
} else { } else {
this.tabIndex = 1;
this.queryIsDredgeMember(1002, 1).then(() => { this.queryIsDredgeMember(1002, 1).then(() => {
this.queryConsumerSummaryAmount(1).then(e => this this.queryConsumerSummaryAmount();
.piechart()); this.queryDayConsumerTrend();
this.queryDayConsumerTrend(1).then(e => this.linechart(this this.queryMealPalAnalyse();
.reportTypeIndex)); this.queryRepastTimeTrend();
}); })
} }
}
});
let tmpArr = []
// 获取时间
for (let i = 1; i <= 11; i++) {
let startWeek = dayjs().subtract(i, 'month').startOf('month');
let endWeek = dayjs().$d.getTime() > dayjs().subtract(i, 'month').endOf('month').$d.getTime() ? dayjs()
.subtract(i, 'month').endOf('month') : dayjs();
tmpArr.push({
week: (startWeek.format("YYYY/MM/DD")) + '~' + (endWeek.format("YYYY/MM/DD")),
weekstr: (startWeek.format("MM/DD")) + '~' + (endWeek.format("MM/DD")),
startDate: startWeek.format("YYYY-MM-DD"),
endDate: endWeek.format("YYYY-MM-DD")
}) })
} else { }
if (new Date().getTime() <= new Date('2022/06/30').getTime()) { this.dataRangeArr = tmpArr
this.isOpen = true; this.minDate = new Date(this.dataRangeArr[this.dataRangeIndex].startDate);
this.flag = 0; this.maxDate = new Date(this.dataRangeArr[this.dataRangeIndex].endDate);
this.memberInfo.invalidDateStr = '2022年6月30日'; this.diningSituations.diningSituationsRequestDate = this.dataRangeArr[this.dataRangeIndex].startDate;
this.memberInfo.differDay = dayjs('2022/06/30').diff(dayjs(), 'day') + 1; this.diningSituations.diningSituationsDate = this.formatDate(this.minDate);
this.containerHeight = 4200; this.attendanceSituations.attendanceDate = this.formatDate(this.minDate);
this.queryConsumerSummaryAmount(1).then(e => this.piechart()); this.queryCampusStudentInfo();
this.queryDayConsumerTrend(1).then(e => this.linechart(this.reportTypeIndex)); let tmpDate = this.formatDateTwo(this.minDate);
this.queryNotRepastDetails(this.dataRangeArr[this.dataRangeIndex].startDate, this.dataRangeArr[this
.dataRangeIndex].endDate).then(() => {
if (this.diningSituations.notRepastDetailsDTOS) {
let today = this.diningSituations.notRepastDetailsDTOS.filter(e => e.repastDate ===
tmpDate)[
0];
this.diningSituations.notRepastDetails = today;
} else { } else {
this.queryIsDredgeMember(1002, 1).then(() => { this.diningSituations.notRepastDetails = {};
this.queryConsumerSummaryAmount();
this.queryDayConsumerTrend();
});
} }
});
if (this.isPubTalkService) {
this.getPubTalkReport();
} }
}); },
let tmpArr = [] // 当天11:00 ~ 13:00属于高峰期
// 获取时间
for (let i = 1; i <= 11; i++) {
let startWeek = dayjs().subtract(i, 'month').startOf('month');
let endWeek = dayjs().$d.getTime() > dayjs().subtract(i, 'month').endOf('month').$d.getTime() ? dayjs()
.subtract(i, 'month').endOf('month') : dayjs();
tmpArr.push({
week: (startWeek.format("YYYY/MM/DD")) + '~' + (endWeek.format("YYYY/MM/DD")),
weekstr: (startWeek.format("MM/DD")) + '~' + (endWeek.format("MM/DD")),
startDate: startWeek.format("YYYY-MM-DD"),
endDate: endWeek.format("YYYY-MM-DD")
})
}
this.dataRangeArr = tmpArr
this.minDate = new Date(this.dataRangeArr[this.dataRangeIndex].startDate);
this.maxDate = new Date(this.dataRangeArr[this.dataRangeIndex].endDate);
this.diningSituations.diningSituationsRequestDate = this.dataRangeArr[this.dataRangeIndex].startDate;
this.diningSituations.diningSituationsDate = this.formatDate(this.minDate);
this.attendanceSituations.attendanceDate = this.formatDate(this.minDate);
this.queryCampusStudentInfo();
let tmpDate = this.formatDateTwo(this.minDate);
this.queryNotRepastDetails(this.dataRangeArr[this.dataRangeIndex].startDate, this.dataRangeArr[this
.dataRangeIndex].endDate).then(() => {
if (this.diningSituations.notRepastDetailsDTOS) {
let today = this.diningSituations.notRepastDetailsDTOS.filter(e => e.repastDate === tmpDate)[
0];
this.diningSituations.notRepastDetails = today;
} else {
this.diningSituations.notRepastDetails = {};
}
});
},
methods: {
// 当天6:30 ~ 9:00,11:30 ~ 12:00, 17:30 ~ 19:00属于高峰期
isPeakPeriod() { isPeakPeriod() {
let first = this.timeIn("06:30:00", "09:00:00"); let first = this.timeIn("11:00:00", "13:00:00");
let second = this.timeIn("11:00:00", "12:00:00"); return first;
let three = this.timeIn("17:30:00", "19:00:00"); },
console.log(first, "first", second, "second", three, "three"); nodataClick: function() {
return first || second || three; this.isnodataClick = true
this.init()
}, },
/*在某段时间内*/ /*在某段时间内*/
timeIn(s, e) { timeIn(s, e) {
...@@ -987,11 +1368,30 @@ ...@@ -987,11 +1368,30 @@
this.queryConsumerSummaryAmount(1).then(e => this.piechart()); this.queryConsumerSummaryAmount(1).then(e => this.piechart());
this.queryDayConsumerTrend(1).then(e => this.linechart(this this.queryDayConsumerTrend(1).then(e => this.linechart(this
.reportTypeIndex)); .reportTypeIndex));
this.queryMealPalAnalyse().then(() => this.mealPalBarchart());
this.queryRepastTimeTrend().then(() => {
if (this.mealtypeArr.indexOf(1) != -1) {
this.breakfastTimeLinechart(this.reportTypeIndex,
'breakfast-time-line',
1);
}
if (this.mealtypeArr.indexOf(2) != -1) {
this.breakfastTimeLinechart(this.reportTypeIndex,
'lunch-time-line',
2);
}
if (this.mealtypeArr.indexOf(3) != -1) {
this.breakfastTimeLinechart(this.reportTypeIndex,
'dinner-time-line',
3);
}
})
} else { } else {
this.queryConsumerSummaryAmount(); this.queryConsumerSummaryAmount();
this.queryDayConsumerTrend(); this.queryDayConsumerTrend();
} }
}) })
} else if (num == 2) { } else if (num == 2) {
if (flag) { if (flag) {
this.attendanceSituations.attendanceDate = this.formatDate(this.minDate); this.attendanceSituations.attendanceDate = this.formatDate(this.minDate);
...@@ -1010,7 +1410,7 @@ ...@@ -1010,7 +1410,7 @@
if (this.attendanceReportDatail.length) { if (this.attendanceReportDatail.length) {
this.containerHeight = 2762; this.containerHeight = 2762;
} else { } else {
this.containerHeight = 1904; this.containerHeight = 2524;
} }
}); });
} }
...@@ -1037,22 +1437,20 @@ ...@@ -1037,22 +1437,20 @@
this.memberInfo.differDay = ''; this.memberInfo.differDay = '';
this.memberInfo.invalidDateStr = ''; this.memberInfo.invalidDateStr = '';
this.memberInfo.leastAmount = ''; this.memberInfo.leastAmount = '';
this.queryIsDredgeMember(2002).then(e => { this.getPubTalkReport().then(() => {
if (this.isPubTalkOpen) { this.queryIsDredgeMember(2002).then(e => {
this.getPubTalkReport().then(() => { if (this.isPubTalkOpen) {
this.$nextTick(() => { this.$nextTick(() => {
this.callNumberBarchart(); this.callNumberBarchart();
this.callDurationBarchart(); this.callDurationBarchart();
this.leaveMessageBarchart(); this.leaveMessageBarchart();
}) })
}) } else {
} else {
this.getPubTalkReport().then(() => {
this.$nextTick(() => { this.$nextTick(() => {
this.callNumberBarchart(); this.callNumberBarchart();
}) })
}) }
} })
}) })
} }
} }
...@@ -1061,6 +1459,10 @@ ...@@ -1061,6 +1459,10 @@
this.$nextTick(() => { this.$nextTick(() => {
html2cancas(document.getElementsByClassName("tainer")[0], { html2cancas(document.getElementsByClassName("tainer")[0], {
useCORS: true, useCORS: true,
// 解决截图不完整问题
scale: 1,
height: document.getElementsByClassName("tainer")[0].scrollHeight,
windowHeight: document.getElementsByClassName("tainer")[0].scrollHeight
}).then((canvas) => { }).then((canvas) => {
let htmlCanvas = document.getElementById('htmlCanvas'); let htmlCanvas = document.getElementById('htmlCanvas');
let url = canvas.toDataURL('image/png'); let url = canvas.toDataURL('image/png');
...@@ -1068,7 +1470,8 @@ ...@@ -1068,7 +1470,8 @@
let img = document.createElement("img"); let img = document.createElement("img");
img.setAttribute('src', this.imgUrl); img.setAttribute('src', this.imgUrl);
img.setAttribute('class', 'htmlCanvasImg'); img.setAttribute('class', 'htmlCanvasImg');
img.style.width = '100vw'; img.style.width = '83vw';
img.style.borderRadius = '15px';
htmlCanvas.appendChild(img); htmlCanvas.appendChild(img);
}) })
}) })
...@@ -1139,7 +1542,9 @@ ...@@ -1139,7 +1542,9 @@
const lunchTxt = item.lunchStatus ? '' : ''; const lunchTxt = item.lunchStatus ? '' : '';
const supperTxt = item.supperStatus ? '' : ''; const supperTxt = item.supperStatus ? '' : '';
day.topInfo = breakfastTxt + lunchTxt + supperTxt; day.topInfo = breakfastTxt + lunchTxt + supperTxt;
day.className = 'notice-day' if (day.topInfo) {
day.className = 'notice-day'
}
} }
}) })
} }
...@@ -1149,10 +1554,11 @@ ...@@ -1149,10 +1554,11 @@
.abnomalType == 3 || e.abnomalType == 5); .abnomalType == 3 || e.abnomalType == 5);
const leaveList = this.attendanceReport.abnomalDateList.filter(e => e.abnomalType == 4); const leaveList = this.attendanceReport.abnomalDateList.filter(e => e.abnomalType == 4);
const championList = this.attendanceReport.abnomalDateList.filter(e => e.abnomalType == 6); const championList = this.attendanceReport.abnomalDateList.filter(e => e.abnomalType == 6);
// 迟到 早退 旷课 const progressList = this.attendanceReport.abnomalDateList.filter(e => e.abnomalType == 7);
// 迟到 早退 未到校
abnomalList.forEach(item => { abnomalList.forEach(item => {
if (sum == item.attendDate.slice(0, 10)) { if (sum == item.attendDate.slice(0, 10)) {
var topInfo = item.abnomalType == 5 ? '旷课' : item.abnomaleName; var topInfo = item.abnomalType == 5 ? '未到校' : item.abnomaleName;
day.topInfo = topInfo; day.topInfo = topInfo;
day.className = 'late-day'; day.className = 'late-day';
} }
...@@ -1171,6 +1577,13 @@ ...@@ -1171,6 +1577,13 @@
day.className = 'champion-day'; day.className = 'champion-day';
} }
}) })
// 进步
progressList.forEach(item => {
if (sum == item.attendDate.slice(0, 10)) {
day.topInfo = item.abnomaleName;
day.className = 'progress-day';
}
})
} }
} }
return day; return day;
...@@ -1374,25 +1787,343 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1374,25 +1787,343 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
myLineChart.resize(); myLineChart.resize();
}) })
}, },
callNumberBarchart: function() { // 就餐时间趋势
var mySize = document.getElementById('call-number-bar'); breakfastTimeLinechart: function(num, eleId, mealtype) {
var mySize = document.getElementById(eleId);
mySize.style.width = 350 + 'px'; mySize.style.width = 350 + 'px';
mySize.style.height = 260 + 'px'; mySize.style.height = 260 + 'px';
var myCallNumberBarchart = echarts.init(mySize); var myBreakfastTimeLineChart = echarts.init(mySize);
var xdata = this.pubTalkReport.callNumberInfoList.map(v => v.nickname); var cateringList = this.mealtimeTrendsData.filter(e => e.mealtype == mealtype)[0].cateringList;
var seriesData = this.pubTalkReport.callNumberInfoList.map(v => v.callNumber); var breakfastTimeData = JSON.parse(JSON.stringify(cateringList));
var option = { var breakfastTimeDataTwo = JSON.parse(JSON.stringify(cateringList));
xAxis: { breakfastTimeData.forEach(e => {
type: 'category', if ('itemStyle' in e) delete e.itemStyle;
data: xdata, if ('symbol' in e) delete e.symbol;
axisLabel: { if ('symbolSize' in e) delete e.symbolSize;
show: true, if (e.classmealtime.indexOf('2022/07/01') == -1) {
interval: 0, e.classmealtime = "2022/07/01 " + e.classmealtime
textStyle: { }
color: 'rgba(0, 0, 0, 0.5)', e.value = e.classmealtime;
fontSize: 12 });
}, breakfastTimeDataTwo.forEach(e => {
formatter: function(params) { if ('itemStyle' in e) delete e.itemStyle;
if ('symbol' in e) delete e.symbol;
if ('symbolSize' in e) delete e.symbolSize;
if (e.usermealtime.indexOf('2022/07/01') == -1) {
e.usermealtime = "2022/07/01 " + e.usermealtime
}
e.value = e.usermealtime;
});
var xInterval = this.reportTypeIndex ? 0 : 6;
var yMidPoint = "2022/07/01 " + this.mealtimeTrendsData.filter(e => e.mealtype == 1)[0].earliestTime;
var maxDate = new Date(yMidPoint).setHours(new Date(yMidPoint).getHours() == 23 ? '00' : new Date(
yMidPoint).getHours() + 1);
var minDate = new Date(yMidPoint).setHours(new Date(yMidPoint).getHours() == 0 ? 23 : new Date(
yMidPoint).getHours() - 1);
var xdata = breakfastTimeData.map(e => e.repasttime.slice(5));
var year = this.dataRangeArr[this.dataRangeIndex].startDate.slice(0, 4);
var month = this.dataRangeArr[this.dataRangeIndex].startDate.slice(5, 7);
var saturdayList = this.getMonthSaturdayDate(year, month);
var seriesDataOne = [];
var seriesDataTwo = [];
switch (num) {
case 0: // 月报
breakfastTimeData.map(v => {
if (v.repastType == 1) {
if (v.repasttime == this.formatDateTwo(new Date(year, month, 0)) ||
saturdayList
.includes(v.repasttime)) { // 第1/2/3/4周的最后一天+月末最后一天
seriesDataOne.push(Object.assign(v, {
itemStyle: {
color: 'rgba(0, 0, 0, 0.5)',
borderWidth: 1.5
},
symbolSize: 4
}))
} else {
seriesDataOne.push(Object.assign(v, {
itemStyle: {
color: 'rgba(0, 0, 0, 0.5)',
borderWidth: 1.5
},
symbol: 'none'
}))
}
} else {
if (v.repasttime == this.formatDateTwo(new Date(year, month, 0)) ||
saturdayList
.includes(v.repasttime)) {
seriesDataOne.push(Object.assign(v, {
itemStyle: {
color: 'rgba(0, 0, 0, 0.5)',
borderWidth: 1.5
},
symbolSize: 4
}))
} else {
seriesDataOne.push(Object.assign(v, {
itemStyle: {
color: '#FF8646',
borderWidth: 1.5
},
symbol: 'none'
}))
}
}
});
breakfastTimeDataTwo.map(v => {
if (v.repastType == 1) {
if (v.repasttime == this.formatDateTwo(new Date(year, month, 0)) ||
saturdayList
.includes(v.repasttime)) {
seriesDataTwo.push(Object.assign(v, {
itemStyle: {
color: '#0BDB7E',
borderWidth: 1.5
},
symbolSize: 4
}))
} else {
seriesDataTwo.push(Object.assign(v, {
itemStyle: {
color: '#0BDB7E',
borderWidth: 1.5
},
symbol: 'none'
}))
}
} else {
if (v.repasttime == this.formatDateTwo(new Date(year, month, 0)) ||
saturdayList
.includes(v.repasttime)) {
seriesDataTwo.push(Object.assign(v, {
itemStyle: {
color: '#0BDB7E',
borderWidth: 1.5
},
symbolSize: 4
}))
} else {
seriesDataTwo.push(Object.assign(v, {
itemStyle: {
color: '#FF8646',
borderWidth: 1.5
},
symbol: 'none'
}))
}
}
});
break;
case 1: // 周报
breakfastTimeData.map(v => {
if (v.repastType == 1) {
seriesDataOne.push(Object.assign(v, {
itemStyle: {
color: 'rgba(0, 0, 0, 0.5)',
borderWidth: 1.5
},
symbolSize: 4
}))
} else {
seriesDataOne.push(Object.assign(v, {
itemStyle: {
color: '#FF8646',
borderWidth: 1.5
},
symbolSize: 4
}))
}
});
breakfastTimeDataTwo.map(v => {
if (v.repastType == 1) {
seriesDataTwo.push(Object.assign(v, {
itemStyle: {
color: '#0BDB7E',
borderWidth: 1.5
},
symbolSize: 4
}))
} else {
seriesDataTwo.push(Object.assign(v, {
itemStyle: {
color: '#FF8646',
borderWidth: 1.5
},
symbolSize: 4
}))
}
});
break;
}
var option = {
xAxis: {
type: 'category',
data: xdata,
axisLabel: {
interval: xInterval
},
},
yAxis: {
type: 'time',
axisLabel: {
margin: 2,
formatter: function(value) {
return (moment(value).format('YYYY-MM-DD HH:mm')).slice(11)
}
},
max: function(value) {
if (new Date(maxDate).getMinutes() > 0 && new Date(maxDate).getMinutes() <
30) {
return new Date(maxDate).setMinutes(30);
} else {
return maxDate;
}
},
min: minDate,
minInterval: 2400 * 1000,
maxInterval: 2400 * 1000
},
series: [{
data: seriesDataOne,
type: 'line',
smooth: true,
lineStyle: {
color: 'rgba(0, 0, 0, 0.5)'
}
}, {
data: seriesDataTwo,
type: 'line',
smooth: true,
lineStyle: {
color: '#0BDB7E'
}
}, ],
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow',
shadowStyle: {
color: 'transparent'
}
},
extraCssText: `width:150px;height:30px;line-height:33rpx;background: no-repeat center/100% url(./static/images/breakfastTimeBg.png);
font-size:24rpx;font-family: PingFangSC-Medium, PingFang SC;font-weight: 500;
color: #FF8646;padding:23px 0 30px 12px;box-sizing:border-box;`,
confine: true,
position: function(pt) {
return [pt[0] - 30, pt[1] - 5];
},
formatter: function(data) {
if (data[0].data.repastType == 2 && data[0].data.symbolSize) {
return `${new Date(data[0].data.repasttime).getMonth()+1}${new Date(data[0].data.repasttime).getDate()}日就餐时间较晚`;
} else if (data[0].data.repastType == 3 && data[0].data.symbolSize) {
return `${new Date(data[0].data.repasttime).getMonth()+1}${new Date(data[0].data.repasttime).getDate()}日就餐时间较早`;
}
}
},
};
option && myBreakfastTimeLineChart.setOption(option);
window.addEventListener('resize', function() {
myBreakfastTimeLineChart.resize();
})
},
mealPalBarchart: function() {
var mySize = document.getElementById('meal-pal-bar');
mySize.style.width = 300 + 'px';
mySize.style.height = 280 + 'px';
var myMealPalBarchart = echarts.init(mySize);
var ydata = this.mealPalArr;
var seriesData = this.mealPalData.map(v => v.mealnumber);
var seriesDataMax = Math.max(...seriesData);
var option = {
xAxis: {
type: 'value',
interval: Math.ceil(seriesDataMax / 5),
axisLabel: {
formatter: '{value}天'
},
splitLine: {
show: true,
lineStyle: {
color: ['#979797'],
width: 0.5,
type: 'solid'
}
}
},
yAxis: {
type: 'category',
data: ydata,
axisLabel: {
show: true,
textStyle: {
color: '#000000',
fontSize: 12
},
},
axisLine: {
show: true,
lineStyle: {
color: ['#979797'],
width: 0.5,
type: 'solid'
}
}
},
series: [{
data: seriesData,
type: 'bar',
itemStyle: {
color: new this.$echarts.graphic.LinearGradient(0, 0, 1, 0, [{
offset: 0,
color: '#04B871'
},
{
offset: 1,
color: '#07D66A'
}
]),
barBorderRadius: [0, 8, 8, 0],
},
label: {
show: true,
position: 'right',
color: '#04B871',
fontSize: '14px',
formatter: (params) => {
return params.value + '';
}
},
barWidth: 25
}]
};
option && myMealPalBarchart.setOption(option);
window.addEventListener('resize', function() {
myMealPalBarchart.resize();
})
},
callNumberBarchart: function() {
var mySize = document.getElementById('call-number-bar');
mySize.style.width = 350 + 'px';
mySize.style.height = 260 + 'px';
var myCallNumberBarchart = echarts.init(mySize);
var xdata = this.pubTalkReport.callNumberInfoList.map(v => v.nickname);
var seriesData = this.pubTalkReport.callNumberInfoList.map(v => v.callNumber);
var option = {
xAxis: {
type: 'category',
data: xdata,
axisLabel: {
show: true,
interval: 0,
textStyle: {
color: 'rgba(0, 0, 0, 0.5)',
fontSize: 12
},
formatter: function(params) {
var newParamsName = ""; var newParamsName = "";
var tempParamsName = ""; var tempParamsName = "";
var paramsNameNumber = params.length; var paramsNameNumber = params.length;
...@@ -1753,11 +2484,13 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1753,11 +2484,13 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
title: data.msg title: data.msg
}) })
return return
} }
if (!data.obj) return; if (!data.obj) return;
if (data.obj.length) { if (data.obj.length) {
const tmpObj = data.obj[0]; const tmpObj = data.obj[0];
this.isEatLow = tmpObj.canteenamount / tmpObj.consumergrossamount < 0.5 ? true : false; this.isEatLow = tmpObj.canteenamount / tmpObj.consumergrossamount < 0.5 ?
true : false;
if (num) { if (num) {
this.pieDatas = [ this.pieDatas = [
[{ [{
...@@ -1786,12 +2519,17 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1786,12 +2519,17 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
name: 'gradeAverageHeight', name: 'gradeAverageHeight',
num: this.consumerAmountObj.gradeavgamount num: this.consumerAmountObj.gradeavgamount
}); });
const tempArr = [this.consumerAmountObj.schoolavgamount, this.consumerAmountObj const tempArr = [this.consumerAmountObj.schoolavgamount, this
.consumerAmountObj
.consumergrossamount, .consumergrossamount,
this.consumerAmountObj.gradeavgamount this.consumerAmountObj.gradeavgamount
]; ];
const heightArr = Object.keys(this.counterArray(tempArr)).length == 1 ? [139, 139, 139] : ( const heightArr = Object.keys(this.counterArray(tempArr)).length == 1 ? [
Object.keys(this.counterArray(tempArr)).length == 2 ? [139, 139, 160] : [139, 160, 192] 139, 139, 139
] : (
Object.keys(this.counterArray(tempArr)).length == 2 ? [139, 139,
160
] : [139, 160, 192]
); );
sortArr.forEach(e => { sortArr.forEach(e => {
this[e.name] = heightArr[e.tag] this[e.name] = heightArr[e.tag]
...@@ -1860,6 +2598,106 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1860,6 +2598,106 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
}) })
} }
}, },
// 饭友分析
async queryMealPalAnalyse() {
try {
let data = await this.$http.get({
url: gHost +
'/report-push/campus-consumer-report/queryMealPalAnalyse'
}, {
schoolId: getQueryParams('schoolId'),
studentId: getQueryParams('userId'),
startDate: this.dataRangeArr[this.dataRangeIndex].startDate,
endDate: this.dataRangeArr[this.dataRangeIndex].endDate,
timeType: this.dataRangeIndex == 0 ? 2 : 1
})
if (data.code != 200) {
uni.showToast({
icon: "none",
mask: true,
title: data.message
})
return
}
this.mealPalData = data.obj || [];
this.mealPalArr = this.mealPalData.map(v => v.mealpalname.slice(0, 1) +
'**');
this.mealPalStr = this.mealPalArr.join('');
} catch (e) {
//TODO handle the exception
console.log(e);
uni.showToast({
icon: "none",
mask: true,
title: e.message
})
}
},
// 异常就餐日期
mealtimeAbnormalDate(mealtype) { // mealtype 1 早餐 2 中餐 3 晚餐
var breakfastArr = this.mealtimeTrendsData.filter(e => e.mealtype == mealtype);
var breakfastAbnormalArr = [];
var breakfastAbnormalStr = '';
if (breakfastArr && breakfastArr[0].cateringList) {
breakfastAbnormalArr = breakfastArr[0].cateringList.filter(e => e.repastType == 2 || e.repastType == 3)
.map(e => e.repasttime.slice(8, 9) ? e.repasttime.slice(8) : e.repasttime.slice(8, 9))
if (breakfastAbnormalArr.length > 1) {
for (var i = 0; i < breakfastAbnormalArr.length - 1; i++) {
breakfastAbnormalStr += breakfastAbnormalArr[i] + '日、';
}
breakfastAbnormalStr += breakfastAbnormalArr[breakfastAbnormalArr.length - 1] + '';
} else if (breakfastAbnormalArr.length == 1) {
breakfastAbnormalStr += breakfastAbnormalArr[breakfastAbnormalArr.length - 1] + '';
}
}
return breakfastAbnormalStr;
},
// 就餐时间趋势
async queryRepastTimeTrend() {
try {
let data = await this.$http.get({
url: gHost +
'/report-push/campus-consumer-report/queryRepastTimeTrend'
}, {
schoolId: getQueryParams('schoolId'),
userId: getQueryParams('userId'),
startDate: this.dataRangeArr[this.dataRangeIndex].startDate,
endDate: this.dataRangeArr[this.dataRangeIndex].endDate,
timeType: this.dataRangeIndex == 0 ? 2 : 1
})
if (data.code != 200) {
uni.showToast({
icon: "none",
mask: true,
title: data.message
})
return
}
if (data.obj) {
this.mealtimeTrendsData = data.obj
}
if (data.obj && data.obj.filter(e => e.mealtype == 1) && data.obj.filter(e => e.mealtype == 1)[0]
.cateringList) {
this.mealtypeArr.push(1)
}
if (data.obj && data.obj.filter(e => e.mealtype == 2 && data.obj.filter(e => e.mealtype == 2)[0]
.cateringList)) {
this.mealtypeArr.push(2)
}
if (data.obj && data.obj.filter(e => e.mealtype == 3 && data.obj.filter(e => e.mealtype == 3)[0]
.cateringList)) {
this.mealtypeArr.push(3)
}
} catch (e) {
//TODO handle the exception
console.log(e);
uni.showToast({
icon: "none",
mask: true,
title: e.message
})
}
},
// 获取公话报告 // 获取公话报告
async getPubTalkReport() { async getPubTalkReport() {
try { try {
...@@ -1869,8 +2707,10 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1869,8 +2707,10 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
}, { }, {
schoolId: getQueryParams('schoolId'), schoolId: getQueryParams('schoolId'),
studentId: getQueryParams('userId'), studentId: getQueryParams('userId'),
startDate: this.dataRangeArr[this.dataRangeIndex].startDate, startDate: this.dataRangeArr[this.dataRangeIndex]
endDate: this.dataRangeArr[this.dataRangeIndex].endDate, .startDate,
endDate: this.dataRangeArr[this.dataRangeIndex]
.endDate,
}) })
if (data.code != 0) { if (data.code != 0) {
uni.showToast({ uni.showToast({
...@@ -1881,6 +2721,15 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1881,6 +2721,15 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
return return
} }
this.pubTalkReport = data.data || {}; this.pubTalkReport = data.data || {};
if (!this.pubTalkReport.talkText5 && !this.pubTalkReport
.talkText9) {
this.pubTalkSummaryHeight = 275;
} else if (this.pubTalkReport.talkText5 && !this.pubTalkReport
.talkText9) {
this.pubTalkSummaryHeight = 387;
} else {
this.pubTalkSummaryHeight = 525;
}
} catch (e) { } catch (e) {
//TODO handle the exception //TODO handle the exception
console.log(e); console.log(e);
...@@ -1901,8 +2750,10 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1901,8 +2750,10 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
}, { }, {
schoolId: getQueryParams('schoolId'), schoolId: getQueryParams('schoolId'),
userId: getQueryParams('userId'), userId: getQueryParams('userId'),
startTime: this.dataRangeArr[this.dataRangeIndex].startDate, startTime: this.dataRangeArr[this.dataRangeIndex]
endTime: this.dataRangeArr[this.dataRangeIndex].endDate, .startDate,
endTime: this.dataRangeArr[this.dataRangeIndex]
.endDate,
classId: this.userInfo.classId classId: this.userInfo.classId
}) })
if (data.code != 200) { if (data.code != 200) {
...@@ -1924,7 +2775,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1924,7 +2775,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
}) })
} }
}, },
// 出情况明细 // 出情况明细
async attendanceReprotDatail(currentDate) { async attendanceReprotDatail(currentDate) {
try { try {
let data = await this.$http.post({ let data = await this.$http.post({
...@@ -1947,13 +2798,17 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1947,13 +2798,17 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
var tempList = data.data; var tempList = data.data;
if (tempList && tempList.length) { if (tempList && tempList.length) {
tempList.forEach(e => { tempList.forEach(e => {
if (e.attendDetailReportDTOList && e.attendDetailReportDTOList.length) { if (e.attendDetailReportDTOList && e
e.attendDetailReportDTOList.forEach(c => { .attendDetailReportDTOList.length) {
c.border = c.describeContent && c e.attendDetailReportDTOList.forEach(
.describeContent != '当日早到冠军' ? c => {
'4rpx solid #F9793F' : c.border = c
'4rpx solid rgba(0, 0, 0, 0.25)' .describeContent && c
}) .describeContent !=
'当日早到冠军' ?
'4rpx solid #F9793F' :
'4rpx solid rgba(0, 0, 0, 0.25)'
})
} }
}) })
this.attendanceReportDatail = tempList || []; this.attendanceReportDatail = tempList || [];
...@@ -1991,32 +2846,41 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -1991,32 +2846,41 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
} }
switch (serviceItemCode) { switch (serviceItemCode) {
case 1002: case 1002:
this.isOpen = data.obj.status; this.isOpen = data.obj && data.obj.status ||
false;
if (!this.isOpen) { if (!this.isOpen) {
this.flag = 1; this.flag = 1;
} }
break; break;
case 2002: case 2002:
this.isPubTalkOpen = data.obj.status; this.isPubTalkOpen = data.obj && data.obj
.status || false;
if (this.isPubTalkOpen) { if (this.isPubTalkOpen) {
this.queryMemberValidTime(serviceItemCode); this.queryMemberValidTime(serviceItemCode);
this.containerHeight = 3290; this.containerHeight = 2765 + this
.pubTalkSummaryHeight;
this.flag = 0; this.flag = 0;
} else { } else {
this.queryMemberConsumerAmount(serviceItemCode); this.queryMemberConsumerAmount(
this.containerHeight = 2130; serviceItemCode);
this.containerHeight = 1605 + this
.pubTalkSummaryHeight;
this.pubTalkNoopenHeight = 735 + this
.pubTalkSummaryHeight;
this.flag = 3; this.flag = 3;
} }
break; break;
case 3002: case 3002:
this.isAttendanceOpen = data.obj.status; this.isAttendanceOpen = data.obj && data.obj
.status || false;
if (this.isAttendanceOpen) { if (this.isAttendanceOpen) {
this.queryMemberValidTime(serviceItemCode); this.queryMemberValidTime(serviceItemCode);
this.containerHeight = 2762; this.containerHeight = 2762;
this.flag = 0; this.flag = 0;
} else { } else {
this.queryMemberConsumerAmount(serviceItemCode); this.queryMemberConsumerAmount(
this.containerHeight = 1944; serviceItemCode);
this.containerHeight = 1974;
this.flag = 2; this.flag = 2;
} }
break; break;
...@@ -2027,7 +2891,8 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -2027,7 +2891,8 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
this.containerHeight = 4200; this.containerHeight = 4200;
this.flag = 0; this.flag = 0;
} else { } else {
this.queryMemberConsumerAmount(serviceItemCode); this.queryMemberConsumerAmount(
serviceItemCode);
this.containerHeight = 2340; this.containerHeight = 2340;
} }
} }
...@@ -2061,7 +2926,8 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -2061,7 +2926,8 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
} }
const tempList = data.obj || []; const tempList = data.obj || [];
if (tempList.length) { if (tempList.length) {
this.queryMemberServcieItemList = tempList.map(e => e.serviceCode); this.queryMemberServcieItemList = tempList.map(
e => e.serviceCode);
} else { } else {
this.queryMemberServcieItemList = []; this.queryMemberServcieItemList = [];
} }
...@@ -2082,7 +2948,8 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -2082,7 +2948,8 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
url: gHost + url: gHost +
'/report-push/member-info/queryMemberConsumerAmount' '/report-push/member-info/queryMemberConsumerAmount'
}, { }, {
schoolId: getQueryParams('schoolId'), schoolId: getQueryParams(
'schoolId'),
userId: getQueryParams('userId'), userId: getQueryParams('userId'),
serviceItemCode serviceItemCode
}) })
...@@ -2094,7 +2961,8 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -2094,7 +2961,8 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
}) })
return return
} }
this.memberInfo.leastAmount = data.obj.leastAmount || ''; this.memberInfo.leastAmount = data.obj
.leastAmount;
} catch (e) { } catch (e) {
//TODO handle the exception //TODO handle the exception
console.log(e); console.log(e);
...@@ -2112,8 +2980,10 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -2112,8 +2980,10 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
url: gHost + url: gHost +
'/report-push/member-info/queryMemberValidTime' '/report-push/member-info/queryMemberValidTime'
}, { }, {
schoolId: getQueryParams('schoolId'), schoolId: getQueryParams(
userId: getQueryParams('userId'), 'schoolId'),
userId: getQueryParams(
'userId'),
serviceItemCode serviceItemCode
}) })
if (data.code != 200) { if (data.code != 200) {
...@@ -2124,17 +2994,24 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -2124,17 +2994,24 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
}) })
return return
} }
this.memberInfo.differDay = data.obj.differDay; this.memberInfo.differDay = data.obj
this.memberInfo.invalidDate = data.obj.invalidDate; .differDay;
this.memberInfo.invalidDate = data.obj
.invalidDate;
if (data.obj.invalidDate) { if (data.obj.invalidDate) {
let month = data.obj.invalidDate.slice(5, 6) == 0 ? data let month = data.obj.invalidDate.slice(
.obj.invalidDate.slice(6, 7) : data.obj 5, 6) == 0 ? data
.obj.invalidDate.slice(6, 7) : data
.obj
.invalidDate.slice(5, 7); .invalidDate.slice(5, 7);
let date = data.obj.invalidDate.slice(8, 9) == 0 ? data.obj let date = data.obj.invalidDate.slice(
8, 9) == 0 ? data.obj
.invalidDate.slice(9) : data.obj .invalidDate.slice(9) : data.obj
.invalidDate.slice(8); .invalidDate.slice(8);
this.memberInfo.invalidDateStr = data.obj.invalidDate this.memberInfo.invalidDateStr = data
.slice(0, 4) + '' + month + '' + date + ''; .obj.invalidDate
.slice(0, 4) + '' + month + '' +
date + '';
} else { } else {
this.memberInfo.invalidDateStr = ''; this.memberInfo.invalidDateStr = '';
} }
...@@ -2157,7 +3034,9 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -2157,7 +3034,9 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
fail: function fail(_fail) { fail: function fail(_fail) {
console.warn(_fail); console.warn(_fail);
uni.showModal({ uni.showModal({
content: JSON.stringify(_fail) content: JSON
.stringify(
_fail)
}); });
} }
}); });
...@@ -2194,103 +3073,149 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -2194,103 +3073,149 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
} }
} }
.tainer { .htmlCanvasTxt {
.school-report-header { height: 154rpx;
height: 88rpx; width: 100%;
margin: 72rpx 0 48rpx 40rpx; padding: 42rpx 0 20rpx 29rpx;
display: flex; box-sizing: border-box;
justify-content: space-between;
.school-report-header-item {
display: flex;
.user-avatar { .htmlCanvasTxt1 {
width: 88rpx; font-size: 32rpx;
height: 88rpx; font-family: PingFangSC-Semibold, PingFang SC;
background: no-repeat center/100% url(../../static/images/avatar.png); font-weight: 600;
} color: #FFFFFF;
line-height: 44rpx;
}
.user-info { .htmlCanvasTxt2 {
display: flex; font-size: 26rpx;
flex-direction: column; font-family: PingFangSC-Regular, PingFang SC;
justify-content: space-between; font-weight: 400;
margin-left: 9rpx; color: #FFFFFF;
line-height: 44rpx;
}
}
.user-name { .htmlCanvasBox {
width: 200rpx; overflow: scroll;
font-size: 34rpx; height: 943rpx;
font-family: PingFangSC-Medium, PingFang SC; border-radius: 30rpx;
font-weight: 500; margin: 0 24rpx 25rpx;
color: #1B1B1B; }
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.class-name { .tainer {
width: 200rpx; position: relative;
font-size: 28rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: rgba(0, 0, 0, 0.25);
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
}
.school-report-screen { .school-report-header-bg {
height: 292rpx;
}
.school-report-header-position {
height: 292rpx;
padding: 72rpx 0 0 30rpx;
box-sizing: border-box;
position: fixed;
top: 0;
left: 0;
background: #FFFFFF;
z-index: 1000;
.school-report-header {
height: 88rpx;
display: flex;
justify-content: space-between;
position: relative;
margin: 0 0 48rpx;
.school-report-header-item {
display: flex; display: flex;
.school-report-screen-item { .user-avatar {
width: 156rpx; width: 88rpx;
height: 88rpx;
background: no-repeat center/100% url(../../static/images/avatar.png);
}
.user-info {
display: flex; display: flex;
justify-content: center; flex-direction: column;
align-items: center; justify-content: space-between;
margin-left: 9rpx;
.school-report-type { .user-name {
font-size: 28rpx; width: 200rpx;
font-size: 34rpx;
font-family: PingFangSC-Medium, PingFang SC; font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500; font-weight: 500;
color: #1B1B1B; color: #1B1B1B;
margin-right: 12rpx; overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
} }
.triangle { .class-name {
width: 21rpx; width: 200rpx;
height: 10rpx; font-size: 28rpx;
background: no-repeat center/100% url(../../static/images/grayTriangle.png); font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: rgba(0, 0, 0, 0.25);
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
} }
} }
.school-report-screen-item-two { .school-report-screen {
width: 270rpx;
display: flex; display: flex;
justify-content: center;
align-items: center;
.school-report-date { .school-report-screen-item {
font-size: 28rpx; width: 156rpx;
font-family: PingFangSC-Medium, PingFang SC; display: flex;
font-weight: 500; justify-content: center;
color: #1B1B1B; align-items: center;
margin-right: 17rpx;
.school-report-type {
font-size: 28rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #1B1B1B;
margin-right: 12rpx;
}
.triangle {
width: 21rpx;
height: 10rpx;
background: no-repeat center/100% url(../../static/images/grayTriangle.png);
}
} }
.triangle { .school-report-screen-item-two {
width: 21rpx; width: 270rpx;
height: 10rpx; display: flex;
background: no-repeat center/100% url(../../static/images/grayTriangle.png); justify-content: center;
align-items: center;
.school-report-date {
font-size: 28rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #1B1B1B;
margin-right: 17rpx;
}
.triangle {
width: 21rpx;
height: 10rpx;
background: no-repeat center/100% url(../../static/images/grayTriangle.png);
}
} }
} }
} }
} }
}
.school-report-context {
.school-report-context-tab { .school-report-context-tab {
height: 84rpx; height: 84rpx;
padding-left: 40rpx;
box-sizing: border-box; box-sizing: border-box;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
...@@ -2304,14 +3229,25 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -2304,14 +3229,25 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
border-radius: 20rpx 20rpx 0rpx 0rpx; border-radius: 20rpx 20rpx 0rpx 0rpx;
font-size: 30rpx; font-size: 30rpx;
font-family: PingFangSC-Semibold, PingFang SC; font-family: PingFangSC-Semibold, PingFang SC;
font-weight: 600;
color: rgba(0, 0, 0, 0.85); color: rgba(0, 0, 0, 0.85);
display: flex; display: flex;
justify-content: center;
align-items: center; align-items: center;
flex-direction: column;
&.active { &.active {
background: #E4F9F2; background: #E4F9F2;
font-weight: 600;
}
.tab-title {
margin: 20rpx 0 10rpx;
}
.active-bottomline {
width: 49rpx;
height: 7rpx;
background: #04B871;
border-radius: 4rpx;
} }
} }
} }
...@@ -2346,6 +3282,9 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -2346,6 +3282,9 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
} }
} }
}
.school-report-context {
.consumer-report-bgImg { .consumer-report-bgImg {
width: 100%; width: 100%;
height: 452rpx; height: 452rpx;
...@@ -2388,7 +3327,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -2388,7 +3327,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
background: #E5F8F1; background: #E5F8F1;
padding: 0 30rpx; padding: 0 30rpx;
position: absolute; position: absolute;
top: 650rpx; top: 720rpx;
box-sizing: border-box; box-sizing: border-box;
.school-report-context-card-one { .school-report-context-card-one {
...@@ -2882,19 +3821,25 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -2882,19 +3821,25 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
height: 88rpx; height: 88rpx;
margin-left: 10rpx; margin-left: 10rpx;
} }
/deep/ .progress-day {
color: #DAA000;
background: url(../../static/images/progress.png) no-repeat -2rpx center/100%;
border-radius: 22rpx;
width: 88rpx;
height: 88rpx;
margin-left: 10rpx;
}
} }
} }
.attendance-report-context-details { .attendance-report-context-details {
height: 858rpx;
overflow: scroll;
.attendance-report-context-card-two-details { .attendance-report-context-card-two-details {
position: relative; position: relative;
top: -30rpx;
height: 146rpx; height: 146rpx;
background: #F5F7F7; background: #F5F7F7;
padding: 57rpx 39rpx 0 34rpx; padding: 28rpx 39rpx 0 34rpx;
box-sizing: border-box; box-sizing: border-box;
.attendance-report-context-card-two-details-item { .attendance-report-context-card-two-details-item {
...@@ -3000,13 +3945,16 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -3000,13 +3945,16 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
.attendance-report-details-item-box { .attendance-report-details-item-box {
width: 83.5%; width: 83.5%;
height: 156rpx;
display: flex; display: flex;
justify-content: space-between; flex-direction: column;
position: absolute; position: absolute;
margin-left: 71rpx; margin-left: 71rpx;
.attendance-report-details-item { .attendance-report-details-item {
height: 40rpx; height: 40rpx;
display: flex;
justify-content: space-between;
.attendance-report-time { .attendance-report-time {
display: flex; display: flex;
...@@ -3016,6 +3964,10 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -3016,6 +3964,10 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
color: rgba(0, 0, 0, 0.85); color: rgba(0, 0, 0, 0.85);
line-height: 40rpx; line-height: 40rpx;
.attendance-report-time-txt {
width: 56rpx;
}
.attendance-report-time-item { .attendance-report-time-item {
color: #F9793F; color: #F9793F;
margin: 0 21rpx 0 15rpx; margin: 0 21rpx 0 15rpx;
...@@ -3037,6 +3989,13 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -3037,6 +3989,13 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
margin-right: 2rpx; margin-right: 2rpx;
} }
.progress-img {
width: 30rpx;
height: 29rpx;
background: no-repeat center/100% url(../../static/images/progressIcon.png);
margin-right: 2rpx;
}
.early-champions-txt { .early-champions-txt {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
...@@ -3045,12 +4004,6 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -3045,12 +4004,6 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
} }
} }
} }
}
.attendance-report-details-img-item {
display: flex;
flex-direction: column;
align-items: flex-end;
.attendance-report-time-details { .attendance-report-time-details {
width: 212rpx; width: 212rpx;
...@@ -3075,15 +4028,22 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -3075,15 +4028,22 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
width: 21rpx; width: 21rpx;
height: 12rpx; height: 12rpx;
background: no-repeat center/100% url(../../static/images/arrowUp.png); background: no-repeat center/100% url(../../static/images/arrowUp.png);
margin-left: 30rpx; // margin-left: 30rpx;
} }
} }
}
.attendance-report-details-img-item {
display: flex;
justify-content: flex-end;
width: 100%;
height: 95rpx;
margin: 14rpx 0 0;
.attendance-report-details-img-box { .attendance-report-details-img-box {
width: 155rpx; width: 155rpx;
height: 95rpx; height: 95rpx;
display: flex;
justify-content: flex-end;
image { image {
width: 100%; width: 100%;
...@@ -3094,6 +4054,21 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -3094,6 +4054,21 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
} }
} }
} }
.noAttendanceReportDatail {
height: 620rpx;
background: #F5F7F7;
margin: -40rpx 0 0;
border-radius: 0 0 16rpx 16rpx;
.noAttendanceReportDatailImg {
margin: 78rpx 0 0 107rpx;
width: 474rpx;
height: 235rpx;
background: no-repeat center/100% url(../../static/images/noAttendanceReportDatailData.png);
}
}
} }
.image-dialog { .image-dialog {
...@@ -3337,6 +4312,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -3337,6 +4312,7 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
height: 634rpx; height: 634rpx;
background: #FFFFFF; background: #FFFFFF;
border-radius: 16rpx; border-radius: 16rpx;
margin: 0 0 40rpx;
position: relative; position: relative;
.school-report-context-card-five-conclusion { .school-report-context-card-five-conclusion {
...@@ -3406,6 +4382,172 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -3406,6 +4382,172 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
} }
} }
.school-report-context-card-six {
height: 1590rpx;
background: #FFFFFF;
border-radius: 16rpx;
margin: 0 0 40rpx;
.school-report-context-card-six-conclusion {
margin: 40rpx 0 57rpx;
.school-report-context-card-six-conclusion-item {
margin: 0 40rpx 0 30rpx;
height: 120rpx;
font-size: 28rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: rgba(0, 0, 0, 0.85);
line-height: 40rpx;
.abnormal-date {
color: #04B871;
}
}
}
.mealtime-trends {
.mealtime-trends-theme {
height: 42rpx;
padding: 0 49rpx 0 30rpx;
box-sizing: border-box;
display: flex;
.meal-type {
font-size: 30rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: rgba(0, 0, 0, 0.85);
line-height: 42rpx;
}
.user-meal-time {
width: 144rpx;
display: flex;
justify-content: space-between;
align-items: center;
margin: 0 32rpx 0 143rpx;
}
.class-meal-time {
width: 234rpx;
display: flex;
justify-content: space-between;
align-items: center;
}
.user-meal-time-logo {
display: flex;
align-items: center;
margin-right: 10rpx;
.user-meal-time-logo-left,
.user-meal-time-logo-right {
width: 8rpx;
height: 1rpx;
background: #0BDA7D;
}
.user-meal-time-logo-middle {
width: 12rpx;
height: 12rpx;
background: #FFFFFF;
border: 3rpx solid #0BDB7E;
border-radius: 12rpx;
}
}
.user-meal-time-txt {
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #8C8C8C;
}
}
}
#breakfast-time-line {
position: relative;
top: -95rpx;
left: 24rpx;
z-index: 100;
}
#lunch-time-line {
position: relative;
top: -228rpx;
left: 24rpx;
z-index: 100;
}
#dinner-time-line {
position: relative;
top: -376rpx;
left: 24rpx;
z-index: 100;
}
}
.school-report-context-card-seven {
height: 645rpx;
background: #FFFFFF;
border-radius: 16rpx;
margin: 0 0 40rpx;
.school-report-context-card-seven-conclusion {
margin: 40rpx 0 50rpx;
.school-report-context-card-seven-conclusion-item {
margin: 0 40rpx 0 30rpx;
height: 40rpx;
font-size: 28rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: rgba(0, 0, 0, 0.85);
line-height: 40rpx;
.abnormal-date {
color: #04B871;
}
}
}
.meal-pal-bar-unit {
height: 33rpx;
display: flex;
justify-content: center;
.meal-pal-bar-unit-item {
width: 180rpx;
display: flex;
justify-content: space-between;
align-items: center;
.meal-pal-bar-icon {
width: 20rpx;
height: 20rpx;
background: linear-gradient(360deg, #04B871 0%, #07D66A 100%);
border-radius: 4rpx;
}
.meal-pal-bar-txt {
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #8C8C8C;
line-height: 33rpx;
}
}
}
#meal-pal-bar {
position: relative;
top: -106rpx;
left: 18rpx;
z-index: 100;
}
}
.school-report-footer { .school-report-footer {
height: 169rpx; height: 169rpx;
margin: 40rpx 0 43rpx; margin: 40rpx 0 43rpx;
...@@ -3509,6 +4651,10 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -3509,6 +4651,10 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
&.consume-open-results-title {
background: url(../../static/images/consumeOpenbgm.png) center/100% no-repeat;
}
} }
.open-results-items { .open-results-items {
...@@ -3519,6 +4665,12 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -3519,6 +4665,12 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
padding: 32rpx 0 43rpx 73rpx; padding: 32rpx 0 43rpx 73rpx;
box-sizing: border-box; box-sizing: border-box;
&.consume-open-results-items {
padding: 44rpx 0 0 34rpx;
box-sizing: border-box;
height: 473rpx;
}
.open-results-items-summary { .open-results-items-summary {
width: 100%; width: 100%;
height: 45rpx; height: 45rpx;
...@@ -3538,10 +4690,6 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -3538,10 +4690,6 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
line-height: 45rpx; line-height: 45rpx;
} }
.consumer-report-icon {
margin: 0 45rpx 0 70rpx;
}
.attendance-report-icon { .attendance-report-icon {
margin: 0 35rpx 0 134rpx; margin: 0 35rpx 0 134rpx;
} }
...@@ -3551,6 +4699,75 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -3551,6 +4699,75 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
} }
} }
.consume-open-results-items-details {
.consume-open-results-items-details-item {
display: flex;
height: 80rpx;
margin: 0 0 55rpx;
.details-item-left {
width: 313rpx;
.details-item-up {
font-size: 28rpx;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #13664C;
line-height: 40rpx;
}
.details-item-down {
display: flex;
align-items: center;
.details-item-down-txt {
font-size: 24rpx;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: rgba(19, 102, 76, 0.7);
line-height: 33rpx;
}
.dining-situations-img {
width: 26rpx;
height: 21rpx;
background: no-repeat center/100% url(../../static/images/repast.png);
}
.meal-pal-img {
width: 26rpx;
height: 22rpx;
background: no-repeat center/100% url(../../static/images/mealPal.png);
}
.consumer-num-img {
width: 22rpx;
height: 25rpx;
background: no-repeat center/100% url(../../static/images/consumerNum.png);
}
.consumer-preference-img {
width: 25rpx;
height: 23rpx;
background: no-repeat center/100% url(../../static/images/consumerPreference.png);
}
.consumer-trend-img {
width: 24rpx;
height: 21rpx;
background: no-repeat center/100% url(../../static/images/consumerTrend.png);
}
.time-trends-img {
width: 25rpx;
height: 25rpx;
background: no-repeat center/100% url(../../static/images/timeTrends.png);
}
}
}
}
}
.open-results-items-details { .open-results-items-details {
.open-results-items-details-item { .open-results-items-details-item {
width: 100%; width: 100%;
...@@ -3567,48 +4784,6 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`, ...@@ -3567,48 +4784,6 @@ color: #FF8646;padding:13rpx 12rpx 30rpx 17rpx;`,
line-height: 40rpx; line-height: 40rpx;
} }
.dining-situations-img {
width: 34rpx;
height: 27rpx;
background: no-repeat center/100% url(../../static/images/repast.png);
margin-right: 22rpx;
}
.consumer-rationality-img {
width: 34rpx;
height: 34rpx;
background: no-repeat center/100% url(../../static/images/consumerRationality.png);
margin: 0 22rpx 0 108rpx;
}
.consumer-preference-img {
width: 30rpx;
height: 27rpx;
background: no-repeat center/100% url(../../static/images/consumerPreference.png);
margin-right: 24rpx;
}
.consumer-advice-img {
width: 31rpx;
height: 31rpx;
background: no-repeat center/100% url(../../static/images/consumerAdvice.png);
margin: 0 24rpx 0 112rpx;
}
.consumer-num-img {
width: 30rpx;
height: 34rpx;
background: no-repeat center/100% url(../../static/images/consumerNum.png);
margin-right: 24rpx;
}
.consumer-trend-img {
width: 28rpx;
height: 25rpx;
background: no-repeat center/100% url(../../static/images/consumerTrend.png);
margin-right: 25rpx;
}
// 出入校报告 // 出入校报告
.admission-notice-img { .admission-notice-img {
width: 30rpx; width: 30rpx;
......
<template> <template>
<view class="container"> <view class="container">
<view class="contentBox" v-if="!depotMoneyother"> <view class="userInfoBox">
<view class="firstLine">
<view class="avatar">
<image :src="ImgUrl + 'user/personAva.png'" alt=""></image>
</view>
<view class="name">张三</view>
<view v-if="PersonalInfo.usertype=='1'">高一(63班)</view>
<view v-else>教职工</view>
</view>
<view class="secondLine">{{PersonalInfo.schoolname}}</view>
</view>
<view class="contentWrapper" v-if="!depotMoneyother">
<view class="balanceWrapper">
<view class="firstLine">
<view class="left">
<view>可用余额(元) </view>
<view>{{ cardBalanceTx }}</view>
</view>
<view class="right">
<van-popover v-model="showPopover" trigger="click" :actions="actions" placement="bottom-end"
@select="onSelect">
<template #reference>
<image class="icon" :src="ImgUrl + 'user/more.png'" alt=""></image>
</template>
</van-popover>
</view>
</view>
<view class="lastLine">
<view>**** **** **** 5947</view>
<view class="right" @click="ToWalletTx">
<!-- <image class="btn" :src="ImgUrl + 'user/cashBtn.png'" alt=""></image> -->
提现
</view>
</view>
</view>
</view>
<view class="contentBox" style="display: none;" v-if="!depotMoneyother">
<!-- <image mode='widthFix' src="https://xiaopay2020.oss-cn-shenzhen.aliyuncs.com/static/weapp/images/xiaopaycard (31).png"></image> --> <!-- <image mode='widthFix' src="https://xiaopay2020.oss-cn-shenzhen.aliyuncs.com/static/weapp/images/xiaopaycard (31).png"></image> -->
<view class="contentDiv"> <view class="contentDiv">
<view class="headview"> <view class="headview">
...@@ -28,7 +64,21 @@ ...@@ -28,7 +64,21 @@
</view> </view>
</view> </view>
<!-- --> <!-- -->
<view class="MoneyBox"> <view class="moneyWrapper">
<view class="moneyItem" @click="depotMoney(item.value, index)"
v-bind:class="MoneyIndex == index ? 'active' : ''" :data-money="item.value || 0"
v-for="(item, index) in MoneyList" :key="index">
<view> {{ item.value }}</view>
<view> {{ item.lable }}</view>
</view>
<view class="other">
<input @focus="openKeyBoard('number')" v-model="inputOtherM" @input="inputControl"
@blur="ReturnToTop" placeholder="其他金额,最低3元" placeholder-class="placeholderinputOtherM"
type="text" maxlength="6" />
</view>
</view>
<!-- 充值其它金额 -->
<view class="MoneyBox" style="display: none;">
<view class="depotMoney" @click="depotMoney(item.value,index)" <view class="depotMoney" @click="depotMoney(item.value,index)"
v-bind:class="(Money!=''&&MoneyIndex==index)?'choiceClass':''" :data-money="item.value" v-bind:class="(Money!=''&&MoneyIndex==index)?'choiceClass':''" :data-money="item.value"
v-for="(item,index) in MoneyList" :key="index"> v-for="(item,index) in MoneyList" :key="index">
...@@ -36,22 +86,40 @@ ...@@ -36,22 +86,40 @@
{{item.value}} {{item.value}}
</span> </span>
<span style="font-size: 28rpx;font-weight: 600;margin-left: 7rpx;">{{item.lable}}</span> <span style="font-size: 28rpx;font-weight: 600;margin-left: 7rpx;">{{item.lable}}</span>
<span class="tips" v-show="item.tips"> <!-- <span class="tips" v-show="item.tips">
{{item.tips}} {{item.tips}}
</span> </span> -->
</view> </view>
</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" @click="OtherMoney"> <view class="OtherMoney" style="display: none;" @click="OtherMoney">
<view>其他充值金额</view> <view>其他充值金额</view>
<view>></span></view> <view>></span></view>
</view> </view>
<!-- 支付方式 --> <!-- 支付方式 -->
<view class="payType" @click="queryBindCardList"> <view class="paytype">
<view class="left">付款账户 </view>
<view class="right" @click="queryBindCardList">
招商银行(5947)
<van-icon name="arrow" />
</view>
</view>
<view class="payType" style="display: none;" @click="queryBindCardList">
<view>付款方式</view> <view>付款方式</view>
<view>招商银行(5947) <span class="arrow"></span></view> <view>招商银行(5947) <span class="arrow"></span></view>
</view> </view>
<view class="" style="height: 1rpx;background-color: #DFDFDF;"></view> <!-- <view class="" style="height: 1rpx;background-color: #DFDFDF;"></view> -->
<!-- --> <!-- -->
<view class="switchbankCard" @click="BackToMini('AssignAddCard')">我要换银行卡支付 <span class="arrow" <view class="switchbankCard" @click="BackToMini('AssignAddCard')">我要换银行卡支付 <span class="arrow"
style="transform: rotate(45deg);left: 15rpx;top: -8rpx;"></span></view> style="transform: rotate(45deg);left: 15rpx;top: -8rpx;"></span></view>
...@@ -61,7 +129,7 @@ ...@@ -61,7 +129,7 @@
</view> </view>
</view> </view>
<!-- 其他充值金额 --> <!-- 其他充值金额 -->
<view class="contentBox" v-if="depotMoneyother"> <view class="contentBox" style="display: none;" v-if="depotMoneyother">
<view class="OtherTitle">充值金额</view> <view class="OtherTitle">充值金额</view>
<view class="inputOtherM"> <view class="inputOtherM">
<span></span> <span></span>
...@@ -168,728 +236,748 @@ ...@@ -168,728 +236,748 @@
</template> </template>
<script> <script>
import keyboardPackage from "@/components/keyboard-package/keyboard-package.vue"; import keyboardPackage from "@/components/keyboard-package/keyboard-package.vue";
import cityData from "@/common/js/city.js"; import cityData from "@/common/js/city.js";
var gHost = "https://" + window.location.host; var gHost = "https://" + window.location.host;
if (window.location.protocol != "https:") { if (window.location.protocol != "https:") {
gHost = "https://fpdev.xiaopay.net"; gHost = "https://fpdev.xiaopay.net";
} }
let times = 0; let times = 0;
var limitClick = false; //禁止重复点击 var limitClick = false; //禁止重复点击
var sessionID = "", var sessionID = "",
userID = ""; userID = "";
var payCardNumber = ""; //一类卡号 var payCardNumber = ""; //一类卡号
var orderSerialNo = ""; //提现结果查询 指令号 var orderSerialNo = ""; //提现结果查询 指令号
var businessNo = "", var businessNo = "",
otpOrderNo = "", otpOrderNo = "",
mobileNo = ""; mobileNo = "";
var msCount = 60; //定时器 var msCount = 60; //定时器
var MyTimer = null; var MyTimer = null;
var fromType = 0; //0转账 1提现 var fromType = 0; //0转账 1提现
var opeType = 0; //0充值 1提现 手机号验证 var opeType = 0; //0充值 1提现 手机号验证
var bankInfo = { var bankInfo = {
acctNoArray: "", acctNoArray: "",
idNo: "", idNo: "",
schoolId: "", schoolId: "",
trueName: "", trueName: "",
userId: "", userId: "",
sessionid: "", sessionid: "",
wechattype: 1, wechattype: 1,
}; };
// 20210422 充值账户异常资料补充参数 // 20210422 充值账户异常资料补充参数
var acctErrorUpdateParms = { var acctErrorUpdateParms = {
backSideImgId: "", //反面身份证图片Id backSideImgId: "", //反面身份证图片Id
frontSideImgId: "", //正面身份证图片Id frontSideImgId: "", //正面身份证图片Id
homeAddress: "", //家庭住址 homeAddress: "", //家庭住址
occupation: "", //职业代码 occupation: "", //职业代码
StreetInformation: "", //街道 StreetInformation: "", //街道
businessNo: "", businessNo: "",
}; };
// /wefile/wefileId // /wefile/wefileId
// 获取上传影像的Token接口 // 获取上传影像的Token接口
let wefileId = {}; let wefileId = {};
// bizCode: "000000" // bizCode: "000000"
// bizMsg: "获取上传影像token成功" // bizMsg: "获取上传影像token成功"
// businessNo: "OB89d5ed802cRA202104226389071452" // businessNo: "OB89d5ed802cRA202104226389071452"
// expiredTime: 1619072725503 // expiredTime: 1619072725503
// project: "BOBS-OBP" // project: "BOBS-OBP"
// uuid: "8238f256d8f54209a0e9a2a3b25e7393" // uuid: "8238f256d8f54209a0e9a2a3b25e7393"
// wefileToken: "QplB0tfvjtzOU+tWgKI2+L+4B9HE8kbpJVREUTwXZCsVqXcUwyDxHAbTU3bW8ziGb4hKAaWiLQXAyZUbYRB9hBKhSt1VVvoFl5qOCR4GT+X1KpcQgBlhKYi/NYPkmsjeZO/qn9YXGDp/1sGmxazv6T05y8EbU9HXreRhF/jh8G1HtUCwprFoaulGFShvV819EUBdHifDF5IjpPekLtgzIm8C/kYYX8xproKvxV4maRji5p1Krkyv/U1K3C18/TyjHwPpC4KlOEqA6QpFujR8yZ42qvLZqfqgUkRFZ4WC27/nN3+do9VNpNbK4MAMSLTRaxdGmKe2wStKbZ5OQ+1WFA==" // 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" // wefileUrl: "https://bfiles-stg.pingan.com.cn/brcp/secfile/sec_wefiles_udmp_upload.do"
export default { export default {
components: { components: {
keyboardPackage, keyboardPackage,
}, },
name: "assignDeposit", name: "assignDeposit",
data() { data() {
return { return {
inputOtherM: "", showPopover: false,
RechargeException: false, // 通过 actions 属性来定义菜单选项
depotMoneyother: false, //其他充值 actions: [{
Money: "", //选择金额 text: "复制卡号"
MoneyIndex: "", }, {
RechargeMax: "2000", //最大充值限制 text: "账户明细"
ReflectMoney: "", //提现金额 }, {
VerifyCode: "", //验证码 text: "常见问题"
cardBalanceTx: "0", //余额 }],
CodeMsg: "获取验证码", inputOtherM: "",
type: "number", RechargeException: false,
PersonalInfo: { depotMoneyother: false, //其他充值
schoolname: "微微学测试", Money: "", //选择金额
name: "李智书", MoneyIndex: "",
usertype: "1", RechargeMax: "2000", //最大充值限制
}, ReflectMoney: "", //提现金额
ImgUrl: this.$ImgUrl, VerifyCode: "", //验证码
MoneyList: Array(6) cardBalanceTx: "0", //余额
.fill(1) CodeMsg: "获取验证码",
.map((v, index) => { type: "number",
return { PersonalInfo: {
lable: "", schoolname: "微微学测试",
value: 50 * (index + 1), name: "李智书",
tips: index == 1 ? "推荐充值" : null, usertype: "1",
}; },
}), ImgUrl: this.$ImgUrl,
numberList: [], MoneyList: Array(6)
tempFiles1: "../../static/img/idCardBg1.png", //上传身份证临时选择文件 .fill(1)
tempFiles2: "../../static/img/idCardBg0.png", .map((v, index) => {
}; return {
}, lable: "",
created: function () {}, value: 50 * (index + 1),
mounted: function () { tips: index == 1 ? "推荐充值" : null,
let this_ = this; };
this.$nextTick(function () { }),
// $(".RechargeException").siblings().hide() numberList: [],
// $(".RechargeException").show() tempFiles1: "../../static/img/idCardBg1.png", //上传身份证临时选择文件
tempFiles2: "../../static/img/idCardBg0.png",
// 家庭住址 };
$("#homeAddress").on("click", function () { },
weui.picker(cityData, { created: function() {},
defaultValue: [110000, 110000, 110101], mounted: function() {
depth: 3, let this_ = this;
onChange: function (result) { this.$nextTick(function() {
console.log(result); // $(".RechargeException").siblings().hide()
}, // $(".RechargeException").show()
onConfirm: function (result) {
console.log(result); // 家庭住址
console.log(result); $("#homeAddress").on("click", function() {
acctErrorUpdateParms.homeAddress = weui.picker(cityData, {
result[0].label + "/" + result[1].label + "/" + result[2].label; defaultValue: [110000, 110000, 110101],
$("#homeAddress")[0].innerText = depth: 3,
result[0].label + "/" + result[1].label + "/" + result[2].label; onChange: function(result) {
$("#homeAddress").css("color", "#000"); console.log(result);
}, },
title: "家庭地址", onConfirm: function(result) {
}); console.log(result);
}); console.log(result);
// 选择职业 acctErrorUpdateParms.homeAddress =
$("#showPicker").on("click", function () { result[0].label + "/" + result[1].label + "/" + result[2]
// 获取职业信息 .label;
this_ $("#homeAddress")[0].innerText =
.getOccupationList() result[0].label + "/" + result[1].label + "/" + result[2]
.then((OccupationList) => { .label;
let data = OccupationList.map((v) => { $("#homeAddress").css("color", "#000");
return { },
label: v.comment, title: "家庭地址",
value: v.code, });
}; });
}); // 选择职业
weui.picker(data, { $("#showPicker").on("click", function() {
onChange: function (result) { // 获取职业信息
console.log(result); this_
}, .getOccupationList()
onConfirm: function (result) { .then((OccupationList) => {
console.log(result[0].value); let data = OccupationList.map((v) => {
acctErrorUpdateParms.occupation = result[0].value; return {
$("#showPicker")[0].innerText = result[0].label; label: v.comment,
$("#showPicker").css("color", "#000"); value: v.code,
}, };
title: "职业信息选择", });
}); weui.picker(data, {
}) onChange: function(result) {
.catch((err) => { console.log(result);
weui.topTips("获取职业信息列表失败"); },
}); onConfirm: function(result) {
}); console.log(result[0].value);
acctErrorUpdateParms.occupation = result[0].value;
// 初始化 $("#showPicker")[0].innerText = result[0].label;
$("#showPicker").css("color", "#000");
userID = this_.getQueryParams("userID"); },
sessionID = this_.getQueryParams("seesionID"); title: "职业信息选择",
fromType = this_.getQueryParams("fromType"); });
let windowHeight = window.innerHeight; })
if (this_.getQueryParams("tabbar")) { .catch((err) => {
//usermain打开加返回按钮 weui.topTips("获取职业信息列表失败");
$("#ReturnBox").css("display", "block"); });
$(".bottom2").css( });
"margin-top",
(windowHeight - 370 < 0 ? 30 : windowHeight - 370) + "px" // 初始化
);
$(".bottom1").css( userID = this_.getQueryParams("userID");
"margin-top", sessionID = this_.getQueryParams("seesionID");
(windowHeight - 570 < 0 ? 30 : windowHeight - 570) + "px" fromType = this_.getQueryParams("fromType");
); let windowHeight = window.innerHeight;
} else { if (this_.getQueryParams("tabbar")) {
$(".bottom2").css( //usermain打开加返回按钮
"margin-top", $("#ReturnBox").css("display", "block");
(windowHeight - 320 < 0 ? 30 : windowHeight - 320) + "px" $(".bottom2").css(
); "margin-top",
$(".bottom1").css( (windowHeight - 370 < 0 ? 30 : windowHeight - 370) + "px"
"margin-top", );
(windowHeight - 590 < 0 ? 30 : windowHeight - 590) + "px" $(".bottom1").css(
); "margin-top",
} (windowHeight - 570 < 0 ? 30 : windowHeight - 570) + "px"
bankInfo.sessionid = sessionID; );
this_.QueryUserInfo(); } else {
$("#AssginBox").css("display", "block"); $(".bottom2").css(
if (fromType == 0) { "margin-top",
// $('.TitleHeader').html('电子账户充值'); (windowHeight - 320 < 0 ? 30 : windowHeight - 320) + "px"
} else { );
this_.ToWalletTx(); $(".bottom1").css(
} "margin-top",
setTimeout(function () { (windowHeight - 590 < 0 ? 30 : windowHeight - 590) + "px"
this_.getWefileId(); );
}, 500); }
}); bankInfo.sessionid = sessionID;
}, this_.QueryUserInfo();
methods: { $("#AssginBox").css("display", "block");
// 身份证上传 if (fromType == 0) {
async idCardUpload(type) { // $('.TitleHeader').html('电子账户充值');
let this_ = this; } else {
uni.chooseImage({ this_.ToWalletTx();
count: 6, //默认9 }
sizeType: ["original", "compressed"], setTimeout(function() {
sourceType: ["album", "camera"], //从相册选择 this_.getWefileId();
success: function (res) { }, 500);
this_["tempFiles" + type] = res.tempFilePaths[0]; });
this_.uploaderInput(res.tempFiles, type); },
}, methods: {
}); onSelect(action) {
}, if (action.text == "复制卡号") {
// 验证码弹出框开启 this.CopyCardNumber();
open() { } else if (action.text == "账户明细") {
this.$refs.popup.open("top"); this.BackToMini('purchaseDetail');
}, } else if (action.text == "常见问题") {
// 验证码弹出框关闭 uni.navigateTo({
close() { url: `../../commonProblem/commonProblem`
this.$refs.popup.close(); })
}, }
//键盘谈起 },
openKeyBoard(key) { // 身份证上传
this.type = key; async idCardUpload(type) {
this.$refs[key].open(); let this_ = this;
}, uni.chooseImage({
onInput(val) { count: 6, //默认9
this.numberList.push(val); sizeType: ["original", "compressed"],
this.inputOtherM = this.inputOtherM + val; sourceType: ["album", "camera"], //从相册选择
console.log(val); success: function(res) {
}, this_["tempFiles" + type] = res.tempFilePaths[0];
onDelete() { this_.uploaderInput(res.tempFiles, type);
this.numberList.pop(); },
this.inputOtherM = this.numberList.join(""); });
}, },
onConfirm() { // 验证码弹出框开启
// 充值提现输入验证码确认框 open() {
this.open(); this.$refs.popup.open("top");
}, },
//选择输入其他金额 // 验证码弹出框关闭
OtherMoney() { close() {
this.depotMoneyother = true; this.$refs.popup.close();
}, },
// 快捷选择金额 //键盘谈起
async depotMoney(value, MoneyIndex) { openKeyBoard(key) {
console.log(value); this.type = key;
this.Money = parseInt(value); this.$refs[key].open();
this.MoneyIndex = MoneyIndex; },
}, onInput(val) {
//定时器 this.numberList.push(val);
IntervalFun() { this.inputOtherM = this.inputOtherM + val;
if (msCount == 1) { console.log(val);
window.clearInterval(MyTimer); //停止计时器 },
$(".CodeMsg").css("color", "#01BC73"); onDelete() {
this.CodeMsg = "获取验证码"; this.numberList.pop();
msCount = 60; this.inputOtherM = this.numberList.join("");
} else { },
msCount--; onConfirm() {
$(".CodeMsg").css("color", "gray"); // 充值提现输入验证码确认框
this.CodeMsg = msCount + "s后获取"; this.open();
} },
}, //选择输入其他金额
//按钮操作 OtherMoney() {
HideHTML(dom, type) { this.depotMoneyother = true;
if (type == 0) { },
$("." + dom).css("display", "none"); // 快捷选择金额
} else { async depotMoney(value, MoneyIndex) {
$("." + dom).css("display", "block"); console.log(value);
} this.Money = parseInt(value);
}, this.MoneyIndex = MoneyIndex;
//切换到提现 },
ToWalletTx() { //定时器
$("#DepositBox").css("display", "none"); IntervalFun() {
$("#TxWalletBox").css("display", "block"); if (msCount == 1) {
// $('.TitleHeader').html('电子账户提现'); window.clearInterval(MyTimer); //停止计时器
$(".doBtnTx").html("提现"); $(".CodeMsg").css("color", "#01BC73");
opeType = 1; this.CodeMsg = "获取验证码";
}, msCount = 60;
//全部提现 } else {
TxAllFun() { msCount--;
this.ReflectMoney = this.cardBalanceTx * 1; $(".CodeMsg").css("color", "gray");
// $('.TxClsTx').val($('.cardBalanceTx')[0].textContent * 1); this.CodeMsg = msCount + "s后获取";
}, }
//隐藏验证码弹框 },
hidePhoneBox() { //按钮操作
$(".PhoneConfirmBox").css("display", "none"); HideHTML(dom, type) {
// $('.VerifyCode').val(''); if (type == 0) {
this.VerifyCode = ""; $("." + dom).css("display", "none");
orderSerialNo = ""; } else {
businessNo = ""; $("." + dom).css("display", "block");
otpOrderNo = ""; }
}, },
//返回小程序 跳转指定页面 //切换到提现
BackToMini(page) { ToWalletTx() {
if (page == "UserMain" || page == "personalCenter") { $("#DepositBox").css("display", "none");
jWeixin.miniProgram.switchTab({ $("#TxWalletBox").css("display", "block");
url: `/pages/${page}/main`, // $('.TitleHeader').html('电子账户提现');
}); $(".doBtnTx").html("提现");
} else { opeType = 1;
jWeixin.miniProgram.redirectTo({ },
url: `/pages/${page}/main`, //全部提现
}); TxAllFun() {
} this.ReflectMoney = this.cardBalanceTx * 1;
}, // $('.TxClsTx').val($('.cardBalanceTx')[0].textContent * 1);
// 输入限制 },
inputControl(obj, val) { //隐藏验证码弹框
console.log(obj, val); hidePhoneBox() {
obj.value = obj.target.value; $(".PhoneConfirmBox").css("display", "none");
obj.value = obj.value.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符 // $('.VerifyCode').val('');
obj.value = obj.value.replace(/^\./g, ""); //验证第一个字符是数字而不是. this.VerifyCode = "";
obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的. orderSerialNo = "";
obj.value = obj.value businessNo = "";
.replace(".", "$#$") otpOrderNo = "";
.replace(/\./g, "") },
.replace("$#$", "."); //只允许输入一个小数点 //返回小程序 跳转指定页面
obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3"); //只能输入两个小数 BackToMini(page) {
obj.value = if (page == "UserMain" || page == "personalCenter") {
obj.value * 1 > this.RechargeMax ? this.RechargeMax : obj.value; jWeixin.miniProgram.switchTab({
this.Money = obj.value + ""; url: `/pages/${page}/main`,
this.ReflectMoney = obj.value + ""; });
if (obj.value == "" || obj.value * 1 < 3) { } else {
$(".DepositID").addClass("DisaBledBtn"); jWeixin.miniProgram.redirectTo({
} else { url: `/pages/${page}/main`,
$(".DepositID").removeClass("DisaBledBtn"); });
} }
}, },
clearPoint() { // 输入限制
// 若最后一位为小数点则去掉 inputControl(obj, val) {
let str = this.inputOtherM + ""; console.log(obj, val);
if (str.lastIndexOf(".") == str.length - 1) { obj.value = obj.target.value;
this.inputOtherM = str.substring(0, str.length - 1); obj.value = obj.value.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符
} obj.value = obj.value.replace(/^\./g, ""); //验证第一个字符是数字而不是.
}, obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的.
//input键盘弹起不会弹 obj.value = obj.value
ReturnToTop() { .replace(".", "$#$")
document.scrollingElement.scrollTo(0, this.scrollTop); .replace(/\./g, "")
}, .replace("$#$", "."); //只允许输入一个小数点
//提现结果查询 obj.value = obj.value.replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3"); //只能输入两个小数
transferResults() { obj.value =
let this_ = this; obj.value * 1 > this.RechargeMax ? this.RechargeMax : obj.value;
times++; this.Money = obj.value + "";
let loading = weui.loading("请稍后"); this.ReflectMoney = obj.value + "";
let params = { if (obj.value == "" || obj.value * 1 < 3) {
accountNo: bankInfo.acctNoArray, $(".DepositID").addClass("DisaBledBtn");
businessNo: businessNo, } else {
orderSerialNo: orderSerialNo, //提现指令号 $(".DepositID").removeClass("DisaBledBtn");
schoolId: bankInfo.schoolId, }
userId: userID, },
sessionid: sessionID, clearPoint() {
wechattype: 1, // 若最后一位为小数点则去掉
}; let str = this.inputOtherM + "";
$.ajax({ if (str.lastIndexOf(".") == str.length - 1) {
url: gHost + "/bank-wechat/transfer/query", this.inputOtherM = str.substring(0, str.length - 1);
type: "POST", }
contentType: "application/x-www-form-urlencoded", },
data: params, //input键盘弹起不会弹
success: function (res7) { ReturnToTop() {
if (res7.code == "10000") { document.scrollingElement.scrollTo(0, this.scrollTop);
if (res7.results.status == 0 || res7.results.status == 1) { },
//status 状态 0:失败;1:成功;2:处理中 返回处理中,需要调用“提现(提现)结果查询”接口查结果 //提现结果查询
loading.hide(); transferResults() {
if (res7.results.status == 0) { let this_ = this;
weui.topTips(res7.results.bizMsg); times++;
} else { let loading = weui.loading("请稍后");
weui.toast("提现成功!", 1500); let params = {
} accountNo: bankInfo.acctNoArray,
setTimeout(() => { businessNo: businessNo,
location.reload(); orderSerialNo: orderSerialNo, //提现指令号
}, 2000); schoolId: bankInfo.schoolId,
} else { userId: userID,
if (times == 3) { sessionid: sessionID,
loading.hide(); wechattype: 1,
weui.topTips("当前提现人数过多,请至我的账户中查看余额"); };
setTimeout(() => { $.ajax({
this_.BackToMini("UserMain"); url: gHost + "/bank-wechat/transfer/query",
}, 1500); type: "POST",
} else { contentType: "application/x-www-form-urlencoded",
setTimeout((res) => { data: params,
this_.transferResults(); success: function(res7) {
}, 2000); if (res7.code == "10000") {
} if (res7.results.status == 0 || res7.results.status == 1) {
} //status 状态 0:失败;1:成功;2:处理中 返回处理中,需要调用“提现(提现)结果查询”接口查结果
} else { loading.hide();
loading.hide(); if (res7.results.status == 0) {
weui.topTips(res7.message); weui.topTips(res7.results.bizMsg);
} } else {
}, weui.toast("提现成功!", 1500);
error: function (err) { }
loading.hide(); setTimeout(() => {
}, location.reload();
}); }, 2000);
}, } else {
//充值结果查询 if (times == 3) {
depositResults() { loading.hide();
let this_ = this; weui.topTips("当前提现人数过多,请至我的账户中查看余额");
times++; setTimeout(() => {
let loading = weui.loading("请稍后"); this_.BackToMini("UserMain");
let params = { }, 1500);
businessNo: businessNo, } else {
schoolId: bankInfo.schoolId, setTimeout((res) => {
userId: userID, this_.transferResults();
sessionid: sessionID, }, 2000);
wechattype: 1, }
}; }
$.ajax({ } else {
url: gHost + "/bank-wechat/recharge/query", loading.hide();
type: "POST", weui.topTips(res7.message);
contentType: "application/x-www-form-urlencoded", }
data: params, },
success: function (res8) { error: function(err) {
if (res8.code == "10000") { loading.hide();
if ( },
res8.results.orderStatus == 3 || });
res8.results.orderStatus == 4 },
) { //充值结果查询
//orderStatus 0:初始值,1:已提交,2:未知,3:失败,4:成功,5:成功未打款 depositResults() {
loading.hide(); let this_ = this;
if (res8.results.orderStatus == 3) { times++;
weui.topTips(res8.results.errMsg); let loading = weui.loading("请稍后");
} else { let params = {
weui.toast("充值成功!", 1500); businessNo: businessNo,
} schoolId: bankInfo.schoolId,
setTimeout(() => { userId: userID,
location.reload(); sessionid: sessionID,
}, 2000); wechattype: 1,
} else { };
if (times == 3) { $.ajax({
loading.hide(); url: gHost + "/bank-wechat/recharge/query",
weui.topTips("当前充值人数过多,请至我的账户中查看余额"); type: "POST",
setTimeout(() => { contentType: "application/x-www-form-urlencoded",
this_.BackToMini("UserMain"); data: params,
}, 1500); success: function(res8) {
} else { if (res8.code == "10000") {
setTimeout((res) => { if (
this_.depositResults(); res8.results.orderStatus == 3 ||
}, 2000); res8.results.orderStatus == 4
} ) {
} //orderStatus 0:初始值,1:已提交,2:未知,3:失败,4:成功,5:成功未打款
} else { loading.hide();
loading.hide(); if (res8.results.orderStatus == 3) {
weui.topTips(res8.message); weui.topTips(res8.results.errMsg);
} } else {
}, weui.toast("充值成功!", 1500);
error: function (err) { }
loading.hide(); setTimeout(() => {
}, location.reload();
}); }, 2000);
}, } else {
//充值/提现方法 if (times == 3) {
DoNextStep() { loading.hide();
let this_ = this; weui.topTips("当前充值人数过多,请至我的账户中查看余额");
console.log("请填写验证码"); setTimeout(() => {
if (this_.VerifyCode == "") { this_.BackToMini("UserMain");
weui.topTips("请填写验证码"); }, 1500);
return; } else {
} setTimeout((res) => {
if (limitClick) { this_.depositResults();
return; }, 2000);
} else { }
limitClick = true; }
setTimeout(() => { } else {
limitClick = false; loading.hide();
}, 3000); weui.topTips(res8.message);
} }
let loading = weui.loading("请稍后"); },
times = 0; error: function(err) {
if (opeType == 0) { loading.hide();
//充值 },
let params = { });
businessNo: businessNo, },
otpOrderNo: otpOrderNo, //充值/提现方法
fromAccNo: payCardNumber, //付款账户 DoNextStep() {
otpValue: this.VerifyCode, //验证码 let this_ = this;
transAmt: this.inputOtherM * 1, //交易金额 console.log("请填写验证码");
schoolId: bankInfo.schoolId, if (this_.VerifyCode == "") {
userId: userID, weui.topTips("请填写验证码");
sessionid: sessionID, return;
wechattype: 1, }
}; if (limitClick) {
$.ajax({ return;
url: gHost + "/bank-wechat/recharge", } else {
type: "POST", limitClick = true;
contentType: "application/x-www-form-urlencoded", setTimeout(() => {
data: params, limitClick = false;
success: function (res5) { }, 3000);
if (res5.code == "10000") { }
if (res5.errCode && res5.errCode == "TI009") { let loading = weui.loading("请稍后");
loading.hide(); times = 0;
weui.topTips(res5.results.errMsg); if (opeType == 0) {
setTimeout(function () { //充值
$(".RechargeException").siblings().hide(); let params = {
$(".RechargeException").show(); businessNo: businessNo,
}); otpOrderNo: otpOrderNo,
return; fromAccNo: payCardNumber, //付款账户
} otpValue: this.VerifyCode, //验证码
if ( transAmt: this.inputOtherM * 1, //交易金额
res5.results.orderStatus == 3 || schoolId: bankInfo.schoolId,
res5.results.orderStatus == 4 userId: userID,
) { sessionid: sessionID,
//orderStatus 0:初始值,1:已提交,2:未知,3:失败,4:成功,5:成功未打款 wechattype: 1,
if (res5.results.orderStatus == 3) { };
loading.hide(); $.ajax({
weui.topTips(res5.results.errMsg); url: gHost + "/bank-wechat/recharge",
} else { type: "POST",
loading.hide(); contentType: "application/x-www-form-urlencoded",
weui.toast("充值成功!", 1500); data: params,
} success: function(res5) {
setTimeout(() => { if (res5.code == "10000") {
location.reload(); if (res5.errCode && res5.errCode == "TI009") {
}, 2000); loading.hide();
} else { weui.topTips(res5.results.errMsg);
setTimeout(() => { setTimeout(function() {
// loading.hide(); $(".RechargeException").siblings().hide();
this_.depositResults(); $(".RechargeException").show();
}, 2000); });
} return;
} else { }
loading.hide(); if (
weui.topTips(res5.message); res5.results.orderStatus == 3 ||
} res5.results.orderStatus == 4
}, ) {
error: function (err) { //orderStatus 0:初始值,1:已提交,2:未知,3:失败,4:成功,5:成功未打款
loading.hide(); if (res5.results.orderStatus == 3) {
}, loading.hide();
}); weui.topTips(res5.results.errMsg);
} else if (opeType == 1) { } else {
//提现 loading.hide();
let params = { weui.toast("充值成功!", 1500);
accountName: bankInfo.trueName, }
amount: $(".TxClsTx")[0].value * 1, setTimeout(() => {
businessNo: businessNo, location.reload();
fromAccountName: bankInfo.trueName, }, 2000);
fromAccountNo: bankInfo.acctNoArray, } else {
otpOrderNo: otpOrderNo, setTimeout(() => {
otpValue: $(".VerifyCode")[0].value, //验证码 // loading.hide();
toAccountNo: payCardNumber, this_.depositResults();
schoolId: bankInfo.schoolId, }, 2000);
userId: userID, }
sessionid: sessionID, } else {
wechattype: 1, loading.hide();
}; weui.topTips(res5.message);
$.ajax({ }
url: gHost + "/bank-wechat/transfer/withdrawal", },
type: "POST", error: function(err) {
contentType: "application/x-www-form-urlencoded", loading.hide();
data: params, },
success: function (res6) { });
if (res6.code == "10000") { } else if (opeType == 1) {
orderSerialNo = res6.results.orderSerialNo; //提现
if (res6.results.status == 1 || res6.results.status == 0) { let params = {
//状态 0:失败;1:成功;2:处理中 返回处理中,需要调用“提现(转账)结果查询”接口查结果 accountName: bankInfo.trueName,
if (res6.results.status == 0) { amount: $(".TxClsTx")[0].value * 1,
loading.hide(); businessNo: businessNo,
weui.topTips(res6.results.bizMsg); fromAccountName: bankInfo.trueName,
} else { fromAccountNo: bankInfo.acctNoArray,
loading.hide(); otpOrderNo: otpOrderNo,
weui.toast("提现成功!", 1500); otpValue: $(".VerifyCode")[0].value, //验证码
} toAccountNo: payCardNumber,
setTimeout(() => { schoolId: bankInfo.schoolId,
location.reload(); userId: userID,
}, 2000); sessionid: sessionID,
} else { wechattype: 1,
setTimeout(() => { };
// loading.hide(); $.ajax({
transferResults(); url: gHost + "/bank-wechat/transfer/withdrawal",
}, 2000); type: "POST",
} contentType: "application/x-www-form-urlencoded",
} else { data: params,
loading.hide(); success: function(res6) {
weui.topTips(res6.message); if (res6.code == "10000") {
} orderSerialNo = res6.results.orderSerialNo;
}, if (res6.results.status == 1 || res6.results.status == 0) {
error: function (err) { //状态 0:失败;1:成功;2:处理中 返回处理中,需要调用“提现(转账)结果查询”接口查结果
loading.hide(); if (res6.results.status == 0) {
}, loading.hide();
}); weui.topTips(res6.results.bizMsg);
} } else {
}, loading.hide();
//充值/提现判断 weui.toast("提现成功!", 1500);
toDeposit(type) { }
//type 0充值 1提现 setTimeout(() => {
let this_ = this; location.reload();
businessNo = ""; }, 2000);
otpOrderNo = ""; } else {
opeType = type; setTimeout(() => {
if (type == 0) { // loading.hide();
if (this.Money * 1 < 3) { transferResults();
weui.topTips("充值金额必须大于3元"); }, 2000);
return; }
} } else {
if (this.Money * 1 > this.RechargeMax * 1) { loading.hide();
weui.topTips(`充值金额不能大于${this.RechargeMax * 1}元`); weui.topTips(res6.message);
return; }
} },
} else { error: function(err) {
if ($(".TxClsTx")[0].value * 1 < 0.01) { loading.hide();
weui.topTips("提现金额须大于等于0.01元"); },
return; });
} }
if ($(".TxClsTx")[0].value * 1 > this.RechargeMax * 1) { },
weui.topTips(`提现金额不可大于账户余额`); //充值/提现判断
return; toDeposit(type) {
} //type 0充值 1提现
} let this_ = this;
this.open(); businessNo = "";
}, otpOrderNo = "";
//发送验证码 opeType = type;
SendMsg() { if (type == 0) {
let this_ = this; if (this.Money * 1 < 3) {
if (this_.CodeMsg != "获取验证码") return false; weui.topTips("充值金额必须大于3元");
let loading = weui.loading("发送中"); return;
if (opeType == 0) { }
//充值 if (this.Money * 1 > this.RechargeMax * 1) {
let params = { weui.topTips(`充值金额不能大于${this.RechargeMax * 1}元`);
fromAccNo: payCardNumber, //付款账户, return;
transAmt: this.Money * 1, //交易金额 }
schoolId: bankInfo.schoolId, } else {
userId: userID, if ($(".TxClsTx")[0].value * 1 < 0.01) {
sessionid: sessionID, weui.topTips("提现金额须大于等于0.01元");
wechattype: 1, return;
}; }
$.ajax({ if ($(".TxClsTx")[0].value * 1 > this.RechargeMax * 1) {
url: gHost + "/bank-wechat/otp/send/recharge", weui.topTips(`提现金额不可大于账户余额`);
type: "POST", return;
contentType: "application/x-www-form-urlencoded", }
data: params, }
success: function (res5) { this.open();
loading.hide(); },
if (res5.code == "10000") { //发送验证码
otpOrderNo = res5.results.otpOrderNo; SendMsg() {
businessNo = res5.results.businessNo; let this_ = this;
weui.toast("验证码已发送,请注意查收!", 1000); if (this_.CodeMsg != "获取验证码") return false;
this_.IntervalFun(); let loading = weui.loading("发送中");
MyTimer = window.setInterval(IntervalFun, 1000); if (opeType == 0) {
} else { //充值
weui.topTips(res5.message); let params = {
} fromAccNo: payCardNumber, //付款账户,
}, transAmt: this.Money * 1, //交易金额
error: function (err) { schoolId: bankInfo.schoolId,
loading.hide(); userId: userID,
}, sessionid: sessionID,
}); wechattype: 1,
} else if (opeType == 1) { };
//提现 $.ajax({
let params = { url: gHost + "/bank-wechat/otp/send/recharge",
accountNo: bankInfo.acctNoArray, //银行卡号 type: "POST",
mobileNo: mobileNo, //手机号 contentType: "application/x-www-form-urlencoded",
"transferAccountBizKeyVO.accountName": bankInfo.trueName, //收款方户名 data: params,
"transferAccountBizKeyVO.amount": $(".TxClsTx")[0].value * 1, //提现金额 success: function(res5) {
"transferAccountBizKeyVO.fromAccountName": bankInfo.trueName, //转出户名 loading.hide();
"transferAccountBizKeyVO.fromAccountNo": bankInfo.acctNoArray, //转出卡号(互联网账户卡号) if (res5.code == "10000") {
"transferAccountBizKeyVO.toAccountNo": payCardNumber, //收款方卡号(绑定卡卡号) otpOrderNo = res5.results.otpOrderNo;
schoolId: bankInfo.schoolId, businessNo = res5.results.businessNo;
userId: userID, weui.toast("验证码已发送,请注意查收!", 1000);
sessionid: sessionID, this_.IntervalFun();
wechattype: 1, MyTimer = window.setInterval(IntervalFun, 1000);
}; } else {
$.ajax({ weui.topTips(res5.message);
url: gHost + "/bank-wechat/otp/send/transfer/account", }
type: "POST", },
contentType: "application/x-www-form-urlencoded", error: function(err) {
data: params, loading.hide();
success: function (res5) { },
loading.hide(); });
if (res5.code == "10000") { } else if (opeType == 1) {
otpOrderNo = res5.results.otpOrderNo; //提现
businessNo = res5.results.businessNo; let params = {
weui.toast("验证码已发送,请注意查收!", 1000); accountNo: bankInfo.acctNoArray, //银行卡号
this_.IntervalFun(); mobileNo: mobileNo, //手机号
MyTimer = window.setInterval(this_.IntervalFun, 1000); "transferAccountBizKeyVO.accountName": bankInfo.trueName, //收款方户名
} else { "transferAccountBizKeyVO.amount": $(".TxClsTx")[0].value * 1, //提现金额
weui.topTips(res5.message); "transferAccountBizKeyVO.fromAccountName": bankInfo.trueName, //转出户名
} "transferAccountBizKeyVO.fromAccountNo": bankInfo.acctNoArray, //转出卡号(互联网账户卡号)
}, "transferAccountBizKeyVO.toAccountNo": payCardNumber, //收款方卡号(绑定卡卡号)
error: function (err) { schoolId: bankInfo.schoolId,
loading.hide(res5.message); userId: userID,
}, sessionid: sessionID,
}); wechattype: 1,
} };
}, $.ajax({
//换绑卡 url: gHost + "/bank-wechat/otp/send/transfer/account",
ChangeCardPay(bankName, bindCard) { type: "POST",
let this_ = this; contentType: "application/x-www-form-urlencoded",
if (bindCard == payCardNumber) { data: params,
return; success: function(res5) {
} loading.hide();
var loading = weui.loading("请稍后"); if (res5.code == "10000") {
$.ajax({ otpOrderNo = res5.results.otpOrderNo;
url: gHost + "/bank-wechat/user/bank/change/bind", businessNo = res5.results.businessNo;
type: "POST", weui.toast("验证码已发送,请注意查收!", 1000);
contentType: "application/x-www-form-urlencoded", this_.IntervalFun();
data: { MyTimer = window.setInterval(this_.IntervalFun, 1000);
schoolId: bankInfo.schoolId, } else {
userId: userID, weui.topTips(res5.message);
sessionid: sessionID, }
wechattype: 1, },
accountName: bankName, error: function(err) {
accountNo: bindCard, loading.hide(res5.message);
}, },
success: function (res5) { });
loading.hide(); }
if (res5.code == "10000") { },
this_.HideHTML("showBindCardList", 0); //换绑卡
this_.queryUserBankInfo(); ChangeCardPay(bankName, bindCard) {
} else { let this_ = this;
weui.topTips(res5.message); if (bindCard == payCardNumber) {
} return;
}, }
error: function (err) { var loading = weui.loading("请稍后");
loading.hide(); $.ajax({
}, url: gHost + "/bank-wechat/user/bank/change/bind",
}); type: "POST",
}, contentType: "application/x-www-form-urlencoded",
//查询一类卡绑定列表 data: {
queryBindCardList() { schoolId: bankInfo.schoolId,
let this_ = this; userId: userID,
let loading = weui.loading("请稍后"); sessionid: sessionID,
$.ajax({ wechattype: 1,
url: gHost + "/bank-wechat/query/account", accountName: bankName,
type: "POST", accountNo: bindCard,
contentType: "application/x-www-form-urlencoded", },
data: { success: function(res5) {
schoolId: bankInfo.schoolId, loading.hide();
userId: userID, if (res5.code == "10000") {
sessionid: sessionID, this_.HideHTML("showBindCardList", 0);
wechattype: 1, this_.queryUserBankInfo();
}, } else {
success: function (res4) { weui.topTips(res5.message);
loading.hide(); }
if (res4.code == "10000") { },
var divList = ""; error: function(err) {
var choiceIndex = 0; loading.hide();
for ( },
let i = 0; });
i < res4.results.accountList[0].bindcardList.length; },
i++ //查询一类卡绑定列表
) { queryBindCardList() {
divList += `<div onclick=ChangeCardPay('${ 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].bankName
}','${res4.results.accountList[0].bindcardList[i].bindCardNo}')> }','${res4.results.accountList[0].bindcardList[i].bindCardNo}')>
<p>${ <p>${
...@@ -906,860 +994,1198 @@ export default { ...@@ -906,860 +994,1198 @@ export default {
}</p> }</p>
<img class='myImg${i} BankListImg' src='img/choiceBank.png'> <img class='myImg${i} BankListImg' src='img/choiceBank.png'>
</div>`; </div>`;
if ( if (
res4.results.accountList[0].bindcardList[i].bindCardNo == res4.results.accountList[0].bindcardList[i].bindCardNo ==
payCardNumber payCardNumber
) { ) {
choiceIndex = i; choiceIndex = i;
} }
} }
$(".hideListCover").html(divList); $(".hideListCover").html(divList);
$(`.myImg${choiceIndex}`).css("display", "block"); $(`.myImg${choiceIndex}`).css("display", "block");
$(".showBindCardList").css("display", "block"); $(".showBindCardList").css("display", "block");
} else { } else {
weui.topTips(res4.message); weui.topTips(res4.message);
} }
}, },
error: function (err) { error: function(err) {
loading.hide(); loading.hide();
}, },
}); });
}, },
//获取银行余额 //获取银行余额
queryBankInfo() { queryBankInfo() {
let this_ = this; let this_ = this;
let loading = weui.loading("请稍后"); let loading = weui.loading("请稍后");
$.ajax({ $.ajax({
url: gHost + "/bank-wechat/query/balance", url: gHost + "/bank-wechat/query/balance",
type: "POST", type: "POST",
timeout: 8000, timeout: 8000,
contentType: "application/x-www-form-urlencoded", contentType: "application/x-www-form-urlencoded",
data: bankInfo, data: bankInfo,
success: function (res3) { success: function(res3) {
loading.hide(); loading.hide();
if (res3.code == "10000") { if (res3.code == "10000") {
if (res3.results.acctInfoList == null) { if (res3.results.acctInfoList == null) {
weui.topTips("账户信息为空,余额查询失败"); weui.topTips("账户信息为空,余额查询失败");
} else { } else {
this_.cardBalanceTx = ( this_.cardBalanceTx = (
res3.results.acctInfoList[0].hqBalanceDTOList[0].balance * 1 res3.results.acctInfoList[0].hqBalanceDTOList[0].balance * 1
).toFixed(2); ).toFixed(2);
$(".TxClsTx").attr( $(".TxClsTx").attr(
"placeholder", "placeholder",
`可提现金额${( `可提现金额${(
res3.results.acctInfoList[0].hqBalanceDTOList[0].balance * 1 res3.results.acctInfoList[0].hqBalanceDTOList[0].balance * 1
).toFixed(2)}元` ).toFixed(2)}元`
); );
this_.RechargeMax = ( this_.RechargeMax = (
2000 - 2000 -
( (
res3.results.acctInfoList[0].hqBalanceDTOList[0].balance * 1 res3.results.acctInfoList[0].hqBalanceDTOList[0].balance * 1
).toFixed(2) * ).toFixed(2) *
1 1
).toFixed(2); ).toFixed(2);
} }
} else { } else {
weui.topTips(res3.message); weui.topTips(res3.message);
} }
}, },
error: function (err) { error: function(err) {
loading.hide(); loading.hide();
}, },
complete: function (XMLHttpRequest, status) { complete: function(XMLHttpRequest, status) {
loading.hide(); loading.hide();
if (status == "timeout") { if (status == "timeout") {
weui.topTips("请求超时,余额查询失败"); weui.topTips("请求超时,余额查询失败");
} }
}, },
}); });
}, },
//获取用户已填写银行信息 //获取用户已填写银行信息
queryUserBankInfo() { queryUserBankInfo() {
let this_ = this; let this_ = this;
let loading = weui.loading("请稍后"); let loading = weui.loading("请稍后");
$.ajax({ $.ajax({
url: gHost + "/bank-wechat/user/bank/get", url: gHost + "/bank-wechat/user/bank/get",
type: "POST", type: "POST",
contentType: "application/x-www-form-urlencoded", contentType: "application/x-www-form-urlencoded",
data: { data: {
schoolId: bankInfo.schoolId, schoolId: bankInfo.schoolId,
userId: userID, userId: userID,
sessionid: sessionID, sessionid: sessionID,
wechattype: 1, wechattype: 1,
}, },
success: function (res2) { success: function(res2) {
if (res2.code == "10000") { if (res2.code == "10000") {
bankInfo.acctNoArray = res2.results.accountNo; bankInfo.acctNoArray = res2.results.accountNo;
bankInfo.idNo = res2.results.idNo; bankInfo.idNo = res2.results.idNo;
bankInfo.trueName = res2.results.trueName; bankInfo.trueName = res2.results.trueName;
payCardNumber = res2.results.bindCardNo; payCardNumber = res2.results.bindCardNo;
$(".bankNameClass").html( $(".bankNameClass").html(
`${res2.results.bindCardName}(${res2.results.bindCardNo.substr( `${res2.results.bindCardName}(${res2.results.bindCardNo.substr(
-4 -4
)})` )})`
); );
$(".bankNameClass1").html(res2.results.bindCardName + "(储蓄卡)"); $(".bankNameClass1").html(res2.results.bindCardName + "(储蓄卡)");
$(".payCardEndNo").html( $(".payCardEndNo").html(
"尾号" + res2.results.bindCardNo.substr(-4) "尾号" + res2.results.bindCardNo.substr(-4)
); );
$(".myPhoneTx").html(res2.results.mobileNo); $(".myPhoneTx").html(res2.results.mobileNo);
mobileNo = res2.results.mobileNo; mobileNo = res2.results.mobileNo;
this_.queryBankInfo(); this_.queryBankInfo();
} else { } else {
weui.topTips(res2.message); weui.topTips(res2.message);
} }
}, },
error: function (err) { error: function(err) {
loading.hide(); loading.hide();
}, },
}); });
}, },
//查询用户信息 //查询用户信息
QueryUserInfo() { QueryUserInfo() {
let this_ = this; let this_ = this;
let loading = weui.loading("请稍后"); let loading = weui.loading("请稍后");
$.ajax({ $.ajax({
url: gHost + "/wechat/svweapp/QueryPersonalInfo", url: gHost + "/wechat/svweapp/QueryPersonalInfo",
type: "POST", type: "POST",
contentType: "application/x-www-form-urlencoded", contentType: "application/x-www-form-urlencoded",
data: { data: {
userid: userID, userid: userID,
sessionid: sessionID, sessionid: sessionID,
wechattype: 1, wechattype: 1,
}, },
success: function (res1) { success: function(res1) {
loading.hide(); loading.hide();
if (res1.code == "10000") { if (res1.code == "10000") {
bankInfo.schoolId = res1.results.schoolid; bankInfo.schoolId = res1.results.schoolid;
bankInfo.userId = res1.results.id; bankInfo.userId = res1.results.id;
$(".userNameTx").html(res1.results.name); $(".userNameTx").html(res1.results.name);
$(".schoolNameTx").html(res1.results.schoolname); $(".schoolNameTx").html(res1.results.schoolname);
$(".ClsNameTx").html( $(".ClsNameTx").html(
res1.results.gradename + res1.results.classname res1.results.gradename + res1.results.classname
); );
if (res1.results.usertype == 1) { if (res1.results.usertype == 1) {
$(".StudentCls").css("display", "block"); $(".StudentCls").css("display", "block");
$(".TeacherCls").css("display", "none"); $(".TeacherCls").css("display", "none");
} else { } else {
$(".StudentCls").css("display", "none"); $(".StudentCls").css("display", "none");
$(".TeacherCls").css("display", "block"); $(".TeacherCls").css("display", "block");
} }
this_.queryUserBankInfo(); this_.queryUserBankInfo();
} else { } else {
weui.topTips(res1.message); weui.topTips(res1.message);
setTimeout(() => { setTimeout(() => {
this_.BackToMini("UserMain"); this_.BackToMini("UserMain");
}, 1500); }, 1500);
} }
}, },
error: function (err) { error: function(err) {
loading.hide(); loading.hide();
}, },
}); });
}, },
// 充值账户异常资料补充 // 充值账户异常资料补充
// recharge/acctErrorUpdateResource // recharge/acctErrorUpdateResource
acctErrorUpdateResource() { acctErrorUpdateResource() {
acctErrorUpdateParms.businessNo = wefileId.businessNo; //业务流水号 acctErrorUpdateParms.businessNo = wefileId.businessNo; //业务流水号
acctErrorUpdateParms.schoolId = bankInfo.schoolId; acctErrorUpdateParms.schoolId = bankInfo.schoolId;
acctErrorUpdateParms.userId = userID; acctErrorUpdateParms.userId = userID;
acctErrorUpdateParms.homeAddress = acctErrorUpdateParms.homeAddress =
acctErrorUpdateParms.homeAddress + acctErrorUpdateParms.homeAddress +
acctErrorUpdateParms.StreetInformation; acctErrorUpdateParms.StreetInformation;
let { backSideImgId, frontSideImgId, homeAddress, occupation } = let {
acctErrorUpdateParms; backSideImgId,
acctErrorUpdateParms.sessionid = sessionID; frontSideImgId,
acctErrorUpdateParms.wechattype = 1; homeAddress,
if (!occupation) { occupation
weui.topTips("请选择职业信息"); } =
return; acctErrorUpdateParms;
} acctErrorUpdateParms.sessionid = sessionID;
if (!homeAddress) { acctErrorUpdateParms.wechattype = 1;
weui.topTips("请选择家庭住址"); if (!occupation) {
return; weui.topTips("请选择职业信息");
} return;
}
if (!backSideImgId) { if (!homeAddress) {
weui.topTips("请上传反面身份证图片"); weui.topTips("请选择家庭住址");
return; return;
} }
if (!frontSideImgId) {
weui.topTips("请上传正面身份证图片"); if (!backSideImgId) {
return; weui.topTips("请上传反面身份证图片");
} return;
let loading = weui.loading("信息更新中,请稍后"); }
return new Promise((resolve, reject) => { if (!frontSideImgId) {
$.ajax({ weui.topTips("请上传正面身份证图片");
url: gHost + "/bank-wechat/recharge/acctErrorUpdateResource", return;
type: "POST", }
contentType: "application/x-www-form-urlencoded", let loading = weui.loading("信息更新中,请稍后");
data: acctErrorUpdateParms, return new Promise((resolve, reject) => {
timeout: 8000, //超时时间设置,单位毫秒 $.ajax({
success: function (res) { url: gHost + "/bank-wechat/recharge/acctErrorUpdateResource",
loading.hide(); type: "POST",
if (res.code == "000000") { contentType: "application/x-www-form-urlencoded",
weui.topTips("信息更新成功", { data: acctErrorUpdateParms,
duration: 3000, //3秒后消失 timeout: 8000, //超时时间设置,单位毫秒
className: "weui-toptips_success", //自定义类名 success: function(res) {
callback: function () { loading.hide();
//回调函数 if (res.code == "000000") {
console.log("close"); weui.topTips("信息更新成功", {
window.location.reload(); duration: 3000, //3秒后消失
}, className: "weui-toptips_success", //自定义类名
}); callback: function() {
resolve(res); //回调函数
} else { console.log("close");
weui.topTips("信息更新失败," + res.message); window.location.reload();
loading.hide(); },
reject(res.message); });
} resolve(res);
}, } else {
error: function (err) { weui.topTips("信息更新失败," + res.message);
loading.hide(); loading.hide();
reject(err); 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("不符合的文件格式,请重新选择"); uploaderInput(e, CredType) {
return; let fileInfo = e[0];
} let fileTypeList = fileInfo.name.split(".");
let formData = new FormData(); let fileType = fileTypeList[fileTypeList.length - 1];
formData.append("project", wefileId.project); if (!(fileType == "jpg" || fileType == "png")) {
formData.append("file", fileInfo); weui.topTips("不符合的文件格式,请重新选择");
formData.append("fileName", fileInfo.name); return;
formData.append("expiredTime", wefileId.expiredTime); }
formData.append("uuid", wefileId.uuid); let formData = new FormData();
formData.append("wefileToken", wefileId.wefileToken); formData.append("project", wefileId.project);
formData.append("wefileUrl", wefileId.wefileUrl); formData.append("file", fileInfo);
formData.append("sessionid", sessionID); formData.append("fileName", fileInfo.name);
formData.append("wechattype", 1); formData.append("expiredTime", wefileId.expiredTime);
this.UploadIDCardInfo(wefileId.wefileUrl, formData, CredType); formData.append("uuid", wefileId.uuid);
}, formData.append("wefileToken", wefileId.wefileToken);
// 【获取上传影像token接口】中已经返回了请求地址 formData.append("wefileUrl", wefileId.wefileUrl);
UploadIDCardInfo(url, formData, type) { formData.append("sessionid", sessionID);
let loading = weui.loading("请稍后,正在上传"); formData.append("wechattype", 1);
return new Promise((resolve, reject) => { this.UploadIDCardInfo(wefileId.wefileUrl, formData, CredType);
return new Promise((resolve, reject) => { },
$.ajax({ // 【获取上传影像token接口】中已经返回了请求地址
url: UploadIDCardInfo(url, formData, type) {
gHost + let loading = weui.loading("请稍后,正在上传");
`/bank-wechat-server/wefile/upload?wechattype=1&sessionid=${sessionID}`, return new Promise((resolve, reject) => {
type: "post", return new Promise((resolve, reject) => {
data: formData, $.ajax({
processData: false, url: gHost +
contentType: false, `/bank-wechat-server/wefile/upload?wechattype=1&sessionid=${sessionID}`,
success: function (res) { type: "post",
console.log(res); data: formData,
if (res.code == "10000") { processData: false,
if (type == 1) { contentType: false,
acctErrorUpdateParms.frontSideImgId = res.results; success: function(res) {
} else { console.log(res);
acctErrorUpdateParms.backSideImgId = res.results; if (res.code == "10000") {
} if (type == 1) {
weui.topTips("上传成功", { acctErrorUpdateParms.frontSideImgId = res.results;
duration: 3000, //3秒后消失 } else {
className: "weui-toptips_success", //自定义类名 acctErrorUpdateParms.backSideImgId = res.results;
callback: function () {}, }
}); weui.topTips("上传成功", {
loading.hide(); duration: 3000, //3秒后消失
resolve(res); className: "weui-toptips_success", //自定义类名
} else { callback: function() {},
weui.topTips(res.message); });
loading.hide(); loading.hide();
reject(res.message); resolve(res);
} } else {
}, weui.topTips(res.message);
error: function (err) { loading.hide();
loading.hide(); reject(res.message);
weui.topTips("上传失败!请检查"); }
reject(err); },
}, 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", getWefileId(fileType = "jpg/png/jpeg") {
type: "post", let loading = weui.loading("请稍后");
data: { return new Promise((resolve, reject) => {
Authorization: this.getQueryParams("seesionID"), $.ajax({
businessNo: businessNo, url: gHost + "/bank-wechat/wefile/wefileId",
fileType: fileType, //jpg/png/doc/docx/txt/pdf/ppt/xls/xlsx/pptx/jpeg type: "post",
schoolId: bankInfo.schoolId, data: {
userId: userID, Authorization: this.getQueryParams("seesionID"),
sessionid: sessionID, businessNo: businessNo,
wechattype: 1, fileType: fileType, //jpg/png/doc/docx/txt/pdf/ppt/xls/xlsx/pptx/jpeg
}, schoolId: bankInfo.schoolId,
success: function (res) { userId: userID,
loading.hide(); sessionid: sessionID,
if (res.code == "10000") { wechattype: 1,
wefileId = res.results; },
resolve(res.results); success: function(res) {
} else { loading.hide();
reject(res.message); if (res.code == "10000") {
} wefileId = res.results;
}, resolve(res.results);
error: function (err) { } else {
loading.hide(); reject(res.message);
reject(err); }
}, },
}); error: function(err) {
}); loading.hide();
}, reject(err);
//街道信息 },
StreetInformation(e) { });
let value = $(e)[0].value; });
console.log(value); },
acctErrorUpdateParms.StreetInformation = value; //街道信息
}, StreetInformation(e) {
//立即更新 let value = $(e)[0].value;
UpdateRechargeException() { console.log(value);
this.acctErrorUpdateResource(); acctErrorUpdateParms.StreetInformation = value;
}, },
// query/getOccupationList职业信息接口 //立即更新
getOccupationList() { UpdateRechargeException() {
let loading = weui.loading("请稍后"); this.acctErrorUpdateResource();
return new Promise((resolve, reject) => { },
$.ajax({ // query/getOccupationList职业信息接口
url: gHost + "/bank-wechat/query/getOccupationList", getOccupationList() {
type: "post", let loading = weui.loading("请稍后");
data: { return new Promise((resolve, reject) => {
sessionid: sessionID, $.ajax({
wechattype: 1, url: gHost + "/bank-wechat/query/getOccupationList",
}, type: "post",
headers: { data: {
Authorization: getQueryParams("seesionID"), sessionid: sessionID,
}, wechattype: 1,
success: function (res) { },
loading.hide(); headers: {
if (res.code == "10000") { Authorization: getQueryParams("seesionID"),
resolve(res.results); },
} else { success: function(res) {
reject(res.message); loading.hide();
} if (res.code == "10000") {
}, resolve(res.results);
error: function (err) { } else {
loading.hide(); reject(res.message);
reject(err); }
}, },
}); 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("="); getQueryParams(params) {
if (pair[0] == params) { var query = window.location.search.substring(1);
return pair[1]; var vars = query.split("&");
} for (var i = 0; i < vars.length; i++) {
} var pair = vars[i].split("=");
return false; if (pair[0] == params) {
}, return pair[1];
}, }
}; }
return false;
},
},
};
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
html, html,
body, body,
page { page {
width: 750rpx; width: 750rpx;
background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%); background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
} }
.contentBox { .userInfoBox {
width: 670rpx; display: flex;
height: 376rpx; flex-direction: column;
margin: 0 auto; width: calc(100% - 64rpx);
} height: 150rpx;
margin: 0 32rpx;
.contentDiv { margin-top: 30rpx;
height: 100%; background: linear-gradient(270deg, #f4f4f4 0%, #ebebeb 100%);
// margin-top: 36rpx; border-radius: 16px;
border-radius: 15rpx;
background-image: url("https://xiaopay2020.oss-cn-shenzhen.aliyuncs.com/static/weapp/images/xiaopaycard (31).png"); .firstLine {
background-repeat: no-repeat; display: flex;
background-size: 100% 100%; flex-direction: row;
width: calc(100% - 68rpx);
position: relative; height: 56rpx;
top: 36rpx; line-height: 56rpx;
} margin: 0 34rpx;
margin-top: 28rpx;
.HidenText { overflow: hidden;
margin-top: 147rpx;
} view {
white-space: nowrap;
.HidenText, }
.Balance {
padding-left: 46rpx; .avatar {
padding-right: 40rpx; width: 56rpx;
display: flex; height: 56rpx;
justify-content: space-between;
uni-image {
font-size: 28rpx; width: 56rpx;
color: #ffffff; height: 56rpx;
} }
}
.Balance {
margin-top: 20rpx; .name {
} margin-left: 17rpx;
font-size: 36rpx;
.Recharge { font-weight: 600;
display: flex; color: rgba(0, 0, 0, 0.85);
justify-content: space-between; }
margin-top: 70rpx;
} view:last-child {
margin-left: 10rpx;
.Recharge .leftdiv { align-self: center;
width: 192rpx; align-items: center;
height: 67rpx; padding: 0 8rpx;
font-size: 48rpx; height: 40rpx;
font-family: PingFangSC-Semibold, PingFang SC; line-height: 40rpx;
font-weight: 600; background: rgba(0, 0, 0, 0.08);
color: #010101; border-radius: 4rpx;
line-height: 67rpx; font-size: 26rpx;
} font-weight: 500;
color: rgba(0, 0, 0, 0.5);
.Recharge .rightdiv { }
height: 67rpx; }
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC; .secondLine {
font-weight: 400; display: flex;
color: #999999; width: calc(100% - 62rpx);
line-height: 67rpx; margin: 0 31rpx;
} margin-top: 8rpx;
height: 37rpx;
.Recharge .rightdiv image { line-height: 37rpx;
position: relative; font-size: 26rpx;
width: 20rpx; color: rgba(0, 0, 0, 0.45);
height: 20rpx; }
} }
.headview { .contentWrapper {
display: flex; width: 100%;
justify-content: space-between; display: flex;
padding-left: 40rpx; flex-direction: column;
padding-right: 40rpx; }
padding-top: 36rpx; .balanceWrapper {
} width: calc(100% - 144rpx);
margin: 0 32rpx;
.headview .schoolname { margin-top: 24rpx;
width: 252rpx; height: 249rpx;
height: 50rpx; padding: 40rpx 40rpx 0;
font-size: 36rpx; background-image: url("https://xiaopay2020.oss-cn-shenzhen.aliyuncs.com/static/weapp/user/bankBg.png");
font-family: PingFangSC-Medium, PingFang SC; background-repeat: no-repeat;
font-weight: 500; background-size: 100% 100%;
color: #ffffff; position: relative;
line-height: 50rpx; display: flex;
} flex-direction: column;
.headview .IconCls { .firstLine {
width: 170rpx; display: flex;
height: 48rpx; justify-content: space-between;
background: #20946d;
border-radius: 25rpx; .left {
view:first-child {
font-size: 24rpx; height: 33rpx;
font-weight: 400; font-size: 24rpx;
color: #ffffff; font-weight: 600;
line-height: 48rpx; color: rgba(255, 255, 255, 0.85);
text-align: center; line-height: 33rpx;
} }
.MoneyBox { view:last-child {
display: flex; height: 84rpx;
justify-content: space-between; font-size: 60rpx;
flex-wrap: wrap; font-weight: 600;
height: auto; color: #ffffff;
color: #333333; line-height: 84rpx;
} }
}
.choiceClass {
background: #01bc73 !important; .right {
color: #fff; width: 60rpx;
} height: 60rpx;
align-self: flex-start;
.MoneyBox view {
width: 206rpx; .icon {
height: 133rpx; width: 60rpx;
background: #f5f5f5; height: 60rpx;
border-radius: 8rpx; }
margin-top: 26rpx; }
text-align: center; }
position: relative; .lastLine {
} display: flex;
width: 100%;
.depotMoney .value { justify-content: space-between;
font-size: 48rpx;
font-family: PingFangSC-Semibold, PingFang SC; view:first-child {
font-weight: 600; height: 60rpx;
line-height: 133rpx; font-size: 40rpx;
text-align: center; font-weight: 600;
} color: #ffffff;
line-height: 60rpx;
.depotMoney .tips { }
// width: 79rpx;
height: 33rpx; .right {
background: linear-gradient(180deg, #fa6400 0%, #fd9d00 100%); width: 140rpx;
border-radius: 4rpx; height: 60rpx;
font-size: 18rpx; line-height: 60rpx;
font-weight: 500; font-size: 30rpx;
padding: 4rpx; font-weight: 600;
text-align: center; color: #04b871;
float: right; background-image: url("https://xiaopay2020.oss-cn-shenzhen.aliyuncs.com/static/weapp/user/cashBtn.png");
position: absolute; background-repeat: no-repeat;
right: 0rpx; background-size: cover;
line-height: 33rpx; text-align: center;
} }
.OtherMoney { .btn {
display: flex; width: 140rpx;
justify-content: center; height: 60rpx;
color: #999999; }
font-size: 28rpx; }
font-family: PingFangSC-Regular, PingFang SC; }
font-weight: 400;
color: #999999; .accountlist {
line-height: 40rpx; width: 100%;
height: 100%;
margin-top: 26rpx; }
}
.showBindCardList {
.OtherMoney view:nth-child(2) { width: 100%;
width: 30rpx; height: 100%;
height: 30rpx;
background: #f0f0f0; .choiceBox {
border-radius: 50%; text-align: center;
text-align: center; font-weight: bold;
line-height: 30rpx; height: 100rpx;
margin-top: 7rpx; line-height: 100rpx;
margin-left: 5rpx; padding: 0;
} border-bottom: 1rpx solid #e6e6e6;
}
.payType {
height: 98rpx; .cardsList {
line-height: 98rpx; width: 100%;
display: flex; height: calc(100% - 260rpx);
justify-content: space-between; overflow-y: scroll;
} }
.payType view:nth-child(1) { .ListItem {
width: 120rpx; border-bottom: 1rpx solid #e6e6e6;
height: 42rpx; font-size: 30rpx;
font-size: 30rpx; padding: 25rpx 0;
font-family: PingFangSC-Regular, PingFang SC; background: #fff;
font-weight: 400; position: relative;
color: #666666; text-align: center;
line-height: 98rpx; }
}
.changeCard {
.payType view::nth-child(2) { margin: 0 auto;
width: 225rpx; margin-top: 40rpx;
height: 45rpx; height: 40rpx;
font-size: 32rpx; font-size: 28rpx;
font-family: PingFangSC-Medium, PingFang SC; font-weight: 400;
font-weight: 500; color: #04B871;
color: #333333; line-height: 40rpx;
line-height: 45rpx; text-align: center;
} }
}
.switchbankCard {
width: 224px; .SubmittedSuccessfully {
height: 40rpx; width: 400rpx !important;
font-size: 28rpx; height: 200rpx !important;
font-family: PingFangSC-Regular, PingFang SC; margin: 0 auto !important;
font-weight: 400; background: #000000;
color: #999999; opacity: 0.8;
line-height: 40rpx; border-radius: 8rpx;
margin-top: 12rpx; }
}
.cardNum {
.arrow { width: 574rpx;
transform: rotate(-45deg); margin: 0 auto;
top: -1rpx; display: flex;
border: solid #999999; justify-content: space-between;
border-width: 0 1rpx 1rpx 0; padding-top: 36rpx;
display: inline-block; font-size: 24rpx;
padding: 8rpx;
position: relative; .cardNumleft {
} font-family: PingFang SC;
font-weight: 500;
.DepositID { color: #ffffff;
width: 630rpx; }
height: 92rpx;
background: #04ba73; .cardNumright {
border-radius: 8rpx; font-family: PingFang SC;
margin: 0 auto; font-weight: 500;
text-align: center; text-decoration: underline;
color: #ffffff;
bottom: 30rpx; }
position: fixed; }
left: 0;
right: 0; .RechargeDetailed {
} text-align: center;
// width: 118rpx;
.DepositID span { height: 32rpx;
height: 50rpx; margin: 0 auto;
font-size: 36rpx; font-size: 30rpx;
font-family: PingFangSC-Medium, PingFang SC; font-family: PingFang SC;
font-weight: 500; font-weight: 500;
color: #ffffff; text-decoration: underline;
line-height: 92rpx; color: #36a8ff;
} margin-top: 50rpx;
}
.MyPhoneCls {
position: fixed; .contentBox {
width: 562rpx; width: 670rpx;
height: 497rpx; height: 376rpx;
left: 0; margin: 0 auto;
right: 0; }
top: 460rpx;
margin: 0 auto; .contentDiv {
font-size: 30rpx; height: 100%;
background: #fff; // margin-top: 36rpx;
border-radius: 8rpx; border-radius: 15rpx;
} background-image: url("https://xiaopay2020.oss-cn-shenzhen.aliyuncs.com/static/weapp/images/xiaopaycard (31).png");
background-repeat: no-repeat;
.closePhoneBox { background-size: 100% 100%;
width: 35rpx;
height: 35rpx; position: relative;
background: #7e7e7e; top: 36rpx;
position: relative; }
left: 522rpx;
top: -52rpx; .HidenText {
line-height: 30rpx; margin-top: 147rpx;
text-align: center; }
color: #bebebe;
border-radius: 100%; .HidenText,
border: 2px solid #bebebe; .Balance {
} padding-left: 46rpx;
padding-right: 40rpx;
.doBtnTx { display: flex;
width: 506rpx; justify-content: space-between;
height: 92rpx;
background: #04ba73; font-size: 28rpx;
border-radius: 8rpx; color: #ffffff;
color: #ffffff; }
position: absolute; .Balance {
left: 0; margin-top: 20rpx;
right: 0; }
margin: 0 auto;
bottom: 38rpx; .Recharge {
} display: flex;
justify-content: space-between;
.MyPhoneCls input { margin-top: 70rpx;
border: none; }
outline: none;
height: 80rpx; .Recharge .leftdiv {
line-height: 80rpx; width: 192rpx;
padding-left: 50rpx; height: 67rpx;
} font-size: 48rpx;
font-family: PingFangSC-Semibold, PingFang SC;
.PhoneNum, font-weight: 600;
.VerifyCode { color: #010101;
width: 506rpx; line-height: 67rpx;
height: 80rpx; }
line-height: 60rpx;
background: #f7f6fb; .Recharge .rightdiv {
margin: 0 auto; height: 67rpx;
margin-top: 20rpx; font-size: 28rpx;
} font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
.VerifyCode { color: #999999;
display: flex; line-height: 67rpx;
justify-content: space-between; }
}
.Recharge .rightdiv image {
.VerifyCode input { position: relative;
width: 200rpx; width: 20rpx;
} height: 20rpx;
}
.CodeMsg {
color: #01bc73; .headview {
background: #f7f6fb; display: flex;
font-size: 28rpx; justify-content: space-between;
font-weight: 600; padding-left: 40rpx;
line-height: 80rpx; padding-right: 40rpx;
letter-spacing: 3rpx;
} padding-top: 36rpx;
}
.placeholderInput {
color: #aaaaaa; .headview .schoolname {
font-size: 32rpx; width: 252rpx;
font-weight: 500; height: 50rpx;
letter-spacing: 3rpx; font-size: 36rpx;
// padding-left: 50rpx; font-family: PingFangSC-Medium, PingFang SC;
height: 80rpx; font-weight: 500;
} color: #ffffff;
line-height: 50rpx;
.OtherTitle { }
height: 67rpx;
font-size: 48rpx; .headview .IconCls {
font-family: PingFangSC-Semibold, PingFang SC; width: 170rpx;
font-weight: 600; height: 48rpx;
color: #010101; background: #20946d;
line-height: 67rpx; border-radius: 25rpx;
padding-top: 60rpx; font-size: 24rpx;
} font-weight: 400;
color: #ffffff;
.inputOtherM { line-height: 48rpx;
display: flex; text-align: center;
height: 100rpx; }
margin-top: 40rpx;
} .moneyWrapper {
margin-top: 10rpx;
.inputOtherM input { width: 100%;
border: none; display: flex;
outline: none; flex-wrap: wrap;
height: 50rpx;
padding-left: 16rpx; .moneyItem {
font-size: 72rpx; width: 210rpx;
font-weight: 600; height: 120rpx;
} background: #f8f8f8;
border-radius: 12rpx;
.inputOtherM span:nth-child(1) { display: flex;
width: 72rpx; justify-content: center;
font-size: 80rpx; margin-right: 18rpx;
font-family: PingFangSC-Semibold, PingFang SC; font-family: PingFangSC-Medium, PingFang SC;
font-weight: 600; margin-bottom: 24rpx;
color: #010101;
line-height: 100rpx; view {
} align-self: center;
color: #333333;
.OtherLine { }
width: 631rpx;
height: 1rpx; view:first-child {
background-color: #cccccc; font-size: 40rpx;
margin-top: 19rpx; font-weight: 500;
} }
.depositImg { view:last-child {
width: 14rpx; font-size: 30rpx;
vertical-align: middle; }
margin-right: 8rpx; }
}
.moneyItem:nth-child(3n) {
.Recharge_ { margin-right: 0;
height: 40rpx; }
font-size: 28rpx;
font-family: PingFangSC-Regular, PingFang SC; .active {
font-weight: 400; border: 3rpx solid #04b871;
color: #333333;
line-height: 40rpx; view {
margin-top: 40rpx; color: #04b871;
} }
}
.Recharge_ span:nth-child(2) {
font-size: 28rpx; .other {
font-family: PingFangSC-Semibold, PingFang SC; width: 444rpx;
font-weight: 600; height: 120rpx;
color: #fa6400; line-height: 120rpx;
} text-align: center;
background: #f8f8f8;
.placeholderinputOtherM { border-radius: 12rpx;
height: 50rpx;
font-family: PingFangSC-Semibold, PingFang SC; /deep/.uni-input-wrapper {
font-weight: 600; position: absolute;
color: #010101; width: 444rpx;
line-height: 50rpx; height: 120rpx;
} font-size: 40rpx;
font-weight: 500;
// 异常处理 color: #333333;
.RechargeException { }
padding-top: 20rpx;
} /deep/.uni-input-input {
height: 120rpx;
.weui-label { line-height: 120rpx;
// width: 118rpx; }
height: 42rpx; }
font-size: 30rpx; }
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500; .MoneyBox {
color: #3d3d3d; display: flex;
line-height: 42rpx; justify-content: space-between;
font-weight: bold; flex-wrap: wrap;
margin-left: 30rpx; height: auto;
} color: #333333;
}
.tiptext {
height: 1.06rem; .choiceClass {
font-size: 0.75rem; background: #01bc73 !important;
font-family: PingFangSC-Regular, PingFang SC; color: #fff;
font-weight: 400; }
color: #03bc73;
line-height: 1.06rem; .MoneyBox view {
margin-bottom: 0.625rem; width: 206rpx;
text-align: center; height: 133rpx;
} background: #f5f5f5;
border-radius: 8rpx;
.bottomDetail { margin-top: 26rpx;
width: 628rpx; text-align: center;
height: 88rpx;
color: white; position: relative;
// position: fixed; }
// left: 0;
// right: 0; .depotMoney .value {
margin: 0 auto; font-size: 48rpx;
background-color: #03bc73; font-family: PingFangSC-Semibold, PingFang SC;
text-align: center; font-weight: 600;
line-height: 88rpx; line-height: 133rpx;
text-align: center;
margin-top: 84rpx; }
}
.depotMoney .tips {
.RechargeException input::placeholder { // width: 79rpx;
color: #a1a4a8; height: 33rpx;
} background: linear-gradient(180deg, #fa6400 0%, #fd9d00 100%);
border-radius: 4rpx;
.RechargeException .weui-cell { font-size: 18rpx;
height: 4rem; font-weight: 500;
padding: 0 !important; padding: 4rpx;
} text-align: center;
float: right;
.idCardPhoto1, position: absolute;
.idCardPhoto2 { right: 0rpx;
width: 388rpx; line-height: 33rpx;
height: 224rpx; }
margin: 0 auto;
margin-top: 20rpx; .OtherMoney {
} display: flex;
justify-content: center;
.idCardPhoto1 image, color: #999999;
.idCardPhoto2 image { font-size: 28rpx;
width: 100%; font-family: PingFangSC-Regular, PingFang SC;
height: 100%; font-weight: 400;
position: relative; color: #999999;
} line-height: 40rpx;
.weui-toptips_success { margin-top: 26rpx;
background-color: #03bc73 !important; }
}
.OtherMoney view:nth-child(2) {
.positionCam { width: 30rpx;
height: 32rpx; height: 30rpx;
font-size: 22rpx; background: #f0f0f0;
font-family: PingFang-SC-Medium, PingFang-SC; border-radius: 50%;
font-weight: 500; text-align: center;
color: #6d7278; line-height: 30rpx;
line-height: 32rpx; margin-top: 7rpx;
text-align: center; margin-left: 5rpx;
position: relative; }
top: -29px;
} .paytype {
display: flex;
margin-top: 39rpx;
width: 100%;
height: 40rpx;
justify-content: space-between;
font-size: 28rpx;
.left {
font-weight: 500;
color: rgba(0, 0, 0, 0.4);
}
.right {
color: rgba(0, 0, 0, 0.85);
.van-icon {
font-size: 28rpx;
color: #161616;
}
}
}
.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> </style>
<template>
<view class="commonProblem">
<view class="itemWrapper">
<view class="title">使用规则</view>
<view class="content">
<view @click="toDetail('使用规则', 1, 1)">余额储存在哪里?</view>
<view @click="toDetail('使用规则',1, 2)">为什么我的余额充足却消费失败?</view>
</view>
</view>
<view class="itemWrapper">
<view class="title">充值问题</view>
<view class="content">
<view @click="toDetail('充值问题',2, 1)">充值失败后我的钱去哪了?</view>
<view @click="toDetail('充值问题',2, 2)">充值的上限是多少?</view>
</view>
</view>
<view class="itemWrapper">
<view class="title">提现问题</view>
<view class="content">
<view @click="toDetail('提现问题',3, 1)">充值金额是否可以提现?</view>
<view @click="toDetail('提现问题',3, 2)">提现申请成功后,多久可以到账?</view>
<view @click="toDetail('提现问题',3, 3)">为什么线上提现会失败?</view>
</view>
</view>
<view class="itemWrapper">
<view class="title">其他问题</view>
<view class="content">
<view @click="toDetail('其他问题',4, 1)">为什么电子校园卡激活收到银行的短信?</view>
<view @click="toDetail('其他问题',4, 2)">电子校园卡内的余额为什么会调整更新?</view>
</view>
</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";
}
export default {
components: {
},
name: "commonProblem",
data() {
return {
}
},
onLoad: function (options) {
},
created: function () {},
mounted: function () {},
methods: {
// 跳转问题详情界面
toDetail(title, parent, sub){
uni.navigateTo({
url: `../problemDetail/problemDetail?title=${title}&parent=${parent}&sub=${sub}`
})
}
},
};
</script>
<style lang="scss">
html,
body,
page {
width: 750rpx;
background: linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
}
.commonProblem {
width: 100%;
height: 100%;
min-height: 100vh;
display: flex;
flex-direction: column;
.itemWrapper {
width: calc(100% - 64rpx);
margin: 30rpx 32rpx 0;
padding-bottom: 30rpx;
border-bottom: 1rpx solid #CCCCCC;
display: flex;
justify-content: space-between;
.title {
width: 180rpx;
font-size: 30rpx;
align-self: center;
font-weight: 600;
color: #333333;
}
.content {
width: calc(100% - 200rpx);
display: flex;
flex-direction: column;
font-size: 28rpx;
color: #888888;
line-height: 50rpx;
margin-left: 20rpx;
}
}
.itemWrapper:first-child {
margin-top: 50rpx;
}
}
</style>
<template>
<view class="problemDetail">
<van-collapse v-model="activeName" accordion>
<van-collapse-item title="余额储存在哪里?" v-if="parent == 1" name="1-1">
<span>为了保障用户资金安全、存储合规,用户充值金额均存在</span><span class="red">用户以本人名义</span><span>开立的银行电子账户(即电子校园卡)中。</span>
</van-collapse-item>
<van-collapse-item title="为什么我的余额充足却消费失败?" v-if="parent == 1" name="1-2">
<p> 以下情况可能导致支付失败:</p>
<p> 1.单笔支付超100</p>
<p> 2.可能因用户个人原因(非正常操作、违规操作等),导致账户被开户银行进行司法冻结。具体可咨询开户银行客户热线</p>
<p> 工商银行:95588</p>
<p> 交通银行:95559</p>
<p> 平安银行:95511</p>
<p> 渤海银行:95541</p>
</van-collapse-item>
<van-collapse-item title="充值失败后我的钱去哪了?" v-if="parent == 2" name="2-1">
充值失败后,充值金额将在7个工作日内退回用户开户时指定的银行卡账户中。
</van-collapse-item>
<van-collapse-item title="充值的上限是多少?" v-if="parent == 2" name="2-2">
根据人民银行关于II/III类户使用相关法规限制,III类户可用金额上限2000,II类户可用金额上限10000。
</van-collapse-item>
<van-collapse-item title="充值金额是否可以提现?" v-if="parent == 3" name="3-1">
充值金额可随时发起提现。
</van-collapse-item>
<van-collapse-item title="提现申请成功后,多久可以到账?" v-if="parent == 3" name="3-2">
提现到账时间受到人民银行相关支付系统稳定性影响,无法准确预估。一般提现到账时间为2个小时。
</van-collapse-item>
<van-collapse-item title="为什么线上提现会失败?" v-if="parent == 3" name="3-3">
<p>提现失败的原因可能有:</p>
<p>1.超出当日提现次数</p>
<p>2.由于用户个人问题导致的账户出款功能受限制等</p>
<p>具体可咨询客服400-9656-210</p>
</van-collapse-item>
<van-collapse-item title="为什么电子校园卡激活收到银行的短信?" v-if="parent == 4" name="4-1">
电子校园卡账户由银行II/III账户支持。
</van-collapse-item>
<van-collapse-item title="电子校园卡内的余额为什么会调整更新?" v-if="parent == 4" name="4-2">
账户中的实际金额以银行II/III类户账户中的余额为准,当您在银行进行提现等操作时,真实余额将会同步更新。如对明细有疑问,请致电银行客户热线
</van-collapse-item>
</van-collapse>
</view>
</template>
<script>
export default {
data() {
return {
activeName: '1-1',
parent: 1,
sub: 1
}
},
onLoad: function(options) {
const {
title,
parent,
sub
} = options;
// 设置标题
uni.setNavigationBarTitle({
title: title
})
this.parent = parent;
this.sub = sub;
this.activeName = parent + "-" + sub;
},
methods: {
change(e) {
console.log(e);
}
}
}
</script>
<style lang="scss">
.problemDetail {
width: 100%;
height: 100%;
min-height: calc(100vh - 88rpx);
.content {
padding: 30rpx;
.red {
color: red;
}
}
.text {
font-size: 28rpx;
color: #666666;
line-height: 40rpx;
}
}
</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