Blame view

pages/businessCard/provideCard.vue 5.38 KB
e3eb21f6   刘淇   发放券
1
2
  <template>
      <view>
75b91c08   刘淇   卡券发放
3
          <uni-section :title="`${cardRuleName}(${cardTypeName})`" type="line">
e3eb21f6   刘淇   发放券
4
5
              <uni-card padding="0" spacing="0">
                  <uni-list>
75b91c08   刘淇   卡券发放
6
                      <uni-list-item title="适应车场" :rightText="plName">
e3eb21f6   刘淇   发放券
7
8
                          <text></text>
                      </uni-list-item>
27ddc5cb   刘淇   卡券发放
9
                      <uni-list-item :title="`价格:¥${(price/100).toFixed(2)}/张`" :rightText="`商户库存:${cardNum}张`"></uni-list-item>
e3eb21f6   刘淇   发放券
10
11
12
13
                  </uni-list>
              </uni-card>
          </uni-section>
  
36884ffd   刘淇   打印
14
          <view class=" uni-card" style="padding: 10px 0">
de98ac5b   刘淇   卡券发放
15
              <view class="qr-box">
6fe2f8db   刘淇   二维码大小
16
                  <canvas canvas-id="qrcode" v-show="qrShow" style="width: 300rpx;height:300rpx;margin: 0 auto;"/>
e3eb21f6   刘淇   发放券
17
18
19
              </view>
          </view>
  
36884ffd   刘淇   打印
20
          <view class="tip-wrap">
9bac797d   刘淇   卡券发放
21
22
              <uni-notice-bar single text="温馨提示:"/>
              <uni-notice-bar single text="卡券自动发放,扫码领券后会自动刷新卡券二维码。"/>
36884ffd   刘淇   打印
23
24
25
          </view>
  
          <view class="uni-padding-wrap uni-common-mt">
9bac797d   刘淇   卡券发放
26
              <button type="primary" style="margin-bottom: 15px" @click="stopProvide">{{provideText}}</button>
de23b5ec   刘淇   生成二维码
27
              <button type="warn" @click="toPrintCard">生成静态二维码图片</button>
36884ffd   刘淇   打印
28
          </view>
e3eb21f6   刘淇   发放券
29
30
31
32
33
34
  
  
      </view>
  </template>
  
  <script>
de98ac5b   刘淇   卡券发放
35
  import uQRCode from '../../common/uqrcode.js' //引入uqrcode.js
