Commit 7d9f2867 authored by 黄媛媛's avatar 黄媛媛
parents 211877bc fc702b66
...@@ -118,10 +118,10 @@ ...@@ -118,10 +118,10 @@
-webkit-box-orient: vertical; -webkit-box-orient: vertical;
font-size: 12px; font-size: 12px;
} }
._fujian_box{ .FinancialDocumentsDetail ._fujian_box{
position: fixed; position: absolute;
left: 961px; left: 895px;
top: 141px; top: -0;
width: 440px; width: 440px;
} }
._wenjian{ ._wenjian{
...@@ -262,8 +262,10 @@ ...@@ -262,8 +262,10 @@
text-decoration: underline; text-decoration: underline;
color: rgb(255, 0, 0); color: rgb(255, 0, 0);
} }
._addUpload_box_btm{ .FinancialDocumentsDetail ._addUpload_box_btm{
padding-top: 20px; padding-top: 20px;
max-height: 230px;
overflow: auto;
} }
._addUpload_box_btm img{ ._addUpload_box_btm img{
width: 100%; width: 100%;
...@@ -373,7 +375,7 @@ ...@@ -373,7 +375,7 @@
</style> </style>
<template> <template>
<div class="page_fdd" v-if="GetDetail"> <div class="page_fdd FinancialDocumentsDetail" v-if="GetDetail">
<div class="_none_print"> <div class="_none_print">
<span class="_Printing" @click="goPrintPage(GetDetail.Type,GetDetail.FrID,GetDetail.Is_Merge,OrderSource)">打印单据</span> <span class="_Printing" @click="goPrintPage(GetDetail.Type,GetDetail.FrID,GetDetail.Is_Merge,OrderSource)">打印单据</span>
<span v-if="GetDetail.TemplateId==48 || GetDetail.TemplateId==43" class="Note_span" @click="goUrl('DebitNote',GetDetail.FrID)">借支单下载</span> <span v-if="GetDetail.TemplateId==48 || GetDetail.TemplateId==43" class="Note_span" @click="goUrl('DebitNote',GetDetail.FrID)">借支单下载</span>
......
...@@ -1483,7 +1483,7 @@ export default { ...@@ -1483,7 +1483,7 @@ export default {
created(){ created(){
var that=this; var that=this;
this.orderObj = this.$route.query.orderObj?JSON.parse(this.$route.query.orderObj):null; this.orderObj = this.$route.query.orderObj?JSON.parse(this.$route.query.orderObj):null;
this.isFrompassenger = this.orderObj.isFromPassenger; this.isFrompassenger = this.orderObj ? this.orderObj.isFromPassenger : undefined;
if(this.orderObj!=null&&this.orderObj.OrderSource===10&&this.isFrompassenger==undefined){ if(this.orderObj!=null&&this.orderObj.OrderSource===10&&this.isFrompassenger==undefined){
that.Description="旅客名单:"; that.Description="旅客名单:";
......
<style> <style>
.HotelWorkList .has-gutter tr th, .el-table th.is-leaf{ .HotelWorkList .has-gutter tr th,
background-color: #EAEAEA!important; .el-table th.is-leaf {
background-color: #EAEAEA !important;
} }
.HotelWorkList .HW_hotelDialog{
width:900px; .HotelWorkList .HW_hotelDialog {
width: 900px;
} }
.HotelWorkList .Hw_tableOne{
width:100%; .HotelWorkList .Hw_tableOne {
height:40px; width: 100%;
background-color:#EAEAEA; height: 40px;
background-color: #EAEAEA;
} }
.HotelWorkList .Hw_tableOne th{
.HotelWorkList .Hw_tableOne th {
text-align: center; text-align: center;
} }
</style> </style>
<template> <template>
<div class="HotelWorkList"> <div class="HotelWorkList">
<div class="query-box" style="border-bottom: none;"> <div class="query-box" style="border-bottom: none;">
<ul> <ul>
<li>
<span>
<em>{{$t('system.quety_area')}}</em>
<el-select v-model="msg.Province" filterable @change="getProvinceList(msg.Province,2)"
:placeholder="$t('hotel.hotel_province')">
<el-option :key="0" :value="0" label="请选择"></el-option>
<el-option v-for="item in provinceList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
</el-select>
<el-select v-model="msg.City" filterable :placeholder="$t('hotel.hotel_city')" >
<el-option :key="0" :value="0" label="请选择"></el-option>
<el-option v-for="item in cityList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
</el-select>
</span>
</li>
<li style="display:none;">
<span><em>{{$t('admin.admin_company')}}</em>
<el-select filterable v-model='msg.OutBranchId' :placeholder="$t('pub.unlimitedSel')">
<el-option :label="$t('pub.unlimitedSel')" :value='-1'></el-option>
<el-option v-for='item in companyList' :label='item.BName' :value='item.Id' :key="item.Id">
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>星级</em>
<el-select v-model="msg.Star" :placeholder="$t('pub.pleaseSel')">
<el-option :label="$t('pub.unlimitedSel')" :value='0'></el-option>
<el-option label="3星或商务" :value='3'></el-option>
<el-option label="4星" :value='4'></el-option>
<el-option label="5星" :value='5'></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>价格区间</em>
<el-select v-model="msg.PriceLevel" :placeholder="$t('pub.pleaseSel')">
<el-option :label="$t('pub.unlimitedSel')" :value='0'></el-option>
<el-option label="5000以下" :value='1'></el-option>
<el-option label="5000~6000" :value='2'></el-option>
<el-option label="6000~7000" :value='3'></el-option>
<el-option label="7000~8000" :value='4'></el-option>
<el-option label="8000~9000" :value='5'></el-option>
<el-option label="9000~10000" :value='6'></el-option>
<el-option label="10000以上" :value='7'></el-option>
</el-select>
</span>
</li>
<li> <li>
<span> <span>
<em>时间</em> <em>时间</em>
...@@ -26,8 +80,29 @@ ...@@ -26,8 +80,29 @@
</el-date-picker> </el-date-picker>
</span> </span>
</li> </li>
<li>
<span>
<em>供应商</em>
<el-select v-model="msg.Supplier" placeholder="请选择">
<el-option :label="$t('pub.unlimitedSel')" :value='0'></el-option>
<el-option v-for="(item,index) in SupplierList" :key="index" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>酒店</em>
<el-select v-model="msg.HotelChooseArray" :placeholder="$t('pub.pleaseSel')" class="multiple_input w300"
filterable multiple :multiple-limit="3">
<el-option v-for="item in HotelList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
</el-select>
</span>
</li>
<li> <li>
<input type="button" class="normalBtn" value="查询" @click="getList()" /> <input type="button" class="normalBtn" value="查询" @click="getList()" />
<input type="button" class="normalBtn" value="下载" @click="DownLoadHotelWork()" />
</li> </li>
</ul> </ul>
</div> </div>
...@@ -56,24 +131,15 @@ ...@@ -56,24 +131,15 @@
<template <template
v-if="scope.row.DayList[index].HotelJourneyOrderList&&scope.row.DayList[index].HotelJourneyOrderList.length>0"> v-if="scope.row.DayList[index].HotelJourneyOrderList&&scope.row.DayList[index].HotelJourneyOrderList.length>0">
<template v-for="(childItem,childIndex) in scope.row.DayList[index].HotelJourneyOrderList"> <template v-for="(childItem,childIndex) in scope.row.DayList[index].HotelJourneyOrderList">
<div :title="childItem.TCID+'【未操作】'" v-if="childItem.DMCState==0" slot="reference" class="w80" <div :title="childItem.TCID+'【OK】'" v-if="childItem.DMCState==1||childItem.OPState==1" slot="reference" class="w80"
style="white-space:nowrap;color:red;cursor:pointer;text-decoration:underline;"
@click="outerVisible=true,GetChangeHotelList(item.DateAllStr,scope.row.Hotel,childItem.TCID)">
{{childItem.BookGroup}}</div>
<div :title="childItem.TCID+'【OK】'" v-if="childItem.DMCState==1" slot="reference" class="w80"
style="white-space:nowrap;color:green;cursor:pointer;text-decoration:underline;" style="white-space:nowrap;color:green;cursor:pointer;text-decoration:underline;"
@click="outerVisible=true,GetChangeHotelList(item.DateAllStr,scope.row.Hotel,childItem.TCID)"> @click="outerVisible=true,GetClickItem(item.DateAllStr,scope.row.Hotel,childItem.TCID)">
{{childItem.BookGroup}} </div> {{childItem.BookGroup}} </div>
<div :title="childItem.TCID+'【暂定】'" v-if="childItem.DMCState==2" slot="reference" class="w80"
style="white-space:nowrap;color:#3333CC;;cursor:pointer;text-decoration:underline;"
@click="outerVisible=true,GetChangeHotelList(item.DateAllStr,scope.row.Hotel,childItem.TCID)">
{{childItem.BookGroup}}</div>
</template> </template>
</template> </template>
<template v-else> <template v-else>
<div slot="reference" class="w80" style="cursor:pointer;text-decoration:underline;" <div slot="reference" class="w80" style="cursor:pointer;text-decoration:underline;"
@click="outerVisible=true,GetChangeHotelList(item.DateAllStr,scope.row.Hotel,0)">设置酒店 @click="outerVisible=true,GetClickItem(item.DateAllStr,scope.row.Hotel,0)">设置酒店
</div> </div>
</template> </template>
</template> </template>
...@@ -85,8 +151,12 @@ ...@@ -85,8 +151,12 @@
<p>{{$t("active.ld_noData")}}</p> <p>{{$t("active.ld_noData")}}</p>
</div> </div>
</template> </template>
<el-dialog custom-class='HW_hotelDialog' :title="'【'+CurrentDateStr+'】团期酒店信息列表'" :visible.sync="outerVisible" center> <el-dialog custom-class='HW_hotelDialog' :title="'【'+qMsg.DateStr+'】团期酒店信息列表'" :visible.sync="outerVisible" center>
<table class="Hw_tableOne"> <div>
团号/地接团号:&nbsp;&nbsp;&nbsp;<el-input type="text" v-model="qMsg.TCNUM" maxlength="50" class="w200"></el-input>
<input type="button" class="normalBtn" value="查询" @click="GetChangeHotelList()" />
</div>
<table class="Hw_tableOne" style="margin-top:20px;">
<tr> <tr>
<th width="60"> <th width="60">
选择 选择
...@@ -111,8 +181,9 @@ ...@@ -111,8 +181,9 @@
</th> </th>
</tr> </tr>
</table> </table>
<div style="height:450px;overflow:auto;"> <div style="height:400px;overflow:auto;border-bottom:1px solid #d1d1d1;border-left:1px solid #d1d1d1;"
<table v-loading="changeLoading" style="width:100%;"> v-loading="changeLoading">
<table style="width:100%;">
<tr v-for="(hItem,hIndex) in MyDataList"> <tr v-for="(hItem,hIndex) in MyDataList">
<td style="text-align:center;" width="60"> <td style="text-align:center;" width="60">
<el-checkbox :checked="hItem.IsChecked" @change="ChangeStatus(hItem)"></el-checkbox> <el-checkbox :checked="hItem.IsChecked" @change="ChangeStatus(hItem)"></el-checkbox>
...@@ -149,14 +220,6 @@ ...@@ -149,14 +220,6 @@
</template> </template>
</td> </td>
</tr> </tr>
<!-- <tfoot>
<tr>
<td colspan="7" style="text-align:center;">
<input type="button" class="normalBtn" value="保存" @click="SaveHotelOrder()" />
<input type="button" class="normalBtn" value="关闭" @click="CloseHotel()" />
</td>
</tr>
</tfoot> -->
</table> </table>
</div> </div>
<div style="text-align:center;margin-top:20px;"> <div style="text-align:center;margin-top:20px;">
...@@ -175,16 +238,41 @@ ...@@ -175,16 +238,41 @@
msg: { msg: {
YearMonthStr: "", YearMonthStr: "",
CountryId: 651, //只查询日本 CountryId: 651, //只查询日本
//酒店选择数组
HotelChooseArray: [],
Province: 0,//省份编号
City: 0, //城市编号
OutBranchId: -1, //出团公司编号
//星级
Star: 0,
//价格等级
PriceLevel: 0,
//供应商
Supplier: 0,
}, },
defaultSelectValue: 0, qMsg: {
DateStr: "",
HotelId: 0, HotelId: 0,
TCID: 0,
TCNUM: "", //团号
}, //团查询条件
defaultSelectValue: 0,
dataList: [], dataList: [],
loading: false, loading: false,
isShow: false, isShow: false,
changeLoading: false, //改变酒店loading changeLoading: false, //改变酒店loading
MyDataList: [], //获取可变更的酒店列表 MyDataList: [], //获取可变更的酒店列表
outerVisible: false, outerVisible: false,
CurrentDateStr:"",//选中的日期 //省份列表
provinceList: [],
//城市列表
cityList: [],
//供应商列表
SupplierList: [],
//公司列表
companyList: [],
//酒店列表
HotelList: [],
}; };
}, },
components: { components: {
...@@ -204,34 +292,36 @@ ...@@ -204,34 +292,36 @@
ChangeStatus(item) { ChangeStatus(item) {
item.IsChecked = !item.IsChecked; item.IsChecked = !item.IsChecked;
}, },
CloseHotel() CloseHotel() {
{ this.outerVisible = false;
this.outerVisible=false; this.MyDataList = [];
this.HotelId=0; this.qMsg.DateStr = "";
this.MyDataList=[]; this.qMsg.HotelId = 0;
this.CurrentDateStr=''; this.qMsg.TCID = 0;
this.qMsg.TCNUM = "";
},
GetClickItem(DateStr, HotelId, TCID) {
this.qMsg.DateStr = DateStr;
this.qMsg.HotelId = HotelId;
this.qMsg.TCID = TCID;
this.GetChangeHotelList();
}, },
//获取可以改变的酒店列表 //获取可以改变的酒店列表
GetChangeHotelList(DateStr, HotelId,TCID) { GetChangeHotelList() {
this.CurrentDateStr=DateStr;
this.changeLoading = true; this.changeLoading = true;
this.HotelId=HotelId;
this.MyDataList = []; this.MyDataList = [];
var that = this; var that = this;
this.apipost("journeyorder_post_GetCanChangeHotelListService", { this.apipost("journeyorder_post_GetCanChangeHotelListService", this.qMsg,
UseTime: DateStr
},
res => { res => {
that.changeLoading = false; that.changeLoading = false;
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
var nArray = res.data.data; var nArray = res.data.data;
nArray.forEach(item => { nArray.forEach(item => {
if (item.TCID == TCID) { if (item.TCID == this.qMsg.TCID) {
item.IsChecked = true; item.IsChecked = true;
} }
}); });
that.MyDataList = nArray; that.MyDataList = nArray;
console.log(that.MyDataList,'MydataList');
} else { } else {
that.Error(res.data.message); that.Error(res.data.message);
} }
...@@ -248,7 +338,7 @@ ...@@ -248,7 +338,7 @@
that.MyDataList.forEach(item => { that.MyDataList.forEach(item => {
if (item.IsChecked) { if (item.IsChecked) {
var Nitem = JSON.parse(JSON.stringify(item)); var Nitem = JSON.parse(JSON.stringify(item));
Nitem.NewHotelID = that.HotelId; Nitem.NewHotelID = that.qMsg.HotelId;
newList.push(Nitem); newList.push(Nitem);
} }
}); });
...@@ -291,9 +381,88 @@ ...@@ -291,9 +381,88 @@
err => {} err => {}
); );
}, },
getProvinceList(ID, type) {
//根据省份获取城市
let msg = {
Id: ID
};
if (type == 1) {
this.msg.Province = 0;
this.msg.City = 0;
this.provinceList = [];
this.cityList = [];
} else if (type == 2) {
this.msg.City = 0;
this.cityList = [];
}
this.apipost(
"dict_post_Destination_GetChildList",
msg,
res => {
if (type == 1) {
this.provinceList = res.data.data;
} else if (type == 2) {
this.cityList = res.data.data;
}
},
err => {}
);
},
// 获取供应商
initSupplier() {
this.apipost("supplier_post_GetAllList", {
Type: 1
}, res => {
if (res.data.resultCode === 1) {
this.SupplierList = res.data.data;
}
}, err => {});
},
getBranchList() {
this.apipost('admin_get_BranchGetList', {
RB_Group_Id: '2',
Status: 0,
}, res => {
if (res.data.resultCode == 1) {
this.companyList = res.data.data;
}
}, err => {})
},
//获取酒店列表
GetHotelList() {
this.apipost(
"hotel_post_GetHasStockHotelList", {
Country: 651,
IsMoreThanZero: 1
},
res => {
if (res.data.resultCode == 1) {
this.HotelList = res.data.data;
}
},
err => {}
);
},
//Excel下载
DownLoadHotelWork() {
this.loading = true;
let qMsg = {
queryMsg: this.msg,
uid: this.getLocalStorage().EmployeeId
};
let fileName = "酒店工作表" + this.$commonUtils.getCurrentDate() + ".xls";
this.GetLocalFile("hotel_get_downloadHotelWork", qMsg, fileName,
res => {
this.loading = false;
});
},
}, },
mounted() { mounted() {
this.GetHotelList();
this.msg.YearMonthStr = new Date().Format("yyyy-MM"); this.msg.YearMonthStr = new Date().Format("yyyy-MM");
this.getProvinceList(651, 1);
//this.getBranchList();
this.initSupplier();
this.getList(); this.getList();
}, },
}; };
......
...@@ -448,7 +448,6 @@ ...@@ -448,7 +448,6 @@
"-" + "-" +
myDate.getDate(); myDate.getDate();
this.msg.StartDate = nowDate; this.msg.StartDate = nowDate;
//this.msg.StartDate = '2019-06-26'
this.getLineList(); this.getLineList();
this.getList(); this.getList();
}, },
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<div style="width: 100%; overflow-x: auto;padding-bottom: 10px; "> <div style="width: 100%; overflow-x: auto;padding-bottom: 10px; ">
<table border="0" cellspacing="1" cellpadding="0" class="roomReservationsTalbe" v-loading="loading"> <table border="0" cellspacing="1" cellpadding="0" class="roomReservationsTalbe" v-loading="loading">
<tr> <tr>
<th colspan="8">导游操作</th> <th colspan="6">导游操作</th>
<th colspan="8">地接OP</th> <th colspan="8">地接OP</th>
</tr> </tr>
<tr> <tr>
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
<th width="80">进店人数</th> <th width="80">进店人数</th>
<th width="100">总金额</th> <th width="100">总金额</th>
<th width="100">佣金领取状况</th> <th width="100">佣金领取状况</th>
<th width="120">凭证上传</th> <th width="120" style="display:none;">凭证上传</th>
<th width="100">领队佣金<br />应付</th> <th width="100">领队佣金<br />应付</th>
<th width="100">导游佣金<br />应付</th> <th width="100">导游佣金<br />应付</th>
<th width="100">公司佣金<br />应收</th> <th width="100">公司佣金<br />应收</th>
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
<el-option label="公司领取" :value='2'></el-option> <el-option label="公司领取" :value='2'></el-option>
</el-select> </el-select>
</td> </td>
<td class="more_td" @click="upIndex = outindex" v-if="subIndex==0" :rowspan="item.ShopDetailsList.length"> <td class="more_td" @click="upIndex = outindex" v-if="subIndex==0" :rowspan="item.ShopDetailsList.length" style="display:none;">
<p v-for="(img, imgIndex) in item.ShopDetailsList[0].imgList" @click="downLoadPZ(img)" v-if="img !== ''" <p v-for="(img, imgIndex) in item.ShopDetailsList[0].imgList" @click="downLoadPZ(img)" v-if="img !== ''"
style="cursor: pointer;padding: 5px;" title="点击下载">{{ '凭证' + (imgIndex + 1)}} <span style="cursor: pointer;padding: 5px;" title="点击下载">{{ '凭证' + (imgIndex + 1)}} <span
style="text-align: right;color: red;" @click.stop="UploadType=1,deleteImg(outindex,imgIndex)">X</span> style="text-align: right;color: red;" @click.stop="UploadType=1,deleteImg(outindex,imgIndex)">X</span>
......
<style>
.SalesHotelOrder .query-box{
border-bottom:0;
}
.SalesHotelOrder .SalesHotelOrderTable{
width: 100%;
min-width: 1500px;
font-size: 14px;
color: #333;
border-bottom: 1px solid #cccccc;
border-right: 1px solid #cccccc;
border-collapse: collapse;
}
.SalesHotelOrder .SalesHotelOrderTable th{
background: #e6e6e6;
height: 30px;
font-size: 12px;
text-align: center;
border-top: 1px solid #cccccc;
border-left: 1px solid #cccccc;
}
.SalesHotelOrder .SalesHotelOrderTable tr td{
height: 60px;
padding: 10px;
background-color: #fff;
text-align: center;
border-top: 1px solid #cccccc;
border-left: 1px solid #cccccc;
}
.SalesHotelOrder .SalesHotelOrderTable tbody tr:last-child{
border-bottom:2px solid #333;
}
.SalesHotelOrder .SH_beizhu{
float:left;
}
.SalesHotelOrder .SH_beizhuInner{
float:left;
width:85%;
}
.SalesHotelOrder .SH_OrderDan>div{
display:inline-block;
}
.groupTourOrder_count {
margin: 0 0 20px 0;
width: 100%;
height: auto;
}
.groupTourOrder_count_col {
height: 80px;
}
.groupTourOrder_count_item {
font-weight: 400;
padding: 10px;
height: 100%;
border: 1px solid #E6E6E6;
background-color: #FFFFFF;
color: #333333;
}
.groupTourOrder_count_item>div>i {
font-size: 12px;
vertical-align: bottom;
}
.groupTourOrder_count_item>div>span:nth-child(2) {
font-size: 14px;
vertical-align: bottom;
}
.groupTourOrder_count_item>div>span:nth-child(3) {
font-weight: bold;
font-size: 16px;
vertical-align: bottom;
}
.groupTourOrder_count_item>p {
font-size: 12px;
line-height: 18px;
}
.groupTourOrder_count_item>p>span {
margin: 0 5px 0 0;
white-space: nowrap;
}
.groupTourOrder_count_green {
color: #1BC594;
}
.groupTourOrder_count_blue {
color: #4D7AFD;
}
.groupTourOrder_count_yellow {
color: #FF9C00;
}
.groupTourOrder_count_gray {
color: #999999;
}
.HT_total span{
display: inline-block;
margin:5px 10px 0 0!important;
}
.HT_totalFinacel span{
display: inline-block;
margin:3px 5px 0 0!important;
}
.color_red_order {
color: #e95252 !important;
}
.groupTourOrderByTuan_ico>i{
display: inline-block;
margin: 0 2px 0 0;
width: 8px;
height: 8px;
border-radius: 2px;
vertical-align: middle;
}
.groupTourOrder_tickets_red {
color: #FF0000;
text-decoration: underline;
cursor: pointer;
}
.groupTourOrder_tickets_blue {
color: #0000FF;
text-decoration: underline;
cursor: pointer;
}
.groupTourOrder_tickets_green {
color: #008000;
text-decoration: underline;
cursor: pointer;
}
.groupTourOrder_tickets_black {
color: #000000;
text-decoration: underline;
cursor: pointer;
}
</style>
<template>
<div class="flexOne SalesHotelOrder">
<div class="query-box">
<ul>
<li>
<span>
<em>订单状态</em>
<el-select v-model='msg.B2BSelectOrderState' filterable :placeholder="$t('pub.pleaseSel')">
<el-option v-for="item in orderStatus" :label='item.Name' :value='item.Id' :key='item.Id'>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>公司</em>
<el-select v-model="msg.RB_Branch_Id" placeholder="请选择公司" @change="getDepartmentMsg.RB_Branch_Id = msg.RB_Branch_Id, getDepartment(),msg.RB_Department_Id = 0,msg.CreateBy = 0">
<el-option :value="-1" :label="$t('pub.unlimitedSel')"></el-option>
<el-option v-for='item in CompanyList'
:label='item.BName'
:value='item.Id'
:key='item.Id'>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>部门</em>
<el-select v-model="msg.RB_Department_Id" placeholder="请选择部门" @change="employeeMsg.DepartmentId = msg.RB_Department_Id,employeeMsg.BranchId=msg.RB_Branch_Id, getEmployee(), msg.CreateBy=0">
<el-option :value="0" :label="$t('pub.unlimitedSel')"></el-option>
<el-option v-for='item in DepartmentList'
:label='item.DepartmentName'
:value='item.DepartmentID'
:key='item.DepartmentID'>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>创建人</em>
<el-select filterable v-model='msg.CreateBy'>
<el-option :value="0" :label="$t('pub.unlimitedSel')"></el-option>
<el-option v-for='item in EmployeeList'
:label='item.EmName'
:value='item.EmployeeId'
:key='item.EmployeeId'>
</el-option>
</el-select>
</span>
</li>
<li>
<span><em>订单号</em>
<el-input v-model='msg.ProductName' :placeholder="$t('pub.pleaseImport')"></el-input>
</span>
</li>
<li>
<span>
<em>游玩开始时间</em>
<el-date-picker type="date" v-model="msg.StartTime"
:picker-options="StartTimeBefore" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</span>
</li>
<li>
<span>
<em>游玩结束时间</em>
<el-date-picker type="date" v-model="msg.EndTime"
:picker-options="EndTimeAfter" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</span>
</li>
<li>
<span>
<em>创建开始时间</em>
<el-date-picker type="date" v-model="msg.CStartTime"
:picker-options="CStartTimeBefore" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</span>
</li>
<li>
<span>
<em>创建结束时间</em>
<el-date-picker type="date" v-model="msg.CEndTime"
:picker-options="CEndTimeAfter" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</span>
</li>
<li>
<input type="button" class="hollowFixedBtn" @click="resetPageIndex();getList()" :value="$t('pub.searchBtn')" />
</li>
</ul>
</div>
<!-- 统计版块 -->
<div class="groupTourOrder_count">
<el-row :gutter="20">
<el-col :span="5" class="groupTourOrder_count_col">
<div class="groupTourOrder_count_item HT_total">
<div>
<i class="iconfont icon-qian groupTourOrder_count_green"></i>
<span>总价</span>
</div>
<p>
<span class="groupTourOrder_count_green">总价:{{TotalMsg.totalPrice}}</span>
<span class="groupTourOrder_count_green">总收入:{{TotalMsg.totalIncomePrice}}</span>
<span class="color_red_order">待收:{{TotalMsg.totalUnreceivedPrice}}</span>
</p>
</div>
</el-col>
<el-col :span="5" class="groupTourOrder_count_col">
<div class="groupTourOrder_count_item HT_total">
<div>
<i class="iconfont icon-tongji1 groupTourOrder_count_blue"></i>
<span>数量</span>
</div>
<p>
<span class="groupTourOrder_count_green">旅客总数:{{TotalMsg.totalRoomNum}}</span>
<span class="color_red_order">取消数:{{TotalMsg.totalCancelRoomNum}}</span>
</p>
</div>
</el-col>
<el-col :span="5" class="groupTourOrder_count_col">
<div class="groupTourOrder_count_item HT_total">
<div>
<i class="iconfont icon-tongji1 groupTourOrder_count_gray"></i>
<span>其他统计项</span>
</div>
<p>
<span class="groupTourOrder_count_green">内部报名:{{TotalMsg.totalERP}}</span>
<span class="color_red_order">B2B/WAP网络报名:{{TotalMsg.totalB2B}}</span>
</p>
</div>
</el-col>
<el-col :span="5" class="groupTourOrder_count_col">
<div class="groupTourOrder_count_item HT_totalFinacel">
<div>
<i class="iconfont icon-tongji1 groupTourOrder_count_gray"></i>
<span>财务单据说明</span>
</div>
<p>
<span class="groupTourOrderByTuan_ico"><i style="background-color:#0000ff"></i><span>已打单</span></span>
<span class="groupTourOrderByTuan_ico"><i style="background-color:#00FF00"></i><span>平台出纳已审核</span></span>
<span class="groupTourOrderByTuan_ico"><i style="background-color:#FF0000"></i><span>银行出纳已审核</span></span>
<span class="groupTourOrderByTuan_ico"><i style="background-color:#000000"></i><span>已通过</span></span>
</p>
</div>
</el-col>
</el-row>
</div>
<table class="SalesHotelOrderTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading">
<tr>
<th>订单号</th>
<th>第三方订单号</th>
<th>人数</th>
<th>总额</th>
<th>实收</th>
<th>大红包</th>
<th>优惠金额</th>
<th>待收金额</th>
<th>订单状态</th>
<th>创建时间</th>
<th>游玩时间</th>
<th>取消费用</th>
<th>客户信息</th>
<th>创建人</th>
<th>结束时间</th>
<th>操作</th>
</tr>
<tbody v-for="(item,index) in dataList">
<tr>
<td style="border-bottom:2px solid #333" rowspan="2">{{item.OrderID}}</td>
<td>{{item.ThirdOrderNo}}</td>
<td>{{item.Number}}</td>
<td>{{item.TotalPrice}}</td>
<td>{{item.Income}}</td>
<td>{{item.RedEnvelopeMoney}}</td>
<td>{{item.DiscountMoney}}</td>
<td>{{item.DueinMoney}}</td>
<td>
<span :class="item.OrderStatus=='已取消'?'color_red_order':''">{{item.OrderStatus}}</span>
</td>
<td>{{item.CreateDateStr}}</td>
<td>{{item.CheckInStr}}</td>
<td>{{item.CancelFee}}</td>
<td>{{item.CustomerName}}/{{item.CustomerPhone}}</td>
<td>{{item.CreateByStr}}</td>
<td>{{item.EndTime}}</td>
<td>
<el-row>
<el-button-group>
<el-tooltip class="item" effect="dark" content="付款" placement="top-start">
<el-button type="primary" icon="iconfont icon-fukuan2" @click="getShouKuan(item)" ></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="取消订单" placement="top-start">
<el-button type="info" v-if="item.IsCanOrder" icon="iconfont icon-quxiao1" @click="Exit(item)"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="确定" placement="top-start">
<el-button type="success" icon="iconfont icon-duigou" v-if="item.IsCanClear == 0" @click="queren(1, item.OrderID)" ></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="取消确认" placement="top-start">
<el-button type="info" icon=" iconfont icon-quxiao1" v-if="item.IsCanClear == 1" @click="queren(0, item.OrderID)"></el-button>
</el-tooltip>
<!-- <el-tooltip class="item" effect="dark" content="关联团" placement="top-start">
<el-button type="warning" icon="iconfont icon-guanlian" @click="TCID = '',GLOrderID = item.OrderID,dialogFormVisible = true"></el-button>
</el-tooltip> -->
<el-tooltip class="item" effect="dark" content="详情" placement="top-start">
<el-button type="success" icon="iconfont icon-sousuo" @click="goOrderDetails(item.OrderID)"></el-button>
</el-tooltip>
</el-button-group>
</el-row>
</td>
</tr>
<tr>
<td colspan="7" style="text-align:left;width:600px">
<div class="clearfix">
<div class="SH_beizhu" style="">
备注:
</div>
<div class="SH_beizhuInner">
{{item.Remark}}
</div>
</div>
</td>
<td colspan="9" style="text-align:left;width:600px">
<div class="SH_OrderDan">
<div>收款单据:</div>
<div>
<span v-for="subItem in item.FinanceList">
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-if="subItem.ColorState===1" class="groupTourOrder_tickets_blue">{{subItem.FrID}}</span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===2" class="groupTourOrder_tickets_green">{{subItem.FrID}}</span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===3" class="groupTourOrder_tickets_red">{{subItem.FrID}}</span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===4" class="groupTourOrder_tickets_black">{{subItem.FrID}}</span>
</span>
<span v-if="item.FinanceList==0">暂无数据</span>
</div>
</div>
<div class="SH_OrderDan">
<div>付款单据:</div>
<div>
<span v-for="subItem in item.RefundFinanceList">
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-if="subItem.ColorState===1" class="groupTourOrder_tickets_blue">{{subItem.FrID}}</span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===2" class="groupTourOrder_tickets_green">{{subItem.FrID}}</span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===3" class="groupTourOrder_tickets_red">{{subItem.FrID}}</span>
<span @click="goUrlFinacel('财务单据','FinancialDocumentsDetail',subItem.FrID)" v-else-if="subItem.ColorState===4" class="groupTourOrder_tickets_black">{{subItem.FrID}}</span>
</span>
<span v-if="item.RefundFinanceList==0">暂无数据</span>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<div class="noDataNotice" v-if="dataList.length<1">
<i class="iconfont icon-kong"></i>
<p>{{$t("active.ld_noData")}}</p>
</div>
<el-dialog title="请选择团号" width="400px" :visible.sync="dialogFormVisible" center :before-close="closeChangeMachie">
<el-form label-width="110px">
<el-form-item label="团号">
<el-select
v-model="TCID"
filterable
remote
reserve-keyword
:placeholder="$t('pub.pleaseImport')"
:remote-method="remoteMethodTCNum"
:loading="loading2">
<el-option
v-for="item in searchList"
:key="item.TCID"
:label="item.TCNUM"
:value="item.TCID">
<span style="float: left">{{ item.TCNUM }}</span>
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="dialogFormVisible=false,GLOrderID = ''">{{$t('pub.cancelBtn')}}</button>
<button class="normalBtn" type="primary" @click="querenGL">{{$t('pub.sureBtn')}}</button>
</div>
</el-dialog>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage" layout="total,prev, pager, next, jumper"
:page-size=msg.pageSize :total=total>
</el-pagination>
<el-dialog title="取消订单" width="400px" :visible.sync="dialogFormVisible">
<el-form :model="exitMsg" label-width="80px">
<el-form-item label="取消类型">
<el-select size="small" v-model="exitMsg.cancel_type" placeholder="请选择取消类型">
<el-option label="行程变更或取消" value="MC001"></el-option>
<el-option label="重复订单" value="MC002"></el-option>
<el-option label="价格原因" value="MC003"></el-option>
<el-option label="个人因素" value="MC004"></el-option>
<el-option label="交通因素" value="MC005"></el-option>
<el-option label="交通因素" value="MC006"></el-option>
<el-option label="其他" value="MC999"></el-option>
</el-select>
</el-form-item>
<el-form-item label="取消原因" >
<el-input v-model="exitMsg.cancel_desc" autocomplete="off" type="textarea" :rows="2"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="dialogFormVisible = false">取 消</el-button>
<el-button size="small" type="danger" @click="ExitOrder">确 定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
dialogFormVisible:false,
exitMsg:{
orderId:'',
cancel_type:"",
cancel_desc:"",
CancelBy:'',
},
msg: {
pageIndex:1,
pageSize:10,
B2BSelectOrderState:0,
RB_Branch_Id:-1,
RB_Department_Id:0,
CreateBy:0,
HotelName:'',
StartTime:'',
EndTime:'',
CStartTime:'',
CEndTime:''
},
TCID: '',
GLOrderID: '',
total:0,
currentPage: 1,
loading:false,
StartTimeBefore: {
disabledDate: time => {
if (this.msg.EndTime == null) {
return false;
} else {
let endTime = new Date(this.msg.EndTime)
return endTime.getTime() < time.getTime()
}
}
},
EndTimeAfter: {
disabledDate: time => {
let startTime = new Date(this.msg.StartTime)
return startTime.getTime() >= time.getTime()
}
},
CStartTimeBefore: {
disabledDate: time => {
if (this.msg.CEndTime == null) {
return false;
} else {
let endTime = new Date(this.msg.CEndTime)
return endTime.getTime() < time.getTime()
}
}
},
CEndTimeAfter: {
disabledDate: time => {
let startTime = new Date(this.msg.CStartTime)
return startTime.getTime() >= time.getTime()
}
},
orderStatus:[{
Name:'全部',
Id:0
},{
Name:'待支付',
Id:1
},{
Name:'交易完成',
Id:2
},{
Name:'取消',
Id:3
}],
dataList: [],
getCompanyMsg:{ // 公司
RB_Group_Id:'0',
Status:'0',
},
getDepartmentMsg:{// 部门
RB_Group_Id:'',
RB_Branch_Id:'',
Status:0,
ParentId:-1,
Tier:0,
},
employeeMsg:{ // 员工
GroupId:'',
BranchId:-1,
DepartmentId:0,
PostId:0,
IsLeave:0,
},
CompanyList:[],
DepartmentList:[],
EmployeeList:[],
//统计快
TotalMsg:[],
searchList: [],
loading2: false,
dialogFormVisible: false,
};
},
methods: {
Exit(item){
let userInfo = this.getLocalStorage();
this.dialogFormVisible=true;
this.exitMsg.orderId=item.OrderID;
this.exitMsg.CancelBy=userInfo.EmployeeId;
},
ExitOrder(){
if(this.exitMsg.cancel_type==""){
this.Error("请选择取消类型!");
return;
}
this.dialogFormVisible=false;
this.apipost(
"dmc_post_Get_KKDayOrderCancel",
this.exitMsg,
res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.$emit('queryDays')
this.exitMsg={
orderId:'',
cancel_type:"",
cancel_desc:"",
CancelBy:'',
};
} else {
this.$message.error(res.data.message);
}
},
null
);
},
GotoUrl(TCNUM) {
this.$router.push({
path: "TravelControlList",
query: {
tcmun: TCNUM,
blank: 'y',
tab: "团控查询",
}
});
},
querenGL(){
this.apipost("dmc_post_get_RelevanceTCID",{ TCID: this.TCID, OrderID: this.GLOrderID },res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.getList();
this.dialogFormVisible = false
}
},err => {});
},
closeChangeMachie(done) { // 弹=窗口关闭
done();
},
remoteMethodTCNum(query) {
if (query !== ''||this.addShow) {
this.loading2 = true;
this.apipost("InvoiceApply_get_GetPriceList",{ TCNUM:query },res => {
if (res.data.resultCode == 1) {
this.searchList = res.data.data;
this.loading2 = false;
}
},err => {});
} else {
this.searchList = [];
this.loading2 = false;
}
},
queren(type, OrderID){
let text = type == 1 ? '确认后,订单不会自动取消' : '取消后,订单会自动取消'
this.$confirm(text, this.$t('tips.tips'), {
confirmButtonText: this.$t('pub.sureBtn'),
cancelButtonText: this.$t('pub.cancelBtn'),
type: 'warning'
}).then(() => {
this.apipost('KKDayOrder_Post_UpdateOrderCanClear',{OrderID: OrderID, IsCanClear: type},res=>{
if(res.data.resultCode==1){
this.Success(res.data.message);
this.getList();
}else{
this.Error(res.data.message);
}
},err=>{})
}).catch(() => {
this.$message({
type: 'info',
message: this.$t('ios.yi') + this.$t('pub.cancelBtn')
});
});
},
goOrderDetails(ID){
this.$router.push({
name: 'freeTravelOrderDetails',
query: {
ID: ID,
blank:'y',
}
})
},
getList() {
//获取列表
this.loading = true;
this.apipost(
"sellorder_post_GetAllKKDayOrderList",
this.msg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.dataList = res.data.data.pageData;
this.total = res.data.data.count;
console.log(this.dataList,'datalist');
let userInfo = this.getLocalStorage();
let EmployeeId = userInfo.EmployeeId;
this.dataList.forEach(x=>{
if((x.CreateBy == EmployeeId ||EmployeeId == 1 || EmployeeId == 5) && x.IsCanOrder == 0){
x.ShowBtn = true;
}else{
x.ShowBtn = false;
}
})
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
//获取统计数据
getTotalCount(){
this.apipost(
"sellorder_post_GetAllKKDayStatisticsList",
this.msg,
res => {
if (res.data.resultCode == 1) {
this.TotalMsg = res.data.data;
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1
},
getCompanyList: function () { //获取公司列表
this.apipost('admin_get_BranchGetList',this.getCompanyMsg,res=>{
if(res.data.resultCode==1){
this.CompanyList=res.data.data;
}else{}
},err=>{})
},
getDepartment: function () { //获取部门列表
this.apipost('admin_get_DepartmentGetList', this.getDepartmentMsg, res => {
if(res.data.resultCode == 1) {
this.DepartmentList = res.data.data;
}
}, err => {})
},
getEmployee() { //员工
this.apipost('admin_get_EmployeeGetList', this.employeeMsg, res => {
if(res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
}
}, err => {})
},
//点击取消操作
cancelHTorder(ThirdOrderNo){
let userInfo = this.getLocalStorage();
let EmployeeId = userInfo.EmployeeId;
let msg ={
bookingNumber:ThirdOrderNo,
CancelBy:EmployeeId,
CancelType:1
}
this.apipost(
"dmc_post_Get_GetJAPAN_GetJAPAN_ReservationCancallation",
msg,
res => {
if (res.data.resultCode == 1) {
this.Success('取消成功');
this.getList();
} else {
this.Error(res.data.message);
}
},
null
);
},
//点击收款
getShouKuan(obj){
let TCIDARR = obj.TCID ? [obj.TCID] : [];
let orderObj = {
OrderID:obj.OrderID,
OrderSource: 15,
Obj: {},
SourceID:null,
TCIDList: TCIDARR
}
this.$router.push({
name: 'ChoiceAddFinancialDocuments',
query:{
"Type":1,
"companyID":obj.RB_Branch_id,
"path": "",
'blank':'y',
'orderObj':JSON.stringify(orderObj),
'tradeWay':1,
'platformAccount':0
}
});
},
//跳转财务单据
goUrlFinacel: function(name, path, id) {
this.$router.push({
name: path,
query: { id: id, blank: "y", tab: name }
});
}
},
mounted() {
let userInfo=this.getLocalStorage();
this.getCompanyMsg.RB_Group_Id=userInfo.RB_Group_id; //集团
this.getDepartmentMsg.RB_Branch_Id=userInfo.RB_Branch_id; //公司
this.getCompanyList()
this.getDepartment()
this.getEmployee()
this.getList();
this.getTotalCount();
}
};
</script>
<template>
<div id="app" class="commonF FreeInfo" style="padding-bottom:20px">
<div class="w1200">
<el-row>
<el-col class="Left" :span="6">
<div style="border:1px solid #E0E0E0;margin-top:20px;">
<div class="imgDiv"><img style="width:100%;height:100%" :src="ImgSrc" :onerror="defaultImg" alt=""></div>
<p class="cee f20" style="padding:16px">
{{oldModel.ProductName}}
</p>
<p class="f14" style="padding:6px 16px"><span class="c99">日期</span><span class="c66" style="margin-left:20px">{{oldModel.StartDate}}</span></p>
<el-row class="f14" style="padding:6px 16px">
<el-col :span="4">
<span class="c99">人数</span>
</el-col>
<el-col class="c66" :span="20">
<p v-if="jo.price1_qty>0" style="margin-bottom:6px">成人 x {{jo.price1_qty}}</p>
<p v-if="jo.price2_qty>0" style="margin-bottom:6px">儿童 x {{jo.price2_qty}}</p>
<p v-if="jo.price3_qty>0" style="margin-bottom:6px">婴儿 x {{jo.price3_qty}}</p>
<p v-if="jo.price4_qty>0" style="margin-bottom:6px">老人 x {{jo.price4_qty}}</p>
</el-col>
</el-row>
</div>
<div class="commomStyle">
<div class="titleDiv">
<!-- <span class="redSpan"></span> -->
<el-row>
<el-col :span="12"><span class="f18 pfR">订单总额</span></el-col>
<el-col :span="12"><span class="f18 cee">{{oldModel.TotalPrice}}</span></el-col>
</el-row>
</div>
<ul class="fysm f14" style="padding:20px">
<div v-if="oldModel.OldContent">
<el-row v-if="jo.price1_qty>0" style="margin-bottom:7px">
<el-col :span="6">成人 x {{jo.price1_qty}}</el-col>
<el-col :span="12"><div class="dashDiv"></div></el-col>
<el-col style="text-align:center" :span="6">{{oldModel.OldContent.price1_b2c}}</el-col>
</el-row>
<el-row v-if="jo.price2_qty>0" style="margin-bottom:7px">
<el-col :span="6">儿童 x {{jo.price2_qty}}</el-col>
<el-col :span="12"><div class="dashDiv"></div></el-col>
<el-col style="text-align:center" :span="6">{{oldModel.OldContent.price2_b2c}}</el-col>
</el-row>
<el-row v-if="jo.price3_qty>0" style="margin-bottom:7px">
<el-col :span="6">婴儿 x {{jo.price3_qty}}</el-col>
<el-col :span="12"><div class="dashDiv"></div></el-col>
<el-col style="text-align:center" :span="6">{{oldModel.OldContent.price2_b2c}}</el-col>
</el-row>
<el-row v-if="jo.price4_qty>0" style="margin-bottom:7px">
<el-col :span="6">老人 x {{jo.price4_qty}}</el-col>
<el-col :span="12"><div class="dashDiv"></div></el-col>
<el-col style="text-align:center" :span="6">{{oldModel.OldContent.price2_b2c}}</el-col>
</el-row>
</div>
<div class="f14" >
<el-row style="margin-bottom:7px">
<el-col :span="6">优惠金额</el-col>
<el-col :span="12"><div class="dashDiv"></div></el-col>
<el-col style="text-align:center" :span="6">{{oldModel.DiscountMoney}}</el-col>
</el-row>
</div>
</ul>
</div>
</el-col>
<el-col :span="1">
&nbsp;
</el-col>
<el-col class="Right" :span="17">
<div class="commomStyle">
<div class="titleDiv">
<span class="redSpan"></span>
<span v-if="oldModel.OrderStatus!=2" class="f18 pfR">订单编号:{{oldModel.OrderID}}</span>
<span class="f18 cee pfR" v-if="oldModel.OrderStatus==2">订单已取消</span>
</div>
<ul class="fysm f14" style="padding:20px;position:relative">
<li>
<img src="../../../assets/img/free/cp.png" alt="">
<span class="c88 marginSpan">产品编号</span>
<span>{{jo.prod_no}}</span>
</li>
<li>
<img src="../../../assets/img/free/gsmc.png" alt="">
<span class="c88 marginSpan">产品名称</span>
<span>{{jo.prod_name}}</span>
</li>
<li>
<img src="../../../assets/img/free/gmr.png" alt="">
<span class="c88" style="margin:0 29px 0 6px;">购买人</span>
<span>{{jo.buyer_last_name}}{{jo.buyer_first_name}}</span>
</li>
<li>
<img src="../../../assets/img/free/yx.png" alt="">
<span class="c88 marginSpan">电子邮箱</span>
<span>{{jo.buyer_Email}}</span>
</li>
<li>
<img src="../../../assets/img/free/dh.png" alt="">
<span class="c88 marginSpan">联系电话</span>
<span>{{jo.buyer_tel_number}}</span>
</li>
<li>
<img src="../../../assets/img/free/dgrq.png" alt="">
<span class="c88 marginSpan">订购日期</span>
<span>{{jo.order_date}}</span>
</li>
</ul>
</div>
<div class="commomStyle">
<div class="titleDiv">
<span class="redSpan"></span>
<span class="f18 pfR">行程介绍</span>
</div>
<div style="padding:20px">
<div class="f12">
<div style="margin-bottom:20px;line-height:2">
{{dataDetail.prod_desc}}
</div>
<p class="f14 pfR" style="color:#000000;margin-bottom:15px" v-if="dataDetail.tour_list.length>0">行程列表</p>
<div v-for="(item,index) in dataDetail.tour_list" :key="index+100">
<p style="margin-top:10px">{{item.tour_day}}</p>
<p style="padding:8px 0">说明{{item.tour_desc}}</p>
<div v-if="item.photo_url&&item.photo_url!=''">
<img style="width:100%;height: auto;display:block" :src="item.photo_url" alt="">
</div>
</div>
<div v-if="dataDetail.meal_list">
<p class="f14 pfR" style="color:#000000;margin-bottom:15px" v-if="dataDetail.meal_list.length>0">餐食列表</p>
<div v-for="(item,index) in dataDetail.meal_list" :key="index+100">
<p>行程第{{item.tour_day}}天提供餐食</p>
<p style="padding:8px 0">
<span>早餐:{{item.is_breakfast}}</span>
<span>午餐:{{item.is_lunch}}</span>
<span>晚餐:{{item.is_dinner}}</span>
</p>
</div>
</div>
</div>
</div>
</div>
<div class="commomStyle">
<div class="titleDiv">
<span class="redSpan"></span>
<span class="f18 pfR">注意事项</span>
</div>
<div class="f12" style="padding:20px">
<p v-for="(item,index) in dataDetail.remind_list" :key="index+50"><span class="f26 pfR">.</span>{{item.remind_desc}}</p>
</div>
</div>
<div v-if="dataDetail.prod_tips!=''" class="commomStyle">
<div class="titleDiv">
<span class="redSpan"></span>
<span class="f18 pfR">温馨提示</span>
</div>
<div class="f12" style="padding:20px">
<div>{{dataDetail.prod_tips}}</div>
</div>
</div>
</el-col>
</el-row>
</div>
<el-dialog title="取消订单" width="400px" :visible.sync="dialogFormVisible">
<el-form :model="exitMsg" label-width="80px">
<el-form-item label="取消类型">
<el-select size="small" v-model="exitMsg.cancel_type" placeholder="请选择取消类型">
<el-option label="行程变更或取消" value="MC001"></el-option>
<el-option label="重复订单" value="MC002"></el-option>
<el-option label="价格原因" value="MC003"></el-option>
<el-option label="个人因素" value="MC004"></el-option>
<el-option label="交通因素" value="MC005"></el-option>
<el-option label="交通因素" value="MC006"></el-option>
<el-option label="其他" value="MC999"></el-option>
</el-select>
</el-form-item>
<el-form-item label="取消原因" >
<el-input v-model="exitMsg.cancel_desc" autocomplete="off" type="textarea" :rows="2"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button size="small" @click="dialogFormVisible = false">取 消</el-button>
<el-button size="small" type="danger" @click="ExitOrder">确 定</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data () {
return {
defaultImg: 'this.src="' + require('../../../assets/img/bg_c2@3x.png') + '"',
dialogFormVisible:false,
exitMsg:{
orderId:'',
cancel_type:"",
cancel_desc:"",
CancelBy:'',
},
msg:{
orderId:'',
},
payInfoObj:{},
oldModel:{},
jo:{},
DomainUrl:"",
dataDetail:{
tour_list:[],
},
IsCanOrder:-1,
payInfoGo:{},
ImgSrc:'',
}
},
created(){
if(this.$route.query.ID){
this.msg.orderId=this.$route.query.ID;
}
this.getPayInfo();
},
mounted() {
},
methods: {
Exit(){
let userInfo = this.getLocalStorage();
this.dialogFormVisible=true;
this.exitMsg.orderId=this.oldModel.OrderID;
// console.log(item);
this.exitMsg.CancelBy = userInfo.customerId;
},
ExitOrder(){
if(this.exitMsg.cancel_type==""){
this.Error("请选择取消类型!");
return;
}
this.dialogFormVisible=false;
this.apipost(
"dmc_post_Get_KKDayOrderCancel",
this.exitMsg,
res => {
// console.log("res",res);
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.$emit('queryDays')
this.exitMsg={
orderId:'',
cancel_type:"",
cancel_desc:"",
CancelBy:'',
};
} else {
this.$message.error(res.data.message);
}
},
null
);
},
getPayInfo(){
this.apipost(
"dmc_post_Get_KKDayOrderQueryOrderDtl",
this.msg,
res => {
// console.log("sfafg",res);
if (res.data.resultCode == 1) {
this.oldModel=res.data.data.oldModel;
this.jo=res.data.data.jo;
this.IsCanOrder=res.data.data.IsCanOrder;
this.payInfoGo=res.data.data;
if(this.oldModel.OldContent){
this.oldModel.OldContent=JSON.parse(this.oldModel.OldContent)
this.ImgSrc=this.oldModel.OldContent.ProductPic;
}
this.getDetails(this.oldModel.ProductNo);
} else {
this.$message.error(res.data.message);
}
},
null
);
},
getDetails(id){
this.apiJavaPost(
"/api/kkday/QueryProduct",
{
"prod_no": id ? id : "28474",
"locale":"zh-cn"
},
res => {
if (res.data.data.result === "00") {
this.DomainUrl=res.data.data.KkdayDomain;
let data = res.data.data.prod
console.log("data",data)
this.dataDetail = data;
} else {
this.Error(res.data.data.result_msg)
}
},
null
);
},
}
}
</script>
<style>
.FreeInfo .Right .btnDiv span{
display: block;
width:272px;
height:45px;
line-height:45px;
border:1px solid rgba(238, 68, 84, 1);
border-radius:4px;
margin-bottom:20px;
text-align: center;
cursor: pointer;
}
.FreeInfo .Right .btnDiv{
position: absolute;
top: 30px;
right: 20px;
}
.FreeInfo .Right .fysm li{
display: flex;
align-items: center;
margin-bottom:15px;
}
.FreeInfo .Right .marginSpan{
margin:0 15px 0 6px;
}
.FreeInfo .Left .imgDiv{
width:100%;
height:194px;
border-radius:3px;
overflow: hidden;
}
.FreeInfo .Left .imgDiv img{
width: auto!important;
}
.FreeInfo .commomStyle{
border:1px solid rgba(224, 224, 224, 1);
width:100%;
box-sizing: border-box;
margin-top: 20px;
}
.FreeInfo .commomStyle .titleDiv .redSpan{
width:4px;
height:20px;
background:rgba(238,68,84,1);
display: inline-block;
position: absolute;
left: 0;
top: 15px;
}
.FreeInfo .commomStyle .titleDiv{
width:100%;
height:50px;
line-height:50px;
border-bottom:1px solid rgba(224, 224, 224, 1);
background: #EDF4FF;
position: relative;
padding-left: 20px;
box-sizing: border-box;
}
.FreeInfo .Left .dashDiv{
border-bottom: 1px dashed #999999;
margin-top:10px;
}
</style>
...@@ -3281,6 +3281,8 @@ export default { ...@@ -3281,6 +3281,8 @@ export default {
this.$router.push({ path: url ,query:{}}); this.$router.push({ path: url ,query:{}});
} }
}else{
window.open(url, "_blank");
} }
}, },
goUrlT(url, index, name) { goUrlT(url, index, name) {
......
...@@ -1694,6 +1694,7 @@ ...@@ -1694,6 +1694,7 @@
Diningdest.push({ Diningdest.push({
UseTimeStr: ai.UseTimeStr, UseTimeStr: ai.UseTimeStr,
DiningID: ai.DiningID, DiningID: ai.DiningID,
id: ai.DiningID + ai.UseTimeStr,
data: [ai] data: [ai]
}); });
Diningmap[ai.UseTimeStr] = ai; Diningmap[ai.UseTimeStr] = ai;
...@@ -1712,6 +1713,7 @@ ...@@ -1712,6 +1713,7 @@
Diningdest.push({ Diningdest.push({
UseTimeStr: ai.UseTimeStr, UseTimeStr: ai.UseTimeStr,
DiningID: ai.DiningID, DiningID: ai.DiningID,
id: ai.DiningID + ai.UseTimeStr,
data: [ai] data: [ai]
}); });
} }
...@@ -1724,7 +1726,8 @@ ...@@ -1724,7 +1726,8 @@
} }
Diningdest[i].row = row Diningdest[i].row = row
} }
this.DiningDataList = this.unique(Diningdest, 'DiningID'); console.log(Diningdest)
this.DiningDataList = this.unique(Diningdest, 'id');
// this.DiningDataList = Diningdest // this.DiningDataList = Diningdest
//票 //票
let ScenicList = [] let ScenicList = []
......
...@@ -1891,6 +1891,20 @@ export default { ...@@ -1891,6 +1891,20 @@ export default {
meta: { meta: {
title: '散卖酒店订单统计' title: '散卖酒店订单统计'
}, },
}, {
path: '/freeTravelOrder', // 操作 自由行订单
name: 'freeTravelOrder',
component: resolve => require(['@/components/TravelManager/TravelList/freeTravelOrder'], resolve),
meta: {
title: '自由行订单统计'
},
}, {
path: '/freeTravelOrderDetails', // 操作 自由行订单 详情
name: 'freeTravelOrderDetails',
component: resolve => require(['@/components/TravelManager/TravelList/freeTravelOrderDetails'], resolve),
meta: {
title: '自由行订单详情'
},
}, { }, {
path: '/AmoebaDetail', //阿米巴结算详情 path: '/AmoebaDetail', //阿米巴结算详情
name: 'AmoebaDetail', name: 'AmoebaDetail',
......
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