wkyy 2 年之前
父节点
当前提交
1c9628245f
共有 3 个文件被更改,包括 76 次插入18 次删除
  1. 9 0
      apis/pagejs/mine.js
  2. 17 8
      pages/mine/mine.vue
  3. 50 10
      pages/mine/paymentCode.vue

+ 9 - 0
apis/pagejs/mine.js

@@ -3,6 +3,15 @@ import requestWhite from '@/apis/utils/requestWhite'
  
 import Qs from 'qs';
 
+// 获取卡信息
+export function getCardInfo(formData) {
+	return request({
+		url: '/mobile/cardInfo/getCardInfo',
+		data: formData,
+		method: 'post'
+	})
+}
+
 // 订餐月度记录
 export function cardPayAmountList(formData) {
 	return request({

+ 17 - 8
pages/mine/mine.vue

@@ -1,7 +1,7 @@
 <template>
 	<view>
 		<!-- 个人信息 -->
-		<view class="person-infos">
+		<view class="person-infos" :class="isCard ? '': 'isCard-padd'">
 			<view class="main">
 				<view class="photo">
 					<img v-if="userInfo.headImg" :src="userInfo.headImg" alt="">
@@ -76,7 +76,7 @@
 
 		</view>
 		<!-- 饭票卡片信息 -->
-		<view class="meal-ticket">
+		<view class="meal-ticket" v-if="isCard">
 			<view class="head">
 				<view class="balance">
 					饭卡余额(元)
@@ -226,16 +226,17 @@
 				plusInfo:{},
 				userInfo:{},
 				userPhone:"",
-				balance: 0
+				balance: 0,
+				isCard: true
 			}
 		},
 		onLoad() {
 			
 			this.init()
-			this.getCardPayAmountList();
 		},
 		onShow(){
 			this.findByOpenId()
+			this.getCardPayAmountList();
 		},
 		methods: {
 			getCardPayAmountList() {
@@ -246,11 +247,14 @@
 				mineAPI.cardPayAmountList().then((response) => {
 					uni.hideLoading();
 					this.balance = response.data.balance;
+					this.isCard = true;
 				}).catch(error => {
-					uni.showToast({
-						title: error,
-						icon: "none"
-					})
+					uni.hideLoading();
+					this.isCard = false;
+					// uni.showToast({
+					// 	title: error,
+					// 	icon: "none"
+					// })
 				})
 			},
 			init(){
@@ -331,6 +335,11 @@
 	page{
 		font-family: 'PingFang Regular';
 	}
+	
+	.isCard-padd {
+		padding: 40rpx 32rpx 60rpx 32rpx !important;
+	}
+	
 	// 个人信息
 	.person-infos {
 		background: linear-gradient(45.45deg, rgba(6, 50, 130, 1) -0.45%, rgba(0, 88, 209, 1) 23.41%, rgba(0, 53, 153, 1) 52.12%, rgba(0, 66, 178, 1) 77.4%, rgba(0, 20, 130, 1) 100.65%);

+ 50 - 10
pages/mine/paymentCode.vue

@@ -37,12 +37,14 @@
 				</view>
 			</view>
 			<!-- 付款中 -->
-			<!-- <view class="paying">
-				<img src="../../assets/img/if-spinner@1x.png" alt="">
-			     <view class="">
-			     	付款中...
-			     </view>
-			</view> -->
+			<view class="paying" v-if="isPaying">
+				<view class="loading-img">
+					<img src="../../assets/img/if-spinner@1x.png" alt="">
+				</view>
+				<view class="">
+					付款中...
+				</view>
+			</view>
 			<!-- 我的消费记录 -->
 			<view class="consumption-record" @click="gotoUrl('pages/mine/myMealCard')">
 				<view class="icon">
@@ -68,17 +70,47 @@
 		data() {
 			return {
 				userInfo: {},
-				balance: ''
+				balance: '',
+				isPaying: false,
+				card: '',
+				time: ''
 			}
 		},
 		onReady() {
 			this.userInfo=this.carhelp.getPersonInfo();
 			
 			this.getLoadCardData();
-			this.getPayAmount();
-			this.getQrcode();
+			this.getCardAndTime();
 		},
 		methods: {
+			getCardAndTime() {
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				mineAPI.getCardInfo().then((response) => {
+					uni.hideLoading();
+					this.card = response.data.cardId;
+					
+					var date = new Date();
+					var year = date.getFullYear();
+					var month = date.getMonth() + 1;
+					var day = date.getDate();
+					var hour = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
+					var minute = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
+					var second = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
+					month >= 1 && month <= 9 ? (month = "0" + month) : "";
+					day >= 0 && day <= 9 ? (day = "0" + day) : "";
+					this.time = year + month + day + hour + minute + second;
+					
+					this.getQrcode();
+				}).catch(error => {
+					uni.showToast({
+						title: error,
+						icon: "none"
+					})
+				})
+			},
 			getPayAmount() {
 				uni.showLoading({
 					title: "加载中",
@@ -113,7 +145,7 @@
 					let div = document.createElement('div');// 创建一个div,用来生成二维码
 					// 生成二维码
 					let qrcode = new QRCode(div, {
-						text: '123456789', // 你的扫码内容,填网址
+						text: 'card='+this.card+'&time='+this.time, // 你的扫码内容,填网址
 						width: 200, // 二维码宽度 
 						height: 200, // 二维码高度
 						colorDark: "#333333", //二维码颜色
@@ -147,6 +179,14 @@
 </script>
 
 <style lang="scss" scoped>
+	.loading-img{
+		animation: rotation 2s linear infinite;
+	}
+	@keyframes rotation{
+		from {transform: rotate(0deg)}
+		to {transform: rotate(360deg)}
+	}
+	
 	page {
 		background-color: #2A8EFB;
 		font-family: 'PingFang Regular';