Commit c78a729d authored by liudong1993's avatar liudong1993

1 少价管理

parent 53679467
......@@ -1211,6 +1211,7 @@ export const obj = {
liangyunxx: 'Intermodal Information',
yipeilianyun: 'Integrated transport',
tejiasheqinghan: 'Special Offer Request Letter',
saleless: 'Sales have been reduced in price',
weishenqing: 'Did not apply',
shengpizhong: 'Under approval',
shengqingsm: 'Application Instructions',
......@@ -6759,6 +6760,7 @@ export const obj = {
xianluxilie: 'Line/Series ',
zuidarenshu: 'Maximum number of people ',
shaojiajine: 'Low price amount ',
shaojiazonge: 'Low price total amount',
jianshaotic: 'Cut the cut ',
shifsccsjiaxxi: 'Do you want to delete this cheap information? ',
xinzenbjyy: 'New background music ',
......
......@@ -1211,6 +1211,7 @@ export const obj = {
liangyunxx: '連絡運輸情報',
yipeilianyun: 'ありがとうございます',
tejiasheqinghan: '特価申し込み函',
saleless: '販売価格が減少しました',
weishenqing: '未申請',
shengpizhong: '承認中',
shengqingsm: '申し込みます',
......@@ -6759,6 +6760,7 @@ export const obj = {
xianluxilie: '回線/シリーズ',
zuidarenshu: '最大人数',
shaojiajine: '少額',
shaojiazonge: '少价总额',
jianshaotic: '歩合を減らす',
shifsccsjiaxxi: 'この少額情報を削除しますか?',
xinzenbjyy: '新しいBGM',
......
......@@ -1211,6 +1211,7 @@ export const obj = {
liangyunxx: '联运信息',
yipeilianyun: '已配联运',
tejiasheqinghan: '特价申请函',
saleless: '销售已少价',
weishenqing: '未申请',
shengpizhong: '审批中',
shengqingsm: '申请说明',
......@@ -6759,6 +6760,7 @@ export const obj = {
xianluxilie: '线路/系列',
zuidarenshu: '最大人数',
shaojiajine: '少价金额',
shaojiazonge: '少价总额',
jianshaotic: '减少提成',
shifsccsjiaxxi: '是否删除此少价信息?',
xinzenbjyy: '新增背景音乐',
......
......@@ -1211,6 +1211,7 @@ export const obj = {
liangyunxx: '聯運信息',
yipeilianyun: '已配聯運',
tejiasheqinghan: '特價申請函',
saleless: '銷售已少價',
weishenqing: '未申請',
shengpizhong: '審批中',
shengqingsm: '申請說明',
......@@ -6759,6 +6760,7 @@ export const obj = {
xianluxilie: '線路/系列',
zuidarenshu: '最大人數',
shaojiajine: '少價金額',
shaojiazonge: '少价总额',
jianshaotic: '減少提成',
shifsccsjiaxxi: '是否刪除此少價信息?',
xinzenbjyy: '新增背景音樂',
......
......@@ -764,6 +764,9 @@
width: 200px;
}
.el-input-group__append, .el-input-group__prepend {
padding: 0 5px !important;
}
</style>
<template>
<div class="flexOne groupts" style="min-width: 1200px">
......@@ -930,6 +933,11 @@
"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" v-if="addMsg.IsLessPrice ==1 && this.addMsg.GroupType ==1">
<el-form-item label="少价/人" prop="LessAvgPrice">
<el-input type="Number" v-model="addMsg.LessAvgPrice" @change="ValidateLess2"><template slot="append">最高{{LessNAvgPrice}}/人</template></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<p v-if="IsChildrenTour == 2" style="
color: #e95252;
......@@ -1087,6 +1095,11 @@
</el-form>
</div>
</el-col>
<el-col :span="4" v-if="addMsg.IsLessPrice ==1 && this.addMsg.GroupType ==1">
<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-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('salesModule.YJTC')" prop="Commission">
<el-input v-model="addMsg.Commission" :disabled="true"></el-input>
......@@ -2301,6 +2314,10 @@
</div>
</td>
<td colspan="4" class="groupTourOrder_SpecialAPP" stysle="height: 40px;">
<div v-if="item.lessPrice>0">
<span>{{ $t('objFill.saleless') }}:</span>
<span class="font-color-red">{{item.lessPrice}}</span>
</div>
<div>
{{$t('objFill.tejiasheqinghan')}}:
<template v-if="item.orderspecialofferId === 0">
......@@ -2630,6 +2647,9 @@
CommissionShareMoney: "0",
OneSex: 0,
QuotationUrl: "", //单团附件
LessPrice:"0",
LessAvgPrice:"0",
IsLessPrice:"0"
},
uploadLloading: false,
fileFujianList: [],
......@@ -2815,6 +2835,9 @@
F_Finance_Create: false, //制单权限
F_ContractManagement: false, //合同权限
userInfo: {},
LessRule:[],
LessNPrice:0,
LessNAvgPrice:0
};
},
components: {
......@@ -3667,6 +3690,11 @@
this.addObj.OpSetLossMoney = x.OpSetLossMoney;
this.addMsg = x;
this.LessNPrice = this.addMsg.LessMaxPrice;//先初始化 最高少价
this.LessNAvgPrice = this.addMsg.LessMaxAvgPrice;
if(this.addMsg.IsLessPrice==1){
this.getLessRuleList();
}
if (x.QuotationUrl) {
this.fileFujianList = [{
name: "baojiadan",
......@@ -4145,6 +4173,28 @@
(Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
//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){
let LessNum = (Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
let LessSlinge =0;
// 首先抓取 人数对应的 少价金额
this.LessRule.forEach((ritem) => {
if(ritem.LineIdList.includes(this.addMsg.LineId)){
// 使用这个规则
ritem.RuleList.forEach((qitem)=>{
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;}
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;
} else {
let chengren =
Number(this.addMsg.ManNum) * Number(this.addMsg.Unit_Price);
......@@ -4211,6 +4261,28 @@
(Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
//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){
let LessNum = (Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
let LessSlinge =0;
// 首先抓取 人数对应的 少价金额
this.LessRule.forEach((ritem) => {
if(ritem.LineIdList.includes(this.addMsg.LineId)){
// 使用这个规则
ritem.RuleList.forEach((qitem)=>{
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;}
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.getTicheng();
......@@ -4338,6 +4410,8 @@
this.addMsg.OldPeopleNum = "0";
this.addMsg.SingleRoomNum = "0";
this.addMsg.PreferPrice = "0";
this.addMsg.LessPrice = "0";
this.addMsg.LessAvgPrice = "0";
this.addMsg.YSeatNum = "0";
this.addMsg.ESeatNum = "0";
this.addMsg.FSeatNum = "0";
......@@ -4941,6 +5015,59 @@
removeFileFJ(e) {
this.addMsg.QuotationUrl = "";
},
getLessRuleList() {
let msg = {};
this.apipost(
"sellorder_post_GetTravelLessPriceRuleList",
msg,
(res) => {
this.LessRule = res.data.data;
//做初始化
let LessNum = (Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
let LessSlinge =0;
// 首先抓取 人数对应的 少价金额
this.LessRule.forEach((ritem) => {
if(ritem.LineIdList.includes(this.addMsg.LineId)){
// 使用这个规则
ritem.RuleList.forEach((qitem)=>{
if(qitem.StartValue<=LessNum){LessSlinge= Number(qitem.Rate);}
});
}
});
this.LessNAvgPrice = LessSlinge;
this.LessNPrice = LessSlinge * LessNum;
},
(err) => {}
);
},
ValidateLess(){
if(this.addMsg.LessPrice>this.LessNPrice){
this.addMsg.LessPrice =this.LessNPrice;
}
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();
}
},
mounted() {
this.qjGroupId = this.QjGroupId();
......
......@@ -875,6 +875,9 @@
width: 200px;
}
.el-input-group__append, .el-input-group__prepend {
padding: 0 5px !important;
}
</style>
<template>
......@@ -1235,7 +1238,7 @@
<el-input v-model="addMsg.Unit_Price" @change="getTotalPrice(3)"></el-input>
</el-form-item>
</template>
<el-form-item label="$t('salesModule.UpTeamPrice')" v-show="addMsg.GroupType != 4">
<el-form-item :label="$t('salesModule.UpTeamPrice')" v-show="addMsg.GroupType != 4">
<el-switch v-model="HightUnitPrice" active-value="1" inactive-value="2"></el-switch>
</el-form-item>
<el-form-item v-show="addMsg.GroupType != 4">
......@@ -1282,6 +1285,11 @@
"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" v-if="addMsg.IsLessPrice ==1 && this.addMsg.GroupType ==1">
<el-form-item label="少价/人" prop="LessAvgPrice">
<el-input type="Number" v-model="addMsg.LessAvgPrice" @change="ValidateLess2"><template slot="append">最高{{LessNAvgPrice}}/人</template></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<p v-if="IsChildrenTour == 2" style="
color: #e95252;
......@@ -1436,6 +1444,11 @@
</el-form>
</div>
</el-col>
<el-col :span="4" v-if="addMsg.IsLessPrice ==1 && this.addMsg.GroupType ==1">
<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-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('salesModule.YJTC')" prop="Commission">
<el-input v-model="addMsg.Commission" :disabled="true"></el-input>
......@@ -2565,6 +2578,10 @@
</div>
</td>
<td colspan="4" class="groupTourOrder_SpecialAPP" stysle="height: 40px;">
<div v-if="item.lessPrice>0 && (item.isOwn == 1 || IsSupperOrderEdit || isUpdateOrder)">
<span>{{ $t('objFill.saleless') }}:</span>
<span class="font-color-red">{{item.lessPrice}}</span>
</div>
<div v-if="item.isOwn == 1 || IsSupperOrderEdit || isUpdateOrder">
{{$t('objFill.tejiasheqinghan')}}:
<template v-if="item.orderspecialofferId === 0">
......@@ -3450,6 +3467,9 @@
CommissionShareMoney: "0",
OneSex: 0,
QuotationUrl: "", //单团附件
LessPrice:"0",
LessAvgPrice:"0",
IsLessPrice:"0"
},
uploadLloading: false,
fileFujianList: [],
......@@ -3677,6 +3697,9 @@
SQcheckdAll: true,
SQPhotoNum: "",
SQOrderId: "",
LessRule:[],
LessNPrice:0,
LessNAvgPrice:0
};
},
components: {
......@@ -4553,6 +4576,11 @@
let modelPrice = res.data.data.modelPrice;
this.addMsg = x;
this.LessNPrice = this.addMsg.LessMaxPrice;//先初始化 最高少价
this.LessNAvgPrice = this.addMsg.LessMaxAvgPrice;
if(this.addMsg.IsLessPrice==1){
this.getLessRuleList();
}
if (x.QuotationUrl) {
this.fileFujianList = [{
name: "baojiadan",
......@@ -5067,6 +5095,29 @@
(Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
//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){
let LessNum = (Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
let LessSlinge =0;
// 首先抓取 人数对应的 少价金额
this.LessRule.forEach((ritem) => {
if(ritem.LineIdList.includes(this.addMsg.LineId)){
// 使用这个规则
ritem.RuleList.forEach((qitem)=>{
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;}
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;
} else {
let chengren =
Number(this.addMsg.ManNum) * Number(this.addMsg.Unit_Price);
......@@ -5135,6 +5186,28 @@
(Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
//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){
let LessNum = (Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
let LessSlinge =0;
// 首先抓取 人数对应的 少价金额
this.LessRule.forEach((ritem) => {
if(ritem.LineIdList.includes(this.addMsg.LineId)){
// 使用这个规则
ritem.RuleList.forEach((qitem)=>{
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;}
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;
}
} else {
this.addMsg.PreferPrice =
......@@ -5277,6 +5350,8 @@
this.addMsg.OldPeopleNum = "0";
this.addMsg.SingleRoomNum = "0";
this.addMsg.PreferPrice = "0";
this.addMsg.LessPrice = "0";
this.addMsg.LessAvgPrice = "0";
this.addMsg.YSeatNum = "0";
this.addMsg.ESeatNum = "0";
this.addMsg.FSeatNum = "0";
......@@ -6078,6 +6153,59 @@
removeFileFJ(e) {
this.addMsg.QuotationUrl = "";
},
getLessRuleList() {
let msg = {};
this.apipost(
"sellorder_post_GetTravelLessPriceRuleList",
msg,
(res) => {
this.LessRule = res.data.data;
//做初始化
let LessNum = (Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
let LessSlinge =0;
// 首先抓取 人数对应的 少价金额
this.LessRule.forEach((ritem) => {
if(ritem.LineIdList.includes(this.addMsg.LineId)){
// 使用这个规则
ritem.RuleList.forEach((qitem)=>{
if(qitem.StartValue<=LessNum){LessSlinge= Number(qitem.Rate);}
});
}
});
this.LessNAvgPrice = LessSlinge;
this.LessNPrice = LessSlinge * LessNum;
},
(err) => {}
);
},
ValidateLess(){
if(this.addMsg.LessPrice>this.LessNPrice){
this.addMsg.LessPrice =this.LessNPrice;
}
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();
}
},
mounted() {
const that = this;
......
......@@ -1156,6 +1156,15 @@
></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('objFill.v101.shaojiajine')" prop="LessPrice">
<!-- <span>{{addMsg.LessPrice}}</span> -->
<el-input
v-model="addMsg.LessPrice"
:disabled="true"
></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="4">
<el-form-item :label="$t('salesModule.YJTC')" prop="Commission">
<el-input v-model='addMsg.Commission' :disabled="true"></el-input>
......@@ -2718,6 +2727,7 @@ export default {
OldPeopleNum: "0",
SingleRoomNum: "0",
PreferPrice: 0,
LessPrice:0,
YSeatNum: "0",
ESeatNum: "0",
FSeatNum: "0",
......@@ -2901,6 +2911,7 @@ export default {
userInfo: {},
TotalNumber: 0,
crmOrderObj: null,
LessRule:[]
};
},
components: {
......@@ -2993,6 +3004,7 @@ export default {
this.addMsg.ChirdNeedBedNum = 0;
this.addMsg.PreferPrice = 0;
this.addMsg.LessPrice=0;
this.addMsg.SafeNum = 0;
this.addMsg.VisaNum = 0;
this.addMsg.PredictRoomNum = 0;
......@@ -3008,6 +3020,7 @@ export default {
this.addMsg.ChirdNeedBedNum = 0;
this.addMsg.PreferPrice = 0;
this.addMsg.LessPrice=0;
this.addMsg.SafeNum = 0;
this.addMsg.VisaNum = 0;
this.addMsg.PredictRoomNum = 0;
......@@ -3799,6 +3812,23 @@ export default {
(Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
if(this.addObj.lineID>0 && this.LessRule && this.LessRule.length>0){
let LessNum = (Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
let LessSlinge =0;
// 首先抓取 人数对应的 少价金额
this.LessRule.forEach((ritem) => {
if(ritem.LineIdList.includes(this.addObj.lineID)){
// 使用这个规则
ritem.RuleList.forEach((qitem)=>{
if(qitem.StartValue<=LessNum){LessSlinge= Number(qitme.Rate);}
});
}
});
this.addMsg.LessPrice = LessSlinge * LessNum;
}
} else {
let chengren =
Number(this.addMsg.ManNum) * Number(this.addMsg.Unit_Price);
......@@ -3865,6 +3895,23 @@ export default {
(Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
if(this.addObj.lineID>0 && this.LessRule && this.LessRule.length>0){
let LessNum = (Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
let LessSlinge =0;
// 首先抓取 人数对应的 少价金额
this.LessRule.forEach((ritem) => {
if(ritem.LineIdList.includes(this.addObj.lineID)){
// 使用这个规则
ritem.RuleList.forEach((qitem)=>{
if(qitem.StartValue<=LessNum){LessSlinge= Number(qitme.Rate);}
});
}
});
this.addMsg.LessPrice = LessSlinge * LessNum;
}
}
this.getTicheng();
if (!t) {
......@@ -4510,7 +4557,18 @@ export default {
(err) => {}
);
},
getLessRuleList() {
//获取航空公司*
let msg = {};
this.apipost(
"sellorder_post_GetTravelLessPriceRuleList",
msg,
(res) => {
this.LessRule = res.data.data;
},
(err) => {}
);
},
getSalePlace() {
this.apipost(
"travel_get_GetTravelSelectEnum",
......@@ -4662,6 +4720,7 @@ export default {
this.getEmployee();
this.getCompanyList();
this.getList();
this.getLessRuleList();
this.getLineList();
this.getSalePlace();
this.getAirlineList();
......
......@@ -1060,6 +1060,10 @@
font-size: 12px;
border: 1px solid #e5e5e5;
}
.el-input-group__append, .el-input-group__prepend {
padding: 0 5px !important;
}
</style>
<template>
......@@ -1462,6 +1466,11 @@
"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" v-if="addMsg.IsLessPrice ==1 && this.addMsg.GroupType ==1">
<el-form-item label="少价/人" prop="LessAvgPrice">
<el-input type="Number" v-model="addMsg.LessAvgPrice" @change="ValidateLess2"><template slot="append">最高{{LessNAvgPrice}}/人</template></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<p v-if="IsChildrenTour == 2" style="color:#e95252;font-size:12px;line-height:40px;text-align:center;">
{{ $t("salesModule.NoSupplier") }}!
......@@ -1527,6 +1536,12 @@
"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('salesModule.SaleNum')" prop="SaleNum">
<el-input v-model="addMsg.SafeNum" @keyup.native="checkInteger(addMsg, 'SafeNum')"
@input="getTotalPrice()"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('salesModule.VisaNum')" prop="VisaNum">
<el-input v-model="addMsg.VisaNum" @keyup.native="checkInteger(addMsg, 'VisaNum')"
......@@ -1541,12 +1556,6 @@
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<el-form-item :label="$t('salesModule.SaleNum')" prop="SaleNum">
<el-input v-model="addMsg.SafeNum" @keyup.native="checkInteger(addMsg, 'SafeNum')"
@input="getTotalPrice()"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" v-if="addMsg.GroupTypeNeedHouse == '0'">
<el-form-item :label="$t('salesModule.PredictRoomNum')" prop="PredictRoomNum">
<el-input v-model="addMsg.PredictRoomNum" :disabled="true"></el-input>
......@@ -1607,6 +1616,11 @@
</el-form>
</div>
</el-col>
<el-col :span="4" v-if="addMsg.IsLessPrice ==1 && this.addMsg.GroupType ==1">
<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-form-item>
</el-col>
<el-col :span="4" v-show="addMsg.CustomerType == 1 || addMsg.CustomerType == 2">
<el-form-item :label="$t('salesModule.SharePeople')" prop="CommissionSharePeople">
<el-select :disabled="isUpdateSharePeople" filterable clearable @change="getTicheng"
......@@ -2919,6 +2933,10 @@
</template>
</td>
<td colspan="2" class="groupTourOrder_SpecialAPP" stysle="height: 40px;">
<div v-if="childItem.LessPrice>0">
<span>{{ $t('objFill.saleless') }}:</span>
<span class="font-color-red">{{childItem.LessPrice}}</span>
</div>
<div>
{{$t('objFill.tejiasheqinghan')}}:
<template v-if="childItem.OrderspecialofferId === 0">
......@@ -4110,6 +4128,9 @@
QuotationUrl: "", //单团附件
LuggageNum: "",
IsOneDay: 0,
LessPrice:"0",
LessAvgPrice:"0",
IsLessPrice:"0"
},
uploadLloading: false,
fileFujianList: [],
......@@ -4404,6 +4425,9 @@
ConfigId: "",
OfferId: "",
},
LessRule:[],
LessNPrice:0,
LessNAvgPrice:0
};
},
components: {
......@@ -4755,6 +4779,11 @@
this.addObj = res.data.data.modelPrice;
let x = res.data.data.model;
this.addMsg = x;
this.LessNPrice = this.addMsg.LessMaxPrice;//先初始化 最高少价
this.LessNAvgPrice = this.addMsg.LessMaxAvgPrice;
if(this.addMsg.IsLessPrice==1){
this.getLessRuleList();
}
if (x.QuotationUrl) {
this.fileFujianList = [{
name: "baojiadan",
......@@ -5562,6 +5591,28 @@
(Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
//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){
let LessNum = (Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
let LessSlinge =0;
// 首先抓取 人数对应的 少价金额
this.LessRule.forEach((ritem) => {
if(ritem.LineIdList.includes(this.addMsg.LineId)){
// 使用这个规则
ritem.RuleList.forEach((qitem)=>{
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;}
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;
} else {
let chengren =
Number(this.addMsg.ManNum) * Number(this.addMsg.Unit_Price);
......@@ -5629,6 +5680,28 @@
(Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
//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){
let LessNum = (Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
let LessSlinge =0;
// 首先抓取 人数对应的 少价金额
this.LessRule.forEach((ritem) => {
if(ritem.LineIdList.includes(this.addMsg.LineId)){
// 使用这个规则
ritem.RuleList.forEach((qitem)=>{
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;}
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;
}
} else {
this.addMsg.PreferPrice =
......@@ -5768,6 +5841,8 @@
this.addMsg.OldPeopleNum = "0";
this.addMsg.SingleRoomNum = "0";
this.addMsg.PreferPrice = "0";
this.addMsg.LessPrice = "0";
this.addMsg.LessAvgPrice = "0";
this.addMsg.YSeatNum = "0";
this.addMsg.ESeatNum = "0";
this.addMsg.FSeatNum = "0";
......@@ -6939,6 +7014,59 @@
this.$refs.dialog.getPostData();
});
},
getLessRuleList() {
let msg = {};
this.apipost(
"sellorder_post_GetTravelLessPriceRuleList",
msg,
(res) => {
this.LessRule = res.data.data;
//做初始化
let LessNum = (Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
let LessSlinge =0;
// 首先抓取 人数对应的 少价金额
this.LessRule.forEach((ritem) => {
if(ritem.LineIdList.includes(this.addMsg.LineId)){
// 使用这个规则
ritem.RuleList.forEach((qitem)=>{
if(qitem.StartValue<=LessNum){LessSlinge= Number(qitem.Rate);}
});
}
});
this.LessNAvgPrice = LessSlinge;
this.LessNPrice = LessSlinge * LessNum;
},
(err) => {}
);
},
ValidateLess(){
if(this.addMsg.LessPrice>this.LessNPrice){
this.addMsg.LessPrice =this.LessNPrice;
}
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();
}
},
mounted() {
const that = this;
......
......@@ -268,7 +268,9 @@
String11 = '',
Price11 = 0,
String12 = '',
Price12 = 0
Price12 = 0,
String13 = '',
Price13 = 0
let datas = '',
Total = 0
var TotalPNum = childItem.ChirdNum + childItem.ManNum + childItem.OldPeopleNum
......@@ -348,10 +350,13 @@
String12 = `+(${OrderPrice.SingleDMCPrice } * ${childItem.AirticketNum })`
Price12 = OrderPrice.SingleDMCPrice * childItem.AirticketNum
}
if (childItem.LessPrice > 0) {
String13 = `-${childItem.LessPrice}(销售少价)`
Price13 = childItem.LessPrice
}
datas =
`${String1}${String2}${String3}${String4}${String5}${String6}${String7}${String8}${String9}${String10}${String11}${String12}`
Total = Price1 + Price2 + Price3 + Price4 + Price5 + Price6 + Price7 + Price8 + Price9 + Price10 + Price11 +
Price12
`${String1}${String2}${String3}${String4}${String5}${String6}${String7}${String8}${String9}${String10}${String11}${String12}${String13}`
Total = Price1 + Price2 + Price3 + Price4 + Price5 + Price6 + Price7 + Price8 + Price9 + Price10 + Price11 + Price12 - Price13
return {
datas,
Total
......
......@@ -53,6 +53,9 @@
border-left: 1px solid #cccccc;
}
/deep/.commonOrderForm .el-input-group__append, .el-input-group__prepend {
padding: 0 5px !important;
}
</style>
<!--下单表单-->
<template>
......@@ -337,6 +340,11 @@
" @change="getNumGuest(),GetAutoCouponOrder()"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" v-if="priceObj.IsLessPrice ==1 && addMsg.GroupType ==1 && (addMsg.CustomerType=='1' ||addMsg.CustomerType=='2')">
<el-form-item label="少价/人" prop="LessAvgPrice">
<el-input type="Number" v-model="addMsg.LessAvgPrice" @change="ValidateLess2"><template slot="append">最高{{LessNAvgPrice}}/人</template></el-input>
</el-form-item>
</el-col>
<template v-if="pagesTitle == '跟团游产品'">
<el-col :span="4">
<p v-if="priceObj.IsSupportChildren == 2" style="
......@@ -479,6 +487,11 @@
<el-input v-model="addMsg.PreferPrice" :disabled="true"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" v-if="priceObj.IsLessPrice ==1 && addMsg.GroupType ==1 && (addMsg.CustomerType=='1' ||addMsg.CustomerType=='2')">
<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-form-item>
</el-col>
<el-col :span="4" v-show="addMsg.CustomerType == 1 || addMsg.CustomerType == 2">
<el-form-item :label="$t('salesModule.SharePeople')" prop="CommissionSharePeople">
<el-select :disabled="isUpdateSharePeople" filterable clearable @change="getTotalPrice"
......@@ -784,6 +797,8 @@
OldPeopleNum: "0",
SingleRoomNum: "0",
PreferPrice: "0",
LessPrice: "0",
LessAvgPrice: "0",
YSeatNum: "0",
ESeatNum: "0",
FSeatNum: "0",
......@@ -1015,6 +1030,9 @@
couponData: null,
couponList: [],
saveLoading: false,
LessRule:[],
LessNPrice:0,
LessNAvgPrice:0,
};
},
methods: {
......@@ -1152,6 +1170,8 @@
this.addMsg.OldPeopleNum = 0;
this.addMsg.PreferPrice = 0;
this.addMsg.LessPrice =0;
this.addMsg.LessAvgPrice=0;
this.addMsg.SafeNum = 0;
this.addMsg.VisaNum = 0;
this.addMsg.PredictRoomNum = 0;
......@@ -1164,6 +1184,8 @@
this.addMsg.OldPeopleNum = 0;
this.addMsg.PreferPrice = 0;
this.addMsg.LessPrice =0;
this.addMsg.LessAvgPrice=0;
this.addMsg.SafeNum = 0;
this.addMsg.VisaNum = 0;
this.addMsg.PredictRoomNum = 0;
......@@ -1917,6 +1939,28 @@
danfang +
ertongbed -
refundScenicPrice;
if(this.priceObj.IsLessPrice ==1 && this.addMsg.GroupType ==1 && (this.addMsg.CustomerType=='1' ||this.addMsg.CustomerType=='2') && this.priceObj.LineID>0 && this.LessRule && this.LessRule.length>0){
let LessNum = (Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
let LessSlinge =0;
// 首先抓取 人数对应的 少价金额
this.LessRule.forEach((ritem) => {
if(ritem.LineIdList.includes(this.priceObj.LineID)){
// 使用这个规则
ritem.RuleList.forEach((qitem)=>{
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;}
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;
}else{this.addMsg.LessPrice=0; this.addMsg.LessAvgPrice=0;}
this.getTicheng();
if (!t) {
this.getTypePrice();
......@@ -1973,6 +2017,8 @@
OldPeopleNum: "0",
SingleRoomNum: "0",
PreferPrice: "0",
LessPrice: "0",
LessAvgPrice: "0",
YSeatNum: "0",
ESeatNum: "0",
FSeatNum: "0",
......@@ -2470,9 +2516,48 @@
}
});
},
getLessRuleList() {
//获取航空公司*
let msg = {};
this.apipost(
"sellorder_post_GetTravelLessPriceRuleList",
msg,
(res) => {
this.LessRule = res.data.data;
},
(err) => {}
);
},
ValidateLess(){
if(this.addMsg.LessPrice>this.LessNPrice){
this.addMsg.LessPrice =this.LessNPrice;
}
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();
}
},
created() {
this.CurrentUserInfo = this.getLocalStorage();
this.getLessRuleList();
this.getCustomerType(); //获取客户类型
this.getPlatformAccountNew();
this.getJoinType(); //参团类型
......
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