Commit ce282fdf authored by 沈良进's avatar 沈良进

save

parent f611885c
<style>
@import "../../../assets/css/newTravelManager.css";
@import "../../../assets/css/newTravelManager.css";
.productQueryList {
.productQueryList {
width: 100%;
min-width: 1366px;
padding-left: 10px;
}
}
.productQueryList li {
.productQueryList li {
width: 100%;
border: 1px solid #e5e5e5;
background: #fff;
margin-bottom: 10px;
color: #333;
font-size: 14px;
}
}
.productQueryList li::after {
.productQueryList li::after {
content: "";
display: block;
clear: both;
}
}
.productQueryList li i.iconfont {
.productQueryList li i.iconfont {
color: #bbb;
margin-right: 8px;
}
}
.productQueryList li>div:first-child {
.productQueryList li > div:first-child {
display: table;
width: 100%;
}
}
.productQueryList li>div>div {
.productQueryList li > div > div {
display: table-cell;
border-right: 1px dashed #dcdfe6;
}
}
.productQueryList li>div>div:last-child {
.productQueryList li > div > div:last-child {
border-right: none;
}
}
.productQueryList li .d11 {
.productQueryList li .d11 {
float: left;
width: 160px;
height: 120px;
margin: 14px 14px 0 14px;
}
}
.productQueryList li .d11>li {
.productQueryList li .d11 > li {
width: 160px;
height: 120px;
border: none;
}
}
.productQueryList li .d11>li>img {
.productQueryList li .d11 > li > img {
width: 160px;
height: 120px;
}
}
.productQueryList li .d12 {
.productQueryList li .d12 {
float: left;
padding-top: 18px;
width: 200px;
}
}
.productQueryList li .d12 .d12p {
.productQueryList li .d12 .d12p {
margin-top: 3px;
font-size: 12px;
color: #999;
......@@ -77,32 +77,32 @@
text-overflow: ellipsis;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
}
.productQueryList li .d12 .d12p:hover {
.productQueryList li .d12 .d12p:hover {
text-decoration: underline;
color: #333;
}
}
.productQueryList li .d12 .d12TC {
.productQueryList li .d12 .d12TC {
margin: 5px 0;
color: #666666;
font-size: 12px;
}
}
.productQueryList li .d1 {
.productQueryList li .d1 {
width: 18%;
position: relative;
padding: 0 20px;
}
}
.productQueryList li .d2 {
.productQueryList li .d2 {
width: 14%;
text-align: center;
padding-top: 20px;
}
}
.productQueryList li .d2 p.flightNo {
.productQueryList li .d2 p.flightNo {
background: #ccc;
width: 136px;
margin: 5px 0;
......@@ -111,210 +111,210 @@
line-height: 22px;
display: inline-block;
font-size: 14px;
}
}
.productQueryList li .d2 p.flightNo em {
.productQueryList li .d2 p.flightNo em {
font-style: normal;
color: #333;
font-size: 12px;
font-weight: bold;
}
}
.productQueryList li .d2 p.flightNo .flem {
.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 {
.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 {
.productQueryList li .d2 > div > div {
display: inline-block;
line-height: 24px;
font-size: 12px;
}
}
.productQueryList li .d3 {
.productQueryList li .d3 {
width: 17%;
padding-left: 40px;
padding-top: 20px;
}
}
.productQueryList li .d3 p {
.productQueryList li .d3 p {
line-height: 24px;
}
}
.productQueryList li .d3 p>span {
.productQueryList li .d3 p > span {
color: #666;
font-size: 12px;
margin-right: 10px;
}
}
.productQueryList li .d3 p>em {
.productQueryList li .d3 p > em {
background: #ff9c00;
font-style: normal;
margin-left: 8px;
color: #fff;
border-radius: 4px;
padding: 2px 5px;
}
}
.productQueryList li .d4 {
.productQueryList li .d4 {
width: 10%;
padding-left: 20px;
padding-top: 20px;
}
}
.productQueryList li .d4 p span.price {
.productQueryList li .d4 p span.price {
color: #333;
text-decoration: underline;
font-size: 12px;
}
}
.productQueryList li .d4 p span.price:hover {
.productQueryList li .d4 p span.price:hover {
color: #e95252;
font-weight: bold;
cursor: pointer;
}
}
.productQueryList li .d5 {
.productQueryList li .d5 {
width: 15%;
padding-left: 40px;
padding-top: 20px;
}
}
.productQueryList li .d5 p {
.productQueryList li .d5 p {
line-height: 26px;
}
}
.productQueryList li .d5 p>span {
.productQueryList li .d5 p > span {
color: #666;
font-size: 12px;
margin-right: 10px;
}
}
.productQueryList li .d5 p>i {
.productQueryList li .d5 p > i {
font-weight: bold;
font-style: normal;
}
}
.productQueryList li .d8 {
.productQueryList li .d8 {
width: 15%;
padding-left: 40px;
padding-top: 20px;
}
}
.productQueryList li .d8 p {
.productQueryList li .d8 p {
line-height: 26px;
}
}
.productQueryList li .d8 p>span {
.productQueryList li .d8 p > span {
color: #666;
font-size: 12px;
margin-right: 10px;
}
}
.productQueryList li .d8 p>i {
.productQueryList li .d8 p > i {
font-style: normal;
}
}
.productQueryList li .d6 {
.productQueryList li .d6 {
padding: 20px 40px;
width: 100%;
height: inherit;
border-top: 1px solid #e5e5e5;
}
}
.productQueryList li .d6 p {
.productQueryList li .d6 p {
display: table-cell;
color: #e95252;
}
}
.productQueryList li .d6 p:nth-child(1) {
.productQueryList li .d6 p:nth-child(1) {
width: 60px;
font-size: 12px;
}
}
.productQueryList li .d7 {
.productQueryList li .d7 {
width: 10%;
min-width: 160px;
text-align: center;
padding: 40px 20px;
border-right: none;
}
}
.productQueryList li .d7 button {
.productQueryList li .d7 button {
width: 30px;
height: 30px;
border-radius: 4px;
}
}
.productQueryList li .d7 .el-button--primary {
.productQueryList li .d7 .el-button--primary {
padding: 5px;
margin: 0;
font-size: 14px !important;
color: #fff;
}
}
.productQueryList li .d7 i.iconfont {
.productQueryList li .d7 i.iconfont {
color: #fff;
margin: 0;
}
}
.pro_tripDetails {
.pro_tripDetails {
padding: 0;
box-shadow: 0px 1px 3px 0px #dedede;
max-height: 400px;
overflow-y: auto;
}
}
.pro_tripDetails .popper__arrow::after {
.pro_tripDetails .popper__arrow::after {
border-bottom-color: #ededed !important;
}
}
.pro_tripDetails table {
.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 {
.pro_tripDetails table th {
background-color: #ededed;
padding: 5px;
}
}
.pro_tripDetails table td {
.pro_tripDetails table td {
background-color: #ffffff;
padding: 9px 15px;
color: #333333;
border: 1px solid #d2d2d2;
}
}
.pro_tripDetails table td._d_name {
.pro_tripDetails table td._d_name {
background-color: #ededed;
}
}
.pro_tripDetails table ._color_666 {
.pro_tripDetails table ._color_666 {
color: #666666;
}
}
.pro_tripDetails table tr._color_666 th {
.pro_tripDetails table tr._color_666 th {
padding: 9px 15px;
}
}
.productQuerybottomLayer {
.productQuerybottomLayer {
overflow: auto;
position: fixed;
max-height: 300px;
......@@ -325,13 +325,13 @@
background-color: #ffffff;
padding: 10px 10px 0;
width: 100%;
}
}
.productQuerybottomLayer .el-form-item__label {
.productQuerybottomLayer .el-form-item__label {
font-size: 12px !important;
}
}
.productQuerybottomLayer>p {
.productQuerybottomLayer > p {
border-left: 3px solid #e95252;
text-indent: 15px;
height: 16px;
......@@ -340,18 +340,18 @@
margin-bottom: 20px;
line-height: 14px;
color: #000;
}
}
.productQuerybottomLayer .el-input {
.productQuerybottomLayer .el-input {
width: auto !important;
}
}
.productQueryList .disabledBtn {
.productQueryList .disabledBtn {
background: #999 !important;
border-color: #999 !important;
}
}
.product_union {
.product_union {
position: absolute;
top: 0px;
left: 0px;
......@@ -361,9 +361,9 @@
border-bottom: 15px solid transparent;
border-left: 15px solid red;
border-right: 15px solid transparent;
}
}
.product_union::after {
.product_union::after {
content: "联";
position: absolute;
top: -14px;
......@@ -371,9 +371,9 @@
white-space: nowrap;
color: #ffffff;
font-size: 12px;
}
}
.product_union1 {
.product_union1 {
position: absolute;
top: 0px;
left: 0px;
......@@ -383,9 +383,9 @@
border-bottom: 15px solid transparent;
border-left: 15px solid red;
border-right: 15px solid transparent;
}
}
.product_union1::after {
.product_union1::after {
content: "内";
position: absolute;
top: -14px;
......@@ -393,9 +393,9 @@
white-space: nowrap;
color: #ffffff;
font-size: 12px;
}
}
.product_warning {
.product_warning {
position: absolute;
top: 0px;
right: 0px;
......@@ -405,9 +405,9 @@
border-bottom: 10px solid transparent;
border-left: 10px solid transparent;
border-right: 10px solid red;
}
}
.product_warning::after {
.product_warning::after {
content: "!";
position: absolute;
top: -12px;
......@@ -415,557 +415,158 @@
white-space: nowrap;
color: #ffffff;
font-size: 12px;
}
}
.PQ_detail {
.PQ_detail {
width: 100%;
border-collapse: collapse;
}
}
.PQ_detail tr th,
.v-table-title-cell {
.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 {
.PQ_detail tr {
background: #fff;
text-align: center;
height: 40px;
}
}
.PQ_detail tr td {
.PQ_detail tr td {
font-size: 12px;
border: 1px solid #e5e5e5;
}
}
.PQ_HotelPop {
.PQ_HotelPop {
overflow: auto;
max-height: 350px;
}
}
.PQ_HotelPop table td {
.PQ_HotelPop table td {
padding: 5px 0;
text-align: center;
}
}
.PQ_HotelPop table th {
.PQ_HotelPop table th {
text-align: center;
}
}
.productQuerybottomLayer .el-upload-list {
.productQuerybottomLayer .el-upload-list {
width: 200px;
}
</style>
}
</style>
<template>
<div class="productQueryList" v-loading="loading">
<el-checkbox v-model="allCheck"></el-checkbox>
<el-button type="primary" @click="eidtItems">批量操作</el-button>
<ul v-if="list.length != 0">
<li v-for="(item, index) in list" :key="index">
<div class="dline">
<div><el-checkbox v-model="item.check"></el-checkbox></div>
<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" :style="{'width': pagesTitle=='跟团游产品'?'200px':'auto'}">
<div
class="d12"
style="float: none; margin: auto"
:style="{ width: pagesTitle == '跟团游产品' ? '200px' : '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="getTitledetail(item)" :title="item.Title">
<el-tooltip
class="item"
effect="dark"
:content="item.Title"
placement="top-start"
popper-class="max-w250"
>
<p
class="d12p"
@click="getTitledetail(item)"
:title="item.Title"
>
{{ item.Title }}
</p>
</el-tooltip>
<p v-if="item.CustomerName&&item.CustomerName!=''" style="font-size: 11px;font-weight:bold;color:red">
<span v-if="item.CustomerName">客户名称:{{item.CustomerName}}
</span>
</p>
<p v-if="item.PriceOfferUrl&&item.PriceOfferUrl!=''">
<a style="color:blue;" :href="item.PriceOfferUrl" v-if="item.PriceOfferUrl" target="_blank">下载报价单</a>
</p>
</div>
</div>
<div class="d2" v-if="pagesTitle=='跟团游产品'">
<p style="text-align: left; text-indent: 50px">
<i class="iconfont icon-hangban1"></i>{{ $t("salesModule.GoFlight") }}
</p>
<p class="flightNo">
<em class="fl flem"
:title="item.flightList[0] && item.flightList[0].AlName">{{ item.flightList[0] && item.flightList[0].AlName }}</em>
<em class="fr">{{
item.flightList[0] && item.flightList[0].Flight_number
}}</em>
</p>
<div>
<div>
<p>
{{
item.flightList[0] && item.flightList[0].DepartureName
}}---------{{
item.flightList[0] && item.flightList[0].ArrivalCityName
}}
</p>
<p>
<span style="background-color: transparent; color: #000000">{{
item.flightList[0] && item.flightList[0].Departure_time
}}</span>
<el-popover width="900" trigger="click" popper-class="pro_tripDetails">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr class="_color_666" style="text-align: center">
<th width="60">{{ $t("Airticket.Air_segment") }}</th>
<th width="80">{{ $t("system.query_flightNum") }}</th>
<th width="150">{{ $t("system.ph_flightTime") }}</th>
<th width="80">
{{ $t("system.query_arrivalTime") }}
</th>
<th width="100">{{ $t("system.query_stopCity") }}</th>
<th width="60">{{ $t("admin.admin_status") }}</th>
</tr>
<tr v-for="(ds, din) in tripDetails" :key="din" style="text-align: center">
<td class="_d_name _color_666">
<span v-if="din == 0">{{
$t("Airticket.Air_go")
}}</span>
<span v-else-if="din == tripDetails.length - 1">{{
$t("Airticket.Air_returnTrip")
}}</span>
<span v-else-if="
din > 0 && din != tripDetails.length - 1
">{{ $t("Airticket.Air_transit") }}</span>
</td>
<td>
<div>{{ ds.Flight_number }}</div>
<div style="margin-top: 5px">{{ ds.AlName }}</div>
</td>
<td>
<div>
{{ ds.FlightDate }} {{ ds.Departure_time }}
</div>
<div style="margin-top: 5px">{{ ds.dName }}</div>
</td>
<td>
<div>
{{ ds.FlightArrivalTime }} {{ ds.Arrival_time }}
</div>
<div style="margin-top: 5px">{{ ds.aName }}</div>
</td>
<td>{{ ds.StopoverName }}</td>
<td>
<span v-if="ds.FlightState == 1" style="color: rgb(71, 191, 140) !important">OK</span>
<span v-else style="color: red !important">{{
$t("visa.v_zanding")
}}</span>
</td>
</tr>
</table>
<span slot="reference" @click="getDetails(index)">{{
$t("Airticket.Air_backAndforth")
}}</span>
</el-popover>
<span style="background-color: transparent; color: #000000">{{
item.flightList[0] && item.flightList[0].Arrival_time
}}</span>
</p>
</div>
<div>
<p>{{ item.ACityName }}</p>
<p>{{ item.Arrival_time }}</p>
</div>
</div>
</div>
<div class="d3" v-if="pagesTitle=='跟团游产品'">
<p>
<i class="iconfont icon-tuandui"></i>{{ $t("visa.v_teaminfo")
}}<em>{{ item.DayNum }}{{ $t("hotel.hotel_day") }}{{ item.NightNum
}}{{ $t("Operation.Op_night") }}</em>
</p>
<p>
<span>{{ $t("Airticket.Air_StartTime") }}</span>{{ item.StartDate }}
</p>
<p>
<span>{{ $t("system.table_goCity") }}</span>{{ item.StartCityName }}
</p>
<p>
<span>{{ $t("salesModule.BackCity") }}</span>{{ item.ReturnArriveCityName }}
</p>
<p>
<span>{{ $t("scen.sc_cp") }}</span>{{ item.OutBranchName }}
<span class="TC_neibu" style="float: inherit;color: #ffffff;margin-left: 5px;"
v-if="item.StandardCurrencyName" :class="{'TCneibu':item.StandardCurrencyName=='人民币','TCb2b':item.StandardCurrencyName=='日元',
'TCb2c':item.StandardCurrencyName=='新台币','AppPlat':item.StandardCurrencyName=='',
'otherPlat':item.StandardCurrencyName=='',}">{{item.StandardCurrencyName}}结算</span>
</p>
<p v-show="item.ClearOrderHour > 0">
<span>{{ $t("salesModule.THQW") }}</span>
<span class="TCL-greenType">{{ item.ClearOrderHour }}{{ $t("salesModule.Hour") }}</span>
</p>
<p v-show="item.SaleClearOrderHour && item.SaleClearOrderHour > 0">
<span>{{ $t("salesModule.XSQW") }}</span>
<span class="TCL-greenType">{{ item.SaleClearOrderHour
}}{{ $t("salesModule.Hour") }}</span>
</p>
</div>
<div class="d4">
<p>
<i class="iconfont icon-jiage"></i>{{ $t("Operation.Op_PriceInfo") }}
</p>
<p style="
color: #47bf8c;
font-size: 16px;
font-weight: bold;
margin: 5px 0;
">
{{ $t("Operation.Op_tradePrice") }}:¥{{
item.B2BMemberPrice | priceFormat(item.B2BMemberPrice)
}}<br />
{{ $t("Operation.Op_directPrice") }}:¥{{
item.B2CMemberPrice | priceFormat(item.B2CMemberPrice)
}}
</p>
<div class="d3" v-if="pagesTitle == '跟团游产品'">
<p>
<el-popover width="630" trigger="click">
<table class="PQ_detail">
<tr>
<td :colspan="pagesTitle=='跟团游产品'?'6':'5'" style="text-align: left; padding-left: 10px">
{{ $t("salesModule.BasePrice") }}
</td>
</tr>
<tr>
<th v-if="pagesTitle=='跟团游产品'">{{ $t("advmanager.v_type") }}</th>
<th>{{ $t("salesModule.HYTHJ") }}</th>
<th>{{ $t("salesModule.PTTHJ") }}</th>
<th>{{ $t("salesModule.ZKHYJ") }}</th>
<th colspan="2">{{ $t("salesModule.PTZKJ") }}</th>
</tr>
<tr>
<td v-if="pagesTitle=='跟团游产品'">{{ $t("salesModule.Adult") }}</td>
<td>
{{
item.B2BMemberPrice | priceFormat(item.B2BMemberPrice)
}}
</td>
<td>{{ item.B2BPrice | priceFormat(item.B2BPrice) }}</td>
<td>
{{
item.B2CMemberPrice | priceFormat(item.B2CMemberPrice)
}}
</td>
<td colspan="2">{{ item.B2CPrice | priceFormat(item.B2CPrice) }}</td>
</tr>
<template v-if="pagesTitle=='跟团游产品'">
<tr>
<td>{{ $t("salesModule.ChildBed") }}</td>
<td>
{{
(item.B2BMemberPrice + item.ChildNeedPrice)
| priceFormat(
item.B2BMemberPrice + item.ChildNeedPrice
)
}}
</td>
<td>
{{
(item.B2BPrice + item.ChildNeedPrice)
| priceFormat(item.B2BPrice + item.ChildNeedPrice)
}}
</td>
<td>
{{
(item.B2CMemberPrice + item.ChildNeedPrice)
| priceFormat(
item.B2CMemberPrice + item.ChildNeedPrice
)
}}
</td>
<td colspan="2">
{{
(item.B2CPrice + item.ChildNeedPrice)
| priceFormat(item.B2CPrice + item.ChildNeedPrice)
}}
</td>
</tr>
<tr>
<td>{{ $t("salesModule.ChildNoBed") }}</td>
<td>
{{
(item.B2BMemberPrice - item.ChildNoNeedPrice)
| priceFormat(
item.B2BMemberPrice - item.ChildNoNeedPrice
)
}}
</td>
<td>
{{
(item.B2BPrice - item.ChildNoNeedPrice)
| priceFormat(item.B2BPrice - item.ChildNoNeedPrice)
}}
</td>
<td>
{{
(item.B2CMemberPrice - item.ChildNoNeedPrice)
| priceFormat(
item.B2CMemberPrice - item.ChildNoNeedPrice
)
}}
</td>
<td colspan="2">
{{
(item.B2CPrice - item.ChildNoNeedPrice)
| priceFormat(item.B2CPrice - item.ChildNoNeedPrice)
}}
</td>
</tr>
<tr>
<td>{{ $t("salesModule.SingleJ") }}</td>
<td colspan="5">
{{
item.SingleDMCPrice | priceFormat(item.SingleDMCPrice)
}}
</td>
</tr>
<tr>
<td>{{ $t("Operation.Op_baby") }}</td>
<td colspan="5">
{{ item.BabyPrice | priceFormat(item.BabyPrice) }}
</td>
</tr>
<tr>
<td colspan="6" style="text-align: left; padding-left: 10px">
{{ $t("salesModule.OtherPrice") }}
</td>
</tr>
<tr>
<th>{{ $t("Operation.Op_oldmanSurcharge") }}</th>
<th>{{ $t("Operation.Op_childSurcharge") }}</th>
<th>{{ $t("salesModule.VisaBack") }}</th>
<th>{{ $t("Operation.Op_singleRoomcha") }}</th>
<th>{{ $t("Operation.Op_zafei") }}</th>
<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>
<td>{{ item.TipAmount?item.TipAmount:'0.00' }}</td>
</tr>
</template>
</table>
<span slot="reference" class="price">{{
$t("Operation.Op_priceDetail")
}}</span>
</el-popover>
<span>{{ $t("Airticket.Air_StartTime") }}</span
>{{ item.StartDate }}
</p>
</div>
<div class="d5">
<p>
<i class="iconfont icon-tuanwei"></i>{{ $t("visa.v_tuanweiinfo") }}
</p>
<p>
<span>{{ $t("visa.v_currentseat") }}</span><i :style="item.SurplusSeat < 0 ? 'color: red' : ''">{{
item.SurplusSeat
}}</i>
</p>
<p>
<span>{{ $t("visa.v_yibaoru") }}</span><i>{{ item.Seat == "" ? "0" : item.Seat
}}{{ $t("salesModule.PeoPle") }}</i>({{ $t("Operation.Op_takeSeat") }}:{{ item.Occupied
<span>{{ $t("visa.v_yibaoru") }}</span
><i
>{{ item.Seat == "" ? "0" : item.Seat
}}{{ $t("salesModule.PeoPle") }}</i
>({{ $t("Operation.Op_takeSeat") }}{{ item.Occupied
}}{{ $t("salesModule.PeoPle") }})
</p>
<p>
<span>{{ $t("visa.v_houbu") }}</span>
<em v-if="item.IsSubstitution == 1">{{ $t("salesModule.KYHB") }}({{ $t("visa.v_houbu")
}}{{ item.SubstitutionCount
}}{{ $t("salesModule.PeoPle") }})</em>
<em v-if="item.IsSubstitution != 1" style="color: #e95252">{{
$t("salesModule.RefuseHB")
}}</em>
</p>
<p v-if="pagesTitle=='跟团游产品'">
<span>操作OP</span><i style="font-weight: normal">{{ item.OPName }}</i>
</p>
</div>
<div class="d8" v-if="pagesTitle=='跟团游产品'">
<p>
<i class="iconfont icon-hangban1"></i>{{ $t("Operation.Op_Warmprompt") }}
</p>
<p>
<span>{{ $t("visa.v_sqtime") }}</span><i>{{
item.SendVisaTime === "" ? "未设置" : item.SendVisaTime
}}</i>
</p>
<p>
<span>{{ $t("visa.v_cqtime") }}</span><i>{{
item.OutVisaTime === "" ? "未设置" : item.OutVisaTime
}}</i>
</p>
<p>
<span>{{ $t("visa.v_kptime") }}</span><i>{{
item.TicketDeadline === "" ? "未设置" : item.TicketDeadline
}}</i>
</p>
<p v-if="item.VisaFileList.length !== 0">
<span>{{ $t("visa.v_visaInformation") }}</span>
</p>
<p v-if="item.VisaFileList.length !== 0" v-for="(item2, index2) in item.VisaFileList" :key="index2">
<span style="cursor: pointer; text-decoration: underline"
@click="downloadFile(item2)">{{ item2.Name }}</span>
</p>
<p>
<span>{{ $t("salesModule.TicketStatus") }}:</span>
<span class="fz16 fbold">
<el-tooltip class="item" effect="dark" :content="$t('salesModule.AllTk')" placement="top">
<span style="color: #4bca81" v-if="item.MakeInvoice == 1"></span>
</el-tooltip>
<el-tooltip class="item" effect="dark" :content="$t('salesModule.NotDeal')" placement="top">
<span style="color: #e95252" v-if="item.MakeInvoice == '-1'">x</span>
</el-tooltip>
<el-tooltip class="item" effect="dark" :content="$t('salesModule.YCZD')" placement="top">
<span style="color: #e95252" v-if="item.MakeInvoice == '0'">O</span>
</el-tooltip>
</span>
</p>
</div>
<div class="d7">
<el-button-group style="display: block">
<el-tooltip class="item" effect="dark" :content="$t('salesModule.LookBM')" placement="top-start">
<el-button @click="
goUrl(item.TCID, item.TCNUM)
" type="primary" style="background-color: #00c6ff !important; border-color: #00c6ff !important" icon="iconfont icon-sousuo">
</el-button>
</el-tooltip>
<!--关内团后不能在报名 hk 2022-07-13去掉 && item.IsB2B === 1 修改为可报名 -->
<el-tooltip class="item" effect="dark" :content="$t('salesModule.LJXD')" placement="top-start"
v-if="item.IsPayOrder !== 1 ">
<el-button type="primary" style="background-color: #f16c3c !important; border-color: #f16c3c !important" v-if="!TCIDList"
icon="iconfont icon-fukuan1" @click="goBuy(item)"></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" :content="$t('Operation.Op_tripDownLoad')" placement="top-start">
<el-button @click="toTrip(item)" type="primary" style="background-color: #47bf8c !important; border-color: #47bf8c !important"
icon="iconfont icon-xiazai"></el-button>
</el-tooltip>
<el-tooltip v-if="
CurrentUserInfo.IsOpenB2C == 1 &&
CurrentUserInfo.B2BDomain != '' &&
item.LineID != 2 &&
item.LineID != 8
" class="item" effect="dark" content="直客版预览" placement="top-start">
<el-button @click.native="goB2B(item)" type="primary"
style="background-color: #f16c3c !important; border-color: #f16c3c !important" icon="iconfont icon-view"></el-button>
</el-tooltip>
</el-button-group>
<el-button-group v-show="qjGroupId == userInfo.RB_Group_id || S_Travel_Share" style="display: block">
<el-tooltip class="item" effect="dark" :content="$t('salesModule.ShareTrip')" placement="top-start"
style="float: left">
<el-popover width="180" trigger="click">
<div class="w150" v-loading="wxLoading">
<img style="
float: left;
width: 108px;
height: 108px;
margin: 10px 21px 3px;
" :src="
item.wxImage === ''
? ''
: 'data:image/png;base64,' + item.wxImage
" />
<p style="text-align: center; font-size: 12px; color: #666">
{{ $t("salesModule.XCX") }}
</p>
</div>
<el-button slot="reference" type="primary" style="
background-color: #b552e9 !important;
border-color: #b552e9 !important;
border-radius: 0;
border-top-left-radius: 4px;
border-bottom-left-radius: 4px;
" icon="iconfont icon-fenxiang" @click="getWxCode(index)"></el-button>
</el-popover>
</el-tooltip>
<el-tooltip class="item" effect="dark" :content="$t('salesModule.ShareApp')" placement="top-start"
style="float: left">
<el-popover width="180" trigger="click">
<div class="w150">
<img style="
float: left;
width: 108px;
height: 108px;
margin: 10px 21px 3px;
" :src="'data:image/png;base64,' + item.AppImage" />
<p style="text-align: center; font-size: 12px; color: #666">
{{ $t("salesModule.Helper") }}
</p>
</div>
<el-button slot="reference" type="primary" style="
background-color: #e6a014 !important;
border-color: #e6a014 !important;
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-color: #e95252 !important; border-color: #e95252 !important" v-if="!TCIDList"
icon="iconfont icon-guanggao" @click="goUrlX(item)"></el-button>
</el-tooltip>
</el-button-group>
</div>
<div>联运人数{{ item.IntermodalCount }}</div>
<div>出团公司: {{ item.OutBranchName }}</div>
<div>
<el-button type="primary" size="small" @click="editItem(item)">编辑</el-button>
</div>
<div class="d6">
<el-popover placement="right" width="500" trigger="click" :content="item.ProductRecommend">
<span style="
cursor: pointer;
padding: 2px 5px;
display: inline-block;
margin-bottom: 5px;
border-radius: 4px;
border: 1px solid #ccc;
font-size: 12px;
" slot="reference">{{ $t("Operation.Op_bentuanMaidian") }}</span>
</el-popover>
<p>{{ $t("Operation.Op_remark") }}:</p>
<p :title="item.OpRemark">{{ item.OpRemark }}</p>
</div>
</li>
</ul>
<div class="noData" v-else>
{{ $t("system.content_noData") }}
</div>
<el-dialog
title="提示"
:visible.sync="showDialog"
width="70%" height="40%">
<div>
<span style="width: 10%;display:inline-block;">团OP</span>
<el-select style="width: 80%" v-model="queryData.OPId" filterable :placeholder="$t('pub.pleaseSel')">
<el-option v-for="item in EmployeeList" :label='item.EmName' :value='item.EmployeeId'
:key='item.EmployeeId'>
</el-option>
</el-select></div>
<div>
<span style="width: 10%;display:inline-block;">签证助手</span>
<el-select style="width: 80%" v-model="queryData.VisaAssistantId" multiple filterable :placeholder="$t('pub.pleaseSel')">
<el-option v-for="item in EmployeeList" :label='item.EmName' :value='item.EmployeeId'
:key='item.EmployeeId'>
</el-option>
</el-select></div>
<div>
<span style="width: 10%;display:inline-block;">助手</span>
<el-select style="width: 80%" v-model="queryData.AssistantId" multiple filterable :placeholder="$t('pub.pleaseSel')">
<el-option v-for="item in EmployeeList" :label='item.EmName' :value='item.EmployeeId'
:key='item.EmployeeId'>
</el-option>
</el-select></div>
<span slot="footer" class="dialog-footer">
<el-button @click="showDialog = false">取 消</el-button>
<el-button type="primary" @click="submitOP">确 定</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
</template>
<script>
export default {
props:['loading','list','pagesTitle'],
export default {
props: ["loading", "list", "pagesTitle"],
data() {
return {
editObj: {},
showDialog: false,
queryData: {},
EmployeeList: [],
allCheck: false,
//当前登录用户信息
CurrentUserInfo: {},
travelControlTripLayerShow: false,
......@@ -994,8 +595,7 @@
teamInfo: {}, //团队信息
};
},
components: {
},
components: {},
filters: {
priceFormat(value) {
if (value == null) {
......@@ -1033,6 +633,64 @@
},
},
methods: {
submitOP() {
let params = {}
if(!this.queryData.VisaAssistantId) {
this.$message.error('请选择签证助手')
return
} else if (this.queryData.VisaAssistantId.length === 1) {
params.VisaOPId = this.queryData.VisaAssistantId[0]
} else {
params.VisaAssistantId = this.queryData.VisaAssistantId.join(',')
}
if(!this.queryData.OPId) {
this.$message.error('请选择团op')
return
// } else if (this.queryData.VisaAssistantId.length === 1) {
// params.VisaOPId = this.queryData.VisaAssistantId[0]
} else {
params.OPId = this.queryData.OPId
}
if(!this.queryData.AssistantId) {
this.$message.error('请选择助手')
return
// } else if (this.queryData.VisaAssistantId.length === 1) {
// params.VisaOPId = this.queryData.VisaAssistantId[0]
} else {
params.AssistantId = this.queryData.AssistantId.join(',')
}
this.apipost(
" travel_post_BatchSetOpInfo", params,
res => {
if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
}
},
err => {}
);
},
editItem(item) {
console.log('editItem',item)
this.editObj = item
this.showDialog = true
},
eidtItems() {
console.log('eidtItems eidtItems')
this.editObj = {}
this.showDialog = true
},
//根据当前员工所在部门获取该部门及子部门员工信息
getEmployeeList() {
this.apipost(
"admin_get_GetEmployeeByUserDepartmentId", {},
res => {
if (res.data.resultCode == 1) {
this.EmployeeList = res.data.data;
}
},
err => {}
);
},
//刷新页面
reSearchPage() {
this.isShowTeamOrder = false;
......@@ -1063,7 +721,8 @@
if (this.list[key].wxImage === "") {
this.wxLoading = true;
this.apipost(
"TaskManagemnet_get_GetWeiXinShare", {
"TaskManagemnet_get_GetWeiXinShare",
{
ConfigId: this.list[key].ConfigID,
TCID: this.list[key].TCID,
},
......@@ -1091,12 +750,12 @@
this.travelControlTripLayerShow = false;
},
goUrl(id, tcmun) {
let path
if(this.pagesTitle=='跟团游产品'){
path = 'groupTourOrderByTuan'
let path;
if (this.pagesTitle == "跟团游产品") {
path = "groupTourOrderByTuan";
}
if(this.pagesTitle=='当地游产品'){
path = 'groupTourOrderByTuanOne'
if (this.pagesTitle == "当地游产品") {
path = "groupTourOrderByTuanOne";
}
this.$router.push({
name: path,
......@@ -1128,16 +787,21 @@
this.isShowTeamOrder = true;
},
// 产品详情
getTitledetail(item){
if(this.pagesTitle=='跟团游产品'){
this.getJourney(item.ConfigID, item.TCID, item.LineName)
}if(this.pagesTitle=='当地游产品'){
this.goB2Bdetail(item.ConfigID, item.TCID)
getTitledetail(item) {
if (this.pagesTitle == "跟团游产品") {
this.getJourney(item.ConfigID, item.TCID, item.LineName);
}
if (this.pagesTitle == "当地游产品") {
this.goB2Bdetail(item.ConfigID, item.TCID);
}
},
goB2Bdetail(ConfigId, tcid) {
var B2BDomain = this.CurrentUserInfo.B2BDomain//'www.oytour.com';
this.$tripUtils.GotoB2BPage(B2BDomain,encodeURIComponent(ConfigId),tcid);
var B2BDomain = this.CurrentUserInfo.B2BDomain; //'www.oytour.com';
this.$tripUtils.GotoB2BPage(
B2BDomain,
encodeURIComponent(ConfigId),
tcid
);
},
getJourney(id, TCID, title) {
var that = this;
......@@ -1157,7 +821,8 @@
"b2b_post_SetHotelClickService",
msg,
(res) => {
if (res.data.resultCode == 1) {}
if (res.data.resultCode == 1) {
}
},
(err) => {}
);
......@@ -1169,16 +834,16 @@
},
},
mounted() {
this.getEmployeeList();
this.userInfo = this.getLocalStorage();
this.GetSupperOrderEditAuth();//分享权限
this.GetSupperOrderEditAuth(); //分享权限
this.qjGroupId = this.QjGroupId();
this.CurrentUserInfo = this.userInfo ;
this.CurrentUserInfo = this.userInfo;
this.userId = this.userInfo.EmployeeId;
if (this.$route.query.TCIDList) {
this.TCIDList = this.$route.query.TCIDList;
}
},
};
</script>
};
</script>
\ No newline at end of file
......@@ -286,6 +286,11 @@
type="date"></el-date-picker>
</span>
</li>
<li>
<span><em>只查询有签证的团</em>
<!-- <el-switch v-model="msg.visaNum"></el-switch> -->
</span>
</li>
</ul>
</div>
<el-pagination background @current-change="handleCurrentChange" :current-page.sync="currentPage"
......@@ -318,24 +323,13 @@
pageSize: 10,
LineId: "-1",
LineTeamId: "-1",
AimPlaceId: "-1",
TCID: "",
tCID: "",
TCIDList: "",
StartTime: "",
EndTime: "",
BranchId: "-1",
CityId: "-1",
DaysTrip: "",
SalePlat: [],
minGroupSize: "",
maxGroupSize: "",
minApplySize: "",
maxApplySize: "",
FlightID: "-1",
TCIDList: "",
WarningQuery: "-1",
RateOnDay: "-1",
RateOn: "-1",
Title: "", //团名
visaNum: 0,
},
list: [],
LineList: [],
......@@ -343,7 +337,6 @@
AimPlaceList: [],
airlineList: [],
companyList: [],
salePlace: [],
startCityList: [],
startCityList1: [],
TCIDList: null,
......@@ -369,7 +362,7 @@
getList() {
this.loading = true;
this.apipost(
"TaskManagemnet_get_GetSellProductCenter",
"travel_post_GetTravelPricePage",
this.msg,
(res) => {
if (res.data.resultCode == 1) {
......@@ -425,7 +418,6 @@
},
(res) => {
if (res.data.resultCode == 1) {
this.msg.AimPlaceId = "-1";
this.AimPlaceList = res.data.data;
}
}
......@@ -496,18 +488,6 @@
);
},
getSalePlace() {
this.apipost(
"travel_get_GetTravelSelectEnum", {},
(res) => {
if (res.data.resultCode == 1) {
this.salePlace = res.data.data.SalePlat;
}
},
(err) => {}
);
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
......@@ -536,7 +516,6 @@
this.getCompanyList();//公司
this.getList();//产品列表
this.getLineList();//线路
this.getSalePlace();//销售平台
this.getAirlineList();//获取航空公司
this.getStartList();//出发城市
this.getStartList1();//目的地
......
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