Commit 11490b64 authored by 黄奎's avatar 黄奎

车辆统计页面修改

parent 377fb9e9
...@@ -47,163 +47,157 @@ ...@@ -47,163 +47,157 @@
:style="{height: boxHeight + 'px'}"> :style="{height: boxHeight + 'px'}">
<table border="0" cellspacing="1" cellpadding="0" class="busStatisticsTalbe" v-loading='loading'> <table border="0" cellspacing="1" cellpadding="0" class="busStatisticsTalbe" v-loading='loading'>
<tr> <tr>
<th class="w100">序号</th> <th width="100">序号</th>
<th width="110">出发地</th> <th width="80">出发地</th>
<th width="110">酒店</th> <th width="80">酒店</th>
<th width="150">航班时间</th> <th width="110">航班时间</th>
<th width="150">公司团号</th> <th width="150">公司团号</th>
<th width="100">线路负责人</th> <th width="80">线路<br />负责人</th>
<th width="70">进出点</th> <th width="70">进出点</th>
<th width="80">机位总数<br />(Y/E/F)</th> <th width="70">机位总数<br />(Y/E/F)</th>
<th width="80">领队</th> <th width="80">领队</th>
<th width="80">导游</th> <th width="80">导游</th>
<th width="150">车型</th> <th width="80">车型</th>
<th width="100" v-for='item in thLengthTitle'>{{item}}</th> <th width="100">时间</th>
<th width="150">车辆状态</th> <th width="80">类型</th>
<th width="150">车费总计</th> <th width="80">状态</th>
<th width="80">车辆状态</th>
<th width="80">车费总计</th>
<th width="80">配车天数</th> <th width="80">配车天数</th>
<th width="120">操作</th> <th width="100">操作</th>
</tr> </tr>
<tbody v-for="(outItem,outindex) in DataList" :class="{splitTrCss:outindex%2!=0}"> <template v-for="(outItem,outindex) in DataList">
<template v-for="(item,index) in outItem.StaticsReportList"> <tbody :class="{splitTrCss:outindex%2!=0}">
<tr> <template v-for="(item,index) in outItem.StaticsReportList">
<td :rowspan="2*outItem.StaticsReportList.length" v-if='index==0'> <template v-for="(subItem,subIndex) in item.CommonReport.BusPlanListReport">
<div class="w100">{{outItem.NewCombinationNum}}</div> <template v-for="(thirdItem,thirdIndex) in subItem.BusPlanOrderList">
</td> <tr>
<td> <td :rowspan="outItem.rootRowspan" v-if='index==0&&subIndex==0&&thirdIndex==0'>
<div class="w80"> {{outItem.NewCombinationNum}}
{{item.StartCityNames}} </td>
</div> <td :rowspan="item.itemRowSpan" v-if='subIndex==0&&thirdIndex==0'>
</td> {{item.StartCityNames}}
<td> </td>
<el-popover width="750" trigger="click" popper-class="Bus_HotelPop"> <td :rowspan="item.itemRowSpan" v-if='subIndex==0&&thirdIndex==0'>
<commonHotelInfo :HotelObj="item.CommonReport.PriceHotelResult" :showHotelObj="showHotelObj"> <el-popover width="950" trigger="click" popper-class="Bus_HotelPop">
</commonHotelInfo> <commonHotelInfo :HotelObj="item.CommonReport.PriceHotelResult" :showHotelObj="showHotelObj">
<div slot="reference" class="w80" style="cursor:pointer;text-decoration:underline;">酒店信息</div> </commonHotelInfo>
</el-popover> <div slot="reference" class="w80" style="cursor:pointer;text-decoration:underline;">酒店信息</div>
</td> </el-popover>
<td> </td>
<div class="w120"> <td :rowspan="item.itemRowSpan" v-if='subIndex==0&&thirdIndex==0'>
{{item.FlightDate}} {{item.FlightDate}}<br />
<el-popover popper-class="busStatistics_tripDetails" width="550" trigger="click"> <el-popover popper-class="busStatistics_tripDetails" width="550" trigger="click">
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr class="_color_666" style="text-align:center;"> <tr class="_color_666" style="text-align:center;">
<th width="60">{{$t('Airticket.Air_segment')}}</th> <th width="60">{{$t('Airticket.Air_segment')}}</th>
<th width="80">{{$t('system.query_flightNum')}}</th> <th width="80">{{$t('system.query_flightNum')}}</th>
<th width="150">起飞时间</th> <th width="150">起飞时间</th>
<th width="150">到达时间</th> <th width="150">到达时间</th>
<th width="100">经停城市</th> <th width="100">经停城市</th>
</tr> </tr>
<tr v-for="(ds,din) in item.FlightList" :key="din" style="text-align:center;"> <tr v-for="(ds,din) in item.FlightList" :key="din" style="text-align:center;">
<td class="_d_name _color_666"> <td class="_d_name _color_666">
<span v-if="din==0">{{$t('Airticket.Air_go')}}</span> <span v-if="din==0">{{$t('Airticket.Air_go')}}</span>
<span v-else-if="din==item.FlightList.length-1">{{$t('Airticket.Air_returnTrip')}}</span> <span v-else-if="din==item.FlightList.length-1">{{$t('Airticket.Air_returnTrip')}}</span>
<span <span
v-else-if="din>0 && din!=item.FlightList.length-1">{{$t('Airticket.Air_transit')}}</span> v-else-if="din>0 && din!=item.FlightList.length-1">{{$t('Airticket.Air_transit')}}</span>
</td> </td>
<td> <td>
<div>{{ds.Flight_number}}</div> <div>{{ds.Flight_number}}</div>
<div style="margin-top:5px;">{{ds.AlName}}</div> <div style="margin-top:5px;">{{ds.AlName}}</div>
</td> </td>
<td> <td>
<div>{{ds.FlightDate}} {{ds.Departure_time}}</div> <div>{{ds.FlightDate}} {{ds.Departure_time}}</div>
<div style="margin-top:5px;">{{ds.dName}}</div> <div style="margin-top:5px;">{{ds.dName}}</div>
</td> </td>
<td> <td>
<div>{{ds.FlightArrivalTime}} {{ds.Arrival_time}}</div> <div>{{ds.FlightArrivalTime}} {{ds.Arrival_time}}</div>
<div style="margin-top:5px;">{{ds.aName}}</div> <div style="margin-top:5px;">{{ds.aName}}</div>
</td> </td>
<td>{{ds.StopoverName}}</td> <td>{{ds.StopoverName}}</td>
</tr> </tr>
</table> </table>
<el-button slot="reference" class="normalBtn mt5" <el-button slot="reference" class="normalBtn mt5"
style='height:24px; padding: 0 10px; background: #2AAEF2; border-color: #2AAEF2;'>详情</el-button> style='height:24px; padding: 0 10px; background: #2AAEF2; border-color: #2AAEF2;'>详情
</el-popover> </el-button>
</div> </el-popover>
</td> </td>
<td> <td :rowspan="item.itemRowSpan" v-if='subIndex==0&&thirdIndex==0'>
<div class="w120 link"> <p @click="goUrlT('productQuery',item.TCNUMS,'产品查询')"
<p @click="goUrlT('productQuery',item.TCNUMS,'产品查询')">{{item.TCNUMS}}</p> style="cursor:pointer;text-decoration:underline;">{{item.TCNUMS}}({{item.TCID}})</p>
</div> </td>
</td> <td :rowspan="item.itemRowSpan" v-if='subIndex==0&&thirdIndex==0'>
<td> {{item.CreateByName}}
<div class="w80">{{item.CreateByName}}</div> </td>
</td> <td :rowspan="item.itemRowSpan" v-if='subIndex==0&&thirdIndex==0'>
<td> {{item.InOut}}
<div class="w80">{{item.InOut}}</div> </td>
</td> <td :rowspan="item.itemRowSpan" v-if='subIndex==0&&thirdIndex==0'>
<td> <p @click="goUrlT('RegistrationList',item.TCIDS,'报名清单')"
<div class="w100 link"> style="cursor:pointer;text-decoration:underline;">
<p @click="goUrlT('RegistrationList',item.TCIDS,'报名清单')"> {{item.TotalSeat}}/{{item.CommonReport.HouseStatistics.RealityYSeatNum}}/{{item.CommonReport.HouseStatistics.RealityESeatNum}}/{{item.CommonReport.HouseStatistics.RealityFSeatNum}}
{{item.TotalSeat}}/{{item.CommonReport.HouseStatistics.RealityYSeatNum}}/{{item.CommonReport.HouseStatistics.RealityESeatNum}}/{{item.CommonReport.HouseStatistics.RealityFSeatNum}} </p>
</p> </td>
</div> <td :rowspan="item.itemRowSpan" v-if='subIndex==0&&thirdIndex==0'>
</td> {{item.LeaderName}}
<td> </td>
<div class="w80">{{item.LeaderName}}</div> <td :rowspan="item.itemRowSpan" v-if='subIndex==0&&thirdIndex==0'>
</td> {{item.GuideName}}
<td> </td>
<div class="w80">{{item.GuideName}}</div> <td :rowspan="item.itemRowSpan" v-if='subIndex==0&&thirdIndex==0'>
</td> <template
<td> v-if="item.CommonReport&&item.CommonReport.BusPlanListReport&&item.CommonReport.BusPlanListReport.length>0&&item.CommonReport.BusPlanListReport[0].BusPlanOrderList&&item.CommonReport.BusPlanListReport[0].BusPlanOrderList[0]">
<div class="w80"> {{item.CommonReport.BusPlanListReport[0].BusPlanOrderList[0].MainBusTypeStr}}
<template
v-if="item.CommonReport&&item.CommonReport.BusPlanListReport&&item.CommonReport.BusPlanListReport.length>0&&item.CommonReport.BusPlanListReport[0].BusPlanOrderList&&item.CommonReport.BusPlanListReport[0].BusPlanOrderList[0]">
{{item.CommonReport.BusPlanListReport[0].BusPlanOrderList[0].MainBusTypeStr}}
</template>
</div>
</td>
<td v-for="(x,ww) in item.CommonReport.BusPlanListReport" style="vertical-align: top;">
<div class="w100">
<template v-if="x.BusPlanOrderList" v-for="(childItem,childIndex) in x.BusPlanOrderList">
<p class="pDateStyle" v-if="childIndex==0"> {{childItem.PlanDateStr}}</p>
<p class="pDateStyle">
{{(childItem.AirportPickUpStr!=""?childItem.AirportPickUpStr:"") }}
<span style="color: #4BCA81;" v-if="(childItem.AirportPickUpStr!='')"></span>
<span style="color: #E95252;" v-else>X</span>
<template v-if="x.BusPlanOrderList.length>1 && x.BusPlanOrderList.length-1!=childIndex">
<br />
</template> </template>
</p> </td>
</template> <td :rowspan="subItem.BusPlanOrderList.length" v-if='thirdIndex==0'>
</div> {{subItem.UseTimeStr}}
</td> </td>
<td v-for="is in item.isCha"></td> <td>
<td> {{thirdItem.AirportPickUpStr}}
<div class="w80 fbold fz16"> </td>
<span style="color: #E95252;" v-if="item.CommonReport.BusOrderState==-1">X</span> <td>
<span style="color: #ff6600;" v-else-if="item.CommonReport.BusOrderState==0">O</span> <span style="color: #4BCA81;" v-if="(thirdItem.AirportPickUpStr!='')"></span>
<span style="color: #4BCA81;" v-else-if="item.CommonReport.BusOrderState==1"></span></div> <span style="color: #E95252;" v-else>X</span>
</td> </td>
<td> <td :rowspan="item.itemRowSpan" v-if='subIndex==0&&thirdIndex==0'>
<div class="w150"> <div class="w80 fbold fz16">
{{GetTotalPrice(item.CommonReport.BusPlanListReport,item.CommonReport.HouseStatistics.RealityNum)}} <span style="color: #E95252;" v-if="item.CommonReport.BusOrderState==-1">X</span>
</div> <span style="color: #ff6600;" v-else-if="item.CommonReport.BusOrderState==0">O</span>
</td> <span style="color: #4BCA81;" v-else-if="item.CommonReport.BusOrderState==1"></span>
<td> </div>
<div class="w100"> </td>
{{GetPeiChe(item.CommonReport.BusPlanListReport)}} <td :rowspan="item.itemRowSpan" v-if='subIndex==0&&thirdIndex==0'>
</div> {{GetTotalPrice(item.CommonReport.BusPlanListReport,item.CommonReport.HouseStatistics.RealityNum)}}
</td> </td>
<td :rowspan="2*outItem.StaticsReportList.length" v-if='index==0'> <td :rowspan="item.itemRowSpan" v-if='subIndex==0&&thirdIndex==0'>
<div class="w100 link"> {{GetPeiChe(item.CommonReport.BusPlanListReport)}}
<span @click="goUrlX('BusInfo',item,outItem,'车配信息')">详情</span> </td>
<span @click="GoDownLoad(outItem)">手配书</span> <td :rowspan="item.itemRowSpan" v-if='subIndex==0&&thirdIndex==0'>
</div> <span @click="goUrlX('BusInfo',item,outItem,'车配信息')"
</td> style="cursor:pointer;text-decoration:underline;">详情</span>
</tr> <br />
<tr> <br />
<td :colspan="colspanTotal" style="text-align: left!important;padding-left: 20px;"> <span @click="GoDownLoad(outItem)" style="cursor:pointer;text-decoration:underline;">手配书</span>
<div class="link"> </td>
<p @click="goUrlT('productQuery',item.TCNUMS,'产品查询')">{{item.Titles}}</p> </tr>
<div v-show="item.DMCRemark!=''" class="colorE95252">地接备注:{{item.DMCRemark}}</div> <tr
<div v-show="item.OPRemark!=''" class="colorE95252"> OP备注(对外):{{item.OPRemark}}</div> v-if="subIndex== item.CommonReport.BusPlanListReport.length-1 && thirdIndex==subItem.BusPlanOrderList.length-1">
<div v-show="item.OPInnerRemark!=''" class="colorE95252">OP备注(对内):{{item.OPInnerRemark}}</div> <td :colspan="17" style="text-align: left!important;padding-left: 20px;">
</div> <div class="link">
</td> <p @click="goUrlT('productQuery',item.TCNUMS,'产品查询')">{{item.Titles}}</p>
</tr> <div v-show="item.DMCRemark!=''" class="colorE95252">地接备注:{{item.DMCRemark}}</div>
</template> <div v-show="item.OPRemark!=''" class="colorE95252"> OP备注(对外):{{item.OPRemark}}</div>
</tbody> <div v-show="item.OPInnerRemark!=''" class="colorE95252">OP备注(对内):{{item.OPInnerRemark}}</div>
</div>
</td>
</tr>
</template>
</template>
</template>
</tbody>
</template>
</table> </table>
</div> </div>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage" <el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage"
...@@ -221,7 +215,7 @@ ...@@ -221,7 +215,7 @@
total: 0, total: 0,
msg: { msg: {
pageIndex: 1, pageIndex: 1,
pageSize: 10, pageSize: 5,
SelectType: 4, SelectType: 4,
LineId: 14, LineId: 14,
LineteamId: "-1", LineteamId: "-1",
...@@ -407,23 +401,23 @@ ...@@ -407,23 +401,23 @@
this.loading = false; this.loading = false;
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.total = res.data.data.count; this.total = res.data.data.count;
this.DataList = res.data.data.pageData.data; var sourceData = res.data.data.pageData.data;
console.log("this.dataList",this.DataList); sourceData.forEach(outItem => {
this.thLengthTitle = []; var rootRowspan = 0; //合团跨行
this.colspanTotal = res.data.data.pageData.columnsCount + 13;
for (let i = 1; i <= res.data.data.pageData.columnsCount; i++) {
this.thLengthTitle.push('第' + i + '天');
}
this.DataList.forEach(outItem => {
outItem.StaticsReportList.forEach(item => { outItem.StaticsReportList.forEach(item => {
if (item.CommonReport.BusPlanListReport.length < res.data.data.pageData.data.length) { var itemRowSpan = 0; //车辆跨行
item.isCha = res.data.data.pageData.columnsCount - item.CommonReport.BusPlanListReport item.CommonReport.BusPlanListReport.forEach(thirdItem => {
.length; thirdItem.BusPlanOrderList.forEach(lastItem => {
} else { rootRowspan++;
item.isCha = 0;; itemRowSpan++;
} });
}) });
item.itemRowSpan = itemRowSpan;
});
rootRowspan += outItem.StaticsReportList.length;
outItem.rootRowspan = rootRowspan;
}) })
this.DataList = sourceData;
this.$forceUpdate(); this.$forceUpdate();
} else { } else {
this.Error(res.data.message); this.Error(res.data.message);
...@@ -461,7 +455,7 @@ ...@@ -461,7 +455,7 @@
} }
.busStatisticsTalbe { .busStatisticsTalbe {
background: #ccc; border-collapse: collapse;
} }
.busStatisticsTalbe tr th { .busStatisticsTalbe tr th {
...@@ -474,34 +468,13 @@ ...@@ -474,34 +468,13 @@
.busStatisticsTalbe tr { .busStatisticsTalbe tr {
background: #fff; background: #fff;
text-align: center; text-align: center;
height: 40px;
} }
.busStatisticsTalbe tr td { .busStatisticsTalbe tr td {
font-size: 12px; font-size: 12px;
} height: 20px;
line-height: 20px;
.busStatisticsTalbe tr td .pDateStyle { border: 1px solid #d2d2d2;
border-bottom: 1px solid #ccc;
min-height: 24px;
line-height: 24px;
margin-top: 0;
box-sizing: content-box;
padding: 0 10px;
}
.busStatisticsTalbe tr td .pDateStyle:last-child {
border-bottom: none;
}
.busStatisticsTalbe tr td .link p:hover {
text-decoration: underline;
cursor: pointer;
}
.busStatisticsTalbe tr td .link span:hover {
text-decoration: underline;
cursor: pointer;
} }
.busStatistics_tripDetails { .busStatistics_tripDetails {
......
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