Browse Source

景点订单详情增加广告位、订单号复制功能

master
chenkainan 1 year ago
parent
commit
b7f83cd6bc
  1. 2
      app.js
  2. 147
      pages/component/orderAdv/orderAdv.js
  3. 4
      pages/component/orderAdv/orderAdv.json
  4. 5
      pages/component/orderAdv/orderAdv.wxml
  5. 12
      pages/component/orderAdv/orderAdv.wxss
  6. 11
      pages/user/order/sceneOrderInfo/index.js
  7. 4
      pages/user/order/sceneOrderInfo/index.json
  8. 6
      pages/user/order/sceneOrderInfo/index.wxml
  9. 13
      pages/user/order/sceneOrderInfo/index.wxss

2
app.js

@ -21,7 +21,7 @@ App({
unique_key: "wechatxcx"
}).then(res => {
let data = JSON.parse(res.data);
data.isTest = data.isTest149? true : false;
data.isTest = data.isTest150? true : false;
this.globalData.configJson = data
}).then(() => {
// 获取ui配置文件

147
pages/component/orderAdv/orderAdv.js

@ -0,0 +1,147 @@
// pages/component/TitleHeader.js
import commonApi from "../../../utils/https/common.js"
import util from '../../../utils/util'
var app = getApp()
Component({
options: {
styleIsolation: 'apply-shared',
addGlobalClass: true
},
/**
* 组件的属性列表
*/
properties: {
ids:{
type: String,
value: ""
}
},
observers:{
'ids': function(newVal,oldVal){
console.log('newVal--------',newVal)
console.log('oldVal--------',oldVal)
if (newVal) {
this.getAdv(newVal)
}
}
},
lifetimes: {
created() {
this.data.advList=[]
}
},
/**
* 组件的初始数据
*/
data: {
advList: [],
},
/**
* 组件的方法列表
*/
methods: {
getAdv() {
this.data.advList = []
commonApi._post("adv/getAdv", {
position: 5,
type_id: 3,
product_id: this.data.ids
}).then(res => {
try {
this.setData({
advList: res.data
})
} catch (error) {
console.log(error);
}
console.log('advList',this.data.advList);
})
},
bannerClick: function(e) {
if (this.data.isTest) return;
let item = e.currentTarget.dataset.item;
switch (item.jump_type) {
case 0:
break;
case 1:
util.gotoDetail(item.product_model)
break;
case 2:
if (item.front_model && item.front_model.mini) {
wx.navigateTo({
url: "/" + item.front_model.mini
})
}
break;
case 3:
if ((item.tdata.url.indexOf('http://') != -1 || item.tdata.url.indexOf('https://') != -1) &&
item.tdata.url.indexOf('m.cloud.sz-trip.com') == -1) {
// 外部h5
app.globalData.weburl = item.tdata.url;
wx.navigateTo({
url: "/pages/pbService/web/index?weburl=" + encodeURIComponent(item.tdata
.url)
})
} else {
let page = item.tdata.url.split("/");
page = page[page.length - 1].split("?")
let url = this.data.urltopage[page[0]];
if (url && url.indexOf('map') != -1) {
let types = ['', 'scenic', 'venue', 'post', 'restaurant', 'relic', 'tenscenic',
'cinema', 'academes'
],
type = page[1] ? page[1].split("=") : [];
wx.reLaunch({
url: url + "?type=" + (type[1] ? types.findIndex(t => t == type[1]) :
null)
})
} else if (url) {
wx.navigateTo({
url: url,
})
} else {
app.globalData.weburl = item.tdata.url;
wx.navigateTo({
url: "/pages/pbService/web/index?weburl=" + encodeURIComponent(item
.tdata.url)
})
}
}
break;
case 4:
if (item.tdata.appid == 'wxe5ca0f71e918e352' && wx.getStorageSync('jstrip_userid')) {
// 如果是苏心游的小程序 直接把authCode带过去
userApi.user_post("user/getJumpThirdAppCode", {}).then(res => {
let weburl = item.tdata.page
if (weburl.indexOf('?') != -1) {
weburl += '&authCode=' + res.data;
} else {
weburl += '?authCode=' + res.data
}
wx.navigateToMiniProgram({
appId: item.tdata.appid,
path: weburl
})
}).catch(err => {
wx.navigateToMiniProgram({
appId: item.tdata.appid,
path: item.tdata.page
})
})
} else {
wx.navigateToMiniProgram({
appId: item.tdata.appid,
path: item.tdata.page
})
}
break;
default:
break;
}
return;
},
},
})

4
pages/component/orderAdv/orderAdv.json

@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

5
pages/component/orderAdv/orderAdv.wxml

@ -0,0 +1,5 @@
<view>
<view class="box" wx:if="{{advList.length > 0}}">
<image src="{{advList[0].head_img}}" mode="scaleToFill" bindtap="bannerClick" data-item="{{advList[0]}}"></image>
</view>
</view>

12
pages/component/orderAdv/orderAdv.wxss

@ -0,0 +1,12 @@
.box {
margin: 20rpx 30rpx;
height: 133rpx;
border-radius: 13rpx;
padding: 0;
}
.box >image {
width: 100%;
height: 133rpx;
border-radius: 13rpx;
}

11
pages/user/order/sceneOrderInfo/index.js

@ -49,6 +49,17 @@ Page({
})
})
},
copy:function(){
wx.setClipboardData({
data: this.data.codeImgs[this.data.codeIndex].code,
success: function (res) {
wx.showToast({
title: '复制成功',
icon:'success'
})
}
})
},
getCodeImg:function(){
let that = this,sys =wx.getSystemInfoSync(),radio = sys.screenWidth / 750,qrcode=this.data.info.order_product_list[0].qrcode,codeImgs=[],codeId=0,arr = [];
this.data.info.order_product_list.forEach(qrcode=>{

4
pages/user/order/sceneOrderInfo/index.json

@ -1,7 +1,7 @@
{
"usingComponents": {
"title":"/pages/component/TitleHeader",
"sptj":"/pages/component/proRec/proRec"
"sptj":"/pages/component/proRec/proRec",
"advBox":"/pages/component/orderAdv/orderAdv"
}
}

6
pages/user/order/sceneOrderInfo/index.wxml

@ -26,10 +26,14 @@
</view>
</view>
<view bindtap="nextCodeImg" class="iconfont icon-you"></view>
<view class="code-text">{{codeImgs[codeIndex].text}}:{{codeImgs[codeIndex].code}}</view>
<view class="code-text">{{codeImgs[codeIndex].text}}:{{codeImgs[codeIndex].code}} <view class="copy-box" bindtap="copy">复制</view></view>
<view class="code-state">{{codeImgs[codeIndex].state}} {{codeIndex+1}}/{{codeImgs.length}}</view>
</view>
<view wx:if="{{info && codeImgs.length>0}}">
<advBox ids="{{ ids }}"></advBox>
</view>
<sptj ids="{{ ids }}"></sptj>
<!-- 景点订单详情需要这个 -->

13
pages/user/order/sceneOrderInfo/index.wxss

@ -251,6 +251,8 @@ page {
font-size: 30rpx;
font-weight: 500;
margin: 25rpx;
display: flex;
justify-content: center;
}
.code-btn {
width: 220rpx;
@ -338,4 +340,15 @@ page {
background: #FFFFFF;
border-radius: 50%;
color: #0B898E;
}
.copy-box {
width: 73rpx;
line-height: 35rpx;
border-radius: 7rpx;
border: 1rpx solid #09898C;
margin-left: 15rpx;
text-align: center;
font-weight: 500;
font-size: 23rpx;
color: #0E8790;
}
Loading…
Cancel
Save