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() {
- }
- })
|