Commit 46288525 authored by 黄奎's avatar 黄奎

新增机票业绩页面

parent ab534e82
<style> <style>
.PT_teamTable { .PT_teamTable {
width: 100%; width: 100%;
background-color: #fff; background-color: #fff;
border-collapse: collapse; border-collapse: collapse;
} }
.PT_teamTable td,
.PT_teamTable th { .PT_teamTable td,
border: 1px solid #dcdcdc; .PT_teamTable th {
padding: 6px; border: 1px solid #dcdcdc;
height: 30px; padding: 6px;
} height: 30px;
.PT_teamTable tr th { }
height: 30px;
background-color: #297bef; .PT_teamTable tr th {
border: 1px solid #dcdcdc; height: 30px;
color: #fff; background-color: #297bef;
} border: 1px solid #dcdcdc;
.Tp_table .el-table td { color: #fff;
padding: 0 !important; }
}
.Tp_table .el-table th { .Tp_table .el-table td {
padding: 12px 0 !important; padding: 0 !important;
} }
.Tp_table .has-gutter th {
background-color: #dcdcdc; .Tp_table .el-table th {
} padding: 12px 0 !important;
.Tp_table .el-table .cell { }
line-height: 3 !important;
} .Tp_table .has-gutter th {
.passgenrDialog{ background-color: #dcdcdc;
width:1000px; }
}
.PgflightDiv{ .Tp_table .el-table .cell {
font-size: 12px; line-height: 3 !important;
color: #666666; }
background-color: #e0f4ff;
width: 230px; .passgenrDialog {
height: 175px; width: 1000px;
border-radius: 4px; }
float:left;
margin-right:10px; .PgflightDiv {
} font-size: 12px;
.PgflightDiv p:first-child{ color: #666666;
padding-left:8px; background-color: #e0f4ff;
color: #387ea5; width: 230px;
background-color: #cbe9fa; height: 175px;
height: 34px; border-radius: 4px;
line-height: 34px; float: left;
} margin-right: 10px;
.PgflightDiv ._add_info{ }
.PgflightDiv p:first-child {
padding-left: 8px;
color: #387ea5;
background-color: #cbe9fa;
height: 34px;
line-height: 34px;
}
.PgflightDiv ._add_info {
margin-top: 12px; margin-top: 12px;
padding: 0 12px; padding: 0 12px;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
} }
.pg_table{
width:100%; .pg_table {
} width: 100%;
.pg_table tr{ }
display: block;
margin:10px 0; .pg_table tr {
} display: block;
.pg_table tr:last-child{ margin: 10px 0;
border-top:1px dashed #d1d1d1; }
padding-top:10px;
} .pg_table tr:last-child {
.PassengerList .el-input__inner{ border-top: 1px dashed #d1d1d1;
height:23px!important; padding-top: 10px;
padding:0 5px; }
}
.Pgzhu{ .PassengerList .el-input__inner {
display: inline-block; height: 23px !important;
width:30px; padding: 0 5px;
height:30px; }
background-color: #E95252;
border-radius: 50%; .Pgzhu {
text-align: center; display: inline-block;
line-height: 30px; width: 30px;
color:#fff; height: 30px;
position: absolute; background-color: #E95252;
top:-35px; border-radius: 50%;
left:-20px; text-align: center;
} line-height: 30px;
.Pglian{ color: #fff;
background-color: #47bf8c; position: absolute;
display: inline-block; top: -35px;
width:30px; left: -20px;
height:30px; }
border-radius: 50%;
text-align: center; .Pglian {
line-height: 30px; background-color: #47bf8c;
color:#fff; display: inline-block;
} width: 30px;
height: 30px;
border-radius: 50%;
text-align: center;
line-height: 30px;
color: #fff;
}
</style> </style>
<template> <template>
...@@ -118,17 +135,22 @@ ...@@ -118,17 +135,22 @@
<li> <li>
<input type="button" class="normalBtn" value="导出报表" @click="getFlightInfo(),getCombinTeam()" /> <input type="button" class="normalBtn" value="导出报表" @click="getFlightInfo(),getCombinTeam()" />
<input type="button" class="normalBtn" v-if="isShowGuoji" value="制作财务单据" @click="makeFinacelDoc()" /> <input type="button" class="normalBtn" v-if="isShowGuoji" value="制作财务单据" @click="makeFinacelDoc()" />
<input type="button" class="normalBtn" value="导出报表" @click="exportExcel()" style="display:none;"/> <input type="button" class="normalBtn" value="导出报表" @click="exportExcel()" style="display:none;" />
</li> </li>
</ul> </ul>
</div> </div>
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0"> <table class="singeRowTable" border="0" cellspacing="0" cellpadding="0">
<tr> <tr>
<th v-if="isShowGuoji">国际机票 <input type="checkbox" @change="checkAllbox(checkdGuoji,'guoji')" v-model="checkdGuoji"/></th> <th v-if="isShowGuoji">国际机票 <input type="checkbox" @change="checkAllbox(checkdGuoji,'guoji')"
<th v-if="isShowGuoji">国内机票 <input type="checkbox" @change="checkAllbox(checkedGuonei,'guonei')" v-model="checkedGuonei"/></th> v-model="checkdGuoji" /></th>
<th v-if="isShowGuoji">国际中段 <input type="checkbox" @change="checkAllbox(checkedGJzd,'gjzd')" v-model="checkedGJzd"/></th> <th v-if="isShowGuoji">国内机票 <input type="checkbox" @change="checkAllbox(checkedGuonei,'guonei')"
<th v-if="isShowGuoji">税金 <input type="checkbox" @change="checkAllbox(checkedshuijin,'shuijin')" v-model="checkedshuijin"/></th> v-model="checkedGuonei" /></th>
<th v-if="isShowGuoji">升舱 <input type="checkbox" @change="checkAllbox(checkedsc,'shengcang')" v-model="checkedsc"/></th> <th v-if="isShowGuoji">国际中段 <input type="checkbox" @change="checkAllbox(checkedGJzd,'gjzd')"
v-model="checkedGJzd" /></th>
<th v-if="isShowGuoji">税金 <input type="checkbox" @change="checkAllbox(checkedshuijin,'shuijin')"
v-model="checkedshuijin" /></th>
<th v-if="isShowGuoji">升舱 <input type="checkbox" @change="checkAllbox(checkedsc,'shengcang')"
v-model="checkedsc" /></th>
<th>旅客姓名</th> <th>旅客姓名</th>
<th>身份证</th> <th>身份证</th>
<th>英文姓</th> <th>英文姓</th>
...@@ -142,19 +164,19 @@ ...@@ -142,19 +164,19 @@
</tr> </tr>
<tr v-for="(item,index) in QueryMsg.dataList"> <tr v-for="(item,index) in QueryMsg.dataList">
<td v-if="isShowGuoji"> <td v-if="isShowGuoji">
<input v-model="item.guoji" type="checkbox"/> <input v-model="item.guoji" type="checkbox" />
</td> </td>
<td v-if="isShowGuoji"> <td v-if="isShowGuoji">
<input v-model="item.guonei" type="checkbox"/> <input v-model="item.guonei" type="checkbox" />
</td> </td>
<td v-if="isShowGuoji"> <td v-if="isShowGuoji">
<input v-model="item.gjzd" type="checkbox"/> <input v-model="item.gjzd" type="checkbox" />
</td> </td>
<td v-if="isShowGuoji"> <td v-if="isShowGuoji">
<input v-model="item.shuijin" type="checkbox"/> <input v-model="item.shuijin" type="checkbox" />
</td> </td>
<td v-if="isShowGuoji"> <td v-if="isShowGuoji">
<input v-model="item.shengcang" type="checkbox"/> <input v-model="item.shengcang" type="checkbox" />
</td> </td>
<td>{{item.GuestName}}</td> <td>{{item.GuestName}}</td>
<td>{{item.IdCard}}</td> <td>{{item.IdCard}}</td>
...@@ -171,8 +193,8 @@ ...@@ -171,8 +193,8 @@
<div class="noData" v-show="QueryMsg.noData"> <div class="noData" v-show="QueryMsg.noData">
{{$t('system.content_noData')}} {{$t('system.content_noData')}}
</div> </div>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="msg.currentPage" layout="total,prev, pager, next, jumper" <el-pagination background @current-change="handleCurrentChange" :current-page.sync="msg.currentPage"
:page-size='msg.PageSize' :total='msg.total'> layout="total,prev, pager, next, jumper" :page-size='msg.PageSize' :total='msg.total'>
</el-pagination> </el-pagination>
<el-dialog custom-class='passgenrDialog' title="航班列表" :visible.sync="outerVisible" center> <el-dialog custom-class='passgenrDialog' title="航班列表" :visible.sync="outerVisible" center>
...@@ -191,17 +213,20 @@ ...@@ -191,17 +213,20 @@
<tr v-for="item in flightList"> <tr v-for="item in flightList">
<td>{{item.Flight_number}}</td> <td>{{item.Flight_number}}</td>
<td> <td>
<el-input class="w60" v-model="item.TicketDepartureTime" onkeyup="value=value.replace(/[^\d^\:]/g,'')"></el-input> <el-input class="w60" v-model="item.TicketDepartureTime" onkeyup="value=value.replace(/[^\d^\:]/g,'')">
</el-input>
</td> </td>
<td> <td>
<el-input class="w60" v-model="item.TicketArrivalTime" onkeyup="value=value.replace(/[^\d^\:]/g,'')"></el-input> <el-input class="w60" v-model="item.TicketArrivalTime" onkeyup="value=value.replace(/[^\d^\:]/g,'')">
</el-input>
</td> </td>
<td>{{item.FlightDate}}</td> <td>{{item.FlightDate}}</td>
<td>{{item.dName}}</td> <td>{{item.dName}}</td>
<td>{{item.aName}}</td> <td>{{item.aName}}</td>
</tr> </tr>
</table> </table>
<table border="0" cellspacing="0" cellpadding="0" class="singeRowTable" style="margin-top:20px;" v-if="combineTeamList.length>0"> <table border="0" cellspacing="0" cellpadding="0" class="singeRowTable" style="margin-top:20px;"
v-if="combineTeamList.length>0">
<tr> <tr>
<td colspan="9" style="text-align:left;font-weight:bold;padding-left:5px">联运航班信息</td> <td colspan="9" style="text-align:left;font-weight:bold;padding-left:5px">联运航班信息</td>
</tr> </tr>
...@@ -224,9 +249,11 @@ ...@@ -224,9 +249,11 @@
<td>{{subItem.GoFlightDateStr}}</td> <td>{{subItem.GoFlightDateStr}}</td>
<td>{{subItem.GoFlight_number}}</td> <td>{{subItem.GoFlight_number}}</td>
<td> <td>
<el-input class="w60" v-model="subItem.GoDepartTime" onkeyup="value=value.replace(/[^\d^\:]/g,'')"></el-input> <el-input class="w60" v-model="subItem.GoDepartTime" onkeyup="value=value.replace(/[^\d^\:]/g,'')">
</el-input>
<td> <td>
<el-input class="w60" v-model="subItem.GoArriveTime" onkeyup="value=value.replace(/[^\d^\:]/g,'')"></el-input> <el-input class="w60" v-model="subItem.GoArriveTime" onkeyup="value=value.replace(/[^\d^\:]/g,'')">
</el-input>
</td> </td>
</td> </td>
<td>{{subItem.GoDepartAirportName}}</td> <td>{{subItem.GoDepartAirportName}}</td>
...@@ -237,9 +264,11 @@ ...@@ -237,9 +264,11 @@
<td>{{subItem.BackFlightDateStr}}</td> <td>{{subItem.BackFlightDateStr}}</td>
<td>{{subItem.BackFlight_number}}</td> <td>{{subItem.BackFlight_number}}</td>
<td> <td>
<el-input class="w60" v-model="subItem.BackDepartTime" onkeyup="value=value.replace(/[^\d^\:]/g,'')"></el-input> <el-input class="w60" v-model="subItem.BackDepartTime" onkeyup="value=value.replace(/[^\d^\:]/g,'')">
</el-input>
<td> <td>
<el-input class="w60" v-model="subItem.BackArriveTime" onkeyup="value=value.replace(/[^\d^\:]/g,'')"></el-input> <el-input class="w60" v-model="subItem.BackArriveTime" onkeyup="value=value.replace(/[^\d^\:]/g,'')">
</el-input>
</td> </td>
</td> </td>
<td>{{subItem.BackDepartAirportName}}</td> <td>{{subItem.BackDepartAirportName}}</td>
...@@ -281,19 +310,19 @@ ...@@ -281,19 +310,19 @@
outerVisible: false, outerVisible: false,
flightList: [], flightList: [],
combineTeamList: [], combineTeamList: [],
isShowGuoji:false, isShowGuoji: false,
jipiaoObj:{ jipiaoObj: {
guojiArr:[], guojiArr: [],
guoneiArr:[], guoneiArr: [],
gjzdArr:[], gjzdArr: [],
shuijinArr:[], shuijinArr: [],
shengcangArr:[] shengcangArr: []
}, },
checkdGuoji:false, checkdGuoji: false,
checkedGuonei:false, checkedGuonei: false,
checkedGJzd:false, checkedGJzd: false,
checkedshuijin:false, checkedshuijin: false,
checkedsc:false, checkedsc: false,
}; };
}, },
methods: { methods: {
...@@ -316,16 +345,15 @@ ...@@ -316,16 +345,15 @@
item.Sex = "女"; item.Sex = "女";
} }
}); });
if(this.isShowGuoji){ if (this.isShowGuoji) {
this.QueryMsg.dataList.forEach(x=>{ this.QueryMsg.dataList.forEach(x => {
x.guoji = false; x.guoji = false;
x.guonei=false; x.guonei = false;
x.gjzd = false; x.gjzd = false;
x.shuijin = false; x.shuijin = false;
x.shengcang = false; x.shengcang = false;
}) })
} }
console.log(this.QueryMsg.dataList);
} }
}, },
err => {} err => {}
...@@ -358,18 +386,18 @@ ...@@ -358,18 +386,18 @@
}, err => {}); }, err => {});
}, },
//是否确定 //是否确定
getIsSure(){ getIsSure() {
this.$confirm("是否确认航班信息?", "提示", { this.$confirm("是否确认航班信息?", "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning" type: "warning"
}) })
.then(() => { .then(() => {
this.getCheckInfo(); this.getCheckInfo();
}) })
.catch(() => { .catch(() => {
this.$message.info("已取消!"); this.$message.info("已取消!");
}); });
}, },
//确定 //确定
getCheckInfo() { getCheckInfo() {
...@@ -458,30 +486,30 @@ ...@@ -458,30 +486,30 @@
err => {} err => {}
); );
}, },
makeFinacelDoc(){ makeFinacelDoc() {
this.jipiaoObj.guojiArr=[]; this.jipiaoObj.guojiArr = [];
this.jipiaoObj.guoneiArr=[]; this.jipiaoObj.guoneiArr = [];
this.jipiaoObj.gjzdArr=[]; this.jipiaoObj.gjzdArr = [];
this.jipiaoObj.shuijinArr=[]; this.jipiaoObj.shuijinArr = [];
this.jipiaoObj.shengcangArr=[]; this.jipiaoObj.shengcangArr = [];
this.QueryMsg.dataList.forEach(x=>{ this.QueryMsg.dataList.forEach(x => {
if(x.guoji){ if (x.guoji) {
this.jipiaoObj.guojiArr.push(x.GuestName); this.jipiaoObj.guojiArr.push(x.GuestName);
} }
if(x.guonei){ if (x.guonei) {
this.jipiaoObj.guoneiArr.push(x.GuestName); this.jipiaoObj.guoneiArr.push(x.GuestName);
} }
if(x.gjzd){ if (x.gjzd) {
this.jipiaoObj.gjzdArr.push(x.GuestName); this.jipiaoObj.gjzdArr.push(x.GuestName);
} }
if(x.shuijin){ if (x.shuijin) {
this.jipiaoObj.shuijinArr.push(x.GuestName); this.jipiaoObj.shuijinArr.push(x.GuestName);
} }
if(x.shengcang){ if (x.shengcang) {
this.jipiaoObj.shengcangArr.push(x.GuestName); this.jipiaoObj.shengcangArr.push(x.GuestName);
} }
}) })
sessionStorage.setItem("guoji",JSON.stringify(this.jipiaoObj)); sessionStorage.setItem("guoji", JSON.stringify(this.jipiaoObj));
let orderObj = { let orderObj = {
OrderID: 0, OrderID: 0,
...@@ -489,12 +517,12 @@ ...@@ -489,12 +517,12 @@
Obj: JSON.parse(this.$route.query.Obj), Obj: JSON.parse(this.$route.query.Obj),
SourceID: this.$route.query.id, SourceID: this.$route.query.id,
TCIDList: JSON.parse(this.$route.query.TCIDList), TCIDList: JSON.parse(this.$route.query.TCIDList),
companyIDList:JSON.parse(this.$route.query.companyIDList), companyIDList: JSON.parse(this.$route.query.companyIDList),
isFromPassenger:true, isFromPassenger: true,
} }
this.$router.push({ this.$router.push({
name: 'ChoiceAddFinancialDocuments', name: 'ChoiceAddFinancialDocuments',
query:{ query: {
"Type": 2, "Type": 2,
"path": "", "path": "",
'blank': 'y', 'blank': 'y',
...@@ -503,14 +531,14 @@ ...@@ -503,14 +531,14 @@
}); });
}, },
//设置全选 //设置全选
checkAllbox(x,y){ checkAllbox(x, y) {
if(x){ if (x) {
this.QueryMsg.dataList.forEach(x=>{ this.QueryMsg.dataList.forEach(x => {
x[y]=true x[y] = true
}) })
}else{ } else {
this.QueryMsg.dataList.forEach(x=>{ this.QueryMsg.dataList.forEach(x => {
x[y]=false x[y] = false
}) })
} }
} }
...@@ -518,7 +546,7 @@ ...@@ -518,7 +546,7 @@
mounted() { mounted() {
this.QueryMsg.AirTicketId = this.$route.query.id; this.QueryMsg.AirTicketId = this.$route.query.id;
this.msg.AirTicketId = this.$route.query.id; this.msg.AirTicketId = this.$route.query.id;
if(this.$route.query.isFromTk!=undefined){ if (this.$route.query.isFromTk != undefined) {
this.isShowGuoji = this.$route.query.isFromTk; this.isShowGuoji = this.$route.query.isFromTk;
} }
var myDate = new Date(); var myDate = new Date();
...@@ -529,8 +557,8 @@ ...@@ -529,8 +557,8 @@
"-" + "-" +
myDate.getDate(); myDate.getDate();
this.getTeamInfo(); this.getTeamInfo();
if(this.isShowGuoji){ if (this.isShowGuoji) {
this.msg.PageSize=200; this.msg.PageSize = 200;
} }
this.getList(); this.getList();
} }
......
...@@ -23,25 +23,26 @@ ...@@ -23,25 +23,26 @@
<li> <li>
<span> <span>
<em>月份</em> <em>月份</em>
<el-date-picker v-model='msg.QMonth' value-format="yyyy-MM" type="month"></el-date-picker> <el-date-picker v-model='msg.QMonth' value-format="yyyy-MM" type="month"></el-date-picker>
</span> </span>
</li> </li>
<li> <li>
<input type="button" class="hollowFixedBtn" @click="getList()" <input type="button" class="hollowFixedBtn" @click="getList()" :value="$t('pub.searchBtn')" />
:value="$t('pub.searchBtn')" /> <input type="button" class="hollowFixedBtn" @click="DownLoad()" value="导出" />
</li> </li>
</ul> </ul>
</div> </div>
<table class="singeRowTable fpTable" border="0" cellspacing="0" cellpadding="0"> <table class="singeRowTable fpTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading">
<tr> <tr>
<th>团期</th> <th>团期</th>
<th>出团公司</th> <th>出团公司</th>
<th>线路</th> <th>线路</th>
<th>人数</th> <th>人数</th>
<th>操作人员</th> <th>操作人员</th>
</tr> </tr>
<tr v-for="item in dataList"> <tr v-for="item in dataList">
<td>{{item.TCNUM}}</td> <td> <a style="color:blue;cursor:pointer" @click='goUrlT("RegistrationList",item.TCID,"报名清单")'>
({{item.TCID}}){{item.TCNUM}} </a></td>
<td>{{item.OutBranchName}}</td> <td>{{item.OutBranchName}}</td>
<td>{{item.LineName}}</td> <td>{{item.LineName}}</td>
<td>{{item.TicketNum}}</td> <td>{{item.TicketNum}}</td>
...@@ -61,8 +62,8 @@ ...@@ -61,8 +62,8 @@
CreateBy: 0, //操作人 CreateBy: 0, //操作人
QMonth: '', //月份 QMonth: '', //月份
}, },
value1:'', loading: false,
dataList:[], dataList: [],
//航空公司下拉 //航空公司下拉
airlineList: [], airlineList: [],
//操作人下拉 //操作人下拉
...@@ -71,22 +72,35 @@ ...@@ -71,22 +72,35 @@
}, },
mounted() { mounted() {
let date = new Date(), let date = new Date(),
y = date.getFullYear(), y = date.getFullYear(),
m = date.getMonth() < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1; m = date.getMonth() < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1;
this.msg.QMonth = y + '-' + m ; this.msg.QMonth = y + '-' + m;
this.initAirlines(); this.initAirlines();
this.getEmployeeList(); this.getEmployeeList();
this.getList() this.getList()
}, },
methods: { methods: {
getList() { //获取列表数据 //页面跳转
goUrlT(path, obj, title) {
this.$router.push({
name: path,
query: {
"id": obj,
blank: 'y',
tab: title
}
})
},
//获取列表数据
getList() {
this.loading = true;
this.apipost("AirTicket_get_GetTicketPerformance", this.msg, res => { this.apipost("AirTicket_get_GetTicketPerformance", this.msg, res => {
this.loading = false;
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.dataList = res.data.data; this.dataList = res.data.data;
} }
}); });
}, },
//初始化航空公司下拉 //初始化航空公司下拉
initAirlines() { initAirlines() {
this.apipost( this.apipost(
...@@ -111,6 +125,15 @@ ...@@ -111,6 +125,15 @@
err => {} err => {}
); );
}, },
//下载业绩数据
DownLoad() {
this.loading = true;
var fileName = "机票业绩下载" + this.msg.QMonth + ".xls";
this.GetLocalFile("AirTicket_get_DownLoadGetTicketPerformance", this.msg, fileName,
res => {
this.loading = false;
});
}
} }
} }
......
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