36884ffd
刘淇
打印
|
1
2
|
<template>
<view>
|
9bac797d
刘淇
卡券发放
|
3
|
<uni-section :title="`${cardRuleName}(${cardTypeName})`" type="line">
|
36884ffd
刘淇
打印
|
4
5
|
<uni-card padding="0" spacing="0">
<uni-list>
|
9bac797d
刘淇
卡券发放
|
6
|
<uni-list-item title="适应车场" :rightText="plName">
|
36884ffd
刘淇
打印
|
7
8
|
<text></text>
</uni-list-item>
|
843fbfe3
刘淇
发放卡券代码格式化
|
9
10
|
<uni-list-item :title="`价格:¥${(price/100).toFixed(2)}/张`"
:rightText="`商户库存:${cardNum}张`"></uni-list-item>
|
36884ffd
刘淇
打印
|
11
12
13
14
|
</uni-list>
</uni-card>
</uni-section>
|
9bac797d
刘淇
卡券发放
|
15
|
<view class=" uni-card text-center" style="padding: 10px 0">
|
843fbfe3
刘淇
发放卡券代码格式化
|
16
|
<image :src="qrUrl" style="width: 300px;height:300px;margin: 0 auto;"
|
e1beceff
刘淇
二维码保存图片
|
17
|
show-menu-by-longpress='1'></image>
|
36884ffd
刘淇
打印
|
18
19
|
</view>
|
c9d45ef5
刘淇
商户券 有效期
|
20
|
<view style="padding: 5px 10px">长按上面二维码可以保存为图片</view>
|
9bac797d
刘淇
卡券发放
|
21
22
|
<view class=" uni-card" style="padding: 10px 15px">
|
c9d45ef5
刘淇
商户券 有效期
|
23
24
|
<view style="padding-bottom: 10px;">选择二维码有效期</view>
<!--<uni-number-box @change="changeValue" min="1"/>-->
|
843fbfe3
刘淇
发放卡券代码格式化
|
25
|
<uni-datetime-picker v-model="single" :start="startTime"/>
|
fc8d2d1a
刘淇
打印
|
26
27
|
</view>
|
36884ffd
刘淇
打印
|
28
|
<view class="uni-padding-wrap uni-common-mt">
|
fc8d2d1a
刘淇
打印
|
29
|
<!--<button type="primary" style="margin-bottom: 15px">停止自动发放</button>-->
|
de23b5ec
刘淇
生成二维码
|
30
|
<button type="warn" @click="changeTime">重新生成二维码</button>
|
36884ffd
刘淇
打印
|
31
32
33
34
35
36
37
|
</view>
</view>
</template>
<script>
|
9bac797d
刘淇
卡券发放
|
38
|
import uQRCode from '../../common/uqrcode.js' //引入uqrcode.js
|
843fbfe3
刘淇
发放卡券代码格式化
|
39
|
import { formatDate } from '../../common/date.js';
|
36884ffd
刘淇
打印
|
40
41
|
export default {
data() {
|
36884ffd
刘淇
打印
|
42
|
return {
|
9bac797d
刘淇
卡券发放
|
43
44
45
46
47
48
49
|
cardTypeName: '',// 卡类型名称
cardRuleName: '',// 卡名称
plName: '', // 停车场
price: '', // 卡价格
cardNum: '', // 库存
cardRelParkNo: '',//商券规则关联车场和商户编码
numberValue: '1',
|
c9d45ef5
刘淇
商户券 有效期
|
50
|
deadline: '2099-10-01 00:00:00',
|
9bac797d
刘淇
卡券发放
|
51
|
qrUrl: '', // 图片地址
|
c9d45ef5
刘淇
商户券 有效期
|
52
|
single: '',
|
843fbfe3
刘淇
发放卡券代码格式化
|
53
54
|
startTime: '',
deadlineInit: ""
|
36884ffd
刘淇
打印
|
55
56
57
58
59
60
|
}
},
onLoad(params) {
wx.showShareMenu({
withShareTicket: true
})
|
9bac797d
刘淇
卡券发放
|
61
62
63
64
65
66
67
68
|
console.log(params)
let option = params
this.cardRelParkNo = option.cardRelParkNo
this.cardTypeName = option.cardTypeName
this.cardRuleName = option.cardRuleName
this.plName = option.plName
this.price = option.price
this.cardNum = option.cardNum
|
b467bab6
刘淇
卡券发放默认时间为一天有效
|
69
70
|
this.deadline = this.dateAdd(1)
console.log(this.deadline)
|
9bac797d
刘淇
卡券发放
|
71
|
this.getCouponStaticQR()
|
36884ffd
刘淇
打印
|
72
73
74
|
},
onShow() {
var me = this;
|
36884ffd
刘淇
打印
|
75
|
},
|
c9d45ef5
刘淇
商户券 有效期
|
76
77
|
mounted() {
setTimeout(() => {
|
843fbfe3
刘淇
发放卡券代码格式化
|
78
79
80
81
82
|
this.startTime = Date.now()
this.single = formatDate(new Date(), 'yyyy-MM-dd hh:mm:ss')
this.deadlineInit = formatDate(new Date(), 'yyyy-MM-dd hh:mm:ss');
console.log(this.single)
}, 500)
|
c9d45ef5
刘淇
商户券 有效期
|
83
|
},
|
9bac797d
刘淇
卡券发放
|
84
|
computed: {},
|
36884ffd
刘淇
打印
|
85
|
methods: {
|
b467bab6
刘淇
卡券发放默认时间为一天有效
|
86
87
88
89
90
91
92
93
94
95
96
97
98
|
timeAdd0(str) {
if (str < 10) {
str = '0' + str;
}
return str
},
dateAdd(days) {
var startDate = new Date();
startDate = +startDate + days * 1000 * 60 * 60 * 24;
startDate = new Date(startDate);
var nextStartDate = startDate.getFullYear() + "-" + this.timeAdd0((startDate.getMonth() + 1)) + "-" + this.timeAdd0(startDate.getDate()) + " " + this.timeAdd0(startDate.getHours()) + ":" + this.timeAdd0(startDate.getMinutes()) + ":" + this.timeAdd0(startDate.getSeconds())
return nextStartDate;
},
|
9bac797d
刘淇
卡券发放
|
99
|
changeValue(value) {
|
fc8d2d1a
刘淇
打印
|
100
101
|
this.numberValue = value
},
|
9bac797d
刘淇
卡券发放
|
102
103
104
105
106
|
getCouponStaticQR() {
let that = this
let paramsData = {
cardRelParkNo: this.cardRelParkNo,
codeType: '2',
|
c9d45ef5
刘淇
商户券 有效期
|
107
|
deadline: this.deadline
|
9bac797d
刘淇
卡券发放
|
108
109
110
111
112
113
114
115
116
117
|
}
// 首页信息获取 接口
that.$myRequest({
url: that.$common.getCouponStaticQR,
method: 'POST',
data: that.$common.requestSign(paramsData)
}).then(res => {
console.log(res)
that.qrUrl = res.data.qrUrl
console.log(that.qrUrl)
|
36884ffd
刘淇
打印
|
118
119
|
})
},
|
9bac797d
刘淇
卡券发放
|
120
121
122
123
124
125
126
|
//**生成二维码**//
qrFun: function (text) {
this.qrShow = true
uQRCode.make({
canvasId: 'qrcode',
componentInstance: this,
text: text,
|
1fa597c2
刘淇
二维码大小
|
127
|
size: 130,
|
9bac797d
刘淇
卡券发放
|
128
129
130
131
132
133
134
135
|
margin: 0,
backgroundColor: '#ffffff',
foregroundColor: '#000000',
fileType: 'jpg',
errorCorrectLevel: uQRCode.errorCorrectLevel.H,
success: res => {
}
})
|
36884ffd
刘淇
打印
|
136
|
},
|
9bac797d
刘淇
卡券发放
|
137
|
changeTime: function () {
|
74df59a8
刘淇
商户券 有效期
|
138
|
console.log(this.single)
|
1e06c01a
刘淇
二维码有效期必须大于当前时间
|
139
140
141
142
143
144
145
146
147
|
console.log(new Date(this.single).getTime())
console.log(new Date().getTime())
if(new Date(this.single).getTime()<new Date().getTime()){
uni.showToast({
title: '二维码有效期时间必须大于当前时间',
icon: 'none',
duration: 2000
})
}else{
|
1e06c01a
刘淇
二维码有效期必须大于当前时间
|
148
149
150
151
|
this.deadline = this.single
this.getCouponStaticQR()
}
|
1fa597c2
刘淇
二维码大小
|
152
153
154
|
},
// 小程序保存图片
savePosterPath(url) {
|
e357dabe
刘淇
商户券 有效期
|
155
156
157
158
|
console.log(url)
uni.getSetting({ //获取用户的当前设置
success: res => {
console.log('1')
|
843fbfe3
刘淇
发放卡券代码格式化
|
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
|
if (res.authSetting['scope.writePhotosAlbum']) { //验证用户是否授权可以访问相册
this.saveImageToPhotosAlbum()
} else {
console.log('2')
uni.authorize({//重新发起获取授权
scope: 'scope.writePhotosAlbum',
success: () => {
this.saveImageToPhotosAlbum(url)
},
fail: () => {
uni.showToast({
title: '请打开保存相册权限,再点击保存相册分享',
icon: 'none',
duration: 2000
})
let timer = setTimeout(() => {
clearTimeout(timer)
uni.openSetting({ //调起客户端小程序设置界面,让用户开启访问相册
success: e => {
}
})
}, 2000)
}
})
}
|
e357dabe
刘淇
商户券 有效期
|
184
185
|
}
})
|
1fa597c2
刘淇
二维码大小
|
186
|
},
|
843fbfe3
刘淇
发放卡券代码格式化
|
187
|
saveImageToPhotosAlbum() {
|
e357dabe
刘淇
商户券 有效期
|
188
189
190
|
console.log(this.qrUrl)
wx.downloadFile({
url: this.qrUrl,
|
843fbfe3
刘淇
发放卡券代码格式化
|
191
192
193
194
195
196
197
198
199
200
201
|
success: res => {
if (res.statusCode === 200) {
wx.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success(res) {
wx.showToast({title: '保存图片成功!',})
},
fail(res) {
wx.showToast({title: '保存图片失败!',})
}
})
|
e357dabe
刘淇
商户券 有效期
|
202
|
}
|
843fbfe3
刘淇
发放卡券代码格式化
|
203
204
205
206
207
|
},
fail: err => {
console.log(err, 'err')
}
})
|
e357dabe
刘淇
商户券 有效期
|
208
|
},
|
36884ffd
刘淇
打印
|
209
210
211
212
213
|
}
}
</script>
<style lang="scss" scoped>
|
36884ffd
刘淇
打印
|
214
|
|
36884ffd
刘淇
打印
|
215
216
|
</style>
|