Commit 9d848171 authored by 华国豪's avatar 华国豪 🙄
parents 282e32cd ab44a3d6
......@@ -114,7 +114,7 @@ var commonUtils = {
return result;
},
changeMoneyToChinese(Num) { // 数字转中文大写
if (!Num) {
if (!Num) {
return '零'
}
var isNegative = false; // 是否负数
......@@ -261,18 +261,18 @@ var commonUtils = {
tmpnewchar = tmpnewchar + "角";
if (i == 1)
tmpnewchar = tmpnewchar + "分";
newchar = newchar + tmpnewchar;
newchar = newchar + tmpnewchar;
}
}
// 替换所有无用汉字
while (newchar.search("零零") != -1)
newchar = newchar.replace("零零", "零");
newchar = newchar.replace("零亿", "亿");
newchar = newchar.replace("亿万", "亿");
newchar = newchar.replace("零万", "万");
newchar = newchar.replace("零元", "元");
newchar = newchar.replace("零角", "");
newchar = newchar.replace("零分", "");
newchar = newchar.replace("零亿", "亿");
newchar = newchar.replace("亿万", "亿");
newchar = newchar.replace("零万", "万");
newchar = newchar.replace("零元", "元");
newchar = newchar.replace("零角", "");
newchar = newchar.replace("零分", "");
if (newchar.charAt(newchar.length - 1) == "元" || newchar.charAt(newchar.length - 1) == "角") {
newchar = newchar + "整";
......@@ -400,5 +400,23 @@ var commonUtils = {
}
return dateStr;
},
/**
* 增加减少天数
* date:可以不传
* day:正数
*/
AddDay(date, day) {
var myDate = "";
if (date) {
myDate = new Date(date);
} else {
myDate = new Date();
}
myDate = myDate.setDate(myDate.getDate() + day);
myDate = new Date(myDate);
//返回年月日
return myDate.getFullYear() + '-' + parseInt(myDate.getMonth() + 1) + "-" + myDate.getDate()
}
}
export default commonUtils
......@@ -716,23 +716,14 @@
calculationPrice(obj) {
let totalPrice = 0;
obj.OrderDetailsList.forEach((item, index) => {
var tempPrice=0;
//税别
if (obj.TaxType == 2) {
if (index == 4) {
if (obj.DriverGuideIsRebate == 1) {
totalPrice += item.UnitPrice * (item.BookNum - item.HotelDiscount) * (1 + 0.08 - item.RebateRatio /
100);
} else {
totalPrice += item.UnitPrice * (item.BookNum - item.HotelDiscount) * (1 - item.RebateRatio / 100);
}
} else {
totalPrice += item.UnitPrice * (item.BookNum - item.HotelDiscount) * (1 + 0.08 - item.RebateRatio /
100);
}
if (obj.TaxType == 2 && item.RebateRatio>0) {
tempPrice= item.UnitPrice * (item.BookNum - item.HotelDiscount) * (1 + 0.08 - item.RebateRatio / 100);
} else {
totalPrice += item.UnitPrice * (item.BookNum - item.HotelDiscount) * (1 - item.RebateRatio / 100);
tempPrice= item.UnitPrice * (item.BookNum - item.HotelDiscount) * (1 - item.RebateRatio / 100);
}
totalPrice+=tempPrice;
})
totalPrice += obj.ParkFee + obj.CityTax + obj.InTangTax;
obj.TotalPrice = totalPrice.toFixed(2);
......
......@@ -410,7 +410,7 @@
{{subItem.UseAccount}}
</td>
<td>
{{peopleStrToWord(childItem.PeopleType)}}:{{childItem.PeopleNum}}
{{peopleStrToWord(childItem.PeopleType)}}:{{childItem.UsePeopleNum}}
</td>
<td>
{{childItem.Discount}}
......@@ -731,18 +731,8 @@
obj.OrderDetailsList.forEach((item, index) => {
if (obj.PayStyle === 1) {
//税别
if (obj.TaxType == 2) {
if (index == 4) {
if (obj.DriverGuideIsRebate == 1) {
totalPrice += item.UnitPrice * (item.BookNum - item.HotelDiscount) * (1 + 0.08 - item
.RebateRatio / 100);
} else {
totalPrice += item.UnitPrice * (item.BookNum - item.HotelDiscount) * (1 - item.RebateRatio / 100);
}
} else {
totalPrice += item.UnitPrice * (item.BookNum - item.HotelDiscount) * (1 + 0.08 - item.RebateRatio /
100);
}
if (obj.TaxType == 2 && item.RebateRatio>0) {
totalPrice += item.UnitPrice * (item.BookNum - item.HotelDiscount) * (1 + 0.08 - item.RebateRatio / 100);
//税入
} else {
totalPrice += item.UnitPrice * (item.BookNum - item.HotelDiscount) * (1 - item.RebateRatio / 100);
......
<!--第三方酒店信息-->
<style>
.comCheckHotelV2 .comCheckHotelV2 {
width: 100%;
height: 150px;
overflow: auto
}
.comCheckHotelV2 .comCk_list {
padding: 0 20px;
margin: 0 15px 5px 0;
}
.comCheckHotelV2 .cm_Inventory {
margin-left: 20px;
color: red;
display: inline-block;
}
.comCheckHotelV2 .cm_hotelTitle {
width: 100%;
text-align: center;
margin-bottom: 20px;
border-bottom: 1px solid #d1d1d1;
padding: 0 20px 10px 20px;
}
.comCheckHotelV2 .com_SaveBtn {
margin: 10px 20px 0 45%;
}
.comCheckHotelV2 .ckedList {
background-color: #E95252;
color: #fff;
}
.comCheckHotelV2 .Ck_hotelInfo {
width: 100%;
height: 40px;
background-color: #F6F8FB;
text-align: center;
line-height: 40px;
margin-bottom: 10px;
}
.comCheckHotelV2 .ck_goUrl {
color: blue;
cursor: pointer;
margin-left: 10px;
}
.comCheckHotelV2 .tdLeft {
text-align: left;
}
.comCheckHotelV2 .tdRight {
text-align: right;
}
</style>
<template>
<div class="comCheckHotelV2">
<div class="Ck_hotelInfo">
酒店库存信息
</div>
<div class="cm_hotelTitle clearfix">
<table>
<tr>
<td class="tdRight">
类型:
</td>
<td class="tdLeft">
<el-select filterable v-model="qHotelType" class="w120" :placeholder="$t('pub.pleaseSel')">
<el-option label="地接酒店" :value='1'></el-option>
<el-option label="第三方酒店" :value='2'></el-option>
</el-select>
</td>
<td class="tdRight">
地区:
</td>
<td colspan="2" class="tdLeft">
<el-select filterable v-model="qMsg.ProvinceId" class="w120" :placeholder="$t('pub.pleaseSel')">
<el-option label="不限" :value='0'></el-option>
<el-option v-for="item in ProvinceList" :label='item.Name' :value='item.ID' :key='item.ID'>
</el-option>
</el-select>
</td>
</tr>
<tr>
<td class="tdRight">
入住时间:
</td>
<td class="tdLeft">
<el-date-picker v-model='qMsg.UseDate' class="w120" value-format="yyyy-MM-dd" type="date"
placeholder="入住时间">
</el-date-picker>
</td>
<td class="tdRight">
酒店名称/电话:
</td>
<td class="tdLeft">
<el-input type="text" v-model="qMsg.Name" class="w120" @keyup.native.enter="getCheckHotel()"
placeholder="酒店名称或电话"></el-input>
</td>
<td>
<input type="button" class="normalBtn" value="查询" @click="getCheckHotel()" />
</td>
</tr>
</table>
</div>
<div>
<el-tabs type="border-card" v-loading="loading" v-if="IsShow">
<el-tab-pane :label="item.ProvinceName" v-for="(item,index) in dataList" :key="item.subCode">
<div class="clearfix comCheckHotelV2">
<div class="comCk_list" v-for="(subItem,subIndex) in item.HotelList">
<input :id="'H'+index+'_'+subIndex" type="checkbox" v-model="subItem.isChecked"
@click="getCheck(item.HotelList,subIndex)" />
<label :for="'H'+index+'_'+subIndex" style="cursor: pointer">{{subItem.Name}}</label>
<span class="cm_Inventory">{{subItem.Inventory}}</span>
<span class="cm_Inventory">剩余:{{subItem.RemainingInventory}}</span>
<span class="ck_goUrl" @click="goUrl(subItem.ID)">新增库存</span>
</div>
</div>
</el-tab-pane>
</el-tabs>
</div>
<input type="button" class="normalBtn com_SaveBtn" @click="sendCkedHotel()" value="保存" />
</div>
</template>
<script>
export default {
props: [""],
data() {
return {
loading: false,
dataList: [],
ProvinceList: [],
qHotelType: 1, //酒店查询类型
qMsg: {
ProvinceId: 0, //选择个省份编号
Name: "", //酒店名称
UseDate: "", //入住时间
},
IsShow: false,
ckedHotel: {}
};
},
methods: {
getCheckHotel() {
this.loading = true;
this.IsShow = false;
this.dataList = [];
this.HotelList = [];
//地接酒店
if (this.qHotelType == 1) {
this.apipost('hotel_post_GetHasStockHotelList_V2', {
//1-只查询有库存的酒店
IsMoreThanZero: 0,
Country: "651",
IsAllHotel: 1,
Province: this.qMsg.ProvinceId,
Name: this.qMsg.Name,
sDate: this.qMsg.UseDate
}, res => {
this.loading = false;
this.IsShow = true;
if (res.data.resultCode == 1) {
this.dataList = res.data.data;
this.dataList.forEach(x => {
x.HotelList.forEach(y => {
y.isChecked = false;
})
})
} else {
this.Error(res.data.message)
}
}, err => {})
}
//第三方酒店
else {
var nQMsg = {
displayFrom: "1", //当前页
numberOfResults: "10", //每页条数
arrivalDate: this.qMsg.UseDate, //入住时间
departureDate: "", //离店时间
//房间信息列表
searchroomGroup: {
numberOfAdults: 2, //大人数,
numberOfChildren: 0, //儿童数
childAges: 0, //儿童年龄
},
searchHotelIdList:[],//酒店id,[1,2,3]
freeword:this.qMsg.Name,//关键字
//类型 1,地区,2-酒店名称
freewordType:0,
reviewRatingUpperLimits:0,//指定评论分数的上限
reviewRatingLowerLimits:0,//指定评论分数的下限
searchHotelCategory:[],//酒店分类
searchHotelFeatures:[],//酒店的特征
searchRoomType:[],//类型的房间
searchMealType:[],//饮食条件搜索
searchMinRate:0,//検索最小金額,
searchMinRate:100000,//検索最大金額
sort:0,//排序
};
if(nQMsg.arrivalDate=="")
{
this.Info("请选择入住时间!");
return;
}
else
{
nQMsg.departureDate=this.$commonUtils.AddDay(nQMsg.arrivalDate,1);
}
if(nQMsg.freeword!="")
{
nQMsg.freewordType=1;
}
else
{
nQMsg.freewordType=2;
nQMsg.freeword="";
}
console.log("nQMsg",nQMsg);
//多了一个参数调用线上的就酒店数据
this.apipost('dmc_post_Get_GetJAPAN_HotelList', nQMsg, res => {
this.loading = false;
this.IsShow = true;
if (res.data.resultCode == 1) {
console.log("res.data",res.data);
} else {
this.Error(res.data.message)
}
}, err => {},true)
}
},
getCheck(hotelList, index) {
hotelList.forEach((x, subIndex) => {
if (index == subIndex) {
x.isChecked = !x.isChecked;
this.ckedHotel = x;
} else {
x.isChecked = false;
}
})
this.$forceUpdate();
},
//向父组件传递选中酒店
sendCkedHotel() {
var ckHotelObj = {};
if (this.ckedHotel) {
ckHotelObj.ID = this.ckedHotel.ID;
ckHotelObj.Address = this.ckedHotel.Address;
ckHotelObj.Inventory = this.ckedHotel.Inventory;
ckHotelObj.Name = this.ckedHotel.Name;
ckHotelObj.PayStyle = this.ckedHotel.PayStyle;
ckHotelObj.Tel = this.ckedHotel.Tel;
ckHotelObj.RebateRatio = this.ckedHotel.RebateRatio;
ckHotelObj.RebateCount = this.ckedHotel.RebateCount;
ckHotelObj.CostPrice = this.ckedHotel.CostPrice;
}
this.$emit("childHotel", ckHotelObj);
},
//获取日本下面的市->下拉框用
getProvinceList() {
let msg = {
Id: 651
};
this.apipost("dict_post_Destination_GetChildList", msg, res => {
if (res.data.resultCode == 1) {
this.ProvinceList = res.data.data;
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
goUrl(ID) {
this.$router.push({
path: 'HotelProductManage2',
query: {
id: ID,
Country: 651,
IsSelfBook: 1,
blank: 'y',
tab: '报价详情'
}
});
}
},
mounted() {
this.getProvinceList();
}
};
</script>
......@@ -109,10 +109,13 @@
<span v-if="IsDirect==1">
<hotelTrip v-bind:subItemObj="subItem" v-bind:DefaultList="hotelSameList" v-bind:subIndex="subIndex"
v-bind:DinnerList="DinnerList" v-bind:index="index" :isOpenGroup="isOpenGroup"
v-bind:subTotalIndex="item.dayArray.length"></hotelTrip>
v-bind:subTotalIndex="item.dayArray.length" ></hotelTrip>
<hotelTripV2 v-bind:subItemObj="subItem" v-bind:DefaultList="hotelSameList" v-bind:subIndex="subIndex"
v-bind:DinnerList="DinnerList" v-bind:index="index" :isOpenGroup="isOpenGroup"
v-bind:subTotalIndex="item.dayArray.length" style="display:none;"></hotelTripV2>
</span>
<span v-else>
</span>
</div>
<div v-if="subItem.Type==$tripUtils.TypeKey.scenic">
......@@ -120,7 +123,6 @@
<scienTrip v-bind:subItemObj="subItem" v-bind:DefaultList="scenicSameList" v-bind:subIndex="subIndex"
v-bind:index="index" :isOpenGroup="isOpenGroup" v-bind:subTotalIndex="item.dayArray.length"></scienTrip>
</span>
</div>
<div v-if="subItem.Type==$tripUtils.TypeKey.dinner">
<span v-if="IsDirect==1">
......@@ -163,6 +165,7 @@
import trifficTrip from "../oldTravelGroupControl/trifficTrip";
import scienTrip from "../oldTravelGroupControl/scienTrip_Direct";
import hotelTrip from "../oldTravelGroupControl/hotelTrip_Direct";
import hotelTripV2 from "../oldTravelGroupControl/hotelTrip_Direct_V2";
import dinnerTrip from "../oldTravelGroupControl/dinnerTrip_Direct";
import freedomTrip from "../oldTravelGroupControl/freedomTrip";
import warmtipTrip from "../oldTravelGroupControl/warmtipTrip";
......@@ -270,16 +273,10 @@ export default {
},
components: {
trifficTrip: trifficTrip,
scienTrip: scienTrip,
hotelTrip: hotelTrip,
hotelTripV2: hotelTripV2,
dinnerTrip: dinnerTrip,
freedomTrip: freedomTrip,
warmtipTrip: warmtipTrip,
titleTrip: titleTrip
......
......@@ -31,7 +31,6 @@
<div class="TDLeftPlan">
<span>入住酒店</span>
<span>
<el-form-item :prop="'DayList.'+index+'.dayArray.'+subIndex+'.childItem.HotelId'" :rules="hotelTripRules.HotelId">
<el-select :disabled="isOpenGroup" class='w160' :placeholder="$t('pub.pleaseSel')" filterable v-model="subItemObj.childItem.HotelId"
@visible-change="getHotelList($event)" @change="changeHotelList()">
......
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