Commit 627001a7 authored by 华国豪's avatar 华国豪 🙄

合并代码

parents 973bdf2d fcc6cd56
......@@ -369,6 +369,7 @@
query: {
HotelId: item.HotelId,
HotelUseTime: item.subList[subIndex].DateStr,
IsUnionCked:0,
blank: 'y',
tab: "团控查询",
}
......
......@@ -118,7 +118,7 @@
<tr>
<td width="70" style="text-align:center;" colspan="2">
<span style="color:red">{{subItem.NewHotelName}}</span>
<el-popover placement="right" width="500" trigger="click" v-model="subItem.isShowPop">
<el-popover placement="right" width="540" trigger="click" v-model="subItem.isShowPop">
<comCheckHotel :ref="'comCheckHotel'+index+subIndex+''" v-on:childHotel="childHotelList" :UseDate="item.UseTimeStr">
</comCheckHotel>
<el-button size="small" type="danger" :data-index="'comCheckHotel'+index+subIndex+''"
......
......@@ -133,7 +133,7 @@ export default {
AirTicketId: 0,
AirOrderId: 0,
status: 0,
startDate: moment().format("YYYY-MM-DD"),
startDate:"",
endDate: "",
searchKey:"",
rbBranchId:-1,
......
......@@ -710,8 +710,8 @@
<tr>
<th width="100">日期</th>
<th style="border-right:1px solid #E5E5E5;width:150px;">酒店</th>
<th style="border-right:1px solid #E5E5E5;width:240px;">酒店情况</th>
<th style="width:150px;">更换酒店</th>
<th style="width:100px;">状态</th>
</tr>
<template v-for="subItem in item.HotelOrderListReports">
<tr v-for="(childItem,childIndex) in subItem.SubList">
......@@ -721,19 +721,26 @@
<td style="text-align:left;padding-left:3px;">
{{childItem.HotelName}}
</td>
<td style="text-align:left;padding-left:3px;color:red">
{{childItem.HotelName!=childItem.NewHotelName?""+childItem.NewHotelName:""}}
</td>
<td style="text-align:left;padding-left:3px;">
<a style="color:green" v-if="childItem.HotelName!='温馨的家'">
<template v-if="childItem.OPState==1">
OP-OK
<span v-if="childItem.HotelName!='温馨的家'">
<template v-if="childItem.OPState==1">
<a style="color:green">OP-OK</a>
</template>
<template v-else-if="childItem.OPState==2&&childItem.DMCState==0">
OP-暂定
<a style="color:red">OP-暂定</a>
</template>
<template v-else>
{{childItem.DMCState==1?"地接-OK":(childItem.DMCState==2?"地接-暂定":"地接-未操作")}}
<template v-if="childItem.DMCState==1">
<a style="color:green">地接-OK</a>
</template>
<template v-else>
<a style="color:red"> {{childItem.DMCState==2?"地接-暂定":"地接-未操作"}}</a>
</template>
</template>
</a>
</span>
</td>
</tr>
</template>
......
......@@ -100,6 +100,15 @@
</el-option>
</el-select>
</span></li>
<li>
<span>
<em>订单状态</em><el-select v-model='msg.VisaOrderStatus'>
<el-option label="不限" value="0" key='0'></el-option>
<el-option label="正常" value="1" key='1'></el-option>
<el-option label="取消" value="2" key='2'></el-option>
<el-option label="待付款" value="3" key='3'></el-option>
</el-select>
</span></li>
<li><span><em>报入日期</em><el-date-picker v-model='msg.StartTime' class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker> -
<el-date-picker v-model='msg.EndTime' class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
</span>
......@@ -171,7 +180,9 @@
<span>{{moneyFormat(item.ZaiTu)}}</span>
</td>
<td>
{{item.VisaOrderStatus==1?"正常":"已取消"}}</br>
<span v-if="item.VisaOrderStatus==1">正常</span>
<span v-if="item.VisaOrderStatus==2">取消</span>
<span v-if="item.VisaOrderStatus==3">待付款</span>
<span class="fz12" v-if="item.VisaOrderStatus==2">操作:{{item.UpdateName}}</span>
</td>
<td>
......@@ -277,7 +288,8 @@ export default {
StartTime:'',
EndTime:'',
Pid:'',
EmId:'-1',
EmId:'-1',
VisaOrderStatus:"0",
},
dataList:[],
EmployeeList:[],
......
......@@ -53,8 +53,15 @@
<td>{{item.Refund}}</td>
<td>{{item.PlatformTax}}</td>
<td>
<span v-if="item.Status==1" type="success">正常</span>
<span v-if="item.Status==2">取消</span>
<p v-if="item.RefundStatus!=1">
<span v-if="item.RefundStatus==2">退款中</span>
<span v-if="item.RefundStatus==3">已退款</span>
</p>
<p v-else>
<span v-if="item.Status==1">正常</span>
<span v-if="item.Status==2">取消</span>
<span v-if="item.Status==3">待付款</span>
</p>
</td>
</tr>
<tr style="height:20px">
......@@ -306,7 +313,7 @@ export default {
"ticket_get_GetScatteringOrderForAirTicketList",
this.msg,
res => {
// console.log(res);
console.log(res);
this.loading = false;
if (res.data.resultCode == 1) {
this.total = res.data.data.count;
......
......@@ -389,7 +389,6 @@ import moment from "moment"
query: {
customId: item.customId,
allotId: item.allotId,
blank: "y",
tab: "行程定制方案"
}
});
......
......@@ -95,6 +95,7 @@
.TC_HotelPop table th {
text-align: center;
}
</style>
<template>
<div class="TC_Content">
......@@ -489,13 +490,15 @@
<span class="TCL-greenType">{{item.ClearOrderHour}}小时</span>
</p>
<p v-if="item.LineID==14 && item.HotelOrderListReports && item.HotelOrderListReports.length>0 ">
<el-popover width="600" trigger="click" popper-class="TC_HotelPop">
<el-popover width="700" trigger="click" popper-class="TC_HotelPop">
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="singeRowTable">
<tr>
<th width="100">日期</th>
<th style="border-right:1px solid #E5E5E5;width:150px;">酒店</th>
<th style="border-right:1px solid #E5E5E5;width:240px;">酒店情况</th>
<th style="border-right:1px solid #E5E5E5;width:100px">占房时间</th>
<th style="width:150px;">酒店</th>
<th style="width:150px;">更换酒店</th>
<th style="width:100px;">状态</th>
<th style="width:150px;">使用数量/价格</th>
<th style="width:120px">占房时间</th>
</tr>
<template v-for="subItem in item.HotelOrderListReports">
<tr v-for="(childItem,childIndex) in subItem.SubList">
......@@ -505,33 +508,45 @@
<td style="text-align:left;padding-left:3px;">
{{childItem.HotelName}}
</td>
<td style="text-align:left;padding-left:3px;">
<a style="color:green" v-if="childItem.HotelName!='温馨的家'">
<template v-if="childItem.OPState==1">
OP-OK
<td style="text-align:left;padding-left:3px;color:red">
{{childItem.HotelName!=childItem.NewHotelName?""+childItem.NewHotelName:""}}
</td>
<td style="text-align:left;padding-left:3px;">
<span v-if="childItem.HotelName!='温馨的家'">
<template v-if="childItem.OPState==1">
<a style="color:green">OP-OK</a>
</template>
<template v-else-if="childItem.OPState==2&&childItem.DMCState==0">
OP-暂定
<a style="color:red">OP-暂定</a>
</template>
<template v-else>
{{childItem.DMCState==1?"地接-OK":(childItem.DMCState==2?"地接-暂定":"地接-未操作")}}
<template v-if="childItem.DMCState==1">
<a style="color:green">地接-OK</a>
</template>
<template v-else>
<a style="color:red"> {{childItem.DMCState==2?"地接-暂定":"地接-未操作"}}</a>
</template>
</template>
</a>
<a v-if="(childItem.OPState==1||(childItem.OPState==2 && childItem.DMCState==0))&& childItem.UseCount>0 " style="color:green">
【使用: {{childItem.UseCount}} 间 {{childItem.CostPrice!=0?"价格:"+childItem.CostPrice:""}} 】
</span>
</td>
<td>
<a v-if="(childItem.OPState==1|| childItem.OPState==2 || childItem.DMCState==1 )">
{{childItem.UseCount>0? childItem.UseCount+" 间" :""}}
{{childItem.CostPrice!=0?" 价格:"+childItem.CostPrice:""}}
</a>
</td>
<td>
<template v-if="childItem.OPState==1||(childItem.OPState==2 && childItem.DMCState==0)"> {{childItem.CreateDateStr}}</template>
<template v-if="childItem.OPState==1||(childItem.OPState==2 && childItem.DMCState==0)">
{{childItem.CreateDateStr}}</template>
</td>
</tr>
</template>
</table>
<span slot="reference" class="price" style="cursor:pointer;text-decoration:underline;">酒店预订状况</span>
<span slot="reference" class="price"
style="cursor:pointer;text-decoration:underline;">酒店预订状况</span>
</el-popover>
</p>
<p class="travelnowrap" v-if="item.LineID==14 && item.IsOpenHotel==1">
<p class="travelnowrap" v-if="item.LineID==14 && item.IsOpenHotel==1">
<span style="color:red;font-weight:bold;">※ 地接已关闭酒店操作,如需修改请联系地接OP.</span>
</p>
</div>
......@@ -603,7 +618,7 @@
<span slot="reference" class="price">{{$t('Operation.Op_priceDetail')}}</span>
</el-popover>
</p>
</div>
</div>
<div class="el-col" style="width:150px;">
......@@ -666,7 +681,7 @@
<div class="TC_SeatList" v-if="item.BindNum>0" style="color:red;">绑定数量: {{item.BindNum}}</div>
<div class="TC_SeatList" v-if="item.TicketNum>0 && item.TicketList">
<el-popover width="440" trigger="click" popper-class="TC_customerInfo">
<table width="440" border="0" cellspacing="0" cellpadding="0" >
<table width="440" border="0" cellspacing="0" cellpadding="0">
<tr>
<th width="70" style="text-align:center;">绑定数量</th>
<th width="70" style="text-align:center;">机票数量</th>
......@@ -782,10 +797,12 @@
<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<el-dropdown-menu slot="dropdown" class="TC-dropdown">
<el-dropdown-item @click.native="SetGroupRecommendType(item,1)" v-if="item.b2b&&item.GroupRecommendType==0">
<el-dropdown-item @click.native="SetGroupRecommendType(item,1)"
v-if="item.b2b&&item.GroupRecommendType==0">
设为精品推荐
</el-dropdown-item>
<el-dropdown-item @click.native="SetGroupRecommendType(item,0)" v-if="item.b2b&&item.GroupRecommendType==1">
<el-dropdown-item @click.native="SetGroupRecommendType(item,0)"
v-if="item.b2b&&item.GroupRecommendType==1">
取消设为精品
</el-dropdown-item>
<el-dropdown-item @click.native="goTeamBalance(item.TCID,item.OutBranchId)">
......@@ -1108,25 +1125,25 @@
}
},
methods: {
SetGroupRecommendType(item,num){
let msg={};
msg.groupRecommendType=num;
msg.tcid=item.TCID;
SetGroupRecommendType(item, num) {
let msg = {};
msg.groupRecommendType = num;
msg.tcid = item.TCID;
this.apipost(
'travel_post_SetGroupRecommendType', msg,
res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message)
this.getControlList()
}else{
} else {
this.Error(res.data.message)
}
},
err => {}
)
},
downloadFile: function (item) {
let reg = /^http(s)?:\/\/(.*?)\//
......@@ -1151,7 +1168,7 @@
this.queryCommonData.LineList = res.data.data
this.queryCommonData.PlaceList = []
this.queryCommonData.LineTeamList = [];
}
})
},
......@@ -1259,16 +1276,16 @@
this.queryCommonData.dataList.forEach(item => {
item.SalePlatList = []
if (item.SalePlat !== null) {
if(item.SalePlat.indexOf("1") != -1){
item.b2b=true;
}
if (item.SalePlat.indexOf("1") != -1) {
item.b2b = true;
}
var SalePlatArr = item.SalePlat.split(',')
SalePlatArr.forEach(y => {
item.SalePlatList.push(parseInt(y))
})
}
});
console.log("this.queryCommonData.dataList",this.queryCommonData.dataList);
console.log("this.queryCommonData.dataList", this.queryCommonData.dataList);
}
},
err => {}
......@@ -1850,6 +1867,10 @@
if (this.$route.query.HotelUseTime) {
this.queryMsg.HotelUseTime = this.$route.query.HotelUseTime
}
//只看主团
if (this.$route.query.IsUnionCked) {
this.queryMsg.IsShowUnion = this.$route.query.IsUnionCked;
}
if (this.CurrentUserInfo.IsParentCompany == undefined) {
this.queryCommonData.IsParentCompany = 2
......
<style>
.comCheckHotel>div {
.comCheckHotel .comCheckHotel {
width: 100%;
height: 150px;
overflow: auto
}
.comCk_list {
cursor: pointer;
.comCheckHotel .comCk_list {
padding: 0 20px;
margin: 0 15px 5px 0;
}
.cm_Inventory {
.comCheckHotel .cm_Inventory {
margin-left: 20px;
color: red;
display: inline-block;
}
.cm_hotelTitle {
.comCheckHotel .cm_hotelTitle {
width: 100%;
text-align: center;
margin-bottom: 20px;
......@@ -26,15 +25,15 @@
padding: 0 20px 10px 20px;
}
.com_SaveBtn {
.comCheckHotel .com_SaveBtn {
margin: 10px 20px 0 45%;
}
.ckedList {
.comCheckHotel .ckedList {
background-color: #E95252;
color: #fff;
}
.Ck_hotelInfo{
.comCheckHotel .Ck_hotelInfo{
width:100%;
height:40px;
background-color: #F6F8FB;
......@@ -42,32 +41,42 @@
line-height: 40px;
margin-bottom:10px;
}
.comCheckHotel .ck_goUrl{
color:blue;
cursor: pointer;
margin-left:10px;
}
</style>
<template>
<div>
<div class="comCheckHotel">
<div class="Ck_hotelInfo">
<span style="color:red">{{UseDate}}</span> 酒店库存信息
</div>
<div class="cm_hotelTitle">
地区筛选:
<el-select filterable v-model="ProvinceId" @change="getCheckHotel()" :placeholder="$t('pub.pleaseSel')">
<el-option label="不限" :value='0'></el-option>
<el-option v-for="item in ProvinceList" :label='item.Name' :value='item.ID' :key='item.ID'>
</el-option>
</el-select>
<div class="cm_hotelTitle clearfix">
<div style="float:left;">
地区筛选:
<el-select filterable v-model="qMsg.ProvinceId" class="w120" :placeholder="$t('pub.pleaseSel')">
<el-option label="不限" :value='0'></el-option>
<el-option v-for="item in ProvinceList" :label='item.Name' :value='item.ID' :key='item.ID'>
</el-option>
</el-select>
</div>
<div style="float:left;margin-left:20px;">
酒店名称:
<el-input type="text" v-model="qMsg.Name" class="w120" @keyup.native.enter="getCheckHotel()" placeholder="请输入关键字"></el-input>
<input type="button" class="normalBtn" value="查询" @click="getCheckHotel()" />
</div>
</div>
<div>
<el-tabs type="border-card" v-loading="loading">
<el-tab-pane :label="item.ProvinceName" v-for="(item,index) in dataList" :key="index">
<el-tabs type="border-card" v-loading="loading" v-if="IsShow" >
<el-tab-pane :label="item.ProvinceName" v-for="(item,index) in dataList" :key="item.subCode">
<div class="clearfix comCheckHotel">
<div>
<div class="comCk_list" v-for="(subItem,subIndex) in item.HotelList">
<input type="checkbox" v-model="subItem.isChecked" @click="getCheck(item.HotelList,subIndex)"
style="" />
<input type="checkbox" v-model="subItem.isChecked" @click="getCheck(item.HotelList,subIndex)"/>
{{subItem.Name}}<span class="cm_Inventory">{{subItem.Inventory}}</span>
<span class="ck_goUrl" @click="goUrl(subItem.ID)">新增库存</span>
</div>
</div>
</div>
</el-tab-pane>
</el-tabs>
......@@ -83,12 +92,18 @@
loading:false,
dataList: [],
ProvinceList: [],
ProvinceId: 0, //选择个省份编号
qMsg:{
ProvinceId: 0, //选择个省份编号
Name:"",//酒店名称
},
IsShow:false,
ckedHotel:{}
};
},
methods: {
getCheckHotel() {
this.loading=true;
this.IsShow=false;
this.dataList = [];
this.HotelList = [];
this.apipost('hotel_post_GetHasStockHotelList_V2', {
......@@ -96,10 +111,12 @@
IsMoreThanZero: 0,
Country: "651",
IsAllHotel: 1,
Province: this.ProvinceId,
Province: this.qMsg.ProvinceId,
Name:this.qMsg.Name,
sDate: this.UseDate
}, res => {
this.loading=false;
this.IsShow=true;
if (res.data.resultCode == 1) {
this.dataList = res.data.data;
this.dataList.forEach(x => {
......@@ -116,6 +133,7 @@
hotelList.forEach((x, subIndex) => {
if (index == subIndex) {
x.isChecked = !x.isChecked;
this.ckedHotel = x;
} else {
x.isChecked = false;
}
......@@ -125,18 +143,14 @@
//向父组件传递选中酒店
sendCkedHotel() {
var ckHotelObj = {};
this.dataList.forEach((x, index) => {
x.HotelList.forEach(subItem => {
if (subItem.isChecked) {
ckHotelObj.ID = subItem.ID;
ckHotelObj.Address = subItem.Address;
ckHotelObj.Inventory = subItem.Inventory;
ckHotelObj.Name = subItem.Name;
ckHotelObj.PayStyle = subItem.PayStyle;
ckHotelObj.Tel = subItem.Tel;
}
});
})
if(this.ckedHotel){
ckHotelObj.ID = this.ckedHotel.ID;
ckHotelObj.Address = this.ckedHotel.Address;
ckHotelObj.Inventory = this.ckedHotel.Inventory;
ckHotelObj.Name = this.ckedHotel.Name;
ckHotelObj.PayStyle = this.ckedHotel.PayStyle;
ckHotelObj.Tel = this.ckedHotel.Tel;
}
this.$emit("childHotel", ckHotelObj);
},
//获取日本下面的市->下拉框用
......@@ -154,6 +168,19 @@
err => {}
);
},
goUrl(ID){
this.$router.push({
path: 'HotelProductManage2',
query: {
id: ID,
Country: 651,
IsSelfBook: 1,
blank: 'y',
tab: '报价详情'
}
});
}
},
mounted() {
this.getProvinceList();
......
......@@ -265,49 +265,59 @@
</div>
<p
v-if="item.LineId==14 && item.CommonReport.PriceHotelResult && item.CommonReport.PriceHotelResult.length>0">
<el-popover width="600" trigger="click" popper-class="TC_HotelPop">
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="singeRowTable">
<tr>
<th width="100">日期</th>
<th style="border-right:1px solid #E5E5E5;width:150px;">酒店</th>
<th style="border-right:1px solid #E5E5E5;width:240px;">酒店情况</th>
<th style="border-right:1px solid #E5E5E5;width:100px">占房时间</th>
</tr>
<template v-for="hotelItem in item.CommonReport.PriceHotelResult">
<tr v-for="(hotelSubItem,hotelSubIndex) in hotelItem.SubList">
<td width="100" v-if="hotelSubIndex==0" :rowspan="hotelItem.SubList.length">
{{hotelItem.UseDay}}
</td>
<td style="text-align:left;padding-left:3px;">
{{hotelSubItem.HotelName}}
</td>
<td style="text-align:left;padding-left:3px;">
<a style="color:green" v-if="hotelSubItem.HotelName!='温馨的家'">
<template v-if="hotelSubItem.OPState==1">
OP-OK
</template>
<template v-else-if="hotelSubItem.OPState==2&&hotelSubItem.DMCState==0">
OP-暂定
</template>
<template v-else>
{{hotelSubItem.DMCState==1?"地接-OK":(hotelSubItem.DMCState==2?"地接-暂定":"地接-未操作")}}
</template>
</a>
<a v-if="(hotelSubItem.OPState==1||(hotelSubItem.OPState==2 && hotelSubItem.DMCState==0))&& hotelSubItem.UseCount>0 "
style="color:green">
【使用: {{hotelSubItem.UseCount}} 间
{{hotelSubItem.CostPrice!=0?"价格:"+hotelSubItem.CostPrice:""}} 】
</a>
</td>
<td>
<template
v-if="hotelSubItem.OPState==1||(hotelSubItem.OPState==2 && hotelSubItem.DMCState==0)">
{{hotelSubItem.CreateDateStr}}</template>
</td>
<el-popover width="700" trigger="click" popper-class="TC_HotelPop">
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="singeRowTable">
<tr>
<th width="100">日期</th>
<th style="width:150px;">酒店</th>
<th style="width:150px;">更换酒店</th>
<th style="width:100px;">状态</th>
<th style="width:150px;">使用数量/价格</th>
<th style="width:120px">占房时间</th>
</tr>
</template>
</table>
<template v-for="hotelItem in item.CommonReport.PriceHotelResult">
<tr v-for="(hotelSubItem,hotelSubIndex) in hotelItem.SubList">
<td width="100" v-if="hotelSubIndex==0" :rowspan="hotelItem.SubList.length">
{{hotelItem.UseDay}}
</td>
<td style="text-align:left;padding-left:3px;">
{{hotelSubItem.HotelName}}
</td>
<td style="text-align:left;padding-left:3px;color:red">
{{hotelSubItem.HotelName!=hotelSubItem.NewHotelName?""+hotelSubItem.NewHotelName:""}}
</td>
<td style="text-align:left;padding-left:3px;">
<span v-if="hotelSubItem.HotelName!='温馨的家'">
<template v-if="hotelSubItem.OPState==1">
<a style="color:green">OP-OK</a>
</template>
<template v-else-if="hotelSubItem.OPState==2&&hotelSubItem.DMCState==0">
<a style="color:red">OP-暂定</a>
</template>
<template v-else>
<template v-if="hotelSubItem.DMCState==1">
<a style="color:green">地接-OK</a>
</template>
<template v-else>
<a style="color:red"> {{hotelSubItem.DMCState==2?"地接-暂定":"地接-未操作"}}</a>
</template>
</template>
</span>
</td>
<td>
<a v-if="(hotelSubItem.OPState==1|| hotelSubItem.OPState==2 || hotelSubItem.DMCState==1 )">
{{hotelSubItem.UseCount>0? hotelSubItem.UseCount+" 间" :""}}
{{hotelSubItem.CostPrice!=0?" 价格:"+hotelSubItem.CostPrice:""}}
</a>
</td>
<td>
<template v-if="hotelSubItem.OPState==1||(hotelSubItem.OPState==2 && hotelSubItem.DMCState==0)">
{{hotelSubItem.CreateDateStr}}</template>
</td>
</tr>
</template>
</table>
<span slot="reference" class="price" style="cursor:pointer;text-decoration:underline;">酒店信息</span>
</el-popover>
</p>
......
<style>
.leaderPayTable {
width: 100%;
margin: 10px auto;
text-align: center;
font-size: 12px;
color: #333;
border-collapse: collapse;
background-color: #fff;
border: 1px solid #d1d1d1;
}
width: 100%;
margin: 10px auto;
text-align: center;
font-size: 12px;
color: #333;
border-collapse: collapse;
background-color: #fff;
border: 1px solid #d1d1d1;
}
.leaderPayTable th {
background: #e6e6e6;
padding: 8px 0;
......@@ -22,6 +23,16 @@
height: 32px;
border: 1px solid #d1d1d1;
}
.leaderPayTable2 tr td{
border: 1px solid #ccc;
line-height: 17px;
height: 25px;
font-size: 12px;
background: #fff;
text-align: center;
padding: 0;;
margin: 0;
}
.LeaderPrintDiv .LeaderTitle {
padding: 10px;
text-align: left;
......@@ -41,6 +52,7 @@
}
.LeaderPrintDiv {
width: 100%;
background: #f8f8f8;
position: absolute;
}
.LeaderPrintDiv .childDiv {
......@@ -72,7 +84,7 @@ input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
-webkit-appearance: none;
}
input[type="number"] {
-moz-appearance: textfield;
}
......@@ -113,92 +125,222 @@ input[type="number"] {
<td colspan="10">暂无数据</td>
</tr>
</table>
<table border="0" cellspacing="1" class="leaderPayTable">
<tbody>
<tr>
<th>项目类型</th>
<th>项目内容</th>
<th>实付金额</th>
<th>备注</th>
</tr>
<template v-for="(item,index) in dataList.ScenicList">
<tr>
<td v-if="index==0" :rowspan="dataList.ScenicList.length">景点门票</td>
<table border="0" cellspacing="1" class="leaderPayTable leaderPayTable2">
<tr>
<th colspan="8" class="bgwhite">门票使用</th>
</tr>
<tr>
<th width="180">景点名称</th>
<th width="">门票类型</th>
<th width="">单价</th>
<th width="">付款方式 </th>
<th width="">金额小计</th>
<th width="">预计总金额</th>
<th width="">实付金额</th>
<th width="100">备注</th>
</tr>
<template v-for='(item,index) in list.ScenicList'>
<template v-for="(subItem,subIndex) in item.ScenicStatisticsList">
<tr v-for="(childItem,childIndex) in subItem.TicketPriceList">
<td v-if="childIndex==0" :rowspan="subItem.TicketPriceList.length">
{{subItem.ScenicName}}
</td>
<td>
<div
class="itemName"
v-for="subItem in item.ScenicStatisticsList"
>{{subItem.ScenicName}}</div>
{{peopleStrToWord(childItem.PeopleType)}}:{{childItem.PeopleNum}}
</td>
<td>
<div
v-for="subItem in item.ScenicStatisticsList"
>{{subItem.TotalPrice}} {{subItem.CurrencyStr}}</div>
<p>
{{subItem.PayStyle === 1 ? moneyFormat(childItem.PeoplePrice) : 0}}
</p>
</td>
<td v-if="childIndex==0" :rowspan="subItem.TicketPriceList.length">
<span v-if="subItem.PayStyle === 1">现付</span>
<span v-else-if="subItem.PayStyle === 2">公司结算</span>
<span v-else-if="subItem.PayStyle === 3">预付</span>
<span v-else-if="subItem.PayStyle === 6">公司合团支付</span>
<span v-else></span>
</br>
<span v-show="subItem.PayStyle==6">付款团号:{{subItem.PayTypeTCNUM}}</span>
</td>
<td>
<template v-for="(sitem,sindex) in item.ScenicStatisticsList">{{sitem.Remarks}}</template>
{{subItem.PayStyle === 1 ? moneyFormat((childItem.UsePeopleNum-childItem.Discount)*childItem.PeoplePrice) : 0}}
</td>
<td v-if="childIndex==0" :rowspan="subItem.TicketPriceList.length">
{{scenicTotalPrice(subItem, subItem.TicketPriceList)}}
</td>
<td v-if="childIndex==0" :rowspan="subItem.TicketPriceList.length">
{{subItem.TradingTotalPrice}}
</td>
<td v-if="childIndex==0" :rowspan="subItem.TicketPriceList.length">
{{subItem.Remarks}}
</td>
</tr>
</template>
<tr v-for="(item,index) in dataList.BusList">
<td v-if="index==0" :rowspan="dataList.BusList.length">交通</td>
<td>
{{item.ParkExplain}}
<!-- <span v-if='index==0'>接机</span>
<span v-if='index!=0&&index!=dataList.BusList.length-1'>{{item.AirportPickUpStr}}</span>
<span v-if='index==dataList.BusList.length-1'>送机</span>-->
</td>
<td>{{moneyFormat(item.TotalPrice)}} {{item.CurrencyStr}}</td>
<td>{{item.Remarks}}</td>
</tr>
<template v-for="(item,index) in dataList.DiningList">
<tr class="splitP ScenicTr">
<td v-if="index==0" :rowspan="dataList.DiningList.length">餐饮</td>
</template>
</table>
<table border="0" cellspacing="1" class="leaderPayTable leaderPayTable2">
<tr>
<th colspan="4" class="bgwhite">车辆使用</th>
</tr>
<tr>
<th width="">使用日期</th>
<th width="">高速公路费</th>
<!-- <th width="">预计总金额</th>-->
<th width="">实付金额</th>
<th width="">备注</th>
</tr>
<tr v-for='(item,index) in list.BusList'>
<td>{{item.PlanDateStr}}</td>
<td>
{{item.HighSpeedPrice >= 0 && item.HighSpeedPrice !== null && item.HighSpeedPayType > 0 ? (item.HighSpeedPayType === 1 ? moneyFormat(item.HighSpeedPrice) : 0) : ''}}
</td>
<!-- <td v-if='index==0' :rowspan='list.BusList.length'>-->
<!-- {{busTotalPrice(list.BusList)}}-->
<!-- </td>-->
<td>
{{item.TotalPrice}}
</td>
<td>
{{item.Remarks}}
</td>
</tr>
</table>
<table border="0" cellspacing="1" class="leaderPayTable leaderPayTable2">
<tr>
<th colspan="9" class="bgwhite">餐食使用</th>
</tr>
<tr>
<th width="180">餐厅名称</th>
<th width="">类别</th>
<th width="">用餐人数</th>
<th width="">单价</th>
<th width="">付款方式</th>
<th width="">金额小计</th>
<th width="">预计总金额</th>
<th width="">实付金额</th>
<th width="100">备注</th>
</tr>
<template v-for='(item,index) in list.DiningList'>
<template v-for="(subItem,subIndex) in item.DiningSummaryList">
<tr v-for="(childItem,childIndex) in subItem.DiningPriceList">
<td v-if="childIndex==0" :rowspan="subItem.DiningPriceList.length">
{{subItem.RealName? subItem.RealName : subItem.DiningName}}
</td>
<td v-if="childIndex==0" :rowspan="subItem.DiningPriceList.length">
{{subItem.UseDinnerTypeStr}}
</td>
<td>
<div
class="itemName"
v-for="subItem in item.DiningSummaryList"
>{{subItem.NewDiningName}}</div>
{{peopleStrToWord(childItem.PeopleType)}}:{{childItem.PeopleNum}}
</td>
<td>
<div
v-for="subItem in item.DiningSummaryList"
>{{subItem.TotalPrice}} {{subItem.CurrencyStr}}</div>
<p>
{{subItem.PayStyle === 1 ? moneyFormat(childItem.PeoplePrice) : 0}}
</p>
</td>
<td v-if="childIndex==0" :rowspan="subItem.DiningPriceList.length">
<span v-if="subItem.PayStyle === 1">现付</span>
<span v-else-if="subItem.PayStyle === 2">公司结算</span>
<span v-else-if="subItem.PayStyle === 3">预付</span>
<span v-else-if="subItem.PayStyle === 6">公司合团支付</span>
<span v-else></span>
</br>
<span v-show="subItem.PayStyle==6">付款团号:{{subItem.PayTypeTCNUM}}</span>
</td>
<td>
<template v-for="(sitem,sindex) in item.DiningSummaryList">{{sitem.Remarks}}</template>
{{subItem.PayStyle === 1 ? moneyFormat((childItem.PeopleNum-childItem.Discount)*childItem.PeoplePrice) : 0}}
</td>
<td v-if="childIndex==0" :rowspan="subItem.DiningPriceList.length">
{{diningTotalPrice(subItem, subItem.DiningPriceList)}}
</td>
<td v-if="childIndex==0" :rowspan="subItem.DiningPriceList.length">{{subItem.TradingTotalPrice}}</td>
<td v-if="childIndex==0" :rowspan="subItem.DiningPriceList.length">
{{subItem.Remarks}}
</td>
</tr>
</template>
<template v-for="(item,index) in dataList.HotelList">
<tr>
<td v-if="index==0" :rowspan="dataList.HotelList.length">酒店</td>
<td width="30%">
<div class="itemName">{{item.NewHotelName}}</div>
</template>
</table>
<table border="0" cellspacing="1" class="leaderPayTable leaderPayTable2">
<tr>
<th colspan="9" class="bgwhite">酒店使用</th>
</tr>
<tr>
<th width="180">酒店名称</th>
<th width="">房间类型</th>
<th width="">预定人数 </th>
<th width="">单价/人</th>
<th width="">付款方式</th>
<th width="">金额小计</th>
<th width="">预计总金额</th>
<th width="">实付金额</th>
<th width="100">备注</th>
</tr>
<template v-for='(outItem,outIndex) in list.HotelOrderListReport'>
<template v-for="(subItem,subIndex) in outItem.HotelOrderList">
<tr v-for="(childItem,childIndex) in subItem.OrderDetailsList">
<td v-if="childIndex==0" :rowspan="subItem.OrderDetailsList.length">
{{subItem.HotelName}}
</td>
<td>
<span v-if="childItem.HouseType === 1">单间</span>
<span v-if="childItem.HouseType === 2">标准双人间</span>
<span v-if="childItem.HouseType === 3">大床房</span>
<span v-if="childItem.HouseType === 4">三人间</span>
<span v-if="childItem.HouseType === 5">司导间</span>
</td>
<td>
{{childItem.BookNum}}
</td>
<td>
<p>
{{subItem.PayStyle === 1 ? moneyFormat(childItem.UnitPrice) : 0}}
</p>
</td>
<td v-if="childIndex==0" :rowspan="subItem.OrderDetailsList.length">
<span v-if="subItem.PayStyle === 1">现付</span>
<span v-else-if="subItem.PayStyle === 2">签单</span>
<span v-else-if="subItem.PayStyle === 4">预付</span>
<span v-else-if="subItem.PayStyle === 5">实物抵扣</span>
<span v-else-if="subItem.PayStyle === 6">公司合团支付</span>
<span v-else></span>
</br>
<span v-show="subItem.PayStyle==6">付款团号:{{subItem.PayTypeTCNUM}}</span>
</td>
<td>
{{moneyFormat(childItem.UnitPrice*(childItem.BookNum-childItem.HotelDiscount))}}
</td>
<td v-if="childIndex==0" :rowspan="subItem.OrderDetailsList.length">
{{hotelTotalPrice(subItem.OrderDetailsList)}}
</td>
<td v-if="childIndex==0" :rowspan="subItem.OrderDetailsList.length">{{subItem.TradingTotalPrice}}</td>
<td v-if="childIndex==0" :rowspan="subItem.OrderDetailsList.length">
{{subItem.Remarks}}
</td>
<td>{{item.TotalPrice}} {{item.CurrencyStr}}</td>
<td>{{item.Remarks}}</td>
</tr>
</template>
<tr v-if="(dataList.ScenicList && !dataList.ScenicList.length) ||
(dataList.BusList && !dataList.BusList.length) ||
(dataList.DiningList && !dataList.DiningList.length) ||
(dataList.HotelList && !dataList.HotelList.length)">
<td colspan="4">暂无数据</td>
</tr>
</tbody>
</template>
</table>
<table border="0" cellspacing="1" class="leaderPayTable">
<tr>
<th>类型</th>
<th>预计总金额</th>
<th>金额</th>
</tr>
<tr v-show="totalList.SelfPayingExpendTotalPrice>0">
<td>自费支出</td>
<td>0</td>
<td>{{moneyFormat(totalList.SelfPayingExpendTotalPrice)}}</td>
</tr>
<tr v-show="totalList.SelfPayingIncomeTotalPrice>0">
<td>自费收入</td>
<td>0</td>
<td>{{moneyFormat(totalList.SelfPayingIncomeTotalPrice)}}</td>
</tr>
<!-- <tr v-show="totalList.IncomeTotalPrice>0">
......@@ -209,22 +351,27 @@ input[type="number"] {
v-show="(totalList.ExpendTotalPrice-totalScenicPrice-totalTrafficPrice-totalDinnerPrice-totalHotelPrice)>0"
>
<td>其他费用</td>
<td>0</td>
<td>{{moneyFormat(totalList.ExpendTotalPrice-totalScenicPrice-totalTrafficPrice-totalDinnerPrice-totalHotelPrice)}}</td>
</tr>
<tr v-show="totalScenicPrice>0">
<td>景点门票</td>
<td>{{moneyFormat(OtherTotalPrice)}}</td>
<td>{{moneyFormat(totalScenicPrice)}}</td>
</tr>
<tr v-show="totalTrafficPrice>0">
<td>交通</td>
<td>{{moneyFormat(SelfPayingExpendTotalPrice)}}</td>
<td>{{moneyFormat(totalTrafficPrice)}}</td>
</tr>
<tr v-show="totalDinnerPrice>0">
<td>餐饮</td>
<td>{{moneyFormat(IncomeTotalPrice)}}</td>
<td>{{moneyFormat(totalDinnerPrice)}}</td>
</tr>
<tr v-show="totalHotelPrice>0">
<td>酒店</td>
<td>{{moneyFormat(ExpendTotalPrice)}}</td>
<td>{{moneyFormat(totalHotelPrice)}}</td>
</tr>
</table>
......@@ -235,7 +382,7 @@ input[type="number"] {
<th>实际领款</th>
<th>实付合计</th>
<th>领队退款</th>
</tr>
</tr>
<tr
v-for="item in TotalPriceData"
v-if="item.PlanPrice > 0 || item.PlanTotalPrice > 0 || item.ExpendTotalPrice > 0"
......@@ -289,7 +436,7 @@ input[type="number"] {
<td colspan="7">暂无数据</td>
</tr>
</table>
<table class="leaderPayTable" border="0" cellspacing="1" cellpadding="0">
<table class="leaderPayTable" border="0" cellspacing="1" cellpadding="0" >
<tr>
<th width="140">团号</th>
<th width="200">实际领款</th>
......@@ -421,6 +568,11 @@ export default {
blankUrl: "",
TotalNav: [],
TimeXiao: false,
list:[],
OtherTotalPrice:0,
SelfPayingExpendTotalPrice:0,
IncomeTotalPrice:0,
ExpendTotalPrice:0,
};
},
methods: {
......@@ -436,7 +588,7 @@ export default {
TCIDList: TCIDARR,
Money: obj.LeaderGetPriceT,
TCNUMS: obj.TCNUMS
};
};
let fullPath = `/ChoiceAddFinancialDocuments?Type=${2}&templateID=${JSON.stringify(id)}&companyID=${obj.OutBranchId}&orderObj=${JSON.stringify(orderObj)}&blank=y&tab=领队报账`;
let dom = document.querySelector("#blankLink");
dom.href = `http://${window.location.host}/#${fullPath}`;
......@@ -458,8 +610,8 @@ export default {
if (res.data.resultCode == 1) {
let TotalNav = res.data.data;
TotalNav.forEach(x => {
TotalNav.LeaderGetPriceT = 0;
});
TotalNav.LeaderGetPriceT = 0;
});
this.TotalNav = TotalNav;
} else {
this.$message.error(res.data.message);
......@@ -501,6 +653,7 @@ export default {
this.totalDinnerPrice
).toFixed(2);
this.isShowRemark = true;
console.log(this.dataList)
} else {
this.Error(res.data.message);
}
......@@ -618,17 +771,100 @@ export default {
// tab: '领队报账'
// }
// })
},
getnewList(){
this.loading = true;
this.apipost('dmcstatistics_post_GetNewLeaderPayStatics_V1', this.msg, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.list = res.data.data;
// this.UseCount = this.list.UseCount;
// if (this.list.OtherOrderReportList.OtherList && this.list.OtherOrderReportList.OtherList.length > 0) {
// this.list.OtherOrderReportList.OtherList.forEach(x => {
// x.CostProject = x.CostProject.toString();
// });
// }
} else {
this.$message.error(res.data.message);
}
}, err => {})
},
peopleStrToWord(str) {
if (str == '1')
return '成人'
if (str == '2')
return '儿童'
if (str == '3')
return '小人'
},
scenicTotalPrice(sObj, obj) {
let totalPrice = 0
obj.forEach(x => {
totalPrice += x.PeoplePrice * (x.UsePeopleNum - x.Discount) * (1 - x.DiscountPrice / 100)
})
if (sObj.PayStyle !== 1) {
totalPrice = 0
}
return this.moneyFormat(totalPrice)
},
busTotalPrice(obj) {
let totalPrice = 0
obj.forEach(item => {
totalPrice += (item.PayType === 1 ? Number(item.CostPrice) : 0) + (item.HighSpeedPayType === 1 ? Number(
item.HighSpeedPrice) : 0) + Number(item.StopPrice)
})
return this.moneyFormat(totalPrice)
},
diningTotalPrice(sObj, obj) {
let totalPrice = 0
obj.forEach(x => {
totalPrice += x.PeoplePrice * (x.PeopleNum - x.Discount) * (1 - x.DiscountPrice / 100)
})
if (sObj.PayStyle !== 1) {
totalPrice = 0
}
return this.moneyFormat(totalPrice)
},
hotelTotalPrice(obj) {
let totalPrice = 0
obj.forEach(x => {
if (x.PayStyle === 1) {
totalPrice += x.UnitPrice * (x.BookNum - x.HotelDiscount) * (1 - x.RebateRatio / 100)
} else {
totalPrice += 0
}
})
return this.moneyFormat(totalPrice)
},
getzongJE(){
this.apipost('dmcstatistics_post_GetNewPlanTotalPrice', {
TCIDs: this.msg.TCIDs
}, res => {
if (res.data.resultCode == 1) {
let data = res.data.data.reimburseTotalPrice;
this.OtherTotalPrice = data.OtherTotalPrice
this.SelfPayingExpendTotalPrice = data.SelfPayingExpendTotalPrice
this.IncomeTotalPrice = data.IncomeTotalPrice
this.ExpendTotalPrice = data.ExpendTotalPrice
} else {
this.$message.error(res.data.message);
}
}, err => {})
}
},
created() {},
mounted() {
this.isUpdate = this.$route.query.isUpdate;
this.msg.TCIDs = this.$route.query.id;
this.getzongJE()
this.getNav();
this.getList();
this.getTotalMoney();
this.getTotalPrice();
this.getNavT();
this.getnewList()
this.getzongJE()
}
};
</script>
......@@ -71,6 +71,7 @@
<th>客户信息</th>
<th>联系人信息</th>
<th>订单状态</th>
<th>创建日期</th>
<th>退款状态</th>
</tr>
<tr>
......@@ -102,6 +103,7 @@
<span v-if="item.status==2">取消</span>
<span v-if="item.status==3">待付款</span>
</td>
<td>{{item.createDate}}</td>
<td>
<p v-if="item.RefundStatus!=1">
<span v-if="item.RefundStatus==2">退款中</span>
......@@ -185,7 +187,7 @@ export default {
AirTicketId: 0,
AirOrderId: 0,
status: 0,
startDate: moment().format("YYYY-MM-DD"),
startDate: "",
endDate: "",
searchKey:"",
rbBranchId:-1,
......
......@@ -452,7 +452,7 @@ input[type="number"] {
<div class="combottomDiv" v-if="isShowDIv">
<div class="combottomTitle">{{divTitle}}</div>
<div class="">
<el-form :model="addMsg" :rules="rules" ref="addMsg" label-width="100px">
<el-form :model="addMsg" :rules="rules" ref="addMsg" label-width="130px">
<el-col :span="5">
<el-form-item :label="$t('system.query_lineName')" prop="lineName">
<el-input v-model="addMsg.lineName"></el-input>
......@@ -521,7 +521,7 @@ input[type="number"] {
</el-col>
<el-col :span="5">
<el-form-item label="线路方向" prop="LineDirection">
<el-select v-model="addMsg.LineDirection" :placeholder="$t('pub.pleaseSel')" class="w290">
<el-select v-model="addMsg.LineDirection" :placeholder="$t('pub.pleaseSel')">
<el-option label='入境' :value='1'></el-option>
<el-option label='出境' :value='2'></el-option>
<el-option label='一日游' :value='3'></el-option>
......@@ -529,7 +529,7 @@ input[type="number"] {
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="线路图片">
<el-form-item label="B2B线路背景图">
<div class="TFimgList">
<img v-if="!addMsg.BackgroundImage" src="../../assets/img/bg_c3@3x.png">
<img v-else :src='addMsg.BackgroundImage'>
......@@ -546,6 +546,25 @@ input[type="number"] {
</div>
</el-form-item>
</el-col>
<el-col :span="5">
<el-form-item label="B2B线路侧边长图">
<div class="TFimgList" style="width:90px">
<img v-if="!addMsg.BroadsideImage" src="../../assets/img/bg_c3@3x.png">
<img v-else :src='addMsg.BroadsideImage'>
<div class="TFIMGzhe">
<div class="TFreupload">
<el-upload :file-list="fileList2" :http-request="uploadTest2" :multiple="true" :limit="2"
:on-change="handleChange2"
accept="image/jpeg, image/gif, image/png, image/bmp"
:show-file-list="false" action="">
<i class="iconfont icon-Edit"></i>
</el-upload>
</div>
</div>
</div>
</el-form-item>
</el-col>
<div class="LM_Btcontent">
<input type="button" class="normalBtn" @click="submitForm('addMsg')" :value="$t('pub.saveBtn')"/>
......@@ -635,6 +654,7 @@ export default {
data() {
return {
fileList:[],
fileList2:[],
msg: {
pageIndex: 1,
pageSize: 6,
......@@ -657,6 +677,7 @@ export default {
Is_PacketGroup: 0,
LineDirection:2,
BackgroundImage:"",
BroadsideImage:'',
},
departCompany: "",
departDepartment: "",
......@@ -701,6 +722,19 @@ export default {
this.fileList = fileList.slice(-1);
},
handleChange2(file, fileList) {
this.fileList2 = fileList.slice(-1);
},
uploadTest2(file) {
let newArr = [];
newArr.push(file.file);
let path = "/Upload/DMC/Icon/";
this.UploadSelfFileT(path, newArr, x => {
let url = this.domainManager().ViittoFileUrl + x.data.FilePath;
this.addMsg.BroadsideImage = url;
});
},
uploadTest(file) {
let newArr = [];
newArr.push(file.file);
......@@ -810,6 +844,8 @@ export default {
this.addMsg.Is_PacketGroup = getInfo.is_PacketGroup;
this.addMsg.LineDirection = getInfo.lineDirection;
this.addMsg.BackgroundImage = getInfo.BackgroundImage;
this.addMsg.BroadsideImage = getInfo.BroadsideImage;
console.log("this.addMsg.BackgroundImage",getInfo)
},
deletelist(lineID) {
......
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