Commit 46644889 authored by huangyuanyuan's avatar huangyuanyuan

Merge branch 'master' of http://gitlab.oytour.com/luochao/superman

# Conflicts:
#	src/components/SalesModule/groupTourOrderByTuan.vue
#	src/components/SalesModule/productQuery.vue
#	src/components/TravelManager/TravelList/RegistrationList.vue
#	src/components/busManagement/BusApportionManagement.vue
parents f6d8d16a 9e561e56
This source diff could not be displayed because it is too large. You can view the blob instead.
<style>
.productQuerySearch{width: 100%; min-height: auto; overflow: hidden; padding:0 0 20px 0;}
.productQuerySearch li{float: left; font-size: 12px; color: #666; margin:20px 0 0px 0;}
.productQuerySearch li>span {display: inline-block; }
.productQuerySearch li span>em{display: inline-block; min-width: 60px; text-align: right; font-style: normal; margin:0 12px 0 0;}
.productQuerySearch li:last-child{position: fixed;z-index: 50;top: 36px;right: 20px;}
.productQuerySearch ul{position: relative;overflow: hidden}
.productQueryList{width: 100%;min-width: 1366px; padding-left: 10px;}
.productQueryList li{width: 100%;border:1px solid #E5E5E5;background: #fff; margin-bottom: 10px; color: #333; font-size: 14px;}
.productQueryList li::after{content: '';display: block;clear: both;}
.productQueryList li i.iconfont{color: #bbb;margin-right: 8px;}
.productQueryList li>div:first-child{display: table;width: 100%;}
.productQueryList li>div>div{display: table-cell;border-right: 1px dashed #DCDFE6;}
.productQueryList li>div>div:last-child{border-right: none;}
.productQueryList li .d11{float: left; width: 160px; height: 120px; margin: 14px 14px 0 14px; }
.productQueryList li .d11>li{width: 160px; height: 120px; border: none;}
.productQueryList li .d11>li>img{width: 160px; height: 120px;}
.productQueryList li .d12{float: left; padding-top: 18px; width: 200px;}
.productQueryList li .d12 .d12p{margin-top: 3px; font-size: 12px; color: #999;cursor: pointer; max-height: 40px;
line-height: 20px;
display:-webkit-box;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical
}
.productQueryList li .d12 .d12p:hover{text-decoration: underline; color: #333;}
.productQueryList li .d12 .d12TC {margin: 5px 0;color: #666666;font-size: 12px;}
.productQueryList li .d1{width: 18%;position: relative;}
.productQueryList li .d2{width: 14%;text-align: center; padding-top: 20px;}
.productQueryList li .d2 p.flightNo{background: #ccc; width: 136px; margin: 5px 0; padding: 0 10px; height: 22px; line-height: 22px; display: inline-block; font-size: 14px; }
.productQueryList li .d2 p.flightNo em{font-style: normal; color: #333;font-size: 12px; font-weight: bold;}
.productQueryList li .d2 p.flightNo .flem{ height: 22px; width: 50px; display: inline-block; overflow: hidden;white-space: nowrap;text-overflow: ellipsis}
.productQueryList li .d2 p>span{color: #fff; font-size: 12px; border-radius: 10px; background: #2AAEF2; padding: 2px 5px; cursor: pointer;}
.productQueryList li .d2>div>div{display: inline-block; line-height: 24px; font-size: 12px;}
.productQueryList li .d3{width: 17%;padding-left: 40px; padding-top: 20px;}
.productQueryList li .d3 p{line-height: 24px;}
.productQueryList li .d3 p>span{color: #666; font-size: 12px; margin-right: 10px;}
.productQueryList li .d3 p>em{background: #FF9C00; font-style: normal; margin-left: 8px; color: #fff; border-radius: 4px; padding: 2px 5px;}
.productQueryList li .d4{width: 10%;padding-left: 20px; padding-top: 20px;}
.productQueryList li .d4 p span.price{color: #333; text-decoration: underline; font-size: 12px;}
.productQueryList li .d4 p span.price:hover{color: #E95252; font-weight: bold; cursor: pointer;}
.productQueryList li .d5{width: 15%;padding-left: 40px; padding-top: 20px;}
.productQueryList li .d5 p{line-height: 26px;}
.productQueryList li .d5 p>span{color: #666; font-size: 12px; margin-right: 10px;}
.productQueryList li .d5 p>i{font-weight: bold; font-style: normal;}
.productQueryList li .d8{width: 15%;padding-left: 40px; padding-top: 20px;}
.productQueryList li .d8 p{line-height: 26px;}
.productQueryList li .d8 p>span{color: #666; font-size: 12px; margin-right: 10px;}
.productQueryList li .d8 p>i{font-style: normal;}
.productQueryList li .d6{padding: 20px 40px;width: 100%;height: inherit;border-top:1px solid #E5E5E5;}
.productQueryList li .d6 p{display:table-cell;color: #E95252;}
.productQueryList li .d6 p:nth-child(1){width:60px;font-size: 12px;}
.productQueryList li .d7{width: 10%;text-align: center; padding: 40px 0 0 40px;border-right:none;}
.productQueryList li .d7 button{width: 30px; height: 30px;border-radius:4px;}
.productQueryList li .d7 .el-button--primary {
padding: 5px;
margin: 0;
font-size: 14px!important;
color: #fff;
}
.productQueryList li .d7 i.iconfont{color: #fff;margin: 0;}
.elPopoverLayer{padding: 0px 10px;}
.elPopoverLayer p{line-height: 34px; font-size: 12px;}
.elPopoverLayer p>i{font-style: normal; border:1px solid #999; padding: 0 3px; font-size: 12px; margin-right: 10px;font-weight: bold;color: #333;}
.elPopoverLayer p>span{display: inline-block;width:130px;}
.elPopoverLayer p>span>b{margin-left: 10px; color: #2AAEF2;}
.superSearchLayer>p{padding: 20px 0; font-size: 14px; color: #333; font-weight: bold;}
.superSearchLayer>div{margin-top: 20px; color: #666; font-size: 12px;}
.superSearchLayer>div>span{margin:0 15px 0 5px;}
.pro_tripDetails {padding: 0; box-shadow: 0px 1px 3px 0px #dedede; max-height: 400px;overflow-y: auto;}
.pro_tripDetails .popper__arrow::after {border-bottom-color: #ededed !important;}
.pro_tripDetails table { padding: 10px 0 0 20px; background-color: #ededed; border-collapse: collapse; border: 1px solid #d2d2d2; font-size: 12px;}
.pro_tripDetails table th { background-color: #ededed; padding: 5px;}
.pro_tripDetails table td { background-color: #ffffff; padding: 9px 15px;color: #333333;border: 1px solid #d2d2d2;}
.pro_tripDetails table td._d_name {background-color: #ededed;}
.pro_tripDetails table ._color_666 {color: #666666;}
.pro_tripDetails table tr._color_666 th { padding: 9px 15px;}
.productQuerybottomLayer{overflow: auto; position:fixed;height:600px;
z-index:50;bottom:0;left: 0;border-top:3px solid #38425d;background-color:#FFFFFF;padding: 10px 10px 0;width: 100%;}
.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{width: auto!important}
.productQueryList .disabledBtn{background: #999!important;border-color:#999!important}
.product_union{
position: absolute;
top: 0px;
left: 0px;
width: 0px;
height: 0px;
border-top: 15px solid red;
border-bottom: 15px solid transparent;
border-left: 15px solid red;
border-right: 15px solid transparent;
}
.product_union::after{
content:'联';
position: absolute;
top: -14px;
left: -11px;
white-space: nowrap;
color: #FFFFFF;
font-size: 12px;
}
.product_union1{
position: absolute;
top: 0px;
left: 0px;
width: 0px;
height: 0px;
border-top: 15px solid red;
border-bottom: 15px solid transparent;
border-left: 15px solid red;
border-right: 15px solid transparent;
}
.product_union1::after{
content:'内';
position: absolute;
top: -14px;
left: -11px;
white-space: nowrap;
color: #FFFFFF;
font-size: 12px;
}
.product_warning{
position: absolute;
top: 0px;
right: 0px;
width: 0px;
height: 0px;
border-top: 10px solid red;
border-bottom: 10px solid transparent;
border-left: 10px solid transparent;
border-right: 10px solid red;
}
.product_warning::after{
content:'!';
position: absolute;
top: -12px;
right: -5px;
white-space: nowrap;
color: #FFFFFF;
font-size: 12px;
}
.PQ_detail{width: 100%;border-collapse:collapse;}
.PQ_detail tr th,.v-table-title-cell{background: #E6E6E6;height:40px; font-size: 14px;border-right:1px solid #e6e6e6;color: #333;}
.PQ_detail tr{background: #fff;text-align: center; height: 40px;}
.PQ_detail tr td{font-size: 12px;border: 1px solid #E5E5E5;}
</style>
<template>
<div class="flexOne">
<div class="productQuerybottomLayer ownScrollbarStyle" v-show="isShowLayer">
<p>
立即报名
<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="80px">
<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();getDdlyList();getKhmdList();getTotalPrice()'>
<el-option v-for="item in khlxList" :label='item.Name' :value='item.Id' :key='item.Id'>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="参团类型" prop="GroupType">
<el-select v-model='addMsg.GroupType' @change="groupTypeChange" filterable :placeholder="$t('pub.pleaseSel')">
<el-option v-for="item in ctlxList" v-if="item.Id!=5" :label='item.Name' :value='item.Id' :key='item.Id'>
</el-option>
</el-select>
</el-form-item>
</el-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' maxlength='20'></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'>
<el-option v-for="item in khmdList" :label='item.customerName+"-"+item.contact' :value='item.customerId'
:key='item.customerId'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="出发城市" prop="DepartureCityId">
<el-select v-model='addMsg.DepartureCityId' :disabled="addObj.SonControlID!==-1&&addObj.OutBranchId !== addObj.SonControlID"
filterable :placeholder="$t('pub.pleaseSel')" @change="addMsg.IsIntermodal=2">
<el-option v-for="item in startCityList" :label='item.Name' :value='item.ID' :key='item.ID'>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="是否联运" prop="IsIntermodal" v-show="addMsg.DepartureCityId!=addObj.StartCityID&&addMsg.DepartureCityId!=''">
<el-switch v-model="addMsg.IsIntermodal" active-value="1" inactive-value="2" @change='getUnionTravelPrice(addObj,1)'></el-switch>
</el-form-item>
<el-form-item label="联运时间" prop="GoCityTime" v-show='addMsg.IsIntermodal==1&&addMsg.DepartureCityId!=addObj.StartCityID'>
<el-date-picker :picker-options="pickerOptions0" v-model='addMsg.GoCityTime' value-format="yyyy-MM-dd"
type="date" @change='getUnionTravelPrice(addObj,1)'></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="返回城市" prop="ReturnArriveCityId">
<el-select v-model='addMsg.ReturnArriveCityId' :disabled="addObj.SonControlID!==-1&&addObj.OutBranchId !== addObj.SonControlID"
filterable :placeholder="$t('pub.pleaseSel')" @change="addMsg.IsReturnIntermodal=2">
<el-option v-for="item in startCityList" :label='item.Name' :value='item.ID' :key='item.ID'>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="是否联运" prop="IsReturnIntermodal" v-show="addMsg.ReturnArriveCityId!=addObj.ReturnArriveCityId&&addMsg.ReturnArriveCityId!=''">
<el-switch v-model="addMsg.IsReturnIntermodal" active-value="1" inactive-value="2" @change='getUnionTravelPrice(addObj,2)'></el-switch>
</el-form-item>
<el-form-item label="联运时间" prop="IsReturnIntermodal" v-show='addMsg.IsReturnIntermodal==1&&addMsg.ReturnArriveCityId!=addObj.ReturnArriveCityId'>
<el-date-picker :picker-options="pickerOptions1" v-model='addMsg.BackCityTime' value-format="yyyy-MM-dd"
type="date" @change='getUnionTravelPrice(addObj,2)'></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="本团单价" prop="TC_Price">
<el-input v-model='addMsg.TC_Price' :disabled="true" @input="getTotalPrice()"></el-input>
</el-form-item>
<el-form-item label="出发联运价" v-show='addMsg.IsIntermodal==1&&addMsg.DepartureCityId!=addObj.StartCityID'>
<el-input v-model='stratPrice' v-show='stratPriceShow' :disabled="true"></el-input>
<span class="colorE95252" v-show='!stratPriceShow'>暂无报价!</span>
</el-form-item>
<el-form-item label="返回联运价" v-show='addMsg.IsReturnIntermodal==1&&addMsg.ReturnArriveCityId!=addObj.ReturnArriveCityId'>
<el-input v-model='returnPrice' v-show='returnPriceShow' :disabled="true"></el-input>
<span class="colorE95252" v-show='!returnPriceShow'>暂无报价!</span>
</el-form-item>
</el-col>
<el-col :span="4">
<!-- <el-form-item label="成交单价" prop="Unit_Price">
<el-input v-model='addMsg.Unit_Price' :disabled="true" @keyup.native="checkPrice(addMsg,'Unit_Price');getTotalPrice()"></el-input>
</el-form-item> -->
<el-form-item label="成交单价" prop="Unit_Price">
<el-select v-model='addMsg.Unit_Price'
filterable :placeholder="$t('pub.pleaseSel')" @change="getTotalPrice()">
<el-option v-for="item in Unit_PriceList" :label='item.LessMoney' :value='item.ID' :key='item.ID'>
</el-option>
</el-select>
<!-- <el-input v-model='addMsg.Unit_Price' :disabled="true" @keyup.native="checkPrice(addMsg,'Unit_Price');getTotalPrice()"></el-input> -->
</el-form-item>
<el-form-item>
<p v-if="LessMoney==0" style="line-height: 18px; color: #E95252;">注:如果超出本团的最低让价,差价将由你来承担</p>
<p v-else="LessMoney>0" style="line-height: 18px; color: #E95252;">注:最多少价{{LessMoney}}元,如需少价更多请联系上级主管</p>
</el-form-item>
<!--<el-form-item>
<p style="line-height: 18px; color: #E95252;">注:如果超出本团的最低让价,差价将由你来承担</p>
</el-form-item>-->
</el-col>
</el-row>
<div style="width: 100%; border-top:1px dashed #ccc;margin-bottom:25px;"></div>
<el-row :gutter="20">
<el-col :span="4">
<el-form-item label="成人人数" prop="ManNum" v-show="addMsg.GroupType !== '4'">
<el-input v-model='addMsg.ManNum' :disabled="addMsg.GroupType==='4'" @keyup.native="checkInteger(addMsg,'ManNum')"
@input='getNumber();getHouseNo();getTotalPrice()'></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<p v-if='addObj.IsSupportChildren==2' style="color: #E95252; font-size: 12px; line-height: 40px; text-align: center;">本团不支持儿童出游!</p>
<el-form-item v-if='addObj.IsSupportChildren==1' v-show="addMsg.GroupType !== '4'" label="儿童不占床" prop="ChirdNoNeedBedNum">
<el-input v-model='addMsg.ChirdNoNeedBedNum' :disabled="addMsg.GroupType==='4'" @keyup.native="checkInteger(addMsg,'ChirdNoNeedBedNum')"
@input='getNumber();getHouseNo();getTotalPrice();autoRemarks("ChirdNoNeedBedNum","儿童不占床");'></el-input>
</el-form-item>
</el-col>
<el-col :span="4" v-if='addObj.IsSupportChildren==1' v-show="addMsg.GroupType !== '4'">
<el-form-item label="儿童占床" prop="ChirdNeedBedNum">
<el-input v-model='addMsg.ChirdNeedBedNum' :disabled="addMsg.GroupType==='4'" @keyup.native="checkInteger(addMsg,'ChirdNeedBedNum')"
@input='getNumber();getHouseNo();getTotalPrice();autoRemarks("ChirdNeedBedNum","儿童占床");'></el-input>
</el-form-item>
</el-col>
<el-col :span="4" v-if='addObj.IsSupportChildren==1' v-show="addMsg.GroupType !== '4'">
<el-form-item label="婴儿人数" prop="BabyNum">
<el-input v-model='addMsg.BabyNum' :disabled="addMsg.GroupType==='4'" @keyup.native="checkInteger(addMsg,'BabyNum')"
@input='getNumber();getTotalPrice();autoRemarks("BabyNum","婴儿人数");'></el-input>
</el-form-item>
</el-col>
<el-col :span="4" v-show="addMsg.GroupType !== '4'">
<el-form-item label="老人人数" prop="OldPeopleNum">
<el-input v-model='addMsg.OldPeopleNum' :disabled="addMsg.GroupType==='4'" @keyup.native="checkInteger(addMsg,'OldPeopleNum')"
@input='getNumber();getHouseNo();getTotalPrice();autoRemarks("OldPeopleNum","老人人数");'></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="单地接人数" prop="AirticketNum" v-show="addMsg.GroupType !== '1'">
<el-input v-model='addMsg.AirticketNum' @keyup.native="checkInteger(addMsg,'AirticketNum')" @input='getNumber();getTotalPrice();getHouseNo();autoRemarks("AirticketNum","单地接数量")'></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<el-form-item label="单房数量" prop="SingleRoomNum">
<el-input v-model='addMsg.SingleRoomNum' @keyup.native="checkInteger(addMsg,'SingleRoomNum')" @input='yzBigBed2();getTotalPrice();autoRemarks("SingleRoomNum","单房数量")'></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="大床房" prop="BigRoomNum">
<el-input v-model='addMsg.BigRoomNum' @keyup.native="checkInteger(addMsg,'BigRoomNum')" @input='yzBigBed();getTotalPrice();autoRemarks("BigRoomNum","大床房")'></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="三人房" prop="TripleRoomNum">
<el-input v-model='addMsg.TripleRoomNum' @keyup.native="checkInteger(addMsg,'TripleRoomNum')" @input='yzBigBed1();getTotalPrice();autoRemarks("TripleRoomNum","三人房")'></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="签证数量" prop="VisaNum">
<el-input v-model='addMsg.VisaNum' @keyup.native="checkInteger(addMsg,'VisaNum')" @input='yzVisaNum();getTotalPrice();autoRemarks2("VisaNum","不要签证数量");autoRemarks("VisaNum","不要签证数量")'></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="保险数量" prop="SaleNum">
<el-input v-model='addMsg.SafeNum' @keyup.native="checkInteger(addMsg,'SafeNum')" @input='yzSafeNum();getTotalPrice();autoRemarks2("SafeNum","不要保险数量");'></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
&nbsp;
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<el-form-item label="预计用房" prop="PredictRoomNum">
<el-input v-model='addMsg.PredictRoomNum' :disabled="true"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="应收总额" prop="PreferPrice">
<el-input v-model='addMsg.PreferPrice' :disabled="true"></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="4">
<el-form-item label="预计提成" prop="Commission">
<el-input v-model='addMsg.Commission' :disabled="true"></el-input>
</el-form-item>
</el-col> -->
<el-col :span="4" v-show="addMsg.CustomerType==1||addMsg.CustomerType==2">
<el-form-item label="分摊人" prop="CommissionSharePeople">
<el-select :disabled="isUpdateSharePeople" filterable clearable @change='getTotalPrice' v-model='addMsg.CommissionSharePeople'
:placeholder="$t('pub.pleaseSel')">
<el-option label='无' value='-1' key='-1'></el-option>
<el-option v-for='item in employeeList' :label='item.EmName' :value='item.EmployeeId' :key='item.EmployeeId'></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" v-show="addMsg.CommissionSharePeople!='-1'&&(addMsg.CustomerType==1||addMsg.CustomerType==2)">
<el-form-item label="分摊金额" prop="CommissionShareMoney">
<el-input v-model='addMsg.CommissionShareMoney' :disabled="true"></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
&nbsp;
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<el-form-item label="经济舱" 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="4">
<!--<el-form-item label="单地接数量" prop="AirticketNum">
<el-input v-model='addMsg.AirticketNum' @keyup.native="checkInteger(addMsg,'AirticketNum')" @input='getTotalPrice();getHouseNo()'></el-input>
</el-form-item>-->
</el-col>
<el-col :span="4">
<el-form-item label="可退景点">
<el-select filterable multiple class='multiple_input' v-model='addMsg.ScenicRefundArr' :placeholder="$t('pub.pleaseSel')"
@change='ScenicRefundMethods'>
<el-option v-for='item in ScenicRefundList' :label='item.ScenicName' :value='item.Id' :key='item.Id'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="短信金额">
<el-select filterable v-model='addMsg.IsShowMessagesMoney' :placeholder="$t('pub.pleaseSel')">
<el-option label="显示" value="1"></el-option>
<el-option label="不显示" value="2"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
&nbsp;
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="4">
<el-form-item label="客人来源" prop="ClientSource">
<el-select v-model='addMsg.ClientSource' filterable :placeholder="$t('pub.pleaseSel')">
<el-option v-for="item in ddlyList" :label='item.Name' :value='item.Id' :key='item.Id'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="所属平台" prop="BrandId" v-show="addMsg.ClientSource==1">
<el-select v-model='addMsg.BrandId' filterable :placeholder="$t('pub.pleaseSel')">
<!-- <el-select v-model='addMsg.BrandId' filterable :placeholder="$t('pub.pleaseSel')" @change="getRemarkDetail(addMsg.BrandId)"> -->
<el-option v-for="item in ssptList" :label='item.brandName' :value='item.dictId' :key='item.dictId'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="交易方式" prop="TradeWay" v-show='addMsg.ClientSource==1'>
<el-select v-model='addMsg.TradeWay' filterable :placeholder="$t('pub.pleaseSel')" @change='tradeWayMethods'>
<el-option v-for="item in jyfsList" :label='item.Name' :value='item.Id' :key='item.Id'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" v-if='addMsg.TradeWay==1'>
<el-form-item label="收款账户">
<el-select filterable v-model='addMsg.PlatformAccount' :placeholder="$t('pub.pleaseSel')">
<el-option v-for='item in PlatformAccountList' :label='item.Alias' :value='item.ID' :key='item.ID'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" v-if='addMsg.TradeWay==1'>
<el-form-item label="平台订单号" prop="PlatformOrder">
<el-input v-model='addMsg.PlatformOrder' @input='platformOrderMethods' maxlength='20'></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="4" v-show="addMsg.TradeWay==1&&addMsg.PlatformOrder!=''">
<el-form-item label="定金" prop="MinOrderPrice">
<el-input v-model='addMsg.MinOrderPrice' @keyup.native="checkPrice(addMsg,'MinOrderPrice')"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" v-if="addMsg.TradeWay==1&&addMsg.PlatformOrder!=''">
<el-form-item label="费用类型" prop="CostType">
<el-select v-model="addMsg.CostType" filterable placeholder="请选择费用类型">
<el-option v-for='item in fylxList' :label="item.Name" :value="item.ID" :key='item.ID'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" v-if="addMsg.TradeWay==1&&addMsg.PlatformOrder!=''">
<el-form-item label="交易日期" prop="TradeDate">
<el-date-picker v-model='addMsg.TradeDate' value-format="yyyy-MM-dd" type="date"></el-date-picker>
</el-form-item>
</el-col> -->
</el-row>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="备注" prop="Remarks">
<el-input v-model='addMsg.Remarks' type='textarea' maxlength='500'></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<div class="productQuerySearch" v-if="!TCIDList">
<ul>
<li><span><em>出团公司</em>
<el-select class='w150' v-model="msg.BranchId" filterable :placeholder="$t('pub.pleaseSel')">
<el-option v-for="item in companyList" :label='item.BName' :value='item.Id' :key='item.Id'>
</el-option>
</el-select>
</span></li>
<li><span><em>线路</em>
<el-select class='w150' v-model="msg.LineId" filterable :placeholder="$t('pub.pleaseSel')" @change="getLineTeamList(msg.LineId),getAimPlaceList(msg.LineId,'')">
<el-option label="不限" value='-1'></el-option>
<el-option v-for="item in LineList" :label='item.LineName' :value='item.LineID' :key='item.LineID'>
</el-option>
</el-select>
</span></li>
<li><span><em>系列</em>
<el-select class='w150' v-model="msg.LineTeamId" filterable :placeholder="$t('pub.pleaseSel')" @change="getAimPlaceList('',msg.LineTeamId)">
<el-option label="不限" value='-1'></el-option>
<el-option v-for="item in LineTeamList" :label='item.LtName' :value='item.LtID' :key='item.LtID'>
</el-option>
</el-select>
</span></li>
<li><span><em>目的地</em>
<el-select class='w150' v-model="msg.AimPlaceId" filterable :placeholder="$t('pub.pleaseSel')">
<el-option label="不限" value='-1'></el-option>
<el-option v-for="item in AimPlaceList" :label='item.PlaceName' :value='item.PlaceID' :key='item.PlaceID'>
</el-option>
</el-select>
</span></li>
<li>
<span>
<em>团号</em>
<el-input v-model='msg.TCID' class='w150'></el-input>
</span>
</li>
<li><span><em>出发日期</em>
<el-date-picker v-model='msg.StartTime' @change="dataDui()" class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
-
<el-date-picker v-model='msg.EndTime' @change="dataDui()" class='w135' value-format="yyyy-MM-dd" type="date"></el-date-picker>
</span>
</li>
<li><span><em>出发城市</em>
<el-select class='w150' v-model="msg.CityId" filterable :placeholder="$t('pub.pleaseSel')">
<el-option label="不限" value='-1'></el-option>
<el-option v-for="item in startCityList1" :label='item.startCityName' :value='item.ID' :key='item.ID'>
</el-option>
</el-select>
</span></li>
<li style="height:34px;line-height:34px;padding: 0 0 0 20px;vertical-align: middle;">
<el-popover width="270" trigger="click">
<div class="superSearchLayer">
<p>团控高级查询</p>
<div>
<span>航空公司</span>
<el-select v-model="msg.FlightID" filterable :placeholder="$t('system.ph_buxian')" class="w150">
<el-option label='不限' value='-1'></el-option>
<el-option v-for="item in airlineList" :key="item.AirLineId" :label="item.AlName" :value="item.AirLineId">
</el-option>
</el-select>
</div>
<div><span>行程天数</span>
<el-input class='w150' v-model='msg.DaysTrip' @keyup.native="checkInteger(msg,'DaysTrip')"></el-input>
</div>
<div><span>团队人数</span>
<el-input class='w69' v-model='msg.minGroupSize' @keyup.native="checkInteger(msg,'minGroupSize')"></el-input>
-
<el-input class='w69' v-model='msg.maxGroupSize' @keyup.native="checkInteger(msg,'maxGroupSize')"></el-input>
</div>
<div><span>报名人数</span>
<el-input class='w69' v-model='msg.minApplySize' @keyup.native="checkInteger(msg,'minApplySize')"></el-input>
-
<el-input class='w69' v-model='msg.maxApplySize' @keyup.native="checkInteger(msg,'maxApplySize')"></el-input>
</div>
<div><span>销售平台</span>
<el-select filterable multiple v-model="msg.SalePlat" :placeholder="$t('system.ph_buxian')" class="w150 multiple_input">
<el-option v-for="item in salePlace" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</el-select>
</div>
<div>
<input type="button" style="width: 230px!important;" class="normalBtn" value="查询" @click="getList();resetPageIndex()" />
</div>
</div>
<span slot="reference" style="cursor: pointer;">高级查询<i class="el-icon-caret-bottom"></i></span>
</el-popover>
</li>
<li style="height:34px;line-height:34px;padding: 0 0 0 20px;vertical-align: middle;">
<el-popover width="260" trigger="click">
<div>
<div class="TC_queryTitle">团控预警查询</div>
<div class="clearfix">
<div class="TC_leftSearch">
<div>
<span style="display:inline-block;margin: 0 5px 0 0;width:50px;text-align:right;">报名人数</span>
<el-select v-model="msg.WarningQuery" filterable :placeholder="$t('system.ph_buxian')" class="w150">
<el-option :label='$t("system.ph_buxian")' value='-1'></el-option>
<el-option label='尚未有人报名' value='1'></el-option>
<el-option label='10人以下' value='2'></el-option>
<el-option label='10人以上' value='3'></el-option>
<el-option label='余位小于5人' value='4'></el-option>
<el-option label='有候补人数' value='5'></el-option>
</el-select>
</div>
<div>
<span style="display:inline-block;margin: 0 5px 0 0;width:50px;text-align:right;">天数选择</span>
<el-select v-model="msg.RateOnDay" filterable :placeholder="$t('system.ph_buxian')" class="w150">
<el-option :label='$t("system.ph_buxian")' value='-1'></el-option>
<el-option label='10天以内' value='1'></el-option>
<el-option label='15天以内' value='2'></el-option>
<el-option label='20天以内' value='3'></el-option>
<el-option label='20天以外' value='4'></el-option>
</el-select>
</div>
<div>
<span style="display:inline-block;margin: 0 5px 0 0;width:50px;text-align:right;">上座率</span>
<el-select v-model="msg.RateOn" filterable :placeholder="$t('system.ph_buxian')" class="w150">
<el-option :label='$t("system.ph_buxian")' value='-1'></el-option>
<el-option label='100%' value='1'></el-option>
<el-option label='不足80%' value='2'></el-option>
<el-option label='不足60%' value='3'></el-option>
<el-option label='不足40%' value='4'></el-option>
</el-select>
</div>
</div>
</div>
<button class="normalBtn TC_SearchBtn" @click="getList();resetPageIndex()">查询</button>
</div>
<span slot="reference" style="cursor: pointer;">预警查询<i class="iconfont icon-xiaotuziCduan_1"></i></span>
</el-popover>
</li>
<li>
<input type="button" class="hollowFixedBtn" value="查询" @click="getList();resetPageIndex()" />
</li>
</ul>
</div>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage" layout="total,prev, pager, next, jumper"
:page-size="msg.pageSize" :total="total">
</el-pagination>
<div class="productQueryList" v-loading='loading'>
<ul v-if="list.length!=0">
<li v-for="(item,index) in list" :key="index">
<div class="dline">
<div class="d1">
<div v-if="item.IsB2B===0" class="product_union1"></div>
<div v-if="item.IsUnionTravel===1" class="product_union"></div>
<div v-if="item.IsWarning===1" class="product_warning"></div>
<div class="d12" style="float:none;margin: auto;">
<p>
<i class="iconfont icon-biaoti1"></i> {{item.LineName}}
</p>
<p class="d12TC">{{item.TCNUM}}{{item.TCID}}</p>
<p>{{item.LtName}}</p>
<el-tooltip class="item" effect="dark" :content="item.Title" placement="top-start" popper-class="max-w250">
<p class="d12p" @click="getJourney(item.ConfigID,item.LineName)" :title="item.Title">{{item.Title}}</p>
</el-tooltip>
</div>
</div>
<div class="d2">
<p style="text-align: left; text-indent: 50px;"><i class="iconfont icon-hangban1"></i>去程航班</p>
<p class="flightNo">
<em class="fl flem" :title="item.flightList[0]&&item.flightList[0].AlName">{{item.flightList[0]&&item.flightList[0].AlName}}</em>
<em class="fr">{{item.flightList[0]&&item.flightList[0].Flight_number}}</em></p>
<div>
<div>
<p>{{item.flightList[0]&&item.flightList[0].DepartureName}}---------{{item.flightList[0]&&item.flightList[0].ArrivalCityName}}</p>
<p>
<span style="background-color: transparent;color: #000000;">{{item.flightList[0]&&item.flightList[0].Departure_time}}</span>
<el-popover width="900" trigger="click" popper-class="pro_tripDetails">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr class="_color_666" style="text-align:center;">
<th width="60">{{$t('Airticket.Air_segment')}}</th>
<th width="80">{{$t('system.query_flightNum')}}</th>
<th width="150">起飞时间</th>
<th width="80">到达时间</th>
<th width="100">经停城市</th>
<th width="60">状态</th>
</tr>
<tr v-for="(ds,din) in tripDetails" :key="din" style="text-align:center;">
<td class="_d_name _color_666">
<span v-if="din==0">{{$t('Airticket.Air_go')}}</span>
<span v-else-if="din==tripDetails.length-1">{{$t('Airticket.Air_returnTrip')}}</span>
<span v-else-if="din>0 && din!=tripDetails.length-1">{{$t('Airticket.Air_transit')}}</span>
</td>
<td>
<div>{{ds.Flight_number}}</div>
<div style="margin-top:5px;">{{ds.AlName}}</div>
</td>
<td>
<div>{{ds.FlightDate}} {{ds.Departure_time}}</div>
<div style="margin-top:5px;">{{ds.dName}}</div>
</td>
<td>
<div>{{ds.FlightArrivalTime}} {{ds.Arrival_time}}</div>
<div style="margin-top:5px;">{{ds.aName}}</div>
</td>
<td>{{ds.StopoverName}}</td>
<td>
<span v-if="ds.FlightState==1" style="color: rgb(71, 191, 140)!important;">正常</span>
<span v-else style="color: red !important;">暂定</span>
</td>
</tr>
</table>
<span slot="reference" @click="getDetails(index)">往返</span>
</el-popover>
<span style="background-color: transparent;color: #000000;">{{item.flightList[0]&&item.flightList[0].Arrival_time}}</span>
</p>
</div>
<div>
<p>{{item.ACityName}}</p>
<p>{{item.Arrival_time}}</p>
</div>
</div>
</div>
<div class="d3">
<p><i class="iconfont icon-tuandui"></i>团队信息<em>{{item.DayNum}}{{item.NightNum}}</em></p>
<p><span>出发时间</span>{{item.StartDate}}</p>
<p><span>出发城市</span>{{item.StartCityName}}</p>
<p><span>返回城市</span>{{item.ReturnArriveCityName}}</p>
<p><span>出团公司</span>{{item.OutBranchName}}</p>
</div>
<div class="d4">
<p><i class="iconfont icon-jiage"></i>价格信息</p>
<p style="color:#47BF8C; font-size: 16px; font-weight: bold; margin: 5px 0;">
同业价:¥{{item.B2BMemberPrice|priceFormat(item.B2BMemberPrice)}}<br/>
直客价:¥{{item.B2CMemberPrice|priceFormat(item.B2CMemberPrice)}}
</p>
<p>
<el-popover width="630" trigger="click">
<table class="PQ_detail">
<tr>
<td colspan="5" style="text-align:left;padding-left:10px;">基本报价</td>
</tr>
<tr>
<th>类型</th>
<th>会员同行价</th>
<th>普通同行价</th>
<th>直客会员价</th>
<th>普通直客价</th>
</tr>
<tr>
<td>成人</td>
<td>{{item.B2BMemberPrice|priceFormat(item.B2BMemberPrice)}}</td>
<td>{{item.B2BPrice|priceFormat(item.B2BPrice)}}</td>
<td>{{item.B2CMemberPrice|priceFormat(item.B2CMemberPrice)}}</td>
<td>{{item.B2CPrice|priceFormat(item.B2CPrice)}}</td>
</tr>
<tr>
<td>小孩占床</td>
<td>{{(item.B2BMemberPrice+item.ChildNeedPrice)|priceFormat(item.B2BMemberPrice+item.ChildNeedPrice)}}</td>
<td>{{(item.B2BPrice+item.ChildNeedPrice)|priceFormat(item.B2BPrice+item.ChildNeedPrice)}}</td>
<td>{{(item.B2CMemberPrice+item.ChildNeedPrice)|priceFormat(item.B2CMemberPrice+item.ChildNeedPrice)}}</td>
<td>{{(item.B2CPrice+item.ChildNeedPrice)|priceFormat(item.B2CPrice+item.ChildNeedPrice)}}</td>
</tr>
<tr>
<td>小孩不占床</td>
<td>{{(item.B2BMemberPrice-item.ChildNoNeedPrice)|priceFormat(item.B2BMemberPrice-item.ChildNoNeedPrice)}}</td>
<td>{{(item.B2BPrice-item.ChildNoNeedPrice)|priceFormat(item.B2BPrice-item.ChildNoNeedPrice)}}</td>
<td>{{(item.B2CMemberPrice-item.ChildNoNeedPrice)|priceFormat(item.B2CMemberPrice-item.ChildNoNeedPrice)}}</td>
<td>{{(item.B2CPrice-item.ChildNoNeedPrice)|priceFormat(item.B2CPrice-item.ChildNoNeedPrice)}}</td>
</tr>
<tr>
<td>单地接</td>
<td colspan="4">
{{item.SingleDMCPrice|priceFormat(item.SingleDMCPrice)}}
</td>
</tr>
<tr>
<td>婴儿</td>
<td colspan="4">
{{item.BabyPrice|priceFormat(item.BabyPrice)}}
</td>
</tr>
<tr>
<td colspan="5" style="text-align:left;padding-left:10px;">其他价格</td>
</tr>
<tr>
<th>老人附加费</th>
<th>儿童附加费</th>
<th>签证费(退签证费)</th>
<th>单房差</th>
<th>杂费</th>
</tr>
<tr>
<td>
{{item.OldManChargePrice|priceFormat(item.OldManChargePrice)}}
</td>
<td>
{{item.BabyChargePrice|priceFormat(item.BabyChargePrice)}}
</td>
<td>
{{item.VisaPrice|priceFormat2(item.VisaPrice)}}(-{{item.BackVisaPrice|priceFormat(item.BackVisaPrice)}}
</td>
<td>{{item.SingleRoomPrice|priceFormat(item.SingleRoomPrice)}}</td>
<td>{{item.OtherPrice|priceFormat(item.OtherPrice)}}</td>
</tr>
</table>
<span slot="reference" class="price">查看价格明细</span>
</el-popover>
</p>
</div>
<div class="d5">
<p><i class="iconfont icon-tuanwei"></i>团位信息</p>
<p><span>当前余位</span><i :style="item.SurplusSeat<0?'color: red':''">{{item.SurplusSeat}}</i></p>
<p><span>已报入</span><i>{{item.Seat==''?"0":item.Seat}}</i>(占位:{{item.Occupied}}人)</p>
<p><span>候补</span>
<em v-if='item.IsSubstitution==1'>可以候补(候补{{item.SubstitutionCount}}人)</em>
<em v-if='item.IsSubstitution!=1' style="color: #E95252;">本团拒绝候补</em>
</p>
</div>
<div class="d8">
<p><i class="iconfont icon-hangban1"></i>温馨提示</p>
<p><span>送签日期</span><i>{{item.SendVisaTime===''?'未设置':item.SendVisaTime}}</i></p>
<p><span>出签日期</span><i>{{item.OutVisaTime===''?'未设置':item.OutVisaTime}}</i></p>
<p><span>开票日期</span><i>{{item.TicketDeadline===''?'未设置':item.TicketDeadline}}</i></p>
<p v-if="item.VisaFileList.length!==0"><span>签证资料</span></p>
<p v-if="item.VisaFileList.length!==0" v-for="(item2, index2) in item.VisaFileList" :key="index2">
<span style="cursor:pointer;text-decoration: underline;" @click="downloadFile(item2)">{{item2.Name}}</span>
</p>
</div>
<div class="d7">
<el-button-group style="display:block;">
<el-tooltip class="item" effect="dark" content="查看报名" placement="top-start">
<el-button @click="goUrl('groupTourOrderByTuan',item.TCID,item.TCNUM)" type="primary" style='background:#00C6FF; border-color:#00C6FF'
icon="iconfont icon-sousuo"></el-button>
</el-tooltip>
<!--关内团后不能在报名-->
<el-tooltip class="item" effect="dark" content="立即下单" placement="top-start" v-if="item.IsPayOrder!==1 && item.IsB2B===1">
<el-button type="primary" style='background:#F16C3C; border-color:#F16C3C' v-if="!TCIDList" icon="iconfont icon-fukuan1"
@click="goBuy(item)"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="行程下载" placement="top-start">
<el-button @click="toTrip(item)" type="primary" style='background:#47BF8C; border-color:#47BF8C' icon="iconfont icon-xiazai"></el-button>
</el-tooltip>
</el-button-group>
<el-button-group style="display:block;">
<el-tooltip class="item" effect="dark" content="分享行程" placement="top-start" style="float:left">
<el-popover width='180' trigger="click">
<div class="w150" v-loading="wxLoading">
<img style="float: left; width: 108px; height: 108px;margin: 10px 21px 3px;" :src="item.wxImage===''?'':'data:image/png;base64,'+item.wxImage" />
<p style="text-align: center; font-size: 12px; color: #666;">在微信小程序打开</p>
</div>
<el-button slot="reference" type="primary" style='background:#B552E9; border-color:#B552E9;border-radius:0;border-top-left-radius: 4px;border-bottom-left-radius: 4px;'
icon="iconfont icon-fenxiang" @click="getWxCode(index)"></el-button>
</el-popover>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="分享APP" placement="top-start" style="float:left">
<el-popover width='180' trigger="click">
<div class="w150">
<img style="float: left; width: 108px; height: 108px;margin: 10px 21px 3px;" :src="'data:image/png;base64,'+item.AppImage" />
<p style="text-align: center; font-size: 12px; color: #666;">在42助手打开</p>
</div>
<el-button slot="reference" type="primary" style='background:#E6A014; border-color:#E6A014;border-radius: 0;'
icon="iconfont icon-erweima"></el-button>
</el-popover>
</el-tooltip>
<el-tooltip class="item" effect="dark" :content="'广告数量'+item.AdvertCount" placement="top-start">
<el-button type="primary" style='background:#E95252; border-color:#E95252' v-if="!TCIDList" icon="iconfont icon-guanggao"
@click="goUrlX(item)"></el-button>
</el-tooltip>
</el-button-group>
</div>
</div>
<div class="d6">
<el-popover placement="right" width="500" trigger="click" :content="item.ProductRecommend">
<span style="cursor:pointer; padding: 2px 5px; display:inline-block; margin-bottom: 5px; border-radius: 4px; border: 1px solid #ccc; font-size: 12px;"
slot="reference">本团卖点</span>
</el-popover>
<p>OP备注:</p>
<p :title="item.OpRemark">{{item.OpRemark}}</p>
</div>
</li>
</ul>
<div class="noData" v-else>
暂无数据
</div>
</div>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage" layout="total,prev, pager, next, jumper"
:page-size="msg.pageSize" :total="total">
</el-pagination>
<el-dialog custom-class='ComTeamPlan_info_box' :title="tripTitle" :visible.sync="outerVisible" center>
<commonTeamInfo ref="comTeam"></commonTeamInfo>
</el-dialog>
<el-dialog custom-class='w450' title="行程下载" :visible.sync="travelControlTripLayerShow" center>
<tripDownLoadCommon ref="tripDownLoadCommon" :tripObj="tripObj" @headCallBack="hideTripDown" :downType="1"></tripDownLoadCommon>
</el-dialog>
</div>
</template>
<script>
import commonTeamInfo from "../commonPage/commonTeamInfo.vue";
import tripDownLoadCommon from "../commonPage/TripDownLoadCommon.vue";
import carousel from "../commonPage/carousel.vue";
export default {
data() {
return {
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
}
},
travelControlTripLayerShow: false,
wxLoading: false,
userId: '',
customerId: '',
createByInfo: '',
isUpdateSharePeople: false,
starTime: '',
endTime: '',
stratPrice: '',
stratPriceShow: false,
returnPrice: '',
returnPriceShow: false,
minPrice: 0,
loading: true,
loading2: false,
isShowLayer: false,
outerVisible: false,
tripTitle: '',
currentPage: 1,
total: 0,
addObj: {},
Unit_PriceList:[],//成交单价下拉数据
LessMoney:0,
addMsg: {
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',
AirticketNum: '0',
ScenicRefundArr: [],
GoCityTime: '',
BackCityTime: '',
CommissionSharePeople: '-1',
CommissionShareMoney: '0',
OrderForm: '1',
SonControlID: '-1',
IsShowMessagesMoney: '2'
},
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'
}],
GroupType: [{
required: true,
message: '请选择参团类型',
trigger: 'change'
}],
ClientSource: [{
required: true,
message: '请选择客人来源',
trigger: 'change'
}],
TradeWay: [{
required: true,
message: '请选择交易方式',
trigger: 'change'
}],
ContactName: [{
required: true,
message: '请输入联系人姓名',
trigger: 'blur'
}],
ContactMobile: [{
required: true,
message: '请输入联系人电话',
trigger: 'blur'
},
{
pattern: /^(0|86|17951)?(13[0-9]|15[012356789]|17[012356789]|18[0-9]|19[0-9]|14[57])[0-9]{8}$/,
message: '请输入正确的手机'
}
],
},
msg: {
pageIndex: 1,
pageSize: 10,
LineId: '-1',
LineTeamId: '-1',
AimPlaceId: '-1',
TCID: '',
StartTime: '',
EndTime: '',
BranchId: '-1',
CityId: '-1',
DaysTrip: '',
SalePlat: [],
minGroupSize: '',
maxGroupSize: '',
minApplySize: '',
maxApplySize: '',
FlightID: '-1',
TCIDList: '',
WarningQuery: '-1',
RateOnDay: '-1',
RateOn: '-1'
},
defaultImg: 'this.src="' + require("../../assets/img/bg_z1@2x.png") + '"',
list: [],
LineList: [],
LineTeamList: [],
AimPlaceList: [],
airlineList: [],
companyList: [],
salePlace: [],
startCityList: [],
startCityList1: [],
tripDetails: [],
khlxList: [],
ctlxList: [],
ddlyList: [],
ddztList: [],
khmdList: [],
ssptList: [],
jyfsList: [],
fylxList: [],
remarkMsg: {
zc: '',
bzc: '',
fjf: '',
ye: '',
lr: '',
dd: '',
df: '',
dc: '',
srf: '',
qz: '',
qzf: '',
},
otherRemark: '',
ScenicRefundList: [],
PlatformAccountList: [],
ScenicRefundMoney: 0,
TCIDList: null,
tripObj: {
tcid: 0,
configId: 0,
cityId: 0,
orderId: 0
}
}
},
components: {
commonTeamInfo: commonTeamInfo,
tripDownLoadCommon: tripDownLoadCommon,
carousel: carousel
},
filters: {
priceFormat(value) {
if (value == null) {
return 0.00;
}
let nStr = value.toFixed(2)
nStr += '';
let x = nStr.split('.');
let x1 = x[0];
let x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
},
priceFormat2(value) {
if (value == null) {
return '已包含';
}
let nStr = value.toFixed(2)
nStr += '';
let x = nStr.split('.');
let x1 = x[0];
let x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
let result = x1 + x2
if (result === '0.00') {
result = '已包含'
}
return result;
}
},
methods: {
groupTypeChange: function (val) {
if (val === '4') {
this.addMsg.ManNum = 0
this.addMsg.ChirdNoNeedBedNum = 0
this.addMsg.ChirdNeedBedNum = 0
this.addMsg.BabyNum = 0
this.addMsg.OldPeopleNum = 0
this.addMsg.ManNum = 0
this.getNumber();
this.getHouseNo();
this.getTotalPrice()
} else if (val === '1') {
this.addMsg.AirticketNum = 0
this.getNumber();
this.getHouseNo();
this.getTotalPrice()
}
},
downloadFile: function (item) {
let reg = /^http(s)?:\/\/(.*?)\//
this.downloadFileRename(item.FullUrl.replace(reg, ''), item.Name);
},
yzVisaNum: function () {
let count = (Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) +
Number(this.addMsg.BabyNum) + Number(this.addMsg.OldPeopleNum))
if (count < this.addMsg.VisaNum) {
this.addMsg.VisaNum = count
this.$message.error('签证人数不能大于总人数')
}
},
yzSafeNum: function () {
let count = (Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) +
Number(this.addMsg.BabyNum) + Number(this.addMsg.OldPeopleNum))
if (count < this.addMsg.SafeNum) {
this.addMsg.SafeNum = count
this.$message.error('保险人数不能大于总人数')
}
},
// 结束日期不能大于开始日期
dataDui() {
if (this.msg.StartTime > this.msg.EndTime && this.msg.EndTime !== "") {
this.$message.error("结束日期不能大于开始日期");
this.msg.EndTime = "";
}
},
// 自动添加备注
autoRemarks: function (key, text) {
let count = (Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) +
Number(this.addMsg.BabyNum) + Number(this.addMsg.OldPeopleNum))
// if (this.addMsg[key].toString() !== count.toString() && this.addMsg[key].toString() !== '') {
// this.addMsg.Remarks = this.addMsg.Remarks + text + ':' + (count-this.addMsg[key]) + ';'
// }
this.remarkMsg.qz = '';
if (this.addMsg[key].toString() !== '0' && this.addMsg[key].toString() !== '') {
if (this.addMsg[key].toString() !== count.toString() && this.addMsg[key].toString() !== '') {
if (text === '不要签证数量') {
this.remarkMsg.qz = text + ':' + (count - this.addMsg[key]) + ';'
if (this.addObj.VisaPrice) {
this.remarkMsg.qzf = '签证费' + this.addObj.VisaPrice + '/人;';
}
if (this.addObj.BackVisaPrice) {
this.remarkMsg.qz = text + ':' + (count - this.addMsg[key]) + ';' + '退签证费' + this.addObj.BackVisaPrice +
'/人;';
}
}
if (text === '不要保险数量') {
this.remarkMsg.bx = text + ':' + (count - this.addMsg[key]) + ';';
}
} else if (this.addMsg[key].toString() === count.toString()) {
if (this.addObj.VisaPrice) {
this.remarkMsg.qzf = '签证费' + this.addObj.VisaPrice + '/人;';
}
this.remarkMsg.qz = '';
}
if (text === '儿童不占床') {
if (this.remarkMsg.bzc === '') {
this.remarkMsg.bzc = '儿童不占床:' + this.addMsg[key] + ';';
if (this.addObj.ChildNoNeedPrice) {
this.remarkMsg.bzc += '儿童不占床减免' + this.addObj.ChildNoNeedPrice + '/人;';
}
} else {
this.remarkMsg.bzc = '';
this.remarkMsg.bzc = '儿童不占床:' + this.addMsg[key] + ';';
if (this.addObj.ChildNoNeedPrice) {
this.remarkMsg.bzc += '儿童不占床减免' + this.addObj.ChildNoNeedPrice + '/人;';
}
}
if (this.remarkMsg.fjf === '') {
if (this.addObj['BabyChargePrice'] > 0 && this.addObj['BabyChargePrice']) {
this.remarkMsg.fjf = '儿童附加费:' + this.addObj['BabyChargePrice'] + '/人;';
} else {
this.remarkMsg.fjf = '';
}
}
}
if (text === '儿童占床') {
if (this.remarkMsg.zc === '') {
this.remarkMsg.zc = '儿童占床:' + this.addMsg[key] + ';';
if (this.addObj.ChildNeedPrice) {
this.remarkMsg.zc = this.remarkMsg.zc + '儿童占床附加费' + this.addObj.ChildNeedPrice + '/人;';
}
} else {
this.remarkMsg.zc = '';
this.remarkMsg.zc = '儿童占床:' + this.addMsg[key] + ';';
if (this.addObj.ChildNeedPrice) {
this.remarkMsg.zc = this.remarkMsg.zc + '儿童占床附加费' + this.addObj.ChildNeedPrice + '/人;';
}
}
if (this.remarkMsg.fjf === '') {
this.remarkMsg.fjf = this.addObj['BabyChargePrice'] ? '儿童附加费:' + this.addObj['BabyChargePrice'] + '/人;' :
'';
}
}
if (text === '老人人数') {
if (this.remarkMsg.lr === '') {
this.remarkMsg.lr = '老人人数:' + this.addMsg[key] + ';';
if (this.addObj.OldManChargePrice) {
this.remarkMsg.lr = this.remarkMsg.lr + this.addObj.OldManChargePrice + '/人;';
}
} else {
this.remarkMsg.lr = '';
this.remarkMsg.lr = '老人人数:' + this.addMsg[key] + ';';
if (this.addObj.OldManChargePrice) {
this.remarkMsg.lr = this.remarkMsg.lr + this.addObj.OldManChargePrice + '/人;';
}
}
}
if (text === '婴儿人数') {
if (this.remarkMsg.ye === '') {
this.remarkMsg.ye = '婴儿人数:' + this.addMsg[key] + ';' + '婴儿价格:' + this.addObj.BabyPrice + '/人;';
} else {
this.remarkMsg.ye = '';
this.remarkMsg.ye = '婴儿人数:' + this.addMsg[key] + ';' + '婴儿价格:' + this.addObj.BabyPrice + '/人;';
}
}
if (text === '单地接数量') {
if (this.remarkMsg.dd === '') {
this.remarkMsg.dd = '单地接数量:' + this.addMsg[key] + ';';
} else {
this.remarkMsg.dd = '';
this.remarkMsg.dd = '单地接数量:' + this.addMsg[key] + ';';
}
}
if (text === '单房数量') {
if (this.remarkMsg.df === '') {
this.remarkMsg.df = '单房数量:' + this.addMsg[key] + ';' + '单房差价' + this.addObj.SingleRoomPrice + '/人;';
} else {
this.remarkMsg.df = '';
this.remarkMsg.df = '单房数量:' + this.addMsg[key] + ';' + '单房差价' + this.addObj.SingleRoomPrice + '/人;';
}
}
if (text === '大床房') {
if (this.remarkMsg.dc === '') {
this.remarkMsg.dc = '大床房:' + this.addMsg[key] + ';';
} else {
this.remarkMsg.dc = '';
this.remarkMsg.dc = '大床房:' + this.addMsg[key] + ';';
}
}
if (text === '三人房') {
if (this.remarkMsg.srf === '') {
this.remarkMsg.srf = '三人房:' + this.addMsg[key] + ';';
} else {
this.remarkMsg.srf = '';
this.remarkMsg.srf = '三人房:' + this.addMsg[key] + ';';
}
}
} else {
if (text === '儿童不占床') {
this.remarkMsg.bzc = '';
this.remarkMsg.fjf = ''
}
if (text === '儿童占床') {
this.remarkMsg.zc = '';
this.remarkMsg.fjf = ''
}
if (text === '婴儿人数') {
this.remarkMsg.ye = '';
}
if (text === '老人人数') {
this.remarkMsg.lr = '';
}
if (text === '单地接数量') {
this.remarkMsg.dd = '';
}
if (text === '单房数量') {
this.remarkMsg.df = '';
}
if (text === '大床房') {
this.remarkMsg.dc = '';
}
if (text === '三人房') {
this.remarkMsg.srf = '';
}
if (text === '不要签证数量') {
this.remarkMsg.qz = '';
this.remarkMsg.qzf = '';
}
if (text === '不要保险数量') {
this.remarkMsg.bx = '';
}
}
let _this = this;
let newRemark = '';
_this.addMsg.Remarks = '';
newRemark = _this.addMsg.Remarks + _this.otherRemark;
Object.keys(_this.remarkMsg).forEach(function (key) {
newRemark = newRemark + _this.remarkMsg[key];
});
_this.addMsg.Remarks = newRemark;
},
autoRemarks2: function (key, text) {
// let count = (Number(this.addMsg.AirticketNum)+Number(this.addMsg.ManNum)+Number(this.addMsg.ChirdNum)+Number(this.addMsg.BabyNum)+Number(this.addMsg.OldPeopleNum))
// if (this.addMsg[key].toString() !== count.toString() && this.addMsg[key].toString() !== '') {
// this.addMsg.Remarks = this.addMsg.Remarks + text + ':' + (count-this.addMsg[key]) + ';'
// }
},
// 获取微信二维码
getWxCode: function (key) {
this.wxLoading = false
if (this.list[key].wxImage === '') {
this.wxLoading = true
this.apipost('TaskManagemnet_get_GetWeiXinShare', {
ConfigId: this.list[key].ConfigID,
TCID: this.list[key].TCID
}, res => {
if (res.data.resultCode == 1) {
let url = res.data.data
this.list[key].wxImage = url
this.wxLoading = false
} else {
this.$message.error("二维码获取失败")
}
}, err => {})
}
},
toTrip: function (obj) {
this.tripObj.tcid = obj.TCID;
this.tripObj.configId = obj.ConfigID;
this.tripObj.cityId = obj.StartCityID;
this.tripObj.orderId = 0;
this.travelControlTripLayerShow = true;
},
hideTripDown() {
this.travelControlTripLayerShow = false;
},
goUrl(path, id, tcmun) {
this.$router.push({
name: path,
query: {
"id": id,
tcmun: tcmun,
blank: 'y',
tab: '团报名清单'
}
});
},
goUrlX(item) {
this.$router.push({
name: 'GroupAdvertising',
query: {
LineID: item.LineID,
TCID: item.TCID,
blank: 'y',
tab: '团期广告'
}
});
},
//获取航班详情
getDetails(index) {
this.tripDetails = this.list[index].flightList;
},
getUnionTravelPrice(obj, type) {
let msg = {}
msg.TCID = obj.TCID
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();
},
tradeWayMethods() {
if (this.addMsg.TradeWay == 2) {
this.addMsg.PlatformOrder = ''
this.addMsg.PlatformAccount=''
this.addMsg.MinOrderPrice = 0
this.addMsg.CostType = ''
this.addMsg.TradeDate = ''
}
},
platformOrderMethods() {
return;
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("line_post_Get", {
ID: id
}, res => {
if (res.data.resultCode == 1) {
this.minPrice = res.data.data.LowDeposit
}
}, err => {})
},
getTypePrice() {
this.addMsg.ContactName = ''
this.addMsg.ContactMobile = ''
if (this.addMsg.CustomerType == 1) {
this.addMsg.TC_Price = this.addObj.B2BMemberPrice
this.addMsg.Unit_Price = this.addObj.B2BMemberPrice;
this.addMsg.CustomerId = ''
}
if (this.addMsg.CustomerType == 2) {
this.addMsg.TC_Price = this.addObj.B2BPrice
this.addMsg.Unit_Price = this.addObj.B2BPrice;
this.addMsg.CustomerId = ''
}
if (this.addMsg.CustomerType == 3) {
this.addMsg.TC_Price = this.addObj.B2CMemberPrice
this.addMsg.Unit_Price = this.addObj.B2CMemberPrice;
this.addMsg.CustomerId = '0'
this.addMsg.CommissionShareMoney = '0'
}
if (this.addMsg.CustomerType == 4) {
this.addMsg.TC_Price = this.addObj.B2CPrice
this.addMsg.Unit_Price = this.addObj.B2CPrice;
this.addMsg.CustomerId = '0'
this.addMsg.CommissionShareMoney = '0'
}
this.Unit_PriceList=[];
this.apipost('sellorder_post_GetLessPrice', {"TCID":this.addObj.TCID}, res => {
this.LessMoney = res.data.data.lessMoney;
if (parseFloat(this.LessMoney)>0){
for (var i = 0; i <= parseInt(this.LessMoney)/10; i++) {
var obj = {
ID: '',
LessMoney: ''
}
obj.ID = this.addMsg.Unit_Price-i*10;
obj.LessMoney = this.addMsg.Unit_Price-i*10;
this.Unit_PriceList.push(obj);
}
if(this.Unit_PriceList.findIndex(markers => markers.ID == this.addMsg.Unit_Price)<0) {
var obj = {
ID: '',
LessMoney: ''
}
obj.ID = this.addMsg.Unit_Price;
obj.LessMoney = this.addMsg.Unit_Price;
this.Unit_PriceList.push(obj);
}
}
else{
var obj = {
ID: '',
LessMoney: ''
}
obj.ID = this.addMsg.Unit_Price;
obj.LessMoney = this.addMsg.Unit_Price;
this.Unit_PriceList.push(obj);
}
}, err => {})
},
getTicheng() { //提成
let num = Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)
let yh = 0
if (num > 0) {
this.apipost('sellorder_get_GetOrderMinPrice', {
ltID: this.addObj.ltID,
Num: num
}, res => {
yh = res.data.data
}, err => {})
}
// let cj='成交单价-最低成交价格(标准单价-符合人数[成人,儿童,老人]条件的最高少价)'
let chajia = Number(this.addMsg.Unit_Price) - (this.addMsg.TC_Price - yh)
let ewtc = chajia > 0 ? chajia * 0.5 * num : chajia * num //额外提成
this.addMsg.Commission = (Number(this.addMsg.PreferPrice) * 0.01 + ewtc).toFixed(2)
this.addMsg.CommissionShareMoney = '0'
if ((this.addMsg.CustomerType == 1 || this.addMsg.CustomerType == 2) && this.addMsg.CommissionSharePeople != '') {
console.log(22)
if (this.addMsg.CommissionSharePeople != '-1') {
console.log(33)
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'
}
}
}
},
getHouseNo() {
//算法:((成人+儿童占床数+老人-(三人房数量*3))-单房数)/2+单房数+三人房数量
this.addMsg.PredictRoomNum = (Number(this.addMsg.AirticketNum) + (Number(this.addMsg.ManNum) + Number(this.addMsg
.ChirdNeedBedNum) + Number(this.addMsg.OldPeopleNum)) - Number(this.addMsg.TripleRoomNum) * 3 - Number(
this.addMsg.SingleRoomNum)) / 2 + Number(this.addMsg.SingleRoomNum) + Number(this.addMsg.TripleRoomNum)
},
getNumber() {
this.addMsg.ChirdNum = this.addMsg.ChirdNoNeedBedNum * 1 + this.addMsg.ChirdNeedBedNum * 1
this.addMsg.VisaNum = (Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) +
Number(this.addMsg.BabyNum) + Number(this.addMsg.OldPeopleNum))
this.addMsg.SafeNum = (Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + Number(this.addMsg.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;
this.autoRemarks("VisaNum", "不要签证数量")
},
getTotalPrice() {
this.addMsg.ChirdNum = this.addMsg.ChirdNoNeedBedNum * 1 + this.addMsg.ChirdNeedBedNum * 1
//
//console.log(this.addObj)
if (this.addObj.IsBirdDiscount == 1) { //早鸟优惠
//this.addMsg.Unit_Price //成交单价
//BabyPrice 婴儿价
//BabyChargePrice 儿童附加费
//OldManChargePrice 老人 附加费
//DiscountPrice 早鸟优惠
let chengren = Number(this.addMsg.ManNum) * (Number(this.addMsg.Unit_Price) - this.addObj.DiscountPrice)
let ertong = Number(this.addMsg.ChirdNum) * (Number(this.addMsg.Unit_Price) - this.addObj.DiscountPrice +
this.addObj.BabyChargePrice)
let yinger = Number(this.addMsg.BabyNum) * this.addObj.BabyPrice
let laoren = Number(this.addMsg.OldPeopleNum) * (Number(this.addMsg.Unit_Price) - this.addObj.DiscountPrice +
this.addObj.OldManChargePrice)
let zafeiqianzhen = this.addObj.OtherPrice * (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum)) + this.addObj.VisaPrice * (Number(this.addMsg.AirticketNum) + Number(
this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)) - this.addObj.BackVisaPrice *
((Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(
this.addMsg.BabyNum) + Number(this.addMsg.OldPeopleNum)) - Number(this.addMsg.VisaNum))
let danfang = Number(this.addMsg.SingleRoomNum) * this.addObj.SingleRoomPrice
let ertongbed = this.addObj.ChildNeedPrice * Number(this.addMsg.ChirdNeedBedNum) - this.addObj.ChildNoNeedPrice *
(Number(this.addMsg.ChirdNum) - Number(this.addMsg.ChirdNeedBedNum))
let lianyun = (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)) *
(Number(this.stratPrice) + Number(this.returnPrice))
let dandijie = this.addObj.SingleDMCPrice * Number(this.addMsg.AirticketNum)
this.addMsg.PreferPrice = dandijie + lianyun + chengren + ertong + yinger + laoren + zafeiqianzhen + danfang +
ertongbed - this.ScenicRefundMoney * (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(
this.addMsg.OldPeopleNum));
} else {
let chengren = Number(this.addMsg.ManNum) * (Number(this.addMsg.Unit_Price))
let ertong = Number(this.addMsg.ChirdNum) * (Number(this.addMsg.Unit_Price) + this.addObj.BabyChargePrice)
let yinger = Number(this.addMsg.BabyNum) * this.addObj.BabyPrice
let laoren = Number(this.addMsg.OldPeopleNum) * (Number(this.addMsg.Unit_Price) + this.addObj.OldManChargePrice)
let zafeiqianzhen = this.addObj.OtherPrice * (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) +
Number(this.addMsg.OldPeopleNum)) + this.addObj.VisaPrice * (Number(this.addMsg.AirticketNum) + Number(
this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)) - this.addObj.BackVisaPrice *
((Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(
this.addMsg.BabyNum) + Number(this.addMsg.OldPeopleNum)) - Number(this.addMsg.VisaNum))
let danfang = Number(this.addMsg.SingleRoomNum) * this.addObj.SingleRoomPrice
let ertongbed = this.addObj.ChildNeedPrice * Number(this.addMsg.ChirdNeedBedNum) - this.addObj.ChildNoNeedPrice *
(Number(this.addMsg.ChirdNum) - Number(this.addMsg.ChirdNeedBedNum))
let lianyun = (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)) *
(Number(this.stratPrice) + Number(this.returnPrice))
let dandijie = this.addObj.SingleDMCPrice * Number(this.addMsg.AirticketNum)
this.addMsg.PreferPrice = dandijie + lianyun + chengren + ertong + yinger + laoren + zafeiqianzhen + danfang +
ertongbed - this.ScenicRefundMoney * (Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(
this.addMsg.OldPeopleNum));
}
this.getTicheng()
},
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
console.log(y)
if (y < 0) {
this.addMsg.SingleRoomNum = 0
}
this.getHouseNo()
this.autoRemarks("SingleRoomNum", "单房数量");
},
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
console.log(y)
if (y <= -1) {
this.addMsg.BigRoomNum = 0
}
this.getHouseNo()
this.autoRemarks("BigRoomNum", "大床房");
},
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
console.log(y)
if (y <= -1) {
this.addMsg.TripleRoomNum = 0
}
this.getHouseNo()
this.autoRemarks("TripleRoomNum", "三人房");
},
submitForm(addMsg) { //提交创建、修改表单
this.$refs[addMsg].validate((valid) => {
if (valid) {
this.saveOrder()
} else {
return false;
}
});
},
cancelSubmit() {
this.isShowLayer = false
this.$refs['addMsg'].resetFields();
this.clearMsg()
},
clearMsg() {
this.addMsg.OrderId = '0'
this.addMsg.TCID = '0'
this.addMsg.IsIntermodal = '2'
this.addMsg.IsReturnIntermodal = '2'
this.addMsg.Unit_Price = '0'
this.addMsg.TC_Price = '0'
this.addMsg.ManNum = '0'
this.addMsg.ChirdNum = '0'
this.addMsg.ChirdNeedBedNum = '0'
this.addMsg.BabyNum = '0'
this.addMsg.OldPeopleNum = '0'
this.addMsg.SingleRoomNum = '0'
this.addMsg.PreferPrice = '0'
this.addMsg.YSeatNum = '0'
this.addMsg.ESeatNum = '0'
this.addMsg.FSeatNum = '0'
this.addMsg.Commission = '0'
this.addMsg.BrandId = ''
this.addMsg.PlatformAccount=''
this.addMsg.TradeWay = '2'
this.addMsg.GuestNum = '0'
this.addMsg.IsChildrenTour = '0'
this.addMsg.OrderId = '0'
this.addMsg.IsBirdDiscount = '0'
this.addMsg.PredictRoomNum = '0'
this.addMsg.BigRoomNum = '0'
this.addMsg.TripleRoomNum = '0'
this.addMsg.TradeDate = ''
this.addMsg.CostType = ''
this.addMsg.PlatformOrder = ''
this.ddlyList = []
this.addMsg.Remarks = ''
this.addMsg.MinOrderPrice = ''
this.addMsg.VisaNum = '0';
this.addMsg.SafeNum = '0';
this.addMsg.AirticketNum = '0';
this.addMsg.ScenicRefundArr = [];
this.ScenicRefundMoney = 0;
this.addMsg.CommissionSharePeople = '-1'
this.addMsg.CommissionShareMoney = '0'
this.addMsg.IsShowMessagesMoney = '2'
this.remarkMsg = {
zc: '',
bzc: '',
fjf: '',
ye: '',
lr: '',
dd: '',
df: '',
dc: '',
srf: '',
qz: '',
qzf: '',
}
},
saveOrder() {
//验证人数和机位数
if ((Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this.addMsg.OldPeopleNum)) != Number(
this.addMsg.YSeatNum) + Number(this.addMsg.ESeatNum) + Number(this.addMsg.FSeatNum)) {
this.$message.warning('人数和机位数不相等!')
return
}
if ((Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this
.addMsg.OldPeopleNum) + Number(this.addMsg.BabyNum)) < Number(this.addMsg.VisaNum)) {
this.$message.warning('签证数量不能大于人数总和!')
return
}
if ((Number(this.addMsg.AirticketNum) + Number(this.addMsg.ManNum) + Number(this.addMsg.ChirdNum) + Number(this
.addMsg.OldPeopleNum) + Number(this.addMsg.BabyNum)) < Number(this.addMsg.SafeNum)) {
this.$message.warning('保险数量不能大于人数总和!')
return
}
// if((Number(this.addMsg.ManNum)+Number(this.addMsg.ChirdNoNeedBedNum)+Number(this.addMsg.ChirdNeedBedNum)+Number(this.addMsg.OldPeopleNum))
// <(Number(this.addMsg.YSeatNum)+Number(this.addMsg.ESeatNum)+Number(this.addMsg.FSeatNum)))
// {
// this.$message.warning('机票数量不能大于人数总和!')
// return
// }
if (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
}
if (this.userId == this.createByInfo) {
if (this.addMsg.CommissionSharePeople == '-1') {
this.addMsg.CommissionShareMoney = '0'
}
}
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.addObj.IsSupportChildren
this.addMsg.IsBirdDiscount = this.addObj.IsBirdDiscount
this.apipost('sellorder_post_SetOrderInfo_02', this.addMsg, res => {
if (res.data.resultCode == 1) {
this.$message.success(res.data.message)
this.$refs['addMsg'].resetFields();
this.getList()
this.clearMsg()
this.isShowLayer = false
} else {
this.$message.error(res.data.message)
}
}, err => {})
},
goBuy(obj) {
this.isUpdateSharePeople = false
this.isShowLayer = true
this.addObj = obj
this.addMsg.DepartureCityId = obj.StartCityID
this.addMsg.ReturnArriveCityId = obj.ReturnArriveCityId
this.addMsg.GoCityTime = this.starTime = obj.StartCityTime
this.addMsg.BackCityTime = this.endTime = obj.BackCityTime
this.addMsg.SonControlID = obj.SonControlID;
this.getMinPrice(obj.LineID);
this.getScenicRefund(obj.TCID);
this.getPlatformAccount(obj.PlatformAccountTypeId);
this.clearMsg()
let str = ''
if (obj.OtherPrice > 0) {
str += '杂费' + obj.OtherPrice + '/人;'
}
this.addMsg.Remarks = str
this.otherRemark = str;
},
getPlatformAccount(typeIdtwo) {
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
}
}, err => {})
},
getScenicRefund(TCID) {
this.apipost('sellorder_get_GetScenicRefundList', {
TCID
}, res => {
if (res.data.resultCode == 1) {
this.ScenicRefundList = res.data.data
this.ScenicRefundList.forEach(item => {
item['ScenicName'] = item.CouponsName + ' -¥' + this.moneyFormat(item.RefundMoney);
})
}
}, err => {})
},
getJyfs() {
this.apipost('sellorder_get_GetSellTradeWayEnumList', {}, res => {
if (res.data.resultCode == 1) {
this.jyfsList = res.data.data
}
}, err => {})
},
getFylx() {
this.apipost('Financial_post_GetByOrderCostTypeList', {
Type: 1
}, res => {
if (res.data.resultCode == 1) {
this.fylxList = res.data.data
// console.log(res.data)
} else {
this.Error(res.data.message);
}
}, err => {})
},
getSspt() {
//给非直客 隐藏电话姓名赋值
let obj = this.khmdList.find(item => item.customerId == this.addMsg.CustomerId)
this.customerId = obj.customerId
this.createByInfo = obj.createByInfo
this.addMsg.ContactName = obj.customerName + '(' + obj.contact + ')'
this.addMsg.ContactMobile = obj.contactNumber
if (this.userId != this.createByInfo) {
this.addMsg.CommissionSharePeople = this.createByInfo
this.isUpdateSharePeople = true
} else {
this.addMsg.CommissionSharePeople = '-1'
this.isUpdateSharePeople = false
}
this.apipost('app_today_visit_GetCustomerBrandByCustomerId', {
customerInfoId: this.addMsg.CustomerId
}, res => {
if (res.data.resultCode == 1) {
this.addMsg.BrandId = ''
this.ssptList = res.data.data
// console.log(this.ssptList)
}
}, err => {})
},
getKhmdList() {
this.apipost('app_today_visit_GetOrderMyCustomerList', {
typeId: this.addMsg.CustomerType,
lineId: this.addObj.LineID
}, res => {
if (res.data.resultCode == 1) {
this.khmdList = res.data.data
}
}, err => {})
},
getDdztList() {
this.apipost('sellorder_post_GetSellOrderStatusEnumList', {}, res => {
if (res.data.resultCode == 1) {
this.ddztList = res.data.data
}
}, err => {})
},
getDdlyList() {
this.addMsg.ClientSource = ''
this.apipost('sellorder_get_GetSellClientSourceEnumList', {
typeId: this.addMsg.CustomerType
}, res => {
if (res.data.resultCode == 1) {
this.ddlyList = res.data.data
}
}, err => {})
},
getCtlxList() {
this.apipost('sellorder_get_GetOrderJoinEnumList', {}, res => {
if (res.data.resultCode == 1) {
this.ctlxList = res.data.data
}
}, err => {})
},
getKhlxList() {
this.apipost('sellorder_get_GetSellClientTypeEnumList', {}, res => {
if (res.data.resultCode == 1) {
this.khlxList = res.data.data
// console.log(res.data.data)
}
}, err => {})
},
getJourney(id, title) {
var that = this;
this.tripTitle = title;
this.$nextTick(() => {
that.$refs.comTeam.GetTrip(id);
});
that.outerVisible = true;
},
getList() {
this.loading = true
this.apipost('TaskManagemnet_get_GetSellProductCenter', this.msg, res => {
if (res.data.resultCode == 1) {
this.loading = false
this.total = res.data.data.count
for (let i = 0; i < res.data.data.pageData.length; i++) {
res.data.data.pageData[i]['wxImage'] = ''
}
this.list = res.data.data.pageData
} else {
this.$message.error(res.data.message)
}
}, err => {})
},
getLineList() {
this.apipost("line_post_GetAllList", {}, res => {
if (res.data.resultCode == 1) {
this.LineList = res.data.data;
}
});
},
getFlightDetails(id) {
this.apipost('travel_get_GetTripForSell', {
TCID: id
}, res => {
if (res.data.resultCode == 1) {
console.log(res.data.data)
this.tripDetails = res.data.data.FlightList
} else {
this.$message.error(res.data.message)
}
}, err => {})
},
//获取系列列表
getLineTeamList(lineId) {
this.LineTeamList = []
this.apipost("team_post_GetList", {
lineID: lineId,
isTOOP: 1
}, res => {
if (res.data.resultCode == 1) {
this.msg.LineTeamId = '-1'
this.LineTeamList = res.data.data;
}
});
},
//获取目的地列表
getAimPlaceList(lineId, lineTeamId) {
let myLineId = lineId === '' ? this.msg.LineId : lineId
let myLineTeamId = lineTeamId === '' ? this.msg.LineTeamId : lineTeamId
this.AimPlaceList = []
this.apipost("team_post_GetListForCascading", {
LineID: myLineId,
LtID: myLineTeamId
}, res => {
if (res.data.resultCode == 1) {
this.msg.AimPlaceId = '-1'
this.AimPlaceList = res.data.data;
}
});
},
getStartList() {
this.apipost("sellorder_get_GetAllStartCity", {}, res => {
if (res.data.resultCode == 1) {
this.startCityList = res.data.data;
} else {
console.log(res.data)
}
});
},
getStartList1() {
this.apipost("city_post_GetList", {
isDefault: -1,
priceType: -1
}, res => {
if (res.data.resultCode == 1) {
this.startCityList1 = res.data.data;
} else {
console.log(res.data)
}
});
},
getCompanyList() {
let userInfo = this.getLocalStorage();
let RB_Group_id = userInfo.RB_Group_id;
let msg = {
Status: 0,
is_show: 0,
RB_Group_Id: RB_Group_id
}
this.apipost('admin_get_BranchGetList', msg, res => {
if (res.data.resultCode == 1) {
this.companyList = [{
Id: '-1',
BName: '不限'
}];
res.data.data.forEach(x => {
var obj = {
Id: '',
BName: ''
}
obj.Id = x.Id.toString();
obj.BName = x.BName;
this.companyList.push(obj);
})
}
}, err => {})
},
getAirlineList() { //获取航空公司*
let msg = {};
this.apipost('airline_post_GetList', msg, res => {
this.airlineList = res.data.data;
}, err => {})
},
getSalePlace() {
this.apipost('travel_get_GetTravelSelectEnum', {}, res => {
if (res.data.resultCode == 1) {
this.salePlace = res.data.data.SalePlat
// console.log(this.salePlace)
}
}, err => {})
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList()
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1
},
getEmployee() { //员工
this.apipost('admin_get_EmployeeGetList', this.employeeMsg, res => {
if (res.data.resultCode == 1) {
this.employeeList = res.data.data;
} else {}
}, err => {})
},
//改变平台获取备注
getRemarkDetail(id) {
this.ssptList.forEach(x => {
if (x.dictId == id) {
let msg = x.brandName + '订单号' + this.addMsg.PlatformOrder;
this.addMsg.Remarks = msg;
}
this.$forceUpdate();
})
},
},
mounted() {
this.userId = this.getLocalStorage().EmployeeId
this.msg.BranchId = this.getLocalStorage().RB_Branch_id.toString()
if (this.$route.query.id) {
this.msg.BranchId = '-1'
this.msg.TCID = this.$route.query.id
}
if (this.$route.query.TCIDList) {
this.msg.TCIDList = this.TCIDList = this.$route.query.TCIDList;
}
if (this.msg.StartTime === "") {
let nowDay = new Date().toLocaleDateString();
this.msg.StartTime = nowDay;
}
this.getEmployee()
this.getCompanyList()
this.getList()
this.getLineList()
this.getSalePlace()
this.getAirlineList()
this.getStartList()
this.getStartList1()
this.getKhlxList()
this.getCtlxList()
// this.getDdlyList()
this.getDdztList()
// this.getKhmdList()
this.getJyfs()
this.getFylx()
}
}
</script>
<style>
.BusedHeight {
display: block !important;
height: 450px;
}
.FinaceItem span{
display: inline-block;
color:#3980C8;
margin-right:10px;
padding-right: 10px;
border-right:1px solid #d1d1d1;
}
.FinaceItem span:last-child{
border:0;
}
.BusApportionManagement ._bus_edit {
overflow: auto;
display: none;
position: absolute;
font-family: "PingFangSc-Fine";
bottom: 0;
left: 0;
border-top: 3px solid #38425d;
background-color: #ffffff;
padding: 10px;
width: 100%;
}
.teamNumCon{
width:100%;
min-height:50px;
margin:0 110px;
}
.teamNumList{
display:inline-block;
padding:3px 8px;
border-radius:4px;
font-size:12px;
background-color: #EEEEEE;
position: relative;
margin-right:20px;
}
.teamNumList i{
color:#C5C5C5;
position: absolute;
right:-10px;
top:-10px;
}
.teamNumList i:hover{
color:#CD2929;
cursor: pointer;
}
.exportCompany{
width:450px;
}
.BusApportionManagement ._addUpload_box{
display: block;
margin-top: 15px;
}
.BusApportionManagement ._addUpload_box img{
width: 100%;
}
.BusApportionManagement ._addUpload_box>div{
float: left;
width:138px;
height:92px;
border:1px dashed rgba(210,210,210,1);
border-radius:2px;
cursor: pointer;
padding: 5px;
margin-right: 10px;
position: relative;
}
.BusApportionManagement ._addUpload_box>div:hover{
background-color: #f5f5f5;
}
.BusApportionManagement ._addFile_name{
padding-left: 15px;
max-width: 450px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.BusApportionManagement ._addUpload_box .icon-guanbi1 {
font-size: 12px;
color: white;
display: inline-block;
margin-left: 15px;
position: absolute;
right: -6px;
top: -9px;
background-color: #f56c6c;
border-radius: 50%;
height: 20px;
width: 20px;
text-align: center;
line-height: 20px;
}
.BusApportionManagement ._addUpload_box .icon-guanbi1:hover {
font-size: 12px;
color: #c94052;
}
.BusApportionManagement ._addUpload_box .icon-excel,._addUpload_box .icon-pdf{
text-align: center;
font-size: 38px;
color: green;
line-height: 75px;
}
.BusApportionManagement .el-upload-dragger{
width:126px!important;
height:80px!important;
}
.BusApportionManagement ._show_img_box{
position: fixed;
background: rgba(0,0,0,.6);
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 999;
text-align: center;
}
</style>
<template>
<div class="flexOne BusApportionManagement">
<div class="query-box">
<ul>
<li>
<input type="button" class="normalBtn" @click="outerVisible=true" value="车资导出"/>
<input type="button" class="normalBtn" @click="getInfo()" value="新增"/>
</li>
</ul>
</div>
<v-table
v-if="isReady"
is-horizontal-resize
column-width-drag
style="width:100%"
:columns="columns"
:table-data="dataList"
:filter-method="filterMethod"
:total="total"
:pageSize="msg.pageSize"
:pageIndex="msg.pageIndex"
:handleCurrentChange="handleCurrentChanges"
:multiple-sort="multipleSort"
:is-loading="loading"
sort-always
@sort-change="sortChange"
@on-custom-comp='customCompFunc'
></v-table>
<div class="_bus_edit _scrollbar" v-if="addShow" :class="addShow==true?'BusedHeight':''">
<el-row>
<el-col :span="21">
<p class="_tit">添加分摊</p>
</el-col>
<el-col :span="3" class="_add_saveBtn">
<button
type="button"
class="normalBtn"
@click="submitForm('addMsg',1)"
>{{$t('pub.saveBtn')}}</button>
<button
class="hollowFixedBtn"
type="button"
@click="resetForm('addMsg'),addShow=false"
>{{$t('pub.cancelBtn')}}</button>
</el-col>
</el-row>
<el-form
class="_info_box clearfix"
:model="addMsg"
ref="addMsg"
:rules="rules"
label-width="110px"
>
<el-row>
<el-col :span="4" :gutter="35">
<el-form-item label="费用类型">
<el-select v-model="isCked" disabled>
<el-option label="车资" value=1></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="35">
<el-form-item label="单据类型">
<el-select v-model="isCked" disabled>
<el-option label="参团" value=1></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="35">
<el-form-item label="供应商">
<el-select v-model="suppierCked" disabled>
<el-option v-for='item in ClientTypeList'
:label='item.Name'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="35">
<el-form-item label="客户名称">
<el-select filterable v-model='customId' placeholder="客户名称" @change="GetClientAccountList(customId)" class="_border_b_1">
<el-option :value="0" label="不限"></el-option>
<el-option v-for='item in ClientAccountList'
:label='item.Name'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="35">
<el-form-item label="付款账户">
<el-select filterable v-model='addMsg.ClientID' placeholder="请选择付款账户" class="_border_b_1">
<el-option :value="0" label="不限"></el-option>
<el-option v-for='item in ClientAccountListS'
:label='item.allName'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" :gutter="35">
<el-form-item label="车配号">
<el-date-picker class="w200"
v-model="Year"
type="year"
placeholder="选择年">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="35">
<el-form-item prop="CarNum">
<el-input v-model="addMsg.CarNum" maxlength="20"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="35">
<button type="button" class="normalBtn" style="margin:5px 0 0 50px;" @click="getTeamInfo">筛选团队</button>
</el-col>
</el-row>
<el-row>
<el-col :span="4" :gutter="35">
<el-form-item label="金额" prop="f_UnitPrice">
<el-input v-model="addMsg.f_UnitPrice" placeholder="请输入" @keyup.native="checkPrice(addMsg,'f_UnitPrice'),getTotalMoney(),getSingelePrice()" maxlength="20"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="35">
<el-form-item label="币种">
<el-select filterable v-model='addMsg.f_currency' placeholder="请选择币种" @change="getRate(addMsg.f_currency)" class=" _border_b_1">
<!-- <el-option :value="0" label="不限"></el-option> -->
<el-option v-for='item in coinGetList'
:label='item.Name'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="35">
<el-form-item label="汇率">
<el-input v-model="addMsg.f_rate" placeholder="请输入" @keyup.native="checkRate(addMsg,'f_rate'),getTotalMoney()" maxlength="20" class="w90"></el-input>
<el-input disabled class="w100" v-model="TotalMoney"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="35">
<el-form-item label="总价">
<el-input disabled v-model="TotalMoney"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" :gutter="35">
<el-form-item label="数量" prop="CarNumber">
<el-input v-model="addMsg.CarNumber" placeholder="请输入" @keyup.native="checkInteger(addMsg,'CarNumber'),getSingelePrice()" maxlength="20"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="35">
<el-form-item label="单价">
<el-input v-model="addMsg.CarUnitPrice" disabled></el-input>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="35">
<el-form-item label="接机">
<el-input v-model="addMsg.JJPrice" @keyup.native="checkInteger(addMsg,'JJPrice'),getSingelePrice()" placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="35">
<el-form-item label="回送">
<el-input v-model="addMsg.HSPrice" placeholder="请输入" @keyup.native="checkInteger(addMsg,'HSPrice'),getSingelePrice()"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" :gutter="35">
<el-form-item label="送机">
<el-input v-model="addMsg.SJPrice" placeholder="请输入" @keyup.native="checkInteger(addMsg,'SJPrice'),getSingelePrice()"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="35">
<el-form-item label="转机">
<el-input v-model="addMsg.ZJiPrice" placeholder="请输入" @keyup.native="checkInteger(addMsg,'ZJiPrice'),getSingelePrice()"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="35">
<el-form-item label="追加">
<el-input v-model="addMsg.ZJPrice" placeholder="请输入" @keyup.native="checkInteger(addMsg,'ZJPrice'),getSingelePrice()"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="35">
<el-form-item label="到期结算日" prop="PayDate">
<el-date-picker type="date" class="w200" v-model="addMsg.PayDate" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="4" :gutter="35">
<el-form-item label="团队编号">
<el-input placeholder="请输入" v-model="TCIDS"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" :gutter="35">
<button type="button" class="normalBtn" style="margin:5px 0 0 60px;" @click="checkIsUse">添加团号</button>
</el-col>
<el-col :span="12" :gutter="35">
<el-form-item label="上传凭证">
<div class="_addUpload_box clearfix" >
<template v-for="(file,fIndex) in saveMsg">
<div v-if="file.Type==3">
<div style="width:100%;height:100%;overflow: hidden;">
<img :src="file.Url?file.Url:file.Content" @click="showUpLoadFile(file)">
</div>
<span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span>
</div>
<div v-if="file.Type==1">
<div class="iconfont " :class="file.Content.substring(file.Content.lastIndexOf('.')+1,file.Content.length).toUpperCase()=='PDF'? 'icon-pdf' : 'icon-excel'" @click="showUpLoadFile(file)">
</div>
<span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span>
</div>
<div v-if="file.Type==2">
<div class="iconfont icon-excel" @click="showUpLoadFile(file)">
</div>
<span class="iconfont icon-guanbi1" @click="deleteUploadFile(fIndex)"></span>
</div>
</template>
<div class="_pic_upload">
<el-upload
drag
:http-request="uploadFileBtn"
:multiple="true" :show-file-list="false" action="">
<i class="el-icon-plus avatar-uploader-icon"></i>
<div class="el-upload__text">点击/拖拽上传</div>
</el-upload>
</div>
</div>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20" :gutter="35">
<div class="teamNumCon">
<span class="teamNumList" v-for="(item,index) in allTeamList">{{item.TCID}} <i @click="removeTeam(index)" class="iconfont icon-quxiao"></i></span>
</div>
</el-col>
</el-row>
</el-form>
</div>
<el-dialog custom-class='exportCompany' title="选择信息" :visible.sync="outerVisible" center>
<el-form label-width="100px">
<el-form-item label="导出月份">
<el-date-picker
v-model="exportInfo.DCDate"
type="month"
value-format="yyyy-MM"
placeholder="选择月">
</el-date-picker>
</el-form-item>
<el-form-item label="制单日期">
<el-date-picker type="date" v-model="exportInfo.StartGroupDate"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd" placeholder></el-date-picker>
<el-date-picker type="date" v-model="exportInfo.EndGroupDate"
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd" placeholder></el-date-picker>
</el-form-item>
<el-form-item label="币种" class='multiple_input countryList'>
<el-select filterable v-model='exportInfo.CurrType' placeholder="请选择币种" class=" _border_b_1">
<el-option v-for='item in coinGetList'
:label='item.Name'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="客户名称" class='multiple_input countryList'>
<el-select filterable v-model='exportInfo.ClientId' placeholder="请选择客户名称" class=" _border_b_1">
<el-option :value="0" label="不限"></el-option>
<el-option v-for='item in ClientAccountList'
:label='item.Name'
:value='item.ID'
:key='item.ID'>
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="normalBtn" type="primary" @click="goToExport('BusExport')">{{$t('pub.saveBtn')}}</button> &nbsp;
<button class="hollowFixedBtn" @click="outerVisible = false,clearDialog()">{{$t('pub.cancelBtn')}}</button>
</div>
</el-dialog>
<div v-if='picIsShow' class="_show_img_box" @click="picIsShow=false,picObj=[]">
<div style="position: absolute; width: 800px; height: 600px; left: 50%; top: 50%; margin-left: -400px; margin-top: -300px;">
<el-carousel :initial-index=initialIndex height="600px" :interval="5000" trigger="click">
<el-carousel-item style="height: 600px;overflow:auto;" v-for="(item,index) in picObj" :key="index">
<img :src="item" style=""/>
</el-carousel-item>
</el-carousel>
</div>
</div>
</div>
</template>
<script>
import Vue from 'vue'
export default {
data(){
return {
columns: [],
remoteLoading:false,
total: 0,
isReady: false,
multipleSort: false,
loading: true,
outerVisible:false,
msg: {
pageSize:15,
pageIndex:1,
CarDistribution:'',
StartTime:'',
EndTime:''
},
addMsg:{
TCIDStr:'',
CarNum:'',
f_UnitPrice:'',
CarNumber:'',
CarUnitPrice:'',
JJPrice:'',
HSPrice:'',
ZJPrice:'',
SJPrice:'',
ZJiPrice:'',
f_currency:1,
f_rate:'',
ClientID:0,
PayDate:'',
VorList:[]
},
dataList: [],
total: 0,
currentPage: 1,
loading: true,
text: "",
dialogTitle: "",
noData: false,
addShow: false,
//验证规则
rules:{
f_UnitPrice: [{ required: true, message: "请输入金额", trigger: "blur" }],
CarNumber: [{ required: true, message: "请输入数量", trigger: "blur" }],
PayDate: [{ required: true, message: "请选择到期结算日", trigger: "blur" }],
CarNum: [{ required: true, message: "请填写车配号", trigger: "blur" }],
},
isCked:'1',
//供应商下拉
ClientTypeList:[],
//账户类型
ClientAccountList:[],
//付款账户
ClientAccountListS:[],
//供应商默认选中
suppierCked:4,
//客户名称选中ID
customId:0,
//车配号 年
Year:'',
//币种下拉
coinGetList:[],
//总价
TotalMoney:'',
//全部团队编号
allTeamList:[],
//TCID
TCIDS:'',
//团队编号
TCIDList:{
TCID:'',
TCNUM:""
},
//弹窗导出信息
exportInfo:{
DCDate:'',
StartGroupDate:'',
EndGroupDate:'',
CurrType:3,
ClientId:0
},
//上传数组
saveMsg:[],
picIsShow:false,
picObj:[],
imgList:[],
pickerBeginDateBefore: {
disabledDate: time => {
let endTime = new Date(this.exportInfo.EndGroupDate)
return endTime.getTime() < time.getTime()
}
},
pickerBeginDateAfter: {
disabledDate: time => {
let startTime = new Date(this.exportInfo.StartGroupDate)
return startTime.getTime() >= time.getTime()
}
}
};
},
methods: {
initColums() {
this.isReady = false;
let that = this;
let License = {
title: "车配号",
field: "CarDistribution",
width: 80,
titleAlign: "left",
columnAlign: "left",
isResize: true,
result: "",
filterMultiple: false,
filters: [{}],
type: "text"
};
let ShareDate = {
field: "CreateTime",
title: "分摊日期",
width: 40,
titleAlign: "left",
columnAlign: "left",
isResize: true,
result:{},
filterMultiple:false,
filters: [{}],
type:'datetime'
};
let Details = {
field: "Description",
title: "详情",
width: 80,
titleAlign: "left",
columnAlign: "left",
isResize: true,
// result: "",
// filterMultiple: false,
// filters: [{}],
// type: "text"
};
let ShareTeam = {
field: "TCIDList",
title: "分摊的团",
titleAlign: "left",
columnAlign: "left",
isResize: true,
width: 80,
componentName:'table-teamList'
// orderBy: "desc",
// filterMultiple: false,
// filters: [{}],
// type: "text"
};
let ProductDoc = {
field: "FinanceIdList",
title: "产生单据",
titleAlign: "left",
columnAlign: "left",
isResize: true,
width: 80,
componentName:'table-docment',
// filterMultiple: true,
// result: [],
// filters: [{}],
// type: "text"
};
let operaler = {
title: "操作人员",
field: "CreateByName",
titleAlign: "left",
columnAlign: "left",
width: 80,
isResize: true,
};
let Operate = {
title: "操作",
titleAlign: "left",
columnAlign: "left",
width: 80,
isResize: false,
componentName:'table-operation'
}
this.columns = [];
this.columns.push(License);
this.columns.push(ShareDate);
this.columns.push(Details);
this.columns.push(ShareTeam);
this.columns.push(ProductDoc);
this.columns.push(operaler);
this.columns.push(Operate);
this.isReady = true;
},
customCompFunc(params){
this.financeinfoRemove(params.id,params.text)
},
financeinfoRemove(id, text) {
this.$confirm(
"是否对" + "“" + text + "”" + "进行删除操作?删除后不可恢复!",
"提示",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}
)
.then(() => {
this.apipost(
"bus_post_DelCarfareApportion",
{ CarId: id },
res => {
if (res.data.resultCode == 1) {
this.Success(res.data.message);
this.getList();
} else {
this.Error(res.data.message);
}
this.getList();
},
err => {}
);
})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除"
});
});
},
sortChange(param) {
},
filterMethod(filters) {
this.msg.CarDistribution = filters.CarDistribution;
this.msg.StartTime = filters.CreateTime.beginDate;
this.msg.EndTime = filters.CreateTime.endDate;
if(this.msg.StartTime==null){
this.msg.StartTime='';
}
if(this.msg.EndTime==null){
this.msg.EndTime='';
}
this.msg.pageIndex = 1;
this.getList();
},
handleCurrentChanges(val) {
this.msg.pageIndex = val;
this.getList();
},
getList() {
this.loading = true;
this.apipost(
"bus_get_GetCarfareApportionPageList",
this.msg,
res => {
this.loading = false;
if (res.data.resultCode == 1) {
this.dataList = res.data.data.pageData;
this.total = res.data.data.count;
} else {
this.Error(res.data.message);
}
},
null
);
},
initAddMsg() {
//初始化添加、修改数据
let newMsg = {
TCIDStr:'',
CarNum:'',
f_UnitPrice:'',
CarNumber:'',
CarUnitPrice:'',
JJPrice:'',
HSPrice:'',
ZJPrice:'',
SJPrice:'',
ZJiPrice:'',
f_currency:1,
f_rate:'',
ClientID:0,
PayDate:'',
VorList:[]
};
this.Year = '';
this.TCIDS ='';
this.allTeamList = [];
this.saveMsg = [];
this.addMsg = newMsg;
},
resetForm(formName) {
this.initAddMsg();
this.$refs[formName].resetFields();
},
//获取供应商
financeinfo_post_GetClientTypeList(){ // 获取对象类型
this.apipost('financeinfo_post_GetClientTypeList',{}, res => {
if(res.data.resultCode == 1) {
this.ClientTypeList = res.data.data;
}
}, err => {})
},
//获取客户类型
financeinfo_post_GetClientAccountList(){ //获取付款 对象类型 新增用
let msg = {
ID:0,
Type:4,
ObjID:0,
CardNum:''
}
this.apipost('financeinfo_post_GetClientAccountList',msg, res => {
if(res.data.resultCode == 1) {
let data = res.data.data;
let ClientAccountList = [];
data.forEach(x=>{
let obj = {
ID:x.ID,
Name:x.AccountHolder + `(${x.AccountAlias})`,
Nom:x.CardNum,
OpenBankName:x.OpenBankName,
ObjID:x.ObjID,
}
ClientAccountList.push(obj)
})
this.ClientAccountList = ClientAccountList;
}
}, err => {})
},
GetClientAccountList(i){ //获取客户名称并且根据费用类型和付款对象获取客户账号
let msg = {
ID:i,
Type:4,
ObjID:0,
CardNum:''
}
this.addMsg.ClientID=0;
this.apipost('financeinfo_post_GetClientAccountList',msg, res => {
if(res.data.resultCode == 1) {
let data = res.data.data;
let ClientAccountList = [];
if(i){
data.forEach(x=>{
let obj = {
ID:x.ID,
Name:x.AccountHolder + + `(${x.AccountAlias})`,
Nom:x.CardNum,
OpenBankName:x.OpenBankName,
allName:x.CardNum+" "+x.OpenBankName,
ObjID:x.ObjID,
}
ClientAccountList.push(obj)
})
this.ClientAccountListS = ClientAccountList;
}
}
}, err => {})
},
//获取币种
financeinfo_post_GetList(){
this.apipost('financeinfo_post_GetList',{Name:''}, res => {
if(res.data.resultCode == 1) {
this.coinGetList = res.data.data;
}
}, err => {})
},
getRate(ID){ // 根据选择币种获取汇率
this.coinGetList.forEach(x=>{
if(x.ID==ID){
this.addMsg.f_rate=x.CurrentRate;
}
})
this.getTotalMoney();
},
//点击新增
getInfo(){
this.addShow = true;
var rate = this.addMsg.f_currency;
this.initAddMsg();
this.getRate(rate);
},
//输入金额得到总价
getTotalMoney(){
this.TotalMoney = this.addMsg.f_UnitPrice*this.addMsg.f_rate;
},
//输入数量 得到单价
getSingelePrice(){
if(this.addMsg.f_UnitPrice==''||this.addMsg.CarNumber==''){
this.addMsg.CarUnitPrice=0.00
}else{
if(this.addMsg.JJPrice==''){
this.addMsg.JJPrice=0;
}
if(this.addMsg.HSPrice==''){
this.addMsg.HSPrice=0;
}
if(this.addMsg.ZJPrice==''){
this.addMsg.ZJPrice=0;
}
if(this.addMsg.SJPrice==''){
this.addMsg.SJPrice=0;
}
if(this.addMsg.ZJiPrice==''){
this.addMsg.ZJiPrice=0;
}
var zong = parseFloat(this.addMsg.f_UnitPrice);
var total = parseInt(this.addMsg.JJPrice)+parseInt(this.addMsg.HSPrice)+parseInt(this.addMsg.ZJPrice)+
parseInt(this.addMsg.SJPrice)+parseInt(this.addMsg.ZJiPrice);
this.addMsg.CarUnitPrice = ((zong-total)/this.addMsg.CarNumber).toFixed(2);
}
},
//筛选团队
getTeamInfo(){
var Year = new Date(this.Year);
let msg = {
Year:Year.getFullYear(),
CarNum:this.addMsg.CarNum
}
this.apipost('bus_get_ScreeningTravelForCarNum',msg, res => {
if(res.data.resultCode == 1) {
this.allTeamList = res.data.data;
console.log(this.allTeamList,'allTeamList');
}else{
this.Error(res.data.message);
}
}, err => {})
},
//移除团队
removeTeam(index){
this.allTeamList.splice(index,1);
},
//根据团号 验证该团号是否可以
checkIsUse(){
let msg = {
TCID:this.TCIDS
}
this.apipost('bus_get_ValidataTravelState',msg, res => {
if(res.data.resultCode == 1) {
var obj = {
TCID:'',
TCNUM:""
}
obj.TCID = this.TCIDS
this.allTeamList.push(obj);
}else{
this.Error(res.data.message);
}
this.TCIDS = '';
}, err => {})
},
//保存
submitForm(addMsg) {
//提交创建、修改表单
this.$refs[addMsg].validate(valid => {
if (valid) {
this.saveInfo();
} else {
console.log("error submit!!");
return false;
}
});
},
//保存信息
saveInfo(){
var newArr = [];
this.allTeamList.forEach(x=>{
newArr.push(x.TCID);
})
var str = "";
for(var i=0;i<newArr.length;i++){
str += newArr[i] + ",";
}
//去掉最后一个逗号(如果不需要去掉,就不用写)
if (str.length > 0) {
str = str.substr(0,str.length - 1);
}
this.addMsg.TCIDStr = str;
this.addMsg.CarNumber = parseInt(this.addMsg.CarNumber);
this.addMsg.JJPrice = parseFloat(this.addMsg.JJPrice);
this.addMsg.HSPrice = parseFloat(this.addMsg.HSPrice);
this.addMsg.ZJPrice = parseFloat(this.addMsg.ZJPrice);
this.addMsg.SJPrice = parseFloat(this.addMsg.SJPrice);
this.addMsg.ZJiPrice = parseFloat(this.addMsg.ZJiPrice);
this.addMsg.f_rate = parseFloat(this.addMsg.f_rate);
this.apipost('bus_post_SetCarfareApportion',this.addMsg, res => {
if(res.data.resultCode == 1) {
this.addShow = false;
this.Success(res.data.message);
this.getList();
}else{
this.Error(res.data.message);
}
}, err => {})
},
//清空弹窗
clearDialog(){
this.exportInfo.DCDate='',
this.exportInfo.StartGroupDate='',
this.exportInfo.EndGroupDate=''
},
//跳转打印页面
goToExport(path){
if(this.exportInfo.DCDate==''||this.exportInfo.MakeStartDate==''){
this.Error('请选择导出月份或制单日期');
return;
}
let routeData = this.$router.resolve({
name: path,
query: {
Month: this.exportInfo.DCDate,
MakeStartDate:this.exportInfo.StartGroupDate,
MakeEndDate:this.exportInfo.EndGroupDate,
CurrType:this.exportInfo.CurrType,
ClientId:this.exportInfo.ClientId
}
});
window.open(routeData.href, "_blank");
},
showUpLoadFile(i){ // 预览上传文件
if(i.Type==3){
this.picObj.push(i.Url);
this.imgList.push(i.Url);
this.picIsShow= true;
// this.hideFlashMan = true;
}else{
if(i.Content.substring(i.Content.lastIndexOf('.')+1,i.Content.length).toUpperCase()=='PDF'){
this.previewPDF(i.Url)
}else{
window.open("https://view.officeapps.live.com/op/view.aspx?src="+i.Url)
}
}
},
deleteUploadFile(i){ // 删除上传文件
this.saveMsg.splice(i,1);
this.addMsg.VorList = this.saveMsg;
},
uploadFileBtn(file) { //上传
if(file.file.size > 1024 * 1024 * 10) {
this.Error('文件大小不能超过10M!')
return
}
// 1 文档 2 数据 3 图片
let typeArr=[
{stringArr:'GIF|JPG|JPEG|PNG|BMP',type:3},
{stringArr:'DOCX|DOC|XLSX|XLS|PPT|PPTX|PDF',type:1},
]
let ft=file.file.name.substring(file.file.name.lastIndexOf('.')+1,file.file.name.length).toUpperCase();
let fileTypeNumber = 2;
let typeOk = false;
typeArr.forEach(x=>{
if(x.stringArr.indexOf(ft)!='-1')
{
fileTypeNumber=x.type
typeOk = true;
}
})
if (!typeOk) return this.Error('请上传图片、word、excel类型的文件!');
let newArr = [];
newArr.push(file.file)
let path = "/Upload/Temporary/"
this.$message.info('上传中...')
this.uploadFile(path, newArr, x => {
console.log(x.res.requestUrls[0])
let fileSize = file.file.size<1024? file.file.size:(file.file.size / 1024).toFixed(0);
this.saveMsg.push({
Content: x.name,
ID:0,
Type:fileTypeNumber,
Url:x.res.requestUrls[0].split("?")[0],
})
this.addMsg.VorList = this.saveMsg;
this.Success('上传成功');
});
},
},
mounted(){
this.getList();
this.initColums();
this.financeinfo_post_GetClientTypeList();
this.financeinfo_post_GetClientAccountList();
this.financeinfo_post_GetList();
},
created(){
Vue.component('table-docment',{ //产生单据样式
template:`<div class='FinaceItem'>
<span style='cursor:pointer;' @click='goDocment("FinancialDocumentsDetail",item)' v-for='item in rowData.FinanceIdList'>{{item}}</span>
</div>`,
props:{
rowData:{
type:Object
},
field:{
type:String
},
index:{
type:Number
}
},
methods:{
//跳转财务单据
goDocment(path, id) {
this.$router.push({ name: path, query: { id: id, blank: 'y', tab: '单据详情'} });
}
}
})
Vue.component('table-teamList',{ //分摊的团样式
template:`<div class='FinaceItem'>
<span style='cursor:pointer;' @click='goUrlX("productQuery",item)' v-for='item in rowData.TCIDList'>{{item}}</span>
</div>`,
props:{
rowData:{
type:Object
},
field:{
type:String
},
index:{
type:Number
}
},
methods:{
goUrlX (path, id) {
this.$router.push({
name: path,
query: {id: id, blank: 'y', tab: '产品查询'}
})
},
}
})
//操作按钮
Vue.component('table-operation',{
template:`<div style='width:80px;height:40px;background:#fff;text-align:center;position: relative;
left:-5px;padding-top: 6px;padding-top:6px;'></el-button><el-button type="danger" size='mini' icon="el-icon-delete" circle @click="deleteRow(rowData,index)"></el-button>
</div>`,
props:{
rowData:{
type:Object
},
field:{
type:String
},
index:{
type:Number
}
},
methods:{
deleteRow(){
let params = {type:'delete',id:this.rowData.ID,text:this.rowData.CarDistribution};
this.$emit('on-custom-comp',params);
}
}
})
}
}
</script>
......@@ -553,7 +553,7 @@ export default {
co(function* () {
for (let index = 0; index < files.length; index++) {
let fileName = nameList[index]
fileName = path + fileName + "." + files[index].name.split('.').pop()
fileName ="/New"+ path + fileName + "." + files[index].name.split('.').pop()
var result = yield oss.multipartUpload(fileName, files[index], {
progress: function* (p) {},
mime: 'application/octet-stream'
......
......@@ -1032,14 +1032,14 @@ export default {
title: '机票列表'
},
},
{
path: '/individualTicket', //散客机票
name: 'individualTicket',
component: resolve => require(['@/components/Ticketing/individualTicket'], resolve),
meta: {
title: '散客机票'
},
},
// {
// path: '/individualTicket', //散客机票
// name: 'individualTicket',
// component: resolve => require(['@/components/Ticketing/individualTicket'], resolve),
// meta: {
// title: '散客机票'
// },
// },
// ,{
// path: '/IndividualTicketOrder', //散客今日机票订单
// name: 'IndividualTicketOrder',
......
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