Commit 4f782243 authored by 华国豪's avatar 华国豪 🙄
parents ed7751bd ef0c7dbc
<style>
@import "../../../assets/css/newTravelManager.css";
.CostNewPrice .el-form-item__content,
.CostNewPrice .el-form-item__label {
line-height: 30px;
}
.CostNewPrice .CP_halfWi {
width: 45%;
}
.CostNewPrice .QuotationFirstDiv1 {
padding-top: 30px;
}
.CostNewPrice .QuotationFirstDiv1 .el-form-item__content .el-select {
width: calc(100% - 100px);
}
.CostNewPrice .CP_ComTitle2 {
color: #106BAF;
font-weight: bold;
background-color: #D1EEEE;
white-space: nowrap;
}
.CostNewTable td {
padding: 5px;
height: 40px;
border: 1px solid #106BAF !important;
}
.CostPriceDiv {
float: left;
width: 19%;
margin-right: 23px;
}
.CP_ComTitle {
color: #106BAF;
}
.w79 {
width: 79px !important;
}
.w70 {
width: 70px !important;
......@@ -58,9 +42,7 @@
padding-right: 10px;
}
.CostNewTable .el-input__inner {
padding: 0 5px;
}
</style>
......@@ -163,14 +145,14 @@
<td colspan="12" class="CP_ComTitle2 CostcomCenter">报价信息</td>
</tr>
<tr>
<td width="170" class="CP_ComTitle2 CostcomCenter">币种</td>
<td class="CP_ComTitle2 CostcomCenter">币种</td>
<td v-for='(item,index) in CostCurrencyList'>
{{item.CurrencyName}}
<span>
<i class="iconfont icon-quxiao" style="display:inline-block;" @click="DeleteCurrency(index)"></i>
</span>
</td>
<td :colspan="13-2-CostCurrencyList.length+1">
<td :colspan="12-2-CostCurrencyList.length+1">
<el-form-item class="w70">
<el-select v-model='currencyType' @change="getRate(currencyType),addCurrency()">
<el-option v-for="item in currencyTypeArr" :label='item.Name' :value='item.ID' :key='item.ID'>
......@@ -182,74 +164,61 @@
<tr>
<td class="CP_ComTitle2 CostcomCenter">汇率</td>
<td v-for='item in CostCurrencyList'>
<el-input class="w60" v-model='item.ExchangeRate'
<el-input class="w70" v-model='item.ExchangeRate'
@keyup.native="checkRate(item,'ExchangeRate'),getchange()">
</el-input>
</td>
<td :colspan="13-2-CostCurrencyList.length+1">
<td :colspan="12-2-CostCurrencyList.length+1">
<el-input class="w70" v-model='queryMsg.RateInput'
@keyup.native="checkRate(queryMsg,'RateInput'),getchange()">
</el-input>
</td>
</tr>
<tr>
<td width="170" class="CP_ComTitle2 CostcomCenter">人数</td>
<td class="CP_ComTitle2 CostcomCenter">人数</td>
<td v-for="(item,index) in CostNumberList" :key='item.subCode'>
<el-input class="w50" v-model='item.PeopleNumber' @keyup.native="checkInteger(item,'PeopleNumber')">
<el-input class="w70" v-model='item.PeopleNumber' @keyup.native="checkInteger(item,'PeopleNumber')">
</el-input>
<span>
<i class="iconfont icon-quxiao" @click="DeletePNumber(index),getchange()"></i>
</span>
</td>
<td width="150" :colspan="13-2-CostNumberList.length+1">
<td :colspan="12-2-CostNumberList.length+1">
<el-form-item>
<el-input class="w50" v-model='queryMsg.PeopleNumber'
<el-input class="w70" v-model='queryMsg.PeopleNumber'
@keyup.native="checkInteger(queryMsg,'PeopleNumber'),getchange()"></el-input>
<i class="iconfont icon-img_haha" style="cursor:pointer;" @click="addPeoNunber"></i>
</el-form-item>
</td>
</tr>
<!-- <tr v-for="item in CostCurrencyList">
<td class="CP_ComTitle2 CostcomCenter">地接报价
<br />({{item.CurrencyName}})
</td>
<td v-if="checkExists(item.CurrencyId)" v-for="childItem in getCurrencyNumberList(item.CurrencyId)">
<el-form-item>
<el-input class="w60" v-model='childItem.Money'
@keyup.native="checkPrice(childItem,'Money',true),getchange()"></el-input>
</el-form-item>
</td>
<td :colspan="12-2-getCurrencyNumberList(item.CurrencyId).length+1">
</td>
</tr> -->
</thead>
<tr>
<td colspan="13"></td>
<td colspan="12"></td>
</tr>
<tr>
<td rowspan="2" width='180' class="CP_ComTitle2 CostcomCenter">Day</td>
<td rowspan="2" width='200' class="CP_ComTitle2 CostcomCenter">行程大点</td>
<td rowspan="2" width="100" class="CP_ComTitle2 CostcomCenter">币种</td>
<td rowspan="2" width='60' class="CP_ComTitle2 CostcomCenter">酒店</td>
<td colspan="4" width='100' class="CP_ComTitle2 CostcomCenter"></td>
<td rowspan="2" width='80' class="CP_ComTitle2 CostcomCenter">Day</td>
<td rowspan="2" width='80' class="CP_ComTitle2 CostcomCenter">行程大点</td>
<td rowspan="2" width="80" class="CP_ComTitle2 CostcomCenter">币种</td>
<td rowspan="2" width='80' class="CP_ComTitle2 CostcomCenter">酒店</td>
<td colspan="4" class="CP_ComTitle2 CostcomCenter"></td>
<td rowspan="2" width='80' class="CP_ComTitle2 CostcomCenter">门票</td>
<td colspan="3" width='100' class="CP_ComTitle2 CostcomCenter"></td>
<td colspan="3" class="CP_ComTitle2 CostcomCenter"></td>
</tr>
<tr>
<td width="120" class="CP_ComTitle2 CostcomCenter">总车资</td>
<td width="120" class="CP_ComTitle2 CostcomCenter">过路费</td>
<td width="100" class="CP_ComTitle2 CostcomCenter">人数</td>
<td width="100" class="CP_ComTitle2 CostcomCenter" style="white-space:nowrap; ">每人车资</td>
<td width="120" class="CP_ComTitle2 CostcomCenter"></td>
<td width="100" class="CP_ComTitle2 CostcomCenter"></td>
<td width="100" class="CP_ComTitle2 CostcomCenter"></td>
<td width="80" class="CP_ComTitle2 CostcomCenter">总车资</td>
<td width="80" class="CP_ComTitle2 CostcomCenter">过路费</td>
<td width="80" class="CP_ComTitle2 CostcomCenter">人数</td>
<td width="80" class="CP_ComTitle2 CostcomCenter">每人<br />车资</td>
<td width="80" class="CP_ComTitle2 CostcomCenter"></td>
<td width="80" class="CP_ComTitle2 CostcomCenter"></td>
<td width="80" class="CP_ComTitle2 CostcomCenter"></td>
</tr>
<template v-if="CostNumberList&&CostNumberList.length>1">
<template v-for="(subItem,subIndex) in dayCostPrice">
<template v-for="(childItem,childIndex) in CostNumberList">
<tr>
<td align="center" v-if="childIndex==0" :rowspan="CostNumberList.length">
<div style="width:100px;">{{subItem.DayNum}}</div>
{{subItem.DayNum}}
</td>
<td v-if="childIndex==0" :rowspan="CostNumberList.length">
<el-input type="textarea" resize="none" class="w250" v-model="subItem.Title"></el-input>
......@@ -265,6 +234,8 @@
</el-form-item>
</td>
<td v-if="childIndex==0" :rowspan="CostNumberList.length">
<el-input type='text' v-model="subItem.HotelName" class="w100" placeholder="酒店备注"></el-input>
<br />
<el-select v-model='subItem.ContainDinnerType' class="w100" placeholder="含餐类型"
@change="DinnerTypeChange(subItem)">
<el-option label="含餐类型" :value='0'></el-option>
......@@ -273,16 +244,17 @@
<el-option label="含早晚餐" :value='3'></el-option>
</el-select>
<br />
<el-input type='text' v-model="subItem.HotelCostPrice" class="w70"
@keyup.native="checkPrice(subItem,'HotelCostPrice')"></el-input>
<el-input type='text' v-model="subItem.HotelCostPrice" class="w100"
@keyup.native="checkPrice(subItem,'HotelCostPrice')" placeholder="酒店价格"></el-input>
</td>
<td v-if="childIndex==0" :rowspan="CostNumberList.length">
<el-input type='text' v-model="subItem.BusCostPrice" class="w70"
<el-input type='text' v-model="subItem.BusCostPrice" class="w60"
@keyup.native="checkPrice(subItem,'BusCostPrice'),getchange()">
</el-input>
</td>
<td v-if="childIndex==0" :rowspan="CostNumberList.length">
<el-input type='text' v-model="subItem.PassFee" class="w70"
<el-input type='text' v-model="subItem.PassFee" class="w60"
@keyup.native="checkPrice(subItem,'PassFee'),getchange()">
</el-input>
</td>
......@@ -293,24 +265,24 @@
{{((Number(subItem.BusCostPrice)+Number(subItem.PassFee))/Number(childItem.PeopleNumber)).toFixed(0)}}
</td>
<td v-if="childIndex==0" :rowspan="CostNumberList.length">
<el-input type='text' v-model="subItem.ScenicCostPrice" class="w70"
<el-input type='text' v-model="subItem.ScenicCostPrice" class="w60"
@keyup.native="checkPrice(subItem,'ScenicCostPrice'),getchange()"></el-input>
</td>
<td v-if="childIndex==0" :rowspan="CostNumberList.length">
<el-input type="text"
:disabled="(subItem.ContainDinnerType==1||subItem.ContainDinnerType==3)?true:false"
v-model='subItem.BreakfastCostPrice' class="w70"
v-model='subItem.BreakfastCostPrice' class="w60"
@keyup.native="checkPrice(subItem,'BreakfastCostPrice'),getchange()">
</el-input>
</td>
<td v-if="childIndex==0" :rowspan="CostNumberList.length">
<el-input type="text" v-model='subItem.LunchCostPrice' class="w70"
<el-input type="text" v-model='subItem.LunchCostPrice' class="w60"
@keyup.native="checkPrice(subItem,'LunchCostPrice'),getchange()"></el-input>
</td>
<td v-if="childIndex==0" :rowspan="CostNumberList.length">
<el-input type="text"
:disabled="(subItem.ContainDinnerType==2||subItem.ContainDinnerType==3)?true:false"
v-model='subItem.DinnerCostPrice' class="w70"
v-model='subItem.DinnerCostPrice' class="w60"
@keyup.native="checkPrice(subItem,'DinnerCostPrice'),getchange()"></el-input>
</td>
</tr>
......@@ -391,7 +363,7 @@
<template v-else>
<tr v-for="subItem in dayCostPrice" :key="subItem.subCode">
<td align="center">
<div style="width:100px;">{{subItem.DayNum}}</div>
{{subItem.DayNum}}
</td>
<td>
<el-input type="textarea" resize="none" class="w250" v-model="subItem.Title"></el-input>
......@@ -407,6 +379,8 @@
</el-form-item>
</td>
<td>
<el-input type='text' v-model="subItem.HotelName" class="w100" placeholder="酒店备注"></el-input>
<br />
<el-select v-model='subItem.ContainDinnerType' class="w100" placeholder="含餐类型"
@change="DinnerTypeChange(subItem)">
<el-option label="含餐类型" :value='0'></el-option>
......@@ -415,16 +389,16 @@
<el-option label="含早晚餐" :value='3'></el-option>
</el-select>
<br />
<el-input type='text' v-model="subItem.HotelCostPrice" class="w70"
@keyup.native="checkPrice(subItem,'HotelCostPrice')"></el-input>
<el-input type='text' v-model="subItem.HotelCostPrice" class="w100"
@keyup.native="checkPrice(subItem,'HotelCostPrice')" placeholder="酒店价格"></el-input>
</td>
<td>
<el-input type='text' v-model="subItem.BusCostPrice" class="w70"
<el-input type='text' v-model="subItem.BusCostPrice" class="w60"
@keyup.native="checkPrice(subItem,'BusCostPrice'),getchange()">
</el-input>
</td>
<td>
<el-input type='text' v-model="subItem.PassFee" class="w70"
<el-input type='text' v-model="subItem.PassFee" class="w60"
@keyup.native="checkPrice(subItem,'PassFee'),getchange()">
</el-input>
</td>
......@@ -439,24 +413,24 @@
</template>
</td>
<td>
<el-input type='text' v-model="subItem.ScenicCostPrice" class="w70"
<el-input type='text' v-model="subItem.ScenicCostPrice" class="w60"
@keyup.native="checkPrice(subItem,'ScenicCostPrice'),getchange()"></el-input>
</td>
<td>
<el-input type="text"
:disabled="(subItem.ContainDinnerType==1||subItem.ContainDinnerType==3)?true:false"
v-model='subItem.BreakfastCostPrice' class="w70"
v-model='subItem.BreakfastCostPrice' class="w60"
@keyup.native="checkPrice(subItem,'BreakfastCostPrice'),getchange()">
</el-input>
</td>
<td>
<el-input type="text" v-model='subItem.LunchCostPrice' class="w70"
<el-input type="text" v-model='subItem.LunchCostPrice' class="w60"
@keyup.native="checkPrice(subItem,'LunchCostPrice'),getchange()"></el-input>
</td>
<td>
<el-input type="text"
:disabled="(subItem.ContainDinnerType==2||subItem.ContainDinnerType==3)?true:false"
v-model='subItem.DinnerCostPrice' class="w70"
v-model='subItem.DinnerCostPrice' class="w60"
@keyup.native="checkPrice(subItem,'DinnerCostPrice'),getchange()"></el-input>
</td>
</tr>
......@@ -537,7 +511,7 @@
<td colspan="13"></td>
</tr>
<tr>
<td class="CP_ComTitle2" colspan="6">内陆段交通部分</td>
<td class="CP_ComTitle2" colspan="6">交通部分</td>
<td class="CP_ComTitle2" colspan="6">杂支部分</td>
</tr>
<tr>
......@@ -653,7 +627,24 @@
</td>
</tr>
<tr>
<td colspan="6"></td>
<td class="CP_ComTitle2 CostcomCenter">4</td>
<td class="CP_ComTitle2">国际段机票(每人)</td>
<td colspan="2">
<el-form-item>
<el-select v-model='OtherPrice.InternationalAirTicketCurrency' class="w70">
<el-option :label="$t('pub.unlimitedSel')" :value='defaultSelect'></el-option>
<el-option v-for="items in CostCurrencyList" :label='items.CurrencyName' :value='items.CurrencyId'
:key='items.CurrencyId'>
</el-option>
</el-select>
</el-form-item>
</td>
<td colspan="2">
<el-form-item>
<el-input type='text' class="w70" v-model="OtherPrice.InternationalAirTicket"
@keyup.native="checkPrice(OtherPrice,'InternationalAirTicket'),getchange()"></el-input>
</el-form-item>
</td>
<td class="CP_ComTitle2 CostcomCenter">4</td>
<td colspan="2" class="CP_ComTitle2">司机小费</td>
<td>
......@@ -1058,6 +1049,12 @@
trafficTotal += Number(this.OtherPrice.InlandTrainTicketMoney) * this.getCurrencyMoney(this.OtherPrice
.InlandTrainTicketCurrency);
}
if (this.OtherPrice.InternationalAirTicketCurrency == 1) {
trafficTotal += Number(this.OtherPrice.InternationalAirTicket);
} else {
trafficTotal += Number(this.OtherPrice.InternationalAirTicket) * this.getCurrencyMoney(this.OtherPrice
.InternationalAirTicketCurrency);
}
}
//外币
else {
......@@ -1070,6 +1067,9 @@
if (this.OtherPrice.InlandTrainTicketCurrency != 1) {
trafficTotal += Number(this.OtherPrice.InlandTrainTicketMoney);
}
if (this.OtherPrice.InternationalAirTicketCurrency != 1) {
trafficTotal += Number(this.OtherPrice.InternationalAirTicket);
}
}
return trafficTotal.toFixed(0);
},
......@@ -1201,17 +1201,16 @@
//获取主成本价
getCostTotalMoney() {
let totalMoney =
this.getConvertMoney(this.OtherPrice.InlandAirTicketMoney) *
this.getCurrencyMoney(this.OtherPrice.InlandAirTicketCurrency) +
this.getConvertMoney(this.OtherPrice.InlandShipTicketMoney) *
this.getCurrencyMoney(
this.OtherPrice.InlandShipTicketCurrency
) +
this.getConvertMoney(this.OtherPrice.InlandTrainTicketMoney) *
this.getCurrencyMoney(this.OtherPrice.InlandTrainTicketCurrency) +
this.getConvertMoney(this.OtherPrice.DriverGuideMoney) * this.getCurrencyMoney(
this.OtherPrice.DriverGuideMoneyCurrencyId
) +
this.getConvertMoney(this.OtherPrice.InlandAirTicketMoney) * this.getCurrencyMoney(this.OtherPrice.InlandAirTicketCurrency)
+
this.getConvertMoney(this.OtherPrice.InlandShipTicketMoney) *this.getCurrencyMoney( this.OtherPrice.InlandShipTicketCurrency)
+
this.getConvertMoney(this.OtherPrice.InlandTrainTicketMoney) *this.getCurrencyMoney(this.OtherPrice.InlandTrainTicketCurrency)
+
this.getConvertMoney(this.OtherPrice.InternationalAirTicket) * this.getCurrencyMoney(this.OtherPrice.InternationalAirTicketCurrency)
+
this.getConvertMoney(this.OtherPrice.DriverGuideMoney) * this.getCurrencyMoney(this.OtherPrice.DriverGuideMoneyCurrencyId)
+
this.getConvertMoney(this.OtherPrice.GuideMoney) * this.getCurrencyMoney(
this.OtherPrice.GuideMoneyCurrencyId
) +
......@@ -1273,7 +1272,8 @@
LunchCostPrice: 0, //午餐报价
DinnerCostPrice: 0, //晚餐报价
ContainDinnerType: 0, //含餐类型(1-含早餐,2-含晚餐,3-含早晚)
PassFee:0,//过路费
PassFee: 0, //过路费
HotelName: "", //酒店名称
};
this.dayCostPrice.push(dayItem);
}
......@@ -1438,14 +1438,16 @@
that.getConvertMoney(x.TicketMoney) +
that.getConvertMoney(x.SingleRoomMoney) +
that.getConvertMoney(x.InlandTrafficMoney) +
that.getConvertMoney(x.OtherMoney)+
that.getConvertMoney(x.OtherMoney) +
that.getConvertMoney(x.LeaderGuideDriveZhuSu)
).toFixed(0);
console.log("SubtotalMoney",x.SubtotalMoney);
//房餐车景点价格
var trip = Number(that.getLocalTotalMoney(x.PeopleNumber));
console.log("trip",trip);
//其他价格
var otherPrice = Number(that.getCostTotalMoney());
console.log("otherPrice",otherPrice);
x.TotalMoney = (trip + otherPrice +
Number(that.getConvertMoney(x.SubtotalMoney))
).toFixed(0);
......@@ -1461,14 +1463,13 @@
//获取地接项目报价
getLocalTotalMoney(PeopleNumber) {
let totalMoney = 0.0;
totalMoney = Number(this.getDayXiaoJi(1, 2))
+ Number(this.getDayXiaoJi(3, 2))
+ Number(this.getDayXiaoJi(4, 2))
+ Number(this.getDayXiaoJi(5, 2))
+ Number(this.getDayXiaoJi(6, 2))
+ Number(this.getDayXiaoJi(2, 2))/ Number(PeopleNumber)
+ Number(this.getDayXiaoJi(7, 2))/ Number(PeopleNumber)
;
totalMoney = Number(this.getDayXiaoJi(1, 2)) +
Number(this.getDayXiaoJi(3, 2)) +
Number(this.getDayXiaoJi(4, 2)) +
Number(this.getDayXiaoJi(5, 2)) +
Number(this.getDayXiaoJi(6, 2)) +
Number(this.getDayXiaoJi(2, 2)) / Number(PeopleNumber) +
Number(this.getDayXiaoJi(7, 2)) / Number(PeopleNumber);
return totalMoney.toFixed(0);
},
//计算领队分摊
......@@ -1480,14 +1481,14 @@
var InlandTrafficShareMoney = this.OtherPrice.InlandTrafficShareMoney;
var OtherShareMoney = this.OtherPrice.OtherShareMoney;
//司机导游住宿
var LeaderGuideDriveZhuSu=this.OtherPrice.LeaderGuideDriveZhuSu;
var LeaderGuideDriveZhuSu = this.OtherPrice.LeaderGuideDriveZhuSu;
this.CostNumberList.forEach(x => {
x.AirTicketMoney = (AirTicketShareMoney / x.PeopleNumber).toFixed(0);
x.TicketMoney = (TicketShareMoney / x.PeopleNumber).toFixed(0);
x.SingleRoomMoney = (SingleRoomShareMoney / x.PeopleNumber).toFixed(0);
x.InlandTrafficMoney = (InlandTrafficShareMoney / x.PeopleNumber).toFixed(0);
x.OtherMoney = (OtherShareMoney / x.PeopleNumber).toFixed(0);
x.LeaderGuideDriveZhuSu=(LeaderGuideDriveZhuSu / x.PeopleNumber).toFixed(0);
x.LeaderGuideDriveZhuSu = (LeaderGuideDriveZhuSu / x.PeopleNumber).toFixed(0);
});
},
getchange() {
......@@ -1500,7 +1501,6 @@
this.getAllCurrency();
},
created() {
},
watch: {
postConfig: {
......
......@@ -87,8 +87,11 @@
SafeMoneyCurrencyId: 0, //保险费币种
LeaderTripMoneyCurrencyId: 0, //领队小费币种
DriverGuideMoneyCurrencyId: 0, //司机小费币种
LeaderGuideDriveZhuSu:0,//领队导游住宿费
GuideMoneyCurrencyId:0,//导游小费币种
GuideMoney:0,//导游小费
InternationalAirTicket:0,//国际段机票
InternationalAirTicketCurrency:0,//国际段机票币种
},
CostCurrencyList: [], //选择的币种
CostNumberList: [], //人数
......@@ -122,7 +125,7 @@
BackSafeMoney: 0, //退保险费
ContractUrl: "", //合同地址
PriceRemark: "", //定价备注
LeaderGuideDriveZhuSu:0,//领队导游住宿费
},
LineList: [], //线路列表
loading: false
......@@ -232,6 +235,7 @@
0) {
this.dayCostPriceList = tempData.dayCostPriceList;
}
if (tempData.otherPrice) {
this.otherPrice = tempData.otherPrice;
}
......
......@@ -267,7 +267,7 @@
<td width="50%"><input id="IsShowTripPrice" type="checkbox" v-model="downLoadMsg.IsShowTripPrice" /><label
for="IsShowTripPrice">行程报价<br />(房、餐、车、门票)</label></td>
<td width="50%"><input id="IsShowTraffic" type="checkbox" v-model="downLoadMsg.IsShowTraffic" /><label
for="IsShowTraffic">内陆段交通部分</label></td>
for="IsShowTraffic">交通部分</label></td>
</tr>
<tr height="36">
<td><input id="IsShowZaZhi" type="checkbox" v-model="downLoadMsg.IsShowZaZhi" /><label
......
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