Myth 5 years ago
parent
commit
59da6d1089
  1. 8
      pages/culture/index.js
  2. 2
      pages/culture/index.wxml
  3. 10
      pages/index/index.js
  4. 33
      pages/index/index.wxml
  5. 13
      pages/index/index.wxss
  6. 19
      pages/info/culturalUnitInfo/index.js
  7. 36
      pages/info/culturalUnitInfo/index.wxml
  8. 95
      pages/info/culturalUnitInfo/index.wxss
  9. 40
      pages/info/postProductInfo/index.js
  10. 2
      pages/list/road/index.js
  11. 9
      pages/list/road/index.wxml
  12. 33
      pages/list/road/index.wxss
  13. 29
      pages/list/sale/index.js
  14. 67
      pages/list/sale/index.wxml
  15. 19
      pages/pbService/feiyi/info/index.js
  16. 35
      pages/pbService/feiyi/info/index.wxml
  17. 86
      pages/pbService/feiyi/info/index.wxss
  18. 18
      pages/pbService/gym/info/index.js
  19. 50
      pages/pbService/gym/info/index.wxml
  20. 91
      pages/pbService/gym/info/index.wxss
  21. 20
      pages/pbService/museum/info/index.js
  22. 63
      pages/pbService/museum/info/index.wxml
  23. 104
      pages/pbService/museum/info/index.wxss
  24. 19
      pages/pbService/wwcx/info/index.js
  25. 39
      pages/pbService/wwcx/info/index.wxml
  26. 90
      pages/pbService/wwcx/info/index.wxss
  27. 6
      project.private.config.json

8
pages/culture/index.js

