Commit 7f558cc1 authored by 罗超's avatar 罗超

1

parent 9ed4df20
......@@ -764,11 +764,7 @@
"path": "imgList"
},
{
"path": "buyNotice",
"enablePullDownRefresh": true,
"style": {
"navigationStyle": "custom"
}
"path": "policyDetail"
}
]
}
......
<template>
<view style="height: 100vh; overflow: hidden;width:100vw;">
<scroll-view scroll-y="true" style="width: 100%;height: 100%;" @scroll="scroll">
<view style="height: 700rpx;position: relative;z-index: 1;" :style="{'opacity':(100-boxOption)+'%'}">
<view @click="goback" :style="[titleStyle,{opacity:'100% !important'}]" style="position: fixed;top: 0;left: 0;z-index: 9; padding-left: 6rpx;">
<u-icon name="arrow-left" size="44" color="#000" style="margin-top: 22rpx;"></u-icon>
</view>
<image class="banner-img" :src="imgBaseUrl+details.AllPicList[0].TagPicList[0].Path" mode="aspectFit" @click="goUrl"></image>
</view>
<view class="ticket-title" :style="[titleStyleFix]">
<view @click="goback">
<u-icon name="arrow-left" size="44"></u-icon>
</view>
<view style="flex: 1;margin-left: 30rpx; text-align: left;'background-color':'#000'">{{details.Name}}</view>
</view>
<view class="buyNotice">
<scroll-view scroll-y="true" style="width: 100%;height: 100%; padding: 44rpx 0;" @scroll="scroll">
<view class="notice-box">
<view class="base-info">
<image class="left" :src="imgBaseUrl+details.AllPicList[0].TagPicList[0].Path" mode="aspectFit" ></image>
<image class="left" :src="imgBaseUrl+coverImg" mode="aspectFit"></image>
<view class="right">
<view class="name">
{{details.Name}}
{{TicketData.TicketSubName}}({{TicketData.TicketName}})
</view>
<view class="evaluate">
<u-rate size="24rpx" inactive-color="#FFF" :current="details.ScoreNum" active-icon="star" disabled active-color="#F8632F"></u-rate>
<u-rate size="24rpx" inactive-color="#FFF" :current="score" active-icon="star" disabled active-color="#F8632F"></u-rate>
<view class="rate">
{{details.ScoreNum}}
<text v-if="details.ScoreNum===1||details.ScoreNum===2||details.ScoreNum===3||details.ScoreNum===4||details.ScoreNum===5">.0</text>
{{score}}
<text v-if="score===1||score===2||score===3||score===4||score===5">.0</text>
</view>
<view class="comment">
128人评论
<u-icon name="arrow-right" color="#6E6E6E" size="24rpx"></u-icon>
{{TicketData.CommentCount}}人评论
<u-icon name="arrow-down" color="#6E6E6E" size="24rpx"></u-icon>
</view>
</view>
<view class="sell">
已售1000
已售{{TicketData.SaleCount}}
</view>
</view>
</view>
......@@ -42,7 +29,7 @@
购买须知
<text class="ticket-title-bg"></text>
</view>
<view class="detail-info-item">
<view class="detail-info-item" v-if="TicketData.SubscribeTime">
<view class="item-name">
可订时间
</view>
......@@ -50,7 +37,7 @@
可订今日
</view>
</view>
<view class="detail-info-item">
<view class="detail-info-item" v-if="TicketData.OutTicket">
<view class="item-name">
出票速度
</view>
......@@ -58,7 +45,7 @@
平均2秒出票
</view>
</view>
<view class="detail-info-item">
<view class="detail-info-item" v-if="TicketData.ChangeTickets">
<view class="item-name">
无需换票
</view>
......@@ -67,16 +54,84 @@
</view>
</view>
<!-- 退票政策 -->
<view class="method">
<view class="method" v-if="TicketData.ReturnPriceList">
<view class="method-title">
<!-- <image src="" mode=""></image> -->
<view class="">
<image class="title-bg" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/CustomizedCar/tuipiaozhengce-bg.png"></image>
<view class="title-text">退票政策</view>
</view>
<view v-for="(item,index) in TicketData.ReturnPriceList" :key="index" v-if="TicketData.IsWorryFreeRefund===0"
class="tuipaio-item">
<view class="tuipiao-name">{{item.title}}</view>
<view class="tuipiao-desc">{{item.Dec}}</view>
</view>
<view v-for="(item,index) in TicketData.ConditionPriceList" :key="index" v-if="TicketData.IsWorryFreeRefund===1"
class="tuipaio-item">
<view class="tuipiao-name">{{item.title}}</view>
<view class="tuipiao-desc">{{item.Dec}}</view>
</view>
</view>
<!-- 使用说明 -->
<view class="use-desc" v-if="TicketData.UseInstructionsList.length>0">
<view class="ticket-title">
使用说明
<text class="ticket-title-bg"></text>
</view>
<view v-for="(item,index) in TicketData.UseInstructionsList" :key="index">
<view class="detail-info-item">
<view class="item2-name">
{{item.title}}
</view>
<view class="item-desc">
{{item.Dec}}
</view>
</view>
</view>
</view>
<!-- 费用说明 -->
<view class="cost-desc">
<view class="ticket-title">
费用说明
<text class="ticket-title-bg"></text>
</view>
<view v-for="(item,index) in TicketData.PriceInstructionsList" :key="index">
<view class="detail-info-item">
<view class="item2-name">
{{item.title}}
</view>
<view class="item-desc">
{{item.Dec}}
</view>
</view>
</view>
</view>
<!-- 其他信息 -->
<view class="other-desc">
<view class="ticket-title">
其他信息
<text class="ticket-title-bg"></text>
</view>
<view v-for="(item,index) in TicketData.OtherDescList" :key="index">
<view class="detail-info-item">
<view class="item2-name">
{{item.title}}
</view>
<view class="item-desc">
{{item.Dec}}
</view>
</view>
</view>
</view>
<view class="detail-btn">
<view class="price">
<text class="price-pre"></text>
{{TicketData.HPriceB}}
</view>
<view class="btn">
立即预订
</view>
</view>
</view>
</view>
</scroll-view>
......@@ -85,65 +140,40 @@
</template>
<script>
let timer
export default {
components: {
},
data() {
return {
ID: 0,
details: {},
typeList: [{
Id: 0,
Name: '视频'
}, {
Id: 1,
Name: '图片'
}],
boxOption: 0,
navsOption: 0,
titleStyle: {},
titleStyleFix:{},
active: 0,
mainColor: '',
controls: false, //显示默认控件
videoContext: '',
props: {
coverImg: {
type: String,
default: ""
},
score: {
type: Number,
default: 1
},
TicketData: {
type: Object,
default: {}
},
},
data() {
return {
checkTicketNavIndex: 1,
imgBaseUrl: ""
imgBaseUrl: "http://192.168.20.214:8130"
}
},
onLoad(options) {
let that = this
if (options && options.id) {
this.ID = options.id
this.Date=options.Date
this.getDetail()
}
this.imgBaseUrl = "http://192.168.20.214:8130"
uni.getSystemInfo({
success(res) {
that.titleStyle = {
height: "45px",
paddingTop: `${res.statusBarHeight}px`,
opacity: "0%"
};
that.titleStyleFix = {
height: "45px",
position: 'fixed',
top: '0',
left: '0',
paddingTop: `${res.statusBarHeight}px`,
'background-color': '#f6f6f6',
opacity: "0%"
watch: {
TicketData: {
handler(val) {
console.log('购票须知', this.TicketData)
this.$forceUpdate();
}
}
},
});
this.mainColor = this.$uiConfig.mainColor;
},
methods: {
goUrl() {
......@@ -151,61 +181,10 @@
url: "/pages/ticketCoupons/imgList?id=" + this.ID,
})
},
//获取详情
getDetail() {
this.request2({
url: '/api/AppletDining/GetTicketCouponsDetails',
data: {
ID: this.ID,
buyDate:this.Date
}
},
res => {
if (res.resultCode == 1) {
res.data.ScenicSpotTag = res.data.ScenicSpotTag.split(',')
res.data.GeographicTag = res.data.GeographicTag.split(',')
this.details = res.data;
console.log(this.details)
if (res.data.VideoUrl == '') {
this.active = 1
};
this.details.imgs = []
// this.details.BannerList.forEach(x=>{
// let obj= {
// name:x
// }
// this.details.imgs.push(obj)
// })
}
}
);
},
changeHandler(i) {
this.active = i;
},
previewImage(i) {
console.log(i)
uni.previewImage({
urls: this.details.BannerList,
current: i,
longPressActions: {
itemList: ["发送给朋友", "保存图片", "收藏"],
success: function(data) {},
fail: function(err) {
console.log(err.errMsg);
},
},
});
},
scroll(e) {
this.boxOption = Math.floor((e.detail.scrollTop - 50) / 1.5);
this.titleStyle.opacity = ((e.detail.scrollTop - 100) < 0 ? 0 : Math.floor(e.detail.scrollTop - 100)) +
"%";
this.tooltipShow = false
this.titleStyleFix.opacity = ((e.detail.scrollTop - 100) < 0 ? 0 : Math.floor(e.detail.scrollTop - 100)) +
"%";
this.$forceUpdate()
},
goback() {
uni.navigateBack({
......@@ -221,68 +200,57 @@
</script>
<style lang="scss" scoped>
.banner-img {
width: 750rpx;
height: 700rpx;
background-color: #f6f6f6;
}
.ticket-title {
line-height: 45px !important;
font-size: 16px;
text-align: center;
position: fixed;
left: 0;
top: 0;
width: 100%;
color: #111;
box-sizing: content-box;
z-index: 5;
display: flex;
align-items: center;
background-color: #f6f6f6;
padding-left: 6rpx;
.buyNotice {
width: 100vw;
height: 70vh;
border-radius: 40rpx 40rpx 0rpx 0rpx;
overflow: hidden;
}
.notice-box {
border-radius: 40rpx 40rpx 0rpx 0rpx;
padding: 45rpx 45rpx 0 45rpx;
background-color: #FFFFFF;
height: 900rpx;
position: relative;
top: -100rpx;
height: 70vh;
z-index: 10;
.base-info{
.base-info {
// height: 175rpx;
display: flex;
padding-bottom: 35rpx;
border-bottom: 1rpx solid #E7E7E7;
.left{
.left {
width: 130rpx;
height: 130rpx;
border-radius: 20rpx;
}
.right{
.right {
margin-left: 50rpx;
.name{
.name {
font-size: 34rpx;
font-family: PingFang SC;
font-weight: bold;
color: #1B1D1E;
margin-bottom: 20rpx;
}
.evaluate{
margin-bottom:20rpx;
.evaluate {
margin-bottom: 20rpx;
display: flex;
align-items: center;
.rate{
.rate {
margin: 0 10rpx;
font-size: 24rpx;
font-family: PingFang SC;
font-weight: 500;
color: #6E6E6E;
}
.comment{
.comment {
display: flex;
font-size: 24rpx;
font-family: PingFang SC;
......@@ -290,7 +258,8 @@
color: #6E6E6E;
}
}
.sell{
.sell {
width: 150rpx;
height: 40rpx;
background-color: #ECF1F4;
......@@ -304,7 +273,8 @@
}
}
}
.detail-info{
.detail-info {
.ticket-title {
// width: 70rpx;
height: 50rpx;
......@@ -329,10 +299,12 @@
opacity: 0.6;
}
}
.detail-info-item{
.detail-info-item {
display: flex;
margin-bottom: 30rpx;
.item-name{
.item-name {
width: 120rpx;
height: 40rpx;
background-color: #111111;
......@@ -343,24 +315,137 @@
color: #DFBE6E;
margin-right: 45rpx;
text-align: center;
line-height: 40rpx;
line-height: 38rpx;
}
.item-desc{
.item2-name {
width: 120rpx;
height: 40rpx;
background-color: #ECF1F4;
border-radius: 4rpx;
font-size: 24rpx;
font-family: PingFang SC;
font-weight: bold;
color: #111111;
margin-right: 45rpx;
text-align: center;
line-height: 38rpx;
}
.item-desc {
width: 500rpx;
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 800;
color: #111111;
}
}
.method{
width: 660rpx;
.method {
// width: 660rpx;
height: 225rpx;
background-color: #DFBE6E;
opacity: 0.1;
background-color: #FCF8F0;
border-radius: 4rpx;
position: relative;
margin-top: 40rpx;
padding: 60rpx 0 0 25rpx;
margin-bottom: 50rpx;
.method-title {
width: 120rpx;
height: 60rpx;
position: absolute;
top: -20rpx;
left: 15rpx;
text-align: center;
.title-bg {
width: 120rpx;
height: 60rpx;
position: absolute;
top: 0;
left: 0;
z-index: 0;
}
.title-text {
width: 100%;
text-align: center;
position: absolute;
top: 0;
left: 0;
z-index: 10;
font-size: 24rpx;
font-family: PingFang SC;
font-weight: bold;
line-height: 40rpx;
color: #FFF;
}
}
,
.tuipaio-item {
display: flex;
flex-wrap: wrap;
padding-left: 25rpx;
margin-bottom: 25rpx;
.tuipiao-name {
height: 40rpx;
background-color: #FFFFFF;
border: 1rpx solid #DFBE6E;
border-radius: 4rpx;
font-size: 24rpx;
font-family: PingFang SC;
font-weight: bold;
color: #DFBE6E;
text-align: center;
margin-right: 25rpx;
padding: 0 10rpx;
line-height: 38rpx;
}
.tuipiao-desc {
height: 40rpx;
font-size: 28rpx;
font-family: PingFang SC;
font-weight: bold;
color: #111111;
}
}
}
.detail-btn{
height: 80rpx;
margin: 35rpx 0;
margin-bottom: 80rpx;
padding-right: 55rpx ;
display: flex;
justify-content: flex-end;
align-items: center;
.price{
font-size: 40rpx;
font-family: PingFang SC;
font-weight: 500;
color: #D91818;
.price-pre{
font-size: 22rpx;
}
}
.btn{
width: 300rpx;
height: 80rpx;
background-color: #111111;
border-radius: 20rpx;
margin-left: 45rpx;
text-align: center;
line-height: 78rpx;
font-size: 28rpx;
font-family: PingFang SC;
font-weight: bold;
color: #FFFFFF;
}
}
}
}
</style>
<template>
<view class="subscribeTicket">
<view>
<calendar ref="calendar" :datePrice="datePrice" :curryear='curryear' :currmonth='currmonth'
howManyMonth="6" mode="2" @changeDate="changeDate" @changeMonth="changeMonth"
:defaultSelect="date"></calendar>
</view>
</view>
</template>
<script>
import calender from './njzz-calendar/njzz-calendar.vue'
export default {
components: {
calender
},
props: {
date: {
type: String,
default: ""
},
id: {
type: Number,
default: 0
}
},
data() {
return {
curryear: 0,
currmonth: 0,
datePrice: [
],
}
},
watch: {
date(val, oldVal) {
console.log(val, oldVal)
let newMonth = val.split('-')[1]
let oldMonth = oldVal.split('-')[1]
if(newMonth!=oldMonth){
console.log(newMonth!=oldMonth)
this.getGoodsDateList()
}
}
},
mounted() {
let year = new Date().getFullYear(); //年
let month = new Date().getMonth() + 1; //月
if(month<10){
month = ('0' + month)
}
this.curryear= year
this.currmonth= month
console.log('sub')
this.getGoodsDateList()
},
methods: {
getGoodsDateList() {
this.request2({
url: '/api/AppletDining/GetMonthTicketList',
data: {
TicketID: this.id,
BuyDate: this.date
}
},
res => {
let data = res.data;
let datePrice = [];
data.forEach(x => {
let obj = {}
obj.date = x.Date;
if(x.IsHavePrice===1){
obj.price = x.HPriceB;
}else{
obj.price = "";
}
datePrice.push(obj)
})
this.datePrice = datePrice
}
);
},
changeMonth(nowMonth){
let Month = nowMonth.year+'-'+nowMonth.month;
this.getGoodsDateList(Month)
},
}
}
</script>
<style lang="scss" scoped>
.subscribeTicket {
height: 70vh;
padding: 45rpx 45rpx 90rpx;
}
</style>
......@@ -2,19 +2,23 @@
<view style="height: 100vh; overflow: hidden;width:100vw;">
<scroll-view scroll-y="true" style="width: 100%;height: 100%;" @scroll="scroll">
<view style="height: 700rpx;position: relative;z-index: 1;" :style="{'opacity':(100-boxOption)+'%'}">
<view @click="goback" :style="[titleStyle,{opacity:'100% !important'}]" style="position: fixed;top: 0;left: 0;z-index: 9; padding-left: 6rpx;">
<view @click="goback" :style="[titleStyle,{opacity:'100% !important'}]"
style="position: fixed;top: 0;left: 0;z-index: 9; padding-left: 6rpx;">
<u-icon name="arrow-left" size="44" color="#000" style="margin-top: 22rpx;"></u-icon>
</view>
<image class="banner-img" :src="imgBaseUrl+details.AllPicList[0].TagPicList[0].Path" mode="aspectFit" @click="goUrl('/pages/ticketCoupons/imgList')"></image>
<image class="banner-img" :src="imgBaseUrl+details.AllPicList[0].TagPicList[0].Path" mode="aspectFit"
@click="goUrl('/pages/ticketCoupons/imgList')"></image>
</view>
<view class="ticket-title" :style="[titleStyleFix]">
<view @click="goback">
<u-icon name="arrow-left" size="44"></u-icon>
</view>
<view style="flex: 1;margin-left: 30rpx; text-align: left;'background-color':'#000'">{{details.Name}}</view>
<view style="flex: 1;margin-left: 30rpx; text-align: left;'background-color':'#000'">{{details.Name}}
</view>
</view>
<view style="position: relative;z-index: 2;">
<view style="position: relative;top: -70px;border-top-left-radius: 30px;border-top-right-radius: 30px;background-color: #FFF;">
<view
style="position: relative;top: -70px;border-top-left-radius: 30px;border-top-right-radius: 30px;background-color: #FFF;">
<view class="baseinfo">
<view class="info1">
<view class="name">
......@@ -22,25 +26,38 @@
</view>
<view class="score">
{{details.ScoreNum}}
<text v-if="details.ScoreNum===1||details.ScoreNum===2||details.ScoreNum===3||details.ScoreNum===4||details.ScoreNum===5">.0</text>
<text
v-if="details.ScoreNum===1||details.ScoreNum===2||details.ScoreNum===3||details.ScoreNum===4||details.ScoreNum===5">.0</text>
</view>
</view>
<view class="info2">
<view class="BusinessState">
<view v-if="details.BusinessState===1">
今日开放
<text class="OpenTimeStr">{{details.OpenTimeStr}}</text>
</view>
<text v-if="details.BusinessState===0">暂未开发</text>
</view>
<view class="commenticon-box">
0条点评
<u-icon name="arrow-down" color="#6E6E6E" size="20rpx" class="icon"></u-icon>
<u-icon name="arrow" color="#6E6E6E" size="20rpx" class="icon"></u-icon>
</view>
</view>
<view class="info3">
<view class="tag-box">
<view v-for="(_item,_index) in details.ScenicSpotTag" :key="_index">
<u-tag :text="_item" bg-color="#FFF" border-color="#DFBE6E" color="#DFBE6E" size="mini" class="tag" v-if="_item"></u-tag>
<u-tag :text="_item" bg-color="#FFF" border-color="#DFBE6E" color="#DFBE6E"
size="mini" class="tag" v-if="_item"></u-tag>
</view>
<view v-for="(_item,_index) in details.GeographicTag" :key="_index">
<u-tag :text="_item" bg-color="#FFF" border-color="#DFBE6E" color="#DFBE6E" size="mini" class="tag" v-if="_item"></u-tag>
<u-tag :text="_item" bg-color="#FFF" border-color="#DFBE6E" color="#DFBE6E"
size="mini" class="tag" v-if="_item"></u-tag>
</view>
</view>
<view class="policy-detail">
<view class="policy-detail" @click="goUrl('/pages/ticketCoupons/policyDetail')">
政策详情
<u-icon name="arrow-down" color="#6E6E6E" size="24rpx" class="icon"></u-icon>
<u-icon name="arrow" color="#6E6E6E" size="24rpx" class="icon"></u-icon>
</view>
</view>
<view class="line"></view>
......@@ -63,13 +80,16 @@
<text class="ticket-title-bg"></text>
</view>
<view class="ticket-navs">
<view class="ticket-nav" :class="{'check-ticket-nav':checkTicketNavIndex===1}" @click="changeCheckTicketNavIndex(1)">
<view class="ticket-nav" :class="{'check-ticket-nav':checkTicketNavIndex===1}"
@click="changeCheckTicketNavIndex(1)">
今日票
</view>
<view class="ticket-nav" :class="{'check-ticket-nav':checkTicketNavIndex===2}" @click="changeCheckTicketNavIndex(2)">
<view class="ticket-nav" :class="{'check-ticket-nav':checkTicketNavIndex===2}"
@click="changeCheckTicketNavIndex(2)">
明日票
</view>
<view class="ticket-nav" :class="{'check-ticket-nav':checkTicketNavIndex===3}" @click="changeCheckTicketNavIndex(3)">
<view class="ticket-nav" :class="{'check-ticket-nav':checkTicketNavIndex===3}"
@click="changeCheckTicketNavIndex(3)">
其他日期
</view>
......@@ -78,20 +98,25 @@
</view>
<view>
<view v-for="(item,index) in details.mealList" :key="index" class="ticket-list-box" :class="{'last-item':index==details.mealList.length-1}">
<view v-for="(item,index) in details.mealList" :key="index" class="ticket-list-box"
:class="{'last-item':index==details.mealList.length-1}">
<view class="ticket-key">
{{item.Key}}
</view>
<view class="ticket-list">
<view v-for="(_item,_index) in item.TicketList" :key="_item.Id" class="ticket-list-item" :class="{'last-item':_index==item.TicketList.length-1}">
<view v-for="(_item,_index) in item.TicketList" :key="_item.Id"
class="ticket-list-item"
:class="{'last-item':_index==item.TicketList.length-1}">
<view class="TicketName">
{{_item.TicketName}}
</view>
<view class="price">
<text class="price-pre"></text>{{_item.HPriceB}}<text class="price-nex"></text>
<text class="price-pre"></text>{{_item.HPriceB}}<text
class="price-nex"></text>
</view>
<view class="tag">
<image class="tag-img" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/CustomizedCar/likeruyuan.png"
<image class="tag-img"
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/CustomizedCar/likeruyuan.png"
mode="aspectFit" v-if="_item.IsSameDayBuy==1"></image>
<view class="tag-item" v-if="_item.SubscribeTime||_item.ChangeTickets">
<text>{{_item.SubscribeTime}}</text>
......@@ -104,14 +129,14 @@
<text v-if="_item.IsWorryFreeRefund!=0">有条件退</text>
</view>
<!-- 预订按钮 -->
<view class="pre-buy">
<view class="pre-buy" @click="subscribeTicket">
预订
</view>
<!-- 已售 -->
<view class="ticket-sell">
<view class="sell">已售 {{_item.SaleCount}}</view>
<view class="vertical-line"></view>
<view class="buy-know" @click="goUrl('/pages/ticketCoupons/buyNotice')">购买须知</view>
<view class="buy-know" @click="openBuyNotice(_item)">购买须知</view>
</view>
</view>
</view>
......@@ -141,19 +166,35 @@
</view>
</view> -->
</view>
<!-- 购票须知弹出层 -->
<view>
<u-popup v-model="showPop" mode="bottom" border-radius="40">
<buyNotice :TicketData="curTicketData" :coverImg="details.AllPicList[0].TagPicList[0].Path"
:score="details.ScoreNum"></buyNotice>
</u-popup>
</view>
<!-- 填写订单弹出层 -->
<view>
<u-popup v-model="showSubscribeTicketPop" mode="bottom" border-radius="40">
<subscribeTicket :date="Date" :id="TicketID"></subscribeTicket>
</u-popup>
</view>
</view>
</scroll-view>
<!-- 弹出日历 -->
</view>
</template>
<script>
let timer
import calendar from "./components/uni-calendar/uni-calendar.vue"
import buyNotice from "./components/buyNotice.vue"
import subscribeTicket from "./components/subscribeTicket.vue"
export default {
components: {
calendar
calendar,
buyNotice,
subscribeTicket,
},
data() {
return {
......@@ -175,16 +216,16 @@
mainColor: '',
controls: false, //显示默认控件
videoContext: '',
checkTicketNavIndex: 1,
imgBaseUrl: "",
calendar: [{
date:"",
date: "",
info: ''
}], //日历高亮
showPop: false,
curTicketData: {},
showSubscribeTicketPop: false,//订单弹出层
TicketID:0,//门票id
}
},
onLoad(options) {
......@@ -217,21 +258,29 @@
let d = new Date();
let today = `${d.getFullYear()}-${d.getMonth()+1}-${d.getDate()}`
this.Date = today
this.calendar.date=today
this.calendar.date = today
},
methods: {
//选择其他日期门票
confirm(e){
this.Date=e.fulldate
this.calendar[0].date=e.fulldate
confirm(e) {
this.Date = e.fulldate
this.calendar[0].date = e.fulldate
this.getDetail()
this.$forceUpdate()
},
openBuyNotice(item) {
this.curTicketData = item
this.showPop = true
},
goUrl(url) {
uni.navigateTo({
url: url + "?id=" + this.ID+"&Date="+this.Date,
url: url + "?id=" + this.ID,
})
},
subscribeTicket(item){
this.showSubscribeTicketPop=true
this.TicketID=item.Id
},
//获取详情
getDetail() {
this.request2({
......@@ -246,7 +295,6 @@
res.data.ScenicSpotTag = res.data.ScenicSpotTag.split(',')
res.data.GeographicTag = res.data.GeographicTag.split(',')
this.details = res.data;
console.log(this.details)
if (res.data.VideoUrl == '') {
this.active = 1
};
......@@ -358,7 +406,6 @@
.banner-img {
width: 750rpx;
height: 700rpx;
// background-color: #ff0;
}
.ticket-title {
......@@ -507,7 +554,24 @@
color: #DFBE6E;
line-height: 44rpx;
display: flex;
justify-content: flex-end;
justify-content: space-between;
.BusinessState {
font-size: 24rpx;
font-family: PingFang SC;
font-weight: 800;
color: #DFBE6E;
.OpenTimeStr {
margin-left: 10rpx;
color: #111111;
font-weight: bold;
}
}
.commenticon-box {
display: flex;
}
.icon {
margin-left: 10rpx;
......@@ -807,4 +871,9 @@
}
}
}
.popUp {
width: 750rpx;
height: 100vh;
}
</style>
......@@ -92,6 +92,7 @@
<u-loading mode="flower" size="48"></u-loading>
<Text style="color: #fff; margin-top: 10rpx;">加载中...</Text>
</view>
</view>
</template>
......@@ -99,7 +100,9 @@
// import rangeSlider from "./components/range-slider.vue"
// import canlendar from "./components/time/index.vue"
// import Cascade from "./components/cascade.vue"
export default {
data() {
return {
dataList:[],//列表数据
......@@ -165,6 +168,10 @@
this.getList();// 获取景点门票类型
},
methods: {
openBuyNotice(){
console.log(1,this.$refs.popup)
this.$refs.popup.open()
},
lower(e) {
if (this.msg.pageIndex < this.page_count) {
this.msg.pageIndex++;
......
<template>
<!-- 政策详情 -->
<view class="policyDetail">
<u-tabs :list="typeList" :current="active" name="Name" :is-scroll="false" @change="changeHandler"
:active-color="mainColor" bg-color="#FFF" bar-height='4' height="100"></u-tabs>
<view class="officialNotice">
<view class="title">
官方公告信息
</view>
<view class="desc">
<rich-text :nodes="details.TicketNotice"></rich-text>
</view>
<view class="title">
开放时间
</view>
<view class="desc">
<view v-for="(item,index) in details.OpenTimeList" :key="index">
<view class="open-date" v-if="item.StartDay&&item.EndDay">
{{item.StartDay}}~<text v-if="item.IsNextYear===1">次年</text>{{item.EndDay}}
</view>
<view class="open-item" v-if="item.StartDay&&item.EndDay">
<view class="BusinessStartWeek">
<text v-if="item.BusinessStartWeek===0">不限</text>
<text v-if="item.BusinessStartWeek===1">周一</text>
<text v-if="item.BusinessStartWeek===2">周二</text>
<text v-if="item.BusinessStartWeek===3">周三</text>
<text v-if="item.BusinessStartWeek===4">周四</text>
<text v-if="item.BusinessStartWeek===5">周五</text>
<text v-if="item.BusinessStartWeek===6">周六</text>
<text v-if="item.BusinessStartWeek===7">周七</text>
</view>~
<view class="BusinessEndWeek">
<text v-if="item.BusinessEndWeek===0">不限</text>
<text v-if="item.BusinessEndWeek===1">周一</text>
<text v-if="item.BusinessEndWeek===2">周二</text>
<text v-if="item.BusinessEndWeek===3">周三</text>
<text v-if="item.BusinessEndWeek===4">周四</text>
<text v-if="item.BusinessEndWeek===5">周五</text>
<text v-if="item.BusinessEndWeek===6">周六</text>
<text v-if="item.BusinessEndWeek===7">周七</text>
</view>
<view class="Businesstime" v-if="item.StartTime&&item.EndTime">
{{item.StartTime}}~{{item.EndTime}},
<text v-if="item.StopTime">{{item.StopTime}}停止入场</text>
</view>
</view>
</view>
</view>
<view class="title">
购票须知
</view>
<view class="desc">
<rich-text :nodes="details.BookingInfo"></rich-text>
</view>
<view class="title">
温馨提示
</view>
<view class="desc">
<rich-text :nodes="details.About"></rich-text>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
active: 0,
mainColor: "#DFBE6E",
barStyle: {
width: '30rrpx',
height: '6rpx',
background: '#DFBE6E',
borderRadius: '3rpx'
},
typeList: [{
Id: 0,
Name: '官方公告'
}, {
Id: 1,
Name: '购票须知'
}, {
Id: 2,
Name: '温馨提示'
}],
richText: "",
ID: 0,
details: {},
}
},
onLoad(options) {
console.log(options)
this.ID = options.id
this.getDetail()
},
methods: {
changeHandler(i) {
this.active = i;
},
//获取详情
getDetail() {
this.request2({
url: '/api/AppletDining/GetTicketCouponsDetails',
data: {
ID: this.ID,
}
},
res => {
if (res.resultCode == 1) {
// res.data.ScenicSpotTag = res.data.ScenicSpotTag.split(',')
// res.data.GeographicTag = res.data.GeographicTag.split(',')
this.details = res.data;
}
}
);
},
}
}
</script>
<style lang="scss" scoped>
.policyDetail {
.officialNotice {
padding: 0 45rpx 90rpx;
}
.title {
font-size: 36rpx;
font-family: PingFang SC;
font-weight: 800;
color: #111111;
margin-bottom: 45rpx;
}
.desc {
margin-bottom: 60rpx;
.open-date {
// width: 660rpx;
height: 60rpx;
background-color: #F4F4F4;
font-size: 20rpx;
font-family: PingFang SC;
font-weight: 500;
color: #4B4949;
line-height: 58rpx;
padding: 0 30rpx;
}
.open-item {
display: flex;
height: 60rpx;
background-color: #FFFFFF;
font-size: 20rpx;
font-family: PingFang SC;
font-weight: 500;
color: #4B4949;
line-height: 58rpx;
padding: 0 30rpx;
border: 1rpx solid #F4F4F4;
.Businesstime {
margin-left: 20rpx;
}
}
}
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment