Commit 86139a42 authored by 吴春's avatar 吴春

日本车统计

parent 06e54896
......@@ -1082,7 +1082,7 @@
</el-tooltip>
<el-tooltip v-else-if="item.CarIsPush==2" class="item" effect="dark" placement="top">
<div slot="content">
<div v-html="TipsContent(item,1)"></div>
<div v-html="TipsContent(item,2)"></div>
</div>
<el-button @click.native='PushBusMessage(item)' type="primary"
style="background:#00C6FF; border-color:#00C6FF;">重新推送
......
<style scoped>
</style>
<template>
<table border="0" cellspacing="1" cellpadding="0" class="busStatisticsTalbe" v-loading='loading'>
<tr>
<th class="w100" >车公司</th>
<th class="w110" >车牌号</th>
<th class="w110" >司机</th>
<th class="w150" >车型</th>
<th class="w150" >用车性质</th>
<th class="w150" >使用单位</th>
<th class="w100" >用车地点</th>
<th class="w100" >用车日期</th>
<th class="w100" >用车时间</th>
<th class="w100" >还车日期</th>
<th class="w100" >还车时间</th>
<th class="w200">行程</th>
<th class="w200">备注</th>
</tr>
<tbody v-for="(outItem,outindex) in OrderList" class="splitTrCss1">
<tr>
<td >
<div class="w100">{{outItem.CarSupplierName}}</div>
</td>
<td >
<div class="w110">
{{outItem.CarNo}}
</div>
</td>
<td >
<div class="w110">
{{outItem.DriverName}} {{outItem.CopilotDriverName}}
</div>
</td>
<td >
<div class="w120">
{{outItem.CarName}}
</div>
</td>
<td>
<div class="W100 ">
{{outItem.UseTypeStr}}
</div>
</td>
<td>
<div class="w150">{{outItem.CustomerName}}</div>
</td>
<td>
<div class="w100"><span>{{outItem.StartCityName}}<span v-if="outItem.StartCity&&outItem.EndCity">--></span> <span > {{outItem.EndCityName}}</span></span></div>
</td>
<td>
<div class="w100">{{outItem.UseDateStr}}</div>
</td>
<td>
<div class="w100">{{outItem.StartTime}}</div>
</td>
<td>
<div class="w100">{{outItem.UseDateStr}}</div>
</td>
<td>
<div class="w100">{{outItem.EndTime}}</div>
</td>
<td>
<div class="w200" >{{outItem.BusContent}}</div>
</td>
<td>
<div class="w200" >{{outItem.AppendNotes}}</div>
</td>
</tr>
</tbody>
</table>
</template>
<script>
export default {
props: ["OrderList", "pagesTitle",'loading'],
data() {
return {
};
},
watch: {
pagesTitle(val, oldval) {
},
OrderList: {
handler(val, oldVal) {},
},
},
methods: {
com_onresize() {
//clientHeight的值由DIV内容的实际高度和CSS中的padding值决定,
var contentsHeight = document.body.clientHeight;
var h = contentsHeight - 50 - 180 - 40;
if (h < 110) {
return;
}
//设置table的行高
// this.tableHeight = h;
},
success() {
this.close();
this.$emit("success");
},
},
mounted() {
this.userInfo = this.getLocalStorage();
let ActionMenuCode = this.userInfo.ActionMenuCode;
if (ActionMenuCode.indexOf("is_correlationOP") != -1) {
this.is_correlationOP = true;
}
//自适应高度调节
this.com_onresize();
window.onresize = () => {
this.com_onresize();
};
},
};
</script>
<style></style>
<style scoped>
</style>
<template>
<table border="0" cellspacing="1" cellpadding="0" class="busStatisticsTalbe" v-loading='loading'>
<tr>
<th class="w100" >车公司</th>
<th width="110" >车牌号</th>
<th width="110" >司机</th>
<th width="150" >出车日</th>
<th width="150" >客户</th>
<th width="100" >出发地</th>
<th width="100" >到达地</th>
<th width="100" >天数</th>
<th width="100" >总收入</th>
<th width="300" >收入单据</th>
<th width="100" >总支出</th>
<th width="300" >支出单据</th>
</tr>
<tbody v-for="(outItem,outindex) in OrderList" class="splitTrCss1">
<tr>
<td>
<div class="w100">{{outItem.SupplierName}}</div>
</td>
<td>
<div class="w80">
{{outItem.CarNo}}
</div>
</td>
<td >
<div class="w80">
{{outItem.DriverName}} {{outItem.CopilotDriverName}}
</div>
</td>
<td >
<div class="w120">
{{outItem.UseDateStr}}
</div>
</td>
<td>
<div class="w120 ">
{{outItem.CustomerName}}
</div>
</td>
<td>
<div class="w80">{{outItem.StartCityName}}</div>
</td>
<td>
<div class="w80">{{outItem.EndCityName}}</div>
</td>
<td>
<div class="w100">
{{outItem.UseDayCount}}
</div>
</td>
<td>
<div class="w80">{{outItem.IncomeMoney}}</div>
</td>
<td>
<div class="w300"> <div class="row wrap orderNo fz12 py">
<span class="cursor-pointer radius5 mr mb px5" :class="{'bgD9F3FF':x.Status==1,'bgFAEAED':x.Status==2,'bjFFF3E0':x.Status==3,
'c3FC4FF':x.Status==1,'cF1416C':x.Status==2,'cff9800':x.Status==3}" v-for="(x, i) in outItem.IncomeList"
@click="openDetails(x)">{{ x.FrID }}</span>
<span v-if="outItem.IncomeList.length == 0" class="c9e fz12">
{{$t('objFill.nocollectiondocument')}}
</span>
</div></div>
</td>
<td>
<div class="w80">{{outItem.OutMoney}}</div>
</td>
<td>
<div class="w300">
<div class="row wrap orderNo fz12 py">
<span class="cursor-pointer radius5 mr mb px5" :class="{'bgD9F3FF':x.Status==1,'bgFAEAED':x.Status==2,'bjFFF3E0':x.Status==3,
'c3FC4FF':x.Status==1,'cF1416C':x.Status==2,'cff9800':x.Status==3}" v-for="(x, i) in outItem.RefundList"
@click="openDetails(x)">{{ x.FrID }}</span>
<span v-if="outItem.RefundList.length == 0" class="c9e fz12">
{{$t('objFill.norefundreceipt')}}
</span>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</template>
<script>
export default {
props: ["OrderList", "pagesTitle",'loading'],
data() {
return {
};
},
watch: {
pagesTitle(val, oldval) {
},
OrderList: {
handler(val, oldVal) {},
},
},
methods: {
com_onresize() {
//clientHeight的值由DIV内容的实际高度和CSS中的padding值决定,
var contentsHeight = document.body.clientHeight;
var h = contentsHeight - 50 - 180 - 40;
if (h < 110) {
return;
}
//设置table的行高
// this.tableHeight = h;
},
success() {
this.close();
this.$emit("success");
},
// 单据详情
openDetails(item,x) {
let query = {
id: item.FrID ? item.FrID : item.ID,
blank: "y",
};
this.$router.push({
path: "/FinancialDocumentsDetail",
query
});
},
},
mounted() {
this.userInfo = this.getLocalStorage();
let ActionMenuCode = this.userInfo.ActionMenuCode;
if (ActionMenuCode.indexOf("is_correlationOP") != -1) {
this.is_correlationOP = true;
}
//自适应高度调节
this.com_onresize();
window.onresize = () => {
this.com_onresize();
};
},
};
</script>
<style></style>
<style scoped>
</style>
<template>
<table border="0" cellspacing="1" cellpadding="0" class="busStatisticsTalbe" v-loading='loading'>
<tr>
<th class="w100" rowspan="2" v-if="pagesTitle=='日本车行运行统计表'">车公司</th>
<th width="110" rowspan="2" v-if="pagesTitle=='日本车行运行统计表'">车牌号</th>
<th width="110" rowspan="2" v-if="pagesTitle=='日本车行运行统计表'">司机</th>
<th width="150" rowspan="2" v-if="pagesTitle=='日本车行运行统计表'">车型</th>
<th width="150" rowspan="2">使用单位</th>
<th width="100" colspan="3">用车性质</th>
<th width="100" colspan="2">用车时间</th>
<template v-if="OrderList&&OrderList.length>0">
<th width="100" rowspan="2" v-for="(outItem,outindex) in OrderList[0].OrderDayCalendar">{{outItem.UseDateStr}}</th>
</template>
</tr>
<tr>
<th width="100" >接机</th>
<th width="100" >送机</th>
<th width="100" >包机</th>
<th width="100" >出发预订</th>
<th width="100" >结束预订</th>
</tr>
<tbody v-for="(outItem,outindex) in OrderList" class="splitTrCss1">
<tr>
<td v-if="pagesTitle=='日本车行运行统计表'">
<div class="w100">{{outItem.SupplierName}}</div>
</td>
<td v-if="pagesTitle=='日本车行运行统计表'">
<div class="w80">
{{outItem.CarNo}}
</div>
</td>
<td v-if="pagesTitle=='日本车行运行统计表'">
<div class="w80">
{{outItem.DriverName}} {{outItem.CopilotDriverName}}
</div>
</td>
<td v-if="pagesTitle=='日本车行运行统计表'">
<div class="w120">
{{outItem.CarName}}
</div>
</td>
<td>
<div class="w120 ">
{{outItem.CustomerName}}
</div>
</td>
<td>
<div class="w80">{{outItem.AirportPickUpCount}}</div>
</td>
<td>
<div class="w80">{{outItem.SendingMachineCount}}</div>
</td>
<td>
<div class="w100">
{{outItem.UseDayCount}}
</div>
</td>
<td>
<div class="w80">{{outItem.UseDateStr}}</div>
</td>
<td>
<div class="w80">{{outItem.EndUseDateStr}}</div>
</td>
<td v-for="(x,ww) in outItem.OrderDayCalendar" >
<div class="w100" >
<div v-if="x.UseState>-1">
<el-tooltip class="item" effect="dark" :content="x.BusContent" placement="top">
<span>{{x.StartCity}}<span v-if="x.StartCity&&x.EndCity">--></span> <span > {{x.EndCity}} </span>
<span style="color: #4BCA81;" v-if="(x.UseState==1)"></span>
<span style="color: #E95252;" v-else>O</span> </span>
</el-tooltip>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</template>
<script>
export default {
props: ["OrderList", "pagesTitle",'loading'],
data() {
return {
};
},
watch: {
pagesTitle(val, oldval) {
},
OrderList: {
handler(val, oldVal) {},
},
},
methods: {
com_onresize() {
//clientHeight的值由DIV内容的实际高度和CSS中的padding值决定,
var contentsHeight = document.body.clientHeight;
var h = contentsHeight - 50 - 180 - 40;
if (h < 110) {
return;
}
//设置table的行高
// this.tableHeight = h;
},
success() {
this.close();
this.$emit("success");
},
},
mounted() {
this.userInfo = this.getLocalStorage();
let ActionMenuCode = this.userInfo.ActionMenuCode;
if (ActionMenuCode.indexOf("is_correlationOP") != -1) {
this.is_correlationOP = true;
}
//自适应高度调节
this.com_onresize();
window.onresize = () => {
this.com_onresize();
};
},
};
</script>
<style></style>
<template>
<div>
<div class="query-box" style="border-bottom: none;">
<ul>
<li>
<span>
<em>{{$t('fnc.khmingcheng')}}</em>
<el-select v-model="msg.CustomerId" filterable :placeholder="$t('pub.pleaseSel')" @change="getLinePlaceList()">
<el-option :label="$t('pub.unlimitedSel')" :value='0'></el-option>
<el-option v-for="item in queryCommonData.LineList" :label='item.CustomerName' :value='item.Id'
:key='item.Id'>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>团号</em>
<el-input v-model='msg.TCNUM'></el-input>
</span>
</li>
<li><span><em>{{$t('pub.date')}}</em>
<el-date-picker v-model='msg.UseSTime' class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
-
<el-date-picker v-model='msg.UseETime' class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
</span>
</li>
<li><span><em>是否完结</em></span>
<el-select v-model='msg.IsFinish'>
<el-option label='全部' value='0' key='0'></el-option>
<el-option label='是' value='1' key='1'></el-option>
</el-select>
</li>
<!-- <li><span><em>状态</em></span>
<el-select v-model='msg.PriceStatus'>
<el-option label='正常' value='0' key='0'></el-option>
<el-option label='取消' value='1' key='1'></el-option>
</el-select>
</li> -->
<li>
<input type="button" class="normalBtn" :value="$t('pub.searchBtn')" @click="getList();resetPageIndex()" />
</li>
</ul>
</div>
<div style="width: 100%; overflow-x: auto;padding-bottom: 10px; margin-top: 10px; " class="ownScrollbarStyle"
:style="{height: boxHeight + 'px'}">
<OrderList :pagesTitle="Title" :OrderList="DataList" :loading="loading" @success="msg.pageIndex=1,GetList()"> </OrderList>
</div>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage"
layout="total,prev, pager, next, jumper" :page-size="msg.pageSize" :total="total"></el-pagination>
</div>
</template>
<script>
import OrderList from './BookAcar/components/JapanOrderFList';
export default {
data() {
return {
userInfo: {}, //用户信息
loading: false,
currentPage: 1,
total: 0,
msg: {
pageIndex: 1,
pageSize: 10,
CustomerId: 0,
UseSTime: '',
UseETime: '',
IsFinish: "0",
TCNUM: ""
},
Title:'日本车行运行统计表',
queryCommonData: {
PlaceList: [],
LineList: [],
LineTeamList: [],
},
thLengthTitle: [],
DataList: [],
colspanTotal: 0,
isCha: 0,
boxHeight: 0,
showHotelObj: {
showPrice: false, //是否显示价格
showPay: false, //是否显示支付方式
showZhan: false, //占房时间
showBtnList: false, //是否下载、确认按钮
ShowTaxType: false, //显示税入税别
ShowRebateRatio: false, //显示返佣比列
ShowSupplier: false, //是否显示供应商
showCaozuoTime: false, //操作时间
colspanLength: 6 //跨行
}
}
},
components: {OrderList
},
methods: {
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1;
},
getList() {
this.loading = true
this.apipost('JapanCar_get_GetJapanOrderFinStatisticsPageList', this.msg, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.total = res.data.data.count;
this.DataList = res.data.data.pageData;
} else {
this.Error(res.data.message);
}
}, err => {})
},
getCustomerList(CustomerKeyWord){
this.apipost('JapanCar_get_GetJapanCarCustomerList', {keyWord:CustomerKeyWord}, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.queryCommonData.LineList = res.data.data;
} else {
this.Error(res.data.message);
}
}, err => {})
},
},
mounted() {
this.userInfo = this.getLocalStorage();
let myDate = new Date();
let nowDate =
myDate.getFullYear() +
"-" +
parseInt(myDate.getMonth() + 1) +
"-" +
myDate.getDate();
this.msg.UseSTime = nowDate;
this.msg.UseETime= myDate.getFullYear() + "-" + parseInt(myDate.getMonth() + 2) + "-" + myDate.getDate();
let width = window.innerWidth - 50;
let height = window.innerHeight - 65 - 210;
this.boxHeight = height;
this.offsetwidth = width;
this.getCustomerList();
this.getList();
},
}
</script>
<style>
.splitTrCss td {
background: #eee !important;
}
.busIconStyle>span {
margin-right: 20px;
font-weight: bold;
}
.busStatisticsTalbe {
background: #ccc;
}
.busStatisticsTalbe tr th {
background: #E6E6E6;
height: 40px;
font-size: 12px;
color: #333;
}
.busStatisticsTalbe tr {
background: #fff;
text-align: center;
height: 40px;
}
.busStatisticsTalbe tr td {
font-size: 12px;
}
.busStatisticsTalbe tr td .pDateStyle {
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 {
padding: 0;
box-shadow: 0px 1px 3px 0px #dedede;
max-height: 400px;
overflow-y: auto;
}
.busStatistics_tripDetails .popper__arrow::after {
border-bottom-color: #ededed !important;
}
.busStatistics_tripDetails table {
padding: 10px 0 0 20px;
background-color: #ededed;
border-collapse: collapse;
border: 1px solid #d2d2d2;
font-size: 12px;
}
.busStatistics_tripDetails table th {
background-color: #ededed;
padding: 5px;
}
.busStatistics_tripDetails table td {
background-color: #ffffff;
padding: 9px 15px;
color: #333333;
border: 1px solid #d2d2d2;
}
.busStatistics_tripDetails table td._d_name {
background-color: #ededed;
}
.busStatistics_tripDetails table ._color_666 {
color: #666666;
}
.busStatistics_tripDetails table tr._color_666 th {
padding: 9px 15px;
}
.Bus_HotelPop {
overflow: auto;
max-height: 350px;
}
.ownScrollbarStyle .cursor-pointer {
cursor: pointer;
}
.ownScrollbarStyle .radius5 {
border-radius: 5px;
}
.ownScrollbarStyle .mr {
margin-right: 10px;
}
.ownScrollbarStyle .mb {
margin-bottom: 10px;
}
.ownScrollbarStyle .px5 {
padding: 0 5px;
}
.ownScrollbarStyle .row {
display: flex;
}
.ownScrollbarStyle .wrap {
flex-wrap: wrap;
}
.ownScrollbarStyle .fz12 {
font-size: 12px;
}
.ownScrollbarStyle .py {
padding: 15px 0;
}
.ownScrollbarStyle .bgE8F5E9 {
background: #e8f5e9;
}
.ownScrollbarStyle .bgD9F3FF {
background: #d9f3ff;
}
.ownScrollbarStyle .bgFAEAED {
background: #faeaed;
}
.ownScrollbarStyle .bjFFF3E0 {
background: #FFF3E0;
}
.ownScrollbarStyle .c3FC4FF {
color: #3fc4ff;
}
.ownScrollbarStyle .cF1416C {
color: #f1416c;
}
.ownScrollbarStyle .cF57A98 {
color: #f57a98;
}
.ownScrollbarStyle .cff9800 {
color: #ff9800;
}
.ownScrollbarStyle .c04C8C8 {
color: #04c8c8;
}
.ownScrollbarStyle .c9e {
color: #9e9e9e;
}
.ownScrollbarStyle .c059FF6 {
color: #059ff6;
}
.ownScrollbarStyle .c3FC4FF {
color: #3fc4ff;
}
</style>
<template>
<div>
<div class="query-box" style="border-bottom: none;">
<ul>
<li>
<span>
<em>{{$t('fnc.khmingcheng')}}</em>
<el-select v-model="msg.CustomerId" filterable :placeholder="$t('pub.pleaseSel')" @change="getLinePlaceList()">
<el-option :label="$t('pub.unlimitedSel')" :value='0'></el-option>
<el-option v-for="item in queryCommonData.LineList" :label='item.CustomerName' :value='item.Id'
:key='item.Id'>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>团号</em>
<el-input v-model='msg.TCNUM'></el-input>
</span>
</li>
<li><span><em>{{$t('pub.date')}}</em>
<el-date-picker v-model='msg.UseSTime' class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
-
<el-date-picker v-model='msg.UseETime' class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
</span>
</li>
<li><span><em>是否完结</em></span>
<el-select v-model='msg.IsFinish'>
<el-option label='全部' value='0' key='0'></el-option>
<el-option label='是' value='1' key='1'></el-option>
</el-select>
</li>
<!-- <li><span><em>状态</em></span>
<el-select v-model='msg.PriceStatus'>
<el-option label='正常' value='0' key='0'></el-option>
<el-option label='取消' value='1' key='1'></el-option>
</el-select>
</li> -->
<li>
<input type="button" class="normalBtn" :value="$t('pub.searchBtn')" @click="getList();resetPageIndex()" />
</li>
</ul>
</div>
<div class="mt10 fz14 color333 busIconStyle">
车辆状态&nbsp;&nbsp;&nbsp;已确定:<span style="color:#4BCA81 ;"></span>未确定:<span
style="color: #ff6600;">O</span>未分配:<span style="color:#E95252 ;">X</span>
</div>
<div style="width: 100%; overflow-x: auto;padding-bottom: 10px; margin-top: 10px; " class="ownScrollbarStyle"
:style="{height: boxHeight + 'px'}">
<OrderList :pagesTitle="Title" :OrderList="DataList" :loading="loading" @success="msg.pageIndex=1,GetList()"> </OrderList>
</div>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage"
layout="total,prev, pager, next, jumper" :page-size="msg.pageSize" :total="total"></el-pagination>
</div>
</template>
<script>
import OrderList from './BookAcar/components/JapanOrderList';
export default {
data() {
return {
userInfo: {}, //用户信息
loading: false,
currentPage: 1,
total: 0,
msg: {
pageIndex: 1,
pageSize: 10,
CustomerId: 0,
UseSTime: '',
UseETime: '',
IsFinish: "0",
TCNUM: ""
},
Title:'日本车行运行统计表',
queryCommonData: {
PlaceList: [],
LineList: [],
LineTeamList: [],
},
thLengthTitle: [],
DataList: [],
colspanTotal: 0,
isCha: 0,
boxHeight: 0,
showHotelObj: {
showPrice: false, //是否显示价格
showPay: false, //是否显示支付方式
showZhan: false, //占房时间
showBtnList: false, //是否下载、确认按钮
ShowTaxType: false, //显示税入税别
ShowRebateRatio: false, //显示返佣比列
ShowSupplier: false, //是否显示供应商
showCaozuoTime: false, //操作时间
colspanLength: 6 //跨行
}
}
},
components: {OrderList
},
methods: {
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1;
},
getCustomerList(CustomerKeyWord){
this.apipost('JapanCar_get_GetJapanCarCustomerList', {keyWord:CustomerKeyWord}, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.queryCommonData.LineList = res.data.data;
} else {
this.Error(res.data.message);
}
}, err => {})
},
getList() {
this.loading = true
this.apipost('JapanCar_get_GetJapanOrderStatisticsPageList', this.msg, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.total = res.data.data.count;
this.DataList = res.data.data.pageData;
} else {
this.Error(res.data.message);
}
}, err => {})
},
},
mounted() {
this.userInfo = this.getLocalStorage();
let myDate = new Date();
let nowDate =
myDate.getFullYear() +
"-" +
parseInt(myDate.getMonth() + 1) +
"-" +
myDate.getDate();
this.msg.UseSTime = nowDate;
this.msg.UseETime= myDate.getFullYear() + "-" + parseInt(myDate.getMonth() + 2) + "-" + myDate.getDate();
let width = window.innerWidth - 50;
let height = window.innerHeight - 65 - 210;
this.boxHeight = height;
this.offsetwidth = width;
this.getCustomerList();
this.getList();
},
}
</script>
<style>
.splitTrCss td {
background: #eee !important;
}
.busIconStyle>span {
margin-right: 20px;
font-weight: bold;
}
.busStatisticsTalbe {
background: #ccc;
}
.busStatisticsTalbe tr th {
background: #E6E6E6;
height: 40px;
font-size: 12px;
color: #333;
}
.busStatisticsTalbe tr {
background: #fff;
text-align: center;
height: 40px;
}
.busStatisticsTalbe tr td {
font-size: 12px;
}
.busStatisticsTalbe tr td .pDateStyle {
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 {
padding: 0;
box-shadow: 0px 1px 3px 0px #dedede;
max-height: 400px;
overflow-y: auto;
}
.busStatistics_tripDetails .popper__arrow::after {
border-bottom-color: #ededed !important;
}
.busStatistics_tripDetails table {
padding: 10px 0 0 20px;
background-color: #ededed;
border-collapse: collapse;
border: 1px solid #d2d2d2;
font-size: 12px;
}
.busStatistics_tripDetails table th {
background-color: #ededed;
padding: 5px;
}
.busStatistics_tripDetails table td {
background-color: #ffffff;
padding: 9px 15px;
color: #333333;
border: 1px solid #d2d2d2;
}
.busStatistics_tripDetails table td._d_name {
background-color: #ededed;
}
.busStatistics_tripDetails table ._color_666 {
color: #666666;
}
.busStatistics_tripDetails table tr._color_666 th {
padding: 9px 15px;
}
.Bus_HotelPop {
overflow: auto;
max-height: 350px;
}
</style>
<template>
<div>
<div class="query-box" style="border-bottom: none;">
<ul>
<li>
<span>
<em>{{$t('fnc.khmingcheng')}}</em>
<el-select v-model="msg.CustomerId" filterable :placeholder="$t('pub.pleaseSel')" @change="getLinePlaceList()">
<el-option :label="$t('pub.unlimitedSel')" :value='0'></el-option>
<el-option v-for="item in queryCommonData.LineList" :label='item.CustomerName' :value='item.Id'
:key='item.Id'>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>团号</em>
<el-input v-model='msg.TCNUM'></el-input>
</span>
</li>
<li><span><em>{{$t('pub.date')}}</em>
<el-date-picker v-model='msg.UseSTime' class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
-
<el-date-picker v-model='msg.UseETime' class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
</span>
</li>
<li><span><em>是否完结</em></span>
<el-select v-model='msg.IsFinish'>
<el-option label='全部' value='0' key='0'></el-option>
<el-option label='是' value='1' key='1'></el-option>
</el-select>
</li>
<!-- <li><span><em>状态</em></span>
<el-select v-model='msg.PriceStatus'>
<el-option label='正常' value='0' key='0'></el-option>
<el-option label='取消' value='1' key='1'></el-option>
</el-select>
</li> -->
<li>
<input type="button" class="normalBtn" :value="$t('pub.searchBtn')" @click="getList();resetPageIndex()" />
</li>
</ul>
</div>
<div class="mt10 fz14 color333 busIconStyle">
车辆状态&nbsp;&nbsp;&nbsp;已确定:<span style="color:#4BCA81 ;"></span>未确定:<span
style="color: #ff6600;">O</span>未分配:<span style="color:#E95252 ;">X</span>
</div>
<div style="width: 100%; overflow-x: auto;padding-bottom: 10px; margin-top: 10px; " class="ownScrollbarStyle"
:style="{height: boxHeight + 'px'}">
<OrderList :pagesTitle="Title" :OrderList="DataList" :loading="loading" @success="msg.pageIndex=1,GetList()"> </OrderList>
</div>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage"
layout="total,prev, pager, next, jumper" :page-size="msg.pageSize" :total="total"></el-pagination>
</div>
</template>
<script>
import OrderList from './BookAcar/components/JapanOrderList';
export default {
data() {
return {
userInfo: {}, //用户信息
loading: false,
currentPage: 1,
total: 0,
msg: {
pageIndex: 1,
pageSize: 10,
CustomerId: 0,
UseSTime: '',
UseETime: '',
IsFinish: "0",
TCNUM: ""
},
Title:'车辆预订表',
queryCommonData: {
PlaceList: [],
LineList: [],
LineTeamList: [],
},
thLengthTitle: [],
DataList: [],
colspanTotal: 0,
isCha: 0,
boxHeight: 0,
showHotelObj: {
showPrice: false, //是否显示价格
showPay: false, //是否显示支付方式
showZhan: false, //占房时间
showBtnList: false, //是否下载、确认按钮
ShowTaxType: false, //显示税入税别
ShowRebateRatio: false, //显示返佣比列
ShowSupplier: false, //是否显示供应商
showCaozuoTime: false, //操作时间
colspanLength: 6 //跨行
}
}
},
components: {OrderList
},
methods: {
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1;
},
getList() {
this.loading = true
this.apipost('JapanCar_get_GetJapanOrderStatisticsPageList', this.msg, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.total = res.data.data.count;
this.DataList = res.data.data.pageData;
} else {
this.Error(res.data.message);
}
}, err => {})
},
getCustomerList(CustomerKeyWord){
this.apipost('JapanCar_get_GetJapanCarCustomerList', {keyWord:CustomerKeyWord}, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.queryCommonData.LineList = res.data.data;
} else {
this.Error(res.data.message);
}
}, err => {})
},
},
mounted() {
this.userInfo = this.getLocalStorage();
let myDate = new Date();
let nowDate =
myDate.getFullYear() +
"-" +
parseInt(myDate.getMonth() + 1) +
"-" +
myDate.getDate();
this.msg.UseSTime = nowDate;
this.msg.UseETime= myDate.getFullYear() + "-" + parseInt(myDate.getMonth() + 2) + "-" + myDate.getDate();
let width = window.innerWidth - 50;
let height = window.innerHeight - 65 - 210;
this.boxHeight = height;
this.offsetwidth = width;
this.getCustomerList();
this.getList();
},
}
</script>
<style>
.splitTrCss td {
background: #eee !important;
}
.busIconStyle>span {
margin-right: 20px;
font-weight: bold;
}
.busStatisticsTalbe {
background: #ccc;
}
.busStatisticsTalbe tr th {
background: #E6E6E6;
height: 40px;
font-size: 12px;
color: #333;
}
.busStatisticsTalbe tr {
background: #fff;
text-align: center;
height: 40px;
}
.busStatisticsTalbe tr td {
font-size: 12px;
}
.busStatisticsTalbe tr td .pDateStyle {
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 {
padding: 0;
box-shadow: 0px 1px 3px 0px #dedede;
max-height: 400px;
overflow-y: auto;
}
.busStatistics_tripDetails .popper__arrow::after {
border-bottom-color: #ededed !important;
}
.busStatistics_tripDetails table {
padding: 10px 0 0 20px;
background-color: #ededed;
border-collapse: collapse;
border: 1px solid #d2d2d2;
font-size: 12px;
}
.busStatistics_tripDetails table th {
background-color: #ededed;
padding: 5px;
}
.busStatistics_tripDetails table td {
background-color: #ffffff;
padding: 9px 15px;
color: #333333;
border: 1px solid #d2d2d2;
}
.busStatistics_tripDetails table td._d_name {
background-color: #ededed;
}
.busStatistics_tripDetails table ._color_666 {
color: #666666;
}
.busStatistics_tripDetails table tr._color_666 th {
padding: 9px 15px;
}
.Bus_HotelPop {
overflow: auto;
max-height: 350px;
}
</style>
<template>
<div>
<div class="query-box" style="border-bottom: none;">
<ul>
<li>
<span>
<em>{{$t('fnc.khmingcheng')}}</em>
<el-select v-model="msg.CustomerId" filterable :placeholder="$t('pub.pleaseSel')" @change="getLinePlaceList()">
<el-option :label="$t('pub.unlimitedSel')" :value='0'></el-option>
<el-option v-for="item in queryCommonData.LineList" :label='item.CustomerName' :value='item.Id'
:key='item.Id'>
</el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>团号</em>
<el-input v-model='msg.TCNUM'></el-input>
</span>
</li>
<li><span><em>{{$t('pub.date')}}</em>
<el-date-picker v-model='msg.UseSTime' class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
-
<el-date-picker v-model='msg.UseETime' class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
</span>
</li>
<li><span><em>是否完结</em></span>
<el-select v-model='msg.IsFinish'>
<el-option label='全部' value='0' key='0'></el-option>
<el-option label='是' value='1' key='1'></el-option>
</el-select>
</li>
<!-- <li><span><em>状态</em></span>
<el-select v-model='msg.PriceStatus'>
<el-option label='正常' value='0' key='0'></el-option>
<el-option label='取消' value='1' key='1'></el-option>
</el-select>
</li> -->
<li>
<input type="button" class="normalBtn" :value="$t('pub.searchBtn')" @click="getList();resetPageIndex()" />
</li>
</ul>
</div>
<div class="mt10 fz14 color333 busIconStyle">
车辆状态&nbsp;&nbsp;&nbsp;已确定:<span style="color:#4BCA81 ;"></span>未确定:<span
style="color: #ff6600;">O</span>未分配:<span style="color:#E95252 ;">X</span>
</div>
<div style="width: 100%; overflow-x: auto;padding-bottom: 10px; margin-top: 10px; " class="ownScrollbarStyle"
:style="{height: boxHeight + 'px'}">
<OrderList :pagesTitle="Title" :OrderList="DataList" :loading="loading" @success="msg.pageIndex=1,GetList()"> </OrderList>
</div>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage"
layout="total,prev, pager, next, jumper" :page-size="msg.pageSize" :total="total"></el-pagination>
</div>
</template>
<script>
import OrderList from './BookAcar/components/JapanOrderDetailList';
export default {
data() {
return {
userInfo: {}, //用户信息
loading: false,
currentPage: 1,
total: 0,
msg: {
pageIndex: 1,
pageSize: 10,
CustomerId: 0,
UseSTime: '',
UseETime: '',
IsFinish: "0",
TCNUM: ""
},
Title:'日本车行运行统计表',
queryCommonData: {
PlaceList: [],
LineList: [],
LineTeamList: [],
},
thLengthTitle: [],
DataList: [],
colspanTotal: 0,
isCha: 0,
boxHeight: 0,
showHotelObj: {
showPrice: false, //是否显示价格
showPay: false, //是否显示支付方式
showZhan: false, //占房时间
showBtnList: false, //是否下载、确认按钮
ShowTaxType: false, //显示税入税别
ShowRebateRatio: false, //显示返佣比列
ShowSupplier: false, //是否显示供应商
showCaozuoTime: false, //操作时间
colspanLength: 6 //跨行
}
}
},
components: {OrderList
},
methods: {
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1;
},
getList() {
this.loading = true
this.apipost('JapanCar_get_GetJapanOrderCarDayPageList', this.msg, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.total = res.data.data.count;
this.DataList = res.data.data.pageData;
} else {
this.Error(res.data.message);
}
}, err => {})
},
getCustomerList(CustomerKeyWord){
this.apipost('JapanCar_get_GetJapanCarCustomerList', {keyWord:CustomerKeyWord}, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.queryCommonData.LineList = res.data.data;
} else {
this.Error(res.data.message);
}
}, err => {})
},
},
mounted() {
this.userInfo = this.getLocalStorage();
let myDate = new Date();
let nowDate =
myDate.getFullYear() +
"-" +
parseInt(myDate.getMonth() + 1) +
"-" +
myDate.getDate();
this.msg.UseSTime = nowDate;
this.msg.UseETime= myDate.getFullYear() + "-" + parseInt(myDate.getMonth() + 2) + "-" + myDate.getDate();
let width = window.innerWidth - 50;
let height = window.innerHeight - 65 - 210;
this.boxHeight = height;
this.offsetwidth = width;
this.getCustomerList();
this.getList();
},
}
</script>
<style>
.splitTrCss td {
background: #eee !important;
}
.busIconStyle>span {
margin-right: 20px;
font-weight: bold;
}
.busStatisticsTalbe {
background: #ccc;
}
.busStatisticsTalbe tr th {
background: #E6E6E6;
height: 40px;
font-size: 12px;
color: #333;
}
.busStatisticsTalbe tr {
background: #fff;
text-align: center;
height: 40px;
}
.busStatisticsTalbe tr td {
font-size: 12px;
}
.busStatisticsTalbe tr td .pDateStyle {
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 {
padding: 0;
box-shadow: 0px 1px 3px 0px #dedede;
max-height: 400px;
overflow-y: auto;
}
.busStatistics_tripDetails .popper__arrow::after {
border-bottom-color: #ededed !important;
}
.busStatistics_tripDetails table {
padding: 10px 0 0 20px;
background-color: #ededed;
border-collapse: collapse;
border: 1px solid #d2d2d2;
font-size: 12px;
}
.busStatistics_tripDetails table th {
background-color: #ededed;
padding: 5px;
}
.busStatistics_tripDetails table td {
background-color: #ffffff;
padding: 9px 15px;
color: #333333;
border: 1px solid #d2d2d2;
}
.busStatistics_tripDetails table td._d_name {
background-color: #ededed;
}
.busStatistics_tripDetails table ._color_666 {
color: #666666;
}
.busStatistics_tripDetails table tr._color_666 th {
padding: 9px 15px;
}
.Bus_HotelPop {
overflow: auto;
max-height: 350px;
}
</style>
......@@ -2046,6 +2046,38 @@ export default {
title: '添加修改车控页面'
},
},
{
path: '/JapanBusMonthStatistics', //日本车行運行統計表
name: 'JapanBusMonthStatistics',
component: resolve => require(['@/components/busManagement/JapanBusMonthStatistics'], resolve),
meta: {
title: '日本车行运行统计表'
},
},
{
path: '/JapanBusOrderMonthStatistics', //日本车行車輛預訂表
name: 'JapanBusOrderMonthStatistics',
component: resolve => require(['@/components/busManagement/JapanBusOrderMonthStatistics'], resolve),
meta: {
title: '日本车行预订统计表'
},
},
{
path: '/JapanBusMonthFStatistics', //用車單統計(財務單據)
name: 'JapanBusMonthFStatistics',
component: resolve => require(['@/components/busManagement/JapanBusMonthFStatistics'], resolve),
meta: {
title: '日本用车单统计'
},
},
{
path: '/JapanBusOrderStatistics', //派車單統計(財務單據)
name: 'JapanBusOrderStatistics',
component: resolve => require(['@/components/busManagement/JapanBusOrderStatistics'], resolve),
meta: {
title: '派车单统计'
},
},
{
path: '/tripBusOrder', //行程用车订单列表
name: 'tripBusOrder',
......
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