diff --git a/app.js b/app.js index 7326dea..0ad51d5 100644 --- a/app.js +++ b/app.js @@ -38,7 +38,7 @@ App({ // 获取前端配置文件 commonApi._post("pbservice/Other/getClientConfig", {unique_key: "wechatxcx"}).then(res => { let data = JSON.parse(res.data); - data.isTest = data.isTest150? true : false; + data.isTest = data.isTest151? true : false; data.indexSeason = null this.globalData.configJson = data }).then(() => { diff --git a/pages/index/index.wxml b/pages/index/index.wxml index 04f80b0..e557a89 100644 --- a/pages/index/index.wxml +++ b/pages/index/index.wxml @@ -74,7 +74,7 @@ + bindchange="changeBannerIndex" data-keyname="ztBannerIndex" circular> diff --git a/pages/info/sceneProductInfo/index.js b/pages/info/sceneProductInfo/index.js index fe8ccb4..6514471 100644 --- a/pages/info/sceneProductInfo/index.js +++ b/pages/info/sceneProductInfo/index.js @@ -62,6 +62,8 @@ Page({ skuShowDomId: "", skuDays: 30, + + advList: [], }, /** @@ -211,6 +213,9 @@ Page({ }, 1) this.BroswerRecord() }) + + this.getAdv() + // 获取收藏的状态 if (wx.getStorageSync("jstrip_token")) { commonApi.user_post("scene/is_scene_collection", { @@ -261,6 +266,83 @@ Page({ }, + + // 获取广告 + getAdv() { + commonApi._post("adv/getAdv", { + position: 9, + type_id: 3, + scenic_id: this.data.id + }).then(res => { + try { + this.setData({advList: res.data || []}) + } catch (error) { + console.log(error); + } + }) + }, + + 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: + // 外部h5 + console.log(item) + 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; + + }, + // 获取日期 changeDate: function (e) { // 2025-7-2 合并票日期变更 需要获取sku并重新赋值 diff --git a/pages/info/sceneProductInfo/index.wxml b/pages/info/sceneProductInfo/index.wxml index 530f8ba..4a52486 100644 --- a/pages/info/sceneProductInfo/index.wxml +++ b/pages/info/sceneProductInfo/index.wxml @@ -47,6 +47,17 @@ {{info.garden_flag_text}} + + + + + + + + + + + 预订 详情/政策 diff --git a/pages/info/sceneProductInfo/index.wxss b/pages/info/sceneProductInfo/index.wxss index d02a1b6..44aad27 100644 --- a/pages/info/sceneProductInfo/index.wxss +++ b/pages/info/sceneProductInfo/index.wxss @@ -1068,4 +1068,18 @@ line-height: 93rpx; .mask-scroll-content{ flex: 1; height: 100rpx; +} + +.adv-container{ + padding-top: 20rpx; + width: 100%; +} +.adv-container image{ + width: 672rpx; + height: 166.67rpx; + margin: 0 auto; + display: block; +} +.adv-swiper{ + height: 166.67rpx; } \ No newline at end of file diff --git a/pages/order/orderList/index.js b/pages/order/orderList/index.js index 72a50a2..17844ef 100644 --- a/pages/order/orderList/index.js +++ b/pages/order/orderList/index.js @@ -30,6 +30,10 @@ Page({ finalPrice: 0, showCoupon: true, + + explainDataList: [], + showContent: null, + }, /** @@ -80,6 +84,8 @@ Page({ if (!this.data.kjId && !this.data.gp_id) { this.couponCom = this.selectAllComponents("#coupon")[0]; } + + this.getExplain() }, handlePostData () { @@ -93,6 +99,15 @@ Page({ order: function (){ console.log(app.globalData.createDate); + let explainData = (this.data.explainDataList || []).filter(x=>x.selectExplain).map(x=>{ + return { + product_id: x.product.id, + product_num: 1, + sku_id: x.sku.id, + type: x.product.type, + } + }) + app.globalData.createDate.product_list = app.globalData.createDate.product_list.concat(explainData) app.globalData.createDate.coupon_id= this.data.coupon ? this.data.coupon.id : null; let service = "order/create", postData = {data: JSON.stringify(app.globalData.createDate)} @@ -147,6 +162,50 @@ Page({ }) }, + // 讲解 + getExplain () { + if (this.data.ticketList.length>0) { + let explainArr = [] + let productId = this.data.ticketList.map(x=>x.product.id) + Promise.all( + productId.map(x=>commonApi._post("product/get_product_compose_list", { + product_id: x + })) + ).then(res=>{ + if (res) { + res.forEach(x=>{ + if (x.data && x.data[0] && !explainArr.find(v=>v.sku.id == x.data[0].sku.id)) { + explainArr.push(x.data[0]) + } + }) + this.setData({ + explainDataList: explainArr + }) + } + console.log(res) + }) + } + }, + + changeSeletExplain (e) { + let val = e.currentTarget.dataset.val; + let index = e.currentTarget.dataset.index; + + let explainDataList = this.data.explainDataList + let explainData = this.data.explainDataList[index] + explainData.selectExplain = val + + this.setData({ + explainDataList: explainDataList + }) + }, + + changeContent (e) { + let val = e.currentTarget.dataset.val; + this.setData({ + showContent: val + }) + }, /** diff --git a/pages/order/orderList/index.wxml b/pages/order/orderList/index.wxml index ca4d072..c999734 100644 --- a/pages/order/orderList/index.wxml +++ b/pages/order/orderList/index.wxml @@ -84,6 +84,28 @@ --> + + + 景点讲解服务 + + + + {{item.product.title}} + {{item.sku.sku_name}} + 0 + + + 详情 > + + + + + + + + + @@ -98,4 +120,25 @@ 下一步 - \ No newline at end of file + + + + + + + 产品详情 + + + + {{showContent.product.title}} + + + + 产品详情 + + + + + + + \ No newline at end of file diff --git a/pages/order/orderList/index.wxss b/pages/order/orderList/index.wxss index c9d8534..2d2b10d 100644 --- a/pages/order/orderList/index.wxss +++ b/pages/order/orderList/index.wxss @@ -97,4 +97,80 @@ color: #666666; .item-box.item-title .price{ color: #D62828; font-weight: bold; -} \ No newline at end of file +} + +.explain-box{ + width: 699rpx; + background: #FFFFFF; + border-radius: 9rpx; + margin: 0 auto; + padding: 26rpx 22rpx; + box-sizing: border-box; +} +.explain-box .explain-title{ + font-weight: bold; + font-size: 32rpx; + color: #000000; + /* margin-bottom: 26rpx; */ +} +.explain-box .explain-prod{ + display: flex; + width: 100%; + align-items: center; + margin-top: 25rpx; +} +.explain-box .explain-img{ + width: 135.33rpx; + height: 112rpx; + flex-shrink: 0; +} +.explain-box .explain-content{ + flex: 1; + width: 1rpx; + padding: 0 36rpx; + box-sizing: border-box; + line-height: 1; +} +.explain-box .explain-goods{ + font-weight: 500; +font-size: 31rpx; +color: #000000; +} +.explain-box .explain-sku{ + font-weight: 500; + font-size: 24rpx; + color: #999999; + padding: 20rpx 0; +} +.explain-box .explain-price{ + font-weight: 500; + font-size: 33.33rpx; + color: #E30000; +} +.explain-box .explain-price::before{ + content: "¥"; + font-size: 24rpx; +} +.icon-quan{ + font-size: 33rpx; +} +.icon-gou1{ + color: #D62828; + font-size: 33rpx; +} + +.mask-content2 { + position: absolute; + left: 0; + right: 0; + bottom: 0; + width: 100%; + background: white; + border-radius: 12rpx; + min-height: 1100rpx; + } + .icon-close { + position: absolute; + top: 30rpx; + right: 30rpx; + } \ No newline at end of file diff --git a/pages/order/scene/index.js b/pages/order/scene/index.js index 6d9a940..f302080 100644 --- a/pages/order/scene/index.js +++ b/pages/order/scene/index.js @@ -48,6 +48,10 @@ Page({ couponFlag:false, skuDays: 30, + + selectExplain: false, + explainData: null, + showContent: false, }, /** @@ -115,7 +119,13 @@ Page({ // singlePrice: this.data.gp_id ? app.globalData.product.sku.event_price : app.globalData.product.sku.price }) console.log(this.data.singlePrice); - this.getNewCoupon() + + this.getExplain() + + try { + this.getNewCoupon() + } catch (e) {} + // this.showAllPrice() // console.log('********',this.data.product); if (!this.data.kjId && !this.data.gp_id && this.data.product.isGroup != 1 && this.data.type!='museum') { @@ -513,6 +523,17 @@ Page({ team_id: app.globalData.team_id, linkmanList:this.data.is_authentication == 1?this.data.linkmanList:[] } + if (this.data.selectExplain && this.data.explainData) { + let explainData = this.data.explainData + let explain_prod = { + type: explainData.product.type, + product_id: explainData.product.id, + sku_id: explainData.sku.id, + product_num: 1, + } + data.product_list.push(explain_prod) + } + if (app.globalData.from) { data.system_name = app.globalData.from; } @@ -835,6 +856,34 @@ Page({ this.showAllPrice() }, + // 讲解 + getExplain () { + console.log(this.data.product) + commonApi._post("product/get_product_compose_list", { + product_id: this.data.product.product.id + }).then(res => { + if (res.data && res.data.length>0) { + this.setData({ + explainData: res.data[0] + }) + } + }) + }, + + changeSeletExplain (e) { + let val = e.currentTarget.dataset.val; + this.setData({ + selectExplain: val + }) + }, + + changeContent (e) { + let val = e.currentTarget.dataset.val; + this.setData({ + showContent: val + }) + }, + /** * 生命周期函数--监听页面初次渲染完成 */ diff --git a/pages/order/scene/index.wxml b/pages/order/scene/index.wxml index 32de400..e054729 100644 --- a/pages/order/scene/index.wxml +++ b/pages/order/scene/index.wxml @@ -1,4 +1,5 @@ + - + + + 景点讲解服务 + + + + {{explainData.product.title}} + {{explainData.sku.sku_name}} + 0 + + + 详情 > + + + + + + + + + + + + + + 合计:¥0 @@ -150,4 +177,26 @@ + + + + + + + 产品详情 + + + + {{explainData.product.title}} + + + + 产品详情 + + + + + + + \ No newline at end of file diff --git a/pages/order/scene/index.wxss b/pages/order/scene/index.wxss index c3e18f0..36c3e24 100644 --- a/pages/order/scene/index.wxss +++ b/pages/order/scene/index.wxss @@ -450,4 +450,63 @@ page { .s-price::before { content: "¥"; font-size: 24rpx; +} + +.explain-box{ + width: 699rpx; + background: #FFFFFF; + border-radius: 9rpx; + margin: 0 auto; + padding: 26rpx 22rpx; + box-sizing: border-box; +} +.explain-box .explain-title{ + font-weight: bold; + font-size: 32rpx; + color: #000000; + margin-bottom: 26rpx; +} +.explain-box .explain-prod{ + display: flex; + width: 100%; + align-items: center; +} +.explain-box .explain-img{ + width: 135.33rpx; + height: 112rpx; + flex-shrink: 0; +} +.explain-box .explain-content{ + flex: 1; + width: 1rpx; + padding: 0 36rpx; + box-sizing: border-box; + line-height: 1; +} +.explain-box .explain-goods{ + font-weight: 500; +font-size: 31rpx; +color: #000000; +} +.explain-box .explain-sku{ + font-weight: 500; + font-size: 24rpx; + color: #999999; + padding: 20rpx 0; +} +.explain-box .explain-price{ + font-weight: 500; + font-size: 33.33rpx; + color: #E30000; +} +.explain-box .explain-price::before{ + content: "¥"; + font-size: 24rpx; +} +.icon-quan{ + font-size: 33rpx; +} +.icon-gou1{ + color: #D62828; + font-size: 33rpx; } \ No newline at end of file diff --git a/pages/user/cartlist/list.js b/pages/user/cartlist/list.js index 5ad5dec..7d21426 100644 --- a/pages/user/cartlist/list.js +++ b/pages/user/cartlist/list.js @@ -275,9 +275,18 @@ Page({ url: '/pages/order/postOrder/index?from=cart&flag=' + this.data.flag, }) } else { - wx.navigateTo({ - url: '/subPackages/gwcOrder/index?isCar=' + this.data.isCar, - }) + if (this.data.isCar == "single") { + console.log("123") + wx.navigateTo({ + url: '/pages/order/scene/index', + }) + } else { + wx.navigateTo({ + url: '/subPackages/gwcOrder/index?isCar=' + this.data.isCar, + }) + } + + } } }) diff --git a/pages/user/order/list.js b/pages/user/order/list.js index 978a08f..573bb1c 100644 --- a/pages/user/order/list.js +++ b/pages/user/order/list.js @@ -94,7 +94,10 @@ Page({ res.data.list.map((item,index)=>{ let orderNum = 0; item.order_product_list.map(order=>{ - orderNum = orderNum + order.product_num; + if (!order.is_bind_agent) { + orderNum = orderNum + order.product_num; + } + /// // 景点线路场馆酒店四类产品的订单 如果是已支付未出票的显示出票中 if(order.state=='PAID' && (order.product_model=='venue' || order.product_model=='ticket' || order.product_model=='hotel' || order.product_model=='line')){ @@ -118,7 +121,6 @@ Page({ if (item.is_order_card_product==1) { item.order_product_list = [item.order_product_list[0]] } - item.orderNum = orderNum; }) console.log(ajaxes) diff --git a/pages/user/order/list.wxml b/pages/user/order/list.wxml index 7d50a4d..3c7cf0b 100644 --- a/pages/user/order/list.wxml +++ b/pages/user/order/list.wxml @@ -18,18 +18,21 @@ - + 订单号:{{item.order_id}} {{item.orderStateText?item.orderStateText:orderState[item.state]}} - - - {{item.product_model=='movie'?item.product_title:(item.product_title+item.sku_name)}} - - ¥{{item.product_price/100}} - x{{item.product_num}} + + + + {{order.product_model=='movie'?order.product_title:(order.product_title+order.sku_name)}} + + ¥{{order.product_price/100}} + x{{order.product_num}} + + 共{{item.orderNum}}件商品 diff --git a/project.private.config.json b/project.private.config.json index d731040..b7b65f7 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -6,12 +6,33 @@ "condition": { "miniprogram": { "list": [ + { + "name": "pages/pbService/web/index", + "pathName": "pages/pbService/web/index", + "query": "weburl=https://test.m.cloud.sz-trip.com/selectedHotels", + "scene": null, + "launchMode": "default" + }, + { + "name": "pages/group/index", + "pathName": "pages/group/index", + "query": "", + "launchMode": "default", + "scene": null + }, + { + "name": "pages/info/sceneProductInfo/index", + "pathName": "pages/info/sceneProductInfo/index", + "query": "id=5257", + "launchMode": "default", + "scene": null + }, { "name": "subPackages/postSearch/index", "pathName": "subPackages/postSearch/index", "query": "type_id=1&ids=", - "scene": null, - "launchMode": "default" + "launchMode": "default", + "scene": null }, { "name": "pages/info/postProductInfo/index",