e3eb21f6   刘淇   发放券
36
37
  export default {
    data() {
e3eb21f6   刘淇   发放券
38
      return {
de98ac5b   刘淇   卡券发放
39
        qrShow: false,
75b91c08   刘淇   卡券发放
40
41
        cardTypeName: '',// 卡类型名称
        cardRuleName: '',// 卡名称
9bac797d   刘淇   卡券发放
42
43
44
45
46
47
48
        plName: '', // 停车场
        price: '', // 卡价格
        cardNum: '', // 库存
        timer: null, // 定时器
        qrUrl: '',// 二维码url
        provideText:'停止自动发放',
        cardRelParkNo:'',//商券规则关联车场和商户编码
e3eb21f6   刘淇   发放券
49
50
51
      }
    },
    onLoad(params) {
395e9058   刘淇   动态码1分钟刷新
52
      let that =  this
e3eb21f6   刘淇   发放券
53
54
55
      wx.showShareMenu({
        withShareTicket: true
      })
9bac797d   刘淇   卡券发放
56
57
58
59
60
61
62
63
      let option = JSON.parse(params.optionData)
      console.log(option)
      this.cardRelParkNo = option.cardRelParkNo
      this.cardTypeName = option.cardTypeName
      this.cardRuleName = option.cardRuleName
      this.plName = option.plName
      this.price = option.value
      this.cardNum = option.cardNum
75b91c08   刘淇   卡券发放
64
65
      // this.maxNum = option.cardNum
      this.getCouponDynamicQR()
395e9058   刘淇   动态码1分钟刷新
66
67
      that.timer = setInterval(() => {
        // 业务逻辑
9d632cab   刘淇   购买卡券接口添加plNo参数
68
        console.log(that.dateFormat(Date.parse(new Date())))
395e9058   刘淇   动态码1分钟刷新
69
70
        that.getCouponDynamicQR() //调用二维码方法
      }, 60000)
e3eb21f6   刘淇   发放券
71
    },
9d632cab   刘淇   购买卡券接口添加plNo参数
72
    onUnload() {
1e06c01a   刘淇   二维码有效期必须大于当前时间
73
74
75
76
      let me = this
      if(me.timer) {
        clearTimeout(me.timer);
        me.timer = null;
9d632cab   刘淇   购买卡券接口添加plNo参数
77
78
      }
    },
e3eb21f6   刘淇   发放券
79
80
    onShow() {
      var me = this;
e3eb21f6   刘淇   发放券
81
    },
9bac797d   刘淇   卡券发放
82
    computed: {},
e3eb21f6   刘淇   发放券
83
    methods: {
9d632cab   刘淇   购买卡券接口添加plNo参数
84
85
86
87
88
89
90
91
92
93
94
95
96
      dateFormat(time) {
        let date = new Date(time);
        let year = date.getFullYear();
        // 在日期格式中,月份是从0开始的,因此要加0,使用三元表达式在小于10的前面加0,以达到格式统一  如 09:11:05
        let month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
        let day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
        let hours = date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
        let minutes = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes();
        let seconds = date.getSeconds() < 10 ? "0" + date.getSeconds() : date.getSeconds();
        // 拼接
        return year + "年" + month + "月" + day + "日" + hours + ":" + minutes + ":" + seconds;
        // return year + "-" + month + "-" + day;
      },
75b91c08   刘淇   卡券发放
97
98
99
      getCouponDynamicQR() {
        let that = this
        let paramsData = {
9bac797d   刘淇   卡券发放
100
          cardRelParkNo: this.cardRelParkNo,
75b91c08   刘淇   卡券发放
101
          codeType: '2'
e3eb21f6   刘淇   发放券
102
        }
75b91c08   刘淇   卡券发放
103
104
105
106
107
108
109
        // 首页信息获取 接口
        that.$myRequest({
          url: that.$common.getCouponDynamicQR,
          method: 'POST',
          data: that.$common.requestSign(paramsData)
        }).then(res => {
          console.log(res)
9bac797d   刘淇   卡券发放
110
111
          that.qrUrl = res.data.qrUrl
          that.qrFun(that.qrUrl) //调用二维码方法
395e9058   刘淇   动态码1分钟刷新
112
  
9bac797d   刘淇   卡券发放
113
          console.log(that.qrUrl)
75b91c08   刘淇   卡券发放
114
        })
e3eb21f6   刘淇   发放券
115
      },
de98ac5b   刘淇   卡券发放
116
      //**生成二维码**//
9bac797d   刘淇   卡券发放
117
      qrFun: function (text) {
de98ac5b   刘淇   卡券发放
118
119
120
121
122
        this.qrShow = true
        uQRCode.make({
          canvasId: 'qrcode',
          componentInstance: this,
          text: text,
1fa597c2   刘淇   二维码大小
123
          size: 130,
de98ac5b   刘淇   卡券发放
124
125
126
127
128
          margin: 0,
          backgroundColor: '#ffffff',
          foregroundColor: '#000000',
          fileType: 'jpg',
          errorCorrectLevel: uQRCode.errorCorrectLevel.H,
9bac797d   刘淇   卡券发放
129
130
          success: res => {
          }
de98ac5b   刘淇   卡券发放
131
        })
9bac797d   刘淇   卡券发放
132
133
134
135
136
137
138
139
140
141
142
143
144
145
      },
      stopProvide: function () {
        let that = this
        // provideText:'停止自动发放'
        if(that.provideText == '停止自动发放'){
          that.provideText = '开始自动发放'
          clearInterval(that.timer)
          that.timer = null;
        }else{
          that.provideText = '停止自动发放'
          that.qrFun(that.qrUrl) //调用二维码方法
          that.timer = setInterval(() => {
            // 业务逻辑
            console.log('11')
395e9058   刘淇   动态码1分钟刷新
146
147
            that.getCouponDynamicQR() //调用二维码方法
          }, 60000)
9bac797d   刘淇   卡券发放
148
149
150
151
152
153
154
155
156
157
158
159
        }
      },
      toPrintCard: function () {
        uni.navigateTo({
  
          url: '../businessCard/printCard?cardRelParkNo='+this.cardRelParkNo+
          '&cardTypeName='+ this.cardTypeName+
          '&cardRuleName='+this.cardRuleName+
          '&plName='+this.plName+
          '&price='+this.price+
          '&cardNum='+this.cardNum
        });
de98ac5b   刘淇   卡券发放
160
      }
e3eb21f6   刘淇   发放券
161
162
163
164
165
    }
  }
  </script>
  
  <style lang="scss" scoped>
9bac797d   刘淇   卡券发放
166
      /deep/ .uni-section {
e3eb21f6   刘淇   发放券
167
168
          padding-bottom: 10px;
      }
e3eb21f6   刘淇   发放券
169
  
e3eb21f6   刘淇   发放券
170
  
e3eb21f6   刘淇   发放券
171
  
e3eb21f6   刘淇   发放券
172
  
9bac797d   刘淇   卡券发放
173
      .tip-wrap /deep/ .uni-noticebar {
36884ffd   刘淇   打印
174
175
          margin-bottom: 0;
      }
e3eb21f6   刘淇   发放券
176
  </style>