<template> <div class="DirectQuotation clearfix" v-loading="loading"> <DirectQuotation ref="QuotationPrice" :postConfig="postData" :dayCostPrice="dayCostPriceList" :otherPrice="otherPrice" :teamPrice="teamPrice" :LineList="LineList" :CostCurrencyList="CostCurrencyList" :CostNumberList="CostNumberList" :CurrencyNumberListExt="CurrencyNumberListExt"></DirectQuotation> <div class="btnFixedDiv"> <div class="toTop"> <i class="iconfont icon-huidaodingbu"></i> </div> <div class="DTSaveBtn" :class="{'disClick':!isSubmit}" @click="SaveData(2)">提交</div> <div class="DTSaveBtn" style="display:none;">复制</div> <div class="DTSaveBtn caogao" :class="{'disClick':!isSubmit}" @click="SaveData(1)"> <span>保存</span> <span>草稿</span> </div> </div> </div> </template> <script> import DirectQuotation from "../TravelNewQuotation/DirectNewQuotation"; export default { data() { return { ConfigID: 0, //基本配置 postData: { ID: 0, StartCityId: 0, LineId: 0, LineteamId: 0, Title: "", IsOrder: 1, IsSubstitution: 1, IsB2B: 1, IsB2C: 1, FSeat: 0, CSeat: 0, YSeat: 0, //最低成团人数 LowNum: 0, //OP备注 OpRemark: "", //产品经理备注 ProductRecommend: "", IsDirect: 0, //是否直采(0-否-1-是)【全部默认非直采】 PriceIsDirect: 1, //是否直采报价(1-否-2-是)【全部默认非直采】 PDFAlias: "", //pdf别名 ImgCover: "", //封面图 DayNum: 0, //天数 NightNum: 0, //晚数 StartCityId: 0, ReturnArriveCityId: 0, //返回抵达城市 CustomerName: "", //客户名称 TeamType: 0, //团队类型 TravelState: 1, //团控状态(1-草稿,2-待审核,3-审核通过,4-审核拒绝,5已撤销) OutBranchId: -1, //出团公司 OutDateTime: "", //出发时间 OfferPayType: 0, //报价单付款方式 SaleOfferPayType:0,//售价付款方式 }, dayCostPriceList: [], //报价列表 isSubmit: true, otherPrice: { CostId: 0, //主键编号 ConfigID: 0, //配置编号 OfferId: 0, //报价单编号 InlandAirTicketCurrency: 0, //内陆段机位币种 InlandAirTicketMoney: 0, //内陆段机位金额(每人) InlandShipTicketCurrency: 0, //内陆段船票币种 InlandShipTicketMoney: 0, //内陆段船票金额(每人) InlandTrainTicketCurrency: 0, //内陆段火车币种 InlandTrainTicketMoney: 0, //内陆段火车金额(每人) VisaMoney: 0, //签证费用(每人) SafeMoney: 0, //保险费用(每人) LeaderTripMoney: 0, //领队小费 DriverGuideMoney: 0, //司机小费 SalesCommissionMoney: 0, //销售提成 OfficeCommissionMoney: 0, //作业处提成 TripMoney: 0, //小费 GuidePeopleMoney: 0, //导游人头费 AirTicketMoeny: 0, //机票成本费用 KBMoney: 0, //KB人头费 AirTicketShareMoney: 0, //机票分摊费用 TicketShareMoney: 0, //门票分摊费用, SingleRoomShareMoney: 0, //单房差分摊费用 InlandTrafficShareMoney: 0, //内陆段交通分摊费用 OtherShareMoney: 0, //杂费分摊费用 OtherRemark: "", //其他价格备注 VisaMoneyCurrencyId: 0, //签证费币种 SafeMoneyCurrencyId: 0, //保险费币种 LeaderTripMoneyCurrencyId: 0, //领队小费币种 DriverGuideMoneyCurrencyId: 0, //司机小费币种 LeaderGuideDriveZhuSu: 0, //领队导游住宿费 GuideMoneyCurrencyId: 0, //导游小费币种 GuideMoney: 0, //导游小费 InternationalAirTicket: 0, //国际段机票 InternationalAirTicketCurrency: 0, //国际段机票币种 GuideComplement: 0, //导游回补 TipComplement: 0, //小费回补 }, CostCurrencyList: [], //选择的币种 CostNumberList: [], //人数 CurrencyNumberListExt: [], //币种和人数列表 //团报价信息 teamPrice: { QuotationId: 0, //主键编号 TeamId: 0, //团期编号 ConfigID: 0, //团队配置编号 OfferId: 0, //报价编号 B2BMemberPrice: 0, //同业会员价 B2BPrice: 0, //同业价格 B2CMemberPrice: 0, //直客会员价, B2CPrice: 0, //直客价格 ChildNeedPrice: 0, //小孩占床价格, ChildNoNeedPrice: 0, //小孩不占床价格 BabyPrice: 0, //婴儿价格 BabyChargePrice: 0, //婴儿附加费 OldManChargePrice: 0, //老人附加费 VisaPrice: 0, //签证 OtherPrice: 0, //杂费 SingleRoomPrice: 0, //单房差 SingleDMCPrice: 0, //单地接 RebatePrice: 0, //同行返佣 DiscountPrice: 0, //早鸟优惠 IsSupportChildren: 1, //是否支持儿童出游(1-支持,2-不支持) SafeMoney: 0, //保险费 PeopleNumber: 0, //人数 AirticketMoney: 0, //机票费用 BackVisaPrice: 0, //退签证费 BackSafeMoney: 0, //退保险费 ContractUrl: "", //合同地址 PriceRemark: "", //定价备注 ContractArray: [], }, LineList: [], //线路列表 loading: false }; }, methods: { //表单提交 submitForm(type) { this.$refs["QuotationPrice"].submitForm(type); }, //保存数据 SaveData(type) { var currencyNumList = []; if (this.CurrencyNumberListExt != null && this.CurrencyNumberListExt.length > 0) { this.CurrencyNumberListExt.forEach((item, index) => { item.currencyNumberList.forEach(subItem => { currencyNumList.push(subItem); }); }); } this.postData.TravelState = type; var nObj = { config: this.postData, dayCostPriceList: this.dayCostPriceList, otherPrice: this.otherPrice, teamPrice: this.teamPrice, CostCurrencyList: this.CostCurrencyList, CostNumberList: this.CostNumberList, CurrencyNumberListExt: currencyNumList }; this.loading = true; this.apipost( "travel_post_SetConfigOffer_V2", nObj, res => { this.loading = false; if (res.data.resultCode == 1) { this.Success(res.data.message); if (this.postData.TeamType == 1) { this.goUrl('newQuotation2'); } else { this.goUrl('newQuotation'); } } else { this.Error(res.data.message); } }, err => {} ); }, goUrl(path) { this.$router.push({ path: path, query: { cache: true } }); }, getPostData() { let configId = this.$route.query.configId; let offerId = 0; if (this.$route.query.offerid) { offerId = this.$route.query.offerid; } let msg = { ID: configId, offerId: offerId }; this.apipost( "travel_get_GetMyTravelInfo_V2", msg, res => { if (res.data.resultCode == 1) { var tempData = res.data.data; if (tempData.ID && tempData.ID > 0) { this.postData.ID = tempData.ID; } if (tempData.LineId && tempData.LineId > 0) { this.postData.LineId = tempData.LineId; } if (tempData.LineteamId && tempData.LineteamId > 0) { this.postData.LineteamId = tempData.LineteamId; } if (tempData.CSeat && tempData.CSeat > 0) { this.postData.CSeat = tempData.CSeat; } if (tempData.FSeat && tempData.FSeat > 0) { this.postData.FSeat = tempData.FSeat; } if (tempData.YSeat && tempData.YSeat > 0) { this.postData.YSeat = tempData.YSeat; } if (tempData.LowNum && tempData.LowNum > 0) { this.postData.LowNum = tempData.LowNum; } if (tempData.Title && tempData.Title != '') { this.postData.Title = tempData.Title; } if (tempData.DayNum && tempData.DayNum > 0) { this.postData.DayNum = tempData.DayNum; } if (tempData.NightNum && tempData.NightNum > 0) { this.postData.NightNum = tempData.NightNum; } this.postData.CustomerName = tempData.CustomerName; this.postData.OutBranchId = tempData.OutBranchId; this.postData.OutDateTime = tempData.OutDateTime; this.postData.OfferPayType = tempData.OfferPayType; this.postData.SaleOfferPayType=tempData.SaleOfferPayType; this.LineList = tempData.LineList; if (tempData.dayCostPriceList && tempData.dayCostPriceList != null && tempData.dayCostPriceList.length > 0) { this.dayCostPriceList = tempData.dayCostPriceList; } if (tempData.otherPrice) { this.otherPrice = tempData.otherPrice; } if (tempData.teamPrice) { this.teamPrice = tempData.teamPrice; } if (tempData.CostNumberList && tempData.CostNumberList != null && tempData.CostNumberList.length > 0) { this.CostNumberList = tempData.CostNumberList; } if (tempData.CostCurrencyList && tempData.CostCurrencyList != null && tempData.CostCurrencyList.length > 0) { this.CostCurrencyList = tempData.CostCurrencyList; } if (tempData.CurrencyNumberListExt && tempData.CurrencyNumberListExt != null && tempData .CurrencyNumberListExt.length > 0) { this.CurrencyNumberListExt = tempData.CurrencyNumberListExt; } if (this.CostCurrencyList && this.CostCurrencyList.length > 0 && this.CurrencyNumberListExt) { this.CostCurrencyList.forEach(item => { let currencyNumberItem = { Key: item.CurrencyId, currencyNumberList: [] }; if (this.CurrencyNumberListExt.length == 0) { this.CurrencyNumberListExt.push(currencyNumberItem); } }); } } else { this.Error(res.data.message); } }, err => {} ); }, }, created() { if (this.$route.query.TeamType) { this.postData.TeamType = this.$route.query.TeamType; } this.getPostData(); }, components: { DirectQuotation: DirectQuotation } }; </script>