Commit 04daa3d6 authored by youjie's avatar youjie

no message

parent 6738767f
<style>
@import "../../assets/css/newTravelManager.css";
</style>
<template>
<div class="productQueryList">
<ul v-if="list.length != 0">
<li v-for="(item, index) in list" :key="index">
<div class="dline">
<div class="d1">
<div v-if="item.IsB2B === 0" class="product_union1"></div>
<div v-if="item.IsUnionTravel === 1" class="product_union"></div>
<div v-if="item.IsWarning === 1" class="product_warning"></div>
<div class="d12" style="float: none; margin: auto">
<p><i class="iconfont icon-biaoti1"></i> {{ item.LineName }}</p>
<p class="d12TC">{{ item.TCNUM }}{{ item.TCID }}</p>
<p>{{ item.LtName }}</p>
<el-tooltip class="item" effect="dark" :content="item.Title" placement="top-start"
popper-class="max-w250">
<p class="d12p" @click="getJourney(item.ConfigID, item.TCID, item.LineName)" :title="item.Title">
{{ item.Title }}
</p>
</el-tooltip>
<p v-if="item.CustomerName&&item.CustomerName!=''" style="font-size: 11px;font-weight:bold;color:red">
<span v-if="item.CustomerName">客户名称:{{item.CustomerName}}
</span>
</p>
<p v-if="item.PriceOfferUrl&&item.PriceOfferUrl!=''">
<a style="color:blue;" :href="item.PriceOfferUrl" v-if="item.PriceOfferUrl" target="_blank">下载报价单</a>
</p>
</div>
</div>
<div class="d2">
<p style="text-align: left; text-indent: 50px">
<i class="iconfont icon-hangban1"></i>{{ $t("salesModule.GoFlight") }}
</p>
<p class="flightNo">
<em class="fl flem"
:title="item.flightList[0] && item.flightList[0].AlName">{{ item.flightList[0] && item.flightList[0].AlName }}</em>
<em class="fr">{{
item.flightList[0] && item.flightList[0].Flight_number
}}</em>
</p>
<div>
<div>
<p>
{{
item.flightList[0] && item.flightList[0].DepartureName
}}---------{{
item.flightList[0] && item.flightList[0].ArrivalCityName
}}
</p>
<p>
<span style="background-color: transparent; color: #000000">{{
item.flightList[0] && item.flightList[0].Departure_time
}}</span>
<el-popover width="900" trigger="click" popper-class="pro_tripDetails">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr class="_color_666" style="text-align: center">
<th width="60">{{ $t("Airticket.Air_segment") }}</th>
<th width="80">{{ $t("system.query_flightNum") }}</th>
<th width="150">{{ $t("system.ph_flightTime") }}</th>
<th width="80">
{{ $t("system.query_arrivalTime") }}
</th>
<th width="100">{{ $t("system.query_stopCity") }}</th>
<th width="60">{{ $t("admin.admin_status") }}</th>
</tr>
<tr v-for="(ds, din) in tripDetails" :key="din" style="text-align: center">
<td class="_d_name _color_666">
<span v-if="din == 0">{{
$t("Airticket.Air_go")
}}</span>
<span v-else-if="din == tripDetails.length - 1">{{
$t("Airticket.Air_returnTrip")
}}</span>
<span v-else-if="
din > 0 && din != tripDetails.length - 1
">{{ $t("Airticket.Air_transit") }}</span>
</td>
<td>
<div>{{ ds.Flight_number }}</div>
<div style="margin-top: 5px">{{ ds.AlName }}</div>
</td>
<td>
<div>
{{ ds.FlightDate }} {{ ds.Departure_time }}
</div>
<div style="margin-top: 5px">{{ ds.dName }}</div>
</td>
<td>
<div>
{{ ds.FlightArrivalTime }} {{ ds.Arrival_time }}
</div>
<div style="margin-top: 5px">{{ ds.aName }}</div>
</td>
<td>{{ ds.StopoverName }}</td>
<td>
<span v-if="ds.FlightState == 1" style="color: rgb(71, 191, 140) !important">OK</span>
<span v-else style="color: red !important">{{
$t("visa.v_zanding")
}}</span>
</td>
</tr>
</table>
<span slot="reference" @click="getDetails(index)">{{
$t("Airticket.Air_backAndforth")
}}</span>
</el-popover>
<span style="background-color: transparent; color: #000000">{{
item.flightList[0] && item.flightList[0].Arrival_time
}}</span>
</p>
</div>
<div>
<p>{{ item.ACityName }}</p>
<p>{{ item.Arrival_time }}</p>
</div>
</div>
</div>
<div class="d3">
<p>
<i class="iconfont icon-tuandui"></i>{{ $t("visa.v_teaminfo")
}}<em>{{ item.DayNum }}{{ $t("hotel.hotel_day") }}{{ item.NightNum
}}{{ $t("Operation.Op_night") }}</em>
</p>
<p>
<span>{{ $t("Airticket.Air_StartTime") }}</span>{{ item.StartDate }}
</p>
<p>
<span>{{ $t("system.table_goCity") }}</span>{{ item.StartCityName }}
</p>
<p>
<span>{{ $t("salesModule.BackCity") }}</span>{{ item.ReturnArriveCityName }}
</p>
<p>
<span>{{ $t("scen.sc_cp") }}</span>{{ item.OutBranchName }}
<span class="TC_neibu" style="float: inherit;color: #ffffff;margin-left: 5px;"
v-if="item.StandardCurrencyName" :class="{'TCneibu':item.StandardCurrencyName=='人民币','TCb2b':item.StandardCurrencyName=='日元',
'TCb2c':item.StandardCurrencyName=='新台币','AppPlat':item.StandardCurrencyName=='',
'otherPlat':item.StandardCurrencyName=='',}">{{item.StandardCurrencyName}}结算</span>
</p>
<p v-show="item.ClearOrderHour > 0">
<span>{{ $t("salesModule.THQW") }}</span>
<span class="TCL-greenType">{{ item.ClearOrderHour }}{{ $t("salesModule.Hour") }}</span>
</p>
<p v-show="item.SaleClearOrderHour && item.SaleClearOrderHour > 0">
<span>{{ $t("salesModule.XSQW") }}</span>
<span class="TCL-greenType">{{ item.SaleClearOrderHour
}}{{ $t("salesModule.Hour") }}</span>
</p>
<p v-if="
item.LineID == 14 &&
item.HotelOrderListReports &&
item.HotelOrderListReports.length > 0
">
<el-popover width="600" trigger="click" popper-class="PQ_HotelPop">
<commonHotelInfo :HotelObj="item.HotelOrderListReports" :showHotelObj="showHotelObj">
</commonHotelInfo>
<span slot="reference" class="price" style="cursor: pointer; text-decoration: underline"
@click="clickHotel(item.TCID, item.LineID, item.ltID)">{{ $t("salesModule.HotelOrder") }}</span>
</el-popover>
</p>
</div>
<div class="d4">
<p>
<i class="iconfont icon-jiage"></i>{{ $t("Operation.Op_PriceInfo") }}
</p>
<p style="
color: #47bf8c;
font-size: 16px;
font-weight: bold;
margin: 5px 0;
">
{{ $t("Operation.Op_tradePrice") }}:¥{{
item.B2BMemberPrice | priceFormat(item.B2BMemberPrice)
}}<br />
{{ $t("Operation.Op_directPrice") }}:¥{{
item.B2CMemberPrice | priceFormat(item.B2CMemberPrice)
}}
</p>
<p>
<el-popover width="630" trigger="click">
<table class="PQ_detail">
<tr>
<td colspan="5" style="text-align: left; padding-left: 10px">
{{ $t("salesModule.BasePrice") }}
</td>
</tr>
<tr>
<th>{{ $t("advmanager.v_type") }}</th>
<th>{{ $t("salesModule.HYTHJ") }}</th>
<th>{{ $t("salesModule.PTTHJ") }}</th>
<th>{{ $t("salesModule.ZKHYJ") }}</th>
<th>{{ $t("salesModule.PTZKJ") }}</th>
</tr>
<tr>
<td>{{ $t("salesModule.Adult") }}</td>
<td>
{{
item.B2BMemberPrice | priceFormat(item.B2BMemberPrice)
}}
</td>
<td>{{ item.B2BPrice | priceFormat(item.B2BPrice) }}</td>
<td>
{{
item.B2CMemberPrice | priceFormat(item.B2CMemberPrice)
}}
</td>
<td>{{ item.B2CPrice | priceFormat(item.B2CPrice) }}</td>
</tr>
<tr>
<td>{{ $t("salesModule.ChildBed") }}</td>
<td>
{{
(item.B2BMemberPrice + item.ChildNeedPrice)
| priceFormat(
item.B2BMemberPrice + item.ChildNeedPrice
)
}}
</td>
<td>
{{
(item.B2BPrice + item.ChildNeedPrice)
| priceFormat(item.B2BPrice + item.ChildNeedPrice)
}}
</td>
<td>
{{
(item.B2CMemberPrice + item.ChildNeedPrice)
| priceFormat(
item.B2CMemberPrice + item.ChildNeedPrice
)
}}
</td>
<td>
{{
(item.B2CPrice + item.ChildNeedPrice)
| priceFormat(item.B2CPrice + item.ChildNeedPrice)
}}
</td>
</tr>
<tr>
<td>{{ $t("salesModule.ChildNoBed") }}</td>
<td>
{{
(item.B2BMemberPrice - item.ChildNoNeedPrice)
| priceFormat(
item.B2BMemberPrice - item.ChildNoNeedPrice
)
}}
</td>
<td>
{{
(item.B2BPrice - item.ChildNoNeedPrice)
| priceFormat(item.B2BPrice - item.ChildNoNeedPrice)
}}
</td>
<td>
{{
(item.B2CMemberPrice - item.ChildNoNeedPrice)
| priceFormat(
item.B2CMemberPrice - item.ChildNoNeedPrice
)
}}
</td>
<td>
{{
(item.B2CPrice - item.ChildNoNeedPrice)
| priceFormat(item.B2CPrice - item.ChildNoNeedPrice)
}}
</td>
</tr>
<tr>
<td>{{ $t("salesModule.SingleJ") }}</td>
<td colspan="4">
{{
item.SingleDMCPrice | priceFormat(item.SingleDMCPrice)
}}
</td>
</tr>
<tr>
<td>{{ $t("Operation.Op_baby") }}</td>
<td colspan="4">
{{ item.BabyPrice | priceFormat(item.BabyPrice) }}
</td>
</tr>
<tr>
<td colspan="5" style="text-align: left; padding-left: 10px">
{{ $t("salesModule.OtherPrice") }}
</td>
</tr>
<tr>
<th>{{ $t("Operation.Op_oldmanSurcharge") }}</th>
<th>{{ $t("Operation.Op_childSurcharge") }}</th>
<th>{{ $t("salesModule.VisaBack") }}</th>
<th>{{ $t("Operation.Op_singleRoomcha") }}</th>
<th>{{ $t("Operation.Op_zafei") }}</th>
</tr>
<tr>
<td>
{{
item.OldManChargePrice
| priceFormat(item.OldManChargePrice)
}}
</td>
<td>
{{
item.BabyChargePrice
| priceFormat(item.BabyChargePrice)
}}
</td>
<td>
{{ item.VisaPrice | priceFormat2(item.VisaPrice) }}(-{{
item.BackVisaPrice | priceFormat(item.BackVisaPrice)
}}
</td>
<td>
{{
item.SingleRoomPrice
| priceFormat(item.SingleRoomPrice)
}}
</td>
<td>
{{ item.OtherPrice | priceFormat(item.OtherPrice) }}
</td>
</tr>
</table>
<span slot="reference" class="price">{{
$t("Operation.Op_priceDetail")
}}</span>
</el-popover>
</p>
</div>
<div class="d5">
<p>
<i class="iconfont icon-tuanwei"></i>{{ $t("visa.v_tuanweiinfo") }}
</p>
<p>
<span>{{ $t("visa.v_currentseat") }}</span><i :style="item.SurplusSeat < 0 ? 'color: red' : ''">{{
item.SurplusSeat
}}</i>
</p>
<p>
<span>{{ $t("visa.v_yibaoru") }}</span><i>{{ item.Seat == "" ? "0" : item.Seat
}}{{ $t("salesModule.PeoPle") }}</i>({{ $t("Operation.Op_takeSeat") }}{{ item.Occupied
}}{{ $t("salesModule.PeoPle") }})
</p>
<p>
<span>{{ $t("visa.v_houbu") }}</span>
<em v-if="item.IsSubstitution == 1">{{ $t("salesModule.KYHB") }}{{ $t("visa.v_houbu")
}}{{ item.SubstitutionCount
}}{{ $t("salesModule.PeoPle") }}</em>
<em v-if="item.IsSubstitution != 1" style="color: #e95252">{{
$t("salesModule.RefuseHB")
}}</em>
</p>
<p>
<span>操作OP</span><i style="font-weight: normal">{{ item.OPName }}</i>
</p>
</div>
<div class="d8">
<p>
<i class="iconfont icon-hangban1"></i>{{ $t("Operation.Op_Warmprompt") }}
</p>
<p>
<span>{{ $t("visa.v_sqtime") }}</span><i>{{
item.SendVisaTime === "" ? "未设置" : item.SendVisaTime
}}</i>
</p>
<p>
<span>{{ $t("visa.v_cqtime") }}</span><i>{{
item.OutVisaTime === "" ? "未设置" : item.OutVisaTime
}}</i>
</p>
<p>
<span>{{ $t("visa.v_kptime") }}</span><i>{{
item.TicketDeadline === "" ? "未设置" : item.TicketDeadline
}}</i>
</p>
<p v-if="item.VisaFileList.length !== 0">
<span>{{ $t("visa.v_visaInformation") }}</span>
</p>
<p v-if="item.VisaFileList.length !== 0" v-for="(item2, index2) in item.VisaFileList" :key="index2">
<span style="cursor: pointer; text-decoration: underline"
@click="downloadFile(item2)">{{ item2.Name }}</span>
</p>
<p>
<span>{{ $t("salesModule.TicketStatus") }}</span>
<span class="fz16 fbold">
<el-tooltip class="item" effect="dark" :content="$t('salesModule.AllTk')" placement="top">
<span style="color: #4bca81" v-if="item.MakeInvoice == 1"></span>
</el-tooltip>
<el-tooltip class="item" effect="dark" :content="$t('salesModule.NotDeal')" placement="top">
<span style="color: #e95252" v-if="item.MakeInvoice == '-1'">x</span>
</el-tooltip>
<el-tooltip class="item" effect="dark" :content="$t('salesModule.YCZD')" placement="top">
<span style="color: #e95252" v-if="item.MakeInvoice == '0'">O</span>
</el-tooltip>
</span>
</p>
</div>
<div class="d7">
<el-button-group style="display: block">
<el-tooltip class="item" effect="dark" :content="$t('salesModule.LookBM')" placement="top-start">
<el-button @click="
goUrl('groupTourOrderByTuan', item.TCID, item.TCNUM)
" type="primary" style="background: #00c6ff; border-color: #00c6ff" icon="iconfont icon-sousuo">
</el-button>
</el-tooltip>
<!--关内团后不能在报名 hk 2022-07-13去掉 && item.IsB2B === 1 修改为可报名 -->
<el-tooltip class="item" effect="dark" :content="$t('salesModule.LJXD')" placement="top-start"
v-if="item.IsPayOrder !== 1 ">
<el-button type="primary" style="background: #f16c3c; border-color: #f16c3c" v-if="!TCIDList"
icon="iconfont icon-fukuan1" @click="goBuy(item)"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" :content="$t('Operation.Op_tripDownLoad')" placement="top-start">
<el-button @click="toTrip(item)" type="primary" style="background: #47bf8c; border-color: #47bf8c"
icon="iconfont icon-xiazai"></el-button>
</el-tooltip>
<el-tooltip v-if="
CurrentUserInfo.IsOpenB2C == 1 &&
CurrentUserInfo.B2BDomain != '' &&
item.LineID != 2 &&
item.LineID != 8
" class="item" effect="dark" content="直客版预览" placement="top-start">
<el-button @click.native="goB2B(item)" type="primary"
style="background: #f16c3c; border-color: #f16c3c" icon="iconfont icon-view"></el-button>
</el-tooltip>
</el-button-group>
<el-button-group v-show="qjGroupId == userInfo.RB_Group_id || S_Travel_Share" style="display: block">
<el-tooltip class="item" effect="dark" :content="$t('salesModule.ShareTrip')" placement="top-start"
style="float: left">
<el-popover width="180" trigger="click">
<div class="w150" v-loading="wxLoading">
<img style="
float: left;
width: 108px;
height: 108px;
margin: 10px 21px 3px;
" :src="
item.wxImage === ''
? ''
: 'data:image/png;base64,' + item.wxImage
" />
<p style="text-align: center; font-size: 12px; color: #666">
{{ $t("salesModule.XCX") }}
</p>
</div>
<el-button slot="reference" type="primary" style="
background: #b552e9;
border-color: #b552e9;
border-radius: 0;
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
" icon="iconfont icon-fenxiang" @click="getWxCode(index)"></el-button>
</el-popover>
</el-tooltip>
<el-tooltip class="item" effect="dark" :content="$t('salesModule.ShareApp')" placement="top-start"
style="float: left">
<el-popover width="180" trigger="click">
<div class="w150">
<img style="
float: left;
width: 108px;
height: 108px;
margin: 10px 21px 3px;
" :src="'data:image/png;base64,' + item.AppImage" />
<p style="text-align: center; font-size: 12px; color: #666">
{{ $t("salesModule.Helper") }}
</p>
</div>
<el-button slot="reference" type="primary" style="
background: #e6a014;
border-color: #e6a014;
border-radius: 0;
" icon="iconfont icon-erweima"></el-button>
</el-popover>
</el-tooltip>
<el-tooltip class="item" effect="dark" :content="'广告数量' + item.AdvertCount" placement="top-start">
<el-button type="primary" style="background: #e95252; border-color: #e95252" v-if="!TCIDList"
icon="iconfont icon-guanggao" @click="goUrlX(item)"></el-button>
</el-tooltip>
</el-button-group>
</div>
</div>
<div class="d6">
<el-popover placement="right" width="500" trigger="click" :content="item.ProductRecommend">
<span style="
cursor: pointer;
padding: 2px 5px;
display: inline-block;
margin-bottom: 5px;
border-radius: 4px;
border: 1px solid #ccc;
font-size: 12px;
" slot="reference">{{ $t("Operation.Op_bentuanMaidian") }}</span>
</el-popover>
<p>{{ $t("Operation.Op_remark") }}:</p>
<p :title="item.OpRemark">{{ item.OpRemark }}</p>
</div>
</li>
</ul>
<div class="noData" v-else>
{{ $t("system.content_noData") }}
</div>
<!-- 立即报名 -->
<signup v-if="isShowLayer" :msg="addMsg" :Obj="addObj" @close="close"></signup>
<el-dialog custom-class="ComTeamPlan_info_box" :title="tripTitle" :visible.sync="outerVisible" center>
<commonTeamInfo ref="comTeam"></commonTeamInfo>
</el-dialog>
<el-dialog custom-class="w450" title="行程下载" :visible.sync="travelControlTripLayerShow" center>
<tripDownLoadCommon ref="tripDownLoadCommon" :tripObj="tripObj" @headCallBack="hideTripDown" :downType="1">
</tripDownLoadCommon>
</el-dialog>
</div>
</template>
<script>
//订单表单
import signup from "../productOrderCommon/signup.vue";
import commonTeamInfo from "../commonPage/commonTeamInfo.vue";
import tripDownLoadCommon from "../commonPage/TripDownLoadCommon.vue";
import carousel from "../commonPage/carousel.vue";
import commonHotelInfo from "../commonPage/commonHotelInfo.vue";
export default {
props: ['list'],
data() {
return {
outerVisible: false,
tripTitle: "",
addObj:{},
addMsg: {
GroupTypeNeedHouse: "0",
OrderId: "0",
OneSex: "0",
TCID: "0",
CustomerType: "",
GroupType: "",
IndustryCategory: "",
ContactName: "",
ContactMobile: "",
CustomerId: "",
DepartureCityId: "",
ReturnArriveCityId: "",
IsIntermodal: "2",
IsReturnIntermodal: "2",
Unit_Price: "0",
TC_Price: "0",
ManNum: "0",
ChirdNum: "0",
ChirdNoNeedBedNum: "0",
ChirdNeedBedNum: "0",
BabyNum: "0",
OldPeopleNum: "0",
SingleRoomNum: "0",
PreferPrice: 0,
YSeatNum: "0",
ESeatNum: "0",
FSeatNum: "0",
Commission: "0",
ClientSource: "",
BrandId: "",
TradeWay: "2",
PlatformAccount: "",
PlatformOrder: "",
GuestNum: 0,
IsChildrenTour: "0",
IsBirdDiscount: "0",
PredictRoomNum: "0",
BigRoomNum: "0",
TripleRoomNum: "0",
TradeDate: "",
CostType: "",
Remarks: "",
VisaNum: "0",
SafeNum: "0",
AirticketNum: "0",
ScenicRefundArr: [],
GoCityTime: "",
BackCityTime: "",
CommissionSharePeople: "-1",
CommissionShareMoney: "0",
OrderForm: "1",
SonControlID: "-1",
IsShowMessagesMoney: "2",
QuotationUrl: "", //单团附件
LureEmpId: 0, //引流id
CRMGuestId: 0, //客人ID
},
travelControlTripLayerShow:false,
tripObj: {
tcid: 0,
configId: 0,
cityId: 0,
orderId: 0,
},
qjGroupId: -1,
TCIDList: "",
tripDetails: [],
//当前登录用户信息
CurrentUserInfo: {},
userInfo: {},
S_Travel_Share: false, //分享权限
wxLoading: false,
starTime: "",
endTime: "",
isShowLayer: false
};
},
components: {
signup,
commonTeamInfo: commonTeamInfo,
tripDownLoadCommon: tripDownLoadCommon,
carousel: carousel,
commonHotelInfo: commonHotelInfo,
},
filters: {
priceFormat(value) {
if (value == null) {
return 0.0;
}
let nStr = value.toFixed(2);
nStr += "";
let x = nStr.split(".");
let x1 = x[0];
let x2 = x.length > 1 ? "." + x[1] : "";
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, "$1" + "," + "$2");
}
return x1 + x2;
},
priceFormat2(value) {
if (value == null) {
return "已包含";
}
let nStr = value.toFixed(2);
nStr += "";
let x = nStr.split(".");
let x1 = x[0];
let x2 = x.length > 1 ? "." + x[1] : "";
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, "$1" + "," + "$2");
}
let result = x1 + x2;
if (result === "0.00") {
result = "已包含";
}
return result;
},
},
methods: {
close(){
this.isShowLayer=false
this.$emit('close')
},
//获取航班详情
getDetails(index) {
this.tripDetails = this.list[index].flightList;
},
getJourney(id, TCID, title) {
var that = this;
this.tripTitle = title;
this.$nextTick(() => {
that.$refs.comTeam.GetTrip(id, TCID);
});
that.outerVisible = true;
},
goUrlX(item) {
this.$router.push({
name: "GroupAdvertising",
query: {
LineID: item.LineID,
TCID: item.TCID,
blank: "y",
tab: "团期广告",
},
});
},
// 获取微信二维码
getWxCode(key) {
this.wxLoading = false;
if (this.list[key].wxImage === "") {
this.wxLoading = true;
this.apipost(
"TaskManagemnet_get_GetWeiXinShare", {
ConfigId: this.list[key].ConfigID,
TCID: this.list[key].TCID,
},
(res) => {
if (res.data.resultCode == 1) {
let url = res.data.data;
this.list[key].wxImage = url;
this.wxLoading = false;
} else {
this.$message.error("二维码获取失败");
}
},
(err) => {}
);
}
},
goBuy(obj) {
this.isShowLayer = true;
this.addObj = obj;
this.addMsg.DepartureCityId = obj.StartCityID;
this.addMsg.ReturnArriveCityId = obj.ReturnArriveCityId;
this.addMsg.GoCityTime = this.starTime = obj.StartCityTime;
this.addMsg.BackCityTime = this.endTime = obj.BackCityTime;
this.addMsg.SonControlID = obj.SonControlID;
this.isUpdateSharePeople = false;
},
hideTripDown() {
this.travelControlTripLayerShow = false;
},
toTrip(obj) {
this.tripObj.tcid = obj.TCID;
this.tripObj.configId = obj.ConfigID;
this.tripObj.cityId = obj.StartCityID;
this.tripObj.orderId = 0;
this.travelControlTripLayerShow = true;
},
goUrl(path, id, tcmun) {
this.$router.push({
name: path,
query: {
id: id,
tcmun: tcmun,
blank: "y",
tab: "团报名清单",
},
});
},
//直客版行程
goB2B(item) {
var B2BDomain = this.CurrentUserInfo.B2BDomain;
this.$tripUtils.GotoB2CPage(B2BDomain, item.ConfigID, item.TCID);
},
GetSupperOrderEditAuth() {
var actionCode = this.$AuthCode.S_Travel_Share;
this.CheckUserAuth(actionCode, (res) => {
if (res.data.resultCode == 1 && res.data.data == 1) {
this.S_Travel_Share = true;
}
});
},
},
mounted() {
if (this.$route.query.TCIDList) {
this.TCIDList = this.$route.query.TCIDList;
}
let userInfo = this.getLocalStorage();
this.userInfo = userInfo
this.qjGroupId = this.QjGroupId();
this.CurrentUserInfo = userInfo;
this.GetSupperOrderEditAuth()
},
watch: {
//监听TCID变化
list:{
handler(newVal,oldValue) {
this.list = newVal
},
deep: true,
immediate: true
},
}
};
</script>
\ No newline at end of file
<style scoped>
</style>
<template>
<div class="productQuerybottomLayer ownScrollbarStyle">
<p>
{{ $t("salesModule.SignImdi") }}
<span v-if="crmOrderObj">
<span style="color: red;">引流人:{{crmOrderObj.LureEmpNmae}} </span>
<span style="color: #2AAEF2;">/客人:{{crmOrderObj.CRMGuestName}}</span>
</span>
<span class="fr">
<input type="button" class="hollowFixedBtn" :value="$t('pub.cancelBtn')" @click="cancelSubmit()" />
<input type="button" class="normalBtn" :value="$t('salesModule.SignImdi')" @click="submitForm('addMsg')" />
</span>
</p>
<el-form :model="addMsg" ref="addMsg" label-position="right" :rules="rules" label-width="90px">
<el-row :gutter="20">
<el-col :span="4">
<!-- 客户类型 -->
<el-form-item :label="$t('fnc.khleixing')" prop="CustomerType">
<el-select v-model="addMsg.CustomerType" filterable :placeholder="$t('pub.pleaseSel')" @change="
resetMsg(addMsg.CustomerType), getTypePrice();
resetSelect();
getDdlyList();
getKhmdList();
getTotalPrice();
">
<el-option v-for="item in khlxList" :label="item.Name" :value="item.Id" :key="item.Id">
</el-option>
</el-select>
</el-form-item>
<!-- 参团类型 -->
<el-form-item :label="$t('fnc.ctleixing')" prop="GroupType">
<el-select v-model="addMsg.GroupType" @change="groupTypeChange(), gettypechange(addMsg.GroupType)"
filterable :placeholder="$t('pub.pleaseSel')">
<el-option v-for="item in ctlxList" v-if="item.Id != 5" :label="item.Name" :value="item.Id"
:key="item.Id">
</el-option>
</el-select>
</el-form-item>
<el-form-item v-if="addMsg.GroupType == '3'" :label="$t('salesModule.IsUseRoom')" prop="GroupTypeNeedHouse">
<el-switch v-model="addMsg.GroupTypeNeedHouse" active-value="0" inactive-value="1"></el-switch>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('hotel.suplier_contact')" prop="ContactName"
v-if="addMsg.CustomerType == 3 || addMsg.CustomerType == 4">
<el-input v-model="addMsg.ContactName"></el-input>
</el-form-item>
<el-form-item :label="$t('restaurant.res_ContactNumber')" prop="ContactMobile"
v-if="addMsg.CustomerType == 3 || addMsg.CustomerType == 4">
<el-input v-model="addMsg.ContactMobile" maxlength="20"></el-input>
</el-form-item>
<el-form-item :label="$t('salesModule.CustomerStore')" prop="CustomerId" v-if="
addMsg.CustomerType == 1 ||
addMsg.CustomerType == 2 ||
addMsg.CustomerType == ''
">
<el-select v-model="addMsg.CustomerId" filterable :placeholder="$t('pub.pleaseSel')" @change="getSspt">
<el-option v-for="item in khmdList" :label="item.customerName + '-' + item.contact"
:value="item.customerId" :key="item.customerId">
</el-option>
</el-select>
</el-form-item>
<el-form-item v-show="addMsg.GroupType == 2" :label="$t('salesModule.HYLB')" prop="IndustryCategory">
<el-input v-model="addMsg.IndustryCategory"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('system.table_goCity')" prop="DepartureCityId">
<el-select v-model="addMsg.DepartureCityId" :disabled="
addObj.SonControlID !== -1 &&
addObj.OutBranchId !== addObj.SonControlID
" filterable :placeholder="$t('pub.pleaseSel')" @change="addMsg.IsIntermodal = 2">
<el-option v-for="item in startCityList" :label="item.Name" :value="item.ID" :key="item.ID">
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('salesModule.IsLianYn')" prop="IsIntermodal" v-show="
addMsg.DepartureCityId != addObj.StartCityID &&
addMsg.DepartureCityId != ''
">
<el-switch v-model="addMsg.IsIntermodal" active-value="1" inactive-value="2"
@change="getUnionTravelPrice(addObj, 1)"></el-switch>
</el-form-item>
<el-form-item :label="$t('salesModule.LYtime')" prop="GoCityTime" v-show="
addMsg.IsIntermodal == 1 &&
addMsg.DepartureCityId != addObj.StartCityID
">
<el-date-picker :picker-options="pickerOptions0" v-model="addMsg.GoCityTime" value-format="yyyy-MM-dd"
type="date" @change="getUnionTravelPrice(addObj, 1)"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('salesModule.BackCity')" prop="ReturnArriveCityId">
<el-select v-model="addMsg.ReturnArriveCityId" :disabled="
addObj.SonControlID !== -1 &&
addObj.OutBranchId !== addObj.SonControlID
" filterable :placeholder="$t('pub.pleaseSel')" @change="addMsg.IsReturnIntermodal = 2">
<el-option v-for="item in startCityList" :label="item.Name" :value="item.ID" :key="item.ID">
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('salesModule.IsLianYn')" prop="IsReturnIntermodal" v-show="
addMsg.ReturnArriveCityId != addObj.ReturnArriveCityId &&
addMsg.ReturnArriveCityId != ''
">
<el-switch v-model="addMsg.IsReturnIntermodal" active-value="1" inactive-value="2"
@change="getUnionTravelPrice(addObj, 2)"></el-switch>
</el-form-item>
<el-form-item :label="$t('salesModule.LYtime')" prop="IsReturnIntermodal" v-show="
addMsg.IsReturnIntermodal == 1 &&
addMsg.ReturnArriveCityId != addObj.ReturnArriveCityId
">
<el-date-picker :picker-options="pickerOptions1" v-model="addMsg.BackCityTime" value-format="yyyy-MM-dd"
type="date" @change="getUnionTravelPrice(addObj, 2)"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('salesModule.TeamPrice')" prop="TC_Price">
<el-input v-if="addMsg.GroupType != 4" v-model="addMsg.TC_Price" :disabled="true"
@input="getTotalPrice()"></el-input>
<el-input v-else v-model="SingleDMCPricex" :disabled="true" @input="getTotalPrice()"></el-input>
</el-form-item>
<el-form-item :label="$t('salesModule.StartLY')" v-show="
addMsg.IsIntermodal == 1 &&
addMsg.DepartureCityId != addObj.StartCityID
">
<el-input v-model="stratPrice" v-show="stratPriceShow" :disabled="true"></el-input>
<span class="colorE95252" v-show="!stratPriceShow">{{ $t("pub.NoPrice") }}</span>
</el-form-item>
<el-form-item :label="$t('salesModule.BackLY')" v-show="
addMsg.IsReturnIntermodal == 1 &&
addMsg.ReturnArriveCityId != addObj.ReturnArriveCityId
">
<el-input v-model="returnPrice" v-show="returnPriceShow" :disabled="true"></el-input>
<span class="colorE95252" v-show="!returnPriceShow">{{ $t("pub.NoPrice") }}</span>
</el-form-item>
</el-col>
<el-col :span="4">
<!-- <el-form-item label="成交单价" prop="Unit_Price">
<el-input v-model='addMsg.Unit_Price' :disabled="true" @keyup.native="checkPrice(addMsg,'Unit_Price');getTotalPrice()"></el-input>
</el-form-item> -->
<template>
<el-form-item :label="$t('fnc.cjdanjia')" prop="Unit_Price" v-if="HightUnitPrice === '2'">
<el-select v-model="addMsg.Unit_Price" filterable :placeholder="$t('pub.pleaseSel')"
@change="getTotalPrice(2)">
<el-option v-for="item in Unit_PriceList" :label="item.LessMoney" :value="item.ID" :key="item.ID">
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('fnc.cjdanjia')" prop="Unit_Price" v-else>
<el-input v-if="addMsg.GroupType != 4" v-model="addMsg.Unit_Price" @change="getTotalPrice(3)">
</el-input>
<el-input v-else v-model="SingleDMCPrice" @change="getTotalPrice(3)"></el-input>
</el-form-item>
</template>
<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'">
<p v-if="LessMoney == 0" style="line-height: 18px; color: #e95252">
{{ $t("salesModule.Notice1") }}
</p>
<p v-else="LessMoney > 0" style="line-height: 18px; color: #e95252">
{{ $t("salesModule.Notice2") }}{{ LessMoney
}}{{ $t("salesModule.Notice3") }}
</p>
</el-form-item>
<!--<el-form-item>
<p style="line-height: 18px; color: #E95252;">注:如果超出本团的最低让价,差价将由你来承担</p>
</el-form-item>-->
</el-col>
</el-row>
<div style="width: 100%; border-top: 1px dashed #ccc; margin-bottom: 25px"></div>
<el-row :gutter="20">
<el-col :span="4">
<el-form-item :label="$t('salesModule.SingleNum')" prop="AirticketNum" v-show="addMsg.GroupType == 4">
<el-input v-model="addMsg.AirticketNum" @keyup.native="checkInteger(addMsg, 'AirticketNum')" @input="
getNumber();
getTotalPrice();
getHouseNo();
autoRemarks('AirticketNum', '单地接数量');
"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('salesModule.AdultNum')" prop="ManNum" v-show="addMsg.GroupType !== '4'">
<el-input v-model="addMsg.ManNum" :disabled="addMsg.GroupType === '4'"
@keyup.native="checkInteger(addMsg, 'ManNum')" @input="
getNumber();
getHouseNo();
getTotalPrice();
"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<p v-if="addObj.IsSupportChildren == 2" style="
color: #e95252;
font-size: 12px;
line-height: 40px;
text-align: center;
">
{{ $t("salesModule.NoSupplier") }}!
</p>
<el-form-item v-if="addObj.IsSupportChildren == 1" :label="$t('Operation.Op_childNobed')"
prop="ChirdNoNeedBedNum">
<el-input v-model="addMsg.ChirdNoNeedBedNum" @keyup.native="checkInteger(addMsg, 'ChirdNoNeedBedNum')"
@input="
getNumber();
getHouseNo();
getTotalPrice();
autoRemarks('ChirdNoNeedBedNum', '儿童不占床');
"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" v-if="addObj.IsSupportChildren == 1" v-show="addMsg.GroupType !== '4'">
<el-form-item :label="$t('Operation.Op_childBed')" prop="ChirdNeedBedNum">
<el-input v-model="addMsg.ChirdNeedBedNum" :disabled="addMsg.GroupType === '4'"
@keyup.native="checkInteger(addMsg, 'ChirdNeedBedNum')" @input="
getNumber();
getHouseNo();
getTotalPrice();
autoRemarks('ChirdNeedBedNum', '儿童占床');
"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" v-if="addObj.IsSupportChildren == 1" v-show="addMsg.GroupType !== '4'">
<el-form-item :label="$t('salesModule.BabyNum')" prop="BabyNum">
<el-input v-model="addMsg.BabyNum" :disabled="addMsg.GroupType === '4'"
@keyup.native="checkInteger(addMsg, 'BabyNum')" @input="
getNumber();
getTotalPrice();
autoRemarks('BabyNum', '婴儿人数');
"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" v-show="addMsg.GroupType !== '4'">
<el-form-item :label="$t('salesModule.OldPeopleNum')" prop="OldPeopleNum">
<el-input v-model="addMsg.OldPeopleNum" :disabled="addMsg.GroupType === '4'"
@keyup.native="checkInteger(addMsg, 'OldPeopleNum')" @input="
getNumber();
getHouseNo();
getTotalPrice();
autoRemarks('OldPeopleNum', '老人人数');
"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4" v-if="addMsg.GroupTypeNeedHouse == '0'">
<el-form-item :label="$t('salesModule.SingleRoomNum')" prop="SingleRoomNum">
<el-input v-model="addMsg.SingleRoomNum" @keyup.native="checkInteger(addMsg, 'SingleRoomNum')" @input="
yzBigBed2();
getTotalPrice();
autoRemarks('SingleRoomNum', '单房数量');
"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" v-if="addMsg.GroupTypeNeedHouse == '0'">
<el-form-item :label="$t('salesModule.BigRoomNum')" prop="BigRoomNum">
<el-input v-model="addMsg.BigRoomNum" @keyup.native="checkInteger(addMsg, 'BigRoomNum')" @input="
yzBigBed();
getTotalPrice();
autoRemarks('BigRoomNum', '大床房');
"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" v-if="addMsg.GroupTypeNeedHouse == '0'">
<el-form-item :label="$t('salesModule.TripleRoomNum')" prop="TripleRoomNum">
<el-input v-model="addMsg.TripleRoomNum" @keyup.native="checkInteger(addMsg, 'TripleRoomNum')" @input="
yzBigBed1();
getTotalPrice();
autoRemarks('TripleRoomNum', '三人房');
"></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')" @input="
yzVisaNum();
getTotalPrice();
autoRemarks2('VisaNum', '不要签证数量');
autoRemarks('VisaNum', '不要签证数量');
"></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="
yzSafeNum();
getTotalPrice();
autoRemarks2('SafeNum', '不要保险数量');
"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('salesModule.SingleFM')">
<el-radio v-model="addMsg.OneSex" @click.native.prevent="setDanren('1')" label="1">{{ $t("pub.man") }}
</el-radio>
<el-radio v-model="addMsg.OneSex" @click.native.prevent="setDanren('2')" label="2">{{ $t("pub.woman") }}
</el-radio>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<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>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('fnc.yszonge')" prop="PreferPrice">
<el-input v-model="addMsg.PreferPrice" :disabled="true"></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="4">
<el-form-item label="预计提成" prop="Commission">
<el-input v-model='addMsg.Commission' :disabled="true"></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"
v-model="addMsg.CommissionSharePeople" :placeholder="$t('pub.pleaseSel')">
<el-option :label="$t('fnc.no')" value="-1" key="-1"></el-option>
<el-option v-for="item in employeeList" :label="item.EmName" :value="item.EmployeeId"
:key="item.EmployeeId"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" v-show="
addMsg.CommissionSharePeople != '-1' &&
(addMsg.CustomerType == 1 || addMsg.CustomerType == 2)
">
<el-form-item :label="$t('salesModule.ShareMoney')" prop="CommissionShareMoney">
<el-input v-model="addMsg.CommissionShareMoney" :disabled="true"></el-input>
</el-form-item>
</el-col>
<el-col :span="4"> &nbsp; </el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<el-form-item :label="$t('Airticket.Air_EconomyClass')" prop="YSeatNum">
<el-input v-model="addMsg.YSeatNum" @keyup.native="checkInteger(addMsg, 'YSeatNum')"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('Airticket.Air_businessClass')" prop="ESeatNum">
<el-input v-model="addMsg.ESeatNum" @input="getNumber()"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('Airticket.Air_firstClass')" prop="FSeatNum">
<el-input v-model="addMsg.FSeatNum" @input="getNumber()"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<!--<el-form-item label="单地接数量" prop="AirticketNum">
<el-input v-model='addMsg.AirticketNum' @keyup.native="checkInteger(addMsg,'AirticketNum')" @input='getTotalPrice();getHouseNo()'></el-input>
</el-form-item>-->
</el-col>
<el-col :span="4">
<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 in ScenicRefundList" :label="item.ScenicName" :value="item.Id" :key="item.Id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('salesModule.MsgMoney')">
<el-select filterable v-model="addMsg.IsShowMessagesMoney" :placeholder="$t('pub.pleaseSel')">
<el-option :label="$t('system.table_isShows')" value="1"></el-option>
<el-option :label="$t('MarketingActi.notShow')" value="2"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4"> &nbsp; </el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<el-form-item :label="$t('salesModule.CustomFrom')" prop="ClientSource">
<el-select v-model="addMsg.ClientSource" filterable :placeholder="$t('pub.pleaseSel')"
@change='getclSource'>
<el-option v-for="item in ddlyList" :label="item.Name" :value="item.Id" :key="item.Id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('salesModule.SSPT')" prop="BrandId"
v-show="addMsg.ClientSource == 1|| addMsg.ClientSource == 4">
<el-select v-model="addMsg.BrandId" filterable :placeholder="$t('pub.pleaseSel')">
<!-- <el-select v-model='addMsg.BrandId' filterable :placeholder="$t('pub.pleaseSel')" @change="getRemarkDetail(addMsg.BrandId)"> -->
<el-option v-for="item in ssptList" :label="item.brandName" :value="item.dictId" :key="item.dictId">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="$t('tips.jiaoyifangshi')" prop="TradeWay"
v-show="addMsg.ClientSource == 1|| addMsg.ClientSource == 4">
<el-select v-model="addMsg.TradeWay" filterable :placeholder="$t('pub.pleaseSel')"
@change="tradeWayMethods">
<el-option v-for="item in jyfsList" :label="item.Name" :value="item.Id" :key="item.Id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" v-if="addMsg.TradeWay == 1 || addMsg.TradeWay == 3">
<el-form-item :label="$t('fnc.fkuanzhanghu')">
<el-select filterable v-model="addMsg.PlatformAccount" :placeholder="$t('pub.pleaseSel')">
<el-option v-for="item in PlatformAccountList" :label="item.Alias" :value="item.ID" :key="item.ID">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" v-if="addMsg.TradeWay == 1 || addMsg.TradeWay == 3">
<el-form-item :label="$t('salesModule.PlatOrder')" prop="PlatformOrder">
<el-input v-model="addMsg.PlatformOrder" @input="platformOrderMethods" maxlength="20"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="报价单" prop="QuotationUrl" v-show="addMsg.GroupType == '2'">
<div style="margin-bottom: 10px; width: 32%" v-loading="uploadLloading" element-loading-text="拼命上传中">
<el-upload ref="my-upload" class="upload-demo" :http-request="uploadFileBtn" :multiple="true"
:show-file-list="true" :on-preview="previewFile" :on-remove="removeFile" :limit="1" action>
<!-- <i class="el-icon-upload"></i>
<div class="el-upload__text">
将文件拖到此处,或
<em>点击上传</em>
</div> -->
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</div>
</el-form-item>
</el-col>
<!-- <el-col :span="4" v-show="addMsg.TradeWay==1&&addMsg.PlatformOrder!=''">
<el-form-item label="定金" prop="MinOrderPrice">
<el-input v-model='addMsg.MinOrderPrice' @keyup.native="checkPrice(addMsg,'MinOrderPrice')"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" v-if="addMsg.TradeWay==1&&addMsg.PlatformOrder!=''">
<el-form-item label="费用类型" prop="CostType">
<el-select v-model="addMsg.CostType" filterable placeholder="请选择费用类型">
<el-option v-for='item in fylxList' :label="item.Name" :value="item.ID" :key='item.ID'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" v-if="addMsg.TradeWay==1&&addMsg.PlatformOrder!=''">
<el-form-item label="交易日期" prop="TradeDate">
<el-date-picker v-model='addMsg.TradeDate' value-format="yyyy-MM-dd" type="date"></el-date-picker>
</el-form-item>
</el-col> -->
</el-row>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item :label="$t('pub.pubRemark')" prop="Remarks">
<el-input v-model="addMsg.Remarks" type="textarea" maxlength="500"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
export default {
props: ['msg','Obj'],
data() {
return {
createByInfo: "",
//当前登录用户信息
CurrentUserInfo: {},
otherRemark: "",
SingleDMCPricex: 0, // 单地接;
SingleDMCPrice: 0, // 单地接;
jyfsList: [],
ssptList:[],
ddlyList:[],
ScenicRefundList:[],
employeeList: [],
uploadLloading: false,
isUpdateSharePeople: false,
Unit_PriceList: [], //成交单价下拉数据
LessMoney: 0,
HightUnitPrice: "2",
stratPrice: "",
stratPriceShow: false,
returnPrice: "",
returnPriceShow: false,
pickerOptions0: {
disabledDate: (time) => {
let starTime = new Date(this.starTime);
return time.getTime() > starTime.getTime();
},
minPrice: 0,
},
pickerOptions1: {
disabledDate: (time) => {
let endTime = new Date(this.endTime);
return time.getTime() < endTime.getTime() - 5.64e7;
},
},
startCityList: [],
TotalNumber:0,
addObj: {},
khmdList: [],
ctlxList: [],
khlxList:[],
rules: {
CustomerType: [{
required: true,
message: "请选择客户类型",
trigger: "change",
}, ],
CustomerId: [{
required: false,
message: "请选择客户门店",
trigger: "change",
}, ],
DepartureCityId: [{
required: true,
message: "请选择出发城市",
trigger: "change",
}, ],
GroupType: [{
required: true,
message: "请选择参团类型",
trigger: "change",
}, ],
ClientSource: [{
required: true,
message: "请选择客人来源",
trigger: "change",
}, ],
TradeWay: [{
required: true,
message: "请选择交易方式",
trigger: "change",
}, ],
ContactName: [{
required: true,
message: "请输入联系人姓名",
trigger: "blur",
}, ],
ContactMobile: [{
required: true,
message: "请输入联系人电话",
trigger: "blur",
},
{
pattern: /^(0|86|17951)?(13[0-9]|15[012356789]|17[012356789]|18[0-9]|19[0-9]|14[57])[0-9]{8}$/,
message: "请输入正确的手机",
},
],
},
addMsg: {
GroupTypeNeedHouse: "0",
OrderId: "0",
OneSex: "0",
TCID: "0",
CustomerType: "",
GroupType: "",
IndustryCategory: "",
ContactName: "",
ContactMobile: "",
CustomerId: "",
DepartureCityId: "",
ReturnArriveCityId: "",
IsIntermodal: "2",
IsReturnIntermodal: "2",
Unit_Price: "0",
TC_Price: "0",
ManNum: "0",
ChirdNum: "0",
ChirdNoNeedBedNum: "0",
ChirdNeedBedNum: "0",
BabyNum: "0",
OldPeopleNum: "0",
SingleRoomNum: "0",
PreferPrice: 0,
YSeatNum: "0",
ESeatNum: "0",
FSeatNum: "0",
Commission: "0",
ClientSource: "",
BrandId: "",
TradeWay: "2",
PlatformAccount: "",
PlatformOrder: "",
GuestNum: 0,
IsChildrenTour: "0",
IsBirdDiscount: "0",
PredictRoomNum: "0",
BigRoomNum: "0",
TripleRoomNum: "0",
TradeDate: "",
CostType: "",
Remarks: "",
VisaNum: "0",
SafeNum: "0",
AirticketNum: "0",
ScenicRefundArr: [],
GoCityTime: "",
BackCityTime: "",
CommissionSharePeople: "-1",
CommissionShareMoney: "0",
OrderForm: "1",
SonControlID: "-1",
IsShowMessagesMoney: "2",
QuotationUrl: "", //单团附件
LureEmpId: 0, //引流id
CRMGuestId: 0, //客人ID
},
crmOrderObj:null
};
},
filters: {
//价格格式化
priceFormat(value) {
if (value == null) {
return 0.00;
}
let nStr = value.toFixed(2)
nStr += '';
let x = nStr.split('.');
let x1 = x[0];
let x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
},
},
methods: {
submitForm(addMsg) {
if (this.TotalNumber == 0) {
this.$message.error('总人数不能小于1人')
return
}
//提交创建、修改表单
this.$refs[addMsg].validate((valid) => {
if (valid) {
this.saveOrder();
} else {
return false;
}
});
},
cancelSubmit() {
this.isShowLayer = false;
this.$refs["addMsg"].resetFields();
this.clearMsg();
this.$emit('close')
},
clearMsg() {
this.addMsg.OrderId = "0";
this.addMsg.TCID = "0";
this.addMsg.IsIntermodal = "2";
this.addMsg.IsReturnIntermodal = "2";
this.addMsg.Unit_Price = "0";
this.addMsg.TC_Price = "0";
this.addMsg.ManNum = "0";
this.addMsg.ChirdNum = "0";
this.addMsg.ChirdNeedBedNum = "0";
this.addMsg.BabyNum = "0";
this.addMsg.OldPeopleNum = "0";
this.addMsg.SingleRoomNum = "0";
this.addMsg.PreferPrice = "0";
this.addMsg.YSeatNum = "0";
this.addMsg.ESeatNum = "0";
this.addMsg.FSeatNum = "0";
this.addMsg.Commission = "0";
this.addMsg.BrandId = "";
this.addMsg.PlatformAccount = "";
this.addMsg.TradeWay = "2";
this.addMsg.GuestNum = "0";
this.addMsg.IsChildrenTour = "0";
this.addMsg.OrderId = "0";
this.addMsg.IsBirdDiscount = "0";
this.addMsg.PredictRoomNum = "0";
this.addMsg.BigRoomNum = "0";
this.addMsg.TripleRoomNum = "0";
this.addMsg.TradeDate = "";
this.addMsg.CostType = "";
this.addMsg.PlatformOrder = "";
this.ddlyList = [];
this.addMsg.Remarks = "";
this.addMsg.MinOrderPrice = "";
this.addMsg.VisaNum = "0";
this.addMsg.SafeNum = "0";
this.addMsg.AirticketNum = "0";
this.addMsg.ScenicRefundArr = [];
this.ScenicRefundMoney = 0;
this.addMsg.CommissionSharePeople = "-1";
this.addMsg.CommissionShareMoney = "0";
this.addMsg.IsShowMessagesMoney = "2";
this.addMsg.OneSex = "0";
this.remarkMsg = {
zc: "",
bzc: "",
fjf: "",
ye: "",
lr: "",
dd: "",
df: "",
dc: "",
srf: "",
qz: "",
qzf: "",
};
},
// 自动添加备注
autoRemarks(key, text) {
let count =
Number(this.addMsg.AirticketNum) +
Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.BabyNum) +
Number(this.addMsg.OldPeopleNum);
// if (this.addMsg[key].toString() !== count.toString() && this.addMsg[key].toString() !== '') {
// this.addMsg.Remarks = this.addMsg.Remarks + text + ':' + (count-this.addMsg[key]) + ';'
// }
this.remarkMsg.qz = "";
if (
this.addMsg[key].toString() !== "0" &&
this.addMsg[key].toString() !== ""
) {
if (
this.addMsg[key].toString() !== count.toString() &&
this.addMsg[key].toString() !== ""
) {
if (text === "不要签证数量") {
this.remarkMsg.qz = text + ":" + (count - this.addMsg[key]) + ";";
if (this.addObj.VisaPrice) {
this.remarkMsg.qzf = "签证费" + this.addObj.VisaPrice + "/人;";
}
if (this.addObj.BackVisaPrice) {
this.remarkMsg.qz =
text +
":" +
(count - this.addMsg[key]) +
";" +
"退签证费" +
this.addObj.BackVisaPrice +
"/人;";
}
}
if (text === "不要保险数量") {
this.remarkMsg.bx = text + ":" + (count - this.addMsg[key]) + ";";
}
} else if (this.addMsg[key].toString() === count.toString()) {
if (this.addObj.VisaPrice) {
this.remarkMsg.qzf = "签证费" + this.addObj.VisaPrice + "/人;";
}
this.remarkMsg.qz = "";
}
if (text === "儿童不占床") {
if (this.remarkMsg.bzc === "") {
this.remarkMsg.bzc = "儿童不占床:" + this.addMsg[key] + ";";
if (this.addObj.ChildNoNeedPrice) {
this.remarkMsg.bzc +=
"儿童不占床减免" + this.addObj.ChildNoNeedPrice + "/人;";
}
} else {
this.remarkMsg.bzc = "";
this.remarkMsg.bzc = "儿童不占床:" + this.addMsg[key] + ";";
if (this.addObj.ChildNoNeedPrice) {
this.remarkMsg.bzc +=
"儿童不占床减免" + this.addObj.ChildNoNeedPrice + "/人;";
}
}
if (this.remarkMsg.fjf === "") {
if (
this.addObj["BabyChargePrice"] > 0 &&
this.addObj["BabyChargePrice"]
) {
this.remarkMsg.fjf =
"儿童附加费:" + this.addObj["BabyChargePrice"] + "/人;";
} else {
this.remarkMsg.fjf = "";
}
}
}
if (text === "儿童占床") {
if (this.remarkMsg.zc === "") {
this.remarkMsg.zc = "儿童占床:" + this.addMsg[key] + ";";
if (this.addObj.ChildNeedPrice) {
this.remarkMsg.zc =
this.remarkMsg.zc +
"儿童占床附加费" +
this.addObj.ChildNeedPrice +
"/人;";
}
} else {
this.remarkMsg.zc = "";
this.remarkMsg.zc = "儿童占床:" + this.addMsg[key] + ";";
if (this.addObj.ChildNeedPrice) {
this.remarkMsg.zc =
this.remarkMsg.zc +
"儿童占床附加费" +
this.addObj.ChildNeedPrice +
"/人;";
}
}
if (this.remarkMsg.fjf === "") {
this.remarkMsg.fjf = this.addObj["BabyChargePrice"] ?
"儿童附加费:" + this.addObj["BabyChargePrice"] + "/人;" :
"";
}
}
if (text === "老人人数") {
if (this.remarkMsg.lr === "") {
this.remarkMsg.lr = "老人人数:" + this.addMsg[key] + ";";
if (this.addObj.OldManChargePrice) {
this.remarkMsg.lr =
this.remarkMsg.lr + this.addObj.OldManChargePrice + "/人;";
}
} else {
this.remarkMsg.lr = "";
this.remarkMsg.lr = "老人人数:" + this.addMsg[key] + ";";
if (this.addObj.OldManChargePrice) {
this.remarkMsg.lr =
this.remarkMsg.lr + this.addObj.OldManChargePrice + "/人;";
}
}
}
if (text === "婴儿人数") {
if (this.remarkMsg.ye === "") {
this.remarkMsg.ye =
"婴儿人数:" +
this.addMsg[key] +
";" +
"婴儿价格:" +
this.addObj.BabyPrice +
"/人;";
} else {
this.remarkMsg.ye = "";
this.remarkMsg.ye =
"婴儿人数:" +
this.addMsg[key] +
";" +
"婴儿价格:" +
this.addObj.BabyPrice +
"/人;";
}
}
if (text === "单地接数量") {
if (this.remarkMsg.dd === "") {
this.remarkMsg.dd = "单地接数量:" + this.addMsg[key] + ";";
} else {
this.remarkMsg.dd = "";
this.remarkMsg.dd = "单地接数量:" + this.addMsg[key] + ";";
}
}
if (text === "单房数量") {
if (this.remarkMsg.df === "") {
this.remarkMsg.df =
"单房数量:" +
this.addMsg[key] +
";" +
"单房差价" +
this.addObj.SingleRoomPrice +
"/人;";
} else {
this.remarkMsg.df = "";
this.remarkMsg.df =
"单房数量:" +
this.addMsg[key] +
";" +
"单房差价" +
this.addObj.SingleRoomPrice +
"/人;";
}
}
if (text === "大床房") {
if (this.remarkMsg.dc === "") {
this.remarkMsg.dc = "大床房:" + this.addMsg[key] + ";";
} else {
this.remarkMsg.dc = "";
this.remarkMsg.dc = "大床房:" + this.addMsg[key] + ";";
}
}
if (text === "三人房") {
if (this.remarkMsg.srf === "") {
this.remarkMsg.srf = "三人房:" + this.addMsg[key] + ";";
} else {
this.remarkMsg.srf = "";
this.remarkMsg.srf = "三人房:" + this.addMsg[key] + ";";
}
}
} else {
if (text === "儿童不占床") {
this.remarkMsg.bzc = "";
this.remarkMsg.fjf = "";
}
if (text === "儿童占床") {
this.remarkMsg.zc = "";
this.remarkMsg.fjf = "";
}
if (text === "婴儿人数") {
this.remarkMsg.ye = "";
}
if (text === "老人人数") {
this.remarkMsg.lr = "";
}
if (text === "单地接数量") {
this.remarkMsg.dd = "";
}
if (text === "单房数量") {
this.remarkMsg.df = "";
}
if (text === "大床房") {
this.remarkMsg.dc = "";
}
if (text === "三人房") {
this.remarkMsg.srf = "";
}
if (text === "不要签证数量") {
this.remarkMsg.qz = "";
this.remarkMsg.qzf = "";
}
if (text === "不要保险数量") {
this.remarkMsg.bx = "";
}
}
let _this = this;
let newRemark = "";
_this.addMsg.Remarks = "";
if (this.addMsg.GroupType == 4) {
newRemark = _this.addMsg.Remarks + _this.otherRemark;
} else {
newRemark = _this.addMsg.Remarks;
}
newRemark = _this.addMsg.Remarks + _this.otherRemark;
Object.keys(_this.remarkMsg).forEach(function (key) {
newRemark = newRemark + _this.remarkMsg[key];
});
_this.addMsg.Remarks = newRemark;
},
autoRemarks2(key, text) {
// let count = (Number(this.addMsg.AirticketNum)+Number(this.addMsg.ManNum)+Number(this.addMsg.ChirdNum)+Number(this.addMsg.BabyNum)+Number(this.addMsg.OldPeopleNum))
// if (this.addMsg[key].toString() !== count.toString() && this.addMsg[key].toString() !== '') {
// this.addMsg.Remarks = this.addMsg.Remarks + text + ':' + (count-this.addMsg[key]) + ';'
// }
},saveOrder() {
// 判断单团类型
if (this.addMsg.GroupType == 2) {
if (this.addMsg.IndustryCategory == "") {
this.Error("请填写行业类别!");
return;
}
if (this.addMsg.QuotationUrl == "") {
this.Error("请上传附件!");
return;
}
}
//验证人数和机位数 20190807 修改 如果是不是单地接才判断
if (this.addMsg.GroupType !== "4" && this.addMsg.GroupType !== "3") {
if (this.addMsg.ChirdNoNeedBedNum == "") {
this.addMsg.ChirdNoNeedBedNum = 0;
// this.$message.warning("请输入儿童不占床数!如果没有请输入0!");
// return;
}
if (this.addMsg.ChirdNeedBedNum == "") {
this.addMsg.ChirdNeedBedNum = 0;
// this.$message.warning("请输入儿童占床数!如果没有请输入0!");
// return;
}
if (
Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum) !=
Number(this.addMsg.YSeatNum) +
Number(this.addMsg.ESeatNum) +
Number(this.addMsg.FSeatNum)
) {
this.$message.warning("人数和机位数不相等!");
return;
}
if (
Number(this.addMsg.AirticketNum) +
Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum) +
Number(this.addMsg.BabyNum) <
Number(this.addMsg.VisaNum)
) {
this.$message.warning("签证数量不能大于人数总和!");
return;
}
if (
Number(this.addMsg.AirticketNum) +
Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum) +
Number(this.addMsg.BabyNum) <
Number(this.addMsg.SafeNum)
) {
this.$message.warning("保险数量不能大于人数总和!");
return;
}
if (
Number(this.addMsg.ChirdNum) -
Number(this.addMsg.ChirdNeedBedNum) +
Number(this.addMsg.BabyNum) >
Number(this.addMsg.ManNum) +
Number(this.addMsg.OldPeopleNum) +
Number(this.addMsg.ChirdNeedBedNum)
) {
this.$message.warning("儿童占床数量不足!");
return;
}
if (
Number(this.addMsg.ChirdNeedBedNum) > Number(this.addMsg.ChirdNum)
) {
this.$message.warning("儿童占床不能大于儿童数!");
return;
}
}
// if((Number(this.addMsg.ManNum)+Number(this.addMsg.ChirdNoNeedBedNum)+Number(this.addMsg.ChirdNeedBedNum)+Number(this.addMsg.OldPeopleNum))
// <(Number(this.addMsg.YSeatNum)+Number(this.addMsg.ESeatNum)+Number(this.addMsg.FSeatNum)))
// {
// this.$message.warning('机票数量不能大于人数总和!')
// return
// }
if (this.userId == this.createByInfo) {
if (this.addMsg.CommissionSharePeople == "-1") {
this.addMsg.CommissionShareMoney = "0";
}
}
if (this.addMsg.GroupType == 4) {
this.addMsg.TC_Price = this.SingleDMCPricex; //地接时 本团单价
this.addMsg.Unit_Price = this.SingleDMCPrice; // 地接时 成交单价
if (this.addMsg.ChirdNoNeedBedNum == "") {
this.addMsg.ChirdNoNeedBedNum = 0;
// this.$message.warning("请输入儿童不占床数!如果没有请输入0!");
// return;
}
}
let ChirdNum = Number(this.addMsg.ChirdNum);
if (this.addMsg.GroupType == 4) {
ChirdNum = 0;
}
// 判断交易方式是外交平台和平台付款
if (this.addMsg.TradeWay == 1 || this.addMsg.TradeWay == 3) {
if (this.addMsg.PlatformAccount == "") {
this.Error("请选择收款账户!");
return;
}
}
this.addMsg.TCID = this.addObj.TCID;
this.addMsg.GuestNum =
Number(this.addMsg.ManNum) +
ChirdNum +
Number(this.addMsg.OldPeopleNum) +
Number(this.addMsg.BabyNum) +
Number(this.addMsg.AirticketNum);
this.addMsg.IsChildrenTour = this.addObj.IsSupportChildren;
this.addMsg.IsBirdDiscount = this.addObj.IsBirdDiscount;
this.apipost(
"sellorder_post_SetOrderInfo_02",
this.addMsg,
(res) => {
if (res.data.resultCode == 1) {
this.$message.success(res.data.message);
this.$refs["addMsg"].resetFields();
this.$emit('close');
this.clearMsg();
this.isShowLayer = false;
} else {
this.$message.error(res.data.message);
}
},
(err) => {}
);
},
getMinPrice(id) {
this.apipost(
"line_post_Get", {
ID: id,
},
(res) => {
if (res.data.resultCode == 1) {
this.minPrice = res.data.data?res.data.data.LowDeposit:0;
}
},
(err) => {}
);
},
getScenicRefund(TCID) {
this.apipost(
"sellorder_get_GetScenicRefundList", {
TCID,
},
(res) => {
if (res.data.resultCode == 1) {
this.ScenicRefundList = res.data.data;
this.ScenicRefundList.forEach((item) => {
item["ScenicName"] =
item.CouponsName + " -¥" + this.moneyFormat(item.RefundMoney);
});
}
},
(err) => {}
);
},
getPlatformAccountNew() {
this.apipost(
"Financial_get_GetDiplomacyPlatformList", {},
(res) => {
if (res.data.resultCode == 1) {
this.PlatformAccountList2 = [];
let data = res.data.data;
data.forEach((item) => {
let obj = {
Alias: item.Name,
ID: item.ID,
};
this.PlatformAccountList2.push(obj);
});
}
},
(err) => {}
);
},
getPlatformAccount(typeIdtwo) {
let platBranchId = this.CurrentUserInfo.RB_Branch_id;
this.apipost(
"FinancialInstitutions_post_GetALLAccountList", {
TypeId: typeIdtwo,
BranchId: platBranchId,
},
(res) => {
if (res.data.resultCode == 1) {
this.PlatformAccountList1 = res.data.data;
}
},
(err) => {}
);
},
getSspt() {
//给非直客 隐藏电话姓名赋值
let obj = this.khmdList.find(
(item) => item.customerId == this.addMsg.CustomerId
);
this.customerId = obj.customerId;
this.createByInfo = obj.createByInfo;
this.addMsg.ContactName = obj.customerName + "(" + obj.contact + ")";
this.addMsg.ContactMobile = obj.contactNumber;
if (this.userId != this.createByInfo) {
this.addMsg.CommissionSharePeople = this.createByInfo;
this.isUpdateSharePeople = true;
} else {
this.addMsg.CommissionSharePeople = "-1";
this.isUpdateSharePeople = false;
}
this.apipost(
"app_today_visit_GetCustomerBrandByCustomerId", {
customerInfoId: this.addMsg.CustomerId,
},
(res) => {
if (res.data.resultCode == 1) {
this.addMsg.BrandId = "";
this.ssptList = res.data.data;
}
},
(err) => {}
);
},
getTotalPrice(t) {
if (t === 3) {
if (parseFloat(this.addMsg.Unit_Price).toString() === "NaN") {
this.$message.error("请输入正确的价格!");
this.addMsg.Unit_Price = this.addMsg.TC_Price;
return;
}
if (parseFloat(this.addMsg.Unit_Price) < this.addMsg.TC_Price) {
this.$message.error("成交单价必须大于等于本团单价!");
this.addMsg.Unit_Price = this.addMsg.TC_Price;
return;
}
if (parseFloat(this.SingleDMCPrice) < this.SingleDMCPricex) {
this.$message.error("成交单价必须大于等于本团单价!");
this.SingleDMCPrice = this.SingleDMCPricex;
return;
}
}
this.addMsg.ChirdNum =
this.addMsg.ChirdNoNeedBedNum * 1 + this.addMsg.ChirdNeedBedNum * 1;
if (this.addObj.IsBirdDiscount == 1) {
//早鸟优惠
//this.addMsg.Unit_Price //成交单价
//BabyPrice 婴儿价
//BabyChargePrice 儿童附加费
//OldManChargePrice 老人 附加费
//DiscountPrice 早鸟优惠
let chengren =
Number(this.addMsg.ManNum) *
(Number(this.addMsg.Unit_Price) - this.addObj.DiscountPrice);
let ertong =
Number(this.addMsg.ChirdNum) *
(Number(this.addMsg.Unit_Price) -
this.addObj.DiscountPrice +
this.addObj.BabyChargePrice);
let yinger = Number(this.addMsg.BabyNum) * this.addObj.BabyPrice;
let laoren =
Number(this.addMsg.OldPeopleNum) *
(Number(this.addMsg.Unit_Price) -
this.addObj.DiscountPrice +
this.addObj.OldManChargePrice);
let zafeiqianzhen =
this.addObj.OtherPrice *
(Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum)) +
this.addObj.VisaPrice *
(Number(this.addMsg.AirticketNum) +
Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum)) -
this.addObj.BackVisaPrice *
(Number(this.addMsg.AirticketNum) +
Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.BabyNum) +
Number(this.addMsg.OldPeopleNum) -
Number(this.addMsg.VisaNum));
let danfang =
Number(this.addMsg.SingleRoomNum) * this.addObj.SingleRoomPrice;
let ertongbed =
this.addObj.ChildNeedPrice * Number(this.addMsg.ChirdNeedBedNum) -
this.addObj.ChildNoNeedPrice *
(Number(this.addMsg.ChirdNum) -
Number(this.addMsg.ChirdNeedBedNum));
let lianyun =
(Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum)) *
(Number(this.stratPrice) + Number(this.returnPrice));
let dandijie;
if (this.addMsg.GroupType == 4) {
dandijie =
this.SingleDMCPrice * Number(this.addMsg.AirticketNum) -
this.addObj.ChildNoNeedPrice *
Number(this.addMsg.ChirdNoNeedBedNum);
ertong = 0;
ertongbed = 0;
zafeiqianzhen = 0;
} else {
dandijie =
this.addObj.SingleDMCPrice * Number(this.addMsg.AirticketNum);
}
this.addMsg.PreferPrice =
dandijie +
lianyun +
chengren +
ertong +
yinger +
laoren +
zafeiqianzhen +
danfang +
ertongbed -
this.ScenicRefundMoney *
(Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
} else {
let chengren =
Number(this.addMsg.ManNum) * Number(this.addMsg.Unit_Price);
let ertong =
Number(this.addMsg.ChirdNum) *
(Number(this.addMsg.Unit_Price) + this.addObj.BabyChargePrice);
let yinger = Number(this.addMsg.BabyNum) * this.addObj.BabyPrice;
let laoren =
Number(this.addMsg.OldPeopleNum) *
(Number(this.addMsg.Unit_Price) + this.addObj.OldManChargePrice);
let zafeiqianzhen =
this.addObj.OtherPrice *
(Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum)) +
this.addObj.VisaPrice *
(Number(this.addMsg.AirticketNum) +
Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum)) -
this.addObj.BackVisaPrice *
(Number(this.addMsg.AirticketNum) +
Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.BabyNum) +
Number(this.addMsg.OldPeopleNum) -
Number(this.addMsg.VisaNum));
let danfang =
Number(this.addMsg.SingleRoomNum) * this.addObj.SingleRoomPrice;
let ertongbed =
this.addObj.ChildNeedPrice * Number(this.addMsg.ChirdNeedBedNum) -
this.addObj.ChildNoNeedPrice *
(Number(this.addMsg.ChirdNum) -
Number(this.addMsg.ChirdNeedBedNum));
let lianyun =
(Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum)) *
(Number(this.stratPrice) + Number(this.returnPrice));
let dandijie;
if (this.addMsg.GroupType == 4) {
dandijie =
this.SingleDMCPrice * Number(this.addMsg.AirticketNum) -
this.addObj.ChildNoNeedPrice *
Number(this.addMsg.ChirdNoNeedBedNum);
ertong = 0;
ertongbed = 0;
zafeiqianzhen = 0;
} else {
dandijie =
this.addObj.SingleDMCPrice * Number(this.addMsg.AirticketNum);
}
this.addMsg.PreferPrice =
dandijie +
lianyun +
chengren +
ertong +
yinger +
laoren +
zafeiqianzhen +
danfang +
ertongbed -
this.ScenicRefundMoney *
(Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
}
this.getTicheng();
if (!t) {
this.getTypePrice();
}
},
ScenicRefundMethods() {
if (this.addMsg.ScenicRefundArr.length == 0) {
this.ScenicRefundMoney = 0;
} else {
this.ScenicRefundMoney = 0;
this.addMsg.ScenicRefundArr.forEach((x) => {
let listIndex = this.ScenicRefundList.findIndex(
(item) => item.Id == x
);
if (listIndex != -1) {
this.ScenicRefundMoney +=
this.ScenicRefundList[listIndex].RefundMoney;
}
});
}
this.getTotalPrice();
this.getTicheng();
},
tradeWayMethods(val) {
if (val == 3) {
this.addMsg.PlatformAccount = "";
this.PlatformAccountList = this.PlatformAccountList2;
}
if (val == 1) {
this.addMsg.PlatformAccount = "";
this.PlatformAccountList = this.PlatformAccountList1;
}
if (this.addMsg.TradeWay == 2) {
this.addMsg.PlatformOrder = "";
this.addMsg.PlatformAccount = "";
this.addMsg.MinOrderPrice = 0;
this.addMsg.CostType = "";
this.addMsg.TradeDate = "";
}
},
//上传文件
uploadFileBtn(file) {
if (file.file.size > 1024 * 1024 * 100) {
this.$message.warning("上传文件不能大于100M");
this.$refs["my-upload"].clearFiles();
return;
}
this.uploadLloading = true;
//上传
let newArr = [];
newArr.push(file.file);
let path = "/Upload/Temporary/";
this.$message.info(this.$t("tips.shangchuanzhong"));
this.UploadSelfFileT(path, newArr, (x) => {
this.addMsg.QuotationUrl =
this.domainManager().ViittoFileUrl + x.data.FilePath;
this.$message.success(this.$t("tips.scchenggong"));
this.uploadLloading = false;
});
},
// 移除文件
removeFile(e) {
this.addMsg.QuotationUrl = "";
},
getclSource() {
let text = '飞猪订单'
if (this.addMsg.ClientSource == 4 && this.addMsg.Remarks.indexOf(text) == -1) {
this.addMsg.Remarks = '飞猪订单;' + this.addMsg.Remarks
}
},
//预览文件
previewFile(e) {
window.open(this.addMsg.QuotationUrl, "_blank");
return;
const link = document.createElement("a");
let _loadUrl = this.domainManager().DomainUrl;
let str = window.location.href;
link.href = this.addMsg.QuotationUrl;
document.body.appendChild(link);
link.click();
},
getHouseNo() {
//算法:((成人+儿童占床数+老人-(三人房数量*3))-单房数)/2+单房数+三人房数量 8.7新增单地接儿童不占床 减去 儿童不占床
let etbzc = 0;
if (this.addMsg.GroupType == 4) {
etbzc = this.addMsg.ChirdNoNeedBedNum ?
Number(this.addMsg.ChirdNoNeedBedNum) :
0;
}
this.addMsg.PredictRoomNum =
(Number(this.addMsg.AirticketNum) +
(Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNeedBedNum) -
etbzc +
Number(this.addMsg.OldPeopleNum)) -
Number(this.addMsg.TripleRoomNum) * 3 -
Number(this.addMsg.SingleRoomNum)) /
2 +
Number(this.addMsg.SingleRoomNum) +
Number(this.addMsg.TripleRoomNum);
},
getNumber() {
if (
this.addMsg.GroupType == 4 &&
parseInt(this.addMsg.ChirdNoNeedBedNum) >
parseInt(this.addMsg.AirticketNum)
) {
this.addMsg.ChirdNoNeedBedNum = 0;
this.$message.error("儿童不占床数不能大于单地接人数!");
this.$forceUpdate();
return;
}
let ChirdNum =
this.addMsg.ChirdNoNeedBedNum * 1 + this.addMsg.ChirdNeedBedNum * 1;
if (this.addMsg.GroupType == 4) {
ChirdNum = 0;
}
this.addMsg.ChirdNum =
this.addMsg.ChirdNoNeedBedNum * 1 + this.addMsg.ChirdNeedBedNum * 1;
this.addMsg.VisaNum =
Number(this.addMsg.AirticketNum) +
Number(this.addMsg.ManNum) +
ChirdNum +
Number(this.addMsg.BabyNum) +
Number(this.addMsg.OldPeopleNum);
this.addMsg.SafeNum =
Number(this.addMsg.AirticketNum) +
Number(this.addMsg.ManNum) +
ChirdNum +
Number(this.addMsg.BabyNum) +
Number(this.addMsg.OldPeopleNum);
this.TotalNumber =
Number(this.addMsg.AirticketNum) +
Number(this.addMsg.ManNum) +
ChirdNum +
Number(this.addMsg.BabyNum) +
Number(this.addMsg.OldPeopleNum);
var SeatNum =
Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum) -
(Number(this.addMsg.ESeatNum) + Number(this.addMsg.FSeatNum));
this.addMsg.YSeatNum = SeatNum < 0 ? 0 : SeatNum;
if (this.addMsg.GroupType == 4) {
this.addMsg.YSeatNum = 0;
}
this.autoRemarks("VisaNum", "不要签证数量");
},
getTypePrice() {
//this.addMsg.ContactName = ''
//this.addMsg.ContactMobile = ''
if (this.addMsg.CustomerType == 1) {
this.addMsg.TC_Price = this.addObj.B2BMemberPrice;
this.addMsg.Unit_Price = this.addObj.B2BMemberPrice;
//this.addMsg.CustomerId = ''
}
if (this.addMsg.CustomerType == 2) {
this.addMsg.TC_Price = this.addObj.B2BPrice;
this.addMsg.Unit_Price = this.addObj.B2BPrice;
//this.addMsg.CustomerId = ''
}
if (this.addMsg.CustomerType == 3) {
this.addMsg.TC_Price = this.addObj.B2CMemberPrice;
this.addMsg.Unit_Price = this.addObj.B2CMemberPrice;
this.addMsg.CustomerId = "0";
this.addMsg.CommissionShareMoney = "0";
}
if (this.addMsg.CustomerType == 4) {
this.addMsg.TC_Price = this.addObj.B2CPrice;
this.addMsg.Unit_Price = this.addObj.B2CPrice;
this.addMsg.CustomerId = "0";
this.addMsg.CommissionShareMoney = "0";
}
this.Unit_PriceList = [];
let maxPeopleNum =
Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNoNeedBedNum) +
Number(this.addMsg.ChirdNeedBedNum) +
Number(this.addMsg.OldPeopleNum) +
Number(this.addMsg.AirticketNum);
if (maxPeopleNum > 0) {
this.apipost(
"sellorder_post_GetLessPrice", {
TCID: this.addObj.TCID,
MaxPeopleNum: maxPeopleNum
},
(res) => {
this.LessMoney = res.data.data.lessMoney;
if (parseFloat(this.LessMoney) > 0) {
for (var i = 0; i <= parseInt(this.LessMoney) / 10; i++) {
var obj = {
ID: "",
LessMoney: "",
};
obj.ID = this.addMsg.Unit_Price - i * 10;
obj.LessMoney = this.addMsg.Unit_Price - i * 10;
this.Unit_PriceList.push(obj);
}
if (
this.Unit_PriceList.findIndex(
(markers) => markers.ID == this.addMsg.Unit_Price
) < 0
) {
var obj = {
ID: "",
LessMoney: "",
};
obj.ID = this.addMsg.Unit_Price;
obj.LessMoney = this.addMsg.Unit_Price;
this.Unit_PriceList.push(obj);
}
} else {
var obj = {
ID: "",
LessMoney: "",
};
obj.ID = this.addMsg.Unit_Price;
obj.LessMoney = this.addMsg.Unit_Price;
this.Unit_PriceList.push(obj);
}
},
(err) => {}
);
}
},
getTicheng() {
//提成
let num =
Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum);
let yh = 0;
if (num > 0) {
this.apipost(
"sellorder_get_GetOrderMinPrice", {
ltID: this.addObj.ltID,
Num: num,
},
(res) => {
yh = res.data.data;
},
(err) => {}
);
}
// let cj='成交单价-最低成交价格(标准单价-符合人数[成人,儿童,老人]条件的最高少价)'
let chajia = Number(this.addMsg.Unit_Price) - (this.addMsg.TC_Price - yh);
let ewtc = chajia > 0 ? chajia * 0.5 * num : chajia * num; //额外提成
this.addMsg.Commission = (
Number(this.addMsg.PreferPrice) * 0.01 +
ewtc
).toFixed(2);
this.addMsg.CommissionShareMoney = "0";
if (
(this.addMsg.CustomerType == 1 || this.addMsg.CustomerType == 2) &&
this.addMsg.CommissionSharePeople != ""
) {
if (this.addMsg.CommissionSharePeople != "-1") {
if (this.addMsg.Commission > 0) {
this.addMsg.CommissionShareMoney = this.addMsg.Commission / 2;
this.addMsg.Commission =
this.addMsg.Commission - this.addMsg.CommissionShareMoney;
} else {
this.addMsg.CommissionShareMoney = "0";
}
}
}
},
groupTypeChange(val) {
if (val === "4") {
this.addMsg.ManNum = 0;
this.addMsg.ChirdNoNeedBedNum = 0;
this.addMsg.ChirdNeedBedNum = 0;
this.addMsg.BabyNum = 0;
this.addMsg.OldPeopleNum = 0;
this.addMsg.ManNum = 0;
this.getNumber();
this.getHouseNo();
this.getTotalPrice();
} else if (val === "1") {
this.addMsg.AirticketNum = 0;
this.getNumber();
this.getHouseNo();
this.getTotalPrice();
}
this.addMsg.GroupTypeNeedHouse = "0";
},
gettypechange(type) {
if ((type = !2)) {
this.addMsg.IndustryCategory = "";
this.addMsg.QuotationUrl = "";
}
if (type == 4) {
this.HightUnitPrice = "1";
this.addMsg.AirticketNum = 0;
this.addMsg.ManNum = 0;
// this.addMsg.ChirdNum = 0;
this.addMsg.BabyNum = 0;
this.addMsg.OldPeopleNum = 0;
this.addMsg.ChirdNoNeedBedNum = 0;
this.addMsg.ChirdNeedBedNum = 0;
this.addMsg.PreferPrice = 0;
this.addMsg.SafeNum = 0;
this.addMsg.VisaNum = 0;
this.addMsg.PredictRoomNum = 0;
this.addMsg.YSeatNum = 0;
} else {
this.HightUnitPrice = "2";
this.addMsg.AirticketNum = 0;
this.addMsg.ManNum = 0;
// this.addMsg.ChirdNum = 0;
this.addMsg.BabyNum = 0;
this.addMsg.OldPeopleNum = 0;
this.addMsg.ChirdNoNeedBedNum = 0;
this.addMsg.ChirdNeedBedNum = 0;
this.addMsg.PreferPrice = 0;
this.addMsg.SafeNum = 0;
this.addMsg.VisaNum = 0;
this.addMsg.PredictRoomNum = 0;
this.addMsg.YSeatNum = 0;
}
this.Unit_PriceList = [];
},
getJyfs() {
this.apipost(
"sellorder_get_GetSellTradeWayEnumList", {},
(res) => {
if (res.data.resultCode == 1) {
this.jyfsList = res.data.data;
}
},
(err) => {}
);
},
getDdlyList() {
this.addMsg.ClientSource = "";
this.apipost(
"sellorder_get_GetSellClientSourceEnumList", {
typeId: this.addMsg.CustomerType,
},
(res) => {
if (res.data.resultCode == 1) {
this.ddlyList = res.data.data;
}
},
(err) => {}
);
},
getScenicRefund(TCID) {
this.apipost(
"sellorder_get_GetScenicRefundList", {
TCID,
},
(res) => {
if (res.data.resultCode == 1) {
this.ScenicRefundList = res.data.data;
this.ScenicRefundList.forEach((item) => {
item["ScenicName"] =
item.CouponsName + " -¥" + this.moneyFormat(item.RefundMoney);
});
}
},
(err) => {}
);
},
getEmployee() {
//员工
this.apipost(
"admin_get_EmployeeGetList",
this.employeeMsg,
(res) => {
if (res.data.resultCode == 1) {
this.employeeList = res.data.data;
} else {}
},
(err) => {}
);
},
getStartList() {
this.apipost("sellorder_get_GetAllStartCity", {}, (res) => {
if (res.data.resultCode == 1) {
this.startCityList = res.data.data;
} else {}
});
},
getKhmdList() {
this.apipost(
"app_today_visit_GetOrderMyCustomerList", {
typeId: this.addMsg.CustomerType,
lineId: this.addObj.LineID,
IsLineId: 1,
},
(res) => {
if (res.data.resultCode == 1) {
this.khmdList = res.data.data;
}
},
(err) => {}
);
},
getCtlxList() {
this.apipost(
"sellorder_get_GetOrderJoinEnumList", {},
(res) => {
if (res.data.resultCode == 1) {
this.ctlxList = res.data.data;
// 屏蔽订车订房订门票
this.ctlxList.splice(-1)
this.ctlxList.splice(-1)
this.ctlxList.splice(-1)
}
},
(err) => {}
);
},
getKhlxList() {
this.apipost(
"sellorder_get_GetSellClientTypeEnumList", {},
(res) => {
if (res.data.resultCode == 1) {
this.khlxList = res.data.data;
}
},
(err) => {}
);
},
resetSelect() {
if (this.addMsg.CustomerType == 1) {
this.addMsg.CustomerId = "";
}
if (this.addMsg.CustomerType == 2) {
this.addMsg.CustomerId = "";
}
},
//q清空联系人和联系电话
resetMsg(type) {
if (type == 3 || type == 4) {
this.addMsg.ContactName = "";
this.addMsg.ContactMobile = "";
}
},
initial(){
this.getJyfs()
this.getDdlyList()
this.getEmployee()
this.getStartList()
this.getKhmdList()
this.getCtlxList()
this.getKhlxList()
this.getMinPrice(this.addObj.LineID);
this.getScenicRefund(this.addObj.TCID);
this.getPlatformAccount(this.addObj.PlatformAccountTypeId);
this.getPlatformAccountNew();
this.clearMsg();
// let str = ''
// if (this.addObj.OtherPrice > 0 ) {
// str += '杂费' + this.addObj.OtherPrice + '/人;'
// }
// this.addMsg.Remarks = str
// this.otherRemark = str;
this.SingleDMCPrice = this.addObj.SingleDMCPrice;
this.SingleDMCPricex = this.addObj.SingleDMCPrice;
}
},
mounted() {
// crm自动登陆传过来的参数
if (this.$route.query.crmOrderObj) {
this.crmOrderObj = JSON.parse(this.$route.query.crmOrderObj)
this.addMsg.LureEmpId = this.crmOrderObj.LureEmpId //引流id
this.addMsg.CRMGuestId = this.crmOrderObj.CRMGuestId //客人ID
}
let userInfo = this.getLocalStorage();
this.CurrentUserInfo = userInfo;
this.initial()
},
watch: {
//监听TCID变化
msg:{
handler(newVal,oldValue) {
this.addMsg = newVal
},
deep: true,
immediate: true
},
Obj:{
handler(newVal,oldValue) {
this.addObj = newVal
},
deep: true,
immediate: true
},
}
};
</script>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment