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
3fb46742
Commit
3fb46742
authored
Apr 26, 2023
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
SAVE
parent
50080097
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
1329 additions
and
0 deletions
+1329
-0
Ground.js
src/assets/common/lang/Japan/Ground.js
+1
-0
Ground.js
src/assets/common/lang/zhCN/Ground.js
+1
-0
Ground.js
src/assets/common/lang/zhTW/Ground.js
+1
-0
roomReservationsDetails copy.vue
src/components/Hotel/roomReservationsDetails copy.vue
+1324
-0
dmcTotalTable.vue
src/components/dmc/manager/dmcTotalTable.vue
+1
-0
dmcTotalTable_swt.vue
src/components/dmc/manager/dmcTotalTable_swt.vue
+1
-0
No files found.
src/assets/common/lang/Japan/Ground.js
View file @
3fb46742
...
...
@@ -440,6 +440,7 @@ export const obj = {
canshi
:
'食'
,
baozhang
:
"将来"
,
htff
:
'小屋を分ける'
,
bjd
:
'报价单'
,
ldrtf
:
'リーダー料'
,
peizhilingdui
:
'リーダーを配置する'
,
daituananpai
:
'バンドの手配'
,
...
...
src/assets/common/lang/zhCN/Ground.js
View file @
3fb46742
...
...
@@ -425,6 +425,7 @@ export const obj = {
canshi
:
'餐食'
,
baozhang
:
"报账"
,
htff
:
'合团分房'
,
bjd
:
'报价单'
,
ldrtf
:
'领队人头费'
,
peizhilingdui
:
'配置领队'
,
daituananpai
:
'带团安排'
,
...
...
src/assets/common/lang/zhTW/Ground.js
View file @
3fb46742
...
...
@@ -426,6 +426,7 @@ jihua:'計畫',
canshi
:
'餐食'
,
baozhang
:
'報帳'
,
htff
:
'合團分房'
,
bjd
:
'报价单'
,
ldrtf
:
'領隊人頭費'
,
peizhilingdui
:
'配寘領隊'
,
daituananpai
:
'帶團安排'
,
...
...
src/components/Hotel/roomReservationsDetails copy.vue
0 → 100644
View file @
3fb46742
<
style
>
.roomReservationsDetailsTalbe
.el-button
{
padding
:
5px
;
display
:
block
;
margin
:
5px
auto
;
font-size
:
12px
;
}
.rq_importNote
{
color
:
red
;
}
.rq_disImNote
{
color
:
#ea6d6d
;
}
.piliangPop
.roomReserSet
tr
{
height
:
30px
;
}
.piliangPop
.roomReserSet
tr
th
{
background-color
:
#eee
;
text-align
:
center
;
margin-bottom
:
10px
;
}
.roomResetTable
tr
td
{
padding
:
5px
;
}
</
style
>
<
template
>
<div>
<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)"
/>
<span
v-if=
"IsOperation==1"
style=
"color:red;font-size:14px;"
>
{{
$t
(
'ground.yizhidanbng'
)
}}
</span>
</li>
</ul>
{{
$t
(
'ground.jisuan1'
)
}}
<br
/>
{{
$t
(
'ground.jisuan2'
)
}}
<br
/>
{{
$t
(
'ground.sidaobsuan'
)
}}
<br
/>
付款方式是现付的,必須上传手配书.
</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"
v-loading=
"loading"
>
<tr>
<th
class=
"fz14"
colspan=
"5"
>
{{
$t
(
'visa.v_teaminfo'
)
}}
{{
$t
(
'leader.leader_Leader'
)
}}
:
{{
LeaderName
}}
{{
$t
(
'leader.leader_Guide'
)
}}
:
{{
GuideName
}}
.
</th>
<th
class=
"fz14"
colspan=
"17"
>
<el-tooltip
class=
"item"
effect=
"dark"
content=
"批量上传手配书"
placement=
"top-start"
style=
"float:left;margin-left:20px;"
>
<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>
日期
</th>
<th>
酒店名称
</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
}}
</td>
<td
style=
"width:280px;"
>
<el-checkbox
v-model=
"subItem.IsChecked"
@
change=
"MoreUpdate(subItem)"
>
{{
subItem
.
NewHotelName
}}
</el-checkbox>
</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;"
>
选择文件
</el-button>
</el-upload>
</td>
</tr>
</table>
<el-button
slot=
"reference"
style=
"background:#E95252; border-color:#E95252"
type=
"primary"
>
批量上传手配书
</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=
"批量修改"
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>
房型
</th>
<th>
房间数量
</th>
<th>
人数
</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=
"保存"
@
click=
"BatchHotelOrder()"
>
</td>
</tr>
</table>
<el-button
slot=
"reference"
style=
"background:#E95252; border-color:#E95252;"
type=
"primary"
v-if=
"EditBtn"
@
click=
"IsShowMoreUpdate=true"
>
批量修改酒店
</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">尚差<br />房间数</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"
>
<td
v-if=
"childIndex==0&&subIndex==0"
:rowspan=
"6*item.HotelOrderList.length"
>
{{
item
.
UseTimeStr
}}
</td>
<!-- 酒店名称 -->
<td
v-if=
"childIndex==0"
:rowspan=
"6"
>
<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>
</td>
<!-- 机位总数/(Y/E/F) -->
<td
v-if=
"childIndex==0"
:rowspan=
"6"
>
<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"
>
<p
class=
"link"
@
click=
"goUrlT('passengerHouse',subItem.TCID,'房间分配')"
>
{{
subItem
.
RealityHouseGuestNum
}}
/
{{
subItem
.
HouseStatistics
.
NoNeedBed
}}
</p>
</td>
<!-- 实际用房数 -->
<td
v-if=
"childIndex==0"
:rowspan=
"6"
>
{{
subItem
.
RealityHouseTypeCount
}}
</td>
<td
v-if=
"childIndex==0"
:rowspan=
"6"
>
<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"
>
已上传手配书
</span>
<a
v-if=
"subItem.ContractUrl"
target=
"_blank"
style=
"color:blue"
:href=
"subItem.ContractUrl"
>
查看
</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 ? '上传手配书' : '重新上传手配书'}}
</el-button>
</el-upload>
</td>
</tr>
</table>
</td>
<!-- 房间类型 -->
<td>
{{subItem.HouseStatistics.HouseTypeList[childIndex].HouseTypeNameExt}}
<
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
>
</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>
</td>
<td>
<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>
</td>
<!-- 尚差房间数 -->
<!-- <td>
<p class="pHouseStyle"
:class="{colorRed:childItem.HouseTypeCount-subItem.HouseStatistics.HouseTypeList[childIndex].HouseTypeCount<0}">
{{childItem.HouseTypeCount-subItem.HouseStatistics.HouseTypeList[childIndex].HouseTypeCount}}
</p>
</td> -->
<!-- 单价/每人 -->
<td>
<
template
v-if=
"childIndex==1"
>
<template
v-if=
"EditBtn||LineId==90"
>
<el-input
@
keyup
.
native=
"checkInteger(childItem,'UnitPrice')"
class=
'w60 tcenter'
@
input=
"calculationPrice(subItem)"
v-model=
'childItem.UnitPrice'
></el-input>
</
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>
</
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"
>
</el-input>
</
template
>
</td>
<!-- 免减人数 -->
<td>
<el-input
class=
'w40'
maxlength=
"2"
@
keyup
.
native=
"checkInteger(childItem,'HotelDiscount')"
v-model=
'childItem.HotelDiscount'
@
input=
"calculationPrice(subItem)"
>
</el-input>
</td>
<!-- 金额小计 -->
<td
style=
"white-space:nowrap;"
>
{{childItem.UnitPrice*(childItem.BookNum-childItem.HotelDiscount)}}
</td>
<!-- 返佣类型 -->
<td
style=
"white-space:nowrap;"
v-if=
"childIndex==0"
:rowspan=
"6"
>
<
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>
<
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>
%
</
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
>
</td>
<!--返佣金额-->
<td>
<!--含税-->
<
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>
<!--不含税-->
<
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>
</td>
<!-- 入汤税 -->
<td
style=
"white-space:nowrap;"
v-if=
"childIndex==0"
:rowspan=
"6"
>
{{subItem.InTangTax}}
</td>
<!-- 城市税 -->
<td
style=
"white-space:nowrap;"
v-if=
"childIndex==0"
:rowspan=
"6"
>
{{subItem.CityTax}}
</td>
<!-- 停车费 -->
<td
style=
"white-space:nowrap;"
v-if=
"childIndex==0"
:rowspan=
"6"
>
{{subItem.ParkFee}}
</td>
<!-- 金额总计 -->
<td
v-if=
"childIndex==0"
:rowspan=
"6"
style=
"white-space:nowrap;"
>
{{subItem.TotalPrice}}
<
template
v-if=
"subItem.NewTotalPrice"
>
<br
/><span
style=
"color:red;"
>
{{
subItem
.
NewTotalPrice
}}
</span>
</
template
>
</td>
<!-- 付款方式 -->
<td
v-if=
"childIndex==0"
:rowspan=
"6"
>
<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
v-if=
"childIndex==0"
:rowspan=
"5"
>
<
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>
</template>
</template>
</table>
<div
class=
"noDataNotice"
v-if=
"list.length<1"
>
<i
class=
"iconfont icon-kong"
></i>
<p>
{{$t('active.ld_noData')}}
</p>
</div>
</div>
</div>
</template>
<
script
>
import
moment
from
'moment'
import
comCheckHotel
from
"../commonPage/comCheckHotel.vue"
;
import
commonHotelLog
from
"../commonPage/commonHotelLog.vue"
;
import
commonPHlInfo
from
"../commonPage/commonPriceHotelInfo.vue"
;
export
default
{
data
()
{
return
{
isShoufeifei
:
false
,
LineId
:
0
,
EditBtn
:
false
,
//房餐景点修改权限
defaultSelectValue
:
0
,
list
:
[],
roomList
:
[],
TCNUM
:
''
,
flightTotal
:
0
,
GuestNum
:
0
,
hotelList
:
[],
//创建人头像
CreateByPhoto
:
''
,
//创建人联系电话
CreateByAccount
:
''
,
//创建人姓名
CreateByName
:
''
,
//点击项
ClickItem
:
{},
offsetwidth
:
0
,
parentEle
:
''
,
loading
:
false
,
boxHeight
:
0
,
//合团的团期编号
NewTCIDs
:
""
,
//供应商列表
SupplierList
:
[],
ckedHotelId
:
0
,
ckedHotelName
:
''
,
showHotelList
:
false
,
findex
:
0
,
childIndex
:
0
,
//修改酒店价格,付款方式权限[0-不能修改,1-有权限修改]
IsEditHotel
:
1
,
//0-可以操作,1-已制单,不能操作
IsOperation
:
1
,
LeaderName
:
""
,
//领队名称
GuideName
:
""
,
//导游名称
IsEditHotelPeople
:
1
,
//是否有修改人数权限[0-不能修改,1-可以修改]
IsCombine
:
false
,
//是否是合团,true-是合团,false-不是合团
allCurrencyList
:
[],
//币种列表
checkedIndex
:
''
,
checkedsubIndex
:
''
,
XiaoFeiTaxFee
:
0.1
,
IsMoreUpdate
:
0
,
//批量上传手配书0-单个上传,1-批量上传
isShowPiliangPop
:
false
,
//是否显示批量上传popover
IsShowMoreUpdate
:
false
,
HotelHouseTypeList
:
[{
IsChecked
:
false
,
HouseType
:
1
,
Name
:
"单间"
,
HouseNum
:
0
,
BookNum
:
0
},
{
IsChecked
:
false
,
HouseType
:
2
,
Name
:
"标准间"
,
HouseNum
:
0
,
BookNum
:
0
},
{
IsChecked
:
false
,
HouseType
:
3
,
Name
:
"大床间"
,
HouseNum
:
0
,
BookNum
:
0
},
{
IsChecked
:
false
,
HouseType
:
4
,
Name
:
"三人间"
,
HouseNum
:
0
,
BookNum
:
0
},
{
IsChecked
:
false
,
HouseType
:
5
,
Name
:
"司导间"
,
HouseNum
:
0
,
BookNum
:
0
},
],
ChooseCountry
:
"651"
}
},
components
:
{
comCheckHotel
,
commonHotelLog
,
commonPHInfo
:
commonPHlInfo
},
methods
:
{
//批量修改房间数和房间人
BatchHotelOrder
()
{
var
checkArray
=
[];
this
.
HotelHouseTypeList
.
forEach
(
item
=>
{
if
(
item
.
IsChecked
)
{
checkArray
.
push
(
item
);
}
});
if
(
checkArray
!=
null
&&
checkArray
.
length
>
0
)
{
var
msg
=
{
TCID
:
this
.
$route
.
query
.
id
,
OrderDetails
:
checkArray
};
this
.
apipost
(
'dmcstatistics_get_SetBatchHotelOrderService'
,
msg
,
res
=>
{
this
.
loading
=
false
;
this
.
IsShowMoreUpdate
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
getList
();
this
.
Success
(
res
.
data
.
message
);
this
.
HotelHouseTypeList
.
forEach
(
item
=>
{
item
.
IsChecked
=
false
;
item
.
HouseNum
=
0
;
item
.
BookNum
=
0
;
});
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{})
}
else
{
this
.
Info
(
"请选择要修改的房型!"
);
}
},
MoreUpdate
(
subItem
)
{
this
.
IsMoreUpdate
=
1
;
},
//付款方式切换
PayChange
(
subItem
)
{
if
(
subItem
.
PayStyle
>
0
)
{
subItem
.
DMCPayType
=
subItem
.
PayStyle
;
}
},
//调用子组件方法
GetHotelUsePriceList
(
HotelId
,
UseDay
,
index
,
hotelSubIndex
)
{
let
str
=
`dmccomPriceHotelInfo
${
index
}${
hotelSubIndex
}
`
;
this
.
$refs
[
str
][
0
].
getHotelPriceList
(
HotelId
,
UseDay
);
},
//调用子组件获取日志方法
GetHotelLog
(
subItem
,
index
,
hotelSubIndex
)
{
let
str
=
`comHotelLog
${
index
}${
hotelSubIndex
}
`
this
.
$refs
[
str
][
0
].
getHotelLogsList
(
subItem
.
TCID
,
subItem
.
HotelId
,
subItem
.
CheckInDateStr
);
},
//获取子组件返回的数据
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
useTime
=
oldData
.
CheckInDateStr
;
var
hotelId
=
ckedObj
.
ID
;
var
TCID
=
oldData
.
TCID
;
this
.
apipost
(
'travel_get_GetHotelUsePriceListService_V2'
,
{
HotelId
:
hotelId
,
UseTime
:
useTime
,
TCID
:
TCID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
var
objData
=
res
.
data
.
data
;
//库存不够
if
(
objData
.
isOverStock
==
0
)
{
if
(
objData
.
list
&&
objData
.
list
.
length
>
0
)
{
var
str
=
""
;
objData
.
list
.
forEach
((
cItem
,
cIndex
)
=>
{
str
+=
(
cIndex
==
0
?
""
:
","
)
+
cItem
.
TCNUM
+
"使用了"
+
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
;
//判断供应商编号是否大于0
if
(
ckedObj
.
Supplier
>
0
)
{
this
.
list
[
this
.
findex
].
HotelOrderList
[
this
.
childIndex
].
SupplierId
=
ckedObj
.
Supplier
;
}
this
.
list
[
this
.
findex
].
HotelOrderList
[
this
.
childIndex
].
OrderDetailsList
.
forEach
((
subItem
,
subIndex
)
=>
{
//判断是否有库存价格
if
(
subIndex
==
1
&&
ckedObj
.
CostPrice
>
0
&&
ckedObj
.
Inventory
>
0
)
{
subItem
.
IsHaveStockPrice
=
1
;
}
else
{
subItem
.
IsHaveStockPrice
=
0
;
}
subItem
.
UnitPrice
=
ckedObj
.
CostPrice
;
subItem
.
RebateRatio
=
ckedObj
.
RebateRatio
;
});
this
.
calculationPrice
(
this
.
list
[
this
.
findex
].
HotelOrderList
[
this
.
childIndex
]);
}
}
else
{
this
.
Error
(
this
.
$t
(
'ground.qingqiucanscw'
));
}
},
err
=>
{})
},
getChildHotel
(
index
,
subIndex
)
{
this
.
findex
=
index
;
this
.
childIndex
=
subIndex
;
let
str
=
`comCheckHotel
${
index
}${
subIndex
}
`
this
.
$refs
[
str
][
0
].
getCheckHotel
();
},
//输入返佣自动前面4个房型赋值
SetRebateRatio
(
subItem
,
newValue
)
{
subItem
.
OrderDetailsList
.
forEach
((
sItem
,
sIndex
)
=>
{
if
(
sIndex
<
4
)
{
sItem
.
RebateRatio
=
newValue
;
}
});
},
DateMinus
(
sDate
)
{
var
newDate
=
moment
(
sDate
).
format
(
"YYYY-MM-DD"
);
var
sdate
=
new
Date
(
newDate
.
replace
(
/-/g
,
"/"
));
var
now
=
new
Date
();
var
days
=
now
.
getTime
()
-
sdate
.
getTime
();
var
day
=
Math
.
abs
(
parseInt
(
days
/
(
1000
*
60
*
60
*
24
)));
return
day
;
},
//添加酒店
AddHotel
(
item
,
subIndex
)
{
var
subItem
=
JSON
.
parse
(
JSON
.
stringify
(
item
.
HotelOrderList
[
subIndex
]));
subItem
.
HotelId
=
0
;
subItem
.
HotelName
=
""
;
subItem
.
OrderID
=
0
;
subItem
.
OrderDetailsList
.
forEach
(
childItem
=>
{
childItem
.
OrderDetailsId
=
0
;
});
item
.
HotelOrderList
.
push
(
subItem
);
},
//删除酒店
DeleteHotel
(
item
,
subIndex
)
{
var
that
=
this
;
this
.
Confirm
(
this
.
$t
(
'sm.sfdeletenothf'
),
function
()
{
var
subItem
=
item
.
HotelOrderList
[
subIndex
];
if
(
subItem
.
OrderID
>
0
)
{
that
.
apipost
(
'dmcstatistics_post_DeleteHotelOrder'
,
{
ID
:
subItem
.
OrderID
,
TCID
:
subItem
.
TCID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
that
.
Success
(
res
.
data
.
message
);
that
.
getList
();
item
.
HotelOrderList
.
splice
(
subIndex
,
1
);
}
else
{
that
.
Error
(
res
.
data
.
message
);
}
},
err
=>
{})
}
else
{
item
.
HotelOrderList
.
splice
(
subIndex
,
1
);
that
.
saveList
(
0
);
}
});
},
getItem
(
index
,
subIndex
)
{
this
.
checkedIndex
=
index
this
.
checkedsubIndex
=
subIndex
},
uploadFileBtnS
(
file
)
{
//手配书上传
let
that
=
this
let
newArr
=
[]
newArr
.
push
(
file
.
file
)
let
path
=
'/Upload/DMC/Hotel'
this
.
$message
.
info
(
'上传中...'
)
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
var
fileUrl
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
//批量上传
if
(
this
.
IsMoreUpdate
==
1
)
{
this
.
list
.
forEach
((
sItem
,
sIndex
)
=>
{
sItem
.
HotelOrderList
.
forEach
((
subItem
,
subIndex
)
=>
{
if
(
subItem
.
IsChecked
)
{
subItem
.
ContractUrl
=
fileUrl
;
}
subItem
.
IsChecked
=
false
;
this
.
$forceUpdate
();
});
});
this
.
isShowPiliangPop
=
false
;
}
else
{
this
.
list
[
this
.
checkedIndex
].
HotelOrderList
[
this
.
checkedsubIndex
].
ContractUrl
=
fileUrl
;
}
this
.
IsMoreUpdate
=
0
;
this
.
$forceUpdate
()
})
},
goUrl
(
path
,
obj
,
name
)
{
this
.
$router
.
push
({
path
:
path
,
query
:
{
id
:
obj
.
HotelId
,
blank
:
"y"
,
tab
:
name
}
});
},
goUrlR
(
path
,
obj
,
title
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
"ID"
:
obj
,
blank
:
'y'
,
tab
:
title
}
})
},
goUrlT
(
path
,
obj
,
title
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
"id"
:
obj
,
blank
:
'y'
,
tab
:
title
}
})
},
getList
()
{
this
.
loading
=
true
;
let
msg
=
{
TCIDs
:
''
,
NewCombinationNum
:
''
,
IsCombine
:
''
,
NewTCIDs
:
''
}
if
(
this
.
$route
.
query
.
OrderType
){
msg
=
{
TCIDs
:
this
.
$route
.
query
.
id
,
OrderType
:
this
.
$route
.
query
.
OrderType
}
}
else
{
msg
=
{
TCIDs
:
this
.
$route
.
query
.
id
,
NewCombinationNum
:
this
.
$route
.
query
.
NewCombinationNum
,
IsCombine
:
this
.
IsCombine
,
NewTCIDs
:
this
.
NewTCIDs
}
}
this
.
apipost
(
'dmcstatistics_get_GetHotelStaticsDetail_V2'
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
IsOperation
=
res
.
data
.
data
.
IsOperation
;
if
(
this
.
IsEditHotel
==
0
)
{
this
.
IsEditHotel
=
res
.
data
.
data
.
IsEditHotel
;
}
if
(
this
.
IsEditHotelPeople
==
0
)
{
this
.
IsEditHotelPeople
=
res
.
data
.
data
.
IsEditHotelPeople
;
}
let
list
=
res
.
data
.
data
.
HotelOrderListReport
;
this
.
CreateBy
=
res
.
data
.
data
.
CreateBy
;
this
.
CreateByPhoto
=
res
.
data
.
data
.
CreateByPhoto
;
this
.
CreateByAccount
=
res
.
data
.
data
.
CreateByAccount
;
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
;
}
this
.
calculationPrice
(
subItem
);
subItem
.
OrderDetailsList
.
forEach
((
x
,
index1
)
=>
{
x
.
HouseTypeCount
=
x
.
HouseTypeCount
.
toString
();
x
.
UnitPrice
=
x
.
UnitPrice
.
toString
();
x
.
HotelDiscount
=
x
.
HotelDiscount
.
toString
();
})
if
(
subItem
.
ReserveNo
==
''
||
subItem
.
ReserveNo
==
null
)
{
subItem
.
ReserveNo
=
this
.
$route
.
query
.
NewCombinationNum
;
}
subItem
.
isShowPop
=
false
;
subItem
.
ckedHotelName
=
""
;
//遍历手配
this
.
SupplierList
.
forEach
(
x
=>
{
if
(
x
.
ID
==
subItem
.
SupplierId
)
{
subItem
.
IsHaveShouPeiFee
=
x
.
IsHaveShouPeiFee
;
subItem
.
ShouPeiMoney
=
x
.
ShouPeiMoney
;
}
})
})
});
this
.
list
=
list
;
this
.
$forceUpdate
();
}
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
this
.
loading
=
false
},
err
=>
{})
},
calculationPrice
(
obj
)
{
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
.
toFixed
(
2
);
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
);
}
}
}
else
{
obj
.
NewTotalPrice
=
""
;
}
}
this
.
$forceUpdate
();
},
saveList
(
type
)
{
if
(
type
==
0
)
{
this
.
list
.
forEach
(
item
=>
{
item
.
HotelOrderList
.
forEach
(
subItem
=>
{
subItem
.
HotelOrderState
=
0
;
});
})
}
if
(
type
==
1
)
{
this
.
list
.
forEach
(
item
=>
{
item
.
HotelOrderList
.
forEach
(
subItem
=>
{
subItem
.
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
+=
`请上传
${
item
.
UseTimeStr
}
的手配书`
isUpload
=
false
;
}
subItem
.
OrderDetailsList
.
forEach
((
y
,
sIndex
)
=>
{
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
;
}
});
})
this
.
loading
=
true
;
this
.
apipost
(
'dmcstatistics_get_SetHotelOrder'
,
this
.
list
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
getList
();
this
.
Success
(
res
.
data
.
message
);
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
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
+=
`请上传
${
item
.
UseTimeStr
}
的手配书`
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_GetAllList"
,
{
Type
:
1
,
Country
:
651
},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
SupplierList
=
res
.
data
.
data
;
}
},
err
=>
{});
},
//改变id获取手配价格
getSupplierShoupei
(
SubItem
)
{
this
.
SupplierList
.
forEach
(
x
=>
{
if
(
x
.
ID
==
SubItem
.
SupplierId
)
{
SubItem
.
IsHaveShouPeiFee
=
x
.
IsHaveShouPeiFee
;
SubItem
.
ShouPeiMoney
=
x
.
ShouPeiMoney
;
}
})
},
//获取所有币种
getAllCurrency
()
{
this
.
apipost
(
"financeinfo_post_GetList"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
===
1
)
{
this
.
allCurrencyList
=
res
.
data
.
data
;
}
},
err
=>
{});
},
GetAuth
()
{
var
actionCode
=
this
.
$AuthCode
.
EditRoomDinnerTIcket
;
this
.
CheckUserAuth
(
actionCode
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
&&
res
.
data
.
data
==
1
)
{
this
.
EditBtn
=
true
;
this
.
IsEditHotel
=
1
;
this
.
IsEditHotelPeople
=
1
;
}
});
},
},
mounted
()
{
if
(
this
.
$route
.
query
.
LineId
)
{
this
.
LineId
=
this
.
$route
.
query
.
LineId
;
}
if
(
this
.
LineId
==
90
)
{
this
.
ChooseCountry
=
2
;
}
else
if
(
this
.
LineId
==
14
)
{
this
.
ChooseCountry
=
651
;
}
this
.
GetAuth
();
this
.
getAllCurrency
();
this
.
LeaderName
=
this
.
$route
.
query
.
LeaderName
;
this
.
GuideName
=
this
.
$route
.
query
.
GuideName
;
this
.
TCNUM
=
this
.
$route
.
query
.
TCNUM
;
this
.
flightTotal
=
this
.
$route
.
query
.
flightTotal
;
this
.
GuestNum
=
this
.
$route
.
query
.
GuestNum
;
this
.
IsCombine
=
this
.
$route
.
query
.
IsCombine
;
this
.
NewTCIDs
=
this
.
$route
.
query
.
NewTCIDs
;
this
.
isShoufeifei
=
this
.
$route
.
query
.
isShoufeifei
let
width
=
window
.
innerWidth
-
50
;
let
height
=
window
.
innerHeight
-
65
-
55
;
this
.
boxHeight
=
height
;
this
.
offsetwidth
=
width
;
this
.
initSupplier
();
this
.
getList
();
}
}
</
script
>
<
style
>
.roomReservationsDetailsTalbe
{
border-collapse
:
collapse
;
background
:
#fff
;
text-align
:
center
;
}
.roomReservationsDetailsTalbe
.el-button
+
.el-button
{
margin
:
5px
auto
!important
;
}
.roomReservationsDetailsTalbe
tr
th
{
background
:
#eee
;
height
:
40px
;
font-size
:
12px
;
color
:
#333
;
border
:
1px
solid
#d1d1d1
;
}
.roomReservationsDetailsTalbe
tr
td
{
font-size
:
12px
;
border
:
1px
solid
#d1d1d1
;
}
.roomReservationsDetailsTalbe
.pHouseStyle
{
border-bottom
:
1px
solid
#ccc
;
height
:
28px
;
line-height
:
28px
;
}
.roomReservationsDetailsTalbe
tr
td
.colorRed
{
color
:
#E95252
;
}
.roomReservationsDetailsTalbe
tr
td
.pHouseStyle
:last-child
{
border-bottom
:
none
;
}
.roomReservationsDetailsTalbe
tr
td
input
{
height
:
20px
!important
;
padding
:
0
!important
;
text-align
:
center
;
}
.roomReservationsDetailsTalbe
tr
td
.sel
input
{
height
:
34px
!important
;
padding-right
:
20px
!important
;
padding-left
:
5px
!important
;
font-size
:
12px
!important
;
}
.roomReservationsDetailsTalbe
tr
td
.link
:hover
{
text-decoration
:
underline
;
cursor
:
pointer
;
}
.roomReservationsDetailsTalbe
.Hotel_red
{
color
:
red
;
}
.roomReservationsDetailsTalbe
.hotelTable
{
border
:
none
;
}
.roomReservationsDetailsTalbe
.hotelTable
tr
td
{
border
:
none
;
}
</
style
>
src/components/dmc/manager/dmcTotalTable.vue
View file @
3fb46742
...
...
@@ -182,6 +182,7 @@
<th
width=
"60"
>
{{
$t
(
'MarketingActi.car'
)
}}
</th>
<th
width=
"60"
>
{{
$t
(
'leader.leader_Leader'
)
}}
<br
/>
{{
$t
(
'ground.baozhang'
)
}}
</th>
<th
width=
"60"
>
{{
$t
(
'ground.htff'
)
}}
</th>
<th
width=
"60"
>
{{
$t
(
'ground.bjd'
)
}}
</th>
<th
width=
"60"
>
{{
$t
(
'ground.ldrtf'
)
}}
</th>
<th
width=
"120"
>
{{
$t
(
'system.table_operation'
)
}}
</th>
</tr>
...
...
src/components/dmc/manager/dmcTotalTable_swt.vue
View file @
3fb46742
...
...
@@ -182,6 +182,7 @@
<th
width=
"60"
>
{{
$t
(
'MarketingActi.car'
)
}}
</th>
<th
width=
"60"
>
{{
$t
(
'leader.leader_Leader'
)
}}
<br
/>
{{
$t
(
'ground.baozhang'
)
}}
</th>
<th
width=
"60"
>
{{
$t
(
'ground.htff'
)
}}
</th>
<th
width=
"60"
>
{{
$t
(
'ground.bjd'
)
}}
</th>
<th
width=
"60"
>
{{
$t
(
'ground.ldrtf'
)
}}
</th>
<th
width=
"120"
>
{{
$t
(
'system.table_operation'
)
}}
</th>
</tr>
...
...
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