|
- const navigationBarHeight = (getApp().statusBarHeight + 50) + 'px'
- var config = require("../../config/config.js");
- var app = getApp();
- const Http = require("../../utils/HttpBasics");
- const util = require("../../utils/util");
- const imgurl = require("../../utils/imgurl");
- Page({
- data: {
- isGetUser: true, //判断是否授权抖音
- mouldType: 0,
- navigationBarHeight,
- homeSelectedO: imgurl.homeSelectedO.url,
- isshowposter: false, //是否显示分享弹框
- fenxiang: imgurl.fenxiang1.url,
- fenxiangUrl: imgurl.fenxiang.url,
- clockUrl: imgurl.clock.url,
- yushouUrl: imgurl.yushou.url,
- teljpgUrl: imgurl.teljpg.url,
- closedUrl: imgurl.closed.url,
- quesGouUrl: imgurl.ques_gou.url,
- headbgUrl: imgurl.headbg.url,
- quesBgUrl: imgurl.ques_bg.url,
- close02: imgurl.close02.url,
- share01: imgurl.share01.url,
- fail: imgurl.fail.url,
- wmhome: imgurl.wmhome.url,
- swiperCurrent: 0,
- detailPicture: [],
- coverPicture: [],
- couponList: [],
- data: {
- title: null
- },
- showPage: false,
- questions1: null,
- questions2: null,
- carList: [],
- couponChannelId: null,
- orderId: "",
- hour: null,
- day: null,
- month: null,
- year: null,
- minute: "",
- tempFilePaths: null,
- userInfo: {},
- hasUserInfo: false,
- id: null,
- result: [],
- end_time: null,
- checked: false,
- questionnaire: {},
- questionId: null,
- widthScreen: null,
- moveData: null,
- rotateData: null,
- alphaData: null,
- scaleData: null,
- skewData: null,
- matrixData: null,
- opacity: 0,
- queueData: null,
- zIndex: 11,
- display: "none",
- showbutton: false,
- cardData: null,
- showCardOffer: false,
- isSamePeople: true,
- statusText: '',
- isReceived: false,
- receivedDisabled: false,
- clock: "结束",
- day: "00",
- hour: "00",
- min: "00",
- sec: "00",
- clock02: "00",
- day02: "00",
- hour02: "00",
- min02: "00",
- sec02: "00",
- countdown: "",
- showbutton1: false,
- limitCondition: "",
- minLimit: 0,
- maxLimit: 0,
- dispressEndDate: false,
- barTitle: "",
- activityStatus: "",
- //图文混排
- curHtml: '',
- contentType: 0,
- page: 1, //查询商户优惠券page
- idList: [],
- showBox: false, //手机号授权框
- },
-
- /**
- * 显示分享弹框
- */
- showshare: function () {
- this.setData({
- isshowposter: true,
- })
- },
-
- setPhone(paramData) { //子组件调用这个方法说明手机号已经授权成功
- this.setData({
- showBox: paramData.detail,
- })
- tt.showToast({
- title: '授权成功', // 内容
- icon: 'none', // 图标
- success: (res) => {
-
- },
- fail: (res) => {
-
- },
- });
- },
- setBox(paramData) {
- this.setData({
- showBox: paramData.detail
- })
- tt.showToast({
- title: '取消授权', // 内容
- icon: 'none', // 图标
- success: (res) => {
-
- },
- fail: (res) => {
-
- },
- });
- },
- /**
- * 隐藏分享弹框
- */
- hidemodal: function () {
- this.setData({
- isshowposter: false,
- })
- },
- /**
- * 显示分享海报
- */
- /* showPoster: function() {
- //跳转到海报生成页
- console.log(this.data.canIUse)
-
- // return;
- tt.navigateTo({
- url: `/pages/canvas/index?couponChannelId=${this.data.data.id}`
- })
- }, */
- showPoster: function () {
- //跳转到海报生成页
- let that = this;
- Http.get({
- url: config.api.checkUserStatus,
- data: {
- token: app.globalData.token
- }
- }).then(res => {
- tt.navigateTo({
- url: `/pages/canvas/index?couponChannelId=${that.data.data.id}`
- })
- }).catch(err => {
- console.log(err)
- if (err.code == 11004) {
- // 用户昵称未授权
- tt.redirectTo({
- url: `/pages/getuserinfo/index?couponChannelId=${that.data.data.id}&fromflag=poster`
- })
- }
- })
-
- },
- swiperChange: function (e) {
- this.setData({
- swiperCurrent: e.detail.current
- });
- },
- gohome(e) {
- console.log(e.currentTarget.dataset.id, "123")
- tt.navigateTo({
- url: `/pages/fillIndent/fillIndent?couponChannelId=${e.currentTarget.dataset.couponchannelid}&couponId=${e.currentTarget.dataset.couponid}&shippingtype=${e.currentTarget.dataset.shippingtype}`,
- })
- },
-
- gochild(e) {
- let id = e.currentTarget.dataset.id
- tt.navigateTo({
- url: `/pages/coupon/childDetail/childDetail?couponIds=${id}`,
- })
- },
- //获取当前登录用户信息
- getUserInfo: function () {
- let that = this;
- // 获取用户信息
- Http.get({
- url: config.api.getScore,
- data: {}
- })
- .then(res => {
- console.log(res)
- that.getQueryCardStatus()
- if (that.data.cardData.cuserId != res.data.id) {
- console.log(2222, 6666)
- that.setData({
- isSamePeople: false
- })
- }
- })
- },
- //获取卡转赠状态
- getQueryCardStatus() {
- let that = this;
- let param = {
- id: this.data.cardData.couponOrderId,
- cUserId: this.data.cardData.cuserId,
- updateDate: util.formatTime(Number(that.data.cardData.updateDate), "yyyy-MM-dd hh:mm:ss")
- }
- Http.get({
- url: config.api.queryCardStatus,
- data: param
- })
- .then(res => {
- console.log(res, 333333333333)
- })
- .catch(err => {
- that.setData({
- isReceived: true,
- statusText: err.message
- })
- })
- },
- receiveCard() {
- let that = this;
- let param = {
- id: this.data.cardData.couponOrderId,
- cUserId: this.data.cardData.cuserId,
- updateDate: util.formatTime(Number(this.data.cardData.updateDate), "yyyy-MM-dd hh:mm:ss")
- }
-
- this.setData({
- receivedDisabled: true
- })
- Http.post({
- url: config.api.cardAccept,
- data: param
- })
- .then(res => {
- tt.showToast({
- title: '领取成功!',
- icon: 'none',
- duration: 2000,
- mask: false
- });
- tt.reLaunch({
- url: '/pages/complete/index?couponOrderId=' + this.data.cardData.couponOrderId,
- })
- })
- .catch(err => {
- tt.showToast({
- title: err.message,
- icon: 'none',
- duration: 2000,
- mask: false
- });
- that.setData({
- receivedDisabled: false
- })
- })
- },
- closeAlert() {
- this.setData({
- showCardOffer: false
- })
- },
- goback: function () {
- tt.reLaunch({
- url: '/index/index',
- })
- },
- /**
- * 点击提交问题单选
- */
- formSubmit: function (e) {
- console.log(e);
- let that = this;
- /**
- * 多选
- */
- if (e.currentTarget.dataset.flags == 'multi') {
- if (that.data.anwserId.length == 0) {
- var answserIs = null
- } else {
- var answserIs = that.data.anwserId.join(",");
- }
- } else if (e.currentTarget.dataset.flags == 'single') {
- var answserIs = e.detail.value;
- }
- console.log(answserIs)
- console.log(e.currentTarget.dataset.questionid)
- Http.post({
- url: config.api.answerQuestion,
- data: {
- answer: answserIs,
- questionId: e.currentTarget.dataset.questionid
- }
- })
- .then(res => {
- that.closeQuestion();
- })
- .catch(err => {
- tt.showToast({
- title: err.message,
- icon: 'none',
- duration: 2000,
- mask: false
- });
- })
- },
- /**
- * 多选
- */
- checkboxChange: function (e) {
- console.log(e)
- this.setData({
- anwserId: e.detail.value
- })
- },
-
- closeQuestion: function () {
- let that = this;
- that.setData({
- display: "none",
- zIndex: 11,
- opacity: 0
- })
- setTimeout(function () {
- that.orderFunc();
- }, 500)
- },
- ifGetUser() {
- Http.get({
- url: config.api.checkUserStatus,
- data: {
- token: app.globalData.token
- }
- }).then(res => {}).catch(err => {
- if (err.code == 11004) {
- this.setData({
- isGetUser: false
- })
- }
- })
- },
-
- setIntervalTime(end_time) {
- let that = this;
- var EndTime = end_time;
- var NowTime = new Date().getTime();
- var total_micro_second = EndTime - NowTime || [];
- // 渲染倒计时时钟
- let obj = that.dateformat(total_micro_second);
- if (total_micro_second > 0) {
- that.setData({
- clock: obj,
- day: obj.a1,
- hour: obj.b1,
- min: obj.c1,
- sec: obj.d1,
- })
- } else {
- that.setData({
- clock: "00",
- day: "00",
- hour: "00",
- min: "00",
- sec: "00",
- })
- //如果倒计时结束,需要重新查询一下券的状态
- // 给getDetail一个标识
- that.getDetail(that.data.id, 'endclock');
- }
- total_micro_second -= 1000;
- },
- countdown: function (end_time) {
- let that = this;
- that.setIntervalTime(end_time);
- that.data.setInterval = setInterval(function () {
- that.setIntervalTime(end_time);
- }, 1000)
- },
- // 时间格式化输出,如11:03 25:19 每1s都会调用一次
- dateformat(micro_second) {
- // 总秒数
- var second = Math.floor(micro_second / 1000);
- // 天数
- var day = Math.floor(second / 3600 / 24) < 10 ? "0" + Math.floor(second / 3600 / 24) : Math.floor(second / 3600 / 24);
- // 小时
- var hr = Math.floor(second / 3600 % 24) < 10 ? "0" + Math.floor(second / 3600 % 24) : Math.floor(second / 3600 % 24);
- // 分钟
- var min = Math.floor(second / 60 % 60) < 10 ? "0" + Math.floor(second / 60 % 60) : Math.floor(second / 60 % 60);
- // 秒
- var sec = Math.floor(second % 60) < 10 ? "0" + Math.floor(second % 60) : Math.floor(second % 60);
-
- // return day + "天" + hr + "小时" + min + "分钟" + sec + "秒";
- return {
- a1: day,
- b1: hr,
- c1: min,
- d1: sec
- }
- },
- /**
- * 获取用户信息
- */
- onLoad(options) {
- console.log(options);
-
- this.setData({
- mouldType: app.globalData.mouldType,
- })
- let that = this;
- if (options.g) {
- app.globalData.havePlayEd1 = true;
- }
- tt.showLoading({
- title: "加载中..."
- });
- that.setData({
- onshow: false
- })
- if (options && (options.id || options.couponIds)) {
- that.getDetail(options.id, 'notendclock');
-
- }
-
- that.setData({
- couponChannelId: options.id,
- });
- this.getCouponMerchant(options.id)
- },
- getCouponMerchant(couponChannelId) { //获取适用门店
- Http.get({
- url: config.api.couponMerchant,
- data: {
- couponChannelId: couponChannelId
- }
- }).then(res => {
- const keys = Object.keys(res.data)
- const mallList = []
- let i = 0
- keys.forEach(item => {
- const arr = item.split('|')
- const obj = {
- tenantId: arr[0],
- mallName: arr[1],
- merchantVoList: res.data[item],
- expand: false
- }
- if (i == 0) {
- obj.expand = true
- }
- mallList.push(obj)
- i++
- })
- this.setData({
- mallList: mallList
- })
- })
- },
- getHtml(couponChannelId) {
- Http.get({
- url: config.api.couponHtmlDetail,
- data: {
- couponChannelId: couponChannelId
- }
- }).then(res => {
- console.log(res)
- if (res.code == 200 && res.data.html) {
- this.setData({
- curHtml: decodeURI(res.data.html)
- })
- app.globalData.curHtml = this.data.curHtml;
-
- }
- })
- },
- getDetail: function (couponChannelId, flag) {
- let that = this;
- var parmer = {
- url: config.api.getSnapshot,
- data: {
- orderId: couponChannelId
- }
- };
- Http.get(parmer)
- .then(res => {
-
- //aaa
- if (res.data.contentType != undefined && res.data.contentType == 1) {
- //获取图文展示详情html
- this.setData({
- contentType: res.data.contentType
- })
- this.getHtml(couponChannelId);
- }
- that.setData({
- couponId: res.data.couponId
- })
- that.setData({
- showPage: true
- })
- if (res && res.data && res.data.detailPicture) {
- that.setData({
- detailPicture: JSON.parse(res.data.detailPicture)
- })
- }
- if (res && res.data && res.data.coverPicture) {
- that.setData({
- coverPicture: JSON.parse(res.data.coverPicture)
- })
- }
- if (res && res.data && res.data.conditions) {
- that.setData({
- limitCondition: JSON.parse(res.data.conditions).type
- })
- if (JSON.parse(res.data.conditions).type == 2 && (JSON.parse(res.data.conditions).min || JSON.parse(res.data.conditions).min == 0)) {
- that.setData({
- minLimit: JSON.parse(res.data.conditions).min
- })
- }
- if (JSON.parse(res.data.conditions).type == 2 && (JSON.parse(res.data.conditions).max) || JSON.parse(res.data.conditions).max == 0) {
- that.setData({
- maxLimit: JSON.parse(res.data.conditions).max
- })
- }
- }
- /**
- * 将优惠券优惠卡的详情的BarTitle
- * 设置成券的名称
- */
- // tt.setNavigationBarTitle({
- // title: res.data.title
- // })
- that.setData({
- barTitle: res.data.title
- })
- var EndTime = res.data.validStartDate;
- var NowTime = new Date().getTime();
-
- /**
- * activityStatus==0 活动未开始
- * activityStatus==1 活动已开始
- * flag == endclock 说明倒计时已经结束
- */
- if (res.data.endTime && res.data.beginTime) {
- that.setData({
- begin_time: res.data.beginTime,
- end_time: res.data.endTime,
- activityStatus: res.data.activityStatus ? res.data.activityStatus : ''
- })
- if (res.data.activityStatus == 0 && flag != 'endclock') {
- that.countdown(res.data.beginTime);
- } else if (res.data.activityStatus != 0 && flag != 'endclock') {
- that.countdown(res.data.endTime);
- } else {
- clearInterval(that.data.setInterval)
- }
- if (res.data.activityStatus == 0) {
- var beginTime = util.formatTime(res.data.beginTime, "yyyy-MM-dd hh:mm:ss");
- if (util.timechuo(beginTime).indexOf('-') == 0) {
- that.setData({
- beginTime: "活动已结束",
- });
- } else {
- that.setData({
- beginTime: util.timechuo(beginTime)
- });
- }
- } else {
- var endTime = util.formatTime(res.data.endTime, "yyyy-MM-dd hh:mm:ss");
- if (util.timechuo(endTime).indexOf('-') == 0) {
- that.setData({
- endtime: "活动已结束",
- });
- } else {
- that.setData({
- endtime: util.timechuo(endTime)
- });
- }
- }
- }
- tt.hideLoading();
- that.setData({
- data: res.data,
- merchantVoList: res.data.merchantVoList
- });
- if (res.data.type == 10) {
- that.setData({
- salePriceStr: res.data.salePriceStr,
- pickEndDate: util.formatTime(res.data.pickEndDate, "yyyy-MM-dd"),
- pickStartDate: util.formatTime(res.data.pickStartDate, "yyyy-MM-dd"),
- priceStr: res.data.priceStr,
- tailPriceStr: res.data.tailPriceStr,
- origPriceStr: res.data.origPriceStr
- })
- }
- if (res.data.validType == 1) {
- that.setData({
- validStartDate: util.formatTime(res.data.validStartDate, "yyyy-MM-dd"),
- validEndDate: util.formatTime(res.data.validEndDate, "yyyy-MM-dd"),
- pickStartDate: util.formatTime(res.data.pickStartDate, "yyyy-MM-dd"),
- pickEndDate: util.formatTime(res.data.pickEndDate, "yyyy-MM-dd"),
- });
- } else {
- if (res.data.validDays) {
- that.setData({
- validDays: res.data.validDays
- });
- }
- }
-
-
- if (res.data.itemGroup) {
- let tempObj = that.data.data
- tempObj.itemGroup = JSON.parse(tempObj.itemGroup)
- that.setData({
- data: tempObj
- })
- console.log(that.data.data, "data");
- }
-
-
- if (res.data.productAttrs && res.data.skuAttrs) {
- let tempObj = that.data.data
- tempObj.productAttrs = JSON.parse(tempObj.productAttrs)
- tempObj.skuAttrs = JSON.parse(tempObj.skuAttrs)
- tempObj.productAttrs.map(item => {
-
- if (item.key == "appointment") {
- let tempAppoinObj = JSON.parse(item.data)
- if (tempAppoinObj.need_appointment) {
- let subscribeSing = "";
- if (tempAppoinObj.ahead_time_type == 1) {
- subscribeSing = `需提前${tempAppoinObj.ahead_day_num}天致电商家预约`
- } else if (tempAppoinObj.ahead_time_type == 2) {
- subscribeSing = `需提前${tempAppoinObj.ahead_hour_num}小时致电商家预约`
- } else if (tempAppoinObj.ahead_time_type == 3) {
- subscribeSing = `需提前${tempAppoinObj.ahead_minute_num}分钟致电商家预约`
- }
- tempObj.subscribeSing = subscribeSing
- }
-
- }
-
-
- if (item.key == "Notification") {
- if (item.data != '') {
- tempObj.curLsit = JSON.parse(item.data)
- }
- }
- if (item.key == "bring_out_meal") {
- tempObj.besides = item.data
- }
- if (item.key == "free_pack") {
- tempObj.pack = item.data
- }
-
- if (item.key == "superimposed_discounts") {
- tempObj.superimposed_discounts = item.data
- }
- if (item.key == "private_room") {
- tempObj.private_room = item.data
- }
- if (item.key == "rec_person_num_max") {
- tempObj.rec_person_num_max = item.data
- }
-
-
- if (item.key == 'Description' && item.isRequired) {
- tempObj.Description = JSON.parse(item.data)
- }
- if (item.key == "can_no_use_date") {
- tempObj.can_no_use_date = JSON.parse(item.data)
- }
- })
-
- tempObj.skuAttrs.map(item => {
- if (item.key == "commodity") {
- if (item.data != '') {
- tempObj.itemGroup = JSON.parse(item.data)
- }
- }
- })
- this.setData({
- data: tempObj
- })
- }
- }).catch(err => {
- tt.showToast({
- title: err.message,
- icon: 'none',
- duration: 2000,
- mask: false
- });
- })
- },
-
-
-
- onShow() {
- this.ifGetUser() //判断是否授权抖音
- this.setData({
- mouldType: app.globalData.mouldType,
- showbutton: false,
- showbutton1: false
- })
- if (this.data.end_time && this.data.activityStatus != 0) {
- this.countdown(this.data.end_time)
- } else if (this.data.begin_time && this.data.activityStatus == 0) {
- this.countdown(this.data.begin_time)
- }
- },
- onUnload: function () {
- let that = this;
- clearInterval(that.data.setInterval)
- },
- onHide: function () {
- let that = this;
- clearInterval(that.data.setInterval)
- },
- // 下拉刷新
- onPullDownRefresh: function () {
- this.getDetail(this.data.couponChannelId);
- tt.stopPullDownRefresh()
- },
- onReachBottom: function () {
- this.setData({
- page: this.data.page + 1
- })
-
-
- }
- });
|