Blame view

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