Commit 55a45e28 authored by huangyuanyuan's avatar huangyuanyuan

update

parent 691f5bb9
......@@ -59,7 +59,7 @@ export default {
<style>
@import './assets/global/font.css';
@import '//at.alicdn.com/t/font_863923_59ny99vyyvp.css';
@import '//at.alicdn.com/t/font_863923_iwlmspkwlv.css';
@import './assets/global/global.css';
body,html{
padding: 0px;
......
......@@ -257,6 +257,7 @@
padding:4px 6px;
margin-right: 10px;
margin-bottom:10px;
cursor: pointer;
}
.LocalCuisineDetails .Head .HeadRight .tcDiv .tc .Active{
border: 2px solid #EE4454;
......
......@@ -26,7 +26,7 @@
z-index: 1000;
position: relative;
}
.GroupTour .GroupTour_top_bg img{
.GroupTour .GroupTour_top_bg .bgImg{
position: absolute;
left: 0;
top: 0;
......@@ -61,13 +61,36 @@
position: absolute;
top: -1px;
left: 200px;
width: 500px;
width: 600px;
background: #fff;
padding:10px 20px;
box-sizing: border-box;
border: 1px solid #E9E9E9;
transition: all .5s ease;
background-position:right bottom;
background-repeat: no-repeat;
/* background-image:url(".././../img/groupTour/1.png"); */
display: none;
padding-bottom: 50px;
}
.GroupTour .GroupTour_top_bg .typeLi>li .jumpHover .hoverImg{
position:absolute;
bottom:0;
right:0;
z-index:0;
}
.GroupTour .GroupTour_top_bg .typeLi>li .jumpHover .hoverUl li div span{
display: inline-flex;
align-items: center;
}
.GroupTour .GroupTour_top_bg .typeLi>li .jumpHover .hoverUl li div span>span:nth-child(1){
display: inline-block;
max-width: 200px;
overflow: hidden;
text-overflow: ellipsis;
white-space:nowrap;
}
.GroupTour .GroupTour_top_bg .typeLi>li .typeTile{
font-family: "PingFangR";
}
......@@ -89,10 +112,7 @@
display: inline-block;
border-bottom: 3px solid #EE4454;
}
.GroupTour .GroupTour_top_bg .jumpHover{
display: none;
transition: all .5s ease;
}
.GroupTour .GroupTour_top_bg .jumpHover li{
color:#888888;
}
......
......@@ -206,18 +206,19 @@ p {
background:rgba(68,68,68,1);
}
.Home .cztm .cztm_item_content{
float: left;
height: 100%;
width: 100%;
width: 123px;
box-sizing: border-box;
padding-left:10px;
position: relative;
position: absolute;
right: 0;
background: #fff;
}
.Home .cztm .cztm_item img{
display: block;
float: left;
width:100px;
width:100%;
height:100%;
position: absolute;
left: 0;
}
.Home .cztm .cztm_item{
position: relative;
......@@ -613,6 +614,8 @@ p {
.Home .Localtour .Localtour_item img{
width: 100%;
height: 100%;
position: absolute;
left: 0;top: 0;
}
.Home .Localtour .Localtour_item .city{
position: absolute;
......
This diff is collapsed.
.login_page{
height: 100%;
font-size: 1.33333333333333vw;
box-sizing: border-box;
background: url('../img/login/back.png') no-repeat bottom left/90% auto;
}
.LoginBig{
width:26vw;
margin-right:8vw;
position: relative;
right: 0;
float: right;
}
.login_page p{margin: 0;}
.login_page_logo{
padding-top:11.9vh;
}
.login_page_logo img{
width: 13vw;
height: 7vh;
}
.login_page_tit{
width: 300px;
text-align: center;
color: #ffffff;
font-size: 18px;
}
.login_page_box{
/* background: rgba(255,255,255,1); */
border-radius: 4px;
padding: 2vh 0 4vh 0;
position: relative;
overflow: hidden;
}
.login_page_box p._tit{
font-size:28px;
font-weight:400;
color: #333333;
text-align: center;
}
.login_err{
margin: 20px 0 10px 0;
padding: 9px 14px;
background:rgba(255,230,229,1);
border:1px solid rgba(255,64,64,1);
border-radius:4px;
display: flex;
opacity: 0;
}
.login_err_none{opacity: 1}
.login_err div{
width: 16px;
}
.login_err div img{
width: 100%;
}
.login_err p{
padding-left: 10px;
font-size: 14px;
color: #000000;
}
.login_input .title{
color: #333333;
margin-bottom:1vh;
font-size: 16px;
}
.login_input .passwdP{
margin-top:1.9vh;
}
.login_input .title .iconfont{
margin-right:5px;
color:#000000;
}
.login_input .el-input{
margin-bottom: 2vh;
}
.login_input .btnDiv{
margin-top:1.5vh;
}
.login_input .el-input input{
border:none;
border-radius: 0;
/* width: 40vw; */
border-bottom: 1px solid #CCCCCC;
transition: all 0.5s linear;
}
.login_input .el-input input:focus{
border-bottom: 2px solid #EE4454;
}
.login_input .el-button{
width:9vw;
height:5vh;
background:rgba(238,238,238,1);
border-radius:25px;
text-align: center;
line-height: 5vh;
padding: 0;
color:#999999;
}
.login_input .el-button:hover {
color: #FFFFFF;
border-color: #E95252;
background-color: #E95252;
}
.login_input .el-button:focus{
border-color: #CD1C1C;
background-color: #CD1C1C;
}
.login_pass{
display: flex;
justify-content: space-between;
font-size: 14px;
}
.login_pass p{
cursor: pointer;
}
.login_pass p:hover{
color: #E73828;
}
.login_other{
margin-top: 50px;
color: #999999;
font-size: 14px;
overflow: hidden;
position: relative;
}
.login_other p{
width: 100px;
margin: 0 auto;
position: relative;
z-index: 3;
padding: 2px 6px;
background-color: white;
}
.login_other .login_other_line{
height: 1px;
background-color:#CCCCCC;
position: absolute;
width: 100%;
top: 11px;
z-index: 1;
}
.login_other_icon{
text-align: center;
margin-top: 20px;
}
.login_other_icon i{
font-size: 42px;
cursor: pointer;
}
.login_other_icon i:nth-child(1){margin-right: 24px;}
.login_other_icon i:nth-child(1):hover{color: #44b549}
.login_other_icon i:nth-child(2):hover{color: #359eff}
.cp_info{
margin-top: 20px;
color: #999999;
line-height: 28px;
font-size: 12px;
position: relative;
bottom: 20px;
left: 0;
width: 100%;
}
.cp_info p{
font-size: 0.8vw;
}
.login_return{
width: 40px;
height: 40px;
background-color: #BBBBBB;
font-size: 18px;
position: absolute;
right: -18px;
top: -20px;
border-radius: 17px;
cursor: pointer;
}
.login_return i{
font-size: 18px;
color: white;
padding-top: 20px;
position: absolute;
bottom: 1px;
left: 4px;
}
.active_code{
display: flex;
}
.active_code .el-input{
flex: 2;
}
.active_code .el-button{
flex: 1;
height: 40px;
font-size: 14px;
margin-left: 20px;
}
.login_pass_edit div{
opacity: 0;
}
.login_page ._register{
padding-top: 10px
}
\ No newline at end of file
......@@ -99,16 +99,16 @@
</style>
<template>
<el-row class="diving">
<p>精品推荐-跳水特价</p>
<p>精品推荐</p>
<el-row :gutter="20">
<template v-for="(item, index) in data">
<el-col :span="6" v-if="index < 8">
<div class="item" >
<div class="label">
{{item.lineName.substr(0, 2)}}
{{item.title.substr(0, 2)}}
</div>
<div class="img">
<img v-if='item.imgCover!=null&&item.imgCover.length' :src='compressImg(JSON.parse(item.imgCover)[0].Url, "filt", 245, "")' alt="">
<img v-if='item.imgCover!=null&&item.imgCover.length' :src='compressImg(item.imgCover[0].url, "filt", 245, "")' alt="">
<img class="notamin" src="../../../assets/img/bg_c2@3x.png" v-else />
</div>
<div class="line"></div>
......@@ -140,7 +140,7 @@ export default {
},
mounted () {
console.log("data",this.data)
}
}
</script>
......@@ -8,73 +8,55 @@
<div class="bg">
<ul class="typeLi">
<li class="alltype">所有分类</li>
<li>
<li v-for="(item,index) in lineList" :key="index+100">
<span class="right_border"></span>
<p class="typeTile">日本线</p>
<p class="typeTile">{{item.lineShortName}}</p>
<p class="typeAdress">
<span>东京</span>
<span>高雄</span>
<span>北海道</span>
<span v-if="item.sbuItem.lineTeamList.length>0">{{item.sbuItem.lineTeamList[0].ltName}}</span>
</p>
<div class="jumpHover">
<p class="jumpTitle"><span class="jumpTitleSpan">日本线</span></p>
<ul style="font-size:12px">
<li style="margin-top:15px;">
<p style="color:#111111;font-family:'PingFangR'">热门目的地</p>
<div style="margin-top:6px">
<span>东京<span style="padding:0 6px">|</span></span>
<span>高雄<span style="padding:0 6px">|</span></span>
<span>北海道 <span style="padding:0 6px">|</span></span>
<span>东京<span style="padding:0 6px">|</span></span>
</div>
</li>
<li style="margin-top:15px;">
<p style="color:#111111;font-family:'PingFangR'">热门目的地</p>
<div style="margin-top:6px">
<span>东京 <span> | </span></span>
<span>高雄 <span> | </span></span>
<span>北海道 <span> | </span></span>
</div>
</li>
</ul>
</div>
</li>
<li>
<span class="right_border"></span>
<p class="typeTile">日本线</p>
<p class="typeAdress">
<span>东京</span>
<span>高雄</span>
<span>北海道</span>
</p>
<div class="jumpHover">
<p class="jumpTitle"><span class="jumpTitleSpan">日本线</span></p>
<ul style="font-size:12px">
<li style="margin-top:15px;">
<p style="color:#111111;font-family:'PingFangR'">热门目的地</p>
<div style="margin-top:6px">
<span>东京<span style="padding:0 6px">|</span></span>
<span>高雄<span style="padding:0 6px">|</span></span>
<span>北海道 <span style="padding:0 6px">|</span></span>
<span>东京<span style="padding:0 6px">|</span></span>
</div>
</li>
<li style="margin-top:15px;">
<p style="color:#111111;font-family:'PingFangR'">热门目的地</p>
<div style="margin-top:6px">
<span>东京 <span> | </span></span>
<span>高雄 <span> | </span></span>
<span>北海道 <span> | </span></span>
</div>
</li>
</ul>
<!-- :src='compressImg(item.backgroundImage, "filt", 245, "")' -->
<img class="hoverImg" :src='compressImg(item.backgroundImage, "filt", 500, "")' alt="">
<div style="z-index:1;position:relative">
<p class="jumpTitle"><span class="jumpTitleSpan">{{item.lineShortName}}</span></p>
<ul class="hoverUl" style="font-size:12px">
<li v-if="item.sbuItem.placeNames.length>0" style="margin-top:15px;">
<p style="color:#111111;font-family:'PingFangR'">热门目的地</p>
<div style="margin-top:6px">
<span v-for="(place,index) in item.sbuItem.placeNames" :key="index">
<span>{{place}}</span>
<span v-if="index!=item.sbuItem.placeNames.length-1" style="padding:0 6px">|</span>
</span>
</div>
</li>
<li v-if="item.sbuItem.hotTicketcouponsNames.length>0" style="margin-top:15px;">
<p style="color:#111111;font-family:'PingFangR'">热门景点</p>
<div style="margin-top:6px">
<span v-for="(hot,index) in item.sbuItem.hotTicketcouponsNames" :key="index+200">
<span>{{hot}}</span>
<span style="padding:0 6px" v-if="index!=item.sbuItem.hotTicketcouponsNames.length-1">|</span>
</span>
</div>
</li>
<li v-if="item.sbuItem.lineTeamList.length>0" style="margin-top:15px;">
<p style="color:#111111;font-family:'PingFangR'">系列</p>
<div style="margin-top:6px">
<span v-for="(line,index) in item.sbuItem.lineTeamList" :key="index+300">
<span>{{line.ltName}}</span>
<span style="padding:0 6px" v-if="index!=item.sbuItem.lineTeamList.length-1">|</span>
</span>
</div>
</li>
</ul>
</div>
</div>
</li>
</ul>
</div>
<img src="../../assets/img/groupTour/top_bg.png" alt="">
<img class="bgImg" src="../../assets/img/groupTour/top_bg.png" alt="">
</el-row>
<el-row class="_list" v-loading="loading">
<!-- 跳水特价 -->
......@@ -121,9 +103,20 @@ export default {
isLogin: 1,
loadingIndex: -1,
loading: true,
lineList:[],
}
},
methods: {
LineTeam(){
this.apiJavaPost('/api/b2b/group/getHomeLineSort',{},res=>{
if(res.data.resultCode==1){
this.lineList=res.data.data;
}else{
this.Error(res.data.message);
}
},null)
},
loadModuleData(sno){
// console.log(this.recoItems.line)
if(sno < this.recoItems.line.length){
......@@ -174,20 +167,33 @@ export default {
}
},
loadTiaoshui(){
if (this.companyId!=-1 ){
let msg = {
pageIndex: 1,
pageSize: 12,
companyId: this.companyId,
recommendType: 2,
groupRecommendType: 1,
}
this.apipost('b2b_get_GetB2BHomeRecommendPageList', msg, r=>{
this.tiaoshui = r.data.data.pageData
this.tiaoshui.forEach(x=> {
x.dataStr = moment(x.startDate).format('M-D')
})
}, null)
}
this.apiJavaPost('/api/b2b/group/getHomeRecommendPrice',msg,res=>{
if(res.data.resultCode==1){
this.tiaoshui=res.data.data.pageData;
}else{
this.Error(res.data.message);
}
},null)
// if (this.companyId!=-1 ){
// let msg = {
// pageIndex: 1,
// pageSize: 12,
// companyId: this.companyId,
// recommendType: 2,
// }
// this.apipost('b2b_get_GetB2BHomeRecommendPageList', msg, r=>{
// this.tiaoshui = r.data.data.pageData
// this.tiaoshui.forEach(x=> {
// x.dataStr = moment(x.startDate).format('M-D')
// })
// }, null)
// }
},
loadTehuis(){
if(this.companyId!=-1){
......@@ -207,6 +213,7 @@ export default {
},
},
mounted () {
this.LineTeam();
this.companyId=localStorage.site
this.loadRecoItems();
this.loadTehuis();
......
This diff is collapsed.
......@@ -74,21 +74,16 @@
<div class="dataList basefix">
<div class="dataLeft">
<p class="pfR" style="padding:15px 19px">猜你喜欢</p>
<div class="leftList">
<img style="width:188px;height:106px;" src="../../assets/img/activy.jpg" alt="">
<div>
<p class="f12 text2">曼谷拜约克自助餐摩天塔 Baiyoke Sky Hotel高空餐厅国Baiyoke Sky Hotel高空餐厅国</p>
<p>
<span style="color:#FF0101">¥68</span>
</p>
<div class="leftList" v-for="(item,index) in LikeList" :key="index+100">
<div style="width:188px;height:106px;" >
<img v-if="item.coverImgs[0]" style="width:100%;height:100%;" :src='compressImg(item.coverImgs[0], "filt", 245, "")' alt="">
<img style="width:100%;height:100%;" v-else src="../../assets/img/activy.jpg" alt="">
</div>
</div>
<div class="leftList">
<img style="width:188px;height:106px;" src="../../assets/img/activy.jpg" alt="">
<div>
<p class="f12 text2">曼谷拜约克自助餐摩天塔 Baiyoke Sky Hotel高空餐厅国Baiyoke Sky Hotel高空餐厅国</p>
<p class="f12 text2">{{item.name}}</p>
<p>
<span style="color:#FF0101">68</span>
<span style="color:#FF0101">{{item.b2bPrice | NoDesnum}}</span>
</p>
</div>
</div>
......@@ -184,11 +179,16 @@ export default {
dataList:[],
cityList:[],
Load:false,
LikeList:[],
}
},
created(){
this.GetTicketList();
this.GetTicketList();
if(localStorage.LikeList){
this.LikeList=JSON.parse(localStorage.LikeList);
}
},
mounted(){
this.GetList();
......@@ -247,14 +247,18 @@ export default {
this.Load=false;
if(res.data.resultCode==1){
this.dataList=res.data.data.pageData;
console.log(this.dataList)
this.Count=res.data.data.count;
this.dataList.forEach(item=>{
if(item.foodTag){
item.foodTagList=item.foodTag.split(",");
}
}
})
if(this.LikeList.length<1){
if(this.dataList.length>0){
this.LikeList.push(this.dataList[0]);
}
}
}else{
this.Error(res.data.message);
}
......@@ -281,10 +285,22 @@ export default {
this.GetList();
},
Gourl(item){
this.$router.push({
if(this.LikeList.length>5 || this.LikeList.length==5){
this.LikeList.pop();
}
this.LikeList.forEach((like,index)=>{
if(like.id==item.id){
this.LikeList.splice(index,1);
}
})
this.LikeList.unshift(item);
localStorage.LikeList=JSON.stringify(this.LikeList);
this.$router.push({
path: "LocalCuisineDetails",
query: { idDes:encodeURIComponent(item.idDes)}
query: { idDes:encodeURIComponent(item.idDes),id:item.id}
});
},
handleCurrentChange(val){
this.msg.pageIndex=val;
......
......@@ -234,6 +234,7 @@ export default {
startCityId:0,
countryId:0,
cityId:0,
searchKey:"",
},
pickerBeginDateBefore: {
disabledDate: time => {
......@@ -266,6 +267,7 @@ export default {
cityshow:false,
ticketList:[],
hotList:[],
tempsearchKey:'',
}
},
components:{
......@@ -279,8 +281,11 @@ export default {
if(this.tab==1){
this.GetList();
}else{
if(this.$route.query.searchKey){
this.msg.searchKey=this.$route.query.searchKey;
this.tempsearchKey=this.$route.query.searchKey;
}
this.GetTicketList();
}
}
if(this.$route.query.id){
......@@ -482,6 +487,7 @@ export default {
},
ChangeTab(num){
this.msg.searchKey="";
this.tab=num;
this.msg.pageIndex=1;
this.CurrentPage=1;
......@@ -489,7 +495,8 @@ export default {
this.GetList();
}
if(this.tab==2){
this.GetTicketList();
this.msg.searchKey=this.tempsearchKey;
this.GetTicketList();
}
},
// 系列
......
......@@ -304,7 +304,7 @@
<img style="width:100%;height:100%" src="../../assets/img/localtour/meishi.png" alt="">
</div>
<ul v-loading="foodLoad" class="ticketRight basefix">
<li @click="GoTicket(item)" v-for="item in foodList" :key="item.id">
<li @click="GoFoodDes(item)" v-for="item in foodList" :key="item.id">
<!-- <img :src="item.coverImgs[0]" alt=""> -->
<img :src='compressImg(item.coverImgs[0], "filt", 245, "")' alt="">
<div class="bottom">
......@@ -410,6 +410,12 @@ export default {
this.$router.push({ path })
},
GoFoodDes(item){
this.$router.push({
path: "LocalCuisineDetails",
query: { idDes:encodeURIComponent(item.idDes),id:item.id}
});
},
GoTicket(item){
this.$router.push({ path:'/TicketDetails',
query:{idDes:encodeURIComponent(item.idDes)} })
......
......@@ -2,8 +2,8 @@
<div class="OnedayList">
<ul class="oneList">
<li @click="goOneDayDetail(item)" v-for="(item,index) in dataList" :key="index+200">
<div>
<img style="width:199px;height:148px;" :src='compressImg(item.imgCover[0].url, "filt", 245, "")' alt="">
<div style="width:199px;height:148px;">
<img style="width:100%;height:100%;" :src='compressImg(item.imgCover[0].url, "filt", 245, "")' alt="">
</div>
<div class="secondDiv">
<p style="font-size:16px;color:#2A5532;cursor:pointer">{{item.title}}</p>
......@@ -24,7 +24,7 @@
</div>
<div class="threeDiv">
<p><span style="color:#FDAC11;font-size:22px">{{item.b2BPrice | NoDesnum}}</span></p>
<p style="margin-top:80px"><span class="ckxq" @click="GetDes(item)">查看详情</span></p>
<p style="margin-top:80px"><span class="ckxq">查看详情</span></p>
</div>
</li>
<div v-if="dataList.length==0" style="padding:15px 0;text-align:center">
......@@ -67,20 +67,17 @@ export default {
let path = 'OneDayDetailTwo';
path=`${path}/${encodeURIComponent(item.idDes)}/${item.tcid}`;
this.$router.push({ path })
},
GetDes(item){
if(this.Historylist.length>4 || this.Historylist.length==4){
if(this.Historylist.length>4 || this.Historylist.length==4){
this.Historylist.pop();
}
this.Historylist.forEach(his=>{
this.Historylist.forEach((his,index)=>{
if(his.id==item.id){
this.Historylist.splice(his,1);
this.Historylist.splice(index,1);
}
})
this.Historylist.unshift(item);
localStorage.HistoryBrowse=JSON.stringify(this.Historylist);
},
},
},
watch:{
onelist:{
......
......@@ -31,9 +31,9 @@
<p class="pfR" style="color:#2A5532;font-size:20px;">{{dataDes.name}}</p>
<!-- <p style="margin-top:20px" class="ticketSpan">票类包括:<span>大小同价</span><span>大小价</span></p> -->
<div class="price">
{{dataDes.minPrice | NoDesnum}}
{{dataDes.minPrice}}
<span v-if="dataDes.minPrice!=dataDes.maxPrice">
~¥{{dataDes.maxPrice | NoDesnum}}
~¥{{dataDes.maxPrice}}
</span>
</div>
<p>
......@@ -44,7 +44,7 @@
<span style="color:#666666">开放时间:</span>
<span class="text">{{dataDes.openingHours}}</span>
</p>
<p style="margin-top:15px;">
<p v-if="dataDes.dieLine" style="margin-top:15px;">
<span style="color:#666666">提前预定天数:</span>
<span>{{dataDes.dieLine}}</span>
</p>
......
......@@ -43,6 +43,11 @@
text-align: center;
padding:0;
margin: 6px 0;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
}
.dayList p.price{
float: initial;
......@@ -72,7 +77,7 @@
<div class="monthDayList">
<div v-for="(item,index) in daysData" class="dayList" :key="index" @click="item.price?selectDate(item):''" :class="{selectDay:isSelect == index,noPrice:!item.price,yesPrice:item.price}">
<p>{{item.day}}</p>
<p v-if="item.price!='0.00' && item.price" class="price">{{item.price}}</p>
<p v-if="item.price!='0.00' && item.price" class="price">{{item.price | NoDesnum}}</p>
</div>
</div>
</div>
......@@ -112,7 +117,6 @@ export default {
getYearMonthDay(list){
this.priceData=list[0];
let day=this.day;
console.log("day",day);
let currentYear = day.substring(0,4); //当前年份
let currentMonth =day.substring(5,7); //当前月份
// console.log("currentMonth",currentMonth)
......@@ -130,7 +134,7 @@ export default {
let daysData = [];
//给数据源赋值
for (let i = 0 ;i < Number(monthDay) ;i++) {
var priceDict = {'day':String(i+1),'price':0,'dis':false,date_str:''};
var priceDict = {'day':String(i+1),'price':0,'dis':false,date_str:'',priceId:""};
daysData.push(priceDict);
}
this.daysData = daysData;
......@@ -148,6 +152,7 @@ export default {
dayDict.price='';
}else{
dayDict.price = price.price;
dayDict.priceId=price.priceId;
}
// dayDict.price = price.price;
dayDict.date_str=price.dateStr;
......
......@@ -19,6 +19,8 @@
<TkOrder v-if="data === '8-5'"/>
<!-- 景点门票订单 -->
<TscenOrder v-if="data === '8-8'"/>
<!--美食订单 -->
<FoodOrder v-if="data === '8-9'"/>
<!-- <ScenOrder v-if="data === '8-8'"/> -->
</div>
......@@ -31,6 +33,7 @@ import TzOrder from './model/TzOrder'
import TkOrder from './model/TkOrder'
import TscenOrder from './model/TscenOrder'
import TDDOrder from './model/TDDOrder'
import FoodOrder from './model/FoodOrder'
export default {
props:{
......@@ -43,7 +46,8 @@ export default {
TzOrder: TzOrder,
TscenOrder:TscenOrder,
TQOrder:TQOrder,
TDDOrder:TDDOrder
TDDOrder:TDDOrder,
FoodOrder:FoodOrder,
},
data() {
return {
......
<style>
/* 定制游订单 */
@import "../../../../assets/css/newPersonalCenter/block/OrderCenter.css";
</style>
<template>
<el-row class="OrderCenter">
<!-- 条件 -->
<ul class="clearfix">
<template v-for="item in TitList">
<li :key="item.ID"
class="__cp"
@click="handleClick(item)"
:class="{_active: activeName === item.ID}"
>{{item.Type}}</li>
</template>
</ul>
<!-- 表格 -->
<FoodTable v-loading="orderLoading" :tableData="tableData" v-on:queryDays="queryDays" @fatherMethod="fatherMethod"/>
<div class="empty-data" v-if="tableData.length<1">
<i class="iconfont icon-kong"></i>
很抱歉,你想要的信息我们真的找不到了
</div>
<!-- 分页 -->
<el-row class="_pagination" v-if="totalCount > 0">
<el-pagination
:current-page.sync="currentPage"
:page-size="getOrderMsg.pageSize"
layout="total, prev, pager, next"
:total="Count"
@current-change="handleCurrentChange"
></el-pagination>
</el-row>
</el-row>
</template>
<script>
import FoodTable from "./OrderInfoModel/FoodTable";
export default {
components: {
FoodTable: FoodTable
},
data() {
return {
activeName: 0,
currentPage: 1,
orderLoading: false,
totalCount: 1,
Count: 1,
WaitDealOrderPageList: "",
getOrderMsg: {
pageIndex: 1,
pageSize: 10,
queryDays:10,
status: 0,
},
TitList: [
{
Type: "全部",
ID: 0
},
{
Type: "正常",
ID: 1
},
{
Type: "取消",
ID: 2
},
{
Type: "待付款",
ID: 3
}
],
tableData: []
};
},
computed: {},
created() {
},
mounted() {
let userInfo = localStorage.userInfo
? JSON.parse(localStorage.userInfo)
: "";
this.getOrderMsg.CustomerId = userInfo.customerId;
this.gerOrderList();
// this.b2b_get_GetWaitDealOrderPageList();
},
methods: {
fatherMethod(){
this.gerOrderList();
},
queryDays(val){
this.getOrderMsg.queryDays=val;
this.gerOrderList();
},
b2b_get_GetWaitDealOrderPageList() {
//获取待处理订单
let msg = {
pageIndex: 1,
pageSize: 100
};
this.apipost(
"b2b_get_GetWaitDealOrderPageList",
msg,
r => {
if (r.data.resultCode == 1) {
this.WaitDealOrderPageList = r.data.data.pageData;
} else {
this.$message.error(r.data.message);
}
},
null
);
},
gerOrderList: function() {
this.orderLoading = true;
this.apiJavaPost(
"/api/b2b/food/getFoodOrder",
this.getOrderMsg,
res => {
if (res.data.resultCode == 1) {
this.tableData = res.data.data.pageData;
console.log("美食订单",this.tableData)
this.totalCount = res.data.data.pageCount;
this.Count = res.data.data.count;
this.orderLoading = false;
} else {
this.Error(res.data.message);
this.orderLoading = false;
}
},
null
);
},
handleClick(item) {
this.activeName = item.ID;
this.getOrderMsg.status = item.ID;
this.gerOrderList();
},
handleCurrentChange(val) {
// 翻页
this.getOrderMsg.pageIndex = parseInt(val);
this.gerOrderList();
}
}
};
</script>
<style scoped>
.orderTable{
width: 100%;
border: solid 1px #EDEDED;
border-collapse: collapse;
}
.orderTable thead tr {
}
.orderTable thead tr th{
padding: 15px 0;
font-size: 12px;
color: #666666;
font-weight: initial;
}
.orderTable thead tr th:nth-child(1){
text-align: left;
padding-left: 20px;
}
.orderTable tbody tr td{
border: solid 1px #EDEDED;
}
.orderTable tbody .top td{
padding: 7px 20px;
font-size: 14px;
border: 1px solid #EDEDED;
}
.orderTable tbody .top td .time{
color: #999999;
padding-right: 20px;
}
.orderTable tbody .top td .num{
color: #666666;
padding-right: 20px;
}
.orderTable tbody .top td .num span{
color: #999999;
}
.orderTable tbody .top td .contacts{
color: #333333;
}
.orderTable tbody .top td .contacts .iconfont{
color: #5290FF;
padding-right: 10px;
}
.orderTable tbody .info td{
padding: 20px 15px;
}
.orderTable tbody .info .tc_info{
display: flex;
align-items: center;
}
.orderTable tbody .info .tc_info ._left{
width:64px;
height:64px;
background-color: gray;
margin-right: 10px;display: inline-block;
}
.orderTable tbody .info .tc_info ._right{
color: #666666;
font-size: 12px;
display: inline-block;
width: 230px;
}
.color333{
color: #333333;
}
.color666{
color: #666666;
}
.font-size14{
font-size: 14px
}
.font-size12{
font-size: 12px
}
.orderTable tbody .info .tc_info ._right p:nth-child(2){
margin: 8px 0;
}
.orderTable tbody .info .name_list{
font-size: 12px;
text-align: center;
}
.orderTable tbody .info .name_list .__cp:hover{
color: #2299EE;
}
.orderTable tbody .info .name_list p{
margin-bottom: 5px;
}
.orderTable tbody .info .money{
font-size: 12px;
text-align: center;
}
.orderTable tbody .info .money p{
margin-bottom: 4px
}
.orderTable tbody .info .money .pay_ok{
color: #52BF7D;
padding-bottom: 2px;
}
.orderTable tbody .info .money .pay_no{
color: #FF8800 !important;
}
.orderTable tbody .info .money .pay_ok .iconfont{
color: #333333
}
.orderTable tbody .info .money .pay_list{
border-top: 1px solid #E6E6E6;
padding-top: 5px;
color: #666666;
/* height: 0;
overflow: hidden;
transition: all linear .5s; */
}
.orderTable tbody .info .money .pay_list.height_aotu{
height: 66px;
}
.shang{
transform: rotate(180deg);
display: inline-block;
}
.hover_bg{
background: rgba(255,240,240,1);
}
.list_details ul{
margin-top: 0px;
padding-top: 15px;
border-top: 1px solid #E6E6E6;
}
.list_details .__item{
display: flex;
font-size: 12px;
margin-bottom: 15px;
}
.list_details .__item .img{
height: 54px;
width: 72px;
background-color: gray;
margin-right: 10px;
}
.list_details .__item .img{
height: 54px;
width: 72px;
}
.list_details .__item .__name .iconfont{
color: #3EABFF
}
.list_details .__item .__name .icon-shiliangzhinengduixiang1{
color: #FF5151
}
.orderTable .colo33{
color:#666666;
}
</style>
<template>
<el-row>
<table class="orderTable" border="0" cellspacing="0" cellpadding="0">
<thead>
<tr>
<th width="328px">
<div class="__cp _drop">
<el-dropdown trigger="click" @command="handleCommandTwo">
<span class="el-dropdown-link">
{{dropTitTwo}}
<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown">
<template v-for="item in dayList">
<el-dropdown-item :command="item" :key="item.Day">{{item.Day}}</el-dropdown-item>
</template>
</el-dropdown-menu>
</el-dropdown>
</div>
</th>
<th width="180px">
订单详情
</th>
<th width="170px">
金额
</th>
<th width="140px">
订单状态
</th>
<th width="159px">
操作
</th>
</tr>
</thead>
<tbody>
<template v-for="(item, index) in tableData">
<tr class="top" :key="index" :class="{hover_bg: activeRow === index}" @mouseenter="enter(index)" @mouseleave="enter()">
<td colspan="6">
<span class="time">{{item.createDate}}</span>
<span class="num">订单号:<span>{{item.id}}</span></span>
<!-- <span class="contacts"><i class="iconfont icon-dianhua"></i> <span>{{item.salesName}} {{item.salesMobile}}</span></span> -->
</td>
</tr>
<tr class="info" @mouseenter="enter(index)" :key="index+100" @mouseleave="enter()" :class="{hover_bg: activeRow === index}">
<td>
<div class="tc_info">
<div class="_left">
<img style="width:100%;height:100%" :src="item.coverImgs[0]" alt="">
</div>
<div class="_right">
<p class="color333 font-size14">{{item.diningName}}</p>
<p>{{item.mealName}}</p>
<!-- <p>团号:{{item.tcid}}</p> -->
</div>
</div>
</td>
<td class="name_list">
<p>成人:{{item.adultNum}}</p>
<p>儿童:{{item.childNum}}</p>
<p>使用日期:{{item.useDate}}</p>
</td>
<td class="money">
<p>{{item.preferPrice | priceFormat}}</p>
</td>
<td class="color333 font-size12">
<span v-if="item.status === 1">正常</span>
<span v-else-if="item.status === 2">取消</span>
<span v-else-if="item.status === 3">待付款</span>
</td>
<td>
<p v-if="item.status === 3" style="margin-bottom:10px;">
<el-button @click="Pay(item)" size="mini" type="danger">立即付款</el-button>
</p>
<!-- <p v-if="item.status === 3" style="margin-bottom:10px;">
<el-button @click="Pay(item)" size="mini" type="danger">查看详情</el-button>
</p> -->
<p v-if="item.status === 1 || item.status === 3" style="margin-bottom:10px;">
<el-button @click="Exit(item)" size="mini">取消订单</el-button>
</p>
</td>
</tr>
</template>
</tbody>
</table>
</el-row>
</template>
<script>
import payURL from "../../../../global/pay.vue";
export default {
components: {
payurlItem: payURL,
},
props:["tableData"],
data() {
return {
activeRow: '',
activeNames: ['1'],
dropTitTwo: "10天内",
dataList:[],
dayList: [
{
Day: "10天",
Number: 10,
ID: 1
},
{
Day: "30天",
Number: 30,
ID: 1
},
{
Day: "60天",
Number: 60,
ID: 1
}
],
};
},
mounted() {
// console.log("tableData",this.tableData)
},
methods: {
Exit(item){
this.$confirm("确认取消订单?", '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.apiJavaPost('/api/b2b/food/cancelFoodOrder',{orderId:item.id},res=>{
if(res.data.resultCode==1){
this.Success(res.data.message);
this.$emit('fatherMethod');
}else{
}
},null)
}).catch(() => {
});
},
Pay(item){
let data={};
data=item.payInfo;
data.AirOrderId=item.payInfo.airOrderId;
sessionStorage.Visainfo=JSON.stringify(item.payInfo)
this.$router.push({
name: "Pay",
query: {
id:-1,
}
});
},
enter: function (t) {
if (t+1) {
this.activeRow = t
} else {
this.activeRow = ''
}
},
handleCommandTwo(command) {
this.dropTitTwo = command.Day;
let queryDays = command.Number;
this.$emit('queryDays', queryDays)
// this.gerOrderList();
},
b2b_get_GetWaitDealOrderPageList() {
//获取待处理订单
let msg = {
pageIndex: 1,
pageSize: 100
};
this.apipost(
"b2b_get_GetWaitDealOrderPageList",
msg,
r => {
if (r.data.resultCode == 1) {
this.WaitDealOrderPageList = r.data.data.pageData;
} else {
this.$message.error(r.data.message);
}
},
null
);
},
}
};
</script>
......@@ -234,7 +234,7 @@
</td>
<td>
<p v-if="item.status === 3" style="margin-bottom:10px;">
<el-button @click="Pay(item)" size="mini" type="danger">支付</el-button>
<el-button @click="Pay(item)" size="mini" type="danger">立即付款</el-button>
</p>
<!-- <p v-if="item.status === 3" style="margin-bottom:10px;">
......
......@@ -253,8 +253,13 @@
<span v-else-if="item.visaOrderStatus === 3">待付款</span>
</td>
<td>
<el-button @click="Pay(item)" v-if="item.visaOrderStatus === 3" size="mini" type="danger">支付</el-button>
<el-button v-if="item.visaOrderStatus === 1 || item.visaOrderStatus === 3" size="mini">取消</el-button>
<p v-if="item.visaOrderStatus === 3">
<el-button style="margin-bottom:10px" @click="Pay(item)" size="mini" type="danger">立即付款</el-button>
</p>
<p v-if="item.visaOrderStatus === 1 || item.visaOrderStatus === 3">
<el-button @click="Exit(item)" size="mini">取消订单</el-button>
</p>
<!-- <payurlItem
v-if="item.orderState !== 0 && item.orderState !== 4"
......@@ -326,6 +331,24 @@ export default {
// console.log("tableData",this.tableData)
},
methods: {
Exit(item){
console.log(item)
this.$confirm("确认取消订单?", '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.apiJavaPost('/api/b2b/visa/cancelVisaOrder',{orderId:item.orderId},res=>{
if(res.data.resultCode==1){
this.Success(res.data.message);
this.$emit('fatherMethod');
}else{
}
},null)
}).catch(() => {
});
},
Pay(item){
let data={};
data=item.payInfo;
......
......@@ -15,7 +15,7 @@
</template>
</ul>
<!-- 表格 -->
<VisaTable v-loading="orderLoading" :tableData="tableData" v-on:queryDays="queryDays"/>
<VisaTable v-loading="orderLoading" :tableData="tableData" v-on:queryDays="queryDays" @fatherMethod="fatherMethod"/>
<div class="empty-data" v-if="tableData.length<1">
<i class="iconfont icon-kong"></i>
......@@ -114,6 +114,9 @@ export default {
// this.b2b_get_GetWaitDealOrderPageList();
},
methods: {
fatherMethod(){
this.gerOrderList();
},
queryDays(val){
this.getOrderMsg.queryDays=val;
this.gerOrderList();
......
......@@ -70,6 +70,7 @@
<el-menu-item index="8-5" @click="clickMenu('8-5')">机票订单</el-menu-item>
<el-menu-item index="8-6" @click="clickMenu('8-6')">酒店订单</el-menu-item>
<el-menu-item index="8-8" @click="clickMenu('8-8')">门票订单</el-menu-item>
<el-menu-item index="8-9" @click="clickMenu('8-9')">美食订单</el-menu-item>
</el-submenu>
<el-submenu index="3">
<template slot="title">
......
......@@ -118,16 +118,21 @@ Vue.filter('priceFormat', function (value) {
if (value == null) {
return 0.00;
}
let nStr = value.toFixed(0)
nStr += '';
let x = nStr.split('.');
let x1 = x[0];
let x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
else if(value<1){
return value;
}else{
let nStr = value.toFixed(0)
nStr += '';
let x = nStr.split('.');
let x1 = x[0];
let x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
return x1 + x2;
})
// 时间格式YYYY-MM-DD
Vue.filter("YMD", function (date) {
......
<style>
@import url('../assets/views/login.css');
@import url('../assets/views/loginnew.css');
</style>
<template>
<div class="login_page" :style="{'width':w<=1366?'1349':w+'px','height':h<=672?'768':h+'px'}">
<div class="login_page_logo">
<img src="../assets/img/logo@3x.png" alt="">
</div>
<div class="LoginBig">
<div class="login_page_logo">
<img src="../assets/img/login/yxzl.png" alt="">
<span style="position:relative;top:-10px;color:#EE4454;">
<span> - </span>
<span style="font-size:1.8vw">同业{{this.type === 4 ? '注册' : '登录'}}</span>
</span>
</div>
<div class="login_page_tit">
<p>印象之旅,同业旅游好助手!</p>
<p style="color:#EE4454">印象之旅,同业旅游好助手!</p>
</div>
<div class="login_page_box">
<p class="login_return" @click="GoBack"><i class="iconfont icon-ai207"></i></p>
<p class="_tit">同业{{this.type === 4 ? '注册' : '登录'}}</p>
<!-- <p class="login_return" @click="GoBack"><i class="iconfont icon-ai207"></i></p> -->
<div class="login_err" :class="errorTips?'login_err_none':''">
<div>
<img src="../assets/img/tips@3x.png" alt="">
......@@ -20,28 +26,33 @@
</div>
<div v-if="!activeShow&&type==1">
<div class="login_input">
<p class="title"><span class="iconfont icon-user"></span>账号</p>
<el-input @change="errorTips=false,GetAccountState()"
placeholder="手机号/账号"
v-model="loginMsg.account"
clearable>
</el-input>
<p class="title passwdP"><span class="iconfont icon-mima1"></span>密码</p>
<el-input @change="errorTips=false"
placeholder="密码"
v-model="loginMsg.password"
type="password"
clearable>
</el-input>
<el-button v-if="!loging" @click="user_login">登录</el-button>
<el-button v-if="loging"
v-loading="logingLoad"
element-loading-text="登录中..."
element-loading-spinner="el-icon-loading">登录</el-button>
<div class="login_pass">
<div>
<el-checkbox v-model="checked">下次自动登录</el-checkbox>
</div>
<p @click="type=3,activeShow=true">忘记密码?</p>
</div>
<div class="btnDiv">
<el-button v-if="!loging" @click="user_login">登录</el-button>
<el-button v-if="loging"
v-loading="logingLoad"
element-loading-text="登录中..."
element-loading-spinner="el-icon-loading">登录</el-button>
</div>
<!-- <div class="login_pass _register">
<div>
......@@ -58,13 +69,16 @@
</div>
</div> -->
</div>
<!-- -->
<div v-if="activeShow&&type==2">
<div class="login_input">
<p class="title"><span class="iconfont icon-user"></span>账号</p>
<el-input
placeholder="手机号/账号"
v-model="activeMsg.account"
clearable>
</el-input>
<p class="title passwdP"><span class="iconfont icon-mima1"></span>密码</p>
<el-input
placeholder="密码"
v-model="activeMsg.password"
......@@ -80,17 +94,20 @@
<el-button v-if="show" @click="getCode">{{timer==null?'发送验证码':timer}}</el-button>
<el-button v-else disabled>{{count}}s重新获取</el-button>
</div>
<el-button v-if="!loging" @click="user_active(1)">激活并登录</el-button>
<el-button v-if="loging"
v-loading="logingLoad"
element-loading-text="登录中..."
element-loading-spinner="el-icon-loading">激活并登录</el-button>
<div class="login_pass">
<div>
<el-checkbox v-model="checked">下次自动登录</el-checkbox>
</div>
<p @click="type=1,activeShow=false">返回登录</p>
</div>
<div class="btnDiv">
<el-button v-if="!loging" @click="user_active(1)">激活并登录</el-button>
<el-button v-if="loging"
v-loading="logingLoad"
element-loading-text="登录中..."
element-loading-spinner="el-icon-loading">激活并登录</el-button>
</div>
</div>
</div>
<div v-if="activeShow&&type==3">
......@@ -167,6 +184,8 @@
<p>旅行社业务经营许可证编号:L-SC-CJ00015 蜀ICP备13000760号</p>
<p>©2012-2018 微途科技 版权所有 四川和平国际旅行社有限公司</p>
</div>
</div>
</div>
</template>
<script>
......
This diff is collapsed.
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