| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323 | 
							- // pages/Lucky-draw/index.js
 
- const Parse = getApp().Parse
 
- const company = getApp().globalData.company
 
- const rechText = require('../../../utils/rech-text')
 
- const dateF = require('../../../utils/date.js')
 
- const login = require("../../../utils/login");
 
- Page({
 
-     /**
 
-      * 页面的初始数据
 
-      */
 
-     data: {
 
-         prizeId: '', // 抽中结果id,通过属性方式传入组件
 
-         config: { // 转盘配置,通过属性方式传入组件
 
-             nameLength: 7
 
-         },
 
-         luckyDrawRules: null,
 
-         giftModules: [],
 
-         account: null,
 
-         gifts: [],
 
-         user: "",
 
-         module: "",
 
-         giftsList: [],
 
-         twoModal: false,
 
-         region: ['江西省', '南昌市', '东湖区'],
 
-         name: "",
 
-         address: "",
 
-         mobile: "",
 
-         area: "",
 
-         value: '',
 
-         enable: true
 
-     },
 
-     // 奖品表
 
-     async getgiftModule() {
 
-         let GiftModule = new Parse.Query("GiftModule");
 
-         GiftModule.equalTo("company", company);
 
-         let giftModules = await GiftModule.find();
 
-         let giftModuleJSON = []
 
-         if (giftModules && giftModules.length > 0) {
 
-             giftModules.forEach(giftModule => {
 
-                 let b = giftModule.toJSON()
 
-                 giftModuleJSON.push(b)
 
-             })
 
-             this.setData({
 
-                 giftModules: giftModuleJSON
 
-             })
 
-         }
 
-     },
 
-     //积分表
 
-     async getAccount() {
 
-         let uid = Parse.User.current().id
 
-         let queryAccount = new Parse.Query("Account");
 
-         queryAccount.equalTo("user", uid);
 
-         let account = await queryAccount.first();
 
-         console.log(account)
 
-         if (account && account.id) {
 
-             this.setData({
 
-                 account: account.toJSON()
 
-             });
 
-         }
 
-     },
 
-     // 数据增减
 
-     async subtractIntegral() {
 
-         let Account = new Parse.Query('Account')
 
-         let updateAccount = await Account.get(this.data.account.objectId)
 
-         updateAccount.increment('credit', -this.data.luckyDrawRules.credit)
 
-         let res = await updateAccount.save()
 
-         console.log(res)
 
-         if (res && res.id) {
 
-             this.setData({
 
-                 account: res.toJSON()
 
-             })
 
-         }
 
-     },
 
-     onNotEnoughHandle(e) {
 
-         wx.showToast({
 
-             icon: 'none',
 
-             title: e.detail
 
-         })
 
-     },
 
-     // 点击函数
 
-     onLuckDrawHandle() {
 
-         console.log(this.data.luckyDrawRules.credit, this.data.account.credit)
 
-         if(!this.data.account.credit || (this.data.luckyDrawRules.credit > this.data.account.credit))
 
-         {
 
-             wx.showToast({
 
-                 title: '积分不足!',
 
-                 icon: 'none'
 
-             });
 
-             this.setData({
 
-                 enable: true
 
-             })
 
-             return;
 
-         }
 
-         this.subtractIntegral() //修改数据库
 
-         this.setData({
 
-             prizeId: this.data.giftModules[Math.floor(Math.random() * 10 % this.data.giftModules.length)].objectId,
 
-         });
 
-     },
 
-     /**
 
-      * 动画旋转完成回调
 
-      */
 
-     async onLuckDrawFinishHandle() {
 
-         let giftModules = this.data.giftModules;
 
-         let data = giftModules.find((item) => {
 
-             return item.objectId === this.data.prizeId;
 
-         });
 
-         wx.showToast({
 
-             icon: 'none',
 
-             title: `恭喜你抽中 ${data.name}`
 
-         })
 
-         await this.saveGift(this.data.prizeId)
 
-         this.setData({
 
-             prizeId: ''
 
-         });
 
-     },
 
-     //添加数据
 
-     async saveGift(prizeId) {
 
-         let Gift = Parse.Object.extend('Gift')
 
-         let gift = new Gift()
 
-         let uid = Parse.User.current().id
 
-         gift.set('user', {
 
-             __type: 'Pointer',
 
-             className: "_User",
 
-             objectId: uid
 
-         })
 
-         gift.set('module', {
 
-             __type: 'Pointer',
 
-             className: "GiftModule",
 
-             objectId: prizeId
 
-         })
 
-         gift.set('company', {
 
-             __type: 'Pointer',
 
-             className: "Company",
 
-             objectId: company
 
-         })
 
-         
 
-         let res = await gift.save()
 
-         if (res && res.id) {
 
-             await this.getGift()
 
-         }
 
-     },
 
-     async getGift() {
 
-         let uid = Parse.User.current().id
 
-         let Gift = new Parse.Query("Gift");
 
-         Gift.equalTo("company", company);
 
-         Gift.descending("createdAt")
 
-         Gift.include('module')
 
-         Gift.equalTo("user", uid);
 
-         let gifts = await Gift.find();
 
-         let giftJSON = []
 
-         if (gifts && gifts.length > 0) {
 
-             gifts.forEach(gift => {
 
-                 let b = gift.toJSON()
 
-                 b.joinTime = dateF.formatTime("YYYY-mm-dd HH:MM:SS", b.createdAt)
 
-                 giftJSON.push(b)
 
-             })
 
-             this.setData({
 
-                 giftList: giftJSON
 
-             })
 
-         }
 
-     },
 
-     async getLuckyDrawRules() {
 
-         let LuckyDrawRule = new Parse.Query("LuckyDrawRules");
 
-         LuckyDrawRule.equalTo("company", company);
 
-         LuckyDrawRule.equalTo("isOpen", true);
 
-         let luckyDrawRules = await LuckyDrawRule.first();
 
-         if (luckyDrawRules) {
 
-             let rules = luckyDrawRules.toJSON()
 
-             rules.content = rechText.formatRichText(rules.detail)
 
-             this.setData({
 
-                 luckyDrawRules: rules,
 
-             })
 
-         }
 
-         console.log(this.data.luckyDrawRules)
 
-     },
 
-     shopsubmit: function(e) {
 
-         let item = e.currentTarget.dataset.item
 
-         console.log(item)
 
-         this.setData({
 
-             twoModal: true,
 
-             receiveId: item.objectId
 
-         })
 
-     },
 
-     shoppreventTouchMove: function() {
 
-         this.setData({
 
-             twoModal: false
 
-         })
 
-     },
 
-     bindRegionChange: function(e) { // picker值发生改变都会触发该方法
 
-         console.log('picker发送选择改变,携带值为', e.detail.value)
 
-         this.setData({
 
-             region: e.detail.value
 
-         })
 
-     },
 
-     hideRule: function() {
 
-         this.setData({
 
-             twoModal: false
 
-         })
 
-     },
 
-     //提交按纽// 修改数据
 
-     async submit() {
 
-         let newGift = new Parse.Query('Gift')
 
-         if (!this.data.mobile || !this.data.name || !this.data.address || this.data.region.length == 0) {
 
-             wx.showToast({
 
-                 title: '请将信息填写完整',
 
-                 icon: 'none'
 
-             })
 
-             return
 
-         }
 
-         let area = ""
 
-         this.data.region.forEach((item, index) => {
 
-             if (index == (this.data.region.length - 1)) {
 
-                 area += item
 
-             } else {
 
-                 area += item + '-'
 
-             }
 
-         })
 
-         let res = await newGift.get(this.data.receiveId)
 
-         if (res) {
 
-             res.set("mobile", this.data.mobile)
 
-             res.set("name", this.data.name)
 
-             res.set("address", this.data.address)
 
-             res.set("area", area)
 
-             let updateuser = await res.save()
 
-             if (updateuser) {
 
-                 console.log(updateuser)
 
-                 wx.showToast({
 
-                     title: '确认成功',
 
-                     icon: 'success',
 
-                     image: '',
 
-                     duration: 1000,
 
-                     mask: false,
 
-                 });
 
-                 this.setData({
 
-                     receiveId: "",
 
-                     name: "",
 
-                     mobile: "",
 
-                     address: "",
 
-                     twoModal: false
 
-                 })
 
-             }
 
-         }
 
-     },
 
-     /**
 
-      * 生命周期函数--监听页面加载
 
-      */
 
-     onLoad: async function(options) {
 
-         let userLogin = wx.getStorageSync("userLogin");
 
-         if (userLogin == "") {
 
-             login.loginNow();
 
-             return;
 
-         }
 
-         await this.getLuckyDrawRules()
 
-         await this.getgiftModule()
 
-         await this.getGift()
 
-         await this.getAccount()
 
-         
 
-         
 
-     },
 
-     /**
 
-      * 生命周期函数--监听页面初次渲染完成
 
-      */
 
-     onReady: function(e) {
 
-     },
 
-     /**
 
-      * 生命周期函数--监听页面显示
 
-      */
 
-     onShow: function() {
 
-     },
 
-     /**
 
-      * 生命周期函数--监听页面隐藏
 
-      */
 
-     onHide: function() {
 
-     },
 
-     /**
 
-      * 生命周期函数--监听页面卸载
 
-      */
 
-     onUnload: function() {
 
-     },
 
-     /**
 
-      * 页面相关事件处理函数--监听用户下拉动作
 
-      */
 
-     onPullDownRefresh: function() {
 
-     },
 
-     /**
 
-      * 页面上拉触底事件的处理函数
 
-      */
 
-     onReachBottom: function() {
 
-     },
 
-     /**
 
-      * 用户点击右上角分享
 
-      */
 
-     onShareAppMessage: function() {
 
-     }
 
- })
 
 
  |