Commit b9836316 authored by 黄奎's avatar 黄奎

页面修改

parent 15efa8a9
<style scoped>
.productQuerybottomLayer .el-form-item__label {
font-size: 12px !important;
}
.productQuerybottomLayer>p {
border-left: 3px solid #e95252;
text-indent: 15px;
height: 16px;
font-family: "PingFangSc-Fine";
font-size: 16px;
margin-bottom: 20px;
line-height: 14px;
color: #000;
}
.productQuerybottomLayer .el-input-number {
width: auto !important;
}
</style>
<!--跟团游、小包团、当地游订单修改-->
<template>
<div class="flexOne groupts">
<div class="productQuerybottomLayer ownScrollbarStyle">
<p>
修改订单211
<span class="fr">
<input type="button" class="hollowFixedBtn" value="取消" @click="cancelSubmit()" />
<input type="button" class="normalBtn" value="保存" @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="客户类型" prop="CustomerType">
<el-select v-model="addMsg.CustomerType" filterable :placeholder="$t('pub.pleaseSel')"
@change="getTypePrice" :disabled="true">
<el-option v-for="item in ClientTypeList" :label="item.Name" :value="item.Id" :key="item.Id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="参团类型" prop="GroupType">
<el-select v-model="addMsg.GroupType" filterable :placeholder="$t('pub.pleaseSel')"
@change="gettypechange(addMsg.GroupType)">
<el-option v-for="item in JoinTypeList" :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="是否用房" prop="GroupTypeNeedHouse">
<el-switch @change="$forceUpdate()" 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="联系人" prop="ContactName" v-show="addMsg.CustomerType == 3 || addMsg.CustomerType == 4">
<el-input v-model="addMsg.ContactName"></el-input>
</el-form-item>
<el-form-item label="联系电话" prop="ContactMobile"
v-show="addMsg.CustomerType == 3 || addMsg.CustomerType == 4">
<el-input v-model="addMsg.ContactMobile"></el-input>
</el-form-item>
<el-form-item label="客户门店" prop="CustomerId" v-show="
addMsg.CustomerType == 1 ||
addMsg.CustomerType == 2 ||
addMsg.CustomerType == ''
">
<el-select v-model="addMsg.CustomerId" filterable :placeholder="$t('pub.pleaseSel')" @change="getSspt"
:disabled="true">
<el-option v-for="item in khmdList" :label="item.customerName" :value="item.customerId"
:key="item.customerId">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="出发城市" prop="DepartureCityId">
<el-select filterable v-model="addMsg.DepartureCityId" :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="是否联运" prop="IsIntermodal" v-show="addMsg.DepartureCityId != SetOutCityId">
<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="联运时间" prop="GoCityTime" v-show="
addMsg.IsIntermodal == 1 &&
addMsg.DepartureCityId != SetOutCityId
">
<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="返回城市" prop="ReturnArriveCityId">
<el-select filterable v-model="addMsg.ReturnArriveCityId" :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="是否联运" prop="IsReturnIntermodal" v-show="addMsg.ReturnArriveCityId != reOutCityId">
<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="联运时间" prop="IsReturnIntermodal" v-show="
addMsg.IsReturnIntermodal == 1 &&
addMsg.ReturnArriveCityId != reOutCityId
">
<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="本团单价" prop="TC_Price">
<el-input v-model="addMsg.TC_Price" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="出发联运价" v-show="
addMsg.IsIntermodal == 1 &&
addMsg.DepartureCityId != SetOutCityId
">
<el-input v-model="stratPrice" v-show="stratPriceShow" :disabled="true"></el-input>
<span class="colorE95252" v-show="!stratPriceShow">暂无报价!</span>
</el-form-item>
<el-form-item label="返回联运价" v-show="
addMsg.IsReturnIntermodal == 1 &&
addMsg.ReturnArriveCityId != reOutCityId
">
<el-input v-model="returnPrice" v-show="returnPriceShow" :disabled="true"></el-input>
<span class="colorE95252" v-show="!returnPriceShow">暂无报价!</span>
</el-form-item>
</el-col>
<el-col :span="4" v-if="isChecked == true">
<template>
<el-form-item label="成交单价" 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, index) in Unit_PriceList" :label="item.LessMoney" :value="item.ID"
:key="index + 1">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="成交单价" prop="Unit_Price" v-else>
<el-input v-model="addMsg.Unit_Price" @change="getTotalPrice(3)"></el-input>
</el-form-item>
</template>
<el-form-item label="高于本团单价" 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">
注:如果超出本团的最低让价,差价将由你来承担
</p>
<p v-else-if="LessMoney > 0" style="line-height: 18px; color: #e95252">
注:最多少价{{ LessMoney }}元,如需少价更多请联系上级主管
</p>
</el-form-item>
</el-col>
<el-col :span="4" v-else>
<el-form-item label="成交单价" prop="Unit_Price">
<el-input v-model="addMsg.Unit_Price" @keyup.native="
checkPrice(addMsg, 'Unit_Price');
getTotalPrice();
">
</el-input>
</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="单地接数量" v-show="addMsg.GroupType == 4">
<el-input v-model="addMsg.AirticketNum" @keyup.native="checkInteger(addMsg, 'AirticketNum')" @input="
getNumber();
getTotalPrice();
getHouseNo();
"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="成人人数" v-show="addMsg.GroupType !== '4'">
<el-input v-model="addMsg.ManNum" @keyup.native="checkInteger(addMsg, 'ManNum')" @input="
getNumber();
getHouseNo();
getTotalPrice();
"></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;
">
本团不支持儿童出游!
</p>
<el-form-item v-if="IsChildrenTour == 1" label="儿童不占床">
<el-input v-model="addMsg.ChirdNoNeedBedNum" @keyup.native="checkInteger(addMsg, 'ChirdNoNeedBedNum')"
@input="
getNumber();
getHouseNo();
getTotalPrice();
"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" v-if="IsChildrenTour == 1">
<el-form-item label="儿童占床" v-show="addMsg.GroupType !== '4'">
<el-input v-model="addMsg.ChirdNeedBedNum" @keyup.native="checkInteger(addMsg, 'ChirdNeedBedNum')" @input="
getNumber();
getHouseNo();
getTotalPrice();
"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" v-if="IsChildrenTour == 1">
<el-form-item label="婴儿人数" v-show="addMsg.GroupType !== '4'">
<el-input v-model="addMsg.BabyNum" @keyup.native="checkInteger(addMsg, 'BabyNum')" @input="
getNumber();
getTotalPrice();
getTotalPrice();
"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="老人人数" v-show="addMsg.GroupType !== '4'">
<el-input v-model="addMsg.OldPeopleNum" @keyup.native="checkInteger(addMsg, 'OldPeopleNum')" @input="
getNumber();
getHouseNo();
getTotalPrice();
"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<el-form-item label="单房数量">
<el-input v-model="addMsg.SingleRoomNum" @keyup.native="checkInteger(addMsg, 'SingleRoomNum')" @input="
yzBigBed2();
getTotalPrice();
"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="大床房">
<el-input v-model="addMsg.BigRoomNum" @keyup.native="checkInteger(addMsg, 'BigRoomNum')" @input="
yzBigBed();
getTotalPrice();
"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="三人房">
<el-input v-model="addMsg.TripleRoomNum" @keyup.native="checkInteger(addMsg, 'TripleRoomNum')" @input="
yzBigBed1();
getTotalPrice();
"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="签证数量">
<el-input v-model="addMsg.VisaNum" @keyup.native="checkInteger(addMsg, 'VisaNum')" @input="
yzVisaNum();
getTotalPrice();
"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="保险数量">
<el-input v-model="addMsg.SafeNum" @keyup.native="checkInteger(addMsg, 'SafeNum')" @input="
yzSafeNum();
getTotalPrice();
"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="拒签人数" prop="RefuseVisaNum">
<el-input v-model="addMsg.RefuseVisaNum" @keyup.native="checkInteger(addMsg, 'RefuseVisaNum')"
@input="getTotalPrice()"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<el-form-item label="预计用房">
<el-input v-model="addMsg.PredictRoomNum" :disabled="true"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" class="Ysze">
<el-form-item label="应收总额" prop="PreferPrice">
<el-input v-model="addMsg.PreferPrice" :disabled="!IsUpdateOrderMoney"></el-input>
</el-form-item>
<button @click="Yszefz" type="button" class="Ysze-button el-button--primary" style="
background-color: rgb(0, 198, 255);
border-color: rgb(0, 198, 255);
">
<i class="iconfont icon-nav-hangzheng" style="font-size: 12px"></i>
</button>
<!-- 修改应收总额 -->
<div class="changeYsze" v-show="Ysze">
<el-form :model="addMsg_form" ref="addMsg_form" label-position="right" label-width="100px">
<span class="el-icon-close" @click="Ysze = false"></span>
<el-form-item label="签证费">
<el-input v-model="addMsg_form.VisaPrice" :disabled="!IsUpdateOrderMoney"></el-input>
</el-form-item>
<el-form-item label="退签证费">
<el-input v-model="addMsg_form.BackVisaPrice" :disabled="!IsUpdateOrderMoney"></el-input>
</el-form-item>
<el-form-item label="杂费">
<el-input v-model="addMsg_form.OtherPrice" :disabled="!IsUpdateOrderMoney"></el-input>
</el-form-item>
<el-form-item label="老人附加费">
<el-input v-model="addMsg_form.OldManChargePrice" :disabled="!IsUpdateOrderMoney"></el-input>
</el-form-item>
<el-form-item label="儿童附加费">
<el-input v-model="addMsg_form.BabyChargePrice" :disabled="!IsUpdateOrderMoney"></el-input>
</el-form-item>
<el-form-item label="单房差">
<el-input v-model="addMsg_form.SingleRoomPrice" :disabled="!IsUpdateOrderMoney"></el-input>
</el-form-item>
<el-form-item label="儿童占床增收">
<el-input v-model="addMsg_form.ChildNeedPrice" :disabled="!IsUpdateOrderMoney"></el-input>
</el-form-item>
<el-form-item label="儿童不占床减免">
<el-input v-model="addMsg_form.ChildNoNeedPrice" :disabled="!IsUpdateOrderMoney"></el-input>
</el-form-item>
<el-form-item label="收损金额">
<el-input v-model="addMsg_form.OpSetLossMoney" :disabled="true"></el-input>
</el-form-item>
<el-form-item label="单地接">
<el-input v-model="addMsg_form.SingleDMCPrice" :disabled="!IsUpdateOrderMoney"></el-input>
</el-form-item>
<el-form-item label="婴儿价">
<el-input v-model="addMsg_form.BabyPrice" :disabled="!IsUpdateOrderMoney"></el-input>
</el-form-item>
<el-form-item v-if="IsUpdateOrderMoney">
<el-button type="primary" style="padding: 6px 15px" @click="submitYSZEForm">确定</el-button>
</el-form-item>
</el-form>
</div>
</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="分摊人" prop="CommissionSharePeople">
<el-select :disabled="isUpdateSharePeople" filterable clearable @change="getTicheng"
v-model="addMsg.CommissionSharePeople" :placeholder="$t('pub.pleaseSel')">
<el-option label="无" :value="comSelect"></el-option>
<el-option v-for="(item, index) in employeeList" :label="item.EmName" :value="item.EmployeeId"
:key="index"></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="分摊金额" prop="CommissionShareMoney">
<el-input v-model="addMsg.CommissionShareMoney" :disabled="true"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="单男单女">
<el-radio v-model="addMsg.OneSex" :label="1"></el-radio>
<el-radio v-model="addMsg.OneSex" :label="2"></el-radio>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<el-form-item label="经济舱" 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="商务舱" 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="头等舱" prop="FSeatNum">
<el-input v-model="addMsg.FSeatNum" @input="getNumber()"></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="clearfix">
<div class="leftSetInfo">
<span class="GO_Title">可退景点</span>
</div>
<div class="GO_TPright clearfix">
<el-popover popper-class="_TravelPricePopover" trigger="click">
<div>
<div class="GOScenicDiv">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="_color_666">选择</td>
<td class="_color_666">景点名称</td>
<td class="_color_666">OP设置金额</td>
<td class="_color_666">人数</td>
<td class="_color_666">退款金额</td>
</tr>
<tr v-for="item in ScenicRefundList">
<td>
<el-checkbox :checked="item.IsChecked" @change="getGOScenic(item)"></el-checkbox>
</td>
<td>
{{ item.CouponsName }}
</td>
<td>
{{ item.RefundMoney }}
</td>
<td>
<el-input class="w80" @keyup.native="checkInteger(item,'Number'),CheckNum(item)"
@change="getGOScenictWO" v-model="item.Number"></el-input>
</td>
<td>
<el-input class="w80" @keyup.native="checkPrice(item, 'BackMoney')" @change="getGOScenictWO"
v-model="item.BackMoney"></el-input>
</td>
</tr>
</table>
</div>
</div>
<div slot="reference" class="SimulateDrop-box">
<span class="SD_flight" v-for="subItem in SciencNameList">{{
subItem
}}</span>
<i class="iconfont icon-arrow-down GO_SimulaDrop"></i>
</div>
</el-popover>
</div>
</div>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<el-form-item label="客人来源" prop="ClientSource">
<el-select v-model="addMsg.ClientSource" :disabled="addMsg.OrderForm !== 4 ? true : false" filterable
:placeholder="$t('pub.pleaseSel')">
<el-option v-for="item in ddlyList" :label="item.Name" :value="item.Id" :key="item.Name">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="所属平台" prop="BrandId" v-show="addMsg.ClientSource == 1|| addMsg.ClientSource == 4">
<el-select v-model="addMsg.BrandId" :disabled="false" filterable :placeholder="$t('pub.pleaseSel')">
<el-option v-for="item in ssptList" :label="item.brandName" :value="item.dictId" :key="item.brandName">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="交易方式" prop="TradeWay" v-show="addMsg.ClientSource == 1|| addMsg.ClientSource == 4">
<el-select v-model="addMsg.TradeWay" :disabled="addMsg.OrderForm !== 4 ? true : false" filterable
:placeholder="$t('pub.pleaseSel')">
<el-option v-for="item in TradeWayList" :label="item.Name" :value="item.Id" :key="item.Name">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" v-if="addMsg.TradeWay == 1">
<el-form-item label="收款账户">
<el-select filterable v-model="addMsg.PlatformAccount" @change="changeSelect">
<el-option v-for="item in PlatformAccountList" :label="item.Alias" :value="item.ID" :key="item.Alias">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" v-if="addMsg.TradeWay == 1">
<el-form-item label="平台订单号" prop="PlatformOrder">
<el-input v-model="addMsg.PlatformOrder" @input="platformOrderMethods" :disabled="isAllowUpdate == 0">
</el-input>
</el-form-item>
</el-col>
<el-col :span="4" v-show="addMsg.GroupType == '2'">
<el-form-item label="报价单" prop="QuotationUrl">
<div style="margin-bottom: 10px; width: 32%" v-loading="uploadLloading" element-loading-text="拼命上传中">
<el-upload ref="my-upload" class="upload-demo" :http-request="uploadFileBtnFJ" :multiple="true"
:show-file-list="true" :on-preview="previewFileFJ" :on-remove="removeFileFJ" :limit="1"
:file-list="fileFujianList" action>
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</div>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="备注" prop="Remarks">
<el-input v-model="addMsg.Remarks" type="textarea" maxlength="500"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20" v-if="addMsg.IsIntermodal == 1 || addMsg.IsReturnIntermodal == 1">
<el-col :span="24">
<el-form-item label="联运备注" prop="UnionRemark">
<el-input v-model="addMsg.UnionRemark" type="textarea" maxlength="500"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
export default {
//订单修改参数
props: ["orderInfoPropObj"],
//订单信息
props: [
"orderprops",
],
data() {
return {
S_UpdateOrderMoney: false,
userInfo: {},
redBagList: [],
// 修改应收总额
Ysze: false,
addMsg_form: {},
addMsg: {
GroupTypeNeedHouse: "0",
OrderForm: "",
OrderId: "0",
TCID: "0",
CustomerType: "",
GroupType: "",
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",
RefuseVisaNum: "0",
AirticketNum: "0",
ScenicRefundArr: [],
//景点新数组
OrderBackScenicList: [],
GoCityTime: "",
BackCityTime: "",
CommissionSharePeople: "-1",
CommissionShareMoney: "0",
OneSex: 0,
QuotationUrl: "", //单团附件
},
TCMsg: {
OrderId: 0,
CommissionMinusRate: 0,
LatestCommissionMoney: "",
},
checkedObj: {},
pickerOptions0: {
disabledDate: (time) => {
let starTime = new Date(this.starTime);
return time.getTime() > starTime.getTime();
},
},
pickerOptions1: {
disabledDate: (time) => {
let endTime = new Date(this.endTime);
return time.getTime() < endTime.getTime() - 5.64e7;
},
},
customerId: "",
createByInfo: "",
isUpdateSharePeople: false,
//修改订单提成
isUpdateOrderCommission: false,
starTime: "",
endTime: "",
stratPrice: "",
stratPriceShow: false,
returnPrice: "",
returnPriceShow: false,
isAllowUpdate: 0,
isPingtai: false,
IsChildrenTour: 0,
IsBirdDiscount: 0,
SetOutCityId: 0,
reOutCityId: 0,
isShowLayer: false,
isShowLayer2: false,
isShowHouse: false,
isShowLayerRemarks: false,
loading: true,
isChecked: true,
comSelect: -1,
OpSetLossPeople: 0,
OpSetLossMoney: 0,
IsChargeLossOrders: 0,
Unit_PriceList: [], //成交单价下拉数据
LessMoney: 0,
uploadLloading: false,
fileFujianList: [],
employeeMsg: {
BranchId: "-1",
IsLeave: 0,
},
employeeList: [],
rules: {
CustomerType: [{
required: true,
message: "请选择客户类型",
trigger: "change",
}, ],
CustomerId: [{
required: false,
message: "请选择客户门店",
trigger: "change",
}, ],
DepartureCityId: [{
required: true,
message: "请选择出发城市",
trigger: "change",
}, ],
ReturnArriveCityId: [{
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",
}, ],
},
rules2: {
CustomerType: [{
required: true,
message: "请选择客户类型",
trigger: "change",
}, ],
CustomerId: [{
required: false,
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",
}, ],
},
RemarksRules: {
Remarks: [{
required: true,
message: "请输入备注信息",
trigger: "blur",
}, ],
},
HightUnitPrice: "2",
isUpdateOrder: false,
startCityList: [], //出发城市列表
ClientTypeList: [], //客户类型
JoinTypeList: [], //参团类型
ddlyList: [], //客人来源
khmdList: [],
ssptList: [],
TradeWayList: [], //交易方式
ScenicRefundList: [],
PlatformAccountList: [],
ScenicRefundMoney: 0,
//支付
minpay: "0",
IsUpdateOrderMoney: false,
Unit_Price: 0, // 地接临时存值
goLVurl: {
//跳转到旅客页面的参数
orderId: "",
tcid: "",
tcnum: "",
isOrder: "",
},
SciencNameList: [],
//订单查询参数
orderQueryMsg: {
OrderId: 0,
TCID: 0,
}
};
},
methods: {
//关闭弹窗
cancelSubmit() {
console.log("关闭");
this.clearMsg();
//关闭弹窗 调用父页面方法
this.$emit("close");
},
//是否可以修改成交单价
canEditUnitPrice() {
if (this.userInfo != null && this.userInfo.EmployeeId == 1) {
this.isChecked = false;
}
},
getPlatformAccount(typeIdtwo, platformAccount) {
let platBranchId = this.getLocalStorage().RB_Branch_id;
this.apipost(
"FinancialInstitutions_post_GetALLAccountList", {
TypeId: typeIdtwo,
BranchId: platBranchId,
},
(res) => {
if (res.data.resultCode == 1) {
this.PlatformAccountList = res.data.data;
this.addMsg.PlatformAccount = platformAccount;
}
},
(err) => {}
);
},
uploadFileBtn(file) {
//上传
let that = this;
let newArr = [];
newArr.push(file.file);
let path = "/Upload/Temporary/";
this.$message.info("上传中...");
this.UploadSelfFileT(path, newArr, (x) => {
let fileSize =
file.file.size < 1024 ?
file.file.size :
(file.file.size / 1024).toFixed(0);
let saveMsg = {};
saveMsg.Path = x.data.FilePath;
saveMsg.FileName = file.file.name;
saveMsg.Status = 1;
saveMsg.OrderId = this.checkedObj.orderId;
that.apipost(
"sellorder_post_SetConfirmationLetter",
saveMsg,
(res) => {
if (res.data.resultCode == 1) {
this.$message.success(res.data.message);
} else {
this.$message.error(res.data.message);
}
},
(err) => {}
);
});
},
downLoadFile(obj) {
let dom = document.querySelector("#groupTourOrderByTuan_DownLoad");
dom.href = obj[0].fullUrl;
dom.click();
},
changeSelect: function () {
this.$forceUpdate();
},
yzVisaNum: function () {
let ChirdNum = Number(this.addMsg.ChirdNum);
if (this.addMsg.GroupType == 4) {
ChirdNum = 0;
}
let count =
Number(this.addMsg.AirticketNum) +
Number(this.addMsg.ManNum) +
ChirdNum +
Number(this.addMsg.BabyNum) +
Number(this.addMsg.OldPeopleNum);
if (count < this.addMsg.VisaNum) {
this.addMsg.VisaNum = count;
this.$message.error("签证人数不能大于总人数");
}
},
yzSafeNum: function () {
let ChirdNum = Number(this.addMsg.ChirdNum);
if (this.addMsg.GroupType == 4) {
ChirdNum = 0;
}
let count =
Number(this.addMsg.AirticketNum) +
Number(this.addMsg.ManNum) +
ChirdNum +
Number(this.addMsg.BabyNum) +
Number(this.addMsg.OldPeopleNum);
if (count < this.addMsg.SafeNum) {
this.addMsg.SafeNum = count;
this.$message.error("保险人数不能大于总人数");
}
},
getUnionTravelPrice(obj, type) {
let msg = {};
msg.TCID = obj.TCID;
msg.OrderId = obj.OrderId;
msg.Type = type;
if (type == 1) {
msg.StartCityId = this.addMsg.DepartureCityId;
msg.CityTime = this.addMsg.GoCityTime;
if (this.addMsg.IsIntermodal == 2) {
this.stratPrice = "0";
this.stratPriceShow = false;
this.getTotalPrice();
} else {
this.apipost(
"sellorder_get_GetUnionTravelPrice",
msg,
(res) => {
if (res.data.resultCode == 1) {
this.stratPrice = res.data.data.Price;
if (this.stratPrice == 0) {
this.stratPriceShow = false;
} else {
this.stratPriceShow = true;
}
this.getTotalPrice();
}
},
(err) => {}
);
}
} else {
msg.StartCityId = this.addMsg.ReturnArriveCityId;
msg.CityTime = this.addMsg.BackCityTime;
if (this.addMsg.IsReturnIntermodal == 2) {
this.returnPrice = "0";
this.returnPriceShow = true;
this.getTotalPrice();
} else {
this.apipost(
"sellorder_get_GetUnionTravelPrice",
msg,
(res) => {
if (res.data.resultCode == 1) {
this.returnPrice = res.data.data.Price;
if (this.returnPrice == 0) {
this.returnPriceShow = false;
} else {
this.returnPriceShow = true;
}
this.getTotalPrice();
}
},
(err) => {}
);
}
}
},
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();
},
getScenicRefund(TCID, OrderId) {
this.OrderId = OrderId;
let msg = {
TCID: TCID,
OrderId: OrderId,
};
this.apipost(
"sellorder_get_GetScenicRefundList",
msg,
(res) => {
if (res.data.resultCode == 1) {
this.ScenicRefundList = res.data.data;
this.getGOScenictWO();
}
},
(err) => {}
);
},
//勾选景点
getGOScenic(item) {
item.IsChecked = !item.IsChecked;
},
//勾选
getGOScenictWO() {
this.addMsg.OrderBackScenicList = [];
this.SciencNameList = [];
this.ScenicRefundList.forEach((x) => {
if (x.IsChecked && x.Number > 0) {
let obj = {
CouponsId: x.CouponsId,
IsChecked: x.IsChecked,
BackMoney: x.BackMoney,
Number: x.Number,
};
this.SciencNameList.push(x.CouponsName);
this.addMsg.OrderBackScenicList.push(obj);
}
});
},
//验证输入人数
CheckNum(item) {
let TotalNum =
parseInt(this.addMsg.ManNum) +
parseInt(this.addMsg.ChirdNoNeedBedNum) +
parseInt(this.addMsg.ChirdNeedBedNum) +
parseInt(this.addMsg.BabyNum) +
parseInt(this.addMsg.OldPeopleNum) +
parseInt(this.addMsg.AirticketNum);
if (item.Number > TotalNum) {
this.Error("不能超过总人数");
item.Number = 0;
}
},
platformOrderMethods() {
if (this.addMsg.PlatformOrder == "") {
this.addMsg.MinOrderPrice = 0;
this.addMsg.CostType = "";
this.addMsg.TradeDate = "";
} else {
this.addMsg.MinOrderPrice =
this.minPrice *
(Number(this.addMsg.AirticketNum) +
Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
}
},
getMinPrice(id) {
this.apipost(
"Financial_post_GetLowPrice", {
OrderID: id,
OrderResource: 8,
},
(res) => {
if (res.data.resultCode == 1) {
if (res.data.data.LowDeposit != -1) {
this.minpay = res.data.data.LowDeposit;
}
}
},
(err) => {}
);
},
// 给其他费用赋值
Yszefz() {
this.Ysze = true;
this.addMsg_form = Object.assign({}, this.addObj);
},
// 修改应收总额
submitYSZEForm() {
this.apipost(
"sellorder_post_SetOrderHistoryPrice",
this.addMsg_form,
(res) => {
if (res.data.resultCode == 1) {
this.$message.success(res.data.message);
this.Ysze = false;
this.addObj = this.addMsg_form;
this.getTotalPrice();
} else {
this.Ysze = false;
this.$message.error(res.data.message);
}
},
(err) => {}
);
},
// 点击修改
getDetail() {
this.Ysze = false;
this.getMinPrice(this.orderQueryMsg.OrderId);
this.addMsg.OrderId = this.orderQueryMsg.OrderId;
//zk-点击修改清空景点
this.ScenicRefundList = [];
this.SciencNameList = [];
var postMsg = {
ID: this.orderQueryMsg.OrderId,
};
console.log("postMsg", postMsg)
this.apipost(
"sellorder_post_GetOrderEntity", postMsg,
(res) => {
if (res.data.resultCode == 1) {
this.isAllowUpdate = res.data.data.IsUpdatePlatOrder;
let x = res.data.data.model;
let modelPrice = res.data.data.modelPrice;
this.addMsg = x;
if (x.QuotationUrl) {
this.fileFujianList = [{
name: "baojiadan",
url: x.QuotationUrl
}];
}
this.addObj = res.data.data.modelPrice;
this.addObj.OrderId = x.OrderId;
this.addObj.OpSetLossMoney = x.OpSetLossMoney;
this.addMsg.OneSex = x.OneSex;
this.addMsg.ScenicRefundArr = res.data.data.ScenicRefundArr;
this.getScenicRefund(obj.tcid, obj.orderId);
this.getPlatformAccount(
obj.platformAccountTypeId,
obj.platformAccount
);
this.SetOutCityId = res.data.data.SetOutCityId;
this.reOutCityId = res.data.data.SetBackCityId;
this.addMsg.CustomerType = x.CustomerType.toString();
this.addMsg.ClientSource = x.ClientSource.toString();
this.addMsg.GroupType = x.GroupType.toString();
this.addMsg.TradeWay = x.TradeWay.toString();
this.addMsg.PredictRoomNum = x.PredictRoomNum;
this.addMsg.IsIntermodal = x.IsIntermodal ?
x.IsIntermodal.toString() :
2;
this.addMsg.IsReturnIntermodal = x.IsReturnIntermodal.toString();
this.addMsg.ChirdNum = x.ChirdNum.toString();
this.addMsg.ChirdNeedBedNum = x.ChirdNeedBedNum.toString();
if (this.addMsg.GroupType == 4) {
this.addMsg.ChirdNoNeedBedNum = x.ChirdNoNeedBedNum.toString();
} else {
this.addMsg.ChirdNoNeedBedNum = (
x.ChirdNum - x.ChirdNeedBedNum
).toString();
}
this.addMsg.BabyNum = x.BabyNum.toString();
this.addMsg.RefuseVisaNum = x.RefuseVisaNum.toString();
this.addMsg.OrderForm = x.OrderForm;
this.addMsg.allName = x.ContactName;
this.addMsg.OrderBackScenicList = x.OrderBackScenicList;
this.IsChildrenTour = x.IsChildrenTour;
this.IsBirdDiscount = x.IsBirdDiscount;
this.OpSetLossPeople = x.OpSetLossPeople;
this.OpSetLossMoney = x.OpSetLossMoney;
if (this.addMsg.GroupType == 4) {
this.HightUnitPrice = "1";
this.Unit_Price = x.Unit_Price;
} else {
this.HightUnitPrice = "2";
this.Unit_Price = this.addObj.SingleDMCPrice;
}
this.stratPrice = res.data.data.modelPrice.GoAddPrice;
if (this.stratPrice == 0) {
this.stratPriceShow = false;
} else {
this.stratPriceShow = true;
}
this.returnPrice = res.data.data.modelPrice.BackAddPrice;
if (this.returnPrice == 0) {
this.returnPriceShow = false;
} else {
this.returnPriceShow = true;
}
if (x.ClientSource == 1) {
this.isPingtai = true;
}
if (this.addMsg.GroupType != 5) {
this.isShowLayer = true;
this.isShowLayer2 = false;
} else {
this.isShowLayer = false;
this.isShowLayer2 = true;
}
this.addMsg.GroupTypeNeedHouse = String(x.GroupTypeNeedHouse);
this.getKhmdList(
this.addMsg.CustomerType,
obj.lineId,
this.addMsg.CreateBy,
x.CustomerId
);
this.getDdlyList(this.addMsg.CustomerType);
let maxPeopleNum =
Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNoNeedBedNum) +
Number(this.addMsg.ChirdNeedBedNum) +
Number(this.addMsg.OldPeopleNum) +
Number(this.addMsg.AirticketNum);
this.Unit_PriceList = [];
this.apipost(
"sellorder_post_GetLessPrice", {
TCID: obj.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.TC_Price - i * 10;
obj.LessMoney = this.addMsg.TC_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) => {}
);
this.isShowLayerRemarks = false;
this.apipost(
"app_today_visit_GetCustomerBrandByCustomerId", {
customerInfoId: x.CustomerId,
},
(res) => {
if (res.data.resultCode == 1) {
this.ssptList = res.data.data;
this.addMsg.BrandId = x.BrandId;
}
},
(err) => {}
);
this.getHouseNo();
} else {}
},
(err) => {}
);
},
getTypePrice() {
this.addMsg.ContactName = "";
this.addMsg.ContactMobile = "";
if (this.addMsg.CustomerType == 1) {
this.addMsg.TC_Price = this.addObj.B2BMemberPrice;
}
if (this.addMsg.CustomerType == 2) {
this.addMsg.TC_Price = this.addObj.B2BPrice;
}
if (this.addMsg.CustomerType == 3) {
this.addMsg.TC_Price = this.addObj.B2CMemberPrice;
}
if (this.addMsg.CustomerType == 4) {
this.addMsg.TC_Price = this.addObj.B2CPrice;
}
this.Unit_PriceList = [];
this.apipost(
"sellorder_post_GetLessPrice", {},
(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.TC_Price - i * 10;
obj.LessMoney = this.addMsg.TC_Price - i * 10;
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() {
if (this.addMsg.GroupType != 5) {
//提成
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);
if (this.addMsg.CustomerType == 1 || this.addMsg.CustomerType == 2) {
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";
}
}
}
} else {
this.addMsg.Commission = Number(this.addMsg.PreferPrice) * 0.01;
}
},
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 &&
this.addMsg.ChirdNoNeedBedNum > 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);
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;
}
},
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 (this.addMsg.Unit_Price < this.addMsg.TC_Price) {
this.$message.error("成交单价必须大于等于本团单价!");
this.addMsg.Unit_Price = this.addMsg.TC_Price;
return;
}
}
if (this.addMsg.GroupType != 5) {
this.addMsg.ChirdNum =
this.addMsg.ChirdNoNeedBedNum * 1 + this.addMsg.ChirdNeedBedNum * 1;
if (this.addObj.IsBirdDiscount && 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.addMsg.Unit_Price * 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 =
this.OpSetLossMoney +
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.addMsg.Unit_Price * 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 =
this.OpSetLossMoney +
dandijie +
lianyun +
chengren +
ertong +
yinger +
laoren +
zafeiqianzhen +
danfang +
ertongbed -
this.ScenicRefundMoney *
(Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum));
}
} else {
this.addMsg.PreferPrice =
Number(this.addMsg.YSeatNum) * Number(this.addMsg.Unit_Price) +
this.OpSetLossMoney;
}
this.getTicheng();
if (!t) {
this.getTypePrice2();
}
},
yzBigBed2() {
let x =
Number(this.addMsg.AirticketNum) +
Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNeedBedNum) +
Number(this.addMsg.OldPeopleNum) -
Number(this.addMsg.SingleRoomNum);
let y =
x -
Number(this.addMsg.TripleRoomNum) * 3 -
Number(this.addMsg.BigRoomNum) * 2;
if (y < 0) {
this.addMsg.SingleRoomNum = 0;
}
this.getHouseNo();
},
yzBigBed() {
let x =
Number(this.addMsg.AirticketNum) +
Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNeedBedNum) +
Number(this.addMsg.OldPeopleNum) -
Number(this.addMsg.SingleRoomNum);
let y =
x -
Number(this.addMsg.TripleRoomNum) * 3 -
Number(this.addMsg.BigRoomNum) * 2;
if (y <= -1) {
this.addMsg.BigRoomNum = 0;
}
this.getHouseNo();
},
yzBigBed1() {
let x =
Number(this.addMsg.AirticketNum) +
Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNeedBedNum) +
Number(this.addMsg.OldPeopleNum) -
Number(this.addMsg.SingleRoomNum);
let y =
x -
Number(this.addMsg.TripleRoomNum) * 3 -
Number(this.addMsg.BigRoomNum) * 2;
if (y <= -1) {
this.addMsg.TripleRoomNum = 0;
}
this.getHouseNo();
},
submitForm(addMsg) {
//提交创建、修改表单
this.$refs[addMsg].validate((valid) => {
if (valid) {
this.saveOrder();
} else {
return false;
}
});
},
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.TradeWay = "2";
this.addMsg.PlatformAccount = "";
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.RefuseVisaNum = "0";
this.addMsg.AirticketNum = "0";
this.addMsg.ScenicRefundArr = [];
this.ScenicRefundMoney = 0;
this.addMsg.CommissionSharePeople = -1;
this.addMsg.CommissionShareMoney = "0";
},
saveOrder() {
// 判断单团类型
if (this.addMsg.GroupType == 2) {
if (this.addMsg.QuotationUrl == "") {
this.Error("请上传附件!");
return;
}
}
// 选择联运,联运备注必填
if (this.addMsg.IsIntermodal == 1 || this.addMsg.IsReturnIntermodal == 1) {
if (!this.addMsg.UnionRemark) {
this.Error("请填写联运备注!");
return;
}
}
//验证人数和机位数 20190807 修改 如果是不是单地接才判断
if (this.addMsg.GroupType !== "4" && this.addMsg.GroupType !== "3") {
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)
) {
if (this.IsChargeLossOrders == 1) {} else {
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.ChirdNeedBedNum) > Number(this.addMsg.ChirdNum)
) {
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;
}
}
let ChirdNum = Number(this.addMsg.ChirdNum);
if (this.addMsg.GroupType == 4) {
ChirdNum = 0;
}
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.IsChildrenTour;
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.clearMsg();
this.getList();
this.isShowLayer = false;
if (res.data.data == 1) {
// this.$router.push({
// name: "passengerSaleList",
// query: {
// id: this.goLVurl.orderId,
// tcid: this.goLVurl.tcid,
// tcnum: this.goLVurl.tcnum,
// isOrder: this.goLVurl.isOrder,
// blank: "y",
// tab: "旅客名单",
// },
// });
}
} else {
this.isShowLayer = false;
this.$message.error(res.data.message);
}
},
(err) => {}
);
},
saveOrder2() {
//验证人数和机位数
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;
}
this.addMsg.TCID = this.addObj.TCID;
this.addMsg.GuestNum =
Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum) +
Number(this.addMsg.BabyNum) +
Number(this.addMsg.AirticketNum);
this.addMsg.IsChildrenTour = this.IsChildrenTour;
this.addMsg.IsBirdDiscount = this.addObj.IsBirdDiscount;
this.apipost(
"sellorder_post_SetOrderInfoForAirTicket",
this.addMsg,
(res) => {
if (res.data.resultCode == 1) {
this.$message.success(res.data.message);
this.$refs["addMsg2"].resetFields();
this.clearMsg();
this.getList();
this.isShowLayer2 = false;
} else {
this.isShowLayer2 = false;
this.$message.error(res.data.message);
}
},
(err) => {}
);
},
//出发城市列表
getStartCityList() {
this.apipost("sellorder_get_GetAllStartCity", {}, (res) => {
if (res.data.resultCode == 1) {
this.startCityList = res.data.data;
} else {}
});
},
//交易方式
getTradeWay() {
this.apipost(
"sellorder_get_GetSellTradeWayEnumList", {}, (res) => {
if (res.data.resultCode == 1) {
this.TradeWayList = res.data.data;
}
});
},
getSspt() {
//给非直客 隐藏电话姓名赋值
if (this.khmdList.length !== 0) {
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;
}
this.apipost(
"app_today_visit_GetCustomerBrandByCustomerId", {
customerInfoId: this.addMsg.CustomerId,
},
(res) => {
if (res.data.resultCode == 1) {
this.ssptList = res.data.data;
}
},
(err) => {}
);
},
getKhmdList(id, lineId, employeeId, CustomerId) {
this.apipost(
"app_today_visit_GetNewOrderMyCustomerList", {
typeId: id,
lineId: lineId,
EmoloyeeId: employeeId,
customerId: CustomerId,
},
(res) => {
if (res.data.resultCode == 1) {
this.khmdList = res.data.data;
this.getSspt();
}
},
(err) => {}
);
},
getDdlyList(id) {
this.apipost(
"sellorder_get_GetSellClientSourceEnumList", {
typeId: id,
},
(res) => {
if (res.data.resultCode == 1) {
this.ddlyList = res.data.data;
}
},
(err) => {}
);
},
//参团类型
getJoinType() {
this.apipost(
"sellorder_get_GetOrderJoinEnumList", {},
(res) => {
if (res.data.resultCode == 1) {
this.JoinTypeList = res.data.data;
}
});
},
//获取客户类型
getClientType() {
this.apipost(
"sellorder_get_GetSellClientTypeEnumList", {},
(res) => {
if (res.data.resultCode == 1) {
this.ClientTypeList = res.data.data;
}
});
},
getEmployee() {
//员工
this.apipost(
"admin_get_EmployeeGetList",
this.employeeMsg,
(res) => {
if (res.data.resultCode == 1) {
this.employeeList = res.data.data;
} else {}
},
(err) => {}
);
},
gettypechange(type) {
//切换参团类型时 把值初始化
if (type == 4) {
this.addMsg.Unit_Price = this.Unit_Price; //成交单价
this.HightUnitPrice = "1";
this.addMsg.AirticketNum = 0;
this.addMsg.ManNum = 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.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;
}
if (this.addMsg.CustomerType == 1) {
if (this.addMsg.GroupType == 4) {
this.addMsg.TC_Price = this.addObj.SingleDMCPrice;
} else {
this.addMsg.TC_Price = this.addObj.B2BMemberPrice;
this.addMsg.Unit_Price = this.addObj.B2BMemberPrice;
}
}
if (this.addMsg.CustomerType == 2) {
if (this.addMsg.GroupType == 4) {
this.addMsg.TC_Price = this.addObj.SingleDMCPrice;
} else {
this.addMsg.TC_Price = this.addObj.B2BPrice;
this.addMsg.Unit_Price = this.addObj.B2BPrice;
}
}
if (this.addMsg.CustomerType == 3) {
if (this.addMsg.GroupType == 4) {
this.addMsg.TC_Price = this.addObj.SingleDMCPrice;
} else {
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) {
if (this.addMsg.GroupType == 4) {
this.addMsg.TC_Price = this.addObj.SingleDMCPrice;
} else {
this.addMsg.TC_Price = this.addObj.B2CPrice;
this.addMsg.Unit_Price = this.addObj.B2CPrice;
}
this.addMsg.CustomerId = "0";
this.addMsg.CommissionShareMoney = "0";
}
this.addMsg.GroupTypeNeedHouse = "0";
},
getTypePrice2() {
let maxPeopleNum =
Number(this.addMsg.ManNum) +
Number(this.addMsg.ChirdNoNeedBedNum) +
Number(this.addMsg.ChirdNeedBedNum) +
Number(this.addMsg.OldPeopleNum) +
Number(this.addMsg.AirticketNum);
this.Unit_PriceList = [];
this.apipost(
"sellorder_post_GetLessPrice", {
TCID: this.addMsg.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.TC_Price - i * 10;
obj.LessMoney = this.addMsg.TC_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) => {}
);
},
//预览文件-报价单
previewFileFJ(e) {
window.open(this.addMsg.QuotationUrl, "_blank");
},
//上传文件-报价单
uploadFileBtnFJ(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;
});
},
// 移除文件-报价单
removeFileFJ(e) {
this.addMsg.QuotationUrl = "";
},
},
mounted() {
this.userInfo = this.getLocalStorage();
let ActionMenuCode = this.userInfo.ActionMenuCode;
if (ActionMenuCode.indexOf('S_UpdateOrderMoney') != -1) {
this.S_UpdateOrderMoney = true
}
this.getEmployee();
this.getStartCityList();
this.getClientType();
this.getJoinType();
this.getTradeWay();
this.canEditUnitPrice();
},
watch: {
//监听备注信息编号
orderInfoPropObj: {
immediate: true,
watch:{
//监听订单属性编号
orderprops: {
handler(newVal) {
console.log("newVal", this.orderprops)
this.orderQueryMsg.OrderId = this.orderprops.OrderId;
this.orderQueryMsg.TCID = this.orderprops.TCID;
this.getDetail();
},
deep: true
deep: true,
immediate: true,
},
}
},
};
</script>
\ No newline at end of file
</script>
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