Commit 79f825b2 authored by huangyuanyuan's avatar huangyuanyuan
parents e1349f5c 94d082c1
...@@ -423,12 +423,6 @@ export default { ...@@ -423,12 +423,6 @@ export default {
}, },
}, mounted() { }, mounted() {
this.userId = this.getLocalStorage().EmployeeId; this.userId = this.getLocalStorage().EmployeeId;
// let obj = this.$route.query.item ? JSON.parse(this.$route.query.item) : ''
// this.item = obj
// this.orderId = this.msg.OrderID = obj.orderId ? obj.orderId : obj.OrderId
// this.tcnum = obj.tcnum ? obj.tcnum : obj.TCNUM
// this.tcid = obj.tcid ? obj.tcid : obj.TCID
// this.outBranchId = obj.outBranchId ? obj.outBranchId : obj.OutBranchId;
this.tcid= this.$route.query.TCID; this.tcid= this.$route.query.TCID;
this.OutBranchId=this.$route.query.OutBranchId; this.OutBranchId=this.$route.query.OutBranchId;
......
...@@ -1095,11 +1095,12 @@ export default { ...@@ -1095,11 +1095,12 @@ export default {
}, },
mounted() { mounted() {
this.initCity(); this.initCity();
this.getNeedType(); this.getNeedType();
this.initTicketType(); this.initTicketType();
this.initAirline(); this.initAirline();
this.getList(); this.getList();
} }
}; };
</script> </script>
...@@ -676,7 +676,7 @@ ...@@ -676,7 +676,7 @@
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item v-if="item.Status==2" @click.native="OutGroup(item.TCID,1)">销售 <el-dropdown-item v-if="item.Status==2" @click.native="OutGroup(item.TCID,1)">销售
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item v-if="item.Status==1&&showSureOrder('P_Query_Income_ConfirmInfo',item.CreateBy)" <el-dropdown-item v-if="item.Status==2&&showSureOrder('P_Query_Income_ConfirmInfo',item.CreateBy)"
@click.native="goSureOrder('priceIncomeConfirmInfo',item.TCID)">收入确认单 @click.native="goSureOrder('priceIncomeConfirmInfo',item.TCID)">收入确认单
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item v-if="CurrentUserInfo.B2BDomain!=''" <el-dropdown-item v-if="CurrentUserInfo.B2BDomain!=''"
......
...@@ -132,7 +132,6 @@ ...@@ -132,7 +132,6 @@
res => { res => {
this.loading=false; this.loading=false;
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
console.log(res,'data');
this.dataList = res.data.data; this.dataList = res.data.data;
} else { } else {
this.Error(res.data.message); this.Error(res.data.message);
......
<style> <style>
.busInfo { .busInfo {
font-size: 12px; font-size: 12px;
} }
.busInfo .bus_Notice {
color: #e95252; .busInfo .bus_Notice {
margin: 20px 0; color: #e95252;
} margin: 20px 0;
.busInfo .bus_Title { }
display: inline-block;
padding-left: 10px; .busInfo .bus_Title {
border-left: 3px solid #e95252; display: inline-block;
margin-bottom: 20px; padding-left: 10px;
} border-left: 3px solid #e95252;
.busInfo .bus_uu li { margin-bottom: 20px;
float: left; }
width: 280px;
} .busInfo .bus_uu li {
.busInfo .bo_bus { float: left;
width: 100%; width: 280px;
background: #eee; }
min-width: 1125px;
margin-bottom: 30px; .busInfo .bo_bus {
} width: 100%;
.busInfo .bo_bus th { background: #eee;
background: #edeef0; min-width: 1125px;
height: 40px; margin-bottom: 30px;
} }
.busInfo .bo_bus tr {
height: 40px; .busInfo .bo_bus th {
} background: #edeef0;
.busInfo .bo_bus td { height: 40px;
height: 50px; }
text-align: center;
background-color: #fff; .busInfo .bo_bus tr {
padding:0 10px; height: 40px;
} }
.busInfo .bus_uu em {
font-style: normal; .busInfo .bo_bus td {
display: inline-block; height: 50px;
width: 60px; text-align: center;
} background-color: #fff;
.busInfo .areaInfo li { padding: 0 10px;
width: auto; }
margin-bottom: 30px;
} .busInfo .bus_uu em {
.busInfo .subName { font-style: normal;
padding: 5px 10px; display: inline-block;
border: 1px solid #d1d1d1; width: 60px;
border-radius: 14px; }
cursor: pointer;
} .busInfo .areaInfo li {
.busInfo .spanCked { width: auto;
border-color: #ff4400; margin-bottom: 30px;
color: #ff4400; }
}
.busInfo .carPlanOne span { .busInfo .subName {
float: left; padding: 5px 10px;
margin-right: 3px; border: 1px solid #d1d1d1;
} border-radius: 14px;
.busInfo .otherSpan > span:first-child { cursor: pointer;
margin-left: 50px; }
}
.busInfo .carPlanOne .el-input .el-input__inner, .busInfo .spanCked {
.el-select .el-input { border-color: #ff4400;
height: 28px; color: #ff4400;
} }
.busInfo .upBtnList {
margin: 20px 0 30px 20px; /* .busInfo .carPlanOne span {
} display: inline-block;
.carInfo .el-input__inner { margin-right: 3px;
height: 34px !important; margin:5px 4px 5px 0;
} } */
.disSpan { .BusinfoSpan{
background-color: #e4e7ed; display: inline-block;
color: #c0c4cc; margin-right: 3px;
} margin:5px 4px 5px 0;
.busInfoP{ }
display:inline-block; .busInfo .carPlanOne .el-input .el-input__inner,
} .el-select .el-input {
.busInfoP :hover { height: 28px;
text-decoration: underline; }
cursor: pointer;
} .busInfo .upBtnList {
.BusTyleFirst .w150{ margin: 20px 0 30px 20px;
margin-right:22px; }
}
.carInfo .el-input__inner {
height: 34px !important;
}
.disSpan {
background-color: #e4e7ed;
color: #c0c4cc;
}
.busInfoP {
display: inline-block;
}
.busInfoP :hover {
text-decoration: underline;
cursor: pointer;
}
.BusTyleFirst .w150 {
margin-right: 22px;
}
.busAddbtn {
display: inline-block;
width: 30px;
height: 30px;
border: 1px solid #d1d1d1;
text-align: center;
line-height: 30px;
border-radius: 50%;
cursor: pointer;
position: relative;
top: 2px;
}
.busAddbtn:hover i {
color: #e95252;
}
.carPlanOne .w320{
margin:5px 0;
}
</style> </style>
<template> <template>
<div class="flexOne busInfo"> <div class="flexOne busInfo">
<div class="bus_Notice">注:此处不和任何团队行程做绑定,如需下载车配表,请在车辆绑定团队以后再行下载</div> <div class="bus_Notice">注:此处不和任何团队行程做绑定,如需下载车配表,请在车辆绑定团队以后再行下载</div>
<table class="singeRowTable"> <table class="singeRowTable">
<tr> <tr>
<td colspan="6">{{title}}</td> <td colspan="6">{{title}}</td>
</tr> </tr>
<tr> <tr>
<th>进出点</th> <th>进出点</th>
<th>订单人数</th> <th>订单人数</th>
<th>机位总数</th> <th>机位总数</th>
<th>领队</th> <th>领队</th>
<th>导游</th> <th>导游</th>
<th>团号</th> <th>团号</th>
</tr> </tr>
<tr> <tr>
<td>{{InOut}}</td> <td>{{InOut}}</td>
<td>{{RealityNum}}</td> <td>{{RealityNum}}</td>
<td>{{totalFlySeat}}</td> <td>{{totalFlySeat}}</td>
<td>{{LeaderName}}</td> <td>{{LeaderName}}</td>
<td>{{GuideName}}</td> <td>{{GuideName}}</td>
<td><p class="busInfoP" @click="goUrlT('TravelControlList',TCNUMS,'团控列表')">{{TCNUMS}}</p></td> <td>
</tr> <p class="busInfoP" @click="goUrlT('TravelControlList',TCNUMS,'团控列表')">{{TCNUMS}}</p>
</td>
</tr>
</table> </table>
<div style="width: 100%; overflow-x: auto;margin-top:20px;" class="ownScrollbarStyle"> <div style="width: 100%; overflow-x: auto;margin-top:20px;" class="ownScrollbarStyle">
<el-form :model="PostData" :rules="rules" ref="PostData"> <el-form :model="PostData" :rules="rules" ref="PostData">
<table class="bo_bus" cellspacing="1"> <table class="bo_bus" cellspacing="1">
<tr> <tr>
<th width="150">日期</th> <th width="100">日期</th>
<th width="300">酒店名称</th> <th width="280">酒店名称</th>
<th width="120">停车场</th> <th width="50">停车场</th>
<th width="280">用车计划</th> <th width="400">用车计划</th>
<th width="200">订团号</th> <th width="200">订团号</th>
<th width="120">司机姓名</th> <th width="100">司机姓名</th>
<th width="120">联系电话</th> <th width="100">联系电话</th>
<th width="250">司机住宿</th> <th width="250">司机住宿</th>
<th width="120">车辆类型</th> <th>泊车说明</th>
<th width="120">使用人数</th> <th width="120">车辆类型</th>
<th width="120">车牌号码</th> <th width="120">使用人数</th>
<th width="120">供应商</th> <th width="120">车牌号码</th>
<th>泊车说明</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> <th width="120">小计</th>
<tr v-for="(item,index) in PlanTableData"> </tr>
<td> <tr v-for="(item,index) in PlanTableData">
<div class="w100"> <td>
{{item.PlanDateStr}} <div class="w100">
</div> {{item.PlanDateStr}}
</td> </div>
<td> </td>
<div class="w280"> <td>
{{item.HotelName}} <div class="w280">
</div> {{item.HotelName}}
</td> </div>
<td> </td>
<div class="w50"> <td>
{{item.IsHavearking=='0'?'无':'有'}} <div class="w50">
</div> {{item.IsHavearking=='0'?'无':'有'}}
</td> </div>
<td class="carPlanOne" :class="{'otherSpan':index!=0&&index!=PlanTableData.length-1}"> </td>
<div class="w320"> <td class="carPlanOne" :class="{'otherSpan':index!=0&&index!=PlanTableData.length-1}">
<!--接机送机--> <div class="w320" v-for="(subItem,subIndex) in item.DetailList">
<em > <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> <el-select class="w150" placeholder="请选择" v-model="subItem.AirportPickUp" :disabled="forbidInput">
</em> <el-option :key="0" :value="0" label="请选择"></el-option>
<em v-if='index!=0&&index!=PlanTableData.length-1'> <el-option v-for="childitem in BusAirportPickUpList" :key="childitem.Id" :label="childitem.Name"
<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> :value="childitem.Id">
<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>
<!--用车类型-->
<span v-for="subItem in UseTypeArray">
<span 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>
</td>
<td>
<el-input class="w135" 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 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="w180" :class="{'BusTyleFirst':index==0}">
<el-select clearable class="w150" filterable placeholder="请选择" v-model="item.BusType" :disabled="forbidInput" @change='getBusPrice(item)'>
<el-option v-for="item in BusTypeList" :key="item.Id" :label="item.newName" :value="item.Id">
</el-option> </el-option>
</el-select> </el-select>
<el-tooltip class="item" effect="dark" content="同上" placement="top"> </em>
<i class="iconfont icon-tongshang" style="cursor:pointer;" v-if="index!=0" @click="getBeforeInfo(index)"></i> <!--用车类型-->
</el-tooltip> <span v-for="childItem in UseTypeArray" class="BusinfoSpan">
</div> <span v-if="childItem.Id==1" class="subName"
</td> :class="{'spanCked':subItem.UseType==childItem.Id,'disSpan':forbidInput==true}"
<td> @click="UseTypeClick(childItem.Id,index,subIndex);getBusPrice(subItem)">{{childItem.Name}}</span>
<div class="w80"> </span>
<el-input class="w50" v-model="item.UseNum" @keyup.native="checkPrice(item,'UseNum')"></el-input> <span style="width:30px;display:inline-block;" >
</div> <a v-if="subIndex>0" @click="DeleteSubItem(item,subIndex)" style="color:blue;cursor:pointer">删除</a>
</td> </span>
<td> <span style="display:inline-block;width:30px;margin-left:5px;">
<div class="w150"> <span class="busAddbtn" v-if="subIndex==item.DetailList.length-1" @click="AddSubItem(item)" style="margin-bottom:10px;">
<el-input class="w135" v-model="item.BusNum"></el-input> <i class="iconfont icon-img_haha"></i>
</div> </span>
</td> </span>
<td> </div>
<div class="w200"> </td>
<el-select class="w150" filterable placeholder="请选择" v-model="item.BusCompany"> <td>
<el-option v-for="item in SupplierList" :key="item.ID" :label="item.Name" :value="item.ID"></el-option> <el-input class='w170' type="text" v-model="item.BookGroup"></el-input>
</el-select> </td>
</div> <td>
</td> <el-input class="w100" v-model="item.DriverName"></el-input>
<td> </td>
<div class="w150"> <td>
<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 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> <el-input class="w135" v-model="item.ParkExplain" placeholder="请输入说明"></el-input>
</div> </div>
</td> </td>
<td> <td>
<div class="w100"> <div class="w180" :class="{'BusTyleFirst':index==0}">
<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>
</el-tooltip>
</div>
</td>
<td>
<div class="w80">
<el-input class="w50" v-model="item.UseNum" @keyup.native="checkPrice(item,'UseNum')"></el-input>
</div>
</td>
<td>
<div class="w150">
<el-input class="w135" v-model="item.BusNum"></el-input>
</div>
</td>
<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-select>
</div>
</td>
<td>
<div class="w100">
<el-input class="w80" v-model="item.CostPrice" @keyup.native="checkPrice(item,'CostPrice')" <el-input class="w80" v-model="item.CostPrice" @keyup.native="checkPrice(item,'CostPrice')"
placeholder="请输入成本价"></el-input> placeholder="请输入成本价"></el-input>
</div> </div>
</td> </td>
<td>
<div class="w80"> <td>
<el-input class='w50' type="text" v-model="item.TransferNum" @keyup.native="checkInteger(item,'TransferNum')"></el-input> <div class="w120">
</div> <el-select class='w100 sel' v-model='item.PayType' :placeholder="$t('pub.pleaseSel')">
</td> <el-option label='请选择' :value='0'></el-option>
<td> <el-option label='现付' :value='1'></el-option>
<div class="w80"> <el-option label='公司结算' :value='2'></el-option>
{{item.CostPrice*(Number(item.TransferNum)+1)}} <el-option label='预付' :value='3'></el-option>
</div> </el-select>
</td> </div>
</tr> </td>
<td>
<div class="w80">
<el-input class='w80' type="text" v-model="item.Remarks"></el-input>
</div>
</td>
<td>
<div class="w80">
{{item.CostPrice*(Number(item.TransferNum)+1)}}
</div>
</td>
</tr>
</table> </table>
<div class="upBtnList"> <div class="upBtnList">
<input type="button" class="normalBtn" @click="SaveList(0)" :disabled="disButton" value="保存草稿" /> <input type="button" class="normalBtn" @click="SaveList(0)" :disabled="disButton" value="保存草稿" />
<input type="button" class="normalBtn" @click="SaveList(1)" :disabled="disButton" value="保存" /> <input type="button" class="normalBtn" @click="SaveList(1)" :disabled="disButton" value="保存" />
</div> </div>
</el-form> </el-form>
...@@ -253,510 +315,486 @@ ...@@ -253,510 +315,486 @@
</div> </div>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
defaultSelectValue:0, defaultSelectValue: 0,
//车辆类型列表 //车辆类型列表
BusTypeList: [], BusTypeList: [],
/*供应商列表*/ /*供应商列表*/
SupplierList: [], SupplierList: [],
//地址参数 //地址参数
BusId: 0, BusId: 0,
//地址参数 //地址参数
parametersData: { parametersData: {
TCID: 0, TCID: 0,
StartDate: "", StartDate: "",
DayNum: 0, DayNum: 0,
TotalNumber: 0 TotalNumber: 0
}, },
/*表单json*/ /*表单json*/
PostData: { PostData: {
Id: 0, Id: 0,
BusCode: "", BusCode: "",
DriverName: "", DriverName: "",
DriverTel: "", DriverTel: "",
BusType: "", BusType: "",
CarrierNum: "", CarrierNum: "",
BusNum: "", BusNum: "",
StartDate: "", StartDate: "",
UseDays: "", UseDays: "",
SupplierId: "", SupplierId: "",
CostPrice: "", CostPrice: "",
SalesPrice: "", SalesPrice: "",
Country: 0, Country: 0,
Province: 0, Province: 0,
City: 0, City: 0,
District: 0, District: 0,
PlanList: [], PlanList: [],
TCID: 0 TCID: 0
}, },
//禁用文本框 //禁用文本框
diabledValue: true, diabledValue: true,
/*计划表数据*/ /*计划表数据*/
forbidInput: false, forbidInput: false,
PlanTableData: [], PlanTableData: [],
UseTypeArray: [], //用车类型 UseTypeArray: [], //用车类型
//接送机类型 BusAirportPickUpList: [], //用车类型
AirPickUp: "", //禁止重复提交禁用按钮
AirSend: "", disButton: false,
//禁止重复提交禁用按钮 //司机住宿类型
disButton: false, AccommodationTypeArray: [],
//司机住宿类型 rules: {
AccommodationTypeArray: [], //表单必填验证
rules: { BusCode: [{
//表单必填验证
BusCode: [
{
required: true, required: true,
message: "请填写车配号", message: "请填写车配号",
trigger: "change" trigger: "change"
} }],
], DriverName: [{
DriverName: [
{
required: true, required: true,
message: "请填写司机姓名", message: "请填写司机姓名",
trigger: "change" trigger: "change"
} }],
], DriverTel: [{
DriverTel: [
{
required: true, required: true,
message: "请填写联系电话", message: "请填写联系电话",
trigger: "change" trigger: "change"
} }],
], BusType: [{
BusType: [
{
required: true, required: true,
message: "请选择车辆类型", message: "请选择车辆类型",
trigger: "change" trigger: "change"
} }],
], CarrierNum: [{
CarrierNum: [ required: true,
{ message: "请填写核载人数",
required: true, trigger: "change"
message: "请填写核载人数", },
trigger: "change" {
}, pattern: this.$commonUtils.Regex.el_isInteger,
{ message: "请输入正确的数字"
pattern: this.$commonUtils.Regex.el_isInteger, }
message: "请输入正确的数字" ],
} BusNum: [{
],
BusNum: [
{
required: true, required: true,
message: "请填写车牌号码", message: "请填写车牌号码",
trigger: "change" trigger: "change"
} }],
], StartDate: [{
StartDate: [
{
required: true, required: true,
message: "请选择开始时间", message: "请选择开始时间",
trigger: "change" trigger: "change"
} }],
], UseDays: [{
UseDays: [ required: true,
{ message: "请填写使用天数",
required: true, trigger: "change"
message: "请填写使用天数", },
trigger: "change" {
}, pattern: this.$commonUtils.Regex.el_isInteger,
{ message: "请输入正确的数字"
pattern: this.$commonUtils.Regex.el_isInteger, }
message: "请输入正确的数字" ],
} SupplierId: [{
],
SupplierId: [
{
required: true, required: true,
message: "请选择供应商", message: "请选择供应商",
trigger: "change" trigger: "change"
}],
CostPrice: [{
pattern: this.$commonUtils.Regex.el_Isdecimal,
message: "请输入正确的价格"
},
{
required: true,
message: "请填写成本价",
trigger: "change"
}
],
SalesPrice: [{
pattern: this.$commonUtils.Regex.el_Isdecimal,
message: "请输入正确的价格"
},
{
required: true,
message: "请填写内部价",
trigger: "change"
}
]
},
//团名
title: '',
//团号
TCNUMS: '',
//进出点
InOut: '',
//订单人数
RealityNum: '',
//机位总数
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) {
case 1:
money = checkObj.AllDayPrice
break;
case 2:
money = checkObj.HalfDayPrice
break;
case 3:
money = checkObj.HourPrice * obj.UseTime
break;
default:
money = 0
break;
}
} else if (obj.AirportPickUp == 1) {
switch (obj.UseType) {
case 1:
money = checkObj.AllDayPrice + checkObj.ReceivePrice
break;
case 2:
money = checkObj.HalfDayPrice + checkObj.ReceivePrice
break;
case 3:
money = checkObj.HourPrice * obj.UseTime + checkObj.ReceivePrice
break;
default:
money = checkObj.ReceivePrice
break;
}
} else {
switch (obj.UseType) {
case 1:
money = checkObj.AllDayPrice + checkObj.SendPrice
break;
case 2:
money = checkObj.HalfDayPrice + checkObj.SendPrice
break;
case 3:
money = checkObj.HourPrice * obj.UseTime + checkObj.SendPrice
break;
default:
money = checkObj.SendPrice
break;
}
}
} }
], obj.CostPrice = money
CostPrice: [ }
{ },
pattern: this.$commonUtils.Regex.el_Isdecimal, AddSubItem(item) {
message: "请输入正确的价格" item.DetailList.push({
DetailId: 0,
UseType: 0,
BusPlanId: 0,
AirportPickUp: 0
});
},
DeleteSubItem(item,index)
{
item.DetailList.splice(index,1);
},
/*获取车辆类型列表*/
getBusTypeList() {
this.apipost(
"bus_get_GetBusTypePriceList",
null,
res => {
if (res.data.resultCode == 1) {
this.BusTypeList = res.data.data;
this.BusTypeList.forEach(item => {
item['newName'] = item.AreaTypeStr + '-' + item.BusTypeStr
})
}
}, },
{ null
required: true, );
message: "请填写成本价", },
trigger: "change" /*获取供应商列表*/
} getSupplierList() {
], this.apipost(
SalesPrice: [ "supplier_post_GetAllList", {
{ Type: 5
pattern: this.$commonUtils.Regex.el_Isdecimal,
message: "请输入正确的价格"
}, },
{ response => {
required: true, if (response.data.resultCode == 1) {
message: "请填写内部价", this.SupplierList = response.data.data;
trigger: "change" }
} },
] null
);
}, },
//团名 /*生成表格数据*/
title:'', createTableData() {
//团号 this.apipost(
TCNUMS:'', "bus_get_GetTravelBusDetailsTCIDs", {
//进出点 TCIDs: this.parametersData.TCID
InOut:'', },
//订单人数 response => {
RealityNum:'', if (response.data.resultCode == 1) {
//机位总数 this.PlanTableData = response.data.data;
totalFlySeat:'', this.PlanTableData.forEach(x => {
LeaderName:'', if (x.BookGroup == '' || x.BookGroup == null) {
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){
case 1:
money=checkObj.AllDayPrice
break;
case 2:
money=checkObj.HalfDayPrice
break;
case 3:
money=checkObj.HourPrice*obj.UseTime
break;
default:
money=0
break;
}
}else if(obj.AirportPickUp==1){
switch (obj.UseType){
case 1:
money=checkObj.AllDayPrice+checkObj.ReceivePrice
break;
case 2:
money=checkObj.HalfDayPrice+checkObj.ReceivePrice
break;
case 3:
money=checkObj.HourPrice*obj.UseTime+checkObj.ReceivePrice
break;
default:
money=checkObj.ReceivePrice
break;
}
}else{
switch (obj.UseType){
case 1:
money=checkObj.AllDayPrice+checkObj.SendPrice
break;
case 2:
money=checkObj.HalfDayPrice+checkObj.SendPrice
break;
case 3:
money=checkObj.HourPrice*obj.UseTime+checkObj.SendPrice
break;
default:
money=checkObj.SendPrice
break;
}
}
}
obj.CostPrice=money
}
},
/*获取车辆类型列表*/
getBusTypeList() {
this.apipost(
"bus_get_GetBusTypePriceList",
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
})
}
},
null
);
},
/*获取供应商列表*/
getSupplierList() {
this.apipost(
"supplier_post_GetAllList",
{
Type: 5
},
response => {
if (response.data.resultCode == 1) {
this.SupplierList = response.data.data;
}
},
null
);
},
/*生成表格数据*/
createTableData() {
this.apipost(
"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){
x.BookGroup = this.$route.query.NewCombinationNum; x.BookGroup = this.$route.query.NewCombinationNum;
} }
}) })
console.log(this.PlanTableData,'plandata'); }
} },
}, null
null );
); },
},
/*保存车辆基本信息*/ /*保存车辆基本信息*/
SaveData() { SaveData() {
this.PostData.PlanList = this.PlanTableData; this.PostData.PlanList = this.PlanTableData;
this.PostData.CarrierNum = parseInt(this.PostData.CarrierNum); this.PostData.CarrierNum = parseInt(this.PostData.CarrierNum);
this.PostData.UseDays = parseInt(this.PostData.UseDays); this.PostData.UseDays = parseInt(this.PostData.UseDays);
this.disButton = true; this.disButton = true;
this.PostData.PlanList.forEach(x => { this.PostData.PlanList.forEach(x => {
if (x.CostPrice == "") { if (x.CostPrice == "") {
x.CostPrice = 0; x.CostPrice = 0;
}
});
if (this.PostData.PlanList.length > 0) {
this.PostData.PlanList.forEach((x, index) => {
x.AirportPickUp = 0;
if (index == 0) {
x.AirportPickUp = 1;
} else if (index == this.PostData.PlanList.length - 1) {
x.AirportPickUp = 2;
} }
}); });
} if (this.PostData.PlanList.length > 0) {
this.apipost( this.PostData.PlanList.forEach((x, index) => {
"bus_post_Set", x.AirportPickUp = 0;
this.PostData, if (index == 0) {
res => { x.AirportPickUp = 1;
this.disButton = false; } else if (index == this.PostData.PlanList.length - 1) {
x.AirportPickUp = 2;
}
});
}
this.apipost(
"bus_post_Set",
this.PostData,
res => {
this.disButton = false;
if (res.data.resultCode == 1) {
this.Success("保存成功!");
this.goUrl("busManage");
} else {
this.Error(res.data.message);
}
},
null
);
},
SaveList(type) {
this.PlanTableData.forEach(item => {
item.OrderState = type
})
this.apipost('bus_get_SetPlan', this.PlanTableData, res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.Success("保存成功!"); this.Success("保存成功!");
this.goUrl("busManage");
} else {
this.Error(res.data.message);
}
},
null
);
},
SaveList(type){
this.PlanTableData.forEach(item=>{
item.OrderState=type
})
this.apipost('bus_get_SetPlan',this.PlanTableData,res=>{
if (res.data.resultCode == 1) {
this.Success("保存成功!");
this.MsgBus.$emit('msg') this.MsgBus.$emit('msg')
this.getData();
} else { } else {
this.Error(res.data.message); this.Error(res.data.message);
} }
},err=>{}) }, err => {})
}, },
//用车类型点击事件 //用车类型点击事件
UseTypeClick(value, index) { UseTypeClick(value, index,subIndex) {
if (this.forbidInput == true) { if (this.forbidInput == true) {
return; return;
}
if (
this.PlanTableData[index].UseType == "0" ||
this.PlanTableData[index].UseType != value
) {
this.PlanTableData[index].UseType = value;
} else if (this.PlanTableData[index].UseType == value) {
this.PlanTableData[index].UseType = "0";
}
},
//司机住宿点击事件
AccommodationCLick(value, index) {
if (
this.PlanTableData[index].AccommodationType == "0" ||
this.PlanTableData[index].AccommodationType != value
) {
this.PlanTableData[index].AccommodationType = value;
} else {
this.PlanTableData[index].AccommodationType = "0";
}
},
/*获取用车类型列表*/
GetUseTypeList() {
this.apipost(
"bus_get_GetUseTypeList",
null,
response => {
if (response.data.resultCode == 1) {
this.UseTypeArray = response.data.data;
}
},
null
);
},
/*获取接送机类型列表*/
GetAirportPickUpList() {
this.apipost(
"bus_get_GetAirportPickUpList",
null,
response => {
if (response.data.resultCode == 1) {
this.AirPickUp = response.data.data[0].Name;
this.AirSend = response.data.data[1].Name;
}
},
null
);
},
/*获取司机住宿类型列表*/
GeAccommodationTypeList() {
this.apipost(
"bus_get_GeAccommodationTypeList",
null,
response => {
if (response.data.resultCode == 1) {
this.AccommodationTypeArray = response.data.data;
}
},
null
);
},
getData() {
this.apipost(
"bus_get_Get",
{
ID: this.BusId
},
response => {
if (response.data.resultCode == 1) {
this.PostData = response.data.data;
if (this.PostData.PlanList.length > 0) {
this.PostData.PlanList.forEach((x, index) => {
if (index == this.PostData.PlanList.length - 1) {
x.AirportPickUp = 1;
}
});
}
this.PlanTableData = this.PostData.PlanList;
}
},
null
);
},
goUrl(path) {
this.$router.push({
path: path
});
},
goUrlT(path, TCNUMS, title) {
this.$router.push({
name: path,
query: {
tcmun:TCNUMS,
blank: 'y',
tab: title
} }
}) if (
}, this.PlanTableData[index].DetailList[subIndex].UseType == "0" ||
submitForm(addMsg) { this.PlanTableData[index].DetailList[subIndex].UseType != value
//提交创建、修改表单 ) {
let that = this; this.PlanTableData[index].DetailList[subIndex].UseType = value;
that.$refs[addMsg].validate(valid => { } else if (this.PlanTableData[index].DetailList[subIndex].UseType == value) {
if (valid) { this.PlanTableData[index].DetailList[subIndex].UseType = "0";
that.SaveData(addMsg); }
},
//司机住宿点击事件
AccommodationCLick(value, index) {
if (
this.PlanTableData[index].AccommodationType == "0" ||
this.PlanTableData[index].AccommodationType != value
) {
this.PlanTableData[index].AccommodationType = value;
} else { } else {
return false; this.PlanTableData[index].AccommodationType = "0";
} }
}); },
}, /*获取用车类型列表*/
resetForm(formName) { GetUseTypeList() {
//弹出框取消 初始化谈框内表单 this.apipost(
this.$refs[formName].resetFields(); "bus_get_GetUseTypeList",
}, null,
//计算总成本 response => {
CalculatePrice() { if (response.data.resultCode == 1) {
var CoastPrice = this.$commonUtils.CaluJsonArraySum( this.UseTypeArray = response.data.data;
this.PlanTableData, }
"CostPrice", },
2 null
); );
this.PostData.CostPrice = CoastPrice; },
/*获取接送机类型列表*/
GetAirportPickUpList() {
this.apipost(
"bus_get_GetAirportPickUpList",
null,
response => {
if (response.data.resultCode == 1) {
this.BusAirportPickUpList = response.data.data;
}
},
null
);
},
/*获取司机住宿类型列表*/
GeAccommodationTypeList() {
this.apipost(
"bus_get_GeAccommodationTypeList",
null,
response => {
if (response.data.resultCode == 1) {
this.AccommodationTypeArray = response.data.data;
}
},
null
);
},
getData() {
this.apipost(
"bus_get_Get", {
ID: this.BusId
},
response => {
if (response.data.resultCode == 1) {
this.PostData = response.data.data;
if (this.PostData.PlanList.length > 0) {
this.PostData.PlanList.forEach((x, index) => {
if (index == this.PostData.PlanList.length - 1) {
x.AirportPickUp = 1;
}
});
}
this.PlanTableData = this.PostData.PlanList;
}
},
null
);
},
goUrl(path) {
this.$router.push({
path: path
});
},
goUrlT(path, TCNUMS, title) {
this.$router.push({
name: path,
query: {
tcmun: TCNUMS,
blank: 'y',
tab: title
}
})
},
submitForm(addMsg) {
//提交创建、修改表单
let that = this;
that.$refs[addMsg].validate(valid => {
if (valid) {
that.SaveData(addMsg);
} else {
return false;
}
});
},
resetForm(formName) {
//弹出框取消 初始化谈框内表单
this.$refs[formName].resetFields();
},
//计算总成本
CalculatePrice() {
var CoastPrice = this.$commonUtils.CaluJsonArraySum(
this.PlanTableData,
"CostPrice",
2
);
this.PostData.CostPrice = CoastPrice;
},
//获取同上信息
getBeforeInfo(index) {
let oldPlanData = this.PlanTableData[index - 1];
let newPlanData = this.PlanTableData[index];
newPlanData.AirportPickUp = oldPlanData.AirportPickUp;
newPlanData.UseType = oldPlanData.UseType;
newPlanData.UseTime = oldPlanData.UseTime;
newPlanData.BookGroup = oldPlanData.BookGroup;
newPlanData.DriverName = oldPlanData.DriverName;
newPlanData.DriverTel = oldPlanData.DriverTel;
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;
}
}, },
//获取同上信息 mounted() {
getBeforeInfo(index){ this.GetUseTypeList();
let oldPlanData = this.PlanTableData[index-1]; this.GetAirportPickUpList();
let newPlanData = this.PlanTableData[index]; this.GeAccommodationTypeList();
// newPlanData.PlanDateStr = oldPlanData.PlanDateStr; this.BusId = this.$route.query.id;
// newPlanData.HotelName = oldPlanData.HotelName; this.title = this.$route.query.title;
// newPlanData.IsHavearking = oldPlanData.IsHavearking; this.TCNUMS = this.$route.query.TCNUMS,
// newPlanData.AirportPickUp = oldPlanData.AirportPickUp; this.InOut = this.$route.query.InOut,
// newPlanData.UseType = oldPlanData.UseType; this.RealityNum = this.$route.query.RealityNum,
// newPlanData.UseTime = oldPlanData.UseTime; this.totalFlySeat = this.$route.query.TotalNumber + '/' + this.$route.query.RealityYSeatNum + '/' +
newPlanData.BookGroup = oldPlanData.BookGroup; this.$route.query.RealityESeatNum + '/' + this.$route.query.RealityFSeatNum
newPlanData.DriverName = oldPlanData.DriverName; this.LeaderName = this.$route.query.LeaderName,
newPlanData.DriverTel = oldPlanData.DriverTel; this.GuideName = this.$route.query.GuideName
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;
}
},
mounted() {
this.GetUseTypeList();
this.GetAirportPickUpList();
this.GeAccommodationTypeList();
this.BusId = this.$route.query.id;
this.title = this.$route.query.title;
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.LeaderName = this.$route.query.LeaderName,
this.GuideName = this.$route.query.GuideName
if (this.BusId > 0) { if (this.BusId > 0) {
this.getData(); this.getData();
// this.forbidInput = true; }
} this.parametersData.TCID = this.$route.query.TCID;
this.parametersData.TCID = this.$route.query.TCID; this.parametersData.StartDate = this.$route.query.StartDate;
this.parametersData.StartDate = this.$route.query.StartDate; this.parametersData.DayNum = this.$route.query.DayNum;
this.parametersData.DayNum = this.$route.query.DayNum; this.parametersData.TotalNumber = this.$route.query.TotalNumber;
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.TCID = this.parametersData.TCID;
this.PostData.CarrierNum = this.parametersData.TotalNumber; this.PostData.CarrierNum = this.parametersData.TotalNumber;
this.createTableData(); this.createTableData();
// } this.getBusTypeList();
this.getBusTypeList(); this.getSupplierList();
this.getSupplierList(); }
} };
}; </script>
</script> \ No newline at end of file
...@@ -153,7 +153,7 @@ ...@@ -153,7 +153,7 @@
</div></td> </div></td>
<td :rowspan="2*outItem.StaticsReportList.length" v-if='index==0'> <td :rowspan="2*outItem.StaticsReportList.length" v-if='index==0'>
<div class="w100 link"> <div class="w100 link">
<span @click="goUrlX('BusInfo',outItem,'车配信息')">详情</span> <span @click="goUrlX('BusInfo',item,outItem,'车配信息')">详情</span>
<span @click="DownLoadFile(item,outItem.NewCombinationNum)">下载</span> <span @click="DownLoadFile(item,outItem.NewCombinationNum)">下载</span>
</div> </div>
</td> </td>
...@@ -291,14 +291,28 @@ totalPrice+=busInfo.CostPrice*(Number(busInfo.TransferNum)+1)*PeopleNum; ...@@ -291,14 +291,28 @@ totalPrice+=busInfo.CostPrice*(Number(busInfo.TransferNum)+1)*PeopleNum;
} }
); );
}, },
goUrlX(path,obj,title){ goUrlX(path, obj,outItem,title){
console.log(obj); this.$router.push({
// name: path,
let TotalSeat=0; query: {
obj.StaticsReportList.forEach(outItem=>{ "TCID": obj.TCIDS,
TotalSeat+=outItem.CommonReport.HouseStatistics.RealityNum; StartDate: obj.StartDateStr,
}); DayNum: obj.DayNum,
this.$router.push({ name:path,query:{"TCID":obj.TCIDs,TotalNumber:TotalSeat,blank:'y',tab:title}}) TotalNumber: obj.TotalSeat, //机位总数
RealityYSeatNum:obj.CommonReport.HouseStatistics.RealityYSeatNum,
RealityESeatNum:obj.CommonReport.HouseStatistics.RealityESeatNum,
RealityFSeatNum:obj.CommonReport.HouseStatistics.RealityFSeatNum,
LeaderName:obj.LeaderName,
GuideName:obj.GuideName,
NewCombinationNum: outItem.NewCombinationNum,
blank: 'y',
title:obj.Titles,
TCNUMS:obj.TCNUMS,
InOut:obj.InOut,
RealityNum:obj.CommonReport.HouseStatistics.RealityNum,
tab: title
}
})
}, },
goUrlR(path,obj,title){ goUrlR(path,obj,title){
this.$router.push({ name:path,query:{"ID":obj,blank:'y',tab:title}}) this.$router.push({ name:path,query:{"ID":obj,blank:'y',tab:title}})
......
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