Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
罗超
SuperMan
Commits
82b53ddc
Commit
82b53ddc
authored
Mar 24, 2025
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
报价单和国内线酒店修改
parent
cb92bf27
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
966 additions
and
1146 deletions
+966
-1146
roomReservationsDetails.vue
src/components/Hotel/roomReservationsDetails.vue
+27
-14
roomReservationsDetailsNew.vue
src/components/Hotel/roomReservationsDetailsNew.vue
+420
-712
leaderReimbursement.vue
src/components/LeaderManagement/leaderReimbursement.vue
+51
-33
bookDinnerStatisticsDetails.vue
src/components/Restaurant/bookDinnerStatisticsDetails.vue
+3
-3
CostNewPriceAudit.vue
...ts/TravelManager/TravelNewQuotation/CostNewPriceAudit.vue
+144
-130
CostNewPriceForm.vue
...nts/TravelManager/TravelNewQuotation/CostNewPriceForm.vue
+85
-25
QuotationAduit.vue
...nents/TravelManager/TravelNewQuotation/QuotationAduit.vue
+8
-22
QuotationNewPrice.vue
...ts/TravelManager/TravelNewQuotation/QuotationNewPrice.vue
+182
-165
priceDialog.vue
...mponents/TravelManager/TravelNewQuotation/priceDialog.vue
+5
-18
quotationEdit.vue
...onents/TravelManager/TravelNewQuotation/quotationEdit.vue
+22
-16
quotationEditDetails.vue
...TravelManager/TravelNewQuotation/quotationEditDetails.vue
+15
-6
dmcTotalTable.vue
src/components/dmc/manager/dmcTotalTable.vue
+2
-2
travelDaysHV.vue
...wTravelmanager/travelLineTrip/components/travelDaysHV.vue
+2
-0
No files found.
src/components/Hotel/roomReservationsDetails.vue
View file @
82b53ddc
...
...
@@ -169,11 +169,12 @@
<
template
v-for=
"(item,index) in dataList"
>
<template
v-for=
"(subItem,subIndex) in item.HotelOrderList"
>
<tr
v-for=
"(childItem,childIndex) in subItem.OrderDetailsList"
:key=
"`h_`+index+subIndex+childIndex"
>
<td
v-if=
"childIndex==0&&subIndex==0"
:rowspan=
"6*item.HotelOrderList.length"
>
<td
v-if=
"childIndex==0&&subIndex==0"
:rowspan=
"subItem.OrderDetailsList.length*item.HotelOrderList.length"
>
{{
item
.
UseTimeStr
}}
</td>
<!-- 酒店名称 -->
<td
v-if=
"childIndex==0"
:rowspan=
"
6
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.OrderDetailsList.length
"
>
<table
class=
"hotelTable"
>
<tr>
<td
colspan=
"2"
>
...
...
@@ -223,21 +224,21 @@
</span>
</td>
<!-- 机位总数/(Y/E/F) -->
<td
v-if=
"childIndex==0"
:rowspan=
"
6
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.OrderDetailsList.length
"
>
<p
class=
"link"
@
click=
"goUrlT('RegistrationList',subItem.TCID,'报名清单')"
>
{{flightTotal}}/{{subItem.HouseStatistics.RealityYSeatNum}}/{{subItem.HouseStatistics.RealityESeatNum}}/{{subItem.HouseStatistics.RealityFSeatNum}}
</p>
</td>
<!-- 占床/不占床 -->
<td
v-if=
"childIndex==0"
:rowspan=
"
6
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.OrderDetailsList.length
"
>
<p
class=
"link"
@
click=
"goUrlT('passengerHouse',subItem.TCID,'房间分配')"
>
{{subItem.RealityHouseGuestNum}}/{{subItem.HouseStatistics.NoNeedBed}}
</p>
</td>
<!-- 实际用房数 -->
<td
v-if=
"childIndex==0"
:rowspan=
"
6
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.OrderDetailsList.length
"
>
{{subItem.RealityHouseTypeCount}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"
6
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.OrderDetailsList.length
"
>
<table
class=
"hotelTable"
>
<tr>
<td
width=
"70"
style=
"text-align:center;"
colspan=
"2"
>
...
...
@@ -301,8 +302,8 @@
</td>
<!-- 房间类型 -->
<td>
{{
subItem.HouseStatistics.HouseTypeList[childIndex]
.HouseTypeNameExt}}
<
template
v-if=
"childIndex==4"
>
{{
getHouseTypeName(subItem,childItem)
.HouseTypeNameExt}}
<
!-- <
template v-if="childIndex==4">
<template v-if="subItem.DriverGuideIsRebate==1">
<br /><span style="color:green">{{$t('hotel.hotel_commission')}}</span>
</template>
...
...
@@ -312,7 +313,7 @@
</template>
<template v-if="childIndex==5">
<br /><span style="color:red;">{{$t('ground.bufanyong')}}</span>
</
template
>
</template>
-->
</td>
<!-- 房间数 -->
<td>
...
...
@@ -367,7 +368,7 @@
{{childItem.UnitPrice*(childItem.BookNum-childItem.HotelDiscount)}}
</td>
<!-- 返佣类型 -->
<td
style=
"white-space:nowrap;"
v-if=
"childIndex==0"
:rowspan=
"
6
"
>
<td
style=
"white-space:nowrap;"
v-if=
"childIndex==0"
:rowspan=
"
subItem.OrderDetailsList.length
"
>
<
template
v-if=
"subItem.RebateType==1"
>
<span
style=
"color:green"
>
{{
$t
(
'ground.hanshui'
)
}}
</span>
</
template
>
...
...
@@ -415,11 +416,11 @@
</template>
</td>
<!-- 金额总计 -->
<td
v-if=
"childIndex==0"
:rowspan=
"
6
"
style=
"white-space:nowrap;"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.OrderDetailsList.length
"
style=
"white-space:nowrap;"
>
{{subItem.TotalPrice}}
</td>
<!-- 付款方式 -->
<td
v-if=
"childIndex==0"
:rowspan=
"
6
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.OrderDetailsList.length
"
>
<table
class=
"hotelTable"
>
<tr>
<td
width=
"70"
style=
"text-align:right;"
>
{{$t('hotel.hotel_Currency')}}:
</td>
...
...
@@ -512,7 +513,7 @@
<el-option
:label=
"$t('ground.lingduidydf')"
:value=
'10'
></el-option>
<el-option
:label=
"$t('ground.shuaka')"
:value=
'11'
></el-option>
<el-option
:label=
"$t('objFill.zhuanzhang')"
:value=
'14'
></el-option>
<el-option
:label=
"$t('ground.enterpriseAlipay')"
:value=
'15'
></el-option>
<el-option
:label=
"$t('ground.enterpriseAlipay')"
:value=
'15'
></el-option>
</el-select>
</td>
</tr>
...
...
@@ -591,7 +592,7 @@
</table>
</td>
<!-- 操作 -->
<td
v-if=
"childIndex==0"
:rowspan=
"
6
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.OrderDetailsList.length
"
>
<
template
v-if=
"subItem.OPState==1"
>
<span
class=
"Hotel_red"
>
{{
$t
(
'salesModule.OPZD'
)
}}
</span>
</
template
>
...
...
@@ -771,6 +772,18 @@
setHotelStock
,
},
methods
:
{
getHouseTypeName
(
subItem
,
childItem
)
{
var
obj
=
{};
if
(
subItem
&&
subItem
.
HouseStatistics
&&
subItem
.
HouseStatistics
.
HouseTypeList
&&
subItem
.
HouseStatistics
.
HouseTypeList
.
length
>
0
)
{
subItem
.
HouseStatistics
.
HouseTypeList
.
forEach
(
hItem
=>
{
if
(
hItem
.
HouseType
==
childItem
.
HouseType
)
{
obj
=
hItem
;
}
})
}
return
obj
;
},
//订房状态切换
changeState
(
subItem
)
{
if
(
subItem
.
DMCState
==
1
)
{
...
...
src/components/Hotel/roomReservationsDetailsNew.vue
View file @
82b53ddc
...
...
@@ -28,6 +28,16 @@
padding
:
5px
;
}
.roomReservationsDetailsTalbe
{
table-layout
:
fixed
;
}
.roomReservationsDetailsTalbe
thead
tr
th
{
position
:
sticky
;
top
:
0
;
z-index
:
10
;
}
</
style
>
<
template
>
...
...
@@ -35,10 +45,10 @@
<div
class=
"query-box"
style=
"border-bottom: none;"
>
<ul>
<li>
<
input
v-if=
"IsOperation!=1"
type=
"button"
class=
"fr normalBtn mb30"
:value=
"$t('pub.saveBtn')
"
@
click=
"saveList(1)"
/
>
<
input
v-if=
"IsOperation==1&& EditBtn"
type=
"button"
class=
"fr normalBtn mb30"
:value=
"$t('pub.saveBtn')
"
@
click=
"saveList(1)"
/
>
<
el-button
type=
"primary"
class=
"fr normalBtn mb30"
v-if=
"IsOperation!=1"
:loading=
"saveLoading
"
@
click=
"saveList(1)"
>
{{
$t
(
'pub.saveBtn'
)
}}
</el-button
>
<
el-button
type=
"primary"
class=
"fr normalBtn mb30"
v-if=
"IsOperation==1&& EditBtn "
:loading=
"saveLoading
"
@
click=
"saveList(1)"
>
{{
$t
(
'pub.saveBtn'
)
}}
</el-button
>
<span
v-if=
"IsOperation==1"
style=
"color:red;font-size:14px;"
>
{{
$t
(
'ground.yizhidanbng'
)
}}
</span>
</li>
</ul>
...
...
@@ -46,557 +56,310 @@
</div>
<div
style=
"width: 100%; overflow-x: auto;padding-bottom: 10px; "
:style=
"
{height: boxHeight + 'px'}"
class="ownScrollbarStyle" ref="ownScrollbarStyle">
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"roomReservationsDetailsTalbe"
>
<thead>
<tr>
<th
class=
"fz14"
style=
"border:none;"
>
{{
$t
(
'visa.v_teaminfo'
)
}}
{{
$t
(
'leader.leader_Leader'
)
}}
:
{{
LeaderName
}}
{{
$t
(
'leader.leader_Guide'
)
}}
:
{{
GuideName
}}
</th>
</tr>
</thead>
</table>
<table
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
class=
"roomReservationsDetailsTalbe"
v-loading=
"loading"
>
<tr>
<th
class=
"fz14"
colspan=
"5"
>
{{
$t
(
'visa.v_teaminfo'
)
}}
:
{{
TCNUM
}}
{{
$t
(
'leader.leader_Leader'
)
}}
:
{{
LeaderName
}}
{{
$t
(
'leader.leader_Guide'
)
}}
:
{{
GuideName
}}
</th>
<th
class=
"fz14"
colspan=
"17"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('objFill.piliangscsps')"
placement=
"top-start"
style=
"float:left;margin-left:20px;display:none;"
>
<el-popover
placement=
"bottom"
popper-class=
"piliangPop"
width=
"400"
trigger=
"click"
v-model=
"isShowPiliangPop"
>
<table
class=
"dmcSetTable roomReserSet"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th>
{{
$t
(
'sm.Date'
)
}}
</th>
<th>
{{
$t
(
'hotel.table_hotelname'
)
}}
</th>
</tr>
<template
v-for=
"(lItem,lIndex) in list"
>
<tr
v-for=
"(subItem,subIndex) in lItem.HotelOrderList"
:key=
"subIndex+lIndex"
>
<td
style=
"width:100px;"
>
{{
lItem
.
UseTimeStr
}}
<thead>
<tr>
<th
width=
"110"
>
{{
$t
(
'hotel.table_CheckInDate'
)
}}
</th>
<th
width=
"250"
>
{{
$t
(
'hotel.hotel_name'
)
}}
</th>
<th
width=
"120"
>
{{
$t
(
'ground.jiweizongshu'
)
}}
<br
/>
(Y/E/F)
</th>
<th
width=
"80"
>
{{
$t
(
'ground.zhanchuang'
)
}}
/
<br
/>
{{
$t
(
'ground.bzhanchuang'
)
}}
</th>
<th
width=
"80"
>
{{
$t
(
'ground.shiji'
)
}}
<br
/>
{{
$t
(
'ground.yongfangshu'
)
}}
</th>
<th
width=
"170"
>
{{
$t
(
'ground.xiugaijiudiangys'
)
}}
</th>
<th
width=
"100"
>
{{
$t
(
'ground.fangjianleixing'
)
}}
</th>
<th
width=
"80"
>
{{
$t
(
'ground.fangjian'
)
}}
<br
/>
{{
$t
(
"ground.yudingshu"
)
}}
</th>
<th
width=
"80"
>
单价/间
</th>
<th
width=
"80"
>
减免间数
</th>
<th
width=
"80"
>
{{
$t
(
'ground.jinexiaoji'
)
}}
</th>
<th
width=
"100"
>
{{
$t
(
'ground.jinezongji'
)
}}
</th>
<th
width=
"270"
>
{{
$t
(
'ground.fukuanbzdth'
)
}}
</th>
<th
width=
"80"
>
{{
$t
(
'system.table_operation'
)
}}
</th>
</tr>
</thead>
<tbody>
<template
v-for=
"(item,index) in dataList"
>
<template
v-for=
"(subItem,subIndex) in item.HotelOrderList"
>
<tr
v-for=
"(childItem,childIndex) in subItem.OrderDetailsList"
:key=
"`h_`+index+subIndex+childIndex"
>
<td
v-if=
"childIndex==0&&subIndex==0"
:rowspan=
"subItem.OrderDetailsList.length*item.HotelOrderList.length"
>
{{
item
.
UseTimeStr
}}
</td>
<!-- 酒店名称 -->
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.OrderDetailsList.length"
>
<table
class=
"hotelTable"
>
<tr>
<td
colspan=
"2"
>
<p
class=
"link"
style=
"word-break: normal;text-align:left;"
:class=
"
{'Hotel_red':subItem.HotelChangeState==3}"
@click="goUrlR('HotelManagement',subItem.HotelId,'酒店管理')">
{{
subItem
.
HotelName
}}
</p>
</td>
</tr>
<tr>
<td
colspan=
"2"
style=
"height:5px;"
></td>
</tr>
<tr>
<td
width=
"40"
>
{{
$t
(
'hotel.table_tel'
)
}}
:
</td>
<td
style=
"width:280px;"
>
<el-checkbox
v-model=
"subItem.IsChecked"
@
change=
"MoreUpdate(subItem)"
>
{{
subItem
.
NewHotelName
}}
</el-checkbox>
<td
style=
"text-align:left"
>
{{
subItem
.
Tel
}}
</td>
</tr>
</
template
>
<tr>
<td
colspan=
"2"
style=
"text-align:center"
>
<el-upload
:http-request=
"uploadFileBtnS"
:multiple=
"false"
:show-file-list=
"false"
action=
''
>
<el-button
size=
"small"
type=
"danger"
style=
"margin-top:10px;"
>
{{$t('objFill.xuanzhewj')}}
</el-button>
</el-upload>
</td>
</tr>
</table>
<el-button
slot=
"reference"
style=
"background:#E95252; border-color:#E95252"
type=
"primary"
>
{{$t('objFill.piliangscsps')}}
</el-button>
</el-popover>
</el-tooltip>
<span
style=
"margin-top:6px;display:inline-block;"
>
{{$t('ground.dijiecaozuoxinxi')}}
</span>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('ground.plxgai')"
placement=
"top-start"
style=
"float:left;margin-left:20px;"
>
<el-popover
placement=
"bottom"
popper-class=
"piliangPop"
width=
"400"
trigger=
"click"
v-model=
"IsShowMoreUpdate"
>
<table
class=
"dmcSetTable roomReserSet roomResetTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<th>
{{$t('hotel.hotel_roomType')}}
</th>
<th>
{{$t('objFill.fangjianshul')}}
</th>
<th>
{{$t('admin.admin_personNumber')}}
</th>
</tr>
<tr
v-for=
"(subItem,subIndex) in HotelHouseTypeList"
:key=
"subIndex"
>
<td
style=
"width:100px;"
>
<el-checkbox
v-model=
"subItem.IsChecked"
>
{{subItem.Name}}
</el-checkbox>
</td>
<td
style=
"width:150px;"
>
<el-input
class=
'w135 tcenter'
maxlength=
"2"
@
keyup
.
native=
"checkInteger(subItem,'HouseNum')"
v-model=
'subItem.HouseNum'
></el-input>
</td>
<td
style=
"width:150px;"
>
<el-input
class=
'w135 tcenter'
maxlength=
"2"
@
keyup
.
native=
"checkInteger(subItem,'BookNum')"
v-model=
'subItem.BookNum'
>
</el-input>
</td>
</tr>
<tr>
<td
colspan=
"2"
style=
"text-align:right"
>
<input
type=
"button"
class=
"normalBtn"
:value=
"$t('pub.saveBtn')"
@
click=
"BatchHotelOrder()"
>
</td>
</tr>
</table>
<el-button
slot=
"reference"
style=
"background:#E95252; border-color:#E95252;"
type=
"primary"
v-if=
"EditBtn"
@
click=
"IsShowMoreUpdate=true"
>
{{$t('objFill.piliangxiugjd')}}
</el-button>
</el-popover>
</el-tooltip>
</th>
</tr>
<tr>
<th
width=
"120"
>
{{$t('hotel.table_CheckInDate')}}
</th>
<th
width=
"180"
>
{{$t('hotel.hotel_name')}}
</th>
<th
width=
"120"
>
{{$t('ground.jiweizongshu')}}
<br
/>
(Y/E/F)
</th>
<th
width=
"80"
>
{{$t('ground.zhanchuang')}}/
<br
/>
{{$t('ground.bzhanchuang')}}
</th>
<th
width=
"80"
>
{{$t('ground.shiji')}}
<br
/>
{{$t('ground.yongfangshu')}}
</th>
<th
width=
"170"
>
{{$t('ground.xiugaijiudiangys')}}
</th>
<th
width=
"100"
>
{{$t('ground.fangjianleixing')}}
</th>
<th
width=
"80"
>
{{$t('ground.fangjian')}}
<br
/>
{{$t("ground.yudingshu")}}
</th>
<th
width=
"80"
>
{{$t('ground.yudingrenshu')}}
</th>
<th
width=
"80"
>
{{$t('ground.danjiameiren')}}
</th>
<th
width=
"80"
>
{{$t('ground.mianjianrenshu')}}
</th>
<th
width=
"80"
>
{{$t('ground.jinexiaoji')}}
</th>
<th
width=
"80"
>
{{$t('ground.fanyongleixing')}}
</th>
<th
width=
"80"
>
{{$t('hotel.hotel_commission')}}
</th>
<th
width=
"80"
>
{{$t('ground.fanyongyjin')}}
</th>
<th
width=
"80"
>
{{$t('ground.rutangshui')}}
</th>
<th
width=
"80"
>
{{$t('ground.chengshishui')}}
</th>
<th
width=
"80"
>
{{$t('ground.tingchefei')}}
</th>
<th
width=
"100"
>
{{$t('ground.jinezongji')}}
</th>
<th
width=
"250"
>
{{$t('ground.fukuanbzdth')}}
</th>
<th
width=
"80"
>
{{$t('system.table_operation')}}
</th>
</tr>
<
template
v-for=
"(item,index) in list"
>
<template
v-for=
"(subItem,subIndex) in item.HotelOrderList"
>
<tr
v-for=
"(childItem,childIndex) in subItem.OrderDetailsList"
:key=
"childIndex"
>
<td>
{{
item
.
UseTimeStr
}}
</td>
<!-- 酒店名称 -->
<td>
<table
class=
"hotelTable"
>
<tr>
<td
colspan=
"2"
>
<p
class=
"link"
style=
"word-break: normal;text-align:left;"
:class=
"
{'Hotel_red':subItem.HotelChangeState==3}"
@click="goUrlR('HotelManagement',subItem.HotelId,'酒店管理')">
{{
subItem
.
HotelName
}}
</p>
</td>
</tr>
<tr>
<td
colspan=
"2"
style=
"height:5px;"
></td>
</tr>
<tr>
<td
width=
"40"
>
{{
$t
(
'hotel.table_tel'
)
}}
:
</td>
<td
style=
"text-align:left"
>
{{
subItem
.
Tel
}}
</td>
</tr>
<tr>
<td
colspan=
"2"
style=
"height:5px;"
></td>
</tr>
<tr>
<td
width=
"40"
>
{{
$t
(
'hotel.table_address'
)
}}
:
</td>
<td
style=
"text-align:left"
>
{{
subItem
.
Address
}}
</td>
</tr>
</table>
<br
/>
<span
style=
"color:red;font-weight:bold"
>
{{
$t
(
'objFill.v101.hote.baojiajine'
)
}}
:
{{
subItem
.
OfferUnitPrice
}}
/
{{
$t
(
'hotel.hotel_people'
)
}}
</span>
</td>
<!-- 机位总数/(Y/E/F) -->
<td>
<p
class=
"link"
@
click=
"goUrlT('RegistrationList',subItem.TCID,'报名清单')"
>
{{
flightTotal
}}
/
{{
subItem
.
HouseStatistics
.
RealityYSeatNum
}}
/
{{
subItem
.
HouseStatistics
.
RealityESeatNum
}}
/
{{
subItem
.
HouseStatistics
.
RealityFSeatNum
}}
</p>
</td>
<!-- 占床/不占床 -->
<td>
<p
class=
"link"
@
click=
"goUrlT('passengerHouse',subItem.TCID,'房间分配')"
>
{{
subItem
.
RealityHouseGuestNum
}}
/
{{
subItem
.
HouseStatistics
.
NoNeedBed
}}
</p>
</td>
<!-- 实际用房数 -->
<td>
{{
subItem
.
RealityHouseTypeCount
}}
</td>
<td>
<table
class=
"hotelTable"
>
<tr>
<td
width=
"70"
style=
"text-align:center;"
colspan=
"2"
>
<span
style=
"color:green"
>
{{
subItem
.
NewHotelName
}}
</span>
<el-popover
placement=
"right"
width=
"540"
trigger=
"click"
v-model=
"subItem.isShowPop"
>
<comCheckHotel
:ref=
"'comCheckHotel'+index+subIndex+''"
v-on:childHotel=
"childHotelList"
:UseDate=
"item.UseTimeStr"
:Country=
"ChooseCountry"
>
</comCheckHotel>
<el-button
size=
"small"
type=
"danger"
:data-index=
"'comCheckHotel'+index+subIndex+''"
slot=
"reference"
style=
"cursor:pointer;"
@
click=
"getChildHotel(index,subIndex),subItem.isShowPop=true"
>
{{
$t
(
'sm.jiudianxuanz'
)
}}
</el-button>
</el-popover>
</td>
</tr>
<tr>
<td
colspan=
"2"
style=
"height:5px;"
></td>
</tr>
<tr>
<td
width=
"70"
style=
"text-align:right;"
>
{{
$t
(
'hotel.hotel_Supplier'
)
}}
</td>
<td>
<el-select
class=
'w120 sel'
v-model=
'subItem.SupplierId'
@
change=
"getSupplierShoupei(subItem)"
filterable
:placeholder=
"$t('ground.qingxuanzegys')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
v-for=
"(SupplierItem,Supplierindex) in SupplierList"
:key=
"Supplierindex"
:label=
"SupplierItem.Name"
:value=
"SupplierItem.ID"
>
</el-option>
</el-select>
</td>
</tr>
<tr>
<td
colspan=
"2"
style=
"height:5px;"
></td>
</tr>
<tr>
<td
colspan=
"2"
>
<span
v-if=
"subItem.IsHaveShouPeiFee==0"
style=
"color:red;"
>
{{
$t
(
'ground.wshoupeifei'
)
}}
</span>
<span
v-if=
"subItem.IsHaveShouPeiFee==1&&isShoufeifei==true"
style=
"color:red;"
>
{{
$t
(
'ground.shoupeifei'
)
}}
:
{{
subItem
.
ShouPeiMoney
}}
</span>
</td>
</tr>
<tr>
<td
colspan=
"2"
>
<p
style=
"padding-top: 5px;"
>
<template
v-if=
"subItem.ContractUrl!=''"
>
<span
style=
"color:green"
>
{{
$t
(
'objFill.yiscspfs'
)
}}
</span>
<a
v-if=
"subItem.ContractUrl"
target=
"_blank"
style=
"color:blue"
:href=
"subItem.ContractUrl"
>
{{
$t
(
'fnc.chakan'
)
}}
</a>
</
template
>
</p>
<el-upload
:http-request=
"uploadFileBtnS"
:multiple=
"false"
:show-file-list=
"false"
action=
''
>
<el-button
size=
"small"
type=
"danger"
@
click=
'getItem(index, subIndex)'
>
{{!subItem.ContractUrl ? $t('objFill.shangcsps'): $t('objFill.chongxcsps')}}
</el-button>
</el-upload>
</td>
</tr>
</table>
</td>
<!-- 房间类型 -->
<td>
<div
v-if=
"childItem.HouseType === 2"
>
<
template
v-if=
"subItem.HouseStatistics.HouseTypeList&&subItem.HouseStatistics.HouseTypeList.length>1"
>
{{
subItem
.
HouseStatistics
.
HouseTypeList
[
1
].
HouseTypeNameExt
}}
</
template
>
<
template
v-if=
"childIndex==4"
>
<template
v-if=
"subItem.DriverGuideIsRebate==1"
>
<br
/><span
style=
"color:green"
>
{{
$t
(
'hotel.hotel_commission'
)
}}
</span>
</
template
>
<
template
v-else-if=
"subItem.DriverGuideIsRebate==0"
>
<br
/><span
style=
"color:red;"
>
{{
$t
(
'ground.bufanyong'
)
}}
</span>
</
template
>
</template>
<
template
v-if=
"childIndex==5"
>
<br
/><span
style=
"color:red;"
>
{{
$t
(
'ground.bufanyong'
)
}}
</span>
</
template
></div>
</td>
<!-- 房间数 -->
<td>
<div
v-if=
"childItem.HouseType === 2"
>
<tr>
<td
colspan=
"2"
style=
"height:5px;"
></td>
</tr>
<tr>
<td
width=
"40"
>
{{
$t
(
'hotel.table_address'
)
}}
:
</td>
<td
style=
"text-align:left"
>
{{
subItem
.
Address
}}
</td>
</tr>
</table>
<span
style=
"font-weight:bold;font-size:14px;"
>
{{
$t
(
'objFill.baojiajiudian'
)
}}
:
<font
style=
"color:red;"
>
{{
subItem
.
OfferHotelName
}}
(
{{
subItem
.
OfferUnitPrice
}}
<template
v-if=
"subItem.IsHotelChange"
>
<el-tooltip
:content=
"subItem.HotelChangeRemark"
>
<font
style=
"color:blue;"
>
<template
v-if=
"subItem.HotelChangeValue>0"
>
+
{{
subItem
.
HotelChangeValue
}}
</
template
>
<
template
v-else
>
{{
subItem
.
HotelChangeValue
}}
</
template
>
</font>
</el-tooltip>
</template>
/{{$t('hotel.hotel_people')}})
</font>
</span>
</td>
<!-- 机位总数/(Y/E/F) -->
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.OrderDetailsList.length"
>
<p
class=
"link"
@
click=
"goUrlT('RegistrationList',subItem.TCID,'报名清单')"
>
{{flightTotal}}/{{subItem.HouseStatistics.RealityYSeatNum}}/{{subItem.HouseStatistics.RealityESeatNum}}/{{subItem.HouseStatistics.RealityFSeatNum}}
</p>
</td>
<!-- 占床/不占床 -->
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.OrderDetailsList.length"
>
<p
class=
"link"
@
click=
"goUrlT('passengerHouse',subItem.TCID,'房间分配')"
>
{{subItem.RealityHouseGuestNum}}/{{subItem.HouseStatistics.NoNeedBed}}
</p>
</td>
<!-- 实际用房数 -->
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.OrderDetailsList.length"
>
{{subItem.RealityHouseTypeCount}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.OrderDetailsList.length"
>
<table
class=
"hotelTable"
>
<tr>
<td
style=
"text-align:center;"
colspan=
"2"
>
<span
style=
"color:green"
>
{{subItem.NewHotelName}}
</span>
<el-popover
placement=
"right"
width=
"540"
trigger=
"click"
:ref=
"'elPopoverHotel'+index+subIndex+''"
>
<comCheckHotel
:ref=
"'comCheckHotel'+index+subIndex+''"
v-on:childHotel=
"childHotelList"
:UseDate=
"item.UseTimeStr"
:Country=
"ChooseCountry"
>
</comCheckHotel>
<el-button
size=
"small"
type=
"danger"
:data-index=
"'comCheckHotel'+index+subIndex+''"
slot=
"reference"
style=
"cursor:pointer;"
@
click=
"subItem.isShowPop=true,getChildHotel(index,subIndex)"
>
{{$t('sm.jiudianxuanz')}}
</el-button>
</el-popover>
</td>
</tr>
</table>
</td>
<!-- 房间类型 -->
<td>
{{getHouseTypeName(subItem,childItem).HouseTypeNameExt}}
</td>
<!-- 房间数 -->
<td>
<el-input
class=
'w40 tcenter'
maxlength=
"2"
@
keyup
.
native=
"checkPrice(childItem,'HouseTypeCount')"
v-model=
'childItem.HouseTypeCount'
:disabled=
"IsEditHotelPeople==0?true:false"
></el-input>
</div>
</td>
<td>
<div
v-if=
"childItem.HouseType === 2"
>
<el-input
class=
'w40 tcenter'
maxlength=
"2"
@
keyup
.
native=
"checkInteger(childItem,'BookNum')"
@
input=
"calculationPrice(subItem)"
v-model=
'childItem.BookNum'
:disabled=
"IsEditHotelPeople==0?true:false"
>
</el-input>
</div>
</td>
<!-- 单价/每人 -->
<td>
<div
v-if=
"childItem.HouseType === 2"
>
</td>
<!-- 单价/每间 -->
<td>
<
template
v-if=
"childIndex==1"
>
<template
v-if=
"EditBtn"
>
<el-input
@
keyup
.
native=
"checkInteger(childItem,'UnitPrice')"
class=
'w60 tcenter'
@
input=
"calculationPrice(subItem)"
v-model=
'childItem.UnitPrice'
></el-input>
<template
v-if=
"(subItem.LineId==14||subItem.LineId==118)"
>
<template
v-if=
"subItem.IsHaveHotelStock==1||childItem.UnitPrice>0"
>
<el-input
@
keyup
.
native=
"checkInteger(childItem,'UnitPrice')"
class=
'w60 tcenter'
@
input=
"calcPrice()"
v-model=
'childItem.UnitPrice'
></el-input>
</
template
>
<
template
v-else
>
<el-popover
placement=
"right"
width=
"540"
trigger=
"click"
:ref=
"'elPopoverEditHotelPrice'+index+subIndex+''"
>
<set-hotel-stock
:ref=
"'comSetHotelPrice'+index+subIndex+''"
:UseDate=
"item.UseTimeStr"
:HotelId=
"subItem.NewHotelId"
:HotelName=
"subItem.NewHotelName"
@
success=
"GetNewHotelPrice"
>
</set-hotel-stock>
<el-button
size=
"small"
type=
"danger"
:data-index=
"'comSetHotelPrice'+index+subIndex+''"
slot=
"reference"
@
click=
"subItem.isShowHStock=true,getHotelPrice(index,subIndex)"
>
添加报价
</el-button>
</el-popover>
</
template
>
</template>
<
template
v-else
>
<el-input
@
keyup
.
native=
"checkInteger(childItem,'UnitPrice')"
class=
'w60 tcenter'
@
input=
"calculationPrice(subItem)"
v-model=
'childItem.UnitPrice'
:disabled=
"(IsEditHotel==0||childItem.IsHaveStockPrice==1)?true:false"
>
</el-input>
@
input=
"calcPrice()"
v-model=
'childItem.UnitPrice'
></el-input>
</
template
>
</template>
<
template
v-else
>
<el-input
@
keyup
.
native=
"checkInteger(childItem,'UnitPrice')"
class=
'w60 tcenter'
@
input=
"calculationPrice(subItem)"
v-model=
'childItem.UnitPrice'
:disabled=
"IsEditHotel==0?true:false"
>
@
input=
"calcPrice()"
v-model=
'childItem.UnitPrice'
:disabled=
"IsEditHotel==0?true:false"
>
</el-input>
</
template
></div>
</td>
<!-- 免减人数 -->
<td>
<div
v-if=
"childItem.HouseType === 2"
>
</
template
>
</td>
<!-- 免减人数 -->
<td>
<el-input
class=
'w40'
maxlength=
"2"
@
keyup
.
native=
"checkInteger(childItem,'HotelDiscount')"
v-model=
'childItem.HotelDiscount'
@
input=
"calc
ulationPrice(subItem
)"
>
v-model=
'childItem.HotelDiscount'
@
input=
"calc
Price(
)"
>
</el-input>
</div>
</td>
<!-- 金额小计 -->
<td
style=
"white-space:nowrap;"
>
<div
v-if=
"childItem.HouseType === 2"
>
<el-input
class=
'w40'
@
keyup
.
native=
"checkPrice(childItem,'TotalPrice')"
v-model=
'childItem.TotalPrice'
@
input=
"changeTotalPrice(subItem)"
>
</el-input>
</div>
</td>
<!-- 返佣类型 -->
<td
style=
"white-space:nowrap;"
v-if=
"childIndex==0"
>
<
template
v-if=
"subItem.RebateType==1"
>
<span
style=
"color:green"
>
{{
$t
(
'ground.hanshui'
)
}}
</span>
</
template
>
<
template
v-else
>
<span
style=
"color:red"
>
{{
$t
(
'ground.bhanshui'
)
}}
</span>
</
template
>
</td>
<!--返佣-->
<td>
<div
v-if=
"childItem.HouseType === 2"
>
<
template
v-if=
"childIndex<4"
>
<el-input
class=
'w40'
maxlength=
"2"
@
keyup
.
native=
"checkInteger(childItem,'RebateRatio')"
v-model=
'childItem.RebateRatio'
@
input=
"SetRebateRatio(subItem,childItem.RebateRatio),calculationPrice(subItem)"
:disabled=
"IsEditHotel==0?true:false"
></el-input>
%
</
template
>
<
template
v-if=
"childIndex==5"
>
<el-input
class=
'w40'
maxlength=
"2"
@
keyup
.
native=
"checkInteger(childItem,'RebateRatio')"
v-model=
'childItem.RebateRatio'
@
input=
"calculationPrice(subItem)"
:disabled=
"true"
></el-input>
%
</td>
<!-- 金额小计 -->
<td
style=
"white-space:nowrap;"
>
{{childItem.UnitPrice*(childItem.HouseTypeCount-childItem.HotelDiscount)}}
</td>
<!-- 金额总计 -->
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.OrderDetailsList.length"
style=
"white-space:nowrap;"
>
{{subItem.TotalPrice}}
</td>
<!-- 付款方式 -->
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.OrderDetailsList.length"
>
<table
class=
"hotelTable"
>
<tr>
<td
width=
"70"
style=
"text-align:right;"
>
{{$t('hotel.hotel_Currency')}}:
</td>
<td>
<el-select
v-model=
"subItem.CurrencyId"
:placeholder=
"$t('pub.pleaseSel')"
class=
'w135 sel'
@
change=
"calcPrice()"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
v-for=
"(item,index) in allCurrencyList"
:key=
"index"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</td>
</tr>
<!-- <tr>
<td colspan="2" style="height:5px;"></td>
</tr>
<tr>
<td width="70" style="text-align:right;">{{$t('ground.dfzhuangtai')}}:</td>
<td>
<el-select class='w135 sel' v-model='subItem.DMCState' :placeholder="$t('pub.pleaseSel')"
:disabled="IsEditHotel==0?true:false" @change="changeState(subItem)">
<el-option :label="$t('pub.pleaseSel')" :value='0'></el-option>
<el-option :label="$t('pub.sureBtn')" :value='1'></el-option>
<el-option :label="$t('visa.v_zanding')" :value='2'></el-option>
</el-select>
</td>
</tr> -->
<tr>
<td
colspan=
"2"
style=
"height:5px;"
></td>
</tr>
<tr>
<td
width=
"70"
style=
"text-align:right;color:red"
>
{{$t('fnc.fkfangshi')}}:
</td>
<td>
<el-select
class=
'w135 sel'
v-model=
'subItem.PayStyle'
:placeholder=
"$t('pub.pleaseSel')"
:disabled=
"IsEditHotel==0?true:false"
@
change=
"PayChange(subItem)"
>
<el-option
:label=
"$t('pub.pleaseSel')"
:value=
'0'
></el-option>
<el-option
:label=
"$t('ground.xianfu')"
:value=
'1'
></el-option>
<el-option
:label=
"$t('ground.qiandan')"
:value=
'2'
></el-option>
<el-option
:label=
"$t('ground.shiwudk')"
:value=
'3'
></el-option>
<el-option
:label=
"$t('ground.yufu')"
:value=
'4'
></el-option>
<el-option
:label=
"$t('ground.yufukuandk')"
:value=
'5'
></el-option>
<el-option
:label=
"$t('ground.yuejie')"
:value=
'9'
></el-option>
<el-option
:label=
"$t('ground.lingduidydf')"
:value=
'10'
></el-option>
<el-option
:label=
"$t('ground.shuaka')"
:value=
'11'
></el-option>
<el-option
:label=
"$t('objFill.zhuanzhang')"
:value=
'14'
></el-option>
<el-option
:label=
"$t('ground.enterpriseAlipay')"
:value=
'15'
></el-option>
</el-select>
</td>
</tr>
<tr>
<td
colspan=
"2"
style=
"height:5px;"
></td>
</tr>
<tr
v-if=
"LineId==90"
>
<td
width=
"70"
style=
"text-align:right;"
>
{{$t('pub.pubRemark')}}:
</td>
<td>
<el-input
type=
'textarea'
class=
'w135'
v-model=
'subItem.Remarks'
></el-input>
</td>
</tr>
</table>
</td>
<!-- 操作 -->
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.OrderDetailsList.length"
>
<
template
v-if=
"subItem.OPState==1"
>
<span
class=
"Hotel_red"
>
{{
$t
(
'salesModule.OPZD'
)
}}
</span>
</
template
>
<
template
v-if=
"childIndex==4 && subItem.DriverGuideIsRebate==0"
>
<el-input
class=
'w40'
maxlength=
"2"
@
keyup
.
native=
"checkInteger(childItem,'RebateRatio')"
v-model=
'childItem.RebateRatio'
@
input=
"calculationPrice(subItem)"
:disabled=
"true"
></el-input>
%
</
template
></div>
</td>
<!--返佣金额-->
<td>
<div
v-if=
"childItem.HouseType === 2"
>
<!--含税-->
<
template
v-if=
"subItem.RebateType==1"
>
<!--税别-->
<template
v-if=
"subItem.TaxType==2"
>
{{
(
childItem
.
UnitPrice
*
(
childItem
.
BookNum
-
childItem
.
HotelDiscount
)
*
(
1
+
XiaoFeiTaxFee
)
*
(
childItem
.
RebateRatio
/
100
)).
toFixed
(
2
)
}}
</
template
>
<
template
v-else
>
{{
(
childItem
.
UnitPrice
*
(
childItem
.
BookNum
-
childItem
.
HotelDiscount
)
*
(
1
)
*
(
childItem
.
RebateRatio
/
100
)).
toFixed
(
2
)
}}
</
template
>
<
template
v-if=
"IsOperation!=1"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('pub.addBtn')"
v-if=
"subItem.OPState!=1"
placement=
"top-start"
>
<el-button
@
click=
'AddHotel(item,subIndex)'
icon=
"iconfont icon-tianjia"
type=
"primary"
>
</el-button>
</el-tooltip>
<el-tooltip
v-if=
"item.HotelOrderList.length>1 && subItem.OPState!=1"
class=
"item"
effect=
"dark"
:content=
"$t('system.table_delete')"
placement=
"top-start"
>
<el-button
type=
"primary"
icon=
"iconfont icon-shanchu"
@
click=
'DeleteHotel(item,subIndex)'
>
</el-button>
</el-tooltip>
</
template
>
<!--不含税-->
<
template
v-else
>
<!--税别-->
<template
v-if=
"subItem.TaxType==2"
>
{{
(
childItem
.
UnitPrice
*
(
childItem
.
BookNum
-
childItem
.
HotelDiscount
)
*
(
1
+
XiaoFeiTaxFee
)
*
(
childItem
.
RebateRatio
/
100
)).
toFixed
(
2
)
}}
</
template
>
<
template
v-else
>
{{
(
childItem
.
UnitPrice
*
(
childItem
.
BookNum
-
childItem
.
HotelDiscount
)
*
(
1
)
*
(
childItem
.
RebateRatio
/
100
)).
toFixed
(
2
)
}}
</
template
>
</template></div>
</td>
<!-- 入汤税 -->
<td
style=
"white-space:nowrap;"
>
{{subItem.InTangTax}}
</td>
<!-- 城市税 -->
<td
style=
"white-space:nowrap;"
>
{{subItem.CityTax}}
</td>
<!-- 停车费 -->
<td
style=
"white-space:nowrap;"
>
{{subItem.ParkFee}}
</td>
<!-- 金额总计 -->
<td
style=
"white-space:nowrap;"
>
{{subItem.TotalPrice}}
<
template
v-if=
"subItem.NewTotalPrice"
>
<br
/><span
style=
"color:red;"
>
{{
subItem
.
NewTotalPrice
}}
</span>
</
template
>
</td>
<!-- 付款方式 -->
<td>
<table
class=
"hotelTable"
>
<tr>
<td
width=
"70"
style=
"text-align:right;"
>
{{$t('hotel.hotel_Currency')}}:
</td>
<td>
<el-select
v-model=
"subItem.CurrencyId"
:placeholder=
"$t('pub.pleaseSel')"
class=
'w135 sel'
@
change=
"calculationPrice(subItem)"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
:value=
'0'
></el-option>
<el-option
v-for=
"(item,index) in allCurrencyList"
:key=
"index"
:label=
"item.Name"
:value=
"item.ID"
>
</el-option>
</el-select>
</td>
</tr>
<tr>
<td
colspan=
"2"
style=
"height:5px;"
></td>
</tr>
<tr>
<td
width=
"70"
style=
"text-align:right;"
>
{{$t('ground.dfzhuangtai')}}:
</td>
<td>
<el-select
class=
'w135 sel'
v-model=
'subItem.DMCState'
:placeholder=
"$t('pub.pleaseSel')"
:disabled=
"IsEditHotel==0?true:false"
>
<el-option
:label=
"$t('pub.pleaseSel')"
:value=
'0'
></el-option>
<el-option
:label=
"$t('pub.sureBtn')"
:value=
'1'
></el-option>
<el-option
:label=
"$t('visa.v_zanding')"
:value=
'2'
></el-option>
</el-select>
</td>
</tr>
<tr>
<td
colspan=
"2"
style=
"height:5px;"
></td>
</tr>
<tr>
<td
width=
"70"
style=
"text-align:right;"
>
{{$t('salesModule.SureTime')}}:
</td>
<td>
<el-date-picker
v-model=
'subItem.SureTime'
class=
'w135'
value-format=
"yyyy-MM-dd"
type=
"date"
:disabled=
"IsEditHotel==0?true:false"
></el-date-picker>
</td>
</tr>
<tr>
<td
colspan=
"2"
style=
"height:5px;"
></td>
</tr>
<!-- <tr>
<td width="70" style="text-align:right;">{{$t('ground.shurushubie')}}:</td>
<td>
<el-select class='w135 sel' v-model='subItem.TaxType' :placeholder="$t('pub.pleaseSel')"
@change="calculationPrice(subItem)" :disabled="IsEditHotel==0?true:false">
<el-option :label="$t('pub.pleaseSel')" :value='0'></el-option>
<el-option :label="$t('pub.SR')" :value='1'></el-option>
<el-option :label="$t('pub.SB')" :value='2'></el-option>
</el-select>
</td>
</tr> -->
<tr>
<td
colspan=
"2"
style=
"height:5px;"
></td>
</tr>
<tr>
<td
width=
"70"
style=
"text-align:right;color:red"
>
{{$t('fnc.fkfangshi')}}:
</td>
<td>
<el-select
class=
'w135 sel'
v-model=
'subItem.PayStyle'
:placeholder=
"$t('pub.pleaseSel')"
:disabled=
"IsEditHotel==0?true:false"
@
change=
"PayChange(subItem)"
>
<el-option
:label=
"$t('pub.pleaseSel')"
:value=
'0'
></el-option>
<el-option
:label=
"$t('ground.xianfu')"
:value=
'1'
></el-option>
<el-option
:label=
"$t('ground.qiandan')"
:value=
'2'
></el-option>
<el-option
:label=
"$t('ground.shiwudk')"
:value=
'3'
></el-option>
<el-option
:label=
"$t('ground.yufu')"
:value=
'4'
></el-option>
<el-option
:label=
"$t('ground.yufukuandk')"
:value=
'5'
></el-option>
<el-option
:label=
"$t('ground.yuejie')"
:value=
'9'
></el-option>
<el-option
:label=
"$t('ground.lingduidydf')"
:value=
'10'
></el-option>
<el-option
:label=
"$t('ground.shuaka')"
:value=
'11'
></el-option>
</el-select>
</td>
</tr>
<tr>
<td
colspan=
"2"
style=
"height:5px;"
></td>
</tr>
<!-- <tr>
<td width="70" style="text-align:right;">{{$t('ground.sidaoffkfs')}}:</td>
<td>
<el-select class='w135 sel' v-model='subItem.DMCPayType' :placeholder="$t('pub.pleaseSel')"
:disabled="IsEditHotel==0?true:false" @change="calculationPrice(subItem)">
<el-option :label="$t('pub.pleaseSel')" :value='0'></el-option>
<el-option :label="$t('ground.yuejie')" :value='9'></el-option>
<el-option :label="$t('ground.xianfu')" :value='1'></el-option>
<el-option :label="$t('ground.qiandan')" :value='2'></el-option>
<el-option :label="$t('ground.shiwudk')" :value='3'></el-option>
<el-option :label="$t('ground.yufu')" :value='4'></el-option>
<el-option :label="$t('ground.yufukuandk')" :value='5'></el-option>
<el-option :label="$t('ground.gongsihetzf')" :value='6'></el-option>
<el-option :label="$t('ground.lingduidydf')" :value='10'></el-option>
<el-option :label="$t('ground.shuaka')" :value='11'></el-option>
</el-select>
</td>
</tr> -->
<tr
v-show=
"subItem.PayStyle==6"
>
<td
colspan=
"2"
style=
"height:5px;"
></td>
</tr>
<tr
v-show=
"subItem.PayStyle==6"
>
<td
width=
"70"
style=
"text-align:right;"
>
{{$t('ground.fukuanth')}}:
</td>
<td>
<el-input
class=
'w135'
v-model=
'subItem.PayTypeTCNUM'
:disabled=
"IsEditHotel==0?true:false"
>
</el-input>
</td>
</tr>
<tr>
<td
colspan=
"2"
style=
"height:5px;"
></td>
</tr>
<tr>
<td
width=
"70"
style=
"text-align:right;"
>
{{$t('ground.dingtuanhao')}}:
</td>
<td>
<el-input
class=
'w135'
v-model=
'subItem.ReserveNo'
></el-input>
</td>
</tr>
<tr>
<td
colspan=
"2"
style=
"height:5px;"
></td>
</tr>
<tr
style=
"display:none;"
>
<td
width=
"70"
style=
"text-align:right;"
>
{{$t('ground.tixinggys')}}:
</td>
<td>
<el-select
class=
'w135 sel'
v-model=
'subItem.SupplierHotelStatus'
:placeholder=
"$t('pub.pleaseSel')"
>
<el-option
:label=
"$t('pub.pleaseSel')"
:value=
'0'
></el-option>
<el-option
:label=
"$t('ground.yibantx')"
:value=
'1'
></el-option>
<el-option
:label=
"$t('ground.zhongyaotx')"
:value=
'2'
></el-option>
</el-select>
</td>
</tr>
<tr>
<td
colspan=
"2"
style=
"height:5px;"
>
</td>
</tr>
<tr>
<td
width=
"70"
style=
"text-align:right;"
>
{{$t('ground.duigysbz')}}:
</td>
<td>
<el-input
type=
'textarea'
class=
'w135'
v-model=
'subItem.Remarks'
></el-input>
</td>
</tr>
<tr
v-if=
"subItem.SupplierToDmcRemarks"
style=
"display:none;"
>
<td
width=
"70"
style=
"text-align:right;"
>
{{$t('ground.gongysddjbz')}}:
</td>
<td>
<span
:class=
"{'rq_disImNote':subItem.SupplierToDmcHotelStatus==1&&DateMinus(subItem.SupplierToDmcHotelStatusTime)<=5,'rq_importNote':subItem.SupplierToDmcHotelStatus==2&&DateMinus(subItem.SupplierToDmcHotelStatusTime)<=5}"
>
{{subItem.SupplierToDmcRemarks}}
</span>
</td>
</tr>
<tr
v-if=
"EditBtn"
>
<td
width=
"70"
style=
"text-align:right;"
>
{{$t('ground.shifoutbgxfj')}}:
</td>
<td>
<el-select
class=
'w135 sel'
v-model=
'subItem.IsSyncHotelCount'
>
<el-option
:label=
"$t('ground.tongbugx')"
:value=
'0'
></el-option>
<el-option
:label=
"$t('ground.bugengxin')"
:value=
'1'
></el-option>
</el-select>
</td>
</tr>
</table>
</td>
<!-- 操作 -->
<td>
<
template
v-if=
"subItem.OPState==1"
>
<span
class=
"Hotel_red"
>
{{
$t
(
'salesModule.OPZD'
)
}}
</span>
</
template
>
<
template
v-if=
"IsOperation!=1"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('pub.saveBtn')"
placement=
"top-start"
>
<el-button
icon=
"iconfont icon-baocun1"
@
click=
"SaveSingle(subItem)"
type=
"primary"
></el-button>
</el-tooltip>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"$t('pub.addBtn')"
v-if=
"subItem.OPState!=1"
placement=
"top-start"
>
<el-button
@
click=
'AddHotel(item,subIndex)'
icon=
"iconfont icon-tianjia"
type=
"primary"
></el-button>
</el-tooltip>
<el-tooltip
v-if=
"item.HotelOrderList.length>1 && subItem.OPState!=1"
class=
"item"
effect=
"dark"
:content=
"$t('system.table_delete')"
placement=
"top-start"
>
<el-button
type=
"primary"
icon=
"iconfont icon-shanchu"
@
click=
'DeleteHotel(item,subIndex)'
>
</el-button>
</el-tooltip>
</
template
>
<el-popover
width=
"200"
trigger=
"click"
popper-class=
"Bus_HotelPop"
>
<commonHotelLog
:ref=
"'comHotelLog'+index+subIndex+''"
>
</commonHotelLog>
<div
slot=
"reference"
class=
"w80"
style=
"cursor:pointer;text-decoration:underline;"
@
click=
"GetHotelLog(subItem,index,subIndex)"
>
{{$t('fnc.rizhi')}}
</div>
</el-popover>
</td>
</tr>
<el-popover
width=
"200"
trigger=
"click"
popper-class=
"Bus_HotelPop"
>
<commonHotelLog
:ref=
"'comHotelLog'+index+subIndex+''"
>
</commonHotelLog>
<div
slot=
"reference"
class=
"w80"
style=
"cursor:pointer;text-decoration:underline;"
@
click=
"GetHotelLog(subItem,index,subIndex)"
>
{{$t('fnc.rizhi')}}
</div>
</el-popover>
</td>
</tr>
</template>
</template>
</template>
</tbody>
<tfoot>
<tr>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
<td
colspan=
"2"
>
合计:
</td>
<td>
<font
style=
"color:red;font-weight:bold;"
>
{{allTotalPrice}}
</font>
</td>
<td>
</td>
<td>
</td>
<td>
</td>
</tr>
</tfoot>
</table>
<div
class=
"noDataNotice"
v-if=
"
l
ist.length<1"
>
<div
class=
"noDataNotice"
v-if=
"
dataL
ist.length<1"
>
<i
class=
"iconfont icon-kong"
></i>
<p>
{{$t('active.ld_noData')}}
</p>
</div>
...
...
@@ -607,7 +370,7 @@
import
moment
from
'moment'
import
comCheckHotel
from
"../commonPage/comCheckHotel.vue"
;
import
commonHotelLog
from
"../commonPage/commonHotelLog.vue"
;
import
commonPHlInfo
from
"../commonPage/commonPriceHotelInfo
.vue"
;
import
setHotelStock
from
"../commonPage/setHotelStock
.vue"
;
export
default
{
data
()
{
return
{
...
...
@@ -615,7 +378,7 @@
LineId
:
0
,
EditBtn
:
false
,
//房餐景点修改权限
defaultSelectValue
:
0
,
l
ist
:
[],
dataL
ist
:
[],
roomList
:
[],
TCNUM
:
''
,
flightTotal
:
0
,
...
...
@@ -693,15 +456,38 @@
BookNum
:
0
},
],
ChooseCountry
:
"651"
ChooseCountry
:
"651"
,
currentUserInfo
:
{},
saveLoading
:
false
,
//保存,防止重复提交
allTotalPrice
:
0
,
}
},
components
:
{
comCheckHotel
,
commonHotelLog
,
commonPHInfo
:
commonPHlInfo
setHotelStock
,
},
methods
:
{
getHouseTypeName
(
subItem
,
childItem
)
{
var
obj
=
{};
if
(
subItem
&&
subItem
.
HouseStatistics
&&
subItem
.
HouseStatistics
.
HouseTypeList
&&
subItem
.
HouseStatistics
.
HouseTypeList
.
length
>
0
)
{
subItem
.
HouseStatistics
.
HouseTypeList
.
forEach
(
hItem
=>
{
if
(
hItem
.
HouseType
==
childItem
.
HouseType
)
{
obj
=
hItem
;
}
})
}
return
obj
;
},
//订房状态切换
changeState
(
subItem
)
{
if
(
subItem
.
DMCState
==
1
)
{
subItem
.
SureTime
=
this
.
$commonUtils
.
getCurrentDate
();
}
else
{
subItem
.
SureTime
=
""
;
}
},
//批量修改房间数和房间人
BatchHotelOrder
()
{
var
checkArray
=
[];
...
...
@@ -756,12 +542,7 @@
//获取子组件返回的数据
childHotelList
(
ckedObj
)
{
//使用时间
var
oldData
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
list
[
this
.
findex
].
HotelOrderList
[
this
.
childIndex
]));
this
.
list
.
forEach
(
x
=>
{
x
.
HotelOrderList
.
forEach
(
y
=>
{
y
.
isShowPop
=
false
;
})
});
var
oldData
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
dataList
[
this
.
findex
].
HotelOrderList
[
this
.
childIndex
]));
var
useTime
=
oldData
.
CheckInDateStr
;
var
hotelId
=
ckedObj
.
ID
;
var
TCID
=
oldData
.
TCID
;
...
...
@@ -772,54 +553,83 @@
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
var
objData
=
res
.
data
.
data
;
var
tipStr
=
""
;
//库存不够
if
(
objData
.
isOverStock
==
0
)
{
if
(
objData
.
list
&&
objData
.
list
.
length
>
0
)
{
var
str
=
""
;
objData
.
list
.
forEach
((
cItem
,
cIndex
)
=>
{
str
+=
(
cIndex
==
0
?
""
:
","
)
+
cItem
.
TCNUM
+
this
.
$t
(
'objFill.shiyongle'
)
+
cItem
.
LastUseNum
+
this
.
$t
(
'hotel.hotel_room'
);
tipStr
+=
(
cIndex
==
0
?
""
:
","
)
+
cItem
.
TCNUM
+
this
.
$t
(
'objFill.shiyongle'
)
+
cItem
.
LastUseNum
+
this
.
$t
(
'hotel.hotel_room'
);
});
if
(
str
!=
""
)
{
this
.
Info
(
str
);
}
}
}
//库存充足或没有酒店库存的情况
else
if
(
objData
.
isOverStock
==
1
||
objData
.
isOverStock
==
-
1
)
{
this
.
list
[
this
.
findex
].
HotelOrderList
[
this
.
childIndex
].
Address
=
ckedObj
.
Address
;
this
.
list
[
this
.
findex
].
HotelOrderList
[
this
.
childIndex
].
NewHotelName
=
ckedObj
.
Name
;
this
.
list
[
this
.
findex
].
HotelOrderList
[
this
.
childIndex
].
Tel
=
ckedObj
.
Tel
;
this
.
list
[
this
.
findex
].
HotelOrderList
[
this
.
childIndex
].
NewHotelId
=
ckedObj
.
ID
;
this
.
list
[
this
.
findex
].
HotelOrderList
[
this
.
childIndex
].
PayStyle
=
ckedObj
.
PayStyle
;
this
.
list
[
this
.
findex
].
HotelOrderList
[
this
.
childIndex
].
PayStyleExt
=
ckedObj
.
PayStyle
;
if
(
tipStr
!=
""
)
{
this
.
Info
(
tipStr
);
}
var
tempOrderObj
=
this
.
dataList
[
this
.
findex
].
HotelOrderList
[
this
.
childIndex
];
if
(
tempOrderObj
)
{
tempOrderObj
.
Address
=
ckedObj
.
Address
;
tempOrderObj
.
NewHotelName
=
ckedObj
.
Name
;
tempOrderObj
.
Tel
=
ckedObj
.
Tel
;
tempOrderObj
.
NewHotelId
=
ckedObj
.
ID
;
tempOrderObj
.
PayStyle
=
ckedObj
.
PayStyle
;
tempOrderObj
.
PayStyleExt
=
ckedObj
.
PayStyle
;
tempOrderObj
.
IsHaveHotelStock
=
0
;
if
(
ckedObj
&&
ckedObj
.
Inventory
>
0
)
{
tempOrderObj
.
IsHaveHotelStock
=
1
;
}
//判断供应商编号是否大于0
if
(
ckedObj
.
Supplier
>
0
)
{
t
his
.
list
[
this
.
findex
].
HotelOrderList
[
this
.
childIndex
]
.
SupplierId
=
ckedObj
.
Supplier
;
t
empOrderObj
.
SupplierId
=
ckedObj
.
Supplier
;
}
t
his
.
list
[
this
.
findex
].
HotelOrderList
[
this
.
childIndex
]
.
OrderDetailsList
.
forEach
((
subItem
,
t
empOrderObj
.
OrderDetailsList
.
forEach
((
subItem
,
subIndex
)
=>
{
//判断是否有库存价格
if
(
subIndex
==
1
&&
ckedObj
.
CostPrice
>
0
&&
ckedObj
.
Inventory
>
0
)
{
subItem
.
IsHaveStockPrice
=
1
;
}
else
{
subItem
.
IsHaveStockPrice
=
0
;
if
(
subItem
.
HouseType
==
2
)
{
subItem
.
UnitPrice
=
ckedObj
.
CostPrice
;
}
subItem
.
UnitPrice
=
ckedObj
.
CostPrice
;
subItem
.
RebateRatio
=
ckedObj
.
RebateRatio
;
});
this
.
calculationPrice
(
this
.
list
[
this
.
findex
].
HotelOrderList
[
this
.
childIndex
]);
}
}
else
{
this
.
Error
(
this
.
$t
(
'ground.qingqiucanscw'
));
this
.
calcPrice
();
let
str
=
`elPopoverHotel
${
this
.
findex
}${
this
.
childIndex
}
`
//关闭组件
this
.
$refs
[
str
][
0
].
doClose
();
}
},
err
=>
{})
},
//酒店报价
GetNewHotelPrice
(
newHPObj
)
{
if
(
newHPObj
)
{
let
str
=
`elPopoverEditHotelPrice
${
this
.
findex
}${
this
.
childIndex
}
`
//关闭组件
this
.
$refs
[
str
][
0
].
doClose
();
var
tempObj
=
this
.
dataList
[
this
.
findex
].
HotelOrderList
[
this
.
childIndex
];
if
(
this
.
dataList
[
this
.
findex
].
HotelOrderList
[
this
.
childIndex
])
{
if
(
tempObj
&&
tempObj
.
IsHaveHotelStock
)
{
tempObj
.
IsHaveHotelStock
=
1
;
}
if
(
tempObj
&&
tempObj
.
OrderDetailsList
&&
tempObj
.
OrderDetailsList
.
length
>
0
)
{
tempObj
.
OrderDetailsList
.
forEach
((
subItem
,
subIndex
)
=>
{
if
(
subItem
.
HouseType
==
2
)
{
subItem
.
UnitPrice
=
newHPObj
.
CostPrice
;
}
});
}
}
}
},
getHotelPrice
(
index
,
subIndex
)
{
this
.
findex
=
index
;
this
.
childIndex
=
subIndex
;
},
//点击酒店选择
getChildHotel
(
index
,
subIndex
)
{
this
.
findex
=
index
;
this
.
childIndex
=
subIndex
;
let
str
=
`comCheckHotel
${
index
}${
subIndex
}
`
//调用comCheckHotel组件的 getCheckHotel()方法
this
.
$refs
[
str
][
0
].
getCheckHotel
();
},
//输入返佣自动前面4个房型赋值
...
...
@@ -887,7 +697,7 @@
var
fileUrl
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
//批量上传
if
(
this
.
IsMoreUpdate
==
1
)
{
this
.
l
ist
.
forEach
((
sItem
,
sIndex
)
=>
{
this
.
dataL
ist
.
forEach
((
sItem
,
sIndex
)
=>
{
sItem
.
HotelOrderList
.
forEach
((
subItem
,
subIndex
)
=>
{
if
(
subItem
.
IsChecked
)
{
subItem
.
ContractUrl
=
fileUrl
;
...
...
@@ -898,7 +708,7 @@
});
this
.
isShowPiliangPop
=
false
;
}
else
{
this
.
l
ist
[
this
.
checkedIndex
].
HotelOrderList
[
this
.
checkedsubIndex
].
ContractUrl
=
fileUrl
;
this
.
dataL
ist
[
this
.
checkedIndex
].
HotelOrderList
[
this
.
checkedsubIndex
].
ContractUrl
=
fileUrl
;
}
this
.
IsMoreUpdate
=
0
;
this
.
$forceUpdate
()
...
...
@@ -956,6 +766,7 @@
}
}
this
.
apipost
(
'dmcstatistics_get_GetHotelStaticsDetail_V2'
,
msg
,
res
=>
{
console
.
log
(
"dmcstatistics_get_GetHotelStaticsDetail_V2"
,
res
.
data
);
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
IsOperation
=
res
.
data
.
data
.
IsOperation
;
if
(
this
.
IsEditHotel
==
0
)
{
...
...
@@ -972,15 +783,14 @@
if
(
list
!=
null
&&
list
.
length
>
0
)
{
list
.
forEach
((
item
,
sIndex
)
=>
{
item
.
HotelOrderList
.
forEach
(
subItem
=>
{
//默认不更新
if
(
this
.
LineId
!=
14
)
{
subItem
.
IsSyncHotelCount
=
1
;
}
subItem
.
hotelList
.
push
({
Name
:
subItem
.
NewHotelName
,
ID
:
subItem
.
NewHotelId
});
//默认成日元
if
(
subItem
.
CurrencyId
==
0
)
{
subItem
.
CurrencyId
=
3
;
}
subItem
.
OrderDetailsList
.
forEach
((
x
,
index1
)
=>
{
x
.
HouseTypeCount
=
x
.
HouseTypeCount
.
toString
();
x
.
UnitPrice
=
x
.
UnitPrice
.
toString
();
...
...
@@ -989,25 +799,21 @@
if
(
subItem
.
ReserveNo
==
''
||
subItem
.
ReserveNo
==
null
)
{
subItem
.
ReserveNo
=
this
.
$route
.
query
.
NewCombinationNum
;
}
subItem
.
OrderDetailsList
=
subItem
.
OrderDetailsList
.
filter
(
item
=>
item
.
HouseType
===
2
)
const
item
=
subItem
.
OrderDetailsList
.
find
(
item
=>
item
.
HouseType
===
2
)
||
{
TotalPrice
:
0
}
subItem
.
TotalPrice
=
item
.
TotalPrice
.
toFixed
(
2
);
// 将金额总计的值赋值给金额小计
subItem
.
OrderDetailsList
[
0
].
TotalPrice
=
Number
(
subItem
.
TotalPrice
).
toFixed
(
2
);
subItem
.
isShowPop
=
false
;
subItem
.
isShowHStock
=
false
;
subItem
.
ckedHotelName
=
""
;
//遍历手配
this
.
SupplierList
.
forEach
(
x
=>
{
if
(
x
.
ID
==
subItem
.
SupplierId
)
{
subItem
.
IsHaveShouPeiFee
=
x
.
IsHaveShouPeiFee
;
subItem
.
ShouPeiMoney
=
x
.
ShouPeiMoney
;
subItem
.
SupplierType
=
x
.
Type
;
}
})
})
});
this
.
list
=
list
;
this
.
dataList
=
list
;
this
.
calcPrice
();
this
.
$forceUpdate
();
}
}
else
{
...
...
@@ -1016,90 +822,43 @@
this
.
loading
=
false
},
err
=>
{})
},
calculationPrice
(
obj
)
{
//计算价格
calcPrice
()
{
let
totalPrice
=
0
;
//获取当前选中的对象
let
currentObj
=
{};
if
(
obj
.
CurrencyId
!=
0
)
{
currentObj
=
this
.
allCurrencyList
.
find
(
item
=>
{
return
item
.
ID
===
obj
.
CurrencyId
;
//筛选出匹配数据
});
}
//日元
let
jpaObj
=
this
.
allCurrencyList
.
find
(
item
=>
{
return
item
.
ID
===
3
;
//筛选出匹配数据
});
obj
.
OrderDetailsList
.
forEach
((
item
,
index
)
=>
{
var
tempPrice
=
0
;
var
coefficient
=
1
;
//税别
if
(
obj
.
TaxType
==
2
)
{
coefficient
=
1
+
this
.
XiaoFeiTaxFee
;
}
if
(
index
==
4
&&
obj
.
DMCPayType
==
9
)
{
tempPrice
=
0
;
}
else
{
tempPrice
=
item
.
UnitPrice
*
(
item
.
BookNum
-
item
.
HotelDiscount
)
*
(
coefficient
-
item
.
RebateRatio
/
100
);
}
totalPrice
+=
tempPrice
;
})
totalPrice
+=
obj
.
ParkFee
+
obj
.
CityTax
+
obj
.
InTangTax
;
obj
.
TotalPrice
=
totalPrice
;
if
(
this
.
LineId
==
14
)
{
if
(
currentObj
&&
currentObj
.
ID
>
0
)
{
//人民币
if
(
currentObj
.
ID
==
1
)
{
obj
.
NewTotalPrice
=
currentObj
.
Name
+
":"
+
(
totalPrice
*
jpaObj
.
PayRate
).
toFixed
(
2
);
}
//日元
else
if
(
currentObj
.
ID
==
3
)
{
obj
.
NewTotalPrice
=
""
;
}
else
{
if
(
currentObj
.
CurrentRate
>
1
)
{
obj
.
NewTotalPrice
=
currentObj
.
Name
+
":"
+
((
totalPrice
*
jpaObj
.
PayRate
)
/
currentObj
.
CurrentRate
)
.
toFixed
(
2
);
}
else
{
obj
.
NewTotalPrice
=
currentObj
.
Name
+
":"
+
((
totalPrice
*
jpaObj
.
PayRate
)
*
currentObj
.
CurrentRate
)
.
toFixed
(
2
);
}
if
(
this
.
dataList
&&
this
.
dataList
.
length
>
0
)
{
this
.
dataList
.
forEach
(
rItem
=>
{
if
(
rItem
.
HotelOrderList
&&
rItem
.
HotelOrderList
.
length
>
0
)
{
rItem
.
HotelOrderList
.
forEach
(
oItem
=>
{
var
tempPrice
=
0
;
oItem
.
OrderDetailsList
.
forEach
((
dItem
,
index
)
=>
{
tempPrice
+=
dItem
.
UnitPrice
*
(
dItem
.
HouseTypeCount
-
dItem
.
HotelDiscount
);
})
oItem
.
TotalPrice
=
tempPrice
.
toFixed
(
2
);
totalPrice
+=
tempPrice
;
});
}
}
else
{
obj
.
NewTotalPrice
=
""
;
}
});
}
// 将金额总计的值赋值给金额小计
obj
.
OrderDetailsList
[
0
].
TotalPrice
=
Number
(
obj
.
TotalPrice
).
toFixed
(
2
);
this
.
allTotalPrice
=
totalPrice
.
toFixed
(
2
);
this
.
$forceUpdate
();
},
changeTotalPrice
(
obj
)
{
obj
.
TotalPrice
=
Number
(
obj
.
OrderDetailsList
[
0
].
TotalPrice
).
toFixed
(
2
);
},
saveList
(
type
)
{
if
(
type
==
0
)
{
this
.
l
ist
.
forEach
(
item
=>
{
this
.
dataL
ist
.
forEach
(
item
=>
{
item
.
HotelOrderList
.
forEach
(
subItem
=>
{
subItem
.
HotelOrderState
=
0
;
});
})
}
if
(
type
==
1
)
{
this
.
l
ist
.
forEach
(
item
=>
{
this
.
dataL
ist
.
forEach
(
item
=>
{
item
.
HotelOrderList
.
forEach
(
subItem
=>
{
subItem
.
HotelOrderState
=
1
;
});
})
}
var
flag
=
true
;
var
isUpload
=
true
;
var
str
=
""
;
this
.
list
.
forEach
(
item
=>
{
this
.
dataList
.
forEach
(
item
=>
{
item
.
HotelOrderList
.
forEach
(
subItem
=>
{
if
(
isUpload
&&
subItem
.
PayStyle
==
1
&&
subItem
.
ContractUrl
==
''
&&
!
this
.
EditBtn
)
{
str
+=
`
${
this
.
$t
(
'objFill.qingshangchuan'
)}${
item
.
UseTimeStr
}${
this
.
$t
(
'objFill.deshoups'
)}
`
isUpload
=
false
;
}
subItem
.
OrderDetailsList
.
forEach
((
y
,
sIndex
)
=>
{
if
(
y
.
HouseTypeCount
)
{
y
.
HouseTypeCount
=
parseFloat
(
y
.
HouseTypeCount
);
...
...
@@ -1122,16 +881,19 @@
if
(
!
this
.
$commonUtils
.
isNumber
(
y
.
RebateRatio
))
{
y
.
RebateRatio
=
0
;
}
y
.
BookNum
=
y
.
HouseTypeCount
;
})
if
(
!
this
.
$commonUtils
.
isNumber
(
subItem
.
TotalPrice
))
{
subItem
.
TotalPrice
=
0
;
}
});
})
this
.
saveLoading
=
true
;
this
.
loading
=
true
;
this
.
apipost
(
'dmcstatistics_get_SetHotelOrder'
,
this
.
l
ist
,
res
=>
{
this
.
apipost
(
'dmcstatistics_get_SetHotelOrder'
,
this
.
dataL
ist
,
res
=>
{
this
.
loading
=
false
;
this
.
saveLoading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
getList
();
this
.
Success
(
res
.
data
.
message
);
...
...
@@ -1140,66 +902,12 @@
}
},
err
=>
{})
},
//单条保存
SaveSingle
(
item
)
{
item
.
HotelOrderState
=
1
;
var
flag
=
true
;
var
isUpload
=
true
;
var
str
=
""
;
this
.
list
.
forEach
(
item
=>
{
item
.
HotelOrderList
.
forEach
(
subItem
=>
{
if
(
isUpload
&&
subItem
.
PayStyle
==
1
&&
subItem
.
ContractUrl
==
''
&&
!
this
.
EditBtn
)
{
str
+=
`
${
this
.
$t
(
'objFill.qingshangchuan'
)}${
item
.
UseTimeStr
}${
this
.
$t
(
'objFill.deshoups'
)}
`
isUpload
=
false
;
}
subItem
.
OrderDetailsList
.
forEach
(
y
=>
{
if
(
y
.
HouseTypeCount
)
{
y
.
HouseTypeCount
=
parseFloat
(
y
.
HouseTypeCount
);
}
else
{
y
.
HouseTypeCount
=
0
;
}
if
(
y
.
UnitPrice
)
{
y
.
UnitPrice
=
parseInt
(
y
.
UnitPrice
);
}
else
{
y
.
UnitPrice
=
0
;
}
if
(
y
.
HotelDiscount
)
{
y
.
HotelDiscount
=
parseInt
(
y
.
HotelDiscount
);
}
else
{
y
.
HotelDiscount
=
0
;
}
if
(
y
.
BookNum
==
""
)
{
y
.
BookNum
=
0
;
}
if
(
!
this
.
$commonUtils
.
isNumber
(
y
.
RebateRatio
))
{
y
.
RebateRatio
=
0
;
}
})
if
(
!
this
.
$commonUtils
.
isNumber
(
subItem
.
TotalPrice
))
{
subItem
.
TotalPrice
=
0
;
}
});
})
let
mag
=
{
TotalList
:
this
.
list
,
SingleItem
:
item
};
this
.
apipost
(
'dmcstatistics_get_SetHotelOrder'
,
this
.
list
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Success
(
res
.
data
.
message
);
this
.
getList
();
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{})
},
// 获取供应商
initSupplier
()
{
this
.
apipost
(
"
supplier_post_GetAl
lList"
,
{
this
.
apipost
(
"
travel_get_GetAllHote
lList"
,
{
Type
:
1
,
Country
:
651
Country
:
651
,
LineId
:
this
.
$route
.
query
.
LineId
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
SupplierList
=
res
.
data
.
data
;
...
...
@@ -1212,6 +920,7 @@
if
(
x
.
ID
==
SubItem
.
SupplierId
)
{
SubItem
.
IsHaveShouPeiFee
=
x
.
IsHaveShouPeiFee
;
SubItem
.
ShouPeiMoney
=
x
.
ShouPeiMoney
;
SubItem
.
SupplierType
=
x
.
Type
;
}
})
},
...
...
@@ -1223,6 +932,7 @@
}
},
err
=>
{});
},
//判断是否有房、餐、车价格修改权限
GetAuth
()
{
var
actionCode
=
this
.
$AuthCode
.
EditRoomDinnerTIcket
;
this
.
CheckUserAuth
(
actionCode
,
res
=>
{
...
...
@@ -1235,6 +945,7 @@
},
},
mounted
()
{
this
.
currentUserInfo
=
this
.
getLocalStorage
();
if
(
this
.
$route
.
query
.
LineId
)
{
this
.
LineId
=
this
.
$route
.
query
.
LineId
;
}
...
...
@@ -1323,9 +1034,6 @@
color
:
red
;
}
.roomReservationsDetailsTalbe
.hotelTable
{
border
:
none
;
}
...
...
src/components/LeaderManagement/leaderReimbursement.vue
View file @
82b53ddc
...
...
@@ -277,7 +277,7 @@
:disabled=
"checkedDisabled2"
></el-checkbox>
</th>
<th
width=
"150"
>
{{$t('hotel.table_hotelname')}}
</th>
<th
width=
"150"
>
{{$t('objFill.shoupeishu')}}
</th>
<th
width=
"150"
>
{{$t('salesModule.ChangeHotel')}}
</th>
<th
width=
"70"
>
{{$t('op.TakeBed')}}
<br
/>
{{$t('op.NoneedBed')}}
</th>
<th
width=
"70"
>
{{$t('objFill.shiji')}}
<br
/>
{{$t('objFill.yongfangshu')}}
</th>
...
...
@@ -287,9 +287,9 @@
<th
width=
"60"
>
{{$t('advmanager.v_free')}}
<br
/>
{{$t('admin.admin_personNumber')}}
</th>
<th
width=
"60"
>
{{$t('objFill.v101.LeaderManagement.danjiaren')}}
</th>
<th
width=
"60"
>
{{$t('fnc.jine')}}
<br
/>
{{$t('ground.xiaoji')}}
</th>
<th
width=
"60"
>
{{$t('hotel.hotel_commission')}}
)
<br
/>
{{$t('advmanager.v_type')}}
</th>
<th
width=
"60"
>
{{$t('hotel.hotel_commission')}}
)
</th>
<th
width=
"60"
>
{{$t('hotel.hotel_commission')}}
)
<br
/>
{{$t('fnc.jine')}}
</th>
<th
width=
"60"
>
{{$t('hotel.hotel_commission')}}
<br
/>
{{$t('advmanager.v_type')}}
</th>
<th
width=
"60"
>
{{$t('hotel.hotel_commission')}}
</th>
<th
width=
"60"
>
{{$t('hotel.hotel_commission')}}
<br
/>
{{$t('fnc.jine')}}
</th>
<th
width=
"60"
>
{{$t('pub.SR')}}
<br
/>
{{$t('pub.SB')}}
</th>
<th
width=
"60"
>
{{$t('fnc.a_zongjine')}}
</th>
<th
width=
"60"
>
{{$t('fnc.fukuan')}}
<br
/>
{{$t('objFill.fangshi')}}
</th>
...
...
@@ -339,10 +339,7 @@
<span
style=
"color:red"
v-if=
"subItem.StandardRoomPrice"
>
{{$t('objFill.shijijine')}}:{{subItem.StandardRoomPrice}}/{{$t('objFill.v101.LeaderManagement.renbiaoj')}}
</span>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.OrderDetailsList.length"
style=
"text-align:left; "
>
<a
target=
"_blank"
v-if=
"subItem.ContractUrl!==''"
:href=
"subItem.ContractUrl"
style=
"text-decoration: underline; cursor: pointer;color:red"
>
{{$t('objFill.chakanshoupeishu')}}
</a>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.OrderDetailsList.length"
style=
"text-align:left;color:red; "
>
{{subItem.HotelName!=subItem.NewHotelName?""+subItem.NewHotelName:""}}
</td>
...
...
@@ -569,7 +566,7 @@
<th
width=
"180"
>
{{$t('restaurant.res_resName')}}
</th>
<th
width=
"100"
>
{{$t('objFill.leibie')}}
</th>
<th
width=
"100"
>
{{$t('objFill.zongrenshu')}}
</th>
<th
width=
""
>
{{$t('objFill.yongchanrenshu')}}
</th>
<th
width=
""
>
{{$t('objFill.yongchanrenshu')}}
/桌数
</th>
<th
width=
"80"
>
{{$t('objFill.mianfeirenshu')}}
</th>
<th
width=
""
>
{{$t('fnc.danjia')}}
</th>
<th
width=
""
>
{{$t('objFill.jingexj')}}
</th>
...
...
@@ -583,11 +580,12 @@
<
template
v-for=
'(item,index) in list.DiningList'
>
<template
v-for=
"(subItem,subIndex) in item.DiningSummaryList"
>
<tr
v-for=
"(childItem,childIndex) in subItem.DiningPriceList"
>
<td
v-if=
"childIndex==0&&subIndex==0"
:rowspan=
"3*item.DiningSummaryList.length"
>
{{
item
.
UseTimeStr
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"3"
>
<td
v-if=
"childIndex==0&&subIndex==0"
:rowspan=
"subItem.DiningPriceList.length*item.DiningSummaryList.length"
>
{{
item
.
UseTimeStr
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"subItem.DiningPriceList.length"
>
<el-checkbox
v-model=
"subItem.checked"
@
change=
"getChecked(3)"
></el-checkbox>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"
3
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.DiningPriceList.length
"
>
<template
v-if=
"subItem.DiningName!=subItem.NewDiningName"
>
{{
subItem
.
NewDiningName
}}
</
template
>
...
...
@@ -612,14 +610,24 @@
</font></span>
</template>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"
3
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.DiningPriceList.length
"
>
{{subItem.UseDinnerTypeStr}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"
3
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.DiningPriceList.length
"
>
{{subItem.UseAccount}}
</td>
<td>
{{peopleStrToWord(childItem.PeopleType)}}:{{childItem.UsePeopleNum}}
<
template
v-if=
"subItem.LineId==90"
>
<template
v-if=
"subItem.BookStyle==0"
>
人数:
{{
childItem
.
UsePeopleNum
}}
</
template
>
<
template
v-else
>
桌数:
{{
childItem
.
UsePeopleNum
}}
</
template
>
</template>
<
template
v-else
>
{{
peopleStrToWord
(
childItem
.
PeopleType
)
}}
:
{{
childItem
.
UsePeopleNum
}}
</
template
>
</td>
<td>
{{childItem.Discount}}
...
...
@@ -636,10 +644,10 @@
<td>
{{childItem.DiscountPrice}}%
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"
3
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.DiningPriceList.length
"
>
{{diningTotalPrice(subItem, subItem.DiningPriceList)}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"
3
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.DiningPriceList.length
"
>
<span
v-if=
"subItem.PayStyle === 1"
>
{{$t('objFill.xianfu')}}
</span>
<span
v-else-if=
"subItem.PayStyle === 2"
>
{{$t('objFill.qiandan')}}
</span>
<span
v-else-if=
"subItem.PayStyle === 3"
>
{{$t('objFill.yufu')}}
</span>
...
...
@@ -651,7 +659,7 @@
<br
/>
<span
v-show=
"subItem.PayStyle==6"
>
{{$t('objFill.v101.hote.fukuanth')}}:{{subItem.PayTypeTCNUM}}
</span>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"
3
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.DiningPriceList.length
"
>
<
template
v-if=
"IsShowRMB"
>
<span>
{{
$t
(
'fnc.a_rminbi'
)
}}
</span>
</
template
>
...
...
@@ -659,10 +667,10 @@
{{
GetCurrency
(
subItem
.
CurrencyId
)
}}
</
template
>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"
3
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.DiningPriceList.length
"
>
{{subItem.Remarks}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"
3
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.DiningPriceList.length
"
>
<
template
v-for=
"(x, i) in subItem.FrList"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"getTips(x)"
placement=
"bottom"
>
<span
class=
"cursor-pointer radius5 mr mb px5"
style=
"margin: 3px;white-space: nowrap;"
:class=
"
{'bgD9F3FF':x.Status==1,'bgFAEAED':x.Status==2,'bjFFF3E0':x.Status==3,
...
...
@@ -705,7 +713,6 @@
<p
class=
"teamRevenueExpenditureTitle"
>
{{$t('scen.sc_piao')}}
<span
class=
"fr"
style=
"margin-top: -8px;"
>
<!-- <input type="button" class="normalBtn" :value="$t('objFill.xingzengfk')" @click="goUrl(3,2)" /> -->
</span>
</p>
<table
class=
"leaderReimbursementTable"
border=
"0"
cellspacing=
"1"
cellpadding=
"0"
>
...
...
@@ -724,22 +731,22 @@
<th
width=
"80"
>
{{$t('objFill.mianfeirenshu')}}
</th>
<th
width=
""
>
{{$t('fnc.danjia')}}
</th>
<th
width=
""
>
{{$t('objFill.jingexj')}}
</th>
<th
width=
""
>
{{$t('hotel.hotel_commission')}}
)
</th>
<th
width=
""
>
{{$t('hotel.hotel_commission')}}
</th>
<th
width=
""
>
{{$t('fnc.a_zongjine')}}
</th>
<th
width=
""
>
{{$t('hotel.hotel_payType')}}
)
</th>
<th
width=
""
>
{{$t('hotel.hotel_payType')}}
</th>
<th
width=
"100"
>
{{$t('pub.pubRemark')}}
</th>
<th
width=
"110"
>
{{$t('objFill.costdocument')}}
</th>
</tr>
<
template
v-for=
'(item,index) in list.ScenicList'
>
<template
v-for=
"(subItem,subIndex) in item.ScenicStatisticsList"
>
<tr
v-for=
"(childItem,childIndex) in subItem.TicketPriceList"
>
<td
v-if=
"childIndex==0&&subIndex==0"
:rowspan=
"3*item.ScenicStatisticsList.length"
>
{{
item
.
UseTimeStr
}}
<td
v-if=
"childIndex==0&&subIndex==0"
:rowspan=
"subItem.TicketPriceList.length*item.ScenicStatisticsList.length"
>
{{
item
.
UseTimeStr
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"
3
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.TicketPriceList.length
"
>
<el-checkbox
v-model=
"subItem.checked"
@
change=
"getChecked(4)"
></el-checkbox>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"
3
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.TicketPriceList.length
"
>
{{
subItem
.
ScenicName
}}
<template
v-if=
"subItem.ScenicOfferPrice&& subItem.ScenicOfferPrice>0"
>
<br
/>
...
...
@@ -761,11 +768,21 @@
</span>
</template>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"
3
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.TicketPriceList.length
"
>
{{subItem.UseAccount}}
</td>
<td>
{{peopleStrToWord(childItem.PeopleType)}}:{{childItem.UsePeopleNum}}
<
template
v-if=
"subItem.LineId==90"
>
<template
v-if=
"childItem.PeopleType==1"
>
<font>
门票人数:
{{
childItem
.
UsePeopleNum
}}
</font>
</
template
>
<
template
v-if=
"childItem.PeopleType==2"
>
<font>
小交通人数:
{{
childItem
.
UsePeopleNum
}}
</font>
</
template
>
</template>
<
template
v-else
>
{{
peopleStrToWord
(
childItem
.
PeopleType
)
}}
:
{{
childItem
.
UsePeopleNum
}}
</
template
>
</td>
<td>
{{childItem.Discount}}
...
...
@@ -782,10 +799,10 @@
<td>
{{childItem.DiscountPrice}}%
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"
3
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.TicketPriceList.length
"
>
{{scenicTotalPrice(subItem, subItem.TicketPriceList)}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"
3
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.TicketPriceList.length
"
>
<span
v-if=
"subItem.PayStyle === 1"
>
{{$t('objFill.xianfu')}}
</span>
<span
v-else-if=
"subItem.PayStyle === 2"
>
{{$t('ground.gsjiesuan')}}
</span>
<span
v-else-if=
"subItem.PayStyle === 4"
>
{{$t('objFill.yufu')}}
</span>
...
...
@@ -797,10 +814,10 @@
<br
/>
<span
v-show=
"subItem.PayStyle==6"
>
{{$t('objFill.v101.hote.fukuanth')}}:{{subItem.PayTypeTCNUM}}
</span>
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"
3
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.TicketPriceList.length
"
>
{{subItem.Remarks}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"
3
"
>
<td
v-if=
"childIndex==0"
:rowspan=
"
subItem.TicketPriceList.length
"
>
<
template
v-for=
"(x, i) in subItem.FrList"
>
<el-tooltip
class=
"item"
effect=
"dark"
:content=
"getTips(x)"
placement=
"bottom"
>
<span
class=
"cursor-pointer radius5 mr mb px5"
style=
"margin: 3px;white-space: nowrap;"
:class=
"
{'bgD9F3FF':x.Status==1,'bgFAEAED':x.Status==2,'bjFFF3E0':x.Status==3,
...
...
@@ -2522,6 +2539,7 @@
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
console
.
log
(
"getList"
,
res
.
data
);
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
let
arrList
=
function
(
arr
)
{
...
...
src/components/Restaurant/bookDinnerStatisticsDetails.vue
View file @
82b53ddc
...
...
@@ -144,9 +144,9 @@
</td>
<td>
<
template
v-if=
"LineId==90"
>
<el-select
v-model=
"subItem.BookStyle"
:placeholder=
"$t('pub.pleaseSel')"
class=
'
w135 sel'
>
<el-option
:value=
"0"
label=
"
按人数预定
"
></el-option>
<el-option
:value=
"1"
label=
"
按桌预定
"
></el-option>
<el-select
v-model=
"subItem.BookStyle"
:placeholder=
"$t('pub.pleaseSel')"
class=
'
sel'
style=
"width:80px;"
>
<el-option
:value=
"0"
label=
"
人数
"
></el-option>
<el-option
:value=
"1"
label=
"
桌数
"
></el-option>
</el-select>
</
template
>
<
template
v-else
>
...
...
src/components/TravelManager/TravelNewQuotation/CostNewPriceAudit.vue
View file @
82b53ddc
...
...
@@ -48,6 +48,12 @@
padding
:
0
5px
;
}
.offer_select-tag
{
background-color
:
#409eff
!important
;
color
:
white
!important
;
border-color
:
#409eff
!important
;
}
</
style
>
<
template
>
...
...
@@ -114,12 +120,16 @@
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('hotel.hotel_StarDate')}}
</td>
<td
colspan=
"5"
>
<
template
v-if=
"postConfig.OutDateTimeList&&postConfig.OutDateTimeList.length>0"
>
<el-tag
v-for=
"(item,oIndex) in postConfig.OutDateTimeList"
:key=
"oIndex"
style=
"margin-right:5px;"
>
{{
item
}}
<el-tag
v-for=
"(item,oIndex) in postConfig.OutDateTimeList"
:key=
"oIndex"
style=
"margin-right:5px;cursor:pointer;"
@
click=
"switchOffer(item)"
:class=
"item==selectDate?'offer_select-tag': ''"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"点击切换日期"
placement=
"top-start"
>
<font>
{{
item
}}
</font>
</el-tooltip>
</el-tag>
</
template
>
<
template
v-else
>
<el-tag
style=
"margin-right:5px;"
>
<el-tag
style=
"margin-right:5px;"
:class=
"postConfig.OutDateTime==selectDate?'offer_select-tag': ''"
>
{{
postConfig
.
OutDateTime
}}
</el-tag>
</
template
>
...
...
@@ -612,6 +622,11 @@
{{teamPrice.SingleDMCPrice}}
</el-form-item>
</td>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('salesModule.DJNum')"
>
{{offerDataObj.DMCNum}}
</el-form-item>
</td>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('Operation.Op_childNobed')"
>
{{teamPrice.ChildNoNeedPrice}}
...
...
@@ -627,7 +642,7 @@
{{teamPrice.SingleRoomPrice}}
</el-form-item>
</td>
<td
colspan=
"
4
"
>
<td
colspan=
"
2
"
>
<el-form-item
:label=
"$t('objFill.dandijjg')"
>
{{teamPrice.SingleDMCTCPrice}}
</el-form-item>
...
...
@@ -1020,14 +1035,6 @@
{{
postConfig
.
TeamTypeName
}}
</
template
>
</td>
<!-- <td colspan="4">
<el-form-item :label="$t('objFill.v101.gengctleix')">
<el-select class="multiple_input" v-model="postConfig.TeamType">
<el-option v-for='item in teamList' :key="item.ID" :label="item.Name" :value="item.ID">
</el-option>
</el-select>
</el-form-item>
</td> -->
</tr>
<!--报价单审核-->
<tr
v-if=
"IsEdit==2"
>
...
...
@@ -1057,21 +1064,16 @@
import
changeOffer
from
'@/components/commonPage/changeOffer'
export
default
{
//IsEdit(1-查看,2-审核,3-OP变更,4-变更审核)
props
:
[
"
OfferArray"
,
"
postConfig"
,
"IsEdit"
],
props
:
[
"postConfig"
,
"IsEdit"
],
data
()
{
return
{
tabsActive
:
0
,
orderList
:
[],
//审核信息
AduitMsg
:
{
},
AduitMsg
:
{},
//审核信息
OtherPrice
:
{},
dayCostPrice
:
[],
CostCurrencyList
:
[],
CostNumberList
:
[],
teamPrice
:
{},
teamList
:
[],
//团队类型
offerDataObj
:
{},
//报价单变更参数
changMsg
:
{
isShowChangeOffer
:
false
,
...
...
@@ -1081,15 +1083,53 @@
checkObj
:
{}
},
dialogDiningTitle
:
"行程变更"
,
selectDate
:
""
,
//当前选择时间
}
},
watch
:
{
postConfig
:
{
handler
:
function
(
val
,
oldVal
)
{
if
(
val
!=
oldVal
)
{
this
.
switchOffer
();
}
},
deep
:
true
},
IsEdit
:
{
handler
:
function
(
val
,
oldVal
)
{
if
(
val
!=
oldVal
)
{
this
.
switchOffer
();
}
},
deep
:
true
}
},
components
:
{
changeOffer
:
changeOffer
,
},
methods
:
{
//获取变更原因
getChangeRemark
()
{
switchOffer
(
dateStr
)
{
if
(
dateStr
)
{
this
.
selectDate
=
dateStr
;
}
else
{
if
(
this
.
postConfig
.
OfferArray
&&
this
.
postConfig
.
OfferArray
.
length
>
0
)
{
this
.
selectDate
=
this
.
postConfig
.
OfferArray
[
0
].
OutDateTime
;
}
}
var
that
=
this
;
if
(
this
.
postConfig
.
OfferArray
&&
this
.
postConfig
.
OfferArray
.
length
>
0
)
{
var
selectOfferObj
=
this
.
postConfig
.
OfferArray
.
find
((
qitem
)
=>
{
return
qitem
.
OutDateTime
==
that
.
selectDate
})
if
(
selectOfferObj
)
{
this
.
OtherPrice
=
selectOfferObj
.
otherPrice
;
this
.
teamPrice
=
selectOfferObj
.
teamPrice
;
this
.
CostNumberList
=
selectOfferObj
.
CostNumberList
;
this
.
offerDataObj
=
selectOfferObj
;
this
.
dayCostPrice
=
selectOfferObj
.
dayCostPriceList
;
this
.
CostCurrencyList
=
selectOfferObj
.
CostCurrencyList
;
}
}
},
//关闭弹窗
closeDialog
()
{
...
...
@@ -1121,8 +1161,8 @@
},
GetDayStr
(
dayNum
)
{
var
str
=
""
;
if
(
this
.
postConfig
.
OutDateTime
&&
this
.
postConfig
.
OutDateTim
e
!=
''
)
{
var
dateFormat
=
new
Date
(
this
.
postConfig
.
OutDateTim
e
);
if
(
this
.
selectDate
&&
this
.
selectDat
e
!=
''
)
{
var
dateFormat
=
new
Date
(
this
.
selectDat
e
);
dateFormat
=
dateFormat
.
setDate
(
dateFormat
.
getDate
()
+
dayNum
);
dateFormat
=
new
Date
(
dateFormat
);
let
y
=
dateFormat
.
getFullYear
()
...
...
@@ -1132,34 +1172,6 @@
}
return
str
;
},
getTeamList
()
{
//出团公司
this
.
apipost
(
"travel_GetTeamTypeEnumList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
teamList
=
res
.
data
.
data
;
}
},
err
=>
{}
);
},
selectTag
(
index
)
{
this
.
tabsActive
=
index
this
.
changeTabs
()
},
changeTabs
()
{
this
.
currentData
=
this
.
orderList
[
this
.
tabsActive
]
if
(
!
this
.
currentData
)
{
return
}
this
.
OtherPrice
=
this
.
currentData
.
otherPrice
;
this
.
dayCostPrice
=
this
.
currentData
.
dayCostPriceList
;
this
.
CostCurrencyList
=
this
.
currentData
.
CostCurrencyList
;
this
.
CostNumberList
=
this
.
currentData
.
CostNumberList
;
this
.
queryMsg
=
this
.
currentData
.
queryMsg
;
this
.
teamPrice
=
this
.
currentData
.
teamPrice
;
},
//下载文件
downloadFile
(
fileUrl
,
fileName
)
{
const
link
=
document
.
createElement
(
'a'
);
...
...
@@ -1176,92 +1188,95 @@
//每天小计
getDayXiaoJi
(
type
,
currencyType
)
{
var
xiaoJi
=
0
;
this
.
dayCostPrice
.
forEach
(
item
=>
{
var
currencyRate
=
1
;
if
(
currencyType
==
2
)
{
currencyRate
=
this
.
getCurrencyMoney
(
item
.
CurrencyId
);
}
//酒店
if
(
type
==
1
)
{
xiaoJi
+=
Number
(
item
.
HotelCostPrice
)
*
Number
(
currencyRate
);
}
//车
if
(
type
==
2
)
{
xiaoJi
+=
Number
(
item
.
BusCostPrice
)
*
Number
(
currencyRate
);
xiaoJi
+=
Number
(
item
.
PassFee
)
*
Number
(
currencyRate
);
}
//景点
if
(
type
==
3
)
{
if
(
item
.
ScenicList
&&
item
.
ScenicList
.
length
>
0
)
{
item
.
ScenicList
.
forEach
(
sItem
=>
{
if
(
sItem
.
TicketName
!=
''
||
sItem
.
TicketId
>
0
)
{
xiaoJi
+=
Number
(
sItem
.
TicketCostPrice
)
*
Number
(
currencyRate
);
}
})
if
(
this
.
dayCostPrice
&&
this
.
dayCostPrice
.
length
>
0
)
{
this
.
dayCostPrice
.
forEach
(
item
=>
{
var
currencyRate
=
1
;
if
(
currencyType
==
2
)
{
currencyRate
=
this
.
getCurrencyMoney
(
item
.
CurrencyId
);
}
//xiaoJi += Number(item.ScenicCostPrice) * Number(currencyRate);
}
//早餐
if
(
type
==
4
)
{
xiaoJi
+=
Number
(
item
.
BreakfastCostPrice
)
*
Number
(
currencyRate
);
xiaoJi
+=
Number
(
item
.
LunchCostPrice
)
*
Number
(
currencyRate
);
xiaoJi
+=
Number
(
item
.
DinnerCostPrice
)
*
Number
(
currencyRate
);
}
//回佣
if
(
type
==
8
)
{
xiaoJi
+=
Number
(
item
.
RebatePrice
)
*
Number
(
currencyRate
);
}
// 其它费用(保险、司导杂费等)
if
(
type
==
9
)
{
xiaoJi
+=
Number
(
item
.
OtherPrice
)
*
Number
(
currencyRate
);
}
});
//酒店
if
(
type
==
1
)
{
xiaoJi
+=
Number
(
item
.
HotelCostPrice
)
*
Number
(
currencyRate
);
}
//车
if
(
type
==
2
)
{
xiaoJi
+=
Number
(
item
.
BusCostPrice
)
*
Number
(
currencyRate
);
xiaoJi
+=
Number
(
item
.
PassFee
)
*
Number
(
currencyRate
);
}
//景点
if
(
type
==
3
)
{
if
(
item
.
ScenicList
&&
item
.
ScenicList
.
length
>
0
)
{
item
.
ScenicList
.
forEach
(
sItem
=>
{
if
(
sItem
.
TicketName
!=
''
||
sItem
.
TicketId
>
0
)
{
xiaoJi
+=
Number
(
sItem
.
TicketCostPrice
)
*
Number
(
currencyRate
);
}
})
}
}
//早餐
if
(
type
==
4
)
{
xiaoJi
+=
Number
(
item
.
BreakfastCostPrice
)
*
Number
(
currencyRate
);
xiaoJi
+=
Number
(
item
.
LunchCostPrice
)
*
Number
(
currencyRate
);
xiaoJi
+=
Number
(
item
.
DinnerCostPrice
)
*
Number
(
currencyRate
);
}
//回佣
if
(
type
==
8
)
{
xiaoJi
+=
Number
(
item
.
RebatePrice
)
*
Number
(
currencyRate
);
}
// 其它费用(保险、司导杂费等)
if
(
type
==
9
)
{
xiaoJi
+=
Number
(
item
.
OtherPrice
)
*
Number
(
currencyRate
);
}
});
}
return
xiaoJi
.
toFixed
(
0
);
},
//获取变更合计
getDayChangeXiaoJi
(
type
,
currencyType
)
{
var
xiaoJi
=
0
;
this
.
dayCostPrice
.
forEach
(
item
=>
{
var
currencyRate
=
1
;
if
(
currencyType
==
2
)
{
currencyRate
=
this
.
getCurrencyMoney
(
item
.
CurrencyId
);
}
//酒店
if
(
type
==
1
)
{
if
(
item
.
IsHotelChange
)
{
xiaoJi
+=
Number
(
item
.
HotelChangeValue
)
*
Number
(
currencyRate
);
if
(
this
.
dayCostPrice
&&
this
.
dayCostPrice
.
length
>
0
)
{
this
.
dayCostPrice
.
forEach
(
item
=>
{
var
currencyRate
=
1
;
if
(
currencyType
==
2
)
{
currencyRate
=
this
.
getCurrencyMoney
(
item
.
CurrencyId
);
}
}
//车
if
(
type
==
2
)
{
if
(
item
.
IsBusChange
)
{
xiaoJi
+=
Number
(
item
.
BusChangeValue
)
*
Number
(
currencyRate
);
//酒店
if
(
type
==
1
)
{
if
(
item
.
IsHotelChange
)
{
xiaoJi
+=
Number
(
item
.
HotelChangeValue
)
*
Number
(
currencyRate
);
}
}
}
//景点
if
(
type
==
3
)
{
if
(
item
.
IsScenicChange
)
{
xiaoJi
+=
Number
(
item
.
ScenicChangeValue
)
*
Number
(
currencyRate
);
//车
if
(
type
==
2
)
{
if
(
item
.
IsBusChange
)
{
xiaoJi
+=
Number
(
item
.
BusChangeValue
)
*
Number
(
currencyRate
);
}
}
}
//早餐
if
(
type
==
4
)
{
if
(
item
.
IsBreakfastChange
)
{
xiaoJi
+=
Number
(
item
.
BreakfastChangeValue
)
*
Number
(
currencyRate
);
//景点
if
(
type
==
3
)
{
if
(
item
.
IsScenicChange
)
{
xiaoJi
+=
Number
(
item
.
ScenicChangeValue
)
*
Number
(
currencyRate
);
}
}
if
(
item
.
IsLunchChange
)
{
xiaoJi
+=
Number
(
item
.
LunchChangeValue
)
*
Number
(
currencyRate
);
//早餐
if
(
type
==
4
)
{
if
(
item
.
IsBreakfastChange
)
{
xiaoJi
+=
Number
(
item
.
BreakfastChangeValue
)
*
Number
(
currencyRate
);
}
if
(
item
.
IsLunchChange
)
{
xiaoJi
+=
Number
(
item
.
LunchChangeValue
)
*
Number
(
currencyRate
);
}
if
(
item
.
IsDinnerChange
)
{
xiaoJi
+=
Number
(
item
.
DinnerChangeValue
)
*
Number
(
currencyRate
);
}
}
if
(
item
.
IsDinnerChange
)
{
xiaoJi
+=
Number
(
item
.
DinnerChangeValue
)
*
Number
(
currencyRate
);
if
(
type
==
9
)
{
if
(
item
.
IsOtherChange
)
{
xiaoJi
+=
Number
(
item
.
OtherChangeValue
)
*
Number
(
currencyRate
);
}
}
}
if
(
type
==
9
)
{
if
(
item
.
IsOtherChange
)
{
xiaoJi
+=
Number
(
item
.
OtherChangeValue
)
*
Number
(
currencyRate
);
}
}
});
});
}
return
xiaoJi
.
toFixed
(
0
);
},
//其它成本价格
...
...
@@ -1366,11 +1381,10 @@
}
},
mounted
()
{
this
.
orderList
=
this
.
OfferArray
this
.
changeTabs
()
this
.
switchOffer
();
},
created
()
{
this
.
getTeamList
();
},
watch
:
{
...
...
src/components/TravelManager/TravelNewQuotation/CostNewPriceForm.vue
View file @
82b53ddc
...
...
@@ -60,6 +60,13 @@
margin-bottom
:
0
!important
;
}
/* 在你的组件样式中 */
.CostNewPrice
.custom-label-color
.el-form-item__label
{
color
:
#ff4949
!important
;
font-weight
:
bold
!important
;
/* 修改为你需要的颜色 */
}
</
style
>
<
template
>
...
...
@@ -389,6 +396,8 @@
<tr>
<td
colspan=
"13"
>
{{$t('objFill.qitacbrmb')}}
</td>
</tr>
<
template
>
</
template
>
<tr>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('active.cl_jipiao')"
label-position=
"right"
>
...
...
@@ -420,7 +429,6 @@
@
keyup
.
native=
"checkPrice(teamPrice,'UnionPrice'),getchange()"
></el-input>
</el-form-item>
</td>
<td
colspan=
"4"
rowspan=
"2"
>
{{$t('objFill.xiaojijpzdsjly')}}:
<br
/>
{{getOtherCostMoney()}}
...
...
@@ -476,16 +484,8 @@
</el-form-item>
</td>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('Operation.Op_childNobed')"
>
<el-input
placeholder=
""
v-model=
"teamPrice.ChildNoNeedPrice"
@
keyup
.
native=
"checkInteger(teamPrice,'ChildNoNeedPrice')"
class=
"w70"
>
</el-input>
</el-form-item>
</td>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('Operation.Op_childBed')"
>
<el-input
placeholder=
""
v-model=
"teamPrice.ChildNeedPrice"
@
keyup
.
native=
"checkInteger(teamPrice,'ChildNeedPrice')"
class=
"w70"
>
<el-form-item
:label=
"$t('salesModule.DJNum')"
class=
"custom-label-color"
>
<el-input
placeholder=
""
v-model=
"offerDataObj.DMCNum"
class=
"w150"
>
</el-input>
</el-form-item>
</td>
...
...
@@ -496,13 +496,27 @@
</el-input>
</el-form-item>
</td>
<td
colspan=
"
4
"
>
<td
colspan=
"
2
"
>
<el-form-item
:label=
"$t('objFill.dandijjg')"
>
<el-input
placeholder=
""
v-model=
"teamPrice.SingleDMCTCPrice"
@
keyup
.
native=
"checkPrice(teamPrice,'SingleDMCTCPrice')"
class=
"w70"
>
</el-input>
</el-form-item>
</td>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('Operation.Op_childNobed')"
>
<el-input
placeholder=
""
v-model=
"teamPrice.ChildNoNeedPrice"
@
keyup
.
native=
"checkInteger(teamPrice,'ChildNoNeedPrice')"
class=
"w70"
>
</el-input>
</el-form-item>
</td>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('Operation.Op_childBed')"
>
<el-input
placeholder=
""
v-model=
"teamPrice.ChildNeedPrice"
@
keyup
.
native=
"checkInteger(teamPrice,'ChildNeedPrice')"
class=
"w70"
>
</el-input>
</el-form-item>
</td>
</tr>
<tr>
<td
colspan=
"2"
>
...
...
@@ -577,7 +591,6 @@
</td>
<td>
{{$t('objFill.tongyexsjg')}}
<br
/>
<!--台湾印象和日本印象-->
<
template
v-if=
"postConfig.OutBranchId==1218||postConfig.OutBranchId==1220"
>
...
...
@@ -684,25 +697,40 @@
<travelDinner
v-if=
"isShowDiningDig"
:qMsg=
"qMsg"
@
chooseDinner=
"chooseDinner"
@
closeDinner=
"closeDialog"
:otherDinner=
"otherDinner"
:breakFirstList=
"breakFirstList"
></travelDinner>
</el-dialog>
</div>
</template>
<
script
>
import
travelDinner
from
'@/components/commonPage/travelDinner'
export
default
{
props
:
[
"postConfig"
,
"AllCurrencyList"
],
props
:
[
"postConfig"
,
"AllCurrencyList"
,
"offerSelectDate"
],
watch
:
{
postConfig
:
{
handler
:
function
(
val
,
oldVal
)
{
if
(
val
!=
oldVal
)
{
this
.
getOfferItemObj
(
1
);
}
},
deep
:
true
},
offerSelectDate
:
{
handler
:
function
(
val
,
oldVal
)
{
if
(
val
!=
oldVal
)
{
this
.
getOfferItemObj
(
2
);
}
},
deep
:
true
}
},
data
()
{
return
{
dayCostPriceList
:
this
.
postConfig
.
OfferArray
[
0
].
dayCostPriceList
,
otherPrice
:
this
.
postConfig
.
OfferArray
[
0
].
otherPrice
,
teamPrice
:
this
.
postConfig
.
OfferArray
[
0
].
teamPrice
,
CostNumberList
:
this
.
postConfig
.
OfferArray
[
0
].
CostNumberList
,
dayCostPriceList
:
this
.
postConfig
.
dayCostPriceList
,
otherPrice
:
{}
,
teamPrice
:
{}
,
CostNumberList
:
[]
,
CurrencyNumberListExt
:
this
.
postConfig
.
OfferArray
[
0
].
CurrencyNumberListExt
,
CostCurrencyList
:
this
.
postConfig
.
OfferArray
[
0
].
CostCurrencyList
,
offerDataObj
:
{},
//下拉框默认值
defaultSelect
:
0
,
//币种下拉
...
...
@@ -745,6 +773,24 @@
travelDinner
:
travelDinner
,
},
methods
:
{
//获取选中的日期
getOfferItemObj
(
type
)
{
var
selectOfferObj
=
{};
if
(
this
.
postConfig
&&
this
.
postConfig
.
OfferArray
&&
this
.
postConfig
.
OfferArray
.
length
>
0
)
{
selectOfferObj
=
this
.
postConfig
.
OfferArray
.
find
((
qitem
)
=>
{
return
qitem
.
OutDateTime
==
this
.
offerSelectDate
})
}
if
(
selectOfferObj
)
{
this
.
otherPrice
=
selectOfferObj
.
otherPrice
;
this
.
teamPrice
=
selectOfferObj
.
teamPrice
;
this
.
CostNumberList
=
selectOfferObj
.
CostNumberList
;
this
.
offerDataObj
=
selectOfferObj
;
}
this
.
getchange
()
this
.
getSubMoney
();
return
selectOfferObj
;
},
changeTicket
(
subItem
)
{
if
(
subItem
.
TicketSourceList
&&
subItem
.
TicketSourceList
.
length
>
0
)
{
var
changeObj
=
subItem
.
TicketSourceList
.
find
(
qitem
=>
qitem
.
TicketId
==
subItem
.
TicketId
);
...
...
@@ -817,8 +863,8 @@
},
GetDayStr
(
dayNum
)
{
var
str
=
""
;
if
(
this
.
postConfig
.
OutDateTime
&&
this
.
postConfig
.
OutDateTim
e
!=
''
)
{
var
dateFormat
=
new
Date
(
this
.
postConfig
.
OutDateTim
e
);
if
(
this
.
offerSelectDate
&&
this
.
offerSelectDat
e
!=
''
)
{
var
dateFormat
=
new
Date
(
this
.
offerSelectDat
e
);
dateFormat
=
dateFormat
.
setDate
(
dateFormat
.
getDate
()
+
dayNum
);
dateFormat
=
new
Date
(
dateFormat
);
let
y
=
dateFormat
.
getFullYear
()
...
...
@@ -843,7 +889,6 @@
this
.
initHotel
(
query
,
subItem
)
}
else
{
subItem
.
HotelList
=
[]
}
},
//景点搜索
...
...
@@ -989,7 +1034,6 @@
}
})
}
//xiaoJi += Number(item.ScenicCostPrice) * Number(currencyRate);
}
//餐合计
if
(
type
==
4
)
{
...
...
@@ -1138,6 +1182,7 @@
},
//添加人数费用
addPeoNunber
()
{
var
that
=
this
;
var
PeopleNumber
=
this
.
priceObj
.
priceNum
;
if
(
PeopleNumber
==
""
)
{
this
.
Info
(
this
.
$t
(
'objFill.v101.SalesModule.col2.t4'
));
...
...
@@ -1156,6 +1201,13 @@
var
CostNumberObj
=
this
.
$tripUtils
.
CostNumber
();
CostNumberObj
.
PeopleNumber
=
PeopleNumber
;
this
.
CostNumberList
.
push
(
CostNumberObj
);
if
(
this
.
postConfig
&&
this
.
postConfig
.
OfferArray
&&
this
.
postConfig
.
OfferArray
.
length
>
0
)
{
this
.
postConfig
.
OfferArray
.
forEach
(
rItem
=>
{
if
(
rItem
.
OutDateTime
!=
this
.
offerSelectDate
)
{
rItem
.
CostNumberList
=
JSON
.
parse
(
JSON
.
stringify
(
that
.
CostNumberList
))
}
})
}
this
.
CurrencyNumberListExt
.
forEach
(
x
=>
{
var
CurrencyNumberObj
=
this
.
$tripUtils
.
CurrencyNumber
();
CurrencyNumberObj
.
CurrencyId
=
x
.
Key
;
...
...
@@ -1173,7 +1225,13 @@
},
//删除人数
DeletePNumber
(
index
)
{
var
that
=
this
;
this
.
CostNumberList
.
splice
(
index
,
1
);
if
(
this
.
postConfig
&&
this
.
postConfig
.
OfferArray
&&
this
.
postConfig
.
OfferArray
.
length
>
0
)
{
this
.
postConfig
.
OfferArray
.
forEach
(
rItem
=>
{
rItem
.
CostNumberList
=
JSON
.
parse
(
JSON
.
stringify
(
that
.
CostNumberList
));
})
}
},
//人数排序
shortPeopleNumber
()
{
...
...
@@ -1259,8 +1317,9 @@
tempPrice
=
Number
(
that
.
getLocalMoney
(
x
.
PeopleNumber
));
});
}
this
.
teamPrice
.
SingleDMCPrice
=
tempPrice
.
toFixed
(
0
);
if
(
this
.
teamPrice
.
SingleDMCPrice
<=
0
||
(
type
&&
type
==
1
))
{
this
.
teamPrice
.
SingleDMCPrice
=
tempPrice
.
toFixed
(
0
);
//
this.teamPrice.SingleDMCPrice = tempPrice.toFixed(0);
}
this
.
getSubMoney
();
},
...
...
@@ -1304,6 +1363,7 @@
created
()
{
this
.
getEmployeeList
();
this
.
getConfigDinnerList
();
this
.
getOfferItemObj
(
0
);
}
};
...
...
src/components/TravelManager/TravelNewQuotation/QuotationAduit.vue
View file @
82b53ddc
...
...
@@ -12,8 +12,7 @@
<
template
>
<div
class=
"DirectQuotation clearfix"
v-loading=
"loading"
>
<div
class=
"singlePrice clearfix"
>
<CostNewPriceAudit
v-if=
"haveData"
ref=
"CostNewPrice"
:postConfig=
"postData"
:OfferArray=
"OfferArray"
:IsEdit=
"IsEdit"
></CostNewPriceAudit>
<CostNewPriceAudit
v-if=
"haveData"
ref=
"CostNewPrice"
:postConfig=
"postData"
:IsEdit=
"IsEdit"
></CostNewPriceAudit>
</div>
</div>
</
template
>
...
...
@@ -23,9 +22,6 @@
data
()
{
return
{
haveData
:
false
,
OfferArray
:
[],
ConfigID
:
0
,
IsShow
:
false
,
//基本配置
postData
:
{
ID
:
0
,
...
...
@@ -87,8 +83,8 @@
OpAuditDate
:
""
,
//印尼团 OP审核时间
OpAuditContent
:
""
,
//印尼团OP审核备注
OpAuditStatus
:
""
,
//印尼团OP审核状态
OfferArray
:
[],
},
isSubmit
:
true
,
loading
:
false
,
IsEdit
:
0
,
};
...
...
@@ -131,6 +127,7 @@
});
},
getPostData
()
{
this
.
haveData
=
false
;
let
BatchNum
=
""
;
let
offerid
=
0
;
if
(
this
.
$route
.
query
.
BatchNum
)
{
...
...
@@ -145,10 +142,11 @@
};
this
.
loading
=
true
;
this
.
apipost
(
"travel_get_
GetMyTravelInfo_V5
"
,
"travel_get_
PriceOfferInfo
"
,
msg
,
res
=>
{
this
.
loading
=
false
;
console
.
log
(
"travel_get_PriceOfferInfo"
,
res
.
data
);
if
(
res
.
data
.
resultCode
==
1
)
{
var
tempData
=
res
.
data
.
data
;
if
(
tempData
.
ID
&&
tempData
.
ID
>
0
)
{
...
...
@@ -160,18 +158,7 @@
if
(
tempData
.
LineteamId
&&
tempData
.
LineteamId
>
0
)
{
this
.
postData
.
LineteamId
=
tempData
.
LineteamId
;
}
if
(
tempData
.
CSeat
&&
tempData
.
CSeat
>
0
)
{
this
.
postData
.
CSeat
=
tempData
.
CSeat
;
}
if
(
tempData
.
FSeat
&&
tempData
.
FSeat
>
0
)
{
this
.
postData
.
FSeat
=
tempData
.
FSeat
;
}
if
(
tempData
.
YSeat
&&
tempData
.
YSeat
>
0
)
{
this
.
postData
.
YSeat
=
tempData
.
YSeat
;
}
if
(
tempData
.
LowNum
&&
tempData
.
LowNum
>
0
)
{
this
.
postData
.
LowNum
=
tempData
.
LowNum
;
}
if
(
tempData
.
Title
&&
tempData
.
Title
!=
''
)
{
this
.
postData
.
Title
=
tempData
.
Title
;
}
...
...
@@ -267,9 +254,8 @@
this
.
postData
.
PriceTeamTypeName
=
tempData
.
PriceTeamTypeName
;
this
.
postData
.
PriceTeamType
=
tempData
.
PriceTeamType
;
if
(
tempData
.
OfferArray
)
{
tempData
.
OfferArray
.
forEach
(
item
=>
{
this
.
OfferArray
.
push
(
item
)
})
this
.
postData
.
OfferArray
=
tempData
.
OfferArray
;
}
this
.
haveData
=
true
;
}
else
{
...
...
src/components/TravelManager/TravelNewQuotation/QuotationNewPrice.vue
View file @
82b53ddc
...
...
@@ -44,8 +44,6 @@
color
:
#106BAF
;
}
.w70
{
width
:
70px
!important
;
}
...
...
@@ -63,9 +61,10 @@
margin-bottom
:
0
!important
;
}
.select-tag
{
font-weight
:
bold
;
color
:
#f12a2a
;
.offer_select-tag
{
background-color
:
#409eff
!important
;
color
:
white
!important
;
border-color
:
#409eff
!important
;
}
</
style
>
...
...
@@ -113,7 +112,7 @@
</template>
</el-select>
</template>
<
template
v-if=
"postData.TeamType==2"
>
<
template
v-if=
"postData.TeamType==2"
>
<el-tooltip
content=
"勾选此项,团队报满后,自动生成新团期,新报价单。"
>
<el-checkbox
v-model=
"postData.IsRoll"
:true-label=
"1"
:false-label=
"0"
>
滚动发团
</el-checkbox>
...
...
@@ -182,10 +181,9 @@
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('hotel.hotel_StarDate')}}
</td>
<td>
<el-date-picker
type=
"dates"
v-model=
"postData.OutDateTimeList"
value-format=
"yyyy-MM-dd"
placeholder
:disabled=
"rParams.TCID>0"
>
:disabled=
"rParams.TCID>0"
@
change=
"changeDate"
>
</el-date-picker>
</td>
</tr>
<tr>
<td
colspan=
"8"
style=
"height:20px;"
>
...
...
@@ -196,8 +194,11 @@
<td
colspan=
"5"
>
<
template
v-if=
"postData.OutDateTimeList&&postData.OutDateTimeList.length>0"
>
<el-tag
v-for=
"(item,oIndex) in postData.OutDateTimeList"
:key=
"item"
closable
style=
"margin-right:5px;"
@
close=
"handleClose(item,oIndex)"
>
{{
item
}}
style=
"margin-right:5px;cursor:pointer;"
@
close=
"handleClose(item,oIndex)"
:class=
"item==selectDate?'offer_select-tag': ''"
@
click=
"switchOffer(item)"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"点击切换日期"
placement=
"top-start"
>
<font>
{{
item
}}
</font>
</el-tooltip>
</el-tag>
</
template
>
</td>
...
...
@@ -205,8 +206,8 @@
</table>
</div>
<br
/>
<CostNewPriceForm
v-if=
"haveData"
ref=
"CostNewPrice"
:postConfig=
"postData"
:
AllCurrencyList=
"AllCurrencyList
"
@
success=
"refreshPage"
>
<CostNewPriceForm
v-if=
"haveData"
ref=
"CostNewPrice"
:postConfig=
"postData"
:
offerSelectDate=
"selectDate
"
:AllCurrencyList=
"AllCurrencyList"
@
success=
"refreshPage"
>
</CostNewPriceForm>
</el-form>
</div>
...
...
@@ -225,7 +226,6 @@
</template>
<
script
>
import
CostNewPriceForm
from
"../TravelNewQuotation/CostNewPriceForm"
;
export
default
{
components
:
{
CostNewPriceForm
:
CostNewPriceForm
,
...
...
@@ -254,125 +254,25 @@
//基本配置
postData
:
{
BatchNum
:
""
,
ID
:
0
,
TCID
:
0
,
OfferId
:
0
,
StartCityId
:
0
,
LineId
:
0
,
LineteamId
:
0
,
Title
:
""
,
IsOrder
:
1
,
IsSubstitution
:
1
,
IsB2B
:
1
,
IsB2C
:
1
,
FSeat
:
0
,
CSeat
:
0
,
YSeat
:
0
,
//最低成团人数
LowNum
:
0
,
//OP备注
OpRemark
:
""
,
//产品经理备注
ProductRecommend
:
""
,
IsDirect
:
0
,
//是否直采(0-否-1-是)【全部默认非直采】
PriceIsDirect
:
1
,
//是否直采报价(1-否-2-是)【全部默认非直采】
PDFAlias
:
""
,
//pdf别名
ImgCover
:
""
,
//封面图
DayNum
:
0
,
//天数
NightNum
:
0
,
//晚数
StartCityId
:
0
,
ReturnArriveCityId
:
0
,
//返回抵达城市
CustomerName
:
""
,
//客户名称
TeamType
:
0
,
//出团类型
PriceTeamType
:
0
,
//团队类型
TravelState
:
1
,
//团控状态(1-草稿,2-待审核,3-审核通过,4-审核拒绝,5已撤销)
OutBranchId
:
""
,
//出团公司
OutDateTime
:
""
,
//出发时间
OutDateTimeList
:
[],
//出发时间
OfferPayType
:
0
,
//报价单付款方式
SaleOfferPayType
:
0
,
//售价付款方式
IsRoll
:
0
,
//团期报满后是否自动生成新团期,新报价单
OPId
:
""
,
//主OP
AssistantId
:
""
,
//助理OP[格式:1,2,3]
AssistantList
:
[],
//助理OP数组
OfferArray
:
[{
CostCurrencyList
:
[],
CostNumberList
:
[],
//报价人数
CurrencyNumberListExt
:
[],
//币种和人数列表
dayCostPriceList
:
[],
//行程报价
teamPrice
:
{
QuotationId
:
0
,
//主键编号
TeamId
:
0
,
//团期编号
ConfigID
:
0
,
//团队配置编号
OfferId
:
0
,
//报价编号
B2BMemberPrice
:
0
,
//同业会员价
B2BPrice
:
0
,
//同业价格
B2CMemberPrice
:
0
,
//直客会员价,
B2CPrice
:
0
,
//直客价格
ChildNeedPrice
:
0
,
//小孩占床价格,
ChildNoNeedPrice
:
0
,
//小孩不占床价格
BabyPrice
:
0
,
//婴儿价格
BabyChargePrice
:
0
,
//婴儿附加费
OldManChargePrice
:
0
,
//老人附加费
VisaPrice
:
0
,
//签证
OtherPrice
:
0
,
//杂费
SingleRoomPrice
:
0
,
//单房差
SingleDMCPrice
:
0
,
//单地接(成本)
SingleDMCTCPrice
:
0
,
//单地接团售价
RebatePrice
:
0
,
//同行返佣
DiscountPrice
:
0
,
//早鸟优惠
IsSupportChildren
:
1
,
//是否支持儿童出游(1-支持,2-不支持)
SafeMoney
:
0
,
//保险费
PeopleNumber
:
0
,
//人数
AirticketMoney
:
0
,
//机票费用
BackVisaPrice
:
0
,
//退签证费
BackSafeMoney
:
0
,
//退保险费
ContractUrl
:
""
,
//合同地址
PriceRemark
:
""
,
//定价备注
ContractArray
:
[],
TaxPrice
:
0
,
//税金
UnionPrice
:
0
,
//联运价格
NightPrice
:
0
,
//过夜费
},
//团队价格信息
otherPrice
:
{
CostId
:
0
,
//主键编号
ConfigID
:
0
,
//配置编号
OfferId
:
0
,
//报价单编号
InlandAirTicketCurrency
:
0
,
//内陆段机位币种
InlandAirTicketMoney
:
0
,
//内陆段机位金额(每人)
InlandShipTicketCurrency
:
0
,
//内陆段船票币种
InlandShipTicketMoney
:
0
,
//内陆段船票金额(每人)
InlandTrainTicketCurrency
:
0
,
//内陆段火车币种
InlandTrainTicketMoney
:
0
,
//内陆段火车金额(每人)
VisaMoney
:
0
,
//签证费用(每人)
SafeMoney
:
0
,
//保险费用(每人)
LeaderTripMoney
:
0
,
//领队小费
DriverGuideMoney
:
0
,
//司机小费
SalesCommissionMoney
:
0
,
//销售提成
OfficeCommissionMoney
:
0
,
//作业处提成
TripMoney
:
0
,
//小费
GuidePeopleMoney
:
0
,
//导游人头费
AirTicketMoeny
:
0
,
//机票成本费用
KBMoney
:
0
,
//KB人头费
AirTicketShareMoney
:
0
,
//机票分摊费用
TicketShareMoney
:
0
,
//门票分摊费用,
SingleRoomShareMoney
:
0
,
//单房差分摊费用
InlandTrafficShareMoney
:
0
,
//内陆段交通分摊费用
OtherShareMoney
:
0
,
//杂费分摊费用
OtherRemark
:
""
,
//其他价格备注
VisaMoneyCurrencyId
:
0
,
//签证费币种
SafeMoneyCurrencyId
:
0
,
//保险费币种
LeaderTripMoneyCurrencyId
:
0
,
//领队小费币种
DriverGuideMoneyCurrencyId
:
0
,
//司机小费币种
LeaderGuideDriveZhuSu
:
0
,
//领队导游住宿费
GuideMoneyCurrencyId
:
0
,
//导游小费币种
GuideMoney
:
0
,
//导游小费
InternationalAirTicket
:
0
,
//国际段机票
InternationalAirTicketCurrency
:
0
,
//国际段机票币种
GuideComplement
:
0
,
//导游回补
TipComplement
:
0
,
//小费回补
},
//其他报价
}]
SaleOfferPayType
:
""
,
OPId
:
""
,
AssistantList
:
[],
dayCostPriceList
:
[],
//行程报价
OfferArray
:
[]
},
isSubmit
:
true
,
LineList
:
[],
//线路列表
...
...
@@ -387,27 +287,167 @@
TCID
:
0
,
BatchNum
:
""
},
selectDate
:
""
,
//选中的日期
};
},
methods
:
{
//删除日期
handleClose
(
item
,
index
)
{
if
(
this
.
postData
.
BatchNum
&&
this
.
postData
.
BatchNum
!=
''
)
{
var
postMsg
=
{
BatchNum
:
this
.
postData
.
BatchNum
,
Date
:
item
//切换日期
switchOffer
(
item
)
{
this
.
haveData
=
false
;
this
.
selectDate
=
item
;
this
.
haveData
=
true
;
},
//日期选择
changeDate
()
{
var
that
=
this
;
if
(
this
.
postData
.
OutDateTimeList
&&
this
.
postData
.
OutDateTimeList
.
length
>
0
)
{
var
rootObj
=
null
;
if
(
this
.
postData
.
OfferArray
&&
this
.
postData
.
OfferArray
.
length
>
0
)
{
rootObj
=
this
.
postData
.
OfferArray
[
0
]
}
this
.
apipost
(
"travel_post_RemoveTravelOffer"
,
postMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
postData
.
OutDateTimeList
.
splice
(
index
,
1
);
this
.
postData
.
OutDateTimeList
.
forEach
(
subItem
=>
{
var
tempObj
=
that
.
getOfferObj
();
tempObj
.
OutDateTime
=
subItem
;
var
existsObj
=
that
.
postData
.
OfferArray
.
find
((
qitem
)
=>
{
return
qitem
.
OutDateTime
==
subItem
})
//第一个报价在添加日期的
if
(
!
existsObj
)
{
if
(
rootObj
)
{
tempObj
=
JSON
.
parse
(
JSON
.
stringify
(
rootObj
));
tempObj
.
DMCNum
=
""
;
}
});
}
else
{
this
.
postData
.
OutDateTimeList
.
splice
(
index
,
1
);
tempObj
.
OutDateTime
=
subItem
;
that
.
postData
.
OfferArray
.
push
(
tempObj
);
}
});
if
(
this
.
postData
&&
this
.
postData
.
OfferArray
&&
this
.
postData
.
OfferArray
.
length
>
0
)
{
if
(
this
.
postData
.
BatchNum
==
''
)
{
that
.
switchOffer
(
this
.
postData
.
OfferArray
[
0
].
OutDateTime
)
}
else
{
var
lastItem
=
this
.
postData
.
OfferArray
[
this
.
postData
.
OfferArray
.
length
-
1
];
that
.
switchOffer
(
lastItem
.
OutDateTime
)
}
}
}
},
//获取报价单对象
getOfferObj
()
{
var
offerObj
=
{
OfferPayType
:
0
,
//报价单付款方式
SaleOfferPayType
:
0
,
//售价付款方式
OutDateTime
:
""
,
//出发时间
AssistantId
:
""
,
//助理OP[格式:1,2,3]
OPId
:
""
,
//主OP
DMCNum
:
""
,
//地接团号
AssistantList
:
[],
//助理OP数组
CostCurrencyList
:
[],
CostNumberList
:
[],
//报价人数
CurrencyNumberListExt
:
[],
//币种和人数列表
teamPrice
:
{
QuotationId
:
0
,
//主键编号
TeamId
:
0
,
//团期编号
ConfigID
:
0
,
//团队配置编号
OfferId
:
0
,
//报价编号
B2BMemberPrice
:
0
,
//同业会员价
B2BPrice
:
0
,
//同业价格
B2CMemberPrice
:
0
,
//直客会员价,
B2CPrice
:
0
,
//直客价格
ChildNeedPrice
:
0
,
//小孩占床价格,
ChildNoNeedPrice
:
0
,
//小孩不占床价格
BabyPrice
:
0
,
//婴儿价格
BabyChargePrice
:
0
,
//婴儿附加费
OldManChargePrice
:
0
,
//老人附加费
VisaPrice
:
0
,
//签证
OtherPrice
:
0
,
//杂费
SingleRoomPrice
:
0
,
//单房差
SingleDMCPrice
:
0
,
//单地接(成本)
SingleDMCTCPrice
:
0
,
//单地接团售价
RebatePrice
:
0
,
//同行返佣
DiscountPrice
:
0
,
//早鸟优惠
IsSupportChildren
:
1
,
//是否支持儿童出游(1-支持,2-不支持)
SafeMoney
:
0
,
//保险费
PeopleNumber
:
0
,
//人数
AirticketMoney
:
0
,
//机票费用
BackVisaPrice
:
0
,
//退签证费
BackSafeMoney
:
0
,
//退保险费
ContractUrl
:
""
,
//合同地址
PriceRemark
:
""
,
//定价备注
ContractArray
:
[],
TaxPrice
:
0
,
//税金
UnionPrice
:
0
,
//联运价格
NightPrice
:
0
,
//过夜费
},
//团队价格信息
otherPrice
:
{
CostId
:
0
,
//主键编号
ConfigID
:
0
,
//配置编号
OfferId
:
0
,
//报价单编号
InlandAirTicketCurrency
:
0
,
//内陆段机位币种
InlandAirTicketMoney
:
0
,
//内陆段机位金额(每人)
InlandShipTicketCurrency
:
0
,
//内陆段船票币种
InlandShipTicketMoney
:
0
,
//内陆段船票金额(每人)
InlandTrainTicketCurrency
:
0
,
//内陆段火车币种
InlandTrainTicketMoney
:
0
,
//内陆段火车金额(每人)
VisaMoney
:
0
,
//签证费用(每人)
SafeMoney
:
0
,
//保险费用(每人)
LeaderTripMoney
:
0
,
//领队小费
DriverGuideMoney
:
0
,
//司机小费
SalesCommissionMoney
:
0
,
//销售提成
OfficeCommissionMoney
:
0
,
//作业处提成
TripMoney
:
0
,
//小费
GuidePeopleMoney
:
0
,
//导游人头费
AirTicketMoeny
:
0
,
//机票成本费用
KBMoney
:
0
,
//KB人头费
AirTicketShareMoney
:
0
,
//机票分摊费用
TicketShareMoney
:
0
,
//门票分摊费用,
SingleRoomShareMoney
:
0
,
//单房差分摊费用
InlandTrafficShareMoney
:
0
,
//内陆段交通分摊费用
OtherShareMoney
:
0
,
//杂费分摊费用
OtherRemark
:
""
,
//其他价格备注
VisaMoneyCurrencyId
:
0
,
//签证费币种
SafeMoneyCurrencyId
:
0
,
//保险费币种
LeaderTripMoneyCurrencyId
:
0
,
//领队小费币种
DriverGuideMoneyCurrencyId
:
0
,
//司机小费币种
LeaderGuideDriveZhuSu
:
0
,
//领队导游住宿费
GuideMoneyCurrencyId
:
0
,
//导游小费币种
GuideMoney
:
0
,
//导游小费
InternationalAirTicket
:
0
,
//国际段机票
InternationalAirTicketCurrency
:
0
,
//国际段机票币种
GuideComplement
:
0
,
//导游回补
TipComplement
:
0
,
//小费回补
},
//其他报价
};
return
offerObj
;
},
//删除日期
handleClose
(
item
,
index
)
{
var
that
=
this
;
var
tipMsg
=
"是否要删除【"
+
item
+
"】报价?"
;
that
.
Confirm
(
tipMsg
,
function
()
{
if
(
that
.
postData
.
BatchNum
&&
that
.
postData
.
BatchNum
!=
''
)
{
var
postMsg
=
{
BatchNum
:
that
.
postData
.
BatchNum
,
Date
:
item
}
that
.
apipost
(
"travel_post_RemoveTravelOffer"
,
postMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{}
});
that
.
postData
.
OutDateTimeList
.
splice
(
index
,
1
);
}
else
{
that
.
postData
.
OutDateTimeList
.
splice
(
index
,
1
);
}
if
(
that
.
postData
.
OfferArray
&&
that
.
postData
.
OfferArray
.
length
>
0
)
{
var
sIndex
=
that
.
postData
.
OfferArray
.
findIndex
(
qitem
=>
qitem
.
OutDateTime
==
item
);
that
.
postData
.
OfferArray
.
splice
(
sIndex
,
1
);
if
(
that
.
postData
.
OfferArray
&&
that
.
postData
.
OfferArray
.
length
>
0
)
{
var
lastItem
=
that
.
postData
.
OfferArray
[
that
.
postData
.
OfferArray
.
length
-
1
];
that
.
switchOffer
(
lastItem
.
OutDateTime
)
}
}
});
},
changeTeamType
()
{
this
.
postData
.
LineId
=
0
;
this
.
postData
.
LineteamId
=
0
;
...
...
@@ -472,8 +512,8 @@
},
err
=>
{});
},
createDayTripPrice
()
{
var
tempArray
=
this
.
createDayTripPriceItem
(
this
.
postData
.
OfferArray
[
0
].
dayCostPriceList
);
this
.
postData
.
OfferArray
[
0
].
dayCostPriceList
=
tempArray
;
var
tempArray
=
this
.
createDayTripPriceItem
(
this
.
postData
.
dayCostPriceList
);
this
.
postData
.
dayCostPriceList
=
tempArray
;
this
.
$forceUpdate
()
},
//生成行程报价
...
...
@@ -558,13 +598,9 @@
this
.
Error
(
this
.
$t
(
'objFill.v101.zhulopbnhzopcx'
));
return
;
}
var
postMsg
=
{
config
:
this
.
postData
,
OfferArray
:
this
.
postData
.
OfferArray
};
this
.
loading
=
true
;
this
.
apipost
(
"travel_post_Set
ConfigOffer_V3"
,
postMsg
,
"travel_post_Set
PriceOfferInfo"
,
this
.
postData
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
...
...
@@ -583,11 +619,11 @@
}
});
},
//刷新页面
refreshPage
()
{
this
.
getPostData
();
},
getPostData
()
{
this
.
haveData
=
false
;
let
offerId
=
0
;
if
(
this
.
$route
.
query
.
offerid
)
{
offerId
=
this
.
$route
.
query
.
offerid
;
...
...
@@ -606,33 +642,19 @@
}
this
.
loading
=
true
;
this
.
apipost
(
"travel_get_
GetMyTravelInfo_V5
"
,
msg
,
"travel_get_
PriceOfferInfo
"
,
msg
,
res
=>
{
console
.
log
(
"travel_get_
GetMyTravelInfo_V5
"
,
res
);
console
.
log
(
"travel_get_
PriceOfferInfo
"
,
res
);
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
var
tempData
=
res
.
data
.
data
;
if
(
tempData
.
ID
&&
tempData
.
ID
>
0
)
{
this
.
postData
.
ID
=
tempData
.
ID
;
}
if
(
tempData
.
LineId
&&
tempData
.
LineId
>
0
)
{
this
.
postData
.
LineId
=
tempData
.
LineId
;
}
if
(
tempData
.
LineteamId
&&
tempData
.
LineteamId
>
0
)
{
this
.
postData
.
LineteamId
=
tempData
.
LineteamId
;
}
if
(
tempData
.
CSeat
&&
tempData
.
CSeat
>
0
)
{
this
.
postData
.
CSeat
=
tempData
.
CSeat
;
}
if
(
tempData
.
FSeat
&&
tempData
.
FSeat
>
0
)
{
this
.
postData
.
FSeat
=
tempData
.
FSeat
;
}
if
(
tempData
.
YSeat
&&
tempData
.
YSeat
>
0
)
{
this
.
postData
.
YSeat
=
tempData
.
YSeat
;
}
if
(
tempData
.
LowNum
&&
tempData
.
LowNum
>
0
)
{
this
.
postData
.
LowNum
=
tempData
.
LowNum
;
}
if
(
tempData
.
Title
&&
tempData
.
Title
!=
''
)
{
this
.
postData
.
Title
=
tempData
.
Title
;
}
...
...
@@ -660,15 +682,10 @@
this
.
postData
.
TeamType
=
tempData
.
TeamType
;
this
.
postData
.
PriceTeamType
=
tempData
.
PriceTeamType
;
this
.
postData
.
TravelState
=
tempData
.
TravelState
;
this
.
LineList
=
tempData
.
LineList
;
if
(
tempData
&&
tempData
.
OfferArray
&&
tempData
.
OfferArray
.
length
>
0
)
{
this
.
postData
.
OfferArray
[
0
].
dayCostPriceList
=
tempData
.
OfferArray
[
0
].
dayCostPriceList
;
this
.
postData
.
OfferArray
[
0
].
CurrencyNumberListExt
=
tempData
.
OfferArray
[
0
].
CurrencyNumberListExt
;
this
.
postData
.
OfferArray
[
0
].
teamPrice
=
tempData
.
OfferArray
[
0
].
teamPrice
;
this
.
postData
.
OfferArray
[
0
].
otherPrice
=
tempData
.
OfferArray
[
0
].
otherPrice
;
this
.
postData
.
OfferArray
[
0
].
CostNumberList
=
tempData
.
OfferArray
[
0
].
CostNumberList
;
this
.
postData
.
OfferArray
[
0
].
CostCurrencyList
=
tempData
.
OfferArray
[
0
].
CostCurrencyList
;
this
.
postData
.
dayCostPriceList
=
tempData
.
OfferArray
[
0
].
dayCostPriceList
;
this
.
postData
.
OfferArray
=
tempData
.
OfferArray
;
this
.
postData
.
OPId
=
tempData
.
OfferArray
[
0
].
OPId
;
var
tempA_Array
=
tempData
.
OfferArray
[
0
].
AssistantList
;
if
(
tempA_Array
&&
tempA_Array
.
length
>
0
)
{
...
...
@@ -676,8 +693,8 @@
this
.
postData
.
AssistantList
.
push
(
aItem
.
Id
);
})
}
this
.
switchOffer
(
tempData
.
OfferArray
[
0
].
OutDateTime
);
}
this
.
haveData
=
true
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
...
...
src/components/TravelManager/TravelNewQuotation/priceDialog.vue
View file @
82b53ddc
...
...
@@ -8,7 +8,7 @@
<div
class=
"switchDiv clearfix"
style=
"width:98%;"
>
<div
class=
"DirectPriceCenter"
>
<div
class=
"singlePrice clearfix"
v-loading=
"loading"
>
<CostNewPriceAudit
v-if=
"haveData"
ref=
"CostNewPrice"
:postConfig=
"postData"
:OfferArray=
"OfferArray"
<CostNewPriceAudit
v-if=
"haveData"
ref=
"CostNewPrice"
:postConfig=
"postData"
:IsEdit=
"0"
>
</CostNewPriceAudit>
</div>
...
...
@@ -24,7 +24,6 @@
data
()
{
return
{
haveData
:
false
,
OfferArray
:
[],
//基本配置
postData
:
{
ID
:
0
,
...
...
@@ -74,6 +73,7 @@
AssistantList
:
[],
//助理OP
PriceTeamType
:
0
,
//团队类型,
PriceTeamTypeName
:
""
,
//团队类型,
OfferArray
:
[],
},
loading
:
false
};
...
...
@@ -91,7 +91,7 @@
this
.
haveData
=
false
;
this
.
loading
=
true
;
this
.
apipost
(
"travel_get_
GetMyTravelInfo_V4
"
,
"travel_get_
PriceOfferInfo
"
,
msg
,
res
=>
{
this
.
loading
=
false
;
...
...
@@ -106,18 +106,7 @@
if
(
tempData
.
LineteamId
&&
tempData
.
LineteamId
>
0
)
{
this
.
postData
.
LineteamId
=
tempData
.
LineteamId
;
}
if
(
tempData
.
CSeat
&&
tempData
.
CSeat
>
0
)
{
this
.
postData
.
CSeat
=
tempData
.
CSeat
;
}
if
(
tempData
.
FSeat
&&
tempData
.
FSeat
>
0
)
{
this
.
postData
.
FSeat
=
tempData
.
FSeat
;
}
if
(
tempData
.
YSeat
&&
tempData
.
YSeat
>
0
)
{
this
.
postData
.
YSeat
=
tempData
.
YSeat
;
}
if
(
tempData
.
LowNum
&&
tempData
.
LowNum
>
0
)
{
this
.
postData
.
LowNum
=
tempData
.
LowNum
;
}
if
(
tempData
.
Title
&&
tempData
.
Title
!=
''
)
{
this
.
postData
.
Title
=
tempData
.
Title
;
}
...
...
@@ -183,9 +172,7 @@
this
.
postData
.
PriceTeamTypeName
=
tempData
.
PriceTeamTypeName
;
this
.
postData
.
PriceTeamType
=
tempData
.
PriceTeamType
;
if
(
tempData
.
OfferArray
)
{
tempData
.
OfferArray
.
forEach
(
item
=>
{
this
.
OfferArray
.
push
(
item
)
})
this
.
postData
.
OfferArray
=
tempData
.
OfferArray
;
}
this
.
haveData
=
true
;
}
else
{
...
...
src/components/TravelManager/TravelNewQuotation/quotationEdit.vue
View file @
82b53ddc
...
...
@@ -195,13 +195,11 @@
<td
width=
"80"
class=
"txtRightCost"
>
{{$t('hotel.hotel_choostDate')}}
</td>
<td
colspan=
"5"
>
<
template
v-if=
"postData.OutDateTimeList&&postData.OutDateTimeList.length>0"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"点击切换"
placement=
"top"
>
<el-tag
v-for=
"(item,oIndex) in postData.OutDateTimeList"
:key=
"item"
closable
style=
"margin-right:5px;cursor:pointer;"
@
close=
"handleClose(item,oIndex)"
:class=
"item==selectDate?'offer_select-tag': ''"
@
click=
"switchOffer(item)"
>
{{
item
}}
</el-tag>
</el-tooltip>
<el-tag
v-for=
"(item,oIndex) in postData.OutDateTimeList"
:key=
"item"
closable
style=
"margin-right:5px;cursor:pointer;"
@
close=
"handleClose(item,oIndex)"
:class=
"item==selectDate?'offer_select-tag': ''"
@
click=
"switchOffer(item)"
>
{{
item
}}
</el-tag>
</
template
>
</td>
</tr>
...
...
@@ -303,7 +301,10 @@
changeDate
()
{
var
that
=
this
;
if
(
this
.
postData
.
OutDateTimeList
&&
this
.
postData
.
OutDateTimeList
.
length
>
0
)
{
var
rootObj
=
this
.
postData
.
OfferArray
[
0
];
var
rootObj
=
null
;
if
(
this
.
postData
.
OfferArray
&&
this
.
postData
.
OfferArray
.
length
>
0
)
{
rootObj
=
this
.
postData
.
OfferArray
[
0
]
}
this
.
postData
.
OutDateTimeList
.
forEach
(
subItem
=>
{
var
tempObj
=
that
.
getOfferObj
();
tempObj
.
OutDateTime
=
subItem
;
...
...
@@ -312,12 +313,21 @@
})
//第一个报价在添加日期的
if
(
!
existsObj
)
{
tempObj
=
JSON
.
parse
(
JSON
.
stringify
(
rootObj
));
if
(
rootObj
)
{
tempObj
=
JSON
.
parse
(
JSON
.
stringify
(
rootObj
));
}
tempObj
.
OutDateTime
=
subItem
;
that
.
postData
.
OfferArray
.
push
(
tempObj
);
}
this
.
switchOffer
(
tempObj
.
OutDateTime
);
});
if
(
this
.
postData
&&
this
.
postData
.
OfferArray
&&
this
.
postData
.
OfferArray
.
length
>
0
)
{
if
(
this
.
postData
.
BatchNum
==
''
)
{
that
.
switchOffer
(
this
.
postData
.
OfferArray
[
0
].
OutDateTime
)
}
else
{
var
lastItem
=
this
.
postData
.
OfferArray
[
this
.
postData
.
OfferArray
.
length
-
1
];
that
.
switchOffer
(
lastItem
.
OutDateTime
)
}
}
}
},
//获取报价单对象
...
...
@@ -418,9 +428,7 @@
this
.
apipost
(
"travel_post_RemoveTravelOffer"
,
postMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
}
if
(
res
.
data
.
resultCode
==
1
)
{}
});
this
.
postData
.
OutDateTimeList
.
splice
(
index
,
1
);
}
else
{
...
...
@@ -607,7 +615,6 @@
this
.
getPostData
();
},
getPostData
()
{
this
.
haveData
=
false
;
let
offerId
=
0
;
if
(
this
.
$route
.
query
.
offerid
)
{
offerId
=
this
.
$route
.
query
.
offerid
;
...
...
@@ -677,9 +684,8 @@
this
.
postData
.
AssistantList
.
push
(
aItem
.
Id
);
})
}
this
.
s
electDate
=
tempData
.
OfferArray
[
0
].
OutDateTime
;
this
.
s
witchOffer
(
tempData
.
OfferArray
[
0
].
OutDateTime
)
;
}
this
.
haveData
=
true
;
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
...
...
src/components/TravelManager/TravelNewQuotation/quotationEditDetails.vue
View file @
82b53ddc
...
...
@@ -422,7 +422,6 @@
@
keyup
.
native=
"checkPrice(teamPrice,'UnionPrice'),getchange()"
></el-input>
</el-form-item>
</td>
<td
colspan=
"4"
rowspan=
"2"
>
{{$t('objFill.xiaojijpzdsjly')}}:
<br
/>
{{getOtherCostMoney()}}
...
...
@@ -512,7 +511,6 @@
</el-form-item>
</td>
</tr>
<tr>
<td
colspan=
"2"
>
<el-form-item
:label=
"$t('Operation.Op_zhu')+`OP`"
>
...
...
@@ -770,19 +768,17 @@
methods
:
{
//获取选中的日期
getOfferItemObj
(
type
)
{
console
.
log
(
"getOfferItemObj_"
+
type
,
this
.
postConfig
);
var
selectOfferObj
=
{};
if
(
this
.
postConfig
&&
this
.
postConfig
.
OfferArray
&&
this
.
postConfig
.
OfferArray
.
length
>
0
)
{
selectOfferObj
=
this
.
postConfig
.
OfferArray
.
find
((
qitem
)
=>
{
return
qitem
.
OutDateTime
==
this
.
offerSelectDate
})
}
console
.
log
(
"selectOfferObj_"
+
type
,
selectOfferObj
);
if
(
selectOfferObj
)
{
this
.
otherPrice
=
selectOfferObj
.
otherPrice
;
this
.
teamPrice
=
selectOfferObj
.
teamPrice
;
this
.
CostNumberList
=
selectOfferObj
.
CostNumberList
;
this
.
offerDataObj
=
selectOfferObj
;
this
.
offerDataObj
=
selectOfferObj
;
}
return
selectOfferObj
;
},
...
...
@@ -1177,6 +1173,7 @@
},
//添加人数费用
addPeoNunber
()
{
var
that
=
this
;
var
PeopleNumber
=
this
.
priceObj
.
priceNum
;
if
(
PeopleNumber
==
""
)
{
this
.
Info
(
this
.
$t
(
'objFill.v101.SalesModule.col2.t4'
));
...
...
@@ -1195,7 +1192,13 @@
var
CostNumberObj
=
this
.
$tripUtils
.
CostNumber
();
CostNumberObj
.
PeopleNumber
=
PeopleNumber
;
this
.
CostNumberList
.
push
(
CostNumberObj
);
if
(
this
.
postConfig
&&
this
.
postConfig
.
OfferArray
&&
this
.
postConfig
.
OfferArray
.
length
>
0
)
{
this
.
postConfig
.
OfferArray
.
forEach
(
rItem
=>
{
if
(
rItem
.
OutDateTime
!=
this
.
offerSelectDate
)
{
rItem
.
CostNumberList
=
JSON
.
parse
(
JSON
.
stringify
(
that
.
CostNumberList
))
}
})
}
this
.
CurrencyNumberListExt
.
forEach
(
x
=>
{
var
CurrencyNumberObj
=
this
.
$tripUtils
.
CurrencyNumber
();
CurrencyNumberObj
.
CurrencyId
=
x
.
Key
;
...
...
@@ -1213,7 +1216,13 @@
},
//删除人数
DeletePNumber
(
index
)
{
var
that
=
this
;
this
.
CostNumberList
.
splice
(
index
,
1
);
if
(
this
.
postConfig
&&
this
.
postConfig
.
OfferArray
&&
this
.
postConfig
.
OfferArray
.
length
>
0
)
{
this
.
postConfig
.
OfferArray
.
forEach
(
rItem
=>
{
rItem
.
CostNumberList
=
JSON
.
parse
(
JSON
.
stringify
(
that
.
CostNumberList
));
})
}
},
//人数排序
shortPeopleNumber
()
{
...
...
src/components/dmc/manager/dmcTotalTable.vue
View file @
82b53ddc
...
...
@@ -348,12 +348,12 @@
</td>
<td>
<div
class=
"fz16 fbold linkspan"
@
click=
"goUrl([131,14,
90,
118].includes(item.LineId) ? 'roomReservationsDetails' : 'roomReservationsDetailsNew',item,outItem,'订房详情')"
>
@
click=
"goUrl([131,14,118].includes(item.LineId) ? 'roomReservationsDetails' : 'roomReservationsDetailsNew',item,outItem,'订房详情')"
>
<span
style=
"color: #4BCA81;"
v-if=
"item.HotelResult==1"
>
√
</span>
<span
class=
"colorE95252"
v-else
>
{{
item
.
HotelResult
==
'-1'
?
"x"
:
"O"
}}
</span>
</div>
<p
v-if=
"(item.LineId==14||item.LineId==118) && item.PriceHotelResult && item.PriceHotelResult.length>0"
>
v-if=
"(item.LineId==14||item.LineId==118
||item.LineId==90
) && item.PriceHotelResult && item.PriceHotelResult.length>0"
>
<el-popover
width=
"1100"
trigger=
"click"
popper-class=
"DMC_HotelPop"
>
<commonHotelInfo
:HotelObj=
"item.PriceHotelResult"
:showHotelObj=
"showHotelObj"
:TCID=
"item.TCID"
:DMCNum=
"item.DMCNum"
:TCNUM=
"item.TCNUMS"
...
...
src/components/newTravelmanager/travelLineTrip/components/travelDaysHV.vue
View file @
82b53ddc
...
...
@@ -369,6 +369,8 @@
</div>
</div>
</div>
<div
class=
"travelDaysHVdetails"
:style=
"{'margin-top':(item.TitleObj.ShowTripType==2&&
(item.ScenicArray.length==1||item.ScenicArray.length==0))
||((item.TitleObj.ShowTripType==1||item.TitleObj.ShowTripType==0)&&
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment