|
- const navigationBarHeight = (getApp().statusBarHeight + 50) + 'px'
- let config = require("../../../config/config.js");
- let util = require("../../../utils/util");
- let Http = require("../../../utils/HttpBasics");
- let app = getApp();
- const imgurl = require("../../../utils/imgurl");
- const QR = require("../../../utils/memberqrcode.js");
- var ttParse = require('../../freeBannerDetail/ttParse/wxParse.js');
-
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- curHtml: '',
- showIdFalg: false,
- outOrderNo: '', //支付2.0继续支付id
- payOrderNo: "", //评价订单id
- evaluateFlag: false, //控制评价显隐藏
- serviceUrl: '', //客服外部链接
- dynamicRq: "",
- expiredSeconds: 0,
- couponTenantId: '',
- showhieRq: false,
- mouldType: 0,
- showFlag: false,
- navigationBarHeight,
- upDataRqUrlF: imgurl.upDataRqF.url,
- succUrl: imgurl.succ.url,
- spcodeUrl: imgurl.spcode.url,
- chevronUrl: imgurl.chevron.url,
- teljpgUrl: imgurl.teljpg.url,
- newUrl: imgurl.new1.url,
- weixinTitle: imgurl.weixinTitle.url,
- lineUrl: imgurl.line.url,
- wm01Url: imgurl.wm01.url,
- wm02Url: imgurl.wm02.url,
- wm03Url: imgurl.wm03.url,
- wm04Url: imgurl.wm04.url,
- wm05Url: imgurl.wm05.url,
- showModalStatus: false,
- flag: 0,
- order: null,
- orderId: null,
- //存储计时器
- setInter: "",
- mystatus: '',
- staticGamedata: {},
- showIf: false,
- showPage: false,
- showButton: false,
- cardDetail: null,
- supportTransfer: '',
- cardIf: false,
- contentType: 0,
- orderFlag: false, //判断是不是线上配送
- tenantId: '',
- mallList: [],
- imId: "",
- orderStatus: 1,
- tenantId: "",
- IMorderId: "",
- outOrderId: "",
- outRefundOrderId: "",
- canIUseRefund: false,
- isAppointment: false,
- appointStart: "",
- appointEnd: "",
- appointmentId: "",
- appointmentStatus: "",
- use_num_per_consume: "",
- },
-
- imCallback(e) {
- console.log("跳转IM客服成功", e);
- },
- onimError(e) {
- console.log("拉起IM客服失败", e.detail);
- },
-
-
- handleRefund(event) {
- const {
- status,
- result
- } = event.detail;
- if (status === 'success') {
- const {
- refundId,
- outRefundNo
- } = result;
- console.log(refundId, outRefundNo, 'handleRefund');
- } else {
- const {
- errMsg
- } = result;
- console.log(errMsg);
- }
- },
-
- applyRefund(event) {
- console.log('applyRefund');
- const {
- orderId
- } = event.detail;
- const extra = {
- tenantId: this.data.tenantId
- }; // 开发者需要透传的参数,可自定义内容
- return new Promise(resolve => {
- console.log(extra, 'extra');
- console.log(this.data.outOrderId, 'outOrderId');
- resolve(extra);
- });
- },
-
- handleError(event) {
- const {
- errMsg,
- errNo
- } = event.detail;
- console.log(event, 'err');
- },
-
- showId() {
- let this_ = this;
- if (!this_.data.showIdFalg) {
- tt.showModal({
- // title: "查看券码",
- content: "是否查看完整券码",
- success(res) {
- if (res.confirm) {
- console.log("confirm, continued");
- this_.setData({
- showIdFalg: true
- })
- } else if (res.cancel) {
- //取消
- console.log("cancel, cold");
- } else {
- // what happend?
- }
- },
- fail(err) {
- console.log(`showModal 调用失败`, err);
- },
- });
- } else {
- this.setData({
- showIdFalg: false
- })
- }
-
- },
-
- copeCode(e) {
- let code = e.currentTarget.dataset.text
- tt.setClipboardData({
- data: code,
- success: function () {
- tt.showToast({
- title: '复制成功',
- icon: "none"
- })
- }
- })
- },
- gokuaidi(e) {
- let nu = e.currentTarget.dataset.nu
- tt.navigateToMiniProgram({
- appId: 'wx6885acbedba59c14',
- path: `pages/result/result?nu=${nu}&com=&querysource=third_xcx`
- })
- },
-
- setShow() {
- this.setData({
- showFlag: true
- })
- },
- hieShow() {
- this.setData({
- showFlag: false
- })
- },
-
- goAppointment(e, orderIdin) {
- const that = this
- const orderId = e ? e.currentTarget.dataset.id : orderIdin
- const id = this.data.appointmentId
- const merOrderId = this.data.orderId
- const startTime = that.data.order.validStartDATE
- const endTime = that.data.order.validEndDate
- console.log(startTime, endTime);
-
- tt.navigateTo({
- url: `/pages2/appointment/appointment?id=${id}&orderId=${orderId}&merOrderId=${merOrderId}&startTime=${startTime}&endTime=${endTime}`,
- });
- },
-
- getUserReservation(couponOrderId) {
- const that = this
- Http.get({
- url: config.api.getUserReservation,
- data: {
- couponOrderId,
- mallTenantId: this.data.mallTenantId || ''
- }
- }).then(res => {
- console.log(res, 'getUserReservation');
- if (res.data) {
- const appointStart = util.timestampToTime(res.data.startDate, 'YYYY-MM-DD hh:mm')
- const appointEnd = util.timestampToTime(res.data.endDate, 'hh:mm')
- console.log(appointStart, appointEnd);
- const appointmentId = res.data.id
- const appointmentStatus = res.data.status
- that.setData({
- appointStart,
- appointEnd,
- appointmentId,
- appointmentStatus,
- isAppointment: true
- })
- }
- }).catch(err => {
- console.log(err, 'getUserReservation');
- })
- },
-
- getOrderStatus(orderId) {
- const that = this
- Http.get({
- url: config.api.getRefundStatus,
- data: {
- orderId,
- mallTenantId: this.data.mallTenantId || ''
- }
- }).then(res => {
- console.log(res, 'res');
- const orderStatus = res.data.orderStatus
- const outOrderId = res.data.outOrderId
- const refundOrderStatus = res.data.refundOrderStatus
- const outRefundOrderId = res.data.outRefundOrderId
- let status = ''
- if (orderStatus == 1) { // 申请退款
- status = 1
- } else if (orderStatus == 3 || orderStatus == 4 || orderStatus == 5) {
-
- if (refundOrderStatus == 1 || refundOrderStatus == 11) { // 退款中
- status = 2
- } else if (refundOrderStatus == 3) { //退款成功
- status = 3
- } else if (refundOrderStatus == 4) { //退款失败
- status = 4
- } else { // 退款处理中
- status = 0
- }
-
- that.setData({
- outRefundOrderId: outRefundOrderId
- })
-
- } else if (orderStatus == 2) {
- status = 'orderCancel'
- } else {
- status = 'noRefund'
- }
- that.setData({
- orderStatus: status,
- outOrderId: outOrderId
- })
- }).catch(err => {
- console.log(err, 'err');
- })
- },
-
- getIm() { //获取im客服id
- const that = this
- Http.get({
- url: config.api.getIm,
- data: {
- mallTenantId: this.data.mallTenantId || ''
- }
- }).then(res => {
- console.log(res, 'getIm');
- const imId = res.data.imId ? res.data.imId : ""
- that.setData({
- imId: imId
- })
- }).catch(err => {
- console.log(err, 'err');
- })
- },
-
- getCouponMerchant() { //获取适用门店
- const that = this
- Http.get({
- url: config.api.orderDetail,
- data: {
- orderId: this.data.orderId,
- mallTenantId: this.data.mallTenantId || ''
- }
- }).then(res => {
- const couponChannelId = res.data.orders[0].couponChannelId
-
- const orderID = res.data.orders[0].id
- const cOrderID = res.data.orders[0].couponOrderId
-
- that.getOrderStatus(orderID)
- that.getUserReservation(cOrderID)
- that.getIm()
- const extParam = res.data.extParam || null
- if (extParam) {
- const obj = JSON.parse(extParam)
- that.setData({
- IMorderId: obj.order_id,
- tenantId: res.data.tenantId,
- })
- }
- Http.get({
- url: config.api.couponMerchant,
- data: {
- couponChannelId: couponChannelId,
- mallTenantId: this.data.mallTenantId || ''
- }
- }).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
- })
- })
- }).catch(err => {
-
- })
- },
-
- goDetail(e) {
- if (e.target.id == "payBtn") return
- tt.navigateTo({
- url: `/pages/coupon/detail/index?couponChannelId=${this.data.order.couponChannelId}&mallTenantId=${this.data.mallTenantId}`,
- success: (res) => {
-
- },
- fail: (res) => {
-
- },
- });
- },
- refund() { //退款
- Http.post({
- url: config.api.refund,
- data: {
- orderId: this.data.order.id,
- mallTenantId: this.data.mallTenantId || ''
- }
- }).then(res => {
- tt.navigateTo({
- url: `/pages/refund/refund?id=${this.data.order.id}&mallTenantId=${this.data.mallTenantId}`,
- success: (res) => {
-
- },
- fail: (res) => {
-
- },
- });
- }).catch(err => {
- tt.showToast({
- title: err.message ? err.message : err.data, // 内容
- icon: "none"
- });
- })
- },
- goRefund(e) {
- let this_ = this
- if (this_.data.order.couponOrderStatus == 0) {
- tt.showModal({
- title: "申请退款",
- content: "提交申请退款",
- confirmText: "确定",
- success(res) {
- if (res.confirm) {
-
- this_.refund()
- console.log("confirm, continued");
- } else if (res.cancel) {
- console.log("cancel, cold");
- } else {
- // what happend?
- }
- },
- fail(res) {
- console.log(`showModal调用失败`);
- },
- });
- } else if (this_.data.order.couponOrderStatus == 3) { //退款中
- tt.navigateTo({
- url: `/pages/refund/refund?id=${this.data.order.id}&mallTenantId=${this.data.mallTenantId}`,
- success: (res) => {
-
- },
- fail: (res) => {
-
- },
- });
- }
-
-
- },
-
- //刷新订单
- updetail() {
- let that = this
- let url = config.api.orderDetail
-
- Http.get({
- url: url,
- data: {
- orderId: this.data.orderId,
- mallTenantId: this.data.mallTenantId || ''
- }
- }).then(res => {
- tt.hideLoading();
- if (res.data.tenantId) {
- that.setData({
- tenantId: res.data.tenantId
- })
- }
- var createDate = util.timestampToTime(res.data.orders[0].createDate, "YYYY-MM-DD");
- let tempData = res.data.orders[0]
- tempData.deliveryInfo = tempData.deliveryInfo ? JSON.parse(tempData.deliveryInfo) : ""
- tempData.itemGroup = tempData.itemGroup ? JSON.parse(tempData.itemGroup) : ""
-
- tempData.soldStartTime = util.timestampToTime(tempData.soldStartTime, "YYYY-MM-DD") || null,
- tempData.soldEndTime = util.timestampToTime(tempData.soldEndTime, "YYYY-MM-DD") || null,
-
- tempData.validStartDATE = tempData.validStartDate
- tempData.validEndDATE = tempData.validEndDate
-
- tempData.validStartDate = util.timestampToTime(tempData.validStartDate, "YYYY-MM-DD")
- tempData.validEndDate = util.timestampToTime(tempData.validEndDate, "YYYY-MM-DD")
-
- tempData.couponOrderIdS = tempData.couponOrderId ? tempData.couponOrderId.slice(0, 4) + `******` + tempData.couponOrderId.slice(14) : ''
-
- if (tempData.productAttrs && tempData.skuAttrs) {
- tempData.productAttrs = JSON.parse(tempData.productAttrs)
- tempData.skuAttrs = JSON.parse(tempData.skuAttrs)
- console.log(tempData.productAttrs);
- console.log(tempData.skuAttrs);
- console.log('****');
- tempData.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}分钟预约`
- }
- tempData.subscribeSing = subscribeSing
- }
- }
-
- if (item.key == "limit_use_rule") {
- if (item.data != '') {
- let tempAppoinObj = JSON.parse(item.data)
- that.setData({
- use_num_per_consume: tempAppoinObj.use_num_per_consume || ""
- })
- }
- }
-
- if (item.key == "Notification") {
- if (item.data != '') {
- tempData.curLsit = JSON.parse(item.data)
- }
- }
- if (item.key == "bring_out_meal") {
- tempData.besides = item.data
- }
- if (item.key == "free_pack") {
- tempData.pack = item.data
- }
-
- if (item.key == "superimposed_discounts") {
- tempData.superimposed_discounts = item.data
- }
- if (item.key == "private_room") {
- tempData.private_room = item.data
- }
- if (item.key == "rec_person_num_max") {
- tempData.rec_person_num_max = item.data
- }
-
-
- if (item.key == 'Description' && item.isRequired) {
- tempData.Description = JSON.parse(item.data)
- }
- if (item.key == "can_no_use_date") {
- tempData.can_no_use_date = JSON.parse(item.data)
- }
- })
-
- tempData.skuAttrs.map(item => {
- if (item.key == "commodity") {
- if (item.data != '') {
- tempData.itemGroup = JSON.parse(item.data)
- }
- }
- })
-
- }
-
- if (tempData.type == 69 && tempData.couponOrderStatus == 0) {
- // Http.get({
- // url: config.api.orderDetail,
- // data: {
- // orderId: that.data.orderId,
- // mallTenantId: that.data.mallTenantId || ''
- // }
- // }).then(res => {
-
- // const cOrderID = res.data.orders[0].couponOrderId
-
- // that.getUserReservation(cOrderID)
-
- // }).catch(err => {
-
- // })
-
- setTimeout(() => {
- const isAppointment = that.data.isAppointment
- const appointmentStatus = that.data.appointmentStatus
- const Appointment = tt.getStorageSync('appointment');
- if (Appointment && (!isAppointment || appointmentStatus == '-1')) {
- tt.showModal({
- title: "提示",
- content: "是否立即填写预约信息?",
- showCancel: true,
- confirmText: "现在预约",
- confirmColor: "#deb472",
- cancelText: "稍后预约",
- success(res) {
- if (res.confirm) {
- tt.setStorageSync('appointment', false);
- that.goAppointment(false, tempData.couponOrderId)
- }
- if (res.cancel) {
-
- }
- }
- });
- }
- }, 1000);
- }
-
- that.setData({
- outOrderNo: res.data.id,
- order: tempData,
- showPage: true,
- createDate: createDate,
- composeOrderType: tempData.composeOrderType,
- orderFlag: tempData.type == 11 ? true : false, //判断是不是线上配送
- })
-
- if (tempData.contentType != undefined && tempData.contentType == 1) {
- //获取图文展示详情html
- that.setData({
- contentType: tempData.contentType ? tempData.contentType : 0,
- })
- that.getHtml(tempData.couponChannelId);
- }
-
- if (tempData.couponOrderId) { //0未付款 1已支付 2已取消 3退款中 4已退款
- that.setRq()
- // that.upStatus()
- let setInter = setInterval(() => {
- if (tempData.couponOrderStatus == 0) {
- Http.get({
- url: config.api.getStatus,
- data: {
- couponOrderId: tempData.couponOrderId,
- mallTenantId: this.data.mallTenantId || ''
- }
- }).then(res => {
- console.log(res);
- that.setData({
- couponOrderStatus: res.data.CouponOrderStatus
- });
- if (res.data.CouponOrderStatus == 1 || res.data.CouponOrderStatus == 3) {
- /**
- * 动态改变上一级页面的核销状态
- */
- // that.getStaticGame()
- //直接调用上一个页面的setData()方法,把数据存到上一个页面中去
- clearInterval(that.data.setInter);
- clearInterval(that.data.templTiem);
- that.updetail()
- that.setData({
- mystatus: res.data.CouponOrderStatus
- });
- }
- })
- .catch(err => {
- tt.showToast({
- title: err.errMsg,
- icon: 'none',
- duration: 2000,
- mask: false
- });
- })
- } else {
- Http.get({
- url: config.api.getStatus,
- data: {
- couponOrderId: tempData.couponOrderId,
- mallTenantId: this.data.mallTenantId || ''
- }
- }).then(res => {
- console.log(res, 'getStatus');
- that.setData({
- couponOrderStatus: res.data.CouponOrderStatus
- });
- if (res.data.CouponOrderStatus == 1 || res.data.CouponOrderStatus == 3) {
- /**
- * 动态改变上一级页面的核销状态
- */
- // that.getStaticGame()
- //直接调用上一个页面的setData()方法,把数据存到上一个页面中去
- clearInterval(that.data.setInter);
- clearInterval(that.data.templTiem);
- that.updetail()
- that.setData({
- mystatus: res.data.CouponOrderStatus
- });
- }
- })
- .catch(err => {
- console.log(err);
- })
- }
- }, 2000);
- that.setData({
- setInter: setInter
- })
- }
- if (tempData.couponOrderStatus && tempData.couponOrderStatus == 1) { //核销后
- that.goIfEvaluate() //判断订单是否能评价
- }
- }).catch(error => {
- console.log(error, "error");
- tt.hideLoading();
- tt.showModal({
- title: '提示',
- content: error.errMsg,
- showCancel: false
- })
- })
- },
- //确认收货
- verify() {
- Http.post({
- url: config.api.verify,
- data: {
- couponOrderId: this.data.order.couponOrderId
- }
- }).then(res => {
- tt.showToast({
- title: '签收成功',
- icon: "none"
- })
- this.updetail()
- }).catch(err => {
- tt.showModal({
- title: '提示',
- content: err.message ? err.message : err.data,
- showCancel: false
- })
- })
- },
- phone: function (e) {
- let that = this;
- console.log(e);
- tt.makePhoneCall({
- phoneNumber: e.currentTarget.dataset.merchantlinkphone
- });
- },
- /**
- * 跳转到门店列表的详情页面
- */
- gotoDetail(e) {
- tt.navigateTo({
- url: `/pages/index/searchbar/detail/index?id=${e.currentTarget.dataset.id}`
- })
- },
- getUserInfo: function () {
- let that = this;
- // 获取用户信息
- Http.get({
- url: config.api.getScore,
- data: {}
- })
- .then(res => {
- console.log(res)
- that.setData({
- userName: res.data.nickName,
- avatarUrl: res.data.avatarUrl
- })
- })
- },
- onShareAppMessage: function (res) {
- app.globalData.previewFlag = true
- if (res.from === 'button') {
- console.log(res, 3333333333333333333333)
- // 来自页面内转发按钮
- let _this = this;
- return {
- title: _this.data.userName + '赠送您一张' + _this.data.order.title,
- path: '/pages/index/index?couponChannelId=' + this.data.order.couponChannelId + '&cuserId=' + this.data.order.cuserId + '&couponId=' + this.data.order.productId + '&coverImg=' + this.data.order.coverImg + '&userName=' + this.data.userName + '&avatarUrl=' + this.data.avatarUrl + '&couponOrderId=' + this.data.order.couponOrderId + '&updateDate=' + this.data.order.updateDate,
- imageUrl: this.data.order.coverImg,
- success: function (res) {
- // 转发成功
- },
- fail: function (res) {
- // 转发失败
- }
- }
- } else {
- console.log(res, 444444444444444444)
- }
- },
-
- createQrCode: function (url, canvasId, cavW, cavH) {
- //调用插件中的draw方法,绘制二维码图片
- let that = this;
- QR.api.draw(url, canvasId, cavW, cavH, function (res) {
- that.setData({
- tempFilePath: res
- })
- });
- },
-
- setRq() {
- let _this = this
- _this.setData({
- showhieRq: false,
- })
- Http.get({ //获取动态二维码
- url: config.api.dynamicId,
- data: {
- couponOrderId: _this.data.order.couponOrderId,
- couponTenantId: _this.data.tenantId || ''
- }
- }).then(res => {
- console.log(res, "res")
- _this.setData({
- dynamicRq: res.data.dynamicId,
- expiredSeconds: res.data.expiredSeconds,
- couponTenantId: res.data.couponTenantId
- })
-
- let url = JSON.stringify({
- END: "C",
- TYPE: "couponorder",
- ID: _this.data.dynamicRq,
- couponTenantId: _this.data.couponTenantId
- })
- if (res.data.expiredSeconds == 0) {
- //倒计时为零直接显示券码
- } else {
- let inre = setInterval(() => {
- if (_this.data.expiredSeconds > 1) {
- _this.setData({
- expiredSeconds: _this.data.expiredSeconds - 1
- })
- // console.log("有效", _this.data.expiredSeconds)
- } else {
- // console.log("无效", _this.data.expiredSeconds)
- clearInterval(_this.data.templTiem)
- _this.setData({
- showhieRq: true
- })
- }
- _this.setData({
- templTiem: inre
- })
- }, 1000)
- }
- _this.createQrCode(url, "qrcode", 350, 350);
- }).catch(err => {
- tt.showToast({
- title: err.message,
- icon: 'none',
- duration: 2000,
- mask: false
- });
- })
- },
-
- getHtml(couponChannelId) {
- const that = this
- Http.get({
- url: config.api.couponHtmlDetail,
- data: {
- couponChannelId: couponChannelId,
- mallTenantId: this.data.mallTenantId || ''
- }
- }).then(res => {
- console.log(res)
- if (res.code == 200 && res.data.html) {
- const curHtml = decodeURI(res.data.html)
- this.setData({
- curHtml,
- })
-
- var temp = ttParse.wxParse('article', 'html', curHtml, that, 5);
-
- app.globalData.curHtml = this.data.curHtml;
-
- }
- })
- },
-
- goPaySnapshoot(e) {
- let id = e.currentTarget.dataset.id;
- tt.navigateTo({
- url: `/pages/paySnapshoot/paySnapshoot?id=${id}`,
- success: (res) => {
-
- },
- fail: (res) => {
-
- },
- });
- },
-
- powerDrawer: function (e) {
- let that = this;
- console.log(e)
- // couponOrderStatus
- // 0 未使用
- // 1 已使用
- // 2 已过期
- // 3 已经退款
- if (that.data.mystatus == "" || that.data.mystatus == undefined) {
- tt.navigateTo({
- url: `/pages/orderquanma/index?quancode=${e.currentTarget.dataset.quancode
- }&title=${e.currentTarget.dataset.title}&subtitle=${e.currentTarget.dataset.subtitle
- }&remark=${e.currentTarget.dataset.remark}&couponorderstatus=${e.currentTarget.dataset.couponorderstatus}&validstatus=${e.currentTarget.dataset.validstatus}
- &contentType=${that.data.contentType}`
- });
- } else {
- tt.navigateTo({
- url: `/pages/orderquanma/index?quancode=${e.currentTarget.dataset.quancode
- }&title=${e.currentTarget.dataset.title}&subtitle=${e.currentTarget.dataset.subtitle
- }&remark=${e.currentTarget.dataset.remark}&couponorderstatus=${that.data.mystatus}&validstatus=${e.currentTarget.dataset.validstatus}
- &contentType=${that.data.contentType}`
- });
- }
- },
- gotogame: function () {
- let that = this;
- tt.redirectTo({
- url: '/pages/game/index?url=' + that.data.staticGamedata.url + "&id=" + that.data.staticGamedata.id + "&gameId=" + that.data.staticGamedata.gameId,
- })
- },
- // 买完卡跳转到立即使用页面
- gotoUse: function () {
- tt.navigateTo({
- url: '/pages/cardorder/index/index'
- })
- },
- // 获取游戏
- getStaticGame(token) {
- let _this = this;
- Http.get({
- url: config.api.getGame,
- data: {
- triggleAction: 3 // 购买触发
- }
- }).then(res => {
- if (res.data.id) {
- _this.setData({
- showIf: true
- })
- }
- _this.setData({
- staticGamedata: res.data
- })
- })
- .catch(err => {
- console.log(err);
- })
- },
- goEvaluate() {
- let _this = this
- tt.rateAwemeOrder({
- orderId: _this.data.payOrderNo,
- success({
- result
- }) {
- console.log(result);
- if (result) {
- tt.navigateBack({
- delta: 1,
- success: (res) => {
-
- },
- fail: (res) => {
-
- },
- });
- // 用户已经评价的逻辑
- } else {
- // 用户没有评价的逻辑
- }
- },
- fail(err) {
- console.log(err);
- },
- });
- },
-
- goIfEvaluate() {
- let _this = this
- Http.get({
- url: config.api.getchanId,
- data: {
- id: _this.data.order.couponOrderId,
- mallTenantId: this.data.mallTenantId || ''
- }
- }).then(res => {
- tt.canRateAwemeOrders({
- orderIds: [res.data.payOrderNo],
- success({
- result
- }) {
- console.log("result", result);
- _this.setData({
- evaluateFlag: result[0],
- payOrderNo: res.data.payOrderNo
- })
- },
- fail(err) {
- console.log(err);
- },
- });
- }).catch(err => {
- tt.showToast({
- title: err.message ? err.message : err.data, // 内容
- icon: "none"
- });
- })
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (option) {
- console.log(option, 'option');
-
- let options = null
- if (option.params) {
- options = JSON.parse(option.params)
- } else {
- options = option
- }
- // this.getSeUrl()
- if (options.mallTenantId) {
- this.setData({
- mallTenantId: options.mallTenantId,
- })
- }
-
-
- this.setData({
- mouldType: app.globalData.mouldType
- })
- let that = this;
- // if (options.dingdan && options.dingdan == "order") {
-
- // }
- that.setData({
- orderId: options.orderId,
- });
- tt.hideShareMenu()
- if (options.cardIf) { //转赠 展示不需
- that.setData({
- cardIf: true
- })
- }
- tt.showLoading({
- title: "加载中"
- });
-
- this.getCouponMerchant() //获取可用商户
- },
- onShow: function () {
- let that = this;
- that.setData({
- showButton: false
- })
- that.updetail()
- this.getCouponMerchant() //获取可用商户
- if (tt.canIUse("microapp-trade-plugin")) {
- that.setData({
- canIUseRefund: true
- })
- console.log(that.data.canIUseRefund, 'canIUseRefund');
- }
- },
- getSeUrl() { //获取客服链接
- const openId = tt.getStorageSync('openId');
- Http.post({
- url: config.api.getServiceUrl,
- data: {
- appid: app.globalData.appId,
- openid: openId
- }
- }).then(res => {
- this.setData({
- serviceUrl: res.data ? res.data : ''
- })
- if (res.data) {
- tt.setStorageSync('serviceData', res.data);
- }
- })
- },
- goWebView() {
- let _this = this
- tt.navigateTo({
- url: `/pages/serviceWebView/serviceWebView`,
- success: (res) => {
-
- },
- fail: (res) => {
-
- },
- });
- },
- /**
- * 去拼团
- */
- goToOrderGroup(orderId, orderGroupId, _this) {
- let that = this;
- // 支付成功
- Http.post({
- url: config.api.toOrderGroup,
- data: {
- id: orderGroupId,
- orderId,
- couponId: _this.data.order.productId
- }
- })
- .then(res => {
- tt.redirectTo({
- url: `/pages/spellDetail/index?orderId=${orderId}&couponId=${_this.data.order.productId}&orderGroupId=${res.data.orderGroupId}&mallTenantId=${this.data.mallTenantId}`
- });
- })
- .catch(err => {
- console.log(err);
- })
- // return;
- },
- /**
- * 发起支付
- */
- orderFunc(e) {
- var that = this;
- const orderId = "" + that.data.orderId;
- that.setData({
- showButton: true
- })
- tt.showLoading({
- title: "加载中..."
- });
-
- // if (true) {//兼容不支持支付2.0 js-api !tt.canIUse('createOrder')
- if (that.data.order.payment > 0) {
-
- if (tt.canIUse('createOrder')) { //支付2.0 js-api
- const outOrderNo = that.data.outOrderNo
- console.log(outOrderNo, "outOrderNo");
- Http.post({
- url: config.api.payOrderCreate_2,
- data: {
- // composeOrderId: outOrderNo
- orderId: outOrderNo,
- composeOrderType: that.data.composeOrderType,
- mallTenantId: this.data.mallTenantId || ''
- }
- }).then(res => {
- if (res.data.createPay) {
- let tempCallbackData = res.data.callbackData
- // tempCallbackData[that.data.data.couponChannel.ttSpuId] = that.data.data.couponChannel.id
- let options = {
- callbackData: tempCallbackData,
- goodsList: res.data.goodsList,
- payment: res.data.payment,
- 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);
- let tempErrmsg = errMsg.split('开发者拒绝交易:');
- tt.showToast({
- title: tempErrmsg[tempErrmsg.length - 1],
- icon: 'none',
- duration: 2000,
- mask: false
- });
- }
- if (orderId || outOrderNo) {
- tt.hideLoading();
- that.setData({
- showbutton: false,
- })
- console.log('支付失败', errNo, errMsg, orderId, outOrderNo);
- console.log(that.payOrderUpdate, "payOrderUpdate");
- tt.showToast({
- title: "取消支付",
- icon: 'none',
- duration: 2000,
- mask: false
- });
- that.payOrderUpdate(outOrderNo, outOrderNo, 2, '', 'fail')
- }
- },
- }
- console.log(options, "options");
- tt.createOrder(options)
- } else {
- tt.continueToPay({
- outOrderNo: res.data.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({
- showButton: false
- })
- tt.showToast({
- title: errMsg,
- icon: 'none',
- duration: 2000,
- mask: false
- });
- tt.hideLoading();
- }
- if (orderId || outOrderNo) {
- console.log('支付失败', errNo, errMsg, orderId, outOrderNo);
- tt.showToast({
- title: errMsg,
- icon: 'none',
- duration: 2000,
- mask: false
- });
- that.payOrderUpdate(outOrderNo, outOrderNo, 2, '', 'fail', that);
- that.setData({
- showButton: false
- })
- tt.hideLoading();
- }
- },
- });
- }
-
- }).catch(err => {
- tt.showToast({
- title: err.message ? err.message : err.data, // 内容
- icon: "none"
- });
- })
- } else { //不支持支付2.0 js-api
- tt.showToast({
- title: '请升级抖音', // 内容
- icon: "none"
- });
- return
- // 支付金额不为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.payOrderId,
- order_token: res.data.payOrderToken,
- },
- 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
- })
- 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 => {
- 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,
- });
- }
- // } else {//支持 支付2.0 js-api
-
-
- // }
-
- },
- /**
- * 支付订单更新
- */
- payOrderUpdate(orderId, payOrderId, status, reason, type, _this) {
- // 支付成功
- Http.post({
- url: config.api.payOrderUpdate,
- data: {
- payOrderId: payOrderId,
- composeOrderId: orderId,
- status: status,
- reason: reason,
- mallTenantId: this.data.mallTenantId || ''
- }
- })
- .then(res => {
- tt.hideLoading();
- _this.setData({
- showButton: false
- })
- if (!type && type != 'free') {
- tt.showToast({
- title: "购买成功",
- duration: 2000,
- image: imgurl.success.url,
- mask: false,
- success: function () {
- tt.showLoading({
- title: "加载中..."
- });
- setTimeout(function () {
- tt.hideLoading();
- }, 1600);
- setTimeout(() => {
- console.log('Here1');
- tt.setStorageSync('appointment', true);
- let url = ""
- if (_this.data.orderFlag) {
- tt.redirectTo({
- url: `/pages/order/detail/index?orderId=${orderId}&dingdan=order}&mallTenantId=${that.data.mallTenantId}`
- });
- } else {
- tt.redirectTo({
- url: `/pages/order/detail/index?orderId=${orderId}&mallTenantId=${that.data.mallTenantId}`
- });
- }
-
- }, 1600);
- }
- });
- } else if (type == 'free') {
- console.log('Here2');
- tt.redirectTo({
- url: `/pages/order/detail/index?orderId=${orderId}&mallTenantId=${that.data.mallTenantId}`
- });
- }
- })
- .catch(err => {
- console.log(err)
- if (!type) {
- setTimeout(function () {
- _this.payOrderUpdate(orderId, payOrderId, status, reason, type, _this);
- }, 1500)
- }
- });
- },
- onUnload: function () {
- let that = this;
- clearInterval(that.data.setInter);
- clearInterval(that.data.templTiem);
- },
- onHide: function () {
- let that = this;
- clearInterval(that.data.setInter);
- clearInterval(that.data.templTiem);
- },
- });
|