Commit 2c2e8931 authored by 黄奎's avatar 黄奎

报价单修改

parent f072a3dc
......@@ -129,11 +129,11 @@
<tr>
<td class="CP_comBack">汇率</td>
<td v-for='item in CostCurrencyList'>
<el-input class="w80" v-model='item.ExchangeRate' @keyup.native="checkRate(item,'ExchangeRate')">
<el-input class="w80" v-model='item.ExchangeRate' @keyup.native="checkRate(item,'ExchangeRate'),getchange()">
</el-input>
</td>
<td>
<el-input class="w100" v-model='queryMsg.RateInput' @keyup.native="checkRate(queryMsg,'RateInput')">
<el-input class="w100" v-model='queryMsg.RateInput' @keyup.native="checkRate(queryMsg,'RateInput'),getchange()">
</el-input>
</td>
</tr>
......@@ -145,13 +145,13 @@
<el-input class="w80" v-model='item.PeopleNumber' @keyup.native="checkInteger(item,'PeopleNumber')">
</el-input>
<span>
<i class="iconfont icon-quxiao" @click="DeletePNumber(index)"></i>
<i class="iconfont icon-quxiao" @click="DeletePNumber(index),getchange()"></i>
</span>
</td>
<td width="150">
<el-form-item>
<el-input class="w80" v-model='queryMsg.PeopleNumber'
@keyup.native="checkInteger(queryMsg,'PeopleNumber')"></el-input>
@keyup.native="checkInteger(queryMsg,'PeopleNumber'),getchange()"></el-input>
</el-form-item>
<div class="AS_addPeoNumer">
<i class="iconfont icon-img_haha" @click="addPeoNunber"></i>
......@@ -163,11 +163,10 @@
<td v-if="checkExists(item.CurrencyId)" v-for="childItem in getCurrencyNumberList(item.CurrencyId)">
<el-form-item>
<el-input class="w80" v-model='childItem.Money'
@keyup.native="checkPrice(childItem,'Money',true),ReCalc()"></el-input>
@keyup.native="checkPrice(childItem,'Money',true),getchange()"></el-input>
</el-form-item>
</td>
<td>
</td>
</tr>
</table>
......@@ -207,25 +206,25 @@
@keyup.native="checkPrice(subItem,'HotelCostPrice')"></el-input>
</td>
<td>
<el-input type='text' v-model="subItem.BusCostPrice" @keyup.native="checkPrice(subItem,'BusCostPrice')">
<el-input type='text' v-model="subItem.BusCostPrice" @keyup.native="checkPrice(subItem,'BusCostPrice'),getchange()">
</el-input>
</td>
<td>
<el-input type='text' v-model="subItem.ScenicCostPrice"
@keyup.native="checkPrice(subItem,'ScenicCostPrice')"></el-input>
@keyup.native="checkPrice(subItem,'ScenicCostPrice'),getchange()"></el-input>
</td>
<td>
<el-input type="text" v-model='subItem.BreakfastCostPrice'
@keyup.native="checkPrice(subItem,'BreakfastCostPrice')">
@keyup.native="checkPrice(subItem,'BreakfastCostPrice'),getchange()">
</el-input>
</td>
<td>
<el-input type="text" v-model='subItem.LunchCostPrice'
@keyup.native="checkPrice(subItem,'LunchCostPrice')"></el-input>
@keyup.native="checkPrice(subItem,'LunchCostPrice'),getchange()"></el-input>
</td>
<td>
<el-input type="text" v-model='subItem.DinnerCostPrice'
@keyup.native="checkPrice(subItem,'DinnerCostPrice')"></el-input>
@keyup.native="checkPrice(subItem,'DinnerCostPrice'),getchange()"></el-input>
</td>
</tr>
</table>
......@@ -247,7 +246,7 @@
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.InlandAirTicketMoney"
@keyup.native="checkPrice(OtherPrice,'InlandAirTicketMoney')"></el-input>
@keyup.native="checkPrice(OtherPrice,'InlandAirTicketMoney'),getchange()"></el-input>
</el-form-item>
</td>
</tr>
......@@ -267,7 +266,7 @@
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.InlandShipTicketMoney"
@keyup.native="checkPrice(OtherPrice,'InlandShipTicketMoney')"></el-input>
@keyup.native="checkPrice(OtherPrice,'InlandShipTicketMoney'),getchange()"></el-input>
</el-form-item>
</td>
</tr>
......@@ -287,7 +286,7 @@
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.InlandTrainTicketMoney"
@keyup.native="checkPrice(OtherPrice,'InlandTrainTicketMoney')"></el-input>
@keyup.native="checkPrice(OtherPrice,'InlandTrainTicketMoney'),getchange()"></el-input>
</el-form-item>
</td>
</tr>
......@@ -300,7 +299,7 @@
<td colspan='3'>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.VisaMoney"
@keyup.native="checkPrice(OtherPrice,'VisaMoney')"></el-input>
@keyup.native="checkPrice(OtherPrice,'VisaMoney'),getchange()"></el-input>
</el-form-item>
</td>
</tr>
......@@ -310,7 +309,7 @@
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.SafeMoney"
@keyup.native="checkPrice(OtherPrice,'SafeMoney')"></el-input>
@keyup.native="checkPrice(OtherPrice,'SafeMoney'),getchange()"></el-input>
</el-form-item>
</td>
</tr>
......@@ -320,7 +319,7 @@
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.LeaderTripMoney"
@keyup.native="checkPrice(OtherPrice,'LeaderTripMoney')"></el-input>
@keyup.native="checkPrice(OtherPrice,'LeaderTripMoney'),getchange()"></el-input>
</el-form-item>
</td>
</tr>
......@@ -330,7 +329,7 @@
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.DriverGuideMoney"
@keyup.native="checkPrice(OtherPrice,'DriverGuideMoney')"></el-input>
@keyup.native="checkPrice(OtherPrice,'DriverGuideMoney'),getchange()"></el-input>
</el-form-item>
</td>
</tr>
......@@ -343,7 +342,7 @@
<td colspan='3'>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.SalesCommissionMoney"
@keyup.native="checkPrice(OtherPrice,'SalesCommissionMoney')"></el-input>
@keyup.native="checkPrice(OtherPrice,'SalesCommissionMoney'),getchange()"></el-input>
</el-form-item>
</td>
</tr>
......@@ -353,7 +352,7 @@
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.OfficeCommissionMoney"
@keyup.native="checkPrice(OtherPrice,'OfficeCommissionMoney')"></el-input>
@keyup.native="checkPrice(OtherPrice,'OfficeCommissionMoney'),getchange()"></el-input>
</el-form-item>
</td>
</tr>
......@@ -365,7 +364,7 @@
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.AirTicketMoeny"
@keyup.native="checkPrice(OtherPrice,'AirTicketMoeny')"></el-input>
@keyup.native="checkPrice(OtherPrice,'AirTicketMoeny'),getchange()"></el-input>
</el-form-item>
</td>
</tr>
......@@ -378,7 +377,7 @@
<td colspan='3'>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.TripMoney"
@keyup.native="checkPrice(OtherPrice,'TripMoney',true)"></el-input>
@keyup.native="checkPrice(OtherPrice,'TripMoney',true),getchange()"></el-input>
</el-form-item>
</td>
</tr>
......@@ -388,7 +387,7 @@
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.GuidePeopleMoney"
@keyup.native="checkPrice(OtherPrice,'GuidePeopleMoney')"></el-input>
@keyup.native="checkPrice(OtherPrice,'GuidePeopleMoney'),getchange()"></el-input>
</el-form-item>
</td>
</tr>
......@@ -419,7 +418,7 @@
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.AirTicketShareMoney"
@keyup.native="checkPrice(OtherPrice,'AirTicketShareMoney')"></el-input>
@keyup.native="checkPrice(OtherPrice,'AirTicketShareMoney'),getchange()"></el-input>
</el-form-item>
</td>
<td v-for="item in CostNumberList" :key="item.subCode">
......@@ -431,7 +430,7 @@
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.TicketShareMoney"
@keyup.native="checkPrice(OtherPrice,'TicketShareMoney')"></el-input>
@keyup.native="checkPrice(OtherPrice,'TicketShareMoney'),getchange()"></el-input>
</el-form-item>
</td>
<td v-for="item in CostNumberList" :key="item.subCode">
......@@ -443,7 +442,7 @@
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.SingleRoomShareMoney"
@keyup.native="checkPrice(OtherPrice,'SingleRoomShareMoney')"></el-input>
@keyup.native="checkPrice(OtherPrice,'SingleRoomShareMoney'),getchange()"></el-input>
</el-form-item>
</td>
<td v-for="item in CostNumberList" :key="item.subCode">
......@@ -455,25 +454,31 @@
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.InlandTrafficShareMoney"
@keyup.native="checkPrice(OtherPrice,'InlandTrafficShareMoney')"></el-input>
@keyup.native="checkPrice(OtherPrice,'InlandTrafficShareMoney'),getchange()"></el-input>
</el-form-item>
</td>
<td v-for="item in CostNumberList" :key="item.subCode">
{{item.InlandTrafficMoney}}
</td>
</tr>
<tr>
<td>杂费</td>
<td>
<el-form-item>
<el-input type='text' class="w120" v-model="OtherPrice.OtherShareMoney"
@keyup.native="checkPrice(OtherPrice,'OtherShareMoney')"></el-input>
@keyup.native="checkPrice(OtherPrice,'OtherShareMoney'),getchange()"></el-input>
</el-form-item>
</td>
<td v-for="item in CostNumberList" :key="item.subCode">
{{item.OtherMoney}}
</td>
</tr>
<tr>
<td>小计</td>
<td></td>
<td v-for="item in CostNumberList" :key="item.subCode">
{{item.SubtotalMoney}}
</td>
</tr>
</table>
<div class="Cost_Line"></div>
......@@ -483,14 +488,17 @@
<td width='250' rowspan="2" class="CP_comBack">
人数统计
</td>
<td v-for="item in CostNumberList" :key="item.subCode" class="CP_comBack">
{{item.PeopleNumber}}+1
</td>
</tr>
<tr>
<td v-for="item in CostNumberList" :key="item.subCode">
{{item.TotalMoney}}
</td>
</tr>
</table>
</el-form>
</div>
</div>
</template>
......@@ -524,6 +532,16 @@
// );
// this.$emit("headCallBack", this.OfferCostPriceObj);
},
//获取汇率
getCurrencyMoney(currencyId) {
let currency = 0.0;
this.CostCurrencyList.forEach(x => {
if (x.CurrencyId == currencyId) {
currency = x.ExchangeRate;
}
});
return currency;
},
//判断币种是否相等
checkExists(CurrencyId) {
var flag = false;
......@@ -534,6 +552,47 @@
});
return flag;
},
//获取不同人数组合价
getCurrencyNumberTotalMoney(peopleNumber) {
let totalMoney = 0.0;
this.CurrencyNumberListExt.forEach(x => {
x.currencyNumberList.forEach(y => {
if (peopleNumber === y.PeopleNumber) {
totalMoney +=
this.getConvertMoney(y.Money) *
this.getCurrencyMoney(y.CurrencyId);
}
});
});
return totalMoney;
},
//获取主成本价
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.getConvertMoney(this.OtherPrice.LeaderTripMoney) +
this.getConvertMoney(this.OtherPrice.OfficeCommissionMoney) +
this.getConvertMoney(this.OtherPrice.SafeMoney) +
this.getConvertMoney(this.OtherPrice.SalesCommissionMoney) +
this.getConvertMoney(this.OtherPrice.TripMoney) +
this.getConvertMoney(this.OtherPrice.GuidePeopleMoney) +
this.getConvertMoney(this.OtherPrice.AirTicketMoeny) +
this.getConvertMoney(this.OtherPrice.KBMoney) +
this.getConvertMoney(this.OtherPrice.VisaMoney);
return totalMoney;
},
//获取系列列表
getLineTeamList(lineId) {
this.postConfig.LineteamId = 0;
......@@ -711,11 +770,85 @@
err => {}
);
},
//计算总价
getSubtotalMoney() {
let that = this;
this.CostNumberList.forEach(x => {
x.SubtotalMoney = (
this.getConvertMoney(x.AirTicketMoney) +
this.getConvertMoney(x.TicketMoney) +
this.getConvertMoney(x.SingleRoomMoney) +
this.getConvertMoney(x.InlandTrafficMoney) +
this.getConvertMoney(x.OtherMoney)
).toFixed(2);
x.TotalMoney = (
that.getLocalTotalMoney() +
that.getCostTotalMoney() +
this.getConvertMoney(x.SubtotalMoney) +
this.getCurrencyNumberTotalMoney(x.PeopleNumber)
).toFixed(2);
});
},
//价格转换器
getConvertMoney(value) {
if (value === "" || value === undefined || value === null) {
value = 0.0;
}
return parseFloat(value);
},
//获取地接项目报价
getLocalTotalMoney() {
let totalMoney = 0.0;
this.dayCostPrice.forEach(x => {
let subTotalMoney = 0.0;
subTotalMoney =
(this.getConvertMoney(x.HotelCostPrice) +
this.getConvertMoney(x.BusCostPrice) +
this.getConvertMoney(x.ScenicCostPrice) +
this.getConvertMoney(x.BreakfastCostPrice) +
this.getConvertMoney(x.LunchCostPrice) +
this.getConvertMoney(x.DinnerCostPrice)) *
this.getCurrencyMoney(x.CurrencyId);
totalMoney += subTotalMoney;
});
return totalMoney;
},
//计算领队分摊
getLeaderShare() {
let that = this;
var AirTicketShareMoney = this.OtherPrice.AirTicketShareMoney;
var TicketShareMoney = this.OtherPrice.TicketShareMoney;
var SingleRoomShareMoney = this.OtherPrice.SingleRoomShareMoney;
var InlandTrafficShareMoney = this.OtherPrice.InlandTrafficShareMoney;
var OtherShareMoney = this.OtherPrice.OtherShareMoney;
this.CostNumberList.forEach(x => {
x.AirTicketMoney = (AirTicketShareMoney / x.PeopleNumber).toFixed(2);
x.TicketMoney = (TicketShareMoney / x.PeopleNumber).toFixed(2);
x.SingleRoomMoney = (SingleRoomShareMoney / x.PeopleNumber).toFixed(2);
x.InlandTrafficMoney = (InlandTrafficShareMoney / x.PeopleNumber).toFixed(2);
x.OtherMoney = (OtherShareMoney / x.PeopleNumber).toFixed(2);
});
},
getchange()
{
this.getLeaderShare();
this.getSubtotalMoney();
}
},
mounted() {
this.getAllCurrency();
},
created() {},
watch: {}
watch: {
CostNumberList: {
handler: function (val, oldVal) {
console.log("111");
this.getchange()
},
deep: true
},
},
};
</script>
\ No newline at end of file
</script>
......@@ -122,15 +122,24 @@
},
//保存数据
SaveData() {
var currencyNumList = [];
if (this.CurrencyNumberListExt != null && this.CurrencyNumberListExt.length > 0) {
this.CurrencyNumberListExt.forEach((item, index) => {
item.currencyNumberList.forEach(subItem => {
currencyNumList.push(subItem);
});
});
}
var nObj = {
config: this.postData,
dayCostPriceList: this.dayCostPriceList,
otherPrice: this.otherPrice,
teamPrice: this.teamPrice,
CostCurrencyList: this.CostCurrencyList,
CostNumberList: this.CostNumberList
CostNumberList: this.CostNumberList,
CurrencyNumberListExt: currencyNumList
};
console.log("请求参数", nObj);
this.apipost(
"travel_post_SetConfigOffer_V2", nObj,
res => {
......@@ -161,7 +170,6 @@
"travel_get_GetMyTravelInfo_V2",
msg,
res => {
console.log("res.data.data", res.data);
if (res.data.resultCode == 1) {
var tempData = res.data.data;
if (tempData.ID && tempData.ID > 0) {
......@@ -205,13 +213,16 @@
if (tempData.teamPrice) {
this.teamPrice = tempData.teamPrice;
}
if(tempData.CostNumberList && tempData.CostNumberList!=null && tempData.CostNumberList.length>0)
{
this.CostNumberList=tempData.CostNumberList;
if (tempData.CostNumberList && tempData.CostNumberList != null && tempData.CostNumberList.length > 0) {
this.CostNumberList = tempData.CostNumberList;
}
if(tempData.CostCurrencyList && tempData.CostCurrencyList!=null && tempData.CostCurrencyList.length>0)
{
this.CostCurrencyList=tempData.CostCurrencyList;
if (tempData.CostCurrencyList && tempData.CostCurrencyList != null && tempData.CostCurrencyList.length >
0) {
this.CostCurrencyList = tempData.CostCurrencyList;
}
if (tempData.CurrencyNumberListExt && tempData.CurrencyNumberListExt != null && tempData
.CurrencyNumberListExt.length > 0) {
this.CurrencyNumberListExt = tempData.CurrencyNumberListExt;
}
} else {
this.Error(res.data.message);
......@@ -219,14 +230,14 @@
},
err => {}
);
}
},
},
created() {
this.getPostData();
},
components: {
DirectQuotation: DirectQuotation
}
}
};
</script>
</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