Commit 129d57a7 authored by 黄奎's avatar 黄奎

页面修改

parent cb1381f6
......@@ -585,7 +585,8 @@
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="normalBtn" type="primary" @click="submitForm('addMsg')">{{$t('pub.saveBtn')}}</button> &nbsp;
<el-button type="primary" class="normalBtn" @click="submitForm('addMsg')" :loading="saveLoading">
{{$t('pub.saveBtn')}}</el-button> &nbsp;
<button class="hollowFixedBtn"
@click="outerVisible = false,resetForm('addMsg')">{{$t('pub.cancelBtn')}}</button>
</div>
......@@ -849,7 +850,8 @@
message: this.$t('admin.admin_lnLoginPwd'),
trigger: "blur"
}],
}
},
saveLoading: false,
};
},
methods: {
......@@ -1013,10 +1015,12 @@
//添加
addGroupGuide() {
var that = this;
this.saveLoading = true;
this.apipost(
"leader_post_Set",
that.addMsg,
res => {
that.saveLoading = false;
if (res.data.resultCode == 1) {
that.Success(that.$t('tips.saveYes'));
that.getList();
......@@ -1030,7 +1034,9 @@
that.Error(res.data.message);
}
},
err => {}
err => {
that.saveLoading = false;
}
);
},
submitForm(addMsg) {
......@@ -1145,8 +1151,8 @@
},
//弹出框取消 初始化谈框内表单
resetForm(formName) {
// this.$refs[formName].resetFields();
this.initAddMsg();
// this.$refs[formName].resetFields();
this.initAddMsg();
this.LanguageIdS = [];
}
},
......
......@@ -139,6 +139,32 @@
</p>
<p class="Quo_Content" style="padding-right:20px;width:100%;">
<span> {{$t('hotel.hotel_StarDate')}}:{{item.OutDateTime}}</span>
<template v-if="item.OfferList && item.OfferList.length > 1">
<el-tooltip class="item" effect="dark" :content="$t('hotel.hotel_StarDate')">
<el-popover width="350" trigger="click" popper-class="TC_HotelPop">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td style="width: 100px">
{{ $t('objFill.v101.baojiadanh') }}
</td>
<td style="width: 250px">{{ $t("hotel.hotel_StarDate") }}</td>
</tr>
<tr v-for="(rItem, rIndex) in item.OfferList" :key="`d_`+index+`_r_`+rIndex">
<td>
{{ rItem.OfferId }}
</td>
<td>
{{rItem.OutDateTime}}
</td>
</tr>
</table>
<el-button slot="reference" circle size="mini" type="primary"
style="width: 20px; height: 20px; padding: 4px">
{{ item.OfferList.length }}
</el-button>
</el-popover>
</el-tooltip>
</template>
</p>
</div>
</div>
......@@ -519,7 +545,7 @@
getList() {
this.loading = true;
this.apipost(
"travel_get_GetTravelOfferAuditPageList_V2",
"travel_get_GetNewTravelOfferAuditPage",
this.queryData,
res => {
this.loading = false;
......@@ -555,10 +581,12 @@
newQType = 3;
}
}
//NewQuotationAduit
//QuotationAduit
this.$router.push({
name: 'QuotationAduit',
query: {
offerid: item.OfferId,
BatchNum:item.BatchNum,
Qtype: newQType,
blank: 'y',
tab: '报价单审核'
......
......@@ -65,10 +65,9 @@
<template v-else>
{{postConfig.TeamTypeName}}
</template>
</td>
<td width="80" class="txtRightCost">{{$t('objFill.tuanduilx')}}</td>
<td>
{{postConfig.PriceTeamTypeName}}
<template v-if="postConfig.PriceTeamTypeName&&postConfig.PriceTeamTypeName!=''">
({{postConfig.PriceTeamTypeName}})
</template>
</td>
<td width="80" class="txtRightCost">{{$t('advmanager.v_line')}}</td>
<td width="300">
......@@ -80,7 +79,7 @@
</td>
</tr>
<tr>
<td colspan="8" style="height:20px;">
<td colspan="6" style="height:20px;">
</td>
</tr>
<tr>
......@@ -88,13 +87,9 @@
<td>
{{postConfig.OutBranchName}}
</td>
<td width="80" class="txtRightCost">{{$t('hotel.hotel_StarDate')}}</td>
<td>
{{postConfig.OutDateTime}}
</td>
<td width="80" class="txtRightCost">{{$t('visa.v_xcdays')}}</td>
<td>
{{postConfig.DayNum}}
{{postConfig.DayNum}}{{$t('hotel.hotel_day')}}{{postConfig.NightNum}}{{$t('Operation.Op_night')}}
</td>
<td width="80" class="txtRightCost">{{$t('fnc.khmingcheng')}}</td>
<td>
......@@ -102,23 +97,32 @@
</td>
</tr>
<tr>
<td colspan="8" style="height:20px;">
<td colspan="6" style="height:20px;">
</td>
</tr>
<tr>
<td width="80" class="txtRightCost">{{$t('sm.tuanduibiaoti')}}</td>
<td width="300" colspan="7">
<td width="300" colspan="5">
{{postConfig.Title}}
</td>
</tr>
<tr>
<td colspan="6" style="height:20px;">
</td>
</tr>
<tr>
<td width="80" class="txtRightCost">{{$t('hotel.hotel_StarDate')}}</td>
<td colspan="5">
<template v-if="postConfig.OutDateTimeList&&postConfig.OutDateTimeList.length>0">
<el-tag v-for="(item,oIndex) in postConfig.OutDateTimeList" :key="oIndex" style="margin-right:5px;">
{{item}}
</el-tag>
</template>
</td>
</tr>
</table>
</div>
<br />
<!-- <el-tag v-for="(item, index) in orderList" :key="index"
style="margin-right: 10px;margin-bottom: 10px; cursor: pointer;" :type="index ===tabsActive ? '':'info'"
@click="selectTag(index)" :disable-transitions="false">
{{`报价单${index + 1}${item.IsDefault ? '(默认)' : ''}`}}
</el-tag> -->
<table class="CostPriceTable CostNewTable">
<thead>
<tr>
......
<style>
@import "../../../assets/css/newTravelManager.css";
.CostNewPrice .el-form-item__content,
.CostNewPrice .el-form-item__label {
line-height: 30px;
}
.CostNewPrice .CP_halfWi {
width: 45%;
}
.CostNewPrice .QuotationFirstDiv1 {
padding-top: 30px;
}
.CostNewPrice .CP_ComTitle2 {
color: #106BAF;
font-weight: bold;
background-color: #D1EEEE;
white-space: nowrap;
}
.CostNewTable {
border-collapse: collapse;
}
.CostNewTable td {
height: 40px;
border: 1px solid #106BAF !important;
border-collapse: collapse;
padding: 0 3px;
}
.CostNewTable .el-input .el-input__inner {
height: 25px !important;
border: none;
border-bottom: 1px solid #606266;
padding-left: 5px !important;
}
.CP_ComTitle {
color: #106BAF;
}
.w70 {
width: 70px !important;
}
.CostcomCenter {
text-align: center;
}
.txtRightCost {
text-align: right;
padding-right: 10px;
}
.CostNewPrice .el-form-item {
margin-bottom: 0 !important;
}
.select-tag {
font-weight: bold;
color: #f12a2a;
}
</style>
<template>
<div class="DirectQuotation clearfix" v-loading="loading">
<div class="singlePrice DirectPriceCenter">
<el-form>
<div class="QuotationFirstDiv1">
<table>
<tr>
<th>
{{$t('objFill.v101.kaituants')}}
</th>
<th colspan="5" style="text-align:left;line-height:40px;">
<p style="color:red;font-weight:bold;">
1.{{$t('objFill.v101.changuitdyshnp')}}&nbsp;&nbsp;
2.{{$t('objFill.v101.xiaobtcgbjd')}}&nbsp;&nbsp;
3.{{$t('objFill.v101.dangdybxyjp')}}
</p>
</th>
</tr>
<tr>
<td width="80" class="txtRightCost">{{$t('objFill.v101.chutuanleix')}}</td>
<td>
<el-select class="multiple_input" v-model="postData.TeamType" @change="changeTeamType()"
style="width:100px;">
<el-option v-for='item in teamList' :key="item.ID" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
<template v-if="postData.TeamType==0||postData.TeamType==1">
{{$t('objFill.tuanduilx')}}
<el-select class="multiple_input" v-model="postData.PriceTeamType" style="width:100px;">
<template v-for="item in TeamListArr">
<template v-if="postData.TeamType==0">
<el-option v-if="item.Id==1||item.Id==2||item.Id==3||item.Id==9" :key="item.Id"
:label="item.Name" :value="item.Id">
</el-option>
</template>
<template v-if="postData.TeamType==1">
<el-option v-if="item.Id==3||item.Id==2" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</template>
</template>
</el-select>
</template>
</td>
<td width="80" class="txtRightCost">{{$t('advmanager.v_line')}}</td>
<td>
<el-select style="width:100%" v-model="postData.LineId" :placeholder="$t('pub.pleaseSel')"
@change="changeLine()" filterable>
<el-option :label="$t('pub.unlimitedSel')" :value='0'></el-option>
<el-option v-for="item in getLineList" :label='item.LineName' :value='item.LineID' :key='item.LineID'>
</el-option>
</el-select>
</td>
<td width="80" class="txtRightCost">{{$t('advmanager.v_xilie')}}</td>
<td>
<el-select style="width:100%;" v-model="postData.LineteamId" :placeholder="$t('pub.pleaseSel')"
filterable>
<el-option :label="$t('pub.unlimitedSel')" :value='0'></el-option>
<el-option v-for="item in LineTeamList" :label='item.LtName' :value='item.LtID' :key='item.LtID'>
</el-option>
</el-select>
</td>
</tr>
<tr>
<td colspan="6" style="height:20px;">
</td>
</tr>
<tr>
<td width="80" class="txtRightCost">{{$t('scen.sc_cp')}}</td>
<td>
<el-select class="multiple_input" v-model="postData.OutBranchId" filterable style="width:265px;">
<el-option v-for='item in companyList' :key="item.id" :label="item.bName" :value="item.id">
</el-option>
</el-select>
</td>
<td width="80" class="txtRightCost">{{$t('visa.v_xcdays')}}</td>
<td>
<el-input class="w240 LowNum" v-model="postData.DayNum"
@keyup.native="checkInteger(postData,'DayNum');createDayTripPrice()" maxlength="2">
<template slot="append">{{$t('hotel.hotel_day')}}</template>
</el-input>
<el-input class="w120 LowNum" v-model="postData.NightNum"
@keyup.native="checkInteger(postData,'NightNum')" maxlength="2">
<template slot="append">{{$t('Operation.Op_night')}}</template>
</el-input>
</td>
<td width="80" class="txtRightCost">{{$t('fnc.khmingcheng')}}</td>
<td>
<el-input v-model="postData.CustomerName" type="text" :placeholder="$t('fnc.khmingcheng')"
maxlength="200">
</el-input>
</td>
</tr>
<tr>
<td colspan="6" style="height:20px;">
</td>
</tr>
<tr>
<td width="80" class="txtRightCost">{{$t('sm.tuanduibiaoti')}}</td>
<td colspan="3">
<el-input v-model="postData.Title" type="textarea" :autosize="{minRows: 1, maxRows: 2 }" resize="none"
:placeholder="$t('objFill.v101.qingtxtdbti')" maxlength="200"></el-input>
</td>
<td width="80" class="txtRightCost">{{$t('Airticket.Air_StartTime')}}</td>
<td>
<el-date-picker type="dates" v-model="postData.OutDateTimeList" value-format="yyyy-MM-dd" placeholder>
</el-date-picker>
</td>
</tr>
<tr>
<td colspan="8" style="height:20px;">
</td>
</tr>
<tr>
<td width="80" class="txtRightCost">已选日期</td>
<td colspan="5">
<template v-if="postData.OutDateTimeList&&postData.OutDateTimeList.length>0">
<el-tag v-for="(item,oIndex) in postData.OutDateTimeList" :key="item" closable
style="margin-right:5px;" @close="handleClose(item,oIndex)">
{{item}}
</el-tag>
</template>
</td>
</tr>
</table>
</div>
<br />
<CostNewPriceForm v-if="haveData" ref="CostNewPrice" :postConfig="postData" :AllCurrencyList="AllCurrencyList"
@success="refreshPage">
</CostNewPriceForm>
</el-form>
</div>
<div class="btnFixedDiv" v-if="haveData">
<div class="toTop">
<i class="iconfont icon-huidaodingbu"></i>
</div>
<div class="DTSaveBtn" :class="{'disClick':!isSubmit}" @click="SaveData(2)">{{$t('fnc.tijiao')}}</div>
<div class="DTSaveBtn" style="display:none;">{{$t('objFill.copy')}}</div>
<div class="DTSaveBtn caogao" :class="{'disClick':!isSubmit}" @click="SaveData(1)">
<span>{{$t('pub.saveBtn')}}</span>
<span>{{$t('objFill.caogao')}}</span>
</div>
</div>
</div>
</template>
<script>
import CostNewPriceForm from "../TravelNewQuotation/CostNewPriceForm";
export default {
components: {
CostNewPriceForm: CostNewPriceForm,
},
computed: {
//线路筛选
getLineList() {
var chooseLineList = [];
//散拼
if (this.postData.TeamType == 0 || this.postData.TeamType == 5) {
chooseLineList = this.LineList.filter(qItem => qItem.LineDirection == 2);
} //小包团
else if (this.postData.TeamType == 1) {
chooseLineList = this.LineList.filter(qItem => qItem.Is_PacketGroup == 1);
}
//当地游
else if (this.postData.TeamType == 2) {
chooseLineList = this.LineList.filter(qItem => qItem.LineDirection == 3);
}
return chooseLineList;
},
},
data() {
return {
haveData: false,
//基本配置
postData: {
BatchNum: "",
ID: 0,
TCID: 0,
OfferId: 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, //出团类型
PriceTeamType: 0, //团队类型
TravelState: 1, //团控状态(1-草稿,2-待审核,3-审核通过,4-审核拒绝,5已撤销)
OutBranchId: "", //出团公司
OutDateTime: "", //出发时间
OutDateTimeList: [], //出发时间
OfferPayType: 0, //报价单付款方式
SaleOfferPayType: 0, //售价付款方式
OPId: "", //主OP
AssistantId: "", //助理OP[格式:1,2,3]
AssistantList: [], //助理OP数组
OfferArray: [{
CostCurrencyList: [],
CostNumberList: [], //报价人数
CurrencyNumberListExt: [], //币种和人数列表
dayCostPriceList: [], //行程报价
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, //单地接(成本)
SingleDMCTCPrice: 0, //单地接团售价
RebatePrice: 0, //同行返佣
DiscountPrice: 0, //早鸟优惠
IsSupportChildren: 1, //是否支持儿童出游(1-支持,2-不支持)
SafeMoney: 0, //保险费
PeopleNumber: 0, //人数
AirticketMoney: 0, //机票费用
BackVisaPrice: 0, //退签证费
BackSafeMoney: 0, //退保险费
ContractUrl: "", //合同地址
PriceRemark: "", //定价备注
ContractArray: [],
TaxPrice: 0, //税金
UnionPrice: 0, //联运价格
NightPrice: 0, //过夜费
}, //团队价格信息
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, //小费回补
}, //其他报价
}]
},
isSubmit: true,
LineList: [], //线路列表
LineTeamList: [], //系列列表
teamList: [], //团队类型列表
TeamListArr: [], //团队子类型
companyList: [], //出团公司列表
AllCurrencyList: [], //币种列表
loading: false,
rParams: {
OfferId: 0,
TCID: 0,
BatchNum: ""
},
};
},
methods: {
//删除日期
handleClose(item, index) {
if (this.postData.BatchNum && this.postData.BatchNum != '') {
var postMsg = {
BatchNum: this.postData.BatchNum,
Date: item
}
this.apipost(
"travel_post_RemoveTravelOffer", postMsg,
res => {
if (res.data.resultCode == 1) {
this.postData.OutDateTimeList.splice(index, 1);
}
});
} else {
this.postData.OutDateTimeList.splice(index, 1);
}
},
changeTeamType() {
this.postData.LineId = 0;
this.postData.LineteamId = 0;
this.postData.PriceTeamType = '';
if (this.postData.TeamType == 0) {
this.postData.PriceTeamType = 1;
} else if (this.postData.TeamType == 1) {
this.postData.PriceTeamType = 3;
}
},
//获取所有币种
getAllCurrency() {
this.apipost(
"financeinfo_post_GetList", {},
res => {
if (res.data.resultCode == 1) {
this.AllCurrencyList = res.data.data;
this.AllCurrencyList.forEach(item => {
if (item.ID == 3) {
//徐总说日元默认加0.002
item.CurrentRate = Number(item.CurrentRate) + Number(0.002);
}
});
}
});
},
//出团公司
getCompanyList() {
this.apipost(
"sellorder_post_GetBranchList", {},
res => {
if (res.data.resultCode == 1) {
this.companyList = res.data.data;
}
});
},
//线路切换
changeLine() {
this.getLineTeamList(this.postData.LineId, 1);
},
//获取系列列表
getLineTeamList(lineId, isClear) {
if (isClear && isClear == 1) {
this.postData.LineteamId = 0;
}
let msg = {
lineID: lineId,
isTOOP: 1
};
this.apipost("team_post_GetList", msg, res => {
if (res.data.resultCode == 1) {
this.LineTeamList = res.data.data;
}
});
},
//获取团队类型
getPriceTeamList() {
this.apipost("travel_get_GetTravelPriceTeamTypeList", {}, res => {
if (res.data.resultCode == 1) {
this.TeamListArr = res.data.data;
} else {
this.Error(res.data.message);
}
}, err => {});
},
createDayTripPrice() {
var tempArray = this.createDayTripPriceItem(this.postData.OfferArray[0].dayCostPriceList);
this.postData.OfferArray[0].dayCostPriceList = tempArray;
this.$forceUpdate()
},
//生成行程报价
createDayTripPriceItem(dayCostPriceList) {
if (this.postData.DayNum > dayCostPriceList.length) {
for (var i = dayCostPriceList.length; i < this.postData.DayNum; i++) {
//去掉以前默认的交通
var dayItem = {
Id: 0, //主键编号
OfferId: 0, //报价单编号
ConfigId: 0, //配置编号
Title: "", //行程大点
DayNum: i + 1, //行程天数
CurrencyId: 0, //币种
HotelCostPrice: 0, //酒店报价
BusCostPrice: 0, //车辆报价
ScenicCostPrice: 0, //景点报价
BreakfastCostPrice: 0, //早餐报价
LunchCostPrice: 0, //午餐报价
DinnerCostPrice: 0, //晚餐报价
ContainDinnerType: 0, //含餐类型(1-含早餐,2-含晚餐,3-含早晚)
PassFee: 0, //过路费
HotelName: "", //酒店名称
RebatePrice: 0, //回佣
OtherPrice: 0, //其它费用(保险、司导杂费等)
DinnerIds: "", //晚餐Id
DinnerName: "", //晚餐名称
LunchIds: "", //午餐编号
LunchName: "", //午餐名称
TicketIds: "", //景点编号
ScenicList: [{
TicketId: 0,
TicketName: "",
TicketCostPrice: 0
}, {
TicketId: 0,
TicketName: "",
TicketCostPrice: 0
}, {
TicketId: 0,
TicketName: "",
TicketCostPrice: 0
}], //景点JSON数据
TicketName: "", //景点名称
OtherName: "", //其它杂支名称
BreakfastName: "", //早餐名称
};
dayCostPriceList.push(dayItem);
}
} else {
dayCostPriceList.length = this.postData.DayNum;
}
return dayCostPriceList
},
//保存数据
SaveData(type) {
this.postData.TravelState = type;
// 线路必填
if (!this.postData.LineId) {
this.$message.error(this.$t('rule.qxzxuanlu'))
return;
}
if (this.postData.OPId <= 0 || this.postData.OPId == '') {
this.$message.error(this.$t('objFill.v101.qingshurzop'))
return;
}
this.postData.AssistantId = "";
var flag = false;
if (this.postData.AssistantList && this.postData.AssistantList.length > 0) {
this.postData.AssistantId = this.postData.AssistantList.join(',');
this.postData.AssistantList.forEach(sItem => {
if (sItem == this.postData.OPId && !flag) {
flag = true;
}
});
}
if (flag) {
this.Error(this.$t('objFill.v101.zhulopbnhzopcx'));
return;
}
var postMsg = {
config: this.postData,
OfferArray: this.postData.OfferArray
};
this.loading = true;
this.apipost(
"travel_post_SetConfigOffer_V3", postMsg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.goUrl('quoTation');
} else {
this.ErrorHtml(res.data.message);
}
});
},
goUrl(path) {
this.$router.push({
path: path,
query: {
}
});
},
refreshPage() {
this.getPostData();
},
getPostData() {
this.haveData = false;
let offerId = 0;
if (this.$route.query.offerid) {
offerId = this.$route.query.offerid;
}
let BatchNum = "";
if (this.$route.query.BatchNum) {
BatchNum = this.$route.query.BatchNum;
}
let msg = {
offerId: offerId,
TCID: 0,
BatchNum: BatchNum
};
if (this.$route.query.TCID && this.$route.query.TCID > 0) {
msg.TCID = this.$route.query.TCID
}
this.loading = true;
this.apipost(
"travel_get_GetMyTravelInfo_V5", msg,
res => {
console.log("travel_get_GetMyTravelInfo_V5", res);
this.loading = false;
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;
}
if (tempData.CustomerName) {
this.postData.CustomerName = tempData.CustomerName;
}
if (tempData.OutDateTime) {
this.postData.OutDateTime = tempData.OutDateTime;
}
if (tempData.OutDateTimeList) {
this.postData.OutDateTimeList = tempData.OutDateTimeList;
}
if (tempData.OutBranchName && tempData.OutBranchName != '') {
this.postData.OutBranchId = Number(tempData.OutBranchId);
}
this.postData.TeamType = tempData.TeamType;
this.postData.PriceTeamType = tempData.PriceTeamType;
this.postData.TravelState = tempData.TravelState;
this.LineList = tempData.LineList;
if (tempData && tempData.OfferArray && tempData.OfferArray.length > 0) {
this.postData.OfferArray[0].dayCostPriceList = tempData.OfferArray[0].dayCostPriceList;
this.postData.OfferArray[0].CurrencyNumberListExt = tempData.OfferArray[0].CurrencyNumberListExt;
this.postData.OfferArray[0].teamPrice = tempData.OfferArray[0].teamPrice;
this.postData.OfferArray[0].otherPrice = tempData.OfferArray[0].otherPrice;
this.postData.OfferArray[0].CostNumberList = tempData.OfferArray[0].CostNumberList;
this.postData.OfferArray[0].CostCurrencyList = tempData.OfferArray[0].CostCurrencyList;
this.postData.OPId = tempData.OfferArray[0].OPId;
var tempA_Array = tempData.OfferArray[0].AssistantList;
if (tempA_Array && tempA_Array.length > 0) {
tempA_Array.forEach(aItem => {
this.postData.AssistantList.push(aItem.Id);
})
}
}
this.haveData = true;
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
//团队类型
getTeamList() {
this.apipost(
"travel_GetTeamTypeEnumList", {},
res => {
if (res.data.resultCode == 1) {
this.teamList = res.data.data;
}
});
},
},
created() {
if (this.$route.query.offerid && this.$route.query.offerid > 0) {
this.postData.OfferId = this.$route.query.offerid;
this.rParams.OfferId = this.$route.query.offerid
}
if (this.$route.query.BatchNum) {
this.postData.BatchNum = this.$route.query.BatchNum;
this.rParams.BatchNum = this.$route.query.BatchNum;
}
//从团控列表跳转信息
if (this.$route.query.TCID && this.$route.query.TCID > 0) {
this.postData.TCID = this.$route.query.TCID;
this.rParams.TCID = this.$route.query.TCID;
}
//团控列表跳转参数结束
this.getCompanyList();
this.getTeamList();
this.getLineTeamList();
this.getAllCurrency();
this.getPriceTeamList();
},
mounted() {
this.getPostData();
}
};
</script>
<style>
.singlePrice {
width: 100%;
position: relative;
margin-bottom: 15px;
background-color: #fff;
padding: 0 20px 20px 20px;
border-radius: 4px;
}
</style>
<template>
<div class="DirectQuotation clearfix" v-loading="loading">
<div class="singlePrice clearfix">
<OfferCostNewPriceAudit v-if="haveData" ref="CostNewPrice" :postConfig="postData" :OfferArray="OfferArray"
:IsEdit="IsEdit"></OfferCostNewPriceAudit>
</div>
</div>
</template>
<script>
import OfferCostNewPriceAudit from "../TravelNewQuotation/OfferCostNewPriceAudit";
export default {
data() {
return {
haveData: false,
OfferArray: [],
ConfigID: 0,
IsShow: false,
//基本配置
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, //团队类型,
LineName: "", //线路名称
LtName: "", //系列名称
OutBranchId: -1, //出团公司
OutBranchName: "", //出团公司名称
OutDateTime: "", //出发时间
OutDateTimeList: [],
OfferPayType: 0, //报价单付款方式()
SaleOfferPayType: 0, //售价付款方式
AuditContent: "", //审核备注
AuditByName: "", //审核人员
AuditDate: "", //审核日期
TravelState: 0, //审核状态
ManagerAduitContent: "", //欧洲线审核备注
ManagerAduitDate: "", //欧洲线审核日期
ManagerAduitName: "", //欧洲线审核人员
ManagerAduitStatus: 0, //欧洲线审核状态(1-通过,2-驳回)
OPName: "", //主OP
AssistantList: [], //助理OP
PriceTeamType: 0, //团队类型,
PriceTeamTypeName: "", //团队类型,
CRemarks: "", //审核备注
ChangeManagerAduitName: "", //分公司报价单变更审核人
ChangeManagerAduitContent: "", //分公司报价单变更审核内容
ChangeManagerAduitDate: "", //分公司报价单变更审核日期
ChangeManagerAduitStatus: 0, //分公司报价单变更审核状态
ChangeAduitContent: "", //总经理审核报价单变更备注
ChangeAuditByName: "", //总经理审核
ChangeAduitDate: "", //总经理审核时间
OpAuditDate: "", //印尼团 OP审核时间
OpAuditContent: "", //印尼团OP审核备注
OpAuditStatus: "", //印尼团OP审核状态
},
isSubmit: true,
loading: false,
IsEdit: 0,
};
},
methods: {
//保存数据
SaveData(Type) {
var nObj = {
ID: this.$route.query.offerid,
BatchNum:this.$route.query.BatchNum,
AuditContent: this.postData.CRemarks,
TravelState: Type,
OfferPayType: this.postData.OfferPayType,
TeamType: this.postData.TeamType,
};
var cmdStr = "travel_get_AuditTravelOffer";
if (Type == 7 || Type == 8) {
cmdStr = "travel_get_AuditChangeOffer";
}
this.loading = true;
this.apipost(cmdStr, nObj,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.goUrl('AuditDan');
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
goUrl(path) {
this.$router.push({
path: path,
query: {
cache: true
}
});
},
getPostData() {
let BatchNum = "";
if (this.$route.query.BatchNum) {
BatchNum = this.$route.query.BatchNum;
}
let msg = {
BatchNum: BatchNum
};
this.loading = true;
this.apipost(
"travel_get_GetMyTravelInfo_V5",
msg,
res => {
this.loading = false;
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;
}
if (tempData.OfferArray && tempData.OfferArray.length > 0) {
var offerObj = tempData.OfferArray[0];
if (offerObj) {
if (offerObj.AuditContent) {
this.postData.AuditContent = offerObj.AuditContent;
}
if (offerObj.AuditByName) {
this.postData.AuditByName = offerObj.AuditByName;
}
if (offerObj.AuditDate) {
this.postData.AuditDate = offerObj.AuditDate;
}
if (offerObj.TravelState) {
this.postData.TravelState = offerObj.TravelState;
}
if (offerObj.ManagerAduitContent) {
this.postData.ManagerAduitContent = offerObj.ManagerAduitContent;
}
if (offerObj.ManagerAduitDate) {
this.postData.ManagerAduitDate = offerObj.ManagerAduitDate;
}
if (offerObj.ManagerAduitName) {
this.postData.ManagerAduitName = offerObj.ManagerAduitName;
}
if (offerObj.ManagerAduitStatus) {
this.postData.ManagerAduitStatus = offerObj.ManagerAduitStatus;
}
if (offerObj.ChangeManagerAduitName) {
this.postData.ChangeManagerAduitName = offerObj.ChangeManagerAduitName;
}
if (offerObj.ChangeManagerAduitContent) {
this.postData.ChangeManagerAduitContent = offerObj.ChangeManagerAduitContent;
}
if (offerObj.ChangeManagerAduitDate) {
this.postData.ChangeManagerAduitDate = offerObj.ChangeManagerAduitDate;
}
if (offerObj.ChangeManagerAduitStatus) {
this.postData.ChangeManagerAduitStatus = offerObj.ChangeManagerAduitStatus;
}
if (offerObj.ChangeAduitContent) {
this.postData.ChangeAduitContent = offerObj.ChangeAduitContent;
}
if (offerObj.ChangeAuditByName) {
this.postData.ChangeAuditByName = offerObj.ChangeAuditByName;
}
if (offerObj.ChangeAduitDate) {
this.postData.ChangeAduitDate = offerObj.ChangeAduitDate;
}
if (offerObj.OpAuditStatus) {
this.postData.OpAuditStatus = offerObj.OpAuditStatus;
}
if (offerObj.OpAuditContent) {
this.postData.OpAuditContent = offerObj.OpAuditContent;
}
if (offerObj.OpAuditDate) {
this.postData.OpAuditDate = offerObj.OpAuditDate;
}
if (offerObj.OPName && offerObj.OPName != '') {
this.postData.OPName = offerObj.OPName;
}
if (offerObj.AssistantList && offerObj.AssistantList.length > 0) {
this.postData.Assistantlist = offerObj.AssistantList;
}
if (offerObj.OfferPayType) {
this.postData.OfferPayType = offerObj.OfferPayType;
}
if (offerObj.SaleOfferPayType) {
this.postData.SaleOfferPayType = offerObj.SaleOfferPayType;
}
}
}
this.postData.CustomerName = tempData.CustomerName;
this.postData.OutBranchId = tempData.OutBranchId;
this.postData.OutDateTime = tempData.OutDateTime;
this.postData.OutDateTimeList = tempData.OutDateTimeList;
this.postData.LineName = tempData.LineName;
this.postData.LtName = tempData.LtName;
this.postData.OutBranchName = tempData.OutBranchName;
this.postData.TeamTypeName = tempData.TeamTypeName;
this.postData.TeamType = tempData.TeamType;
this.postData.PriceTeamTypeName = tempData.PriceTeamTypeName;
this.postData.PriceTeamType = tempData.PriceTeamType;
if (tempData.OfferArray) {
tempData.OfferArray.forEach(item => {
this.OfferArray.push(item)
})
}
this.haveData = true;
} else {
this.Error(res.data.message);
}
},
err => {}
);
},
},
created() {
if (this.$route.query.Qtype) {
this.IsEdit = this.$route.query.Qtype;
}
this.getPostData();
},
components: {
OfferCostNewPriceAudit: OfferCostNewPriceAudit
}
};
</script>
......@@ -7,6 +7,7 @@
padding: 0 20px 20px 20px;
border-radius: 4px;
}
</style>
<template>
<div class="DirectQuotation clearfix" v-loading="loading">
......@@ -64,6 +65,7 @@
OutBranchId: -1, //出团公司
OutBranchName: "", //出团公司名称
OutDateTime: "", //出发时间
OutDateTimeList: [], //出发时间
OfferPayType: 0, //报价单付款方式()
SaleOfferPayType: 0, //售价付款方式
AuditContent: "", //审核备注
......@@ -79,6 +81,10 @@
PriceTeamType: 0, //团队类型,
PriceTeamTypeName: "", //团队类型,
},
pMsg: {
offerId: 0,
// BatchNum: "",
},
isSubmit: true,
loading: false,
IsEdit: 0,
......@@ -88,7 +94,7 @@
//保存数据
SaveData(Type) {
var nObj = {
offerid: this.$route.query.offerid,
offerid:this.pMsg.offerId,
};
this.loading = true;
this.apipost(
......@@ -117,22 +123,14 @@
this.getPostData();
},
getPostData() {
let offerId = 0;
if (this.$route.query.offerid) {
offerId = this.$route.query.offerid;
}
let msg = {
offerId: offerId
};
this.OfferArray = [];
this.haveData = false;
this.loading = true;
this.apipost(
"travel_get_GetMyTravelInfo_V4",
msg,
"travel_get_GetMyTravelInfo_V5",
this.pMsg,
res => {
this.loading = false;
console.log("travel_get_GetMyTravelInfo_V4_OfferChange",res.data);
if (res.data.resultCode == 1) {
var tempData = res.data.data;
if (tempData.ID && tempData.ID > 0) {
......@@ -213,6 +211,9 @@
this.postData.CustomerName = tempData.CustomerName;
this.postData.OutBranchId = tempData.OutBranchId;
this.postData.OutDateTime = tempData.OutDateTime;
if (tempData.OutDateTimeList) {
this.postData.OutDateTimeList = tempData.OutDateTimeList;
}
this.postData.LineName = tempData.LineName;
this.postData.LtName = tempData.LtName;
this.postData.OutBranchName = tempData.OutBranchName;
......@@ -238,10 +239,17 @@
if (this.$route.query.Qtype) {
this.IsEdit = this.$route.query.Qtype;
}
if (this.$route.query.offerid) {
this.pMsg.offerId = this.$route.query.offerid;
}
// if (this.$route.query.BatchNum) {
// this.pMsg.BatchNum = this.$route.query.BatchNum;
// }
this.getPostData();
},
components: {
CostNewPriceAudit: CostNewPriceAudit
}
};
</script>
\ No newline at end of file
</script>
<style>
@import "../../../assets/css/newTravelManager.css";
.CostNewPrice .el-form-item__content,
.CostNewPrice .el-form-item__label {
line-height: 30px;
}
.CostNewPrice .CP_halfWi {
width: 45%;
}
.CostNewPrice .QuotationFirstDiv1 {
padding-top: 30px;
}
.CostNewPrice .QuotationFirstDiv1 .el-form-item__content .el-select {
width: calc(100% - 100px);
}
.CostNewPrice .CP_ComTitle2 {
color: #106BAF;
font-weight: bold;
background-color: #D1EEEE;
white-space: nowrap;
}
.CostNewTable td {
padding: 5px;
height: 40px;
border: 1px solid #106BAF !important;
}
.CP_ComTitle {
color: #106BAF;
}
.CostcomCenter {
text-align: center;
}
.txtRightCost {
text-align: right;
padding-right: 10px;
}
.CostNewTable .el-input__inner {
padding: 0 5px;
}
</style>
<template>
<div>
<div class="CostNewPrice clearfix CP_Div" style="width:1600px;">
<el-form>
<div class="QuotationFirstDiv1">
<table style="font-size:14px;">
<tr>
<td width="80" class="txtRightCost">{{$t('objFill.v101.chutuanleix')}}</td>
<td width="300">
<template v-if="postConfig.TeamType==1">
<span style="color:red;font-weight:bold;">{{postConfig.TeamTypeName}}</span>
</template>
<template v-else>
{{postConfig.TeamTypeName}}
</template>
<template v-if="postConfig.PriceTeamTypeName&&postConfig.PriceTeamTypeName!=''">
({{postConfig.PriceTeamTypeName}})
</template>
</td>
<td width="80" class="txtRightCost">{{$t('advmanager.v_line')}}</td>
<td width="300">
{{postConfig.LineName}}
</td>
<td width="60" class="txtRightCost">{{$t('advmanager.v_xilie')}}</td>
<td width="300">
{{postConfig.LtName}}
</td>
</tr>
<tr>
<td colspan="6" style="height:20px;">
</td>
</tr>
<tr>
<td width="80" class="txtRightCost">{{$t('scen.sc_cp')}}</td>
<td>
{{postConfig.OutBranchName}}
</td>
<td width="80" class="txtRightCost">{{$t('visa.v_xcdays')}}</td>
<td>
{{postConfig.DayNum}}天{{postConfig.NightNum}}晚
</td>
<td width="80" class="txtRightCost">{{$t('fnc.khmingcheng')}}</td>
<td>
{{postConfig.CustomerName}}
</td>
</tr>
<tr>
<td colspan="6" style="height:20px;">
</td>
</tr>
<tr>
<td width="80" class="txtRightCost">{{$t('sm.tuanduibiaoti')}}</td>
<td width="300" colspan="5">
{{postConfig.Title}}
</td>
</tr>
<tr>
<td colspan="6" style="height:20px;">
</td>
</tr>
<tr>
<td width="80" class="txtRightCost">已选日期</td>
<td colspan="5">
<template v-if="postConfig.OutDateTimeList&&postConfig.OutDateTimeList.length>0">
<el-tag v-for="(item,oIndex) in postConfig.OutDateTimeList" :key="oIndex" style="margin-right:5px;">
{{item}}
</el-tag>
</template>
</td>
</tr>
</table>
</div>
<br />
<table class="CostPriceTable CostNewTable">
<thead>
<tr>
<td colspan="13" class="CP_ComTitle2 CostcomCenter">{{$t('objFill.baojiaxinxi')}}</td>
</tr>
<tr>
<td class="CP_ComTitle2 CostcomCenter">{{$t('hotel.hotel_Currency')}}</td>
<td v-for='(item,index) in CostCurrencyList' :key="index+10000">
{{item.CurrencyName}}
</td>
<td :colspan="13-2-CostCurrencyList.length+1">
</td>
</tr>
<tr>
<td class="CP_ComTitle2 CostcomCenter">{{$t('hotel.hotel_CurrentRate')}}</td>
<td v-for='(item,index) in CostCurrencyList' :key="index+20000">
{{item.ExchangeRate}}
</td>
<td :colspan="13-2-CostCurrencyList.length+1">
</td>
</tr>
<tr>
<td class="CP_ComTitle2 CostcomCenter">{{$t('admin.admin_personNumber')}}</td>
<td v-for="(item,index) in CostNumberList" :key="index+30000">
{{item.PeopleNumber}}
</td>
<td :colspan="13-2-CostNumberList.length+1">
</td>
</tr>
</thead>
<tr>
<td colspan="13"></td>
</tr>
<tr>
<td rowspan="2" class="CP_ComTitle2 CostcomCenter" style="width:90px;">Day</td>
<td rowspan="2" class="CP_ComTitle2 CostcomCenter" style="width:80px;">{{$t('hotel.hotel_Currency')}}</td>
<td rowspan="2" class="CP_ComTitle2 CostcomCenter" style="width:250px;">{{$t('Airticket.Air_Trip')}}</td>
<td colspan="2" class="CP_ComTitle2 CostcomCenter">{{$t('hotel.hotel')}}</td>
<td colspan="2" class="CP_ComTitle2 CostcomCenter">{{$t('objFill.v101.chetian')}}</td>
<td colspan="2" class="CP_ComTitle2 CostcomCenter">{{$t('objFill.can')}}</td>
<td colspan="2" class="CP_ComTitle2 CostcomCenter">{{$t('scen.sc_piao')}}</td>
<td colspan="2" class="CP_ComTitle2 CostcomCenter">
{{$t('objFill.qitafy')}}<br />({{$t('objFill.baoxiansdzfd')}})</td>
</tr>
<tr>
<td class="CP_ComTitle2 CostcomCenter" style="width:180px">{{$t('hotel.table_hotelname')}}</td>
<td class="CP_ComTitle2 CostcomCenter" style="width:100px">{{$t('objFill.v101.jiageren')}}</td>
<td class="CP_ComTitle2 CostcomCenter" style="width:100px">{{$t('objFill.chezi')}}/{{$t('hotel.hotel_day')}}
</td>
<td class="CP_ComTitle2 CostcomCenter" style="width:50px">
{{$t('objFill.guolufei')}}<br />{{$t('objFill.v101.tingcheft')}}</td>
<td class="CP_ComTitle2 CostcomCenter" style="width:110px">{{$t('restaurant.res_resName')}}</td>
<td class="CP_ComTitle2 CostcomCenter" style="width:100px">{{$t('objFill.v101.jiagecan')}}</td>
<td class="CP_ComTitle2 CostcomCenter" style="width:150px">{{$t('visaT.jdname')}}</td>
<td class="CP_ComTitle2 CostcomCenter" style="width:100px">{{$t('objFill.v101.jiageren')}}</td>
<td class="CP_ComTitle2 CostcomCenter" style="width:100px">{{$t('system.query_airName')}}</td>
<td class="CP_ComTitle2 CostcomCenter" style="width:100px">{{$t('Operation.Op_price')}}</td>
</tr>
<template v-for="(subItem,subIndex) in dayCostPrice">
<tr :key="subIndex+100000">
<td align="center">
{{$t('tips.di')}}{{subItem.DayNum}}{{$t('hotel.hotel_day')}}
<br />
{{GetDayStr(subItem.DayNum-1)}}
<br />
<a v-if="IsEdit==3" style="color:blue;cursor:pointer"
@click="showOfferChange(1,subItem)">{{$t('objFill.dayofferchange')}}</a>
</td>
<td align="center">
{{getCurrencyName(subItem.CurrencyId)}}
</td>
<td>
{{subItem.Title}}
</td>
<td>
{{subItem.HotelName}}<br />
<template v-if="subItem.ContainDinnerType==1">{{$t('objFill.hanzaocan')}}</template>
<template v-if="subItem.ContainDinnerType==2">{{$t('objFill.hanwancan')}}</template>
<template v-if="subItem.ContainDinnerType==3">{{$t('objFill.v101.hanzaowanc')}}</template>
</td>
<td style="white-space:nowrap;">
{{subItem.HotelCostPrice}}
<template v-if="subItem.IsHotelChange">
<el-tooltip class="item" effect="dark" :content="subItem.HotelChangeRemark" placement="top-start">
<font style="color:red;">
<template v-if="subItem.HotelChangeValue>0">
+{{subItem.HotelChangeValue}}
</template>
<template v-else>
{{subItem.HotelChangeValue}}
</template>
</font>
</el-tooltip>
=<font style="color:red">{{subItem.HotelChangePrice}}</font>
</template>
</td>
<td style="white-space:nowrap;">
{{subItem.BusCostPrice}}
<template v-if="subItem.IsBusChange">
<el-tooltip class="item" effect="dark" :content="subItem.BusChangeRemark" placement="top-start">
<font style="color:red;">
<template v-if="subItem.BusChangeValue>0">
+{{subItem.BusChangeValue}}
</template>
<template v-else>
{{subItem.BusChangeValue}}
</template>
</font>
</el-tooltip>
=<font style="color:red">{{subItem.BusChangePrice}}</font>
</template>
</td>
<td>
{{subItem.PassFee}}
</td>
<td style="width:250px;">
<template v-if="subItem.BreakfastName&&subItem.BreakfastName!=''">
{{$t('objFill.v101.zaocanmc')}}: {{subItem.BreakfastName}}<br />
</template>
<template v-if="subItem.LunchName&&subItem.LunchName!=''">
{{$t('objFill.v101.wucanmc')}}: {{subItem.LunchName}}<br />
<template v-if="subItem.LunchRealName&&subItem.LunchRealName!=''">
<font style="color:#106BAF;">{{$t('ground.zhenshimingcheng')}}:
<template v-if="subItem.LunchUrl&&subItem.LunchUrl!=''">
<a @click="OpenNewUrl(subItem.LunchUrl)" target="_blank"
style="cursor:pointer;text-decoration: underline;color:#106BAF;">{{subItem.LunchRealName}}</a>
</template>
<template v-else>{{subItem.LunchRealName}}
</template>
</font><br />
</template>
</template>
<template v-if="subItem.DinnerName&&subItem.DinnerName!=''">
{{$t('objFill.v101.wancaimc')}}: {{subItem.DinnerName}}<br />
<template v-if="subItem.DinnerRealName&&subItem.DinnerRealName!=''">
<font style="color:#106BAF;">{{$t('ground.zhenshimingcheng')}}:
<template v-if="subItem.DinnerUrl&&subItem.DinnerUrl!=''">
<a @click="OpenNewUrl(subItem.DinnerUrl)" target="_blank"
style="cursor:pointer;text-decoration: underline;color:#106BAF;">{{subItem.DinnerRealName}}</a>
</template>
<template v-else>{{subItem.DinnerRealName}}
</template>
</font><br />
</template>
</template>
</td>
<td style="white-space:nowrap;">
<template v-if="subItem.BreakfastCostPrice>0||subItem.IsBreakfastChange">
{{$t('objFill.v101.zaocanmc')}}:
{{subItem.BreakfastCostPrice}}
<template v-if="subItem.IsBreakfastChange">
<el-tooltip class="item" effect="dark" :content="subItem.BreakfastChangeRemark"
placement="top-start">
<font style="color:red;">
<template v-if="subItem.BreakfastChangeValue>0">
+
</template>
{{subItem.BreakfastChangeValue}}
</font>
</el-tooltip>
=<font style="color:red;">{{subItem.BreakfastChangePrice}}</font>
</template>
</template>
<template v-if="subItem.LunchCostPrice>0||subItem.IsLunchChange">
<br />
{{$t('objFill.v101.wucanmc')}}:
{{subItem.LunchCostPrice}}
<template v-if="subItem.IsLunchChange">
<el-tooltip class="item" effect="dark" :content="subItem.LunchChangeRemark" placement="top-start">
<font style="color:red;">
<template v-if="subItem.LunchChangeValue>0">
+
</template>
{{subItem.LunchChangeValue}}
</font>
</el-tooltip>
=<font style="color:red;">{{subItem.LunchChangePrice}}</font>
</template>
</template>
<template v-if="subItem.DinnerCostPrice>0||subItem.IsDinnerChange">
<br />
{{$t('objFill.v101.wancaimc')}}:
{{subItem.DinnerCostPrice}}
<template v-if="subItem.IsDinnerChange">
<el-tooltip class="item" effect="dark" :content="subItem.DinnerChangeRemark" placement="top-start">
<font style="color:red;">
<template v-if="subItem.DinnerChangeValue>0">
+
</template>
{{subItem.DinnerChangeValue}}
</font>
</el-tooltip>
=<font style="color:red;">{{subItem.DinnerChangePrice}}</font>
</template>
</template>
</td>
<td>
<template v-for="(childItem,childIndex) in subItem.ScenicList">
<template v-if="childItem.TicketId>0||childItem.TicketName!=''">
<font>
{{childIndex+1}}{{childItem.TicketName}}
</font>
<br />
</template>
</template>
</td>
<td style="white-space:nowrap;">
<template v-for="(childItem,childIndex) in subItem.ScenicList">
<template v-if="childItem.TicketId>0||childItem.TicketName!=''">
<font>
{{childItem.TicketCostPrice}}
</font>
<br />
</template>
</template>
<template v-if="subItem.IsScenicChange">
<br />
{{subItem.ScenicCostPrice}}
<el-tooltip class="item" effect="dark" :content="subItem.ScenicChangeRemark" placement="top-start">
<font style="color:red;">
<template v-if="subItem.ScenicChangeValue>0">
+
</template>
{{subItem.ScenicChangeValue}}
</font>
</el-tooltip>
=<font style="color:red">{{subItem.ScenicChangePrice}}</font>
</template>
</td>
<td>
{{subItem.OtherName}}
</td>
<td style="white-space:nowrap;">
{{subItem.OtherPrice}}
<template v-if="subItem.IsOtherChange">
<el-tooltip class="item" effect="dark" :content="subItem.OtherChangeRemark" placement="top-start">
<font style="color:red;">
<template v-if="subItem.OtherChangeValue>0">
+
</template>
{{subItem.OtherChangeValue}}
</font>
</el-tooltip>
=<font style="color:red;">{{subItem.OtherChangePrice}}</font>
</template>
</td>
</tr>
</template>
<tr>
<td colspan="3" class="CP_ComTitle2 CostcomCenter">
{{$t('objFill.waibixj')}}
</td>
<!--酒店小计-->
<td colspan="2">
{{$t('objFill.jiudianxj')}}: {{getDayXiaoJi(1,1)}}
<template v-if="getDayChangeXiaoJi(1,1)!=0">
<font style="color:red;">
<template v-if="getDayChangeXiaoJi(1,1)>0">
+{{getDayChangeXiaoJi(1,1)}}
</template>
<template v-else>
{{getDayChangeXiaoJi(1,1)}}
</template>
</font>
=<font style="color:red">{{Number(getDayXiaoJi(1,1))+Number(getDayChangeXiaoJi(1,1))}}</font>
</template>
</td>
<!--车资小计-->
<td colspan="2" style="white-space:nowrap;">
{{$t('objFill.chezhixj')}}:{{getDayXiaoJi(2,1)}}
<template v-if="getDayChangeXiaoJi(2,1)!=0">
<font style="color:red;">
<template v-if="getDayChangeXiaoJi(2,1)>0">
+{{getDayChangeXiaoJi(2,1)}}
</template>
<template v-else>
{{getDayChangeXiaoJi(2,1)}}
</template>
</font>
=<font style="color:red">{{Number(getDayXiaoJi(2,1))+Number(getDayChangeXiaoJi(2,1))}}</font>
</template>
</td>
<!--餐小计-->
<td colspan="2">
{{$t('objFill.canxj')}}: {{getDayXiaoJi(4,1)}}
<template v-if="getDayChangeXiaoJi(4,1)!=0">
<font style="color:red">
<template v-if="getDayChangeXiaoJi(4,1)>0">
+{{getDayChangeXiaoJi(4,1)}}
</template>
<template v-else>
{{getDayChangeXiaoJi(4,1)}}
</template>
</font>
=<font style="color:red"> {{Number(getDayXiaoJi(4,1))+Number(getDayChangeXiaoJi(4,1))}}</font>
</template>
</td>
<!--门票小计-->
<td colspan="2">
{{$t('objFill.menpiaoxj')}}: {{getDayXiaoJi(3,1)}}
<template v-if="getDayChangeXiaoJi(3,1)!=0">
<font style="color:red">
<template v-if="getDayChangeXiaoJi(3,1)>0">
+{{getDayChangeXiaoJi(3,1)}}
</template>
<template v-else>
{{getDayChangeXiaoJi(3,1)}}
</template>
</font>
=<font style="color:red">{{Number(getDayXiaoJi(3,1))+ Number(getDayChangeXiaoJi(3,1))}}</font>
</template>
</td>
<!--其它费用小计-->
<td colspan="2">
{{$t('objFill.zazhixj')}}: {{getDayXiaoJi(9,1)}}
<template v-if="getDayChangeXiaoJi(9,1)!=0">
<font style="color:red">
<template v-if="getDayChangeXiaoJi(9,1)>0">
+{{getDayChangeXiaoJi(9,1)}}
</template>
<template v-else>
{{getDayChangeXiaoJi(9,1)}}
</template>
</font>
=<font style="color:red">{{Number(getDayXiaoJi(9,1))+ Number(getDayChangeXiaoJi(9,1))}}</font>
</template>
</td>
</tr>
<tr>
<td colspan="3" class="CP_ComTitle2 CostcomCenter">
{{$t('objFill.renmingbxj')}}
</td>
<!--酒店小计-->
<td colspan="2">
{{$t('objFill.jiudianxj')}}: {{getDayXiaoJi(1,2)}}
<template v-if="getDayChangeXiaoJi(1,2)!=0">
<font style="color:red;">
<template v-if="getDayChangeXiaoJi(1,2)>0">
+{{getDayChangeXiaoJi(1,2)}}
</template>
<template v-else>
{{getDayChangeXiaoJi(1,2)}}
</template>
</font>
=<font style="color:red">{{Number(getDayXiaoJi(1,2))+Number(getDayChangeXiaoJi(1,2))}}</font>
</template>
</td>
<!--车资小计-->
<td colspan="2">
{{$t('objFill.chezhixj')}}:{{getDayXiaoJi(2,2)}}
<template v-if="getDayChangeXiaoJi(2,2)!=0">
<font style="color:red;">
<template v-if="getDayChangeXiaoJi(2,2)>0">
+{{getDayChangeXiaoJi(2,2)}}
</template>
<template v-else>
{{getDayChangeXiaoJi(2,2)}}
</template>
</font>
=<font style="color:red">{{Number(getDayXiaoJi(2,2))+Number(getDayChangeXiaoJi(2,2))}}</font>
</template>
</td>
<!--餐小计-->
<td colspan="2">
{{$t('objFill.canxj')}}: {{getDayXiaoJi(4,2)}}
<template v-if="getDayChangeXiaoJi(4,2)!=0">
<font style="color:red;">
<template v-if="getDayChangeXiaoJi(4,2)>0">
+{{getDayChangeXiaoJi(4,2)}}
</template>
<template v-else>
{{getDayChangeXiaoJi(4,2)}}
</template>
</font>
=<font style="color:red">{{Number(getDayXiaoJi(4,2))+Number(getDayChangeXiaoJi(4,2))}}</font>
</template>
</td>
<!--门票小计-->
<td colspan="2">
{{$t('objFill.menpiaoxj')}}: {{getDayXiaoJi(3,2)}}
<template v-if="getDayChangeXiaoJi(3,2)!=0">
<font style="color:red;">
<template v-if="getDayChangeXiaoJi(3,2)>0">
+{{getDayChangeXiaoJi(3,2)}}
</template>
<template v-else>
{{getDayChangeXiaoJi(3,2)}}
</template>
</font>
=<font style="color:red">{{Number(getDayXiaoJi(3,2))+Number(getDayChangeXiaoJi(3,2))}}</font>
</template>
</td>
<!--其它费用小计-->
<td colspan="2">
{{$t('objFill.zazhixj')}}: {{getDayXiaoJi(9,2)}}
<template v-if="getDayChangeXiaoJi(9,2)!=0">
<font style="color:red;">
<template v-if="getDayChangeXiaoJi(9,2)>0">
+{{getDayChangeXiaoJi(9,2)}}
</template>
<template v-else>
{{getDayChangeXiaoJi(9,2)}}
</template>
</font>
=<font style="color:red;">{{Number(getDayXiaoJi(9,2))+Number(getDayChangeXiaoJi(9,2))}}</font>
</template>
</td>
</tr>
<tr>
<td colspan="13">{{$t('objFill.qitacbrmb')}}</td>
</tr>
<tr>
<td colspan="2">
<el-form-item :label="$t('active.cl_jipiao')">
{{OtherPrice.AirTicketMoeny}}
</el-form-item>
</td>
<td>
<el-form-item :label="$t('objFill.zhongduanjp')">
{{OtherPrice.InlandAirTicketMoney}}
</el-form-item>
</td>
<td colspan="2">
<el-form-item :label="$t('objFill.v101.dmc.meildhvpmr')">
{{OtherPrice.InlandTrainTicketMoney}}
</el-form-item>
</td>
<td colspan="2">
<el-form-item :label="$t('objFill.shuijin')">
{{teamPrice.TaxPrice}}
</el-form-item>
</td>
<td colspan="2">
<el-form-item :label="$t('salesModule.Union')">
{{teamPrice.UnionPrice}}
</el-form-item>
</td>
<td colspan="4" rowspan="2">
{{$t('objFill.xiaojijpzdsjly')}}:
<br />{{getCostTotalMoney()}}
</td>
</tr>
<tr>
<td colspan="2">
<el-form-item :label="$t('objFill.lingduidyft')">
{{OtherPrice.AirTicketShareMoney}}
</el-form-item>
</td>
<td>
<el-form-item :label="$t('objFill.guoye')">
{{teamPrice.NightPrice}}
</el-form-item>
</td>
<td colspan="2">
<el-form-item :label="$t('active.cl_qianzheng')">
{{teamPrice.VisaPrice}}
</el-form-item>
</td>
<td colspan="2">
<el-form-item :label="$t('Operation.Op_insurance')">
{{OtherPrice.SafeMoney}}
</el-form-item>
</td>
<td colspan="2">
<el-form-item :label="`KB`+$t('objFill.rentoufei')">
{{OtherPrice.KBMoney}}
</el-form-item>
</td>
</tr>
<tr>
<td colspan="13"></td>
</tr>
<tr>
<td colspan="2">
<el-form-item :label="$t('Operation.Op_baby')">
{{teamPrice.BabyPrice}}
</el-form-item>
</td>
<td>
<el-form-item :label="$t('objFill.dandijcb')">
{{teamPrice.SingleDMCPrice}}
</el-form-item>
</td>
<td colspan="2">
<el-form-item :label="$t('Operation.Op_childNobed')">
{{teamPrice.ChildNoNeedPrice}}
</el-form-item>
</td>
<td colspan="2">
<el-form-item :label="$t('Operation.Op_childBed')">
{{teamPrice.ChildNeedPrice}}
</el-form-item>
</td>
<td colspan="2">
<el-form-item :label="$t('Operation.Op_singleRoomcha')">
{{teamPrice.SingleRoomPrice}}
</el-form-item>
</td>
<td colspan="4">
<el-form-item :label="$t('objFill.dandijjg')">
{{teamPrice.SingleDMCTCPrice}}
</el-form-item>
</td>
</tr>
<tr>
<td colspan="2">
<el-form-item :label="$t('Operation.Op_zhu')+`OP`">
{{postConfig.OPName}}
</el-form-item>
</td>
<td colspan="3">
<el-form-item :label="$t('objFill.zhuli')+`OP`">
<template v-if="postConfig.Assistantlist&&postConfig.Assistantlist.length>0">
<span v-for="(subItem,subIndex) in postConfig.Assistantlist" :key="subIndex"
style="padding-left:3px;">{{subItem.Name}}</span>
</template>
</el-form-item>
</td>
<td colspan="2">
<el-form-item :label="$t('fnc.fkfangshi')">
<template v-if="postConfig.SaleOfferPayType==1">
{{$t('fnc.xianjin')}}
</template>
<template v-if="postConfig.SaleOfferPayType==2">
{{$t('objFill.huikuan')}}
</template>
<template v-if="postConfig.SaleOfferPayType==3">
{{$t('objFill.waizhanzili')}}
</template>
</el-form-item>
</td>
<td colspan="6">
{{$t('objFill.fj')}}: <template v-if="teamPrice.ContractArray&& teamPrice.ContractArray.length>0">
<template v-for="(subItem,subIndex) in teamPrice.ContractArray">
<a style="margin-left:20px;color:blue;cursor:pointer;" target="_blank" :key="subIndex"
@click="downloadFile(subItem.Url,subItem.Name)">{{subItem.Name}}</a>
</template>
</template>
</td>
</tr>
<tr>
<td>
</td>
<td>
{{$t('admin.admin_personNumber')}}
</td>
<td>
{{$t('objFill.v101.jiudccmzji')}}
</td>
<td>
{{$t('objFill.dijiechengben')}}<br />({{$t('fnc.waibi')}})
</td>
<td colspan="2">
{{$t('objFill.dijiechengben')}}<br />({{$t('fnc.a_rminbi')}})
</td>
<td colspan="2">
{{$t('hotel.hotel_cost')}}<br /> [{{$t('objFill.v101.dandjqtcbrmbxj')}}]
</td>
<td>
{{$t('objFill.tongyexsjg')}}
<br />
<!--台湾印象和日本印象-->
<template v-if="postConfig.OutBranchId==1218||postConfig.OutBranchId==1220">
({{$t('objFill.ribi')}})
</template>
<!--印尼印象-->
<template v-else-if="postConfig.OutBranchId==1252">
({{$t('fnc.a_ynd')}})
</template>
<template v-else>({{$t('fnc.a_rminbi')}})
</template>
</td>
<td>
{{$t('objFill.zhikexsjg')}}
<br />
<!--台湾印象和日本印象-->
<template v-if="postConfig.OutBranchId==1218||postConfig.OutBranchId==1220">
({{$t('objFill.ribi')}})
</template>
<!--印尼印象-->
<template v-else-if="postConfig.OutBranchId==1252">
({{$t('fnc.a_ynd')}})
</template>
<template v-else>({{$t('fnc.a_rminbi')}})
</template>
</td>
<td>
<!--台湾印象和日本印象-->
<template v-if="postConfig.OutBranchId==1218||postConfig.OutBranchId==1220">
<template v-if="postConfig.LineId==14||postConfig.LineId==118">
{{$t('Airticket.Air_salesPrice')}}
<br />({{$t('objFill.ribi')}})
</template>
</template>
</td>
<td colspan="2">
{{$t('fnc.beizhu')}}
</td>
</tr>
<!--已填写人数-->
<template v-if="CostNumberList&&CostNumberList.length>0">
<template v-for="(subItem,subIndex) in CostNumberList">
<tr :key="subIndex">
<td v-if="subIndex==0" :rowspan="CostNumberList.length">
{{$t('fnc.a_heji')}}
</td>
<td>
{{subItem.PeopleNumber}}
</td>
<td>
{{getDayXiaoJi(1,1)}}
<template v-if="getDayChangeXiaoJi(1,1)!=0">
<font style="color:red;">
<template v-if="getDayChangeXiaoJi(1,1)>0">
+{{getDayChangeXiaoJi(1,1)}}
</template>
<template v-else>
{{getDayChangeXiaoJi(1,1)}}
</template>
</font>
</template>
({{$t('objFill.jiu')}})+
{{ (getDayXiaoJi(2,1)/subItem.PeopleNumber).toFixed(2)}}
<template v-if="getDayChangeXiaoJi(2,1)!=0">
<font style="color:red;">
<template v-if="getDayChangeXiaoJi(2,1)>0">
+{{(getDayChangeXiaoJi(2,1)/subItem.PeopleNumber).toFixed(2)}}
</template>
<template v-else>
{{(getDayChangeXiaoJi(2,1)/subItem.PeopleNumber).toFixed(2)}}
</template>
</font>
</template>
({{$t('objFill.v101.chezczcyrs')}})
+{{getDayXiaoJi(4,1)}}
<template v-if="getDayChangeXiaoJi(4,1)!=0">
<font style="color:red;">
<template v-if="getDayChangeXiaoJi(4,1)>0">
+{{getDayChangeXiaoJi(4,1)}}
</template>
<template v-else>
{{getDayChangeXiaoJi(4,1)}}
</template>
</font>
</template>
({{$t('objFill.can')}})
+{{getDayXiaoJi(3,1)}}
<template v-if="getDayChangeXiaoJi(3,1)!=0">
<font style="color:red;">
<template v-if="getDayChangeXiaoJi(3,1)>0">
+{{getDayChangeXiaoJi(3,1)}}
</template>
<template v-else>
{{getDayChangeXiaoJi(3,1)}}
</template>
</font>
</template>
({{$t('scen.sc_piao')}})
+{{(getDayXiaoJi(9,1)/subItem.PeopleNumber).toFixed(2)}}
<template v-if="getDayChangeXiaoJi(9,1)!=0">
<font style="color:red;">
<template v-if="getDayChangeXiaoJi(9,1)>0">
+{{(getDayChangeXiaoJi(9,1)/subItem.PeopleNumber).toFixed(2)}}
</template>
<template v-else>
{{(getDayChangeXiaoJi(9,1)/subItem.PeopleNumber).toFixed(2)}}
</template>
</font>
</template>
({{$t('objFill.v101.zazhizzzcyrsK')}})
</td>
<td style="white-space:nowrap;">
{{getLocalJpyTotalMoney(subItem.PeopleNumber)}}
<template v-if="getLocalJpyChangeTotalMoney(subItem.PeopleNumber)!=0">
<font style="color:red;">
<template v-if="getLocalJpyChangeTotalMoney(subItem.PeopleNumber)>0">
+{{getLocalJpyChangeTotalMoney(subItem.PeopleNumber)}}
</template>
<template v-else>
{{getLocalJpyChangeTotalMoney(subItem.PeopleNumber)}}
</template>
</font>
=<font style="color:red">
{{Number(getLocalJpyTotalMoney(subItem.PeopleNumber))+Number(getLocalJpyChangeTotalMoney(subItem.PeopleNumber))}}
</font>
</template>
</td>
<td colspan="2">
<template v-if="teamPrice&&teamPrice.SingleDMCPrice&&teamPrice.SingleDMCPrice>0">
{{teamPrice.SingleDMCPrice}}
<template v-if="getLocalChangeTotalMoney(subItem.PeopleNumber)!=0">
<font style="color:red;">
<template v-if="getLocalChangeTotalMoney(subItem.PeopleNumber)>0">
+{{getLocalChangeTotalMoney(subItem.PeopleNumber)}}
</template>
<template v-else>
{{getLocalChangeTotalMoney(subItem.PeopleNumber)}}
</template>
</font>
=<font style="color:red">
{{Number(teamPrice.SingleDMCPrice)+Number(getLocalChangeTotalMoney(subItem.PeopleNumber))}}
</font>
</template>
</template>
<template v-else-if="postConfig.LineId==14||postConfig.LineId==118">
{{getLocalTotalMoney(subItem.PeopleNumber)}}
<template v-if="getLocalChangeTotalMoney(subItem.PeopleNumber)!=0">
<font style="color:red;">
<template v-if="getLocalChangeTotalMoney(subItem.PeopleNumber)>0">
+{{getLocalChangeTotalMoney(subItem.PeopleNumber)}}
</template>
<template v-else>
{{getLocalChangeTotalMoney(subItem.PeopleNumber)}}
</template>
</font>
=<font style="color:red">
{{Number(getLocalTotalMoney(subItem.PeopleNumber))+Number(getLocalChangeTotalMoney(subItem.PeopleNumber))}}
</font>
</template>
</template>
<template v-else-if="postConfig.LineId==168">
{{getLocalTotalMoney(subItem.PeopleNumber)}}
<template v-if="getLocalChangeTotalMoney(subItem.PeopleNumber)!=0">
<font style="color:red;">
<template v-if="getLocalChangeTotalMoney(subItem.PeopleNumber)>0">
+{{getLocalChangeTotalMoney(subItem.PeopleNumber)}}
</template>
<template v-else>
{{getLocalChangeTotalMoney(subItem.PeopleNumber)}}
</template>
</font>
=<font style="color:red">
{{Number(getLocalTotalMoney(subItem.PeopleNumber))+Number(getLocalChangeTotalMoney(subItem.PeopleNumber))}}
</font>
</template>
</template>
<template v-else>
{{subItem.SubtotalMoney}}
</template>
</td>
<td colspan="2">
{{subItem.TotalMoney}}
<template v-if="getLocalChangeTotalMoney(subItem.PeopleNumber)!=0">
<font style="color:red;">
<template v-if="getLocalChangeTotalMoney(subItem.PeopleNumber)>0">
+{{getLocalChangeTotalMoney(subItem.PeopleNumber)}}
</template>
<template v-else>
{{getLocalChangeTotalMoney(subItem.PeopleNumber)}}
</template>
</font>
=<font style="color:red">
{{Number(subItem.TotalMoney)+Number(getLocalChangeTotalMoney(subItem.PeopleNumber))}}
</font>
</template>
</td>
<td>
{{subItem.SalePrice}}
</td>
<td>
{{subItem.B2CSalePrice}}
</td>
<td>
<!--台湾印象和日本印象-->
<template v-if="postConfig.OutBranchId==1218||postConfig.OutBranchId==1220">
<template v-if="postConfig.LineId==14||postConfig.LineId==118">
{{subItem.JPYSalePrice}}
</template>
</template>
</td>
<td colspan="2">
{{subItem.CostRemark}}
</td>
</tr>
</template>
</template>
<tr>
<td colspan="13"></td>
</tr>
<tr>
<td class="CP_ComTitle2">{{$t('objFill.shenhebz')}}</td>
<td colspan="3">
<template v-if="postConfig.OpAuditDate&&postConfig.OpAuditDate!='' ">
<p> {{postConfig.OPName}}{{postConfig.OpAuditDate}}
<template v-if="postConfig.OpAuditStatus==1">
<span style="color:blue;">{{$t('visa.v_tongguo')}}</span>
</template>
<template v-if="postConfig.OpAuditStatus==2">
<span style="color:red;">{{$t('fnc.bohui')}}</span>
</template>
{{postConfig.OpAuditContent}}
</p>
</template>
<template
v-if="postConfig.ManagerAduitDate&&postConfig.ManagerAduitDate!=''&&postConfig.ManagerAduitName&&postConfig.ManagerAduitName!=''">
<p> {{postConfig.ManagerAduitName}}{{postConfig.ManagerAduitDate}}
<template v-if="postConfig.ManagerAduitStatus==1">
<span style="color:blue;">{{$t('visa.v_tongguo')}}</span>
</template>
<template v-if="postConfig.ManagerAduitStatus==2">
<span style="color:red;">{{$t('fnc.bohui')}}</span>
</template>
{{postConfig.ManagerAduitContent}}
</p>
</template>
<template v-if="IsEdit!=2&&postConfig.AuditDate&&postConfig.AuditDate!=''">
<br />
<p>
{{postConfig.AuditByName}}{{postConfig.AuditDate}}
<template v-if="postConfig.TravelState==3">
<span style="color:blue;">{{$t('visa.v_tongguo')}}</span>
</template>
<template v-if="postConfig.TravelState==4">
<span style="color:red;">{{$t('fnc.bohui')}}</span>
</template>
{{postConfig.AuditContent}}
</p>
</template>
<template
v-if="postConfig.ChangeManagerAduitDate&&postConfig.ChangeManagerAduitDate!=''&&postConfig.ChangeManagerAduitName&&postConfig.ChangeManagerAduitName!=''">
<br />
<p> {{postConfig.ChangeManagerAduitName}}{{postConfig.ChangeManagerAduitDate}}
<template v-if="postConfig.ChangeManagerAduitStatus==1">
<span style="color:blue;">{{$t('visa.v_tongguo')}}</span>
</template>
<template v-if="postConfig.ChangeManagerAduitStatus==2">
<span style="color:red;">{{$t('fnc.bohui')}}</span>
</template>
{{postConfig.ChangeManagerAduitContent}}
</p>
</template>
<template v-if="postConfig.ChangeAduitDate&&postConfig.ChangeAduitDate!=''">
<br />
<p>
{{postConfig.ChangeAuditByName}}{{postConfig.ChangeAduitDate}}
<template v-if="postConfig.TravelState==8">
<span style="color:blue;">{{$t('visa.v_tongguo')}}</span>
</template>
<template v-if="postConfig.TravelState==7">
<span style="color:red;">{{$t('fnc.bohui')}}</span>
</template>
{{postConfig.ChangeAduitContent}}
</p>
</template>
<template v-if="IsEdit==2||IsEdit==4">
<el-input type="textarea" v-model="postConfig.CRemarks"></el-input>
</template>
</td>
<td class="CP_ComTitle2">
变更原因:
</td>
<td colspan="5">
<template v-for="(cItem,cIndex) in dayCostPrice">
<template
v-if="cItem.IsHotelChange||cItem.IsBusChange ||cItem.IsBreakfastChange||cItem.IsLunchChange||cItem.IsDinnerChange||cItem.IsScenicChange||cItem.IsOtherChange">
<p :key="cIndex">{{cItem.DayNum}}
<template v-if="cItem.IsHotelChange">
酒店:{{cItem.HotelChangeRemark}} (<font style="color:red">{{cItem.HotelChangeValue}}</font>)
</template>
<template v-if="cItem.IsBusChange">
车资:{{cItem.BusChangeRemark}} (<font style="color:red">{{cItem.BusChangeValue}}</font>)
</template>
<template v-if="cItem.IsBreakfastChange">
早餐:{{cItem.BreakfastChangeRemark}} (<font style="color:red">{{cItem.BreakfastChangeValue}}</font>)
</template>
<template v-if="cItem.IsLunchChange">
午餐:{{cItem.LunchChangeRemark}} (<font style="color:red">{{cItem.LunchChangeValue}}</font>)
</template>
<template v-if="cItem.IsDinnerChange">
晚餐:{{cItem.DinnerChangeRemark}} (<font style="color:red">{{cItem.DinnerChangeValue}}</font>)
</template>
<template v-if="cItem.IsScenicChange">
景点:{{cItem.ScenicChangeRemark}} (<font style="color:red">{{cItem.ScenicChangeValue}}</font>)
</template>
<template v-if="cItem.IsOtherChange">
其他费用:{{cItem.OtherChangeRemark}} (<font style="color:red">{{cItem.OtherChangeValue}}</font>)
</template>
</p>
</template>
</template>
</td>
<td colspan="3">
{{$t('objFill.dangqiantdlx')}}: <template v-if="postConfig.TeamTypeName=='小包团'">
<span style="color:red;font-weight:bold;">{{postConfig.TeamTypeName}}</span>
</template>
<template v-else>
{{postConfig.TeamTypeName}}
</template>
</td>
<!-- <td colspan="4">
<el-form-item :label="$t('objFill.v101.gengctleix')">
<el-select class="multiple_input" v-model="postConfig.TeamType">
<el-option v-for='item in teamList' :key="item.ID" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
</el-form-item>
</td> -->
</tr>
<!--报价单审核-->
<tr v-if="IsEdit==2">
<td colspan="13" style="text-align:center;">
<input type="button" class="normalBtn" :value="$t('salesModule.Agree')" @click="SubSaveType(3)" />
<input type="button" class="normalBtn" :value="$t('visa.v_jujue')" @click="SubSaveType(4)" />
</td>
</tr>
<!--报价单变更审核-->
<tr v-if="IsEdit==4">
<td colspan="13" style="text-align:center;">
<input type="button" class="normalBtn" :value="$t('salesModule.Agree')" @click="SubSaveType(8)" />
<input type="button" class="normalBtn" :value="$t('visa.v_jujue')" @click="SubSaveType(7)" />
</td>
</tr>
</table>
<div class="Cost_Line"></div>
</el-form>
</div>
<el-dialog custom-class='w750' :title="dialogDiningTitle" :visible.sync="changMsg.isShowChangeOffer" center modal>
<changeOffer v-if="changMsg.isShowChangeOffer" :qMsg="changMsg" @success="refreshPage" @closeDialog="closeDialog">
</changeOffer>
</el-dialog>
</div>
</template>
<script>
import changeOffer from '@/components/commonPage/changeOffer'
export default {
//IsEdit(1-查看,2-审核,3-OP变更,4-变更审核)
props: ["OfferArray", "postConfig", "IsEdit"],
data() {
return {
tabsActive: 0,
orderList: [],
//审核信息
AduitMsg: {
},
OtherPrice: {},
dayCostPrice: [],
CostCurrencyList: [],
CostNumberList: [],
teamPrice: {},
teamList: [], //团队类型
//报价单变更参数
changMsg: {
isShowChangeOffer: false,
EditType: 0,
OfferId: 0,
DayNum: 0,
checkObj: {}
},
dialogDiningTitle: "行程变更",
}
},
components: {
changeOffer: changeOffer,
},
methods: {
//获取变更原因
getChangeRemark() {
},
//关闭弹窗
closeDialog() {
this.changMsg.isShowChangeOffer = false;
this.changMsg.EditType = 0;
this.changMsg.DayNum = 0;
this.changMsg.checkObj = {};
},
refreshPage(rType) {
this.changMsg.isShowChangeOffer = false;
this.changMsg.EditType = 0;
this.changMsg.DayNum = 0;
if (rType && rType == 1) {
this.$emit("success");
}
},
/**
* EditType:1-行程相关变更,2-基础数据变更
*/
showOfferChange(EditType, item) {
this.changMsg.isShowChangeOffer = true;
this.changMsg.OfferId = item.OfferId;
this.changMsg.EditType = EditType;
this.dialogDiningTitle = "报价单变更"
if (item && item.DayNum) {
this.changMsg.DayNum = item.DayNum;
this.changMsg.checkObj = item;
}
},
GetDayStr(dayNum) {
var str = "";
if (this.postConfig.OutDateTime && this.postConfig.OutDateTime != '') {
var dateFormat = new Date(this.postConfig.OutDateTime);
dateFormat = dateFormat.setDate(dateFormat.getDate() + dayNum);
dateFormat = new Date(dateFormat);
let y = dateFormat.getFullYear()
let m = (dateFormat.getMonth() + 1).toString().padStart(2, '0')
let d = dateFormat.getDate().toString().padStart(2, '0')
str = `${y}-${m}-${d}`;
}
return str;
},
getTeamList() {
//出团公司
this.apipost(
"travel_GetTeamTypeEnumList", {},
res => {
if (res.data.resultCode == 1) {
this.teamList = res.data.data;
}
},
err => {}
);
},
selectTag(index) {
this.tabsActive = index
this.changeTabs()
},
changeTabs() {
this.currentData = this.orderList[this.tabsActive]
if (!this.currentData) {
return
}
this.OtherPrice = this.currentData.otherPrice;
this.dayCostPrice = this.currentData.dayCostPriceList;
this.CostCurrencyList = this.currentData.CostCurrencyList;
this.CostNumberList = this.currentData.CostNumberList;
this.queryMsg = this.currentData.queryMsg;
this.teamPrice = this.currentData.teamPrice;
},
//下载文件
downloadFile(fileUrl, fileName) {
const link = document.createElement('a');
link.href = fileUrl;
link.target = "_blank";
link.download = fileName;
document.body.appendChild(link);
link.click();
},
//调用父组件方法
SubSaveType(type) {
this.$parent.SaveData(type);
},
//每天小计
getDayXiaoJi(type, currencyType) {
var xiaoJi = 0;
this.dayCostPrice.forEach(item => {
var currencyRate = 1;
if (currencyType == 2) {
currencyRate = this.getCurrencyMoney(item.CurrencyId);
}
//酒店
if (type == 1) {
xiaoJi += Number(item.HotelCostPrice) * Number(currencyRate);
}
//车
if (type == 2) {
xiaoJi += Number(item.BusCostPrice) * Number(currencyRate);
xiaoJi += Number(item.PassFee) * Number(currencyRate);
}
//景点
if (type == 3) {
if (item.ScenicList && item.ScenicList.length > 0) {
item.ScenicList.forEach(sItem => {
if (sItem.TicketName != '' || sItem.TicketId > 0) {
xiaoJi += Number(sItem.TicketCostPrice) * Number(currencyRate);
}
})
}
//xiaoJi += Number(item.ScenicCostPrice) * Number(currencyRate);
}
//早餐
if (type == 4) {
xiaoJi += Number(item.BreakfastCostPrice) * Number(currencyRate);
xiaoJi += Number(item.LunchCostPrice) * Number(currencyRate);
xiaoJi += Number(item.DinnerCostPrice) * Number(currencyRate);
}
//回佣
if (type == 8) {
xiaoJi += Number(item.RebatePrice) * Number(currencyRate);
}
// 其它费用(保险、司导杂费等)
if (type == 9) {
xiaoJi += Number(item.OtherPrice) * Number(currencyRate);
}
});
return xiaoJi.toFixed(0);
},
//获取变更合计
getDayChangeXiaoJi(type, currencyType) {
var xiaoJi = 0;
this.dayCostPrice.forEach(item => {
var currencyRate = 1;
if (currencyType == 2) {
currencyRate = this.getCurrencyMoney(item.CurrencyId);
}
//酒店
if (type == 1) {
if (item.IsHotelChange) {
xiaoJi += Number(item.HotelChangeValue) * Number(currencyRate);
}
}
//车
if (type == 2) {
if (item.IsBusChange) {
xiaoJi += Number(item.BusChangeValue) * Number(currencyRate);
}
}
//景点
if (type == 3) {
if (item.IsScenicChange) {
xiaoJi += Number(item.ScenicChangeValue) * Number(currencyRate);
}
}
//早餐
if (type == 4) {
if (item.IsBreakfastChange) {
xiaoJi += Number(item.BreakfastChangeValue) * Number(currencyRate);
}
if (item.IsLunchChange) {
xiaoJi += Number(item.LunchChangeValue) * Number(currencyRate);
}
if (item.IsDinnerChange) {
xiaoJi += Number(item.DinnerChangeValue) * Number(currencyRate);
}
}
if (type == 9) {
if (item.IsOtherChange) {
xiaoJi += Number(item.OtherChangeValue) * Number(currencyRate);
}
}
});
return xiaoJi.toFixed(0);
},
//其它成本价格
getCostTotalMoney() {
//机票+中段机票+税金+领队导游分摊+联运+过夜+保险
let totalMoney = this.getConvertMoney(this.OtherPrice.AirTicketMoeny) +
this.getConvertMoney(this.OtherPrice.InlandAirTicketMoney) +
this.getConvertMoney(this.teamPrice.TaxPrice) +
this.getConvertMoney(this.teamPrice.UnionPrice) +
this.getConvertMoney(this.OtherPrice.AirTicketShareMoney) +
this.getConvertMoney(this.teamPrice.NightPrice) +
this.getConvertMoney(this.teamPrice.VisaPrice) +
this.getConvertMoney(this.OtherPrice.InlandTrainTicketMoney) +
this.getConvertMoney(this.OtherPrice.SafeMoney) -
this.getConvertMoney(this.OtherPrice.KBMoney)
return totalMoney;
},
//获取汇率
getCurrencyMoney(currencyId) {
let currency = 1;
this.CostCurrencyList.forEach(x => {
if (x.CurrencyId == currencyId) {
currency = x.ExchangeRate;
}
});
return currency;
},
//获取币种名称
getCurrencyName(currencyId) {
let CurrencyName = "";
this.CostCurrencyList.forEach(x => {
if (x.CurrencyId == currencyId) {
CurrencyName = x.CurrencyName;
}
});
return CurrencyName;
},
//价格转换器
getConvertMoney(value) {
if (value === "" || value === undefined || value === null) {
value = 0.0;
}
return parseFloat(value);
},
//获取地接项目(人民币)
getLocalTotalMoney(PeopleNumber) {
let totalMoney = 0.0;
if (PeopleNumber <= 0) {
PeopleNumber = 1;
}
var hotelPrice = Number(this.getDayXiaoJi(1, 2)); //酒店费用
var sencePrice = Number(this.getDayXiaoJi(3, 2)); //景点费用
var canPrice = Number(this.getDayXiaoJi(4, 2)); //餐
var otherPrice = Number(this.getDayXiaoJi(9, 2)) / PeopleNumber; //其它费用
var busFee = Number(this.getDayXiaoJi(2, 2)) / PeopleNumber; //车费
totalMoney = busFee + hotelPrice + sencePrice + canPrice + otherPrice;
return totalMoney.toFixed(2);
},
getLocalChangeTotalMoney(PeopleNumber) {
let totalMoney = 0.0;
if (PeopleNumber <= 0) {
PeopleNumber = 1;
}
var hotelPrice = Number(this.getDayChangeXiaoJi(1, 2)); //酒店费用
var sencePrice = Number(this.getDayChangeXiaoJi(3, 2)); //景点费用
var canPrice = Number(this.getDayChangeXiaoJi(4, 2)); //餐
var otherPrice = Number(this.getDayChangeXiaoJi(9, 2)) / PeopleNumber; //其它费用
var busFee = Number(this.getDayChangeXiaoJi(2, 2)) / PeopleNumber; //车费
totalMoney = busFee + hotelPrice + sencePrice + canPrice + otherPrice;
return totalMoney.toFixed(2);
},
//获取地接项目报价(日元)
getLocalJpyTotalMoney(PeopleNumber) {
if (PeopleNumber <= 0) {
PeopleNumber = 1;
}
let totalMoney = 0.0;
var busFee = Number(this.getDayXiaoJi(2, 1)) / PeopleNumber;
var hotelPrice = Number(this.getDayXiaoJi(1, 1)); //酒店费用
var sencePrice = Number(this.getDayXiaoJi(3, 1)); //景点费用
var canPrice = Number(this.getDayXiaoJi(4, 1)); //早餐
var otherPrice = Number(this.getDayXiaoJi(9, 1)) / PeopleNumber; //其它费用
totalMoney = busFee + hotelPrice + sencePrice + canPrice + otherPrice;
return totalMoney.toFixed(2);
},
//获取地接项目变更金额
getLocalJpyChangeTotalMoney(PeopleNumber) {
if (PeopleNumber <= 0) {
PeopleNumber = 1;
}
let totalMoney = 0.0;
var busFee = Number(this.getDayChangeXiaoJi(2, 1)) / PeopleNumber;
var hotelPrice = Number(this.getDayChangeXiaoJi(1, 1)); //酒店费用
var sencePrice = Number(this.getDayChangeXiaoJi(3, 1)); //景点费用
var canPrice = Number(this.getDayChangeXiaoJi(4, 1)); //早餐
var otherPrice = Number(this.getDayChangeXiaoJi(9, 1)) / PeopleNumber; //其它费用
totalMoney = busFee + hotelPrice + sencePrice + canPrice + otherPrice;
return totalMoney.toFixed(2);
},
getchange() {
this.getLeaderShare();
}
},
mounted() {
this.orderList = this.OfferArray
this.changeTabs()
},
created() {
this.getTeamList();
},
watch: {
},
};
</script>
......@@ -61,6 +61,7 @@
OutBranchId: -1, //出团公司
OutBranchName: "", //出团公司名称
OutDateTime: "", //出发时间
OutDateTimeList: [],
OfferPayType: 0, //报价单付款方式()
SaleOfferPayType: 0, //售价付款方式
AuditContent: "", //审核备注
......@@ -97,6 +98,7 @@
SaveData(Type) {
var nObj = {
ID: this.$route.query.offerid,
BatchNum:this.$route.query.BatchNum,
AuditContent: this.postData.CRemarks,
TravelState: Type,
OfferPayType: this.postData.OfferPayType,
......@@ -129,16 +131,16 @@
});
},
getPostData() {
let offerId = 0;
if (this.$route.query.offerid) {
offerId = this.$route.query.offerid;
let BatchNum = "";
if (this.$route.query.BatchNum) {
BatchNum = this.$route.query.BatchNum;
}
let msg = {
offerId: offerId
BatchNum: BatchNum
};
this.loading = true;
this.apipost(
"travel_get_GetMyTravelInfo_V4",
"travel_get_GetMyTravelInfo_V5",
msg,
res => {
this.loading = false;
......@@ -251,6 +253,7 @@
this.postData.CustomerName = tempData.CustomerName;
this.postData.OutBranchId = tempData.OutBranchId;
this.postData.OutDateTime = tempData.OutDateTime;
this.postData.OutDateTimeList = tempData.OutDateTimeList;
this.postData.LineName = tempData.LineName;
this.postData.LtName = tempData.LtName;
this.postData.OutBranchName = tempData.OutBranchName;
......
......@@ -79,7 +79,7 @@
<th>
{{$t('objFill.v101.kaituants')}}
</th>
<th colspan="7" style="text-align:left;line-height:40px;">
<th colspan="5" style="text-align:left;line-height:40px;">
<p style="color:red;font-weight:bold;">
1.{{$t('objFill.v101.changuitdyshnp')}}&nbsp;&nbsp;
2.{{$t('objFill.v101.xiaobtcgbjd')}}&nbsp;&nbsp;
......@@ -90,18 +90,14 @@
<tr>
<td width="80" class="txtRightCost">{{$t('objFill.v101.chutuanleix')}}</td>
<td>
<el-select class="multiple_input" v-model="postData.TeamType" @change="changeTeamType()">
<el-select class="multiple_input" v-model="postData.TeamType" @change="changeTeamType()"
style="width:100px;">
<el-option v-for='item in teamList' :key="item.ID" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
</td>
<td width="80" class="txtRightCost">
<template v-if="postData.TeamType==0||postData.TeamType==1">{{$t('objFill.tuanduilx')}}
</template>
</td>
<td>
<template v-if="postData.TeamType==0||postData.TeamType==1">
<el-select class="multiple_input" v-model="postData.PriceTeamType">
{{$t('objFill.tuanduilx')}}
<el-select class="multiple_input" v-model="postData.PriceTeamType" style="width:100px;">
<template v-for="item in TeamListArr">
<template v-if="postData.TeamType==0">
<el-option v-if="item.Id==1||item.Id==2||item.Id==3||item.Id==9" :key="item.Id"
......@@ -142,23 +138,18 @@
<tr>
<td width="80" class="txtRightCost">{{$t('scen.sc_cp')}}</td>
<td>
<el-select class="multiple_input" v-model="postData.OutBranchId" filterable>
<el-select class="multiple_input" v-model="postData.OutBranchId" filterable style="width:265px;">
<el-option v-for='item in companyList' :key="item.id" :label="item.bName" :value="item.id">
</el-option>
</el-select>
</td>
<td width="80" class="txtRightCost">{{$t('Airticket.Air_StartTime')}}</td>
<td>
<el-date-picker type="date" v-model="postData.OutDateTime" value-format="yyyy-MM-dd" placeholder>
</el-date-picker>
</td>
<td width="80" class="txtRightCost">{{$t('visa.v_xcdays')}}</td>
<td>
<el-input class="w240 LowNum" v-model="postData.DayNum"
@keyup.native="checkInteger(postData,'DayNum');createDayTripPrice()" maxlength="2">
<template slot="append">{{$t('hotel.hotel_day')}}</template>
</el-input>
<el-input class="w120 LowNum" v-model="postData.NightNum" style="display:none;"
<el-input class="w120 LowNum" v-model="postData.NightNum"
@keyup.native="checkInteger(postData,'NightNum')" maxlength="2">
<template slot="append">{{$t('Operation.Op_night')}}</template>
</el-input>
......@@ -171,15 +162,35 @@
</td>
</tr>
<tr>
<td colspan="8" style="height:20px;">
<td colspan="6" style="height:20px;">
</td>
</tr>
<tr>
<td width="80" class="txtRightCost">{{$t('sm.tuanduibiaoti')}}</td>
<td colspan="7">
<td colspan="3">
<el-input v-model="postData.Title" type="textarea" :autosize="{minRows: 1, maxRows: 2 }" resize="none"
:placeholder="$t('objFill.v101.qingtxtdbti')" maxlength="200"></el-input>
</td>
<td width="80" class="txtRightCost">{{$t('Airticket.Air_StartTime')}}</td>
<td>
<el-date-picker type="dates" v-model="postData.OutDateTimeList" value-format="yyyy-MM-dd" placeholder>
</el-date-picker>
</td>
</tr>
<tr>
<td colspan="8" style="height:20px;">
</td>
</tr>
<tr>
<td width="80" class="txtRightCost">已选日期</td>
<td colspan="5">
<template v-if="postData.OutDateTimeList&&postData.OutDateTimeList.length>0">
<el-tag v-for="(item,oIndex) in postData.OutDateTimeList" :key="item" closable
style="margin-right:5px;" @close="handleClose(item,oIndex)">
{{item}}
</el-tag>
</template>
</td>
</tr>
</table>
</div>
......@@ -232,6 +243,7 @@
haveData: false,
//基本配置
postData: {
BatchNum: "",
ID: 0,
TCID: 0,
OfferId: 0,
......@@ -266,6 +278,7 @@
TravelState: 1, //团控状态(1-草稿,2-待审核,3-审核通过,4-审核拒绝,5已撤销)
OutBranchId: "", //出团公司
OutDateTime: "", //出发时间
OutDateTimeList: [], //出发时间
OfferPayType: 0, //报价单付款方式
SaleOfferPayType: 0, //售价付款方式
OPId: "", //主OP
......@@ -357,10 +370,33 @@
TeamListArr: [], //团队子类型
companyList: [], //出团公司列表
AllCurrencyList: [], //币种列表
loading: false
loading: false,
rParams: {
OfferId: 0,
TCID: 0,
BatchNum: ""
},
};
},
methods: {
//删除日期
handleClose(item, index) {
if (this.postData.BatchNum && this.postData.BatchNum != '') {
var postMsg = {
BatchNum: this.postData.BatchNum,
Date: item
}
this.apipost(
"travel_post_RemoveTravelOffer", postMsg,
res => {
if (res.data.resultCode == 1) {
this.postData.OutDateTimeList.splice(index, 1);
}
});
} else {
this.postData.OutDateTimeList.splice(index, 1);
}
},
changeTeamType() {
this.postData.LineId = 0;
this.postData.LineteamId = 0;
......@@ -515,7 +551,7 @@
};
this.loading = true;
this.apipost(
"travel_post_SetConfigOffer_V4", postMsg,
"travel_post_SetConfigOffer_V3", postMsg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
......@@ -543,17 +579,23 @@
if (this.$route.query.offerid) {
offerId = this.$route.query.offerid;
}
let BatchNum = "";
if (this.$route.query.BatchNum) {
BatchNum = this.$route.query.BatchNum;
}
let msg = {
offerId: offerId,
TCID: 0,
BatchNum: BatchNum
};
if (this.$route.query.TCID && this.$route.query.TCID > 0) {
msg.TCID = this.$route.query.TCID
}
this.loading = true;
this.apipost(
"travel_get_GetMyTravelInfo_V4", msg,
"travel_get_GetMyTravelInfo_V5", msg,
res => {
console.log("travel_get_GetMyTravelInfo_V5", res);
this.loading = false;
if (res.data.resultCode == 1) {
var tempData = res.data.data;
......@@ -593,6 +635,9 @@
if (tempData.OutDateTime) {
this.postData.OutDateTime = tempData.OutDateTime;
}
if (tempData.OutDateTimeList) {
this.postData.OutDateTimeList = tempData.OutDateTimeList;
}
if (tempData.OutBranchName && tempData.OutBranchName != '') {
this.postData.OutBranchId = Number(tempData.OutBranchId);
}
......@@ -638,10 +683,16 @@
created() {
if (this.$route.query.offerid && this.$route.query.offerid > 0) {
this.postData.OfferId = this.$route.query.offerid;
this.rParams.OfferId = this.$route.query.offerid
}
if (this.$route.query.BatchNum) {
this.postData.BatchNum = this.$route.query.BatchNum;
this.rParams.BatchNum = this.$route.query.BatchNum;
}
//从团控列表跳转信息
if (this.$route.query.TCID && this.$route.query.TCID > 0) {
this.postData.TCID = this.$route.query.TCID
this.postData.TCID = this.$route.query.TCID;
this.rParams.TCID = this.$route.query.TCID;
}
//团控列表跳转参数结束
this.getCompanyList();
......
......@@ -105,15 +105,6 @@
<el-date-picker class="w150" type="date" v-model="queryData.EndGroupDate"
:picker-options="pickerBeginDateAfter" value-format="yyyy-MM-dd" placeholder></el-date-picker>
</span>
<li>
<span>
<em>{{$t('objFill.v101.dmc.kaituanzt')}}</em>
<el-select v-model="queryData.OpenState" filterable :placeholder="$t('pub.pleaseSel')" class='w200'>
<el-option :label="$t('pub.unlimitedSel')" :value='noLimit'></el-option>
<el-option v-for='item in OpenStateList' :key="item.Id" :label="item.label" :value="item.Id">
</el-option>
</el-select>
</span>
</li>
<li>
<span>
......@@ -128,8 +119,9 @@
</li>
<li>
<button class="hollowFixedBtn" @click="getList(),resetPageIndex()">{{$t('pub.searchBtn')}}</button>
<button class="hollowFixedBtn" @click="goMakeQuo('QuotationNewPrice',0)">{{$t('pub.addBtn')}}</button>
<button class="hollowFixedBtn" @click="ShowImportOffer()" style="">{{$t('objFill.v101.daorubjiad')}}</button>
<button class="hollowFixedBtn" @click="goMakeQuo('QuotationNewPrice',null,0)">{{$t('pub.addBtn')}}</button>
<button class="hollowFixedBtn" @click="ShowImportOffer()"
style="display:none;">{{$t('objFill.v101.daorubjiad')}}</button>
</li>
</ul>
</div>
......@@ -162,7 +154,35 @@
<span>{{$t('system.query_lineName')}}:{{item.LineName}}</span>
</p>
<span>{{$t('active.ad_xlmc')}}:{{item.LtName}}</span>
<div> {{$t('hotel.hotel_StarDate')}}:{{item.OutDateTime}}</div>
<div> {{$t('hotel.hotel_StarDate')}}:
{{item.OutDateTime}}
<template v-if="item.OfferList && item.OfferList.length > 1">
<el-tooltip class="item" effect="dark" :content="$t('hotel.hotel_StarDate')">
<el-popover width="350" trigger="click" popper-class="TC_HotelPop">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td style="width: 100px">
{{ $t('objFill.v101.baojiadanh') }}
</td>
<td style="width: 250px">{{ $t("hotel.hotel_StarDate") }}</td>
</tr>
<tr v-for="(rItem, rIndex) in item.OfferList" :key="`d_`+item.OfferId+`_r_`+rIndex">
<td>
{{ rItem.OfferId }}
</td>
<td>
{{rItem.OutDateTime}}
</td>
</tr>
</table>
<el-button slot="reference" circle size="mini" type="primary"
style="width: 20px; height: 20px; padding: 4px">
{{ item.OfferList.length }}
</el-button>
</el-popover>
</el-tooltip>
</template>
</div>
</div>
</div>
<div class="_left" style="padding-left:10px">
......@@ -367,20 +387,22 @@
</template>
</div>
<div style="width:134px;">
<span class="openGroup opbd" @click="goToOpenTravel(item)" v-if="item.TravelState==3&& item.OpenState==2">
<el-tooltip class="item" effect="dark" :content="$t('sm.kaituan')" placement="top-start"
popper-class="max-w250">
</el-tooltip>
{{$t('op.Kai')}}
</span>
<span class="bianji newAopbdd"
v-if="item.TravelState==1||item.TravelState==2||item.TravelState==4||item.TravelState==5"
@click="goMakeQuo('QuotationNewPrice',item.OfferId)">
<el-tooltip class="item" effect="dark" :content="$t('pub.updateMsg')" placement="top-start"
popper-class="max-w250">
<i class="iconfont icon-bianji-smal"></i>
</el-tooltip>
</span>
<template v-if="item.TravelState==1||item.TravelState==2||item.TravelState==4||item.TravelState==5">
<template v-if="item.OfferList&&item.OfferList.length>1">
<span class="bianji newAopbdd" @click="goMakeQuo('QuotationNewPrice',item,0)">
<el-tooltip class="item" effect="dark" content="系列修改" placement="top-start" popper-class="max-w250">
<i class="iconfont icon-bianji"></i>
</el-tooltip>
</span>
</template>
<span class="bianji newAopbdd" @click="goMakeQuo('QuotationNewPrice',item,item.OfferId)">
<el-tooltip class="item" effect="dark" :content="$t('pub.updateMsg')" placement="top-start"
popper-class="max-w250">
<i class="iconfont icon-bianji-smal"></i>
</el-tooltip>
</span>
</template>
<span class="QT-delete newAopbdd" @click="delQuotation(item)"
v-if="item.TravelState==1||item.TravelState==4||item.TravelState==5">
<el-tooltip class="item" effect="dark" :content="$t('system.table_delete')" placement="top-start"
......@@ -795,14 +817,25 @@
);
},
goUrl(path, item, qType) {
this.$router.push({
name: path,
query: {
var queryMsg = {};
if (path == 'QuotationAduit') {
queryMsg = {
BatchNum: item.BatchNum,
Qtype: qType,
blank: 'y',
tab: '报价单查看'
}
} else {
queryMsg = {
offerid: item.OfferId,
Qtype: qType,
blank: 'y',
tab: '报价单查看'
}
}
this.$router.push({
name: path,
query: queryMsg
});
},
handleCurrentChange(val) {
......@@ -854,7 +887,7 @@
//初始化表格数据
getList() {
this.loading = true;
this.apipost("travel_get_GetTravelOfferPageList_V3", this.queryData, res => {
this.apipost("travel_get_GetTravelOfferPageList", this.queryData, res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.queryData.total = res.data.data.count;
......@@ -886,45 +919,24 @@
});
},
//报价单跳转
goMakeQuo(path, OfferId) {
goMakeQuo(path, item, offerId) {
var BatchNum = '';
if (item) {
BatchNum = item.BatchNum;
}
this.$router.push({
path: path,
query: {
offerid: OfferId,
BatchNum: BatchNum,
offerid: offerId,
blank: 'y',
tab: '报价单'
}
});
},
//开团或修改
goToOpenTravel(item) {
// TeamType 0常规,1-小包团,2-当地游,3-地接团
var routeName = this.$route.name;
var path = 'TravelManager';
if (item.TeamType === 0) {
path = 'TravelManager'
} else if (item.TeamType === 1) {
path = 'TravelManager3'
} else if (item.TeamType === 2) {
path = 'TravelManager5'
}
if (item.ID > 0) {
this.$router.push({
name: path,
query: {
configId: item.ID,
openState: 1,
isOffer: 1,
offerId: item.OfferId,
blank: 'y'
}
});
} else {
this.$router.push({
name: path
});
}
},
//显示下载弹窗
showDownLoad(item) {
this.downLoadMsg.ID = item.ID;
......
......@@ -3796,14 +3796,7 @@ export default {
title: '制作报价单'
},
},
{ //新版制作报价单
path: '/EditOffer',
name: 'EditOffer',
component: resolve => require(['@/components/TravelManager/TravelNewQuotation/EditOffer'], resolve),
meta: {
title: '制作报价单'
},
},
{ //报价单变更
path: '/OfferChange',
name: 'OfferChange',
......@@ -3836,14 +3829,6 @@ export default {
title: '报价单审核'
},
},
{ //新版报价单审核
path: '/NewQuotationAduit',
name: 'NewQuotationAduit',
component: resolve => require(['@/components/TravelManager/TravelNewQuotation/NewQuotationAduit'], resolve),
meta: {
title: '报价单审核'
},
},
{ //团控-我的机票
path: '/TravelMyTicket',
name: 'TravelMyTicket',
......
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