Commit 12da32e7 authored by 黄奎's avatar 黄奎

车辆修改

parent f3cfa2b1
<style>
.busInfo {
.busInfo {
font-size: 12px;
}
.busInfo .bus_Notice {
}
.busInfo .bus_Notice {
color: #e95252;
margin: 20px 0;
}
.busInfo .bus_Title {
}
.busInfo .bus_Title {
display: inline-block;
padding-left: 10px;
border-left: 3px solid #e95252;
margin-bottom: 20px;
}
.busInfo .bus_uu li {
}
.busInfo .bus_uu li {
float: left;
width: 280px;
}
.busInfo .bo_bus {
}
.busInfo .bo_bus {
width: 100%;
background: #eee;
min-width: 1125px;
margin-bottom: 30px;
}
.busInfo .bo_bus th {
}
.busInfo .bo_bus th {
background: #edeef0;
height: 40px;
}
.busInfo .bo_bus tr {
}
.busInfo .bo_bus tr {
height: 40px;
}
.busInfo .bo_bus td {
}
.busInfo .bo_bus td {
height: 50px;
text-align: center;
background-color: #fff;
padding:0 10px;
}
.busInfo .bus_uu em {
padding: 0 10px;
}
.busInfo .bus_uu em {
font-style: normal;
display: inline-block;
width: 60px;
}
.busInfo .areaInfo li {
}
.busInfo .areaInfo li {
width: auto;
margin-bottom: 30px;
}
.busInfo .subName {
}
.busInfo .subName {
padding: 5px 10px;
border: 1px solid #d1d1d1;
border-radius: 14px;
cursor: pointer;
}
.busInfo .spanCked {
}
.busInfo .spanCked {
border-color: #ff4400;
color: #ff4400;
}
.busInfo .carPlanOne span {
}
.busInfo .carPlanOne span {
float: left;
margin-right: 3px;
}
.busInfo .otherSpan > span:first-child {
}
.busInfo .otherSpan>span:first-child {
margin-left: 50px;
}
.busInfo .carPlanOne .el-input .el-input__inner,
.el-select .el-input {
}
.busInfo .carPlanOne .el-input .el-input__inner,
.el-select .el-input {
height: 28px;
}
.busInfo .upBtnList {
}
.busInfo .upBtnList {
margin: 20px 0 30px 20px;
}
.carInfo .el-input__inner {
}
.carInfo .el-input__inner {
height: 34px !important;
}
.disSpan {
}
.disSpan {
background-color: #e4e7ed;
color: #c0c4cc;
}
.busInfoP{
display:inline-block;
}
.busInfoP :hover {
}
.busInfoP {
display: inline-block;
}
.busInfoP :hover {
text-decoration: underline;
cursor: pointer;
}
.BusTyleFirst .w150{
margin-right:22px;
}
}
.BusTyleFirst .w150 {
margin-right: 22px;
}
</style>
<template>
<div class="flexOne busInfo">
......@@ -107,28 +128,31 @@
<td>{{totalFlySeat}}</td>
<td>{{LeaderName}}</td>
<td>{{GuideName}}</td>
<td><p class="busInfoP" @click="goUrlT('TravelControlList',TCNUMS,'团控列表')">{{TCNUMS}}</p></td>
<td>
<p class="busInfoP" @click="goUrlT('TravelControlList',TCNUMS,'团控列表')">{{TCNUMS}}</p>
</td>
</tr>
</table>
<div style="width: 100%; overflow-x: auto;margin-top:20px;" class="ownScrollbarStyle">
<el-form :model="PostData" :rules="rules" ref="PostData">
<table class="bo_bus" cellspacing="1">
<tr>
<th width="150">日期</th>
<th width="300">酒店名称</th>
<th width="120">停车场</th>
<th width="100">日期</th>
<th width="280">酒店名称</th>
<th width="50">停车场</th>
<th width="280">用车计划</th>
<th width="200">订团号</th>
<th width="120">司机姓名</th>
<th width="120">联系电话</th>
<th width="100">司机姓名</th>
<th width="100">联系电话</th>
<th width="250">司机住宿</th>
<th>泊车说明</th>
<th width="120">车辆类型</th>
<th width="120">使用人数</th>
<th width="120">车牌号码</th>
<th width="120">供应商</th>
<th>泊车说明</th>
<th>成本价</th>
<th width="120">中转次数</th>
<th width="120">付款方式</th>
<th width="120">备注</th>
<th width="120">小计</th>
</tr>
<tr v-for="(item,index) in PlanTableData">
......@@ -150,57 +174,58 @@
<td class="carPlanOne" :class="{'otherSpan':index!=0&&index!=PlanTableData.length-1}">
<div class="w320">
<!--接机送机-->
<em >
<span @click="item.AirportPickUp==0?item.AirportPickUp=1:item.AirportPickUp=0;getBusPrice(item)" v-if='index==0' class="subName" :class="{'spanCked':item.AirportPickUp==1,'disSpan':forbidInput==true}">{{AirPickUp}}</span>
<span @click="item.AirportPickUp==0?item.AirportPickUp=2:item.AirportPickUp=0;getBusPrice(item)" v-if='index==PlanTableData.length-1' class="subName" :class="{'spanCked':item.AirportPickUp==2,'disSpan':forbidInput==true}">{{AirSend}}</span>
</em>
<em v-if='index!=0&&index!=PlanTableData.length-1'>
<span @click="(item.AirportPickUp==0||item.AirportPickUp==2)?item.AirportPickUp=1:item.AirportPickUp=0;getBusPrice(item)" class="subName" :class="{'spanCked':item.AirportPickUp==1,'disSpan':forbidInput==true}">{{AirPickUp}}</span>
<span @click="(item.AirportPickUp==0||item.AirportPickUp==1)?item.AirportPickUp=2:item.AirportPickUp=0;getBusPrice(item)" class="subName" :class="{'spanCked':item.AirportPickUp==2,'disSpan':forbidInput==true}">{{AirSend}}</span>
<em>
<el-select class="w150" placeholder="请选择" v-model="item.AirportPickUp" :disabled="forbidInput">
<el-option :key="0" :value="0" label="请选择"></el-option>
<el-option v-for="item in BusAirportPickUpList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</el-select>
</em>
<!--用车类型-->
<span v-for="subItem in UseTypeArray">
<span class="subName" :class="{'spanCked':item.UseType==subItem.Id,'disSpan':forbidInput==true}"
<span v-if="subItem.Id==1" class="subName"
:class="{'spanCked':item.UseType==subItem.Id,'disSpan':forbidInput==true}"
@click="UseTypeClick(subItem.Id,index);getBusPrice(item)">{{subItem.Name}}</span>
<span v-if="subItem.Id==3&& (index==0 || index==PlanTableData.length-1) ">
<el-input class="w50" v-model="item.UseTime" @input='getBusPrice(item)' :disabled="forbidInput"></el-input>
</span>
<span v-else-if="(subItem.Id==3 && item.UseType==3)">
<el-input class="w50" v-model="item.UseTime" @input='getBusPrice(item)' :disabled="forbidInput"></el-input>
</span>
</span>
</div>
</td>
<td>
<div class="w170">
<el-input class='w170' type="text" v-model="item.BookGroup"></el-input>
</div>
</td>
<td>
<el-input class="w135" v-model="item.DriverName"></el-input>
<el-input class="w100" v-model="item.DriverName"></el-input>
</td>
<td>
<el-input class="w135" v-model="item.DriverTel"></el-input>
<el-input class="w100" v-model="item.DriverTel"></el-input>
</td>
<td class="carPlanOne">
<!--司机住宿类型-->
<div class="w260">
<span v-for="subItem in AccommodationTypeArray">
<span class="subName" :class="{'spanCked':item.AccommodationType==subItem.Id}" @click="AccommodationCLick(subItem.Id,index)">{{subItem.Name}}</span>
<span class="subName" :class="{'spanCked':item.AccommodationType==subItem.Id}"
@click="AccommodationCLick(subItem.Id,index)">{{subItem.Name}}</span>
<span v-if="subItem.Id==1 && item.AccommodationType==1">
<el-input class="w135" v-model="item.AccommodationRemark" placeholder="请输入外宿地址"></el-input>
</span>
</span>
</div>
</td>
<td>
<div class="w150">
<el-input class="w135" v-model="item.ParkExplain" placeholder="请输入说明"></el-input>
</div>
</td>
<td>
<div class="w180" :class="{'BusTyleFirst':index==0}">
<el-select clearable class="w150" filterable placeholder="请选择" v-model="item.BusType" :disabled="forbidInput" @change='getBusPrice(item)'>
<el-select clearable class="w150" filterable placeholder="请选择" v-model="item.BusType"
:disabled="forbidInput" @change='getBusPrice(item)'>
<el-option :key="0" :value="0" label="请选择"></el-option>
<el-option v-for="item in BusTypeList" :key="item.Id" :label="item.newName" :value="item.Id">
</el-option>
</el-select>
<el-tooltip class="item" effect="dark" content="同上" placement="top">
<i class="iconfont icon-tongshang" style="cursor:pointer;" v-if="index!=0" @click="getBeforeInfo(index)"></i>
<i class="iconfont icon-tongshang" style="cursor:pointer;" v-if="index!=0"
@click="getBeforeInfo(index)"></i>
</el-tooltip>
</div>
</td>
......@@ -217,24 +242,32 @@
<td>
<div class="w200">
<el-select class="w150" filterable placeholder="请选择" v-model="item.BusCompany">
<el-option v-for="item in SupplierList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
<el-option v-for="item in SupplierList" :key="item.ID" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
</div>
</td>
<td>
<div class="w150">
<el-input class="w135" v-model="item.ParkExplain" placeholder="请输入说明"></el-input>
</div>
</td>
<td>
<div class="w100">
<el-input class="w80" v-model="item.CostPrice" @keyup.native="checkPrice(item,'CostPrice')"
placeholder="请输入成本价"></el-input>
</div>
</td>
<td>
<div class="w120">
<el-select class='w100 sel' v-model='item.PayType' :placeholder="$t('pub.pleaseSel')">
<el-option label='请选择' :value='0'></el-option>
<el-option label='现付' :value='1'></el-option>
<el-option label='公司结算' :value='2'></el-option>
<el-option label='预付' :value='3'></el-option>
</el-select>
</div>
</td>
<td>
<div class="w80">
<el-input class='w50' type="text" v-model="item.TransferNum" @keyup.native="checkInteger(item,'TransferNum')"></el-input>
<el-input class='w80' type="text" v-model="item.Remarks"></el-input>
</div>
</td>
<td>
......@@ -253,10 +286,10 @@
</div>
</template>
<script>
export default {
export default {
data() {
return {
defaultSelectValue:0,
defaultSelectValue: 0,
//车辆类型列表
BusTypeList: [],
/*供应商列表*/
......@@ -297,45 +330,34 @@ export default {
forbidInput: false,
PlanTableData: [],
UseTypeArray: [], //用车类型
//接送机类型
AirPickUp: "",
AirSend: "",
BusAirportPickUpList: [], //用车类型
//禁止重复提交禁用按钮
disButton: false,
//司机住宿类型
AccommodationTypeArray: [],
rules: {
//表单必填验证
BusCode: [
{
BusCode: [{
required: true,
message: "请填写车配号",
trigger: "change"
}
],
DriverName: [
{
}],
DriverName: [{
required: true,
message: "请填写司机姓名",
trigger: "change"
}
],
DriverTel: [
{
}],
DriverTel: [{
required: true,
message: "请填写联系电话",
trigger: "change"
}
],
BusType: [
{
}],
BusType: [{
required: true,
message: "请选择车辆类型",
trigger: "change"
}
],
CarrierNum: [
{
}],
CarrierNum: [{
required: true,
message: "请填写核载人数",
trigger: "change"
......@@ -345,22 +367,17 @@ export default {
message: "请输入正确的数字"
}
],
BusNum: [
{
BusNum: [{
required: true,
message: "请填写车牌号码",
trigger: "change"
}
],
StartDate: [
{
}],
StartDate: [{
required: true,
message: "请选择开始时间",
trigger: "change"
}
],
UseDays: [
{
}],
UseDays: [{
required: true,
message: "请填写使用天数",
trigger: "change"
......@@ -370,15 +387,12 @@ export default {
message: "请输入正确的数字"
}
],
SupplierId: [
{
SupplierId: [{
required: true,
message: "请选择供应商",
trigger: "change"
}
],
CostPrice: [
{
}],
CostPrice: [{
pattern: this.$commonUtils.Regex.el_Isdecimal,
message: "请输入正确的价格"
},
......@@ -388,8 +402,7 @@ export default {
trigger: "change"
}
],
SalesPrice: [
{
SalesPrice: [{
pattern: this.$commonUtils.Regex.el_Isdecimal,
message: "请输入正确的价格"
},
......@@ -401,76 +414,74 @@ export default {
]
},
//团名
title:'',
title: '',
//团号
TCNUMS:'',
TCNUMS: '',
//进出点
InOut:'',
InOut: '',
//订单人数
RealityNum:'',
RealityNum: '',
//机位总数
totalFlySeat:'',
LeaderName:'',
GuideName:'',
totalFlySeat: '',
LeaderName: '',
GuideName: '',
};
},
methods: {
/*获取车辆成本价格*/
getBusPrice(obj){
let money=0
if(obj.BusType)
{
let checkObj=this.BusTypeList.find(item=>item.Id===obj.BusType)
if(checkObj){
if(obj.AirportPickUp==0)
{
switch (obj.UseType){
getBusPrice(obj) {
let money = 0
if (obj.BusType) {
let checkObj = this.BusTypeList.find(item => item.Id === obj.BusType)
if (checkObj) {
if (obj.AirportPickUp == 0) {
switch (obj.UseType) {
case 1:
money=checkObj.AllDayPrice
money = checkObj.AllDayPrice
break;
case 2:
money=checkObj.HalfDayPrice
money = checkObj.HalfDayPrice
break;
case 3:
money=checkObj.HourPrice*obj.UseTime
money = checkObj.HourPrice * obj.UseTime
break;
default:
money=0
money = 0
break;
}
}else if(obj.AirportPickUp==1){
switch (obj.UseType){
} else if (obj.AirportPickUp == 1) {
switch (obj.UseType) {
case 1:
money=checkObj.AllDayPrice+checkObj.ReceivePrice
money = checkObj.AllDayPrice + checkObj.ReceivePrice
break;
case 2:
money=checkObj.HalfDayPrice+checkObj.ReceivePrice
money = checkObj.HalfDayPrice + checkObj.ReceivePrice
break;
case 3:
money=checkObj.HourPrice*obj.UseTime+checkObj.ReceivePrice
money = checkObj.HourPrice * obj.UseTime + checkObj.ReceivePrice
break;
default:
money=checkObj.ReceivePrice
money = checkObj.ReceivePrice
break;
}
}else{
switch (obj.UseType){
} else {
switch (obj.UseType) {
case 1:
money=checkObj.AllDayPrice+checkObj.SendPrice
money = checkObj.AllDayPrice + checkObj.SendPrice
break;
case 2:
money=checkObj.HalfDayPrice+checkObj.SendPrice
money = checkObj.HalfDayPrice + checkObj.SendPrice
break;
case 3:
money=checkObj.HourPrice*obj.UseTime+checkObj.SendPrice
money = checkObj.HourPrice * obj.UseTime + checkObj.SendPrice
break;
default:
money=checkObj.SendPrice
money = checkObj.SendPrice
break;
}
}
}
obj.CostPrice=money
obj.CostPrice = money
}
},
/*获取车辆类型列表*/
......@@ -480,10 +491,9 @@ export default {
null,
res => {
if (res.data.resultCode == 1) {
console.log(res.data.data)
this.BusTypeList = res.data.data;
this.BusTypeList.forEach(item=>{
item['newName']=item.AreaTypeStr+'-'+item.BusTypeStr
this.BusTypeList.forEach(item => {
item['newName'] = item.AreaTypeStr + '-' + item.BusTypeStr
})
}
},
......@@ -493,8 +503,7 @@ export default {
/*获取供应商列表*/
getSupplierList() {
this.apipost(
"supplier_post_GetAllList",
{
"supplier_post_GetAllList", {
Type: 5
},
response => {
......@@ -508,19 +517,17 @@ export default {
/*生成表格数据*/
createTableData() {
this.apipost(
"bus_get_GetTravelBusDetailsTCIDs",
{
"bus_get_GetTravelBusDetailsTCIDs", {
TCIDs: this.parametersData.TCID
},
response => {
if (response.data.resultCode == 1) {
this.PlanTableData = response.data.data;
this.PlanTableData.forEach(x=>{
if(x.BookGroup==''||x.BookGroup==null){
this.PlanTableData.forEach(x => {
if (x.BookGroup == '' || x.BookGroup == null) {
x.BookGroup = this.$route.query.NewCombinationNum;
}
})
console.log(this.PlanTableData,'plandata');
}
},
null
......@@ -563,18 +570,18 @@ export default {
null
);
},
SaveList(type){
this.PlanTableData.forEach(item=>{
item.OrderState=type
SaveList(type) {
this.PlanTableData.forEach(item => {
item.OrderState = type
})
this.apipost('bus_get_SetPlan',this.PlanTableData,res=>{
this.apipost('bus_get_SetPlan', this.PlanTableData, res => {
if (res.data.resultCode == 1) {
this.Success("保存成功!");
this.MsgBus.$emit('msg')
} else {
this.Error(res.data.message);
}
},err=>{})
}, err => {})
},
//用车类型点击事件
UseTypeClick(value, index) {
......@@ -621,8 +628,7 @@ export default {
null,
response => {
if (response.data.resultCode == 1) {
this.AirPickUp = response.data.data[0].Name;
this.AirSend = response.data.data[1].Name;
this.BusAirportPickUpList = response.data.data;
}
},
null
......@@ -643,8 +649,7 @@ export default {
},
getData() {
this.apipost(
"bus_get_Get",
{
"bus_get_Get", {
ID: this.BusId
},
response => {
......@@ -672,7 +677,7 @@ export default {
this.$router.push({
name: path,
query: {
tcmun:TCNUMS,
tcmun: TCNUMS,
blank: 'y',
tab: title
}
......@@ -703,12 +708,9 @@ export default {
this.PostData.CostPrice = CoastPrice;
},
//获取同上信息
getBeforeInfo(index){
let oldPlanData = this.PlanTableData[index-1];
getBeforeInfo(index) {
let oldPlanData = this.PlanTableData[index - 1];
let newPlanData = this.PlanTableData[index];
newPlanData.PlanDateStr = oldPlanData.PlanDateStr;
newPlanData.HotelName = oldPlanData.HotelName;
newPlanData.IsHavearking = oldPlanData.IsHavearking;
newPlanData.AirportPickUp = oldPlanData.AirportPickUp;
newPlanData.UseType = oldPlanData.UseType;
newPlanData.UseTime = oldPlanData.UseTime;
......@@ -718,12 +720,11 @@ export default {
newPlanData.AccommodationType = oldPlanData.AccommodationType;
newPlanData.AccommodationRemark = oldPlanData.AccommodationRemark;
newPlanData.BusType = oldPlanData.BusType;
// newPlanData.UseNum = oldPlanData.UseNum;
// newPlanData.BusNum = oldPlanData.BusNum;
// newPlanData.BusCompany = oldPlanData.BusCompany;
// newPlanData.ParkExplain = oldPlanData.ParkExplain;
// newPlanData.CostPrice = oldPlanData.CostPrice;
// newPlanData.TransferNum = oldPlanData.TransferNum;
newPlanData.UseNum = oldPlanData.UseNum;
newPlanData.BusNum = oldPlanData.BusNum;
newPlanData.BusCompany = oldPlanData.BusCompany;
newPlanData.ParkExplain = oldPlanData.ParkExplain;
newPlanData.CostPrice = oldPlanData.CostPrice;
}
},
mounted() {
......@@ -735,28 +736,23 @@ export default {
this.TCNUMS = this.$route.query.TCNUMS,
this.InOut = this.$route.query.InOut,
this.RealityNum = this.$route.query.RealityNum,
this.totalFlySeat = this.$route.query.TotalNumber+'/'+this.$route.query.RealityYSeatNum+'/'+
this.$route.query.RealityESeatNum+'/'+this.$route.query.RealityFSeatNum
this.totalFlySeat = this.$route.query.TotalNumber + '/' + this.$route.query.RealityYSeatNum + '/' +
this.$route.query.RealityESeatNum + '/' + this.$route.query.RealityFSeatNum
this.LeaderName = this.$route.query.LeaderName,
this.GuideName = this.$route.query.GuideName
if (this.BusId > 0) {
this.getData();
// this.forbidInput = true;
}
this.parametersData.TCID = this.$route.query.TCID;
this.parametersData.StartDate = this.$route.query.StartDate;
this.parametersData.DayNum = this.$route.query.DayNum;
this.parametersData.TotalNumber = this.$route.query.TotalNumber;
// if (this.parametersData.DayNum > 0) {
// this.PostData.StartDate = this.parametersData.StartDate;
// this.PostData.UseDays = this.parametersData.DayNum;
this.PostData.TCID = this.parametersData.TCID;
this.PostData.CarrierNum = this.parametersData.TotalNumber;
this.createTableData();
// }
this.getBusTypeList();
this.getSupplierList();
}
};
};
</script>
\ No newline at end of file
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