Commit b340461a authored by huangyuanyuan's avatar huangyuanyuan

update

parent 0670ca36
......@@ -3,7 +3,7 @@
<div class="top_img">
<el-carousel class="carousel" arrow="always" style="height:100%" :interval="10000" trigger="click">
<el-carousel-item v-for="item in slideList" :key="item.url">
<img :src='compressImg(item.url, "filt", 245, "")'>
<img :src='compressImg(item.url, "filt", 1200, "")'>
</el-carousel-item>
</el-carousel>
<div class="box">
......
......@@ -4,8 +4,8 @@
<template>
<el-row class="GroupTour">
<!-- 顶部图片 -->
<el-row class="GroupTour_top_bg">
<div class="bg">
<el-row class="GroupTour_top_bg" v-loading="lineLoad">
<div class="bg" >
<ul class="typeLi">
<li class="alltype">所有分类</li>
<li v-for="(item,index) in lineList" :key="index+100">
......@@ -34,7 +34,7 @@
<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 @click="TagGourl('LocalTourList',hot,2)" 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>
......@@ -43,7 +43,7 @@
<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 @click="GoLine(item,line)" 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>
......@@ -104,11 +104,25 @@ export default {
loadingIndex: -1,
loading: true,
lineList:[],
lineLoad:false,
}
},
methods: {
// 系列
GoLine(item,line){
this.$router.push({ path:'/search',
query:{tab:2,keywords:"",lineId:item.lineName,lineteamId:line.ltName} })
},
// 景点
TagGourl(path,item,num){
this.$router.push({ path:'/LocalTourList',
query:{tab:2,searchKey:item} })
},
LineTeam(){
this.lineLoad=true;
this.apiJavaPost('/api/b2b/group/getHomeLineSort',{},res=>{
this.lineLoad=false;
if(res.data.resultCode==1){
this.lineList=res.data.data;
......
......@@ -305,12 +305,13 @@
<div class="cztm_item_content">
<div id="triangle-left"></div>
<p class="cztm_title text2">{{item.title}}</p>
<p style="margin-top:35px" class="cztm_title">{{item.dayNum}}{{item.nightNum}}</p>
<p style="margin-top:8px" class="cztm_title">{{item.dayNum}}{{item.nightNum}}</p>
<!-- <p><span class="discount">7.2折</span></p> -->
<p style="color:#FF6600"><span style="font-size:18px;font-weight:bold">
{{(isLogin!=1 ? item.b2CPrice : item.b2BPrice) | NoDesnum}}
</span>
</p>
<p v-html="ComputingTime(item)">}</p>
<!-- <p><span class="bg">5</span><span class="bg">14</span><span class="bg">18</span></p> -->
</div>
</div>
......@@ -884,8 +885,7 @@ export default {
},
methods: {
// 机票购买
Purchase(item) {
console.log(item)
Purchase(item) {
let isLogin = this.$store.state.isLogin;
if (isLogin == 0) {
this.Error("请先登录!");
......@@ -1113,6 +1113,7 @@ export default {
// 超值特卖
if(data.homeTravelSpecialSale){
this.homeTravelSpecialSale=data.homeTravelSpecialSale;
// this.ComputingTime();
}
......@@ -1122,6 +1123,37 @@ export default {
}
},null)
},
ComputingTime(item){
var returnStr ="";
var startDate = moment().format("x"); //获取系统当前时间
let endDate=moment(item.sendVisaTime).format("x");
var diff = endDate- startDate; //时间差的毫秒数
//计算出相差天数
var days = Math.floor(diff / (24 * 3600 * 1000));
//计算出小时数
var leave1 = diff % (24 * 3600 * 1000); //计算天数后剩余的毫秒数
var hours = Math.floor(leave1 / (3600 * 1000));
//计算相差分钟数
var leave2 = leave1 % (3600 * 1000); //计算小时数后剩余的毫秒数
var minutes = Math.floor(leave2 / (60 * 1000));
//计算相差秒数
var leave3 = leave2 % (60 * 1000); //计算分钟数后剩余的毫秒数
var seconds = Math.round(leave3 / 1000);
// var returnStr = seconds + "秒";
if (days > 0) {
returnStr += "<span class='bg'>"+days+"</span>" + "天";
}
if (minutes > 0) {
returnStr += "<span class='bg'>"+minutes+"</span>" + "分";
}
if (hours > 0) {
returnStr += "<span class='bg'>"+hours+"</span>" + "时";
}
return returnStr
},
handleClick(tab, event) {
if(this.activecontent1=="first"){
this.Cztm();
......
......@@ -234,7 +234,6 @@ export default {
startCityId:0,
countryId:0,
cityId:0,
searchKey:"",
},
pickerBeginDateBefore: {
disabledDate: time => {
......
......@@ -21,7 +21,7 @@
<el-carousel class="carousel" arrow="always" style="height:100%" :interval="10000" trigger="click">
<el-carousel-item v-for="item in slideList" :key="item.url">
<!-- <img :src='item.url'> -->
<img :src='compressImg(item.url, "filt", 245, "")' alt="">
<img :src='compressImg(item.url, "filt", 800, "")' alt="">
</el-carousel-item>
</el-carousel>
......
......@@ -4,7 +4,7 @@
<!-- 头部 -->
<div class="TicketHead">
<div class="TicketHeadLeft">
<img style="width:499px;height:281px;display:inline-block" :src='compressImg(imgHoverSrc, "filt", 245, "")' alt="">
<img style="width:499px;height:281px;display:inline-block" :src='compressImg(imgHoverSrc, "filt", 499, "")' alt="">
<div class="block">
<i @click="ImgBefore" :class="ImgIndex==0?'green':''" class="ChangeImgTab" style="margin-left:0">
<span class="iconfont icon-xiangzuo"></span>
......@@ -14,7 +14,7 @@
<li v-if="index<10" @mouseover="LiHover(item,index)" :class="imgHover==index?'liActive':''" v-for="(item,index) in dataDes.coverImgs" :key="index" >
<a href="#">
<img :src='compressImg(item, "filt", 245, "")' :onerror="defaultImg" alt="">
<img :src='compressImg(item, "filt", 77, "")' :onerror="defaultImg" alt="">
</a>
</li>
......
......@@ -56,9 +56,9 @@
<div v-show="zfbpay_imgcode" style="text-align:center">
<img class="pay_imgcode" :src="codeInfo.CodeURL" alt="">
<p style="color:#FF680B;cursor:pointer" @click="Code('3')" v-show="code_ts!=''">{{code_ts}}</p>
<p>二维码有效时限
<!-- <p>二维码有效时限
<span style="color:#FF680B;font-size:14px">{{time_zfb_5}}</span>
</p>
</p> -->
</div>
</div>
</el-col>
......@@ -78,9 +78,9 @@
<img class="pay_imgcode" :src="codeInfo.CodeURL" alt="">
<p style="color:#FF680B;cursor:pointer" @click="Code('1')" v-show="code_ts!=''">{{code_ts}}</p>
<p>二维码有效时限
<!-- <p>二维码有效时限
<span style="color:#FF680B;font-size:14px">{{time_zfb_5}}</span>
</p>
</p> -->
</div>
</div>
</el-col>
......@@ -182,6 +182,9 @@ export default {
}
},
destroyed: function () {
clearInterval(this.Pay_timer);
},
methods: {
// 机票订单获取数据
TimeDjs() {
......@@ -196,6 +199,8 @@ export default {
this.code.body=this.Commoditydetails.description;
this.code.attach=`${this.Commoditydetails.costType}|${this.Commoditydetails.customerName}|${this.AirOrderId}|${this.Commoditydetails.customerId}|${this.Commoditydetails.outBranchId}`
this.Time15();
this.Code('3');
}else if (res.data.resultCode == 0){
this.order_exit='2';
this.order_exit_info=res.data.message;
......@@ -210,6 +215,7 @@ export default {
},
Code(str) {
this.payway=str?this.payway=str:this.payway;
console.log("this.payway",this.payway)
this.codeLoading=true;
this.code_ts="";
this.zfbpay_imgcode = false;
......
......@@ -193,7 +193,7 @@
<p class="fg"></p>
<p class="adress" v-if="item.goTransfer"><span class="green">{{item.goTransfer}}</span>转机</p>
</el-col>
<el-col :span="6" style="text-align:left">
<el-col :span="6" style="text-align:left;position:relative">
<p class="time">{{item.goEndHouseTime}}</p>
<p class="adress">{{item.goEndAirPlace}}</p>
<span class="green num" v-if="item.goIsNextDay==1">+{{item.goIsNextDay}}</span>
......@@ -216,7 +216,7 @@
<p class="fg"></p>
<p class="adress" v-if="item.backTransfer"><span class="green">{{item.backTransfer}}</span>转机</p>
</el-col>
<el-col :span="6" style="text-align:left">
<el-col :span="6" style="text-align:left;position:relative">
<p class="time">{{item.backEndHouseTime}}</p>
<p class="adress">{{item.backEndAirPlace}}</p>
<span class="green num" v-if="item.backIsNextDay==1">+{{item.backIsNextDay}}</span>
......@@ -279,7 +279,7 @@
</p>
</el-col>
<el-col :span="8">
<p class="orange">{{item.scatterB2BPrice | priceFormat}}</p>
<p class="orange">{{(isLogin!=1 ? item.scatterB2CPrice : item.scatterB2BPrice) | priceFormat}}</p>
<p class="font_12" style="margin-top:10px;">
<span v-if="item.freightSpace==1">头等舱</span>
<span v-if="item.freightSpace==2">商务舱</span>
......@@ -399,11 +399,13 @@ export default {
disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7;
}
}
},
isLogin:0,
};
},
mounted() {},
created() {
this.isLogin=this.$store.state.isLogin;
this.loading = true;
if(sessionStorage.getItem("ChooseInfo")){
this.choose_info = JSON.parse(sessionStorage.getItem("ChooseInfo"));
......@@ -698,7 +700,7 @@ export default {
};
monthArray.push(dateDict);
}
console.log("monthArray",monthArray)
// console.log("monthArray",monthArray)
//数组去重,获取有几个月
var hash = {};
monthArray = monthArray.reduce(function(item, next) {
......
<style>
/* 机票订单 */
@import "../../../../assets/css/newPersonalCenter/block/OrderCenter.css";
</style>
<template>
<el-row class="OrderCenter">
<!-- 条件 -->
<ul class="clearfix">
<template v-for="item in TitList">
<li
class="__cp"
@click="handleClick(item)" :key="item.ID"
:class="{_active: activeName === item.ID}"
>{{item.Type}}</li>
<div class="CustomizedList">
<el-form class="form" ref="form" :model="form" label-width="75px">
<el-form-item label="订单号">
<el-input size="small" v-model="form.id" placeholder="请输入订单号"></el-input>
</el-form-item>
<el-form-item label="下单时间">
<el-date-picker size="small"
v-model="form.time"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="List" style="background:#EE4454;color:#fff" size="mini">查询</el-button>
</el-form-item>
</el-form>
<el-row>
<div class="changestatus">
<span :class="{'span_active':form.status==0}" @click="ChangeStatus(0)">全部订单</span>
<span :class="{'span_active':form.status==3}" @click="ChangeStatus(3)">待付款</span>
<span :class="{'span_active':form.status==1}" @click="ChangeStatus(1)">正常</span>
<span :class="{'span_active':form.status==2}" @click="ChangeStatus(2)">取消</span>
</div>
</el-row>
<el-table :header-cell-style="getRowClass"
v-loading="loading"
:data="tableData"
stripe
style="width: 100%;box-sizing:border-box">
<el-table-column
prop="id"
label="订单ID">
</el-table-column>
<el-table-column min-width="150px"
label="机票信息">
<template slot-scope="scope">
<p>
<span v-if="scope.row.airModel.ticketType==2" class="ticket_num"></span>
<span>{{scope.row.airModel.goStartCityName}}-{{scope.row.airModel.goEndCityName}}</span>
<!-- -->
</p>
<p v-if="scope.row.airModel.ticketType==2">
<span class="ticket_num"></span>
<span>{{scope.row.airModel.backStartCityName}}-{{scope.row.airModel.backEndCityName}}</span>
<!-- -->
</p>
</template>
</el-table-column>
<el-table-column
label="旅客">
<template slot-scope="scope">
<el-tooltip class="item" effect="dark" placement="bottom-start">
<span slot="content" v-for="(guest,index) in scope.row.guestList" :key="guest.name">{{guest.name}}<span v-if="index<scope.row.guestList.length-1"></span></span>
<p style="cursor:pointer">
<span v-for="(guest,index) in scope.row.guestList" :key="guest.name" >
<span v-if="index<3">{{guest.name}}<span v-if="index<scope.row.guestList.length-1"></span> </span></span>
<span v-if="scope.row.guestList.length>2"><span style="text-decoration:underline">{{scope.row.guestList.length}}</span></span>
</p>
</el-tooltip>
</template>
</el-table-column>
<el-table-column width="250px"
label="行程信息">
<template slot-scope="scope">
<p>
行程有效期:{{scope.row.airModel.goFlightTime}} {{scope.row.airModel.goStartHouseTime}}
</p>
<p>
下单时间:{{scope.row.createTime}}
</p>
</template>
</el-table-column>
<el-table-column width="150px"
label="付款信息">
<template slot-scope="scope">
<p>实付金额:¥{{scope.row.preferPrice | priceFormat}}</p>
<p>退款金额:¥{{scope.row.refund | priceFormat}}</p>
</template>
</el-table-column>
<el-table-column
label="状态">
<template slot-scope="scope">
<div style="cursor:pointer">
<p v-if="scope.row.refundStatus!=1">
<span v-if="scope.row.refundStatus==2">退款中</span>
<span v-if="scope.row.refundStatus==3">已退款</span>
</p>
<p v-else>
<span v-if="scope.row.status==1">正常</span>
<span v-if="scope.row.status==2">取消</span>
<span v-if="scope.row.status==3">待付款</span>
</p>
</div>
<p @click="OrderDes(scope.row)" style="color:#DDDDDD;cursor:pointer">订单详情</p>
</template>
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button v-show="scope.row.status==3"
size="mini" style="border:1px solid #EE4454;color:#EE4454"
@click="handlePay(scope.$index, scope.row)">去付款</el-button>
<el-button v-show="scope.row.status==1 && scope.row.refundStatus==1"
size="mini" @click="TuiKuan(scope.$index, scope.row)" type="primary">退款</el-button>
</template>
</ul>
<!-- 表格 -->
<NewTKtable v-loading="orderLoading" :tableData="tableData"/>
<div class="empty-data" v-if="tableData.length<1">
<i class="iconfont icon-kong"></i>
很抱歉,你想要的信息我们真的找不到了
</div>
<!-- 分页 -->
<el-row class="_pagination" v-if="tableData.length>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>
</el-table-column>
</el-table>
<el-row class="_pagination" v-if="totalCount > 1">
<el-pagination
:page-size="form.pageSize"
layout="total, prev, pager, next"
:total="totalCount"
@current-change="handleCurrentChange"
></el-pagination>
</el-row>
</div>
</template>
<script>
import NewTKtable from "./OrderInfoModel/NewTKtable";
export default {
components: {
NewTKtable: NewTKtable
},
data() {
data () {
return {
activeName: -1,
currentPage: 1,
orderLoading: false,
totalCount: 1,
Count: 1,
WaitDealOrderPageList: "",
getOrderMsg: {
pageIndex: 1,
pageSize: 10,
orderType: 4,
queryDays: 0,
orderState: -1,
CustomerId: ""
},
TitList: [
{
Type: "全部",
ID: -1
},
{
Type: "待付定金",
ID: 1
},
{
Type: "待付尾款",
ID: 2
totalCount:0,
provideItem:[],
tableData:[],
form:{
id:'',
status:0,
startTime:'',
endTime:'',
pageIndex:1,
pageSize:10,
time:[],
},
{
Type: "待发团",
ID: 3
},
{
Type: "交易完成",
ID: 4
},
{
Type: "取消",
ID: 5
}
// {
// val: 6,
// lable: '等待商家确认'
// },
// {
// val: 7,
// lable: '退款中'
// },
// {
// val: 8,
// lable: '退款成功'
// },
// {
// val: 9,
// lable: '交易完成'
// },
],
tableData: []
};
loading:false,
}
},
computed: {},
created() {},
mounted() {
let userInfo = localStorage.userInfo
? JSON.parse(localStorage.userInfo)
: "";
this.getOrderMsg.CustomerId = userInfo.customerId;
this.gerOrderList();
this.b2b_get_GetWaitDealOrderPageList();
this.List();
},
methods: {
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
);
handleCurrentChange(val){
this.form.pageIndex=val;
this.List();
},
gerOrderList: function() {
this.orderLoading = true;
this.apiJavaPost(
"/api/b2b/user/getrecentorder",
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
);
// 退款
TuiKuan(index,row){
this.$confirm('是否申请退款?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.apiJavaPost('/api/dmc/airticket/SetB2BAirtickOrderApplyForRefund',{AirOrderId:row.id},res=>{
if(res.data.resultCode==1){
this.$message.success("请求成功!")
this.List();
let msg={
AirOrderId:row.id,
MsgType:Refund
}
// 推送接口
this.apipost("airline_get_GetB2BAirLineList",msg,
res => {
// console.log(res)
},
err => {
}
);
}else{
this.Error(res.data.message);
}
},null)
})
},
handleClick(item) {
this.activeName = item.ID;
this.getOrderMsg.orderState = item.ID;
this.gerOrderList();
OrderDes(item){
this.$router.push({
path: `/OrderDetails/${item.id}`
})
},
getRowClass({ row, column, rowIndex, columnIndex }) {
if (rowIndex == 0) {
return 'background:#dddddd'
} else {
return ''
}
},
ChangeStatus(num){
this.form.status=num;
this.List();
},
handlePay(index,row){
// console.log("row",row)
this.$router.push({
name: "Pay",
query: {
id: row.id,
}
});
},
Currentchange(val){
this.form.pageIndex=val;
this.List();
},
handleEdit(index,row){
// console.log("row",row)
this.$router.push({
path: `/EditTicketOrder/${row.id}`
})
},
List(){
this.loading=true;
// console.log(this.form)
if(this.form.time){
this.form.startTime=this.form.time[0];
this.form.endTime=this.form.time[1];
}else{
this.form.time=[];
this.form.startTime="";
this.form.endTime="";
}
this.apiJavaPost('/api/dmc/airticket/GetB2BAirtickOrderPageList',this.form,res=>{
// console.log(res);
this.loading=false;
if(res.data.resultCode==1){
this.tableData=res.data.data.pageData;
this.totalCount=res.data.data.count;
}else{
this.Error(res.data.message);
}
},null)
},
handleCurrentChange(val) {
// 翻页
this.getOrderMsg.pageIndex = parseInt(val);
this.gerOrderList();
}
}
};
}
</script>
<style>
.CustomizedList .el-table td, .el-table th{
font-size: 12px;
}
.CustomizedList .changestatus{
padding-bottom: 10px;
box-sizing: border-box;
}
.CustomizedList .changestatus .span_active{
border:1px solid #EE4454;
color: #EE4454;
}
.CustomizedList .changestatus span{
display: inline-block;
width:97px;
height:34px;
font-size: 12px;
line-height: 34px;
text-align: center;
margin:0 6px;
background:rgba(255,255,255,1);
border:1px solid #DDDDDD;
cursor: pointer;
}
.CustomizedList ._pagination{
height: 45px;
background-color: #EBEBEB;
display: flex;
align-items: center;
justify-content: flex-end;
}
.CustomizedList .el-pagination .btn-next,.CustomizedList .el-pagination .btn-prev{
width:40px !important;
height:20px !important;
border:1px solid rgba(238,68,84,1);
border-radius:10px;
color: #f56c6c;
}
.CustomizedList .el-form-item{
display: inline-block;
}
.CustomizedList .el-pagination{
display: flex;
align-items: center;
}
.CustomizedList .el-pager li{
background: transparent;
font-weight: initial;
}
.CustomizedList .el-pager li:hover{
color: #f56c6c;
}
.CustomizedList .el-pager li.active{
color: #f56c6c;
}
.CustomizedList ._row_2{
overflow: hidden;
text-overflow: ellipsis;
-webkit-line-clamp: 2;
word-break: break-all;
display: -webkit-box;
-webkit-box-orient: vertical;
}
</style>
......@@ -120,8 +120,9 @@ Vue.filter('priceFormat', function (value) {
}
else if(value<1){
return value;
}else{
let nStr = value.toFixed(0)
}
else{
let nStr = Number(value).toFixed(0)
nStr += '';
let x = nStr.split('.');
let x1 = x[0];
......
......@@ -24,7 +24,7 @@
</div>
<p>账号或密码错误,请重新输入</p>
</div>
<div v-if="!activeShow&&type==1">
<div style="width:88%" 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()"
......
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