@ -25,8 +25,8 @@ Page({
onLoad: function (options) { onLoad: function (options) {
let d = new Date(),that = this; let d = new Date(),that = this;
let month = d.getMonth() + 1,day = d.getDate(); let month = d.getMonth() + 1,day = d.getDate();
month = month>10?month:("0"+month); month = month>=10?month:("0"+month);
day = day>10?day:("0"+day); day = day>=10?day:("0"+day);
this.setData({ this.setData({
selectDay:d.getTime(), selectDay:d.getTime(),
date:d.getFullYear()+"-"+month+"-"+day date:d.getFullYear()+"-"+month+"-"+day
@ -66,8 +66,8 @@ Page({
changeDate:function(e){ changeDate:function(e){
let times = e.currentTarget.dataset.times,d = new Date(times); let times = e.currentTarget.dataset.times,d = new Date(times);
let month = d.getMonth()+1,day = d.getDate(); let month = d.getMonth()+1,day = d.getDate();
month = month>10?month:('0'+month); month = month>=10?month:('0'+month);
day = day>10?day:('0'+day); day = day>=10?day:('0'+day);
this.setData({ this.setData({
selectDay: times, selectDay: times,
date:d.getFullYear()+"-"+month+"-"+day, date:d.getFullYear()+"-"+month+"-"+day,

2
pages/culture/index.wxml

@ -29,7 +29,7 @@
<image src="{{item.cover}}" mode="aspectFill"></image> <image src="{{item.cover}}" mode="aspectFill"></image>
<view class="right-info"> <view class="right-info">
<view class="textOver2">{{item.name}}</view> <view class="textOver2">{{item.name}}</view>
<view class="textOver" wx:if="{{item.begin_date || item.end_date}}" style="margin-bottom:5rpx;margin-top:3rpx">{{item.begin_date}}-{{item.end_date}}</view> <view wx:if="{{item.begin_date || item.end_date}}" style="margin-bottom:5rpx;margin-top:3rpx">{{item.begin_date}}-{{item.end_date}}</view>
<view class="textOver" wx:else style="margin-bottom:5rpx;margin-top:3rpx;opacity:0">~ </view> <view class="textOver" wx:else style="margin-bottom:5rpx;margin-top:3rpx;opacity:0">~ </view>
<!-- <view class="info-bottom textOver"> <!-- <view class="info-bottom textOver">
<view class="info-address textOver">{{item.supplier_name}}</view> <view class="info-address textOver">{{item.supplier_name}}</view>

10
pages/index/index.js

@ -25,7 +25,8 @@ Page({
isTest:false, isTest:false,
lat:"", lat:"",
lon:"", lon:"",
urltopage:{} urltopage:{},
scrollLeft:0
}, },
onLoad: function (options) { onLoad: function (options) {
if(options.from){ if(options.from){
@ -400,6 +401,13 @@ Page({
}) })
} }
}, },
// 监听文旅查询的scroll
listenScroll(e){
console.log(e)
this.setData({
scrollLeft:e.detail.scrollLeft
})
},
/** /**
* 用户点击右上角分享 * 用户点击右上角分享

33
pages/index/index.wxml

@ -71,8 +71,8 @@
</view> </view>
<view class="content"> <view class="content">
<view class="sale-road-boxes"> <view class="sale-road-boxes">
<view class="sale-box" bindtap="gotoPath" data-title="限时特惠" data-path="/pages/list/{{isTest==false?'sale':'scene'}}/index" > <view class="sale-box" bindtap="gotoPath" data-title="特惠新品" data-path="/pages/list/{{isTest==false?'sale':'scene'}}/index" >
<view class="sale-title"><text>限时特惠</text>超值商品限时抢购</view> <view class="sale-title"><text>特惠新品</text>超值商品限时抢购</view>
<view class="sale-product" wx:if="{{saleProduct && isTest==false}}"> <view class="sale-product" wx:if="{{saleProduct && isTest==false}}">
<view class="sale-product-bg"></view> <view class="sale-product-bg"></view>
<common-image class="sale-img" width="173rpx" height="165rpx" src="{{saleProduct.sku.headimg}}" mode="aspectFill"></common-image> <common-image class="sale-img" width="173rpx" height="165rpx" src="{{saleProduct.sku.headimg}}" mode="aspectFill"></common-image>
@ -89,14 +89,14 @@
<view class="sale-info"> <view class="sale-info">
<view class="sale-product-title textOver2"> <view class="sale-product-title textOver2">
<view>限时特惠</view> <view>限时特惠</view>
<view>正在赶来</view> <view>新品推荐</view>
</view> </view>
<view class="sale-price">敬请期待</view> <view class="sale-price">敬请期待</view>
</view> </view>
</view> </view>
</view> </view>
<view class="sale-box" bindtap="gotoPath" data-title="精品线路" data-path="/pages/list/road/index"> <view class="sale-box" bindtap="gotoPath" data-title="精品线路" data-path="/pages/list/road/index">
<view class="sale-title"><text>精品线路</text>精品线路精心挑选</view> <view class="sale-title"><text>精品线路</text>四季苏州最是江南</view>
<view class="sale-product" wx:if="{{roadProduct}}"> <view class="sale-product" wx:if="{{roadProduct}}">
<view class="sale-product-bg road-product-bg"></view> <view class="sale-product-bg road-product-bg"></view>
<common-image class="sale-img" width="173rpx" height="165rpx" src="{{roadProduct.headimg}}" mode="aspectFill"></common-image> <common-image class="sale-img" width="173rpx" height="165rpx" src="{{roadProduct.headimg}}" mode="aspectFill"></common-image>
@ -203,8 +203,8 @@
<view class="sale-road-boxes" style="margin-top:0"> <view class="sale-road-boxes" style="margin-top:0">
<image mode="widthFix" style="width:267rpx" src="https://static.ticket.sz-trip.com/xcxImages/index/title7.png"></image> <image mode="widthFix" style="width:267rpx" src="https://static.ticket.sz-trip.com/xcxImages/index/title7.png"></image>
</view> </view>
<view style="overflow-x:auto"> <scroll-view scroll-x style="height:360rpx" bindscroll="listenScroll" class="slide-box">
<view class="pbservice"> <view class="pbservice" style="margin-bottom:30rpx">
<view bindtap="gotoUrl" data-title="投资导引图" data-url="https://hot-map.sz-trip.com/" class="pbservice-item"> <view bindtap="gotoUrl" data-title="投资导引图" data-url="https://hot-map.sz-trip.com/" class="pbservice-item">
<image src="https://static.ticket.sz-trip.com/xcxImages/index/newpb1.png" mode="widthFix"></image> <image src="https://static.ticket.sz-trip.com/xcxImages/index/newpb1.png" mode="widthFix"></image>
<view>投资导引图</view> <view>投资导引图</view>
@ -221,26 +221,28 @@
<image src="https://static.ticket.sz-trip.com/xcxImages/index/newpb4.png" mode="widthFix"></image> <image src="https://static.ticket.sz-trip.com/xcxImages/index/newpb4.png" mode="widthFix"></image>
<view>在线鉴赏</view> <view>在线鉴赏</view>
</view> </view>
<view bindtap="gotoPath" data-title="文化配送" data-path="/pages/culture/index" class="pbservice-item">
<image src="https://static.ticket.sz-trip.com/xcxImages/index/newpb7.png" mode="widthFix"></image>
<view>文化配送</view>
</view>
<view bindtap="gotoPath" data-title="书香借阅" data-path="/pages/pbService/library/index" class="pbservice-item"> <view bindtap="gotoPath" data-title="书香借阅" data-path="/pages/pbService/library/index" class="pbservice-item">
<image src="https://static.ticket.sz-trip.com/xcxImages/index/newpb5.png" mode="widthFix"></image> <image src="https://static.ticket.sz-trip.com/xcxImages/index/newpb5.png" mode="widthFix"></image>
<view>书香借阅</view> <view>书香借阅</view>
</view> </view>
<view bindtap="gotoPath" data-title="博物馆查询" data-path="/pages/culture/index" class="pbservice-item"> <view bindtap="gotoPath" data-title="博物馆查询" data-path="/pages/pbService/museum/index" class="pbservice-item">
<image src="https://static.ticket.sz-trip.com/xcxImages/index/newpb6.png" mode="widthFix"></image> <image src="https://static.ticket.sz-trip.com/xcxImages/index/newpb6.png" mode="widthFix"></image>
<view>博物馆查询</view> <view>博物馆查询</view>
</view> </view>
<view bindtap="gotoPath" data-title="文化配送" data-path="/pages/culture/index" class="pbservice-item"> <view bindtap="gotoPath" data-title="团队预约" data-path="/pages/pbService/group/index" class="pbservice-item">
<image src="https://static.ticket.sz-trip.com/xcxImages/index/newpb7.png" mode="widthFix"></image> <image src="https://static.ticket.sz-trip.com/xcxImages/index/newpb9.png" mode="widthFix"></image>
<view>文化配送</view> <view>团队预约</view>
</view> </view>
<view bindtap="gotoPath" data-title="精彩回顾" data-path="/pages/pbService/activity/index" class="pbservice-item"> <view bindtap="gotoPath" data-title="精彩回顾" data-path="/pages/pbService/activity/index" class="pbservice-item">
<image src="https://static.ticket.sz-trip.com/xcxImages/index/newpb8.png" mode="widthFix"></image> <image src="https://static.ticket.sz-trip.com/xcxImages/index/newpb8.png" mode="widthFix"></image>
<view>精彩回顾</view> <view>精彩回顾</view>
</view> </view>
<view bindtap="gotoPath" data-title="团队预约" data-path="/pages/pbService/group/index" class="pbservice-item">
<image src="https://static.ticket.sz-trip.com/xcxImages/index/newpb9.png" mode="widthFix"></image>
<view>团队预约</view>
</view>
<!-- <view bindtap="gotoUrl" data-title="廉洁地图" data-url="https://www.lianshi.gov.cn:6295/jianchawei/Web/WebChatJCW/Mobile/EduBase/MobileMap.aspx" class="pbservice-item"> <!-- <view bindtap="gotoUrl" data-title="廉洁地图" data-url="https://www.lianshi.gov.cn:6295/jianchawei/Web/WebChatJCW/Mobile/EduBase/MobileMap.aspx" class="pbservice-item">
<image src="https://static.ticket.sz-trip.com/xcxImages/index/newpb10.png" mode="widthFix"></image> <image src="https://static.ticket.sz-trip.com/xcxImages/index/newpb10.png" mode="widthFix"></image>
<view>廉洁地图</view> <view>廉洁地图</view>
@ -250,6 +252,9 @@
<view>文化单位</view> <view>文化单位</view>
</view> </view>
</view> </view>
</scroll-view>
<view class="scroll-line">
<view class="scroll-line-bg" style="width:{{4 / 5 * 100}}%;margin-left:{{scrollLeft}}px"></view>
</view> </view>
<view class="sale-road-boxes" style="margin-top:0"> <view class="sale-road-boxes" style="margin-top:0">
<image mode="widthFix" style="width:267rpx" src="https://static.ticket.sz-trip.com/xcxImages/index/title6.png"></image> <image mode="widthFix" style="width:267rpx" src="https://static.ticket.sz-trip.com/xcxImages/index/title6.png"></image>

13
pages/index/index.wxss

@ -471,4 +471,17 @@
color: #999; color: #999;
font-size: 24rpx; font-size: 24rpx;
margin-bottom: 20rpx; margin-bottom: 20rpx;
}
.scroll-line {
height: 6rpx;
border-radius: 3rpx;
background: #ccc;
overflow: hidden;
margin: 30rpx auto;
}
.scroll-line-bg {
width: 300rpx;
height: 6rpx;
border-radius: 3rpx;
background: #0B898E;
} }

19
pages/info/culturalUnitInfo/index.js

@ -8,13 +8,21 @@ Page({
* 页面的初始数据 * 页面的初始数据
*/ */
data: { data: {
info:null info:null,
currentIndex:0,
top:0,
htmls:[]
}, },
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */
onLoad: function (options) { onLoad: function (options) {
let rect = wx.getMenuButtonBoundingClientRect(),device = wx.getSystemInfoSync();
let height = (rect.top - device.statusBarHeight) * 2 + rect.height + device.statusBarHeight;
this.setData({
top:height
})
commonApi._post("pbservice/cultural_units/getDetail",{ commonApi._post("pbservice/cultural_units/getDetail",{
id:options.id id:options.id
}).then(res=>{ }).then(res=>{
@ -22,11 +30,18 @@ Page({
if(res.data.list_img.length==0 && res.data.head_img){ if(res.data.list_img.length==0 && res.data.head_img){
res.data.list_img.push(res.data.head_img) res.data.list_img.push(res.data.head_img)
} }
let htmls = res.data.content?res.data.content.split('<hr style="page-break-after:always;" class="ke-pagebreak" />'):[]
this.setData({ this.setData({
info:res.data info:res.data,
htmls:htmls
}) })
}) })
}, },
changeSlide(e){
this.setData({
currentIndex:e.detail.current
})
},
/** /**
* 生命周期函数--监听页面初次渲染完成 * 生命周期函数--监听页面初次渲染完成

36
pages/info/culturalUnitInfo/index.wxml

@ -1,6 +1,38 @@
<!--pages/info/culturalUnitInfo/index.wxml--> <!--pages/info/culturalUnitInfo/index.wxml-->
<wxs src="../../../utils/filter.wxs" module="tool" /> <wxs src="../../../utils/filter.wxs" module="tool" />
<view wx:if="{{info}}"> <view wx:if="{{info}}" class="bg" style="top:{{top}}px">
<swiper class="page" vertical bindchange="changeSlide">
<swiper-item>
<view class="title">{{info.company_name}}</view>
<view class="address">
<image src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infolocation.png"></image>
<view>地址:{{info.address}}</view>
</view>
<view class="address">
<image src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infotel.png"></image>
<view>电话:<text style="color:#0B898E">{{info.mobile}}</text></view>
</view>
<swiper wx:if="{{info.list_img.length>0}}" style="width:690rpx;height:560rpx;margin:0 auto;margin-top:30rpx">
<swiper-item wx:for="{{info.list_img}}">
<image style="width:690rpx;height:560rpx;display:block;" src="{{item}}" mode="aspectFill"></image>
</swiper-item>
</swiper>
<!-- <image wx:else mode="aspectFill" style="width:690rpx;height:560rpx;display:block;margin:0 auto;margin-top:30rpx" src="{{info.headimg}}"></image> -->
<image mode="widthFix" class="infoline1" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline1.png"></image>
<image mode="widthFix" class="infoline2" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline2.png"></image>
<image mode="widthFix" class="infoline3" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline3.png"></image>
</swiper-item>
<swiper-item wx:for="{{htmls}}">
<view class="title title2">{{info.company_name}}</view>
<image mode="widthFix" class="infoline1" style="position:static" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline1.png"></image>
<rich-text class="detail" nodes="{{tool.formateRichText(item)}}"></rich-text>
<image mode="widthFix" class="infoline2" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline2.png"></image>
<image mode="widthFix" class="infoline3" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline3.png"></image>
</swiper-item>
</swiper>
<image mode="widthFix" class="infoarrow{{currentIndex<htmls.length?' ani':''}}" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/{{currentIndex<htmls.length?'infoarrow':'infoover'}}.png"></image>
</view>
<!-- <view wx:if="{{info}}">
<title title="{{info.company_name}}"></title> <title title="{{info.company_name}}"></title>
<swiper class="swiper" indicator-dots="{{true}}" <swiper class="swiper" indicator-dots="{{true}}"
autoplay="{{true}}" interval="{{2000}}" duration="{{300}}"> autoplay="{{true}}" interval="{{2000}}" duration="{{300}}">
@ -17,4 +49,4 @@
<view class="content" wx:if="{{info.content}}"> <view class="content" wx:if="{{info.content}}">
<rich-text nodes="{{tool.formateRichText(info.content)}}"></rich-text> <rich-text nodes="{{tool.formateRichText(info.content)}}"></rich-text>
</view> </view>
</view> </view> -->

95
pages/info/culturalUnitInfo/index.wxss

@ -1,32 +1,83 @@
.swiper { /* pages/pbService/museum/info/index.wxss */
width: 100%; .bg {
height: 400rpx; background: url(https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infobg.png);
background-size: 100% 100%;
position: absolute;
left: 0;
right: 0;
bottom: 0;
}
.title {
display: flex;
align-items: flex-end;
height: 190rpx;
color: #0B898E;
font-size: 48rpx;
font-weight: bold;
margin-left: 40rpx;
margin-bottom: 20rpx;
} }
.swiper image { .infoline1 {
height: 400rpx;
display: block; display: block;
width: 720rpx;
position: absolute;
left: 0;
top: 190rpx;
}
.page {
width: 100%; width: 100%;
height: 100%;
} }
page { .address {
background: #fff; display: flex;
align-items: center;
font-size: 28rpx;
color: #333333;
padding: 18rpx 0;
} }
.top-box { .address image {
padding: 20rpx 39rpx; display: block;
background: white; flex-shrink: 0;
border-radius: 20rpx 20rpx 0px 0px; margin-left: 38rpx;
margin-bottom: 25rpx; width: 30rpx;
height: 30rpx;
margin-right: 16rpx;
} }
.title { .infoline3,.infoline2,.infoarrow {
font-size: 32rpx; position: absolute;
color: #000; width: 250rpx;
font-weight:500; bottom: 47rpx;
display: block;
} }
.info-address { .infoline3 {
color: #666; right: 0;
font-size: 27rpx;
} }
.content { .infoline2 {
left: 0;
}
.infoarrow {
width: 60rpx;
bottom: 26rpx;
left: 50%;
margin-left: -30rpx;
}
.infoarrow.ani {
-webkit-animation: bounce-down 1.6s linear infinite;animation: bounce-down 1.6s linear infinite;
}
.detail {
display: block;
margin: 20rpx 30rpx;
font-size: 30rpx; font-size: 30rpx;
padding: 40rpx; }
background: white; @keyframes bounce-down {
25% {transform: translateY(-10rpx);opacity:0.3;}
50%{transform: translateY(0);opacity:1;}
75% {transform: translateY(10rpx);opacity:1;}
100% {transform: translateY(0);opacity:1;}
}
.title2 {
font-size: 36rpx;
height: 126rpx;
margin-bottom: 0;
} }

40
pages/info/postProductInfo/index.js

@ -62,23 +62,9 @@ Page({
this.setData({ this.setData({
info:res.data info:res.data
}) })
this.drawImg()
this.BroswerRecord() this.BroswerRecord()
}) })
if(wx.getStorageSync("jstrip_token")){
commonApi.user_post("product/is_product_collection",{
product_id:options.id
}).then(res=>{
this.setData({
isLike:res.data
})
})
commonApi.user_post('cart/get_list',{}).then(res=>{
this.setData({
cartCount:res.data.length
})
})
}
// 获取评价列表 // 获取评价列表
commonApi._post("product/product_comment_list",{ commonApi._post("product/product_comment_list",{
product_id:options.id product_id:options.id
@ -549,7 +535,29 @@ Page({
* 生命周期函数--监听页面显示 * 生命周期函数--监听页面显示
*/ */
onShow: function () { onShow: function () {
if(!wx.getStorageSync('jstrip_token')){
return;
}
if(this.data.info && this.data.info.id){
commonApi.user_post("product/is_product_collection",{
product_id:this.data.info.id
}).then(res=>{
this.setData({
isLike:res.data
})
this.drawImg()
})
commonApi.user_post('cart/get_list',{}).then(res=>{
this.setData({
cartCount:res.data.length
})
})
}
else {
setTimeout(()=>{
this.onShow()
},200)
}
}, },
/** /**

2
pages/list/road/index.js

@ -41,7 +41,7 @@ Page({
}, },
changeType:function(e){ changeType:function(e){
this.setData({ this.setData({
type:e.detail.value, type:e.currentTarget.dataset.type,
list:[], list:[],
total:1 total:1
}) })

9
pages/list/road/index.wxml

@ -1,13 +1,16 @@
<!--pages/list/road/index.wxml--> <!--pages/list/road/index.wxml-->
<search bind:onload="search"></search> <search bind:onload="search"></search>
<image class="topimg" src="https://static.ticket.sz-trip.com/xcxImages/listtop/road.jpg" mode="widthFix"></image> <view class="types">
<view bindtap="changeType" data-type="{{index}}" class="type-item{{type==index?' active':''}}" wx:for="{{types}}">{{item.type_name}}</view>
</view>
<!-- <image class="topimg" src="https://static.ticket.sz-trip.com/xcxImages/listtop/road.jpg" mode="widthFix"></image> -->
<view class="top-box"> <view class="top-box">
<picker mode="selector" value="{{type}}" range="{{types}}" range-key="type_name" bindchange="changeType"> <!-- <picker mode="selector" value="{{type}}" range="{{types}}" range-key="type_name" bindchange="changeType">
<view class="picker"> <view class="picker">
<view class="typetext {{type==null?'disable':''}}">{{type==null?'选择类型':types[type].type_name}}</view> <view class="typetext {{type==null?'disable':''}}">{{type==null?'选择类型':types[type].type_name}}</view>
<image src="https://static.ticket.sz-trip.com/xcxImages/activity/arrow.png" mode="widthFix"></image> <image src="https://static.ticket.sz-trip.com/xcxImages/activity/arrow.png" mode="widthFix"></image>
</view> </view>
</picker> </picker> -->
<view class="{{sort=='weight'?'active':''}}" bindtap="changeSort" data-sort="weight" data-order="desc">综合</view> <view class="{{sort=='weight'?'active':''}}" bindtap="changeSort" data-sort="weight" data-order="desc">综合</view>
<view class="price-box{{sort=='price'?' active':''}}" bindtap="changeSort" data-sort="price" data-order="{{sort=='price' && order=='asc'?'desc':'asc'}}"> <view class="price-box{{sort=='price'?' active':''}}" bindtap="changeSort" data-sort="price" data-order="{{sort=='price' && order=='asc'?'desc':'asc'}}">
<view>价格</view> <view>价格</view>

33
pages/list/road/index.wxss

@ -6,12 +6,41 @@ pages {
width: 100%; width: 100%;
display: block; display: block;
} }
.types {
display: flex;
align-items: center;
justify-content: space-between;
}
.type-item {
width: 50%;
text-align: center;
line-height: 82rpx;
position: relative;
color: #666666;
font-size: 31rpx;
}
.type-item.active {
color: #000;
}
.type-item.active::after {
content:"1";
font-size: 0;
position: absolute;
display: block;
width: 46rpx;
height: 7rpx;
background: #0B898E;
border-radius: 3rpx;
bottom: 0;
left: 50%;
margin-left: -23rpx;
}
.top-box { .top-box {
display: flex; display: flex;
align-items: center; align-items: center;
height: 110rpx; height: 87rpx;
padding: 0 25rpx; padding: 0 25rpx;
border: 1rpx solid #CCCCCC; border-top: 1rpx solid #CCCCCC;
font-size: 27rpx; font-size: 27rpx;
color: #999; color: #999;
justify-content: space-between; justify-content: space-between;

29
pages/list/sale/index.js

@ -11,7 +11,8 @@ Page({
type:0, type:0,
service:["act/fast_sale_now","act/fast_next_sale_now","act/fast_next_days_sale_now"], service:["act/fast_sale_now","act/fast_next_sale_now","act/fast_next_days_sale_now"],
list:[], list:[],
moreFlag:true moreFlag:true,
t:0
}, },
/** /**
@ -22,6 +23,19 @@ Page({
}, },
getList:function(){ getList:function(){
if(!this.data.moreFlag) return; if(!this.data.moreFlag) return;
if(this.data.type==1){
commonApi._post('product/get_product_by_tag',{
limit:10,
offset:this.data.list.length,
tag_id:91
}).then(res=>{
this.setData({
list:this.data.list.concat(res.data.list),
moreFlag:res.data.list.length>=10
})
})
return
}
commonApi._post(this.data.service[this.data.type],{ commonApi._post(this.data.service[this.data.type],{
limit:10, limit:10,
offset:this.data.list.length offset:this.data.list.length
@ -37,7 +51,18 @@ Page({
this.setData({ this.setData({
list:this.data.list.concat(res.data) list:this.data.list.concat(res.data)
}) })
this.daojishi() if(this.data.list.length==0 && this.data.t==0){
this.setData({
type:1,
moreFlag:true,
list:[],
t:1
})
this.getList()
}
else {
this.daojishi()
}
}) })
}, },
daojishi:function(){ daojishi:function(){

67
pages/list/sale/index.wxml

@ -1,40 +1,63 @@
<title title="限时特惠"></title> <title title="限时特惠"></title>
<view class="sale-types"> <view class="sale-types">
<view class="sale-type{{type==0?' active':''}}" bindtap="changeType" data-type="0">正在疯抢</view> <view class="sale-type{{type==0?' active':''}}" bindtap="changeType" data-type="0">限时特惠</view>
<view class="sale-type{{type==1?' active':''}}" bindtap="changeType" data-type="1">新品专栏</view> <view class="sale-type{{type==1?' active':''}}" bindtap="changeType" data-type="1">新品推荐</view>
</view> </view>
<view style="height:87rpx"></view> <view style="height:87rpx"></view>
<view class="list" wx:for="{{list}}" wx:for-item="activity"> <view wx:if="{{type==0}}">
<view class="sale-tip-box"> <view class="list" wx:for="{{list}}" wx:for-item="activity">
<view class="sale-time">{{activity.title}}</view> <view class="sale-tip-box">
<view class="sale-time-djs" wx:if="{{type==0 && activity.is_end==1}}">活动已结束</view> <view class="sale-time">{{activity.title}}</view>
<view class="sale-time-djs" wx:if="{{type==0 && activity.is_end!=1}}"> <view class="sale-time-djs" wx:if="{{type==0 && activity.is_end==1}}">活动已结束</view>
<text>距结束</text> <view class="sale-time-djs" wx:if="{{type==0 && activity.is_end!=1}}">
<view class="time-box">{{activity.day}}</view> <text>距结束</text>
<text>天 </text> <view class="time-box">{{activity.day}}</view>
<view class="time-box">{{activity.hour}}</view> <text>天 </text>
<text>:</text> <view class="time-box">{{activity.hour}}</view>
<view class="time-box">{{activity.minute}}</view> <text>:</text>
<text>:</text> <view class="time-box">{{activity.minute}}</view>
<view class="time-box">{{activity.second}}</view> <text>:</text>
<view class="time-box">{{activity.second}}</view>
</view>
</view>
<view class="item" wx:for="{{activity.fast_sales_sku}}" bindtap="gotoDetail" data-item="{{item}}">
<view class="image-box">
<image class="border-img" src="https://static.ticket.sz-trip.com/xcxImages/activity/border.png" mode="aspectFill"></image>
<image src="{{item.sku.product.type=='movie'?item.sku.product.headimg:item.sku.headimg}}" mode="aspectFill"></image>
</view>
<view class="right-info">
<view class="textOver2 title">{{item.sku.product.title +item.sku.sku_name}}</view>
<view class="sale-number">已抢{{item.sales}}件</view>
<view class="item-bottom">
<view class="price">
<text>¥</text>
<text>{{item.price/100}}</text>
<text>¥{{item.sku.market_price/100}}</text>
</view>
<view class="btn" wx:if="{{type==0}}">马上抢</view>
<view class="btn" wx:else>即将开抢</view>
</view>
</view>
</view> </view>
</view> </view>
<view class="item" wx:for="{{activity.fast_sales_sku}}" bindtap="gotoDetail" data-item="{{item}}"> </view>
<view wx:else class="list">
<view class="item" wx:for="{{list}}" bindtap="gotoDetail" data-item="{{item}}">
<view class="image-box"> <view class="image-box">
<image class="border-img" src="https://static.ticket.sz-trip.com/xcxImages/activity/border.png" mode="aspectFill"></image> <image class="border-img" src="https://static.ticket.sz-trip.com/xcxImages/activity/border.png" mode="aspectFill"></image>
<image src="{{item.sku.product.type=='movie'?item.sku.product.headimg:item.sku.headimg}}" mode="aspectFill"></image> <image src="{{item.headimg}}" mode="aspectFill"></image>
</view> </view>
<view class="right-info"> <view class="right-info">
<view class="textOver2 title">{{item.sku.product.title +item.sku.sku_name}}</view> <view class="textOver2 title">{{item.title}}</view>
<view class="sale-number">已抢{{item.sales}}件</view> <view class="sale-number">已抢{{item.sales_number}}件</view>
<view class="item-bottom"> <view class="item-bottom">
<view class="price"> <view class="price">
<text>¥</text> <text>¥</text>
<text>{{item.price/100}}</text> <text>{{item.price/100}}</text>
<text>¥{{item.sku.market_price/100}}</text> <text>¥{{item.market_price/100}}</text>
</view> </view>
<view class="btn" wx:if="{{type==0}}">马上抢</view> <view class="btn">马上抢</view>
<view class="btn" wx:else>即将开抢</view> <!-- <view class="btn" wx:else>即将开抢</view> -->
</view> </view>
</view> </view>
</view> </view>

19
pages/pbService/feiyi/info/index.js

@ -6,7 +6,10 @@ Page({
* 页面的初始数据 * 页面的初始数据
*/ */
data: { data: {
info:null info:null,
currentIndex:0,
top:0,
htmls:[]
}, },
/** /**
@ -14,11 +17,18 @@ Page({
*/ */
onLoad: function (options) { onLoad: function (options) {
let id = options.id; let id = options.id;
let rect = wx.getMenuButtonBoundingClientRect(),device = wx.getSystemInfoSync();
let height = (rect.top - device.statusBarHeight) * 2 + rect.height + device.statusBarHeight;
this.setData({
top:height
})
commonApi._post("pbservice/Feiyi/getDetail",{ commonApi._post("pbservice/Feiyi/getDetail",{
id:id id:id
}).then(res=>{ }).then(res=>{
let htmls = res.data.content?res.data.content.split('<hr style="page-break-after:always;" class="ke-pagebreak" />'):[]
this.setData({ this.setData({
info:res.data info:res.data,
htmls:htmls
}) })
}) })
}, },
@ -29,6 +39,11 @@ Page({
onReady: function () { onReady: function () {
}, },
changeSlide(e){
this.setData({
currentIndex:e.detail.current
})
},
/** /**
* 生命周期函数--监听页面显示 * 生命周期函数--监听页面显示

35
pages/pbService/feiyi/info/index.wxml

@ -1,11 +1,26 @@
<!--pages/pbService/feiyi/info/index.wxml--> <!--pages/pbService/museum/info/index.wxml-->
<wxs src="../../../../utils/filter.wxs" module="filter" /> <wxs src="../../../../utils/filter.wxs" module="tool" />
<title title="详情"></title> <title title="非遗详情"></title>
<view wx:if="{{info}}"> <view wx:if="{{info}}" class="bg" style="top:{{top}}px">
<common-image src="{{info.default_pic_url}}" mode="widthFix" width="100%"></common-image> <swiper class="page" vertical bindchange="changeSlide">
<view class="info"> <swiper-item>
<view class="title">{{info.title}}</view> <view class="title">{{info.title}}</view>
<view class="title">{{info.protect_office}}</view> <view class="address">
<rich-text nodes="{{filter.formateRichText(info.content)}}"></rich-text> <image src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infolocation.png"></image>
</view> <view>地址:{{info.protect_office}}</view>
</view>
<image style="width:690rpx;height:560rpx;display:block;margin:0 auto;margin-top:30rpx" src="{{info.default_pic_url}}" mode="aspectFill"></image>
<image mode="widthFix" class="infoline1" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline1.png"></image>
<image mode="widthFix" class="infoline2" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline2.png"></image>
<image mode="widthFix" class="infoline3" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline3.png"></image>
</swiper-item>
<swiper-item wx:for="{{htmls}}">
<view class="title title2">{{info.title}}</view>
<image mode="widthFix" class="infoline1" style="position:static" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline1.png"></image>
<rich-text class="detail" nodes="{{tool.formateRichText(item)}}"></rich-text>
<image mode="widthFix" class="infoline2" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline2.png"></image>
<image mode="widthFix" class="infoline3" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline3.png"></image>
</swiper-item>
</swiper>
<image mode="widthFix" class="infoarrow{{currentIndex<htmls.length?' ani':''}}" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/{{currentIndex<htmls.length?'infoarrow':'infoover'}}.png"></image>
</view> </view>

86
pages/pbService/feiyi/info/index.wxss

@ -1,11 +1,83 @@
/* pages/pbService/feiyi/info/index.wxss */ /* pages/pbService/museum/info/index.wxss */
.info { .bg {
margin: 30rpx; background: url(https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infobg.png);
color: #333; background-size: 100% 100%;
font-size: 26rpx; position: absolute;
left: 0;
right: 0;
bottom: 0;
} }
.title { .title {
font-size: 30rpx; display: flex;
margin-bottom: 22rpx; align-items: flex-end;
height: 190rpx;
color: #0B898E;
font-size: 48rpx;
font-weight: bold; font-weight: bold;
margin-left: 40rpx;
margin-bottom: 20rpx;
}
.infoline1 {
display: block;
width: 720rpx;
position: absolute;
left: 0;
top: 190rpx;
}
.page {
width: 100%;
height: 100%;
}
.address {
display: flex;
align-items: center;
font-size: 28rpx;
color: #333333;
padding: 18rpx 0;
}
.address image {
display: block;
flex-shrink: 0;
margin-left: 38rpx;
width: 30rpx;
height: 30rpx;
margin-right: 16rpx;
}
.infoline3,.infoline2,.infoarrow {
position: absolute;
width: 250rpx;
bottom: 47rpx;
display: block;
}
.infoline3 {
right: 0;
}
.infoline2 {
left: 0;
}
.infoarrow {
width: 60rpx;
bottom: 26rpx;
left: 50%;
margin-left: -30rpx;
}
.infoarrow.ani {
-webkit-animation: bounce-down 1.6s linear infinite;animation: bounce-down 1.6s linear infinite;
}
.detail {
display: block;
margin: 20rpx 30rpx;
font-size: 30rpx;
}
@keyframes bounce-down {
25% {transform: translateY(-10rpx);opacity:0.3;}
50%{transform: translateY(0);opacity:1;}
75% {transform: translateY(10rpx);opacity:1;}
100% {transform: translateY(0);opacity:1;}
}
.title2.title{
font-size: 36rpx;
height: 126rpx;
margin-bottom: 0;
} }

18
pages/pbService/gym/info/index.js

@ -12,24 +12,31 @@ Page({
info:null, info:null,
list:[], list:[],
moreFlag:true, moreFlag:true,
html:null html:null,
top:0,
htmls:[],
currentIndex:0
}, },
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */
onLoad: function (options) { onLoad: function (options) {
let rect = wx.getMenuButtonBoundingClientRect(),device = wx.getSystemInfoSync();
let height = (rect.top - device.statusBarHeight) * 2 + rect.height + device.statusBarHeight;
this.setData({ this.setData({
top:height,
id:options.id id:options.id
}) })
commonApi._post("pbservice/Gym/getDetail",{ commonApi._post("pbservice/Gym/getDetail",{
id:this.data.id id:this.data.id
}).then(res=>{ }).then(res=>{
let htmls = res.data.stadiumDetail && res.data.stadiumDetail.introduction?res.data.stadiumDetail.introduction.split('<hr style="page-break-after:always;" class="ke-pagebreak" />'):[]
this.setData({ this.setData({
picList:res.data.picList, picList:res.data.picList,
info:res.data.stadiumDetail info:res.data.stadiumDetail,
htmls:htmls
}) })
console.log(res)
}) })
this.getList() this.getList()
}, },
@ -53,6 +60,11 @@ Page({
console.log(res) console.log(res)
}) })
}, },
changeSlide(e){
this.setData({
currentIndex:e.detail.current
})
},
/** /**
* 生命周期函数--监听页面初次渲染完成 * 生命周期函数--监听页面初次渲染完成

50
pages/pbService/gym/info/index.wxml

@ -1,17 +1,41 @@
<!--pages/pbService/gym/info/index.wxml--> <!--pages/pbService/museum/info/index.wxml-->
<wxs src="../../../../utils/filter.wxs" module="tool" /> <wxs src="../../../../utils/filter.wxs" module="tool" />
<title title="场馆详情"></title> <title title="体育馆详情"></title>
<swiper class="swiper" indicator-dots="{{true}}" wx:if="{{info}}" <view wx:if="{{info}}" class="bg" style="top:{{top}}px">
autoplay="{{true}}" interval="{{2000}}" duration="{{300}}"> <swiper class="page" vertical bindchange="changeSlide">
<block wx:for="{{picList}}" wx:key="*this">
<swiper-item> <swiper-item>
<image src="{{item.pic_address}}" mode="aspectFill"></image> <view class="title">{{info.name}}</view>
<view class="address">
<image src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infolocation.png"></image>
<view>地址:{{info.address}}</view>
</view>
<view class="address">
<image src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infotel.png"></image>
<view>电话:<text style="color:#0B898E">{{info.telephone}}</text></view>
</view>
<swiper style="width:690rpx;height:560rpx;margin:0 auto;margin-top:30rpx">
<swiper-item wx:for="{{picList}}">
<image style="width:690rpx;height:560rpx;display:block;" src="{{item.pic_address}}" mode="aspectFill"></image>
</swiper-item>
</swiper>
<image mode="widthFix" class="infoline1" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline1.png"></image>
<image mode="widthFix" class="infoline2" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline2.png"></image>
<image mode="widthFix" class="infoline3" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline3.png"></image>
</swiper-item> </swiper-item>
</block> <swiper-item wx:for="{{htmls}}">
</swiper> <view class="title title2">{{info.name}}</view>
<view class="info" wx:if="{{info}}"> <image mode="widthFix" class="infoline1" style="position:static" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline1.png"></image>
<view class="title">{{info.name}}</view> <rich-text class="detail" nodes="{{tool.formateRichText(item)}}"></rich-text>
<view class="info-tip"><text>开放时间:</text>{{info.open_time}}</view> <image mode="widthFix" class="infoline2" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline2.png"></image>
<view class="info-tip"><text>联系方式:</text>{{info.telephone}}</view> <image mode="widthFix" class="infoline3" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline3.png"></image>
<view class="info-tip"><text>地址:</text>{{info.address}}</view> </swiper-item>
<swiper-item>
<view class="title title2" style="height:125rpx">开放时间</view>
<image mode="widthFix" class="infoline1" style="position:static" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline1.png"></image>
<rich-text class="detail" nodes="{{tool.formateRichText(info.open_time)}}"></rich-text>
<image mode="widthFix" class="infoline2" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline2.png"></image>
<image mode="widthFix" class="infoline3" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline3.png"></image>
</swiper-item>
</swiper>
<image mode="widthFix" class="infoarrow{{currentIndex<htmls.length+1?' ani':''}}" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/{{currentIndex<htmls.length+1?'infoarrow':'infoover'}}.png"></image>
</view> </view>

91
pages/pbService/gym/info/index.wxss

@ -1,24 +1,83 @@
/* pages/pbService/gym/info/index.wxss */ /* pages/pbService/museum/info/index.wxss */
.swiper,.swiper image { .bg {
background: url(https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infobg.png);
background-size: 100% 100%;
position: absolute;
left: 0;
right: 0;
bottom: 0;
}
.title {
display: flex;
align-items: flex-end;
height: 190rpx;
color: #0B898E;
font-size: 48rpx;
font-weight: bold;
margin-left: 40rpx;
margin-bottom: 20rpx;
}
.infoline1 {
display: block;
width: 720rpx;
position: absolute;
left: 0;
top: 190rpx;
}
.page {
width: 100%; width: 100%;
height: 360rpx; height: 100%;
}
.address {
display: flex;
align-items: center;
font-size: 28rpx;
color: #333333;
padding: 18rpx 0;
}
.address image {
display: block; display: block;
flex-shrink: 0;
margin-left: 38rpx;
width: 30rpx;
height: 30rpx;
margin-right: 16rpx;
} }
.info { .infoline3,.infoline2,.infoarrow {
font-size: 26rpx; position: absolute;
padding: 20rpx 30rpx; width: 250rpx;
color: #333; bottom: 47rpx;
display: block;
}
.infoline3 {
right: 0;
}
.infoline2 {
left: 0;
}
.infoarrow {
width: 60rpx;
bottom: 26rpx;
left: 50%;
margin-left: -30rpx;
} }
.info .title { .infoarrow.ani {
-webkit-animation: bounce-down 1.6s linear infinite;animation: bounce-down 1.6s linear infinite;
}
.detail {
display: block;
margin: 20rpx 30rpx;
font-size: 30rpx; font-size: 30rpx;
} }
.info-tip { @keyframes bounce-down {
display: flex; 25% {transform: translateY(-10rpx);opacity:0.3;}
color: #888; 50%{transform: translateY(0);opacity:1;}
margin-top: 20rpx; 75% {transform: translateY(10rpx);opacity:1;}
100% {transform: translateY(0);opacity:1;}
} }
.info-tip text { .title2.title{
width: 130rpx; font-size: 36rpx;
color: #333; height: 126rpx;
flex-shrink: 0; margin-bottom: 0;
} }

20
pages/pbService/museum/info/index.js

@ -6,22 +6,38 @@ Page({
* 页面的初始数据 * 页面的初始数据
*/ */
data: { data: {
info:null info:null,
top:0,
htmls:[],
currentIndex:0
}, },
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */
onLoad: function (options) { onLoad: function (options) {
let rect = wx.getMenuButtonBoundingClientRect(),device = wx.getSystemInfoSync();
let height = (rect.top - device.statusBarHeight) * 2 + rect.height + device.statusBarHeight;
this.setData({
top:height
})
commonApi._post("pbservice/Museum/getDetail",{ commonApi._post("pbservice/Museum/getDetail",{
id:options.id id:options.id
}).then(res=>{ }).then(res=>{
res.data.listimg = res.data.listimg?res.data.listimg.split(","):[]; res.data.listimg = res.data.listimg?res.data.listimg.split(","):[];
let htmls = res.data.detail?res.data.detail.split('<hr style="page-break-after:always;" class="ke-pagebreak" />'):[]
this.setData({ this.setData({
info:res.data info:res.data,
htmls:htmls
}) })
}) })
}, },
changeSlide(e){
console.log(e)
this.setData({
currentIndex:e.detail.current
})
},
/** /**
* 生命周期函数--监听页面初次渲染完成 * 生命周期函数--监听页面初次渲染完成

63
pages/pbService/museum/info/index.wxml

@ -1,27 +1,46 @@
<!--pages/pbService/museum/info/index.wxml--> <!--pages/pbService/museum/info/index.wxml-->
<wxs src="../../../../utils/filter.wxs" module="tool" /> <wxs src="../../../../utils/filter.wxs" module="tool" />
<title title="详情"></title> <title title="详情"></title>
<view class="content" wx:if="{{info}}"> <view wx:if="{{info}}" class="bg" style="top:{{top}}px">
<swiper class="swiper"> <swiper class="page" vertical bindchange="changeSlide">
<block wx:for="{{info.listimg}}" wx:key="*this"> <swiper-item>
<swiper-item> <view class="title">{{info.name}}</view>
<image src="{{item || '/images/place1.png'}}" mode="aspectFill" class="mainimg"></image> <view class="address">
</swiper-item> <image src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infolocation.png"></image>
</block> <view>地址:{{info.address}}</view>
</view>
<view class="address">
<image src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infotel.png"></image>
<view>电话:<text style="color:#0B898E">{{info.phone}}</text></view>
</view>
<swiper wx:if="{{info.listimg.length>0}}" style="width:690rpx;height:560rpx;margin:0 auto;margin-top:30rpx">
<swiper-item wx:for="{{info.listimg}}">
<image style="width:690rpx;height:560rpx;display:block;" src="{{item}}" mode="aspectFill"></image>
</swiper-item>
</swiper>
<image wx:else mode="aspectFill" style="width:690rpx;height:560rpx;display:block;margin:0 auto;margin-top:30rpx" src="{{info.headimg}}"></image>
<image mode="widthFix" class="infoline1" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline1.png"></image>
<image mode="widthFix" class="infoline2" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline2.png"></image>
<image mode="widthFix" class="infoline3" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline3.png"></image>
</swiper-item>
<swiper-item wx:for="{{htmls}}">
<view class="title title2">{{info.name}}</view>
<image mode="widthFix" class="infoline1" style="position:static" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline1.png"></image>
<rich-text class="detail" nodes="{{tool.formateRichText(item)}}"></rich-text>
<image mode="widthFix" class="infoline2" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline2.png"></image>
<image mode="widthFix" class="infoline3" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline3.png"></image>
</swiper-item>
<swiper-item>
<view class="title title2" style="height:125rpx">接待时间</view>
<image mode="widthFix" class="infoline1" style="position:static" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline1.png"></image>
<rich-text class="detail" nodes="{{tool.formateRichText(info.open_time)}}"></rich-text>
<view class="title title2" style="height:125rpx">交通线路</view>
<image mode="widthFix" class="infoline1" style="position:static" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline1.png"></image>
<rich-text class="detail" nodes="{{tool.formateRichText(info.route)}}"></rich-text>
<image mode="widthFix" class="infoline2" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline2.png"></image>
<image mode="widthFix" class="infoline3" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline3.png"></image>
</swiper-item>
</swiper> </swiper>
<view class="title">{{info.name}}</view> <image mode="widthFix" class="infoarrow{{currentIndex<htmls.length+1?' ani':''}}" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/{{currentIndex<htmls.length+1?'infoarrow':'infoover'}}.png"></image>
<view class="tips">
<view class="iconfont icon-dianhua"></view>
<view class="textOver">{{info.phone}}</view>
</view>
<view class="tips">
<view class="iconfont icon-location"></view>
<view class="textOver">{{info.address}}</view>
</view>
<view class="subtitle">场馆详情</view>
<rich-text nodes="{{tool.formateRichText(info.detail)}}"></rich-text>
<view class="subtitle">接待时间</view>
<rich-text nodes="{{tool.formateRichText(info.open_time)}}"></rich-text>
<view class="subtitle">交通路线</view>
<rich-text nodes="{{tool.formateRichText(info.route)}}"></rich-text>
</view> </view>

104
pages/pbService/museum/info/index.wxss

@ -1,45 +1,83 @@
/* pages/pbService/museum/info/index.wxss */ /* pages/pbService/museum/info/index.wxss */
.mainimg { .bg {
background: url(https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infobg.png);
background-size: 100% 100%;
position: absolute;
left: 0;
right: 0;
bottom: 0;
}
.title {
display: flex;
align-items: flex-end;
height: 190rpx;
color: #0B898E;
font-size: 48rpx;
font-weight: bold;
margin-left: 40rpx;
margin-bottom: 20rpx;
}
.infoline1 {
display: block; display: block;
width: 100%; width: 720rpx;
height: 300rpx; position: absolute;
left: 0;
top: 190rpx;
} }
.swiper { .page {
width: 100%; width: 100%;
height: 300rpx; height: 100%;
margin-bottom: 30rpx;
} }
.content { .address {
padding: 20rpx; display: flex;
color: #666666; align-items: center;
font-size: 28rpx; font-size: 28rpx;
color: #333333;
padding: 18rpx 0;
} }
page { .address image {
background: white; display: block;
flex-shrink: 0;
margin-left: 38rpx;
width: 30rpx;
height: 30rpx;
margin-right: 16rpx;
} }
.title { .infoline3,.infoline2,.infoarrow {
font-size: 36rpx; position: absolute;
font-weight: bold; width: 250rpx;
color: #333; bottom: 47rpx;
margin-bottom: 10rpx; display: block;
} }
.tips { .infoline3 {
display: flex; right: 0;
align-items: center;
height: 50rpx;
} }
.tips .iconfont { .infoline2 {
flex-shrink: 0; left: 0;
margin-right: 10rpx; }
color: #999; .infoarrow {
} width: 60rpx;
.subtitle { bottom: 26rpx;
padding-left: 20rpx; left: 50%;
border-left: 6rpx solid #0F9095; margin-left: -30rpx;
line-height: 30rpx;
color: #333; }
.infoarrow.ani {
-webkit-animation: bounce-down 1.6s linear infinite;animation: bounce-down 1.6s linear infinite;
}
.detail {
display: block;
margin: 20rpx 30rpx;
font-size: 30rpx; font-size: 30rpx;
font-weight: bold; }
margin-top: 40rpx; @keyframes bounce-down {
margin-bottom: 20rpx; 25% {transform: translateY(-10rpx);opacity:0.3;}
50%{transform: translateY(0);opacity:1;}
75% {transform: translateY(10rpx);opacity:1;}
100% {transform: translateY(0);opacity:1;}
}
.title2 {
font-size: 36rpx;
height: 126rpx;
margin-bottom: 0;
} }

19
pages/pbService/wwcx/info/index.js

@ -6,22 +6,37 @@ Page({
* 页面的初始数据 * 页面的初始数据
*/ */
data: { data: {
info:{} info:{},
top:0,
currentIndex:0,
htmls:[]
}, },
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */
onLoad: function (options) { onLoad: function (options) {
let rect = wx.getMenuButtonBoundingClientRect(),device = wx.getSystemInfoSync();
let height = (rect.top - device.statusBarHeight) * 2 + rect.height + device.statusBarHeight;
this.setData({
top:height
})
commonApi._post("pbservice/Relic/getDetail",{ commonApi._post("pbservice/Relic/getDetail",{
id:options.id id:options.id
}).then(res=>{ }).then(res=>{
console.log(res) console.log(res)
let htmls = res.data.introduction?res.data.introduction.split('<hr style="page-break-after:always;" class="ke-pagebreak" />'):[]
this.setData({ this.setData({
info:res.data info:res.data,
htmls:htmls
}) })
}) })
}, },
changeSlide(e){
this.setData({
currentIndex:e.detail.current
})
},
/** /**
* 生命周期函数--监听页面初次渲染完成 * 生命周期函数--监听页面初次渲染完成

39
pages/pbService/wwcx/info/index.wxml

@ -1,13 +1,30 @@
<!--pages/pbService/wbdw/info/index.wxml--> <!--pages/pbService/museum/info/index.wxml-->
<wxs src="../../../../utils/filter.wxs" module="tool" />
<title title="文物详情"></title> <title title="文物详情"></title>
<image class="main-img" src="{{info.logo}}" mode="widthFix"></image> <view wx:if="{{info}}" class="bg" style="top:{{top}}px">
<view class="content" wx:if="{{info}}"> <swiper class="page" vertical bindchange="changeSlide">
<view class="title">{{info.name}}</view> <swiper-item>
<view class="subtitle" wx:if="{{info.collection_name}}"><text>藏于:</text>{{info.collection_name}}</view> <view class="title">{{info.name}}</view>
<view class="subtitle" wx:if="{{info.level_name}}"><text>等级:</text>{{info.level_name}}</view> <view class="address">
<view class="subtitle" wx:if="{{info.age}}"><text>历史年代:</text>{{info.age}}</view> <image src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoage.png"></image>
<view class="detail"> <view>历史年代:{{info.age}}</view>
<view style="margin-bottom:10rpx">文物介绍</view> </view>
<view>{{info.introduction}}</view> <view class="address">
</view> <image src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infolocation.png"></image>
<view>地址:{{info.address}}</view>
</view>
<image style="width:690rpx;height:560rpx;display:block;margin:0 auto;margin-top:30rpx" src="{{info.logo}}" mode="aspectFill"></image>
<image mode="widthFix" class="infoline1" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline1.png"></image>
<image mode="widthFix" class="infoline2" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline2.png"></image>
<image mode="widthFix" class="infoline3" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline3.png"></image>
</swiper-item>
<swiper-item wx:for="{{htmls}}">
<view class="title title2">{{info.name}}</view>
<image mode="widthFix" class="infoline1" style="position:static" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline1.png"></image>
<rich-text class="detail" nodes="{{tool.formateRichText(item)}}"></rich-text>
<image mode="widthFix" class="infoline2" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline2.png"></image>
<image mode="widthFix" class="infoline3" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infoline3.png"></image>
</swiper-item>
</swiper>
<image mode="widthFix" class="infoarrow{{currentIndex<htmls.length?' ani':''}}" src="https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/{{currentIndex<htmls.length?'infoarrow':'infoover'}}.png"></image>
</view> </view>

90
pages/pbService/wwcx/info/index.wxss

@ -1,23 +1,83 @@
/* pages/pbService/wbdw/info/index.wxss */ /* pages/pbService/museum/info/index.wxss */
.main-img { .bg {
display: block; background: url(https://sz-qd.oss-cn-hangzhou.aliyuncs.com/xcxImages/info/infobg.png);
width: 100%; background-size: 100% 100%;
position: absolute;
} left: 0;
.content { right: 0;
margin: 30rpx; bottom: 0;
color: #333;
} }
.title { .title {
font-size: 30rpx; display: flex;
align-items: flex-end;
height: 190rpx;
color: #0B898E;
font-size: 48rpx;
font-weight: bold; font-weight: bold;
margin-left: 40rpx;
margin-bottom: 20rpx; margin-bottom: 20rpx;
} }
.subtitle { .infoline1 {
margin-bottom: 10rpx; display: block;
font-size: 26rpx; width: 720rpx;
position: absolute;
left: 0;
top: 190rpx;
}
.page {
width: 100%;
height: 100%;
}
.address {
display: flex;
align-items: center;
font-size: 28rpx;
color: #333333;
padding: 18rpx 0;
}
.address image {
display: block;
flex-shrink: 0;
margin-left: 38rpx;
width: 30rpx;
height: 30rpx;
margin-right: 16rpx;
}
.infoline3,.infoline2,.infoarrow {
position: absolute;
width: 250rpx;
bottom: 47rpx;
display: block;
}
.infoline3 {
right: 0;
}
.infoline2 {
left: 0;
}
.infoarrow {
width: 60rpx;
bottom: 26rpx;
left: 50%;
margin-left: -30rpx;
}
.infoarrow.ani {
-webkit-animation: bounce-down 1.6s linear infinite;animation: bounce-down 1.6s linear infinite;
} }
.detail { .detail {
margin-top: 40rpx; display: block;
font-size: 26rpx; margin: 20rpx 30rpx;
font-size: 30rpx;
}
@keyframes bounce-down {
25% {transform: translateY(-10rpx);opacity:0.3;}
50%{transform: translateY(0);opacity:1;}
75% {transform: translateY(10rpx);opacity:1;}
100% {transform: translateY(0);opacity:1;}
}
.title2.title{
font-size: 36rpx;
height: 126rpx;
margin-bottom: 0;
} }

6
project.private.config.json

@ -13,9 +13,9 @@
"miniprogram": { "miniprogram": {
"list": [ "list": [
{ {
"name": "pages/info/postProductInfo/index", "name": "pages/pbService/feiyi/info/index",
"pathName": "pages/info/postProductInfo/index", "pathName": "pages/pbService/feiyi/info/index",
"query": "id=12677", "query": "id=24",
"scene": null "scene": null
}, },
{ {

Loading…
Cancel
Save