Commit 40708075 authored by 华国豪's avatar 华国豪 🙄

团订单优惠券使用

parent 9b617741
......@@ -249,10 +249,12 @@
color: #666666;
}
.OrderInvoice ._buttom{
margin: 60px 0 100px 0;
/* margin: 60px 0 100px 0; */
text-align: right;
}
.OrderInvoice ._buttom button {
border-radius: 0;
width: 100px;
background-color: #E95252;
border-color: #E95252;
}
\ No newline at end of file
.PsMyCoupon p{
margin: 0;
}
.PsMyCoupon ._content table{
width: 100%;
}
......@@ -8,7 +11,7 @@
border-bottom: 1px solid #E6E6E6;
}
.PsMyCoupon ._el_tab{
margin: 20px 0 0 0;
margin: 20px 0 0 0;
}
.PsMyCoupon ._el_tab ul{
padding: 0;
......@@ -52,9 +55,115 @@
.PsMyCoupon ._el_tab_2 ul li.active{
color: #E73828;
}
._content_item{
.PsMyCoupon ._content_item{
display: flex;
flex-wrap: wrap;
}
._content_item ._item{
.PsMyCoupon ._content_item ._item{
width: 220px;
position: relative;
transition: all linear .5s;
overflow: hidden;
margin: 5px 4px;
}
.PsMyCoupon ._content_item ._item:hover{
box-shadow: 0px 1px 13px 0px rgb(189, 189, 189);
}
.PsMyCoupon ._content_item ._top{
background-color: #F1BC69;
}
.PsMyCoupon ._content_item ._top ._time{
color: #A7711C;
}
.PsMyCoupon ._content_item ._top._blue{
background-color: #8794E2;
}
.PsMyCoupon ._content_item ._top._blue ._time{
color: #4C58A4;
}
.PsMyCoupon ._content_item div._top._gray{
background-color: #C3C3C3 !important;
}
.PsMyCoupon ._content_item div._top._gray ._overdue,.PsMyCoupon ._content_item div._top._gray ._info_bottom{
display: none
}
.PsMyCoupon ._content_item div._top._gray ._info_sale{
color: #FFFFFF !important;
}
.PsMyCoupon ._content_item div._top._gray ._time{
color: #777777 !important;
}
.PsMyCoupon ._top_raduis{
display: flex;
justify-content: space-between;
}
.PsMyCoupon ._top_raduis span{
display: inline-block;
width: 8px;
height: 8px;
margin: 3px;
border-radius: 50%;
background-color: white;
margin-top: -4px;
}
.PsMyCoupon ._item ._top ._overdue{
background-color: #E9F026;
color: #666666;
padding: 4px 6px;
position: absolute;
left: 0;
top: 0;
font-size: 12px;
}
.PsMyCoupon ._item ._top ._info_details{
padding: 15px 10px;
}
.PsMyCoupon ._item ._top ._info_details ._info_sale{
font-size: 30px;
color: white;
}
.PsMyCoupon ._item ._top ._info_details ._info_sale span{
font-size: 20px;
color: white;
}
.PsMyCoupon ._item ._top ._info_details ._info_full{
color: #FFFFFF;
font-size: 12px;
padding: 5px 0;
}
.PsMyCoupon ._item ._top ._info_details ._info_time{
font-size: 12px;
}
.PsMyCoupon ._item ._top ._info_details ._info_bottom{
padding: 1px 5px;
color: #A7711C;
font-size: 12px;
position: absolute;
border: 1px solid #A7711C;
border-radius: 4px;
right: 13px;
top: 24px;
cursor: pointer;
}
.PsMyCoupon ._item ._bottom{
padding: 15px 10px 0 10px;
background-color: #F9F9F9;
}
.PsMyCoupon ._item ._bottom p{
font-size: 12px;
color: #333333;
font-weight: bold;
margin-bottom: 13px;
}
.PsMyCoupon ._item ._bottom p._bottom_info{
color: #666666;
font-weight: 300;
}
.PsMyCoupon p._info_coupon_name{
font-size: 18px !important;
max-width: 140px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: white;
}
\ No newline at end of file
<style>
@import "../../assets/mall/PsMyCoupon.css";
</style>
<template>
......@@ -7,29 +8,74 @@
<el-col :span="20" :offset="2" class="_content">
<el-row class="_el_tab">
<ul>
<li :class="active==0?'active':''" @click="active=0,getList(),resetPageIndex()">跟团游</li>
<li :class="active==1?'active':''" @click="active=1,getList(),resetPageIndex()">机票</li>
<li :class="active==2?'active':''" @click="active=2,getList(),resetPageIndex()">签证</li>
<li :class="active==0?'active':''" @click="active=0, msg.couponsUseScope = 2, getList(), resetPageIndex()">跟团游</li>
<li :class="active==1?'active':''" @click="active=1, msg.couponsUseScope = 4, getList(), resetPageIndex()">机票</li>
<li :class="active==2?'active':''" @click="active=2, msg.couponsUseScope = 3, getList(), resetPageIndex()">签证</li>
</ul>
</el-row>
<el-row class="_el_tab_2">
<ul>
<li :class="activeSub==0?'active':''" @click="activeSub=0,getList(),resetPageIndex()">全部</li>
<li :class="activeSub==1?'active':''" @click="activeSub=1,getList(),resetPageIndex()">折扣券</li>
<li :class="activeSub==2?'active':''" @click="activeSub=2,getList(),resetPageIndex()">抵扣券</li>
<li :class="activeSub==0?'active':''" @click="activeSub=0, msg.couponsType = 0, msg.couponEffectStatus = 1, getList(), resetPageIndex()">全部</li>
<li :class="activeSub==1?'active':''" @click="activeSub=1, msg.couponsType = 2, msg.couponEffectStatus = 1, getList(), resetPageIndex()">折扣券</li>
<li :class="activeSub==2?'active':''" @click="activeSub=2, msg.couponsType = 1, msg.couponEffectStatus = 1, getList(), resetPageIndex()">抵扣券</li>
<li :class="activeSub==3?'active':''" @click="activeSub=3, msg.couponEffectStatus = 3, getList(), resetPageIndex()">已过期</li>
<!-- <li :class="activeSub==3?'active':''" @click="active=0,getList(),resetPageIndex()">即将过期</li> -->
</ul>
</el-row>
<el-row class="_table_box" v-loading='dateLoading'>
<div v-if="dtaaList.length>0" class="_content_item">
<div class="_item">
<el-row class="_table_box" v-loading='dataLoading'>
<div v-if="dataList.length>0" class="_content_item">
<div class="_item" v-for="(item, index) in dataList">
<div class="_top" :class="{'_blue':item.couponsType===1,'_gray':item.couponEffectStatus===3,}">
<div class="_top_raduis">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
<div class="_overdue" v-if="item.warning">
即将过期
</div>
<div class="_info_details">
<p class="_info_coupon_name" :title="item.couponsName">{{item.couponsName}}</p>
<p class="_info_sale" v-if="item.couponsType !== 1">{{item.denomination}}<span></span></p>
<p class="_info_sale" v-else><span></span>{{item.denomination}}</p>
<p class="_info_full">{{item.useCondition}}可用</p>
<p class="_info_time _time">有效时间:{{item.effectDate | YMD}}-{{item.expirationDate | YMD}}</p>
<p class="_info_bottom">去使用</p>
</div>
</div>
<div class="_bottom">
<p class="_bottom_tit">可用线路及系列</p>
<p class="_bottom_info">{{item.lineName === '' ? '不限' : item.lineName}}-{{item.lineTeamName === '' ? '不限' : item.lineTeamName}}</p>
<p class="_bottom_tit">优惠券来源</p>
<p class="_bottom_info">{{item.accessType === 1 ? '抽奖活动' : '其他'}}</p>
</div>
</div>
</div>
<div class="empty-data" v-else>
<i class="iconfont icon-kong"></i>
很抱歉,你想要的信息我们真的找不到了
</div>
<div class="item-pager" v-if="dataList.length">
<el-pagination
background
layout="prev, pager, next, jumper"
:total="totalCount"
:page-size='pageSize'
@current-change='handleCurrentChange'>
</el-pagination>
</div>
</el-row>
</el-col>
</el-row>
......@@ -47,7 +93,7 @@ export default {
pageSize: 1,
msg:{
pageIndex: 1,
pageSize: 10,
pageSize: 14,
useState: 1,
lineId: 0,
lineteamId: 0,
......@@ -55,10 +101,10 @@ export default {
couponsType: '',
couponStatus: 1,
couponEffectStatus: 1,
couponsUseScope: 1,
couponsUseScope: 2,
},
dtaaList: [],
dateLoading: true,
dataList: [{a:1}],
dataLoading: false,
LineList: [],
QLineTeamList: [],
LineTeamList: [],
......@@ -72,25 +118,31 @@ export default {
},
mounted() {
this.getList();
this.getLineList();
// this.getLineList();
},
methods: {
getList(){ // 获取数据
this.dateLoading = true;
this.dataLoading = true;
this.msg.orderType = this.active;
this.apipost('b2b_get_GetMyOrderPageList',this.msg,r=>{
if(r.data.resultCode==1){
let data = r.data.data.pageData;
this.totalCount = r.data.data.pageCount;
data.forEach(x => {
x.createDate = x.createDate.replace('T',' ')
this.apiJavaPost('/api/b2b/user/getUserCouponAllotList',this.msg,res=>{
console.log(res);
let nowTime = this.getNowDate()
if(res.data.resultCode==1){
let data = res.data.data.pageData;
data.forEach((x, i) => {
let cha = this.DateDiff(nowTime, x.expirationDate)
if (cha<3) {
x.warning = true
} else {
x.warning = false
}
});
this.MyOrderPageList = data;
this.dateLoading = false;
this.dataList = data;
this.totalCount=res.data.data.pageCount;
}else{
this.$message.error(r.data.message);
this.dateLoading = false;
this.Error(res.data.message);
}
this.dataLoading = false;
},null)
},
//获取线路列表
......
<style>
@import url('../../../assets/trip/trade/index.css');
._coupon_box{
border-bottom: 1px dashed #E5E5E5;
}
._no_coupon{
}
._pay_info{
margin: 20px 0 0 0;
padding: 10px 15px;
float: right;
text-align: right;
width: 300px;
border:1px solid rgba(233,82,82,1);
}
._pay_info ._money{
display: inline-block;
min-width: 85px;
}
.yuding ._font_bold{
font-weight: bold
}
.clearfix ._pay_info p{
margin: 5px 0;
}
.yuding ._pay_money ._pay_num{
color: #E95252;
font-size: 24px;
}
.yuding ._pay_money ._yang{
color: #AAAAAA;
font-size: 24px;
}
._coupon_box{
display: flex;
flex-wrap: wrap;
}
._coupon_box ._coupon_item{
width: 245px;
padding: 12px 20px 12px 25px;
margin:0 26px 20px 0;
position: relative;
background-color: #F1BC69;
cursor: pointer;
}
._coupon_box ._coupon_item ._coupon_info p{
color: #FFFFFF;
}
._coupon_box ._coupon_item:hover{
background-color: #D9A24D;
}
._coupon_box ._coupon_item.blue{
background-color: #8794E2;
}
._coupon_box ._coupon_item.blue:hover{
background-color: #6776D2;
}
._coupon_box ._coupon_item.blue ._time{
color: #4C58A4 !important;
}
._coupon_box ._coupon_item._active{
background-color: #D9A24D;
}
._coupon_box ._coupon_item.blue._active{
background-color: #6776D2;
}
._coupon_box ._coupon_item ._time{
color: #A7711C !important;
}
._coupon_box ._coupon_item ._left_raduis span{
display: inline-block;
width: 8px;
height: 8px;
margin: 2px 3px;
border-radius: 50%;
background-color: white;
}
._left_raduis{
width: 15px;
position: absolute;
left: -7px;
top: 0;
}
._coupon_box ._coupon_item ._coupon_info p{
font-size: 16px !important;
margin: 0
}
._coupon_box ._coupon_item ._coupon_info p._coupon_name{
font-size: 18px !important;
margin-bottom: 10px;
max-width: 190px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap
}
._coupon_box ._coupon_item ._coupon_info p span._sale{
font-size: 24px;
}
._coupon_box ._coupon_item ._coupon_info p._repeat{
padding: 0 5px;
color: #7C6F01;
position: absolute;
top: 12px;
right: 20px;
background-color: #FFE71B;
font-size: 12px !important;
}
._coupon_box ._coupon_item ._coupon_info ._info_full {
color: #FFFFFF;
font-size: 12px;
padding: 5px 0;
}
._coupon_box ._coupon_item ._coupon_info ._info_time {
font-size: 12px !important;
}
._choice_box{
height: 19px;
position: absolute;
right: 20px;
bottom: 14px;
}
._choice_box span{
width: 16px;
height: 16px;
border-radius: 50%;
line-height: 16px;
text-align: center;
background-color: white;
display: inline-block;
font-size: 12px !important;
}
.icon-xuanzhong2{
color: #31AA21;
}
._no_coupon{
width: 100%;
margin: 0 !important;
color: gray !important;
}
</style>
<template>
<div class="trade" v-loading="loadingDataList">
......@@ -108,8 +246,8 @@
<el-input-number :min="0" @change="peopleMax(3)" :max='sumSeat-chosenObj.etCount-chosenObj.crCount' v-model="chosenObj.lrCount" size="small"></el-input-number>
</el-col> -->
<el-col :span='4' class="right-btn">
<span class="sumPrice" v-if='chosenObj.startDate && chosenObj.startDate!=""'><small></small>{{price}}</span>
<span class="sumPrice" v-if='!chosenObj.startDate || chosenObj.startDate==""'>--</span>
<!-- <span class="sumPrice" v-if='chosenObj.startDate && chosenObj.startDate!=""'><small>¥</small>{{price}}</span>
<span class="sumPrice" v-if='!chosenObj.startDate || chosenObj.startDate==""'>--</span> -->
<!-- <el-button type="danger" size="small" @click="saveOrder" :loading="isCommit">
开始预订
</el-button> -->
......@@ -129,93 +267,127 @@
<div v-if="zaoniao>0">恭喜你成功领取到早鸟优惠,优惠金额为:¥<span class="red" style='font-size:18px'>{{zaoniao}}</span></div>
<p>备注</p>
<div>
<el-input v-model="chosenObj.remark" placeholder="你可以在此处输入需要备注的信息" rows="3" type='textarea' :autosize='{minRows:3,maxRows:30}'></el-input>
<el-input v-model="Remarks" placeholder="你可以在此处输入需要备注的信息" rows="3" type='textarea' :autosize='{minRows:3,maxRows:30}'></el-input>
</div>
</el-col>
<el-col class="_trip_xiangqing">
<p>优惠券</p>
<el-select v-model="value8" filterable placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-col class="_trip_xiangqing _coupon_box">
<p style="width:100%">优惠券</p>
<div v-if="UserCanUseCouponList.length>0" class="_coupon_box">
<div class="_coupon_item" v-for="(item, index) in UserCanUseCouponList" :class="{'blue':item.couponsType===1,'_active':item.active}" @click="clickCoupon(item)">
<div class="_left_raduis">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
<div class="_coupon_info">
<p class="_coupon_name" :title="item.couponName">{{item.couponName}}</p>
<p v-if="item.couponsType===1"><span class="_sale">{{item.denomination}}</span></p>
<p v-else><span class="_sale">{{item.denomination}}</span></p>
<p class="_info_full">满{{item.useCondition}}可用</p>
<p class="_info_time _time">有效时间:{{item.effectDate | YMD}}-{{item.expirationDate | YMD}}</p>
<p class="_repeat" v-if="item.overlapUse === 1">可叠加</p>
<div class="_choice_box">
<span v-if="!item.active"></span>
<span v-else class="iconfont icon-xuanzhong2"></span>
</div>
</div>
</div>
</div>
<div v-else class="_no_coupon">
<p>暂无可用优惠券</p>
</div>
</el-col>
<el-col>
<div class="clearfix">
<div class="_pay_info">
<p>小计:<span class="_money">¥{{moneyFormat(price)}}</span></p>
<p>优惠:<span class="_money _font_bold">-¥{{moneyFormat(price-SettlementPrice)}}</span></p>
<p class="_font_bold _pay_money">实付款:<span class="_yang"></span><span class="_pay_num">{{moneyFormat(SettlementPrice)}}</span></p>
</div>
</div>
</el-col>
<el-col>
<div class="_buttom">
<el-button type="primary" size="mini" @click="saveOrder">确认订单</el-button>
</div>
</el-col>
</el-row>
<div class="no-login" v-if="!this.customer">
需要你登录以后才能预定哦!登录后还能享受更加优惠的价格,<span class="link" @click="goLogin">立即登录吧</span>
</div>
</div>
<div class="_invoice">
<p>发票信息</p>
<div class="_is_invoice">
<span>是否需要发票</span>
<el-radio v-model="radio" label="1"></el-radio>
<el-radio v-model="radio" label="2"></el-radio>
</div>
<div class="_invoice_type" v-if="radio=='1'">
<span :class="type==1?'_active':''" @click="type=1">电子发票</span>
<span :class="type==2?'_active':''" @click="type=2">纸质发票</span>
</div>
<div class="_invoice_type_1" v-if="radio=='1'">
<div>
<span>发票抬头</span>
<el-input class="w100" size="mini" placeholder="企业" v-model="input10" clearable></el-input>
<el-input class="w300" size="mini" placeholder="请输入企业名称" v-model="input10" clearable></el-input>
<!-- <div class="_invoice">
<p>发票信息</p>
<div class="_is_invoice">
<span>是否需要发票</span>
<el-radio v-model="radio" label="1">是</el-radio>
<el-radio v-model="radio" label="2">否</el-radio>
</div>
<div>
<span>纳税人识别号</span>
<el-input class="w410" size="mini" placeholder="企业" v-model="input10" clearable></el-input>
<div class="_invoice_type" v-if="radio=='1'">
<span :class="type==1?'_active':''" @click="type=1">电子发票</span>
<span :class="type==2?'_active':''" @click="type=2">纸质发票</span>
</div>
<div class="_tips">
<p>
<span class="iconfont icon-tishi"></span>
<span
class="_tips_text"
>按照国税总局公告,自2017年7月1日起,企业索取的增值税普通发票需填写纳税人识别号,不符合规定的发票,不得作为合法税收凭证。</span>
</p>
</div>
<div>
<span>发票明细</span>
<el-input class="w150" size="mini" placeholder="旅游服务费" v-model="input10" clearable></el-input>
<div class="_invoice_type_1" v-if="radio=='1'">
<div>
<span>发票抬头</span>
<el-input class="w100" size="mini" placeholder="企业" v-model="input10" clearable></el-input>
<el-input class="w300" size="mini" placeholder="请输入企业名称" v-model="input10" clearable></el-input>
</div>
<div>
<span>纳税人识别号</span>
<el-input class="w410" size="mini" placeholder="企业" v-model="input10" clearable></el-input>
</div>
<div class="_tips">
<p>
<span class="iconfont icon-tishi"></span>
<span
class="_tips_text"
>按照国税总局公告,自2017年7月1日起,企业索取的增值税普通发票需填写纳税人识别号,不符合规定的发票,不得作为合法税收凭证。</span>
</p>
</div>
<div>
<span>发票明细</span>
<el-input class="w150" size="mini" placeholder="旅游服务费" v-model="input10" clearable></el-input>
</div>
</div>
</div>
<div class="_tips" v-if="radio=='1'">
<p>*您的发票将于返程后5个工作日开具并邮寄给您,请注意查收。</p>
<p>*本发票金额仅包含非保险部分,保险可至“我的携程-旅游度假订单”开具增值税电子发票。</p>
</div>
<div class="_ems" v-if="type==2&&radio=='1'">
<div>
<span>
快递
<span class="hgh_font_color_org">¥10</span>
</span>
<div class="_tips" v-if="radio=='1'">
<p>*您的发票将于返程后5个工作日开具并邮寄给您,请注意查收。</p>
<p>*本发票金额仅包含非保险部分,保险可至“我的携程-旅游度假订单”开具增值税电子发票。</p>
</div>
<div class="_addr">
<p>选择常用地址</p>
<ul class="clearfix">
<li
class="_addr_item"
:class="addId==1?'_active':''"
@click="addId==1?addId=2:addId=1"
>
<p class="_n">{{CustomerInfo.customerName}}</p>
<p class="_a">{{CustomerInfo.address}}</p>
<span v-show="addId==1" class="el-icon-check"></span>
</li>
<li class="_add_addr">
<p class="el-icon-plus"></p>
<p>新增地址</p>
</li>
</ul>
<div class="_ems" v-if="type==2&&radio=='1'">
<div>
<span>
快递
<span class="hgh_font_color_org">¥10</span>
</span>
</div>
<div class="_addr">
<p>选择常用地址</p>
<ul class="clearfix">
<li
class="_addr_item"
:class="addId==1?'_active':''"
@click="addId==1?addId=2:addId=1"
>
<p class="_n">{{CustomerInfo.customerName}}</p>
<p class="_a">{{CustomerInfo.address}}</p>
<span v-show="addId==1" class="el-icon-check"></span>
</li>
<li class="_add_addr">
<p class="el-icon-plus"></p>
<p>新增地址</p>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="_buttom">
<el-button type="primary" size="mini" @click>确认订单</el-button>
</div>
</div> -->
</div>
</template>
......@@ -303,7 +475,9 @@ export default {
},
remark:''
},
Remarks: '',
price:0,
SettlementPrice: 0,
priceFlight:{},
unicos:[],
customer:{},
......@@ -315,6 +489,9 @@ export default {
pre: 0,
loadingDataList: false,
CustomerInfo: {},
UserCanUseCouponList: [],
CouponList: [],
CouponIds: '',
}
},
watch: {
......@@ -324,6 +501,15 @@ export default {
},
deep:true
},
price:{
handler(n, o){
// console.log('wachchch',n)
if (n!==o && this.CouponList.length>0 ) {
this.filterCoupon()
}
},
deep: true
}
},
mounted () {
this.getProvince()
......@@ -335,382 +521,486 @@ export default {
this.chosenObj.etzc = this.numPeople.etzc
this.chosenObj.lrCount = this.numPeople.lrCount
this.chosenObj.startDate = this.numPeople.startDate
this.chosenObj.remark = this.numPeople.remark
this.Remarks = this.numPeople.remark
this.getList(this.numPeople.startDate)
},
methods: {
goLogin(){
this.$router.push({ path:'/login?type=1',query:{path:this.$route.name,id:encodeURIComponent(this.$route.params.id)} })
},
outGetTripDate(tripDate){
this.chosenObj.startDate=tripDate
this.changeStartDate()
},
changeStartDate(t){
if(this.chosenObj.startDate&&this.chosenObj.startDate!=''){
this.priceList.forEach((x, i)=>{
if(x.startDate==this.chosenObj.startDate){
this.priceFlight=x
let msg = {configId:this.priceList[i].configIDDes, cityId:this.city, preview:this.pre, tcid:this.priceList[i].tcid}
this.getDataT(msg, 2)
this.getUnicos(this.priceList[i].tcid)
}
})
}
},
calcMoney(){
if(!this.trip) return
this.chosenObj.etCount = this.chosenObj.etbzcCount + this.chosenObj.etzc
if(!this.trip.currentPriceInfo.b2BMemberPrice){
this.priceList.forEach(x=>{
if(x.startDate==this.chosenObj.startDate){
this.priceFlight=x
}
})
}
let money=this.trip.currentPriceInfo.b2BMemberPrice*this.chosenObj.crCount
money+=this.trip.currentPriceInfo.b2BMemberPrice*this.chosenObj.etCount
money+=this.trip.currentPriceInfo.babyChargePrice*this.chosenObj.etCount
money+=this.trip.currentPriceInfo.childNeedPrice*this.chosenObj.etzc
if(this.chosenObj.etbzcCount>0)
money-=this.trip.currentPriceInfo.childNoNeedPrice*this.chosenObj.etbzcCount
money+=this.trip.currentPriceInfo.b2BMemberPrice*this.chosenObj.lrCount
money+=this.trip.currentPriceInfo.oldManChargePrice*this.chosenObj.lrCount
money+=this.trip.currentPriceInfo.babyPrice*this.chosenObj.yeCount
money+=this.trip.currentPriceInfo.singleRoomPrice*this.chosenObj.df
let sumCount=this.chosenObj.crCount+this.chosenObj.etCount+this.chosenObj.lrCount
money+=this.trip.currentPriceInfo.visaPrice*sumCount
money+=this.trip.currentPriceInfo.otherPrice*sumCount
if(this.trip.currentPriceInfo.discountPric && this.trip.currentPriceInfo.discountPric>0){
this.zaoniao=this.trip.currentPriceInfo.discountPrice*sumCount
}
money-=this.zaoniao
this.price=money
//unicoArr
//unicoDep
if(this.chosenObj.unicoDep.city && this.chosenObj.unicoDep.date){
this.apipost('sellorder_get_GetUnionTravelPrice',{
TCID:this.trip.currentPriceInfo.tcid,
StartCityId:this.chosenObj.unicoDep.city[this.chosenObj.unicoDep.city.length-1],
Type:1,
CityTime:this.chosenObj.unicoDep.date,
OrderId:0
},r=>{
this.chosenObj.unicoDep.isSup=r.data.data.IsUnion
this.chosenObj.unicoDep.price=r.data.data.Price
money+=r.data.data.Price*sumCount
this.price=money
})
}else{
this.chosenObj.unicoDep.isSup=-2
}
if(this.chosenObj.unicoArr.city && this.chosenObj.unicoArr.date){
this.apipost('sellorder_get_GetUnionTravelPrice',{
TCID:this.trip.currentPriceInfo.tcid,
StartCityId:this.chosenObj.unicoArr.city[this.chosenObj.unicoArr.city.length-1],
Type:1,
CityTime:this.chosenObj.unicoArr.date,
OrderId:0
},r=>{
this.chosenObj.unicoArr.isSup=r.data.data.IsUnion
this.chosenObj.unicoArr.price=r.data.data.Price
money+=r.data.data.Price*sumCount
this.price=money
})
}else{
this.chosenObj.unicoArr.isSup=-2
}
this.$forceUpdate()
},
saveOrder(){
if(!this.customer){
return this.$message.error('请登录!')
}
if(this.chosenObj.startDate==''){
this.Error("请选择团期")
return false
}
this.isCommit=true
let sumSeat=this.chosenObj.crCount+this.chosenObj.etCount+this.chosenObj.lrCount
if(sumSeat==0){
this.Error("请填写报名人数")
this.isCommit=false
return false
}
let youhuiMoney=0
this.trip.lineTeamDiscountList.forEach(x=>{
if(x.startNum<=sumSeat&&sumSeat<=x.endNum){
youhuiMoney=x.discountAmount
return false
}
clickCoupon: function (item) {
let list = [];
if (!item.active) { // 是否选中
if (item.overlapUse === 1) { // 1允许叠加使用
this.CouponList.forEach(x=>{
if (x.overlapUse === 1 && x.couponsType === item.couponsType) { // 优惠券列表筛选出允许叠加并且type相同的
list.push(x)
}
})
let y=0,f=0,c=0,fcnt=0
if(sumSeat>this.trip.currentPriceInfo.surplusYSeat){
y=this.trip.currentPriceInfo.surplusYSeat
sumSeat=this.prictrip.currentPriceInfoeFlight.surplusYSeat-sumSeat
}else{
y=sumSeat
sumSeat=0
}
if(sumSeat>0){
if(sumSeat>this.trip.currentPriceInfo.surplusFSeat){
f=this.trip.currentPriceInfo.surplusFSeat
sumSeat=this.trip.currentPriceInfo.surplusFSeat-sumSeat
}else{
f=sumSeat
sumSeat=0
}
}
if(sumSeat>0){
if(sumSeat>this.trip.currentPriceInfo.surplusYSeat){
c=this.trip.currentPriceInfo.surplusYSeat
sumSeat=this.trip.currentPriceInfo.surplusYSeat-sumSeat
}else{
c=sumSeat
sumSeat=0
}
item.active = !item.active
this.UserCanUseCouponList = list
} else { // 不允许叠加使用
this.CouponList.forEach(x=>{ // 筛选掉其他
if (x.id === item.id) {
list.push(x)
}
})
item.active = !item.active
this.UserCanUseCouponList = list
}
} else {
item.active = !item.active
if (this.UserCanUseCouponList.length===1) { // 取消优惠券选中状态 之前直选择了一个优惠券
this.UserCanUseCouponList = this.CouponList
} else { //... 之前选择了多个优惠券 循环判断是否已全部取消
let num = 0
this.UserCanUseCouponList.forEach(x=>{
if (x.active)
num +=1
})
if (num===0) {
this.CouponList.forEach(x=>{
x.active = false
})
this.UserCanUseCouponList = this.CouponList
}
let sumFang=this.chosenObj.crCount+this.chosenObj.etzc+this.chosenObj.lrCount
sumFang=sumFang-this.chosenObj.df-(this.chosenObj.dcf*2)-(this.chosenObj.srf*3)
if(sumFang>0){
fcnt=parseFloat(sumFang)/2.0+this.chosenObj.dcf+this.chosenObj.df+this.chosenObj.srf
}
}
if (this.UserCanUseCouponList.length>1) {
let CouponIds = ''
let CouponMoney = 0
let CouponSale = 1
let type = 0
this.UserCanUseCouponList.forEach(x=>{
if (x.active) {
type = x.couponsType
CouponIds = CouponIds + x.id + ','
if (x.couponsType === 1) {
CouponMoney = CouponMoney + x.denomination
} else {
CouponSale = CouponSale * (x.denomination/10)
}
}
fcnt+=this.chosenObj.dcf+this.chosenObj.df+this.chosenObj.srf
})
this.CouponIds = CouponIds
if (type === 1) {
this.SettlementPrice = this.price - CouponMoney
} else if (type === 2) {
this.SettlementPrice = this.price * CouponSale
} else if (type === 0) {
this.SettlementPrice = this.price
}
} else {
this.SettlementPrice = this.price
}
},
goLogin(){
this.$router.push({ path:'/login?type=1',query:{path:this.$route.name,id:encodeURIComponent(this.$route.params.id)} })
},
outGetTripDate(tripDate){
this.chosenObj.startDate=tripDate
this.changeStartDate()
},
changeStartDate(t){
if(this.chosenObj.startDate&&this.chosenObj.startDate!=''){
this.priceList.forEach((x, i)=>{
if(x.startDate==this.chosenObj.startDate){
this.priceFlight=x
let msg = {configId:this.priceList[i].configIDDes, cityId:this.city, preview:this.pre, tcid:this.priceList[i].tcid}
this.getDataT(msg, 2)
this.getUnicos(this.priceList[i].tcid)
}
})
}
},
calcMoney(){
if(!this.trip) return
this.chosenObj.etCount = this.chosenObj.etbzcCount + this.chosenObj.etzc
if(!this.trip.currentPriceInfo.b2BMemberPrice){
this.priceList.forEach(x=>{
if(x.startDate==this.chosenObj.startDate){
this.priceFlight=x
}
})
}
let money=this.trip.currentPriceInfo.b2BMemberPrice*this.chosenObj.crCount
money+=this.trip.currentPriceInfo.b2BMemberPrice*this.chosenObj.etCount
money+=this.trip.currentPriceInfo.babyChargePrice*this.chosenObj.etCount
money+=this.trip.currentPriceInfo.childNeedPrice*this.chosenObj.etzc
if(this.chosenObj.etbzcCount>0)
money-=this.trip.currentPriceInfo.childNoNeedPrice*this.chosenObj.etbzcCount
let msg={
OrderId:0,
TCID:this.trip.currentPriceInfo.tcid,
CustomerType:this.customer.gradeLevel,
GroupType:1,
ContactName:this.customer.customerName,
ContactMobile:this.customer.contactNumber,
CustomerId:this.customer.customerId,
DepartureCityId:this.chosenObj.unicoDep.city&&this.chosenObj.unicoDep.city.length>0?this.chosenObj.unicoDep.city[this.chosenObj.unicoDep.city.length-1]:this.trip.startCityId,
IsIntermodal:(this.chosenObj.unicoDep.city&&this.chosenObj.unicoDep.city.length>0&&this.chosenObj.unicoDep.date)?1:2,
Unit_Price:this.trip.currentPriceInfo.b2BMemberPrice,
TC_Price:this.trip.currentPriceInfo.b2BMemberPrice,
ManNum:this.chosenObj.crCount,
ChirdNum:this.chosenObj.etCount,
ChirdNeedBedNum:this.chosenObj.etzc,
BabyNum:this.chosenObj.yeCount,
OldPeopleNum:this.chosenObj.lrCount,
SingleRoomNum:this.chosenObj.df,
PreferPrice:this.price,
YSeatNum:y,
ESeatNum:f,
FSeatNum:c,
Commission:((parseFloat(youhuiMoney)/2.0)+(parseFloat(this.price)*0.01)).toFixed(2),//todo 提成
ClientSource:2,
BrandId:0,
TradeWay:0,
PlatformOrder:'',
GuestNum:this.chosenObj.crCount+this.chosenObj.etCount+this.chosenObj.lrCount,
IsChildrenTour:this.trip.currentPriceInfo.isSupportChildren,
IsBirdDiscount:this.zaoniao>0?1:2,
PredictRoomNum:fcnt,
BigRoomNum:this.chosenObj.dcf,
TripleRoomNum:this.chosenObj.srf,
TradeDate:moment().format('YYYY-MM-DD'),
CostType:0,
MinOrderPrice:0,
Remarks:this.chosenObj.remark,
VisaNum:this.chosenObj.crCount+this.chosenObj.etCount+this.chosenObj.lrCount,
SafeNum:this.chosenObj.crCount+this.chosenObj.etCount+this.chosenObj.lrCount,
AirticketNum:0,
ReturnArriveCityId:this.chosenObj.unicoArr.city&&this.chosenObj.unicoArr.city.length>0?this.chosenObj.unicoArr.city[this.chosenObj.unicoArr.city.length-1]:this.trip.returnArriveCityId,
IsReturnIntermodal:(this.chosenObj.unicoArr.city&&this.chosenObj.unicoArr.city.length>0&&this.chosenObj.unicoArr.date)?1:2,
GoCityTime:this.chosenObj.unicoDep.city&&this.chosenObj.unicoDep.city.length>0&&this.chosenObj.unicoDep.date?this.chosenObj.unicoDep.date:'',
BackCityTime:this.chosenObj.unicoArr.city&&this.chosenObj.unicoArr.city.length>0&&this.chosenObj.unicoArr.date?this.chosenObj.unicoArr.date:'',
ScenicRefundArr:[],
CommissionSharePeople:0,
CommissionShareMoney:0,
OrderSource:2
}
this.apipost("sellorder_post_SetOrderInfoForB2B",msg,
res => {
if(res.data.message=='操作成功!'){
this.$router.push({ path:'/PsOrder' })
}else{
this.Error(res.data.message)
}
},
err => {});
},
handleItemChange(val) {
let index=0
this.provinces.forEach((x,i)=>{
if(x.ID==val[0]){
index=i
return false
}
})
let msg = {
Id: val[0]
};
this.apipost(
"b2b_get_GetDestinationGetChildList",
msg,
res => {
res.data.data.forEach(x=>{
this.provinces[index].cities.push({
ID:x.ID,
Name:x.Name
})
})
},
err => {}
);
},
getProvince(val) {
let msg = {
Id: 2
};
this.apipost(
"b2b_get_GetDestinationGetChildList",
msg,
res => {
res.data.data.forEach(x=>{
this.provinces.push({
ID:x.ID,
Name:x.Name,
cities:[]
})
})
},
err => {}
);
},
getUnicos(tcid) {
let msg = {tcid:tcid}
this.apipost(
"b2b_get_GetTeamUnionInfo",
msg,
res => {
this.unicos = res.data.data
},
err => {}
);
},
getB2BSellByCustomerId(){
this.apipost('b2b_get_GetCustomerSummary',{},r=>{
if(r.data.resultCode==1){
this.customer = r.data.data
let msg = {customerId:r.data.data.customerId,lineId:this.trip.lineId}
this.apipost(
"app_customer_GetB2BSellByCustomerId",
msg,
res => {
},
err => {}
);
}else{
this.customer = null
}
},null)
// this.apipost(
// "app_customer_GetB2BSellByCustomerId",
// msg,
// res => {
// this.unicos = res.data.data
// },
// err => {}
// );
},
getList(days) {
this.apipost("b2b_get_site", {}, res => {
let data = res.data.data;
let city = 0;
for (let i = 0; i < data.length; i++) {
if (data[i].companyId == localStorage.site) {
city = data[i].cityId;
this.city = city;
break;
money+=this.trip.currentPriceInfo.b2BMemberPrice*this.chosenObj.lrCount
money+=this.trip.currentPriceInfo.oldManChargePrice*this.chosenObj.lrCount
money+=this.trip.currentPriceInfo.babyPrice*this.chosenObj.yeCount
money+=this.trip.currentPriceInfo.singleRoomPrice*this.chosenObj.df
let sumCount=this.chosenObj.crCount+this.chosenObj.etCount+this.chosenObj.lrCount
money+=this.trip.currentPriceInfo.visaPrice*sumCount
money+=this.trip.currentPriceInfo.otherPrice*sumCount
if(this.trip.currentPriceInfo.discountPric && this.trip.currentPriceInfo.discountPric>0){
this.zaoniao=this.trip.currentPriceInfo.discountPrice*sumCount
}
money-=this.zaoniao
this.price=money
this.SettlementPrice = money
//unicoArr
//unicoDep
if(this.chosenObj.unicoDep.city && this.chosenObj.unicoDep.date){
this.apipost('sellorder_get_GetUnionTravelPrice',{
TCID:this.trip.currentPriceInfo.tcid,
StartCityId:this.chosenObj.unicoDep.city[this.chosenObj.unicoDep.city.length-1],
Type:1,
CityTime:this.chosenObj.unicoDep.date,
OrderId:0
},r=>{
this.chosenObj.unicoDep.isSup=r.data.data.IsUnion
this.chosenObj.unicoDep.price=r.data.data.Price
money+=r.data.data.Price*sumCount
this.price=money
this.SettlementPrice = money
})
}else{
this.chosenObj.unicoDep.isSup=-2
}
if(this.chosenObj.unicoArr.city && this.chosenObj.unicoArr.date){
this.apipost('sellorder_get_GetUnionTravelPrice',{
TCID:this.trip.currentPriceInfo.tcid,
StartCityId:this.chosenObj.unicoArr.city[this.chosenObj.unicoArr.city.length-1],
Type:1,
CityTime:this.chosenObj.unicoArr.date,
OrderId:0
},r=>{
this.chosenObj.unicoArr.isSup=r.data.data.IsUnion
this.chosenObj.unicoArr.price=r.data.data.Price
money+=r.data.data.Price*sumCount
this.price=money
this.SettlementPrice = money
})
}else{
this.chosenObj.unicoArr.isSup=-2
}
this.$forceUpdate()
},
saveOrder(){
if(!this.customer){
return this.$message.error('请登录!')
}
if(this.chosenObj.startDate==''){
this.Error("请选择团期")
return false
}
if (this.SettlementPrice<0) {
return this.Error("金额有误!")
}
this.isCommit=true
let sumSeat=this.chosenObj.crCount+this.chosenObj.etCount+this.chosenObj.lrCount
if(sumSeat==0){
this.Error("请填写报名人数")
this.isCommit=false
return false
}
let youhuiMoney=0
this.trip.lineTeamDiscountList.forEach(x=>{
if(x.startNum<=sumSeat&&sumSeat<=x.endNum){
youhuiMoney=x.discountAmount
return false
}
}
let msg = {
configId: this.ID,
cityId: city,
preview: this.pre,
tcid: this.tcid
};
this.getData(msg, days);
});
},
getData: function(msg, days) {
this.loadingDataList = true;
this.apipost(
"b2b_get_GetB2BTravelInfoV1",
msg,
r => {
if (r.data.resultCode == 1) {
let data = r.data.data;
let priceList = data.priceList;
for ( let i = 0; i < priceList.length; i++) {
if (days===priceList[i].startDate){
let msg = {configId:priceList[i].configIDDes, cityId:this.city, preview:this.pre, tcid:priceList[i].tcid}
this.getDataT(msg)
}
}
} else {
this.$message.error(r.data.message);
})
let y=0,f=0,c=0,fcnt=0
if(sumSeat>this.trip.currentPriceInfo.surplusYSeat){
y=this.trip.currentPriceInfo.surplusYSeat
sumSeat=this.prictrip.currentPriceInfoeFlight.surplusYSeat-sumSeat
}else{
y=sumSeat
sumSeat=0
}
if(sumSeat>0){
if(sumSeat>this.trip.currentPriceInfo.surplusFSeat){
f=this.trip.currentPriceInfo.surplusFSeat
sumSeat=this.trip.currentPriceInfo.surplusFSeat-sumSeat
}else{
f=sumSeat
sumSeat=0
}
this.loadingDataList = false;
},
null
}
if(sumSeat>0){
if(sumSeat>this.trip.currentPriceInfo.surplusYSeat){
c=this.trip.currentPriceInfo.surplusYSeat
sumSeat=this.trip.currentPriceInfo.surplusYSeat-sumSeat
}else{
c=sumSeat
sumSeat=0
}
}
let sumFang=this.chosenObj.crCount+this.chosenObj.etzc+this.chosenObj.lrCount
sumFang=sumFang-this.chosenObj.df-(this.chosenObj.dcf*2)-(this.chosenObj.srf*3)
if(sumFang>0){
fcnt=parseFloat(sumFang)/2.0+this.chosenObj.dcf+this.chosenObj.df+this.chosenObj.srf
}
fcnt+=this.chosenObj.dcf+this.chosenObj.df+this.chosenObj.srf
let msg={
OrderId:0,
TCID:this.trip.currentPriceInfo.tcid,
CustomerType:this.customer.gradeLevel,
GroupType:1,
ContactName:this.customer.customerName,
ContactMobile:this.customer.contactNumber,
CustomerId:this.customer.customerId,
DepartureCityId:this.chosenObj.unicoDep.city&&this.chosenObj.unicoDep.city.length>0?this.chosenObj.unicoDep.city[this.chosenObj.unicoDep.city.length-1]:this.trip.startCityId,
IsIntermodal:(this.chosenObj.unicoDep.city&&this.chosenObj.unicoDep.city.length>0&&this.chosenObj.unicoDep.date)?1:2,
Unit_Price:this.trip.currentPriceInfo.b2BMemberPrice,
TC_Price:this.trip.currentPriceInfo.b2BMemberPrice,
ManNum:this.chosenObj.crCount,
ChirdNum:this.chosenObj.etCount,
ChirdNeedBedNum:this.chosenObj.etzc,
BabyNum:this.chosenObj.yeCount,
OldPeopleNum:this.chosenObj.lrCount,
SingleRoomNum:this.chosenObj.df,
PreferPrice:this.price,
DiscountMoney:this.price - this.SettlementPrice,
CouponAllotIds: this.CouponIds!== '' ? this.CouponIds.slice(0,this.CouponIds.length-1) : '',
YSeatNum:y,
ESeatNum:f,
FSeatNum:c,
Commission:((parseFloat(youhuiMoney)/2.0)+(parseFloat(this.price)*0.01)).toFixed(2),//todo 提成
ClientSource:2,
BrandId:0,
TradeWay:0,
PlatformOrder:'',
GuestNum:this.chosenObj.crCount+this.chosenObj.etCount+this.chosenObj.lrCount,
IsChildrenTour:this.trip.currentPriceInfo.isSupportChildren,
IsBirdDiscount:this.zaoniao>0?1:2,
PredictRoomNum:fcnt,
BigRoomNum:this.chosenObj.dcf,
TripleRoomNum:this.chosenObj.srf,
TradeDate:moment().format('YYYY-MM-DD'),
CostType:0,
MinOrderPrice:0,
Remarks:this.Remarks,
VisaNum:this.chosenObj.crCount+this.chosenObj.etCount+this.chosenObj.lrCount,
SafeNum:this.chosenObj.crCount+this.chosenObj.etCount+this.chosenObj.lrCount,
AirticketNum:0,
ReturnArriveCityId:this.chosenObj.unicoArr.city&&this.chosenObj.unicoArr.city.length>0?this.chosenObj.unicoArr.city[this.chosenObj.unicoArr.city.length-1]:this.trip.returnArriveCityId,
IsReturnIntermodal:(this.chosenObj.unicoArr.city&&this.chosenObj.unicoArr.city.length>0&&this.chosenObj.unicoArr.date)?1:2,
GoCityTime:this.chosenObj.unicoDep.city&&this.chosenObj.unicoDep.city.length>0&&this.chosenObj.unicoDep.date?this.chosenObj.unicoDep.date:'',
BackCityTime:this.chosenObj.unicoArr.city&&this.chosenObj.unicoArr.city.length>0&&this.chosenObj.unicoArr.date?this.chosenObj.unicoArr.date:'',
ScenicRefundArr:[],
CommissionSharePeople:0,
CommissionShareMoney:0,
OrderSource:2
}
this.apipost("sellorder_post_SetOrderInfoForB2B",msg,
res => {
if(res.data.message=='操作成功!'){
this.$router.push({ path:'/PsOrder' })
}else{
this.Error(res.data.message)
}
},
err => {});
},
handleItemChange(val) {
let index=0
this.provinces.forEach((x,i)=>{
if(x.ID==val[0]){
index=i
return false
}
})
let msg = {
Id: val[0]
};
this.apipost(
"b2b_get_GetDestinationGetChildList",
msg,
res => {
res.data.data.forEach(x=>{
this.provinces[index].cities.push({
ID:x.ID,
Name:x.Name
})
})
},
err => {}
);
},
getDataT: function(msg, type) {
this.loadingDataList = true;
},
getProvince(val) {
let msg = {
Id: 2
};
this.apipost(
"b2b_get_GetB2BTravelInfoV1",
msg,
r => {
if (r.data.resultCode == 1) {
let data = r.data.data;
this.priceList = data.priceList;
this.trip = data;
if (!type) {
this.chosenObj.crCount = this.numPeople.crCount
this.chosenObj.etbzcCount = this.numPeople.etbzcCount
this.chosenObj.etzc = this.numPeople.etzc
this.chosenObj.lrCount = this.numPeople.lrCount
} else {
this.chosenObj.crCount = 0
this.chosenObj.etbzcCount = 0
this.chosenObj.etzc = 0
this.chosenObj.lrCount = 0
}
this.sumSeat = this.trip.currentPriceInfo.surplusCSeat+this.trip.currentPriceInfo.surplusFSeat+this.trip.currentPriceInfo.surplusYSeat
this.getB2BSellByCustomerId()
} else {
this.$message.error(r.data.message);
"b2b_get_GetDestinationGetChildList",
msg,
res => {
res.data.data.forEach(x=>{
this.provinces.push({
ID:x.ID,
Name:x.Name,
cities:[]
})
})
},
err => {}
);
},
getUserCanUseCouponList: function (lineId, lineteamId) {
let msg = {
lineId: lineId,
lineteamId: lineteamId,
CouponsUseScope: 2,
}
this.apiJavaPost('/api/b2b/user/getUserCanUseCouponList',msg,res=>{
console.log(res);
if(res.data.resultCode==1){
let data = res.data.data;
data.forEach(x=>{
x.active = false
})
this.CouponList = data
this.filterCoupon()
}else{
this.Error(res.data.message);
}
this.loadingDataList = false;
},
null
this.dataLoading = false;
},null)
},
getUnicos(tcid) {
let msg = {tcid:tcid}
this.apipost(
"b2b_get_GetTeamUnionInfo",
msg,
res => {
this.unicos = res.data.data
},
err => {}
);
},
b2b_get_GetCustomerInfo() {
let msg = {};
this.apipost(
"b2b_get_GetCustomerInfo",
msg,
r => {
if (r.data.resultCode == 1) {
this.CustomerInfo = r.data.data;
} else {
this.$message.error(r.data.message);
},
getB2BSellByCustomerId(){
this.apipost('b2b_get_GetCustomerSummary',{},r=>{
if(r.data.resultCode==1){
this.customer = r.data.data
let msg = {customerId:r.data.data.customerId,lineId:this.trip.lineId}
this.apipost(
"app_customer_GetB2BSellByCustomerId",
msg,
res => {
},
err => {}
);
}else{
this.customer = null
}
},null)
// this.apipost(
// "app_customer_GetB2BSellByCustomerId",
// msg,
// res => {
// this.unicos = res.data.data
// },
// err => {}
// );
},
getList(days) {
this.apipost("b2b_get_site", {}, res => {
let data = res.data.data;
let city = 0;
for (let i = 0; i < data.length; i++) {
if (data[i].companyId == localStorage.site) {
city = data[i].cityId;
this.city = city;
break;
}
}
},
null
);
},
let msg = {
configId: this.ID,
cityId: city,
preview: this.pre,
tcid: this.tcid
};
this.getData(msg, days);
});
},
getData: function(msg, days) {
this.loadingDataList = true;
this.apipost(
"b2b_get_GetB2BTravelInfoV1",
msg,
r => {
if (r.data.resultCode == 1) {
let data = r.data.data;
let priceList = data.priceList;
for ( let i = 0; i < priceList.length; i++) {
if (days===priceList[i].startDate){
let msg = {configId:priceList[i].configIDDes, cityId:this.city, preview:this.pre, tcid:priceList[i].tcid}
this.getDataT(msg)
}
}
} else {
this.$message.error(r.data.message);
}
this.loadingDataList = false;
},
null
);
},
getDataT: function(msg, type) {
this.loadingDataList = true;
this.apipost(
"b2b_get_GetB2BTravelInfoV1",
msg,
r => {
if (r.data.resultCode == 1) {
let data = r.data.data;
this.priceList = data.priceList;
this.trip = data;
if (!type) {
this.chosenObj.crCount = this.numPeople.crCount
this.chosenObj.etbzcCount = this.numPeople.etbzcCount
this.chosenObj.etzc = this.numPeople.etzc
this.chosenObj.lrCount = this.numPeople.lrCount
} else {
this.chosenObj.crCount = 0
this.chosenObj.etbzcCount = 0
this.chosenObj.etzc = 0
this.chosenObj.lrCount = 0
}
this.sumSeat = this.trip.currentPriceInfo.surplusCSeat+this.trip.currentPriceInfo.surplusFSeat+this.trip.currentPriceInfo.surplusYSeat
this.getB2BSellByCustomerId()
this.getUserCanUseCouponList(data.lineId, data.lineteamId)
} else {
this.$message.error(r.data.message);
}
this.loadingDataList = false;
},
null
);
},
b2b_get_GetCustomerInfo() {
let msg = {};
this.apipost(
"b2b_get_GetCustomerInfo",
msg,
r => {
if (r.data.resultCode == 1) {
this.CustomerInfo = r.data.data;
} else {
this.$message.error(r.data.message);
}
},
null
);
},
filterCoupon: function () {
let list = []
this.CouponList.forEach(x=>{
if (this.price>x.useCondition) {
x.active = false
list.push(x)
}
})
this.UserCanUseCouponList = list
}
}
}
</script>
......@@ -46,14 +46,53 @@ router.beforeEach((to, from, next) => {
next()
})
Vue.prototype.getLocalStorage = function() {
Vue.prototype.getLocalStorage = function () {
var localStorageData = window.localStorage["userInfo"];
if (localStorageData != undefined) {
return JSON.parse(localStorageData);
return JSON.parse(localStorageData);
} else {
return null;
return null;
}
},
}
Vue.prototype.getNowDate = function () {
var date = new Date();
var seperator1 = "-";
var seperator2 = ":";
var month = date.getMonth() + 1;
var strDate = date.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
+ " " + date.getHours() + seperator2 + date.getMinutes()
+ seperator2 + date.getSeconds();
return currentdate;
}
Vue.prototype.DateDiff = function (sDate1, sDate2) {
var aDate, oDate1, oDate2, iDays
aDate = sDate1.split("-")
oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])
aDate = sDate2.split("-")
oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0])
iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 /24) //把相差的毫秒数转换为天数
return iDays
}
//价钱格式化,三位数逗号分隔,保留两位小数 duanjun
Vue.prototype.moneyFormat = function (value) {
let nStr = Number(value).toFixed(2)
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;
},
// 注册
Vue.filter('priceFormat', function (value) {
if (value == null) {
......
......@@ -31,8 +31,7 @@ export default {
DomainUrl: domainUrl,
//常用提交数据URL
PostUrl: domainUrl + "/api/common/post",
// javaUrl: "http://192.168.2.16:9000",
javaUrl: "http://47.96.12.235:9001", //测试接口
javaUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? "http://47.96.12.235:9000" : "http://192.168.2.215:9000",
ViittoFileUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? "http://imgfile.oytour.com" : 'http://192.168.2.214:8130',
UploadUrl: locationName.indexOf('oytour') !== -1 || locationName.indexOf('viitto') !== -1 ? "http://upload.oytour.com" : "http://192.168.2.214:8120",
LocalFileStreamDownLoadUrl: domainUrl + "/api/file/GetFileFromWebApi",
......
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