Commit 0a899277 authored by youjie's avatar youjie
parents c97e07c8 6fda55d0
...@@ -768,15 +768,18 @@ ...@@ -768,15 +768,18 @@
.el-input-group__prepend { .el-input-group__prepend {
padding: 0 5px !important; padding: 0 5px !important;
} }
.SimulateDrop-box { .SimulateDrop-box {
width: 210px; width: 210px;
min-height: 34px; min-height: 34px;
position: relative; max-height: 68px;
padding: 5px 21px 5px 6px; overflow-y: scroll;
float: left; position: relative;
/* margin: 4px 0 0 10px; */ padding: 5px 21px 5px 6px;
border: 1px solid #d1d1d1; float: left;
} border: 1px solid #d1d1d1;
}
.SD_flight { .SD_flight {
display: inline-block; display: inline-block;
height: 24px; height: 24px;
...@@ -785,12 +788,14 @@ ...@@ -785,12 +788,14 @@
line-height: 22px; line-height: 22px;
background-color: #f0f2f5; background-color: #f0f2f5;
} }
.SimulaDrop {
.SimulaDrop {
position: absolute; position: absolute;
top: 3px; top: 5px;
right: 10px; right: 5px;
color: #c0c4cc; color: #c0c4cc;
} }
._TravelPricePopover .jiDiv { ._TravelPricePopover .jiDiv {
width: 750px; width: 750px;
max-height: 400px; max-height: 400px;
...@@ -830,6 +835,7 @@ ...@@ -830,6 +835,7 @@
._TravelPricePopover table td._d_name { ._TravelPricePopover table td._d_name {
background-color: #ededed; background-color: #ededed;
} }
</style> </style>
<template> <template>
<div class="flexOne groupts" style="min-width: 1200px"> <div class="flexOne groupts" style="min-width: 1200px">
...@@ -1206,50 +1212,44 @@ ...@@ -1206,50 +1212,44 @@
<el-input v-model="addMsg.FSeatNum" @input="getNumber()"></el-input> <el-input v-model="addMsg.FSeatNum" @input="getNumber()"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="$t('salesModule.ScenicRefund')"> <el-form-item :label="$t('salesModule.ScenicRefund')">
<el-popover popper-class="_TravelPricePopover" trigger="click"> <el-popover popper-class="_TravelPricePopover" trigger="click">
<div> <div>
<div class="ScenicDiv"> <div class="ScenicDiv">
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr> <tr>
<!-- <td class="_color_666">{{$t('fnc.xuanze')}}</td> --> <td class="_color_666">{{$t('visaT.jdname')}}</td>
<td class="_color_666">{{$t('visaT.jdname')}}</td> <td class="_color_666">{{$t('fnc.tkjine')}}</td>
<td class="_color_666">{{$t('fnc.tkjine')}}</td> <td class="_color_666">{{$t('fnc.qxrenshu')}}</td>
<td class="_color_666">{{$t('fnc.qxrenshu')}}</td> <td class="_color_666">{{$t('fnc.tkjine')}}</td>
</tr> </tr>
<tr v-for="item in ScenicRefundList"> <tr v-for="item in ScenicRefundList">
<td> <td>
{{item.CouponsName}} {{item.CouponsName}}
</td> </td>
<td> <td>
-¥{{item.RefundMoney}} -¥{{item.RefundMoney}}
</td> </td>
<td> <td>
<el-input class="w80" type="Number" :max='addMsg.GuestNum' v-model="item.Number" @keyup.native="initScenic()"></el-input> <el-input class="w80" type="Number" :max='addMsg.GuestNum' v-model="item.Number"
<!-- --> @keyup.native="initScenic()"></el-input>
</td> </td>
<td>
</tr> -{{item.Number*item.RefundMoney}}
</table> </td>
</div> </tr>
</div> </table>
<div slot="reference" class="SimulateDrop-box"> </div>
<span class="SD_flight" v-for="subItem in addMsg.ScenicList">{{subItem.ScenicName}}*{{subItem.Number}}</span> </div>
<i class="iconfont icon-arrow-down SimulaDrop"></i> <div slot="reference" class="SimulateDrop-box">
</div> <span class="SD_flight" v-for="subItem in addMsg.ScenicList">{{subItem.ScenicName}}</span>
</el-popover> <i class="iconfont icon-arrow-down SimulaDrop"></i>
</el-form-item> </div>
<!-- <el-form-item :label="$t('salesModule.ScenicRefund')"> </el-popover>
<el-select filterable multiple class="multiple_input" v-model="addMsg.ScenicRefundArr" </el-form-item>
:placeholder="$t('pub.pleaseSel')" @change="ScenicRefundMethods">
<el-option v-for="item in ScenicRefundList" :label="item.ScenicName" :value="item.Id" :key="item.Id">
</el-option>
</el-select>
</el-form-item> -->
</el-col> </el-col>
<el-col :span="4"> &nbsp; </el-col> <el-col :span="4"> &nbsp;</el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="4"> <el-col :span="4">
...@@ -1889,7 +1889,7 @@ ...@@ -1889,7 +1889,7 @@
</td> </td>
<td> <td>
<p class="fz12" v-if="item.customerType==3||item.customerType==4"> <p class="fz12" v-if="item.customerType==3||item.customerType==4">
{{item.clientSourceName}} {{item.clientSourceName}}
</p> </p>
<p class="fz12 over_ellipsis" style="width: 120px" :title="item.contactName"> <p class="fz12 over_ellipsis" style="width: 120px" :title="item.contactName">
{{ item.contactName }} {{ item.contactName }}
...@@ -2364,18 +2364,21 @@ ...@@ -2364,18 +2364,21 @@
</span> </span>
</template> </template>
</div> </div>
<div v-if="item.orderBackScenicList!=null&&item.orderBackScenicList.length>0 " style="width: 101%;border-top: 1px solid #cccccc;margin-top: 5px"> <div v-if="item.orderBackScenicList!=null&&item.orderBackScenicList.length>0 "
style="width: 101%;border-top: 1px solid #cccccc;margin-top: 5px">
<span style="color:red;margin-top: 10px;display: inline-block">{{$t('ground.tuiJingdian')}}:</span> <span style="color:red;margin-top: 10px;display: inline-block">{{$t('ground.tuiJingdian')}}:</span>
<span v-for="childItem in item.orderBackScenicList" > <span v-for="childItem in item.orderBackScenicList">
<span style="color:green;">{{ childItem.couponsName }}</span>退票<span style="color:red;">{{childItem.number}}</span>人:<span style="color: blue">{{childItem.guestNameList}}</span> <span style="color:green;">{{ childItem.couponsName }}</span>退票<span
&nbsp;&nbsp; &nbsp;&nbsp; style="color:red;">{{childItem.number}}</span>人:<span
style="color: blue">{{childItem.guestNameList}}</span>
&nbsp;&nbsp; &nbsp;&nbsp;
</span> </span>
</div> </div>
</td> </td>
</tr> </tr>
<tr> <tr>
<td colspan="5"> <td colspan="5">
<div class="groupTourOrder_remarks"> <div class="groupTourOrder_remarks">
...@@ -2811,7 +2814,7 @@ ...@@ -2811,7 +2814,7 @@
RefuseVisaNum: "0", //拒签数量 RefuseVisaNum: "0", //拒签数量
AirticketNum: "0", AirticketNum: "0",
ScenicRefundArr: [], ScenicRefundArr: [],
ScenicList:[],//2025-07-14 add bY:W ScenicList: [], //2025-07-14 add bY:W
GoCityTime: "", GoCityTime: "",
BackCityTime: "", BackCityTime: "",
CommissionSharePeople: "-1", CommissionSharePeople: "-1",
...@@ -3739,7 +3742,7 @@ ...@@ -3739,7 +3742,7 @@
}, },
}); });
}, },
ScenicRefundMethods_V2() { ScenicRefundMethods_V2() {
if (this.addMsg.ScenicRefundArr.length == 0) { if (this.addMsg.ScenicRefundArr.length == 0) {
this.ScenicRefundMoney = 0; this.ScenicRefundMoney = 0;
} else { } else {
...@@ -3757,19 +3760,18 @@ ...@@ -3757,19 +3760,18 @@
this.getTotalPrice(); this.getTotalPrice();
this.getTicheng(); this.getTicheng();
}, },
//初始化景点 //初始化景点
initScenic() { initScenic() {
this.addMsg.ScenicList = []; this.addMsg.ScenicList = [];
var totalGuest=(Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)) var totalGuest = (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum))
this.ScenicRefundList.forEach(x => { this.ScenicRefundList.forEach(x => {
if (/^\d+$/.test(x.Number)&&x.Number>0&&x.Number<=totalGuest) { if (/^\d+$/.test(x.Number) && x.Number > 0 && x.Number <= totalGuest) {
this.addMsg.ScenicList.push(x); this.addMsg.ScenicList.push(x);
} } else {
else{ x.Number = 0;
x.Number=0;
} }
}) })
this.getTotalPrice(); this.getTotalPrice();
this.getTicheng(); this.getTicheng();
}, },
ScenicRefundMethods() { ScenicRefundMethods() {
...@@ -3778,13 +3780,13 @@ ...@@ -3778,13 +3780,13 @@
} else { } else {
this.ScenicRefundMoney = 0; this.ScenicRefundMoney = 0;
this.addMsg.ScenicRefundArr.forEach((x) => { this.addMsg.ScenicRefundArr.forEach((x) => {
var index=this.ScenicRefundList.findIndex(item=>item.Id===x.Id); var index = this.ScenicRefundList.findIndex(item => item.Id === x.Id);
if(index!=-1){ if (index != -1) {
var nowModel=this.ScenicRefundList[index]; var nowModel = this.ScenicRefundList[index];
nowModel.Number=x.Number; nowModel.Number = x.Number;
} }
}); });
this.$forceUpdate() this.$forceUpdate()
} }
this.initScenic(); this.initScenic();
}, },
...@@ -3900,7 +3902,7 @@ ...@@ -3900,7 +3902,7 @@
this.apipost( this.apipost(
"sellorder_post_GetOrderEntity", { "sellorder_post_GetOrderEntity", {
ID: obj.orderId, ID: obj.orderId,
IsDealDiscount:1 IsDealDiscount: 1
}, },
(res) => { (res) => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
...@@ -3913,7 +3915,7 @@ ...@@ -3913,7 +3915,7 @@
this.addObj.OpSetLossMoney = x.OpSetLossMoney; this.addObj.OpSetLossMoney = x.OpSetLossMoney;
this.addMsg = x; this.addMsg = x;
this.DealDiscountMoney = this.addMsg.DiscountMoney+this.addMsg.RedEnvelopeMoney; this.DealDiscountMoney = this.addMsg.DiscountMoney + this.addMsg.RedEnvelopeMoney;
this.LessNPrice = this.addMsg.LessMaxPrice; //先初始化 最高少价 this.LessNPrice = this.addMsg.LessMaxPrice; //先初始化 最高少价
this.LessNAvgPrice = this.addMsg.LessMaxAvgPrice; this.LessNAvgPrice = this.addMsg.LessMaxAvgPrice;
if (this.addMsg.IsLessPrice == 1) { if (this.addMsg.IsLessPrice == 1) {
...@@ -4383,15 +4385,17 @@ ...@@ -4383,15 +4385,17 @@
dandijie = dandijie =
this.addObj.SingleDMCPrice * Number(this.addMsg.AirticketNum); this.addObj.SingleDMCPrice * Number(this.addMsg.AirticketNum);
} }
//退景点费用 //退景点费用
var refundScenicPrice =0; var refundScenicPrice = 0;
if(this.addMsg.ScenicList!=null&&this.addMsg.ScenicList.length>0){ if (this.addMsg.ScenicList != null && this.addMsg.ScenicList.length > 0) {
var totalGuest=(Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)) var totalGuest = (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg
this.addMsg.ScenicList.forEach(item => { .OldPeopleNum))
if(totalGuest>=item.Number){ this.addMsg.ScenicList.forEach(item => {
refundScenicPrice+=item.Number*item.RefundMoney;} if (totalGuest >= item.Number) {
}); refundScenicPrice += item.Number * item.RefundMoney;
} }
});
}
this.addMsg.PreferPrice = this.addMsg.PreferPrice =
dandijie + dandijie +
lianyun + lianyun +
...@@ -4401,11 +4405,11 @@ ...@@ -4401,11 +4405,11 @@
laoren + laoren +
zafeiqianzhen + zafeiqianzhen +
danfang + danfang +
ertongbed -refundScenicPrice; ertongbed - refundScenicPrice;
// this.ScenicRefundMoney * // this.ScenicRefundMoney *
// (Number(this.addMsg.ManNum) + // (Number(this.addMsg.ManNum) +
// Number(this.addMsg.ChirdNum) + // Number(this.addMsg.ChirdNum) +
// Number(this.addMsg.OldPeopleNum)); // Number(this.addMsg.OldPeopleNum));
//ld 2025-01-22 少价管理 //ld 2025-01-22 少价管理
if (this.addMsg.IsLessPrice == 1 && this.addMsg.GroupType == 1 && (this.addMsg.CustomerType == '1' || this if (this.addMsg.IsLessPrice == 1 && this.addMsg.GroupType == 1 && (this.addMsg.CustomerType == '1' || this
...@@ -4489,15 +4493,17 @@ ...@@ -4489,15 +4493,17 @@
dandijie = dandijie =
this.addObj.SingleDMCPrice * Number(this.addMsg.AirticketNum); this.addObj.SingleDMCPrice * Number(this.addMsg.AirticketNum);
} }
//退景点费用 //退景点费用
var refundScenicPrice =0; var refundScenicPrice = 0;
if(this.addMsg.ScenicList!=null&&this.addMsg.ScenicList.length>0){ if (this.addMsg.ScenicList != null && this.addMsg.ScenicList.length > 0) {
var totalGuest=(Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)) var totalGuest = (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg
this.addMsg.ScenicList.forEach(item => { .OldPeopleNum))
if(totalGuest>=item.Number){ this.addMsg.ScenicList.forEach(item => {
refundScenicPrice+=item.Number*item.RefundMoney;} if (totalGuest >= item.Number) {
}); refundScenicPrice += item.Number * item.RefundMoney;
} }
});
}
this.addMsg.PreferPrice = this.addMsg.PreferPrice =
dandijie + dandijie +
lianyun + lianyun +
...@@ -4507,11 +4513,11 @@ ...@@ -4507,11 +4513,11 @@
laoren + laoren +
zafeiqianzhen + zafeiqianzhen +
danfang + danfang +
ertongbed -refundScenicPrice; ertongbed - refundScenicPrice;
// this.ScenicRefundMoney * // this.ScenicRefundMoney *
// (Number(this.addMsg.ManNum) + // (Number(this.addMsg.ManNum) +
// Number(this.addMsg.ChirdNum) + // Number(this.addMsg.ChirdNum) +
// Number(this.addMsg.OldPeopleNum)); // Number(this.addMsg.OldPeopleNum));
//ld 2025-01-22 少价管理 //ld 2025-01-22 少价管理
if (this.addMsg.IsLessPrice == 1 && this.addMsg.GroupType == 1 && (this.addMsg.CustomerType == '1' || this if (this.addMsg.IsLessPrice == 1 && this.addMsg.GroupType == 1 && (this.addMsg.CustomerType == '1' || this
...@@ -4690,7 +4696,7 @@ ...@@ -4690,7 +4696,7 @@
this.addMsg.CostType = ""; this.addMsg.CostType = "";
this.addMsg.PlatformOrder = ""; this.addMsg.PlatformOrder = "";
this.ddlyList = []; this.ddlyList = [];
this.addMsg.ScenicList=[]; this.addMsg.ScenicList = [];
this.addMsg.Remarks = ""; this.addMsg.Remarks = "";
this.addMsg.MinOrderPrice = ""; this.addMsg.MinOrderPrice = "";
this.addMsg.VisaNum = "0"; this.addMsg.VisaNum = "0";
...@@ -4793,7 +4799,7 @@ ...@@ -4793,7 +4799,7 @@
this.addMsg.IsChildrenTour = this.IsChildrenTour; this.addMsg.IsChildrenTour = this.IsChildrenTour;
this.addMsg.IsBirdDiscount = this.addObj.IsBirdDiscount; this.addMsg.IsBirdDiscount = this.addObj.IsBirdDiscount;
this.addMsg.IsDealDiscount = 1; this.addMsg.IsDealDiscount = 1;
this.addMsg.ScenicRefundArr = []; this.addMsg.ScenicRefundArr = [];
this.apipost( this.apipost(
"sellorder_post_SetOrderInfo_02", "sellorder_post_SetOrderInfo_02",
this.addMsg, this.addMsg,
......
...@@ -821,8 +821,10 @@ ...@@ -821,8 +821,10 @@
} }
.groupts .SimulateDrop-box { .groupts .SimulateDrop-box {
width: 230px; width: 220px;
min-height: 34px; min-height: 34px;
max-height: 68px;
overflow-y: scroll;
position: relative; position: relative;
padding: 5px 21px 5px 6px; padding: 5px 21px 5px 6px;
float: left; float: left;
...@@ -832,7 +834,7 @@ ...@@ -832,7 +834,7 @@
.groupts .GO_SimulaDrop { .groupts .GO_SimulaDrop {
position: absolute; position: absolute;
right: 10px; right: 5px;
top: 5px; top: 5px;
color: #d1d1d1; color: #d1d1d1;
} }
...@@ -842,7 +844,7 @@ ...@@ -842,7 +844,7 @@
height: 24px; height: 24px;
margin: 0 3px 3px 0; margin: 0 3px 3px 0;
overflow: hidden; overflow: hidden;
max-width: 200px; max-width: 184px;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
font-size: 12px; font-size: 12px;
...@@ -875,9 +877,11 @@ ...@@ -875,9 +877,11 @@
width: 200px; width: 200px;
} }
.el-input-group__append, .el-input-group__prepend { .el-input-group__append,
.el-input-group__prepend {
padding: 0 5px !important; padding: 0 5px !important;
} }
</style> </style>
<template> <template>
...@@ -1287,9 +1291,10 @@ ...@@ -1287,9 +1291,10 @@
</el-col> </el-col>
<el-col :span="4" v-if="addMsg.IsLessPrice ==1 && this.addMsg.GroupType ==1"> <el-col :span="4" v-if="addMsg.IsLessPrice ==1 && this.addMsg.GroupType ==1">
<el-form-item label="少价/人" prop="LessAvgPrice"> <el-form-item label="少价/人" prop="LessAvgPrice">
<el-input type="Number" v-model="addMsg.LessAvgPrice" @change="ValidateLess2"><template slot="append">最高{{LessNAvgPrice}}/人</template></el-input> <el-input type="Number" v-model="addMsg.LessAvgPrice" @change="ValidateLess2"><template
slot="append">最高{{LessNAvgPrice}}/人</template></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<p v-if="IsChildrenTour == 2" style=" <p v-if="IsChildrenTour == 2" style="
color: #e95252; color: #e95252;
...@@ -1446,9 +1451,10 @@ ...@@ -1446,9 +1451,10 @@
</el-col> </el-col>
<el-col :span="4" v-if="addMsg.IsLessPrice ==1 && this.addMsg.GroupType ==1"> <el-col :span="4" v-if="addMsg.IsLessPrice ==1 && this.addMsg.GroupType ==1">
<el-form-item :label="$t('objFill.v101.shaojiazonge')" prop="LessPrice"> <el-form-item :label="$t('objFill.v101.shaojiazonge')" prop="LessPrice">
<el-input type="Number" v-model="addMsg.LessPrice" @change="ValidateLess"><template slot="append">最高少价{{LessNPrice}}</template></el-input> <el-input type="Number" v-model="addMsg.LessPrice" @change="ValidateLess"><template
slot="append">最高少价{{LessNPrice}}</template></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="$t('salesModule.YJTC')" prop="Commission"> <el-form-item :label="$t('salesModule.YJTC')" prop="Commission">
<el-input v-model="addMsg.Commission" :disabled="true"></el-input> <el-input v-model="addMsg.Commission" :disabled="true"></el-input>
...@@ -1501,79 +1507,40 @@ ...@@ -1501,79 +1507,40 @@
<span class="GO_Title">{{$t('salesModule.ScenicRefund')}}</span> <span class="GO_Title">{{$t('salesModule.ScenicRefund')}}</span>
</div> </div>
<div class="GO_TPright clearfix"> <div class="GO_TPright clearfix">
<el-popover popper-class="_TravelPricePopover" trigger="click"> <el-popover popper-class="_TravelPricePopover" trigger="click">
<div>
<div class="ScenicDiv">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<!-- <td class="_color_666">{{$t('fnc.xuanze')}}</td> -->
<td class="_color_666">{{$t('visaT.jdname')}}</td>
<td class="_color_666">{{$t('fnc.tkjine')}}</td>
<td class="_color_666">{{$t('fnc.qxrenshu')}}</td>
</tr>
<tr v-for="item in ScenicRefundList">
<td>
{{item.CouponsName}}
</td>
<td>
-¥{{item.RefundMoney}}
</td>
<td>
<el-input class="w80" type="Number" :max='addMsg.GuestNum' v-model="item.Number" @keyup.native="initScenic()"></el-input>
<!-- -->
</td>
</tr>
</table>
</div>
</div>
<div slot="reference" class="SimulateDrop-box">
<span class="SD_flight" v-for="subItem in addMsg.ScenicList">{{subItem.ScenicName}}*{{subItem.Number}}</span>
<i class="iconfont icon-arrow-down SimulaDrop"></i>
</div>
</el-popover>
<!-- <el-popover popper-class="_TravelPricePopover" trigger="click">
<div> <div>
<div class="GOScenicDiv"> <div class="ScenicDiv">
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr> <tr>
<td class="_color_666">{{$t('objFill.v101.traveltrip.xuanzhe')}}</td>
<td class="_color_666">{{$t('visaT.jdname')}}</td> <td class="_color_666">{{$t('visaT.jdname')}}</td>
<td class="_color_666">{{$t('op.opszje')}}</td> <td class="_color_666">{{$t('fnc.tkjine')}}</td>
<td class="_color_666">{{$t('admin.admin_personNumber')}}</td> <td class="_color_666">{{$t('fnc.qxrenshu')}}</td>
<td class="_color_666">{{$t('fnc.tkjine')}}</td> <td class="_color_666">{{$t('fnc.tkjine')}}</td>
</tr> </tr>
<tr v-for="item in ScenicRefundList"> <tr v-for="item in ScenicRefundList">
<td> <td>
<el-checkbox :checked="item.IsChecked" @change="getGOScenic(item)"></el-checkbox> {{item.CouponsName}}
</td> </td>
<td> <td>
{{ item.CouponsName }} -¥{{item.RefundMoney}}
</td> </td>
<td> <td>
{{ item.RefundMoney }} <el-input class="w80" type="Number" :max='addMsg.GuestNum' v-model="item.Number"
@keyup.native="initScenic()"></el-input>
</td> </td>
<el-input class="w80" type="Number" :max='addMsg.GuestNum' v-model="item.Number" @keyup.native="initScenic()"></el-input>
<td>
<el-input class="w80" @keyup.native="
checkInteger(item, 'Number'), CheckNum(item)
" @change="getGOScenictWO" v-model="item.Number"></el-input>
</td>
<td> <td>
<el-input class="w80" @keyup.native="checkPrice(item, 'BackMoney')" @change="getGOScenictWO" -{{item.Number*item.RefundMoney}}
v-model="item.BackMoney"></el-input>
</td> </td>
</tr> </tr>
</table> </table>
</div> </div>
</div> </div>
<div slot="reference" class="SimulateDrop-box"> <div slot="reference" class="SimulateDrop-box">
<span class="SD_flight" v-for="subItem in SciencNameList">{{ <span class="SD_flight"
subItem v-for="subItem in addMsg.ScenicList">{{subItem.ScenicName}}*{{subItem.Number}}</span>
}}</span>
<i class="iconfont icon-arrow-down GO_SimulaDrop"></i> <i class="iconfont icon-arrow-down GO_SimulaDrop"></i>
</div> </div>
</el-popover> --> </el-popover>
</div> </div>
</div> </div>
</el-col> </el-col>
...@@ -2044,7 +2011,8 @@ ...@@ -2044,7 +2011,8 @@
<span v-else>******</span> <span v-else>******</span>
</el-popover> </el-popover>
</td> </td>
<td style="color: #ff9c00"><span>{{ item.preferTipAmount?moneyFormatN(item.preferTipAmount):'0' }}</span></td> <td style="color: #ff9c00"><span>{{ item.preferTipAmount?moneyFormatN(item.preferTipAmount):'0' }}</span>
</td>
<!-- 优惠 --> <!-- 优惠 -->
<td> <td>
<el-popover style="padding: 0" width="600" trigger="click"> <el-popover style="padding: 0" width="600" trigger="click">
...@@ -2129,19 +2097,23 @@ ...@@ -2129,19 +2097,23 @@
<span v-else>******</span> <span v-else>******</span>
</td> </td>
<td> <td>
<span v-if="item.isOwn == 1 || IsSupperOrderEdit || isUpdateOrder">{{ moneyFormatN(item.refund) }}</span> <span
v-if="item.isOwn == 1 || IsSupperOrderEdit || isUpdateOrder">{{ moneyFormatN(item.refund) }}</span>
<span v-else>******</span> <span v-else>******</span>
</td> </td>
<td> <td>
<span v-if="item.isOwn == 1 || IsSupperOrderEdit || isUpdateOrder">{{ moneyFormatN(item.platformTax) }}</span> <span
v-if="item.isOwn == 1 || IsSupperOrderEdit || isUpdateOrder">{{ moneyFormatN(item.platformTax) }}</span>
<span v-else>******</span> <span v-else>******</span>
</td> </td>
<td> <td>
<span v-if="item.isOwn == 1 || IsSupperOrderEdit || isUpdateOrder">{{ moneyFormatN(item.zaiTuMoney) }}</span> <span
v-if="item.isOwn == 1 || IsSupperOrderEdit || isUpdateOrder">{{ moneyFormatN(item.zaiTuMoney) }}</span>
<span v-else>******</span> <span v-else>******</span>
</td> </td>
<td> <td>
<span v-if="item.isOwn == 1 || IsSupperOrderEdit || isUpdateOrder">{{ moneyFormatN(item.cashReceiptsMoney) }}</span> <span
v-if="item.isOwn == 1 || IsSupperOrderEdit || isUpdateOrder">{{ moneyFormatN(item.cashReceiptsMoney) }}</span>
<span v-else>******</span> <span v-else>******</span>
</td> </td>
<td> <td>
...@@ -2404,7 +2376,9 @@ ...@@ -2404,7 +2376,9 @@
"> ">
<span v-for="childItem in item.guestList" style="color: blue"> <span v-for="childItem in item.guestList" style="color: blue">
{{childItem.userName}} {{childItem.userName}}
<span :style="childItem.isBed==1?'color:#d332e5':'color:#67c23a' ">({{childItem.isBed==1?$t('op.TakeBed'):$t('op.NoneedBed')}}) </span> <span
:style="childItem.isBed==1?'color:#d332e5':'color:#67c23a' ">({{childItem.isBed==1?$t('op.TakeBed'):$t('op.NoneedBed')}})
</span>
<span style="color:#f56c6c">{{childItem.visaType==1?'('+$t('visa.v_gvisa')+')':''}}</span> <span style="color:#f56c6c">{{childItem.visaType==1?'('+$t('visa.v_gvisa')+')':''}}</span>
<span style="color:#f56c6c">{{childItem.ticketOutTypeStr}} </span> <span style="color:#f56c6c">{{childItem.ticketOutTypeStr}} </span>
<span style="cursor:pointer;" <span style="cursor:pointer;"
...@@ -2412,20 +2386,24 @@ ...@@ -2412,20 +2386,24 @@
<span v-if="item.isShowDisclaimer==1&&( isShow===index||childItem.disclaimerId>0)" <span v-if="item.isShowDisclaimer==1&&( isShow===index||childItem.disclaimerId>0)"
style="cursor:pointer;" style="cursor:pointer;"
@click="goDisclaimer(item,childItem)">{{childItem.disclaimerId>0?$t('objFill.chakanctmzclh'):$t('objFill.qiandinctmzclh')}}</span> @click="goDisclaimer(item,childItem)">{{childItem.disclaimerId>0?$t('objFill.chakanctmzclh'):$t('objFill.qiandinctmzclh')}}</span>
<span v-if="childItem.isApplyPhoto == 1" style="color: red">({{$t('salesModule.Zhao')}})</span>&nbsp;&nbsp;</span> <span v-if="childItem.isApplyPhoto == 1"
<span v-if="item.photoNum > 0">({{$t('salesModule.NoPhoto')}} {{ item.photoNum }}{{$t('salesModule.Fen')}})</span> style="color: red">({{$t('salesModule.Zhao')}})</span>&nbsp;&nbsp;</span>
<span v-if="item.photoNum > 0">({{$t('salesModule.NoPhoto')}}
{{ item.photoNum }}{{$t('salesModule.Fen')}})</span>
</span> </span>
<p v-if="item.cancelGuestList && item.cancelGuestList.length > 0"> <p v-if="item.cancelGuestList && item.cancelGuestList.length > 0">
<span class="">{{$t('salesModule.CancelOrder')}}:</span> <span class="">{{$t('salesModule.CancelOrder')}}:</span>
<span class="RL-redType RL-remarkCon"> <span class="RL-redType RL-remarkCon">
<span style="color: red" n v-for="(childItem, childIndex) in item.cancelGuestList" <span style="color: red" n v-for="(childItem, childIndex) in item.cancelGuestList"
:key="childIndex+150000">{{ childItem.userName }}<span :key="childIndex+150000">{{ childItem.userName }}<span
style="color:#f56c6c">{{childItem.visaType==1?'('+$t('visa.v_gvisa')+')':''}}</span> &nbsp;&nbsp;</span> style="color:#f56c6c">{{childItem.visaType==1?'('+$t('visa.v_gvisa')+')':''}}</span>
&nbsp;&nbsp;</span>
</span> </span>
</p> </p>
<span style="display: block">{{$t('salesModule.RoomInfo')}}<span v-if="item.oneSex > 0" <span style="display: block">{{$t('salesModule.RoomInfo')}}<span v-if="item.oneSex > 0"
style="color: #e95252">({{ item.oneSex == 1 ?$t('objFill.dannan') : $t('objFill.dannv') }})</span><span v-if="item.chirdNoNeedBedNum > 0" style="color: #e95252">({{ item.oneSex == 1 ?$t('objFill.dannan') : $t('objFill.dannv') }})</span><span
style="color: #e95252">({{$t('Operation.Op_childNobed')}}{{ item.chirdNoNeedBedNum }}{{$t('hotel.hotel_people')}})</span> v-if="item.chirdNoNeedBedNum > 0"
style="color: #e95252">({{$t('Operation.Op_childNobed')}}{{ item.chirdNoNeedBedNum }}{{$t('hotel.hotel_people')}})</span>
{{ item.orderGuestHouseStr }} {{ item.orderGuestHouseStr }}
<!-- <el-popover trigger="click" popper-class="KT_Scenic"> <!-- <el-popover trigger="click" popper-class="KT_Scenic">
<table width="100%" border="0" cellspacing="0" cellpadding="0"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
...@@ -2487,14 +2465,17 @@ ...@@ -2487,14 +2465,17 @@
</template> </template>
</div> </div>
</div> </div>
<div v-if="item.orderBackScenicList!=null&&item.orderBackScenicList.length>0 " style="width: 101%;border-top: 1px solid #cccccc;margin-top: 5px"> <div v-if="item.orderBackScenicList!=null&&item.orderBackScenicList.length>0 "
<span style="color:red;margin-top: 10px;display: inline-block">{{$t('ground.tuiJingdian')}}:</span> style="width: 101%;border-top: 1px solid #cccccc;margin-top: 5px">
<span v-for="childItem in item.orderBackScenicList" > <span style="color:red;margin-top: 10px;display: inline-block">{{$t('ground.tuiJingdian')}}:</span>
<span style="color:green;">{{ childItem.couponsName }}</span>退票<span style="color:red;">{{childItem.number}}</span>人:<span style="color: blue">{{childItem.guestNameList}}</span> <span v-for="childItem in item.orderBackScenicList">
&nbsp;&nbsp; &nbsp;&nbsp; <span style="color:green;">{{ childItem.couponsName }}</span>退票<span
</span> style="color:red;">{{childItem.number}}</span>人:<span
style="color: blue">{{childItem.guestNameList}}</span>
&nbsp;&nbsp; &nbsp;&nbsp;
</span>
</div> </div>
</td> </td>
</tr> </tr>
<tr> <tr>
...@@ -2604,19 +2585,22 @@ ...@@ -2604,19 +2585,22 @@
<div <div
v-if="item.changePriceId>0&&(item.isOwn == 1 || IsSupperOrderEdit ||IsLookOrder || isUpdateOrder)" v-if="item.changePriceId>0&&(item.isOwn == 1 || IsSupperOrderEdit ||IsLookOrder || isUpdateOrder)"
style=" overflow:hidden;margin-top:10px;"> style=" overflow:hidden;margin-top:10px;">
<span style="color:red;">{{$t('objFill.gaijiashenq')}}:</span> <span> {{item.changePriceTime}} {{$t('objFill.shengqingje')}}【<span <span style="color:red;">{{$t('objFill.gaijiashenq')}}:</span> <span> {{item.changePriceTime}}
{{$t('objFill.shengqingje')}}【<span
style="color:red;">{{moneyFormatN(item.changePriceMoney)}}</span>{{$t('hotel.hotel_yuan')}}】{{item.changePriceReason}}</span> style="color:red;">{{moneyFormatN(item.changePriceMoney)}}</span>{{$t('hotel.hotel_yuan')}}】{{item.changePriceReason}}</span>
<div style="text-align:right;" v-if="item.changePriceState==1"> {{$t('objFill.dai')}}{{item.ChangePriceType=="2"?"OP":$t('fnc.zhuguan')}}{{item.managerExamineName}}{{$t('fnc.shenhe')}} </div> <div style="text-align:right;" v-if="item.changePriceState==1">
<div style="text-align:right;" v-if="item.changePriceState==2"> {{$t('objFill.dai')}}{{item.ChangePriceType=="2"?"OP":$t('fnc.zhuguan')}}{{item.managerExamineName}}{{$t('fnc.shenhe')}}
{{$t('objFill.dai')}}{{item.ChangePriceType=="2"?$t('objFill.kuaiji'):$t('visa.v_zongjingli')}}{{item.examineByName}}{{$t('fnc.shenhe')}} </div>
</div> <div style="text-align:right;" v-if="item.changePriceState==2">
<div style="text-align:right;" v-if="item.changePriceState==4" > {{$t('objFill.dai')}}{{item.ChangePriceType=="2"?$t('objFill.kuaiji'):$t('visa.v_zongjingli')}}{{item.examineByName}}{{$t('fnc.shenhe')}}
{{$t('objFill.yibohui')}} </div>
</div> <div style="text-align:right;" v-if="item.changePriceState==4">
<div style="text-align:right;" v-if="item.changePriceState==3" > {{$t('objFill.yibohui')}}
{{$t('fnc.ytongguo')}} </div>
</div> <div style="text-align:right;" v-if="item.changePriceState==3">
{{$t('fnc.ytongguo')}}
</div>
</div> </div>
</div> </div>
</td> </td>
...@@ -3023,11 +3007,13 @@ ...@@ -3023,11 +3007,13 @@
<span class="RL-redType RL-remarkCon"> <span class="RL-redType RL-remarkCon">
<span style="color: red" v-for="(childItem, childIndex) in item.cancelGuestList" <span style="color: red" v-for="(childItem, childIndex) in item.cancelGuestList"
:key="childIndex+260000">{{ childItem.userName }}<span :key="childIndex+260000">{{ childItem.userName }}<span
style="color:#f56c6c">{{childItem.visaType==1?'('+$t('visa.v_gvisa')+')':''}}</span> &nbsp;&nbsp;</span> style="color:#f56c6c">{{childItem.visaType==1?'('+$t('visa.v_gvisa')+')':''}}</span>
&nbsp;&nbsp;</span>
</span> </span>
</p> </p>
<span style="display: block">{{$t('salesModule.RoomInfo')}}<span v-if="item.oneSex > 0" <span style="display: block">{{$t('salesModule.RoomInfo')}}<span v-if="item.oneSex > 0"
style="color: #e95252">({{ item.oneSex == 1 ?$t('objFill.dannan') : $t('objFill.dannv') }})</span><span v-if="item.chirdNoNeedBedNum > 0" style="color: #e95252">({{ item.oneSex == 1 ?$t('objFill.dannan') : $t('objFill.dannv') }})</span><span
v-if="item.chirdNoNeedBedNum > 0"
style="color: #e95252">({{$t('Operation.Op_childNobed')}}{{ item.chirdNoNeedBedNum }}{{$t('hotel.hotel_people')}})</span>:{{ item.orderGuestHouseStr }}</span> style="color: #e95252">({{$t('Operation.Op_childNobed')}}{{ item.chirdNoNeedBedNum }}{{$t('hotel.hotel_people')}})</span>:{{ item.orderGuestHouseStr }}</span>
<span v-if="item.tipMoney" style="color: red">({{$t('fnc.xiaofei')}}:{{ item.tipMoney }})</span> <span v-if="item.tipMoney" style="color: red">({{$t('fnc.xiaofei')}}:{{ item.tipMoney }})</span>
</td> </td>
...@@ -3331,14 +3317,15 @@ ...@@ -3331,14 +3317,15 @@
</button> </button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog width="350px" :title="$t('objFill.bianjixiaofei')" :visible.sync="isShowTip" center :before-close="closeChangeMachie"> <el-dialog width="350px" :title="$t('objFill.bianjixiaofei')" :visible.sync="isShowTip" center
:before-close="closeChangeMachie">
<EditTip :TipObj="TipObj" @close="isShowTip=false" @success="isShowTip=false,getList()"></EditTip> <EditTip :TipObj="TipObj" @close="isShowTip=false" @success="isShowTip=false,getList()"></EditTip>
</el-dialog> </el-dialog>
<!-- 修改备注 --> <!-- 修改备注 -->
<div class="productQuerybottomLayer ownScrollbarStyle" v-show="isShowLayerRemarks" <div class="productQuerybottomLayer ownScrollbarStyle" v-show="isShowLayerRemarks"
style="height:150px;min-height:150px"> style="height:150px;min-height:150px">
<orderRemark v-if="isShowLayerRemarks" :remarksMsg="remarksMsg" @close="closeDialog" @success="refreshPage"> <orderRemark v-if="isShowLayerRemarks" :remarksMsg="remarksMsg" @close="closeDialog" @success="refreshPage">
</orderRemark> </orderRemark>
</div> </div>
...@@ -3503,7 +3490,7 @@ ...@@ -3503,7 +3490,7 @@
RefuseVisaNum: "0", RefuseVisaNum: "0",
AirticketNum: "0", AirticketNum: "0",
ScenicRefundArr: [], ScenicRefundArr: [],
ScenicList:[], ScenicList: [],
//景点新数组 //景点新数组
OrderBackScenicList: [], OrderBackScenicList: [],
GoCityTime: "", GoCityTime: "",
...@@ -3512,9 +3499,9 @@ ...@@ -3512,9 +3499,9 @@
CommissionShareMoney: "0", CommissionShareMoney: "0",
OneSex: 0, OneSex: 0,
QuotationUrl: "", //单团附件 QuotationUrl: "", //单团附件
LessPrice:"0", LessPrice: "0",
LessAvgPrice:"0", LessAvgPrice: "0",
IsLessPrice:"0" IsLessPrice: "0"
}, },
uploadLloading: false, uploadLloading: false,
fileFujianList: [], fileFujianList: [],
...@@ -3742,10 +3729,10 @@ ...@@ -3742,10 +3729,10 @@
SQcheckdAll: true, SQcheckdAll: true,
SQPhotoNum: "", SQPhotoNum: "",
SQOrderId: "", SQOrderId: "",
LessRule:[], LessRule: [],
LessNPrice:0, LessNPrice: 0,
LessNAvgPrice:0, LessNAvgPrice: 0,
DealDiscountMoney:0 DealDiscountMoney: 0
}; };
}, },
components: { components: {
...@@ -4470,37 +4457,36 @@ ...@@ -4470,37 +4457,36 @@
//初始化景点 //初始化景点
initScenic() { initScenic() {
this.addMsg.ScenicList = []; this.addMsg.ScenicList = [];
var totalGuest=(Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)) var totalGuest = (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum))
this.ScenicRefundList.forEach(x => { this.ScenicRefundList.forEach(x => {
if (/^\d+$/.test(x.Number)&&x.Number>0&&x.Number<=totalGuest) { if (/^\d+$/.test(x.Number) && x.Number > 0 && x.Number <= totalGuest) {
this.addMsg.ScenicList.push(x); this.addMsg.ScenicList.push(x);
} } else {
else{ x.Number = 0;
x.Number=0;
} }
}) })
console.log("addMsg.ScenicList",this.addMsg.ScenicList); console.log("addMsg.ScenicList", this.addMsg.ScenicList);
this.getTotalPrice(); this.getTotalPrice();
this.getTicheng(); this.getTicheng();
}, },
ScenicRefundMethods() { ScenicRefundMethods() {
if (this.addMsg.ScenicRefundArr.length == 0) { if (this.addMsg.ScenicRefundArr.length == 0) {
this.ScenicRefundMoney = 0; this.ScenicRefundMoney = 0;
} else { } else {
this.ScenicRefundMoney = 0; this.ScenicRefundMoney = 0;
this.addMsg.ScenicRefundArr.forEach((x) => { this.addMsg.ScenicRefundArr.forEach((x) => {
var index=this.ScenicRefundList.findIndex(item=>item.Id===x.Id); var index = this.ScenicRefundList.findIndex(item => item.Id === x.Id);
if(index!=-1){ if (index != -1) {
var nowModel=this.ScenicRefundList[index]; var nowModel = this.ScenicRefundList[index];
nowModel.Number=x.Number; nowModel.Number = x.Number;
} }
}); });
this.$forceUpdate() this.$forceUpdate()
} }
this.initScenic(); this.initScenic();
}, },
getScenicRefund(TCID, OrderId) { getScenicRefund(TCID, OrderId) {
this.OrderId = OrderId; this.OrderId = OrderId;
let msg = { let msg = {
TCID: TCID, TCID: TCID,
...@@ -4511,7 +4497,7 @@ ...@@ -4511,7 +4497,7 @@
msg, msg,
(res) => { (res) => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.ScenicRefundList = res.data.data; this.ScenicRefundList = res.data.data;
this.ScenicRefundList.forEach((item) => { this.ScenicRefundList.forEach((item) => {
item["ScenicName"] = item["ScenicName"] =
item.CouponsName + " -¥" + this.moneyFormat(item.RefundMoney); item.CouponsName + " -¥" + this.moneyFormat(item.RefundMoney);
...@@ -4652,7 +4638,7 @@ ...@@ -4652,7 +4638,7 @@
this.apipost( this.apipost(
"sellorder_post_GetOrderEntity", { "sellorder_post_GetOrderEntity", {
ID: obj.orderId, ID: obj.orderId,
IsDealDiscount:1 IsDealDiscount: 1
}, },
(res) => { (res) => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
...@@ -4661,10 +4647,10 @@ ...@@ -4661,10 +4647,10 @@
let modelPrice = res.data.data.modelPrice; let modelPrice = res.data.data.modelPrice;
this.addMsg = x; this.addMsg = x;
this.DealDiscountMoney = this.addMsg.DiscountMoney+this.addMsg.RedEnvelopeMoney; this.DealDiscountMoney = this.addMsg.DiscountMoney + this.addMsg.RedEnvelopeMoney;
this.LessNPrice = this.addMsg.LessMaxPrice;//先初始化 最高少价 this.LessNPrice = this.addMsg.LessMaxPrice; //先初始化 最高少价
this.LessNAvgPrice = this.addMsg.LessMaxAvgPrice; this.LessNAvgPrice = this.addMsg.LessMaxAvgPrice;
if(this.addMsg.IsLessPrice==1){ if (this.addMsg.IsLessPrice == 1) {
this.getLessRuleList(); this.getLessRuleList();
} }
if (x.QuotationUrl) { if (x.QuotationUrl) {
...@@ -4932,7 +4918,7 @@ ...@@ -4932,7 +4918,7 @@
this.remarksMsg.UnionRemark = obj.unionRemark; this.remarksMsg.UnionRemark = obj.unionRemark;
this.remarksMsg.IsIntermodal = obj.isIntermodal; this.remarksMsg.IsIntermodal = obj.isIntermodal;
this.remarksMsg.TeamType = obj.teamType; this.remarksMsg.TeamType = obj.teamType;
this.remarksMsg.isOrder = obj.isOrder; this.remarksMsg.isOrder = obj.isOrder;
this.isShowLayerRemarks = true; this.isShowLayerRemarks = true;
} }
}, },
...@@ -5167,15 +5153,17 @@ ...@@ -5167,15 +5153,17 @@
dandijie = dandijie =
this.addObj.SingleDMCPrice * Number(this.addMsg.AirticketNum); this.addObj.SingleDMCPrice * Number(this.addMsg.AirticketNum);
} }
//退景点费用 //退景点费用
var refundScenicPrice =0; var refundScenicPrice = 0;
if(this.addMsg.ScenicList!=null&&this.addMsg.ScenicList.length>0){ if (this.addMsg.ScenicList != null && this.addMsg.ScenicList.length > 0) {
var totalGuest=(Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)) var totalGuest = (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg
this.addMsg.ScenicList.forEach(item => { .OldPeopleNum))
if(totalGuest>=item.Number){ this.addMsg.ScenicList.forEach(item => {
refundScenicPrice+=item.Number*item.RefundMoney;} if (totalGuest >= item.Number) {
}); refundScenicPrice += item.Number * item.RefundMoney;
} }
});
}
this.addMsg.PreferPrice = this.addMsg.PreferPrice =
this.OpSetLossMoney + this.OpSetLossMoney +
dandijie + dandijie +
...@@ -5186,31 +5174,40 @@ ...@@ -5186,31 +5174,40 @@
laoren + laoren +
zafeiqianzhen + zafeiqianzhen +
danfang + danfang +
ertongbed -refundScenicPrice; ertongbed - refundScenicPrice;
// this.ScenicRefundMoney * // this.ScenicRefundMoney *
// (Number(this.addMsg.ManNum) + // (Number(this.addMsg.ManNum) +
// Number(this.addMsg.ChirdNum) + // Number(this.addMsg.ChirdNum) +
// Number(this.addMsg.OldPeopleNum)); // Number(this.addMsg.OldPeopleNum));
//ld 2025-01-22 少价管理 //ld 2025-01-22 少价管理
if(this.addMsg.IsLessPrice ==1 && this.addMsg.GroupType ==1 && (this.addMsg.CustomerType=='1' ||this.addMsg.CustomerType=='2') && this.addMsg.LineId>0 && this.LessRule && this.LessRule.length>0){ if (this.addMsg.IsLessPrice == 1 && this.addMsg.GroupType == 1 && (this.addMsg.CustomerType == '1' || this
.addMsg.CustomerType == '2') && this.addMsg.LineId > 0 && this.LessRule && this.LessRule.length > 0) {
let LessNum = (Number(this.addMsg.ManNum) + let LessNum = (Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) + Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum)); Number(this.addMsg.OldPeopleNum));
let LessSlinge =0; let LessSlinge = 0;
// 首先抓取 人数对应的 少价金额 // 首先抓取 人数对应的 少价金额
this.LessRule.forEach((ritem) => { this.LessRule.forEach((ritem) => {
if(ritem.LineIdList.includes(this.addMsg.LineId)){ if (ritem.LineIdList.includes(this.addMsg.LineId)) {
// 使用这个规则 // 使用这个规则
ritem.RuleList.forEach((qitem)=>{ ritem.RuleList.forEach((qitem) => {
if(qitem.StartValue<=LessNum){LessSlinge= Number(qitem.Rate);} if (qitem.StartValue <= LessNum) {
}); LessSlinge = Number(qitem.Rate);
} }
}); });
this.LessNAvgPrice = LessSlinge; }
this.LessNPrice = LessSlinge * LessNum; });
if(this.LessNPrice==0){this.addMsg.LessPrice=0; this.addMsg.LessAvgPrice=0;} this.LessNAvgPrice = LessSlinge;
if(this.addMsg.LessAvgPrice>this.LessNAvgPrice){this.addMsg.LessAvgPrice=this.LessNAvgPrice; this.addMsg.LessPrice = this.addMsg.LessAvgPrice * LessNum;} this.LessNPrice = LessSlinge * LessNum;
if (this.LessNPrice == 0) {
this.addMsg.LessPrice = 0;
this.addMsg.LessAvgPrice = 0;
}
if (this.addMsg.LessAvgPrice > this.LessNAvgPrice) {
this.addMsg.LessAvgPrice = this.LessNAvgPrice;
this.addMsg.LessPrice = this.addMsg.LessAvgPrice * LessNum;
}
} }
this.addMsg.PreferPrice = this.addMsg.PreferPrice - this.addMsg.LessPrice - this.DealDiscountMoney; this.addMsg.PreferPrice = this.addMsg.PreferPrice - this.addMsg.LessPrice - this.DealDiscountMoney;
...@@ -5266,15 +5263,17 @@ ...@@ -5266,15 +5263,17 @@
dandijie = dandijie =
this.addObj.SingleDMCPrice * Number(this.addMsg.AirticketNum); this.addObj.SingleDMCPrice * Number(this.addMsg.AirticketNum);
} }
//退景点费用 //退景点费用
var refundScenicPrice =0; var refundScenicPrice = 0;
if(this.addMsg.ScenicList!=null&&this.addMsg.ScenicList.length>0){ if (this.addMsg.ScenicList != null && this.addMsg.ScenicList.length > 0) {
var totalGuest=(Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)) var totalGuest = (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg
this.addMsg.ScenicList.forEach(item => { .OldPeopleNum))
if(totalGuest>=item.Number){ this.addMsg.ScenicList.forEach(item => {
refundScenicPrice+=item.Number*item.RefundMoney;} if (totalGuest >= item.Number) {
}); refundScenicPrice += item.Number * item.RefundMoney;
} }
});
}
this.addMsg.PreferPrice = this.addMsg.PreferPrice =
this.OpSetLossMoney + this.OpSetLossMoney +
dandijie + dandijie +
...@@ -5285,31 +5284,40 @@ ...@@ -5285,31 +5284,40 @@
laoren + laoren +
zafeiqianzhen + zafeiqianzhen +
danfang + danfang +
ertongbed -refundScenicPrice; ertongbed - refundScenicPrice;
// this.ScenicRefundMoney * // this.ScenicRefundMoney *
// (Number(this.addMsg.ManNum) + // (Number(this.addMsg.ManNum) +
// Number(this.addMsg.ChirdNum) + // Number(this.addMsg.ChirdNum) +
// Number(this.addMsg.OldPeopleNum)); // Number(this.addMsg.OldPeopleNum));
//ld 2025-01-22 少价管理 //ld 2025-01-22 少价管理
if(this.addMsg.IsLessPrice ==1 && this.addMsg.GroupType ==1 && (this.addMsg.CustomerType=='1' ||this.addMsg.CustomerType=='2') && this.addMsg.LineId>0 && this.LessRule && this.LessRule.length>0){ if (this.addMsg.IsLessPrice == 1 && this.addMsg.GroupType == 1 && (this.addMsg.CustomerType == '1' || this
.addMsg.CustomerType == '2') && this.addMsg.LineId > 0 && this.LessRule && this.LessRule.length > 0) {
let LessNum = (Number(this.addMsg.ManNum) + let LessNum = (Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) + Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum)); Number(this.addMsg.OldPeopleNum));
let LessSlinge =0; let LessSlinge = 0;
// 首先抓取 人数对应的 少价金额 // 首先抓取 人数对应的 少价金额
this.LessRule.forEach((ritem) => { this.LessRule.forEach((ritem) => {
if(ritem.LineIdList.includes(this.addMsg.LineId)){ if (ritem.LineIdList.includes(this.addMsg.LineId)) {
// 使用这个规则 // 使用这个规则
ritem.RuleList.forEach((qitem)=>{ ritem.RuleList.forEach((qitem) => {
if(qitem.StartValue<=LessNum){LessSlinge= Number(qitem.Rate);} if (qitem.StartValue <= LessNum) {
}); LessSlinge = Number(qitem.Rate);
} }
}); });
this.LessNAvgPrice = LessSlinge; }
this.LessNPrice = LessSlinge * LessNum; });
if(this.LessNPrice==0){this.addMsg.LessPrice=0; this.addMsg.LessAvgPrice=0;} this.LessNAvgPrice = LessSlinge;
if(this.addMsg.LessAvgPrice>this.LessNAvgPrice){this.addMsg.LessAvgPrice=this.LessNAvgPrice; this.addMsg.LessPrice = this.addMsg.LessAvgPrice * LessNum;} this.LessNPrice = LessSlinge * LessNum;
if (this.LessNPrice == 0) {
this.addMsg.LessPrice = 0;
this.addMsg.LessAvgPrice = 0;
}
if (this.addMsg.LessAvgPrice > this.LessNAvgPrice) {
this.addMsg.LessAvgPrice = this.LessNAvgPrice;
this.addMsg.LessPrice = this.addMsg.LessAvgPrice * LessNum;
}
} }
this.addMsg.PreferPrice = this.addMsg.PreferPrice - this.addMsg.LessPrice - this.DealDiscountMoney; this.addMsg.PreferPrice = this.addMsg.PreferPrice - this.addMsg.LessPrice - this.DealDiscountMoney;
} }
...@@ -5566,7 +5574,7 @@ ...@@ -5566,7 +5574,7 @@
this.addMsg.IsChildrenTour = this.IsChildrenTour; this.addMsg.IsChildrenTour = this.IsChildrenTour;
this.addMsg.IsBirdDiscount = this.addObj.IsBirdDiscount; this.addMsg.IsBirdDiscount = this.addObj.IsBirdDiscount;
this.addMsg.IsDealDiscount = 1; this.addMsg.IsDealDiscount = 1;
this.addMsg.ScenicRefundArr = []; this.addMsg.ScenicRefundArr = [];
this.apipost( this.apipost(
"sellorder_post_SetOrderInfo_02", "sellorder_post_SetOrderInfo_02",
this.addMsg, this.addMsg,
...@@ -6252,58 +6260,62 @@ ...@@ -6252,58 +6260,62 @@
this.addMsg.QuotationUrl = ""; this.addMsg.QuotationUrl = "";
}, },
getLessRuleList() { getLessRuleList() {
let msg = {}; let msg = {};
this.apipost( this.apipost(
"sellorder_post_GetTravelLessPriceRuleList_V2", "sellorder_post_GetTravelLessPriceRuleList_V2",
msg, msg,
(res) => { (res) => {
this.LessRule = res.data.data; this.LessRule = res.data.data;
//做初始化 //做初始化
let LessNum = (Number(this.addMsg.ManNum) + let LessNum = (Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) + Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum)); Number(this.addMsg.OldPeopleNum));
let LessSlinge =0; let LessSlinge = 0;
// 首先抓取 人数对应的 少价金额 // 首先抓取 人数对应的 少价金额
this.LessRule.forEach((ritem) => { this.LessRule.forEach((ritem) => {
if(ritem.LineIdList.includes(this.addMsg.LineId)){ if (ritem.LineIdList.includes(this.addMsg.LineId)) {
// 使用这个规则 // 使用这个规则
ritem.RuleList.forEach((qitem)=>{ ritem.RuleList.forEach((qitem) => {
if(qitem.StartValue<=LessNum){LessSlinge= Number(qitem.Rate);} if (qitem.StartValue <= LessNum) {
}); LessSlinge = Number(qitem.Rate);
} }
}); });
this.LessNAvgPrice = LessSlinge; }
this.LessNPrice = LessSlinge * LessNum; });
}, this.LessNAvgPrice = LessSlinge;
(err) => {} this.LessNPrice = LessSlinge * LessNum;
); },
}, (err) => {}
ValidateLess(){ );
if(this.addMsg.LessPrice>this.LessNPrice){ },
this.addMsg.LessPrice =this.LessNPrice; ValidateLess() {
} if (this.addMsg.LessPrice > this.LessNPrice) {
if(this.addMsg.LessPrice>=0){ this.addMsg.LessPrice = this.LessNPrice;
let LessNum = (Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
if(LessNum==0){this.addMsg.LessAvgPrice=0;}else{
this.addMsg.LessAvgPrice = this.moneyFormatN(this.addMsg.LessPrice / LessNum);
} }
if (this.addMsg.LessPrice >= 0) {
let LessNum = (Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
if (LessNum == 0) {
this.addMsg.LessAvgPrice = 0;
} else {
this.addMsg.LessAvgPrice = this.moneyFormatN(this.addMsg.LessPrice / LessNum);
}
}
this.getTotalPrice();
},
ValidateLess2() {
if (this.addMsg.LessAvgPrice > this.LessNAvgPrice) {
this.addMsg.LessAvgPrice = this.LessNAvgPrice;
}
if (this.addMsg.LessAvgPrice >= 0) {
let LessNum = (Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
this.addMsg.LessPrice = this.addMsg.LessAvgPrice * LessNum;
}
this.getTotalPrice();
} }
this.getTotalPrice();
},
ValidateLess2(){
if(this.addMsg.LessAvgPrice>this.LessNAvgPrice){
this.addMsg.LessAvgPrice =this.LessNAvgPrice;
}
if(this.addMsg.LessAvgPrice>=0){
let LessNum = (Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
this.addMsg.LessPrice = this.addMsg.LessAvgPrice * LessNum;
}
this.getTotalPrice();
}
}, },
mounted() { mounted() {
const that = this; const that = this;
......
...@@ -997,7 +997,7 @@ ...@@ -997,7 +997,7 @@
.RegistrationList .GO_SimulaDrop { .RegistrationList .GO_SimulaDrop {
position: absolute; position: absolute;
right: 10px; right: 5px;
top: 5px; top: 5px;
color: #d1d1d1; color: #d1d1d1;
} }
...@@ -1007,7 +1007,7 @@ ...@@ -1007,7 +1007,7 @@
height: 24px; height: 24px;
margin: 0 3px 3px 0; margin: 0 3px 3px 0;
overflow: hidden; overflow: hidden;
max-width: 200px; max-width: 194px;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
font-size: 12px; font-size: 12px;
...@@ -1069,29 +1069,14 @@ ...@@ -1069,29 +1069,14 @@
.SimulateDrop-box { .SimulateDrop-box {
width: 210px; width: 210px;
min-height: 34px; min-height: 34px;
max-height: 68px;
overflow-y: scroll;
position: relative; position: relative;
padding: 5px 21px 5px 6px; padding: 5px 21px 5px 6px;
float: left; float: left;
/* margin: 4px 0 0 10px; */
border: 1px solid #d1d1d1; border: 1px solid #d1d1d1;
} }
.SD_flight {
display: inline-block;
height: 24px;
margin: 0 3px 3px 0;
padding: 0 8px;
line-height: 22px;
background-color: #f0f2f5;
}
.SimulaDrop {
position: absolute;
top: 3px;
right: 10px;
color: #c0c4cc;
}
._TravelPricePopover .jiDiv { ._TravelPricePopover .jiDiv {
width: 750px; width: 750px;
max-height: 400px; max-height: 400px;
...@@ -1756,9 +1741,7 @@ ...@@ -1756,9 +1741,7 @@
<td> <td>
<el-input class="w80" type="Number" :max='addMsg.GuestNum' v-model="item.Number" <el-input class="w80" type="Number" :max='addMsg.GuestNum' v-model="item.Number"
@keyup.native="initScenic()"></el-input> @keyup.native="initScenic()"></el-input>
<!-- -->
</td> </td>
</tr> </tr>
</table> </table>
</div> </div>
...@@ -1766,7 +1749,7 @@ ...@@ -1766,7 +1749,7 @@
<div slot="reference" class="SimulateDrop-box"> <div slot="reference" class="SimulateDrop-box">
<span class="SD_flight" <span class="SD_flight"
v-for="subItem in addMsg.ScenicList">{{subItem.ScenicName}}*{{subItem.Number}}</span> v-for="subItem in addMsg.ScenicList">{{subItem.ScenicName}}*{{subItem.Number}}</span>
<i class="iconfont icon-arrow-down SimulaDrop"></i> <i class="iconfont icon-arrow-down GO_SimulaDrop"></i>
</div> </div>
</el-popover> </el-popover>
</el-form-item> </el-form-item>
......
...@@ -60,6 +60,8 @@ ...@@ -60,6 +60,8 @@
/deep/.SimulateDrop-box { /deep/.SimulateDrop-box {
width: 176px; width: 176px;
min-height: 34px; min-height: 34px;
max-height: 68px;
overflow-y:scroll;
position: relative; position: relative;
padding: 5px 21px 5px 6px; padding: 5px 21px 5px 6px;
float: left; float: left;
...@@ -608,56 +610,7 @@ ...@@ -608,56 +610,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</template> </template>
<el-col :span="4" v-if="showCity && pagesTitle == '跟团游产品'">
<!-- {{ScenicRefundList}} -->
<el-form-item :label="$t('salesModule.ScenicRefund')">
<el-popover popper-class="_TravelPricePopover" trigger="click">
<div>
<div class="ScenicDiv">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<!-- <td class="_color_666">{{$t('fnc.xuanze')}}</td> -->
<td class="_color_666">{{$t('visaT.jdname')}}</td>
<td class="_color_666">{{$t('fnc.tkjine')}}</td>
<td class="_color_666">{{$t('fnc.qxrenshu')}}</td>
</tr>
<tr v-for="item in ScenicRefundList">
<!-- <td>
<el-checkbox :checked="item.IsChecked" ></el-checkbox>
@change="getScenic(item)"
</td> -->
<td>
{{item.CouponsName}}
</td>
<td>
-¥{{item.RefundMoney}}
</td>
<td>
<el-input class="w80" type="Number" :max='addMsg.GuestNum' v-model="item.Number"
@keyup.native="initScenic()"></el-input>
<!-- -->
</td>
</tr>
</table>
</div>
</div>
<div slot="reference" class="SimulateDrop-box">
<span class="SD_flight"
v-for="subItem in addMsg.ScenicList">{{subItem.ScenicName}}*{{subItem.Number}}</span>
<i class="iconfont icon-arrow-down SimulaDrop"></i>
</div>
</el-popover>
</el-form-item>
<!-- <el-form-item :label="$t('salesModule.ScenicRefund')">
<el-select filterable multiple class="multiple_input" v-model="addMsg.ScenicRefundArr"
:placeholder="$t('pub.pleaseSel')" @change="ScenicRefundMethods">
<el-option v-for="(item, index) in ScenicRefundList" :label="item.ScenicName" :value="item.Id"
:key="index">
</el-option>
</el-select>
</el-form-item> -->
</el-col>
<el-col :span="4" v-if="showCity || pagesTitle == '当地游产品'"> <el-col :span="4" v-if="showCity || pagesTitle == '当地游产品'">
<el-form-item :label="$t('salesModule.MsgMoney')"> <el-form-item :label="$t('salesModule.MsgMoney')">
<el-select filterable v-model="addMsg.IsShowMessagesMoney" :placeholder="$t('pub.pleaseSel')"> <el-select filterable v-model="addMsg.IsShowMessagesMoney" :placeholder="$t('pub.pleaseSel')">
...@@ -730,7 +683,45 @@ ...@@ -730,7 +683,45 @@
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4" v-if="showCity && pagesTitle == '跟团游产品'">
<el-form-item :label="$t('salesModule.ScenicRefund')">
<el-popover popper-class="_TravelPricePopover" trigger="click">
<div>
<div class="ScenicDiv">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="_color_666">{{$t('visaT.jdname')}}</td>
<td class="_color_666">{{$t('fnc.tkjine')}}</td>
<td class="_color_666">{{$t('fnc.qxrenshu')}}</td>
<td class="_color_666">{{$t('fnc.tkjine')}}</td>
</tr>
<tr v-for="item in ScenicRefundList">
<td>
{{item.CouponsName}}
</td>
<td>
-¥{{item.RefundMoney}}
</td>
<td>
<el-input class="w80" type="Number" :max='addMsg.GuestNum' v-model="item.Number"
@keyup.native="initScenic()"></el-input>
</td>
<td>
- {{item.Number*item.RefundMoney}}
</td>
</tr>
</table>
</div>
</div>
<div slot="reference" class="SimulateDrop-box">
<span class="SD_flight" v-for="subItem in addMsg.ScenicList">{{subItem.ScenicName}}</span>
<i class="iconfont icon-arrow-down SimulaDrop"></i>
</div>
</el-popover>
</el-form-item>
</el-col>
</el-row> </el-row>
<template v-if="pagesTitle == '当地游产品'"> <template v-if="pagesTitle == '当地游产品'">
<el-row :gutter="20" style="margin-bottom: 20px"> <el-row :gutter="20" style="margin-bottom: 20px">
<el-col :span="24"> <el-col :span="24">
...@@ -2048,7 +2039,7 @@ ...@@ -2048,7 +2039,7 @@
} }
}); });
} }
//单地接 //单地接
let dandijie = 0; let dandijie = 0;
if (this.addMsg.GroupType == 4) { if (this.addMsg.GroupType == 4) {
......
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