Commit bcfe2de2 authored by 黄奎's avatar 黄奎

行程预定

parent f7edfd87
......@@ -33,12 +33,12 @@
</el-select>
</li>
<li>
<input type="button" class="normalBtn" value="查询" @click="getList();resetPageIndex()" />
<input type="button" class="normalBtn" value="查询" @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'}">
:style="{ height: boxHeight + 'px' }">
<table border="0" cellspacing="1" cellpadding="0" class="busStatisticsTalbe" v-loading='loading'>
<tr>
<th class="w100">序号</th>
......@@ -56,322 +56,271 @@
<th width="110">确认状态</th>
<th width="110">操作</th>
</tr>
<tbody v-for="(item,index) in DataList" :key="index">
<tbody v-for="(item, index) in DataList" :key="index">
<tr>
<td>
{{item.Id}}
{{ item.Id }}
</td>
<td>
{{item.UseCompName}}
{{ item.UseCompName }}
</td>
<td>
{{item.UseName}}
{{ item.UseName }}
</td>
<td>
{{item.TeamName}}
{{ item.TeamName }}
</td>
<td>
{{item.StartDate}}
{{ item.StartDate }}
</td>
<td>
{{item.UseDayNum}}
{{ item.UseDayNum }}
</td>
<td>
{{item.PeopleNum}}
{{ item.PeopleNum }}
</td>
<td>
{{item.BusTypeName}}
{{ item.BusTypeName }}
</td>
<td>
{{item.TotalPrice}}
{{ item.TotalPrice }}
</td>
<td>
{{item.CustomerName}}
{{ item.CustomerName }}
</td>
<td>
{{item.CreateDate}}
{{ item.CreateDate }}
</td>
<td>
{{item.OfferStateName}}
{{ item.OfferStateName }}
</td>
<td>
<template v-if="item.SureId==0">
<template v-if="item.SureId == 0">
<span style="color:red">待确认</span>
</template>
<template v-else>
<span style="color:red">已确认</span><br />
<span style="color:red">确认人:{{item.SureByName}}</span><br />
<span style="color:red">确认时间:{{item.SureTime}}</span>
<span style="color:red">确认人:{{ item.SureByName }}</span><br />
<span style="color:red">确认时间:{{ item.SureTime }}</span>
</template>
</td>
<td>
<div class="w100 link">
<span v-if="item.OfferState==2" @click="SetTripBusPrice(item,1)" style="color:blue">报价</span>
<span @click="SetTripBusPrice(item,2)" style="color:blue">详情</span>
<div class="link" style="display: flex;
flex-flow: wrap; width: 135px;justify-content: space-around;">
<el-button size="mini" v-if="item.OfferState == 2" @click="SetTripBusPrice(item, 1)"
type="primary">报价</el-button>
<el-button size="mini" @click="SetTripBusPrice(item, 2)" type="primary">详情</el-button>
<el-button style="margin-top: 10px;" size="mini" @click="driver(item.Id)"
type="primary">添加司机车牌号</el-button>
</div>
</td>
</tr>
</tbody>
</table>
</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>
<el-dialog custom-class='addCompany' :title="dialogTitle" :visible.sync="isShowPrice" center>
<el-row>
<el-col :span="12">
<el-col :span="4" style="text-align:right">下单人:</el-col>
<el-col :span="8" style="text-align:left">{{postMsg.CustomerName}}</el-col>
</el-col>
<el-col :span="12">
<el-col :span="4" style="text-align:right">下单时间:</el-col>
<el-col :span="8" style="text-align:left">{{postMsg.CreateDate}}</el-col>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-col :span="4" style="text-align:right">订车公司:</el-col>
<el-col :span="8" style="text-align:left">{{postMsg.UseCompName}}</el-col>
</el-col>
<el-col :span="12">
<el-col :span="4" style="text-align:right">订车人:</el-col>
<el-col :span="8" style="text-align:left">{{postMsg.UseName}}</el-col>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-col :span="4" style="text-align:right">团体名称:</el-col>
<el-col :span="8" style="text-align:left">{{postMsg.TeamName}}</el-col>
</el-col>
<el-col :span="12">
<el-col :span="4" style="text-align:right">人数:</el-col>
<el-col :span="8" style="text-align:left">{{postMsg.PeopleNum}}</el-col>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-col :span="4" style="text-align:right">日期:</el-col>
<el-col :span="8" style="text-align:left">{{postMsg.StartDate}}</el-col>
</el-col>
<el-col :span="12">
<el-col :span="4" style="text-align:right">天数:</el-col>
<el-col :span="8" style="text-align:left">{{postMsg.UseDayNum}}</el-col>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-col :span="4" style="text-align:right">去程航班:</el-col>
<el-col :span="8" style="text-align:left">{{postMsg.GoFlightInfo}}</el-col>
</el-col>
<el-col :span="12">
<el-col :span="4" style="text-align:right">回程航班:</el-col>
<el-col :span="8" style="text-align:left">{{postMsg.BackFlightInfo}}</el-col>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-col :span="4" style="text-align:right">用车类型:</el-col>
<el-col :span="8" style="text-align:left">{{postMsg.BusTypeName}}</el-col>
</el-col>
<el-col :span="12">
<el-col :span="4" style="text-align:right">导游信息:</el-col>
<el-col :span="8" style="text-align:left">{{postMsg.GuideInfo}}</el-col>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-col :span="4" style="text-align:right">确认状态:</el-col>
<el-col :span="8" style="text-align:left">
<template v-if="postMsg.SureId==0">
<span>未确认</span>
</template>
<template v-else>
<span>已确认 确认人:{{postMsg.SureByName}} 确实时间:{{postMsg.SureTime}}</span>
</template>
</el-col>
</el-col>
<el-col :span="12">
<el-col :span="4" style="text-align:right">接机信息:</el-col>
<el-col :span="8" style="text-align:left">{{postMsg.PickUpInfo}}</el-col>
</el-col>
</el-row>
<span>
<el-form :inline="true" :label-position="labelPosition" label-width="90px">
<el-form-item label="下单人:" style="width: 48%;">
<div style="max-width: 205px;">{{ postMsg.CustomerName }}</div>
</el-form-item>
<el-form-item label="下单时间:" style="width: 48%;">
<div style="max-width: 205px;">{{ postMsg.CreateDate }}</div>
</el-form-item>
<el-form-item label="订车公司:" style="width: 48%;">
<div style="max-width: 205px;">{{ postMsg.UseCompName }}</div>
</el-form-item>
<el-form-item label="订车人:" style="width: 48%;">
<div style="max-width: 205px;">{{ postMsg.UseName }}</div>
</el-form-item>
<el-form-item label="团体名称:" style="width: 48%;">
<div style="max-width: 205px;">{{ postMsg.TeamName }}</div>
</el-form-item>
<el-form-item label="人数:" style="width: 48%;">
<div style="max-width: 205px;">{{ postMsg.PeopleNum }}</div>
</el-form-item>
<el-form-item label="日期:" style="width: 48%;">
<div style="max-width: 205px;">{{ postMsg.StartDate }}</div>
</el-form-item>
<el-form-item label="天数:" style="width: 48%;">
<div style="max-width: 205px;">{{ postMsg.UseDayNum }}</div>
</el-form-item>
<el-form-item label="去程航班:" style="width: 48%;">
<div style="max-width: 205px;">{{ postMsg.GoFlightInfo }}</div>
</el-form-item>
<el-form-item label="回程航班:" style="width: 48%;">
<div style="max-width: 205px;">{{ postMsg.BackFlightInfo }}</div>
</el-form-item>
<el-form-item label="用车类型:" style="width: 48%;">
<div style="max-width: 205px;">{{ postMsg.BusTypeName }}</div>
</el-form-item>
<el-form-item label="导游信息:" style="width: 48%;">
<div style="max-width: 205px;">{{ postMsg.GuideInfo }}</div>
</el-form-item>
<el-form-item label="确认状态:" style="width: 48%;">
<div v-if="postMsg.SureId == 0" style="max-width: 205px;">确认</div>
<span v-if="postMsg.SureId != 0">已确认 确认人:{{ postMsg.SureByName }} 确实时间:{{ postMsg.SureTime }}</span>
</el-form-item>
<el-form-item label="接机信息:" style="width: 48%;">
<div style="max-width: 205px;">{{ postMsg.PickUpInfo }}</div>
</el-form-item>
</el-form>
<span style="font-weight: bold;
margin-top: 20px;
display: inline-block;
margin-bottom: 20px;">
行程信息
</span>
<table v-if="postMsg.details&& postMsg.details.length>0">
<tr>
<th style="width:110px;text-align:center;">
日期
</th>
<th style="width:110px;text-align:center;">
Day
</th>
<th style="width:115px;text-align:center;">
用车类型
</th>
<th style="width:170px;text-align:center;">
行程
</th>
<th style="width:110px;text-align:center;">
价格
</th>
<th style="width:110px;text-align:center;">
停车费
</th>
<th style="width:110px;text-align:center;">
司机住宿费
</th>
</tr>
<tbody>
<tr v-for="(item,index) in postMsg.details" :key="index">
<td style="text-align:left">
{{item.UseDate}}
</td>
<td style="text-align:left">
DAY {{item.DayNum}}
</td>
<td style="text-align:left">
{{item.UseTypeName}}
</td>
<td style="text-align:left">
{{item.TripInfo}}
</td>
<td>
<template v-if="priceType==1">
<el-input v-model="item.UnitPrice" @input="calcPrice()" @keyup.native="checkInteger(item,'UnitPrice')"
style="width:90px;"></el-input>
</template>
<template v-else>
{{item.UnitPrice}}
</template>
</td>
<td>
<template v-if="priceType==1">
<el-input v-model="item.StopBusPrice" @input="calcPrice()"
@keyup.native="checkInteger(item,'StopBusPrice')" style="width:90px;"></el-input>
<!-- 表格 -->
<div v-if="postMsg.details && postMsg.details.length > 0">
<el-table :data="postMsg.details" max-height="300px" show-summary sum-text="小计"
:header-cell-style="{ background: '#eef1f6', color: '#606266' }" style="width: 100%">
<el-table-column prop="UseDate" label="日期" width="100" align='center'>
</el-table-column>
<el-table-column prop="" label="Day" width="80" align='center'>
<template slot-scope="scope">
<span>
Day {{ String(scope.row.DayNum) }}
</span>
</template>
<template v-else>
{{item.StopBusPrice}}
</el-table-column>
<el-table-column prop="UseTypeName" label="用车类型" width="100" align='center'>
</el-table-column>
<el-table-column prop="TripInfo" label="行程" min-width="200">
</el-table-column>
<el-table-column prop="UnitPrice" label="价格" width="90" align='center'>
<template slot-scope="scope">
<el-input v-if="priceType == 1" v-model="scope.row.UnitPrice" @input="calcPrice()"
@keyup.native="checkInteger(scope.row, 'UnitPrice')" style="width:90px;"></el-input>
<span v-if="priceType != 1">
{{ scope.row.UnitPrice }}
</span>
</template>
</td>
<td>
<template v-if="priceType==1">
<el-input v-model="item.RoomPrice" @input="calcPrice()" @keyup.native="checkInteger(item,'RoomPrice')"
style="width:90px;"></el-input>
</el-table-column>
<el-table-column prop="StopBusPrice" label="停车费" width="90" align='center'>
<template slot-scope="scope">
<el-input v-if="priceType == 1" v-model="scope.row.StopBusPrice" @input="calcPrice()"
@keyup.native="checkInteger(scope.row, 'StopBusPrice')" style="width:90px;"></el-input>
<span v-if="priceType != 1">
{{ scope.row.StopBusPrice }}
</span>
</template>
<template v-else>
{{item.RoomPrice}}
</el-table-column>
<el-table-column prop="RoomPrice" label="司机住宿费" width="100" align='center'>
<template slot-scope="scope">
<el-input v-if="priceType == 1" v-model="scope.row.RoomPrice" @input="calcPrice()"
@keyup.native="checkInteger(scope.row, 'RoomPrice')" style="width:90px;"></el-input>
<span v-if="priceType != 1">
{{ scope.row.RoomPrice }}
</span>
</template>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="4" style="text-align:right">
小计:
</td>
<td>
{{subUnitPrice}}
</td>
<td>
{{subStopBusPrice}}
</td>
<td>
{{subRoomPrice}}
</td>
</tr>
<tr>
<td colspan="4" style="text-align:right">
手配费
</td>
<td>
<template v-if="priceType==1">
<el-input v-model="postMsg.ShouPeiFee" @keyup.native="checkInteger(postMsg,'ShouPeiFee')"
</el-table-column>
</el-table>
</div>
<div class="total">
<span>
手配费:
<span>
<template v-if="priceType == 1">
<el-input v-model="postMsg.ShouPeiFee" @keyup.native="checkInteger(postMsg, 'ShouPeiFee')"
@input="calcPrice()" style="width:90px;">
</el-input>
</template>
<template v-else>
{{postMsg.ShouPeiFee}}
{{ postMsg.ShouPeiFee }}
</template>
</td>
<td>
</td>
<td>
</td>
</tr>
<tr>
<td colspan="4" style="text-align:right">
</td>
<td>
</td>
<td>
合计:
</td>
<td>
{{postMsg.TotalPrice}}
</td>
</tr>
</tfoot>
</table>
<el-row>
<el-col :span="12">
<el-col :span="4" style="text-align:right">状态:</el-col>
<el-col :span="8" style="text-align:left">
<template v-if="priceType==1">
</span>
<span style="margin-left: 10px;">
合计:{{ postMsg.TotalPrice }}
</span>
</span>
</div>
<!-- 表格 -->
<el-row style="width: 100%;">
<el-col :span="24">
<el-col :span="2" style="text-align:right">状态:</el-col>
<el-col :span="6" style="text-align:left">
<template v-if="priceType == 1">
<el-select filterable placeholder="请选择" v-model="postMsg.OfferState">
<el-option label='等待报价' :value="2"></el-option>
<el-option label='已报价' :value="3"></el-option>
</el-select>
</template>
<template v-else>
{{postMsg.OfferStateName}}
{{ postMsg.OfferStateName }}
</template>
</el-col>
</el-col>
<el-col :span="12">
<el-col :span="4" style="text-align:right"></el-col>
<el-col :span="8" style="text-align:left">
</el-col>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-col :span="4" style="text-align:right">备注:</el-col>
<el-col :span="8" style="text-align:left">
<template v-if="priceType==1">
<div class="flex" style="margin-top: 10px;">
<div style="max-width: 48%;">
<span>备注:</span>
<span>
<template v-if="priceType == 1">
<el-input type="textarea" :rows="2" v-model="postMsg.Remark">
</el-input>
</template>
<template v-else>
{{postMsg.Remark}}
{{ postMsg.Remark }}
</template>
</el-col>
</el-col>
<el-col :span="12">
<el-col :span="4" style="text-align:right">注意事项:</el-col>
<el-col :span="8" style="text-align:left">
<template v-if="priceType==1">
</span>
</div>
<div style="max-width: 50%;">
<span>注意事项:</span>
<span>
<template v-if="priceType == 1">
<el-input type="textarea" :rows="2" v-model="postMsg.AttentionInfo">
</el-input>
</template>
<template v-else>
{{postMsg.AttentionInfo}}
{{ postMsg.AttentionInfo }}
</template>
</el-col>
</el-col>
</el-row>
</span>
</div>
</div>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="isShowPrice=false">关闭</button> &nbsp;
<button v-if="priceType==1" class="normalBtn" type="primary"
@click="submitTripBusOffer('addMsg')">{{$t('pub.sureBtn')}}</button>
<button class="hollowFixedBtn" @click="isShowPrice = false">关闭</button> &nbsp;
<button v-if="priceType == 1" class="normalBtn" type="primary" @click="submitTripBusOffer('addMsg')">{{
$t('pub.sureBtn')
}}</button>
</div>
</el-dialog>
<!-- 详情 -->
<!-- 添加司机车辆弹窗 -->
<el-dialog title="车辆信息" :visible.sync="dialogVisible" width="20%" :before-close="handleClose">
<div style="display: flex;margin-bottom: 20px;">
<span style="width: 70px;">司机:</span>
<el-input style="width: 150px;" v-model="drivermsg.DriverInfo" placeholder=""></el-input>
</div>
<div style="display: flex;">
<span style="width: 70px;">车牌号:</span>
<el-input style="width: 150px;" v-model="drivermsg.BusNo" placeholder=""></el-input>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="driverdetermine()">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
export default {
data() {
return {
drivermsg: {
Id: '',
DriverInfo: "",
BusNo: ""
},
dialogVisible: false,
labelPosition: 'right',
userInfo: {}, //用户信息
loading: false,
currentPage: 1,
......@@ -456,7 +405,30 @@
} else {
this.Error(res.data.message);
}
}, err => {})
}, err => { })
},
handleClose(done) {
this.$confirm('确认关闭?')
.then(_ => {
done();
})
.catch(_ => { });
},
// 司机确定
driverdetermine() {
this.apipost('tripbus_SetBusPriceInfo', this.drivermsg, res => {
if (res.data.resultCode == 1) {
this.dialogVisible = false
this.$forceUpdate();
} else {
this.Error(res.data.message);
}
}, err => { })
},
// 添加司机车号
driver(id) {
this.drivermsg.Id = id
this.dialogVisible = true
},
//设置行程报价
SetTripBusPrice(item, type) {
......@@ -509,7 +481,7 @@
} else {
this.Error(res.data.message);
}
}, err => {})
}, err => { })
},
//计算价格
calcPrice() {
......@@ -550,7 +522,7 @@
} else {
this.Error(res.data.message);
}
}, err => {})
}, err => { })
}
},
mounted() {
......@@ -569,109 +541,128 @@
this.offsetwidth = width;
this.getList();
},
}
}
</script>
<style>
.splitTrCss td {
.splitTrCss td {
background: #eee !important;
}
}
.busIconStyle>span {
.busIconStyle>span {
margin-right: 20px;
font-weight: bold;
}
}
.busStatisticsTalbe {
.busStatisticsTalbe {
background: #ccc;
}
}
.busStatisticsTalbe tr th {
.busStatisticsTalbe tr th {
background: #E6E6E6;
height: 40px;
font-size: 12px;
color: #333;
}
}
.busStatisticsTalbe tr {
.busStatisticsTalbe tr {
background: #fff;
text-align: center;
height: 40px;
}
}
.busStatisticsTalbe tr td {
.busStatisticsTalbe tr td {
font-size: 12px;
}
}
.busStatisticsTalbe tr td .pDateStyle {
.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 {
.busStatisticsTalbe tr td .pDateStyle:last-child {
border-bottom: none;
}
}
.busStatisticsTalbe tr td .link p:hover {
.busStatisticsTalbe tr td .link p:hover {
text-decoration: underline;
cursor: pointer;
}
}
.busStatisticsTalbe tr td .link span:hover {
.busStatisticsTalbe tr td .link span:hover {
text-decoration: underline;
cursor: pointer;
}
}
.busStatistics_tripDetails {
.busStatistics_tripDetails {
padding: 0;
box-shadow: 0px 1px 3px 0px #dedede;
max-height: 400px;
overflow-y: auto;
}
}
.busStatistics_tripDetails .popper__arrow::after {
.busStatistics_tripDetails .popper__arrow::after {
border-bottom-color: #ededed !important;
}
}
.busStatistics_tripDetails table {
.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 {
.busStatistics_tripDetails table th {
background-color: #ededed;
padding: 5px;
}
}
.busStatistics_tripDetails table td {
.busStatistics_tripDetails table td {
background-color: #ffffff;
padding: 9px 15px;
color: #333333;
border: 1px solid #d2d2d2;
}
}
.busStatistics_tripDetails table td._d_name {
.busStatistics_tripDetails table td._d_name {
background-color: #ededed;
}
}
.busStatistics_tripDetails table ._color_666 {
.busStatistics_tripDetails table ._color_666 {
color: #666666;
}
}
.busStatistics_tripDetails table tr._color_666 th {
.busStatistics_tripDetails table tr._color_666 th {
padding: 9px 15px;
}
}
.Bus_HotelPop {
.Bus_HotelPop {
overflow: auto;
max-height: 350px;
}
}
</style>
<style scoped>
/deep/.el-form-item {
margin-bottom: 0px;
}
.total {
display: flex;
width: 100%;
justify-content: center;
font-weight: bold;
margin-bottom: 20px;
margin-top: 10px;
}
.flex {
display: flex;
width: 100%;
justify-content: space-between;
}
</style>
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