Commit 75f4a2e4 authored by 李智书's avatar 李智书

Merge branch 'develop'

parents f567487f ff4fc2f1
...@@ -341,6 +341,44 @@ ...@@ -341,6 +341,44 @@
"navigationBarBackgroundColor":"#01CB88", "navigationBarBackgroundColor":"#01CB88",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
},
{
"path": "pages/ReceiveMoney/ReceiveMoney",
"style": {
"navigationBarTitleText": "领取红包",
"navigationStyle":"custom",
"enablePullDownRefresh": false
}
}
,{
"path" : "pages/StudentPayment/PayProjectHistoryDetails/PayProjectHistoryDetails",
"style" :
{
"navigationBarTitleText": "缴费详情单",
"navigationStyle":"custom",
"enablePullDownRefresh": false
}
}
,{
"path" : "pages/StudentPayment/PayProgress/PayProgress",
"style" :
{
"navigationBarTitleText": "缴费进度",
"navigationStyle":"custom",
"enablePullDownRefresh": false
}
}
,{
"path" : "pages/StudentPayment/PayProgressDetails/PayProgressDetails",
"style" :
{
"navigationStyle":"custom",
"navigationBarTitleText": "缴费进度",
"enablePullDownRefresh": false
}
} }
], ],
......
This diff is collapsed.
...@@ -97,7 +97,8 @@ ...@@ -97,7 +97,8 @@
> >
</view> </view>
<!-- 充值其它金额 --> <!-- 充值其它金额 -->
<view class="OtherMoney" v-if="isOtherMoney"> <!-- <view class="OtherMoney" v-if="isOtherMoney"> -->
<view class="OtherMoney">
<span></span> <span></span>
<input <input
v-model="inputOtherM" v-model="inputOtherM"
...@@ -321,10 +322,6 @@ export default { ...@@ -321,10 +322,6 @@ export default {
lable: "", lable: "",
value: 1000, value: 1000,
}, },
{
lable: "其他金额",
value: "",
},
], ],
numberList: [], numberList: [],
tempFiles1: "../../static/img/idCardBg1.png", //上传身份证临时选择文件 tempFiles1: "../../static/img/idCardBg1.png", //上传身份证临时选择文件
...@@ -453,6 +450,8 @@ export default { ...@@ -453,6 +450,8 @@ export default {
// 输入限制 // 输入限制
inputControl(e) { inputControl(e) {
let this_ = this; let this_ = this;
this_.MoneyIndex = -1;
this_.isOtherMoney = true;
let obj = e.detail; let obj = e.detail;
this.$nextTick(function () { this.$nextTick(function () {
obj.value = obj.value.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符 obj.value = obj.value.replace(/[^\d.]/g, ""); //清除"数字"和"."以外的字符
...@@ -636,14 +635,15 @@ export default { ...@@ -636,14 +635,15 @@ export default {
}, },
// 快捷选择金额 // 快捷选择金额
async depotMoney(value, MoneyIndex) { async depotMoney(value, MoneyIndex) {
console.log(value); // console.log(value);
if (!value) { // if (!value) {
this.isOtherMoney = true; // this.isOtherMoney = true;
this.Money = ""; // this.Money = "";
this.MoneyIndex = MoneyIndex; // this.MoneyIndex = MoneyIndex;
return; // return;
} // }
this.isOtherMoney = false; this.isOtherMoney = false;
this.inputOtherM = "";
this.Money = parseInt(value); this.Money = parseInt(value);
this.MoneyIndex = MoneyIndex; this.MoneyIndex = MoneyIndex;
}, },
......
<template>
<view class="contaner">
<view class="headerbox">
<image src="../../static/ReceiveMoney.png" mode="aspectFit"></image>
</view>
<view class="LoginBox">
<view class="phon">
<input type="number" class="phonNumber" :adjust-position="true" maxlength="11" v-model="phonNumber"
value="" placeholder="请输入手机号" placeholder-class="placeholder" />
</view>
<view class="phon" style="margin-top: 50rpx;">
<input type="text" class="phonNumber" :adjust-position="true" v-model="studentName" value=""
placeholder="请输入学生姓名" placeholder-class="placeholder" />
</view>
<view class="VerificationCode">
<input type="number" class="code" value="" :adjust-position="true" maxlength="6"
v-model="VerificationCode" placeholder="请输入验证码" placeholder-class="placeholder" />
<view class="sendBtn" @click="getVerificationCode">
{{timer?second+'s后获取':'获取验证码'}}
</view>
</view>
<view class="ReceiveMoney" @tap="ReceiveMoney">
领取红包
</view>
</view>
<!-- 温馨提示 -->
<view class="activity">
</view>
</view>
</template>
<script>
export default {
name: "ReceiveMoney",
data() {
return {
phonNumber: "",
VerificationCode: "",
studentName: "",
timer: null,
second: 3
}
},
methods: {
// 获取验证码
async getVerificationCode() {
try {
if (!this.phonNumber) {
this.$toast("请输入手机号码!");
return
}
if (this.timer) {
return
}
this.$toast.loading({
duration: 0,
message: '请稍后...',
forbidClick: true,
loadingType: 'spinner',
});
this.timer = setInterval(() => {
this.second--;
if (!this.second) {
clearInterval(this.timer);
// 手动清除 Toast
this.$toast.clear();
this.second = 60
this.timer = null
}
}, 1000);
} catch (e) {
//TODO handle the exception
console.log(e);
}
},
// 验证手机号码领取红包
async ReceiveMoney() {
try {
if (!this.phonNumber) {
this.$toast("请输入手机号码!");
return
}
if (!this.VerificationCode) {
this.$toast("请输入验证码!");
return
}
this.$toast.loading({
duration: 3000,
message: '请稍后...',
forbidClick: true,
loadingType: 'spinner',
});
await new Promise((res, rej) => {
setTimeout(() => {
res()
}, 3000)
})
await this.$dialog.alert({
title: '系统提示',
message: '领取成功!',
theme: 'round-button',
});
if (typeof WeixinJSBridge !== 'undefined') {
WeixinJSBridge.call('closeWindow');
} else {
window.opener = null;
window.close()
}
} catch (e) {
//TODO handle the exception
console.warn("----", e);
}
}
}
}
</script>
<style>
page {
width: 750pxr;
height: 100vh;
background: linear-gradient(0deg, #790003 0%, #BD000B 100%);
position: relative;
}
.headerbox {
width: 750rpx;
height: 268rpx;
}
.headerbox image {
width: 100%;
height: 100%;
position: relative;
}
.LoginBox {
width: 570rpx;
height: 450rpx;
margin: 0 auto;
position: absolute;
left: 0;
right: 0;
top: 404rpx;
}
.placeholder {
/* width: 310rpx; */
font-size: 30rpx;
font-family: Source Han Sans CN;
font-weight: 400;
color: #999999;
/* padding-left: 31rpx; */
}
.phonNumber {
/* width: 570rpx; */
height: 100rpx;
background: #FFFFFF;
border-radius: 8rpx;
padding-left: 31rpx;
}
.VerificationCode {
display: flex;
justify-content: space-between;
margin-top: 50rpx;
}
.code {
width: 350rpx;
height: 100rpx;
background: #FFFFFF;
border-radius: 8rpx;
padding-left: 31rpx;
}
.sendBtn {
width: 170rpx;
height: 100rpx;
background: #FFE49C;
border-radius: 8rpx;
line-height: 100rpx;
text-align: center;
font-size: 28rpx;
font-family: Source Han Sans CN;
font-weight: 400;
color: #222222;
}
.ReceiveMoney {
width: 570rpx;
height: 100rpx;
background: #FFC948;
border-radius: 8rpx;
line-height: 100rpx;
text-align: center;
font-size: 36rpx;
font-family: Source Han Sans CN;
font-weight: 500;
color: #222222;
margin-top: 100rpx;
}
</style>
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<text class="name">年级班级:</text> <text class="name">年级班级:</text>
<text class="value">{{ChargeProDetail.userGrade||""}} {{ChargeProDetail.userClass||""}}</text> <text class="value">{{ChargeProDetail.userGrade||""}} {{ChargeProDetail.userClass||""}}</text>
</view> </view>
<view class="rowInfo"> <view class="rowInfo" v-if="false">
<text class="name">订单编号:</text> <text class="name">订单编号:</text>
<text class="value">{{ChargeProDetail.tradeId||""}}</text> <text class="value">{{ChargeProDetail.tradeId||""}}</text>
</view> </view>
...@@ -164,6 +164,12 @@ ...@@ -164,6 +164,12 @@
if (options.PaymentRsults) { if (options.PaymentRsults) {
this_.dialogShow = true this_.dialogShow = true
this.PaymentRsults = parseInt(options.PaymentRsults); this.PaymentRsults = parseInt(options.PaymentRsults);
if (this.PaymentRsults == 1) {
// 支付成功返回交费项目列表
setTimeout(() => {
this_.dialogClosed()
}, 3000)
}
// 上报支付结果 // 上报支付结果
this.returnPaymentResult(uni.getStorageSync("prepayId").tradeId, this.PaymentRsults) this.returnPaymentResult(uni.getStorageSync("prepayId").tradeId, this.PaymentRsults)
} }
......
This diff is collapsed.
...@@ -44,21 +44,30 @@ ...@@ -44,21 +44,30 @@
@tap="PayOrderDetails(item)"> @tap="PayOrderDetails(item)">
<view class="listitem top"> <view class="listitem top">
<view class="title"> <view class="title">
2022高一春季收费 {{item.chargeName}}
</view> </view>
<view class="money"> <view class="money" v-if="false">
100.00 {{item.amountMust}}
</view>
</view>
<view class="hairline"
style="width: 686rpx;height: 1rpx; background-color:#E6E6E6;margin-top: 28rpx;">
</view>
<view class="History">
<view class="Historyitem">
<span>实交金额:</span>
<span class="money">{{item.realAmount/100||""}}</span>
</view>
<view class="Historyitem">
<span>交费时间:</span>
<span>{{item.payTime||""}}</span>
</view> </view>
</view> </view>
<view class="listitem center"> <view class="listitem center">
<text class="describe"> <text class="describe">
本次收费需要收取高一春季开学相关费用,并根据 {{item.descInfo||""}}
备注输入相关信息。
</text> </text>
</view> </view>
<view class="listitem botto" style="align-items: baseline;">
<van-icon name="clock-o" /> <text class="Tips">5天后收费结束</text>
</view>
</view> </view>
<view class="bottomtxt">已经到底啦~</view> <view class="bottomtxt">已经到底啦~</view>
</view> </view>
...@@ -66,8 +75,8 @@ ...@@ -66,8 +75,8 @@
<view class="noData" v-else> <view class="noData" v-else>
<image style="width: 290rpx;height: 242rpx;" :src="ImgUrl+'StudentPayment/development.png'" <image style="width: 290rpx;height: 242rpx;" :src="ImgUrl+'StudentPayment/development.png'"
mode='widthFix'></image> mode='widthFix'></image>
<view>程序员正在玩命开发</view> <view>正在玩命加载</view>
<view class="bottomtxt">详情请联系客服</view> <view class="bottomtxt">暂无历交费项目</view>
</view> </view>
</view> </view>
</van-tab> </van-tab>
...@@ -116,13 +125,19 @@ ...@@ -116,13 +125,19 @@
onReachBottom: function(e) { onReachBottom: function(e) {
console.log("onReachBottom", e); console.log("onReachBottom", e);
this.pageCurrent = this.pageCurrent + 1 this.pageCurrent = this.pageCurrent + 1
if (this.active == 0) {
this.getPayProject() this.getPayProject()
return
}
this.queryChargeHistoryPage()
}, },
methods: { methods: {
// 切换tab // 切换tab
async PayProjectTab(index) { async PayProjectTab(index) {
try { try {
this.pageCurrent = 1
if (index > 0) { if (index > 0) {
this.queryChargeHistoryPage(index)
return return
} }
this.getPayProject(index) this.getPayProject(index)
...@@ -131,6 +146,56 @@ ...@@ -131,6 +146,56 @@
console.log(e); console.log(e);
} }
}, },
// 交费历史记录分页查询
async queryChargeHistoryPage() {
try {
let data = await this.$http.post({
url: orderApi + '/order-charge/app/charge/project/queryChargeHistoryPage'
}, {
"pageCurrent": this.pageCurrent,
"pageSize": this.pageSize,
"schoolId": this.allData.schoolId,
"userId": this.allData.userId || this.allData.userID
})
if (data.code != 200) {
uni.showToast({
icon: "none",
mask: true,
title: data.msg
})
this.PayProjectHistory = []
return
}
if (data.data.records && Array.isArray(data.data.records)) {
let tmp = data.data.records;
let newArr = []
for (let s of tmp) {
s.payTime = dayjs(s.payTime).format("YYYY-MM-DD HH:mm:ss");
newArr.push(s)
}
if (this.pageCurrent == 1) {
this.PayProjectHistory = newArr
return
}
if (this.pageCurrent > 1) {
this.PayProjectHistory.push(...newArr)
return
}
} else {
this.PayProjectHistory = []
}
} catch (e) {
//TODO handle the exception
console.log(e);
uni.showToast({
icon: "none",
mask: true,
title: e.message
})
}
},
// 交费项目信息分页查询 // 交费项目信息分页查询
async getPayProject(index) { async getPayProject(index) {
try { try {
...@@ -188,13 +253,19 @@ ...@@ -188,13 +253,19 @@
}) })
} }
}, },
// 收费项目详情 // 收费项目详情/历史详情
async PayOrderDetails(data) { async PayOrderDetails(data) {
try { try {
console.log(data); console.log(data);
uni.setStorageSync("PayOrderDetails", data) uni.setStorageSync("PayOrderDetails", data)
let url = "../PayOrderDetails/PayOrderDetails?chargeId=" + data.id || ''
if (this.active == 0) {
url = "../PayOrderDetails/PayOrderDetails?chargeId=" + data.id || ''
} else {
url = "../PayProjectHistoryDetails/PayProjectHistoryDetails?chargeId=" + data.id || ''
}
uni.navigateTo({ uni.navigateTo({
url: "../PayOrderDetails/PayOrderDetails?chargeId=" + data.id || '' url
}) })
} catch (e) { } catch (e) {
//TODO handle the exception //TODO handle the exception
...@@ -299,10 +370,50 @@ ...@@ -299,10 +370,50 @@
.Tips { .Tips {
padding-left: 10rpx; padding-left: 10rpx;
} }
span {
color: #333333;
font-size: 30rpx;
}
} }
} }
.ProjectHistory {} .ProjectHistory {
height: 330rpx;
background: #FFFFFF;
border-radius: 16rpx;
.money {
font-size: 36rpx;
font-family: DIN;
font-weight: bold;
color: #01CB88;
}
.money::before {
content: "¥";
font-size: 32rpx;
font-family: PingFang SC;
font-weight: bold;
color: #01CB88;
}
.describe {
padding-top: 20rpx !important;
}
.History {
width: 630rpx;
margin: 0 auto;
.Historyitem {
height: 60rpx;
line-height: 60rpx;
display: flex;
justify-content: space-between;
}
}
}
.listitem { .listitem {
display: flex; display: flex;
......
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