oil-station/pos-uni/pagesHome/PaymentCode/PaymentCode.vue
2024-08-16 18:26:19 +08:00

125 lines
2.7 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="content">
<view class="container">
<headers :titles="titles"><u-icon name="arrow-left" color="#fff" size="22"></u-icon></headers>
<view class="img-box">
<view class="title_">请扫码支付</view>
<canvas id="qrcode" canvas-id="qrcode" style="width: 200px;height: 200px; margin: 15px auto;"></canvas>
<view class="z-size">
<view class="" @click="setAmount">设置金额</view>
<view class="">保存图片</view>
</view>
</view>
</view>
</view>
</template>
<script>
import headers from '../../components/header/headers.vue'
import UQRCode from '../../uni_modules/Sansnn-uQRCode/js_sdk/uqrcode/uqrcode.js';
export default {
data() {
return {
titles: "刷卡支付",
orderNo:"",
qrCode:"",
}
},
onLoad(e) {
this.orderNo = e.orderNo
this.qrCode = uni.getStorageSync("qrCode")
console.log(this.qrCode);
this.onReady()
},
onShow() {
// this.actList = ["1", "1", "1", "1", "1", ]
// this.status = "nomore" 底部刷新结束
},
onPullDownRefresh() {
console.log("刷新");
uni.stopPullDownRefresh()
},
onReachBottom() {
// this.show = true
setTimeout(() => {
console.log("加载执行");
}, 2000)
},
components: {
headers
},
methods: {
// 设置金额
setAmount() {
uni.navigateTo({
url: "/pagesHome/PaymentCode/SetUpCode?orderNo="+this.orderNo
})
},
onReady() {
// 获取uQRCode实例
var qr = new UQRCode();
// 设置二维码内容
qr.data = this.qrCode;
// 设置二维码大小必须与canvas设置的宽高一致
qr.size = 200;
// 调用制作二维码方法
qr.make();
// 获取canvas上下文
var canvasContext = uni.createCanvasContext('qrcode', this); // 如果是组件this必须传入
// 设置uQRCode实例的canvas上下文
qr.canvasContext = canvasContext;
// 调用绘制方法将二维码图案绘制到canvas上
qr.drawCanvas();
},
goback() {
uni.navigateBack()
}
}
}
</script>
<style scoped lang="scss">
.content {
background: #0864e9;
// background: linear-gradient(180deg, #B2D2FC 0%, #B2D2FC 14%, rgba(255, 255, 255, 0.84) 24%, rgba(255, 255, 255, 0.84) 100%);
height: 100vh;
}
.container {
width: 100%;
background: #0864e9;
box-sizing: border-box;
padding-top: 88px;
}
.img-box {
width: 95%;
height: 300px;
background: #FFFFFF;
border-radius: 8px;
margin: 15px auto;
box-sizing: border-box;
padding: 15px;
}
.title_ {
width: 100%;
text-align: center;
font-weight: bold;
font-size: 16px;
color: #333333;
margin-bottom: 15px;
}
.z-size {
width: 200px;
display: flex;
align-items: center;
justify-content: space-between;
margin: 0 auto;
}
</style>