Commit f0a76911 authored by 黄奎's avatar 黄奎

Merge branch 'master' of http://gitlab.oytour.com/zk123/jz_travel

parents 8b1c67f7 ee40f5e1
<template> <template>
<view <view style="height: 100vh; overflow: hidden; width: 100vw" v-if="details.Name">
style="height: 100vh; overflow: hidden; width: 100vw" <scroll-view scroll-y="true" style="width: 100%; height: 100%" @scroll="scroll">
v-if="details.Name" <view style="
>
<scroll-view
scroll-y="true"
style="width: 100%; height: 100%"
@scroll="scroll"
>
<view
style="
height: 500rpx; height: 500rpx;
position: relative; position: relative;
z-index: 1; z-index: 1;
background-color: #e7e7e7; background-color: #e7e7e7;
" "
:style="{ opacity: 100 - boxOption + '%' }" :style="{ opacity: 100 - boxOption + '%' }">
> <!-- #ifdef MP-WEIXIN -->
<!-- #ifdef MP-WEIXIN --> <view @click="goback" :style="[titleStyle, { opacity: '100% !important' }]" style="
<view
@click="goback"
:style="[titleStyle, { opacity: '100% !important' }]"
style="
position: fixed; position: fixed;
top: 0; top: 0;
left: 0; left: 0;
z-index: 9; z-index: 9;
padding-left: 6rpx; padding-left: 6rpx;
" ">
> <u-icon name="arrow-left" size="44" color="#ffffff" style="margin-top: 22rpx"></u-icon>
<u-icon </view>
name="arrow-left" <!-- #endif -->
size="44" <image class="banner-img" :src="details.AllPicList[0].TagPicList[0].Path" mode="aspectFill" @click="goUrl('/pages/ticketCoupons/imgList')"></image>
color="#ffffff" </view>
style="margin-top: 22rpx" <view class="ticket-title-bar" :style="[titleStyle]">
></u-icon> <view @click="goback">
</view> <!-- #ifdef MP-WEIXIN -->
<!-- #endif --> <u-icon name="arrow-left" size="44"></u-icon>
<image <!-- #endif -->
class="banner-img" </view>
:src="details.AllPicList[0].TagPicList[0].Path" <view style="flex: 1;margin-left: 30rpx; text-align: left;'background-color':'#000';white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"
mode="aspectFill" class="name-ali">
@click="goUrl('/pages/ticketCoupons/imgList')" {{ details.Name }}
></image> </view>
</view> </view>
<view class="ticket-title-bar" :style="[titleStyle]"> <view style="position: relative; z-index: 2">
<view @click="goback"> <view style="
<!-- #ifdef MP-WEIXIN -->
<u-icon name="arrow-left" size="44"></u-icon>
<!-- #endif -->
</view>
<view
style="flex: 1;margin-left: 30rpx; text-align: left;'background-color':'#000';white-space: nowrap;overflow: hidden;text-overflow: ellipsis;"
class="name-ali"
>
{{ details.Name }}
</view>
</view>
<view style="position: relative; z-index: 2">
<view
style="
width: 750rpx; width: 750rpx;
position: absolute; position: absolute;
top: -70px; top: -70px;
border-top-left-radius: 30px; border-top-left-radius: 30px;
border-top-right-radius: 30px; border-top-right-radius: 30px;
background-color: #fff; background-color: #fff;
" ">
> <view class="baseinfo">
<view class="baseinfo"> <view class="info1">
<view class="info1"> <view class="name">
<view class="name"> {{ details.Name }}
{{ details.Name }} </view>
</view> <view class="score-bg">
<view class="score-bg"> <image src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/CustomizedCar/pingfen-bg.png" mode="aspectFit"
<image class="pf-bg"></image>
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/CustomizedCar/pingfen-bg.png" <view class="score">
mode="aspectFit" {{ details.ScoreNum }}
class="pf-bg" <text v-if="
></image>
<view class="score">
{{ details.ScoreNum }}
<text
v-if="
details.ScoreNum === 1 || details.ScoreNum === 1 ||
details.ScoreNum === 2 || details.ScoreNum === 2 ||
details.ScoreNum === 3 || details.ScoreNum === 3 ||
details.ScoreNum === 4 || details.ScoreNum === 4 ||
details.ScoreNum === 5 details.ScoreNum === 5
" ">.0</text>
>.0</text </view>
> </view>
</view> </view>
</view> <view class="info2">
</view> <view class="BusinessState">
<view class="info2"> <view v-if="details.BusinessState === 1">
<view class="BusinessState"> 今日开放
<view v-if="details.BusinessState === 1"> <text class="OpenTimeStr">{{ details.OpenTimeStr }}</text>
今日开放 </view>
<text class="OpenTimeStr">{{ details.OpenTimeStr }}</text> <text v-if="details.BusinessState === 0">暂未开发</text>
</view> </view>
<text v-if="details.BusinessState === 0">暂未开发</text> <view class="commenticon-box">
</view> <!-- 0条点评
<view class="commenticon-box">
<!-- 0条点评
<u-icon name="arrow" color="#6E6E6E" size="20rpx" class="icon"></u-icon> --> <u-icon name="arrow" color="#6E6E6E" size="20rpx" class="icon"></u-icon> -->
</view> </view>
</view> </view>
<view class="info3"> <view class="info3">
<view class="tag-box"> <view class="tag-box">
<view <view v-for="(_item, _index) in details.ScenicSpotTag" :key="_index">
v-for="(_item, _index) in details.ScenicSpotTag" <u-tag :text="_item" bg-color="#FFF" border-color="#DFBE6E" color="#DFBE6E" size="mini" class="tag" v-if="_item"></u-tag>
:key="_index" </view>
> <view v-for="(_item, _index) in details.GeographicTag" :key="_index">
<u-tag <u-tag :text="_item" bg-color="#FFF" border-color="#DFBE6E" color="#DFBE6E" size="mini" class="tag" v-if="_item"></u-tag>
:text="_item" </view>
bg-color="#FFF" </view>
border-color="#DFBE6E" <view class="policy-detail" @click="goUrl('/pages/ticketCoupons/policyDetail')">
color="#DFBE6E" 政策详情
size="mini" <u-icon name="arrow" color="#6E6E6E" size="24rpx" class="icon"></u-icon>
class="tag" </view>
v-if="_item" </view>
></u-tag> <view class="line"></view>
</view> <view class="info4">
<view <view class="mark-icon">
v-for="(_item, _index) in details.GeographicTag" <u-icon name="location" color="#111111" size="24rpx" class="icon"></u-icon>
:key="_index" </view>
> <view class="address">
<u-tag {{ details.Address }}
:text="_item" </view>
bg-color="#FFF" <view class="see-map" @click="goMap(details.Address, details.Lng, details.Lat)">
border-color="#DFBE6E" 地图详情
color="#DFBE6E" <u-icon name="arrow" color="#6E6E6E" size="24rpx" class="icon"></u-icon>
size="mini" </view>
class="tag" </view>
v-if="_item" </view>
></u-tag> <view class="empty"></view>
</view> <view class="ticket-info">
</view> <view class="ticket-title">
<view 门票
class="policy-detail" <text class="ticket-title-bg"></text>
@click="goUrl('/pages/ticketCoupons/policyDetail')" </view>
> <view class="ticket-navs" v-if="TicketList.length > 0">
政策详情 <view class="ticket-nav" :class="{ 'check-ticket-nav': checkTicketNavIndex === 1 }" @click="changeCheckTicketNavIndex(1)"
<u-icon v-if="haveticket[0].date">
name="arrow" {{ haveticket[0].date }}
color="#6E6E6E" </view>
size="24rpx" <view class="ticket-nav" :class="{ 'check-ticket-nav': checkTicketNavIndex === 2 }" @click="changeCheckTicketNavIndex(2)"
class="icon" v-if="haveticket[1].date">
></u-icon> {{ haveticket[1].date }}
</view> </view>
</view> <view class="ticket-nav" :class="{ 'check-ticket-nav': checkTicketNavIndex === 3 }" @click="changeCheckTicketNavIndex(3)">
<view class="line"></view> {{ otherDate }}
<view class="info4"> </view>
<view class="mark-icon"> <calendar ref="calendar" :insert="false" :selected="calendar" @confirm="confirm" @monthSwitch="changeMonth"></calendar>
<u-icon </view>
name="location" <view>
color="#111111" <view class="no-data" v-if="TicketList.length === 0">
size="24rpx" <image src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/CustomizedCar/no-data.png" mode="aspectFit"
class="icon" class="no-data-img"></image>
></u-icon> <view class="zhanwu"> 暂无数据 </view>
</view> </view>
<view class="address"> <view v-for="(item, index) in TicketList" :key="index" class="ticket-list-box" :class="{ 'last-item': index == TicketList.length - 1 }"
{{ details.Address }} v-if="TicketList.length > 0">
</view> <view class="ticket-key" v-if="item.Key">
<view {{ item.Key }}
class="see-map" </view>
@click="goMap(details.Address, details.Lng, details.Lat)" <view class="ticket-list">
> <view v-for="(_item, _index) in item.TicketList" :key="_item.Id" class="ticket-list-item" :class="{
地图详情
<u-icon
name="arrow"
color="#6E6E6E"
size="24rpx"
class="icon"
></u-icon>
</view>
</view>
</view>
<view class="empty"></view>
<view class="ticket-info">
<view class="ticket-title">
门票
<text class="ticket-title-bg"></text>
</view>
<view class="ticket-navs" v-if="TicketList.length > 0">
<view
class="ticket-nav"
:class="{ 'check-ticket-nav': checkTicketNavIndex === 1 }"
@click="changeCheckTicketNavIndex(1)"
v-if="haveticket[0].date"
>
{{ haveticket[0].date }}
</view>
<view
class="ticket-nav"
:class="{ 'check-ticket-nav': checkTicketNavIndex === 2 }"
@click="changeCheckTicketNavIndex(2)"
v-if="haveticket[1].date"
>
{{ haveticket[1].date }}
</view>
<view
class="ticket-nav"
:class="{ 'check-ticket-nav': checkTicketNavIndex === 3 }"
@click="changeCheckTicketNavIndex(3)"
>
{{ otherDate }}
</view>
<calendar
ref="calendar"
:insert="false"
:selected="calendar"
@confirm="confirm"
@monthSwitch="changeMonth"
></calendar>
</view>
<view>
<view class="no-data" v-if="TicketList.length === 0">
<image
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/CustomizedCar/no-data.png"
mode="aspectFit"
class="no-data-img"
></image>
<view class="zhanwu"> 暂无数据 </view>
</view>
<view
v-for="(item, index) in TicketList"
:key="index"
class="ticket-list-box"
:class="{ 'last-item': index == TicketList.length - 1 }"
v-if="TicketList.length > 0"
>
<view class="ticket-key" v-if="item.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, 'last-item': _index == item.TicketList.length - 1,
}" }">
> <view class="TicketName">
<view class="TicketName"> {{ _item.TicketName }}
{{ _item.TicketName }} </view>
</view> <view class="price">
<view class="price"> <text class="price-pre"></text>{{
<text class="price-pre"></text
>{{
$utils.getretailer() == true $utils.getretailer() == true
? _item.HPriceB ? _item.HPriceB
: _item.HPriceC : _item.HPriceC
}} }}
<text class="price-nex"></text> <text class="price-nex"></text>
</view> </view>
<view class="tag" v-if="_item.IsSameDayBuy == 1"> <view class="tag" v-if="_item.IsSameDayBuy == 1">
<image <image class="tag-img" src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/CustomizedCar/likeruyuan.png"
class="tag-img" mode="aspectFit" v-if="_item.IsSameDayBuy == 1"></image>
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/CustomizedCar/likeruyuan.png" <view class="tag-item" v-if="
mode="aspectFit"
v-if="_item.IsSameDayBuy == 1"
></image>
<view
class="tag-item"
v-if="
(_item.SubscribeTime && _item.IsSameDayBuy == 1) || (_item.SubscribeTime && _item.IsSameDayBuy == 1) ||
(_item.ChangeTickets && _item.IsSameDayBuy == 1) (_item.ChangeTickets && _item.IsSameDayBuy == 1)
" ">
> <text v-if="_item.SubscribeTime && _item.IsSameDayBuy == 1">随时可买</text>
<text <text class="gap" v-if="_item.ChangeTickets && _item.IsSameDayBuy == 1">无需换票</text>
v-if="_item.SubscribeTime && _item.IsSameDayBuy == 1" </view>
>随时可买</text </view>
> <!-- 无忧退款 -->
<text <view class="WorryFreeRefund">
class="gap" <text v-if="_item.IsWorryFreeRefund === 0">无忧退款</text>
v-if="_item.ChangeTickets && _item.IsSameDayBuy == 1" <text v-if="_item.IsWorryFreeRefund != 0">有条件退</text>
>无需换票</text </view>
> <!-- 预订按钮 -->
</view> <view class="pre-buy" @click="chooseSubscribeTicket(_item)">
</view> 预订
<!-- 无忧退款 --> </view>
<view class="WorryFreeRefund"> <!-- 已售 -->
<text v-if="_item.IsWorryFreeRefund === 0">无忧退款</text> <view class="ticket-sell">
<text v-if="_item.IsWorryFreeRefund != 0">有条件退</text> <view class="sell">已售 {{ _item.SaleCount }}</view>
</view> <view class="vertical-line"></view>
<!-- 预订按钮 --> <view class="buy-know" @click="openBuyNotice(_item)">购买须知</view>
<view class="pre-buy" @click="chooseSubscribeTicket(_item)"> </view>
预订 </view>
</view> </view>
<!-- 已售 --> </view>
<view class="ticket-sell"> </view>
<view class="sell">已售 {{ _item.SaleCount }}</view> </view>
<view class="vertical-line"></view> <view class="empty"></view>
<view class="buy-know" @click="openBuyNotice(_item)" <!-- 旅客点评 -->
>购买须知</view <!-- <view class="comment-box">
>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="empty"></view>
<!-- 旅客点评 -->
<!-- <view class="comment-box">
<view class="ticket-title"> <view class="ticket-title">
旅客点评 旅客点评
<text class="ticket-title-bg"></text> <text class="ticket-title-bg"></text>
...@@ -325,1108 +201,1063 @@ ...@@ -325,1108 +201,1063 @@
</view> </view>
</view> </view>
</view> --> </view> -->
<view class="detail-box"> <view class="detail-box">
<view class="flex"> <view class="flex">
<view class="big-title"> <view class="big-title">
<text>发现周边</text> <text>发现周边</text>
</view> </view>
<view class="flex" style="margin-left: 64rpx"> <view class="flex" style="margin-left: 64rpx">
<view <view class="nearby-type" :class="{ active: nearbyType == 0 }" @click="changeNearbyType(0)">酒店
class="nearby-type" </view>
:class="{ active: nearbyType == 0 }" <view class="nearby-type" :class="{ active: nearbyType == 1 }" @click="changeNearbyType(1)">美食
@click="changeNearbyType(0)" </view>
>酒店 </view>
</view> </view>
<view <view class="flex" style="margin: 50rpx 0; overflow-x: auto">
class="nearby-type" <template v-if="nearbyType == 0">
:class="{ active: nearbyType == 1 }" <template v-if="details.HotelList" v-for="subItem in details.HotelList">
@click="changeNearbyType(1)" <near-good :goodItem="subItem" :goodType="1"></near-good>
>美食 </template>
</view> </template>
</view> <template v-if="nearbyType == 1">
</view> <template v-if="details.DiningList" v-for="subItem in details.DiningList">
<view class="flex" style="margin: 50rpx 0; overflow-x: auto"> <near-good :goodItem="subItem" :goodType="2"></near-good>
<template v-if="nearbyType == 0"> </template>
<template </template>
v-if="details.HotelList" </view>
v-for="subItem in details.HotelList" <view class="flex">
> <view class="big-title">
<near-good :goodItem="subItem" :goodType="1"></near-good> <text>精选推荐</text>
</template> </view>
</template> <view class="flex" style="margin-left: 64rpx">
<template v-if="nearbyType == 1"> <view class="nearby-type active">附近满足条件景点({{ scenicArr.length }})</view>
<template </view>
v-if="details.DiningList" </view>
v-for="subItem in details.DiningList" <view>
> <recommed-hotel :scenicArr="scenicArr" :dayObj="dayObj" :searchObj="searchObj">
<near-good :goodItem="subItem" :goodType="2"></near-good> </recommed-hotel>
</template> <!-- <recommed-hotel :hotelType="1"></recommed-hotel> -->
</template> </view>
</view> </view>
<view class="flex"> </view>
<view class="big-title">
<text>精选推荐</text> <!-- 购票须知弹出层 -->
</view> <view>
<view class="flex" style="margin-left: 64rpx"> <u-popup v-model="showPop" mode="bottom" border-radius="40">
<view class="nearby-type active" <buyNotice :TicketData="curTicketData" :coverImg="details.AllPicList[0].TagPicList[0].Path" :score="details.ScoreNum"
>附近满足条件景点({{ scenicArr.length }})</view @success="successBuyNotice"></buyNotice>
> </u-popup>
</view> </view>
</view> <!-- 填写订单弹出层 -->
<view> <view>
<recommed-hotel <u-popup v-model="showSubscribeTicketPop" mode="bottom" border-radius="40">
:scenicArr="scenicArr" <view>
:dayObj="dayObj" <subscribeTicket :dateStr="Date" :TicketID="TicketID" :TitekCounponId="ID" :TicketName="TicketName" @close="showSubscribeTicketPop = false"
:searchObj="searchObj" :TicketImg="details.AllPicList[0].TagPicList[0].Path" :msgPath="msgPath"></subscribeTicket>
> </view>
</recommed-hotel> </u-popup>
<!-- <recommed-hotel :hotelType="1"></recommed-hotel> --> </view>
</view> </view>
</view> </scroll-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"
@success="successBuyNotice"
></buyNotice>
</u-popup>
</view>
<!-- 填写订单弹出层 -->
<view>
<u-popup
v-model="showSubscribeTicketPop"
mode="bottom"
border-radius="40"
>
<view>
<subscribeTicket
:dateStr="Date"
:TicketID="TicketID"
:TitekCounponId="ID"
:TicketName="TicketName"
@close="showSubscribeTicketPop = false"
:TicketImg="details.AllPicList[0].TagPicList[0].Path"
:msgPath="msgPath"
></subscribeTicket>
</view>
</u-popup>
</view>
</view>
</scroll-view>
</view>
</template> </template>
<script> <script>
import calendar from "./components/uni-calendar/uni-calendar.vue"; import calendar from "./components/uni-calendar/uni-calendar.vue";
import buyNotice from "./components/buyNotice.vue"; import buyNotice from "./components/buyNotice.vue";
import subscribeTicket from "./components/subscribeTicket.vue"; import subscribeTicket from "./components/subscribeTicket.vue";
import nearGood from "./components/near-good.vue"; import nearGood from "./components/near-good.vue";
import recommedHotel from "./components/recommed-hotel.vue"; import recommedHotel from "./components/recommed-hotel.vue";
export default { export default {
components: { components: {
calendar, calendar,
buyNotice, buyNotice,
subscribeTicket, subscribeTicket,
nearGood, nearGood,
recommedHotel, recommedHotel,
}, },
data() { data() {
return { return {
ID: 0, ID: 0,
Date: "", //日期 Date: "", //日期
details: {}, details: {},
titleStyle: {}, titleStyle: {},
active: 0, active: 0,
mainColor: "", mainColor: "",
controls: false, //显示默认控件 controls: false, //显示默认控件
videoContext: "", videoContext: "",
checkTicketNavIndex: 1, checkTicketNavIndex: 1,
imgBaseUrl: "", imgBaseUrl: "",
calendar: [ calendar: [{
{ date: "",
date: "", info: "",
info: "", }, ], //日历高亮
}, showPop: false,
], //日历高亮 curTicketData: {},
showPop: false, showSubscribeTicketPop: false, //订单弹出层
curTicketData: {}, TicketID: 0, //门票id
showSubscribeTicketPop: false, //订单弹出层 TicketName: "",
TicketID: 0, //门票id otherDate: "其他日期",
TicketName: "", msgPath: "",
otherDate: "其他日期", Up: 0,
msgPath: "", nearbyType: 0,
Up: 0, scenicArr: [], //推荐景点
nearbyType: 0, haveticket: [{
scenicArr: [], //推荐景点 date: ""
haveticket: [{ date: "" }, { date: "" }], //最近3天的票 }, {
TicketList: [], date: ""
}; }], //最近3天的票
}, TicketList: [],
onShareTimeline() { };
// setTimeout(() => { },
// console.log("分享朋友圈调用"); onShareTimeline() {
// this.getReceive(); let uid = uni.getStorageSync("mall_UserInfo") ?
// }, 2500); uni.getStorageSync("mall_UserInfo").UserId :
let uid = uni.getStorageSync("mall_UserInfo") 0;
? uni.getStorageSync("mall_UserInfo").UserId if (uid == 0) {
: 0; uid = uni.getStorageSync("pid") ? uni.getStorageSync("pid").pid : 0;
if (uid == 0) { }
uid = uni.getStorageSync("pid") ? uni.getStorageSync("pid").pid : 0; let SmallShopId = uni.getStorageSync("mall_UserInfo") ?
} uni.getStorageSync("mall_UserInfo").SmallShopId :
let SmallShopId = uni.getStorageSync("mall_UserInfo") 0;
? uni.getStorageSync("mall_UserInfo").SmallShopId if (SmallShopId == 0) {
: 0; //如果微店id为0 去找所属微店id
if (SmallShopId == 0) { SmallShopId = uni.getStorageSync("mall_UserInfo") ?
//如果微店id为0 去找所属微店id uni.getStorageSync("mall_UserInfo").UserSmallShopId :
SmallShopId = uni.getStorageSync("mall_UserInfo") 0;
? uni.getStorageSync("mall_UserInfo").UserSmallShopId }
: 0; let title = this.details.Name ? this.details.Name : "门票";
} let imageUrl = this.details.AllPicList[0].TagPicList[0].Path ?
let title = this.details.Name ? this.details.Name : "门票"; this.details.AllPicList[0].TagPicList[0].Path :
let imageUrl = this.details.AllPicList[0].TagPicList[0].Path "";
? this.details.AllPicList[0].TagPicList[0].Path let id = this.ID;
: ""; this.Up = uni.getStorageSync("mall_UserInfo") ?
let id = this.ID; uni.getStorageSync("mall_UserInfo").UserPageType :
this.Up = uni.getStorageSync("mall_UserInfo") 0;
? uni.getStorageSync("mall_UserInfo").UserPageType return {
: 0; title: title,
return { query: "id=" +
title: title, this.id +
query: "&user_id=" +
"id=" + uid +
this.id + "&SmallShopId=" +
"&user_id=" + SmallShopId +
uid + "&Up=" +
"&SmallShopId=" + this.Up,
SmallShopId + imageUrl: imageUrl,
"&Up=" + };
this.Up, },
imageUrl: imageUrl, onShareAppMessage(res) {
}; let u = uni.getStorageSync("mall_UserInfo");
}, let uid = u.UserId ? u.UserId : 0;
onShareAppMessage(res) { if (uid == 0) {
// setTimeout(() => { uid = uni.getStorageSync("pid") ? uni.getStorageSync("pid").pid : 0;
// console.log("分享好友调用"); }
// this.getReceive(); let SmallShopId = u.SmallShopId ? u.SmallShopId : 0;
// }, 2500); if (SmallShopId == 0) {
let u = uni.getStorageSync("mall_UserInfo"); //如果微店id为0 去找所属微店id
let uid = u.UserId ? u.UserId : 0; SmallShopId = u.UserSmallShopId ? u.UserSmallShopId : 0;
if (uid == 0) { }
uid = uni.getStorageSync("pid") ? uni.getStorageSync("pid").pid : 0; return {
} title: this.details.Name ? this.details.Name : "门票",
let SmallShopId = u.SmallShopId ? u.SmallShopId : 0; path: "/pages/index/index?id=" +
if (SmallShopId == 0) { this.ID +
//如果微店id为0 去找所属微店id "&user_id=" +
SmallShopId = u.UserSmallShopId ? u.UserSmallShopId : 0; uid +
} "&SmallShopId=" +
return { SmallShopId +
title: this.details.Name ? this.details.Name : "门票", "&Up=" +
path: this.Up +
"/pages/index/index?id=" + "&JumpType=15",
this.ID + imageUrl: this.details.AllPicList[0].TagPicList[0].Path ?
"&user_id=" + this.details.AllPicList[0].TagPicList[0].Path :
uid + "",
"&SmallShopId=" + };
SmallShopId + },
"&Up=" + onLoad(options) {
this.Up + let that = this;
"&JumpType=15", if (options && options.id) {
imageUrl: this.details.AllPicList[0].TagPicList[0].Path this.ID = parseInt(options.id);
? this.details.AllPicList[0].TagPicList[0].Path this.getDetail();
: "", }
}; this.msgPath = "/pages/ticketCoupons/detail?id=" + options.id;
}, uni.getSystemInfo({
onLoad(options) { success(res) {
let that = this; that.titleStyle = {
if (options && options.id) { height: "45px",
this.ID = parseInt(options.id); paddingTop: `${res.statusBarHeight}px`,
this.getDetail(); opacity: 0,
} };
this.msgPath = "/pages/ticketCoupons/detail?id=" + options.id; },
uni.getSystemInfo({ });
success(res) { this.mainColor = this.$uiConfig.mainColor;
that.titleStyle = {
height: "45px", let d = new Date();
paddingTop: `${res.statusBarHeight}px`, let year = d.getFullYear();
opacity: 0, let month = d.getMonth() + 1;
}; if (month < 10) {
}, month = "0" + month;
}); }
this.mainColor = this.$uiConfig.mainColor; let day = d.getDate();
if (day < 10) {
let d = new Date(); day = "0" + day;
let year = d.getFullYear(); }
let month = d.getMonth() + 1; let today = year + "-" + month + "-" + day;
if (month < 10) { this.Date = today;
month = "0" + month; this.calendar.date = today;
} this.getRecomHotel();
let day = d.getDate(); this.getGoodsprice(this.Date);
if (day < 10) { },
day = "0" + day;
} methods: {
let today = year + "-" + month + "-" + day; //选择其他日期门票
this.Date = today; confirm(e) {
this.calendar.date = today; if (e.fulldate == this.haveticket[0].date) {
this.getRecomHotel(); this.checkTicketNavIndex = 1;
this.getGoodsprice(this.Date); this.otherDate = "其他日期";
}, } else if (e.fulldate == this.haveticket[1].date) {
this.checkTicketNavIndex = 2;
methods: { this.otherDate = "其他日期";
//选择其他日期门票 } else {
confirm(e) { this.otherDate = e.fulldate;
if (e.fulldate == this.haveticket[0].date) { }
this.checkTicketNavIndex = 1; this.Date = e.fulldate;
this.otherDate = "其他日期"; // this.calendar[0].date = e.fulldate
} else if (e.fulldate == this.haveticket[1].date) {
this.checkTicketNavIndex = 2; this.getDetailByDate();
this.otherDate = "其他日期"; this.$forceUpdate();
} else { },
this.otherDate = e.fulldate; openBuyNotice(item) {
} this.curTicketData = item;
this.Date = e.fulldate; this.showPop = true;
// this.calendar[0].date = e.fulldate },
goUrl(url) {
this.getDetailByDate(); uni.navigateTo({
this.$forceUpdate(); url: url + "?id=" + this.ID,
}, });
openBuyNotice(item) { },
this.curTicketData = item; chooseSubscribeTicket(item) {
this.showPop = true; this.showSubscribeTicketPop = true;
}, this.TicketID = item.Id;
goUrl(url) { let ticketName = "";
uni.navigateTo({ if (item.TicketSubName) {
url: url + "?id=" + this.ID, ticketName += item.TicketSubName;
}); }
}, if (item.TicketName) {
chooseSubscribeTicket(item) { ticketName += item.TicketName;
this.showSubscribeTicketPop = true; }
this.TicketID = item.Id; this.TicketName = ticketName;
if(item.TicketSubName){ },
this.TicketName = item.TicketSubName + item.TicketName; //获取详情
} else { getDetail() {
this.TicketName = item.TicketName; uni.showLoading({
} title: "加载中...",
});
console.log('sss',item) this.request2({
}, url: "/api/AppletDining/GetTicketCouponsDetails",
//获取详情 data: {
getDetail() { ID: this.ID,
uni.showLoading({ },
title: "加载中...", },
}); (res) => {
this.request2( uni.hideLoading();
{ if (res.resultCode == 1) {
url: "/api/AppletDining/GetTicketCouponsDetails", res.data.ScenicSpotTag = res.data.ScenicSpotTag.split(",");
data: { res.data.GeographicTag = res.data.GeographicTag.split(",");
ID: this.ID, this.details = res.data;
}, if (res.data.newMealList.length > 0) {
}, this.TicketList = [];
(res) => { this.TicketList = res.data.newMealList[0].MealList;
uni.hideLoading(); this.haveticket[0].date = res.data.newMealList[0].DayStr;
if (res.resultCode == 1) { this.haveticket[1].date = res.data.newMealList[1].DayStr;
res.data.ScenicSpotTag = res.data.ScenicSpotTag.split(","); }
res.data.GeographicTag = res.data.GeographicTag.split(","); }
this.details = res.data; },
if (res.data.newMealList.length > 0) { (err) => {
this.TicketList = []; uni.hideLoading();
this.TicketList = res.data.newMealList[0].MealList; }
this.haveticket[0].date = res.data.newMealList[0].DayStr; );
this.haveticket[1].date = res.data.newMealList[1].DayStr; },
} // 根据景点id与指定日期获取门票列表信息
} getDetailByDate() {
}, this.request2({
(err) => { url: "/api/AppletDining/GetTicketCouponsTicketList",
uni.hideLoading(); data: {
} ID: this.ID,
); BuyDate: this.Date,
}, },
// 根据景点id与指定日期获取门票列表信息 },
getDetailByDate() { (res) => {
this.request2( if (res.resultCode == 1) {
{ this.TicketList = res.data;
url: "/api/AppletDining/GetTicketCouponsTicketList", }
data: { }
ID: this.ID, );
BuyDate: this.Date, },
},
}, changeHandler(i) {
(res) => { this.active = i;
if (res.resultCode == 1) { },
this.TicketList = res.data;
} scroll(e) {
} this.titleStyle.opacity =
); e.detail.scrollTop - 100 < 0 ?
}, 0 :
Math.floor(e.detail.scrollTop - 100) / 100 > 1 ?
changeHandler(i) { 1 :
this.active = i; Math.floor(e.detail.scrollTop - 100) / 100;
}, this.tooltipShow = false;
this.$forceUpdate();
scroll(e) { },
this.titleStyle.opacity = goback() {
e.detail.scrollTop - 100 < 0 uni.navigateBack({
? 0 delta: 1,
: Math.floor(e.detail.scrollTop - 100) / 100 > 1 });
? 1 },
: Math.floor(e.detail.scrollTop - 100) / 100;
this.tooltipShow = false; goMap(name, lon, lat) {
this.$forceUpdate(); let newLat = parseFloat(lat);
}, let newLon = parseFloat(lon);
goback() { uni.openLocation({
uni.navigateBack({ latitude: newLat,
delta: 1, longitude: newLon,
}); scale: 18,
}, name,
address: name,
goMap(name, lon, lat) { success: (res) => {},
let newLat = parseFloat(lat); fail: (err) => {},
let newLon = parseFloat(lon); });
uni.openLocation({ },
latitude: newLat, // 选择门票日期
longitude: newLon, changeCheckTicketNavIndex(i) {
scale: 18, this.checkTicketNavIndex = i;
name, if (i === 1) {
address: name, // let d = new Date();
success: (res) => {}, // let year = d.getFullYear();
fail: (err) => {}, // let month = d.getMonth() + 1
}); // if (month < 10) {
}, // month = '0' + month
// 选择门票日期 // }
changeCheckTicketNavIndex(i) { // let day = d.getDate()
this.checkTicketNavIndex = i; // if (day < 10) {
if (i === 1) { // day = '0' + day
// let d = new Date(); // }
// let year = d.getFullYear(); // let today = year + '-' + month + '-' + day
// let month = d.getMonth() + 1 // this.Date = today
// if (month < 10) { this.otherDate = "其他日期";
// month = '0' + month this.Date = this.haveticket[0].date;
// } this.getDetailByDate();
// let day = d.getDate() this.$forceUpdate();
// if (day < 10) { } else if (i === 2) {
// day = '0' + day // let d = new Date();
// } // let nextDate = new Date(d.getTime() + 24 * 60 * 60 * 1000);
// let today = year + '-' + month + '-' + day // let year = nextDate.getFullYear();
// this.Date = today // let month = nextDate.getMonth() + 1
this.otherDate = "其他日期"; // if (month < 10) {
this.Date = this.haveticket[0].date; // month = '0' + month
this.getDetailByDate(); // }
this.$forceUpdate(); // let day = nextDate.getDate()
} else if (i === 2) { // if (day < 10) {
// let d = new Date(); // day = '0' + day
// let nextDate = new Date(d.getTime() + 24 * 60 * 60 * 1000); // }
// let year = nextDate.getFullYear(); // let tomorrow = year + '-' + month + '-' + day
// let month = nextDate.getMonth() + 1 // this.Date = tomorrow
// if (month < 10) { this.otherDate = "其他日期";
// month = '0' + month this.Date = this.haveticket[1].date;
// } this.getDetailByDate();
// let day = nextDate.getDate() this.$forceUpdate();
// if (day < 10) { } else if (i === 3) {
// day = '0' + day this.$refs.calendar.open();
// } }
// let tomorrow = year + '-' + month + '-' + day },
// this.Date = tomorrow successBuyNotice() {
this.otherDate = "其他日期"; this.showPop = false;
this.Date = this.haveticket[1].date; this.showSubscribeTicketPop = true;
this.getDetailByDate(); },
this.$forceUpdate(); changeNearbyType(t) {
} else if (i === 3) { this.nearbyType = t;
this.$refs.calendar.open(); },
} getGoodsprice(date) {
}, this.request2({
successBuyNotice() { url: "/api/AppletDining/GetMonthTicketList",
this.showPop = false; data: {
this.showSubscribeTicketPop = true; TicketID: 0,
}, BuyDate: date,
changeNearbyType(t) { TicketCounponID: this.ID,
this.nearbyType = t; },
}, },
getGoodsprice(date) {
this.request2( (res) => {
{ if (res.resultCode === 1) {
url: "/api/AppletDining/GetMonthTicketList", // calendar: [{
data: { // date: "",
TicketID: 0, // info: ''
BuyDate: date, // }],
TicketCounponID: this.ID, this.calendar = [];
}, let now = new Date();
}, now.setHours(0); //设置小时
now.setMinutes(0); //设置分钟
(res) => { now.setSeconds(0); //设置秒
if (res.resultCode === 1) { now.setMilliseconds(0); //设置毫妙
// calendar: [{ let today = now.getTime();
// date: "", res.data.map((i) => {
// info: '' let resDay = Date.parse(i.Year + "-" + i.Month + "-" + i.Day);
// }], if (i.IsHavePrice === 1 && resDay >= today) {
this.calendar = []; let obj = {
let now = new Date(); date: i.Year + "-" + i.Month + "-" + i.Day,
now.setHours(0); //设置小时 // info:"有票",
now.setMinutes(0); //设置分钟 };
now.setSeconds(0); //设置秒 this.calendar.push(obj);
now.setMilliseconds(0); //设置毫妙 }
let today = now.getTime(); });
res.data.map((i) => { }
let resDay = Date.parse(i.Year + "-" + i.Month + "-" + i.Day); }
if (i.IsHavePrice === 1 && resDay >= today) { );
let obj = { },
date: i.Year + "-" + i.Month + "-" + i.Day, //获取推荐景点
// info:"有票", getRecomHotel() {
}; this.request2({
this.calendar.push(obj); url: "/api/AppletDining/GetTicketCouponsPage",
} data: {
}); pageIndex: 1,
} pageSize: 10,
} Name: "",
); FoodTypeIds: 0,
}, IsFree: -1,
//获取推荐景点 IsSameDayBuy: -1,
getRecomHotel() { IsWorryFreeRefund: -1,
this.request2( OrderBy: 3,
{ ID: parseInt(this.ID),
url: "/api/AppletDining/GetTicketCouponsPage", },
data: { },
pageIndex: 1, (res) => {
pageSize: 10, if (res.resultCode == 1) {
Name: "", this.scenicArr = [];
FoodTypeIds: 0, let tempHotel = res.data.pageData;
IsFree: -1, tempHotel.forEach((x) => {
IsSameDayBuy: -1, if (this.scenicArr.length < 2) {
IsWorryFreeRefund: -1, this.scenicArr.push(x);
OrderBy: 3, }
ID: parseInt(this.ID), });
}, }
}, }
(res) => { );
if (res.resultCode == 1) { },
this.scenicArr = []; changeMonth(val) {
let tempHotel = res.data.pageData; let now = new Date();
tempHotel.forEach((x) => { now.setDate(1);
if (this.scenicArr.length < 2) { now.setHours(0); //设置小时
this.scenicArr.push(x); now.setMinutes(0); //设置分钟
} now.setSeconds(0); //设置秒
}); now.setMilliseconds(0); //设置毫妙
} let curMonth = now.getTime();
}
); let chooseYear = val.year;
}, let chooseMonth = val.month;
changeMonth(val) { if (chooseMonth < 10) {
let now = new Date(); chooseMonth = "0" + chooseMonth;
now.setDate(1); }
now.setHours(0); //设置小时 let date = chooseYear + "-" + chooseMonth + "-01";
now.setMinutes(0); //设置分钟 let changeMonth = Date.parse(date);
now.setSeconds(0); //设置秒 if (changeMonth >= curMonth) {
now.setMilliseconds(0); //设置毫妙 this.getGoodsprice(date);
let curMonth = now.getTime(); }
},
let chooseYear = val.year; },
let chooseMonth = val.month; };
if (chooseMonth < 10) {
chooseMonth = "0" + chooseMonth;
}
let date = chooseYear + "-" + chooseMonth + "-01";
let changeMonth = Date.parse(date);
if (changeMonth >= curMonth) {
this.getGoodsprice(date);
}
},
},
};
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.banner-img { .banner-img {
width: 750rpx; width: 750rpx;
height: 500rpx; height: 500rpx;
} }
.ticket-title-bar { .ticket-title-bar {
line-height: 45px !important; line-height: 45px !important;
font-size: 16px; font-size: 16px;
text-align: center; text-align: center;
position: fixed; position: fixed;
left: 0; left: 0;
top: 0; top: 0;
width: 100%; width: 100%;
color: #111; color: #111;
box-sizing: content-box; box-sizing: content-box;
z-index: 5; z-index: 5;
display: flex; display: flex;
align-items: center; align-items: center;
background-color: #f6f6f6; background-color: #f6f6f6;
padding-left: 6rpx; padding-left: 6rpx;
} }
.label-b { .label-b {
height: 20px; height: 20px;
padding: 0 3px; padding: 0 3px;
font-size: 13px; font-size: 13px;
color: #fff; color: #fff;
border-radius: 4px; border-radius: 4px;
font-weight: bold; font-weight: bold;
} }
.brand-xinx { .brand-xinx {
width: 100%; width: 100%;
display: flex; display: flex;
align-items: center; align-items: center;
margin-top: 15px; margin-top: 15px;
} }
.brand-xinx-item { .brand-xinx-item {
width: 33%; width: 33%;
font-size: 17px; font-size: 17px;
} }
.brand-xinx-item-m { .brand-xinx-item-m {
font-size: 12px; font-size: 12px;
color: #a4a4a4; color: #a4a4a4;
margin: 10px 0; margin: 10px 0;
} }
.brand-xinx-item-t { .brand-xinx-item-t {
display: flex; display: flex;
align-items: flex-end; align-items: flex-end;
font-weight: bold; font-weight: bold;
} }
.brand-x { .brand-x {
width: 100%; width: 100%;
display: flex; display: flex;
align-items: flex-start; align-items: flex-start;
margin-top: 18px; margin-top: 18px;
} }
.brand-x-l { .brand-x-l {
font-size: 13px; font-size: 13px;
color: #a4a4a4; color: #a4a4a4;
width: 130rpx; width: 130rpx;
} }
.brand-x-r { .brand-x-r {
font-size: 13px; font-size: 13px;
color: #1f1f1f; color: #1f1f1f;
line-height: 20px; line-height: 20px;
font-family: PingFang SC; font-family: PingFang SC;
width: calc(100vw - 40px - 130rpx); width: calc(100vw - 40px - 130rpx);
} }
.brand-title { .brand-title {
width: 134rpx; width: 134rpx;
margin-top: 30px; margin-top: 30px;
} }
.brand-title image { .brand-title image {
width: 100%; width: 100%;
height: auto; height: auto;
} }
.Listbox { .Listbox {
width: 100%; width: 100%;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
margin-top: 10px; margin-top: 10px;
} }
.Listbox-item { .Listbox-item {
width: 25%; width: 25%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
height: 170rpx; height: 170rpx;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
} }
.Listbox-item image { .Listbox-item image {
width: 74rpx; width: 74rpx;
height: auto; height: auto;
} }
.list-item-text { .list-item-text {
width: calc(100vw / 4); width: calc(100vw / 4);
margin-top: 5px; margin-top: 5px;
text-align: center; text-align: center;
font-size: 12rpx; font-size: 12rpx;
} }
.no-data { .no-data {
.no-data-img { .no-data-img {
width: 180rpx; width: 180rpx;
height: 240rpx; height: 240rpx;
margin-left: 50%; margin-left: 50%;
transform: translateX(-50%); transform: translateX(-50%);
} }
.zhanwu { .zhanwu {
text-align: center; text-align: center;
font-size: 28rpx; font-size: 28rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 500; font-weight: 500;
color: #999999; color: #999999;
margin-top: 20rpx; margin-top: 20rpx;
} }
} }
.baseinfo { .baseinfo {
padding: 30rpx 45rpx; padding: 30rpx 45rpx;
.info1 { .info1 {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: flex-end; align-items: flex-end;
.name { .name {
width: 575rpx; width: 575rpx;
font-size: 36rpx; font-size: 36rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 800; font-weight: 800;
color: #111111; color: #111111;
line-height: 44rpx; line-height: 44rpx;
} }
.score-bg { .score-bg {
position: relative; position: relative;
width: 65rpx; width: 65rpx;
height: 65rpx; height: 65rpx;
background-color: #ffffff; background-color: #ffffff;
.pf-bg { .pf-bg {
width: 65rpx; width: 65rpx;
height: 65rpx; height: 65rpx;
position: absolute; position: absolute;
left: 0; left: 0;
top: 0; top: 0;
z-index: 1; z-index: 1;
} }
} }
.score { .score {
width: 64rpx; width: 64rpx;
height: 54rpx; height: 54rpx;
// background: linear-gradient(0deg, rgba(228, 177, 53, 0.72), rgba(223, 190, 110, 0)); // background: linear-gradient(0deg, rgba(228, 177, 53, 0.72), rgba(223, 190, 110, 0));
font-size: 32rpx; font-size: 32rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 800; font-weight: 800;
color: #ffffff; color: #ffffff;
line-height: 44rpx; line-height: 44rpx;
position: absolute; position: absolute;
left: 8rpx; left: 8rpx;
top: 4rpx; top: 4rpx;
z-index: 2; z-index: 2;
} }
} }
.info2 { .info2 {
font-size: 20rpx; font-size: 20rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 500; font-weight: 500;
color: #dfbe6e; color: #dfbe6e;
line-height: 44rpx; line-height: 44rpx;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
.BusinessState { .BusinessState {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 800; font-weight: 800;
color: #dfbe6e; color: #dfbe6e;
.OpenTimeStr { .OpenTimeStr {
margin-left: 10rpx; margin-left: 10rpx;
color: #111111; color: #111111;
font-weight: bold; font-weight: bold;
} }
} }
.commenticon-box { .commenticon-box {
display: flex; display: flex;
} }
.icon { .icon {
margin-left: 10rpx; margin-left: 10rpx;
} }
} }
.info3 { .info3 {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
.tag-box { .tag-box {
display: flex; display: flex;
align-items: center; align-items: center;
.tag { .tag {
margin-right: 10rpx; margin-right: 10rpx;
} }
} }
.policy-detail { .policy-detail {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 500; font-weight: 500;
color: #111111; color: #111111;
display: flex; display: flex;
align-items: center; align-items: center;
.icon { .icon {
margin-left: 10rpx; margin-left: 10rpx;
} }
} }
} }
.line { .line {
height: 1rpx; height: 1rpx;
background-color: #111111; background-color: #111111;
opacity: 0.1; opacity: 0.1;
margin: 35rpx 0; margin: 35rpx 0;
} }
.info4 { .info4 {
height: 70rpx; height: 70rpx;
display: flex; display: flex;
align-items: center; align-items: center;
.mark-icon { .mark-icon {
width: 22rpx; width: 22rpx;
margin-right: 20rpx; margin-right: 20rpx;
} }
.address { .address {
width: 420rpx; width: 420rpx;
font-size: 28rpx; font-size: 28rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 800; font-weight: 800;
color: #111111; color: #111111;
line-height: 44rpx; line-height: 44rpx;
margin-right: 70rpx; margin-right: 70rpx;
} }
.see-map { .see-map {
font-size: 24rpx; font-size: 24rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 500; font-weight: 500;
color: #111111; color: #111111;
line-height: 44rpx; line-height: 44rpx;
display: flex; display: flex;
align-items: center; align-items: center;
.icon {
margin-left: 10rpx; .icon {
} margin-left: 10rpx;
} }
} }
} }
}
.empty {
height: 20rpx; .empty {
background-color: #ecf1f4; height: 20rpx;
} background-color: #ecf1f4;
}
.ticket-title {
// width: 70rpx; .ticket-title {
height: 50rpx; // width: 70rpx;
font-size: 34rpx; height: 50rpx;
font-family: PingFang SC; font-size: 34rpx;
font-weight: bold; font-family: PingFang SC;
color: #1f1f1f; font-weight: bold;
background-color: transparent; color: #1f1f1f;
// line-height: 44rpx; background-color: transparent;
position: relative; // line-height: 44rpx;
margin-bottom: 40rpx; position: relative;
margin-bottom: 40rpx;
.ticket-title-bg {
width: 70rpx; .ticket-title-bg {
height: 10rpx; width: 70rpx;
background-color: #dfbe6e; height: 10rpx;
border-radius: 4px; background-color: #dfbe6e;
position: absolute; border-radius: 4px;
left: 0; position: absolute;
bottom: 6rpx; left: 0;
z-index: 1; bottom: 6rpx;
opacity: 0.6; z-index: 1;
} opacity: 0.6;
} }
}
.ticket-info {
padding: 50rpx 45rpx; .ticket-info {
padding: 50rpx 45rpx;
.ticket-navs {
// height: 140rpx; .ticket-navs {
display: flex; // height: 140rpx;
align-items: center; display: flex;
margin-bottom: 40rpx; align-items: center;
margin-bottom: 40rpx;
.ticket-nav {
height: 60rpx; .ticket-nav {
background-color: #ecf1f4; height: 60rpx;
border-radius: 20rpx; background-color: #ecf1f4;
text-align: center; border-radius: 20rpx;
line-height: 60rpx; text-align: center;
font-size: 24rpx; line-height: 60rpx;
font-family: PingFang SC; font-size: 24rpx;
font-weight: 500; font-family: PingFang SC;
color: #111111; font-weight: 500;
padding: 0 30rpx; color: #111111;
margin-right: 20rpx; padding: 0 30rpx;
} margin-right: 20rpx;
}
.check-ticket-nav {
background-color: #111111 !important; .check-ticket-nav {
color: #ffffff !important; background-color: #111111 !important;
} color: #ffffff !important;
} }
}
.ticket-list-box {
margin-bottom: 50rpx; .ticket-list-box {
margin-bottom: 50rpx;
.ticket-key {
font-size: 30rpx; .ticket-key {
font-family: PingFang SC; font-size: 30rpx;
font-weight: 800; font-family: PingFang SC;
color: #111111; font-weight: 800;
margin-bottom: 25rpx; color: #111111;
} margin-bottom: 25rpx;
}
.ticket-list {
padding: 40rpx 40rpx 0rpx 40rpx; .ticket-list {
background-color: #f4f4f4; padding: 40rpx 40rpx 0rpx 40rpx;
background-color: #f4f4f4;
.ticket-list-item {
padding-bottom: 30rpx; .ticket-list-item {
margin-bottom: 30rpx; padding-bottom: 30rpx;
border-bottom: 2rpx solid #e4e4e4; margin-bottom: 30rpx;
position: relative; border-bottom: 2rpx solid #e4e4e4;
position: relative;
.TicketName {
max-width: 450rpx; .TicketName {
white-space: nowrap; max-width: 450rpx;
overflow: hidden; white-space: nowrap;
text-overflow: ellipsis; overflow: hidden;
font-size: 28rpx; text-overflow: ellipsis;
font-family: PingFang SC; font-size: 28rpx;
font-weight: bold; font-family: PingFang SC;
color: #111111; font-weight: bold;
margin-bottom: 20rpx; color: #111111;
} margin-bottom: 20rpx;
}
.price {
font-size: 40rpx; .price {
font-family: PingFang SC; font-size: 40rpx;
font-weight: 500; font-family: PingFang SC;
color: #d91818; font-weight: 500;
position: absolute; color: #d91818;
top: 0; position: absolute;
right: 0; top: 0;
right: 0;
.price-pre {
font-size: 22rpx; .price-pre {
} font-size: 22rpx;
}
.price-nex {
font-size: 22rpx; .price-nex {
color: #919191; font-size: 22rpx;
} color: #919191;
} }
}
.tag {
display: flex; .tag {
max-width: 70%; display: flex;
height: 32rpx; max-width: 70%;
margin-bottom: 20rpx; height: 32rpx;
margin-bottom: 20rpx;
.tag-img {
width: 105rpx; .tag-img {
height: 32rpx; width: 105rpx;
// background-color: #FFFFFF; height: 32rpx;
border-radius: 4rpx; // background-color: #FFFFFF;
} border-radius: 4rpx;
}
.tag-item {
border: 2rpx solid #dfbe6e; .tag-item {
border-radius: 0px 4rpx 4rpx 0px; border: 2rpx solid #dfbe6e;
background-color: #f4f4f4; border-radius: 0px 4rpx 4rpx 0px;
font-size: 20rpx; background-color: #f4f4f4;
font-family: PingFang SC; font-size: 20rpx;
font-weight: bold; font-family: PingFang SC;
color: #111111; font-weight: bold;
padding: 0 14rpx; color: #111111;
} padding: 0 14rpx;
}
.gap {
margin-left: 15rpx; .gap {
} margin-left: 15rpx;
} }
}
// <!-- 无忧退款 -->
.WorryFreeRefund { // <!-- 无忧退款 -->
font-size: 22rpx; .WorryFreeRefund {
font-family: PingFang SC; font-size: 22rpx;
font-weight: bold; font-family: PingFang SC;
color: #dfbe6e; font-weight: bold;
margin-bottom: 15rpx; color: #dfbe6e;
} margin-bottom: 15rpx;
}
.pre-buy {
width: 114rpx; .pre-buy {
height: 60rpx; width: 114rpx;
background: #111111; height: 60rpx;
border-radius: 8rpx; background: #111111;
font-size: 32rpx; border-radius: 8rpx;
font-family: PingFang SC; font-size: 32rpx;
font-weight: 800; font-family: PingFang SC;
color: #ffffff; font-weight: 800;
display: flex; color: #ffffff;
justify-content: center; display: flex;
align-items: center; justify-content: center;
position: absolute; align-items: center;
top: 85rpx; position: absolute;
right: 0rpx; top: 85rpx;
} right: 0rpx;
}
.ticket-sell {
display: flex; .ticket-sell {
align-items: center; display: flex;
align-items: center;
.sell {
font-size: 22rpx; .sell {
font-family: PingFang SC; font-size: 22rpx;
font-weight: 500; font-family: PingFang SC;
color: #111111; font-weight: 500;
// letter-spacing:2rpx color: #111111;
} // letter-spacing:2rpx
}
.vertical-line {
width: 1rpx; .vertical-line {
height: 22rpx; width: 1rpx;
margin: 0 15rpx; height: 22rpx;
background-color: #111111; margin: 0 15rpx;
} background-color: #111111;
}
.buy-know {
font-size: 22rpx; .buy-know {
font-family: PingFang SC; font-size: 22rpx;
font-weight: 800; font-family: PingFang SC;
color: #111111; font-weight: 800;
} color: #111111;
} }
} }
} }
} }
}
.last-item {
border-bottom: none !important; .last-item {
margin-bottom: 0rpx !important; border-bottom: none !important;
} margin-bottom: 0rpx !important;
} }
}
.comment-box {
padding: 50rpx 45rpx; .comment-box {
padding: 50rpx 45rpx;
.score-box {
width: 235rpx; .score-box {
display: flex; width: 235rpx;
display: flex;
.score {
font-size: 60rpx; .score {
font-family: PingFang SC; font-size: 60rpx;
font-weight: 700; font-family: PingFang SC;
color: #f0c253; font-weight: 700;
line-height: 60rpx; color: #f0c253;
line-height: 60rpx;
// background: linear-gradient(0deg, #F0C253 0%, #FDD679 100%);
.score-nex { // background: linear-gradient(0deg, #F0C253 0%, #FDD679 100%);
font-size: 24rpx; .score-nex {
font-weight: 500; font-size: 24rpx;
line-height: 24rpx; font-weight: 500;
} line-height: 24rpx;
}
.gap {
margin-right: 10rpx; .gap {
} margin-right: 10rpx;
} }
} }
} }
}
.detail-box {
padding: 50rpx; .detail-box {
} padding: 50rpx;
}
.detail-box .nearby-type {
padding: 0 16rpx; .detail-box .nearby-type {
height: 40rpx; padding: 0 16rpx;
line-height: 40rpx; height: 40rpx;
background: #fff; line-height: 40rpx;
border-radius: 20rpx; background: #fff;
margin-right: 10rpx; border-radius: 20rpx;
margin-right: 10rpx;
font-size: 28rpx;
font-weight: 500; font-size: 28rpx;
color: #1f1f1f; font-weight: 500;
} color: #1f1f1f;
}
.detail-box .nearby-type.active {
color: #dfbe6e; .detail-box .nearby-type.active {
background: rgba(223, 190, 110, 0.2); color: #dfbe6e;
} background: rgba(223, 190, 110, 0.2);
}
.big-title {
position: relative; .big-title {
} position: relative;
}
.big-title::before {
display: block; .big-title::before {
width: 71rpx; display: block;
height: 12rpx; width: 71rpx;
background: #dfbe6e; height: 12rpx;
border-radius: 4rpx; background: #dfbe6e;
content: " "; border-radius: 4rpx;
content: " ";
position: absolute;
left: 0; position: absolute;
bottom: 6rpx; left: 0;
z-index: 1; bottom: 6rpx;
} z-index: 1;
}
.big-title text {
font-size: 34rpx; .big-title text {
font-weight: bold; font-size: 34rpx;
color: #1f1f1f; font-weight: bold;
position: relative; color: #1f1f1f;
z-index: 2; position: relative;
} z-index: 2;
}
.flex {
display: flex; .flex {
align-items: center; display: flex;
} align-items: center;
}
.nearby-type {
padding: 0 16rpx; .nearby-type {
height: 40rpx; padding: 0 16rpx;
height: 40rpx;
background: #fff;
border-radius: 20rpx; background: #fff;
margin-right: 10rpx; border-radius: 20rpx;
margin-right: 10rpx;
font-size: 28rpx;
font-weight: 500; font-size: 28rpx;
color: #1f1f1f; font-weight: 500;
} color: #1f1f1f;
}
.active {
color: #dfbe6e; .active {
background: rgba(223, 190, 110, 0.2); color: #dfbe6e;
} background: rgba(223, 190, 110, 0.2);
}
.name-ali {
// #ifdef MP-ALIPAY .name-ali {
box-sizing: border-box; // #ifdef MP-ALIPAY
padding-left: 30rpx; box-sizing: border-box;
// #endif padding-left: 30rpx;
} // #endif
}
</style> </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