Commit cb8925a4 authored by 罗超's avatar 罗超

临时保存

parent 7ec9bdf5
......@@ -2,10 +2,15 @@
// launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
"version": "0.0",
"configurations": [{
"type": "uniCloud",
"default": {
"launchtype": "remote"
}
"default" :
{
"launchtype" : "remote"
},
"mp-weixin" :
{
"launchtype" : "remote"
},
"type" : "uniCloud"
}
]
}
......@@ -104,7 +104,13 @@ export default {
<style lang="scss">
@import "uview-ui/index.scss";
@import url("./asset/font/iconfont.css");
/* 0123456789首页订单我的暂无图片第天 */
@font-face {
font-family: "nav-font";src: url("//at.alicdn.com/wf/webfont/MQHUV6e56ce5/uWqIjWPWlbHR.woff2") format("woff2"),
url("//at.alicdn.com/wf/webfont/MQHUV6e56ce5/uBscuKyX34mb.woff") format("woff");
font-display: swap;
}
// @font-face {
// font-family: "oswald";
// src: url("https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/smallapp/Oswald-Regular.ttf");
......
@font-face {
font-family: "iconfont"; /* Project id 4020685 */
src: url('//at.alicdn.com/t/c/font_4020685_z6jm4lhdjzo.woff2?t=1695196671783') format('woff2'),
url('//at.alicdn.com/t/c/font_4020685_z6jm4lhdjzo.woff?t=1695196671783') format('woff'),
url('//at.alicdn.com/t/c/font_4020685_z6jm4lhdjzo.ttf?t=1695196671783') format('truetype');
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-jiaotong:before {
content: "\e620";
}
.icon-huodong:before {
content: "\e60e";
}
.icon-canpinhui-xican:before {
content: "\e64e";
}
.icon-jiudian1:before {
content: "\e89b";
}
.icon-Arrowup:before {
content: "\e6c0";
}
.icon-weixinyunying:before {
content: "\e6b1";
}
.icon-a-dianhua1:before {
content: "\eb40";
}
.icon-clouddownload-fill:before {
content: "\e7d9";
}
.icon-yongcan:before {
content: "\e6a6";
}
.icon-shuijue:before {
content: "\e73d";
}
.icon-qizhi:before {
content: "\e627";
}
.icon-more:before {
content: "\e60a";
}
.icon--:before {
content: "\e602";
}
.icon--1:before {
content: "\e603";
}
.icon-arrow-down1:before {
content: "\e660";
}
.icon-time:before {
content: "\e680";
}
.icon-feiji:before {
content: "\e6fe";
}
.icon-jingdian:before {
content: "\e60c";
}
.icon-ly_hangbanyuding:before {
content: "\e601";
}
.icon-jiudian:before {
content: "\e642";
}
.icon-hangcheng-blue:before {
content: "\e600";
}
.icon-arrow-right:before {
content: "\e607";
}
.icon-arrow-right-:before {
content: "\e7a1";
}
.icon-canting:before {
content: "\e64f";
}
.icon-icon-test:before {
content: "\e613";
}
.icon-guojijiudian:before {
content: "\e8e9";
}
.icon-arrow-right-3:before {
content: "\e62a";
}
.icon-qizhi-:before {
content: "\e60b";
}
.icon-shouye:before {
content: "\e614";
}
.icon-dingwei:before {
content: "\e8c4";
}
.icon-dingwei1:before {
content: "\e818";
}
.icon-editor-line:before {
content: "\e684";
}
.icon-icon-question:before {
content: "\e66b";
}
.icon-arrow-down:before {
content: "\e665";
}
.icon-arrow-up:before {
content: "\ed4e";
}
.icon-share:before {
content: "\e63e";
}
.icon-paperPlane-fill:before {
content: "\e6c1";
}
.icon-24gl-paperclip2:before {
content: "\e94a";
}
.icon-home1:before {
content: "\e6b8";
}
.icon-arrow-left:before {
content: "\e64c";
}
.icon-smallcircle_fill_circle:before {
content: "\e89c";
}
.icon-home:before {
content: "\e875";
}
.icon-Work:before {
content: "\e619";
}
.icon-my1:before {
content: "\e6a0";
}
<style scoped>
.tabbarMain {
/* .tabbarMain {
height: 100upx;
position: fixed;
z-index: 50;
......@@ -23,10 +23,6 @@
z-index: 2;
bottom: 0;
flex-direction: row;
/* #ifndef */
padding-bottom: constant(safe-area-inset-top);
padding-bottom: env(safe-area-inset-top);
/* #endif */
display: flex;
left: 0;
right: 0;
......@@ -38,7 +34,6 @@
}
.imgse {
height: 48upx;
/* width: auto; */
width: 48upx;
}
.txtBtn {
......@@ -50,7 +45,6 @@
color: #333333;
}
.itmMain {
/* width: 250upx; */
width: 150upx;
flex: 1;
justify-content: center;
......@@ -93,9 +87,9 @@
z-index: 1;
bottom: 10upx;
border-radius: 150upx;
}
} */
</style>
<template>
<!-- <template>
<view
class="tabbarMain"
:class="[flagTypeInfo ? 'tabbarMainIphone' : '']"
......@@ -134,9 +128,9 @@
</view>
</view>
</view>
</template>
</template> -->
<script>
<!-- <script>
export default {
data() {
return {
......@@ -211,3 +205,118 @@ export default {
},
};
</script>
-->
<template>
<view class="bar-box">
<div class="bar-box-line">
<view class="bar-item" v-for="(x,i) in menus" @click="changeMenuHandler(x)">
<i class="icon iconfont" :class="[x.icon]" v-if="current != x.page"></i>
<view class="acitve" v-else>
{{x.name}}
</view>
</view>
</div>
</view>
</template>
<script>
export default {
data() {
return {
menus:[],
current:''
};
},
mounted() {
let pages = getCurrentPages()
this.current="/"+pages[pages.length - 1].route??''
this.menus=[{
name:'首页',
icon:'icon-home',
page:'/pages/index/index'
},
{
name:'订单',
icon:'icon-Work',
page:'/pages/jiuzhai/jz_MyOrder'
},
{
name:'我的',
icon:'icon-my1',
page:'/pages/user-center/user-center'}]
},
methods:{
changeMenuHandler(menu){
this.current=menu.page
if(menu.page.indexOf('pages')!=-1){
uni.redirectTo({
url:menu.page
})
}
}
}
}
</script>
<style>
/* 在线链接服务仅供平台体验和调试使用,平台不承诺服务的稳定性,企业客户需下载字体包自行发布使用并做好备份。 */
@font-face {
font-family: "nav-font";src: url("//at.alicdn.com/wf/webfont/MQHUV6e56ce5/tcIItWsk6dTo.woff2") format("woff2"),
url("//at.alicdn.com/wf/webfont/MQHUV6e56ce5/RZzswoFvsjUs.woff") format("woff");
font-display: swap;
}
.bar-box{
padding-bottom: env(safe-area-inset-bottom);
background-color: #FFF;
border-top-left-radius: 20rpx;
border-top-right-radius: 20rpx;
box-shadow: 0 0 6px rgba(0,0,0,.12);
position: fixed;
z-index: 50;
flex: 1;
bottom: 0;
left: 0;
right: 0;
z-index: 99999999;
}
.bar-box-line{
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
padding: 20upx 0 30upx;
}
.bar-box-line.uninset{
padding: 20upx 0 40upx;
}
.bar-box-line.inset{
padding: 20upx 0;
}
.bar-box-line .bar-item{
flex: 1;
width: 1px;
text-align: center;
color: #abadb9;
position: relative;
}
.bar-box-line .bar-item .icon{
font-size: 50rpx;
}
.bar-box-line .bar-item .acitve{
font-size: 32rpx;
font-weight: bold;
color: #1F2429;
text-align: center;
font-family: nav-font;
}
.bar-box-line .bar-item .acitve::after{
display: inline-block;
content: ' ';
width:4px;
height: 4px;
border-radius: 4px;
background-color: #1F2429;
position: absolute;
left: calc(50% - 2px);
top: 60rpx;
}
</style>
\ No newline at end of file
......@@ -22,7 +22,17 @@
width: 100%;
height: 100%
}
.jz_TuDiv .none-image{
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
background-color: #ECF1F4;
color:grey;
font-size: 28rpx;
font-family: 'nav-font';
}
.jz_Right {
width: 432rpx;
margin-top: 5px;
......@@ -33,10 +43,18 @@
.jz_LineName {
color: #111111;
font-size: 30rpx;
overflow: hidden;
/* overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
text-overflow: ellipsis; */
font-weight: 600;
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
line-clamp: 2;
-webkit-box-orient: vertical;
font-family: microsoft yahei ui light;
}
.jz_Canhoubu {
......@@ -139,10 +157,13 @@
.jz_Recommend {
color: #999999;
font-size: 24rpx;
display: -webkit-box;
/* display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
overflow: hidden; */
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
margin-top: 10px;
line-height: 20px;
}
......@@ -281,18 +302,19 @@
.jz_Content .price .money {
font-size: 36rpx;
color:#FF3166;
font-family: nav-font;
}
</style>
<template>
<div class="jz_Line">
<view class="jz_Content">
<view class="search-box">
<view class="date" @click="showBranch=true">
<!-- <view class="date" @click="showBranch=true">
<u-icon name="location" color="#111" size="24"></u-icon>
<text style="margin-left: 20rpx;">{{currentBrachName}}</text>
</view>
</view> -->
<view style="width: 1px; flex: 1;">
<u-search placeholder="目的地名称" v-model="msg.searchKey" @search="getList(1)" input-align="left" :value="msg.searchKey" text-color="#111"
<u-search placeholder="关键字搜索" v-model="msg.searchKey" @search="getList(1)" input-align="left" :value="msg.searchKey" text-color="#111"
bg-color="rgba(0,0,0,0)" :show-action="false"></u-search>
</view>
</view>
......@@ -301,21 +323,48 @@
<u-dropdown-item v-model="msg.orderBy" :title="optionsTitle[0]" :options="orderBys" @change="changeOrderBy">
</u-dropdown-item>
<u-dropdown-item :title="optionsTitle[1]">
<view class="slot-content" style="padding: 30rpx;padding-top:0;background-color: #FFF;">
<scroll-view scroll-y="true" style="max-height: 50vh;">
<template v-for="(x,i) in lineList">
<view class="slot-content" style="padding:0 30rpx 30rpx 0;padding-top:0;background-color: #FFF;">
<view style="height: 50vh;display: flex;">
<view style="background-color: #f1f1f1;margin-right: 30rpx;height:100%">
<scroll-view scroll-y="true" style="height:100%">
<view style="text-align: center; padding: 15px 0;">
<u-tag mode="plain" border-color="#DFBE6E" color="#DFBE6E" text="出境游" size="mini"></u-tag>
</view>
<template v-for="x in lineList">
<view :style="{'background':x.LineID==currentLineId.LineID?'#FFF':'unset'}" @click="changeLineTeamsHandler(x)" style="font-size: 15px;color:#111;padding:30rpx;text-align: center;" v-if="x.LineDirection==2" :key="x.LineID">{{x.LineShortName}}</view>
</template>
<view style="text-align: center; padding: 15px 0;">
<u-tag mode="plain" border-color="#DFBE6E" color="#DFBE6E" text="当地游" size="mini"></u-tag>
</view>
<template v-for="x in lineList">
<view :style="{'background':x.LineID==currentLineId.LineID?'#FFF':'unset'}" @click="changeLineTeamsHandler(x)" style="font-size: 15px;color:#111;padding:30rpx;text-align: center;" v-if="x.LineDirection==3" :key="x.LineID">{{x.LineShortName}}</view>
</template>
</scroll-view>
</view>
<view style="flex:1;width:1px;height:100%">
<scroll-view scroll-y="true" style="height:100%" v-if="currentLineId && currentLineId.PlaceList" >
<view style="text-align: right;">
<checkbox-group @change="allTeamsChangeHandler">
<label>
<checkbox value="all" :checked="allTeams" style="transform: scale(0.7)" /><text style="font-size: 12px;">全部系列</text>
</label>
</checkbox-group>
</view>
<template v-for="(x,i) in currentLineId.PlaceList">
<view style="padding-top:30rpx">
<text style="font-size: 28rpx;color:#111;font-weight: 800;margin-right: 10rpx;">{{x.DestinationName}}</text>
</view>
<view class="team-box">
<view v-for="(y,yi) in x.Teams" :key="i" class="team" :class="{'active':msg.team.indexOf(y.TeamId)!=-1}"
@click="setTeams(i,yi)">
@click="setTeams(y.TeamId)">
<view class="team-content">{{y.TeamName}}</view>
</view>
</view>
</template>
</scroll-view>
<view style="box-shadow: 0px -10px 30px 0px rgba(36, 36, 36, 0.06);margin-top:40rpx;display: flex;">
</view>
</view>
<view style="box-shadow: 0px -10px 30px 0px rgba(36, 36, 36, 0.06);margin-top:40rpx;display: flex;padding-left: 30rpx;">
<view style="flex:1;margin-right: 30rpx;">
<u-button :custom-style="btnStyle" @click="clearTeams">清除</u-button>
</view>
......@@ -368,18 +417,19 @@
</u-dropdown>
</view>
<view v-if="screenshow==true" class="Jz_Mask" @click="screenshow=false"></view>
<u-empty v-if="dataList.length==0" text="暂无数据" mode="data"></u-empty>
<u-empty v-if="dataList.length==0 && !loading" text="暂无数据" mode="data"></u-empty>
<template v-else>
<view style="height: calc(100vh - 120px);overflow: hidden;">
<scroll-view :scroll-y="true" :enable-back-to-top="true" :enable-flex="true" @scrolltolower="lower" :style="{ height: '100%' }">
<view class="jz_ListMain" v-for="(item,index) in dataList" :key="index" @click="goJzDetail(item.tcid,item.configId)">
<view class="jz_List">
<view class="jz_TuDiv">
<img class="jz_TuBigImg" mode="aspectFill" :src="getImgs(item.imgCover)" alt="" />
<img class="jz_TuBigImg" mode="aspectFill" :src="getImgs(item.imgCover)" alt="" v-if="item.imgCover && item.imgCover.length>0 && getImgs(item.imgCover)!=''" />
<view class="none-image" v-else>暂无图片</view>
</view>
<view class="jz_Right">
<view class="jz_LineName">{{item.title}}</view>
<view class="jz_Recommend">
<view class="jz_Recommend" v-if="item.productRecommend && item.productRecommend!='null'">
{{item.productRecommend}}
</view>
<view style="margin:10px 0;display: flex;align-items: center;">
......@@ -394,10 +444,11 @@
<view style="font-size:24rpx;color:#999999;">
最近团期:{{item.startDate}}
</view>
<view>
<text></text>
<text class="money">{{item.b2CPrice}}</text>
</view>
<view class="price" style="text-align: unset;">
<text></text>
<text class="money">{{parseFloat(item.b2CPrice).toFixed(2)}}</text>
</view>
</view>
</view>
......@@ -410,8 +461,8 @@
<u-popup v-model="showTimePopup" mode="bottom" border-radius="20" length="90%" :safe-area-inset-bottom="true">
<canlendar @finish="chosenDateResult"></canlendar>
</u-popup>
<u-picker mode="selector" v-model="showBranch" :default-selector="[0]" :range="branchList" @confirm='changeBranch'
range-key="BName"></u-picker>
<!-- <u-picker mode="selector" v-model="showBranch" :default-selector="[0]" :range="branchList" @confirm='changeBranch'
range-key="BName"></u-picker> -->
</div>
</template>
<script>
......@@ -422,6 +473,8 @@
},
data() {
return {
allTeams:false,
loading:true,
pageTitle: '线路',
showTimePopup: false,
msg: {
......@@ -436,9 +489,11 @@
companyId: 0,
searchKey: '', //搜索数据
priceOrderByField:2,
PlaceIds: ''
PlaceIds: '',
lineId:0
},
time: '',
currentLineId:null,
params: {
year: true,
month: true,
......@@ -528,6 +583,8 @@
uni.setNavigationBarTitle({
title: "精品旅游线路"
})
},
onLoad(option) {
if(option&&option.LineTeamIds){
......@@ -546,6 +603,19 @@
this.research();
},
methods: {
allTeamsChangeHandler(e){
this.allTeams=e.detail.value.length>0
if(this.allTeams && this.msg.team.length>0){
this.msg.team=[]
}
this.$forceUpdate();
},
changeLineTeamsHandler(item){
this.allTeams=false
this.currentLineId=item
//changeTeam
},
//获取查询条件
getLineQuery() {
this.apipost(
......@@ -555,24 +625,24 @@
this.orderBys = res.data.OrderByList;
this.branchList = res.data.SiteList;
this.startCitys = res.data.CityList;
this.lineList = res.data.linePlaceList;
this.msg.companyId = this.branchList[0].BId;
this.lineList = res.data.LineList;
this.msg.companyId = -1;//this.branchList[0].BId;
this.currentBrachName = this.branchList[0].BName;
this.CityId = this.branchList[0].CityId;
let temp = ''
if(this.msg.team.length>0){
if(this.lineList.length>0){
this.lineList.forEach(x => {
x.Teams.forEach(y => {
if (this.msg.team.indexOf(y.TeamId) != -1) {
temp += y.TeamName + ","
}
})
})
this.optionsTitle[1] = temp==''?'线路玩法':temp;
}
}
this.currentLineId = this.lineList[0]
//let temp = ''
// if(this.msg.team.length>0){
// if(this.lineList.length>0){
// this.lineList.forEach(x => {
// x.Teams.forEach(y => {
// if (this.msg.team.indexOf(y.TeamId) != -1) {
// temp += y.TeamName + ","
// }
// })
// })
// this.optionsTitle[1] = temp==''?'线路玩法':temp;
// }
// }
}
},
null
......@@ -638,6 +708,9 @@
clearTeams() {
this.msg.team = []
this.optionsTitle[1] = '线路玩法'
this.currentLineId=null
this.msg.lineId=0
this.allTeams=false
this.$forceUpdate()
this.$refs.uDropdown.close();
this.research();
......@@ -645,6 +718,10 @@
changeTeams() {
if (this.msg.team.length == 0) {
this.optionsTitle[1] = '线路玩法'
if(this.allTeams && this.currentLineId){
this.optionsTitle[1] = this.currentLineId.LineShortName
this.msg.lineId=this.currentLineId.LineID
}
} else {
let temp = ''
this.lineList.forEach(x => {
......@@ -663,14 +740,18 @@
this.$refs.uDropdown.close();
this.research();
},
setTeams(x, y) {
let id = this.lineList[x].Teams[y].TeamId
setTeams(teamId) {
console.log(teamId,this.msg.team)
let id = teamId
let temp = this.msg.team.indexOf(id)
if (temp == -1) {
this.msg.team.push(id)
} else {
this.msg.team.splice(temp, 1)
}
if(this.allTeams && this.msg.team.length>0){
this.allTeams=false
}
this.$forceUpdate();
},
changeOrderBy(index) {
......@@ -725,17 +806,21 @@
title:'加载中',
icon:'none'
})
this.apipost(
"b2b_get_GetB2BTravelPageList",
this.msg,
res => {
uni.hideLoading();
if (res.resultCode == 1) {
this.dataList = this.dataList.concat(res.data.pageData);
this.page_count = res.data.pageCount;
}
this.loading=false
uni.hideLoading();
},
null
err=>{
this.loading = false
}
);
},
//获取日期
......
......@@ -46,7 +46,7 @@
<!-- 佣金显示 -->
<!-- <view class="is_share" v-if="g.share > 0 && hideshare == false && setting.is_show_korea == 0" style="top: 240px" > -->
<view class="sharebox" v-if=" hideshare == false && shareData && shareData.IsShow && (shareData.Data.MaxShare>0|| shareData.Data.MyBuyCommission>0)" :style="{top:topheight+'px'}">
<view class="is_share" v-if="shareData.Data.MaxShare>0" >
<!-- <view class="is_share" v-if="shareData.Data.MaxShare>0" >
<image src="@/static/images/icon/WechatIMG424.png" style="width: 18px; margin-left: 12px; opacity: 1; height: auto" mode="widthFix"/>
<view style="display: flex;
flex-direction: column;
......@@ -65,7 +65,7 @@
size="36"
@click="hideshare = true"
></u-icon>
</view>
</view> 罗超注释 2023-09-20 -->
<!-- 佣金返的一样这个暂时注释掉 -->
<!-- <view class="is_share" v-if="shareData.Data.MyBuyCommission>0" >
<image
......@@ -159,7 +159,7 @@
<text>{{ dataList.productRecommend }}</text>
</view>
</view>
<view class="jz_Service">
<!-- <view class="jz_Service">
<view class="jz_Serflex">
<view class="jz_Stitle">保障</view>
<view style="color: #111111; display: flex; align-items: center">
......@@ -184,7 +184,7 @@
<view style="margin-left: 5px">成团保障</view>
</view>
</view>
</view>
</view> 罗超注释 2023-09-20 -->
<view class="jz_TripDays">
<view style="margin-bottom: 40px">
<span style="display: inline-block; position: relative">
......@@ -507,7 +507,7 @@
"
></span>
</span>
<view class="jz_TripMain">
<!-- <view class="jz_TripMain">
<view class="jz_TripLine"></view>
<view v-for="(item, index) in dataList.dayList" :key="index">
<view class="jz_TripTitle">
......@@ -626,6 +626,122 @@
</view>
</view>
</view>
</view> 罗超 2023-09-20 -->
<view v-if="d.length<4">
<view v-for="(x,i) in d" :key="i">
<view style="font-size: 32rpx;font-family: nav-font;font-weight: 600;display: flex;">
<text>第 {{(i+1)}} 天</text>
<text style="flex:1;width:1px;margin-left:10px;font-family: microsoft yahei ui light; line-height: 1;">
{{x.title}}
</text>
</view>
<template v-for="(y,yi) in x.dayArray">
<view class="time-line-box" :key="yi" v-if="y.type==1">
<view class="left">
<view class="icon" style="background: #26a69a;">
<i class="iconfont icon-jiaotong"></i>
</view>
</view>
<view class="right">
<view class="subtitle">{{y.subtitle}}</view>
<view class="title">{{y.title}}</view>
<view class="card">
<rich-text :nodes="y.childItem.description"></rich-text>
</view>
</view>
</view>
<view class="time-line-box" :key="yi" v-if="y.type==2">
<view class="left">
<view class="icon" style="background: #31ccec;">
<i class="iconfont icon-jingdian"></i>
</view>
</view>
<view class="right">
<view class="tag-play">
<view class="subtitle" style="flex: 1;">景点/场馆</view>
<view class="tag-play-box" v-if="y.childItem.playTimeHour > 0 || y.childItem.playTimeMinutes > 0">
<view class="remark">推荐游玩</view>
<view class="play-time">
<span v-if="y.childItem.playTimeHour > 0"
>{{ y.childItem.playTimeHour }} 小时</span
>
<span v-if="y.childItem.playTimeMinutes > 0">
{{ y.childItem.playTimeMinutes }} 分钟</span
>
</view>
</view>
</view>
<view class="title">{{`游玩${y.childItem.couponsName}`}}</view>
<view class="card">
<rich-text :nodes="y.childItem.description"></rich-text>
<view class="sec-images">
<template v-for="(z,zi) in y.childItem.imaArray">
<image @click="previewImages(y.childItem.imaArray,zi)" :src="z.url" mode="aspectFill" v-if="zi<3" :key="zi"></image>
</template>
</view>
</view>
</view>
</view>
<view class="time-line-box" :key="yi" v-if="y.type==4">
<view class="left">
<view class="icon" style="background: #9c27b0;">
<i class="iconfont icon-canpinhui-xican"></i>
</view>
</view>
<view class="right">
<view class="subtitle" style="flex: 1;">{{`${y.childItem.timeStr} ${y.childItem.dinnerTypeName}`}}</view>
<view class="title">{{y.childItem.dinnerName}}</view>
<view class="card">
<rich-text :nodes="y.childItem.description"></rich-text>
<view class="sec-images">
<template v-for="(z,zi) in y.childItem.imaArray">
<image @tap="previewImages(y.childItem.imaArray,zi)" :src="z.url" mode="aspectFill" v-if="zi<3" :key="zi"></image>
</template>
</view>
</view>
</view>
</view>
<view class="time-line-box" :key="yi" v-if="y.type==5">
<view class="left">
<view class="icon" style="background: lightslategrey;">
<i class="iconfont icon-huodong"></i>
</view>
</view>
<view class="right">
<view class="subtitle" style="flex: 1;">放松休息,细细品味身边的风景</view>
<view class="title">自由活动</view>
<view class="card">
<rich-text :nodes="y.childItem.description"></rich-text>
<view class="sec-images">
<template v-for="(z,zi) in y.childItem.imaArray">
<image @tap="previewImages(y.childItem.imaArray,zi)" :src="z.url" mode="aspectFill" v-if="zi<3" :key="zi"></image>
</template>
</view>
</view>
</view>
</view>
<view class="time-line-box" :key="yi" v-if="y.type==3">
<view class="left">
<view class="icon" style="background: #1d1d1d;">
<i class="iconfont icon-jiudian1"></i>
</view>
</view>
<view class="right">
<view class="subtitle" style="flex: 1;">住宿</view>
<view class="title">{{y.childItem.hotelName}}</view>
<view class="card">
<rich-text :nodes="y.childItem.description"></rich-text>
<view class="sec-images">
<template v-for="(z,zi) in y.childItem.imaArray">
<image @tap="previewImages(y.childItem.imaArray,zi)" :src="z.url" mode="aspectFill" v-if="zi<3" :key="zi"></image>
</template>
</view>
</view>
</view>
</view>
</template>
</view>
</view>
</view>
<view
......@@ -1071,6 +1187,7 @@ export default {
tcnum: "",
cityId: 0,
},
d:{},
scenicNum: 0, // 景点数量
breakfastNum: 0, //早餐数
lunchNum: 0, //午餐数
......@@ -1253,6 +1370,18 @@ export default {
"&isLine=1",
});
},
previewImages(images,cur) {
let imgObj = images;
if(images[0].url){
imgObj=[]
images.forEach(x=>imgObj.push(x.url))
}
console.log(imgObj)
uni.previewImage({
urls:images,
current:cur
})
},
goback() {
uni.navigateBack({
delta: 1,
......@@ -1295,9 +1424,15 @@ export default {
// res.data.priceList=tempPrice
this.dataList = res.data;
try{
this.formatDay()
}catch(e){
//TODO handle the exception
console.log('发生错误:'+e.message)
}
this.scenicNum = 0;
//this.dataList.productRecommend=this.dataList.productRecommend.split('\n').join('&hc')
console.log(this.dataList.productRecommend);
//console.log(this.dataList.productRecommend);
this.dataList.dayList.forEach((x) => {
x.dayArray.forEach((y) => {
if (y.type == 2) {
......@@ -1372,6 +1507,52 @@ export default {
null
);
},
formatDay() {
this.d=this.dataList.dayList
if (this.d.length > 0) {
this.d.forEach((x) => {
x.dayArray.forEach((y) => {
if (y.type == 7) {
x.title = y.childItem.title;
} else if (y.type == 1) {
y.subtitle =
y.childItem.subTraffic.length>0&&y.childItem.subTraffic[0].startTime +
" - " +
y.childItem.subTraffic[y.childItem.subTraffic.length - 1]
.endTime;
y.title = this.formatTraffice(y.childItem.subTraffic);
y.icon = "iconfont iconjiaotong";
} else if (y.type == 4) {
let t = ["早餐", "午餐", "晚餐"];
y.childItem.dinnerTypeName =
t[parseInt(y.childItem.useDinnerType) - 1];
}
// if(y.childItem.description && y.childItem.description.length>0){
// y.childItem.description = parseHtml(y.childItem.description)
// }
});
});
}
},
formatTraffice(tras) {
let txt = "从" + (tras.length>0?tras[0].startCityName:'');
tras.forEach((z, i) => {
if (i > 0 && txt!='') {
txt += ";再";
}
if (z.arrivalType == 1) {
txt += "搭乘航班";
} else if (z.arrivalType == 2) {
txt += "乘坐豪华巴士";
} else if (z.arrivalType == 3) {
txt += "乘坐豪华游轮";
} else {
txt += "乘坐高铁";
}
txt += " 到达" + z.arrivalCityName;
});
return txt;
},
//转换图片格式
getCoverImg(imgCover) {
if (imgCover) {
......@@ -1612,8 +1793,10 @@ export default {
}
.jz_LineDetail rich-text {
font-size: 26rpx;
font-weight: 500;
font-size: 12px;
font-weight: normal;
line-height: 1.8;
color: #666;
}
.line-flex {
......@@ -1836,6 +2019,7 @@ export default {
.jz_B2bPrice {
font-size: 45rpx;
font-weight: 800;
font-family: nav-font;
}
.jz_Service {
......@@ -2103,4 +2287,99 @@ export default {
margin-bottom: 5px;
}
.time-line-box{
display: flex;
margin-top:10px
}
.time-line-box .left .icon{
width: 31px;
height: 31px;
border-radius: 31px;
color:#FFF;
line-height: 31px;
text-align: center;
font-size: 28rpx;
}
.time-line-box .left {
margin-right:20rpx;
position: relative;
min-height: 50px;
}
.time-line-box .left .icon::after{
background-color: inherit;
width: 3px;
position: absolute;
top:33px;
left:14px;
bottom: 0;
display: block;
content: ' ';
}
.time-line-box .right{
width: 1px;
flex: 1;
}
.time-line-box .right .subtitle {
font-size: 12px;
margin-bottom: 8px;
opacity: .6;
text-transform: uppercase;
letter-spacing: 1px;
/* font-weight: 700; */
}
.time-line-box .right .title{
font-size: 16px;
font-weight: 500;
letter-spacing: 0.25px;
margin-bottom: 16px;
line-height: inherit;
font-family: microsoft yahei ui light;
}
.time-line-box .right .card{
background-color: #ecf1f4;
padding: 10px;
border-radius: 8px;
}
.time-line-box .right .card p {
margin-bottom: 10px;
}
.time-line-box .right .card strong{
font-weight: normal;
}
.time-line-box .right .tag-play{
display: flex;
align-items: center;
}
.time-line-box .right .tag-play .tag-play-box{
display: flex;
align-items: center;
border-radius: 8rpx!important;
overflow: hidden;
}
.time-line-box .right .tag-play .tag-play-box .remark{
background-color: #1d1d1d;
padding: 0px 4px;
font-size: 12px;
color:#FFF;
}
.time-line-box .right .tag-play .tag-play-box .play-time{
padding: 0px 4px;
font-size: 12px;
background: rgb(240, 189, 134);
color: #1d1d1d;
}
.time-line-box .right .sec-images{
margin:10px 0 0 0;
height: 10vh;
display: flex;
align-items: center;
border-radius: 8px;
overflow: hidden;
}
.time-line-box .right .sec-images image{
width: 1px;
flex: 1;
height: 10vh;
margin-right: 1px;
}
</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