Commit 9c1af0a3 authored by 华国豪's avatar 华国豪 🙄
parents bfa857ff b8da3c32
...@@ -10,7 +10,9 @@ ...@@ -10,7 +10,9 @@
</viewer> </viewer>
<chosen-open-mode v-if="haveOpenMode" :settingSys="settingSys"></chosen-open-mode> <chosen-open-mode v-if="haveOpenMode" :settingSys="settingSys"></chosen-open-mode>
<!-- --> <!-- -->
<!-- <div class="showMyCareer">
<mycareer></mycareer>
</div> -->
</div> </div>
</template> </template>
...@@ -27,10 +29,12 @@ var sUserAgent = navigator.userAgent; ...@@ -27,10 +29,12 @@ var sUserAgent = navigator.userAgent;
// document.html.style.minWidth = '1366px' // document.html.style.minWidth = '1366px'
} }
import chosenOpenMode from './components/commonPage/chosenOpenMode' import chosenOpenMode from './components/commonPage/chosenOpenMode'
import mycareer from './components/champion/mycareer'
export default { export default {
name: 'App', name: 'App',
components: { components: {
chosenOpenMode chosenOpenMode,
mycareer
}, },
created() { created() {
//注册禁止后退,并且不做卸载 //注册禁止后退,并且不做卸载
...@@ -124,6 +128,16 @@ export default { ...@@ -124,6 +128,16 @@ export default {
.BMap_cpyCtrl {display: none;} .BMap_cpyCtrl {display: none;}
.anchorBL {display: none;} .anchorBL {display: none;}
.viewer{display: none !important;} .viewer{display: none !important;}
.showMyCareer{
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 0;
background: rgba(0,0,0,.3);
align-items: center;
justify-content: center;
z-index: 999999999999999;
}
</style> </style>
...@@ -903,7 +903,7 @@ export default { ...@@ -903,7 +903,7 @@ export default {
this.msg.AccountType=15; this.msg.AccountType=15;
this.msg.TradeWay=4; this.msg.TradeWay=4;
this.getAccountList(this.msg.AccountType,this.msg.TradeWay) this.getAccountList(this.msg.AccountType,this.msg.TradeWay)
this.msg.BankID=14; this.msg.BankID=this.$route.query.BankID;
this.transactionDate[0]=this.$route.query.StartDate; this.transactionDate[0]=this.$route.query.StartDate;
this.transactionDate[1]=this.$route.query.StartDate; this.transactionDate[1]=this.$route.query.StartDate;
} }
......
...@@ -522,8 +522,12 @@ tr._item_list td:last-child { ...@@ -522,8 +522,12 @@ tr._item_list td:last-child {
<el-option value="4" label="国内票务"></el-option> <el-option value="4" label="国内票务"></el-option>
<el-option value="5" v-if="isShowType" label="散卖机票"></el-option> <el-option value="5" v-if="isShowType" label="散卖机票"></el-option>
<el-option value="6" v-if="isShowType" label="日本地接部专户"></el-option> <el-option value="6" v-if="isShowType" label="日本地接部专户"></el-option>
<el-option value="12" v-if="isShowType" label="日本地接部专户(人民币)"></el-option>
<el-option value="7" v-if="isShowType" label="老挝地接部专户"></el-option> <el-option value="7" v-if="isShowType" label="老挝地接部专户"></el-option>
<el-option value="8" label="票务部专户"></el-option> <el-option value="8" label="票务部专户"></el-option>
<el-option value="9" v-if="isShowType" label="酒店住宿"></el-option>
<el-option value="10" v-if="isShowType" label="景点门票"></el-option>
<el-option value="11" v-if="isShowType" label="餐厅美食"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -649,8 +653,11 @@ Vue.component("TCIDJump", { ...@@ -649,8 +653,11 @@ Vue.component("TCIDJump", {
<span style="cursor: pointer" v-if="rowData.DataType===2" @click="goUrl('individualTicket',rowData.TCID)">{{rowData.TCID}}</span> <span style="cursor: pointer" v-if="rowData.DataType===2" @click="goUrl('individualTicket',rowData.TCID)">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===3" @click="goUrlVisa('VisaProductOrder',rowData.TCID)">{{rowData.TCID}}</span> <span style="cursor: pointer" v-if="rowData.DataType===3" @click="goUrlVisa('VisaProductOrder',rowData.TCID)">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===4" @click="goUrl('SettlementOrder',rowData.TCID)">{{rowData.TCID}}</span> <span style="cursor: pointer" v-if="rowData.DataType===4" @click="goUrl('SettlementOrder',rowData.TCID)">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===6">{{rowData.TCID}}</span> <span style="cursor: pointer" v-if="rowData.DataType===6||rowData.DataType===7||rowData.DataType===12">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===8">{{rowData.TCID}}</span> <span style="cursor: pointer" v-if="rowData.DataType===8">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===9">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===10">{{rowData.TCID}}</span>
<span style="cursor: pointer" v-if="rowData.DataType===11">{{rowData.TCID}}</span>
</div> </div>
`, `,
...@@ -689,7 +696,11 @@ Vue.component("TCNUMJump", { ...@@ -689,7 +696,11 @@ Vue.component("TCNUMJump", {
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===4" @click="goUrlExtend('SettlementOrder',rowData.TCID)">{{rowData.TCNUM}}</span> <span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===4" @click="goUrlExtend('SettlementOrder',rowData.TCID)">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===6" @click="goRec('RecPayQuery',rowData)">{{rowData.TCNUM}}</span> <span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===6" @click="goRec('RecPayQuery',rowData)">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===7" @click="goRec('RecPayQuery',rowData)">{{rowData.TCNUM}}</span> <span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===7" @click="goRec('RecPayQuery',rowData)">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===12" @click="goRec('RecPayQuery',rowData)">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===8" @click="goAIR('RecPayQuery',rowData)">{{rowData.TCNUM}}</span> <span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===8" @click="goAIR('RecPayQuery',rowData)">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===9">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===10">{{rowData.TCNUM}}</span>
<span style="cursor: pointer;text-decoration:underline" v-if="rowData.DataType===11">{{rowData.TCNUM}}</span>
</div>`, </div>`,
props: { props: {
rowData: { rowData: {
...@@ -712,6 +723,9 @@ Vue.component("TCNUMJump", { ...@@ -712,6 +723,9 @@ Vue.component("TCNUMJump", {
if(rowData.DataType===7){ if(rowData.DataType===7){
BankID=15; BankID=15;
} }
if(rowData.DataType===12){
BankID=19;
}
if(rowData.TCNUM.indexOf('JAP')!=-1 || rowData.TCNUM.indexOf('LAO')!=-1){ if(rowData.TCNUM.indexOf('JAP')!=-1 || rowData.TCNUM.indexOf('LAO')!=-1){
StartDate=moment(rowData.StartDate).format("YYYY-MM-DD"); StartDate=moment(rowData.StartDate).format("YYYY-MM-DD");
} }
......
...@@ -381,7 +381,6 @@ ...@@ -381,7 +381,6 @@
}); });
} }
this.dataList = sourceData; this.dataList = sourceData;
console.log("this.dataList",this.dataList)
} else { } else {
this.$message.error(res.data.message) this.$message.error(res.data.message)
} }
......
<style> <style>
/* 日期样式开始 */ /* 日期样式开始 */
.RestaurantSalesBoard .month ul { .RestaurantSalesBoard .month ul {
border-radius: 4px 4px 0 0; border-radius: 4px 4px 0 0;
width: 100%; width: 100%;
height: 50px; height: 50px;
...@@ -9,47 +9,56 @@ ...@@ -9,47 +9,56 @@
margin: 0; margin: 0;
padding: 0; padding: 0;
text-align: center; text-align: center;
} }
.RestaurantSalesBoard .year-month {
.RestaurantSalesBoard .year-month {
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
justify-content: space-around; justify-content: space-around;
} }
.RestaurantSalesBoard .year-month > input {
.RestaurantSalesBoard .year-month>input {
width: 100px; width: 100px;
float: left; float: left;
} }
.RestaurantSalesBoard .arrow {
.RestaurantSalesBoard .arrow {
padding: 10px; padding: 10px;
font-style: normal; font-style: normal;
cursor: pointer; cursor: pointer;
} }
.RestaurantSalesBoard .monthminus {
.RestaurantSalesBoard .monthminus {
position: absolute; position: absolute;
left: 0px; left: 0px;
top: 15px; top: 15px;
} }
.RestaurantSalesBoard .monthadd {
.RestaurantSalesBoard .monthadd {
position: absolute; position: absolute;
right: 21px; right: 21px;
top: 15px; top: 15px;
} }
.RestaurantSalesBoard .month ul li {
.RestaurantSalesBoard .month ul li {
font-size: 18px; font-size: 18px;
color: #fff; color: #fff;
position: relative; position: relative;
display: inline-block; display: inline-block;
letter-spacing: 3px; letter-spacing: 3px;
} }
.RestaurantSalesBoard .month ul li i {
.RestaurantSalesBoard .month ul li i {
font-size: 22px; font-size: 22px;
color: #ff7e7e; color: #ff7e7e;
cursor: pointer; cursor: pointer;
} }
.RestaurantSalesBoard .month ul li > input {
.RestaurantSalesBoard .month ul li>input {
text-align: center; text-align: center;
} }
.RestaurantSalesBoard .weekdays {
.RestaurantSalesBoard .weekdays {
margin: 0; margin: 0;
padding: 3px 0; padding: 3px 0;
background-color: #3fa783; background-color: #3fa783;
...@@ -58,14 +67,15 @@ ...@@ -58,14 +67,15 @@
flex-wrap: wrap; flex-wrap: wrap;
color: #fff; color: #fff;
justify-content: space-around; justify-content: space-around;
} }
.RestaurantSalesBoard .weekdays li {
.RestaurantSalesBoard .weekdays li {
display: inline-block; display: inline-block;
width: 14.2857%; width: 14.2857%;
text-align: center; text-align: center;
} }
.RestaurantSalesBoard .days { .RestaurantSalesBoard .days {
width: 100%; width: 100%;
padding: 0; padding: 0;
margin: 0; margin: 0;
...@@ -73,8 +83,9 @@ ...@@ -73,8 +83,9 @@
flex-wrap: wrap; flex-wrap: wrap;
box-sizing: border-box; box-sizing: border-box;
justify-content: space-around; justify-content: space-around;
} }
.RestaurantSalesBoard .days > li {
.RestaurantSalesBoard .days>li {
list-style-type: none; list-style-type: none;
width: 14.2857%; width: 14.2857%;
height: 140px; height: 140px;
...@@ -86,22 +97,24 @@ ...@@ -86,22 +97,24 @@
box-sizing: border-box; box-sizing: border-box;
border-right: 1px solid #ddd; border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd; border-bottom: 1px solid #ddd;
} }
.RestaurantSalesBoard .days li > div {
.RestaurantSalesBoard .days li>div {
height: 112px; height: 112px;
width: 100%; width: 100%;
overflow-y: auto; overflow-y: auto;
text-align: left; text-align: left;
} }
.RestaurantSalesBoard .days li > div > p {
.RestaurantSalesBoard .days li>div>p {
border-bottom: 1px dashed #ccc; border-bottom: 1px dashed #ccc;
height: 28px; height: 28px;
line-height: 28px; line-height: 28px;
width: 100%; width: 100%;
text-indent: 10px; text-indent: 10px;
} }
.RestaurantSalesBoard .currentInput { .RestaurantSalesBoard .currentInput {
width: 120px; width: 120px;
height: 30px; height: 30px;
border-radius: 17px; border-radius: 17px;
...@@ -110,8 +123,9 @@ ...@@ -110,8 +123,9 @@
color: #fff; color: #fff;
background: transparent; background: transparent;
font-size: 18px; font-size: 18px;
} }
.RestaurantSalesBoard .days li .other-month {
.RestaurantSalesBoard .days li .other-month {
display: inline-block; display: inline-block;
position: absolute; position: absolute;
right: 0; right: 0;
...@@ -122,9 +136,9 @@ ...@@ -122,9 +136,9 @@
line-height: 17px; line-height: 17px;
background-color: #cccccc; background-color: #cccccc;
color: #fff; color: #fff;
} }
.RestaurantSalesBoard .ckStyle { .RestaurantSalesBoard .ckStyle {
width: 100%; width: 100%;
height: 28px; height: 28px;
line-height: 28px; line-height: 28px;
...@@ -133,25 +147,27 @@ ...@@ -133,25 +147,27 @@
font-weight: bold; font-weight: bold;
background: #ccc; background: #ccc;
color: #000; color: #000;
} }
.RestaurantSalesBoard .ckStyleOther { .RestaurantSalesBoard .ckStyleOther {
background: #dddddd !important; background: #dddddd !important;
font-weight: normal !important; font-weight: normal !important;
color: #999; color: #999;
} }
.RestaurantSalesBoard .Owe_Room { .RestaurantSalesBoard .Owe_Room {
color: #e95252; color: #e95252;
} }
.RestaurantSalesBoard .Used_room {
.RestaurantSalesBoard .Used_room {
color: #13b0ae; color: #13b0ae;
} }
.RestaurantSalesBoard .otherMoth {
.RestaurantSalesBoard .otherMoth {
background: #f2f2f2; background: #f2f2f2;
} }
.RestaurantSalesBoard .title { .RestaurantSalesBoard .title {
height: 14px; height: 14px;
line-height: 14px; line-height: 14px;
border-left: 3px solid #e95252; border-left: 3px solid #e95252;
...@@ -159,21 +175,27 @@ ...@@ -159,21 +175,27 @@
color: #333; color: #333;
text-indent: 10px; text-indent: 10px;
margin: 20px 0; margin: 20px 0;
} }
.RestaurantSalesBoard .hasStock_1 { .RestaurantSalesBoard .hasStock_1 {
color: #FFFFFF; color: #FFFFFF;
background-color: #ff3737; background-color: #ff3737;
} }
.RestaurantSalesBoard .hasStock_2 { .RestaurantSalesBoard .hasStock_2 {
background-color: #ff99cc; background-color: #ff99cc;
} }
.RestaurantSalesBoard .hasStock_3 { .RestaurantSalesBoard .hasStock_3 {
background-color: #bcd6ee; background-color: #bcd6ee;
} }
.RestaurantSalesBoard .hasStock_4 { .RestaurantSalesBoard .hasStock_4 {
background-color: #ffffff; background-color: #ffffff;
} }
/* 日期样式结束*/
/* 日期样式结束*/
</style> </style>
<template> <template>
<div class="flexOne RestaurantSalesBoard"> <div class="flexOne RestaurantSalesBoard">
...@@ -190,6 +212,7 @@ ...@@ -190,6 +212,7 @@
</li> </li>
<li style="margin-right:50px;"> <li style="margin-right:50px;">
<button class="normalBtn" type="button" @click="GetHoltelInventory()">{{$t('pub.searchBtn')}}</button> <button class="normalBtn" type="button" @click="GetHoltelInventory()">{{$t('pub.searchBtn')}}</button>
<button class="normalBtn" type="button" @click="DownLoadDinner()">下载</button>
</li> </li>
</ul> </ul>
</div> </div>
...@@ -201,12 +224,14 @@ ...@@ -201,12 +224,14 @@
<ul> <ul>
<li> <li>
<i class="el-icon-caret-left monthminus" @click="currentYear-=1,getDateString(),initCalendar(dateString)"></i> <i class="el-icon-caret-left monthminus" @click="currentYear-=1,getDateString(),initCalendar(dateString)"></i>
<input type="text" disabled="disabled" v-model="currentYear" class="currentInput" @input="getDateString(),initCalendar(dateString)"> <input type="text" disabled="disabled" v-model="currentYear" class="currentInput"
@input="getDateString(),initCalendar(dateString)">
<i class="el-icon-caret-right monthadd" @click="currentYear+=1,getDateString(),initCalendar(dateString)"></i> <i class="el-icon-caret-right monthadd" @click="currentYear+=1,getDateString(),initCalendar(dateString)"></i>
</li> </li>
<li> <li>
<i class="el-icon-caret-left monthminus" @click="pickPre(currentYear,currentMonth)"></i> <i class="el-icon-caret-left monthminus" @click="pickPre(currentYear,currentMonth)"></i>
<input type="text" disabled="disabled" v-model="currentMonth" class="currentInput" @input="getDateString(),initCalendar(dateString)"> <input type="text" disabled="disabled" v-model="currentMonth" class="currentInput"
@input="getDateString(),initCalendar(dateString)">
<i class="el-icon-caret-right monthadd" @click="pickNext(currentYear,currentMonth)"></i> <i class="el-icon-caret-right monthadd" @click="pickNext(currentYear,currentMonth)"></i>
</li> </li>
</ul> </ul>
...@@ -223,8 +248,9 @@ ...@@ -223,8 +248,9 @@
</ul> </ul>
<ul class="days clearfix" v-loading="msg.loading"> <ul class="days clearfix" v-loading="msg.loading">
<li v-for="(dayItem,index) in days" :key="dayItem.index"> <li v-for="(dayItem,index) in days" :key="dayItem.index">
<p class="ckStyle" :class="{ckStyleOther:dayItem.day.getMonth()+1 != currentMonth}">{{dayItem.day.getDate()}}</p> <p class="ckStyle" :class="{ckStyleOther:dayItem.day.getMonth()+1 != currentMonth}">{{dayItem.day.getDate()}}
<div @click="goUrl('TicketManager',dayItem,'票务管理')" > </p>
<div>
<p v-for="item in dayItem.dayValue"> <p v-for="item in dayItem.dayValue">
<span class="text_underLine">{{item.DinnerName}}{{item.DiningNum}}</span> <span class="text_underLine">{{item.DinnerName}}{{item.DiningNum}}</span>
</p> </p>
...@@ -270,17 +296,6 @@ ...@@ -270,17 +296,6 @@
} else if (type === 4) { } else if (type === 4) {
return 'hasStock_4' return 'hasStock_4'
} }
},
goUrl(path, obj, name) {
// this.$router.push({
// path: path,
// query: {
// id: obj.AirLineTicketId,
// blank: "y",
// tab: name
// }
// });
}, },
//格式化日期 //格式化日期
getDateString: function () { getDateString: function () {
...@@ -329,7 +344,7 @@ ...@@ -329,7 +344,7 @@
//点击获取酒店库存数据 //点击获取酒店库存数据
GetHoltelInventory() { GetHoltelInventory() {
this.msg.loading = true; this.msg.loading = true;
var that=this; var that = this;
this.apipost( this.apipost(
"order_post_GetDinnerMonthStatistics", "order_post_GetDinnerMonthStatistics",
this.msg, this.msg,
...@@ -348,8 +363,8 @@ ...@@ -348,8 +363,8 @@
for (var j = 0; j < this.DayData.length; j++) { for (var j = 0; j < this.DayData.length; j++) {
if (this.DayData[j].Day == myDate) { if (this.DayData[j].Day == myDate) {
dayItem.dayValue = this.DayData[j].SubList; dayItem.dayValue = this.DayData[j].SubList;
this.DayData[j].SubList.forEach(sunItem=>{ this.DayData[j].SubList.forEach(sunItem => {
that.TotalInventory=parseFloat(this.TotalInventory)+parseFloat(sunItem.DiningNum) that.TotalInventory = parseFloat(this.TotalInventory) + parseFloat(sunItem.DiningNum)
}); });
} }
} }
...@@ -370,6 +385,19 @@ ...@@ -370,6 +385,19 @@
}, },
err => {} err => {}
); );
},
//餐厅下载
DownLoadDinner() {
this.msg.loading = true;
let qMsg = {
queryMsg: this.msg,
uid: this.getLocalStorage().EmployeeId
};
let fileName = "餐厅下载" + this.$commonUtils.getCurrentDate() + ".xls";
this.GetLocalFile("dinner_get_downloadDinner", qMsg, fileName,
res => {
this.msg.loading = false;
});
} }
}, },
mounted() { mounted() {
......
...@@ -22,6 +22,14 @@ ...@@ -22,6 +22,14 @@
<el-date-picker v-model='msg.EndDate' class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker> <el-date-picker v-model='msg.EndDate' class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
</span> </span>
</li> </li>
<li><span><em>餐厅</em>
<el-select v-model="msg.QDiningID" filterable :placeholder="$t('pub.pleaseSel')">
<el-option label="不限" :value='0'></el-option>
<el-option v-for="item in DiningList" :label='item.Name' :value='item.ID' :key='item.ID'>
</el-option>
</el-select>
</span>
</li>
<li> <li>
<input type="button" class="normalBtn" value="查询" @click="getList();resetPageIndex()" /> <input type="button" class="normalBtn" value="查询" @click="getList();resetPageIndex()" />
</li> </li>
...@@ -175,7 +183,10 @@ ...@@ -175,7 +183,10 @@
EndDate: '', EndDate: '',
currentPage: 1, currentPage: 1,
total: 0, total: 0,
QDiningID: 0, //餐厅编号
}, },
//餐厅列表
DiningList: [],
LineList: [], LineList: [],
LineTeamList: [], LineTeamList: [],
thLengthTitle: [], thLengthTitle: [],
...@@ -292,6 +303,20 @@ ...@@ -292,6 +303,20 @@
} }
}, err => {}) }, err => {})
}, },
//获取餐厅列表
GetDinnerList() {
this.DiningList = [];
this.apipost(
"dining_post_GetList", {
QCountry: 651,
},
res => {
if (res.data.resultCode == 1) {
this.DiningList = res.data.data;
}
}
);
}
}, },
mounted() { mounted() {
let myDate = new Date(); let myDate = new Date();
...@@ -306,7 +331,8 @@ ...@@ -306,7 +331,8 @@
let height = window.innerHeight - 65 - 164; let height = window.innerHeight - 65 - 164;
this.boxHeight = height; this.boxHeight = height;
this.offsetwidth = width; this.offsetwidth = width;
this.getList() this.GetDinnerList();
this.getList();
}, },
} }
......
<style> <style>
/* 日期样式开始 */ /* 日期样式开始 */
.seatStatistics .month ul { .seatStatistics .month ul {
border-radius: 4px 4px 0 0; border-radius: 4px 4px 0 0;
width: 100%; width: 100%;
height: 50px; height: 50px;
...@@ -9,47 +9,56 @@ ...@@ -9,47 +9,56 @@
margin: 0; margin: 0;
padding: 0; padding: 0;
text-align: center; text-align: center;
} }
.seatStatistics .year-month {
.seatStatistics .year-month {
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
justify-content: space-around; justify-content: space-around;
} }
.seatStatistics .year-month > input {
.seatStatistics .year-month>input {
width: 100px; width: 100px;
float: left; float: left;
} }
.seatStatistics .arrow {
.seatStatistics .arrow {
padding: 10px; padding: 10px;
font-style: normal; font-style: normal;
cursor: pointer; cursor: pointer;
} }
.seatStatistics .monthminus {
.seatStatistics .monthminus {
position: absolute; position: absolute;
left: 0px; left: 0px;
top: 15px; top: 15px;
} }
.seatStatistics .monthadd {
.seatStatistics .monthadd {
position: absolute; position: absolute;
right: 21px; right: 21px;
top: 15px; top: 15px;
} }
.seatStatistics .month ul li {
.seatStatistics .month ul li {
font-size: 18px; font-size: 18px;
color: #fff; color: #fff;
position: relative; position: relative;
display: inline-block; display: inline-block;
letter-spacing: 3px; letter-spacing: 3px;
} }
.seatStatistics .month ul li i {
.seatStatistics .month ul li i {
font-size: 22px; font-size: 22px;
color: #ff7e7e; color: #ff7e7e;
cursor: pointer; cursor: pointer;
} }
.seatStatistics .month ul li > input {
.seatStatistics .month ul li>input {
text-align: center; text-align: center;
} }
.seatStatistics .weekdays {
.seatStatistics .weekdays {
margin: 0; margin: 0;
padding: 3px 0; padding: 3px 0;
background-color: #3fa783; background-color: #3fa783;
...@@ -58,19 +67,23 @@ ...@@ -58,19 +67,23 @@
flex-wrap: wrap; flex-wrap: wrap;
color: #fff; color: #fff;
justify-content: space-around; justify-content: space-around;
} }
.seatStatistics .weekdays li {
.seatStatistics .weekdays li {
display: inline-block; display: inline-block;
width: 14.2857%; width: 14.2857%;
text-align: center; text-align: center;
} }
.seatStatistics .days li:nth-child(7n-1) p {
.seatStatistics .days li:nth-child(7n-1) p {
color: #e95252 !important; color: #e95252 !important;
} }
.seatStatistics .days li:nth-child(7n) p {
.seatStatistics .days li:nth-child(7n) p {
color: #e95252 !important; color: #e95252 !important;
} }
.seatStatistics .days {
.seatStatistics .days {
width: 100%; width: 100%;
padding: 0; padding: 0;
margin: 0; margin: 0;
...@@ -78,8 +91,9 @@ ...@@ -78,8 +91,9 @@
flex-wrap: wrap; flex-wrap: wrap;
box-sizing: border-box; box-sizing: border-box;
justify-content: space-around; justify-content: space-around;
} }
.seatStatistics .days > li {
.seatStatistics .days>li {
list-style-type: none; list-style-type: none;
width: 14.2857%; width: 14.2857%;
height: 140px; height: 140px;
...@@ -91,25 +105,29 @@ ...@@ -91,25 +105,29 @@
box-sizing: border-box; box-sizing: border-box;
border-right: 1px solid #ddd; border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd; border-bottom: 1px solid #ddd;
} }
.seatStatistics .days li > div {
.seatStatistics .days li>div {
height: 112px; height: 112px;
width: 100%; width: 100%;
overflow-y: auto; overflow-y: auto;
text-align: left; text-align: left;
} }
.seatStatistics .days li > div > p {
.seatStatistics .days li>div>p {
border-bottom: 1px dashed #ccc; border-bottom: 1px dashed #ccc;
height: 28px; height: 28px;
line-height: 28px; line-height: 28px;
width: 100%; width: 100%;
text-indent: 10px; text-indent: 10px;
background: #fff; background: #fff;
} }
.seatStatistics .days li > div > p:nth-child(2n) {
.seatStatistics .days li>div>p:nth-child(2n) {
background: #f5f5f5; background: #f5f5f5;
} }
.seatStatistics .currentInput {
.seatStatistics .currentInput {
width: 120px; width: 120px;
height: 30px; height: 30px;
border-radius: 17px; border-radius: 17px;
...@@ -118,8 +136,9 @@ ...@@ -118,8 +136,9 @@
color: #fff; color: #fff;
background: transparent; background: transparent;
font-size: 18px; font-size: 18px;
} }
.seatStatistics .days li .other-month {
.seatStatistics .days li .other-month {
display: inline-block; display: inline-block;
position: absolute; position: absolute;
right: 0; right: 0;
...@@ -130,11 +149,13 @@ ...@@ -130,11 +149,13 @@
line-height: 17px; line-height: 17px;
background-color: #cccccc; background-color: #cccccc;
color: #fff; color: #fff;
} }
.seatStatistics .addCompany {
.seatStatistics .addCompany {
width: 700px; width: 700px;
} }
.seatStatistics .ckStyle {
.seatStatistics .ckStyle {
width: 100%; width: 100%;
height: 28px; height: 28px;
line-height: 28px; line-height: 28px;
...@@ -143,40 +164,49 @@ ...@@ -143,40 +164,49 @@
font-weight: bold; font-weight: bold;
background: #ccc; background: #ccc;
color: #000; color: #000;
} }
.seatStatistics .ckStyleOther {
.seatStatistics .ckStyleOther {
background: #dddddd !important; background: #dddddd !important;
font-weight: normal !important; font-weight: normal !important;
color: #999; color: #999;
} }
.seatStatistics .el-dialog--center .el-dialog__body {
.seatStatistics .el-dialog--center .el-dialog__body {
padding-top: 0; padding-top: 0;
} }
.HB_Inventor {
.HB_Inventor {
display: block; display: block;
text-align: left; text-align: left;
padding-top: 8px; padding-top: 8px;
} }
.HB_Inventor > span {
.HB_Inventor>span {
display: block; display: block;
padding-left: 10px; padding-left: 10px;
font-size: 12px; font-size: 12px;
height: 18px; height: 18px;
margin-bottom: 3px; margin-bottom: 3px;
} }
.seatStatistics .Owe_Room {
.seatStatistics .Owe_Room {
color: #e95252; color: #e95252;
} }
.seatStatistics .Used_room {
.seatStatistics .Used_room {
color: #13b0ae; color: #13b0ae;
} }
.seatStatistics .otherMoth {
.seatStatistics .otherMoth {
background: #f2f2f2; background: #f2f2f2;
} }
.seatStatistics .weekendDay {
.seatStatistics .weekendDay {
color: #e95252; color: #e95252;
} }
.seatStatistics .title {
.seatStatistics .title {
height: 14px; height: 14px;
line-height: 14px; line-height: 14px;
border-left: 3px solid #e95252; border-left: 3px solid #e95252;
...@@ -184,8 +214,10 @@ ...@@ -184,8 +214,10 @@
color: #333; color: #333;
text-indent: 10px; text-indent: 10px;
margin: 20px 0; margin: 20px 0;
} }
/* 日期样式结束*/
/* 日期样式结束*/
</style> </style>
<template> <template>
<div class="flexOne seatStatistics"> <div class="flexOne seatStatistics">
...@@ -196,12 +228,8 @@ ...@@ -196,12 +228,8 @@
<em>{{$t('advmanager.v_line')}}</em> <em>{{$t('advmanager.v_line')}}</em>
<el-select v-model="msg.QLineId" :placeholder="$t('pub.pleaseSel')" filterable> <el-select v-model="msg.QLineId" :placeholder="$t('pub.pleaseSel')" filterable>
<el-option :label="$t('pub.unlimitedSel')" :value="defaultSelectValue"></el-option> <el-option :label="$t('pub.unlimitedSel')" :value="defaultSelectValue"></el-option>
<el-option <el-option v-for="item in LineList" :key="item.LineID" :label="item.LineName" :value="item.LineID">
v-for="item in LineList" </el-option>
:key="item.LineID"
:label="item.LineName"
:value="item.LineID"
></el-option>
</el-select> </el-select>
</span> </span>
</li> </li>
...@@ -210,40 +238,23 @@ ...@@ -210,40 +238,23 @@
<em>{{$t('system.table_goCity')}}</em> <em>{{$t('system.table_goCity')}}</em>
<el-select v-model="msg.QCityId" :placeholder="$t('system.ph_in')" filterable> <el-select v-model="msg.QCityId" :placeholder="$t('system.ph_in')" filterable>
<el-option :label="$t('pub.unlimitedSel')" :value="defaultSelectValue"></el-option> <el-option :label="$t('pub.unlimitedSel')" :value="defaultSelectValue"></el-option>
<el-option <el-option v-for="item in cityList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
v-for="item in cityList"
:key="item.ID"
:label="item.Name"
:value="item.ID"
></el-option>
</el-select> </el-select>
</span> </span>
</li> </li>
<li> <li>
<span> <span>
<em>{{$t('admin.admin_czPerson')}}</em> <em>{{$t('admin.admin_czPerson')}}</em>
<el-select <el-select v-model="msg.QCreateBy" filterable :placeholder="$t('system.ph_in')" class="w120">
v-model="msg.QCreateBy"
filterable
:placeholder="$t('system.ph_in')"
class="w120"
>
<el-option :label="$t('pub.unlimitedSel')" :value="defaultSelectValue"></el-option> <el-option :label="$t('pub.unlimitedSel')" :value="defaultSelectValue"></el-option>
<el-option <el-option v-for="item in EmployeeList" :label="item.EmName" :value="item.EmployeeId"
v-for="item in EmployeeList" :key="item.EmployeeId"></el-option>
:label="item.EmName"
:value="item.EmployeeId"
:key="item.EmployeeId"
></el-option>
</el-select> </el-select>
</span> </span>
</li> </li>
<li style="margin-right:50px;"> <li style="margin-right:50px;">
<button <button class="normalBtn" type="button" @click="GetHoltelInventory()">{{$t('pub.searchBtn')}}</button>
class="normalBtn" <button class="normalBtn" type="button" @click="DownLoadAirticket()">下载</button>
type="button"
@click="GetHoltelInventory()"
>{{$t('pub.searchBtn')}}</button>
</li> </li>
</ul> </ul>
</div> </div>
...@@ -255,31 +266,15 @@ ...@@ -255,31 +266,15 @@
<div class="month"> <div class="month">
<ul> <ul>
<li> <li>
<i <i class="el-icon-caret-left monthminus" @click="currentYear-=1,getDateString(),initCalendar(dateString)"></i>
class="el-icon-caret-left monthminus" <input type="text" disabled="disabled" v-model="currentYear" class="currentInput"
@click="currentYear-=1,getDateString(),initCalendar(dateString)" @input="getDateString(),initCalendar(dateString)">
></i> <i class="el-icon-caret-right monthadd" @click="currentYear+=1,getDateString(),initCalendar(dateString)"></i>
<input
type="text"
disabled="disabled"
v-model="currentYear"
class="currentInput"
@input="getDateString(),initCalendar(dateString)"
>
<i
class="el-icon-caret-right monthadd"
@click="currentYear+=1,getDateString(),initCalendar(dateString)"
></i>
</li> </li>
<li> <li>
<i class="el-icon-caret-left monthminus" @click="pickPre(currentYear,currentMonth)"></i> <i class="el-icon-caret-left monthminus" @click="pickPre(currentYear,currentMonth)"></i>
<input <input type="text" disabled="disabled" v-model="currentMonth" class="currentInput"
type="text" @input="getDateString(),initCalendar(dateString)">
disabled="disabled"
v-model="currentMonth"
class="currentInput"
@input="getDateString(),initCalendar(dateString)"
>
<i class="el-icon-caret-right monthadd" @click="pickNext(currentYear,currentMonth)"></i> <i class="el-icon-caret-right monthadd" @click="pickNext(currentYear,currentMonth)"></i>
</li> </li>
</ul> </ul>
...@@ -294,18 +289,12 @@ ...@@ -294,18 +289,12 @@
<li class="weekendDay">{{$t('hotel.hotel_Saturday')}}</li> <li class="weekendDay">{{$t('hotel.hotel_Saturday')}}</li>
<li class="weekendDay">{{$t('hotel.hotel_Sunday')}}</li> <li class="weekendDay">{{$t('hotel.hotel_Sunday')}}</li>
</ul> </ul>
<ul class="days clearfix"> <ul class="days clearfix" v-loading="loading">
<li v-for="(dayobject,index) in days" :key="dayobject.index"> <li v-for="(dayobject,index) in days" :key="dayobject.index">
<p <p class="ckStyle" :class="{ckStyleOther:dayobject.day.getMonth()+1 != currentMonth}">
class="ckStyle" {{dayobject.day.getDate()}} ({{dayobject.TotalCount}})</p>
:class="{ckStyleOther:dayobject.day.getMonth()+1 != currentMonth}"
>{{dayobject.day.getDate()}} ({{dayobject.TotalCount}})</p>
<div class="ownScrollbarStyle"> <div class="ownScrollbarStyle">
<p <p class="over_ellipsis" v-for="item in dayobject.listArr" @click="goUrl('TicketManager',item,'票务管理')">
class="over_ellipsis"
v-for="item in dayobject.listArr"
@click="goUrl('TicketManager',item,'票务管理')"
>
{{item.AirLineTicketId}} {{item.AirLineTicketId}}
{{item.DepartureName}} {{item.DepartureName}}
- -
...@@ -319,7 +308,7 @@ ...@@ -319,7 +308,7 @@
</div> </div>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
msg: { msg: {
...@@ -348,15 +337,15 @@ export default { ...@@ -348,15 +337,15 @@ export default {
//员工列表 //员工列表
EmployeeList: [], EmployeeList: [],
TotalCount: 0, TotalCount: 0,
TotalSeat: 0 TotalSeat: 0,
loading:false
}; };
}, },
methods: { methods: {
//获取线路列表 //获取线路列表
GetLineList() { GetLineList() {
this.apipost( this.apipost(
"line_post_GetAllList", "line_post_GetAllList", {},
{},
res => { res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.LineList = res.data.data; this.LineList = res.data.data;
...@@ -376,7 +365,7 @@ export default { ...@@ -376,7 +365,7 @@ export default {
}); });
}, },
//格式化日期 //格式化日期
getDateString: function() { getDateString: function () {
this.dateString = this.$calendarUtils.formatDate( this.dateString = this.$calendarUtils.formatDate(
this.currentYear, this.currentYear,
this.currentMonth, this.currentMonth,
...@@ -384,7 +373,7 @@ export default { ...@@ -384,7 +373,7 @@ export default {
); );
this.GetHoltelInventory(); this.GetHoltelInventory();
}, },
initCalendar: function(cur) { initCalendar: function (cur) {
var newDays = this.$calendarUtils.createCalendar(cur); var newDays = this.$calendarUtils.createCalendar(cur);
this.currentDay = newDays.CurrentDay; this.currentDay = newDays.CurrentDay;
this.currentYear = newDays.CurrentYear; this.currentYear = newDays.CurrentYear;
...@@ -400,7 +389,7 @@ export default { ...@@ -400,7 +389,7 @@ export default {
} }
}, },
//点击左箭头切换年月 //点击左箭头切换年月
pickPre: function(year, month) { pickPre: function (year, month) {
var d = new Date(this.$calendarUtils.formatDate(year, month, 1)); var d = new Date(this.$calendarUtils.formatDate(year, month, 1));
d.setDate(0); d.setDate(0);
this.nowDate = d.getFullYear() + "-" + (d.getMonth() + 1) + "-1"; this.nowDate = d.getFullYear() + "-" + (d.getMonth() + 1) + "-1";
...@@ -410,7 +399,7 @@ export default { ...@@ -410,7 +399,7 @@ export default {
this.GetHoltelInventory(); this.GetHoltelInventory();
}, },
//点击右箭头切换年月 //点击右箭头切换年月
pickNext: function(year, month) { pickNext: function (year, month) {
var d = new Date(this.$calendarUtils.formatDate(year, month, 1)); var d = new Date(this.$calendarUtils.formatDate(year, month, 1));
d.setDate(35); d.setDate(35);
this.nowDate = d.getFullYear() + "-" + (d.getMonth() + 1) + "-1"; this.nowDate = d.getFullYear() + "-" + (d.getMonth() + 1) + "-1";
...@@ -419,13 +408,15 @@ export default { ...@@ -419,13 +408,15 @@ export default {
); );
this.GetHoltelInventory(); this.GetHoltelInventory();
}, },
//点击获取酒店库存数据 //点击获取机票库存数据
GetHoltelInventory() { GetHoltelInventory() {
this.loading=true;
this.msg.FlightDate = this.currentYear + "-" + this.currentMonth + "-01"; this.msg.FlightDate = this.currentYear + "-" + this.currentMonth + "-01";
this.apipost( this.apipost(
"AirTicket_get_GetMonthAirticketFlight", "AirTicket_get_GetMonthAirticketFlight",
this.msg, this.msg,
res => { res => {
this.loading=false;
this.DayData = res.data.data; this.DayData = res.data.data;
this.TotalCount = 0; this.TotalCount = 0;
this.TotalSeat = 0; this.TotalSeat = 0;
...@@ -455,8 +446,7 @@ export default { ...@@ -455,8 +446,7 @@ export default {
//获取中国下面的城市列表 //获取中国下面的城市列表
getCityList() { getCityList() {
this.apipost( this.apipost(
"Destination_get_GetCityListByCountryId", "Destination_get_GetCityListByCountryId", {
{
Id: 2 Id: 2
}, },
res => { res => {
...@@ -468,7 +458,9 @@ export default { ...@@ -468,7 +458,9 @@ export default {
//根据当前员工所在部门获取该部门及子部门员工信息 //根据当前员工所在部门获取该部门及子部门员工信息
getEmployeeList() { getEmployeeList() {
let UserInfo = this.getLocalStorage(); let UserInfo = this.getLocalStorage();
var msg = { GroupId: UserInfo.RB_Group_id }; var msg = {
GroupId: UserInfo.RB_Group_id
};
this.apipost( this.apipost(
"admin_get_EmployeeGetList", "admin_get_EmployeeGetList",
msg, msg,
...@@ -479,7 +471,17 @@ export default { ...@@ -479,7 +471,17 @@ export default {
}, },
err => {} err => {}
); );
} },
//机票导出
DownLoadAirticket() {
this.loading = true;
var fileName = "机票下载" + this.msg.Month + ".xls";
this.GetLocalFile("airticket_get_DownLoadAirticket", this.msg, fileName,
res => {
this.loading = false;
});
},
}, },
mounted() { mounted() {
//初始化日历 //初始化日历
...@@ -492,5 +494,6 @@ export default { ...@@ -492,5 +494,6 @@ export default {
this.initCalendar(); this.initCalendar();
this.GetHoltelInventory(); this.GetHoltelInventory();
} }
}; };
</script> </script>
...@@ -489,9 +489,13 @@ ...@@ -489,9 +489,13 @@
:href="domainManager().ViittoFileUrl+item.WordPath">{{$t('Operation.Op_downLoadword')}}</a> :href="domainManager().ViittoFileUrl+item.WordPath">{{$t('Operation.Op_downLoadword')}}</a>
</p> </p>
<p class="travelnowrap" v-if="item.ClearOrderHour>0"> <p class="travelnowrap" v-if="item.ClearOrderHour>0">
<span>已设定清位</span> <span>同行清位时间</span>
<span class="TCL-greenType">{{item.ClearOrderHour}}小时</span> <span class="TCL-greenType">{{item.ClearOrderHour}}小时</span>
</p> </p>
<p class="travelnowrap" v-if="item.SaleClearOrderHour>0">
<span>销售清位时间</span>
<span class="TCL-greenType">{{item.SaleClearOrderHour}}小时</span>
</p>
<p v-if="item.LineID==14 && item.HotelOrderListReports && item.HotelOrderListReports.length>0 "> <p v-if="item.LineID==14 && item.HotelOrderListReports && item.HotelOrderListReports.length>0 ">
<el-popover width="980" trigger="click" popper-class="TC_HotelPop"> <el-popover width="980" trigger="click" popper-class="TC_HotelPop">
<commonHotelInfo :HotelObj="item.HotelOrderListReports" :showHotelObj="showHotelObj" <commonHotelInfo :HotelObj="item.HotelOrderListReports" :showHotelObj="showHotelObj"
......
<template>
<div class="inerank-container">
<div :style="{height:'100%',width:'100%'}" ref="myLineRank"></div>
</div>
</template>
<script>
export default {
props:{
score:{
type:Number,
default:0
},
title:{
type:String,
default:''
}
},
data() {
return {};
},
mounted() {
this.init();
},
methods: {
init() {
let myChart = this.$echarts.init(this.$refs.myLineRank);
let option = {
series: [
{
name: "ze",
type: "gauge",
radius: "99%", //仪表大小
// startAngle: 200, //开始角度
// endAngle: -20, //结束角度
min: 0,
max: 100,
splitNumber: 5,
data: [{ value: this.score, name: "ze" }],
axisLine: {
show: false,
lineStyle: {
color: [
[
(this.score/100),
new this.$echarts.graphic.LinearGradient(1, 0, 0, 0, [
{ offset: 0, color: "#F7BF4Caa" },
{ offset: 1, color: "#F7BF4C00" }
])
],
[1, "#00000000"]
],
width: 25
}
},
splitLine: {
show: false
},
axisTick: {
show: false
},
axisLabel: {
show: false
},
pointer: {
//指针样式
length: "95%",
color: "#fff",
width: 0
},
title: {
show: false
},
detail: {
show: false
}
},
{
name: this.title,
type: "gauge",
radius: "100%", //仪表大小
// startAngle: 200, //开始角度
// endAngle: -20, //结束角度
min: 0,
max: 100,
splitNumber: 5,
data: [{ value: this.score, name: this.title}],
axisLine: {
show: false,
lineStyle: {
// 属性lineStyle控制线条样式
color: [[0.5, "#F7BF4C"], [0.8, "#F7BF4C"], [1, "#F7BF4C"]],
// shadowColor: "#F7BF4C",
// shadowBlur: 250,
width: 2
}
},
splitLine: {
show: false
},
axisTick: {
show: true,
lineStyle: {
// 属性lineStyle控制线条样式
color: "#F7BF4C66",
width: 1
}
},
axisLabel: {
show: false
},
pointer: {
//指针样式
length: "95%",
color: "#fff",
width: 3
},
title: {
show: true,
offsetCenter: [0, "80%"],
color: "#FFF",
fontSize: 14,
padding: 5,
fontFamily: "pingfangR"
},
detail: {
formatter: "{score|{value}}",
offsetCenter: [0, 0],
backgroundColor: "#000000",
shadowColor: "#F7BF4C88",
shadowBlur: 5,
borderRadius: 22,
width: 20,
rich: {
score: {
color: "#FFF",
fontSize: 22,
padding: 5,
fontFamily: "pingfangR"
}
}
}
}
]
};
myChart.setOption(option);
}
}
};
</script>
<style scoped>
.inerank-container {
height: 100%;
width: 100%;
}
</style>
<template>
<div class="mycareer">
<div class="title">
<div class="star"></div>
<div class="company-name">成都印象</div>
<div class="uerf">
<div class="dept-name">总部业务一组</div>
<div class="uer-name">唐萍</div>
</div>
<div class="post-name">销售经理</div>
</div>
<div class="uer-box">
<div class="photo">
<img src="http://imgfile.oytour.com/Upload/User/tangping.png" />
<div class="zezhao"></div>
<div class="bottom"></div>
</div>
<div class="my-score">
<div class="item">
<div class="k">综合能力</div>
<div class="v">95</div>
</div>
<div class="item">
<div class="k">周冠</div>
<div class="v">2</div>
</div>
<div class="item">
<div class="k">销售额排名</div>
<div class="v white">#13</div>
</div>
</div>
<div class="dashboards">
<div class="item">
<dashboard :score="67" title="名单开发"></dashboard>
</div>
<div class="item">
<dashboard :score="20" title="约访"></dashboard>
</div>
<div class="item">
<dashboard :score="40" title="探询需求"></dashboard>
</div>
<div class="item">
<dashboard :score="41" title="解决需求"></dashboard>
</div>
<div class="item">
<dashboard :score="80" title="说明成交"></dashboard>
</div>
<div class="item">
<dashboard :score="19" title="售后服务"></dashboard>
</div>
</div>
</div>
<div class="split"></div>
<div class="change-box">
<div class="btn dis">
<i class="el-icon-caret-left"></i>
</div>
<div class="option">每日数据</div>
<div class="btn">
<i class="el-icon-caret-right"></i>
</div>
</div>
<div class="data-box-before"></div>
<div class="data-box">
<div class="tab-head" ref="mycareerHead">
<table>
<thead>
<tr>
<th>日期</th>
<th>新增同行</th>
<th>IM广告</th>
<th>IM互动</th>
<th>IM时长</th>
<th>同行PV</th>
<th>外出时长</th>
<th>完成计划</th>
<th>拜访计划</th>
<th>拜访同行</th>
<th>拜访同行2</th>
<th>拜访同行3</th>
<th>拜访同行4</th>
<th>拜访同行5</th>
</tr>
</thead>
</table>
</div>
<div class="lft-head">
<table>
<thead>
<tr>
<th>时间</th>
</tr>
</thead>
</table>
</div>
<div class="lft-body" ref="mycareerLeft">
<table>
<tbody>
<tr>
<td class="odd">7月1日</td>
</tr>
<tr>
<td class="odd">7月2日</td>
</tr>
<tr>
<td class="odd">7月3日</td>
</tr>
<tr>
<td class="odd">7月4日</td>
</tr>
<tr>
<td class="odd">7月5日</td>
</tr>
<tr>
<td class="odd">7月6日</td>
</tr>
<tr>
<td class="odd">7月7日</td>
</tr>
<tr>
<td class="odd">7月8日</td>
</tr>
<tr>
<td class="odd">7月9日</td>
</tr>
<tr>
<td class="odd">7月10日</td>
</tr>
<tr>
<td class="odd">7月11日</td>
</tr>
<tr>
<td class="odd">7月12日</td>
</tr>
</tbody>
</table>
</div>
<div class="content-body" ref="mycareerContent">
<table>
<tbody>
<tr>
<td>&nbsp;</td>
<td>1</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
<td>9</td>
<td>10</td>
<td>11</td>
<td>12</td>
<td>13</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>1</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
<td>9</td>
<td>10</td>
<td>11</td>
<td>12</td>
<td>13</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>1</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
<td>9</td>
<td>10</td>
<td>11</td>
<td>12</td>
<td>13</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>1</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
<td>9</td>
<td>10</td>
<td>11</td>
<td>12</td>
<td>13</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>1</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
<td>9</td>
<td>10</td>
<td>11</td>
<td>12</td>
<td>13</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>1</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
<td>9</td>
<td>10</td>
<td>11</td>
<td>12</td>
<td>13</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>1</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
<td>9</td>
<td>10</td>
<td>11</td>
<td>12</td>
<td>13</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>1</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
<td>9</td>
<td>10</td>
<td>11</td>
<td>12</td>
<td>13</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>1</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
<td>9</td>
<td>10</td>
<td>11</td>
<td>12</td>
<td>13</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>1</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
<td>9</td>
<td>10</td>
<td>11</td>
<td>12</td>
<td>13</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>1</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
<td>9</td>
<td>10</td>
<td>11</td>
<td>12</td>
<td>13</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>1</td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
<td>8</td>
<td>9</td>
<td>10</td>
<td>11</td>
<td>12</td>
<td>13</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</template>
<script>
import dashboard from "./dashboard";
export default {
components: {
dashboard
},
mounted() {
this.$refs.mycareerContent.addEventListener(
"scroll",
this.handleScroll,
true
);
},
methods: {
handleScroll() {
this.$refs.mycareerLeft.scrollTop = this.$refs.mycareerContent.scrollTop;
this.$refs.mycareerHead.scrollLeft = this.$refs.mycareerContent.scrollLeft;
}
}
};
</script>
<style scoped>
.mycareer {
height: 740px;
width: 1027px;
background: url("../../assets/img/champion/bg.png");
position: relative;
user-select: none;
cursor: default;
}
.mycareer .title {
width: 554px;
height: 69px;
background: url("../../assets/img/champion/title.png");
position: relative;
z-index: 2;
margin: 0 auto;
display: flex;
}
.mycareer .title .star {
position: absolute;
top: 21px;
left: 154px;
width: 244px;
height: 16px;
background: url("../../assets/img/champion/star.png");
}
.mycareer .title .company-name {
font-size: 18px;
color: rgba(255, 255, 255, 1);
background: linear-gradient(
0deg,
rgba(246, 134, 15, 1) 0%,
rgba(253, 207, 52, 1) 100%
);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
font-family: pingfangR;
margin-top: 17px;
width: 154px;
text-align: center;
}
.mycareer .title .uerf {
flex: 1;
margin-top: 12px;
}
.mycareer .title .uerf .dept-name {
height: 12px;
font-size: 12px;
color: #ffffff;
text-align: center;
margin-bottom: 4px;
}
.mycareer .title .uerf .uer-name {
background: linear-gradient(
0deg,
rgba(246, 134, 15, 1) 0%,
rgba(253, 207, 52, 1) 100%
);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
font-size: 24px;
font-family: pingfangR;
font-weight: 400;
color: rgba(255, 255, 255, 1);
text-align: center;
}
.mycareer .title .post-name {
width: 156px;
text-align: center;
margin-top: 17px;
font-family: pingfangR;
font-size: 18px;
color: rgba(255, 255, 255, 1);
background: linear-gradient(
0deg,
rgba(163, 169, 164, 1) 0%,
rgba(255, 255, 255, 1) 100%
);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.mycareer .uer-box {
margin-top: 13px;
display: flex;
}
.mycareer .uer-box .photo {
margin-left: 81px;
width: 240px;
height: 240px;
border-radius: 50%;
position: relative;
}
.mycareer .uer-box .photo img {
width: 240px;
height: 240px;
border-radius: 50%;
position: absolute;
/* top: 5px;
left: 5px; */
z-index: 2;
}
.mycareer .uer-box .photo .zezhao {
background: radial-gradient(
circle,
rgba(91, 52, 9, 0) 0%,
rgba(0, 0, 0, 1) 74%
);
width: 230px;
height: 230px;
z-index: 1;
position: absolute;
top: 5px;
left: 5px;
border-radius: 50%;
z-index: 3;
}
.mycareer .uer-box .photo .bottom {
width: 177px;
height: 63px;
left: 33px;
bottom: -29px;
position: absolute;
background: url("../../assets/img/champion/bottom.png");
z-index: 1;
}
.mycareer .uer-box .my-score {
margin-left: 38px;
}
.mycareer .uer-box .my-score .item {
margin-top: 27px;
}
.mycareer .uer-box .my-score .item .k {
font-family: pingfangR;
font-size: 14px;
color: rgba(255, 255, 255, 1);
background: linear-gradient(
0deg,
rgba(163, 169, 164, 1) 0%,
rgba(255, 255, 255, 1) 100%
);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.mycareer .uer-box .my-score .item .v {
font-family: pingfangR;
font-size: 32px;
color: rgba(255, 255, 255, 1);
background: linear-gradient(
0deg,
rgba(246, 134, 15, 1) 0%,
rgba(253, 207, 52, 1) 100%
);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.mycareer .uer-box .my-score .item .v.white {
background: linear-gradient(
0deg,
rgba(163, 169, 164, 1) 0%,
rgba(255, 255, 255, 1) 100%
);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.mycareer .uer-box .dashboards {
margin-right: 50px;
flex: 1;
display: flex;
margin-left: 60px;
flex-wrap: wrap;
}
.mycareer .uer-box .dashboards .item {
width: 120px;
height: 120px;
margin-right: 40px;
margin-top: 25px;
}
.mycareer .split {
margin: 10px 33px 0 32px;
height: 27px;
background: url("../../assets/img/champion/split.png");
}
.mycareer .change-box {
width: 250px;
margin: 5px auto;
display: flex;
margin-bottom: 0px;
}
.mycareer .change-box .btn {
width: 35px;
height: 22px;
background: rgba(255, 179, 57, 1);
opacity: 0.8;
border-radius: 2px;
color: #fff;
cursor: pointer;
font-size: 12px;
line-height: 22px;
text-align: center;
box-shadow: 0 0 5px rgba(255, 179, 57, 0.8);
}
.mycareer .change-box .btn.dis {
background: #333;
cursor: no-drop;
color: #ddd;
box-shadow: 0 0 5px #333c;
}
.mycareer .change-box .option {
flex: 1;
text-align: center;
color: #ffffff;
font-size: 14px;
font-family: pingfangR;
height: 22px;
line-height: 22px;
}
.mycareer .data-box {
overflow: hidden;
position: absolute;
bottom: 39px;
top: 433px;
left: 33px;
right: 33px;
z-index: 2;
}
.mycareer .data-box .tab-head {
height: 43px;
overflow: hidden;
}
.mycareer .data-box .lft-head {
left: -1px;
top: 0;
width: 100px;
overflow: hidden;
right: unset;
height: 43px;
position: absolute;
background: url("../../assets/img/champion/head.png") no-repeat;
}
.mycareer .data-box .lft-body {
left: -1px;
top: 43px;
width: 100px;
bottom: 6px;
right: unset;
position: absolute;
overflow: hidden;
z-index: 3;
}
.mycareer .data-box .content-body {
left: -1px;
top: 43px;
right: 0;
bottom: 0px;
position: absolute;
overflow: auto;
z-index: 2;
margin: 0 2px;
}
.mycareer .data-box-before {
display: block;
position: absolute;
z-index: 1;
background: url("../../assets/img/champion/head.png") no-repeat;
height: 43px;
content: " ";
top: 433px;
left: 33px;
right: 33px;
}
.mycareer .data-box table {
border-collapse: collapse;
border-spacing: 0;
table-layout: fixed;
}
.mycareer .data-box table thead th {
height: 43px;
padding-top: 10px;
box-sizing: border-box;
text-align: left;
padding-left: 10px;
font-size: 14px;
font-family: pingfangR;
color: rgba(255, 168, 53, 1);
min-width: 80px;
background: linear-gradient(
0deg,
rgba(163, 169, 164, 1) 0%,
rgba(255, 255, 255, 1) 100%
);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.mycareer .data-box table thead th {
min-width: 100px;
max-width: 100px;
}
.mycareer .data-box table tbody td {
height: 30px;
line-height: 30px;
font-size: 12px;
color: rgba(255, 168, 53, 1);
background: linear-gradient(
0deg,
rgba(163, 169, 164, 1) 0%,
rgba(255, 255, 255, 1) 100%
);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
text-align: left;
padding-left: 10px;
min-width: 100px;
max-width: 100px;
}
.mycareer .data-box table tbody td.odd {
background: #1d160b;
color: #fff;
-webkit-background-clip: unset;
-webkit-text-fill-color: unset;
}
.mycareer .data-box .content-body::-webkit-scrollbar {
/*滚动条整体样式*/
width: 5px;
/*高宽分别对应横竖滚动条的尺寸*/
height: 5px;
border:1px solid rgba(161,154,147,1);
border-radius:5px;
background: transparent;
padding: 2px
}
.mycareer .data-box .content-body::-webkit-scrollbar-thumb {
/*滚动条里面小方块*/
height:4px;
width: 4px;
background:rgba(222,186,102,1);
border-radius:5px;
}
.mycareer .data-box .content-body::-webkit-scrollbar-track {
/*滚动条里面轨道*/
-webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
border-radius:5px;
background: transparent;
}
.mycareer .data-box .content-body::-webkit-scrollbar-corner{
color: transparent;
}
</style>
...@@ -151,7 +151,7 @@ ...@@ -151,7 +151,7 @@
<table border="0" cellspacing="1" cellpadding="0" class="dmcTotalTable" v-loading="loading"> <table border="0" cellspacing="1" cellpadding="0" class="dmcTotalTable" v-loading="loading">
<tr> <tr>
<th colspan="11">公司通用信息</th> <th colspan="11">公司通用信息</th>
<th colspan="5">团队需求表</th> <th colspan="6">团队需求表</th>
<th colspan="10">地接op操作</th> <th colspan="10">地接op操作</th>
</tr> </tr>
<tr> <tr>
...@@ -168,6 +168,7 @@ ...@@ -168,6 +168,7 @@
<th width="60">导游</th> <th width="60">导游</th>
<th width="60">已开票</th> <th width="60">已开票</th>
<th width="60">分房表</th> <th width="60">分房表</th>
<th width="60">旅客名单</th>
<th width="60">出团<br />通知书</th> <th width="60">出团<br />通知书</th>
<th width="60">导游<br />计划表</th> <th width="60">导游<br />计划表</th>
<th width="60">领队<br />交接表</th> <th width="60">领队<br />交接表</th>
...@@ -277,6 +278,9 @@ ...@@ -277,6 +278,9 @@
<span class="colorE95252" v-else>{{item.HouseResult=='-1'?"x":"O"}}</span> <span class="colorE95252" v-else>{{item.HouseResult=='-1'?"x":"O"}}</span>
</div> </div>
</td> </td>
<td>
<a style="text-decoration:underline;cursor:pointer;" title="点击下载旅客名单" @click="DownLoadGuestList(item)">旅客名单</a>
</td>
<td> <td>
<div class="fz16 fbold linkspan"> <div class="fz16 fbold linkspan">
<span @click="toTrip(item)" style="color: #4BCA81;" v-if="item.OutNotice==1"></span> <span @click="toTrip(item)" style="color: #4BCA81;" v-if="item.OutNotice==1"></span>
...@@ -329,9 +333,10 @@ ...@@ -329,9 +333,10 @@
</td> </td>
<td> <td>
<div class="fz16 fbold linkspan" @click="goUrlBus('BusInfo',item,outItem,'车配信息')"> <div class="fz16 fbold linkspan">
<span style="color: #4BCA81;" v-if="item.BusResult==1"></span> <span style="color: #4BCA81;" @click="goUrlBus('BusInfo',item,outItem,'车配信息')" v-if="item.BusResult==1"></span>
<span class="colorE95252" v-else>{{item.BusResult=='-1'?"x":"O"}}</span> <span class="colorE95252" @click="goUrlBus('BusInfo',item,outItem,'车配信息')" v-else>{{item.BusResult=='-1'?"x":"O"}}</span>
<span @click="GoShoupei(item)" style="cursor:pointer;text-decoration:underline;display:block;color:#666;font-size:12px;">车辆信息</span>
</div> </div>
</td> </td>
<td> <td>
...@@ -340,8 +345,10 @@ ...@@ -340,8 +345,10 @@
<span class="colorE95252" v-else>{{item.LeaderIsApply=='0'?"x":"O"}}</span> <span class="colorE95252" v-else>{{item.LeaderIsApply=='0'?"x":"O"}}</span>
</div> </div>
</td> </td>
<td :rowspan="2*outItem.PriceCommonList.length" v-if='index==0' > <td :rowspan="2*outItem.PriceCommonList.length" v-if='index==0'>
<div class="fz16 fbold linkspan" @click="goUrlLeaderIsApply('TravelPassengerList3',item,outItem,'合团分房表')" v-if="outItem.PriceCommonList.length > 1"> <div class="fz16 fbold linkspan"
@click="goUrlLeaderIsApply('TravelPassengerList3',item,outItem,'合团分房表')"
v-if="outItem.PriceCommonList.length > 1">
<span style="color: #4BCA81;" v-if="item.LeaderIsApply==2"></span> <span style="color: #4BCA81;" v-if="item.LeaderIsApply==2"></span>
<span class="colorE95252" v-else>{{item.LeaderIsApply=='0'?"x":"O"}}</span> <span class="colorE95252" v-else>{{item.LeaderIsApply=='0'?"x":"O"}}</span>
</div> </div>
...@@ -477,7 +484,7 @@ ...@@ -477,7 +484,7 @@
<th>团号/时间</th> <th>团号/时间</th>
<template v-for="(hItem,hIndex) in TeamHotelList"> <template v-for="(hItem,hIndex) in TeamHotelList">
<th> <th>
{{hItem.TCNUM}}<br/>({{hItem.TCID}}) {{hItem.TCNUM}}<br />({{hItem.TCID}})
</th> </th>
</template> </template>
</tr> </tr>
...@@ -505,7 +512,7 @@ ...@@ -505,7 +512,7 @@
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="21" style="text-align: left!important;padding:0 20px;"> <td colspan="22" style="text-align: left!important;padding:0 20px;">
<div class="link"> <div class="link">
<p @click="getJourney(item.ConfigID,item.Title)" style="padding-top:4px;">{{item.Title}}</p> <p @click="getJourney(item.ConfigID,item.Title)" style="padding-top:4px;">{{item.Title}}</p>
<div v-if="outItem.PriceCommonList[index].DMCNum && outItem.PriceCommonList[index].DMCNum!=''" <div v-if="outItem.PriceCommonList[index].DMCNum && outItem.PriceCommonList[index].DMCNum!=''"
...@@ -843,8 +850,8 @@ ...@@ -843,8 +850,8 @@
'NewCombinationNum': outItem.NewCombinationNum, 'NewCombinationNum': outItem.NewCombinationNum,
'LeaderName': obj.LeaderName, 'LeaderName': obj.LeaderName,
'GuideName': obj.GuideName, 'GuideName': obj.GuideName,
'IsCombine':outItem.PriceCommonList.length>1, 'IsCombine': outItem.PriceCommonList.length > 1,
'NewTCIDs':outItem.TCIDS, 'NewTCIDs': outItem.TCIDS,
blank: 'y', blank: 'y',
tab: title tab: title
} }
...@@ -1017,6 +1024,34 @@ ...@@ -1017,6 +1024,34 @@
} }
}, err => {}) }, err => {})
}, },
//下载旅客名单
DownLoadGuestList(item) {
this.loading = true;
//导出报表
let msg = {
TCID: item.TCID
};
var fileName = "旅客名单.xls";
if (item.TCNUMS != null) {
fileName =
"【" + item.TCNUMS + "】旅客名单.xls";
}
this.GetLocalFile("travel_get_GetTravelGuestExport_V2", msg, fileName,
res => {
this.loading = false;
});
},
//跳转手配书
GoShoupei(item) {
this.$router.push({
name: "busHandBook",
query: {
"TCID": item.TCIDS,
blank: 'y',
tab: "手配依赖书"
}
})
}
}, },
mounted() { mounted() {
let myDate = new Date(); let myDate = new Date();
......
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