oil-station/pos-uni/pagesHome/PaymentCode/PaymentCode.vue

125 lines
2.7 KiB
Vue
Raw Normal View History

2024-08-16 18:26:19 +08:00
<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>