| @@ -35,7 +35,8 @@ | |||||
| "pages/paySnapshoot/paySnapshoot", | "pages/paySnapshoot/paySnapshoot", | ||||
| "pages/refund/refund", | "pages/refund/refund", | ||||
| "pages/serviceWebView/serviceWebView", | "pages/serviceWebView/serviceWebView", | ||||
| "pages/liveLsit/liveLsit" | |||||
| "pages/liveLsit/liveLsit", | |||||
| "pages/coupon/confirmation/confirmation" | |||||
| ], | ], | ||||
| "window": { | "window": { | ||||
| "backgroundTextStyle": "light", | "backgroundTextStyle": "light", | ||||
| @@ -168,6 +168,9 @@ button { | |||||
| background-color: #ffffff; | background-color: #ffffff; | ||||
| border-radius: 10rpx; | border-radius: 10rpx; | ||||
| overflow: hidden; | overflow: hidden; | ||||
| left: 5%; | |||||
| position: absolute; | |||||
| z-index: 1000; | |||||
| } | } | ||||
| .fuwu{ | .fuwu{ | ||||
| /* font-size: 28rpx; */ | /* font-size: 28rpx; */ | ||||
| @@ -0,0 +1,674 @@ | |||||
| 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: { | |||||
| couponIds:"", | |||||
| couponChannelId:"", | |||||
| showPage:false, | |||||
| data:{}, | |||||
| spuIdObj:{}, | |||||
| priceAndStockObj:{} | |||||
| }, | |||||
| onLoad: function (options) { | |||||
| console.log(options); | |||||
| tt.showLoading({ | |||||
| title: "加载中..." | |||||
| }); | |||||
| let that = this | |||||
| if (app.globalData.token){ | |||||
| if (options && (options.couponChannelId || options.couponIds)) { | |||||
| if (options.couponIds) { | |||||
| this.setData({ | |||||
| couponIds: options.couponIds | |||||
| }) | |||||
| that.getDetail(options.couponIds, 'notendclock'); | |||||
| } else { | |||||
| that.getDetail(options.couponChannelId, 'notendclock'); | |||||
| that.getSupId(options.couponChannelId) | |||||
| } | |||||
| } | |||||
| }else{ | |||||
| app.tokenCallback = token => { | |||||
| if (options && (options.couponChannelId || options.couponIds)) { | |||||
| if (options.couponIds) { | |||||
| this.setData({ | |||||
| couponIds: options.couponIds | |||||
| }) | |||||
| that.getDetail(options.couponIds, 'notendclock'); | |||||
| } else { | |||||
| that.getDetail(options.couponChannelId, 'notendclock'); | |||||
| // that.getSupId(options.couponChannelId) | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| }, | |||||
| getSupId(id) { | |||||
| Http.get({ | |||||
| url: config.api.getSpuid, | |||||
| data: { id: id } | |||||
| }).then(res => { | |||||
| if (res.data) { | |||||
| this.setData({ | |||||
| spuIdObj: res.data | |||||
| }) | |||||
| } | |||||
| }).catch(err => { | |||||
| // tt.showToast({ | |||||
| // title: err.message, | |||||
| // icon: 'none', | |||||
| // duration: 2000, | |||||
| // mask: false | |||||
| // }); | |||||
| }) | |||||
| }, | |||||
| getCouponPriceAndStock(couponChannelId) {//获取券价格与库存 | |||||
| Http.get({ | |||||
| url: config.api.couponPriceAndStock, | |||||
| data: { | |||||
| couponChannelId | |||||
| } | |||||
| }).then(res => { | |||||
| let tempBoj = JSON.parse(res.data) | |||||
| console.log(tempBoj, "$"); | |||||
| this.setData({ | |||||
| priceAndStockObj: tempBoj | |||||
| }) | |||||
| }) | |||||
| }, | |||||
| getDetail: function (couponChannelId, flag) { | |||||
| let that = this; | |||||
| let data = {}; | |||||
| that.getCouponPriceAndStock(couponChannelId);//获取券价格和库存 | |||||
| if (that.data.couponIds) { | |||||
| data.couponId = couponChannelId | |||||
| } else { | |||||
| data.couponChannelId = couponChannelId | |||||
| } | |||||
| var parmer = { | |||||
| url: config.api.newCouponDetail, | |||||
| data: data | |||||
| }; | |||||
| Http.get(parmer).then(res => { | |||||
| that.setData({ | |||||
| couponId: res.data.couponId | |||||
| }) | |||||
| /** | |||||
| * 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.actStatus ? res.data.actStatus : '' | |||||
| }) | |||||
| if (res.data.actStatus == 0 && flag != 'endclock') { | |||||
| that.countdown(res.data.beginTime); | |||||
| } else if (res.data.actStatus != 0 && flag != 'endclock') { | |||||
| that.countdown(res.data.endTime); | |||||
| } else { | |||||
| clearInterval(that.data.setInterval) | |||||
| } | |||||
| if (res.data.actStatus == 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, | |||||
| }); | |||||
| 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 = this.data.data | |||||
| tempObj.itemGroup = JSON.parse(tempObj.itemGroup) | |||||
| this.setData({ | |||||
| data: tempObj | |||||
| }) | |||||
| console.log(this.data.data, "data"); | |||||
| } | |||||
| if (res.data.productAttrs && res.data.skuAttrs) { | |||||
| let tempObj = this.data.data | |||||
| tempObj.productAttrs = JSON.parse(tempObj.productAttrs) | |||||
| tempObj.skuAttrs = JSON.parse(tempObj.skuAttrs) | |||||
| tempObj.productAttrs.map(item => { | |||||
| 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') { | |||||
| 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 | |||||
| }) | |||||
| console.log(this.data.data, "data"); | |||||
| } | |||||
| }).catch(err => { | |||||
| tt.showToast({ | |||||
| title: err.message, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| }) | |||||
| }, | |||||
| /** | |||||
| * 支付订单更新 | |||||
| */ | |||||
| payOrderUpdate: (orderId, payOrderId, status, reason, type, _this, composeOrderType) => { | |||||
| let that = this; | |||||
| // 支付成功 | |||||
| Http.post({ | |||||
| url: config.api.payOrderUpdate, | |||||
| data: { | |||||
| payOrderId: payOrderId, | |||||
| composeOrderId: orderId, | |||||
| status: status, | |||||
| reason: reason | |||||
| } | |||||
| }) | |||||
| .then(res => { | |||||
| tt.hideLoading() | |||||
| // 有价券 | |||||
| if (!type && type != 'free') { | |||||
| tt.navigateTo({ | |||||
| url: `/pages/order/detail/index?orderId=${orderId | |||||
| }` | |||||
| }); | |||||
| } else if (type == 'free') { | |||||
| tt.navigateTo({ | |||||
| url: `/pages/order/detail/index?orderId=${orderId | |||||
| }` | |||||
| }); | |||||
| } | |||||
| }) | |||||
| .catch(err => { | |||||
| console.log(err); | |||||
| if (!type) { | |||||
| setTimeout(function () { | |||||
| _this.payOrderUpdate(orderId, payOrderId, status, reason, type, _this, composeOrderType); | |||||
| }, 2000) | |||||
| } | |||||
| }) | |||||
| }, | |||||
| /** | |||||
| * 发起支付 | |||||
| */ | |||||
| orderFunc(discount) { | |||||
| if(this.data.showbutton)return; | |||||
| let that = this; | |||||
| tt.showLoading({ | |||||
| title: "加载中..." | |||||
| }); | |||||
| that.setData({ | |||||
| showbutton: true, | |||||
| }) | |||||
| Http.get({ | |||||
| url: config.api.checkUserStatus, | |||||
| data: { | |||||
| token: app.globalData.token | |||||
| } | |||||
| }).then(res => { | |||||
| Http.get({ | |||||
| url: config.api.checkPhoneStatus, | |||||
| data: {} | |||||
| }).then(res => { | |||||
| if ((!tt.canIUse('createOrder')) || that.data.data.type == 50 || that.data.priceAndStockObj.salePrice == 0) { | |||||
| //积分券和免费券 | |||||
| // 发起砍价 | |||||
| if (discount == 'discount') { | |||||
| var data = { | |||||
| couponChannelId: "" + that.data.couponChannelId, | |||||
| couponId: "" + that.data.couponId, | |||||
| formId: "" + that.data.formId, | |||||
| press: true | |||||
| } | |||||
| } else if (discount == 'discount1') { | |||||
| var data = { | |||||
| couponChannelId: "" + that.data.couponChannelId, | |||||
| couponId: "" + that.data.couponId, | |||||
| formId: "" + that.data.formId, | |||||
| press: false | |||||
| } | |||||
| } else if (that.data.couponChannelId == null) { | |||||
| var data = { | |||||
| couponId: "" + that.data.couponId, | |||||
| formId: "" + that.data.formId, | |||||
| }; | |||||
| } else { | |||||
| var data = { | |||||
| couponChannelId: "" + that.data.couponChannelId, | |||||
| couponId: "" + that.data.couponId, | |||||
| formId: "" + that.data.formId, | |||||
| } | |||||
| } | |||||
| console.log(data, "data") | |||||
| let url = "" | |||||
| let tempObj; | |||||
| let tempArr = [] | |||||
| if (that.data.data.type == 12) { | |||||
| url = config.api.couponPackageSave | |||||
| tempObj = { | |||||
| signleOrder: { | |||||
| couponChannelId: "" + that.data.couponChannelId, | |||||
| couponId: "" + that.data.couponId, | |||||
| formId: "" + that.data.formId, | |||||
| }, | |||||
| count: "1" | |||||
| } | |||||
| tempArr.push(tempObj) | |||||
| } else { | |||||
| url = config.api.orderSave | |||||
| } | |||||
| /** | |||||
| * orderSave 下单 | |||||
| */ | |||||
| Http.post({ | |||||
| url: url, | |||||
| data: that.data.data.type == 12 ? JSON.stringify(tempArr) : data | |||||
| }).then(res => { | |||||
| if (discount != 'discount') { | |||||
| if (typeof (res) != "undefined") { | |||||
| let orderId = "" + res.data.mainOrderId; | |||||
| that.setData({ | |||||
| orderId: orderId, | |||||
| composeOrderType: res.data.composeOrderType | |||||
| }); | |||||
| if (res.data.payment > 0) { | |||||
| // 支付金额不为0 | |||||
| /** | |||||
| * 支付订单创建 | |||||
| */ | |||||
| Http.post({ | |||||
| url: config.api.payOrderCreate, | |||||
| data: { | |||||
| orderId: orderId, | |||||
| composeOrderType: res.data.composeOrderType | |||||
| } | |||||
| }).then(res => { | |||||
| var payOrderId = "" + res.data.outOrderNo; | |||||
| tt.hideLoading(); | |||||
| tt.pay({ | |||||
| service: 5, | |||||
| orderInfo: { | |||||
| order_id: res.data.orderId, | |||||
| order_token: res.data.token, | |||||
| }, | |||||
| success: res => { | |||||
| tt.showLoading({ | |||||
| title: '订单正在处理中...', | |||||
| }) | |||||
| if (res.code === 0) { | |||||
| that.payOrderUpdate(that.data.orderId, payOrderId, 1, '', '', that, that.data.composeOrderType); | |||||
| if (res.errMsg == "requestPayment:ok") { | |||||
| /** | |||||
| * 用户支付成功以后跳转到券包列表 | |||||
| */ | |||||
| if (that.data.cardType == 100) { | |||||
| tt.setStorage({ | |||||
| key: 'couponNum2', | |||||
| data: "couponNum2" | |||||
| }) | |||||
| } else if (that.data.data.type != 5 && that.data.cardType != 100) { | |||||
| tt.setStorage({ | |||||
| key: 'couponNum', | |||||
| data: "couponNum" | |||||
| }) | |||||
| } | |||||
| } | |||||
| } | |||||
| else if (res.code === 1) { | |||||
| that.setData({ | |||||
| showbutton: false | |||||
| }) | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '支付超时', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } else if (res.code === 2) { | |||||
| that.setData({ | |||||
| showbutton: false | |||||
| }) | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '支付失败', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } else if (res.code === 3) { | |||||
| that.setData({ | |||||
| showbutton: false | |||||
| }) | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '支付关闭', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } else if (res.code === 4) { | |||||
| that.setData({ | |||||
| showbutton: false | |||||
| }) | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '支付取消', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } else if (res.code === 9) { | |||||
| that.setData({ | |||||
| showbutton: false | |||||
| }) | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '订单状态开发者自行获取', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } | |||||
| }, | |||||
| fail: res => { | |||||
| tt.hideLoading(); | |||||
| /** | |||||
| * 支付失败,需要更新订单的状态 | |||||
| */ | |||||
| that.payOrderUpdate(that.data.orderId, payOrderId, 2, '', 'fail', that, that.data.composeOrderType); | |||||
| that.setData({ | |||||
| showbutton: false | |||||
| }) | |||||
| return; | |||||
| }, | |||||
| complete: res => { } | |||||
| }); | |||||
| /// End payment -------- | |||||
| }) | |||||
| .catch(err => { | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: err.message, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| }) | |||||
| } else { | |||||
| // 免费券 | |||||
| that.payOrderUpdate(orderId, "0", 1, '', 'free', that, that.data.composeOrderType); | |||||
| if (that.data.cardType == 100) { | |||||
| tt.setStorage({ | |||||
| key: 'couponNum2', | |||||
| data: "couponNum2" | |||||
| }) | |||||
| } else if (that.data.data.type != "5" && that.data.cardType != 100) { | |||||
| tt.setStorage({ | |||||
| key: 'couponNum', | |||||
| data: "couponNum" | |||||
| }) | |||||
| } | |||||
| } | |||||
| } | |||||
| } else { | |||||
| if (res) { | |||||
| tt.navigateTo({ | |||||
| url: `/pages/bargain/bargainDatail/bargainDatail?orderId=${res.data.mainOrderId}&composeOrderType=${res.data.composeOrderType}`, | |||||
| }) | |||||
| } | |||||
| } | |||||
| }) | |||||
| } else { | |||||
| //有价券 | |||||
| console.log(tt.canIUse('createOrder'), "是否支持2.0js-api"); | |||||
| if (tt.canIUse('createOrder')) { | |||||
| //支持 支付2.0 js-api | |||||
| let tempCallbackData = {} | |||||
| tempCallbackData[that.data.data.couponChannel.ttSpuId] = that.data.data.couponChannel.id | |||||
| let options = { | |||||
| callbackData: tempCallbackData, | |||||
| goodsList: [ | |||||
| { | |||||
| quantity: 1, // 购买数量 必填 | |||||
| price: that.data.priceAndStockObj.salePrice, // 商品价格 必填 | |||||
| goodsName: that.data.data.title, // 商品名称 必填 | |||||
| goodsPhoto: that.data.data.coverImg, // 商品图片链接 必填 | |||||
| goodsId: that.data.data.couponChannel.ttSpuId, // 商品ID 必填 | |||||
| goodsType: 1, // 商品类型 必填 | |||||
| goodsLabels: ['过期退', '随时退', '免预约'], // 商品标签 非必填 | |||||
| dateRule: '', // 使用规则 非必填 | |||||
| }, | |||||
| ], | |||||
| payment: { | |||||
| totalAmount: that.data.priceAndStockObj.salePrice, // 订单总价 必填 | |||||
| }, | |||||
| success: res => { | |||||
| tt.hideLoading(); | |||||
| that.setData({ | |||||
| showbutton: false, | |||||
| }) | |||||
| const { orderId, outOrderNo } = res; | |||||
| that.setData({ orderId, outOrderNo }); | |||||
| that.payOrderUpdate(outOrderNo, outOrderNo, 1, '', '', that, ''); | |||||
| }, | |||||
| fail: res => { | |||||
| const { orderId, outOrderNo, errNo, errMsg, errLogId } = res; | |||||
| if (errLogId) { | |||||
| tt.hideLoading(); | |||||
| that.setData({ | |||||
| showbutton: false, | |||||
| }) | |||||
| console.log('预下单失败', errNo, errMsg, errLogId); | |||||
| } | |||||
| if (orderId || outOrderNo) { | |||||
| tt.hideLoading(); | |||||
| that.setData({ | |||||
| showbutton: false, | |||||
| }) | |||||
| console.log('支付失败', errNo, errMsg, orderId, outOrderNo); | |||||
| console.log(that.payOrderUpdate, "payOrderUpdate"); | |||||
| that.payOrderUpdate(outOrderNo,outOrderNo,2,'','fail') | |||||
| } | |||||
| }, | |||||
| } | |||||
| console.log(options, "options"); | |||||
| tt.createOrder(options) | |||||
| } else { | |||||
| //不支持 支付2.0 js -api | |||||
| } | |||||
| } | |||||
| }).catch(err => { | |||||
| tt.hideLoading() | |||||
| that.setData({ | |||||
| showbutton: false, | |||||
| }) | |||||
| if (err.code == 2011) { | |||||
| tt.showToast({ | |||||
| title: "商户信息没找到", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 2013) { | |||||
| tt.showToast({ | |||||
| title: "商户信息禁用", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 3000) { | |||||
| tt.showToast({ | |||||
| title: "库存不足", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 3001) { | |||||
| tt.showToast({ | |||||
| title: "您已超过限购", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 3002) { | |||||
| tt.showToast({ | |||||
| title: "订单失败", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 3003) { | |||||
| tt.showToast({ | |||||
| title: "订单不存在", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 3004) { | |||||
| tt.showToast({ | |||||
| title: "订单不存在", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 4003) { | |||||
| tt.showToast({ | |||||
| title: "卡券已作废", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 3012) { | |||||
| that.getUnPaidOrder(that.data.couponId); | |||||
| } else if (err.code == 11005) { | |||||
| /** | |||||
| * 将值传到用户手机号授权的页面 | |||||
| * | |||||
| */ | |||||
| tt.redirectTo({ | |||||
| url: "/pages/getphoneInfo/index?couponChannelId=" + | |||||
| that.data.couponChannelId | |||||
| }); | |||||
| } else if (err.code == 11006) { | |||||
| // 用户手机已加密 | |||||
| tt.redirectTo({ | |||||
| url: "/pages/phoneinput/phoneinput?couponChannelId=" + | |||||
| that.data.couponChannelId | |||||
| }); | |||||
| } else { | |||||
| tt.showToast({ | |||||
| title: err.message, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } | |||||
| }) | |||||
| }).catch(err => { | |||||
| console.log(err) | |||||
| if (err.code == 11004) { | |||||
| tt.redirectTo({ | |||||
| url: `/pages/getuserinfo/index?fromflag=coupondetail&couponChannelIdflag=${that.data.couponChannelId}`, | |||||
| }) | |||||
| } else { | |||||
| tt.showToast({ | |||||
| title: err.message, | |||||
| icon: "none", | |||||
| duration: 2500 | |||||
| }) | |||||
| } | |||||
| }) | |||||
| }, | |||||
| }) | |||||
| @@ -0,0 +1,12 @@ | |||||
| { | |||||
| "usingComponents": { | |||||
| "navbar": "../../../components/navbar/navbar", | |||||
| "store": "../../../components/store/index", | |||||
| "c-coupons": "../../../components/coupons/index", | |||||
| "phoen":"../../../components/getPhoen/getPhoen" | |||||
| }, | |||||
| "navigationBarTitleText": "确认订单", | |||||
| "backgroundColor":"#f4f4f4", | |||||
| "navigationBarBackgroundColor": "#f4f4f4", | |||||
| "navigationBarTextStyle": "black" | |||||
| } | |||||
| @@ -0,0 +1,19 @@ | |||||
| <view class="commodityBox"> | |||||
| <view class="commodityImgBox"> | |||||
| <image class="commodityImg" src="{{data.coverImg}}"></image> | |||||
| </view> | |||||
| <view class="contentBox"> | |||||
| <view class="topBox"> | |||||
| <view class="title">{{data.title}}</view> | |||||
| <view class="unit">¥{{data.salePriceStr}}</view> | |||||
| </view> | |||||
| <view class="subhead"> {{data.subTitle}}</view> | |||||
| </view> | |||||
| <view class="app-border-topX"> | |||||
| <view class="actually"> 实付 </view> | |||||
| <view class="payZ">¥</view> | |||||
| <view class="price">{{data.salePriceStr}}</view> | |||||
| <view class="buyX" bindtap="orderFunc">提交订单</view> | |||||
| </view> | |||||
| </view> | |||||
| @@ -0,0 +1,92 @@ | |||||
| .commodityBox{ | |||||
| background-color: #fff; | |||||
| width: 96%; | |||||
| border-radius: 12rpx; | |||||
| overflow: hidden; | |||||
| margin: 10rpx auto; | |||||
| } | |||||
| .commodityImgBox{ | |||||
| width: 100rpx; | |||||
| height: 100rpx; | |||||
| overflow: hidden; | |||||
| float: left; | |||||
| margin: 20rpx; | |||||
| border-radius: 8rpx; | |||||
| } | |||||
| .commodityImg{ | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| } | |||||
| .contentBox{ | |||||
| width: 560rpx; | |||||
| float: left; | |||||
| height: 100rpx; | |||||
| margin-top: 20rpx; | |||||
| } | |||||
| .topBox{ | |||||
| overflow: hidden; | |||||
| } | |||||
| .title{ | |||||
| height: 60rpx; | |||||
| font-size: 26rpx; | |||||
| width: 490rpx; | |||||
| float: left; | |||||
| text-overflow: ellipsis; | |||||
| display: -webkit-box; | |||||
| -webkit-box-orient: vertical; | |||||
| -webkit-line-clamp: 2; /* 这里是超出几行省略 */ | |||||
| overflow: hidden; | |||||
| } | |||||
| .unit{ | |||||
| float: right; | |||||
| font-size: 24rpx; | |||||
| } | |||||
| .subhead{ | |||||
| margin-top: 4rpx; | |||||
| color: #a6a6a6; | |||||
| font-size: 20rpx; | |||||
| } | |||||
| .app-border-topX{ | |||||
| width: 100%; | |||||
| height: 120rpx; | |||||
| background-color: #fff; | |||||
| overflow: hidden; | |||||
| position: fixed; | |||||
| left: 0; | |||||
| bottom: 0; | |||||
| } | |||||
| .actually{ | |||||
| margin-left: 10%; | |||||
| font-size: 24rpx; | |||||
| color: #a6a6a6; | |||||
| line-height: 120rpx; | |||||
| float: left; | |||||
| } | |||||
| .payZ{ | |||||
| margin-left: 6rpx; | |||||
| font-size: 20rpx; | |||||
| color: #d5af67; | |||||
| line-height: 126rpx; | |||||
| float: left; | |||||
| } | |||||
| .price{ | |||||
| font-size: 26rpx; | |||||
| color: #d5af67; | |||||
| line-height: 120rpx; | |||||
| float: left; | |||||
| } | |||||
| .buyX{ | |||||
| float: right; | |||||
| background: linear-gradient(270deg, #DDAB5A, #B8832D); | |||||
| /* width: 80rpx; */ | |||||
| color: #fff; | |||||
| font-size: 28rpx; | |||||
| border-radius: 60rpx; | |||||
| margin: 30rpx 40rpx; | |||||
| padding: 10rpx 20rpx; | |||||
| } | |||||
| @@ -6,7 +6,7 @@ const util = require("../../../utils/util"); | |||||
| const imgurl = require("../../../utils/imgurl"); | const imgurl = require("../../../utils/imgurl"); | ||||
| Page({ | Page({ | ||||
| data: { | data: { | ||||
| priceAndStockObj:{},//存放价格和库存 | |||||
| priceAndStockObj: {},//存放价格和库存 | |||||
| isGetUser: true,//判断是否授权抖音 | isGetUser: true,//判断是否授权抖音 | ||||
| mouldType: 0, | mouldType: 0, | ||||
| navigationBarHeight, | navigationBarHeight, | ||||
| @@ -95,7 +95,7 @@ Page({ | |||||
| page: 1,//查询商户优惠券page | page: 1,//查询商户优惠券page | ||||
| idList: [], | idList: [], | ||||
| showBox: false,//手机号授权框 | showBox: false,//手机号授权框 | ||||
| spuIdObj:{} | |||||
| spuIdObj: {} | |||||
| }, | }, | ||||
| /** | /** | ||||
| @@ -429,7 +429,7 @@ Page({ | |||||
| url: config.api.checkPhoneStatus, | url: config.api.checkPhoneStatus, | ||||
| }).then(res => { | }).then(res => { | ||||
| tt.showLoading(); | tt.showLoading(); | ||||
| if (e.currentTarget.dataset.type == 51 || e.currentTarget.dataset.type == 50) { | |||||
| if (e.currentTarget.dataset.type == 51 || e.currentTarget.dataset.type == 50) { | |||||
| tt.navigateTo({ | tt.navigateTo({ | ||||
| url: '/pages/integralmall/payIntegcoupondetail/index?couponChannelId=' + that.data.couponChannelId + '&couponId=' + that.data.couponId, | url: '/pages/integralmall/payIntegcoupondetail/index?couponChannelId=' + that.data.couponChannelId + '&couponId=' + that.data.couponId, | ||||
| }) | }) | ||||
| @@ -480,18 +480,18 @@ Page({ | |||||
| } | } | ||||
| }).catch(err => { | }).catch(err => { | ||||
| app.globalData.type = '' | app.globalData.type = '' | ||||
| app.globalData.skipUrl="" | |||||
| app.globalData.skipUrl = "" | |||||
| app.globalData.skip = 'navigateBack' | app.globalData.skip = 'navigateBack' | ||||
| if(app.globalData.ifCongPh==1){ | |||||
| if (app.globalData.ifCongPh == 1) { | |||||
| tt.navigateTo({ | tt.navigateTo({ | ||||
| url: '/pages/getPhone/getPhone?skipUrl=1', | |||||
| url: '/pages/getPhone/getPhone?skipUrl=1', | |||||
| }); | }); | ||||
| }else{ | |||||
| } else { | |||||
| this.setData({ | this.setData({ | ||||
| showBox: true | showBox: true | ||||
| }) | }) | ||||
| } | } | ||||
| }) | }) | ||||
| }).catch(err => { | }).catch(err => { | ||||
| app.globalData.type = '' | app.globalData.type = '' | ||||
| @@ -568,7 +568,8 @@ Page({ | |||||
| * 获取用户信息 | * 获取用户信息 | ||||
| */ | */ | ||||
| onLoad(options) { | onLoad(options) { | ||||
| console.log(options); | |||||
| this.setData({ | this.setData({ | ||||
| mouldType: app.globalData.mouldType, | mouldType: app.globalData.mouldType, | ||||
| }) | }) | ||||
| @@ -632,17 +633,17 @@ Page({ | |||||
| } | } | ||||
| }) | }) | ||||
| }, | }, | ||||
| getSupId(id){ | |||||
| getSupId(id) { | |||||
| Http.get({ | Http.get({ | ||||
| url:config.api.getSpuid, | |||||
| data:{id:id} | |||||
| }).then(res=>{ | |||||
| if(res.data){ | |||||
| url: config.api.getSpuid, | |||||
| data: { id: id } | |||||
| }).then(res => { | |||||
| if (res.data) { | |||||
| this.setData({ | this.setData({ | ||||
| spuIdObj:res.data | |||||
| spuIdObj: res.data | |||||
| }) | }) | ||||
| } | } | ||||
| }).catch(err=>{ | |||||
| }).catch(err => { | |||||
| // tt.showToast({ | // tt.showToast({ | ||||
| // title: err.message, | // title: err.message, | ||||
| // icon: 'none', | // icon: 'none', | ||||
| @@ -652,27 +653,27 @@ Page({ | |||||
| }) | }) | ||||
| }, | }, | ||||
| getCouponPriceAndStock(couponChannelId){//获取券价格与库存 | |||||
| getCouponPriceAndStock(couponChannelId) {//获取券价格与库存 | |||||
| Http.get({ | Http.get({ | ||||
| url:config.api.couponPriceAndStock, | |||||
| data:{ | |||||
| url: config.api.couponPriceAndStock, | |||||
| data: { | |||||
| couponChannelId | couponChannelId | ||||
| } | } | ||||
| }).then(res=>{ | |||||
| }).then(res => { | |||||
| let tempBoj = JSON.parse(res.data) | let tempBoj = JSON.parse(res.data) | ||||
| console.log(tempBoj,"$"); | |||||
| console.log(tempBoj, "$"); | |||||
| this.setData({ | this.setData({ | ||||
| priceAndStockObj:tempBoj | |||||
| priceAndStockObj: tempBoj | |||||
| }) | }) | ||||
| }) | }) | ||||
| }, | }, | ||||
| getCouponMerchant(couponChannelId){//获取适用门店 | |||||
| getCouponMerchant(couponChannelId) {//获取适用门店 | |||||
| Http.get({ | Http.get({ | ||||
| url:config.api.couponMerchant, | |||||
| data:{ | |||||
| couponChannelId:couponChannelId | |||||
| url: config.api.couponMerchant, | |||||
| data: { | |||||
| couponChannelId: couponChannelId | |||||
| } | } | ||||
| }).then(res=>{ | |||||
| }).then(res => { | |||||
| if (res.data && res.data.length) { | if (res.data && res.data.length) { | ||||
| let merchantVoList = res.data | let merchantVoList = res.data | ||||
| let idList = [] | let idList = [] | ||||
| @@ -838,14 +839,62 @@ Page({ | |||||
| } | } | ||||
| } | } | ||||
| if(res.data.itemGroup){ | |||||
| if (res.data.itemGroup) { | |||||
| let tempObj = this.data.data | let tempObj = this.data.data | ||||
| tempObj.itemGroup = JSON.parse(tempObj.itemGroup) | tempObj.itemGroup = JSON.parse(tempObj.itemGroup) | ||||
| this.setData({ | this.setData({ | ||||
| data:tempObj | |||||
| data: tempObj | |||||
| }) | |||||
| console.log(this.data.data, "data"); | |||||
| } | |||||
| if (res.data.productAttrs && res.data.skuAttrs) { | |||||
| let tempObj = this.data.data | |||||
| tempObj.productAttrs = JSON.parse(tempObj.productAttrs) | |||||
| tempObj.skuAttrs = JSON.parse(tempObj.skuAttrs) | |||||
| tempObj.productAttrs.map(item => { | |||||
| 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') { | |||||
| 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 | |||||
| }) | }) | ||||
| console.log(this.data.data,"data"); | |||||
| console.log(this.data.data, "data"); | |||||
| } | } | ||||
| }).catch(err => { | }).catch(err => { | ||||
| tt.showToast({ | tt.showToast({ | ||||
| @@ -940,14 +989,26 @@ Page({ | |||||
| }); | }); | ||||
| } | } | ||||
| }) | }) | ||||
| }, | |||||
| }, | |||||
| // 券包支付 | // 券包支付 | ||||
| /** | /** | ||||
| * 发起支付 | * 发起支付 | ||||
| */ | */ | ||||
| orderFunc(discount) { | orderFunc(discount) { | ||||
| tt.navigateTo({ | |||||
| url: `/pages/coupon/confirmation/confirmation?couponChannelId=${this.data.couponChannelId}`, | |||||
| }) | |||||
| return | |||||
| let that = this; | let that = this; | ||||
| tt.showLoading({ | |||||
| title: "加载中..." | |||||
| }); | |||||
| that.setData({ | |||||
| showbutton: true, | |||||
| showbutton1: true | |||||
| }) | |||||
| Http.get({ | Http.get({ | ||||
| url: config.api.checkUserStatus, | url: config.api.checkUserStatus, | ||||
| data: { | data: { | ||||
| @@ -958,7 +1019,9 @@ Page({ | |||||
| url: config.api.checkPhoneStatus, | url: config.api.checkPhoneStatus, | ||||
| data: {} | data: {} | ||||
| }).then(res => { | }).then(res => { | ||||
| console.log(tt.canIUse('createOrder'),"版本号" ); | |||||
| if ((!tt.canIUse('createOrder')) || that.data.data.type == 50 || that.data.priceAndStockObj.salePrice == 0) { | |||||
| //积分券和免费券 | |||||
| // 发起砍价 | // 发起砍价 | ||||
| if (discount == 'discount') { | if (discount == 'discount') { | ||||
| var data = { | var data = { | ||||
| @@ -1007,245 +1070,310 @@ Page({ | |||||
| /** | /** | ||||
| * orderSave 下单 | * orderSave 下单 | ||||
| */ | */ | ||||
| return Http.post({ | |||||
| Http.post({ | |||||
| url: url, | url: url, | ||||
| data: that.data.data.type == 12 ? JSON.stringify(tempArr) : data | data: that.data.data.type == 12 ? JSON.stringify(tempArr) : data | ||||
| }); | |||||
| }).catch(err => { | |||||
| tt.hideLoading() | |||||
| that.setData({ | |||||
| showbutton: false, | |||||
| showbutton1: false | |||||
| }) | |||||
| if (err.code == 2011) { | |||||
| tt.showToast({ | |||||
| title: "商户信息没找到", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 2013) { | |||||
| tt.showToast({ | |||||
| title: "商户信息禁用", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 3000) { | |||||
| tt.showToast({ | |||||
| title: "库存不足", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 3001) { | |||||
| tt.showToast({ | |||||
| title: "您已超过限购", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 3002) { | |||||
| tt.showToast({ | |||||
| title: "订单失败", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 3003) { | |||||
| tt.showToast({ | |||||
| title: "订单不存在", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 3004) { | |||||
| tt.showToast({ | |||||
| title: "订单不存在", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 4003) { | |||||
| tt.showToast({ | |||||
| title: "卡券已作废", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 3012) { | |||||
| that.getUnPaidOrder(that.data.couponId); | |||||
| } else if (err.code == 11005) { | |||||
| /** | |||||
| * 将值传到用户手机号授权的页面 | |||||
| * | |||||
| */ | |||||
| tt.redirectTo({ | |||||
| url: "/pages/getphoneInfo/index?couponChannelId=" + | |||||
| that.data.couponChannelId | |||||
| }); | |||||
| } else if (err.code == 11006) { | |||||
| // 用户手机已加密 | |||||
| tt.redirectTo({ | |||||
| url: "/pages/phoneinput/phoneinput?couponChannelId=" + | |||||
| that.data.couponChannelId | |||||
| }); | |||||
| } else { | |||||
| tt.showToast({ | |||||
| title: err.message, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } | |||||
| }).then(res => { | |||||
| if (discount != 'discount') { | |||||
| if (typeof (res) != "undefined") { | |||||
| let orderId = "" + res.data.mainOrderId; | |||||
| that.setData({ | |||||
| orderId: orderId, | |||||
| composeOrderType: res.data.composeOrderType | |||||
| }); | |||||
| if (res.data.payment > 0) { | |||||
| // 支付金额不为0 | |||||
| /** | |||||
| * 支付订单创建 | |||||
| */ | |||||
| Http.post({ | |||||
| url: config.api.payOrderCreate, | |||||
| data: { | |||||
| orderId: orderId, | |||||
| composeOrderType: res.data.composeOrderType | |||||
| } | |||||
| }).then(res => { | |||||
| var payOrderId = "" + res.data.outOrderNo; | |||||
| tt.hideLoading(); | |||||
| tt.pay({ | |||||
| service: 5, | |||||
| orderInfo: { | |||||
| order_id: res.data.orderId, | |||||
| order_token: res.data.token, | |||||
| }, | |||||
| success: res => { | |||||
| tt.showLoading({ | |||||
| title: '订单正在处理中...', | |||||
| }) | |||||
| if (res.code === 0) { | |||||
| that.payOrderUpdate(that.data.orderId, payOrderId, 1, '', '', that, that.data.composeOrderType); | |||||
| if (res.errMsg == "requestPayment:ok") { | |||||
| /** | |||||
| * 用户支付成功以后跳转到券包列表 | |||||
| */ | |||||
| if (that.data.cardType == 100) { | |||||
| tt.setStorage({ | |||||
| key: 'couponNum2', | |||||
| data: "couponNum2" | |||||
| }) | |||||
| } else if (that.data.data.type != 5 && that.data.cardType != 100) { | |||||
| tt.setStorage({ | |||||
| key: 'couponNum', | |||||
| data: "couponNum" | |||||
| }) | |||||
| }).then(res => { | |||||
| if (discount != 'discount') { | |||||
| if (typeof (res) != "undefined") { | |||||
| let orderId = "" + res.data.mainOrderId; | |||||
| that.setData({ | |||||
| orderId: orderId, | |||||
| composeOrderType: res.data.composeOrderType | |||||
| }); | |||||
| if (res.data.payment > 0) { | |||||
| // 支付金额不为0 | |||||
| /** | |||||
| * 支付订单创建 | |||||
| */ | |||||
| Http.post({ | |||||
| url: config.api.payOrderCreate, | |||||
| data: { | |||||
| orderId: orderId, | |||||
| composeOrderType: res.data.composeOrderType | |||||
| } | |||||
| }).then(res => { | |||||
| var payOrderId = "" + res.data.outOrderNo; | |||||
| tt.hideLoading(); | |||||
| tt.pay({ | |||||
| service: 5, | |||||
| orderInfo: { | |||||
| order_id: res.data.orderId, | |||||
| order_token: res.data.token, | |||||
| }, | |||||
| success: res => { | |||||
| tt.showLoading({ | |||||
| title: '订单正在处理中...', | |||||
| }) | |||||
| if (res.code === 0) { | |||||
| that.payOrderUpdate(that.data.orderId, payOrderId, 1, '', '', that, that.data.composeOrderType); | |||||
| if (res.errMsg == "requestPayment:ok") { | |||||
| /** | |||||
| * 用户支付成功以后跳转到券包列表 | |||||
| */ | |||||
| if (that.data.cardType == 100) { | |||||
| tt.setStorage({ | |||||
| key: 'couponNum2', | |||||
| data: "couponNum2" | |||||
| }) | |||||
| } else if (that.data.data.type != 5 && that.data.cardType != 100) { | |||||
| tt.setStorage({ | |||||
| key: 'couponNum', | |||||
| data: "couponNum" | |||||
| }) | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| } | |||||
| else if (res.code === 1) { | |||||
| that.setData({ | |||||
| showbutton: false | |||||
| }) | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '支付超时', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| else if (res.code === 1) { | |||||
| that.setData({ | |||||
| showbutton: false | |||||
| }) | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '支付超时', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } else if (res.code === 2) { | |||||
| that.setData({ | |||||
| showbutton: false | |||||
| }) | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '支付失败', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } else if (res.code === 3) { | |||||
| that.setData({ | |||||
| showbutton: false | |||||
| }) | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '支付关闭', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } else if (res.code === 4) { | |||||
| that.setData({ | |||||
| showbutton: false | |||||
| }) | |||||
| } else if (res.code === 2) { | |||||
| that.setData({ | |||||
| showbutton: false | |||||
| }) | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '支付失败', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } else if (res.code === 3) { | |||||
| that.setData({ | |||||
| showbutton: false | |||||
| }) | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '支付关闭', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } else if (res.code === 4) { | |||||
| that.setData({ | |||||
| showbutton: false | |||||
| }) | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '支付取消', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } else if (res.code === 9) { | |||||
| that.setData({ | |||||
| showbutton: false | |||||
| }) | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '订单状态开发者自行获取', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } | |||||
| }, | |||||
| fail: res => { | |||||
| tt.hideLoading(); | tt.hideLoading(); | ||||
| tt.showToast({ | |||||
| title: '支付取消', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } else if (res.code === 9) { | |||||
| /** | |||||
| * 支付失败,需要更新订单的状态 | |||||
| */ | |||||
| that.payOrderUpdate(that.data.orderId, payOrderId, 2, '', 'fail', that, that.data.composeOrderType); | |||||
| that.setData({ | that.setData({ | ||||
| showbutton: false | showbutton: false | ||||
| }) | }) | ||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '订单状态开发者自行获取', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } | |||||
| }, | |||||
| fail: res => { | |||||
| tt.hideLoading(); | |||||
| /** | |||||
| * 支付失败,需要更新订单的状态 | |||||
| */ | |||||
| that.payOrderUpdate(that.data.orderId, payOrderId, 2, '', 'fail', that, that.data.composeOrderType); | |||||
| that.setData({ | |||||
| showbutton: false | |||||
| }) | |||||
| return; | |||||
| }, | |||||
| complete: res => { } | |||||
| }); | |||||
| /// End payment -------- | |||||
| }) | |||||
| .catch(err => { | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: err.message, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| return; | |||||
| }, | |||||
| complete: res => { } | |||||
| }); | }); | ||||
| /// End payment -------- | |||||
| }) | }) | ||||
| } else { | |||||
| // 免费券 | |||||
| that.payOrderUpdate(orderId, "0", 1, '', 'free', that, that.data.composeOrderType); | |||||
| if (that.data.cardType == 100) { | |||||
| tt.setStorage({ | |||||
| key: 'couponNum2', | |||||
| data: "couponNum2" | |||||
| .catch(err => { | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: err.message, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| }) | |||||
| } else { | |||||
| // 免费券 | |||||
| that.payOrderUpdate(orderId, "0", 1, '', 'free', that, that.data.composeOrderType); | |||||
| if (that.data.cardType == 100) { | |||||
| tt.setStorage({ | |||||
| key: 'couponNum2', | |||||
| data: "couponNum2" | |||||
| }) | |||||
| } else if (that.data.data.type != "5" && that.data.cardType != 100) { | |||||
| tt.setStorage({ | |||||
| key: 'couponNum', | |||||
| data: "couponNum" | |||||
| }) | |||||
| } | |||||
| } | |||||
| } | |||||
| } else { | |||||
| if (res) { | |||||
| tt.navigateTo({ | |||||
| url: `/pages/bargain/bargainDatail/bargainDatail?orderId=${res.data.mainOrderId}&composeOrderType=${res.data.composeOrderType}`, | |||||
| }) | |||||
| } | |||||
| } | |||||
| }) | |||||
| } else { | |||||
| //有价券 | |||||
| console.log(tt.canIUse('createOrder'), "是否支持2.0js-api"); | |||||
| if (tt.canIUse('createOrder')) { | |||||
| //支持 支付2.0 js-api | |||||
| let tempCallbackData = {} | |||||
| tempCallbackData[that.data.data.couponChannel.ttSpuId] = that.data.data.couponChannel.id | |||||
| let options = { | |||||
| callbackData: tempCallbackData, | |||||
| goodsList: [ | |||||
| { | |||||
| quantity: 1, // 购买数量 必填 | |||||
| price: that.data.priceAndStockObj.salePrice, // 商品价格 必填 | |||||
| goodsName: that.data.data.title, // 商品名称 必填 | |||||
| goodsPhoto: that.data.data.coverImg, // 商品图片链接 必填 | |||||
| goodsId: that.data.data.couponChannel.ttSpuId, // 商品ID 必填 | |||||
| goodsType: 1, // 商品类型 必填 | |||||
| goodsLabels: ['过期退', '随时退', '免预约'], // 商品标签 非必填 | |||||
| dateRule: '', // 使用规则 非必填 | |||||
| }, | |||||
| ], | |||||
| payment: { | |||||
| totalAmount: that.data.priceAndStockObj.salePrice, // 订单总价 必填 | |||||
| }, | |||||
| success: res => { | |||||
| tt.hideLoading(); | |||||
| that.setData({ | |||||
| showbutton: false, | |||||
| showbutton1: false | |||||
| }) | |||||
| const { orderId, outOrderNo } = res; | |||||
| that.setData({ orderId, outOrderNo }); | |||||
| that.payOrderUpdate(outOrderNo, outOrderNo, 1, '', '', that, ''); | |||||
| }, | |||||
| fail: res => { | |||||
| const { orderId, outOrderNo, errNo, errMsg, errLogId } = res; | |||||
| if (errLogId) { | |||||
| tt.hideLoading(); | |||||
| that.setData({ | |||||
| showbutton: false, | |||||
| showbutton1: false | |||||
| }) | }) | ||||
| } else if (that.data.data.type != "5" && that.data.cardType != 100) { | |||||
| tt.setStorage({ | |||||
| key: 'couponNum', | |||||
| data: "couponNum" | |||||
| console.log('预下单失败', errNo, errMsg, errLogId); | |||||
| } | |||||
| if (orderId || outOrderNo) { | |||||
| tt.hideLoading(); | |||||
| that.setData({ | |||||
| showbutton: false, | |||||
| showbutton1: false | |||||
| }) | }) | ||||
| console.log('支付失败', errNo, errMsg, orderId, outOrderNo); | |||||
| console.log(that.payOrderUpdate, "payOrderUpdate"); | |||||
| that.payOrderUpdate(outOrderNo,outOrderNo,2,'','fail') | |||||
| } | } | ||||
| } | |||||
| }, | |||||
| } | } | ||||
| console.log(options, "options"); | |||||
| tt.createOrder(options) | |||||
| } else { | } else { | ||||
| if (res) { | |||||
| tt.navigateTo({ | |||||
| url: `/pages/bargain/bargainDatail/bargainDatail?orderId=${res.data.mainOrderId}&composeOrderType=${res.data.composeOrderType}`, | |||||
| }) | |||||
| } | |||||
| //不支持 支付2.0 js -api | |||||
| } | } | ||||
| } | |||||
| }).catch(err => { | |||||
| tt.hideLoading() | |||||
| that.setData({ | |||||
| showbutton: false, | |||||
| showbutton1: false | |||||
| }) | }) | ||||
| if (err.code == 2011) { | |||||
| tt.showToast({ | |||||
| title: "商户信息没找到", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 2013) { | |||||
| tt.showToast({ | |||||
| title: "商户信息禁用", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 3000) { | |||||
| tt.showToast({ | |||||
| title: "库存不足", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 3001) { | |||||
| tt.showToast({ | |||||
| title: "您已超过限购", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 3002) { | |||||
| tt.showToast({ | |||||
| title: "订单失败", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 3003) { | |||||
| tt.showToast({ | |||||
| title: "订单不存在", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 3004) { | |||||
| tt.showToast({ | |||||
| title: "订单不存在", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 4003) { | |||||
| tt.showToast({ | |||||
| title: "卡券已作废", | |||||
| image: './../../../assets/images/fail.png', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } else if (err.code == 3012) { | |||||
| that.getUnPaidOrder(that.data.couponId); | |||||
| } else if (err.code == 11005) { | |||||
| /** | |||||
| * 将值传到用户手机号授权的页面 | |||||
| * | |||||
| */ | |||||
| tt.redirectTo({ | |||||
| url: "/pages/getphoneInfo/index?couponChannelId=" + | |||||
| that.data.couponChannelId | |||||
| }); | |||||
| } else if (err.code == 11006) { | |||||
| // 用户手机已加密 | |||||
| tt.redirectTo({ | |||||
| url: "/pages/phoneinput/phoneinput?couponChannelId=" + | |||||
| that.data.couponChannelId | |||||
| }); | |||||
| } else { | |||||
| tt.showToast({ | |||||
| title: err.message, | |||||
| icon: 'none', | |||||
| duration: 2000, | |||||
| mask: false | |||||
| }); | |||||
| } | |||||
| }) | |||||
| }).catch(err => { | }).catch(err => { | ||||
| console.log(err) | console.log(err) | ||||
| if (err.code == 11004) { | if (err.code == 11004) { | ||||
| @@ -1328,7 +1456,7 @@ Page({ | |||||
| }) | }) | ||||
| }, | }, | ||||
| onShow() { | onShow() { | ||||
| this.ifGetUser()//判断是否授权抖音 | this.ifGetUser()//判断是否授权抖音 | ||||
| this.setData({ | this.setData({ | ||||
| @@ -1394,23 +1522,23 @@ Page({ | |||||
| }, | }, | ||||
| // onShareAppMessage: function(e) { | |||||
| // console.log("onShareAppMessage", e); | |||||
| // return { | |||||
| // channel: 'video', | |||||
| // title: "测试小程序分享", | |||||
| // desc: "这是默认的分享文案,用户可以直接发送,也可以在发布器内修改", | |||||
| // extra: { | |||||
| // spu_id:"7091460633887279111" //开发者在抖音开放平台设置的商品id | |||||
| // }, | |||||
| // success: function(e) { | |||||
| // console.log("分享成功"); | |||||
| // }, | |||||
| // fail: function(e) { | |||||
| // console.log(e,"分享成功失败") | |||||
| // } | |||||
| // }; | |||||
| // }, | |||||
| // onShareAppMessage: function(e) { | |||||
| // console.log("onShareAppMessage", e); | |||||
| // return { | |||||
| // channel: 'video', | |||||
| // title: "测试小程序分享", | |||||
| // desc: "这是默认的分享文案,用户可以直接发送,也可以在发布器内修改", | |||||
| // extra: { | |||||
| // spu_id:"7091460633887279111" //开发者在抖音开放平台设置的商品id | |||||
| // }, | |||||
| // success: function(e) { | |||||
| // console.log("分享成功"); | |||||
| // }, | |||||
| // fail: function(e) { | |||||
| // console.log(e,"分享成功失败") | |||||
| // } | |||||
| // }; | |||||
| // }, | |||||
| // 下拉刷新 | // 下拉刷新 | ||||
| onPullDownRefresh: function () { | onPullDownRefresh: function () { | ||||
| @@ -88,12 +88,13 @@ | |||||
| <text class='throgh'>{{priceAndStockObj.price/100}}元</text> | <text class='throgh'>{{priceAndStockObj.price/100}}元</text> | ||||
| </view> | </view> | ||||
| <view class="sellBox"> {{'已售'+(priceAndStockObj.inventory-priceAndStockObj.remainInventory)+'|'+'库存'+priceAndStockObj.remainInventory}}</view> | |||||
| </view> | </view> | ||||
| <view class="subTitleBox"> | |||||
| <!-- <view class="subTitleBox"> | |||||
| <text class="subTitle">{{data.subTitle}}</text> | <text class="subTitle">{{data.subTitle}}</text> | ||||
| <view class="sellBox"> {{'已售'+(priceAndStockObj.inventory-priceAndStockObj.remainInventory)+'|'+'库存'+priceAndStockObj.remainInventory}}</view> | |||||
| </view> | |||||
| </view> --> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| @@ -107,7 +108,8 @@ | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <vieW class="groupTitleBox"> | <vieW class="groupTitleBox"> | ||||
| <view class="groupTitle" tt:if="{{data.itemGroup.length>0}}">团购详情</view> | |||||
| <view class="groupTitle" tt:if="{{data.itemGroup.length>0}}">餐饮搭配</view> | |||||
| <view class="groupTitle" tt:if="{{data.Description.length>0}}">商品描述</view> | |||||
| </vieW> | </vieW> | ||||
| <view class="groupTextBox" tt:if="{{data.itemGroup.length>0}}" tt:for="{{data.itemGroup}}"> | <view class="groupTextBox" tt:if="{{data.itemGroup.length>0}}" tt:for="{{data.itemGroup}}"> | ||||
| @@ -121,6 +123,12 @@ | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| <view class="groupTextBox" tt:if="{{data.Description.length>0}}" tt:for="{{data.Description}}"> | |||||
| <view class="groupTitleS">{{item}}</view> | |||||
| </view> | |||||
| <!-- 适用门店 --> | <!-- 适用门店 --> | ||||
| <store merchantVoList="{{merchantVoList}}" tt:if="{{data.type!=12}}"></store> | <store merchantVoList="{{merchantVoList}}" tt:if="{{data.type!=12}}"></store> | ||||
| @@ -129,15 +137,37 @@ | |||||
| <view class="timeText">有效期</view> | <view class="timeText">有效期</view> | ||||
| <view class="Hchild">{{validStartDate}}至{{validEndDate}}</view> | <view class="Hchild">{{validStartDate}}至{{validEndDate}}</view> | ||||
| <view class="timeText">可用时间</view> | <view class="timeText">可用时间</view> | ||||
| <view class="Hchild">•商家营业时间可用</view> | |||||
| <view class="Hchild">• 商家营业时间内到店使用</view> | |||||
| <view class="Hchild" tt:if="{{data.can_no_use_date.weekend}}">• 周末不支持使用</view> | |||||
| <view class="Hchild" tt:if="{{data.can_no_use_date.HolidaysFlag}}">• 节假日(元旦、春节、清明、劳动节、端午节、中秋节、国庆节、情人节、圣诞节)不支持使用</view> | |||||
| <view class="timeText">购买限制</view> | |||||
| <view class="Hchild">• 每个用户限购{{data.useLimitQuantity}}单</view> | |||||
| <view class="timeText">预约消费</view> | <view class="timeText">预约消费</view> | ||||
| <view class="Hchild">• 不需预约,高峰时段可能需要排队</view> | |||||
| <view class="Hchild">• 无需预约,高峰时段可能等位</view> | |||||
| <view class="timeText" tt:if="{{data.rec_person_num_max}}">适用人数</view> | |||||
| <view class="Hchild" tt:if="{{data.rec_person_num_max}}">• 该团购劵最多{{data.rec_person_num_max}}人使用</view> | |||||
| <view class="timeText">温馨提示</view> | |||||
| <view class="Hchild">• 团购券不支持配送或外卖</view> | <view class="Hchild">• 团购券不支持配送或外卖</view> | ||||
| <view class="timeText">使用规则</view> | |||||
| <view class="Hchild" tt:if="{{data.pack}}">• 该团购商品{{data.pack=='false'?'不支持':'支持'}}打包</view> | |||||
| <view class="Hchild" tt:if="{{data.besides}}">• {{data.besides=="false"?'不可以':'可以'}}外带餐食</view> | |||||
| <view class="Hchild" tt:if="{{data.superimposed_discounts}}">• {{data.superimposed_discounts=="false"?'不可以':'可以'}}享受店内其他优惠</view> | |||||
| <view class="Hchild" tt:if="{{data.private_room}}">• {{data.private_room=="false"?'不提供':'提供'}}包间</view> | |||||
| <view class="notesH">使用规则</view> | |||||
| <text tt:if="{{curHtml==''}}" class="notesText">{{data.remark}}</text> | <text tt:if="{{curHtml==''}}" class="notesText">{{data.remark}}</text> | ||||
| <view tt:if="{{curHtml!=''}}"> | <view tt:if="{{curHtml!=''}}"> | ||||
| <rich-text nodes="{{curHtml}}"></rich-text> | <rich-text nodes="{{curHtml}}"></rich-text> | ||||
| </view> | </view> | ||||
| <view tt:if="{{data.curLsit}}" tt:for="{{data.curLsit}}" tt:key="{{index}}"> | |||||
| <view class="timeText" tt:if="{{item.title!=''}}">{{item.title}}</view> | |||||
| <text class="Hchild">{{item.content}}</text> | |||||
| </view> | |||||
| </view> | </view> | ||||
| <view tt:if="{{couponList.length!=0}}" | <view tt:if="{{couponList.length!=0}}" | ||||
| @@ -355,7 +355,7 @@ button::after { | |||||
| height: 25px; | height: 25px; | ||||
| line-height: 25px; | line-height: 25px; | ||||
| width: 92%; | width: 92%; | ||||
| margin: 10rpx auto; | |||||
| margin: 10rpx auto 0 auto; | |||||
| } | } | ||||
| .fl { | .fl { | ||||
| float: left; | float: left; | ||||
| @@ -1120,7 +1120,7 @@ checkbox-group, radio-group { | |||||
| color: #333; | color: #333; | ||||
| letter-spacing: 0; | letter-spacing: 0; | ||||
| font-size: 28rpx; | font-size: 28rpx; | ||||
| height: 50rpx; | |||||
| /* height: 50rpx; */ | |||||
| line-height: 50rpx; | line-height: 50rpx; | ||||
| width: 90%; | width: 90%; | ||||
| margin: 0 auto; | margin: 0 auto; | ||||
| @@ -2,7 +2,7 @@ | |||||
| <!-- <navbar back home text="我的券包" background='#fff' color="#000"></navbar> | <!-- <navbar back home text="我的券包" background='#fff' color="#000"></navbar> | ||||
| <view style="height:{{navigationBarHeight}} "></view> --> | <view style="height:{{navigationBarHeight}} "></view> --> | ||||
| <view class="boatBoxf" style="top:{{navigationBarHeight}}"> | |||||
| <view class="boatBoxf" > | |||||
| <view class="boatBox"> | <view class="boatBox"> | ||||
| <view class="boatItemBox" tt:for="{{boatLsit}}" tt:key="index" bindtap="setBoatFlag" data-index="{{index}}"> | <view class="boatItemBox" tt:for="{{boatLsit}}" tt:key="index" bindtap="setBoatFlag" data-index="{{index}}"> | ||||
| <view class="{{boatFlag==item.value? 'boatTitleA':'boatTitle'}}">{{item.name}}</view> | <view class="{{boatFlag==item.value? 'boatTitleA':'boatTitle'}}">{{item.name}}</view> | ||||
| @@ -150,6 +150,11 @@ Page({ | |||||
| checkuserstatus(options) { | checkuserstatus(options) { | ||||
| let that = this; | let that = this; | ||||
| if(options && options.couponChannelId&&options.type=='orderAffirm'){ | |||||
| tt.redirectTo({ | |||||
| url:`/pages/coupon/confirmation/confirmation?couponChannelId=${options.couponChannelId}` | |||||
| }) | |||||
| } | |||||
| if(options && options.couponChannelId && !options.spellGroup && app.globalData.type != 'sd'){ | if(options && options.couponChannelId && !options.spellGroup && app.globalData.type != 'sd'){ | ||||
| if (options.cuserId) { | if (options.cuserId) { | ||||
| tt.redirectTo({ | tt.redirectTo({ | ||||
| @@ -10,9 +10,10 @@ Page({ | |||||
| * 页面的初始数据 | * 页面的初始数据 | ||||
| */ | */ | ||||
| data: { | data: { | ||||
| payOrderNo:"",//评价订单id | |||||
| evaluateFlag:false,//控制评价显隐藏 | |||||
| serviceUrl:'',//客服外部链接 | |||||
| outOrderNo:'',//支付2.0继续支付id | |||||
| payOrderNo: "",//评价订单id | |||||
| evaluateFlag: false,//控制评价显隐藏 | |||||
| serviceUrl: '',//客服外部链接 | |||||
| dynamicRq: "", | dynamicRq: "", | ||||
| expiredSeconds: 0, | expiredSeconds: 0, | ||||
| showhieRq: false, | showhieRq: false, | ||||
| @@ -90,13 +91,13 @@ Page({ | |||||
| }, | }, | ||||
| }); | }); | ||||
| }, | }, | ||||
| refund(){//退款 | |||||
| refund() {//退款 | |||||
| Http.post({ | Http.post({ | ||||
| url:config.api.refund, | |||||
| data:{ | |||||
| orderId:this.data.order.id | |||||
| url: config.api.refund, | |||||
| data: { | |||||
| orderId: this.data.order.id | |||||
| } | } | ||||
| }).then(res=>{ | |||||
| }).then(res => { | |||||
| tt.navigateTo({ | tt.navigateTo({ | ||||
| url: `/pages/refund/refund?id=${this.data.order.id}`, | url: `/pages/refund/refund?id=${this.data.order.id}`, | ||||
| success: (res) => { | success: (res) => { | ||||
| @@ -106,7 +107,7 @@ Page({ | |||||
| }, | }, | ||||
| }); | }); | ||||
| }).catch(err=>{ | |||||
| }).catch(err => { | |||||
| tt.showToast({ | tt.showToast({ | ||||
| title: err.message ? err.message : err.data, // 内容 | title: err.message ? err.message : err.data, // 内容 | ||||
| icon: "none" | icon: "none" | ||||
| @@ -115,14 +116,14 @@ Page({ | |||||
| }, | }, | ||||
| goRefund(e) { | goRefund(e) { | ||||
| let this_ = this | let this_ = this | ||||
| if(this_.data.order.couponOrderStatus==0){ | |||||
| if (this_.data.order.couponOrderStatus == 0) { | |||||
| tt.showModal({ | tt.showModal({ | ||||
| title: "申请退款", | title: "申请退款", | ||||
| content: "提交申请退款", | content: "提交申请退款", | ||||
| confirmText: "确定", | confirmText: "确定", | ||||
| success(res) { | success(res) { | ||||
| if (res.confirm) { | if (res.confirm) { | ||||
| this_.refund() | this_.refund() | ||||
| console.log("confirm, continued"); | console.log("confirm, continued"); | ||||
| } else if (res.cancel) { | } else if (res.cancel) { | ||||
| @@ -135,7 +136,7 @@ Page({ | |||||
| console.log(`showModal调用失败`); | console.log(`showModal调用失败`); | ||||
| }, | }, | ||||
| }); | }); | ||||
| }else if(this_.data.order.couponOrderStatus==3){//退款中 | |||||
| } else if (this_.data.order.couponOrderStatus == 3) {//退款中 | |||||
| tt.navigateTo({ | tt.navigateTo({ | ||||
| url: `/pages/refund/refund?id=${this.data.order.id}`, | url: `/pages/refund/refund?id=${this.data.order.id}`, | ||||
| success: (res) => { | success: (res) => { | ||||
| @@ -146,7 +147,7 @@ Page({ | |||||
| }, | }, | ||||
| }); | }); | ||||
| } | } | ||||
| }, | }, | ||||
| @@ -170,12 +171,13 @@ Page({ | |||||
| tempData.validEndDate = util.formatTime(tempData.validEndDate, "yyyy-MM-dd") | tempData.validEndDate = util.formatTime(tempData.validEndDate, "yyyy-MM-dd") | ||||
| that.setData({ | that.setData({ | ||||
| outOrderNo:res.data.id, | |||||
| order: tempData, | order: tempData, | ||||
| showPage: true, | showPage: true, | ||||
| createDate: createDate, | createDate: createDate, | ||||
| composeOrderType: tempData.composeOrderType, | composeOrderType: tempData.composeOrderType, | ||||
| contentType: tempData.contentType ? tempData.contentType : 0, | contentType: tempData.contentType ? tempData.contentType : 0, | ||||
| orderFlag: tempData.type == 11 ? true : false ,//判断是不是线上配送 | |||||
| orderFlag: tempData.type == 11 ? true : false,//判断是不是线上配送 | |||||
| }) | }) | ||||
| if (tempData.couponOrderId) { //0未付款 1已支付 2已取消 3退款中 4已退款 | if (tempData.couponOrderId) { //0未付款 1已支付 2已取消 3退款中 4已退款 | ||||
| that.setRq() | that.setRq() | ||||
| @@ -220,7 +222,7 @@ Page({ | |||||
| setInter: setInter | setInter: setInter | ||||
| }) | }) | ||||
| } | } | ||||
| if(tempData.couponOrderStatus&&tempData.couponOrderStatus==1){//核销后 | |||||
| if (tempData.couponOrderStatus && tempData.couponOrderStatus == 1) {//核销后 | |||||
| that.goIfEvaluate()//判断订单是否能评价 | that.goIfEvaluate()//判断订单是否能评价 | ||||
| } | } | ||||
| }) | }) | ||||
| @@ -327,7 +329,7 @@ Page({ | |||||
| couponOrderId: _this.data.order.couponOrderId | couponOrderId: _this.data.order.couponOrderId | ||||
| } | } | ||||
| }).then(res => { | }).then(res => { | ||||
| console.log(res, "res") | |||||
| console.log(res, "res") | |||||
| _this.setData({ | _this.setData({ | ||||
| dynamicRq: res.data.dynamicId, | dynamicRq: res.data.dynamicId, | ||||
| expiredSeconds: res.data.expiredSeconds | expiredSeconds: res.data.expiredSeconds | ||||
| @@ -338,9 +340,9 @@ Page({ | |||||
| TYPE: "couponorder", | TYPE: "couponorder", | ||||
| ID: _this.data.dynamicRq | ID: _this.data.dynamicRq | ||||
| }) | }) | ||||
| if(res.data.expiredSeconds==0){ | |||||
| if (res.data.expiredSeconds == 0) { | |||||
| //倒计时为零直接显示券码 | //倒计时为零直接显示券码 | ||||
| }else{ | |||||
| } else { | |||||
| let inre = setInterval(() => { | let inre = setInterval(() => { | ||||
| if (_this.data.expiredSeconds > 1) { | if (_this.data.expiredSeconds > 1) { | ||||
| _this.setData({ | _this.setData({ | ||||
| @@ -440,7 +442,7 @@ Page({ | |||||
| console.log(err); | console.log(err); | ||||
| }) | }) | ||||
| }, | }, | ||||
| goEvaluate(){ | |||||
| goEvaluate() { | |||||
| let _this = this | let _this = this | ||||
| tt.rateAwemeOrder({ | tt.rateAwemeOrder({ | ||||
| orderId: _this.data.payOrderNo, | orderId: _this.data.payOrderNo, | ||||
| @@ -450,10 +452,10 @@ Page({ | |||||
| tt.navigateBack({ | tt.navigateBack({ | ||||
| delta: 1, | delta: 1, | ||||
| success: (res) => { | success: (res) => { | ||||
| }, | }, | ||||
| fail: (res) => { | fail: (res) => { | ||||
| }, | }, | ||||
| }); | }); | ||||
| // 用户已经评价的逻辑 | // 用户已经评价的逻辑 | ||||
| @@ -467,28 +469,28 @@ Page({ | |||||
| }); | }); | ||||
| }, | }, | ||||
| goIfEvaluate(){ | |||||
| goIfEvaluate() { | |||||
| let _this = this | let _this = this | ||||
| Http.get({ | Http.get({ | ||||
| url:config.api.getchanId, | |||||
| data:{ | |||||
| id:_this.data.order.couponOrderId | |||||
| url: config.api.getchanId, | |||||
| data: { | |||||
| id: _this.data.order.couponOrderId | |||||
| } | } | ||||
| }).then(res=>{ | |||||
| }).then(res => { | |||||
| tt.canRateAwemeOrders({ | tt.canRateAwemeOrders({ | ||||
| orderIds: [res.data.payOrderNo], | orderIds: [res.data.payOrderNo], | ||||
| success({ result }) { | success({ result }) { | ||||
| console.log("result", result); | console.log("result", result); | ||||
| _this.setData({ | _this.setData({ | ||||
| evaluateFlag:result[0], | |||||
| payOrderNo:res.data.payOrderNo | |||||
| evaluateFlag: result[0], | |||||
| payOrderNo: res.data.payOrderNo | |||||
| }) | }) | ||||
| }, | }, | ||||
| fail(err) { | fail(err) { | ||||
| console.log(err); | console.log(err); | ||||
| }, | }, | ||||
| }); | }); | ||||
| }).catch(err=>{ | |||||
| }).catch(err => { | |||||
| tt.showToast({ | tt.showToast({ | ||||
| title: err.message ? err.message : err.data, // 内容 | title: err.message ? err.message : err.data, // 内容 | ||||
| icon: "none" | icon: "none" | ||||
| @@ -521,7 +523,7 @@ Page({ | |||||
| title: "加载中" | title: "加载中" | ||||
| }); | }); | ||||
| }, | }, | ||||
| onShow: function () { | onShow: function () { | ||||
| @@ -531,32 +533,32 @@ Page({ | |||||
| }) | }) | ||||
| that.updetail() | that.updetail() | ||||
| }, | }, | ||||
| getSeUrl(){//获取客服链接 | |||||
| getSeUrl() {//获取客服链接 | |||||
| const openId = tt.getStorageSync('openId'); | const openId = tt.getStorageSync('openId'); | ||||
| Http.post({ | Http.post({ | ||||
| url:config.api.getServiceUrl, | |||||
| data:{ | |||||
| url: config.api.getServiceUrl, | |||||
| data: { | |||||
| appid: app.globalData.appId, | appid: app.globalData.appId, | ||||
| openid: openId | openid: openId | ||||
| } | } | ||||
| }).then(res=>{ | |||||
| }).then(res => { | |||||
| this.setData({ | this.setData({ | ||||
| serviceUrl:res.data?res.data:'' | |||||
| serviceUrl: res.data ? res.data : '' | |||||
| }) | }) | ||||
| if(res.data){ | |||||
| if (res.data) { | |||||
| tt.setStorageSync('serviceData', res.data); | tt.setStorageSync('serviceData', res.data); | ||||
| } | } | ||||
| }) | }) | ||||
| }, | }, | ||||
| goWebView(){ | |||||
| goWebView() { | |||||
| let _this = this | let _this = this | ||||
| tt.navigateTo({ | tt.navigateTo({ | ||||
| url: `/pages/serviceWebView/serviceWebView`, | url: `/pages/serviceWebView/serviceWebView`, | ||||
| success: (res) => { | success: (res) => { | ||||
| }, | }, | ||||
| fail: (res) => { | fail: (res) => { | ||||
| }, | }, | ||||
| }); | }); | ||||
| }, | }, | ||||
| @@ -589,6 +591,7 @@ Page({ | |||||
| */ | */ | ||||
| orderFunc(e) { | orderFunc(e) { | ||||
| var that = this; | var that = this; | ||||
| const orderId = "" + that.data.orderId; | |||||
| that.setData({ | that.setData({ | ||||
| showButton: true | showButton: true | ||||
| }) | }) | ||||
| @@ -596,134 +599,170 @@ Page({ | |||||
| title: "加载中..." | title: "加载中..." | ||||
| }); | }); | ||||
| const orderId = "" + that.data.orderId; | |||||
| if (that.data.order.payment > 0) { | |||||
| // 支付金额不为0 | |||||
| Http.post({ | |||||
| url: config.api.payOrderCreate, | |||||
| data: { | |||||
| orderId: orderId, | |||||
| composeOrderType: that.data.composeOrderType | |||||
| } | |||||
| }).then(res => { | |||||
| var payOrderId = "" + res.data.outOrderNo; | |||||
| tt.hideLoading(); | |||||
| tt.pay({ | |||||
| service: 5, | |||||
| orderInfo: { | |||||
| order_id: res.data.orderId, | |||||
| order_token: res.data.token, | |||||
| }, | |||||
| success: res => { | |||||
| tt.showLoading({ | |||||
| title: '订单正在处理中...', | |||||
| }) | |||||
| if (res.code == 0) { | |||||
| setTimeout(function () { | |||||
| tt.hideLoading() | |||||
| }, 5000) | |||||
| that.payOrderUpdate(that.data.orderId, payOrderId, 1, '', '', that); // 支付成功 | |||||
| if (res.errMsg == "requestPayment:ok") { | |||||
| if (that.data.order.type == 100) { | |||||
| tt.setStorage({ | |||||
| key: 'couponNum2', | |||||
| data: "couponNum2" | |||||
| }) | |||||
| } else if (that.data.order.type != 5) { | |||||
| tt.setStorage({ | |||||
| key: 'couponNum', | |||||
| data: "couponNum" | |||||
| }) | |||||
| } | |||||
| } | |||||
| } else if (res.code === 1) { | |||||
| that.setData({ | |||||
| showButton: false | |||||
| if (!tt.canIUse('createOrder')) {//兼容不支持支付2.0 js-api | |||||
| if (that.data.order.payment > 0) { | |||||
| // 支付金额不为0 | |||||
| Http.post({ | |||||
| url: config.api.payOrderCreate, | |||||
| data: { | |||||
| orderId: orderId, | |||||
| composeOrderType: that.data.composeOrderType | |||||
| } | |||||
| }).then(res => { | |||||
| var payOrderId = "" + res.data.outOrderNo; | |||||
| tt.hideLoading(); | |||||
| tt.pay({ | |||||
| service: 5, | |||||
| orderInfo: { | |||||
| order_id: res.data.orderId, | |||||
| order_token: res.data.token, | |||||
| }, | |||||
| success: res => { | |||||
| tt.showLoading({ | |||||
| title: '订单正在处理中...', | |||||
| }) | }) | ||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '支付超时', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| if (res.code == 0) { | |||||
| setTimeout(function () { | |||||
| tt.hideLoading() | |||||
| }, 5000) | |||||
| that.payOrderUpdate(that.data.orderId, payOrderId, 1, '', '', that); // 支付成功 | |||||
| if (res.errMsg == "requestPayment:ok") { | |||||
| if (that.data.order.type == 100) { | |||||
| tt.setStorage({ | |||||
| key: 'couponNum2', | |||||
| data: "couponNum2" | |||||
| }) | |||||
| } else if (that.data.order.type != 5) { | |||||
| tt.setStorage({ | |||||
| key: 'couponNum', | |||||
| data: "couponNum" | |||||
| }) | |||||
| } | |||||
| } | |||||
| } else if (res.code === 1) { | |||||
| that.setData({ | |||||
| showButton: false | |||||
| }) | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '支付超时', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } else if (res.code === 2) { | |||||
| that.setData({ | |||||
| showButton: false | |||||
| }) | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '支付失败', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } else if (res.code === 2) { | |||||
| that.setData({ | |||||
| showButton: false | |||||
| }) | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '支付失败', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } else if (res.code === 3) { | |||||
| } else if (res.code === 3) { | |||||
| that.setData({ | |||||
| showButton: false | |||||
| }) | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '支付关闭', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } else if (res.code === 4) { | |||||
| that.setData({ | |||||
| showButton: false | |||||
| }) | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '支付取消', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } else if (res.code === 9) { | |||||
| that.setData({ | |||||
| showButton: false | |||||
| }) | |||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '订单状态开发者自行获取', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } | |||||
| }, | |||||
| fail: res => { | |||||
| that.setData({ | that.setData({ | ||||
| showButton: false | showButton: false | ||||
| }) | }) | ||||
| tt.hideLoading(); | |||||
| tt.showToast({ | |||||
| title: '支付关闭', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } else if (res.code === 4) { | |||||
| that.payOrderUpdate(that.data.orderId, payOrderId, 2, '', 'fail', that); | |||||
| return; | |||||
| }, | |||||
| }); | |||||
| }).catch(err => { | |||||
| tt.hideLoading(); | |||||
| that.setData({ | |||||
| showButton: false | |||||
| }) | |||||
| tt.showModal({ | |||||
| title: "抱歉", | |||||
| content: err.message, | |||||
| showCancel: false | |||||
| }) | |||||
| }); | |||||
| } else { | |||||
| // 免费券 | |||||
| that.payOrderUpdate(orderId, "0", 1, '', 'free') // 支付成功 | |||||
| if (that.data.order.type == 100) { | |||||
| tt.setStorage({ | |||||
| key: 'couponNum2', | |||||
| data: "couponNum2" | |||||
| }) | |||||
| } else if (that.data.order.type != "5") { | |||||
| tt.setStorage({ | |||||
| key: 'couponNum', | |||||
| data: "couponNum" | |||||
| }) | |||||
| } | |||||
| tt.showToast({ | |||||
| title: "支付成功", | |||||
| duration: 2000, | |||||
| image: imgurl.success.url, | |||||
| }); | |||||
| } | |||||
| }else{//支持 支付2.0 js-api | |||||
| const outOrderNo = that.data.outOrderNo | |||||
| console.log(outOrderNo,"outOrderNo"); | |||||
| tt.continueToPay({ | |||||
| outOrderNo: outOrderNo, // 外部订单号 2个订单号必填一个 | |||||
| success: res => { | |||||
| const { orderId, outOrderNo } = res; | |||||
| console.log('success res', res); | |||||
| console.log('orderId', orderId, 'outOrderNo', outOrderNo); | |||||
| that.setData({ | |||||
| showButton: false | |||||
| }) | |||||
| tt.hideLoading(); | |||||
| that.payOrderUpdate(outOrderNo, outOrderNo, 1, '', '', that); // 支付成功 | |||||
| }, | |||||
| fail: res => { | |||||
| const { orderId, outOrderNo, errNo, errMsg, errLogId } = res; | |||||
| if(errLogId){ | |||||
| console.log('查询订单信息失败',errNo, errMsg, errLogId); | |||||
| that.setData({ | that.setData({ | ||||
| showButton: false | showButton: false | ||||
| }) | }) | ||||
| tt.hideLoading(); | tt.hideLoading(); | ||||
| tt.showToast({ | |||||
| title: '支付取消', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } else if (res.code === 9) { | |||||
| } | |||||
| if( orderId || outOrderNo){ | |||||
| console.log('支付失败',errNo, errMsg , orderId, outOrderNo); | |||||
| that.payOrderUpdate(outOrderNo, outOrderNo, 2, '', 'fail', that); | |||||
| that.setData({ | that.setData({ | ||||
| showButton: false | showButton: false | ||||
| }) | }) | ||||
| tt.hideLoading(); | tt.hideLoading(); | ||||
| tt.showToast({ | |||||
| title: '订单状态开发者自行获取', // 内容 | |||||
| icon: "none" | |||||
| }); | |||||
| } | |||||
| }, | |||||
| fail: res => { | |||||
| that.setData({ | |||||
| showButton: false | |||||
| }) | |||||
| that.payOrderUpdate(that.data.orderId, payOrderId, 2, '', 'fail', that); | |||||
| return; | |||||
| }, | |||||
| }); | |||||
| }).catch(err => { | |||||
| tt.hideLoading(); | |||||
| that.setData({ | |||||
| showButton: false | |||||
| }) | |||||
| tt.showModal({ | |||||
| title: "抱歉", | |||||
| content: err.message, | |||||
| showCancel: false | |||||
| }) | |||||
| }); | |||||
| } else { | |||||
| // 免费券 | |||||
| that.payOrderUpdate(orderId, "0", 1, '', 'free') // 支付成功 | |||||
| if (that.data.order.type == 100) { | |||||
| tt.setStorage({ | |||||
| key: 'couponNum2', | |||||
| data: "couponNum2" | |||||
| }) | |||||
| } else if (that.data.order.type != "5") { | |||||
| tt.setStorage({ | |||||
| key: 'couponNum', | |||||
| data: "couponNum" | |||||
| }) | |||||
| } | |||||
| tt.showToast({ | |||||
| title: "支付成功", | |||||
| duration: 2000, | |||||
| image: imgurl.success.url, | |||||
| } | |||||
| }, | |||||
| }); | }); | ||||
| } | } | ||||
| }, | }, | ||||
| /** | /** | ||||
| * 支付订单更新 | * 支付订单更新 | ||||
| @@ -37,7 +37,7 @@ | |||||
| <image class="infoArrow" src="{{chevronUrl}}" mode='widthFix'></image> | <image class="infoArrow" src="{{chevronUrl}}" mode='widthFix'></image> | ||||
| <view class="goRefund" catchtap="goRefund" data-id="{{order.id}}" tt:if="{{order.couponOrderStatus==0||order.couponOrderStatus==3}}">{{order.couponOrderStatus==0?'申请退款':'退款进度'}}</view> | |||||
| <view class="goRefund" catchtap="goRefund" data-id="{{order.id}}" tt:if="{{order.payment!=0&&(order.couponOrderStatus==0||order.couponOrderStatus==3)}}">{{order.couponOrderStatus==0?'申请退款':'退款进度'}}</view> | |||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| </view> | </view> | ||||
| @@ -1,49 +1,40 @@ | |||||
| { | { | ||||
| "setting": { | |||||
| "urlCheck": true, | |||||
| "es6": true, | |||||
| "newFeature": false, | |||||
| "postcss": false, | |||||
| "mockUpdate": false, | |||||
| "minified": false, | |||||
| "autoPush": false, | |||||
| "scripts": false, | |||||
| "mockLogin": false | |||||
| }, | |||||
| "appid": "ttde7ca8c141425a2301", | |||||
| "projectname": "tt富茂C", | |||||
| "condition": { | |||||
| "miniprogram": { | |||||
| "current": -1, | |||||
| "list": [ | |||||
| { | |||||
| "id": 1650610427387, | |||||
| "name": "华莱士", | |||||
| "pathName": "pages/main/index?type=cd&couponChannelId=123467", | |||||
| "query": "couponChannelId=676951389111508992", | |||||
| "scene": "990001", | |||||
| "launchFrom": "scan", | |||||
| "location": "qr_code" | |||||
| }, | |||||
| { | |||||
| "id": 1649905362371, | |||||
| "name": "add", | |||||
| "pathName": "pages/liveLsit/liveLsit", | |||||
| "query": "", | |||||
| "scene": "990001", | |||||
| "launchFrom": "scan", | |||||
| "location": "qr_code" | |||||
| }, | |||||
| { | |||||
| "id": 1653894805719, | |||||
| "name": "pages/main/index", | |||||
| "pathName": "pages/main/index", | |||||
| "query": "type=dt&orderId=1111", | |||||
| "scene": "990001", | |||||
| "launchFrom": "scan", | |||||
| "location": "qr_code" | |||||
| } | |||||
| ] | |||||
| "setting": { | |||||
| "urlCheck": true, | |||||
| "es6": true, | |||||
| "newFeature": false, | |||||
| "postcss": false, | |||||
| "mockUpdate": false, | |||||
| "minified": false, | |||||
| "autoPush": false, | |||||
| "scripts": false, | |||||
| "mockLogin": false | |||||
| }, | |||||
| "appid": "ttde7ca8c141425a2301", | |||||
| "projectname": "tt富茂C", | |||||
| "condition": { | |||||
| "miniprogram": { | |||||
| "current": 1649905362371, | |||||
| "list": [ | |||||
| { | |||||
| "id": 1650610427387, | |||||
| "name": "华莱士", | |||||
| "pathName": "pages/main/index?type=cd&couponChannelId=123467", | |||||
| "query": "couponChannelId=676951389111508992", | |||||
| "scene": "990001", | |||||
| "launchFrom": "scan", | |||||
| "location": "qr_code" | |||||
| }, | |||||
| { | |||||
| "id": 1649905362371, | |||||
| "name": "add", | |||||
| "pathName": "pages/main/index", | |||||
| "query": "couponChannelId=697253188828323840&type=orderAffirm", | |||||
| "scene": "990001", | |||||
| "launchFrom": "scan", | |||||
| "location": "qr_code" | |||||
| } | } | ||||
| ] | |||||
| } | } | ||||
| } | |||||
| } | } | ||||